@discordeno/bot 21.0.0 → 21.0.1-next.2e0cf1f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/commandOptionsParser.cjs +1 -1
  3. package/dist/cjs/constants.cjs +7 -7
  4. package/dist/cjs/desiredProperties.cjs +111 -4
  5. package/dist/cjs/helpers.cjs +46 -11
  6. package/dist/cjs/transformers/activity.cjs +5 -5
  7. package/dist/cjs/transformers/application.cjs +2 -1
  8. package/dist/cjs/transformers/automodActionExecution.cjs +3 -3
  9. package/dist/cjs/transformers/channel.cjs +7 -7
  10. package/dist/cjs/transformers/component.cjs +184 -64
  11. package/dist/cjs/transformers/emoji.cjs +5 -5
  12. package/dist/cjs/transformers/entitlement.cjs +2 -2
  13. package/dist/cjs/transformers/guild.cjs +5 -4
  14. package/dist/cjs/transformers/incidentsData.cjs +21 -0
  15. package/dist/cjs/transformers/index.cjs +5 -3
  16. package/dist/cjs/transformers/interaction.cjs +15 -10
  17. package/dist/cjs/transformers/invite.cjs +2 -1
  18. package/dist/cjs/transformers/lobby.cjs +41 -0
  19. package/dist/cjs/transformers/member.cjs +4 -4
  20. package/dist/cjs/transformers/message.cjs +20 -7
  21. package/dist/cjs/transformers/onboarding.cjs +5 -5
  22. package/dist/cjs/transformers/poll.cjs +4 -4
  23. package/dist/cjs/transformers/reverse/component.cjs +100 -11
  24. package/dist/cjs/transformers/reverse/member.cjs +5 -5
  25. package/dist/cjs/transformers/reverse/presence.cjs +4 -4
  26. package/dist/cjs/transformers/role.cjs +17 -5
  27. package/dist/cjs/transformers/scheduledEvent.cjs +4 -4
  28. package/dist/cjs/transformers/sticker.cjs +4 -4
  29. package/dist/cjs/transformers/subscription.cjs +2 -2
  30. package/dist/cjs/transformers/threadMember.cjs +6 -5
  31. package/dist/cjs/transformers/toggles/Permissions.cjs +1 -1
  32. package/dist/cjs/transformers/toggles/ToggleBitfield.cjs +4 -4
  33. package/dist/cjs/transformers/toggles/channel.cjs +4 -4
  34. package/dist/cjs/transformers/toggles/emoji.cjs +4 -4
  35. package/dist/cjs/transformers/toggles/guild.cjs +18 -7
  36. package/dist/cjs/transformers/toggles/member.cjs +4 -4
  37. package/dist/cjs/transformers/toggles/role.cjs +4 -4
  38. package/dist/cjs/transformers/toggles/user.cjs +4 -4
  39. package/dist/cjs/transformers/toggles/voice.cjs +4 -4
  40. package/dist/cjs/transformers/user.cjs +39 -4
  41. package/dist/cjs/transformers.cjs +22 -1
  42. package/dist/cjs/utils.cjs +9 -9
  43. package/dist/esm/commandOptionsParser.js +1 -1
  44. package/dist/esm/constants.js +2 -2
  45. package/dist/esm/desiredProperties.js +108 -1
  46. package/dist/esm/helpers.js +46 -11
  47. package/dist/esm/transformers/application.js +2 -1
  48. package/dist/esm/transformers/automodActionExecution.js +3 -3
  49. package/dist/esm/transformers/component.js +170 -61
  50. package/dist/esm/transformers/entitlement.js +2 -2
  51. package/dist/esm/transformers/guild.js +2 -1
  52. package/dist/esm/transformers/incidentsData.js +11 -0
  53. package/dist/esm/transformers/index.js +6 -4
  54. package/dist/esm/transformers/interaction.js +7 -2
  55. package/dist/esm/transformers/invite.js +3 -2
  56. package/dist/esm/transformers/lobby.js +23 -0
  57. package/dist/esm/transformers/message.js +11 -1
  58. package/dist/esm/transformers/reverse/component.js +86 -8
  59. package/dist/esm/transformers/reverse/member.js +2 -2
  60. package/dist/esm/transformers/role.js +11 -2
  61. package/dist/esm/transformers/subscription.js +2 -2
  62. package/dist/esm/transformers/threadMember.js +3 -2
  63. package/dist/esm/transformers/toggles/Permissions.js +1 -1
  64. package/dist/esm/transformers/toggles/ToggleBitfield.js +1 -1
  65. package/dist/esm/transformers/toggles/channel.js +1 -1
  66. package/dist/esm/transformers/toggles/emoji.js +1 -1
  67. package/dist/esm/transformers/toggles/guild.js +15 -4
  68. package/dist/esm/transformers/toggles/member.js +1 -1
  69. package/dist/esm/transformers/toggles/role.js +1 -1
  70. package/dist/esm/transformers/toggles/user.js +1 -1
  71. package/dist/esm/transformers/toggles/voice.js +1 -1
  72. package/dist/esm/transformers/types.js +2 -2
  73. package/dist/esm/transformers/user.js +27 -1
  74. package/dist/esm/transformers.js +24 -3
  75. package/dist/esm/utils.js +5 -5
  76. package/dist/types/commandOptionsParser.d.ts +11 -2
  77. package/dist/types/commandOptionsParser.d.ts.map +1 -1
  78. package/dist/types/constants.d.ts.map +1 -1
  79. package/dist/types/desiredProperties.d.ts +20 -5
  80. package/dist/types/desiredProperties.d.ts.map +1 -1
  81. package/dist/types/helpers.d.ts +27 -13
  82. package/dist/types/helpers.d.ts.map +1 -1
  83. package/dist/types/transformers/application.d.ts.map +1 -1
  84. package/dist/types/transformers/automodActionExecution.d.ts.map +1 -1
  85. package/dist/types/transformers/component.d.ts +3 -1
  86. package/dist/types/transformers/component.d.ts.map +1 -1
  87. package/dist/types/transformers/guild.d.ts.map +1 -1
  88. package/dist/types/transformers/incidentsData.d.ts +4 -0
  89. package/dist/types/transformers/incidentsData.d.ts.map +1 -0
  90. package/dist/types/transformers/index.d.ts +5 -3
  91. package/dist/types/transformers/index.d.ts.map +1 -1
  92. package/dist/types/transformers/interaction.d.ts.map +1 -1
  93. package/dist/types/transformers/invite.d.ts.map +1 -1
  94. package/dist/types/transformers/lobby.d.ts +5 -0
  95. package/dist/types/transformers/lobby.d.ts.map +1 -0
  96. package/dist/types/transformers/message.d.ts +3 -2
  97. package/dist/types/transformers/message.d.ts.map +1 -1
  98. package/dist/types/transformers/reverse/component.d.ts +3 -1
  99. package/dist/types/transformers/reverse/component.d.ts.map +1 -1
  100. package/dist/types/transformers/role.d.ts +3 -2
  101. package/dist/types/transformers/role.d.ts.map +1 -1
  102. package/dist/types/transformers/threadMember.d.ts.map +1 -1
  103. package/dist/types/transformers/toggles/guild.d.ts +9 -1
  104. package/dist/types/transformers/toggles/guild.d.ts.map +1 -1
  105. package/dist/types/transformers/types.d.ts +159 -12
  106. package/dist/types/transformers/types.d.ts.map +1 -1
  107. package/dist/types/transformers/user.d.ts +5 -2
  108. package/dist/types/transformers/user.d.ts.map +1 -1
  109. package/dist/types/transformers.d.ts +25 -3
  110. package/dist/types/transformers.d.ts.map +1 -1
  111. package/dist/types/utils.d.ts +1 -1
  112. package/dist/types/utils.d.ts.map +1 -1
  113. package/package.json +26 -21
@@ -5,23 +5,26 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- baseMessage: function() {
12
+ get baseMessage () {
13
13
  return baseMessage;
14
14
  },
15
- transformMessage: function() {
15
+ get transformMessage () {
16
16
  return transformMessage;
17
17
  },
18
- transformMessageCall: function() {
18
+ get transformMessageCall () {
19
19
  return transformMessageCall;
20
20
  },
21
- transformMessageInteractionMetadata: function() {
21
+ get transformMessageInteractionMetadata () {
22
22
  return transformMessageInteractionMetadata;
23
23
  },
24
- transformMessageSnapshot: function() {
24
+ get transformMessagePin () {
25
+ return transformMessagePin;
26
+ },
27
+ get transformMessageSnapshot () {
25
28
  return transformMessageSnapshot;
26
29
  }
27
30
  });
@@ -253,6 +256,16 @@ function transformMessage(bot, payload) {
253
256
  if (props.call && payload.message.call) message.call = bot.transformers.messageCall(bot, payload.message.call);
254
257
  return bot.transformers.customizers.message(bot, payload.message, message);
255
258
  }
259
+ function transformMessagePin(bot, payload) {
260
+ const props = bot.transformers.desiredProperties.messagePin;
261
+ const messagePin = {};
262
+ if (props.pinnedAt && payload.pinned_at) messagePin.pinnedAt = Date.parse(payload.pinned_at);
263
+ if (props.message && payload.message) messagePin.message = bot.transformers.message(bot, {
264
+ message: payload.message,
265
+ shardId: 0
266
+ });
267
+ return bot.transformers.customizers.messagePin(bot, payload, messagePin);
268
+ }
256
269
  function transformMessageSnapshot(bot, payload) {
257
270
  const props = bot.transformers.desiredProperties.messageSnapshot;
258
271
  const messageSnapshot = {};
@@ -297,4 +310,4 @@ function transformMessageCall(bot, payload) {
297
310
  return bot.transformers.customizers.messageCall(bot, payload, call);
298
311
  }
299
312
 
300
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVzc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIERpc2NvcmRBcHBsaWNhdGlvbixcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlQ2FsbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VTbmFwc2hvdCxcbiAgTWVzc2FnZUZsYWdzLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENIQU5ORUxfTUVOVElPTl9SRUdFWCB9IGZyb20gJy4uL2NvbnN0YW50cy5qcydcbmltcG9ydCB7XG4gIHR5cGUgSW50ZXJuYWxCb3QsXG4gIHR5cGUgTWVzc2FnZSxcbiAgdHlwZSBNZXNzYWdlQ2FsbCxcbiAgdHlwZSBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHlwZSBNZXNzYWdlU25hcHNob3QsXG4gIHNub3dmbGFrZVRvVGltZXN0YW1wLFxufSBmcm9tICcuLi9pbmRleC5qcydcbmltcG9ydCB7IFRvZ2dsZUJpdGZpZWxkIH0gZnJvbSAnLi90b2dnbGVzL1RvZ2dsZUJpdGZpZWxkLmpzJ1xuXG5jb25zdCBFTVBUWV9TVFJJTkcgPSAnJ1xuXG5leHBvcnQgY29uc3QgYmFzZU1lc3NhZ2U6IEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVzc2FnZSddID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVzc2FnZSddKSxcblxuICBnZXQgY3Jvc3Nwb3N0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZCkgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGNyb3NzcG9zdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZClcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZClcbiAgfSxcbiAgZ2V0IGVwaGVtZXJhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbCkgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGVwaGVtZXJhbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbClcbiAgfSxcbiAgZ2V0IGZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBmYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpXG4gIH0sXG4gIGdldCBoYXNUaHJlYWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5IYXNUaHJlYWQpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBoYXNUaHJlYWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkhhc1RocmVhZClcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5IYXNUaHJlYWQpXG4gIH0sXG4gIGdldCBpc0Nyb3NzcG9zdCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KSA/PyBmYWxzZVxuICB9LFxuICBzZXQgaXNDcm9zc3Bvc3QodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KVxuICB9LFxuICBnZXQgbG9hZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkxvYWRpbmcpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBsb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Mb2FkaW5nKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkxvYWRpbmcpXG4gIH0sXG4gIGdldCBtZW50aW9uZWRVc2VySWRzKCkge1xuICAgIHJldHVybiB0aGlzLm1lbnRpb25zPy5tYXAoKHVzZXIpID0+IHVzZXIuaWQpID8/IFtdXG4gIH0sXG4gIGdldCBtZW50aW9uRXZlcnlvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDIpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBtZW50aW9uRXZlcnlvbmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuYml0ZmllbGQpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMilcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDIpXG4gIH0sXG4gIGdldCBwaW5uZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDMpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBwaW5uZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuYml0ZmllbGQpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMylcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDMpXG4gIH0sXG4gIGdldCBzb3VyY2VNZXNzYWdlRGVsZXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgc291cmNlTWVzc2FnZURlbGV0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKVxuICB9LFxuICBnZXQgc3VwcHJlc3NFbWJlZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcykgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IHN1cHByZXNzRW1iZWRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcylcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcylcbiAgfSxcbiAgZ2V0IHN1cHByZXNzTm90aWZpY2F0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucykgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IHN1cHByZXNzTm90aWZpY2F0aW9ucyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuU3VwcHJlc3NOb3RpZmljYXRpb25zKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucylcbiAgfSxcbiAgZ2V0IHRpbWVzdGFtcCgpIHtcbiAgICByZXR1cm4gdGhpcy5pZCA/IHNub3dmbGFrZVRvVGltZXN0YW1wKHRoaXMuaWQpIDogMFxuICB9LFxuICBnZXQgdHRzKCkge1xuICAgIHJldHVybiB0aGlzLmJpdGZpZWxkPy5jb250YWlucygxKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgdHRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmJpdGZpZWxkKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuYml0ZmllbGQuYWRkKDEpXG4gICAgZWxzZSB0aGlzLmJpdGZpZWxkLnJlbW92ZSgxKVxuICB9LFxuICBnZXQgdXJnZW50KCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuVXJnZW50KSA/PyBmYWxzZVxuICB9LFxuICBzZXQgdXJnZW50KHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5VcmdlbnQpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuVXJnZW50KVxuICB9LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZShcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogeyBtZXNzYWdlOiBEaXNjb3JkTWVzc2FnZTsgc2hhcmRJZDogbnVtYmVyIH0sXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5tZXNzYWdlIHtcbiAgY29uc3QgZ3VpbGRJZCA9IHBheWxvYWQubWVzc2FnZS5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZS5ndWlsZF9pZCkgOiB1bmRlZmluZWRcbiAgY29uc3QgdXNlcklkID0gcGF5bG9hZC5tZXNzYWdlLmF1dGhvcj8uaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UuYXV0aG9yLmlkKSA6IHVuZGVmaW5lZFxuXG4gIGNvbnN0IG1lc3NhZ2U6IE1lc3NhZ2UgPSBPYmplY3QuY3JlYXRlKGJhc2VNZXNzYWdlKVxuICBtZXNzYWdlLmJpdGZpZWxkID0gbmV3IFRvZ2dsZUJpdGZpZWxkKClcbiAgbWVzc2FnZS5mbGFncyA9IG5ldyBUb2dnbGVCaXRmaWVsZChwYXlsb2FkLm1lc3NhZ2UuZmxhZ3MpXG5cbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VcblxuICBpZiAocHJvcHMuYXV0aG9yICYmIHBheWxvYWQubWVzc2FnZS5hdXRob3IpIG1lc3NhZ2UuYXV0aG9yID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5tZXNzYWdlLmF1dGhvcilcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uICYmIHBheWxvYWQubWVzc2FnZS5hcHBsaWNhdGlvbilcbiAgICBtZXNzYWdlLmFwcGxpY2F0aW9uID0gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbihib3QsIHtcbiAgICAgIGFwcGxpY2F0aW9uOiBwYXlsb2FkLm1lc3NhZ2UuYXBwbGljYXRpb24gYXMgRGlzY29yZEFwcGxpY2F0aW9uLFxuICAgICAgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkLFxuICAgIH0pXG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQubWVzc2FnZS5hcHBsaWNhdGlvbl9pZCkgbWVzc2FnZS5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlLmFwcGxpY2F0aW9uX2lkKVxuICBpZiAocHJvcHMuYXR0YWNobWVudHMgJiYgcGF5bG9hZC5tZXNzYWdlLmF0dGFjaG1lbnRzPy5sZW5ndGgpXG4gICAgbWVzc2FnZS5hdHRhY2htZW50cyA9IHBheWxvYWQubWVzc2FnZS5hdHRhY2htZW50cy5tYXAoKGF0dGFjaG1lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuYXR0YWNobWVudChib3QsIGF0dGFjaG1lbnQpKVxuICBpZiAocHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQubWVzc2FnZS5jaGFubmVsX2lkKSBtZXNzYWdlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZS5jaGFubmVsX2lkKVxuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLm1lc3NhZ2UuY29tcG9uZW50cz8ubGVuZ3RoKVxuICAgIG1lc3NhZ2UuY29tcG9uZW50cyA9IHBheWxvYWQubWVzc2FnZS5jb21wb25lbnRzLm1hcCgoY29tcCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wKSlcbiAgaWYgKHByb3BzLmNvbnRlbnQpIG1lc3NhZ2UuY29udGVudCA9IHBheWxvYWQubWVzc2FnZS5jb250ZW50ID8/IEVNUFRZX1NUUklOR1xuICBpZiAocHJvcHMuZWRpdGVkVGltZXN0YW1wICYmIHBheWxvYWQubWVzc2FnZS5lZGl0ZWRfdGltZXN0YW1wKSBtZXNzYWdlLmVkaXRlZFRpbWVzdGFtcCA9IERhdGUucGFyc2UocGF5bG9hZC5tZXNzYWdlLmVkaXRlZF90aW1lc3RhbXApXG4gIGlmIChwcm9wcy5lbWJlZHMgJiYgcGF5bG9hZC5tZXNzYWdlLmVtYmVkcz8ubGVuZ3RoKSBtZXNzYWdlLmVtYmVkcyA9IHBheWxvYWQubWVzc2FnZS5lbWJlZHMubWFwKChlbWJlZCkgPT4gYm90LnRyYW5zZm9ybWVycy5lbWJlZChib3QsIGVtYmVkKSlcbiAgaWYgKHByb3BzLmd1aWxkSWQgJiYgZ3VpbGRJZCkgbWVzc2FnZS5ndWlsZElkID0gZ3VpbGRJZFxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5tZXNzYWdlLmlkKSBtZXNzYWdlLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlLmlkKVxuICBpZiAocHJvcHMuaW50ZXJhY3Rpb25NZXRhZGF0YSAmJiBwYXlsb2FkLm1lc3NhZ2UuaW50ZXJhY3Rpb25fbWV0YWRhdGEpXG4gICAgbWVzc2FnZS5pbnRlcmFjdGlvbk1ldGFkYXRhID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YShib3QsIHBheWxvYWQubWVzc2FnZS5pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgaWYgKHByb3BzLmludGVyYWN0aW9uICYmIHBheWxvYWQubWVzc2FnZS5pbnRlcmFjdGlvbikge1xuICAgIGNvbnN0IGludGVyYWN0aW9uID0ge30gYXMgTm9uTnVsbGFibGU8TWVzc2FnZVsnaW50ZXJhY3Rpb24nXT5cbiAgICBjb25zdCBtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUludGVyYWN0aW9uXG5cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMuaWQpIHtcbiAgICAgIGludGVyYWN0aW9uLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uLmlkKVxuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMubWVtYmVyICYmIHBheWxvYWQubWVzc2FnZS5pbnRlcmFjdGlvbi5tZW1iZXIpIHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogcGFydGlhbCAtIGNoZWNrIHdoeSB0aGlzIGlzIHBhcnRpYWwgYW5kIGhhbmRsZSBhcyBuZWVkZWRcbiAgICAgIGludGVyYWN0aW9uLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uLm1lbWJlciwgZ3VpbGRJZCwgcGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uLnVzZXIuaWQpXG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5uYW1lKSB7XG4gICAgICBpbnRlcmFjdGlvbi5uYW1lID0gcGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uLm5hbWVcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzLnR5cGUpIHtcbiAgICAgIGludGVyYWN0aW9uLnR5cGUgPSBwYXlsb2FkLm1lc3NhZ2UuaW50ZXJhY3Rpb24udHlwZVxuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMudXNlcikge1xuICAgICAgaW50ZXJhY3Rpb24udXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQubWVzc2FnZS5pbnRlcmFjdGlvbi51c2VyKVxuICAgIH1cblxuICAgIG1lc3NhZ2UuaW50ZXJhY3Rpb24gPSBpbnRlcmFjdGlvblxuICB9XG4gIGlmIChwcm9wcy5tZW1iZXIgJiYgZ3VpbGRJZCAmJiB1c2VySWQgJiYgcGF5bG9hZC5tZXNzYWdlLm1lbWJlcilcbiAgICBtZXNzYWdlLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5tZXNzYWdlLm1lbWJlciwgZ3VpbGRJZCwgdXNlcklkKVxuICBpZiAocGF5bG9hZC5tZXNzYWdlLm1lbnRpb25fZXZlcnlvbmUpIG1lc3NhZ2UubWVudGlvbkV2ZXJ5b25lID0gdHJ1ZVxuICBpZiAocHJvcHMubWVudGlvbmVkQ2hhbm5lbElkcyAmJiBwYXlsb2FkLm1lc3NhZ2UubWVudGlvbl9jaGFubmVscz8ubGVuZ3RoKSB7XG4gICAgbWVzc2FnZS5tZW50aW9uZWRDaGFubmVsSWRzID0gW1xuICAgICAgLy8gS2VlcCBhbnkgaWRzIHRodCBkaXNjb3JkIHNlbmRzXG4gICAgICAuLi4ocGF5bG9hZC5tZXNzYWdlLm1lbnRpb25fY2hhbm5lbHMgPz8gW10pLm1hcCgobSkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UobS5pZCkpLFxuICAgICAgLy8gQWRkIGFueSBvdGhlciBpZHMgdGhhdCBjYW4gYmUgdmFsaWRhdGVkIGluIGEgY2hhbm5lbCBtZW50aW9uIGZvcm1hdFxuICAgICAgLi4uKHBheWxvYWQubWVzc2FnZS5jb250ZW50Py5tYXRjaChDSEFOTkVMX01FTlRJT05fUkVHRVgpID8/IFtdKS5tYXAoKHRleHQpID0+XG4gICAgICAgIC8vIGNvbnZlcnRzIHRoZSA8IzEyMz4gaW50byAxMjNcbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UodGV4dC5zdWJzdHJpbmcoMiwgdGV4dC5sZW5ndGggLSAxKSksXG4gICAgICApLFxuICAgIF1cbiAgfVxuICBpZiAocHJvcHMubWVudGlvbmVkUm9sZUlkcyAmJiBwYXlsb2FkLm1lc3NhZ2UubWVudGlvbl9yb2xlcz8ubGVuZ3RoKVxuICAgIG1lc3NhZ2UubWVudGlvbmVkUm9sZUlkcyA9IHBheWxvYWQubWVzc2FnZS5tZW50aW9uX3JvbGVzLm1hcCgoaWQpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGlkKSlcbiAgaWYgKHByb3BzLm1lbnRpb25zICYmIHBheWxvYWQubWVzc2FnZS5tZW50aW9ucz8ubGVuZ3RoKSBtZXNzYWdlLm1lbnRpb25zID0gcGF5bG9hZC5tZXNzYWdlLm1lbnRpb25zLm1hcCgodXNlcikgPT4gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgdXNlcikpXG4gIGlmIChwcm9wcy5tZXNzYWdlUmVmZXJlbmNlICYmIHBheWxvYWQubWVzc2FnZS5tZXNzYWdlX3JlZmVyZW5jZSkge1xuICAgIGNvbnN0IHJlZmVyZW5jZSA9IHt9IGFzIE5vbk51bGxhYmxlPE1lc3NhZ2VbJ21lc3NhZ2VSZWZlcmVuY2UnXT5cbiAgICBjb25zdCBtZXNzYWdlUmVmZXJlbmNlUHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VSZWZlcmVuY2VcblxuICAgIGlmIChtZXNzYWdlUmVmZXJlbmNlUHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQubWVzc2FnZS5tZXNzYWdlX3JlZmVyZW5jZS5jaGFubmVsX2lkKSB7XG4gICAgICByZWZlcmVuY2UuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlLm1lc3NhZ2VfcmVmZXJlbmNlLmNoYW5uZWxfaWQpXG4gICAgfVxuICAgIGlmIChtZXNzYWdlUmVmZXJlbmNlUHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLm1lc3NhZ2UubWVzc2FnZV9yZWZlcmVuY2UuZ3VpbGRfaWQpIHtcbiAgICAgIHJlZmVyZW5jZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlLm1lc3NhZ2VfcmVmZXJlbmNlLmd1aWxkX2lkKVxuICAgIH1cbiAgICBpZiAobWVzc2FnZVJlZmVyZW5jZVByb3BzLm1lc3NhZ2VJZCAmJiBwYXlsb2FkLm1lc3NhZ2UubWVzc2FnZV9yZWZlcmVuY2UubWVzc2FnZV9pZCkge1xuICAgICAgcmVmZXJlbmNlLm1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZS5tZXNzYWdlX3JlZmVyZW5jZS5tZXNzYWdlX2lkKVxuICAgIH1cblxuICAgIG1lc3NhZ2UubWVzc2FnZVJlZmVyZW5jZSA9IHJlZmVyZW5jZVxuICB9XG4gIGlmIChwcm9wcy5yZWZlcmVuY2VkTWVzc2FnZSAmJiBwYXlsb2FkLm1lc3NhZ2UucmVmZXJlbmNlZF9tZXNzYWdlKVxuICAgIG1lc3NhZ2UucmVmZXJlbmNlZE1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB7IG1lc3NhZ2U6IHBheWxvYWQubWVzc2FnZS5yZWZlcmVuY2VkX21lc3NhZ2UsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCB9KVxuICBpZiAocHJvcHMubWVzc2FnZVNuYXBzaG90cyAmJiBwYXlsb2FkLm1lc3NhZ2UubWVzc2FnZV9zbmFwc2hvdHMpXG4gICAgbWVzc2FnZS5tZXNzYWdlU25hcHNob3RzID0gcGF5bG9hZC5tZXNzYWdlLm1lc3NhZ2Vfc25hcHNob3RzLm1hcCgoc25hcCkgPT5cbiAgICAgIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZVNuYXBzaG90KGJvdCwgeyBtZXNzYWdlU25hcHNob3Q6IHNuYXAsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5ub25jZSAmJiBwYXlsb2FkLm1lc3NhZ2Uubm9uY2UpIG1lc3NhZ2Uubm9uY2UgPSBwYXlsb2FkLm1lc3NhZ2Uubm9uY2VcbiAgaWYgKHBheWxvYWQubWVzc2FnZS5waW5uZWQpIG1lc3NhZ2UucGlubmVkID0gdHJ1ZVxuICBpZiAocHJvcHMucmVhY3Rpb25zICYmIHBheWxvYWQubWVzc2FnZS5yZWFjdGlvbnM/Lmxlbmd0aCkge1xuICAgIG1lc3NhZ2UucmVhY3Rpb25zID0gcGF5bG9hZC5tZXNzYWdlLnJlYWN0aW9ucy5tYXAoKHJlYWN0aW9uKSA9PiAoe1xuICAgICAgbWU6IHJlYWN0aW9uLm1lLFxuICAgICAgbWVCdXJzdDogcmVhY3Rpb24ubWVfYnVyc3QsXG4gICAgICBjb3VudDogcmVhY3Rpb24uY291bnQsXG4gICAgICBjb3VudERldGFpbHM6IHtcbiAgICAgICAgYnVyc3Q6IHJlYWN0aW9uLmNvdW50X2RldGFpbHMuYnVyc3QsXG4gICAgICAgIG5vcm1hbDogcmVhY3Rpb24uY291bnRfZGV0YWlscy5ub3JtYWwsXG4gICAgICB9LFxuICAgICAgZW1vamk6IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCByZWFjdGlvbi5lbW9qaSksXG4gICAgICBidXJzdENvbG9yczogcmVhY3Rpb24uYnVyc3RfY29sb3JzLFxuICAgIH0pKVxuICB9XG4gIGlmIChwcm9wcy5zdGlja2VySXRlbXMgJiYgcGF5bG9hZC5tZXNzYWdlLnN0aWNrZXJfaXRlbXM/Lmxlbmd0aClcbiAgICBtZXNzYWdlLnN0aWNrZXJJdGVtcyA9IHBheWxvYWQubWVzc2FnZS5zdGlja2VyX2l0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpdGVtLmlkKSxcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgIGZvcm1hdFR5cGU6IGl0ZW0uZm9ybWF0X3R5cGUsXG4gICAgfSkpXG4gIGlmIChwYXlsb2FkLm1lc3NhZ2UudHRzKSBtZXNzYWdlLnR0cyA9IHRydWVcbiAgaWYgKHByb3BzLnRocmVhZCAmJiBwYXlsb2FkLm1lc3NhZ2UudGhyZWFkKSBtZXNzYWdlLnRocmVhZCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogcGF5bG9hZC5tZXNzYWdlLnRocmVhZCwgZ3VpbGRJZCB9KVxuICBpZiAocHJvcHMudHlwZSkgbWVzc2FnZS50eXBlID0gcGF5bG9hZC5tZXNzYWdlLnR5cGVcbiAgaWYgKHByb3BzLndlYmhvb2tJZCAmJiBwYXlsb2FkLm1lc3NhZ2Uud2ViaG9va19pZCkgbWVzc2FnZS53ZWJob29rSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2Uud2ViaG9va19pZClcbiAgaWYgKHByb3BzLnBvbGwgJiYgcGF5bG9hZC5tZXNzYWdlLnBvbGwpIG1lc3NhZ2UucG9sbCA9IGJvdC50cmFuc2Zvcm1lcnMucG9sbChib3QsIHBheWxvYWQubWVzc2FnZS5wb2xsKVxuICBpZiAocHJvcHMuY2FsbCAmJiBwYXlsb2FkLm1lc3NhZ2UuY2FsbCkgbWVzc2FnZS5jYWxsID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlQ2FsbChib3QsIHBheWxvYWQubWVzc2FnZS5jYWxsKVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLm1lc3NhZ2UsIG1lc3NhZ2UpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgbWVzc2FnZVNuYXBzaG90OiBEaXNjb3JkTWVzc2FnZVNuYXBzaG90OyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLm1lc3NhZ2VTbmFwc2hvdCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlU25hcHNob3RcbiAgY29uc3QgbWVzc2FnZVNuYXBzaG90ID0ge30gYXMgTWVzc2FnZVNuYXBzaG90XG5cbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5tZXNzYWdlU25hcHNob3QubWVzc2FnZSlcbiAgICBtZXNzYWdlU25hcHNob3QubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5tZXNzYWdlU25hcHNob3QubWVzc2FnZSBhcyBEaXNjb3JkTWVzc2FnZSwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZVNuYXBzaG90KGJvdCwgcGF5bG9hZC5tZXNzYWdlU25hcHNob3QsIG1lc3NhZ2VTbmFwc2hvdClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YVxuICBjb25zdCBtZXRhZGF0YSA9IHt9IGFzIE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhXG5cbiAgaWYgKHByb3BzLmlkKSBtZXRhZGF0YS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzKSB7XG4gICAgbWV0YWRhdGEuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9XG4gICAgaWYgKHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10pXG4gICAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5HdWlsZEluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10sXG4gICAgICApXG4gICAgaWYgKHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycxJ10pXG4gICAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5Vc2VySW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSxcbiAgICAgIClcbiAgfVxuICBpZiAocHJvcHMub3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCAmJiBwYXlsb2FkLm9yaWdpbmFsX3Jlc3BvbnNlX21lc3NhZ2VfaWQpXG4gICAgbWV0YWRhdGEub3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQub3JpZ2luYWxfcmVzcG9uc2VfbWVzc2FnZV9pZClcbiAgaWYgKHByb3BzLnR5cGUpIG1ldGFkYXRhLnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLnVzZXIgJiYgcGF5bG9hZC51c2VyKSBtZXRhZGF0YS51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKVxuICAvLyBBcHBsaWNhdGlvbiBjb21tYW5kIG1ldGFkYXRhXG4gIGlmICgndGFyZ2V0X3VzZXInIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudGFyZ2V0VXNlciAmJiBwYXlsb2FkLnRhcmdldF91c2VyKSBtZXRhZGF0YS50YXJnZXRVc2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC50YXJnZXRfdXNlcilcbiAgICBpZiAocHJvcHMudGFyZ2V0TWVzc2FnZUlkICYmIHBheWxvYWQudGFyZ2V0X21lc3NhZ2VfaWQpIG1ldGFkYXRhLnRhcmdldE1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQudGFyZ2V0X21lc3NhZ2VfaWQpXG4gIH1cbiAgLy8gTWVzc2FnZSBjb21wb25lbnQgbWV0YWRhdGFcbiAgaWYgKCdpbnRlcmFjdGVkX21lc3NhZ2VfaWQnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuaW50ZXJhY3RlZE1lc3NhZ2VJZCAmJiBwYXlsb2FkLmludGVyYWN0ZWRfbWVzc2FnZV9pZClcbiAgICAgIG1ldGFkYXRhLmludGVyYWN0ZWRNZXNzYWdlSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0ZWRfbWVzc2FnZV9pZClcbiAgfVxuICAvLyBNb2RhbCBzdWJtaXQgbWV0YWRhdGFcbiAgaWYgKCd0cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLnRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhICYmIHBheWxvYWQudHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgICAgIG1ldGFkYXRhLnRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YShib3QsIHBheWxvYWQudHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdCwgcGF5bG9hZCwgbWV0YWRhdGEpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlQ2FsbChib3Q6IEludGVybmFsQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUNhbGwpOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5tZXNzYWdlQ2FsbCB7XG4gIGNvbnN0IGNhbGwgPSB7fSBhcyBNZXNzYWdlQ2FsbFxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUNhbGxcblxuICBpZiAocHJvcHMucGFydGljaXBhbnRzICYmIHBheWxvYWQucGFydGljaXBhbnRzKSBjYWxsLnBhcnRpY2lwYW50cyA9IHBheWxvYWQucGFydGljaXBhbnRzLm1hcCgoeCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoeCkpXG4gIGlmIChwcm9wcy5lbmRlZFRpbWVzdGFtcCAmJiBwYXlsb2FkLmVuZGVkX3RpbWVzdGFtcCkgY2FsbC5lbmRlZFRpbWVzdGFtcCA9IERhdGUucGFyc2UocGF5bG9hZC5lbmRlZF90aW1lc3RhbXApXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZUNhbGwoYm90LCBwYXlsb2FkLCBjYWxsKVxufVxuIl0sIm5hbWVzIjpbImJhc2VNZXNzYWdlIiwidHJhbnNmb3JtTWVzc2FnZSIsInRyYW5zZm9ybU1lc3NhZ2VDYWxsIiwidHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJ0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QiLCJFTVBUWV9TVFJJTkciLCJ1bmRlZmluZWQiLCJjcm9zc3Bvc3RlZCIsImZsYWdzIiwiY29udGFpbnMiLCJNZXNzYWdlRmxhZ3MiLCJDcm9zc3Bvc3RlZCIsInZhbHVlIiwiYWRkIiwicmVtb3ZlIiwiZXBoZW1lcmFsIiwiRXBoZW1lcmFsIiwiZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQiLCJGYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCIsImhhc1RocmVhZCIsIkhhc1RocmVhZCIsImlzQ3Jvc3Nwb3N0IiwiSXNDcm9zc3Bvc3QiLCJsb2FkaW5nIiwiTG9hZGluZyIsIm1lbnRpb25lZFVzZXJJZHMiLCJtZW50aW9ucyIsIm1hcCIsInVzZXIiLCJpZCIsIm1lbnRpb25FdmVyeW9uZSIsImJpdGZpZWxkIiwicGlubmVkIiwic291cmNlTWVzc2FnZURlbGV0ZWQiLCJTb3VyY2VNZXNzYWdlRGVsZXRlZCIsInN1cHByZXNzRW1iZWRzIiwiU3VwcHJlc3NFbWJlZHMiLCJzdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJTdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJ0aW1lc3RhbXAiLCJzbm93Zmxha2VUb1RpbWVzdGFtcCIsInR0cyIsInVyZ2VudCIsIlVyZ2VudCIsImJvdCIsInBheWxvYWQiLCJndWlsZElkIiwibWVzc2FnZSIsImd1aWxkX2lkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwidXNlcklkIiwiYXV0aG9yIiwiT2JqZWN0IiwiY3JlYXRlIiwiVG9nZ2xlQml0ZmllbGQiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb24iLCJzaGFyZElkIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwiYXR0YWNobWVudHMiLCJsZW5ndGgiLCJhdHRhY2htZW50IiwiY2hhbm5lbElkIiwiY2hhbm5lbF9pZCIsImNvbXBvbmVudHMiLCJjb21wIiwiY29tcG9uZW50IiwiY29udGVudCIsImVkaXRlZFRpbWVzdGFtcCIsImVkaXRlZF90aW1lc3RhbXAiLCJEYXRlIiwicGFyc2UiLCJlbWJlZHMiLCJlbWJlZCIsImludGVyYWN0aW9uTWV0YWRhdGEiLCJpbnRlcmFjdGlvbl9tZXRhZGF0YSIsIm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhIiwiaW50ZXJhY3Rpb24iLCJtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcyIsIm1lc3NhZ2VJbnRlcmFjdGlvbiIsIm1lbWJlciIsIm5hbWUiLCJ0eXBlIiwibWVudGlvbl9ldmVyeW9uZSIsIm1lbnRpb25lZENoYW5uZWxJZHMiLCJtZW50aW9uX2NoYW5uZWxzIiwibSIsIm1hdGNoIiwiQ0hBTk5FTF9NRU5USU9OX1JFR0VYIiwidGV4dCIsInN1YnN0cmluZyIsIm1lbnRpb25lZFJvbGVJZHMiLCJtZW50aW9uX3JvbGVzIiwibWVzc2FnZVJlZmVyZW5jZSIsIm1lc3NhZ2VfcmVmZXJlbmNlIiwicmVmZXJlbmNlIiwibWVzc2FnZVJlZmVyZW5jZVByb3BzIiwibWVzc2FnZUlkIiwibWVzc2FnZV9pZCIsInJlZmVyZW5jZWRNZXNzYWdlIiwicmVmZXJlbmNlZF9tZXNzYWdlIiwibWVzc2FnZVNuYXBzaG90cyIsIm1lc3NhZ2Vfc25hcHNob3RzIiwic25hcCIsIm1lc3NhZ2VTbmFwc2hvdCIsIm5vbmNlIiwicmVhY3Rpb25zIiwicmVhY3Rpb24iLCJtZSIsIm1lQnVyc3QiLCJtZV9idXJzdCIsImNvdW50IiwiY291bnREZXRhaWxzIiwiYnVyc3QiLCJjb3VudF9kZXRhaWxzIiwibm9ybWFsIiwiZW1vamkiLCJidXJzdENvbG9ycyIsImJ1cnN0X2NvbG9ycyIsInN0aWNrZXJJdGVtcyIsInN0aWNrZXJfaXRlbXMiLCJpdGVtIiwiZm9ybWF0VHlwZSIsImZvcm1hdF90eXBlIiwidGhyZWFkIiwiY2hhbm5lbCIsIndlYmhvb2tJZCIsIndlYmhvb2tfaWQiLCJwb2xsIiwiY2FsbCIsIm1lc3NhZ2VDYWxsIiwiY3VzdG9taXplcnMiLCJtZXRhZGF0YSIsImF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMiLCJhdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnMiLCJEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUiLCJHdWlsZEluc3RhbGwiLCJVc2VySW5zdGFsbCIsIm9yaWdpbmFsUmVzcG9uc2VNZXNzYWdlSWQiLCJvcmlnaW5hbF9yZXNwb25zZV9tZXNzYWdlX2lkIiwidGFyZ2V0VXNlciIsInRhcmdldF91c2VyIiwidGFyZ2V0TWVzc2FnZUlkIiwidGFyZ2V0X21lc3NhZ2VfaWQiLCJpbnRlcmFjdGVkTWVzc2FnZUlkIiwiaW50ZXJhY3RlZF9tZXNzYWdlX2lkIiwidHJpZ2dlcmluZ0ludGVyYWN0aW9uTWV0YWRhdGEiLCJ0cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhIiwicGFydGljaXBhbnRzIiwieCIsImVuZGVkVGltZXN0YW1wIiwiZW5kZWRfdGltZXN0YW1wIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQXNCYUEsV0FBVztlQUFYQTs7SUFvSEdDLGdCQUFnQjtlQUFoQkE7O0lBb0xBQyxvQkFBb0I7ZUFBcEJBOztJQTFDQUMsbUNBQW1DO2VBQW5DQTs7SUFiQUMsd0JBQXdCO2VBQXhCQTs7O3VCQS9Q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
313
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVzc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIERpc2NvcmRBcHBsaWNhdGlvbixcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlQ2FsbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VQaW4sXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VTbmFwc2hvdCxcbiAgTWVzc2FnZUZsYWdzLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENIQU5ORUxfTUVOVElPTl9SRUdFWCB9IGZyb20gJy4uL2NvbnN0YW50cy5qcydcbmltcG9ydCB7XG4gIHR5cGUgSW50ZXJuYWxCb3QsXG4gIHR5cGUgTWVzc2FnZSxcbiAgdHlwZSBNZXNzYWdlQ2FsbCxcbiAgdHlwZSBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHlwZSBNZXNzYWdlUGluLFxuICB0eXBlIE1lc3NhZ2VTbmFwc2hvdCxcbiAgc25vd2ZsYWtlVG9UaW1lc3RhbXAsXG59IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGQgfSBmcm9tICcuL3RvZ2dsZXMvVG9nZ2xlQml0ZmllbGQuanMnXG5cbmNvbnN0IEVNUFRZX1NUUklORyA9ICcnXG5cbmV4cG9ydCBjb25zdCBiYXNlTWVzc2FnZTogSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZXNzYWdlJ10gPSB7XG4gIC8vIFRoaXMgYWxsb3dzIHR5cGVzY3JpcHQgdG8gc3RpbGwgY2hlY2sgZm9yIHR5cGUgZXJyb3JzIG9uIGZ1bmN0aW9ucyBiZWxvd1xuICAuLi4odW5kZWZpbmVkIGFzIHVua25vd24gYXMgSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZXNzYWdlJ10pLFxuXG4gIGdldCBjcm9zc3Bvc3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkNyb3NzcG9zdGVkKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgY3Jvc3Nwb3N0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkNyb3NzcG9zdGVkKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkNyb3NzcG9zdGVkKVxuICB9LFxuICBnZXQgZXBoZW1lcmFsKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgZXBoZW1lcmFsKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKVxuICB9LFxuICBnZXQgZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5GYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCkgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5GYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZClcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5GYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZClcbiAgfSxcbiAgZ2V0IGhhc1RocmVhZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkhhc1RocmVhZCkgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGhhc1RocmVhZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuSGFzVGhyZWFkKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkhhc1RocmVhZClcbiAgfSxcbiAgZ2V0IGlzQ3Jvc3Nwb3N0KCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBpc0Nyb3NzcG9zdCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpXG4gIH0sXG4gIGdldCBsb2FkaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuTG9hZGluZykgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkxvYWRpbmcpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuTG9hZGluZylcbiAgfSxcbiAgZ2V0IG1lbnRpb25lZFVzZXJJZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubWVudGlvbnM/Lm1hcCgodXNlcikgPT4gdXNlci5pZCkgPz8gW11cbiAgfSxcbiAgZ2V0IG1lbnRpb25FdmVyeW9uZSgpIHtcbiAgICByZXR1cm4gdGhpcy5iaXRmaWVsZD8uY29udGFpbnMoMikgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IG1lbnRpb25FdmVyeW9uZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5iaXRmaWVsZCkgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgyKVxuICAgIGVsc2UgdGhpcy5iaXRmaWVsZC5yZW1vdmUoMilcbiAgfSxcbiAgZ2V0IHBpbm5lZCgpIHtcbiAgICByZXR1cm4gdGhpcy5iaXRmaWVsZD8uY29udGFpbnMoMykgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IHBpbm5lZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5iaXRmaWVsZCkgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgzKVxuICAgIGVsc2UgdGhpcy5iaXRmaWVsZC5yZW1vdmUoMylcbiAgfSxcbiAgZ2V0IHNvdXJjZU1lc3NhZ2VEZWxldGVkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuU291cmNlTWVzc2FnZURlbGV0ZWQpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBzb3VyY2VNZXNzYWdlRGVsZXRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuU291cmNlTWVzc2FnZURlbGV0ZWQpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuU291cmNlTWVzc2FnZURlbGV0ZWQpXG4gIH0sXG4gIGdldCBzdXBwcmVzc0VtYmVkcygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgc3VwcHJlc3NFbWJlZHModmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKVxuICB9LFxuICBnZXQgc3VwcHJlc3NOb3RpZmljYXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuU3VwcHJlc3NOb3RpZmljYXRpb25zKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgc3VwcHJlc3NOb3RpZmljYXRpb25zKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5TdXBwcmVzc05vdGlmaWNhdGlvbnMpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuU3VwcHJlc3NOb3RpZmljYXRpb25zKVxuICB9LFxuICBnZXQgdGltZXN0YW1wKCkge1xuICAgIHJldHVybiB0aGlzLmlkID8gc25vd2ZsYWtlVG9UaW1lc3RhbXAodGhpcy5pZCkgOiAwXG4gIH0sXG4gIGdldCB0dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDEpID8/IGZhbHNlXG4gIH0sXG4gIHNldCB0dHModmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuYml0ZmllbGQpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMSlcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDEpXG4gIH0sXG4gIGdldCB1cmdlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5VcmdlbnQpID8/IGZhbHNlXG4gIH0sXG4gIHNldCB1cmdlbnQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlVyZ2VudClcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5VcmdlbnQpXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IG1lc3NhZ2U6IERpc2NvcmRNZXNzYWdlOyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLm1lc3NhZ2Uge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5tZXNzYWdlLmd1aWxkX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlLmd1aWxkX2lkKSA6IHVuZGVmaW5lZFxuICBjb25zdCB1c2VySWQgPSBwYXlsb2FkLm1lc3NhZ2UuYXV0aG9yPy5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZS5hdXRob3IuaWQpIDogdW5kZWZpbmVkXG5cbiAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IE9iamVjdC5jcmVhdGUoYmFzZU1lc3NhZ2UpXG4gIG1lc3NhZ2UuYml0ZmllbGQgPSBuZXcgVG9nZ2xlQml0ZmllbGQoKVxuICBtZXNzYWdlLmZsYWdzID0gbmV3IFRvZ2dsZUJpdGZpZWxkKHBheWxvYWQubWVzc2FnZS5mbGFncylcblxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVxuXG4gIGlmIChwcm9wcy5hdXRob3IgJiYgcGF5bG9hZC5tZXNzYWdlLmF1dGhvcikgbWVzc2FnZS5hdXRob3IgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLm1lc3NhZ2UuYXV0aG9yKVxuICBpZiAocHJvcHMuYXBwbGljYXRpb24gJiYgcGF5bG9hZC5tZXNzYWdlLmFwcGxpY2F0aW9uKVxuICAgIG1lc3NhZ2UuYXBwbGljYXRpb24gPSBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uKGJvdCwge1xuICAgICAgYXBwbGljYXRpb246IHBheWxvYWQubWVzc2FnZS5hcHBsaWNhdGlvbiBhcyBEaXNjb3JkQXBwbGljYXRpb24sXG4gICAgICBzaGFyZElkOiBwYXlsb2FkLnNoYXJkSWQsXG4gICAgfSlcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5tZXNzYWdlLmFwcGxpY2F0aW9uX2lkKSBtZXNzYWdlLmFwcGxpY2F0aW9uSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UuYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy5hdHRhY2htZW50cyAmJiBwYXlsb2FkLm1lc3NhZ2UuYXR0YWNobWVudHM/Lmxlbmd0aClcbiAgICBtZXNzYWdlLmF0dGFjaG1lbnRzID0gcGF5bG9hZC5tZXNzYWdlLmF0dGFjaG1lbnRzLm1hcCgoYXR0YWNobWVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5hdHRhY2htZW50KGJvdCwgYXR0YWNobWVudCkpXG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5tZXNzYWdlLmNoYW5uZWxfaWQpIG1lc3NhZ2UuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlLmNoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5jb21wb25lbnRzICYmIHBheWxvYWQubWVzc2FnZS5jb21wb25lbnRzPy5sZW5ndGgpXG4gICAgbWVzc2FnZS5jb21wb25lbnRzID0gcGF5bG9hZC5tZXNzYWdlLmNvbXBvbmVudHMubWFwKChjb21wKSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXApKVxuICBpZiAocHJvcHMuY29udGVudCkgbWVzc2FnZS5jb250ZW50ID0gcGF5bG9hZC5tZXNzYWdlLmNvbnRlbnQgPz8gRU1QVFlfU1RSSU5HXG4gIGlmIChwcm9wcy5lZGl0ZWRUaW1lc3RhbXAgJiYgcGF5bG9hZC5tZXNzYWdlLmVkaXRlZF90aW1lc3RhbXApIG1lc3NhZ2UuZWRpdGVkVGltZXN0YW1wID0gRGF0ZS5wYXJzZShwYXlsb2FkLm1lc3NhZ2UuZWRpdGVkX3RpbWVzdGFtcClcbiAgaWYgKHByb3BzLmVtYmVkcyAmJiBwYXlsb2FkLm1lc3NhZ2UuZW1iZWRzPy5sZW5ndGgpIG1lc3NhZ2UuZW1iZWRzID0gcGF5bG9hZC5tZXNzYWdlLmVtYmVkcy5tYXAoKGVtYmVkKSA9PiBib3QudHJhbnNmb3JtZXJzLmVtYmVkKGJvdCwgZW1iZWQpKVxuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBndWlsZElkKSBtZXNzYWdlLmd1aWxkSWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLm1lc3NhZ2UuaWQpIG1lc3NhZ2UuaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UuaWQpXG4gIGlmIChwcm9wcy5pbnRlcmFjdGlvbk1ldGFkYXRhICYmIHBheWxvYWQubWVzc2FnZS5pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgICBtZXNzYWdlLmludGVyYWN0aW9uTWV0YWRhdGEgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdCwgcGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uX21ldGFkYXRhKVxuICBpZiAocHJvcHMuaW50ZXJhY3Rpb24gJiYgcGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uKSB7XG4gICAgY29uc3QgaW50ZXJhY3Rpb24gPSB7fSBhcyBOb25OdWxsYWJsZTxNZXNzYWdlWydpbnRlcmFjdGlvbiddPlxuICAgIGNvbnN0IG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb25cblxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5pZCkge1xuICAgICAgaW50ZXJhY3Rpb24uaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UuaW50ZXJhY3Rpb24uaWQpXG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5tZW1iZXIgJiYgcGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uLm1lbWJlcikge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBwYXJ0aWFsIC0gY2hlY2sgd2h5IHRoaXMgaXMgcGFydGlhbCBhbmQgaGFuZGxlIGFzIG5lZWRlZFxuICAgICAgaW50ZXJhY3Rpb24ubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lc3NhZ2UuaW50ZXJhY3Rpb24ubWVtYmVyLCBndWlsZElkLCBwYXlsb2FkLm1lc3NhZ2UuaW50ZXJhY3Rpb24udXNlci5pZClcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzLm5hbWUpIHtcbiAgICAgIGludGVyYWN0aW9uLm5hbWUgPSBwYXlsb2FkLm1lc3NhZ2UuaW50ZXJhY3Rpb24ubmFtZVxuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMudHlwZSkge1xuICAgICAgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQubWVzc2FnZS5pbnRlcmFjdGlvbi50eXBlXG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy51c2VyKSB7XG4gICAgICBpbnRlcmFjdGlvbi51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uLnVzZXIpXG4gICAgfVxuXG4gICAgbWVzc2FnZS5pbnRlcmFjdGlvbiA9IGludGVyYWN0aW9uXG4gIH1cbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHVzZXJJZCAmJiBwYXlsb2FkLm1lc3NhZ2UubWVtYmVyKVxuICAgIG1lc3NhZ2UubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lc3NhZ2UubWVtYmVyLCBndWlsZElkLCB1c2VySWQpXG4gIGlmIChwYXlsb2FkLm1lc3NhZ2UubWVudGlvbl9ldmVyeW9uZSkgbWVzc2FnZS5tZW50aW9uRXZlcnlvbmUgPSB0cnVlXG4gIGlmIChwcm9wcy5tZW50aW9uZWRDaGFubmVsSWRzICYmIHBheWxvYWQubWVzc2FnZS5tZW50aW9uX2NoYW5uZWxzPy5sZW5ndGgpIHtcbiAgICBtZXNzYWdlLm1lbnRpb25lZENoYW5uZWxJZHMgPSBbXG4gICAgICAvLyBLZWVwIGFueSBpZHMgdGh0IGRpc2NvcmQgc2VuZHNcbiAgICAgIC4uLihwYXlsb2FkLm1lc3NhZ2UubWVudGlvbl9jaGFubmVscyA/PyBbXSkubWFwKChtKSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtLmlkKSksXG4gICAgICAvLyBBZGQgYW55IG90aGVyIGlkcyB0aGF0IGNhbiBiZSB2YWxpZGF0ZWQgaW4gYSBjaGFubmVsIG1lbnRpb24gZm9ybWF0XG4gICAgICAuLi4ocGF5bG9hZC5tZXNzYWdlLmNvbnRlbnQ/Lm1hdGNoKENIQU5ORUxfTUVOVElPTl9SRUdFWCkgPz8gW10pLm1hcCgodGV4dCkgPT5cbiAgICAgICAgLy8gY29udmVydHMgdGhlIDwjMTIzPiBpbnRvIDEyM1xuICAgICAgICBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh0ZXh0LnN1YnN0cmluZygyLCB0ZXh0Lmxlbmd0aCAtIDEpKSxcbiAgICAgICksXG4gICAgXVxuICB9XG4gIGlmIChwcm9wcy5tZW50aW9uZWRSb2xlSWRzICYmIHBheWxvYWQubWVzc2FnZS5tZW50aW9uX3JvbGVzPy5sZW5ndGgpXG4gICAgbWVzc2FnZS5tZW50aW9uZWRSb2xlSWRzID0gcGF5bG9hZC5tZXNzYWdlLm1lbnRpb25fcm9sZXMubWFwKChpZCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKVxuICBpZiAocHJvcHMubWVudGlvbnMgJiYgcGF5bG9hZC5tZXNzYWdlLm1lbnRpb25zPy5sZW5ndGgpIG1lc3NhZ2UubWVudGlvbnMgPSBwYXlsb2FkLm1lc3NhZ2UubWVudGlvbnMubWFwKCh1c2VyKSA9PiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCB1c2VyKSlcbiAgaWYgKHByb3BzLm1lc3NhZ2VSZWZlcmVuY2UgJiYgcGF5bG9hZC5tZXNzYWdlLm1lc3NhZ2VfcmVmZXJlbmNlKSB7XG4gICAgY29uc3QgcmVmZXJlbmNlID0ge30gYXMgTm9uTnVsbGFibGU8TWVzc2FnZVsnbWVzc2FnZVJlZmVyZW5jZSddPlxuICAgIGNvbnN0IG1lc3NhZ2VSZWZlcmVuY2VQcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVJlZmVyZW5jZVxuXG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5tZXNzYWdlLm1lc3NhZ2VfcmVmZXJlbmNlLmNoYW5uZWxfaWQpIHtcbiAgICAgIHJlZmVyZW5jZS5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UubWVzc2FnZV9yZWZlcmVuY2UuY2hhbm5lbF9pZClcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5ndWlsZElkICYmIHBheWxvYWQubWVzc2FnZS5tZXNzYWdlX3JlZmVyZW5jZS5ndWlsZF9pZCkge1xuICAgICAgcmVmZXJlbmNlLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UubWVzc2FnZV9yZWZlcmVuY2UuZ3VpbGRfaWQpXG4gICAgfVxuICAgIGlmIChtZXNzYWdlUmVmZXJlbmNlUHJvcHMubWVzc2FnZUlkICYmIHBheWxvYWQubWVzc2FnZS5tZXNzYWdlX3JlZmVyZW5jZS5tZXNzYWdlX2lkKSB7XG4gICAgICByZWZlcmVuY2UubWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlLm1lc3NhZ2VfcmVmZXJlbmNlLm1lc3NhZ2VfaWQpXG4gICAgfVxuXG4gICAgbWVzc2FnZS5tZXNzYWdlUmVmZXJlbmNlID0gcmVmZXJlbmNlXG4gIH1cbiAgaWYgKHByb3BzLnJlZmVyZW5jZWRNZXNzYWdlICYmIHBheWxvYWQubWVzc2FnZS5yZWZlcmVuY2VkX21lc3NhZ2UpXG4gICAgbWVzc2FnZS5yZWZlcmVuY2VkTWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5tZXNzYWdlLnJlZmVyZW5jZWRfbWVzc2FnZSwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG4gIGlmIChwcm9wcy5tZXNzYWdlU25hcHNob3RzICYmIHBheWxvYWQubWVzc2FnZS5tZXNzYWdlX3NuYXBzaG90cylcbiAgICBtZXNzYWdlLm1lc3NhZ2VTbmFwc2hvdHMgPSBwYXlsb2FkLm1lc3NhZ2UubWVzc2FnZV9zbmFwc2hvdHMubWFwKChzbmFwKSA9PlxuICAgICAgYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlU25hcHNob3QoYm90LCB7IG1lc3NhZ2VTbmFwc2hvdDogc25hcCwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLm5vbmNlICYmIHBheWxvYWQubWVzc2FnZS5ub25jZSkgbWVzc2FnZS5ub25jZSA9IHBheWxvYWQubWVzc2FnZS5ub25jZVxuICBpZiAocGF5bG9hZC5tZXNzYWdlLnBpbm5lZCkgbWVzc2FnZS5waW5uZWQgPSB0cnVlXG4gIGlmIChwcm9wcy5yZWFjdGlvbnMgJiYgcGF5bG9hZC5tZXNzYWdlLnJlYWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgbWVzc2FnZS5yZWFjdGlvbnMgPSBwYXlsb2FkLm1lc3NhZ2UucmVhY3Rpb25zLm1hcCgocmVhY3Rpb24pID0+ICh7XG4gICAgICBtZTogcmVhY3Rpb24ubWUsXG4gICAgICBtZUJ1cnN0OiByZWFjdGlvbi5tZV9idXJzdCxcbiAgICAgIGNvdW50OiByZWFjdGlvbi5jb3VudCxcbiAgICAgIGNvdW50RGV0YWlsczoge1xuICAgICAgICBidXJzdDogcmVhY3Rpb24uY291bnRfZGV0YWlscy5idXJzdCxcbiAgICAgICAgbm9ybWFsOiByZWFjdGlvbi5jb3VudF9kZXRhaWxzLm5vcm1hbCxcbiAgICAgIH0sXG4gICAgICBlbW9qaTogYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHJlYWN0aW9uLmVtb2ppKSxcbiAgICAgIGJ1cnN0Q29sb3JzOiByZWFjdGlvbi5idXJzdF9jb2xvcnMsXG4gICAgfSkpXG4gIH1cbiAgaWYgKHByb3BzLnN0aWNrZXJJdGVtcyAmJiBwYXlsb2FkLm1lc3NhZ2Uuc3RpY2tlcl9pdGVtcz8ubGVuZ3RoKVxuICAgIG1lc3NhZ2Uuc3RpY2tlckl0ZW1zID0gcGF5bG9hZC5tZXNzYWdlLnN0aWNrZXJfaXRlbXMubWFwKChpdGVtKSA9PiAoe1xuICAgICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGl0ZW0uaWQpLFxuICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgICAgZm9ybWF0VHlwZTogaXRlbS5mb3JtYXRfdHlwZSxcbiAgICB9KSlcbiAgaWYgKHBheWxvYWQubWVzc2FnZS50dHMpIG1lc3NhZ2UudHRzID0gdHJ1ZVxuICBpZiAocHJvcHMudGhyZWFkICYmIHBheWxvYWQubWVzc2FnZS50aHJlYWQpIG1lc3NhZ2UudGhyZWFkID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBwYXlsb2FkLm1lc3NhZ2UudGhyZWFkLCBndWlsZElkIH0pXG4gIGlmIChwcm9wcy50eXBlKSBtZXNzYWdlLnR5cGUgPSBwYXlsb2FkLm1lc3NhZ2UudHlwZVxuICBpZiAocHJvcHMud2ViaG9va0lkICYmIHBheWxvYWQubWVzc2FnZS53ZWJob29rX2lkKSBtZXNzYWdlLndlYmhvb2tJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZS53ZWJob29rX2lkKVxuICBpZiAocHJvcHMucG9sbCAmJiBwYXlsb2FkLm1lc3NhZ2UucG9sbCkgbWVzc2FnZS5wb2xsID0gYm90LnRyYW5zZm9ybWVycy5wb2xsKGJvdCwgcGF5bG9hZC5tZXNzYWdlLnBvbGwpXG4gIGlmIChwcm9wcy5jYWxsICYmIHBheWxvYWQubWVzc2FnZS5jYWxsKSBtZXNzYWdlLmNhbGwgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VDYWxsKGJvdCwgcGF5bG9hZC5tZXNzYWdlLmNhbGwpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZShib3QsIHBheWxvYWQubWVzc2FnZSwgbWVzc2FnZSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VQaW4oYm90OiBJbnRlcm5hbEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VQaW4pOiBNZXNzYWdlUGluIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VQaW5cbiAgY29uc3QgbWVzc2FnZVBpbiA9IHt9IGFzIE1lc3NhZ2VQaW5cblxuICBpZiAocHJvcHMucGlubmVkQXQgJiYgcGF5bG9hZC5waW5uZWRfYXQpIG1lc3NhZ2VQaW4ucGlubmVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQucGlubmVkX2F0KVxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLm1lc3NhZ2UpIG1lc3NhZ2VQaW4ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5tZXNzYWdlLCBzaGFyZElkOiAwIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZVBpbihib3QsIHBheWxvYWQsIG1lc3NhZ2VQaW4pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgbWVzc2FnZVNuYXBzaG90OiBEaXNjb3JkTWVzc2FnZVNuYXBzaG90OyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLm1lc3NhZ2VTbmFwc2hvdCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlU25hcHNob3RcbiAgY29uc3QgbWVzc2FnZVNuYXBzaG90ID0ge30gYXMgTWVzc2FnZVNuYXBzaG90XG5cbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5tZXNzYWdlU25hcHNob3QubWVzc2FnZSlcbiAgICBtZXNzYWdlU25hcHNob3QubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5tZXNzYWdlU25hcHNob3QubWVzc2FnZSBhcyBEaXNjb3JkTWVzc2FnZSwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZVNuYXBzaG90KGJvdCwgcGF5bG9hZC5tZXNzYWdlU25hcHNob3QsIG1lc3NhZ2VTbmFwc2hvdClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YVxuICBjb25zdCBtZXRhZGF0YSA9IHt9IGFzIE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhXG5cbiAgaWYgKHByb3BzLmlkKSBtZXRhZGF0YS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzKSB7XG4gICAgbWV0YWRhdGEuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9XG4gICAgaWYgKHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10pXG4gICAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5HdWlsZEluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10sXG4gICAgICApXG4gICAgaWYgKHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycxJ10pXG4gICAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5Vc2VySW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSxcbiAgICAgIClcbiAgfVxuICBpZiAocHJvcHMub3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCAmJiBwYXlsb2FkLm9yaWdpbmFsX3Jlc3BvbnNlX21lc3NhZ2VfaWQpXG4gICAgbWV0YWRhdGEub3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQub3JpZ2luYWxfcmVzcG9uc2VfbWVzc2FnZV9pZClcbiAgaWYgKHByb3BzLnR5cGUpIG1ldGFkYXRhLnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLnVzZXIgJiYgcGF5bG9hZC51c2VyKSBtZXRhZGF0YS51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKVxuICAvLyBBcHBsaWNhdGlvbiBjb21tYW5kIG1ldGFkYXRhXG4gIGlmICgndGFyZ2V0X3VzZXInIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudGFyZ2V0VXNlciAmJiBwYXlsb2FkLnRhcmdldF91c2VyKSBtZXRhZGF0YS50YXJnZXRVc2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC50YXJnZXRfdXNlcilcbiAgICBpZiAocHJvcHMudGFyZ2V0TWVzc2FnZUlkICYmIHBheWxvYWQudGFyZ2V0X21lc3NhZ2VfaWQpIG1ldGFkYXRhLnRhcmdldE1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQudGFyZ2V0X21lc3NhZ2VfaWQpXG4gIH1cbiAgLy8gTWVzc2FnZSBjb21wb25lbnQgbWV0YWRhdGFcbiAgaWYgKCdpbnRlcmFjdGVkX21lc3NhZ2VfaWQnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuaW50ZXJhY3RlZE1lc3NhZ2VJZCAmJiBwYXlsb2FkLmludGVyYWN0ZWRfbWVzc2FnZV9pZClcbiAgICAgIG1ldGFkYXRhLmludGVyYWN0ZWRNZXNzYWdlSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0ZWRfbWVzc2FnZV9pZClcbiAgfVxuICAvLyBNb2RhbCBzdWJtaXQgbWV0YWRhdGFcbiAgaWYgKCd0cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLnRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhICYmIHBheWxvYWQudHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgICAgIG1ldGFkYXRhLnRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YShib3QsIHBheWxvYWQudHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdCwgcGF5bG9hZCwgbWV0YWRhdGEpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlQ2FsbChib3Q6IEludGVybmFsQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUNhbGwpOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5tZXNzYWdlQ2FsbCB7XG4gIGNvbnN0IGNhbGwgPSB7fSBhcyBNZXNzYWdlQ2FsbFxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUNhbGxcblxuICBpZiAocHJvcHMucGFydGljaXBhbnRzICYmIHBheWxvYWQucGFydGljaXBhbnRzKSBjYWxsLnBhcnRpY2lwYW50cyA9IHBheWxvYWQucGFydGljaXBhbnRzLm1hcCgoeCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoeCkpXG4gIGlmIChwcm9wcy5lbmRlZFRpbWVzdGFtcCAmJiBwYXlsb2FkLmVuZGVkX3RpbWVzdGFtcCkgY2FsbC5lbmRlZFRpbWVzdGFtcCA9IERhdGUucGFyc2UocGF5bG9hZC5lbmRlZF90aW1lc3RhbXApXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZUNhbGwoYm90LCBwYXlsb2FkLCBjYWxsKVxufVxuIl0sIm5hbWVzIjpbImJhc2VNZXNzYWdlIiwidHJhbnNmb3JtTWVzc2FnZSIsInRyYW5zZm9ybU1lc3NhZ2VDYWxsIiwidHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJ0cmFuc2Zvcm1NZXNzYWdlUGluIiwidHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90IiwiRU1QVFlfU1RSSU5HIiwidW5kZWZpbmVkIiwiY3Jvc3Nwb3N0ZWQiLCJmbGFncyIsImNvbnRhaW5zIiwiTWVzc2FnZUZsYWdzIiwiQ3Jvc3Nwb3N0ZWQiLCJ2YWx1ZSIsImFkZCIsInJlbW92ZSIsImVwaGVtZXJhbCIsIkVwaGVtZXJhbCIsImZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkIiwiRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQiLCJoYXNUaHJlYWQiLCJIYXNUaHJlYWQiLCJpc0Nyb3NzcG9zdCIsIklzQ3Jvc3Nwb3N0IiwibG9hZGluZyIsIkxvYWRpbmciLCJtZW50aW9uZWRVc2VySWRzIiwibWVudGlvbnMiLCJtYXAiLCJ1c2VyIiwiaWQiLCJtZW50aW9uRXZlcnlvbmUiLCJiaXRmaWVsZCIsInBpbm5lZCIsInNvdXJjZU1lc3NhZ2VEZWxldGVkIiwiU291cmNlTWVzc2FnZURlbGV0ZWQiLCJzdXBwcmVzc0VtYmVkcyIsIlN1cHByZXNzRW1iZWRzIiwic3VwcHJlc3NOb3RpZmljYXRpb25zIiwiU3VwcHJlc3NOb3RpZmljYXRpb25zIiwidGltZXN0YW1wIiwic25vd2ZsYWtlVG9UaW1lc3RhbXAiLCJ0dHMiLCJ1cmdlbnQiLCJVcmdlbnQiLCJib3QiLCJwYXlsb2FkIiwiZ3VpbGRJZCIsIm1lc3NhZ2UiLCJndWlsZF9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVzZXJJZCIsImF1dGhvciIsIk9iamVjdCIsImNyZWF0ZSIsIlRvZ2dsZUJpdGZpZWxkIiwicHJvcHMiLCJkZXNpcmVkUHJvcGVydGllcyIsImFwcGxpY2F0aW9uIiwic2hhcmRJZCIsImFwcGxpY2F0aW9uSWQiLCJhcHBsaWNhdGlvbl9pZCIsImF0dGFjaG1lbnRzIiwibGVuZ3RoIiwiYXR0YWNobWVudCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJjb21wb25lbnRzIiwiY29tcCIsImNvbXBvbmVudCIsImNvbnRlbnQiLCJlZGl0ZWRUaW1lc3RhbXAiLCJlZGl0ZWRfdGltZXN0YW1wIiwiRGF0ZSIsInBhcnNlIiwiZW1iZWRzIiwiZW1iZWQiLCJpbnRlcmFjdGlvbk1ldGFkYXRhIiwiaW50ZXJhY3Rpb25fbWV0YWRhdGEiLCJtZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSIsImludGVyYWN0aW9uIiwibWVzc2FnZUludGVyYWN0aW9uUHJvcHMiLCJtZXNzYWdlSW50ZXJhY3Rpb24iLCJtZW1iZXIiLCJuYW1lIiwidHlwZSIsIm1lbnRpb25fZXZlcnlvbmUiLCJtZW50aW9uZWRDaGFubmVsSWRzIiwibWVudGlvbl9jaGFubmVscyIsIm0iLCJtYXRjaCIsIkNIQU5ORUxfTUVOVElPTl9SRUdFWCIsInRleHQiLCJzdWJzdHJpbmciLCJtZW50aW9uZWRSb2xlSWRzIiwibWVudGlvbl9yb2xlcyIsIm1lc3NhZ2VSZWZlcmVuY2UiLCJtZXNzYWdlX3JlZmVyZW5jZSIsInJlZmVyZW5jZSIsIm1lc3NhZ2VSZWZlcmVuY2VQcm9wcyIsIm1lc3NhZ2VJZCIsIm1lc3NhZ2VfaWQiLCJyZWZlcmVuY2VkTWVzc2FnZSIsInJlZmVyZW5jZWRfbWVzc2FnZSIsIm1lc3NhZ2VTbmFwc2hvdHMiLCJtZXNzYWdlX3NuYXBzaG90cyIsInNuYXAiLCJtZXNzYWdlU25hcHNob3QiLCJub25jZSIsInJlYWN0aW9ucyIsInJlYWN0aW9uIiwibWUiLCJtZUJ1cnN0IiwibWVfYnVyc3QiLCJjb3VudCIsImNvdW50RGV0YWlscyIsImJ1cnN0IiwiY291bnRfZGV0YWlscyIsIm5vcm1hbCIsImVtb2ppIiwiYnVyc3RDb2xvcnMiLCJidXJzdF9jb2xvcnMiLCJzdGlja2VySXRlbXMiLCJzdGlja2VyX2l0ZW1zIiwiaXRlbSIsImZvcm1hdFR5cGUiLCJmb3JtYXRfdHlwZSIsInRocmVhZCIsImNoYW5uZWwiLCJ3ZWJob29rSWQiLCJ3ZWJob29rX2lkIiwicG9sbCIsImNhbGwiLCJtZXNzYWdlQ2FsbCIsImN1c3RvbWl6ZXJzIiwibWVzc2FnZVBpbiIsInBpbm5lZEF0IiwicGlubmVkX2F0IiwibWV0YWRhdGEiLCJhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzIiwiYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzIiwiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiR3VpbGRJbnN0YWxsIiwiVXNlckluc3RhbGwiLCJvcmlnaW5hbFJlc3BvbnNlTWVzc2FnZUlkIiwib3JpZ2luYWxfcmVzcG9uc2VfbWVzc2FnZV9pZCIsInRhcmdldFVzZXIiLCJ0YXJnZXRfdXNlciIsInRhcmdldE1lc3NhZ2VJZCIsInRhcmdldF9tZXNzYWdlX2lkIiwiaW50ZXJhY3RlZE1lc3NhZ2VJZCIsImludGVyYWN0ZWRfbWVzc2FnZV9pZCIsInRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhIiwidHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSIsInBhcnRpY2lwYW50cyIsIngiLCJlbmRlZFRpbWVzdGFtcCIsImVuZGVkX3RpbWVzdGFtcCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUF3QmFBO2VBQUFBOztRQW9IR0M7ZUFBQUE7O1FBOExBQztlQUFBQTs7UUExQ0FDO2VBQUFBOztRQXZCQUM7ZUFBQUE7O1FBVUFDO2VBQUFBOzs7dUJBMVFUOzJCQUMrQjt1QkFTL0I7Z0NBQ3dCO0FBRS9CLE1BQU1DLGVBQWU7QUFFZCxNQUFNTixjQUF3RTtJQUNuRiwyRUFBMkU7SUFDM0UsR0FBSU8sU0FBUztJQUViLElBQUlDLGVBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUNDLEtBQUssRUFBRUMsU0FBU0MsbUJBQVksQ0FBQ0MsV0FBVyxLQUFLO0lBQzNEO0lBQ0EsSUFBSUosYUFBWUssTUFBZ0I7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQ0osS0FBSyxFQUFFO1FBQ2pCLElBQUlJLE9BQU8sSUFBSSxDQUFDSixLQUFLLENBQUNLLEdBQUcsQ0FBQ0gsbUJBQVksQ0FBQ0MsV0FBVzthQUM3QyxJ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
@@ -5,17 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- transformGuildOnboarding: function() {
12
+ get transformGuildOnboarding () {
13
13
  return transformGuildOnboarding;
14
14
  },
15
- transformGuildOnboardingPrompt: function() {
15
+ get transformGuildOnboardingPrompt () {
16
16
  return transformGuildOnboardingPrompt;
17
17
  },
18
- transformGuildOnboardingPromptOption: function() {
18
+ get transformGuildOnboardingPromptOption () {
19
19
  return transformGuildOnboardingPromptOption;
20
20
  }
21
21
  });
@@ -53,4 +53,4 @@ function transformGuildOnboardingPromptOption(bot, payload) {
53
53
  return bot.transformers.customizers.guildOnboardingPromptOption(bot, payload, option);
54
54
  }
55
55
 
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvb25ib2FyZGluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRHdWlsZE9uYm9hcmRpbmcsIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHQsIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24gfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgR3VpbGRPbmJvYXJkaW5nLCBHdWlsZE9uYm9hcmRpbmdQcm9tcHQsIEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiwgSW50ZXJuYWxCb3QgfSBmcm9tICcuLi9pbmRleC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZyhib3Q6IEludGVybmFsQm90LCBwYXlsb2FkOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuZ3VpbGRPbmJvYXJkaW5nIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmd1aWxkT25ib2FyZGluZ1xuICBjb25zdCBndWlsZE9uYm9hcmRpbmcgPSB7fSBhcyBHdWlsZE9uYm9hcmRpbmdcblxuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLmd1aWxkX2lkKSBndWlsZE9uYm9hcmRpbmcuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpXG4gIGlmIChwcm9wcy5kZWZhdWx0Q2hhbm5lbElkcyAmJiBwYXlsb2FkLmRlZmF1bHRfY2hhbm5lbF9pZHMpXG4gICAgZ3VpbGRPbmJvYXJkaW5nLmRlZmF1bHRDaGFubmVsSWRzID0gcGF5bG9hZC5kZWZhdWx0X2NoYW5uZWxfaWRzLm1hcChib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSlcbiAgaWYgKHByb3BzLmVuYWJsZWQpIGd1aWxkT25ib2FyZGluZy5lbmFibGVkID0gcGF5bG9hZC5lbmFibGVkXG4gIGlmIChwcm9wcy5tb2RlKSBndWlsZE9uYm9hcmRpbmcubW9kZSA9IHBheWxvYWQubW9kZVxuICBpZiAocHJvcHMucHJvbXB0cyAmJiBwYXlsb2FkLnByb21wdHMpIGd1aWxkT25ib2FyZGluZy5wcm9tcHRzID0gcGF5bG9hZC5wcm9tcHRzLm1hcCgocHJvbXB0KSA9PiBib3QudHJhbnNmb3JtZXJzLmd1aWxkT25ib2FyZGluZ1Byb21wdChib3QsIHByb21wdCkpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZ3VpbGRPbmJvYXJkaW5nKGJvdCwgcGF5bG9hZCwgZ3VpbGRPbmJvYXJkaW5nKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0KFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmd1aWxkT25ib2FyZGluZ1Byb21wdFxuICBjb25zdCBwcm9tcHQgPSB7fSBhcyBHdWlsZE9uYm9hcmRpbmdQcm9tcHRcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgcHJvbXB0LmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocHJvbXB0LmlkKVxuICBpZiAocHJvcHMuaW5PbmJvYXJkaW5nICYmIHBheWxvYWQuaW5fb25ib2FyZGluZykgcHJvbXB0LmluT25ib2FyZGluZyA9IHBheWxvYWQuaW5fb25ib2FyZGluZ1xuICBpZiAocHJvcHMucmVxdWlyZWQgJiYgcGF5bG9hZC5yZXF1aXJlZCkgcHJvbXB0LnJlcXVpcmVkID0gcGF5bG9hZC5yZXF1aXJlZFxuICBpZiAocHJvcHMuc2luZ2xlU2VsZWN0ICYmIHBheWxvYWQuc2luZ2xlX3NlbGVjdCkgcHJvbXB0LnNpbmdsZVNlbGVjdCA9IHBheWxvYWQuc2luZ2xlX3NlbGVjdFxuICBpZiAocHJvcHMudGl0bGUgJiYgcGF5bG9hZC50aXRsZSkgcHJvbXB0LnRpdGxlID0gcGF5bG9hZC50aXRsZVxuICBpZiAocHJvcHMudHlwZSkgcHJvbXB0LnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKSBwcm9tcHQub3B0aW9ucyA9IHBheWxvYWQub3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gYm90LnRyYW5zZm9ybWVycy5ndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24oYm90LCBvcHRpb24pKVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmd1aWxkT25ib2FyZGluZ1Byb21wdChib3QsIHBheWxvYWQsIHByb21wdClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbihcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5ndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb25cbiAgY29uc3Qgb3B0aW9uID0ge30gYXMgR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uXG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIG9wdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwcm9wcy5jaGFubmVsSWRzICYmIHBheWxvYWQuY2hhbm5lbF9pZHMpIG9wdGlvbi5jaGFubmVsSWRzID0gcGF5bG9hZC5jaGFubmVsX2lkcy5tYXAoYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UpXG4gIGlmIChwcm9wcy5yb2xlSWRzICYmIHBheWxvYWQucm9sZV9pZHMpIG9wdGlvbi5yb2xlSWRzID0gcGF5bG9hZC5yb2xlX2lkcy5tYXAoYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UpXG4gIGlmIChwcm9wcy5lbW9qaSAmJiBwYXlsb2FkLmVtb2ppKSBvcHRpb24uZW1vamkgPSBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgcGF5bG9hZC5lbW9qaSlcbiAgaWYgKHByb3BzLnRpdGxlICYmIHBheWxvYWQudGl0bGUpIG9wdGlvbi50aXRsZSA9IHBheWxvYWQudGl0bGVcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIG9wdGlvbi5kZXNjcmlwdGlvbiA9IHBheWxvYWQuZGVzY3JpcHRpb25cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5ndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24oYm90LCBwYXlsb2FkLCBvcHRpb24pXG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nIiwidHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0IiwidHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uIiwiYm90IiwicGF5bG9hZCIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJndWlsZE9uYm9hcmRpbmciLCJndWlsZElkIiwiZ3VpbGRfaWQiLCJzbm93Zmxha2UiLCJkZWZhdWx0Q2hhbm5lbElkcyIsImRlZmF1bHRfY2hhbm5lbF9pZHMiLCJtYXAiLCJlbmFibGVkIiwibW9kZSIsInByb21wdHMiLCJwcm9tcHQiLCJndWlsZE9uYm9hcmRpbmdQcm9tcHQiLCJjdXN0b21pemVycyIsImlkIiwiaW5PbmJvYXJkaW5nIiwiaW5fb25ib2FyZGluZyIsInJlcXVpcmVkIiwic2luZ2xlU2VsZWN0Iiwic2luZ2xlX3NlbGVjdCIsInRpdGxlIiwidHlwZSIsIm9wdGlvbnMiLCJvcHRpb24iLCJndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24iLCJjaGFubmVsSWRzIiwiY2hhbm5lbF9pZHMiLCJyb2xlSWRzIiwicm9sZV9pZHMiLCJlbW9qaSIsImRlc2NyaXB0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUdnQkEsd0JBQXdCO2VBQXhCQTs7SUFjQUMsOEJBQThCO2VBQTlCQTs7SUFrQkFDLG9DQUFvQztlQUFwQ0E7OztBQWhDVCxTQUFTRix5QkFBeUJHLEdBQWdCLEVBQUVDLE9BQStCO0lBQ3hGLE1BQU1DLFFBQVFGLElBQUlHLFlBQVksQ0FBQ0MsaUJBQWlCLENBQUNDLGVBQWU7SUFDaEUsTUFBTUEsa0JBQWtCLENBQUM7SUFFekIsSUFBSUgsTUFBTUksT0FBTyxJQUFJTCxRQUFRTSxRQUFRLEVBQUVGLGdCQUFnQkMsT0FBTyxHQUFHTixJQUFJRyxZQUFZLENBQUNLLFNBQVMsQ0FBQ1AsUUFBUU0sUUFBUTtJQUM1RyxJQUFJTCxNQUFNTyxpQkFBaUIsSUFBSVIsUUFBUVMsbUJBQW1CLEVBQ3hETCxnQkFBZ0JJLGlCQUFpQixHQUFHUixRQUFRUyxtQkFBbUIsQ0FBQ0MsR0FBRyxDQUFDWCxJQUFJRyxZQUFZLENBQUNLLFNBQVM7SUFDaEcsSUFBSU4sTUFBTVUsT0FBTyxFQUFFUCxnQkFBZ0JPLE9BQU8sR0FBR1gsUUFBUVcsT0FBTztJQUM1RCxJQUFJVixNQUFNVyxJQUFJLEVBQUVSLGdCQUFnQlEsSUFBSSxHQUFHWixRQUFRWSxJQUFJO0lBQ25ELElBQUlYLE1BQU1ZLE9BQU8sSUFBSWIsUUFBUWEsT0FBTyxFQUFFVCxnQkFBZ0JTLE9BQU8sR0FBR2IsUUFBUWEsT0FBTyxDQUFDSCxHQUFHLENBQUMsQ0FBQ0ksU0FBV2YsSUFBSUcsWUFBWSxDQUFDYSxxQkFBcUIsQ0FBQ2hCLEtBQUtlO0lBRTVJLE9BQU9mLElBQUlH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
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvb25ib2FyZGluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRHdWlsZE9uYm9hcmRpbmcsIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHQsIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24gfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgR3VpbGRPbmJvYXJkaW5nLCBHdWlsZE9uYm9hcmRpbmdQcm9tcHQsIEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiwgSW50ZXJuYWxCb3QgfSBmcm9tICcuLi9pbmRleC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZyhib3Q6IEludGVybmFsQm90LCBwYXlsb2FkOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuZ3VpbGRPbmJvYXJkaW5nIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmd1aWxkT25ib2FyZGluZ1xuICBjb25zdCBndWlsZE9uYm9hcmRpbmcgPSB7fSBhcyBHdWlsZE9uYm9hcmRpbmdcblxuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLmd1aWxkX2lkKSBndWlsZE9uYm9hcmRpbmcuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpXG4gIGlmIChwcm9wcy5kZWZhdWx0Q2hhbm5lbElkcyAmJiBwYXlsb2FkLmRlZmF1bHRfY2hhbm5lbF9pZHMpXG4gICAgZ3VpbGRPbmJvYXJkaW5nLmRlZmF1bHRDaGFubmVsSWRzID0gcGF5bG9hZC5kZWZhdWx0X2NoYW5uZWxfaWRzLm1hcChib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSlcbiAgaWYgKHByb3BzLmVuYWJsZWQpIGd1aWxkT25ib2FyZGluZy5lbmFibGVkID0gcGF5bG9hZC5lbmFibGVkXG4gIGlmIChwcm9wcy5tb2RlKSBndWlsZE9uYm9hcmRpbmcubW9kZSA9IHBheWxvYWQubW9kZVxuICBpZiAocHJvcHMucHJvbXB0cyAmJiBwYXlsb2FkLnByb21wdHMpIGd1aWxkT25ib2FyZGluZy5wcm9tcHRzID0gcGF5bG9hZC5wcm9tcHRzLm1hcCgocHJvbXB0KSA9PiBib3QudHJhbnNmb3JtZXJzLmd1aWxkT25ib2FyZGluZ1Byb21wdChib3QsIHByb21wdCkpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZ3VpbGRPbmJvYXJkaW5nKGJvdCwgcGF5bG9hZCwgZ3VpbGRPbmJvYXJkaW5nKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0KFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmd1aWxkT25ib2FyZGluZ1Byb21wdFxuICBjb25zdCBwcm9tcHQgPSB7fSBhcyBHdWlsZE9uYm9hcmRpbmdQcm9tcHRcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgcHJvbXB0LmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocHJvbXB0LmlkKVxuICBpZiAocHJvcHMuaW5PbmJvYXJkaW5nICYmIHBheWxvYWQuaW5fb25ib2FyZGluZykgcHJvbXB0LmluT25ib2FyZGluZyA9IHBheWxvYWQuaW5fb25ib2FyZGluZ1xuICBpZiAocHJvcHMucmVxdWlyZWQgJiYgcGF5bG9hZC5yZXF1aXJlZCkgcHJvbXB0LnJlcXVpcmVkID0gcGF5bG9hZC5yZXF1aXJlZFxuICBpZiAocHJvcHMuc2luZ2xlU2VsZWN0ICYmIHBheWxvYWQuc2luZ2xlX3NlbGVjdCkgcHJvbXB0LnNpbmdsZVNlbGVjdCA9IHBheWxvYWQuc2luZ2xlX3NlbGVjdFxuICBpZiAocHJvcHMudGl0bGUgJiYgcGF5bG9hZC50aXRsZSkgcHJvbXB0LnRpdGxlID0gcGF5bG9hZC50aXRsZVxuICBpZiAocHJvcHMudHlwZSkgcHJvbXB0LnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKSBwcm9tcHQub3B0aW9ucyA9IHBheWxvYWQub3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gYm90LnRyYW5zZm9ybWVycy5ndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24oYm90LCBvcHRpb24pKVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmd1aWxkT25ib2FyZGluZ1Byb21wdChib3QsIHBheWxvYWQsIHByb21wdClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbihcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5ndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb25cbiAgY29uc3Qgb3B0aW9uID0ge30gYXMgR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uXG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIG9wdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwcm9wcy5jaGFubmVsSWRzICYmIHBheWxvYWQuY2hhbm5lbF9pZHMpIG9wdGlvbi5jaGFubmVsSWRzID0gcGF5bG9hZC5jaGFubmVsX2lkcy5tYXAoYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UpXG4gIGlmIChwcm9wcy5yb2xlSWRzICYmIHBheWxvYWQucm9sZV9pZHMpIG9wdGlvbi5yb2xlSWRzID0gcGF5bG9hZC5yb2xlX2lkcy5tYXAoYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UpXG4gIGlmIChwcm9wcy5lbW9qaSAmJiBwYXlsb2FkLmVtb2ppKSBvcHRpb24uZW1vamkgPSBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgcGF5bG9hZC5lbW9qaSlcbiAgaWYgKHByb3BzLnRpdGxlICYmIHBheWxvYWQudGl0bGUpIG9wdGlvbi50aXRsZSA9IHBheWxvYWQudGl0bGVcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIG9wdGlvbi5kZXNjcmlwdGlvbiA9IHBheWxvYWQuZGVzY3JpcHRpb25cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5ndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24oYm90LCBwYXlsb2FkLCBvcHRpb24pXG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nIiwidHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0IiwidHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uIiwiYm90IiwicGF5bG9hZCIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJndWlsZE9uYm9hcmRpbmciLCJndWlsZElkIiwiZ3VpbGRfaWQiLCJzbm93Zmxha2UiLCJkZWZhdWx0Q2hhbm5lbElkcyIsImRlZmF1bHRfY2hhbm5lbF9pZHMiLCJtYXAiLCJlbmFibGVkIiwibW9kZSIsInByb21wdHMiLCJwcm9tcHQiLCJndWlsZE9uYm9hcmRpbmdQcm9tcHQiLCJjdXN0b21pemVycyIsImlkIiwiaW5PbmJvYXJkaW5nIiwiaW5fb25ib2FyZGluZyIsInJlcXVpcmVkIiwic2luZ2xlU2VsZWN0Iiwic2luZ2xlX3NlbGVjdCIsInRpdGxlIiwidHlwZSIsIm9wdGlvbnMiLCJvcHRpb24iLCJndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24iLCJjaGFubmVsSWRzIiwiY2hhbm5lbF9pZHMiLCJyb2xlSWRzIiwicm9sZV9pZHMiLCJlbW9qaSIsImRlc2NyaXB0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQUdnQkE7ZUFBQUE7O1FBY0FDO2VBQUFBOztRQWtCQUM7ZUFBQUE7OztBQWhDVCxTQUFTRix5QkFBeUJHLEdBQWdCLEVBQUVDLE9BQStCO0lBQ3hGLE1BQU1DLFFBQVFGLElBQUlHLFlBQVksQ0FBQ0MsaUJBQWlCLENBQUNDLGVBQWU7SUFDaEUsTUFBTUEsa0JBQWtCLENBQUM7SUFFekIsSUFBSUgsTUFBTUksT0FBTyxJQUFJTCxRQUFRTSxRQUFRLEVBQUVGLGdCQUFnQkMsT0FBTyxHQUFHTixJQUFJRyxZQUFZLENBQUNLLFNBQVMsQ0FBQ1AsUUFBUU0sUUFBUTtJQUM1RyxJQUFJTCxNQUFNTyxpQkFBaUIsSUFBSVIsUUFBUVMsbUJBQW1CLEVBQ3hETCxnQkFBZ0JJLGlCQUFpQixHQUFHUixRQUFRUyxtQkFBbUIsQ0FBQ0MsR0FBRyxDQUFDWCxJQUFJRyxZQUFZLENBQUNLLFNBQVM7SUFDaEcsSUFBSU4sTUFBTVUsT0FBTyxFQUFFUCxnQkFBZ0JPLE9BQU8sR0FBR1gsUUFBUVcsT0FBTztJQUM1RCxJQUFJVixNQUFNVyxJQUFJLEVBQUVSLGdCQUFnQlEsSUFBSSxHQUFHWixRQUFRWSxJQUFJO0lBQ25ELElBQUlYLE1BQU1ZLE9BQU8sSUFBSWIsUUFBUWEsT0FBTyxFQUFFVCxnQkFBZ0JTLE9BQU8sR0FBR2IsUUFBUWEsT0FBTyxDQUFDSCxHQUFHLENBQUMsQ0FBQ0ksU0FBV2YsSUFBSUcsWUFBWSxDQUFDYSxxQkFBcUIsQ0FBQ2hCLEtBQUtlO0lBRTVJLE9BQU9mLElBQUlHLFlBQVksQ0FBQ2MsV0FBVyxDQUFDWixl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
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- transformPoll: function() {
12
+ get transformPoll () {
13
13
  return transformPoll;
14
14
  },
15
- transformPollMedia: function() {
15
+ get transformPollMedia () {
16
16
  return transformPollMedia;
17
17
  }
18
18
  });
@@ -47,4 +47,4 @@ function transformPollMedia(bot, payload) {
47
47
  return bot.transformers.customizers.pollMedia(bot, payload, pollMedia);
48
48
  }
49
49
 
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcG9sbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRFbW9qaSwgRGlzY29yZFBvbGwsIERpc2NvcmRQb2xsTWVkaWEgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxCb3QsIFBvbGwsIFBvbGxNZWRpYSwgUG9sbFJlc3VsdCB9IGZyb20gJy4uL2luZGV4LmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtUG9sbChib3Q6IEludGVybmFsQm90LCBwYXlsb2FkOiBEaXNjb3JkUG9sbCk6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLnBvbGwge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMucG9sbFxuICBjb25zdCBwb2xsID0ge30gYXMgUG9sbFxuXG4gIGlmIChwcm9wcy5xdWVzdGlvbiAmJiBwYXlsb2FkLnF1ZXN0aW9uKSBwb2xsLnF1ZXN0aW9uID0gYm90LnRyYW5zZm9ybWVycy5wb2xsTWVkaWEoYm90LCBwYXlsb2FkLnF1ZXN0aW9uKVxuICBpZiAocHJvcHMuYW5zd2VycyAmJiBwYXlsb2FkLmFuc3dlcnMpXG4gICAgcG9sbC5hbnN3ZXJzID0gcGF5bG9hZC5hbnN3ZXJzLm1hcCgoeCkgPT4gKHsgYW5zd2VySWQ6IHguYW5zd2VyX2lkLCBwb2xsTWVkaWE6IGJvdC50cmFuc2Zvcm1lcnMucG9sbE1lZGlhKGJvdCwgeC5wb2xsX21lZGlhKSB9KSlcbiAgaWYgKHByb3BzLmV4cGlyeSAmJiBwYXlsb2FkLmV4cGlyeSkgcG9sbC5leHBpcnkgPSBEYXRlLnBhcnNlKHBheWxvYWQuZXhwaXJ5KVxuICBpZiAocHJvcHMuYWxsb3dNdWx0aXNlbGVjdCAmJiBwYXlsb2FkLmFsbG93X211bHRpc2VsZWN0KSBwb2xsLmFsbG93TXVsdGlzZWxlY3QgPSBwYXlsb2FkLmFsbG93X211bHRpc2VsZWN0XG4gIGlmIChwcm9wcy5sYXlvdXRUeXBlKSBwb2xsLmxheW91dFR5cGUgPSBwYXlsb2FkLmxheW91dF90eXBlXG4gIGlmIChwcm9wcy5yZXN1bHRzICYmIHBheWxvYWQucmVzdWx0cykge1xuICAgIHBvbGwucmVzdWx0cyA9IHt9IGFzIFBvbGxSZXN1bHRcbiAgICBjb25zdCBwb2xsUmVzdWx0UHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLnBvbGxSZXN1bHRcblxuICAgIGlmIChwb2xsUmVzdWx0UHJvcHMuaXNGaW5hbGl6ZWQgJiYgcGF5bG9hZC5yZXN1bHRzLmlzX2ZpbmFsaXplZCkgcG9sbC5yZXN1bHRzLmlzRmluYWxpemVkID0gcGF5bG9hZC5yZXN1bHRzLmlzX2ZpbmFsaXplZFxuICAgIGlmIChwb2xsUmVzdWx0UHJvcHMuYW5zd2VyQ291bnRzICYmIHBheWxvYWQucmVzdWx0cy5hbnN3ZXJfY291bnRzKVxuICAgICAgcG9sbC5yZXN1bHRzLmFuc3dlckNvdW50cyA9IHBheWxvYWQucmVzdWx0cy5hbnN3ZXJfY291bnRzLm1hcCgoeCkgPT4gKHsgaWQ6IHguaWQsIGNvdW50OiB4LmNvdW50LCBtZVZvdGVkOiB4Lm1lX3ZvdGVkIH0pKVxuICB9XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMucG9sbChib3QsIHBheWxvYWQsIHBvbGwpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1Qb2xsTWVkaWEoYm90OiBJbnRlcm5hbEJvdCwgcGF5bG9hZDogRGlzY29yZFBvbGxNZWRpYSk6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLnBvbGxNZWRpYSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5wb2xsTWVkaWFcbiAgY29uc3QgcG9sbE1lZGlhID0ge30gYXMgUG9sbE1lZGlhXG5cbiAgaWYgKHByb3BzLnRleHQgJiYgcGF5bG9hZC50ZXh0KSBwb2xsTWVkaWEudGV4dCA9IHBheWxvYWQudGV4dFxuICBpZiAocHJvcHMuZW1vamkgJiYgcGF5bG9hZC5lbW9qaSkgcG9sbE1lZGlhLmVtb2ppID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHBheWxvYWQuZW1vamkgYXMgRGlzY29yZEVtb2ppKVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLnBvbGxNZWRpYShib3QsIHBheWxvYWQsIHBvbGxNZWRpYSlcbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1Qb2xsIiwidHJhbnNmb3JtUG9sbE1lZGlhIiwiYm90IiwicGF5bG9hZCIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJwb2xsIiwicXVlc3Rpb24iLCJwb2xsTWVkaWEiLCJhbnN3ZXJzIiwibWFwIiwieCIsImFuc3dlcklkIiwiYW5zd2VyX2lkIiwicG9sbF9tZWRpYSIsImV4cGlyeSIsIkRhdGUiLCJwYXJzZSIsImFsbG93TXVsdGlzZWxlY3QiLCJhbGxvd19tdWx0aXNlbGVjdCIsImxheW91dFR5cGUiLCJsYXlvdXRfdHlwZSIsInJlc3VsdHMiLCJwb2xsUmVzdWx0UHJvcHMiLCJwb2xsUmVzdWx0IiwiaXNGaW5hbGl6ZWQiLCJpc19maW5hbGl6ZWQiLCJhbnN3ZXJDb3VudHMiLCJhbnN3ZXJfY291bnRzIiwiaWQiLCJjb3VudCIsIm1lVm90ZWQiLCJtZV92b3RlZCIsImN1c3RvbWl6ZXJzIiwidGV4dCIsImVtb2ppIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUdnQkEsYUFBYTtlQUFiQTs7SUFzQkFDLGtCQUFrQjtlQUFsQkE7OztBQXRCVCxTQUFTRCxjQUFjRSxHQUFnQixFQUFFQyxPQUFvQjtJQUNsRSxNQUFNQyxRQUFRRixJQUFJRyxZQUFZLENBQUNDLGlCQUFpQixDQUFDQyxJQUFJO0lBQ3JELE1BQU1BLE9BQU8sQ0FBQztJQUVkLElBQUlILE1BQU1JLFFBQVEsSUFBSUwsUUFBUUssUUFBUSxFQUFFRCxLQUFLQyxRQUFRLEdBQUdOLElBQUlHLFlBQVksQ0FBQ0ksU0FBUyxDQUFDUCxLQUFLQyxRQUFRSyxRQUFRO0lBQ3hHLElBQUlKLE1BQU1NLE9BQU8sSUFBSVAsUUFBUU8sT0FBTyxFQUNsQ0gsS0FBS0csT0FBTyxHQUFHUCxRQUFRTyxPQUFPLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxJQUFPLENBQUE7WUFBRUMsVUFBVUQsRUFBRUUsU0FBUztZQUFFTCxXQUFXUCxJQUFJRyxZQUFZLENBQUNJLFNBQVMsQ0FBQ1AsS0FBS1UsRUFBRUcsVUFBVTtRQUFFLENBQUE7SUFDL0gsSUFBSVgsTUFBTVksTUFBTSxJQUFJYixRQUFRYSxNQUFNLEVBQUVULEtBQUtTLE1BQU0sR0FBR0MsS0FBS0MsS0FBSyxDQUFDZixRQUFRYSxNQUFNO0lBQzNFLElBQUlaLE1BQU1lLGdCQUFnQixJQUFJaEIsUUFBUWlCLGlCQUFpQixFQUFFYixLQUFLWSxnQkFBZ0IsR0FBR2hCLFFBQVFpQixpQkFBaUI7SUFDMUcsSUFBSWhCLE1BQU1pQixVQUFVLEVBQUVkLEtBQUtjLFVBQVUsR0FBR2xCLFFBQVFtQixXQUFXO0lBQzNELElBQUlsQixNQUFNbUIsT0FBTyxJQUFJcEIsUUFBUW9CLE9BQU8sRUFBRTtRQUNwQ2hCLEtBQUtnQixPQUFPLEdBQUcsQ0FBQztRQUNoQixNQUFNQyxrQkFBa0J0QixJQUFJRyxZQUFZLENBQUNDLGlCQUFpQixDQUFDbUIsVUFBVTtRQUVyRSxJQUFJRCxnQkFBZ0JFLFdBQVcsSUFBSXZCLFFBQVFvQixPQUFPLENBQUNJLFlBQVksRUFBRXBCLEtBQUtnQixPQUFPLENBQUNHLFdBQVcsR0FBR3ZCLFFBQVFvQixPQUFPLENBQUNJLFlBQVk7UUFDeEgsSUFBSUgsZ0JBQWdCSSxZQUFZLElBQUl6QixRQUFRb0IsT0FBTyxDQUFDTSxhQUFhLEVBQy9EdEIsS0FBS2dCLE9BQU8sQ0FBQ0ssWUFBWSxHQUFHekIsUUFBUW9CLE9BQU8sQ0FBQ00sYUFBYSxDQUFDbEIsR0FBRyxDQUFDLENBQUNDLElBQU8sQ0FBQTtnQkFBRWtCLElBQUlsQixFQUFFa0IsRUFBRTtnQkFBRUMsT0FBT25CLEVBQUVtQixLQUFLO2dCQUFFQyxTQUFTcEIsRUFBRXFCLFFBQVE7WUFBQyxDQUFBO0lBQzFIO0lBRUEsT0FBTy9CLElBQUlHLFlBQVksQ0FBQzZCLFdBQVcsQ0FBQzNCLElBQUksQ0FBQ0wsS0FBS0MsU0FBU0k7QUFDekQ7QUFFTyxTQUFTTixtQkFBbUJDLEdBQWdCLEVBQUVDLE9BQXlCO0lBQzVFLE1BQU1DLFFBQVFGLElBQUlHLFlBQVksQ0FBQ0MsaUJBQWlCLENBQUNHLFNBQVM7SUFDMUQsTUFBTUEsWUFBWSxDQUFDO0lBRW5CLElBQUlMLE1BQU0rQixJQUFJLElBQUloQyxRQUFRZ0MsSUFBSSxFQUFFMUIsVUFBVTBCLElBQUksR0FBR2hDLFFBQVFnQyxJQUFJO0lBQzdELElBQUkvQixNQUFNZ0MsS0FBSyxJQUFJakMsUUFBUWlDLEtBQUssRUFBRTNCLFVBQVUyQixLQUFLLEdBQUdsQyxJQUFJRyxZQUFZLENBQUMrQixLQUFLLENBQUNsQyxLQUFLQyxRQUFRaUMsS0FBSztJQUU3RixPQUFPbEMsSUFBSUcsWUFBWSxDQUFDNkIsV0FBVyxDQUFDekIsU0FBUyxDQUFDUCxLQUFLQyxTQUFTTTtBQUM5RCJ9
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcG9sbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRFbW9qaSwgRGlzY29yZFBvbGwsIERpc2NvcmRQb2xsTWVkaWEgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxCb3QsIFBvbGwsIFBvbGxNZWRpYSwgUG9sbFJlc3VsdCB9IGZyb20gJy4uL2luZGV4LmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtUG9sbChib3Q6IEludGVybmFsQm90LCBwYXlsb2FkOiBEaXNjb3JkUG9sbCk6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLnBvbGwge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMucG9sbFxuICBjb25zdCBwb2xsID0ge30gYXMgUG9sbFxuXG4gIGlmIChwcm9wcy5xdWVzdGlvbiAmJiBwYXlsb2FkLnF1ZXN0aW9uKSBwb2xsLnF1ZXN0aW9uID0gYm90LnRyYW5zZm9ybWVycy5wb2xsTWVkaWEoYm90LCBwYXlsb2FkLnF1ZXN0aW9uKVxuICBpZiAocHJvcHMuYW5zd2VycyAmJiBwYXlsb2FkLmFuc3dlcnMpXG4gICAgcG9sbC5hbnN3ZXJzID0gcGF5bG9hZC5hbnN3ZXJzLm1hcCgoeCkgPT4gKHsgYW5zd2VySWQ6IHguYW5zd2VyX2lkLCBwb2xsTWVkaWE6IGJvdC50cmFuc2Zvcm1lcnMucG9sbE1lZGlhKGJvdCwgeC5wb2xsX21lZGlhKSB9KSlcbiAgaWYgKHByb3BzLmV4cGlyeSAmJiBwYXlsb2FkLmV4cGlyeSkgcG9sbC5leHBpcnkgPSBEYXRlLnBhcnNlKHBheWxvYWQuZXhwaXJ5KVxuICBpZiAocHJvcHMuYWxsb3dNdWx0aXNlbGVjdCAmJiBwYXlsb2FkLmFsbG93X211bHRpc2VsZWN0KSBwb2xsLmFsbG93TXVsdGlzZWxlY3QgPSBwYXlsb2FkLmFsbG93X211bHRpc2VsZWN0XG4gIGlmIChwcm9wcy5sYXlvdXRUeXBlKSBwb2xsLmxheW91dFR5cGUgPSBwYXlsb2FkLmxheW91dF90eXBlXG4gIGlmIChwcm9wcy5yZXN1bHRzICYmIHBheWxvYWQucmVzdWx0cykge1xuICAgIHBvbGwucmVzdWx0cyA9IHt9IGFzIFBvbGxSZXN1bHRcbiAgICBjb25zdCBwb2xsUmVzdWx0UHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLnBvbGxSZXN1bHRcblxuICAgIGlmIChwb2xsUmVzdWx0UHJvcHMuaXNGaW5hbGl6ZWQgJiYgcGF5bG9hZC5yZXN1bHRzLmlzX2ZpbmFsaXplZCkgcG9sbC5yZXN1bHRzLmlzRmluYWxpemVkID0gcGF5bG9hZC5yZXN1bHRzLmlzX2ZpbmFsaXplZFxuICAgIGlmIChwb2xsUmVzdWx0UHJvcHMuYW5zd2VyQ291bnRzICYmIHBheWxvYWQucmVzdWx0cy5hbnN3ZXJfY291bnRzKVxuICAgICAgcG9sbC5yZXN1bHRzLmFuc3dlckNvdW50cyA9IHBheWxvYWQucmVzdWx0cy5hbnN3ZXJfY291bnRzLm1hcCgoeCkgPT4gKHsgaWQ6IHguaWQsIGNvdW50OiB4LmNvdW50LCBtZVZvdGVkOiB4Lm1lX3ZvdGVkIH0pKVxuICB9XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMucG9sbChib3QsIHBheWxvYWQsIHBvbGwpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1Qb2xsTWVkaWEoYm90OiBJbnRlcm5hbEJvdCwgcGF5bG9hZDogRGlzY29yZFBvbGxNZWRpYSk6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLnBvbGxNZWRpYSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5wb2xsTWVkaWFcbiAgY29uc3QgcG9sbE1lZGlhID0ge30gYXMgUG9sbE1lZGlhXG5cbiAgaWYgKHByb3BzLnRleHQgJiYgcGF5bG9hZC50ZXh0KSBwb2xsTWVkaWEudGV4dCA9IHBheWxvYWQudGV4dFxuICBpZiAocHJvcHMuZW1vamkgJiYgcGF5bG9hZC5lbW9qaSkgcG9sbE1lZGlhLmVtb2ppID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHBheWxvYWQuZW1vamkgYXMgRGlzY29yZEVtb2ppKVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLnBvbGxNZWRpYShib3QsIHBheWxvYWQsIHBvbGxNZWRpYSlcbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1Qb2xsIiwidHJhbnNmb3JtUG9sbE1lZGlhIiwiYm90IiwicGF5bG9hZCIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJwb2xsIiwicXVlc3Rpb24iLCJwb2xsTWVkaWEiLCJhbnN3ZXJzIiwibWFwIiwieCIsImFuc3dlcklkIiwiYW5zd2VyX2lkIiwicG9sbF9tZWRpYSIsImV4cGlyeSIsIkRhdGUiLCJwYXJzZSIsImFsbG93TXVsdGlzZWxlY3QiLCJhbGxvd19tdWx0aXNlbGVjdCIsImxheW91dFR5cGUiLCJsYXlvdXRfdHlwZSIsInJlc3VsdHMiLCJwb2xsUmVzdWx0UHJvcHMiLCJwb2xsUmVzdWx0IiwiaXNGaW5hbGl6ZWQiLCJpc19maW5hbGl6ZWQiLCJhbnN3ZXJDb3VudHMiLCJhbnN3ZXJfY291bnRzIiwiaWQiLCJjb3VudCIsIm1lVm90ZWQiLCJtZV92b3RlZCIsImN1c3RvbWl6ZXJzIiwidGV4dCIsImVtb2ppIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQUdnQkE7ZUFBQUE7O1FBc0JBQztlQUFBQTs7O0FBdEJULFNBQVNELGNBQWNFLEdBQWdCLEVBQUVDLE9BQW9CO0lBQ2xFLE1BQU1DLFFBQVFGLElBQUlHLFlBQVksQ0FBQ0MsaUJBQWlCLENBQUNDLElBQUk7SUFDckQsTUFBTUEsT0FBTyxDQUFDO0lBRWQsSUFBSUgsTUFBTUksUUFBUSxJQUFJTCxRQUFRSyxRQUFRLEVBQUVELEtBQUtDLFFBQVEsR0FBR04sSUFBSUcsWUFBWSxDQUFDSSxTQUFTLENBQUNQLEtBQUtDLFFBQVFLLFFBQVE7SUFDeEcsSUFBSUosTUFBTU0sT0FBTyxJQUFJUCxRQUFRTyxPQUFPLEVBQ2xDSCxLQUFLRyxPQUFPLEdBQUdQLFFBQVFPLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLElBQU8sQ0FBQTtZQUFFQyxVQUFVRCxFQUFFRSxTQUFTO1lBQUVMLFdBQVdQLElBQUlHLFlBQVksQ0FBQ0ksU0FBUyxDQUFDUCxLQUFLVSxFQUFFRyxVQUFVO1FBQUUsQ0FBQTtJQUMvSCxJQUFJWCxNQUFNWSxNQUFNLElBQUliLFFBQVFhLE1BQU0sRUFBRVQsS0FBS1MsTUFBTSxHQUFHQyxLQUFLQyxLQUFLLENBQUNmLFFBQVFhLE1BQU07SUFDM0UsSUFBSVosTUFBTWUsZ0JBQWdCLElBQUloQixRQUFRaUIsaUJBQWlCLEVBQUViLEtBQUtZLGdCQUFnQixHQUFHaEIsUUFBUWlCLGlCQUFpQjtJQUMxRyxJQUFJaEIsTUFBTWlCLFVBQVUsRUFBRWQsS0FBS2MsVUFBVSxHQUFHbEIsUUFBUW1CLFdBQVc7SUFDM0QsSUFBSWxCLE1BQU1tQixPQUFPLElBQUlwQixRQUFRb0IsT0FBTyxFQUFFO1FBQ3BDaEIsS0FBS2dCLE9BQU8sR0FBRyxDQUFDO1FBQ2hCLE1BQU1DLGtCQUFrQnRCLElBQUlHLFlBQVksQ0FBQ0MsaUJBQWlCLENBQUNtQixVQUFVO1FBRXJFLElBQUlELGdCQUFnQkUsV0FBVyxJQUFJdkIsUUFBUW9CLE9BQU8sQ0FBQ0ksWUFBWSxFQUFFcEIsS0FBS2dCLE9BQU8sQ0FBQ0csV0FBVyxHQUFHdkIsUUFBUW9CLE9BQU8sQ0FBQ0ksWUFBWTtRQUN4SCxJQUFJSCxnQkFBZ0JJLFlBQVksSUFBSXpCLFFBQVFvQixPQUFPLENBQUNNLGFBQWEsRUFDL0R0QixLQUFLZ0IsT0FBTyxDQUFDSyxZQUFZLEdBQUd6QixRQUFRb0IsT0FBTyxDQUFDTSxhQUFhLENBQUNsQixHQUFHLENBQUMsQ0FBQ0MsSUFBTyxDQUFBO2dCQUFFa0IsSUFBSWxCLEVBQUVrQixFQUFFO2dCQUFFQyxPQUFPbkIsRUFBRW1CLEtBQUs7Z0JBQUVDLFNBQVNwQixFQUFFcUIsUUFBUTtZQUFDLENBQUE7SUFDMUg7SUFFQSxPQUFPL0IsSUFBSUcsWUFBWSxDQUFDNkIsV0FBVyxDQUFDM0IsSUFBSSxDQUFDTCxLQUFLQyxTQUFTSTtBQUN6RDtBQUVPLFNBQVNOLG1CQUFtQkMsR0FBZ0IsRUFBRUMsT0FBeUI7SUFDNUUsTUFBTUMsUUFBUUYsSUFBSUcsWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ0csU0FBUztJQUMxRCxNQUFNQSxZQUFZLENBQUM7SUFFbkIsSUFBSUwsTUFBTStCLElBQUksSUFBSWhDLFFBQVFnQyxJQUFJLEVBQUUxQixVQUFVMEIsSUFBSSxHQUFHaEMsUUFBUWdDLElBQUk7SUFDN0QsSUFBSS9CLE1BQU1nQyxLQUFLLElBQUlqQyxRQUFRaUMsS0FBSyxFQUFFM0IsVUFBVTJCLEtBQUssR0FBR2xDLElBQUlHLFlBQVksQ0FBQytCLEtBQUssQ0FBQ2xDLEtBQUtDLFFBQVFpQyxLQUFLO0lBRTdGLE9BQU9sQyxJQUFJRyxZQUFZLENBQUM2QixXQUFXLENBQUN6QixTQUFTLENBQUNQLEtBQUtDLFNBQVNNO0FBQzlEIn0=
@@ -2,10 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "transformComponentToDiscordComponent", {
6
- enumerable: true,
7
- get: function() {
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get transformComponentToDiscordComponent () {
8
13
  return transformComponentToDiscordComponent;
14
+ },
15
+ get transformMediaGalleryItemToDiscordMediaGalleryItem () {
16
+ return transformMediaGalleryItemToDiscordMediaGalleryItem;
17
+ },
18
+ get transformUnfurledMediaItemToDiscordUnfurledMediaItem () {
19
+ return transformUnfurledMediaItemToDiscordUnfurledMediaItem;
9
20
  }
10
21
  });
11
22
  const _types = require("@discordeno/types");
@@ -16,27 +27,69 @@ function transformComponentToDiscordComponent(bot, payload) {
16
27
  return transformActionRow(bot, payload);
17
28
  case _types.MessageComponentTypes.Button:
18
29
  return transformButtonComponent(bot, payload);
19
- case _types.MessageComponentTypes.InputText:
30
+ case _types.MessageComponentTypes.Container:
31
+ return transformContainerComponent(bot, payload);
32
+ case _types.MessageComponentTypes.TextInput:
20
33
  return transformInputTextComponent(bot, payload);
21
- case _types.MessageComponentTypes.SelectMenu:
22
- case _types.MessageComponentTypes.SelectMenuChannels:
23
- case _types.MessageComponentTypes.SelectMenuRoles:
24
- case _types.MessageComponentTypes.SelectMenuUsers:
25
- case _types.MessageComponentTypes.SelectMenuUsersAndRoles:
34
+ case _types.MessageComponentTypes.StringSelect:
35
+ case _types.MessageComponentTypes.ChannelSelect:
36
+ case _types.MessageComponentTypes.RoleSelect:
37
+ case _types.MessageComponentTypes.UserSelect:
38
+ case _types.MessageComponentTypes.MentionableSelect:
26
39
  return transformSelectMenuComponent(bot, payload);
40
+ case _types.MessageComponentTypes.Section:
41
+ return transformSectionComponent(bot, payload);
42
+ case _types.MessageComponentTypes.File:
43
+ return transformFileComponent(bot, payload);
44
+ case _types.MessageComponentTypes.MediaGallery:
45
+ return transformMediaGalleryComponent(bot, payload);
46
+ case _types.MessageComponentTypes.Thumbnail:
47
+ return transformThumbnailComponent(bot, payload);
48
+ case _types.MessageComponentTypes.Separator:
49
+ case _types.MessageComponentTypes.TextDisplay:
50
+ // As of now they are compatible
51
+ return payload;
27
52
  }
28
53
  }
54
+ function transformUnfurledMediaItemToDiscordUnfurledMediaItem(bot, payload) {
55
+ return {
56
+ url: payload.url,
57
+ proxy_url: payload.proxyUrl,
58
+ height: payload.height,
59
+ width: payload.width,
60
+ content_type: payload.contentType,
61
+ attachment_id: payload.attachmentId ? bot.transformers.reverse.snowflake(payload.attachmentId) : undefined
62
+ };
63
+ }
64
+ function transformMediaGalleryItemToDiscordMediaGalleryItem(bot, payload) {
65
+ return {
66
+ media: bot.transformers.reverse.unfurledMediaItem(bot, payload.media),
67
+ description: payload.description,
68
+ spoiler: payload.spoiler
69
+ };
70
+ }
29
71
  function transformActionRow(bot, payload) {
30
72
  return {
31
73
  type: _types.MessageComponentTypes.ActionRow,
74
+ id: payload.id,
32
75
  // The actionRow.components type is kinda annoying, so we need a cast for this
33
76
  components: payload.components?.map((component)=>bot.transformers.reverse.component(bot, component)) ?? []
34
77
  };
35
78
  }
79
+ function transformContainerComponent(bot, payload) {
80
+ return {
81
+ type: _types.MessageComponentTypes.Container,
82
+ id: payload.id,
83
+ accent_color: payload.accentColor,
84
+ spoiler: payload.spoiler,
85
+ components: payload.components?.map((component)=>bot.transformers.reverse.component(bot, component)) ?? []
86
+ };
87
+ }
36
88
  function transformButtonComponent(bot, payload) {
37
89
  // Since Component is a merge of all components, some casts are necessary
38
90
  return {
39
91
  type: _types.MessageComponentTypes.Button,
92
+ id: payload.id,
40
93
  style: payload.style,
41
94
  custom_id: payload.customId,
42
95
  disabled: payload.disabled,
@@ -53,7 +106,8 @@ function transformButtonComponent(bot, payload) {
53
106
  function transformInputTextComponent(_bot, payload) {
54
107
  // Since Component is a merge of all components, some casts are necessary
55
108
  return {
56
- type: _types.MessageComponentTypes.InputText,
109
+ type: _types.MessageComponentTypes.TextInput,
110
+ id: payload.id,
57
111
  style: payload.style,
58
112
  custom_id: payload.customId,
59
113
  label: payload.label,
@@ -67,6 +121,7 @@ function transformInputTextComponent(_bot, payload) {
67
121
  function transformSelectMenuComponent(bot, payload) {
68
122
  return {
69
123
  type: payload.type,
124
+ id: payload.id,
70
125
  custom_id: payload.customId,
71
126
  channel_types: payload.channelTypes,
72
127
  default_values: payload.defaultValues?.map((defaultValue)=>({
@@ -90,5 +145,39 @@ function transformSelectMenuComponent(bot, payload) {
90
145
  placeholder: payload.placeholder
91
146
  };
92
147
  }
148
+ function transformSectionComponent(bot, payload) {
149
+ return {
150
+ type: _types.MessageComponentTypes.Section,
151
+ id: payload.id,
152
+ components: payload.components?.map((component)=>bot.transformers.reverse.component(bot, component)),
153
+ accessory: payload.accessory ? bot.transformers.reverse.component(bot, payload.accessory) : undefined
154
+ };
155
+ }
156
+ function transformFileComponent(bot, payload) {
157
+ return {
158
+ type: _types.MessageComponentTypes.File,
159
+ id: payload.id,
160
+ file: bot.transformers.reverse.unfurledMediaItem(bot, payload.file),
161
+ spoiler: payload.spoiler,
162
+ name: payload.name,
163
+ size: payload.size
164
+ };
165
+ }
166
+ function transformMediaGalleryComponent(bot, payload) {
167
+ return {
168
+ type: _types.MessageComponentTypes.MediaGallery,
169
+ id: payload.id,
170
+ items: payload.items?.map((item)=>bot.transformers.reverse.mediaGalleryItem(bot, item)) ?? []
171
+ };
172
+ }
173
+ function transformThumbnailComponent(bot, payload) {
174
+ return {
175
+ type: _types.MessageComponentTypes.Thumbnail,
176
+ id: payload.id,
177
+ media: bot.transformers.reverse.unfurledMediaItem(bot, payload.media),
178
+ description: payload.description,
179
+ spoiler: payload.spoiler
180
+ };
181
+ }
93
182
 
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LCB0eXBlIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50LCBNZXNzYWdlQ29tcG9uZW50VHlwZXMsIHR5cGUgVGV4dFN0eWxlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCb3QsIEJ1dHRvblN0eWxlcywgQ29tcG9uZW50LCBEaXNjb3JkQWN0aW9uUm93LCBEaXNjb3JkSW5wdXRUZXh0Q29tcG9uZW50LCBEaXNjb3JkU2VsZWN0TWVudUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2luZGV4LmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCB7XG4gIC8vIFRoaXMgc3dpdGNoIHNob3VsZCBpbmNsdWRlIGFsbCBjYXNlc1xuICBzd2l0Y2ggKHBheWxvYWQudHlwZSkge1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkFjdGlvblJvdzpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1BY3Rpb25Sb3coYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLklucHV0VGV4dDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlbGVjdE1lbnU6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VsZWN0TWVudUNoYW5uZWxzOlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlbGVjdE1lbnVSb2xlczpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TZWxlY3RNZW51VXNlcnM6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VsZWN0TWVudVVzZXJzQW5kUm9sZXM6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQWN0aW9uUm93KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkQWN0aW9uUm93IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93LFxuICAgIC8vIFRoZSBhY3Rpb25Sb3cuY29tcG9uZW50cyB0eXBlIGlzIGtpbmRhIGFubm95aW5nLCBzbyB3ZSBuZWVkIGEgY2FzdCBmb3IgdGhpc1xuICAgIGNvbXBvbmVudHM6IChwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgPz8gW10pIGFzIERpc2NvcmRBY3Rpb25Sb3dbJ2NvbXBvbmVudHMnXSxcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRCdXR0b25Db21wb25lbnQge1xuICAvLyBTaW5jZSBDb21wb25lbnQgaXMgYSBtZXJnZSBvZiBhbGwgY29tcG9uZW50cywgc29tZSBjYXN0cyBhcmUgbmVjZXNzYXJ5XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvbixcbiAgICBzdHlsZTogcGF5bG9hZC5zdHlsZSBhcyBCdXR0b25TdHlsZXMsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIGVtb2ppOiBwYXlsb2FkLmVtb2ppXG4gICAgICA/IHtcbiAgICAgICAgICBpZDogcGF5bG9hZC5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UocGF5bG9hZC5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbmFtZTogcGF5bG9hZC5lbW9qaS5uYW1lLFxuICAgICAgICAgIGFuaW1hdGVkOiBwYXlsb2FkLmVtb2ppLmFuaW1hdGVkLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBsYWJlbDogcGF5bG9hZC5sYWJlbCxcbiAgICB1cmw6IHBheWxvYWQudXJsLFxuICAgIHNrdV9pZDogcGF5bG9hZC5za3VJZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UocGF5bG9hZC5za3VJZCkgOiB1bmRlZmluZWQsXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KF9ib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZElucHV0VGV4dENvbXBvbmVudCB7XG4gIC8vIFNpbmNlIENvbXBvbmVudCBpcyBhIG1lcmdlIG9mIGFsbCBjb21wb25lbnRzLCBzb21lIGNhc3RzIGFyZSBuZWNlc3NhcnlcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuSW5wdXRUZXh0LFxuICAgIHN0eWxlOiBwYXlsb2FkLnN0eWxlIGFzIFRleHRTdHlsZXMsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICBsYWJlbDogcGF5bG9hZC5sYWJlbCEsXG4gICAgdmFsdWU6IHBheWxvYWQudmFsdWUsXG4gICAgbWF4X2xlbmd0aDogcGF5bG9hZC5tYXhMZW5ndGgsXG4gICAgbWluX2xlbmd0aDogcGF5bG9hZC5taW5MZW5ndGgsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IHBheWxvYWQudHlwZSBhcyBEaXNjb3JkU2VsZWN0TWVudUNvbXBvbmVudFsndHlwZSddLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgY2hhbm5lbF90eXBlczogcGF5bG9hZC5jaGFubmVsVHlwZXMsXG4gICAgZGVmYXVsdF92YWx1ZXM6IHBheWxvYWQuZGVmYXVsdFZhbHVlcz8ubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgfSkpLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIG9wdGlvbnM6IHBheWxvYWQub3B0aW9ucz8ubWFwKChvcHRpb24pID0+ICh7XG4gICAgICBsYWJlbDogb3B0aW9uLmxhYmVsLFxuICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb24uZGVzY3JpcHRpb24sXG4gICAgICBlbW9qaTogb3B0aW9uLmVtb2ppXG4gICAgICAgID8ge1xuICAgICAgICAgICAgaWQ6IG9wdGlvbi5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2Uob3B0aW9uLmVtb2ppLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIG5hbWU6IG9wdGlvbi5lbW9qaS5uYW1lLFxuICAgICAgICAgICAgYW5pbWF0ZWQ6IG9wdGlvbi5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgZGVmYXVsdDogb3B0aW9uLmRlZmF1bHQsXG4gICAgfSkpLFxuICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnBsYWNlaG9sZGVyLFxuICB9XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50IiwiYm90IiwicGF5bG9hZCIsInR5cGUiLCJNZXNzYWdlQ29tcG9uZW50VHlwZXMiLCJBY3Rpb25Sb3ciLCJ0cmFuc2Zvcm1BY3Rpb25Sb3ciLCJCdXR0b24iLCJ0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQiLCJJbnB1dFRleHQiLCJ0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQiLCJTZWxlY3RNZW51IiwiU2VsZWN0TWVudUNoYW5uZWxzIiwiU2VsZWN0TWVudVJvbGVzIiwiU2VsZWN0TWVudVVzZXJzIiwiU2VsZWN0TWVudVVzZXJzQW5kUm9sZXMiLCJ0cmFuc2Zvcm1TZWxlY3RNZW51Q29tcG9uZW50IiwiY29tcG9uZW50cyIsIm1hcCIsImNvbXBvbmVudCIsInRyYW5zZm9ybWVycyIsInJldmVyc2UiLCJzdHlsZSIsImN1c3RvbV9pZCIsImN1c3RvbUlkIiwiZGlzYWJsZWQiLCJlbW9qaSIsImlkIiwic25vd2ZsYWtlIiwidW5kZWZpbmVkIiwibmFtZSIsImFuaW1hdGVkIiwibGFiZWwiLCJ1cmwiLCJza3VfaWQiLCJza3VJZCIsIl9ib3QiLCJ2YWx1ZSIsIm1heF9sZW5ndGgiLCJtYXhMZW5ndGgiLCJtaW5fbGVuZ3RoIiwibWluTGVuZ3RoIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsImNoYW5uZWxfdHlwZXMiLCJjaGFubmVsVHlwZXMiLCJkZWZhdWx0X3ZhbHVlcyIsImRlZmF1bHRWYWx1ZXMiLCJkZWZhdWx0VmFsdWUiLCJtYXhfdmFsdWVzIiwibWF4VmFsdWVzIiwibWluX3ZhbHVlcyIsIm1pblZhbHVlcyIsIm9wdGlvbnMiLCJvcHRpb24iLCJkZXNjcmlwdGlvbiIsImRlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2dCQTs7O2VBQUFBOzs7dUJBSGtHO0FBRzNHLFNBQVNBLHFDQUFxQ0MsR0FBUSxFQUFFQyxPQUFrQjtJQUMvRSx1Q0FBdUM7SUFDdkMsT0FBUUEsUUFBUUMsSUFBSTtRQUNsQixLQUFLQyw0QkFBcUIsQ0FBQ0MsU0FBUztZQUNsQyxPQUFPQyxtQkFBbUJMLEtBQUtDO1FBQ2pDLEtBQUtFLDRCQUFxQixDQUFDRyxNQUFNO1lBQy9CLE9BQU9DLHlCQUF5QlAsS0FBS0M7UUFDdkMsS0FBS0UsNEJBQXFCLENBQUNLLFNBQVM7WUFDbEMsT0FBT0MsNEJBQTRCVCxLQUFLQztRQUMxQyxLQUFLRSw0QkFBcUIsQ0FBQ08sVUFBVTtRQUNyQyxLQUFLUCw0QkFBcUIsQ0FBQ1Esa0JBQWtCO1FBQzdDLEtBQUtSLDRCQUFxQixDQUFDUyxlQUFlO1FBQzFDLEtBQUtULDRCQUFxQixDQUFDVSxlQUFlO1FBQzFDLEtBQUtWLDRCQUFxQixDQUFDVyx1QkFBdUI7WUFDaEQsT0FBT0MsNkJBQTZCZixLQUFLQztJQUM3QztBQUNGO0FBRUEsU0FBU0ksbUJBQW1CTCxHQUFRLEVBQUVDLE9BQWtCO0lBQ3RELE9BQU87UUFDTEMsTUFBTUMsNEJBQXFCLENBQUNDLFNBQVM7UUFDckMsOEVBQThFO1FBQzlFWSxZQUFhZixRQUFRZSxVQUFVLEVBQUVDLElBQUksQ0FBQ0MsWUFBY2xCLElBQUltQixZQUFZLENBQUNDLE9BQU8sQ0FBQ0YsU0FBUyxDQUFDbEIsS0FBS2tCLGVBQWUsRUFBRTtJQUMvRztBQUNGO0FBRUEsU0FBU1gseUJBQXlCUCxHQUFRLEVBQUVDLE9BQWtCO0lBQzVELHlFQUF5RTtJQUN6RSxPQUFPO1FBQ0xDLE1BQU1DLDRCQUFxQixDQUFDRyxNQUFNO1FBQ2xDZSxPQUFPcEIsUUFBUW9CLEtBQUs7UUFDcEJDLFdBQVdy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
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LCB0eXBlIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50LCBNZXNzYWdlQ29tcG9uZW50VHlwZXMsIHR5cGUgVGV4dFN0eWxlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBCb3QsXG4gIEJ1dHRvblN0eWxlcyxcbiAgQ29tcG9uZW50LFxuICBEaXNjb3JkQWN0aW9uUm93LFxuICBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50LFxuICBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICBEaXNjb3JkU2VsZWN0TWVudUNvbXBvbmVudCxcbiAgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICBEaXNjb3JkVGV4dElucHV0Q29tcG9uZW50LFxuICBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50LFxuICBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIE1lZGlhR2FsbGVyeUl0ZW0sXG4gIFVuZnVybGVkTWVkaWFJdGVtLFxufSBmcm9tICcuLi8uLi9pbmRleC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQge1xuICAvLyBUaGlzIHN3aXRjaCBzaG91bGQgaW5jbHVkZSBhbGwgY2FzZXNcbiAgc3dpdGNoIChwYXlsb2FkLnR5cGUpIHtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3c6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b246XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXI6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0SW5wdXQ6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hhbm5lbFNlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Sb2xlU2VsZWN0OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlVzZXJTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lZGlhR2FsbGVyeTpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlcGFyYXRvcjpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIC8vIEFzIG9mIG5vdyB0aGV5IGFyZSBjb21wYXRpYmxlXG4gICAgICByZXR1cm4gcGF5bG9hZCBhcyBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBVbmZ1cmxlZE1lZGlhSXRlbSk6IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSB7XG4gIHJldHVybiB7XG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICBwcm94eV91cmw6IHBheWxvYWQucHJveHlVcmwsXG4gICAgaGVpZ2h0OiBwYXlsb2FkLmhlaWdodCxcbiAgICB3aWR0aDogcGF5bG9hZC53aWR0aCxcbiAgICBjb250ZW50X3R5cGU6IHBheWxvYWQuY29udGVudFR5cGUsXG4gICAgYXR0YWNobWVudF9pZDogcGF5bG9hZC5hdHRhY2htZW50SWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudElkKSA6IHVuZGVmaW5lZCxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0oYm90OiBCb3QsIHBheWxvYWQ6IE1lZGlhR2FsbGVyeUl0ZW0pOiBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSB7XG4gIHJldHVybiB7XG4gICAgbWVkaWE6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpLFxuICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmRlc2NyaXB0aW9uLFxuICAgIHNwb2lsZXI6IHBheWxvYWQuc3BvaWxlcixcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpb25Sb3coYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRBY3Rpb25Sb3cge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3csXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgLy8gVGhlIGFjdGlvblJvdy5jb21wb25lbnRzIHR5cGUgaXMga2luZGEgYW5ub3lpbmcsIHNvIHdlIG5lZWQgYSBjYXN0IGZvciB0aGlzXG4gICAgY29tcG9uZW50czogKHBheWxvYWQuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKSA/PyBbXSkgYXMgRGlzY29yZEFjdGlvblJvd1snY29tcG9uZW50cyddLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBhY2NlbnRfY29sb3I6IHBheWxvYWQuYWNjZW50Q29sb3IsXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICAgIGNvbXBvbmVudHM6IChwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgPz9cbiAgICAgIFtdKSBhcyBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50Wydjb21wb25lbnRzJ10sXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkQnV0dG9uQ29tcG9uZW50IHtcbiAgLy8gU2luY2UgQ29tcG9uZW50IGlzIGEgbWVyZ2Ugb2YgYWxsIGNvbXBvbmVudHMsIHNvbWUgY2FzdHMgYXJlIG5lY2Vzc2FyeVxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b24sXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgc3R5bGU6IHBheWxvYWQuc3R5bGUgYXMgQnV0dG9uU3R5bGVzLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCxcbiAgICBkaXNhYmxlZDogcGF5bG9hZC5kaXNhYmxlZCxcbiAgICBlbW9qaTogcGF5bG9hZC5lbW9qaVxuICAgICAgPyB7XG4gICAgICAgICAgaWQ6IHBheWxvYWQuZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuZW1vamkuaWQpIDogdW5kZWZpbmVkLFxuICAgICAgICAgIG5hbWU6IHBheWxvYWQuZW1vamkubmFtZSxcbiAgICAgICAgICBhbmltYXRlZDogcGF5bG9hZC5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgbGFiZWw6IHBheWxvYWQubGFiZWwsXG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICBza3VfaWQ6IHBheWxvYWQuc2t1SWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuc2t1SWQpIDogdW5kZWZpbmVkLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChfYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQge1xuICAvLyBTaW5jZSBDb21wb25lbnQgaXMgYSBtZXJnZSBvZiBhbGwgY29tcG9uZW50cywgc29tZSBjYXN0cyBhcmUgbmVjZXNzYXJ5XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHRJbnB1dCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBzdHlsZTogcGF5bG9hZC5zdHlsZSBhcyBUZXh0U3R5bGVzLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgbGFiZWw6IHBheWxvYWQubGFiZWwhLFxuICAgIHZhbHVlOiBwYXlsb2FkLnZhbHVlLFxuICAgIG1heF9sZW5ndGg6IHBheWxvYWQubWF4TGVuZ3RoLFxuICAgIG1pbl9sZW5ndGg6IHBheWxvYWQubWluTGVuZ3RoLFxuICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnBsYWNlaG9sZGVyLFxuICAgIHJlcXVpcmVkOiBwYXlsb2FkLnJlcXVpcmVkLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlbGVjdE1lbnVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBwYXlsb2FkLnR5cGUgYXMgRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnRbJ3R5cGUnXSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGNoYW5uZWxfdHlwZXM6IHBheWxvYWQuY2hhbm5lbFR5cGVzLFxuICAgIGRlZmF1bHRfdmFsdWVzOiBwYXlsb2FkLmRlZmF1bHRWYWx1ZXM/Lm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgIHR5cGU6IGRlZmF1bHRWYWx1ZS50eXBlLFxuICAgIH0pKSxcbiAgICBkaXNhYmxlZDogcGF5bG9hZC5kaXNhYmxlZCxcbiAgICBtYXhfdmFsdWVzOiBwYXlsb2FkLm1heFZhbHVlcyxcbiAgICBtaW5fdmFsdWVzOiBwYXlsb2FkLm1pblZhbHVlcyxcbiAgICBvcHRpb25zOiBwYXlsb2FkLm9wdGlvbnM/Lm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCxcbiAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgZW1vamk6IG9wdGlvbi5lbW9qaVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGlkOiBvcHRpb24uZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBuYW1lOiBvcHRpb24uZW1vamkubmFtZSxcbiAgICAgICAgICAgIGFuaW1hdGVkOiBvcHRpb24uZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGRlZmF1bHQ6IG9wdGlvbi5kZWZhdWx0LFxuICAgIH0pKSxcbiAgICBwbGFjZWhvbGRlcjogcGF5bG9hZC5wbGFjZWhvbGRlcixcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlY3Rpb24sXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgY29tcG9uZW50czogcGF5bG9hZC5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpIGFzIERpc2NvcmRUZXh0RGlzcGxheUNvbXBvbmVudFtdLFxuICAgIGFjY2Vzc29yeTogKHBheWxvYWQuYWNjZXNzb3J5ID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIHBheWxvYWQuYWNjZXNzb3J5KSA6IHVuZGVmaW5lZCkgYXMgRGlzY29yZFNlY3Rpb25Db21wb25lbnRbJ2FjY2Vzc29yeSddLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRGaWxlQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBmaWxlOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUhKSxcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lISxcbiAgICBzaXplOiBwYXlsb2FkLnNpemUhLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lZGlhR2FsbGVyeSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBpdGVtczogcGF5bG9hZC5pdGVtcz8ubWFwKChpdGVtKSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UubWVkaWFHYWxsZXJ5SXRlbShib3QsIGl0ZW0pKSA/PyBbXSxcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRUaHVtYm5haWxDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UaHVtYm5haWwsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgbWVkaWE6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEhKSxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1Db21wb25lbnRUb0Rpc2NvcmRDb21wb25lbnQiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtVG9EaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSIsInRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtVG9EaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0iLCJib3QiLCJwYXlsb2FkIiwidHlwZSIsIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsIkFjdGlvblJvdyIsInRyYW5zZm9ybUFjdGlvblJvdyIsIkJ1dHRvbiIsInRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudCIsIkNvbnRhaW5lciIsInRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudCIsIlRleHRJbnB1dCIsInRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudCIsIlN0cmluZ1NlbGVjdCIsIkNoYW5uZWxTZWxlY3QiLCJSb2xlU2VsZWN0IiwiVXNlclNlbGVjdCIsIk1lbnRpb25hYmxlU2VsZWN0IiwidHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudCIsIlNlY3Rpb24iLCJ0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50IiwiRmlsZSIsInRyYW5zZm9ybUZpbGVDb21wb25lbnQiLCJNZWRpYUdhbGxlcnkiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQiLCJUaHVtYm5haWwiLCJ0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQiLCJTZXBhcmF0b3IiLCJUZXh0RGlzcGxheSIsInVybCIsInByb3h5X3VybCIsInByb3h5VXJsIiwiaGVpZ2h0Iiwid2lkdGgiLCJjb250ZW50X3R5cGUiLCJjb250ZW50VHlwZSIsImF0dGFjaG1lbnRfaWQiLCJhdHRhY2htZW50SWQiLCJ0cmFuc2Zvcm1lcnMiLCJyZXZlcnNlIiwic25vd2ZsYWtlIiwidW5kZWZpbmVkIiwibWVkaWEiLCJ1bmZ1cmxlZE1lZGlhSXRlbSIsImRlc2NyaXB0aW9uIiwic3BvaWxlciIsImlkIiwiY29tcG9uZW50cyIsIm1hcCIsImNvbXBvbmVudCIsImFjY2VudF9jb2xvciIsImFjY2VudENvbG9yIiwic3R5bGUiLCJjdXN0b21faWQiLCJjdXN0b21JZCIsImRpc2FibGVkIiwiZW1vamkiLCJuYW1lIiwiYW5pbWF0ZWQiLCJsYWJlbCIsInNrdV9pZCIsInNrdUlkIiwiX2JvdCIsInZhbHVlIiwibWF4X2xlbmd0aCIsIm1heExlbmd0aCIsIm1pbl9sZW5ndGgiLCJtaW5MZW5ndGgiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwiY2hhbm5lbF90eXBlcyIsImNoYW5uZWxUeXBlcyIsImRlZmF1bHRfdmFsdWVzIiwiZGVmYXVsdFZhbHVlcyIsImRlZmF1bHRWYWx1ZSIsIm1heF92YWx1ZXMiLCJtYXhWYWx1ZXMiLCJtaW5fdmFsdWVzIiwibWluVmFsdWVzIiwib3B0aW9ucyIsIm9wdGlvbiIsImRlZmF1bHQiLCJhY2Nlc3NvcnkiLCJmaWxlIiwic2l6ZSIsIml0ZW1zIiwiaXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBb0JnQkE7ZUFBQUE7O1FBMkNBQztlQUFBQTs7UUFYQUM7ZUFBQUE7Ozt1QkFwRGtHO0FBb0IzRyxTQUFTRixxQ0FBcUNHLEdBQVEsRUFBRUMsT0FBa0I7SUFDL0UsdUNBQXVDO0lBQ3ZDLE9BQVFBLFFBQVFDLElBQUk7UUFDbEIsS0FBS0MsNEJBQXFCLENBQUNDLFNBQVM7WUFDbEMsT0FBT0MsbUJBQW1CTCxLQUFLQztRQUNqQyxLQUFLRSw0QkFBcUIsQ0FBQ0csTUFBTTtZQUMvQixPQUFPQyx5QkFBeUJQLEtBQUtDO1FBQ3ZDLEtB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