@cometchat/chat-uikit-angular 4.0.2 → 4.1.1

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 (107) hide show
  1. package/AI/AIAssistBot/AIAssistBot.d.ts +7 -0
  2. package/AI/AIAssistBot/AIAssistBotDecorator.d.ts +11 -0
  3. package/AI/AIConversationStarter/AIConversationStarter.d.ts +2 -2
  4. package/AI/AIConversationStarter/AIConversationStarterDecorator.d.ts +3 -0
  5. package/AI/AIConversationSummary/AIConversationSummary.d.ts +7 -0
  6. package/AI/AIConversationSummary/AIConversationSummaryDecorator.d.ts +10 -0
  7. package/AI/AISmartReplies/AISmartReplies.d.ts +2 -2
  8. package/AI/AISmartReplies/AISmartRepliesDecorator.d.ts +3 -0
  9. package/Calls/CometChatCallLogDetails/cometchat-call-log-details/cometchat-call-log-details.component.d.ts +119 -0
  10. package/Calls/CometChatCallLogDetails/cometchat-call-log-details.module.d.ts +14 -0
  11. package/Calls/CometChatCallLogHistory/cometchat-call-log-history/cometchat-call-log-history.component.d.ts +111 -0
  12. package/Calls/CometChatCallLogHistory/cometchat-call-log-history.module.d.ts +10 -0
  13. package/Calls/CometChatCallLogParticipants/cometchat-call-log-participants/cometchat-call-log-participants.component.d.ts +76 -0
  14. package/Calls/CometChatCallLogParticipants/cometchat-call-log-participants.module.d.ts +10 -0
  15. package/Calls/CometChatCallLogRecordings/cometchat-call-log-recordings/cometchat-call-log-recordings.component.d.ts +90 -0
  16. package/Calls/CometChatCallLogRecordings/cometchat-call-log-recordings.module.d.ts +10 -0
  17. package/Calls/CometChatCallLogs/cometchat-call-logs/cometchat-call-logs.component.d.ts +133 -0
  18. package/Calls/CometChatCallLogs/cometchat-call-logs.module.d.ts +12 -0
  19. package/Calls/CometChatCallLogsWithDetails/cometchat-call-logs-with-details/cometchat-call-logs-with-details.component.d.ts +54 -0
  20. package/Calls/CometChatCallLogsWithDetails/cometchat-call-logs-with-details.module.d.ts +12 -0
  21. package/CometChatList/cometchat-list.component.d.ts +12 -9
  22. package/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.d.ts +64 -28
  23. package/CometChatMessageComposer/cometchat-message-composer.module.d.ts +3 -3
  24. package/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.d.ts +72 -48
  25. package/CometChatMessageList/cometchat-message-list.module.d.ts +1 -1
  26. package/CometChatMessages/cometchat-messages/cometchat-messages.component.d.ts +19 -16
  27. package/CometChatMessages/cometchat-messages.module.d.ts +3 -2
  28. package/Shared/CometChatUIkit/CometChatUIKit.d.ts +4 -2
  29. package/Shared/Framework/AIExtensionDataSource.d.ts +5 -0
  30. package/Shared/Framework/DataSource.d.ts +3 -1
  31. package/Shared/Framework/DataSourceDecorator.d.ts +4 -2
  32. package/Shared/Utils/CallDetailUtils.d.ts +8 -0
  33. package/Shared/Utils/CallLogUtils.d.ts +8 -0
  34. package/Shared/Utils/MessageUtils.d.ts +2 -1
  35. package/Shared/Views/AIAssistBotMessageList/aiassist-bot-message-list/aiassist-bot-message-list.component.d.ts +71 -0
  36. package/Shared/Views/AIAssistBotMessageList/aiassist-bot-message-list.module.d.ts +11 -0
  37. package/assets/InfoIcon.svg +13 -0
  38. package/assets/greaterThanIcon.svg +3 -0
  39. package/assets/incomingAudioCallIconUrl.svg +5 -0
  40. package/assets/incomingVideoCallIconUrl.svg +6 -0
  41. package/assets/missedAudioCallIconUrl.svg +5 -0
  42. package/assets/missedVideoCallIconUrl.svg +6 -0
  43. package/assets/outgoingAudioCallIconUrl.svg +5 -0
  44. package/assets/outgoingVideoCallIconUrl.svg +6 -0
  45. package/esm2020/AI/AIAssistBot/AIAssistBot.mjs +21 -0
  46. package/esm2020/AI/AIAssistBot/AIAssistBotDecorator.mjs +68 -0
  47. package/esm2020/AI/AIConversationStarter/AIConversationStarter.mjs +7 -4
  48. package/esm2020/AI/AIConversationStarter/AIConversationStarterDecorator.mjs +22 -1
  49. package/esm2020/AI/AIConversationSummary/AIConversationSummary.mjs +21 -0
  50. package/esm2020/AI/AIConversationSummary/AIConversationSummaryDecorator.mjs +32 -0
  51. package/esm2020/AI/AISmartReplies/AISmartReplies.mjs +7 -4
  52. package/esm2020/AI/AISmartReplies/AISmartRepliesDecorator.mjs +22 -1
  53. package/esm2020/Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component.mjs +3 -3
  54. package/esm2020/Calls/CometChatCallLogDetails/cometchat-call-log-details/cometchat-call-log-details.component.mjs +351 -0
  55. package/esm2020/Calls/CometChatCallLogDetails/cometchat-call-log-details.module.mjs +47 -0
  56. package/esm2020/Calls/CometChatCallLogHistory/cometchat-call-log-history/cometchat-call-log-history.component.mjs +352 -0
  57. package/esm2020/Calls/CometChatCallLogHistory/cometchat-call-log-history.module.mjs +21 -0
  58. package/esm2020/Calls/CometChatCallLogParticipants/cometchat-call-log-participants/cometchat-call-log-participants.component.mjs +189 -0
  59. package/esm2020/Calls/CometChatCallLogParticipants/cometchat-call-log-participants.module.mjs +21 -0
  60. package/esm2020/Calls/CometChatCallLogRecordings/cometchat-call-log-recordings/cometchat-call-log-recordings.component.mjs +246 -0
  61. package/esm2020/Calls/CometChatCallLogRecordings/cometchat-call-log-recordings.module.mjs +21 -0
  62. package/esm2020/Calls/CometChatCallLogs/cometchat-call-logs/cometchat-call-logs.component.mjs +585 -0
  63. package/esm2020/Calls/CometChatCallLogs/cometchat-call-logs.module.mjs +36 -0
  64. package/esm2020/Calls/CometChatCallLogsWithDetails/cometchat-call-logs-with-details/cometchat-call-logs-with-details.component.mjs +193 -0
  65. package/esm2020/Calls/CometChatCallLogsWithDetails/cometchat-call-logs-with-details.module.mjs +39 -0
  66. package/esm2020/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.mjs +1 -1
  67. package/esm2020/CometChatConversations/cometchat-conversations/cometchat-conversations.component.mjs +1 -1
  68. package/esm2020/CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component.mjs +3 -3
  69. package/esm2020/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.mjs +1 -1
  70. package/esm2020/CometChatGroups/cometchat-groups/cometchat-groups.component.mjs +1 -1
  71. package/esm2020/CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component.mjs +3 -3
  72. package/esm2020/CometChatList/cometchat-list.component.mjs +44 -28
  73. package/esm2020/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.mjs +303 -98
  74. package/esm2020/CometChatMessageComposer/cometchat-message-composer.module.mjs +7 -14
  75. package/esm2020/CometChatMessageInformation/cometchat-message-information/cometchat-message-information.component.mjs +1 -1
  76. package/esm2020/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.mjs +654 -301
  77. package/esm2020/CometChatMessageList/cometchat-message-list.module.mjs +5 -5
  78. package/esm2020/CometChatMessages/cometchat-messages/cometchat-messages.component.mjs +72 -51
  79. package/esm2020/CometChatMessages/cometchat-messages.module.mjs +10 -6
  80. package/esm2020/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.mjs +1 -1
  81. package/esm2020/CometChatUsers/cometchat-users/cometchat-users.component.mjs +1 -1
  82. package/esm2020/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.mjs +3 -3
  83. package/esm2020/Shared/CometChatUIkit/CometChatUIKit.mjs +20 -9
  84. package/esm2020/Shared/Framework/AIExtensionDataSource.mjs +3 -0
  85. package/esm2020/Shared/Framework/ChatConfigurator.mjs +2 -2
  86. package/esm2020/Shared/Framework/DataSource.mjs +1 -1
  87. package/esm2020/Shared/Framework/DataSourceDecorator.mjs +5 -2
  88. package/esm2020/Shared/Utils/CallDetailUtils.mjs +72 -0
  89. package/esm2020/Shared/Utils/CallLogUtils.mjs +122 -0
  90. package/esm2020/Shared/Utils/MessageUtils.mjs +26 -19
  91. package/esm2020/Shared/Views/AIAssistBotMessageList/aiassist-bot-message-list/aiassist-bot-message-list.component.mjs +289 -0
  92. package/esm2020/Shared/Views/AIAssistBotMessageList/aiassist-bot-message-list.module.mjs +22 -0
  93. package/esm2020/public-api.mjs +106 -91
  94. package/fesm2015/cometchat-chat-uikit-angular.mjs +3812 -763
  95. package/fesm2015/cometchat-chat-uikit-angular.mjs.map +1 -1
  96. package/fesm2020/cometchat-chat-uikit-angular.mjs +3833 -777
  97. package/fesm2020/cometchat-chat-uikit-angular.mjs.map +1 -1
  98. package/package.json +5 -5
  99. package/public-api.d.ts +105 -90
  100. package/AI/AIEnabler.d.ts +0 -8
  101. package/AI/AIEnablerDecorator.d.ts +0 -7
  102. package/Shared/Views/CometChatCardView/cometchat-card-view/cometchat-card-view.component.d.ts +0 -71
  103. package/Shared/Views/CometChatCardView/cometchat-card-view.module.d.ts +0 -8
  104. package/esm2020/AI/AIEnabler.mjs +0 -70
  105. package/esm2020/AI/AIEnablerDecorator.mjs +0 -10
  106. package/esm2020/Shared/Views/CometChatCardView/cometchat-card-view/cometchat-card-view.component.mjs +0 -117
  107. package/esm2020/Shared/Views/CometChatCardView/cometchat-card-view.module.mjs +0 -23
@@ -7,7 +7,7 @@ export class ChatConfigurator {
7
7
  static enable(callback) {
8
8
  let oldSource = this.dataSource;
9
9
  let newSource = callback(oldSource);
10
- if (!this.names.find(nm => nm == newSource.getId())) {
10
+ if (!this.names.find((nm) => nm == newSource.getId())) {
11
11
  this.dataSource = newSource;
12
12
  this.names.push(this.dataSource.getId());
13
13
  }
@@ -17,4 +17,4 @@ export class ChatConfigurator {
17
17
  }
18
18
  }
19
19
  ChatConfigurator.names = ["message utils"];
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhdENvbmZpZ3VyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQtdWlraXQtYW5ndWxhci9zcmMvU2hhcmVkL0ZyYW1ld29yay9DaGF0Q29uZmlndXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdyRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSXpCLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBMEI7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLElBQUksSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBZ0Q7UUFDMUQsSUFBSSxTQUFTLEdBQWUsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUM1QyxJQUFJLFNBQVMsR0FBZSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQ2pELElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUU1QztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQzs7QUFuQk0sc0JBQUssR0FBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VVdGlscyB9IGZyb20gXCIuLi9VdGlscy9NZXNzYWdlVXRpbHNcIjtcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tIFwiLi9EYXRhU291cmNlXCI7XG5cbmV4cG9ydCBjbGFzcyBDaGF0Q29uZmlndXJhdG9ye1xuICAgIHN0YXRpYyBkYXRhU291cmNlOiBEYXRhU291cmNlO1xuICAgIHN0YXRpYyBuYW1lczogQXJyYXk8c3RyaW5nPiA9IFtcIm1lc3NhZ2UgdXRpbHNcIl07XG5cbiAgICBzdGF0aWMgaW5pdChpbml0aWFsU291cmNlPzogRGF0YVNvdXJjZSkge1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSBpbml0aWFsU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKTtcbiAgICAgICAgdGhpcy5uYW1lcy5wdXNoKHRoaXMuZGF0YVNvdXJjZS5nZXRJZCgpKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZW5hYmxlKGNhbGxiYWNrOiAoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSkgPT4gRGF0YVNvdXJjZSkge1xuICAgICAgICBsZXQgb2xkU291cmNlOiBEYXRhU291cmNlID0gdGhpcy5kYXRhU291cmNlO1xuICAgICAgICBsZXQgbmV3U291cmNlOiBEYXRhU291cmNlID0gY2FsbGJhY2sob2xkU291cmNlKTtcbiAgICAgICAgaWYgKCF0aGlzLm5hbWVzLmZpbmQobm0gPT4gbm0gPT0gbmV3U291cmNlLmdldElkKCkpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXdTb3VyY2U7XG4gICAgICAgICAgICB0aGlzLm5hbWVzLnB1c2godGhpcy5kYXRhU291cmNlLmdldElkKCkpO1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0RGF0YVNvdXJjZSgpOiBEYXRhU291cmNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZTtcbiAgICB9XG59XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhdENvbmZpZ3VyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQtdWlraXQtYW5ndWxhci9zcmMvU2hhcmVkL0ZyYW1ld29yay9DaGF0Q29uZmlndXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdyRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBMEI7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLElBQUksSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBZ0Q7UUFDNUQsSUFBSSxTQUFTLEdBQWUsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUM1QyxJQUFJLFNBQVMsR0FBZSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUU7WUFDckQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDOztBQWxCTSxzQkFBSyxHQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZVV0aWxzIH0gZnJvbSBcIi4uL1V0aWxzL01lc3NhZ2VVdGlsc1wiO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gXCIuL0RhdGFTb3VyY2VcIjtcblxuZXhwb3J0IGNsYXNzIENoYXRDb25maWd1cmF0b3Ige1xuICBzdGF0aWMgZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcbiAgc3RhdGljIG5hbWVzOiBBcnJheTxzdHJpbmc+ID0gW1wibWVzc2FnZSB1dGlsc1wiXTtcblxuICBzdGF0aWMgaW5pdChpbml0aWFsU291cmNlPzogRGF0YVNvdXJjZSkge1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IGluaXRpYWxTb3VyY2UgPz8gbmV3IE1lc3NhZ2VVdGlscygpO1xuICAgIHRoaXMubmFtZXMucHVzaCh0aGlzLmRhdGFTb3VyY2UuZ2V0SWQoKSk7XG4gIH1cblxuICBzdGF0aWMgZW5hYmxlKGNhbGxiYWNrOiAoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSkgPT4gRGF0YVNvdXJjZSkge1xuICAgIGxldCBvbGRTb3VyY2U6IERhdGFTb3VyY2UgPSB0aGlzLmRhdGFTb3VyY2U7XG4gICAgbGV0IG5ld1NvdXJjZTogRGF0YVNvdXJjZSA9IGNhbGxiYWNrKG9sZFNvdXJjZSk7XG4gICAgaWYgKCF0aGlzLm5hbWVzLmZpbmQoKG5tKSA9PiBubSA9PSBuZXdTb3VyY2UuZ2V0SWQoKSkpIHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ld1NvdXJjZTtcbiAgICAgIHRoaXMubmFtZXMucHVzaCh0aGlzLmRhdGFTb3VyY2UuZ2V0SWQoKSk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdldERhdGFTb3VyY2UoKTogRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZTtcbiAgfVxufVxuIl19
@@ -1,3 +1,3 @@
1
1
  export class DataSource {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQtdWlraXQtYW5ndWxhci9zcmMvU2hhcmVkL0ZyYW1ld29yay9EYXRhU291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sT0FBZ0IsVUFBVTtDQTJCL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21ldENoYXRNZXNzYWdlT3B0aW9uLCBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGUsIENvbWV0Q2hhdFRoZW1lLCBGb3JtTWVzc2FnZSB9IGZyb20gXCJAY29tZXRjaGF0L3Vpa2l0LXJlc291cmNlc1wiO1xuXG5pbXBvcnQgeyBDb21ldENoYXQgfSBmcm9tIFwiQGNvbWV0Y2hhdC9jaGF0LXNkay1qYXZhc2NyaXB0XCI7XG5pbXBvcnQgeyBDb21wb3NlcklkIH0gZnJvbSBcIi4uL1V0aWxzL01lc3NhZ2VVdGlsc1wiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YVNvdXJjZSB7XG4gICAgYWJzdHJhY3QgZ2V0VGV4dE1lc3NhZ2VPcHRpb25zKGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIsIG1lc3NhZ2VPYmplY3Q6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSwgdGhlbWU6IENvbWV0Q2hhdFRoZW1lLCBncm91cD86IENvbWV0Q2hhdC5Hcm91cCk6IEFycmF5PENvbWV0Q2hhdE1lc3NhZ2VPcHRpb24+O1xuICAgIGFic3RyYWN0IGdldEltYWdlTWVzc2FnZU9wdGlvbnMobG9nZ2VkSW5Vc2VyOiBDb21ldENoYXQuVXNlciwgbWVzc2FnZU9iamVjdDogQ29tZXRDaGF0LkJhc2VNZXNzYWdlLCB0aGVtZTogQ29tZXRDaGF0VGhlbWUsIGdyb3VwPzogQ29tZXRDaGF0Lkdyb3VwKTogQXJyYXk8Q29tZXRDaGF0TWVzc2FnZU9wdGlvbj47XG4gICAgYWJzdHJhY3QgZ2V0VmlkZW9NZXNzYWdlT3B0aW9ucyhsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyLCBtZXNzYWdlT2JqZWN0OiBDb21ldENoYXQuQmFzZU1lc3NhZ2UsIHRoZW1lOiBDb21ldENoYXRUaGVtZSwgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXApOiBBcnJheTxDb21ldENoYXRNZXNzYWdlT3B0aW9uPjtcbiAgICBhYnN0cmFjdCBnZXRBdWRpb01lc3NhZ2VPcHRpb25zKGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIsIG1lc3NhZ2VPYmplY3Q6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSwgdGhlbWU6IENvbWV0Q2hhdFRoZW1lLCBncm91cD86IENvbWV0Q2hhdC5Hcm91cCk6IEFycmF5PENvbWV0Q2hhdE1lc3NhZ2VPcHRpb24+O1xuICAgIGFic3RyYWN0IGdldEZpbGVNZXNzYWdlT3B0aW9ucyhsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyLCBtZXNzYWdlT2JqZWN0OiBDb21ldENoYXQuQmFzZU1lc3NhZ2UsIHRoZW1lOiBDb21ldENoYXRUaGVtZSwgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXApOiBBcnJheTxDb21ldENoYXRNZXNzYWdlT3B0aW9uPjtcbiAgICBhYnN0cmFjdCBnZXRUZXh0TWVzc2FnZVRlbXBsYXRlKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZTtcbiAgICBhYnN0cmFjdCBnZXRJbWFnZU1lc3NhZ2VUZW1wbGF0ZSgpOiBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGU7XG4gICAgYWJzdHJhY3QgZ2V0VmlkZW9NZXNzYWdlVGVtcGxhdGUoKTogQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlO1xuICAgIGFic3RyYWN0IGdldEF1ZGlvTWVzc2FnZVRlbXBsYXRlKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZTtcbiAgICBhYnN0cmFjdCBnZXRGaWxlTWVzc2FnZVRlbXBsYXRlKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZTtcbiAgICBhYnN0cmFjdCBnZXRGb3JtTWVzc2FnZVRlbXBsYXRlKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZTtcbiAgICBhYnN0cmFjdCBnZXRDYXJkTWVzc2FnZVRlbXBsYXRlKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZTtcbiAgICBhYnN0cmFjdCBnZXRHcm91cEFjdGlvblRlbXBsYXRlKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZTtcbiAgICBhYnN0cmFjdCBnZXRBbGxNZXNzYWdlVGVtcGxhdGVzKHRoZW1lPzogQ29tZXRDaGF0VGhlbWUpOiBBcnJheTxDb21ldENoYXRNZXNzYWdlVGVtcGxhdGU+O1xuICAgIGFic3RyYWN0IGdldE1lc3NhZ2VUZW1wbGF0ZShtZXNzYWdlVHlwZTogc3RyaW5nLCBtZXNzYWdlQ2F0ZWdvcnk6IHN0cmluZyk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZSB8IG51bGw7XG4gICAgYWJzdHJhY3QgZ2V0TWVzc2FnZU9wdGlvbnMobG9nZ2VkSW5Vc2VyOiBDb21ldENoYXQuVXNlciwgbWVzc2FnZU9iamVjdDogQ29tZXRDaGF0LkJhc2VNZXNzYWdlLCB0aGVtZTogQ29tZXRDaGF0VGhlbWUsIGdyb3VwPzogQ29tZXRDaGF0Lkdyb3VwKTogQXJyYXk8Q29tZXRDaGF0TWVzc2FnZU9wdGlvbj47XG4gICAgYWJzdHJhY3QgZ2V0Q29tbW9uT3B0aW9ucyhsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyLCBtZXNzYWdlT2JqZWN0OiBDb21ldENoYXQuQmFzZU1lc3NhZ2UsIHRoZW1lOiBDb21ldENoYXRUaGVtZSwgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXApOiBBcnJheTxDb21ldENoYXRNZXNzYWdlT3B0aW9uPjtcbiAgICBhYnN0cmFjdCBnZXRBdHRhY2htZW50T3B0aW9ucyh0aGVtZT86IENvbWV0Q2hhdFRoZW1lLHVzZXI/OkNvbWV0Q2hhdC5Vc2VyLGdyb3VwPzpDb21ldENoYXQuR3JvdXAsIGlkPzogQ29tcG9zZXJJZCk6IGFueTtcbiAgICBhYnN0cmFjdCBnZXRBbGxNZXNzYWdlVHlwZXMoKTogQXJyYXk8c3RyaW5nPjtcbiAgICBhYnN0cmFjdCBnZXRBbGxNZXNzYWdlQ2F0ZWdvcmllcygpOiBBcnJheTxzdHJpbmc+O1xuICAgIGFic3RyYWN0IGdldEF1eGlsaWFyeU9wdGlvbnMoaWQ6IENvbXBvc2VySWQsIHVzZXI/OiBDb21ldENoYXQuVXNlciwgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXApOiBhbnk7XG4gICAgYWJzdHJhY3QgZ2V0SWQoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldExhc3RDb252ZXJzYXRpb25NZXNzYWdlKGNvbnZlcnNhdGlvbjogQ29tZXRDaGF0LkNvbnZlcnNhdGlvbiwgbG9nZ2VkSW5Vc2VyOiBDb21ldENoYXQuVXNlcik6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXREZWxldGVPcHRpb24odGhlbWU6Q29tZXRDaGF0VGhlbWUpOkNvbWV0Q2hhdE1lc3NhZ2VPcHRpb25cbiAgICBhYnN0cmFjdCBnZXRSZXBseUluVGhyZWFkT3B0aW9uKHRoZW1lOkNvbWV0Q2hhdFRoZW1lKTpDb21ldENoYXRNZXNzYWdlT3B0aW9uXG4gICAgYWJzdHJhY3QgZ2V0RWRpdE9wdGlvbih0aGVtZTpDb21ldENoYXRUaGVtZSk6Q29tZXRDaGF0TWVzc2FnZU9wdGlvblxufSJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQtdWlraXQtYW5ndWxhci9zcmMvU2hhcmVkL0ZyYW1ld29yay9EYXRhU291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE1BQU0sT0FBZ0IsVUFBVTtDQXNGL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21ldENoYXRBY3Rpb25zVmlldyxcbiAgQ29tZXRDaGF0TWVzc2FnZUNvbXBvc2VyQWN0aW9uLFxuICBDb21ldENoYXRNZXNzYWdlT3B0aW9uLFxuICBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGUsXG4gIENvbWV0Q2hhdFRoZW1lLFxuICBGb3JtTWVzc2FnZVxufSBmcm9tIFwiQGNvbWV0Y2hhdC91aWtpdC1yZXNvdXJjZXNcIjtcbmltcG9ydCB7IENvbWV0Q2hhdCB9IGZyb20gXCJAY29tZXRjaGF0L2NoYXQtc2RrLWphdmFzY3JpcHRcIjtcbmltcG9ydCB7IENvbXBvc2VySWQgfSBmcm9tIFwiLi4vVXRpbHMvTWVzc2FnZVV0aWxzXCI7XG5pbXBvcnQgeyBBSU9wdGlvbnNTdHlsZSB9IGZyb20gXCJAY29tZXRjaGF0L3Vpa2l0LXNoYXJlZFwiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YVNvdXJjZSB7XG4gIGFic3RyYWN0IGdldFRleHRNZXNzYWdlT3B0aW9ucyhcbiAgICBsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyLFxuICAgIG1lc3NhZ2VPYmplY3Q6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSxcbiAgICB0aGVtZTogQ29tZXRDaGF0VGhlbWUsXG4gICAgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXBcbiAgKTogQXJyYXk8Q29tZXRDaGF0TWVzc2FnZU9wdGlvbj47XG4gIGFic3RyYWN0IGdldEltYWdlTWVzc2FnZU9wdGlvbnMoXG4gICAgbG9nZ2VkSW5Vc2VyOiBDb21ldENoYXQuVXNlcixcbiAgICBtZXNzYWdlT2JqZWN0OiBDb21ldENoYXQuQmFzZU1lc3NhZ2UsXG4gICAgdGhlbWU6IENvbWV0Q2hhdFRoZW1lLFxuICAgIGdyb3VwPzogQ29tZXRDaGF0Lkdyb3VwXG4gICk6IEFycmF5PENvbWV0Q2hhdE1lc3NhZ2VPcHRpb24+O1xuICBhYnN0cmFjdCBnZXRWaWRlb01lc3NhZ2VPcHRpb25zKFxuICAgIGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIsXG4gICAgbWVzc2FnZU9iamVjdDogQ29tZXRDaGF0LkJhc2VNZXNzYWdlLFxuICAgIHRoZW1lOiBDb21ldENoYXRUaGVtZSxcbiAgICBncm91cD86IENvbWV0Q2hhdC5Hcm91cFxuICApOiBBcnJheTxDb21ldENoYXRNZXNzYWdlT3B0aW9uPjtcbiAgYWJzdHJhY3QgZ2V0QXVkaW9NZXNzYWdlT3B0aW9ucyhcbiAgICBsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyLFxuICAgIG1lc3NhZ2VPYmplY3Q6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSxcbiAgICB0aGVtZTogQ29tZXRDaGF0VGhlbWUsXG4gICAgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXBcbiAgKTogQXJyYXk8Q29tZXRDaGF0TWVzc2FnZU9wdGlvbj47XG4gIGFic3RyYWN0IGdldEZpbGVNZXNzYWdlT3B0aW9ucyhcbiAgICBsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyLFxuICAgIG1lc3NhZ2VPYmplY3Q6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSxcbiAgICB0aGVtZTogQ29tZXRDaGF0VGhlbWUsXG4gICAgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXBcbiAgKTogQXJyYXk8Q29tZXRDaGF0TWVzc2FnZU9wdGlvbj47XG4gIGFic3RyYWN0IGdldFRleHRNZXNzYWdlVGVtcGxhdGUoKTogQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlO1xuICBhYnN0cmFjdCBnZXRJbWFnZU1lc3NhZ2VUZW1wbGF0ZSgpOiBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGU7XG4gIGFic3RyYWN0IGdldFZpZGVvTWVzc2FnZVRlbXBsYXRlKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZTtcbiAgYWJzdHJhY3QgZ2V0QXVkaW9NZXNzYWdlVGVtcGxhdGUoKTogQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlO1xuICBhYnN0cmFjdCBnZXRGaWxlTWVzc2FnZVRlbXBsYXRlKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZTtcbiAgYWJzdHJhY3QgZ2V0Rm9ybU1lc3NhZ2VUZW1wbGF0ZSgpOiBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGU7XG4gIGFic3RyYWN0IGdldENhcmRNZXNzYWdlVGVtcGxhdGUoKTogQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlO1xuICBhYnN0cmFjdCBnZXRHcm91cEFjdGlvblRlbXBsYXRlKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZTtcbiAgYWJzdHJhY3QgZ2V0QWxsTWVzc2FnZVRlbXBsYXRlcyhcbiAgICB0aGVtZT86IENvbWV0Q2hhdFRoZW1lXG4gICk6IEFycmF5PENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZT47XG4gIGFic3RyYWN0IGdldE1lc3NhZ2VUZW1wbGF0ZShcbiAgICBtZXNzYWdlVHlwZTogc3RyaW5nLFxuICAgIG1lc3NhZ2VDYXRlZ29yeTogc3RyaW5nXG4gICk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZSB8IG51bGw7XG4gIGFic3RyYWN0IGdldE1lc3NhZ2VPcHRpb25zKFxuICAgIGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIsXG4gICAgbWVzc2FnZU9iamVjdDogQ29tZXRDaGF0LkJhc2VNZXNzYWdlLFxuICAgIHRoZW1lOiBDb21ldENoYXRUaGVtZSxcbiAgICBncm91cD86IENvbWV0Q2hhdC5Hcm91cFxuICApOiBBcnJheTxDb21ldENoYXRNZXNzYWdlT3B0aW9uPjtcbiAgYWJzdHJhY3QgZ2V0Q29tbW9uT3B0aW9ucyhcbiAgICBsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyLFxuICAgIG1lc3NhZ2VPYmplY3Q6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSxcbiAgICB0aGVtZTogQ29tZXRDaGF0VGhlbWUsXG4gICAgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXBcbiAgKTogQXJyYXk8Q29tZXRDaGF0TWVzc2FnZU9wdGlvbj47XG4gIGFic3RyYWN0IGdldEF0dGFjaG1lbnRPcHRpb25zKFxuICAgIHRoZW1lPzogQ29tZXRDaGF0VGhlbWUsXG4gICAgdXNlcj86IENvbWV0Q2hhdC5Vc2VyLFxuICAgIGdyb3VwPzogQ29tZXRDaGF0Lkdyb3VwLFxuICAgIGlkPzogQ29tcG9zZXJJZFxuICApOiBhbnk7XG4gIGFic3RyYWN0IGdldEFsbE1lc3NhZ2VUeXBlcygpOiBBcnJheTxzdHJpbmc+O1xuICBhYnN0cmFjdCBnZXRBbGxNZXNzYWdlQ2F0ZWdvcmllcygpOiBBcnJheTxzdHJpbmc+O1xuICBhYnN0cmFjdCBnZXRBdXhpbGlhcnlPcHRpb25zKFxuICAgIGlkOiBDb21wb3NlcklkLFxuICAgIHVzZXI/OiBDb21ldENoYXQuVXNlcixcbiAgICBncm91cD86IENvbWV0Q2hhdC5Hcm91cFxuICApOiBhbnk7XG4gIGFic3RyYWN0IGdldElkKCk6IHN0cmluZztcbiAgYWJzdHJhY3QgZ2V0TGFzdENvbnZlcnNhdGlvbk1lc3NhZ2UoXG4gICAgY29udmVyc2F0aW9uOiBDb21ldENoYXQuQ29udmVyc2F0aW9uLFxuICAgIGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXJcbiAgKTogc3RyaW5nO1xuICBhYnN0cmFjdCBnZXREZWxldGVPcHRpb24odGhlbWU6IENvbWV0Q2hhdFRoZW1lKTogQ29tZXRDaGF0TWVzc2FnZU9wdGlvbjtcbiAgYWJzdHJhY3QgZ2V0UmVwbHlJblRocmVhZE9wdGlvbihcbiAgICB0aGVtZTogQ29tZXRDaGF0VGhlbWVcbiAgKTogQ29tZXRDaGF0TWVzc2FnZU9wdGlvbjtcbiAgYWJzdHJhY3QgZ2V0RWRpdE9wdGlvbih0aGVtZTogQ29tZXRDaGF0VGhlbWUpOiBDb21ldENoYXRNZXNzYWdlT3B0aW9uO1xuICBhYnN0cmFjdCBnZXRBSU9wdGlvbnMoXG4gICAgdGhlbWU6IENvbWV0Q2hhdFRoZW1lLFxuICAgIGlkPzogTWFwPFN0cmluZywgYW55PixcbiAgICBhaU9wdGlvbnNTdHlsZXM/OiBBSU9wdGlvbnNTdHlsZVxuICApOiAoQ29tZXRDaGF0TWVzc2FnZUNvbXBvc2VyQWN0aW9uIHwgQ29tZXRDaGF0QWN0aW9uc1ZpZXcpW107XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { CometChatTheme } from "@cometchat/uikit-resources";
1
+ import { CometChatTheme, } from "@cometchat/uikit-resources";
2
2
  import { MessageUtils } from "../Utils/MessageUtils";
3
3
  export class DataSourceDecorator {
4
4
  constructor(dataSource) {
@@ -82,5 +82,8 @@ export class DataSourceDecorator {
82
82
  getLastConversationMessage(conversation, loggedInUser) {
83
83
  return (this.dataSource ?? new MessageUtils()).getLastConversationMessage(conversation, loggedInUser);
84
84
  }
85
+ getAIOptions(theme, id, aiOptionsStyles) {
86
+ return (this.dataSource ?? new MessageUtils()).getAIOptions(theme, id, aiOptionsStyles);
87
+ }
85
88
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZURlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQtdWlraXQtYW5ndWxhci9zcmMvU2hhcmVkL0ZyYW1ld29yay9EYXRhU291cmNlRGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0QsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUcsT0FBTyxFQUFjLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBS2pFLE1BQU0sT0FBZ0IsbUJBQW1CO0lBRXJDLFlBQVksVUFBc0I7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUU7SUFDbEMsQ0FBQztJQUNLLHFCQUFxQixDQUFDLFlBQTRCLEVBQUUsYUFBb0MsRUFBRSxLQUFxQixFQUFFLEtBQXVCO1FBQzFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwSCxDQUFDO0lBQ0ssc0JBQXNCLENBQUMsWUFBNEIsRUFBRSxhQUFvQyxFQUFFLEtBQXFCLEVBQUUsS0FBdUI7UUFDM0ksT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxZQUFZLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JILENBQUM7SUFDSyxzQkFBc0IsQ0FBQyxZQUE0QixFQUFFLGFBQW9DLEVBQUUsS0FBcUIsRUFBRSxLQUF1QjtRQUMzSSxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENB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RSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUNLLEtBQUs7UUFFUCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUNLLDBCQUEwQixDQUFDLFlBQW9DLEVBQUUsWUFBNEI7UUFDL0YsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxZQUFZLEVBQUUsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMxRyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21ldENoYXRNZXNzYWdlT3B0aW9uLCBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGUsIENvbWV0Q2hhdFRoZW1lIH0gZnJvbSBcIkBjb21ldGNoYXQvdWlraXQtcmVzb3VyY2VzXCI7XG5pbXBvcnQgeyBDb21wb3NlcklkLCBNZXNzYWdlVXRpbHMgfSBmcm9tIFwiLi4vVXRpbHMvTWVzc2FnZVV0aWxzXCI7XG5cbmltcG9ydCB7IENvbWV0Q2hhdCB9IGZyb20gXCJAY29tZXRjaGF0L2NoYXQtc2RrLWphdmFzY3JpcHRcIjtcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tIFwiLi9EYXRhU291cmNlXCI7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYXRhU291cmNlRGVjb3JhdG9yIGltcGxlbWVudHMgRGF0YVNvdXJjZSB7XG4gICAgcHVibGljIGRhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gICAgY29uc3RydWN0b3IoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSkge1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSBkYXRhU291cmNlIDtcbiAgICB9XG4gICBwdWJsaWMgZ2V0VGV4dE1lc3NhZ2VPcHRpb25zKGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIsIG1lc3NhZ2VPYmplY3Q6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSwgdGhlbWU6IENvbWV0Q2hhdFRoZW1lLCBncm91cD86IENvbWV0Q2hhdC5Hcm91cCk6IENvbWV0Q2hhdE1lc3NhZ2VPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0VGV4dE1lc3NhZ2VPcHRpb25zKGxvZ2dlZEluVXNlciwgbWVzc2FnZU9iamVjdCwgdGhlbWUsIGdyb3VwKTtcbiAgICB9XG4gICBwdWJsaWMgZ2V0SW1hZ2VNZXNzYWdlT3B0aW9ucyhsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyLCBtZXNzYWdlT2JqZWN0OiBDb21ldENoYXQuQmFzZU1lc3NhZ2UsIHRoZW1lOiBDb21ldENoYXRUaGVtZSwgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXApOiBDb21ldENoYXRNZXNzYWdlT3B0aW9uW10ge1xuICAgICAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldEltYWdlTWVzc2FnZU9wdGlvbnMobG9nZ2VkSW5Vc2VyLCBtZXNzYWdlT2JqZWN0LCB0aGVtZSwgZ3JvdXApO1xuICAgIH1cbiAgIHB1YmxpYyBnZXRWaWRlb01lc3NhZ2VPcHRpb25zKGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIsIG1lc3NhZ2VPYmplY3Q6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSwgdGhlbWU6IENvbWV0Q2hhdFRoZW1lLCBncm91cD86IENvbWV0Q2hhdC5Hcm91cCk6IENvbWV0Q2hhdE1lc3NhZ2VPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0VmlkZW9NZXNzYWdlT3B0aW9ucyhsb2dnZWRJblVzZXIsIG1lc3NhZ2VPYmplY3QsIHRoZW1lLCBncm91cCk7XG4gICAgfVxuICAgcHVibGljIGdldEF1ZGlvTWVzc2FnZU9wdGlvbnMobG9nZ2VkSW5Vc2VyOiBDb21ldENoYXQuVXNlciwgbWVzc2FnZU9iamVjdDogQ29tZXRDaGF0LkJhc2VNZXNzYWdlLCB0aGVtZTogQ29tZXRDaGF0VGhlbWUsIGdyb3VwPzogQ29tZXRDaGF0Lkdyb3VwKTogQ29tZXRDaGF0TWVzc2FnZU9wdGlvbltdIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmRhdGFTb3VyY2UgPz8gbmV3IE1lc3NhZ2VVdGlscygpKS5nZXRBdWRpb01lc3NhZ2VPcHRpb25zKGxvZ2dlZEluVXNlciwgbWVzc2FnZU9iamVjdCwgdGhlbWUsIGdyb3VwKTtcbiAgICB9XG4gICBwdWJsaWMgZ2V0RmlsZU1lc3NhZ2VPcHRpb25zKGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIsIG1lc3NhZ2VPYmplY3Q6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSwgdGhlbWU6IENvbWV0Q2hhdFRoZW1lLCBncm91cD86IENvbWV0Q2hhdC5Hcm91cCk6IENvbWV0Q2hhdE1lc3NhZ2VPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0RmlsZU1lc3NhZ2VPcHRpb25zKGxvZ2dlZEluVXNlciwgbWVzc2FnZU9iamVjdCwgdGhlbWUsIGdyb3VwKTtcbiAgICB9XG4gICBwdWJsaWMgZ2V0VGV4dE1lc3NhZ2VUZW1wbGF0ZSgpOiBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGUge1xuICAgICAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldFRleHRNZXNzYWdlVGVtcGxhdGUoKTtcbiAgICB9XG4gICBwdWJsaWMgZ2V0SW1hZ2VNZXNzYWdlVGVtcGxhdGUoKTogQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmRhdGFTb3VyY2UgPz8gbmV3IE1lc3NhZ2VVdGlscygpKS5nZXRJbWFnZU1lc3NhZ2VUZW1wbGF0ZSgpO1xuICAgIH1cbiAgIHB1YmxpYyBnZXRWaWRlb01lc3NhZ2VUZW1wbGF0ZSgpOiBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGUge1xuICAgICAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldFZpZGVvTWVzc2FnZVRlbXBsYXRlKCk7XG4gICAgfVxuICAgcHVibGljIGdldEF1ZGlvTWVzc2FnZVRlbXBsYXRlKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZSB7XG4gICAgICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0QXVkaW9NZXNzYWdlVGVtcGxhdGUoKTtcbiAgICB9XG4gICBwdWJsaWMgZ2V0RmlsZU1lc3NhZ2VUZW1wbGF0ZSgpOiBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGUge1xuICAgICAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldEZpbGVNZXNzYWdlVGVtcGxhdGUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldEZvcm1NZXNzYWdlVGVtcGxhdGUoKTogQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmRhdGFTb3VyY2UgPz8gbmV3IE1lc3NhZ2VVdGlscygpKS5nZXRGb3JtTWVzc2FnZVRlbXBsYXRlKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXRDYXJkTWVzc2FnZVRlbXBsYXRlKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZSB7XG4gICAgICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0Q2FyZE1lc3NhZ2VUZW1wbGF0ZSgpO1xuICAgIH1cbiAgIHB1YmxpYyBnZXRHcm91cEFjdGlvblRlbXBsYXRlKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZSB7XG4gICAgICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0R3JvdXBBY3Rpb25UZW1wbGF0ZSgpO1xuICAgIH1cbiAgIHB1YmxpYyBnZXRBbGxNZXNzYWdlVGVtcGxhdGVzKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZVtdIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmRhdGFTb3VyY2UgPz8gbmV3IE1lc3NhZ2VVdGlscygpKS5nZXRBbGxNZXNzYWdlVGVtcGxhdGVzKCk7XG4gICAgfVxuICAgcHVibGljIGdldE1lc3NhZ2VUZW1wbGF0ZShtZXNzYWdlVHlwZTogc3RyaW5nLCBtZXNzYWdlQ2F0ZWdvcnk6IHN0cmluZyk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldE1lc3NhZ2VUZW1wbGF0ZShtZXNzYWdlVHlwZSwgbWVzc2FnZUNhdGVnb3J5KTtcbiAgICB9XG4gICAgcHVibGljIGdldE1lc3NhZ2VPcHRpb25zKGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIsIG1lc3NhZ2VPYmplY3Q6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSwgdGhlbWU6IENvbWV0Q2hhdFRoZW1lLCBncm91cD86IENvbWV0Q2hhdC5Hcm91cCk6IENvbWV0Q2hhdE1lc3NhZ2VPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0TWVzc2FnZU9wdGlvbnMobG9nZ2VkSW5Vc2VyLCBtZXNzYWdlT2JqZWN0LCB0aGVtZSwgZ3JvdXApO1xuICAgICAgfVxuXG4gICBwdWJsaWMgZ2V0Q29tbW9uT3B0aW9ucyhsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyLCBtZXNzYWdlT2JqZWN0OiBDb21ldENoYXQuQmFzZU1lc3NhZ2UsIHRoZW1lOiBDb21ldENoYXRUaGVtZSwgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXApOiBDb21ldENoYXRNZXNzYWdlT3B0aW9uW10ge1xuICAgICAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldENvbW1vbk9wdGlvbnMobG9nZ2VkSW5Vc2VyLCBtZXNzYWdlT2JqZWN0LCB0aGVtZSwgZ3JvdXApO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0RGVsZXRlT3B0aW9uKHRoZW1lOiBDb21ldENoYXRUaGVtZSk6IENvbWV0Q2hhdE1lc3NhZ2VPcHRpb24ge1xuICAgICAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldERlbGV0ZU9wdGlvbih0aGVtZSk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXRSZXBseUluVGhyZWFkT3B0aW9uKHRoZW1lOiBDb21ldENoYXRUaGVtZSk6IENvbWV0Q2hhdE1lc3NhZ2VPcHRpb257XG4gICAgICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0UmVwbHlJblRocmVhZE9wdGlvbih0aGVtZSk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXRFZGl0T3B0aW9uKHRoZW1lOiBDb21ldENoYXRUaGVtZSk6IENvbWV0Q2hhdE1lc3NhZ2VPcHRpb257XG4gICAgICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0RWRpdE9wdGlvbih0aGVtZSk7XG4gICAgfVxuICAgcHVibGljIGdldEF0dGFjaG1lbnRPcHRpb25zKHRoZW1lOiBDb21ldENoYXRUaGVtZSA9IG5ldyBDb21ldENoYXRUaGVtZSh7fSksdXNlcj86Q29tZXRDaGF0LlVzZXIsZ3JvdXA/OkNvbWV0Q2hhdC5Hcm91cCwgaWQ/OiBDb21wb3NlcklkKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0QXR0YWNobWVudE9wdGlvbnModGhlbWUsdXNlcixncm91cCwgaWQpO1xuICAgIH1cbiAgIHB1YmxpYyBnZXRBbGxNZXNzYWdlVHlwZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldEFsbE1lc3NhZ2VUeXBlcygpO1xuICAgIH1cbiAgIHB1YmxpYyBnZXRBbGxNZXNzYWdlQ2F0ZWdvcmllcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0QWxsTWVzc2FnZUNhdGVnb3JpZXMoKTtcbiAgICB9XG4gICBwdWJsaWMgZ2V0QXV4aWxpYXJ5T3B0aW9ucyhpZDogQ29tcG9zZXJJZCwgdXNlcj86IENvbWV0Q2hhdC5Vc2VyLCBncm91cD86IENvbWV0Q2hhdC5Hcm91cCk6IGFueSB7XG4gICAgICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0QXV4aWxpYXJ5T3B0aW9ucyhpZCwgdXNlciwgZ3JvdXApO1xuICAgIH1cbiAgIHB1YmxpYyBnZXRJZCgpOiBzdHJpbmcge1xuXG4gICAgICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0SWQoKTtcbiAgICB9XG4gICBwdWJsaWMgZ2V0TGFzdENvbnZlcnNhdGlvbk1lc3NhZ2UoY29udmVyc2F0aW9uOiBDb21ldENoYXQuQ29udmVyc2F0aW9uLCBsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyKTogc3RyaW5ne1xuICAgICAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldExhc3RDb252ZXJzYXRpb25NZXNzYWdlKGNvbnZlcnNhdGlvbiwgbG9nZ2VkSW5Vc2VyKTtcbiAgICB9XG59Il19
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZURlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQtdWlraXQtYW5ndWxhci9zcmMvU2hhcmVkL0ZyYW1ld29yay9EYXRhU291cmNlRGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCxjQUFjLEdBQ2YsTUFBTSw0QkFBNEIsQ0FBQztBQUdwQyxPQUFPLEVBQUUsWUFBWSxFQUFjLE1BQU0sdUJBQXVCLENBQUM7QUFHakUsTUFBTSxPQUFnQixtQkFBbUI7SUFFdkMsWUFBWSxVQUFzQjtRQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBQ00scUJBQXFCLENBQzFCLFlBQTRCLEVBQzVCLGFBQW9DLEVBQ3BDLEtBQXFCLEVBQ3JCLEtBQXVCO1FBRXZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQyxxQkFBcUIsQ0FDbEUsWUFBWSxFQUNaLGFBQWEsRUFDYixLQUFLLEVBQ0wsS0FBSyxDQUNOLENBQUM7SUFDSixDQUFDO0lBQ00sc0JBQXNCLENBQzNCLFlBQTRCLEVBQzVCLGFBQW9DLEVBQ3BDLEtBQXFCLEVBQ3JCLEtBQXVCO1FBRXZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQyxzQkFBc0IsQ0FDbkUsWUFBWSxFQUNaLGFBQWEsRUFDYixLQUFLLEVBQ0wsS0FBSyxDQUNOLENBQUM7SUFDSixDQUFDO0lBQ00sc0JBQXNCLENBQzNCLFlBQTRCLEVBQzVCLGFBQW9DLEVBQ3BDLEtBQXFCLEVBQ3JCLEtBQXVCO1FBRXZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQyxzQkFBc0IsQ0FDbkUsWUFBWSxFQUNaLGFBQWEsRUFDYixLQUFLLEVBQ0ws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RUFBRSxDQUFDLENBQUMsbUJBQW1CLENBQ2hFLEVBQUUsRUFDRixJQUFJLEVBQ0osS0FBSyxDQUNOLENBQUM7SUFDSixDQUFDO0lBQ00sS0FBSztRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBQ00sMEJBQTBCLENBQy9CLFlBQW9DLEVBQ3BDLFlBQTRCO1FBRTVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQywwQkFBMEIsQ0FDdkUsWUFBWSxFQUNaLFlBQVksQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUVNLFlBQVksQ0FDakIsS0FBcUIsRUFDckIsRUFBcUIsRUFDckIsZUFBZ0M7UUFFaEMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxZQUFZLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FDekQsS0FBSyxFQUNMLEVBQUUsRUFDRixlQUFlLENBQ2hCLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21ldENoYXRBY3Rpb25zVmlldyxcbiAgQ29tZXRDaGF0TWVzc2FnZUNvbXBvc2VyQWN0aW9uLFxuICBDb21ldENoYXRNZXNzYWdlT3B0aW9uLFxuICBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGUsXG4gIENvbWV0Q2hhdFRoZW1lLFxufSBmcm9tIFwiQGNvbWV0Y2hhdC91aWtpdC1yZXNvdXJjZXNcIjtcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tIFwiLi9EYXRhU291cmNlXCI7XG5pbXBvcnQgeyBDb21ldENoYXQgfSBmcm9tIFwiQGNvbWV0Y2hhdC9jaGF0LXNkay1qYXZhc2NyaXB0XCI7XG5pbXBvcnQgeyBNZXNzYWdlVXRpbHMsIENvbXBvc2VySWQgfSBmcm9tIFwiLi4vVXRpbHMvTWVzc2FnZVV0aWxzXCI7XG5pbXBvcnQgeyBBSU9wdGlvbnNTdHlsZSB9IGZyb20gXCJAY29tZXRjaGF0L3Vpa2l0LXNoYXJlZFwiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YVNvdXJjZURlY29yYXRvciBpbXBsZW1lbnRzIERhdGFTb3VyY2Uge1xuICBwdWJsaWMgZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcbiAgY29uc3RydWN0b3IoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSkge1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IGRhdGFTb3VyY2U7XG4gIH1cbiAgcHVibGljIGdldFRleHRNZXNzYWdlT3B0aW9ucyhcbiAgICBsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyLFxuICAgIG1lc3NhZ2VPYmplY3Q6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSxcbiAgICB0aGVtZTogQ29tZXRDaGF0VGhlbWUsXG4gICAgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXBcbiAgKTogQ29tZXRDaGF0TWVzc2FnZU9wdGlvbltdIHtcbiAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldFRleHRNZXNzYWdlT3B0aW9ucyhcbiAgICAgIGxvZ2dlZEluVXNlcixcbiAgICAgIG1lc3NhZ2VPYmplY3QsXG4gICAgICB0aGVtZSxcbiAgICAgIGdyb3VwXG4gICAgKTtcbiAgfVxuICBwdWJsaWMgZ2V0SW1hZ2VNZXNzYWdlT3B0aW9ucyhcbiAgICBsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyLFxuICAgIG1lc3NhZ2VPYmplY3Q6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSxcbiAgICB0aGVtZTogQ29tZXRDaGF0VGhlbWUsXG4gICAgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXBcbiAgKTogQ29tZXRDaGF0TWVzc2FnZU9wdGlvbltdIHtcbiAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldEltYWdlTWVzc2FnZU9wdGlvbnMoXG4gICAgICBsb2dnZWRJblVzZXIsXG4gICAgICBtZXNzYWdlT2JqZWN0LFxuICAgICAgdGhlbWUsXG4gICAgICBncm91cFxuICAgICk7XG4gIH1cbiAgcHVibGljIGdldFZpZGVvTWVzc2FnZU9wdGlvbnMoXG4gICAgbG9nZ2VkSW5Vc2VyOiBDb21ldENoYXQuVXNlcixcbiAgICBtZXNzYWdlT2JqZWN0OiBDb21ldENoYXQuQmFzZU1lc3NhZ2UsXG4gICAgdGhlbWU6IENvbWV0Q2hhdFRoZW1lLFxuICAgIGdyb3VwPzogQ29tZXRDaGF0Lkdyb3VwXG4gICk6IENvbWV0Q2hhdE1lc3NhZ2VPcHRpb25bXSB7XG4gICAgcmV0dXJuICh0aGlzLmRhdGFTb3VyY2UgPz8gbmV3IE1lc3NhZ2VVdGlscygpKS5nZXRWaWRlb01lc3NhZ2VPcHRpb25zKFxuICAgICAgbG9nZ2VkSW5Vc2VyLFxuICAgICAgbWVzc2FnZU9iamVjdCxcbiAgICAgIHRoZW1lLFxuICAgICAgZ3JvdXBcbiAgICApO1xuICB9XG4gIHB1YmxpYyBnZXRBdWRpb01lc3NhZ2VPcHRpb25zKFxuICAgIGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIsXG4gICAgbWVzc2FnZU9iamVjdDogQ29tZXRDaGF0LkJhc2VNZXNzYWdlLFxuICAgIHRoZW1lOiBDb21ldENoYXRUaGVtZSxcbiAgICBncm91cD86IENvbWV0Q2hhdC5Hcm91cFxuICApOiBDb21ldENoYXRNZXNzYWdlT3B0aW9uW10ge1xuICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0QXVkaW9NZXNzYWdlT3B0aW9ucyhcbiAgICAgIGxvZ2dlZEluVXNlcixcbiAgICAgIG1lc3NhZ2VPYmplY3QsXG4gICAgICB0aGVtZSxcbiAgICAgIGdyb3VwXG4gICAgKTtcbiAgfVxuICBwdWJsaWMgZ2V0RmlsZU1lc3NhZ2VPcHRpb25zKFxuICAgIGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIsXG4gICAgbWVzc2FnZU9iamVjdDogQ29tZXRDaGF0LkJhc2VNZXNzYWdlLFxuICAgIHRoZW1lOiBDb21ldENoYXRUaGVtZSxcbiAgICBncm91cD86IENvbWV0Q2hhdC5Hcm91cFxuICApOiBDb21ldENoYXRNZXNzYWdlT3B0aW9uW10ge1xuICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0RmlsZU1lc3NhZ2VPcHRpb25zKFxuICAgICAgbG9nZ2VkSW5Vc2VyLFxuICAgICAgbWVzc2FnZU9iamVjdCxcbiAgICAgIHRoZW1lLFxuICAgICAgZ3JvdXBcbiAgICApO1xuICB9XG4gIHB1YmxpYyBnZXRUZXh0TWVzc2FnZVRlbXBsYXRlKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZSB7XG4gICAgcmV0dXJuICh0aGlzLmRhdGFTb3VyY2UgPz8gbmV3IE1lc3NhZ2VVdGlscygpKS5nZXRUZXh0TWVzc2FnZVRlbXBsYXRlKCk7XG4gIH1cbiAgcHVibGljIGdldEltYWdlTWVzc2FnZVRlbXBsYXRlKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZSB7XG4gICAgcmV0dXJuICh0aGlzLmRhdGFTb3VyY2UgPz8gbmV3IE1lc3NhZ2VVdGlscygpKS5nZXRJbWFnZU1lc3NhZ2VUZW1wbGF0ZSgpO1xuICB9XG4gIHB1YmxpYyBnZXRWaWRlb01lc3NhZ2VUZW1wbGF0ZSgpOiBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGUge1xuICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0VmlkZW9NZXNzYWdlVGVtcGxhdGUoKTtcbiAgfVxuICBwdWJsaWMgZ2V0QXVkaW9NZXNzYWdlVGVtcGxhdGUoKTogQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlIHtcbiAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldEF1ZGlvTWVzc2FnZVRlbXBsYXRlKCk7XG4gIH1cbiAgcHVibGljIGdldEZpbGVNZXNzYWdlVGVtcGxhdGUoKTogQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlIHtcbiAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldEZpbGVNZXNzYWdlVGVtcGxhdGUoKTtcbiAgfVxuICBwdWJsaWMgZ2V0Rm9ybU1lc3NhZ2VUZW1wbGF0ZSgpOiBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGUge1xuICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0Rm9ybU1lc3NhZ2VUZW1wbGF0ZSgpO1xuICB9XG4gIHB1YmxpYyBnZXRDYXJkTWVzc2FnZVRlbXBsYXRlKCk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZSB7XG4gICAgcmV0dXJuICh0aGlzLmRhdGFTb3VyY2UgPz8gbmV3IE1lc3NhZ2VVdGlscygpKS5nZXRDYXJkTWVzc2FnZVRlbXBsYXRlKCk7XG4gIH1cbiAgcHVibGljIGdldEdyb3VwQWN0aW9uVGVtcGxhdGUoKTogQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlIHtcbiAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldEdyb3VwQWN0aW9uVGVtcGxhdGUoKTtcbiAgfVxuICBwdWJsaWMgZ2V0QWxsTWVzc2FnZVRlbXBsYXRlcygpOiBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGVbXSB7XG4gICAgcmV0dXJuICh0aGlzLmRhdGFTb3VyY2UgPz8gbmV3IE1lc3NhZ2VVdGlscygpKS5nZXRBbGxNZXNzYWdlVGVtcGxhdGVzKCk7XG4gIH1cbiAgcHVibGljIGdldE1lc3NhZ2VUZW1wbGF0ZShcbiAgICBtZXNzYWdlVHlwZTogc3RyaW5nLFxuICAgIG1lc3NhZ2VDYXRlZ29yeTogc3RyaW5nXG4gICk6IENvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZSB8IG51bGwge1xuICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0TWVzc2FnZVRlbXBsYXRlKFxuICAgICAgbWVzc2FnZVR5cGUsXG4gICAgICBtZXNzYWdlQ2F0ZWdvcnlcbiAgICApO1xuICB9XG4gIHB1YmxpYyBnZXRNZXNzYWdlT3B0aW9ucyhcbiAgICBsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyLFxuICAgIG1lc3NhZ2VPYmplY3Q6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSxcbiAgICB0aGVtZTogQ29tZXRDaGF0VGhlbWUsXG4gICAgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXBcbiAgKTogQ29tZXRDaGF0TWVzc2FnZU9wdGlvbltdIHtcbiAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldE1lc3NhZ2VPcHRpb25zKFxuICAgICAgbG9nZ2VkSW5Vc2VyLFxuICAgICAgbWVzc2FnZU9iamVjdCxcbiAgICAgIHRoZW1lLFxuICAgICAgZ3JvdXBcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldENvbW1vbk9wdGlvbnMoXG4gICAgbG9nZ2VkSW5Vc2VyOiBDb21ldENoYXQuVXNlcixcbiAgICBtZXNzYWdlT2JqZWN0OiBDb21ldENoYXQuQmFzZU1lc3NhZ2UsXG4gICAgdGhlbWU6IENvbWV0Q2hhdFRoZW1lLFxuICAgIGdyb3VwPzogQ29tZXRDaGF0Lkdyb3VwXG4gICk6IENvbWV0Q2hhdE1lc3NhZ2VPcHRpb25bXSB7XG4gICAgcmV0dXJuICh0aGlzLmRhdGFTb3VyY2UgPz8gbmV3IE1lc3NhZ2VVdGlscygpKS5nZXRDb21tb25PcHRpb25zKFxuICAgICAgbG9nZ2VkSW5Vc2VyLFxuICAgICAgbWVzc2FnZU9iamVjdCxcbiAgICAgIHRoZW1lLFxuICAgICAgZ3JvdXBcbiAgICApO1xuICB9XG4gIHB1YmxpYyBnZXREZWxldGVPcHRpb24odGhlbWU6IENvbWV0Q2hhdFRoZW1lKTogQ29tZXRDaGF0TWVzc2FnZU9wdGlvbiB7XG4gICAgcmV0dXJuICh0aGlzLmRhdGFTb3VyY2UgPz8gbmV3IE1lc3NhZ2VVdGlscygpKS5nZXREZWxldGVPcHRpb24odGhlbWUpO1xuICB9XG4gIHB1YmxpYyBnZXRSZXBseUluVGhyZWFkT3B0aW9uKHRoZW1lOiBDb21ldENoYXRUaGVtZSk6IENvbWV0Q2hhdE1lc3NhZ2VPcHRpb24ge1xuICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0UmVwbHlJblRocmVhZE9wdGlvbihcbiAgICAgIHRoZW1lXG4gICAgKTtcbiAgfVxuICBwdWJsaWMgZ2V0RWRpdE9wdGlvbih0aGVtZTogQ29tZXRDaGF0VGhlbWUpOiBDb21ldENoYXRNZXNzYWdlT3B0aW9uIHtcbiAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldEVkaXRPcHRpb24odGhlbWUpO1xuICB9XG4gIHB1YmxpYyBnZXRBdHRhY2htZW50T3B0aW9ucyhcbiAgICB0aGVtZTogQ29tZXRDaGF0VGhlbWUgPSBuZXcgQ29tZXRDaGF0VGhlbWUoe30pLFxuICAgIHVzZXI/OiBDb21ldENoYXQuVXNlcixcbiAgICBncm91cD86IENvbWV0Q2hhdC5Hcm91cCxcbiAgICBpZD86IENvbXBvc2VySWRcbiAgKSB7XG4gICAgcmV0dXJuICh0aGlzLmRhdGFTb3VyY2UgPz8gbmV3IE1lc3NhZ2VVdGlscygpKS5nZXRBdHRhY2htZW50T3B0aW9ucyhcbiAgICAgIHRoZW1lLFxuICAgICAgdXNlcixcbiAgICAgIGdyb3VwLFxuICAgICAgaWRcbiAgICApO1xuICB9XG4gIHB1YmxpYyBnZXRBbGxNZXNzYWdlVHlwZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0QWxsTWVzc2FnZVR5cGVzKCk7XG4gIH1cbiAgcHVibGljIGdldEFsbE1lc3NhZ2VDYXRlZ29yaWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldEFsbE1lc3NhZ2VDYXRlZ29yaWVzKCk7XG4gIH1cbiAgcHVibGljIGdldEF1eGlsaWFyeU9wdGlvbnMoXG4gICAgaWQ6IENvbXBvc2VySWQsXG4gICAgdXNlcj86IENvbWV0Q2hhdC5Vc2VyLFxuICAgIGdyb3VwPzogQ29tZXRDaGF0Lkdyb3VwXG4gICk6IGFueSB7XG4gICAgcmV0dXJuICh0aGlzLmRhdGFTb3VyY2UgPz8gbmV3IE1lc3NhZ2VVdGlscygpKS5nZXRBdXhpbGlhcnlPcHRpb25zKFxuICAgICAgaWQsXG4gICAgICB1c2VyLFxuICAgICAgZ3JvdXBcbiAgICApO1xuICB9XG4gIHB1YmxpYyBnZXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0SWQoKTtcbiAgfVxuICBwdWJsaWMgZ2V0TGFzdENvbnZlcnNhdGlvbk1lc3NhZ2UoXG4gICAgY29udmVyc2F0aW9uOiBDb21ldENoYXQuQ29udmVyc2F0aW9uLFxuICAgIGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXJcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSA/PyBuZXcgTWVzc2FnZVV0aWxzKCkpLmdldExhc3RDb252ZXJzYXRpb25NZXNzYWdlKFxuICAgICAgY29udmVyc2F0aW9uLFxuICAgICAgbG9nZ2VkSW5Vc2VyXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBSU9wdGlvbnMoXG4gICAgdGhlbWU6IENvbWV0Q2hhdFRoZW1lLFxuICAgIGlkPzogTWFwPFN0cmluZywgYW55PixcbiAgICBhaU9wdGlvbnNTdHlsZXM/OiBBSU9wdGlvbnNTdHlsZVxuICApOiAoQ29tZXRDaGF0TWVzc2FnZUNvbXBvc2VyQWN0aW9uIHwgQ29tZXRDaGF0QWN0aW9uc1ZpZXcpW10ge1xuICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlID8/IG5ldyBNZXNzYWdlVXRpbHMoKSkuZ2V0QUlPcHRpb25zKFxuICAgICAgdGhlbWUsXG4gICAgICBpZCxcbiAgICAgIGFpT3B0aW9uc1N0eWxlc1xuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,72 @@
1
+ import { CometChatCallDetailsOption, CometChatCallDetailsTemplate, fontHelper, } from "@cometchat/uikit-resources";
2
+ export class CallDetailUtils {
3
+ static getDefaultCallTemplate(callLog, loggedInUser, theme) {
4
+ return [
5
+ this.getPrimaryDetailsTemplate(callLog, loggedInUser, theme),
6
+ this.getSecondaryDetailsTemplate(callLog, loggedInUser, theme),
7
+ ];
8
+ }
9
+ static getPrimaryDetailsTemplate(callLog, loggedInUser, theme) {
10
+ const template = new CometChatCallDetailsTemplate({
11
+ id: "callControls",
12
+ hideSectionSeparator: true,
13
+ sectionSeparatorColor: "red",
14
+ options: (user, group) => {
15
+ return this.getPrimaryOptions(user ?? undefined, group ?? undefined, callLog ?? undefined, loggedInUser ?? undefined, theme ?? undefined);
16
+ },
17
+ });
18
+ return template;
19
+ }
20
+ static getPrimaryOptions(user, group, callLog, loggedInUser, theme) {
21
+ const options = [];
22
+ if (user) {
23
+ options.push(new CometChatCallDetailsOption({
24
+ id: "calls",
25
+ }));
26
+ }
27
+ options.push(new CometChatCallDetailsOption({
28
+ id: "callStatus",
29
+ title: callLog?.getInitiatedAt(),
30
+ titleFont: fontHelper(theme.typography.subtitle1),
31
+ backgroundColor: "rgba(20, 20, 20, 0.04)",
32
+ }));
33
+ return options;
34
+ }
35
+ static getSecondaryDetailsTemplate(callLog, loggedInUser, theme) {
36
+ const template = new CometChatCallDetailsTemplate({
37
+ id: "callOptions",
38
+ hideSectionSeparator: true,
39
+ options: () => {
40
+ return this.getSecondaryOptions(callLog ?? undefined, theme ?? undefined);
41
+ },
42
+ });
43
+ return template;
44
+ }
45
+ static getSecondaryOptions(callLog, theme) {
46
+ const options = [];
47
+ const localizedParticipants = "Participants";
48
+ const localizedRecording = "Recordings";
49
+ const localizedHistory = "History";
50
+ options.push(new CometChatCallDetailsOption({
51
+ id: "participants",
52
+ title: localizedParticipants,
53
+ tail: callLog.participants.length,
54
+ backgroundColor: "rgba(20, 20, 20, 0.04)",
55
+ }));
56
+ if (callLog?.hasRecording) {
57
+ options.push(new CometChatCallDetailsOption({
58
+ id: "recordings",
59
+ title: localizedRecording,
60
+ tail: callLog.recordings.length,
61
+ backgroundColor: "rgba(20, 20, 20, 0.04)",
62
+ }));
63
+ }
64
+ options.push(new CometChatCallDetailsOption({
65
+ id: "callHistory",
66
+ title: localizedHistory,
67
+ backgroundColor: "rgba(20, 20, 20, 0.04)",
68
+ }));
69
+ return options;
70
+ }
71
+ }
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FsbERldGFpbFV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC11aWtpdC1hbmd1bGFyL3NyYy9TaGFyZWQvVXRpbHMvQ2FsbERldGFpbFV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBSzVCLFVBQVUsR0FFWCxNQUFNLDRCQUE0QixDQUFDO0FBSXBDLE1BQU0sT0FBTyxlQUFlO0lBQ25CLE1BQU0sQ0FBQyxzQkFBc0IsQ0FDbEMsT0FBWSxFQUNaLFlBQTRCLEVBQzVCLEtBQXFCO1FBRXJCLE9BQU87WUFDTCxJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUM7WUFDNUQsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDO1NBQy9ELENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLHlCQUF5QixDQUNyQyxPQUFZLEVBQ1osWUFBNEIsRUFDNUIsS0FBcUI7UUFFckIsTUFBTSxRQUFRLEdBQ1osSUFBSSw0QkFBNEIsQ0FBQztZQUMvQixFQUFFLEVBQUUsY0FBYztZQUNsQixvQkFBb0IsRUFBRSxJQUFJO1lBQzFCLHFCQUFxQixFQUFFLEtBQUs7WUFDNUIsT0FBTyxFQUFFLENBQ1AsSUFBMkIsRUFDM0IsS0FBNkIsRUFDN0IsRUFBRTtnQkFDRixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FDM0IsSUFBSSxJQUFJLFNBQVMsRUFDakIsS0FBSyxJQUFJLFNBQVMsRUFDbEIsT0FBTyxJQUFJLFNBQVMsRUFDcEIsWUFBWSxJQUFJLFNBQVMsRUFDekIsS0FBSyxJQUFJLFNBQVMsQ0FDbkIsQ0FBQztZQUNKLENBQUM7U0FDRixDQUFDLENBQUM7UUFDTCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sTUFBTSxDQUFDLGlCQUFpQixDQUM5QixJQUFxQixFQUNyQixLQUF1QixFQUN2QixPQUFhLEVBQ2IsWUFBNkIsRUFDN0IsS0FBc0I7UUFFdEIsTUFBTSxPQUFPLEdBQWlDLEVBQUUsQ0FBQztRQUNqRCxJQUFJLElBQUksRUFBRTtZQUNSLE9BQU8sQ0FBQyxJQUFJLENBQ1YsSUFBSSwwQkFBMEIsQ0FBQztnQkFDN0IsRUFBRSxFQUFFLE9BQU87YUFDWixDQUFDLENBQ0gsQ0FBQztTQUNIO1FBQ0QsT0FBTyxDQUFDLElBQUksQ0FDVixJQUFJLDBCQUEwQixDQUFDO1lBQzdCLEVBQUUsRUFBRSxZQUFZO1lBQ2hCLEtBQUssRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFHO1lBQ2pDLFNBQVMsRUFBRSxVQUFVLENBQUMsS0FBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7WUFDbEQsZUFBZSxFQUFFLHdCQUF3QjtTQUMxQyxDQUFDLENBQ0gsQ0FBQztRQUNGLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTSxNQUFNLENBQUMsMkJBQTJCLENBQ3ZDLE9BQVksRUFDWixZQUE0QixFQUM1QixLQUFxQjtRQUVyQixNQUFNLFFBQVEsR0FDWixJQUFJLDRCQUE0QixDQUFDO1lBQy9CLEVBQUUsRUFBRSxhQUFhO1lBQ2pCLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsT0FBTyxFQUFFLEdBQUcsRUFBRTtnQkFDWixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FDN0IsT0FBTyxJQUFJLFNBQVMsRUFDcEIsS0FBSyxJQUFJLFNBQVMsQ0FDbkIsQ0FBQztZQUNKLENBQUM7U0FDRixDQUFDLENBQUM7UUFDTCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sTUFBTSxDQUFDLG1CQUFtQixDQUNoQyxPQUFhLEVBQ2IsS0FBc0I7UUFFdEIsTUFBTSxPQUFPLEdBQWlDLEVBQUUsQ0FBQztRQUNqRCxNQUFNLHFCQUFxQixHQUFHLGNBQWMsQ0FBQztRQUM3QyxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQztRQUN4QyxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztRQUVuQyxPQUFPLENBQUMsSUFBSSxDQUNWLElBQUksMEJBQTBCLENBQUM7WUFDN0IsRUFBRSxFQUFFLGNBQWM7WUFDbEIsS0FBSyxFQUFFLHFCQUFxQjtZQUM1QixJQUFJLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNO1lBQ2pDLGVBQWUsRUFBRSx3QkFBd0I7U0FDMUMsQ0FBQyxDQUNILENBQUM7UUFDRixJQUFJLE9BQU8sRUFBRSxZQUFZLEVBQUU7WUFDekIsT0FBTyxDQUFDLElBQUksQ0FDVixJQUFJLDBCQUEwQixDQUFDO2dCQUM3QixFQUFFLEVBQUUsWUFBWTtnQkFDaEIsS0FBSyxFQUFFLGtCQUFrQjtnQkFDekIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTTtnQkFDL0IsZUFBZSxFQUFFLHdCQUF3QjthQUMxQyxDQUFDLENBQ0gsQ0FBQztTQUNIO1FBRUQsT0FBTyxDQUFDLElBQUksQ0FDVixJQUFJLDBCQUEwQixDQUFDO1lBQzdCLEVBQUUsRUFBRSxhQUFhO1lBQ2pCLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsZUFBZSxFQUFFLHdCQUF3QjtTQUMxQyxDQUFDLENBQ0gsQ0FBQztRQUVGLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbWV0Q2hhdENhbGxCdXR0b25zIH0gZnJvbSBcIi4vLi4vLi4vQ2FsbHMvQ29tZXRDaGF0Q2FsbEJ1dHRvbnMvY29tZXRjaGF0LWNhbGwtYnV0dG9ucy5tb2R1bGVcIjtcbmltcG9ydCB7XG4gIENvbWV0Q2hhdENhbGxEZXRhaWxzT3B0aW9uLFxuICBDb21ldENoYXRDYWxsRGV0YWlsc1RlbXBsYXRlLFxuICBDb21ldENoYXREZXRhaWxzVGVtcGxhdGUsXG4gIENvbWV0Q2hhdFRoZW1lLFxuICBDb21ldENoYXRVSUtpdENvbnN0YW50cyxcbiAgRGF0ZVBhdHRlcm5zLFxuICBmb250SGVscGVyLFxuICBsb2NhbGl6ZSxcbn0gZnJvbSBcIkBjb21ldGNoYXQvdWlraXQtcmVzb3VyY2VzXCI7XG5pbXBvcnQgeyBEYXRlU3R5bGUsIExpc3RJdGVtU3R5bGUgfSBmcm9tIFwiQGNvbWV0Y2hhdC91aWtpdC1lbGVtZW50c1wiO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gXCIuLi9GcmFtZXdvcmsvRGF0YVNvdXJjZVwiO1xuXG5leHBvcnQgY2xhc3MgQ2FsbERldGFpbFV0aWxzIHtcbiAgcHVibGljIHN0YXRpYyBnZXREZWZhdWx0Q2FsbFRlbXBsYXRlKFxuICAgIGNhbGxMb2c6IGFueSxcbiAgICBsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyLFxuICAgIHRoZW1lOiBDb21ldENoYXRUaGVtZVxuICApOiBBcnJheTxDb21ldENoYXRDYWxsRGV0YWlsc1RlbXBsYXRlPiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuZ2V0UHJpbWFyeURldGFpbHNUZW1wbGF0ZShjYWxsTG9nLCBsb2dnZWRJblVzZXIsIHRoZW1lKSxcbiAgICAgIHRoaXMuZ2V0U2Vjb25kYXJ5RGV0YWlsc1RlbXBsYXRlKGNhbGxMb2csIGxvZ2dlZEluVXNlciwgdGhlbWUpLFxuICAgIF07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldFByaW1hcnlEZXRhaWxzVGVtcGxhdGUoXG4gICAgY2FsbExvZzogYW55LFxuICAgIGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIsXG4gICAgdGhlbWU6IENvbWV0Q2hhdFRoZW1lXG4gICk6IENvbWV0Q2hhdENhbGxEZXRhaWxzVGVtcGxhdGUge1xuICAgIGNvbnN0IHRlbXBsYXRlOiBDb21ldENoYXRDYWxsRGV0YWlsc1RlbXBsYXRlID1cbiAgICAgIG5ldyBDb21ldENoYXRDYWxsRGV0YWlsc1RlbXBsYXRlKHtcbiAgICAgICAgaWQ6IFwiY2FsbENvbnRyb2xzXCIsXG4gICAgICAgIGhpZGVTZWN0aW9uU2VwYXJhdG9yOiB0cnVlLFxuICAgICAgICBzZWN0aW9uU2VwYXJhdG9yQ29sb3I6IFwicmVkXCIsXG4gICAgICAgIG9wdGlvbnM6IChcbiAgICAgICAgICB1c2VyOiBDb21ldENoYXQuVXNlciB8IG51bGwsXG4gICAgICAgICAgZ3JvdXA6IENvbWV0Q2hhdC5Hcm91cCB8IG51bGxcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJpbWFyeU9wdGlvbnMoXG4gICAgICAgICAgICB1c2VyID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGdyb3VwID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGNhbGxMb2cgPz8gdW5kZWZpbmVkLFxuICAgICAgICAgICAgbG9nZ2VkSW5Vc2VyID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHRoZW1lID8/IHVuZGVmaW5lZFxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICByZXR1cm4gdGVtcGxhdGU7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRQcmltYXJ5T3B0aW9ucyhcbiAgICB1c2VyPzogQ29tZXRDaGF0LlVzZXIsXG4gICAgZ3JvdXA/OiBDb21ldENoYXQuR3JvdXAsXG4gICAgY2FsbExvZz86IGFueSxcbiAgICBsb2dnZWRJblVzZXI/OiBDb21ldENoYXQuVXNlcixcbiAgICB0aGVtZT86IENvbWV0Q2hhdFRoZW1lXG4gICk6IENvbWV0Q2hhdENhbGxEZXRhaWxzT3B0aW9uW10ge1xuICAgIGNvbnN0IG9wdGlvbnM6IENvbWV0Q2hhdENhbGxEZXRhaWxzT3B0aW9uW10gPSBbXTtcbiAgICBpZiAodXNlcikge1xuICAgICAgb3B0aW9ucy5wdXNoKFxuICAgICAgICBuZXcgQ29tZXRDaGF0Q2FsbERldGFpbHNPcHRpb24oe1xuICAgICAgICAgIGlkOiBcImNhbGxzXCIsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgICBvcHRpb25zLnB1c2goXG4gICAgICBuZXcgQ29tZXRDaGF0Q2FsbERldGFpbHNPcHRpb24oe1xuICAgICAgICBpZDogXCJjYWxsU3RhdHVzXCIsXG4gICAgICAgIHRpdGxlOiBjYWxsTG9nPy5nZXRJbml0aWF0ZWRBdCgpISxcbiAgICAgICAgdGl0bGVGb250OiBmb250SGVscGVyKHRoZW1lIS50eXBvZ3JhcGh5LnN1YnRpdGxlMSksXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogXCJyZ2JhKDIwLCAyMCwgMjAsIDAuMDQpXCIsXG4gICAgICB9KVxuICAgICk7XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldFNlY29uZGFyeURldGFpbHNUZW1wbGF0ZShcbiAgICBjYWxsTG9nOiBhbnksXG4gICAgbG9nZ2VkSW5Vc2VyOiBDb21ldENoYXQuVXNlcixcbiAgICB0aGVtZTogQ29tZXRDaGF0VGhlbWVcbiAgKTogQ29tZXRDaGF0Q2FsbERldGFpbHNUZW1wbGF0ZSB7XG4gICAgY29uc3QgdGVtcGxhdGU6IENvbWV0Q2hhdENhbGxEZXRhaWxzVGVtcGxhdGUgPVxuICAgICAgbmV3IENvbWV0Q2hhdENhbGxEZXRhaWxzVGVtcGxhdGUoe1xuICAgICAgICBpZDogXCJjYWxsT3B0aW9uc1wiLFxuICAgICAgICBoaWRlU2VjdGlvblNlcGFyYXRvcjogdHJ1ZSxcbiAgICAgICAgb3B0aW9uczogKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFNlY29uZGFyeU9wdGlvbnMoXG4gICAgICAgICAgICBjYWxsTG9nID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHRoZW1lID8/IHVuZGVmaW5lZFxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICByZXR1cm4gdGVtcGxhdGU7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRTZWNvbmRhcnlPcHRpb25zKFxuICAgIGNhbGxMb2c/OiBhbnksXG4gICAgdGhlbWU/OiBDb21ldENoYXRUaGVtZVxuICApOiBDb21ldENoYXRDYWxsRGV0YWlsc09wdGlvbltdIHtcbiAgICBjb25zdCBvcHRpb25zOiBDb21ldENoYXRDYWxsRGV0YWlsc09wdGlvbltdID0gW107XG4gICAgY29uc3QgbG9jYWxpemVkUGFydGljaXBhbnRzID0gXCJQYXJ0aWNpcGFudHNcIjtcbiAgICBjb25zdCBsb2NhbGl6ZWRSZWNvcmRpbmcgPSBcIlJlY29yZGluZ3NcIjtcbiAgICBjb25zdCBsb2NhbGl6ZWRIaXN0b3J5ID0gXCJIaXN0b3J5XCI7XG5cbiAgICBvcHRpb25zLnB1c2goXG4gICAgICBuZXcgQ29tZXRDaGF0Q2FsbERldGFpbHNPcHRpb24oe1xuICAgICAgICBpZDogXCJwYXJ0aWNpcGFudHNcIixcbiAgICAgICAgdGl0bGU6IGxvY2FsaXplZFBhcnRpY2lwYW50cyxcbiAgICAgICAgdGFpbDogY2FsbExvZy5wYXJ0aWNpcGFudHMubGVuZ3RoLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwicmdiYSgyMCwgMjAsIDIwLCAwLjA0KVwiLFxuICAgICAgfSlcbiAgICApO1xuICAgIGlmIChjYWxsTG9nPy5oYXNSZWNvcmRpbmcpIHtcbiAgICAgIG9wdGlvbnMucHVzaChcbiAgICAgICAgbmV3IENvbWV0Q2hhdENhbGxEZXRhaWxzT3B0aW9uKHtcbiAgICAgICAgICBpZDogXCJyZWNvcmRpbmdzXCIsXG4gICAgICAgICAgdGl0bGU6IGxvY2FsaXplZFJlY29yZGluZyxcbiAgICAgICAgICB0YWlsOiBjYWxsTG9nLnJlY29yZGluZ3MubGVuZ3RoLFxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCJyZ2JhKDIwLCAyMCwgMjAsIDAuMDQpXCIsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIG9wdGlvbnMucHVzaChcbiAgICAgIG5ldyBDb21ldENoYXRDYWxsRGV0YWlsc09wdGlvbih7XG4gICAgICAgIGlkOiBcImNhbGxIaXN0b3J5XCIsXG4gICAgICAgIHRpdGxlOiBsb2NhbGl6ZWRIaXN0b3J5LFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwicmdiYSgyMCwgMjAsIDIwLCAwLjA0KVwiLFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,122 @@
1
+ import { CometChatUIKitConstants, localize } from "@cometchat/uikit-resources";
2
+ export class CallLogUtils {
3
+ static isSentByMe(call, loggedInUser) {
4
+ const senderUid = call.getInitiator()?.getUid();
5
+ return !senderUid || senderUid === loggedInUser?.getUid();
6
+ }
7
+ static isMissedCall(call, loggedInUser) {
8
+ const callStatus = call.getStatus();
9
+ const sentByMe = this.isSentByMe(call, loggedInUser);
10
+ // If the user sent the call and it was unanswered, it's not counted as missed
11
+ if (sentByMe && callStatus === CometChatUIKitConstants.calls.unanswered) {
12
+ return false;
13
+ }
14
+ // The following statuses are considered missed for the receiver
15
+ const missedStatuses = [
16
+ CometChatUIKitConstants.calls.unanswered,
17
+ CometChatUIKitConstants.calls.cancelled,
18
+ ];
19
+ // If the user didn't send the call and the status matches one of the missed statuses, it's a missed call
20
+ return !sentByMe && missedStatuses.includes(callStatus);
21
+ }
22
+ static getCallStatusWithType(call, loggedInUser, includeType = false) {
23
+ if (!call || !loggedInUser) {
24
+ return "";
25
+ }
26
+ let callMessageText = "";
27
+ const callStatus = call.getStatus();
28
+ const sentByMe = this.isSentByMe(call, loggedInUser);
29
+ const missedCall = this.isMissedCall(call, loggedInUser);
30
+ const callTypeKey = "_";
31
+ if (missedCall) {
32
+ callMessageText = `MISSED${callTypeKey}CALL`;
33
+ }
34
+ else {
35
+ switch (callStatus) {
36
+ case CometChatUIKitConstants.calls.initiated:
37
+ callMessageText = sentByMe
38
+ ? `OUTGOING${callTypeKey}CALL`
39
+ : `INCOMING${callTypeKey}CALL`;
40
+ break;
41
+ case CometChatUIKitConstants.calls.ongoing:
42
+ callMessageText = sentByMe
43
+ ? `ONGOING${callTypeKey}CALL`
44
+ : `ONGOING${callTypeKey}CALL`;
45
+ break;
46
+ case CometChatUIKitConstants.calls.ended:
47
+ callMessageText = sentByMe
48
+ ? `OUTGOING${callTypeKey}CALL`
49
+ : `INCOMING${callTypeKey}CALL`;
50
+ break;
51
+ case CometChatUIKitConstants.calls.unanswered:
52
+ callMessageText = sentByMe
53
+ ? `UNANSWERED${callTypeKey}CALL`
54
+ : `MISSED${callTypeKey}CALL`;
55
+ break;
56
+ case CometChatUIKitConstants.calls.cancelled:
57
+ callMessageText = sentByMe
58
+ ? `CANCELLED${callTypeKey}CALL`
59
+ : `MISSED${callTypeKey}CALL`;
60
+ break;
61
+ case CometChatUIKitConstants.calls.rejected:
62
+ callMessageText = sentByMe
63
+ ? `REJECTED${callTypeKey}CALL`
64
+ : `MISSED${callTypeKey}CALL`;
65
+ break;
66
+ case CometChatUIKitConstants.calls.busy:
67
+ callMessageText = sentByMe
68
+ ? `UNANSWERED${callTypeKey}CALL`
69
+ : `MISSED${callTypeKey}CALL`;
70
+ break;
71
+ default:
72
+ callMessageText = `INCOMING${callTypeKey}CALL`;
73
+ }
74
+ }
75
+ return localize(callMessageText);
76
+ }
77
+ static convertMinutesToHoursMinutesSeconds(minutes) {
78
+ const hours = Math.floor(minutes / 60);
79
+ const remainingMinutes = Math.floor(minutes % 60);
80
+ const seconds = Math.floor((minutes - Math.floor(minutes)) * 60);
81
+ let hoursString = "";
82
+ let minutesString = "";
83
+ let secondsString = "";
84
+ if (hours > 0) {
85
+ hoursString = `${hours}h`;
86
+ }
87
+ if (remainingMinutes > 0) {
88
+ minutesString = `${remainingMinutes}m`;
89
+ }
90
+ if (seconds >= 0) {
91
+ secondsString = `${seconds}s`;
92
+ }
93
+ return `${hoursString} ${minutesString} ${secondsString}`;
94
+ }
95
+ static convertSecondsToHoursMinutesSeconds(seconds) {
96
+ const hours = Math.floor(seconds / 3600);
97
+ const remainingMinutes = Math.floor((seconds % 3600) / 60);
98
+ const remainingSeconds = Math.floor((seconds % 3600) % 60);
99
+ let hoursString = "";
100
+ let minutesString = "";
101
+ let secondsString = "";
102
+ if (hours > 0) {
103
+ hoursString = `${hours}h`;
104
+ }
105
+ if (remainingMinutes > 0) {
106
+ minutesString = `${remainingMinutes}m`;
107
+ }
108
+ if (remainingSeconds >= 0) {
109
+ secondsString = `${remainingSeconds}s`;
110
+ }
111
+ return `${hoursString} ${minutesString} ${secondsString}`;
112
+ }
113
+ static isDateDifferent(firstDate, secondDate) {
114
+ let firstDateObj, secondDateObj;
115
+ firstDateObj = new Date(firstDate * 1000);
116
+ secondDateObj = new Date(secondDate * 1000);
117
+ return (firstDateObj.getDate() !== secondDateObj.getDate() ||
118
+ firstDateObj.getMonth() !== secondDateObj.getMonth() ||
119
+ firstDateObj.getFullYear() !== secondDateObj.getFullYear());
120
+ }
121
+ }
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FsbExvZ1V0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC11aWtpdC1hbmd1bGFyL3NyYy9TaGFyZWQvVXRpbHMvQ2FsbExvZ1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUkvRSxNQUFNLE9BQU8sWUFBWTtJQUN2QixNQUFNLENBQUMsVUFBVSxDQUFDLElBQVMsRUFBRSxZQUE0QjtRQUN2RCxNQUFNLFNBQVMsR0FBVyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDeEQsT0FBTyxDQUFDLFNBQVMsSUFBSSxTQUFTLEtBQUssWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQVMsRUFBRSxZQUE0QjtRQUN6RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFckQsOEVBQThFO1FBQzlFLElBQUksUUFBUSxJQUFJLFVBQVUsS0FBSyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3ZFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxnRUFBZ0U7UUFDaEUsTUFBTSxjQUFjLEdBQUc7WUFDckIsdUJBQXVCLENBQUMsS0FBSyxDQUFDLFVBQVU7WUFDeEMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLFNBQVM7U0FDeEMsQ0FBQztRQUVGLHlHQUF5RztRQUN6RyxPQUFPLENBQUMsUUFBUSxJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxxQkFBcUIsQ0FDMUIsSUFBUyxF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RUFBRTtZQUN6QixhQUFhLEdBQUcsR0FBRyxnQkFBZ0IsR0FBRyxDQUFDO1NBQ3hDO1FBRUQsT0FBTyxHQUFHLFdBQVcsSUFBSSxhQUFhLElBQUksYUFBYSxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQ3BCLFNBQTZCLEVBQzdCLFVBQThCO1FBRTlCLElBQUksWUFBa0IsRUFBRSxhQUFtQixDQUFDO1FBQzVDLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFVLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDM0MsYUFBYSxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVcsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUM3QyxPQUFPLENBQ0wsWUFBWSxDQUFDLE9BQU8sRUFBRSxLQUFLLGFBQWEsQ0FBQyxPQUFPLEVBQUU7WUFDbEQsWUFBWSxDQUFDLFFBQVEsRUFBRSxLQUFLLGFBQWEsQ0FBQyxRQUFRLEVBQUU7WUFDcEQsWUFBWSxDQUFDLFdBQVcsRUFBRSxLQUFLLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FDM0QsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLCBsb2NhbGl6ZSB9IGZyb20gXCJAY29tZXRjaGF0L3Vpa2l0LXJlc291cmNlc1wiO1xuXG5pbXBvcnQgeyBDb21ldENoYXQgfSBmcm9tIFwiQGNvbWV0Y2hhdC9jaGF0LXNkay1qYXZhc2NyaXB0XCI7XG5cbmV4cG9ydCBjbGFzcyBDYWxsTG9nVXRpbHMge1xuICBzdGF0aWMgaXNTZW50QnlNZShjYWxsOiBhbnksIGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIpIHtcbiAgICBjb25zdCBzZW5kZXJVaWQ6IHN0cmluZyA9IGNhbGwuZ2V0SW5pdGlhdG9yKCk/LmdldFVpZCgpO1xuICAgIHJldHVybiAhc2VuZGVyVWlkIHx8IHNlbmRlclVpZCA9PT0gbG9nZ2VkSW5Vc2VyPy5nZXRVaWQoKTtcbiAgfVxuXG4gIHN0YXRpYyBpc01pc3NlZENhbGwoY2FsbDogYW55LCBsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyKSB7XG4gICAgY29uc3QgY2FsbFN0YXR1cyA9IGNhbGwuZ2V0U3RhdHVzKCk7XG4gICAgY29uc3Qgc2VudEJ5TWUgPSB0aGlzLmlzU2VudEJ5TWUoY2FsbCwgbG9nZ2VkSW5Vc2VyKTtcblxuICAgIC8vIElmIHRoZSB1c2VyIHNlbnQgdGhlIGNhbGwgYW5kIGl0IHdhcyB1bmFuc3dlcmVkLCBpdCdzIG5vdCBjb3VudGVkIGFzIG1pc3NlZFxuICAgIGlmIChzZW50QnlNZSAmJiBjYWxsU3RhdHVzID09PSBDb21ldENoYXRVSUtpdENvbnN0YW50cy5jYWxscy51bmFuc3dlcmVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gVGhlIGZvbGxvd2luZyBzdGF0dXNlcyBhcmUgY29uc2lkZXJlZCBtaXNzZWQgZm9yIHRoZSByZWNlaXZlclxuICAgIGNvbnN0IG1pc3NlZFN0YXR1c2VzID0gW1xuICAgICAgQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuY2FsbHMudW5hbnN3ZXJlZCxcbiAgICAgIENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLmNhbGxzLmNhbmNlbGxlZCxcbiAgICBdO1xuXG4gICAgLy8gSWYgdGhlIHVzZXIgZGlkbid0IHNlbmQgdGhlIGNhbGwgYW5kIHRoZSBzdGF0dXMgbWF0Y2hlcyBvbmUgb2YgdGhlIG1pc3NlZCBzdGF0dXNlcywgaXQncyBhIG1pc3NlZCBjYWxsXG4gICAgcmV0dXJuICFzZW50QnlNZSAmJiBtaXNzZWRTdGF0dXNlcy5pbmNsdWRlcyhjYWxsU3RhdHVzKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRDYWxsU3RhdHVzV2l0aFR5cGUoXG4gICAgY2FsbDogYW55LFxuICAgIGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIsXG4gICAgaW5jbHVkZVR5cGU6IGJvb2xlYW4gPSBmYWxzZVxuICApOiBzdHJpbmcge1xuICBcbiAgICBpZiAoIWNhbGwgfHwgIWxvZ2dlZEluVXNlcikge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBsZXQgY2FsbE1lc3NhZ2VUZXh0ID0gXCJcIjtcbiAgY29uc3QgY2FsbFN0YXR1cyA9IGNhbGwuZ2V0U3RhdHVzKCk7XG4gIGNvbnN0IHNlbnRCeU1lID0gdGhpcy5pc1NlbnRCeU1lKGNhbGwsIGxvZ2dlZEluVXNlcik7XG4gIGNvbnN0IG1pc3NlZENhbGwgPSB0aGlzLmlzTWlzc2VkQ2FsbChjYWxsLCBsb2dnZWRJblVzZXIpO1xuXG5cbiAgY29uc3QgY2FsbFR5cGVLZXkgPSBcIl9cIlxuXG4gIGlmIChtaXNzZWRDYWxsKSB7XG4gICAgICBjYWxsTWVzc2FnZVRleHQgPSBgTUlTU0VEJHtjYWxsVHlwZUtleX1DQUxMYDtcbiAgfSBlbHNlIHtcbiAgICAgIHN3aXRjaCAoY2FsbFN0YXR1cykge1xuICAgICAgICAgIGNhc2UgQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuY2FsbHMuaW5pdGlhdGVkOlxuICAgICAgICAgICAgICBjYWxsTWVzc2FnZVRleHQgPSBzZW50QnlNZVxuICAgICAgICAgICAgICAgICAgICAgID8gYE9VVEdPSU5HJHtjYWxsVHlwZUtleX1DQUxMYFxuICAgICAgICAgICAgICAgICAgICAgIDogYElOQ09NSU5HJHtjYWxsVHlwZUtleX1DQUxMYDtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBDb21ldENoYXRVSUtpdENvbnN0YW50cy5jYWxscy5vbmdvaW5nOlxuICAgICAgICAgICAgICBjYWxsTWVzc2FnZVRleHQgPSBzZW50QnlNZVxuICAgICAgICAgICAgICAgICAgPyBgT05HT0lORyR7Y2FsbFR5cGVLZXl9Q0FMTGBcbiAgICAgICAgICAgICAgICAgIDogYE9OR09JTkcke2NhbGxUeXBlS2V5fUNBTExgO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLmNhbGxzLmVuZGVkOlxuICAgICAgICAgICAgICBjYWxsTWVzc2FnZVRleHQgPSBzZW50QnlNZVxuICAgICAgICAgICAgICAgICAgPyBgT1VUR09JTkcke2NhbGxUeXBlS2V5fUNBTExgXG4gICAgICAgICAgICAgICAgICA6IGBJTkNPTUlORyR7Y2FsbFR5cGVLZXl9Q0FMTGA7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuY2FsbHMudW5hbnN3ZXJlZDpcbiAgICAgICAgICAgICAgY2FsbE1lc3NhZ2VUZXh0ID0gc2VudEJ5TWVcbiAgICAgICAgICAgICAgICAgID8gYFVOQU5TV0VSRUQke2NhbGxUeXBlS2V5fUNBTExgXG4gICAgICAgICAgICAgICAgICA6IGBNSVNTRUQke2NhbGxUeXBlS2V5fUNBTExgO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLmNhbGxzLmNhbmNlbGxlZDpcbiAgICAgICAgICAgICAgY2FsbE1lc3NhZ2VUZXh0ID0gc2VudEJ5TWVcbiAgICAgICAgICAgICAgICAgID8gYENBTkNFTExFRCR7Y2FsbFR5cGVLZXl9Q0FMTGBcbiAgICAgICAgICAgICAgICAgIDogYE1JU1NFRCR7Y2FsbFR5cGVLZXl9Q0FMTGA7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuY2FsbHMucmVqZWN0ZWQ6XG4gICAgICAgICAgICAgIGNhbGxNZXNzYWdlVGV4dCA9IHNlbnRCeU1lXG4gICAgICAgICAgICAgICAgICA/IGBSRUpFQ1RFRCR7Y2FsbFR5cGVLZXl9Q0FMTGBcbiAgICAgICAgICAgICAgICAgIDogYE1JU1NFRCR7Y2FsbFR5cGVLZXl9Q0FMTGA7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuY2FsbHMuYnVzeTpcbiAgICAgICAgICAgICAgY2FsbE1lc3NhZ2VUZXh0ID0gc2VudEJ5TWVcbiAgICAgICAgICAgICAgICAgID8gYFVOQU5TV0VSRUQke2NhbGxUeXBlS2V5fUNBTExgXG4gICAgICAgICAgICAgICAgICA6IGBNSVNTRUQke2NhbGxUeXBlS2V5fUNBTExgO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICBjYWxsTWVzc2FnZVRleHQgPSBgSU5DT01JTkcke2NhbGxUeXBlS2V5fUNBTExgO1xuICAgICAgfVxuICB9XG5cbiAgcmV0dXJuIGxvY2FsaXplKGNhbGxNZXNzYWdlVGV4dCk7XG4gICAgXG4gIH1cblxuICBzdGF0aWMgY29udmVydE1pbnV0ZXNUb0hvdXJzTWludXRlc1NlY29uZHMobWludXRlczogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IobWludXRlcyAvIDYwKTtcbiAgICBjb25zdCByZW1haW5pbmdNaW51dGVzID0gTWF0aC5mbG9vcihtaW51dGVzICUgNjApO1xuICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKChtaW51dGVzIC0gTWF0aC5mbG9vcihtaW51dGVzKSkgKiA2MCk7XG5cbiAgICBsZXQgaG91cnNTdHJpbmcgPSBcIlwiO1xuICAgIGxldCBtaW51dGVzU3RyaW5nID0gXCJcIjtcbiAgICBsZXQgc2Vjb25kc1N0cmluZyA9IFwiXCI7XG5cbiAgICBpZiAoaG91cnMgPiAwKSB7XG4gICAgICBob3Vyc1N0cmluZyA9IGAke2hvdXJzfWhgO1xuICAgIH1cblxuICAgIGlmIChyZW1haW5pbmdNaW51dGVzID4gMCkge1xuICAgICAgbWludXRlc1N0cmluZyA9IGAke3JlbWFpbmluZ01pbnV0ZXN9bWA7XG4gICAgfVxuXG4gICAgaWYgKHNlY29uZHMgPj0gMCkge1xuICAgICAgc2Vjb25kc1N0cmluZyA9IGAke3NlY29uZHN9c2A7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke2hvdXJzU3RyaW5nfSAke21pbnV0ZXNTdHJpbmd9ICR7c2Vjb25kc1N0cmluZ31gO1xuICB9XG5cbiAgc3RhdGljIGNvbnZlcnRTZWNvbmRzVG9Ib3Vyc01pbnV0ZXNTZWNvbmRzKHNlY29uZHM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKHNlY29uZHMgLyAzNjAwKTtcbiAgICBjb25zdCByZW1haW5pbmdNaW51dGVzID0gTWF0aC5mbG9vcigoc2Vjb25kcyAlIDM2MDApIC8gNjApO1xuICAgIGNvbnN0IHJlbWFpbmluZ1NlY29uZHMgPSBNYXRoLmZsb29yKChzZWNvbmRzICUgMzYwMCkgJSA2MCk7XG5cbiAgICBsZXQgaG91cnNTdHJpbmcgPSBcIlwiO1xuICAgIGxldCBtaW51dGVzU3RyaW5nID0gXCJcIjtcbiAgICBsZXQgc2Vjb25kc1N0cmluZyA9IFwiXCI7XG5cbiAgICBpZiAoaG91cnMgPiAwKSB7XG4gICAgICBob3Vyc1N0cmluZyA9IGAke2hvdXJzfWhgO1xuICAgIH1cblxuICAgIGlmIChyZW1haW5pbmdNaW51dGVzID4gMCkge1xuICAgICAgbWludXRlc1N0cmluZyA9IGAke3JlbWFpbmluZ01pbnV0ZXN9bWA7XG4gICAgfVxuXG4gICAgaWYgKHJlbWFpbmluZ1NlY29uZHMgPj0gMCkge1xuICAgICAgc2Vjb25kc1N0cmluZyA9IGAke3JlbWFpbmluZ1NlY29uZHN9c2A7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke2hvdXJzU3RyaW5nfSAke21pbnV0ZXNTdHJpbmd9ICR7c2Vjb25kc1N0cmluZ31gO1xuICB9XG5cbiAgc3RhdGljIGlzRGF0ZURpZmZlcmVudChcbiAgICBmaXJzdERhdGU6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgICBzZWNvbmREYXRlOiBudW1iZXIgfCB1bmRlZmluZWRcbiAgKSB7XG4gICAgbGV0IGZpcnN0RGF0ZU9iajogRGF0ZSwgc2Vjb25kRGF0ZU9iajogRGF0ZTtcbiAgICBmaXJzdERhdGVPYmogPSBuZXcgRGF0ZShmaXJzdERhdGUhICogMTAwMCk7XG4gICAgc2Vjb25kRGF0ZU9iaiA9IG5ldyBEYXRlKHNlY29uZERhdGUhICogMTAwMCk7XG4gICAgcmV0dXJuIChcbiAgICAgIGZpcnN0RGF0ZU9iai5nZXREYXRlKCkgIT09IHNlY29uZERhdGVPYmouZ2V0RGF0ZSgpIHx8XG4gICAgICBmaXJzdERhdGVPYmouZ2V0TW9udGgoKSAhPT0gc2Vjb25kRGF0ZU9iai5nZXRNb250aCgpIHx8XG4gICAgICBmaXJzdERhdGVPYmouZ2V0RnVsbFllYXIoKSAhPT0gc2Vjb25kRGF0ZU9iai5nZXRGdWxsWWVhcigpXG4gICAgKTtcbiAgfVxufVxuIl19