stream-chat-angular 6.2.0 → 6.3.0-beta.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 (106) hide show
  1. package/assets/i18n/en.d.ts +42 -0
  2. package/assets/version.d.ts +1 -1
  3. package/esm2020/assets/i18n/en.mjs +43 -1
  4. package/esm2020/assets/version.mjs +2 -2
  5. package/esm2020/lib/channel-list/channel-list.component.mjs +3 -3
  6. package/esm2020/lib/channel-preview/channel-preview.component.mjs +4 -1
  7. package/esm2020/lib/channel.service.mjs +6 -3
  8. package/esm2020/lib/custom-templates.service.mjs +9 -1
  9. package/esm2020/lib/icon/icon.component.mjs +1 -1
  10. package/esm2020/lib/message/message.component.mjs +21 -6
  11. package/esm2020/lib/message-actions.service.mjs +5 -1
  12. package/esm2020/lib/message-input/message-input.component.mjs +30 -5
  13. package/esm2020/lib/message-preview.mjs +3 -2
  14. package/esm2020/lib/modal/modal.component.mjs +3 -3
  15. package/esm2020/lib/modal/stream-modal.module.mjs +19 -0
  16. package/esm2020/lib/notification-list/stream-notification.module.mjs +20 -0
  17. package/esm2020/lib/paginated-list/stream-paginated-list.module.mjs +20 -0
  18. package/esm2020/lib/polls/base-poll.component.mjs +88 -0
  19. package/esm2020/lib/polls/poll/poll.component.mjs +34 -0
  20. package/esm2020/lib/polls/poll-actions/add-option/add-option.component.mjs +67 -0
  21. package/esm2020/lib/polls/poll-actions/poll-actions.component.mjs +137 -0
  22. package/esm2020/lib/polls/poll-actions/poll-answers-list/poll-answers-list.component.mjs +82 -0
  23. package/esm2020/lib/polls/poll-actions/poll-results/poll-results-list/poll-results-list.component.mjs +63 -0
  24. package/esm2020/lib/polls/poll-actions/poll-results/poll-vote/poll-vote.component.mjs +33 -0
  25. package/esm2020/lib/polls/poll-actions/poll-results/poll-vote-results-list/poll-vote-results-list.component.mjs +82 -0
  26. package/esm2020/lib/polls/poll-actions/upsert-answer/upsert-answer.component.mjs +60 -0
  27. package/esm2020/lib/polls/poll-composer/poll-composer.component.mjs +134 -0
  28. package/esm2020/lib/polls/poll-composer/validators.mjs +18 -0
  29. package/esm2020/lib/polls/poll-header/poll-header.component.mjs +80 -0
  30. package/esm2020/lib/polls/poll-option-selector/poll-option-selector.component.mjs +137 -0
  31. package/esm2020/lib/polls/poll-options-list/poll-options-list.component.mjs +39 -0
  32. package/esm2020/lib/polls/poll-preview/poll-preview.component.mjs +31 -0
  33. package/esm2020/lib/polls/stream-polls.module.mjs +108 -0
  34. package/esm2020/lib/polls/unique.validator.mjs +13 -0
  35. package/esm2020/lib/stream-chat.module.mjs +26 -19
  36. package/esm2020/lib/types.mjs +1 -1
  37. package/esm2020/public-api.mjs +18 -1
  38. package/fesm2015/stream-chat-angular.mjs +1335 -61
  39. package/fesm2015/stream-chat-angular.mjs.map +1 -1
  40. package/fesm2020/stream-chat-angular.mjs +1292 -59
  41. package/fesm2020/stream-chat-angular.mjs.map +1 -1
  42. package/lib/channel.service.d.ts +2 -1
  43. package/lib/custom-templates.service.d.ts +14 -0
  44. package/lib/icon/icon.component.d.ts +1 -1
  45. package/lib/message/message.component.d.ts +1 -1
  46. package/lib/message-actions.service.d.ts +4 -0
  47. package/lib/message-input/message-input.component.d.ts +11 -1
  48. package/lib/message-preview.d.ts +1 -1
  49. package/lib/modal/stream-modal.module.d.ts +9 -0
  50. package/lib/notification-list/stream-notification.module.d.ts +10 -0
  51. package/lib/paginated-list/stream-paginated-list.module.d.ts +10 -0
  52. package/lib/polls/base-poll.component.d.ts +43 -0
  53. package/lib/polls/poll/poll.component.d.ts +12 -0
  54. package/lib/polls/poll-actions/add-option/add-option.component.d.ts +22 -0
  55. package/lib/polls/poll-actions/poll-actions.component.d.ts +50 -0
  56. package/lib/polls/poll-actions/poll-answers-list/poll-answers-list.component.d.ts +25 -0
  57. package/lib/polls/poll-actions/poll-results/poll-results-list/poll-results-list.component.d.ts +22 -0
  58. package/lib/polls/poll-actions/poll-results/poll-vote/poll-vote.component.d.ts +20 -0
  59. package/lib/polls/poll-actions/poll-results/poll-vote-results-list/poll-vote-results-list.component.d.ts +24 -0
  60. package/lib/polls/poll-actions/upsert-answer/upsert-answer.component.d.ts +27 -0
  61. package/lib/polls/poll-composer/poll-composer.component.d.ts +43 -0
  62. package/lib/polls/poll-composer/validators.d.ts +3 -0
  63. package/lib/polls/poll-header/poll-header.component.d.ts +19 -0
  64. package/lib/polls/poll-option-selector/poll-option-selector.component.d.ts +27 -0
  65. package/lib/polls/poll-options-list/poll-options-list.component.d.ts +17 -0
  66. package/lib/polls/poll-preview/poll-preview.component.d.ts +13 -0
  67. package/lib/polls/stream-polls.module.d.ts +26 -0
  68. package/lib/polls/unique.validator.d.ts +2 -0
  69. package/lib/stream-chat.module.d.ts +20 -19
  70. package/lib/types.d.ts +2 -1
  71. package/package.json +6 -2
  72. package/public-api.d.ts +17 -0
  73. package/src/assets/i18n/en.ts +46 -0
  74. package/src/assets/styles/css/index.css +1 -1
  75. package/src/assets/styles/css/index.layout.css +1 -1
  76. package/src/assets/styles/scss/AttachmentList/AttachmentList-layout.scss +50 -0
  77. package/src/assets/styles/scss/AttachmentList/AttachmentList-theme.scss +56 -0
  78. package/src/assets/styles/scss/AttachmentPreviewList/AttachmentPreviewList-layout.scss +4 -1
  79. package/src/assets/styles/scss/AttachmentPreviewList/AttachmentPreviewList-theme.scss +11 -0
  80. package/src/assets/styles/scss/Autocomplete/Autocomplete-layout.scss +14 -0
  81. package/src/assets/styles/scss/Autocomplete/Autocomplete-theme.scss +11 -0
  82. package/src/assets/styles/scss/Dialog/Dialog-layout.scss +13 -5
  83. package/src/assets/styles/scss/DropzoneContainer/DropzoneContainer-layout.scss +14 -0
  84. package/src/assets/styles/scss/DropzoneContainer/DropzoneContainer-theme.scss +17 -0
  85. package/src/assets/styles/scss/Form/Form-layout.scss +40 -0
  86. package/src/assets/styles/scss/Form/Form-theme.scss +75 -10
  87. package/src/assets/styles/scss/Icon/Icon-layout.scss +6 -0
  88. package/src/assets/styles/scss/Icon/Icon-theme.scss +4 -0
  89. package/src/assets/styles/scss/LinkPreview/LinkPreview-layout.scss +18 -0
  90. package/src/assets/styles/scss/LinkPreview/LinkPreview-theme.scss +15 -0
  91. package/src/assets/styles/scss/Location/Location-layout.scss +52 -0
  92. package/src/assets/styles/scss/Location/Location-theme.scss +32 -0
  93. package/src/assets/styles/scss/Message/Message-layout.scss +37 -2
  94. package/src/assets/styles/scss/Message/Message-theme.scss +40 -1
  95. package/src/assets/styles/scss/MessageActionsBox/MessageActionsBox-theme.scss +8 -0
  96. package/src/assets/styles/scss/MessageInput/MessageInput-layout.scss +32 -13
  97. package/src/assets/styles/scss/MessageInput/MessageInput-theme.scss +28 -20
  98. package/src/assets/styles/scss/Modal/Modal-layout.scss +2 -0
  99. package/src/assets/styles/scss/Modal/Modal-theme.scss +21 -6
  100. package/src/assets/styles/scss/Poll/Poll-layout.scss +45 -44
  101. package/src/assets/styles/scss/Poll/Poll-theme.scss +8 -36
  102. package/src/assets/styles/scss/_icons.scss +1 -0
  103. package/src/assets/styles/scss/index.layout.scss +3 -1
  104. package/src/assets/styles/scss/index.scss +2 -0
  105. package/src/assets/version.ts +1 -1
  106. /package/src/assets/styles/scss/DragAndDropContainer/{DragAmdDropContainer-layout.scss → DragAndDropContainer-layout.scss} +0 -0
@@ -110,5 +110,47 @@ export declare const en: {
110
110
  'You currently have {{count}} attachments, the maximum is {{max}}': string;
111
111
  'and others': string;
112
112
  'Message was blocked by moderation policies': string;
113
+ 'Vote ended': string;
114
+ 'Select one': string;
115
+ 'Select up to {{count}}': string;
116
+ 'Select one or more': string;
117
+ 'See all options ({{count}})': string;
118
+ 'Suggest an option': string;
119
+ 'Add a comment': string;
120
+ 'Update your comment': string;
121
+ 'View {{ count }} comments': string;
122
+ 'View {{ count }} comment': string;
123
+ 'View results': string;
124
+ 'End vote': string;
125
+ 'After a poll is closed, no more votes can be cast': string;
126
+ 'Failed to end vote': string;
127
+ 'Failed to cast vote': string;
128
+ Anonymous: string;
129
+ '{{ count }} votes': string;
130
+ 'Show all': string;
131
+ 'Poll results': string;
132
+ 'Error loading votes': string;
133
+ 'Poll comments': string;
134
+ 'Error loading answers': string;
135
+ Comment: string;
136
+ 'Failed to add comment': string;
137
+ 'Failed to add option ({{ message }})': string;
138
+ 'Option already exists': string;
139
+ 'You have reached the maximum number of votes allowed': string;
140
+ 'Create poll': string;
141
+ Create: string;
142
+ Question: string;
143
+ 'Ask a question': string;
144
+ 'Question is required': string;
145
+ Options: string;
146
+ 'Add an option': string;
147
+ 'Multiple answers': string;
148
+ 'Maximum number of votes': string;
149
+ 'Provide a value between {{ min }} and {{ max }}': string;
150
+ 'Anonymous poll': string;
151
+ 'Allow option suggestions': string;
152
+ 'Allow comments': string;
153
+ 'Failed to create poll': string;
154
+ 'Provide at least one option': string;
113
155
  };
114
156
  };
@@ -1 +1 @@
1
- export declare const version = "6.2.0";
1
+ export declare const version = "6.3.0-beta.1";
@@ -110,6 +110,48 @@ export const en = {
110
110
  'You currently have {{count}} attachments, the maximum is {{max}}': 'You currently have {{count}} attachments, the maximum is {{max}}',
111
111
  'and others': 'and others',
112
112
  'Message was blocked by moderation policies': 'Message was blocked by moderation policies',
113
+ 'Vote ended': 'Vote ended',
114
+ 'Select one': 'Select one',
115
+ 'Select up to {{count}}': 'Select up to {{count}}',
116
+ 'Select one or more': 'Select one or more',
117
+ 'See all options ({{count}})': 'See all options ({{count}})',
118
+ 'Suggest an option': 'Suggest an option',
119
+ 'Add a comment': 'Add a comment',
120
+ 'Update your comment': 'Update your comment',
121
+ 'View {{ count }} comments': 'View {{ count }} comments',
122
+ 'View {{ count }} comment': 'View {{ count }} comment',
123
+ 'View results': 'View results',
124
+ 'End vote': 'End vote',
125
+ 'After a poll is closed, no more votes can be cast': 'After a poll is closed, no more votes can be cast',
126
+ 'Failed to end vote': 'Failed to end vote',
127
+ 'Failed to cast vote': 'Failed to cast vote',
128
+ Anonymous: 'Anonymous',
129
+ '{{ count }} votes': '{{ count }} votes',
130
+ 'Show all': 'Show all',
131
+ 'Poll results': 'Poll results',
132
+ 'Error loading votes': 'Error loading votes',
133
+ 'Poll comments': 'Poll comments',
134
+ 'Error loading answers': 'Error loading answers',
135
+ Comment: 'Comment',
136
+ 'Failed to add comment': 'Failed to add comment',
137
+ 'Failed to add option ({{ message }})': 'Failed to add option ({{ message }})',
138
+ 'Option already exists': 'Option already exists',
139
+ 'You have reached the maximum number of votes allowed': 'You have reached the maximum number of votes allowed',
140
+ 'Create poll': 'Create poll',
141
+ Create: 'Create',
142
+ Question: 'Question',
143
+ 'Ask a question': 'Ask a question',
144
+ 'Question is required': 'Question is required',
145
+ Options: 'Options',
146
+ 'Add an option': 'Add an option',
147
+ 'Multiple answers': 'Multiple answers',
148
+ 'Maximum number of votes': 'Maximum number of votes',
149
+ 'Provide a value between {{ min }} and {{ max }}': 'Provide a value between {{ min }} and {{ max }}',
150
+ 'Anonymous poll': 'Anonymous poll',
151
+ 'Allow option suggestions': 'Allow option suggestions',
152
+ 'Allow comments': 'Allow comments',
153
+ 'Failed to create poll': 'Failed to create poll',
154
+ 'Provide at least one option': 'Provide at least one option',
113
155
  },
114
156
  };
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9hc3NldHMvaTE4bi9lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUc7SUFDaEIsVUFBVSxFQUFFO1FBQ1YsU0FBUyxFQUFFLFNBQVM7UUFDcEIsY0FBYyxFQUFFLGNBQWM7UUFDOUIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsaUJBQWlCLEVBQUUsaUJBQWlCO1FBQ3BDLEtBQUssRUFBRSxPQUFPO1FBQ2Qsb0JBQW9CLEVBQUUsb0JBQW9CO1FBQzFDLG1CQUFtQixFQUFFLG1CQUFtQjtRQUN4Qyx5Q0FBeUMsRUFDdkMseUNBQXlDO1FBQzNDLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLGNBQWMsRUFBRSxjQUFjO1FBQzlCLDZCQUE2QixFQUFFLDZCQUE2QjtRQUM1RCxnQkFBZ0IsRUFBRSxnQkFBZ0I7UUFDbEMsa0JBQWtCLEVBQUUsa0JBQWtCO1FBQ3RDLG1CQUFtQixFQUFFLG1CQUFtQjtRQUN4QywwREFBMEQsRUFDeEQseURBQXlEO1FBQzNELHdCQUF3QixFQUFFLHdCQUF3QjtRQUNsRCx5QkFBeUIsRUFBRSx5QkFBeUI7UUFDcEQseUJBQXlCLEVBQUUseUJBQXlCO1FBQ3BELHVCQUF1QixFQUFFLHVCQUF1QjtRQUNoRCw0QkFBNEIsRUFBRSw0QkFBNEI7UUFDMUQsMkJBQTJCLEVBQUUsMkJBQTJCO1FBQ3hELHNCQUFzQixFQUFFLG1DQUFtQztRQUMzRCxrREFBa0QsRUFDaEQsc0VBQXNFO1FBQ3hFLCtDQUErQyxFQUM3Qyw0REFBNEQ7UUFDOUQsMkJBQTJCLEVBQUUsMkJBQTJCO1FBQ3hELGdCQUFnQixFQUFFLDBCQUEwQjtRQUM1QywyQkFBMkIsRUFBRSwyQkFBMkI7UUFDeEQsSUFBSSxFQUFFLE1BQU07UUFDWixnQkFBZ0Is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d0NBQXdDO1FBQzFDLCtCQUErQixFQUFFLCtCQUErQjtRQUNoRSwrQ0FBK0MsRUFDN0MsK0NBQStDO1FBQ2pELGtFQUFrRSxFQUNoRSxrRUFBa0U7UUFDcEUsWUFBWSxFQUFFLFlBQVk7UUFDMUIsNENBQTRDLEVBQzFDLDRDQUE0QztLQUMvQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW4gPSB7XG4gIHN0cmVhbUNoYXQ6IHtcbiAgICAnMSByZXBseSc6ICcxIHJlcGx5JyxcbiAgICAnQXR0YWNoIGZpbGVzJzogJ0F0dGFjaCBmaWxlcycsXG4gICAgQ2FuY2VsOiAnQ2FuY2VsJyxcbiAgICAnQ2hhbm5lbCBNaXNzaW5nJzogJ0NoYW5uZWwgTWlzc2luZycsXG4gICAgQ2xvc2U6ICdDbG9zZScsXG4gICAgJ0Nsb3NlIGVtb2ppIHBpY2tlcic6ICdDbG9zZSBlbW9qaSBwaWNrZXInLFxuICAgICdDb21tYW5kcyBtYXRjaGluZyc6ICdDb21tYW5kcyBtYXRjaGluZycsXG4gICAgJ0Nvbm5lY3Rpb24gZmFpbHVyZSwgcmVjb25uZWN0aW5nIG5vdy4uLic6XG4gICAgICAnQ29ubmVjdGlvbiBmYWlsdXJlLCByZWNvbm5lY3Rpbmcgbm93Li4uJyxcbiAgICBEZWxldGU6ICdEZWxldGUnLFxuICAgIERlbGl2ZXJlZDogJ0RlbGl2ZXJlZCcsXG4gICAgJ0VkaXQgTWVzc2FnZSc6ICdFZGl0IE1lc3NhZ2UnLFxuICAgICdFZGl0IG1lc3NhZ2UgcmVxdWVzdCBmYWlsZWQnOiAnRWRpdCBtZXNzYWdlIHJlcXVlc3QgZmFpbGVkJyxcbiAgICAnRW1vamkgbWF0Y2hpbmcnOiAnRW1vamkgbWF0Y2hpbmcnLFxuICAgICdFbXB0eSBtZXNzYWdlLi4uJzogJ0VtcHR5IG1lc3NhZ2UuLi4nLFxuICAgICdFcnJvciBhZGRpbmcgZmxhZyc6ICdFcnJvciBhZGRpbmcgZmxhZycsXG4gICAgJ0Vycm9yIGNvbm5lY3RpbmcgdG8gY2hhdCwgcmVmcmVzaCB0aGUgcGFnZSB0byB0cnkgYWdhaW4uJzpcbiAgICAgICdFcnJvciBjb25uZWN0aW5nIHRvIGNoYXQsIHJlZnJlc2ggdGhlIHBhZ2UgdG8gdHJ5IGFnYWluJyxcbiAgICAnRXJyb3IgZGVsZXRpbmcgbWVzc2FnZSc6ICdFcnJvciBkZWxldGluZyBtZXNzYWdlJyxcbiAgICAnRXJyb3IgbG9hZGluZyByZWFjdGlvbnMnOiAnRXJyb3IgbG9hZGluZyByZWFjdGlvbnMnLFxuICAgICdFcnJvciBtdXRpbmcgYSB1c2VyIC4uLic6ICdFcnJvciBtdXRpbmcgYSB1c2VyIC4uLicsXG4gICAgJ0Vycm9yIHBpbm5pbmcgbWVzc2FnZSc6ICdFcnJvciBwaW5uaW5nIG1lc3NhZ2UnLFxuICAgICdFcnJvciByZW1vdmluZyBtZXNzYWdlIHBpbic6ICdFcnJvciByZW1vdmluZyBtZXNzYWdlIHBpbicsXG4gICAgJ0Vycm9yIHVubXV0aW5nIGEgdXNlciAuLi4nOiAnRXJyb3IgdW5tdXRpbmcgYSB1c2VyIC4uLicsXG4gICAgJ0Vycm9yIHVwbG9hZGluZyBmaWxlJzogJ0Vycm9yIHVwbG9hZGluZyBmaWxlIFwie3sgbmFtZSB9fVwiJyxcbiAgICAnRXJyb3IgdXBsb2FkaW5nIGZpbGUsIG1heGltdW0gZmlsZSBzaXplIGV4Y2VlZGVkJzpcbiAgICAgICdFcnJvciB1cGxvYWRpbmcgXCJ7eyBuYW1lIH19XCIsIG1heGltdW0gZmlsZSBzaXplIHt7IGxpbWl0IH19IGV4Y2VlZGVkJyxcbiAgICAnRXJyb3IgdXBsb2FkaW5nIGZpbGUsIGV4dGVuc2lvbiBub3Qgc3VwcG9ydGVkJzpcbiAgICAgICdFcnJvciB1cGxvYWRpbmcgXCJ7eyBuYW1lIH19XCIsIHR5cGUge3sgZXh0IH19IG5vdCBzdXBwb3J0ZWQnLFxuICAgICdFcnJvciBkZWxldGluZyBhdHRhY2htZW50JzogJ0Vycm9yIGRlbGV0aW5nIGF0dGFjaG1lbnQnLFxuICAgICdFcnJvciDCtyBVbnNlbnQnOiBcIk1lc3NhZ2UgY291bGRuJ3QgYmUgc2VudFwiLFxuICAgICdFcnJvcjoge3sgZXJyb3JNZXNzYWdlIH19JzogJ0Vycm9yOiB7eyBlcnJvck1lc3NhZ2UgfX0nLFxuICAgIEZsYWc6ICdGbGFnJyxcbiAgICAnTWVzc2FnZSBGYWlsZWQnOiAnTWVzc2FnZSBGYWlsZWQnLFxuICAgICdNZXNzYWdlIEZhaWxlZCDCtyBVbmF1dGhvcml6ZWQnOiAnVW5hdXRob3JpemVkIHRvIHNlbmQgbWVzc2FnZScsXG4gICAgJ01lc3NhZ2UgRmFpbGVkIMK3IENsaWNrIHRvIHRyeSBhZ2Fpbic6XG4gICAgICBcIk1lc3NhZ2UgY291bGRuJ3QgYmUgc2VudCwgY2xpY2sgdG8gdHJ5IGFnYWluXCIsXG4gICAgJ01lc3NhZ2UgZGVsZXRlZCc6ICdNZXNzYWdlIGRlbGV0ZWQnLFxuICAgICdNZXNzYWdlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBmbGFnZ2VkJzpcbiAgICAgICdNZXNzYWdlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBmbGFnZ2VkJyxcbiAgICAnTWVzc2FnZSBwaW5uZWQnOiAnTWVzc2FnZSBwaW5uZWQnLFxuICAgICdNZXNzYWdlIHVucGlubmVkJzogJ01lc3NhZ2UgdW5waW5uZWQnLFxuICAgIE11dGU6ICdNdXRlJyxcbiAgICBOZXc6ICdOZXcnLFxuICAgICdOZXcgTWVzc2FnZXMhJzogJ05ldyBNZXNzYWdlcyEnLFxuICAgICdObyByZXN1bHRzIGZvdW5kJzogJ05vIHJlc3VsdHMgZm91bmQnLFxuICAgICdOb3RoaW5nIHlldC4uLic6ICdOb3RoaW5nIHlldC4uLicsXG4gICAgJ09ubHkgdmlzaWJsZSB0byB5b3UnOiAnT25seSB2aXNpYmxlIHRvIHlvdScsXG4gICAgJ09wZW4gZW1vamkgcGlja2VyJzogJ09wZW4gZW1vamkgcGlja2VyJyxcbiAgICAnUGVvcGxlIG1hdGNoaW5nJzogJ1Blb3BsZSBtYXRjaGluZycsXG4gICAgJ1BpY2sgeW91ciBlbW9qaSc6ICdQaWNrIHlvdXIgZW1vamknLFxuICAgIFBpbjogJ1BpbicsXG4gICAgJ1Bpbm5lZCBieSc6ICdQaW5uZWQgYnknLFxuICAgIFJlcGx5OiAnUXVvdGUgUmVwbHknLFxuICAgICdSZXBseSB0byBNZXNzYWdlJzogJ1JlcGx5IHRvIE1lc3NhZ2UnLFxuICAgIFNlYXJjaDogJ1NlYXJjaCcsXG4gICAgJ1NlYXJjaGluZy4uLic6ICdTZWFyY2hpbmcuLi4nLFxuICAgIFNlbmQ6ICdTZW5kJyxcbiAgICAnU2VuZCBtZXNzYWdlIHJlcXVlc3QgZmFpbGVkJzogJ1NlbmQgbWVzc2FnZSByZXF1ZXN0IGZhaWxlZCcsXG4gICAgJ1NlbmRpbmcuLi4nOiAnU2VuZGluZy4uLicsXG4gICAgJ1Nsb3cgTW9kZSBPTic6ICdTbG93IE1vZGUgT04nLFxuICAgICdTdGFydCBvZiBhIG5ldyB0aHJlYWQnOiAnU3RhcnQgb2YgYSBuZXcgdGhyZWFkJyxcbiAgICAnVGhpcyBtZXNzYWdlIHdhcyBkZWxldGVkLi4uJzogJ1RoaXMgbWVzc2FnZSB3YXMgZGVsZXRlZC4uLicsXG4gICAgVGhyZWFkOiAnVGhyZWFkIHJlcGx5JyxcbiAgICAnVHlwZSB5b3VyIG1lc3NhZ2UnOiAnVHlwZSB5b3VyIG1lc3NhZ2UnLFxuICAgIFVubXV0ZTogJ1VubXV0ZScsXG4gICAgVW5waW46ICdVbnBpbicsXG4gICAgJ1dhaXQgdW50aWwgYWxsIGF0dGFjaG1lbnRzIGhhdmUgdXBsb2FkZWQnOlxuICAgICAgJ1dhaXQgdW50aWwgYWxsIGF0dGFjaG1lbnRzIGhhdmUgdXBsb2FkZWQnLFxuICAgICdZb3UgaGF2ZSBubyBjaGFubmVscyBjdXJyZW50bHknOiAnWW91IGhhdmUgbm8gY2hhbm5lbHMgY3VycmVudGx5JyxcbiAgICBcIllvdSd2ZSByZWFjaGVkIHRoZSBtYXhpbXVtIG51bWJlciBvZiBmaWxlc1wiOlxuICAgICAgXCJZb3UndmUgcmVhY2hlZCB0aGUgbWF4aW11bSBudW1iZXIgb2YgZmlsZXNcIixcbiAgICBsaXZlOiAnbGl2ZScsXG4gICAgJ3RoaXMgY29udGVudCBjb3VsZCBub3QgYmUgZGlzcGxheWVkJzpcbiAgICAgICd0aGlzIGNvbnRlbnQgY291bGQgbm90IGJlIGRpc3BsYXllZCcsXG4gICAgJ3t7IGNvbW1hU2VwYXJhdGVkVXNlcnMgfX0gYW5kIHt7IG1vcmVDb3VudCB9fSBtb3JlJzpcbiAgICAgICd7eyBjb21tYVNlcGFyYXRlZFVzZXJzIH19IGFuZCB7eyBtb3JlQ291bnQgfX0gbW9yZScsXG4gICAgJ3t7IGNvbW1hU2VwYXJhdGVkVXNlcnMgfX0sIGFuZCB7eyBsYXN0VXNlciB9fSc6XG4gICAgICAne3sgY29tbWFTZXBhcmF0ZWRVc2VycyB9fSwgYW5kIHt7IGxhc3RVc2VyIH19JyxcbiAgICAne3sgZmlyc3RVc2VyIH19IGFuZCB7eyBzZWNvbmRVc2VyIH19JzpcbiAgICAgICd7eyBmaXJzdFVzZXIgfX0gYW5kIHt7IHNlY29uZFVzZXIgfX0nLFxuICAgICd7eyBpbWFnZUNvdW50IH19IG1vcmUnOiAne3sgaW1hZ2VDb3VudCB9fSBtb3JlJyxcbiAgICAne3sgbWVtYmVyQ291bnQgfX0gbWVtYmVycyc6ICd7eyBtZW1iZXJDb3VudCB9fSBtZW1iZXJzJyxcbiAgICAne3sgcmVwbHlDb3VudCB9fSByZXBsaWVzJzogJ3t7IHJlcGx5Q291bnQgfX0gcmVwbGllcycsXG4gICAgJ3t7IHVzZXIgfX0gaGFzIGJlZW4gbXV0ZWQnOiAne3sgdXNlciB9fSBoYXMgYmVlbiBtdXRlZCcsXG4gICAgJ3t7IHVzZXIgfX0gaGFzIGJlZW4gdW5tdXRlZCc6ICd7eyB1c2VyIH19IGhhcyBiZWVuIHVubXV0ZWQnLFxuICAgICd7eyB3YXRjaGVyQ291bnQgfX0gb25saW5lJzogJ3t7IHdhdGNoZXJDb3VudCB9fSBvbmxpbmUnLFxuICAgICfwn4+ZIEF0dGFjaG1lbnQuLi4nOiAn8J+PmSBBdHRhY2htZW50Li4uJyxcbiAgICAnQ29ubmVjdGlvbiBlcnJvcic6ICdDb25uZWN0aW9uIGVycm9yJyxcbiAgICAnTG9hZCBtb3JlJzogJ0xvYWQgbW9yZScsXG4gICAgZmFpbGVkOiAnZmFpbGVkJyxcbiAgICByZXRyeTogJ3JldHJ5JyxcbiAgICB0ZXN0OiAnc3VjY2VzcycsXG4gICAgJ1NlbmRpbmcgbGlua3MgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb252ZXJzYXRpb24nOlxuICAgICAgJ1NlbmRpbmcgbGlua3MgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb252ZXJzYXRpb24nLFxuICAgIFwiWW91IGNhbid0IHNlbmQgbWVzc2FnZXMgaW4gdGhpcyBjaGFubmVsXCI6XG4gICAgICBcIllvdSBjYW4ndCBzZW5kIG1lc3NhZ2VzIGluIHRoaXMgY2hhbm5lbFwiLFxuICAgIFwiWW91IGNhbid0IHNlbmQgdGhyZWFkIHJlcGxpZXMgaW4gdGhpcyBjaGFubmVsXCI6XG4gICAgICBcIllvdSBjYW4ndCBzZW5kIHRocmVhZCByZXBsaWVzIGluIHRoaXMgY2hhbm5lbFwiLFxuICAgICdNZXNzYWdlIG5vdCBmb3VuZCc6ICdNZXNzYWdlIG5vdCBmb3VuZCcsXG4gICAgJ05vIGNoYXRzIGhlcmUgeWV04oCmJzogJ05vIGNoYXRzIGhlcmUgeWV04oCmJyxcbiAgICAndXNlciBpcyB0eXBpbmcnOiAne3sgdXNlciB9fSBpcyB0eXBpbmcnLFxuICAgICd1c2VycyBhcmUgdHlwaW5nJzogJ3t7IHVzZXJzIH19IGFyZSB0eXBpbmcnLFxuICAgICdFcnJvciBsb2FkaW5nIGNoYW5uZWxzJzogJ0Vycm9yIGxvYWRpbmcgY2hhbm5lbHMnLFxuICAgICdTZWUgb3JpZ2luYWwgKGF1dG9tYXRpY2FsbHkgdHJhbnNsYXRlZCknOlxuICAgICAgJ1NlZSBvcmlnaW5hbCAoYXV0b21hdGljYWxseSB0cmFuc2xhdGVkKScsXG4gICAgJ1NlZSB0cmFuc2xhdGlvbic6ICdTZWUgdHJhbnNsYXRpb24nLFxuICAgICdNYXJrIGFzIHVucmVhZCc6ICdNYXJrIGFzIHVucmVhZCcsXG4gICAgJ0Vycm9yIG1hcmtpbmcgbWVzc2FnZSBhcyB1bnJlYWQnOiAnRXJyb3IgbWFya2luZyBtZXNzYWdlIGFzIHVucmVhZCcsXG4gICAgJ0Vycm9yLCBvbmx5IHRoZSBmaXJzdCB7e2NvdW50fX0gbWVzc2FnZSBjYW4gYmUgbWFya2VkIGFzIHVucmVhZCc6XG4gICAgICAnRXJyb3IsIG9ubHkgdGhlIGZpcnN0IHt7Y291bnR9fSBtZXNzYWdlIGNhbiBiZSBtYXJrZWQgYXMgdW5yZWFkJyxcbiAgICAnVW5yZWFkIG1lc3NhZ2VzJzogJ1VucmVhZCBtZXNzYWdlcycsXG4gICAgJ3t7Y291bnR9fSB1bnJlYWQgbWVzc2FnZXMnOiAne3tjb3VudH19IHVucmVhZCBtZXNzYWdlcycsXG4gICAgJ3t7Y291bnR9fSB1bnJlYWQgbWVzc2FnZSc6ICd7e2NvdW50fX0gdW5yZWFkIG1lc3NhZ2UnLFxuICAgICdUaGlzIG1lc3NhZ2UgZGlkIG5vdCBtZWV0IG91ciBjb250ZW50IGd1aWRlbGluZXMnOlxuICAgICAgJ1RoaXMgbWVzc2FnZSBkaWQgbm90IG1lZXQgb3VyIGNvbnRlbnQgZ3VpZGVsaW5lcycsXG4gICAgJ1NlbmQgQW55d2F5JzogJ1NlbmQgQW55d2F5JyxcbiAgICBFZGl0ZWQ6ICdFZGl0ZWQnLFxuICAgICdFcnJvciBwbGF5aW5nIGF1ZGlvJzogJ0Vycm9yIHBsYXlpbmcgYXVkaW8nLFxuICAgICdDb3B5IHRleHQnOiAnQ29weSB0ZXh0JyxcbiAgICAnUGxlYXNlIGdyYW50IHBlcm1pc3Npb24gdG8gdXNlIG1pY3JvaHBvbmUnOlxuICAgICAgJ1BsZWFzZSBncmFudCBwZXJtaXNzaW9uIHRvIHVzZSBtaWNyb2hwb25lJyxcbiAgICAnRXJyb3Igc3RhcnRpbmcgcmVjb3JkaW5nJzogJ0Vycm9yIHN0YXJ0aW5nIHJlY29yZGluZycsXG4gICAgJ0FuIGVycm9yIGhhcyBvY2N1cnJlZCBkdXJpbmcgcmVjb3JkaW5nJzpcbiAgICAgICdBbiBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHJlY29yZGluZycsXG4gICAgJ01lZGlhIHJlY29yZGluZyBub3Qgc3VwcG9ydGVkJzogJ01lZGlhIHJlY29yZGluZyBub3Qgc3VwcG9ydGVkJyxcbiAgICBcIllvdSBjYW4ndCB1cGxvZCBtb3JlIHRoYW4ge3ttYXh9fSBhdHRhY2htZW50c1wiOlxuICAgICAgXCJZb3UgY2FuJ3QgdXBsb2QgbW9yZSB0aGFuIHt7bWF4fX0gYXR0YWNobWVudHNcIixcbiAgICAnWW91IGN1cnJlbnRseSBoYXZlIHt7Y291bnR9fSBhdHRhY2htZW50cywgdGhlIG1heGltdW0gaXMge3ttYXh9fSc6XG4gICAgICAnWW91IGN1cnJlbnRseSBoYXZlIHt7Y291bnR9fSBhdHRhY2htZW50cywgdGhlIG1heGltdW0gaXMge3ttYXh9fScsXG4gICAgJ2FuZCBvdGhlcnMnOiAnYW5kIG90aGVycycsXG4gICAgJ01lc3NhZ2Ugd2FzIGJsb2NrZWQgYnkgbW9kZXJhdGlvbiBwb2xpY2llcyc6XG4gICAgICAnTWVzc2FnZSB3YXMgYmxvY2tlZCBieSBtb2RlcmF0aW9uIHBvbGljaWVzJyxcbiAgfSxcbn07XG4iXX0=
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9hc3NldHMvaTE4bi9lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUc7SUFDaEIsVUFBVSxFQUFFO1FBQ1YsU0FBUyxFQUFFLFNBQVM7UUFDcEIsY0FBYyxFQUFFLGNBQWM7UUFDOUIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsaUJBQWlCLEVBQUUsaUJBQWlCO1FBQ3BDLEtBQUssRUFBRSxPQUFPO1FBQ2Qsb0JBQW9CLEVBQUUsb0JBQW9CO1FBQzFDLG1CQUFtQixFQUFFLG1CQUFtQjtRQUN4Qyx5Q0FBeUMsRUFDdkMseUNBQXlDO1FBQzNDLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLGNBQWMsRUFBRSxjQUFjO1FBQzlCLDZCQUE2QixFQUFFLDZCQUE2QjtRQUM1RCxnQkFBZ0IsRUFBRSxnQkFBZ0I7UUFDbEMsa0JBQWtCLEVBQUUsa0JBQWtCO1FBQ3RDLG1CQUFtQixFQUFFLG1CQUFtQjtRQUN4QywwREFBMEQsRUFDeEQseURBQXlEO1FBQzNELHdCQUF3QixFQUFFLHdCQUF3QjtRQUNsRCx5QkFBeUIsRUFBRSx5QkFBeUI7UUFDcEQseUJBQXlCLEVBQUUseUJBQXlCO1FBQ3BELHVCQUF1QixFQUFFLHVCQUF1QjtRQUNoRCw0QkFBNEIsRUFBRSw0QkFBNEI7UUFDMUQsMkJBQTJCLEVBQUUsMkJBQTJCO1FBQ3hELHNCQUFzQixFQUFFLG1DQUFtQztRQUMzRCxrREFBa0QsRUFDaEQsc0VBQXNFO1FBQ3hFLCtDQUErQyxFQUM3Qyw0REFBNEQ7UUFDOUQsMkJBQTJCLEVBQUUsMkJBQTJCO1FBQ3hELGdCQUFnQixFQUFFLDBCQUEwQjtRQUM1QywyQkFBMkIsRUFBRSwyQkFBMkI7UUFDeEQsSUFBSSxFQUFFLE1BQU07UUFDWixnQkFBZ0Is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QVM7UUFDbEIsZUFBZSxFQUFFLGVBQWU7UUFDaEMsa0JBQWtCLEVBQUUsa0JBQWtCO1FBQ3RDLHlCQUF5QixFQUFFLHlCQUF5QjtRQUNwRCxpREFBaUQsRUFDL0MsaURBQWlEO1FBQ25ELGdCQUFnQixFQUFFLGdCQUFnQjtRQUNsQywwQkFBMEIsRUFBRSwwQkFBMEI7UUFDdEQsZ0JBQWdCLEVBQUUsZ0JBQWdCO1FBQ2xDLHVCQUF1QixFQUFFLHVCQUF1QjtRQUNoRCw2QkFBNkIsRUFBRSw2QkFBNkI7S0FDN0Q7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVuID0ge1xuICBzdHJlYW1DaGF0OiB7XG4gICAgJzEgcmVwbHknOiAnMSByZXBseScsXG4gICAgJ0F0dGFjaCBmaWxlcyc6ICdBdHRhY2ggZmlsZXMnLFxuICAgIENhbmNlbDogJ0NhbmNlbCcsXG4gICAgJ0NoYW5uZWwgTWlzc2luZyc6ICdDaGFubmVsIE1pc3NpbmcnLFxuICAgIENsb3NlOiAnQ2xvc2UnLFxuICAgICdDbG9zZSBlbW9qaSBwaWNrZXInOiAnQ2xvc2UgZW1vamkgcGlja2VyJyxcbiAgICAnQ29tbWFuZHMgbWF0Y2hpbmcnOiAnQ29tbWFuZHMgbWF0Y2hpbmcnLFxuICAgICdDb25uZWN0aW9uIGZhaWx1cmUsIHJlY29ubmVjdGluZyBub3cuLi4nOlxuICAgICAgJ0Nvbm5lY3Rpb24gZmFpbHVyZSwgcmVjb25uZWN0aW5nIG5vdy4uLicsXG4gICAgRGVsZXRlOiAnRGVsZXRlJyxcbiAgICBEZWxpdmVyZWQ6ICdEZWxpdmVyZWQnLFxuICAgICdFZGl0IE1lc3NhZ2UnOiAnRWRpdCBNZXNzYWdlJyxcbiAgICAnRWRpdCBtZXNzYWdlIHJlcXVlc3QgZmFpbGVkJzogJ0VkaXQgbWVzc2FnZSByZXF1ZXN0IGZhaWxlZCcsXG4gICAgJ0Vtb2ppIG1hdGNoaW5nJzogJ0Vtb2ppIG1hdGNoaW5nJyxcbiAgICAnRW1wdHkgbWVzc2FnZS4uLic6ICdFbXB0eSBtZXNzYWdlLi4uJyxcbiAgICAnRXJyb3IgYWRkaW5nIGZsYWcnOiAnRXJyb3IgYWRkaW5nIGZsYWcnLFxuICAgICdFcnJvciBjb25uZWN0aW5nIHRvIGNoYXQsIHJlZnJlc2ggdGhlIHBhZ2UgdG8gdHJ5IGFnYWluLic6XG4gICAgICAnRXJyb3IgY29ubmVjdGluZyB0byBjaGF0LCByZWZyZXNoIHRoZSBwYWdlIHRvIHRyeSBhZ2FpbicsXG4gICAgJ0Vycm9yIGRlbGV0aW5nIG1lc3NhZ2UnOiAnRXJyb3IgZGVsZXRpbmcgbWVzc2FnZScsXG4gICAgJ0Vycm9yIGxvYWRpbmcgcmVhY3Rpb25zJzogJ0Vycm9yIGxvYWRpbmcgcmVhY3Rpb25zJyxcbiAgICAnRXJyb3IgbXV0aW5nIGEgdXNlciAuLi4nOiAnRXJyb3IgbXV0aW5nIGEgdXNlciAuLi4nLFxuICAgICdFcnJvciBwaW5uaW5nIG1lc3NhZ2UnOiAnRXJyb3IgcGlubmluZyBtZXNzYWdlJyxcbiAgICAnRXJyb3IgcmVtb3ZpbmcgbWVzc2FnZSBwaW4nOiAnRXJyb3IgcmVtb3ZpbmcgbWVzc2FnZSBwaW4nLFxuICAgICdFcnJvciB1bm11dGluZyBhIHVzZXIgLi4uJzogJ0Vycm9yIHVubXV0aW5nIGEgdXNlciAuLi4nLFxuICAgICdFcnJvciB1cGxvYWRpbmcgZmlsZSc6ICdFcnJvciB1cGxvYWRpbmcgZmlsZSBcInt7IG5hbWUgfX1cIicsXG4gICAgJ0Vycm9yIHVwbG9hZGluZyBmaWxlLCBtYXhpbXVtIGZpbGUgc2l6ZSBleGNlZWRlZCc6XG4gICAgICAnRXJyb3IgdXBsb2FkaW5nIFwie3sgbmFtZSB9fVwiLCBtYXhpbXVtIGZpbGUgc2l6ZSB7eyBsaW1pdCB9fSBleGNlZWRlZCcsXG4gICAgJ0Vycm9yIHVwbG9hZGluZyBmaWxlLCBleHRlbnNpb24gbm90IHN1cHBvcnRlZCc6XG4gICAgICAnRXJyb3IgdXBsb2FkaW5nIFwie3sgbmFtZSB9fVwiLCB0eXBlIHt7IGV4dCB9fSBub3Qgc3VwcG9ydGVkJyxcbiAgICAnRXJyb3IgZGVsZXRpbmcgYXR0YWNobWVudCc6ICdFcnJvciBkZWxldGluZyBhdHRhY2htZW50JyxcbiAgICAnRXJyb3IgwrcgVW5zZW50JzogXCJNZXNzYWdlIGNvdWxkbid0IGJlIHNlbnRcIixcbiAgICAnRXJyb3I6IHt7IGVycm9yTWVzc2FnZSB9fSc6ICdFcnJvcjoge3sgZXJyb3JNZXNzYWdlIH19JyxcbiAgICBGbGFnOiAnRmxhZycsXG4gICAgJ01lc3NhZ2UgRmFpbGVkJzogJ01lc3NhZ2UgRmFpbGVkJyxcbiAgICAnTWVzc2FnZSBGYWlsZWQgwrcgVW5hdXRob3JpemVkJzogJ1VuYXV0aG9yaXplZCB0byBzZW5kIG1lc3NhZ2UnLFxuICAgICdNZXNzYWdlIEZhaWxlZCDCtyBDbGljayB0byB0cnkgYWdhaW4nOlxuICAgICAgXCJNZXNzYWdlIGNvdWxkbid0IGJlIHNlbnQsIGNsaWNrIHRvIHRyeSBhZ2FpblwiLFxuICAgICdNZXNzYWdlIGRlbGV0ZWQnOiAnTWVzc2FnZSBkZWxldGVkJyxcbiAgICAnTWVzc2FnZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgZmxhZ2dlZCc6XG4gICAgICAnTWVzc2FnZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgZmxhZ2dlZCcsXG4gICAgJ01lc3NhZ2UgcGlubmVkJzogJ01lc3NhZ2UgcGlubmVkJyxcbiAgICAnTWVzc2FnZSB1bnBpbm5lZCc6ICdNZXNzYWdlIHVucGlubmVkJyxcbiAgICBNdXRlOiAnTXV0ZScsXG4gICAgTmV3OiAnTmV3JyxcbiAgICAnTmV3IE1lc3NhZ2VzISc6ICdOZXcgTWVzc2FnZXMhJyxcbiAgICAnTm8gcmVzdWx0cyBmb3VuZCc6ICdObyByZXN1bHRzIGZvdW5kJyxcbiAgICAnTm90aGluZyB5ZXQuLi4nOiAnTm90aGluZyB5ZXQuLi4nLFxuICAgICdPbmx5IHZpc2libGUgdG8geW91JzogJ09ubHkgdmlzaWJsZSB0byB5b3UnLFxuICAgICdPcGVuIGVtb2ppIHBpY2tlcic6ICdPcGVuIGVtb2ppIHBpY2tlcicsXG4gICAgJ1Blb3BsZSBtYXRjaGluZyc6ICdQZW9wbGUgbWF0Y2hpbmcnLFxuICAgICdQaWNrIHlvdXIgZW1vamknOiAnUGljayB5b3VyIGVtb2ppJyxcbiAgICBQaW46ICdQaW4nLFxuICAgICdQaW5uZWQgYnknOiAnUGlubmVkIGJ5JyxcbiAgICBSZXBseTogJ1F1b3RlIFJlcGx5JyxcbiAgICAnUmVwbHkgdG8gTWVzc2FnZSc6ICdSZXBseSB0byBNZXNzYWdlJyxcbiAgICBTZWFyY2g6ICdTZWFyY2gnLFxuICAgICdTZWFyY2hpbmcuLi4nOiAnU2VhcmNoaW5nLi4uJyxcbiAgICBTZW5kOiAnU2VuZCcsXG4gICAgJ1NlbmQgbWVzc2FnZSByZXF1ZXN0IGZhaWxlZCc6ICdTZW5kIG1lc3NhZ2UgcmVxdWVzdCBmYWlsZWQnLFxuICAgICdTZW5kaW5nLi4uJzogJ1NlbmRpbmcuLi4nLFxuICAgICdTbG93IE1vZGUgT04nOiAnU2xvdyBNb2RlIE9OJyxcbiAgICAnU3RhcnQgb2YgYSBuZXcgdGhyZWFkJzogJ1N0YXJ0IG9mIGEgbmV3IHRocmVhZCcsXG4gICAgJ1RoaXMgbWVzc2FnZSB3YXMgZGVsZXRlZC4uLic6ICdUaGlzIG1lc3NhZ2Ugd2FzIGRlbGV0ZWQuLi4nLFxuICAgIFRocmVhZDogJ1RocmVhZCByZXBseScsXG4gICAgJ1R5cGUgeW91ciBtZXNzYWdlJzogJ1R5cGUgeW91ciBtZXNzYWdlJyxcbiAgICBVbm11dGU6ICdVbm11dGUnLFxuICAgIFVucGluOiAnVW5waW4nLFxuICAgICdXYWl0IHVudGlsIGFsbCBhdHRhY2htZW50cyBoYXZlIHVwbG9hZGVkJzpcbiAgICAgICdXYWl0IHVudGlsIGFsbCBhdHRhY2htZW50cyBoYXZlIHVwbG9hZGVkJyxcbiAgICAnWW91IGhhdmUgbm8gY2hhbm5lbHMgY3VycmVudGx5JzogJ1lvdSBoYXZlIG5vIGNoYW5uZWxzIGN1cnJlbnRseScsXG4gICAgXCJZb3UndmUgcmVhY2hlZCB0aGUgbWF4aW11bSBudW1iZXIgb2YgZmlsZXNcIjpcbiAgICAgIFwiWW91J3ZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGZpbGVzXCIsXG4gICAgbGl2ZTogJ2xpdmUnLFxuICAgICd0aGlzIGNvbnRlbnQgY291bGQgbm90IGJlIGRpc3BsYXllZCc6XG4gICAgICAndGhpcyBjb250ZW50IGNvdWxkIG5vdCBiZSBkaXNwbGF5ZWQnLFxuICAgICd7eyBjb21tYVNlcGFyYXRlZFVzZXJzIH19IGFuZCB7eyBtb3JlQ291bnQgfX0gbW9yZSc6XG4gICAgICAne3sgY29tbWFTZXBhcmF0ZWRVc2VycyB9fSBhbmQge3sgbW9yZUNvdW50IH19IG1vcmUnLFxuICAgICd7eyBjb21tYVNlcGFyYXRlZFVzZXJzIH19LCBhbmQge3sgbGFzdFVzZXIgfX0nOlxuICAgICAgJ3t7IGNvbW1hU2VwYXJhdGVkVXNlcnMgfX0sIGFuZCB7eyBsYXN0VXNlciB9fScsXG4gICAgJ3t7IGZpcnN0VXNlciB9fSBhbmQge3sgc2Vjb25kVXNlciB9fSc6XG4gICAgICAne3sgZmlyc3RVc2VyIH19IGFuZCB7eyBzZWNvbmRVc2VyIH19JyxcbiAgICAne3sgaW1hZ2VDb3VudCB9fSBtb3JlJzogJ3t7IGltYWdlQ291bnQgfX0gbW9yZScsXG4gICAgJ3t7IG1lbWJlckNvdW50IH19IG1lbWJlcnMnOiAne3sgbWVtYmVyQ291bnQgfX0gbWVtYmVycycsXG4gICAgJ3t7IHJlcGx5Q291bnQgfX0gcmVwbGllcyc6ICd7eyByZXBseUNvdW50IH19IHJlcGxpZXMnLFxuICAgICd7eyB1c2VyIH19IGhhcyBiZWVuIG11dGVkJzogJ3t7IHVzZXIgfX0gaGFzIGJlZW4gbXV0ZWQnLFxuICAgICd7eyB1c2VyIH19IGhhcyBiZWVuIHVubXV0ZWQnOiAne3sgdXNlciB9fSBoYXMgYmVlbiB1bm11dGVkJyxcbiAgICAne3sgd2F0Y2hlckNvdW50IH19IG9ubGluZSc6ICd7eyB3YXRjaGVyQ291bnQgfX0gb25saW5lJyxcbiAgICAn8J+PmSBBdHRhY2htZW50Li4uJzogJ/Cfj5kgQXR0YWNobWVudC4uLicsXG4gICAgJ0Nvbm5lY3Rpb24gZXJyb3InOiAnQ29ubmVjdGlvbiBlcnJvcicsXG4gICAgJ0xvYWQgbW9yZSc6ICdMb2FkIG1vcmUnLFxuICAgIGZhaWxlZDogJ2ZhaWxlZCcsXG4gICAgcmV0cnk6ICdyZXRyeScsXG4gICAgdGVzdDogJ3N1Y2Nlc3MnLFxuICAgICdTZW5kaW5nIGxpbmtzIGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udmVyc2F0aW9uJzpcbiAgICAgICdTZW5kaW5nIGxpbmtzIGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udmVyc2F0aW9uJyxcbiAgICBcIllvdSBjYW4ndCBzZW5kIG1lc3NhZ2VzIGluIHRoaXMgY2hhbm5lbFwiOlxuICAgICAgXCJZb3UgY2FuJ3Qgc2VuZCBtZXNzYWdlcyBpbiB0aGlzIGNoYW5uZWxcIixcbiAgICBcIllvdSBjYW4ndCBzZW5kIHRocmVhZCByZXBsaWVzIGluIHRoaXMgY2hhbm5lbFwiOlxuICAgICAgXCJZb3UgY2FuJ3Qgc2VuZCB0aHJlYWQgcmVwbGllcyBpbiB0aGlzIGNoYW5uZWxcIixcbiAgICAnTWVzc2FnZSBub3QgZm91bmQnOiAnTWVzc2FnZSBub3QgZm91bmQnLFxuICAgICdObyBjaGF0cyBoZXJlIHlldOKApic6ICdObyBjaGF0cyBoZXJlIHlldOKApicsXG4gICAgJ3VzZXIgaXMgdHlwaW5nJzogJ3t7IHVzZXIgfX0gaXMgdHlwaW5nJyxcbiAgICAndXNlcnMgYXJlIHR5cGluZyc6ICd7eyB1c2VycyB9fSBhcmUgdHlwaW5nJyxcbiAgICAnRXJyb3IgbG9hZGluZyBjaGFubmVscyc6ICdFcnJvciBsb2FkaW5nIGNoYW5uZWxzJyxcbiAgICAnU2VlIG9yaWdpbmFsIChhdXRvbWF0aWNhbGx5IHRyYW5zbGF0ZWQpJzpcbiAgICAgICdTZWUgb3JpZ2luYWwgKGF1dG9tYXRpY2FsbHkgdHJhbnNsYXRlZCknLFxuICAgICdTZWUgdHJhbnNsYXRpb24nOiAnU2VlIHRyYW5zbGF0aW9uJyxcbiAgICAnTWFyayBhcyB1bnJlYWQnOiAnTWFyayBhcyB1bnJlYWQnLFxuICAgICdFcnJvciBtYXJraW5nIG1lc3NhZ2UgYXMgdW5yZWFkJzogJ0Vycm9yIG1hcmtpbmcgbWVzc2FnZSBhcyB1bnJlYWQnLFxuICAgICdFcnJvciwgb25seSB0aGUgZmlyc3Qge3tjb3VudH19IG1lc3NhZ2UgY2FuIGJlIG1hcmtlZCBhcyB1bnJlYWQnOlxuICAgICAgJ0Vycm9yLCBvbmx5IHRoZSBmaXJzdCB7e2NvdW50fX0gbWVzc2FnZSBjYW4gYmUgbWFya2VkIGFzIHVucmVhZCcsXG4gICAgJ1VucmVhZCBtZXNzYWdlcyc6ICdVbnJlYWQgbWVzc2FnZXMnLFxuICAgICd7e2NvdW50fX0gdW5yZWFkIG1lc3NhZ2VzJzogJ3t7Y291bnR9fSB1bnJlYWQgbWVzc2FnZXMnLFxuICAgICd7e2NvdW50fX0gdW5yZWFkIG1lc3NhZ2UnOiAne3tjb3VudH19IHVucmVhZCBtZXNzYWdlJyxcbiAgICAnVGhpcyBtZXNzYWdlIGRpZCBub3QgbWVldCBvdXIgY29udGVudCBndWlkZWxpbmVzJzpcbiAgICAgICdUaGlzIG1lc3NhZ2UgZGlkIG5vdCBtZWV0IG91ciBjb250ZW50IGd1aWRlbGluZXMnLFxuICAgICdTZW5kIEFueXdheSc6ICdTZW5kIEFueXdheScsXG4gICAgRWRpdGVkOiAnRWRpdGVkJyxcbiAgICAnRXJyb3IgcGxheWluZyBhdWRpbyc6ICdFcnJvciBwbGF5aW5nIGF1ZGlvJyxcbiAgICAnQ29weSB0ZXh0JzogJ0NvcHkgdGV4dCcsXG4gICAgJ1BsZWFzZSBncmFudCBwZXJtaXNzaW9uIHRvIHVzZSBtaWNyb2hwb25lJzpcbiAgICAgICdQbGVhc2UgZ3JhbnQgcGVybWlzc2lvbiB0byB1c2UgbWljcm9ocG9uZScsXG4gICAgJ0Vycm9yIHN0YXJ0aW5nIHJlY29yZGluZyc6ICdFcnJvciBzdGFydGluZyByZWNvcmRpbmcnLFxuICAgICdBbiBlcnJvciBoYXMgb2NjdXJyZWQgZHVyaW5nIHJlY29yZGluZyc6XG4gICAgICAnQW4gZXJyb3IgaGFzIG9jY3VycmVkIGR1cmluZyByZWNvcmRpbmcnLFxuICAgICdNZWRpYSByZWNvcmRpbmcgbm90IHN1cHBvcnRlZCc6ICdNZWRpYSByZWNvcmRpbmcgbm90IHN1cHBvcnRlZCcsXG4gICAgXCJZb3UgY2FuJ3QgdXBsb2QgbW9yZSB0aGFuIHt7bWF4fX0gYXR0YWNobWVudHNcIjpcbiAgICAgIFwiWW91IGNhbid0IHVwbG9kIG1vcmUgdGhhbiB7e21heH19IGF0dGFjaG1lbnRzXCIsXG4gICAgJ1lvdSBjdXJyZW50bHkgaGF2ZSB7e2NvdW50fX0gYXR0YWNobWVudHMsIHRoZSBtYXhpbXVtIGlzIHt7bWF4fX0nOlxuICAgICAgJ1lvdSBjdXJyZW50bHkgaGF2ZSB7e2NvdW50fX0gYXR0YWNobWVudHMsIHRoZSBtYXhpbXVtIGlzIHt7bWF4fX0nLFxuICAgICdhbmQgb3RoZXJzJzogJ2FuZCBvdGhlcnMnLFxuICAgICdNZXNzYWdlIHdhcyBibG9ja2VkIGJ5IG1vZGVyYXRpb24gcG9saWNpZXMnOlxuICAgICAgJ01lc3NhZ2Ugd2FzIGJsb2NrZWQgYnkgbW9kZXJhdGlvbiBwb2xpY2llcycsXG4gICAgJ1ZvdGUgZW5kZWQnOiAnVm90ZSBlbmRlZCcsXG4gICAgJ1NlbGVjdCBvbmUnOiAnU2VsZWN0IG9uZScsXG4gICAgJ1NlbGVjdCB1cCB0byB7e2NvdW50fX0nOiAnU2VsZWN0IHVwIHRvIHt7Y291bnR9fScsXG4gICAgJ1NlbGVjdCBvbmUgb3IgbW9yZSc6ICdTZWxlY3Qgb25lIG9yIG1vcmUnLFxuICAgICdTZWUgYWxsIG9wdGlvbnMgKHt7Y291bnR9fSknOiAnU2VlIGFsbCBvcHRpb25zICh7e2NvdW50fX0pJyxcbiAgICAnU3VnZ2VzdCBhbiBvcHRpb24nOiAnU3VnZ2VzdCBhbiBvcHRpb24nLFxuICAgICdBZGQgYSBjb21tZW50JzogJ0FkZCBhIGNvbW1lbnQnLFxuICAgICdVcGRhdGUgeW91ciBjb21tZW50JzogJ1VwZGF0ZSB5b3VyIGNvbW1lbnQnLFxuICAgICdWaWV3IHt7IGNvdW50IH19IGNvbW1lbnRzJzogJ1ZpZXcge3sgY291bnQgfX0gY29tbWVudHMnLFxuICAgICdWaWV3IHt7IGNvdW50IH19IGNvbW1lbnQnOiAnVmlldyB7eyBjb3VudCB9fSBjb21tZW50JyxcbiAgICAnVmlldyByZXN1bHRzJzogJ1ZpZXcgcmVzdWx0cycsXG4gICAgJ0VuZCB2b3RlJzogJ0VuZCB2b3RlJyxcbiAgICAnQWZ0ZXIgYSBwb2xsIGlzIGNsb3NlZCwgbm8gbW9yZSB2b3RlcyBjYW4gYmUgY2FzdCc6XG4gICAgICAnQWZ0ZXIgYSBwb2xsIGlzIGNsb3NlZCwgbm8gbW9yZSB2b3RlcyBjYW4gYmUgY2FzdCcsXG4gICAgJ0ZhaWxlZCB0byBlbmQgdm90ZSc6ICdGYWlsZWQgdG8gZW5kIHZvdGUnLFxuICAgICdGYWlsZWQgdG8gY2FzdCB2b3RlJzogJ0ZhaWxlZCB0byBjYXN0IHZvdGUnLFxuICAgIEFub255bW91czogJ0Fub255bW91cycsXG4gICAgJ3t7IGNvdW50IH19IHZvdGVzJzogJ3t7IGNvdW50IH19IHZvdGVzJyxcbiAgICAnU2hvdyBhbGwnOiAnU2hvdyBhbGwnLFxuICAgICdQb2xsIHJlc3VsdHMnOiAnUG9sbCByZXN1bHRzJyxcbiAgICAnRXJyb3IgbG9hZGluZyB2b3Rlcyc6ICdFcnJvciBsb2FkaW5nIHZvdGVzJyxcbiAgICAnUG9sbCBjb21tZW50cyc6ICdQb2xsIGNvbW1lbnRzJyxcbiAgICAnRXJyb3IgbG9hZGluZyBhbnN3ZXJzJzogJ0Vycm9yIGxvYWRpbmcgYW5zd2VycycsXG4gICAgQ29tbWVudDogJ0NvbW1lbnQnLFxuICAgICdGYWlsZWQgdG8gYWRkIGNvbW1lbnQnOiAnRmFpbGVkIHRvIGFkZCBjb21tZW50JyxcbiAgICAnRmFpbGVkIHRvIGFkZCBvcHRpb24gKHt7IG1lc3NhZ2UgfX0pJzpcbiAgICAgICdGYWlsZWQgdG8gYWRkIG9wdGlvbiAoe3sgbWVzc2FnZSB9fSknLFxuICAgICdPcHRpb24gYWxyZWFkeSBleGlzdHMnOiAnT3B0aW9uIGFscmVhZHkgZXhpc3RzJyxcbiAgICAnWW91IGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBudW1iZXIgb2Ygdm90ZXMgYWxsb3dlZCc6XG4gICAgICAnWW91IGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBudW1iZXIgb2Ygdm90ZXMgYWxsb3dlZCcsXG4gICAgJ0NyZWF0ZSBwb2xsJzogJ0NyZWF0ZSBwb2xsJyxcbiAgICBDcmVhdGU6ICdDcmVhdGUnLFxuICAgIFF1ZXN0aW9uOiAnUXVlc3Rpb24nLFxuICAgICdBc2sgYSBxdWVzdGlvbic6ICdBc2sgYSBxdWVzdGlvbicsXG4gICAgJ1F1ZXN0aW9uIGlzIHJlcXVpcmVkJzogJ1F1ZXN0aW9uIGlzIHJlcXVpcmVkJyxcbiAgICBPcHRpb25zOiAnT3B0aW9ucycsXG4gICAgJ0FkZCBhbiBvcHRpb24nOiAnQWRkIGFuIG9wdGlvbicsXG4gICAgJ011bHRpcGxlIGFuc3dlcnMnOiAnTXVsdGlwbGUgYW5zd2VycycsXG4gICAgJ01heGltdW0gbnVtYmVyIG9mIHZvdGVzJzogJ01heGltdW0gbnVtYmVyIG9mIHZvdGVzJyxcbiAgICAnUHJvdmlkZSBhIHZhbHVlIGJldHdlZW4ge3sgbWluIH19IGFuZCB7eyBtYXggfX0nOlxuICAgICAgJ1Byb3ZpZGUgYSB2YWx1ZSBiZXR3ZWVuIHt7IG1pbiB9fSBhbmQge3sgbWF4IH19JyxcbiAgICAnQW5vbnltb3VzIHBvbGwnOiAnQW5vbnltb3VzIHBvbGwnLFxuICAgICdBbGxvdyBvcHRpb24gc3VnZ2VzdGlvbnMnOiAnQWxsb3cgb3B0aW9uIHN1Z2dlc3Rpb25zJyxcbiAgICAnQWxsb3cgY29tbWVudHMnOiAnQWxsb3cgY29tbWVudHMnLFxuICAgICdGYWlsZWQgdG8gY3JlYXRlIHBvbGwnOiAnRmFpbGVkIHRvIGNyZWF0ZSBwb2xsJyxcbiAgICAnUHJvdmlkZSBhdCBsZWFzdCBvbmUgb3B0aW9uJzogJ1Byb3ZpZGUgYXQgbGVhc3Qgb25lIG9wdGlvbicsXG4gIH0sXG59O1xuIl19
@@ -1,2 +1,2 @@
1
- export const version = '6.2.0';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2Fzc2V0cy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdmVyc2lvbiA9ICc2LjIuMCc7XG4iXX0=
1
+ export const version = '6.3.0-beta.1';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2Fzc2V0cy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdmVyc2lvbiA9ICc2LjMuMC1iZXRhLjEnO1xuIl19
@@ -6,8 +6,8 @@ import * as i2 from "../custom-templates.service";
6
6
  import * as i3 from "../theme.service";
7
7
  import * as i4 from "@angular/common";
8
8
  import * as i5 from "../icon/icon.component";
9
- import * as i6 from "../channel-preview/channel-preview.component";
10
- import * as i7 from "../paginated-list/paginated-list.component";
9
+ import * as i6 from "../paginated-list/paginated-list.component";
10
+ import * as i7 from "../channel-preview/channel-preview.component";
11
11
  import * as i8 from "@ngx-translate/core";
12
12
  /**
13
13
  * The `ChannelList` component renders the list of channels.
@@ -39,7 +39,7 @@ export class ChannelListComponent {
39
39
  }
40
40
  }
41
41
  ChannelListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ChannelListComponent, deps: [{ token: i1.ChannelService }, { token: i2.CustomTemplatesService }, { token: i3.ThemeService }], target: i0.ɵɵFactoryTarget.Component });
42
- ChannelListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ChannelListComponent, selector: "stream-channel-list", ngImport: i0, template: "<div\n #container\n data-testid=\"channel-list-container\"\n class=\"str-chat str-chat-angular__channel-list str-chat__channel-list str-chat-channel-list messaging str-chat__theme-{{\n theme$ | async\n }}\"\n>\n <div\n *ngIf=\"\n (isError$ | async) === false && (isInitializing$ | async) === false;\n else statusIndicator\n \"\n class=\"str-chat__channel-list-messenger\"\n >\n <div class=\"str-chat__channel-list-messenger__main\">\n <ng-content select=\"[channel-list-top]\"></ng-content>\n <div\n *ngIf=\"!(channels$ | async)?.length\"\n class=\"str-chat__channel-list-empty\"\n >\n <stream-icon icon=\"chat-bubble\"></stream-icon>\n <p data-testid=\"empty-channel-list-indicator\">\n {{ \"streamChat.You have no channels currently\" | translate }}\n </p>\n </div>\n <p\n *ngIf=\"!(channels$ | async)?.length\"\n class=\"str-chat__channel-list-empty-v1\"\n data-testid=\"empty-channel-list-indicator\"\n >\n {{ \"streamChat.You have no channels currently\" | translate }}\n </p>\n <stream-paginated-list\n [items]=\"(channels$ | async) ?? []\"\n [hasMore]=\"(hasMoreChannels$ | async) ?? false\"\n [isLoading]=\"isLoadingMoreChannels\"\n (loadMore)=\"loadMoreChannels()\"\n [trackBy]=\"trackByChannelId\"\n >\n <ng-template let-channel=\"item\">\n <ng-template #defaultTemplate let-channelInput=\"channel\">\n <stream-channel-preview\n data-testclass=\"channel-preview\"\n [channel]=\"channelInput\"\n ></stream-channel-preview>\n </ng-template>\n <div>\n <ng-container\n *ngTemplateOutlet=\"\n customChannelPreviewTemplate || defaultTemplate;\n context: { channel: channel }\n \"\n ></ng-container>\n </div>\n </ng-template>\n </stream-paginated-list>\n <ng-content select=\"[channel-list-bottom]\"></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #statusIndicator>\n <ng-container *ngIf=\"isError$ | async\">\n <ng-container *ngTemplateOutlet=\"chatDown\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"isInitializing$ | async\">\n <ng-container *ngTemplateOutlet=\"loadingChannels\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #chatDown>\n <div data-testid=\"chatdown-container\" class=\"str-chat__down\">\n <ng-container *ngTemplateOutlet=\"loadingChannels\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #loadingChannels>\n <div\n data-testid=\"loading-indicator-full-size\"\n class=\"str-chat__loading-channels\"\n >\n <ng-container *ngTemplateOutlet=\"loadingChannel\"></ng-container>\n <ng-container *ngTemplateOutlet=\"loadingChannel\"></ng-container>\n <ng-container *ngTemplateOutlet=\"loadingChannel\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #loadingChannel>\n <div\n class=\"str-chat__loading-channels-item str-chat__channel-preview-loading\"\n >\n <div class=\"str-chat__loading-channels-avatar\"></div>\n <div\n class=\"str-chat__loading-channels-meta str-chat__channel-preview-end-loading\"\n >\n <div class=\"str-chat__loading-channels-username\"></div>\n <div class=\"str-chat__loading-channels-status\"></div>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.IconComponent, selector: "stream-icon", inputs: ["icon"] }, { kind: "component", type: i6.ChannelPreviewComponent, selector: "stream-channel-preview", inputs: ["channel"] }, { kind: "component", type: i7.PaginatedListComponent, selector: "stream-paginated-list", inputs: ["items", "isLoading", "hasMore", "trackBy"], outputs: ["loadMore"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
42
+ ChannelListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ChannelListComponent, selector: "stream-channel-list", ngImport: i0, template: "<div\n #container\n data-testid=\"channel-list-container\"\n class=\"str-chat str-chat-angular__channel-list str-chat__channel-list str-chat-channel-list messaging str-chat__theme-{{\n theme$ | async\n }}\"\n>\n <div\n *ngIf=\"\n (isError$ | async) === false && (isInitializing$ | async) === false;\n else statusIndicator\n \"\n class=\"str-chat__channel-list-messenger\"\n >\n <div class=\"str-chat__channel-list-messenger__main\">\n <ng-content select=\"[channel-list-top]\"></ng-content>\n <div\n *ngIf=\"!(channels$ | async)?.length\"\n class=\"str-chat__channel-list-empty\"\n >\n <stream-icon icon=\"chat-bubble\"></stream-icon>\n <p data-testid=\"empty-channel-list-indicator\">\n {{ \"streamChat.You have no channels currently\" | translate }}\n </p>\n </div>\n <p\n *ngIf=\"!(channels$ | async)?.length\"\n class=\"str-chat__channel-list-empty-v1\"\n data-testid=\"empty-channel-list-indicator\"\n >\n {{ \"streamChat.You have no channels currently\" | translate }}\n </p>\n <stream-paginated-list\n [items]=\"(channels$ | async) ?? []\"\n [hasMore]=\"(hasMoreChannels$ | async) ?? false\"\n [isLoading]=\"isLoadingMoreChannels\"\n (loadMore)=\"loadMoreChannels()\"\n [trackBy]=\"trackByChannelId\"\n >\n <ng-template let-channel=\"item\">\n <ng-template #defaultTemplate let-channelInput=\"channel\">\n <stream-channel-preview\n data-testclass=\"channel-preview\"\n [channel]=\"channelInput\"\n ></stream-channel-preview>\n </ng-template>\n <div>\n <ng-container\n *ngTemplateOutlet=\"\n customChannelPreviewTemplate || defaultTemplate;\n context: { channel: channel }\n \"\n ></ng-container>\n </div>\n </ng-template>\n </stream-paginated-list>\n <ng-content select=\"[channel-list-bottom]\"></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #statusIndicator>\n <ng-container *ngIf=\"isError$ | async\">\n <ng-container *ngTemplateOutlet=\"chatDown\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"isInitializing$ | async\">\n <ng-container *ngTemplateOutlet=\"loadingChannels\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #chatDown>\n <div data-testid=\"chatdown-container\" class=\"str-chat__down\">\n <ng-container *ngTemplateOutlet=\"loadingChannels\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #loadingChannels>\n <div\n data-testid=\"loading-indicator-full-size\"\n class=\"str-chat__loading-channels\"\n >\n <ng-container *ngTemplateOutlet=\"loadingChannel\"></ng-container>\n <ng-container *ngTemplateOutlet=\"loadingChannel\"></ng-container>\n <ng-container *ngTemplateOutlet=\"loadingChannel\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #loadingChannel>\n <div\n class=\"str-chat__loading-channels-item str-chat__channel-preview-loading\"\n >\n <div class=\"str-chat__loading-channels-avatar\"></div>\n <div\n class=\"str-chat__loading-channels-meta str-chat__channel-preview-end-loading\"\n >\n <div class=\"str-chat__loading-channels-username\"></div>\n <div class=\"str-chat__loading-channels-status\"></div>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.IconComponent, selector: "stream-icon", inputs: ["icon"] }, { kind: "component", type: i6.PaginatedListComponent, selector: "stream-paginated-list", inputs: ["items", "isLoading", "hasMore", "trackBy"], outputs: ["loadMore"] }, { kind: "component", type: i7.ChannelPreviewComponent, selector: "stream-channel-preview", inputs: ["channel"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ChannelListComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{ selector: 'stream-channel-list', template: "<div\n #container\n data-testid=\"channel-list-container\"\n class=\"str-chat str-chat-angular__channel-list str-chat__channel-list str-chat-channel-list messaging str-chat__theme-{{\n theme$ | async\n }}\"\n>\n <div\n *ngIf=\"\n (isError$ | async) === false && (isInitializing$ | async) === false;\n else statusIndicator\n \"\n class=\"str-chat__channel-list-messenger\"\n >\n <div class=\"str-chat__channel-list-messenger__main\">\n <ng-content select=\"[channel-list-top]\"></ng-content>\n <div\n *ngIf=\"!(channels$ | async)?.length\"\n class=\"str-chat__channel-list-empty\"\n >\n <stream-icon icon=\"chat-bubble\"></stream-icon>\n <p data-testid=\"empty-channel-list-indicator\">\n {{ \"streamChat.You have no channels currently\" | translate }}\n </p>\n </div>\n <p\n *ngIf=\"!(channels$ | async)?.length\"\n class=\"str-chat__channel-list-empty-v1\"\n data-testid=\"empty-channel-list-indicator\"\n >\n {{ \"streamChat.You have no channels currently\" | translate }}\n </p>\n <stream-paginated-list\n [items]=\"(channels$ | async) ?? []\"\n [hasMore]=\"(hasMoreChannels$ | async) ?? false\"\n [isLoading]=\"isLoadingMoreChannels\"\n (loadMore)=\"loadMoreChannels()\"\n [trackBy]=\"trackByChannelId\"\n >\n <ng-template let-channel=\"item\">\n <ng-template #defaultTemplate let-channelInput=\"channel\">\n <stream-channel-preview\n data-testclass=\"channel-preview\"\n [channel]=\"channelInput\"\n ></stream-channel-preview>\n </ng-template>\n <div>\n <ng-container\n *ngTemplateOutlet=\"\n customChannelPreviewTemplate || defaultTemplate;\n context: { channel: channel }\n \"\n ></ng-container>\n </div>\n </ng-template>\n </stream-paginated-list>\n <ng-content select=\"[channel-list-bottom]\"></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #statusIndicator>\n <ng-container *ngIf=\"isError$ | async\">\n <ng-container *ngTemplateOutlet=\"chatDown\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"isInitializing$ | async\">\n <ng-container *ngTemplateOutlet=\"loadingChannels\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #chatDown>\n <div data-testid=\"chatdown-container\" class=\"str-chat__down\">\n <ng-container *ngTemplateOutlet=\"loadingChannels\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #loadingChannels>\n <div\n data-testid=\"loading-indicator-full-size\"\n class=\"str-chat__loading-channels\"\n >\n <ng-container *ngTemplateOutlet=\"loadingChannel\"></ng-container>\n <ng-container *ngTemplateOutlet=\"loadingChannel\"></ng-container>\n <ng-container *ngTemplateOutlet=\"loadingChannel\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #loadingChannel>\n <div\n class=\"str-chat__loading-channels-item str-chat__channel-preview-loading\"\n >\n <div class=\"str-chat__loading-channels-avatar\"></div>\n <div\n class=\"str-chat__loading-channels-meta str-chat__channel-preview-end-loading\"\n >\n <div class=\"str-chat__loading-channels-username\"></div>\n <div class=\"str-chat__loading-channels-status\"></div>\n </div>\n </div>\n</ng-template>\n" }]
@@ -111,6 +111,9 @@ export class ChannelPreviewComponent {
111
111
  else if (message?.attachments && message.attachments.length) {
112
112
  this.latestMessageText = 'streamChat.🏙 Attachment...';
113
113
  }
114
+ else if (message?.poll_id) {
115
+ this.latestMessageText = `📊 ${message.poll?.name}`;
116
+ }
114
117
  if (this.latestMessage && this.latestMessage.type === 'regular') {
115
118
  this.latestMessageTime = isOnSeparateDate(new Date(), this.latestMessage.created_at)
116
119
  ? this.dateParser.parseDate(this.latestMessage.created_at)
@@ -152,4 +155,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
152
155
  }], ctorParameters: function () { return [{ type: i1.ChannelService }, { type: i0.NgZone }, { type: i2.ChatClientService }, { type: i3.MessageService }, { type: i4.CustomTemplatesService }, { type: i5.DateParserService }]; }, propDecorators: { channel: [{
153
156
  type: Input
154
157
  }] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLXByZXZpZXcvY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLXByZXZpZXcvY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUU1RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFHMUQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8sdUJBQXVCO0lBa0JsQyxZQUNVLGNBQThCLEVBQzlCLE1BQWMsRUFDZCxpQkFBb0MsRUFDNUMsY0FBOEIsRUFDdkIsc0JBQThDLEVBQzdDLFVBQTZCO1FBTDdCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUVyQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzdDLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBbkJ2QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLEtBQUssQ0FBQztRQUNqQyxh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QjthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztTQUN0QztRQUNELElBQ0UsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1lBQ2pELENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUN2QjtZQUNBLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3JDLENBQUM7O29IQTNMVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw4RkN0QnBDLG94R0E4RkE7MkZEeEVhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSx3QkFBd0I7NFBBUXpCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2hhbm5lbCwgRXZlbnQsIEZvcm1hdE1lc3NhZ2VSZXNwb25zZSB9IGZyb20gJ3N0cmVhbS1jaGF0JztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhbm5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IGdldENoYW5uZWxEaXNwbGF5VGV4dCB9IGZyb20gJy4uL2dldC1jaGFubmVsLWRpc3BsYXktdGV4dCc7XG5pbXBvcnQgeyBDaGF0Q2xpZW50U2VydmljZSB9IGZyb20gJy4uL2NoYXQtY2xpZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0TWVzc2FnZVRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vZ2V0LW1lc3NhZ2UtdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi9tZXNzYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3VzdG9tVGVtcGxhdGVzU2VydmljZSB9IGZyb20gJy4uL2N1c3RvbS10ZW1wbGF0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBnZXRSZWFkQnkgfSBmcm9tICcuLi9yZWFkLWJ5JztcbmltcG9ydCB7IGlzT25TZXBhcmF0ZURhdGUgfSBmcm9tICcuLi9pcy1vbi1zZXBhcmF0ZS1kYXRlJztcbmltcG9ydCB7IERhdGVQYXJzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0ZS1wYXJzZXIuc2VydmljZSc7XG5cbi8qKlxuICogVGhlIGBDaGFubmVsUHJldmlld2AgY29tcG9uZW50IGRpc3BsYXlzIGEgY2hhbm5lbCBwcmV2aWV3IGluIHRoZSBjaGFubmVsIGxpc3QsIGl0IGNvbnNpc3RzIG9mIHRoZSBpbWFnZSwgbmFtZSBhbmQgbGF0ZXN0IG1lc3NhZ2Ugb2YgdGhlIGNoYW5uZWwuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0cmVhbS1jaGFubmVsLXByZXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhbm5lbFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUaGUgY2hhbm5lbCB0byBiZSBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIGNoYW5uZWw6IENoYW5uZWwgfCB1bmRlZmluZWQ7XG4gIGlzQWN0aXZlID0gZmFsc2U7XG4gIGlzVW5yZWFkTWVzc2FnZVdhc0NhbGxlZCA9IGZhbHNlO1xuICBpc1VucmVhZCA9IGZhbHNlO1xuICB1bnJlYWRDb3VudDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBsYXRlc3RNZXNzYWdlVGV4dDogc3RyaW5nID0gJ3N0cmVhbUNoYXQuTm90aGluZyB5ZXQuLi4nO1xuICBsYXRlc3RNZXNzYWdlU3RhdHVzPzogJ2RlbGl2ZXJlZCcgfCAncmVhZCc7XG4gIGxhdGVzdE1lc3NhZ2VUaW1lPzogc3RyaW5nO1xuICBsYXRlc3RNZXNzYWdlPzogRm9ybWF0TWVzc2FnZVJlc3BvbnNlO1xuICBkaXNwbGF5QXM6ICd0ZXh0JyB8ICdodG1sJztcbiAgdXNlcklkPzogc3RyaW5nO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IChTdWJzY3JpcHRpb24gfCB7IHVuc3Vic2NyaWJlOiAoKSA9PiB2b2lkIH0pW10gPSBbXTtcbiAgcHJpdmF0ZSBjYW5TZW5kUmVhZEV2ZW50cyA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGNoYXRDbGllbnRTZXJ2aWNlOiBDaGF0Q2xpZW50U2VydmljZSxcbiAgICBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHVibGljIGN1c3RvbVRlbXBsYXRlc1NlcnZpY2U6IEN1c3RvbVRlbXBsYXRlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBkYXRlUGFyc2VyOiBEYXRlUGFyc2VyU2VydmljZVxuICApIHtcbiAgICB0aGlzLmRpc3BsYXlBcyA9IG1lc3NhZ2VTZXJ2aWNlLmRpc3BsYXlBcztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGF0Q2xpZW50U2VydmljZS51c2VyJC5zdWJzY3JpYmUoKHVzZXIpID0+IHtcbiAgICAgICAgaWYgKHVzZXI/LmlkICE9PSB0aGlzLnVzZXJJZCkge1xuICAgICAgICAgIHRoaXMudXNlcklkID0gdXNlcj8uaWQ7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhbm5lbFNlcnZpY2UuYWN0aXZlQ2hhbm5lbCQuc3Vic2NyaWJlKFxuICAgICAgICAoYWN0aXZlQ2hhbm5lbCkgPT5cbiAgICAgICAgICAodGhpcy5pc0FjdGl2ZSA9IGFjdGl2ZUNoYW5uZWw/LmlkID09PSB0aGlzLmNoYW5uZWw/LmlkKVxuICAgICAgKVxuICAgICk7XG4gICAgY29uc3QgbWVzc2FnZXMgPSB0aGlzLmNoYW5uZWw/LnN0YXRlPy5sYXRlc3RNZXNzYWdlcztcbiAgICBpZiAobWVzc2FnZXMgJiYgbWVzc2FnZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZXRMYXRlc3RNZXNzYWdlKG1lc3NhZ2VzW21lc3NhZ2VzLmxlbmd0aCAtIDFdKTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVVbnJlYWRTdGF0ZSgpO1xuICAgIGNvbnN0IGNhcGFiaWxpdGllcyA9XG4gICAgICAodGhpcy5jaGFubmVsPy5kYXRhPy5vd25fY2FwYWJpbGl0aWVzIGFzIHN0cmluZ1tdKSB8fCBbXTtcbiAgICB0aGlzLmNhblNlbmRSZWFkRXZlbnRzID0gY2FwYWJpbGl0aWVzLmluZGV4T2YoJ3JlYWQtZXZlbnRzJykgIT09IC0xO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsIS5vbignbWVzc2FnZS5uZXcnLCB0aGlzLmhhbmRsZU1lc3NhZ2VFdmVudC5iaW5kKHRoaXMpKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYW5uZWwhLm9uKCdtZXNzYWdlLnVwZGF0ZWQnLCB0aGlzLmhhbmRsZU1lc3NhZ2VFdmVudC5iaW5kKHRoaXMpKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYW5uZWwhLm9uKCdtZXNzYWdlLmRlbGV0ZWQnLCB0aGlzLmhhbmRsZU1lc3NhZ2VFdmVudC5iaW5kKHRoaXMpKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYW5uZWwhLm9uKCdjaGFubmVsLnRydW5jYXRlZCcsIHRoaXMuaGFuZGxlTWVzc2FnZUV2ZW50LmJpbmQodGhpcykpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhbm5lbCEub24oJ21lc3NhZ2UucmVhZCcsICgpID0+XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1VucmVhZE1lc3NhZ2VXYXNDYWxsZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVVucmVhZFN0YXRlKCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhdENsaWVudFNlcnZpY2UuZXZlbnRzJFxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICAoZSkgPT5cbiAgICAgICAgICAgICAgZS5ldmVudFR5cGUgPT09ICdub3RpZmljYXRpb24ubWFya191bnJlYWQnICYmXG4gICAgICAgICAgICAgIHRoaXMuY2hhbm5lbCEuaWQgPT09IGUuZXZlbnQ/LmNoYW5uZWxfaWRcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNVbnJlYWRNZXNzYWdlV2FzQ2FsbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVW5yZWFkU3RhdGUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHMpID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBnZXQgYXZhdGFySW1hZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hhbm5lbD8uZGF0YT8uaW1hZ2U7XG4gIH1cblxuICBnZXQgYXZhdGFyTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jaGFubmVsPy5kYXRhPy5uYW1lO1xuICB9XG5cbiAgZ2V0IHRpdGxlKCkge1xuICAgIGlmICghdGhpcy5jaGFubmVsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBnZXRDaGFubmVsRGlzcGxheVRleHQoXG4gICAgICB0aGlzLmNoYW5uZWwsXG4gICAgICB0aGlzLmNoYXRDbGllbnRTZXJ2aWNlLmNoYXRDbGllbnQudXNlciFcbiAgICApO1xuICB9XG5cbiAgc2V0QXNBY3RpdmVDaGFubmVsKCk6IHZvaWQge1xuICAgIHZvaWQgdGhpcy5jaGFubmVsU2VydmljZS5zZXRBc0FjdGl2ZUNoYW5uZWwodGhpcy5jaGFubmVsISk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU1lc3NhZ2VFdmVudChldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuY2hhbm5lbD8uc3RhdGUubGF0ZXN0TWVzc2FnZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlU3RhdHVzID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VUZXh0ID0gJ3N0cmVhbUNoYXQuTm90aGluZyB5ZXQuLi4nO1xuICAgICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VUaW1lID0gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBsYXRlc3RNZXNzYWdlID1cbiAgICAgICAgdGhpcy5jaGFubmVsPy5zdGF0ZS5sYXRlc3RNZXNzYWdlc1tcbiAgICAgICAgICB0aGlzLmNoYW5uZWw/LnN0YXRlLmxhdGVzdE1lc3NhZ2VzLmxlbmd0aCAtIDFcbiAgICAgICAgXTtcbiAgICAgIGlmICghZXZlbnQubWVzc2FnZSB8fCBsYXRlc3RNZXNzYWdlPy5pZCAhPT0gZXZlbnQubWVzc2FnZS5pZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnNldExhdGVzdE1lc3NhZ2UobGF0ZXN0TWVzc2FnZSk7XG4gICAgICB0aGlzLnVwZGF0ZVVucmVhZFN0YXRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldExhdGVzdE1lc3NhZ2UobWVzc2FnZT86IEZvcm1hdE1lc3NhZ2VSZXNwb25zZSkge1xuICAgIHRoaXMubGF0ZXN0TWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgaWYgKG1lc3NhZ2U/LmRlbGV0ZWRfYXQpIHtcbiAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZVRleHQgPSAnc3RyZWFtQ2hhdC5NZXNzYWdlIGRlbGV0ZWQnO1xuICAgIH0gZWxzZSBpZiAobWVzc2FnZT8udGV4dCkge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlVGV4dCA9XG4gICAgICAgIGdldE1lc3NhZ2VUcmFuc2xhdGlvbihcbiAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgIHRoaXMuY2hhbm5lbCxcbiAgICAgICAgICB0aGlzLmNoYXRDbGllbnRTZXJ2aWNlLmNoYXRDbGllbnQudXNlclxuICAgICAgICApIHx8IG1lc3NhZ2UudGV4dDtcbiAgICB9IGVsc2UgaWYgKG1lc3NhZ2U/LmF0dGFjaG1lbnRzICYmIG1lc3NhZ2UuYXR0YWNobWVudHMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VUZXh0ID0gJ3N0cmVhbUNoYXQu8J+PmSBBdHRhY2htZW50Li4uJztcbiAgICB9XG4gICAgaWYgKHRoaXMubGF0ZXN0TWVzc2FnZSAmJiB0aGlzLmxhdGVzdE1lc3NhZ2UudHlwZSA9PT0gJ3JlZ3VsYXInKSB7XG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VUaW1lID0gaXNPblNlcGFyYXRlRGF0ZShcbiAgICAgICAgbmV3IERhdGUoKSxcbiAgICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlLmNyZWF0ZWRfYXRcbiAgICAgIClcbiAgICAgICAgPyB0aGlzLmRhdGVQYXJzZXIucGFyc2VEYXRlKHRoaXMubGF0ZXN0TWVzc2FnZS5jcmVhdGVkX2F0KVxuICAgICAgICA6IHRoaXMuZGF0ZVBhcnNlci5wYXJzZVRpbWUodGhpcy5sYXRlc3RNZXNzYWdlLmNyZWF0ZWRfYXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VUaW1lID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVW5yZWFkU3RhdGUoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5jaGFubmVsICYmXG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2UgJiZcbiAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZS51c2VyPy5pZCA9PT0gdGhpcy51c2VySWQgJiZcbiAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZS5zdGF0dXMgPT09ICdyZWNlaXZlZCcgJiZcbiAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZS50eXBlID09PSAncmVndWxhcidcbiAgICApIHtcbiAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZVN0YXR1cyA9XG4gICAgICAgIGdldFJlYWRCeSh0aGlzLmxhdGVzdE1lc3NhZ2UsIHRoaXMuY2hhbm5lbCkubGVuZ3RoID4gMFxuICAgICAgICAgID8gJ3JlYWQnXG4gICAgICAgICAgOiAnZGVsaXZlcmVkJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlU3RhdHVzID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICAodGhpcy5pc0FjdGl2ZSAmJiAhdGhpcy5pc1VucmVhZE1lc3NhZ2VXYXNDYWxsZWQpIHx8XG4gICAgICAhdGhpcy5jYW5TZW5kUmVhZEV2ZW50c1xuICAgICkge1xuICAgICAgdGhpcy51bnJlYWRDb3VudCA9IDA7XG4gICAgICB0aGlzLmlzVW5yZWFkID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudW5yZWFkQ291bnQgPSB0aGlzLmNoYW5uZWwhLmNvdW50VW5yZWFkKCk7XG4gICAgdGhpcy5pc1VucmVhZCA9ICEhdGhpcy51bnJlYWRDb3VudDtcbiAgfVxufVxuIiwiPGJ1dHRvblxuICBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyIHN0ci1jaGF0X19jaGFubmVsLXByZXZpZXdcIlxuICBkYXRhLXRlc3RpZD1cImNoYW5uZWwtcHJldmlldy1jb250YWluZXJcIlxuICBbY2xhc3Muc3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLWFjdGl2ZV09XCJpc0FjdGl2ZVwiXG4gIFtjbGFzcy5zdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LS1hY3RpdmVdPVwiaXNBY3RpdmVcIlxuICBbY2xhc3Muc3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLXVucmVhZF09XCJpc1VucmVhZFwiXG4gIChjbGljayk9XCJzZXRBc0FjdGl2ZUNoYW5uZWwoKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3Nlbmdlci0tbGVmdFwiPlxuICAgIDxzdHJlYW0tYXZhdGFyLXBsYWNlaG9sZGVyXG4gICAgICB0eXBlPVwiY2hhbm5lbFwiXG4gICAgICBsb2NhdGlvbj1cImNoYW5uZWwtcHJldmlld1wiXG4gICAgICBuYW1lPVwie3sgYXZhdGFyTmFtZSB9fVwiXG4gICAgICBpbWFnZVVybD1cInt7IGF2YXRhckltYWdlIH19XCJcbiAgICAgIFtjaGFubmVsXT1cImNoYW5uZWxcIlxuICAgID48L3N0cmVhbS1hdmF0YXItcGxhY2Vob2xkZXI+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3Nlbmdlci0tcmlnaHQgc3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1lbmRcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgKGN1c3RvbVRlbXBsYXRlc1NlcnZpY2UuY2hhbm5lbFByZXZpZXdJbmZvVGVtcGxhdGUkIHwgYXN5bmMpIHx8XG4gICAgICAgICAgZGVmYXVsdENoYW5uZWxJbmZvO1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgY2hhbm5lbERpc3BsYXlUaXRsZTogdGl0bGUsXG4gICAgICAgICAgY2hhbm5lbDogY2hhbm5lbCxcbiAgICAgICAgICB1bnJlYWRDb3VudDogdW5yZWFkQ291bnQsXG4gICAgICAgICAgbGF0ZXN0TWVzc2FnZVRleHQ6IGxhdGVzdE1lc3NhZ2VUZXh0LFxuICAgICAgICAgIGxhdGVzdE1lc3NhZ2VTdGF0dXM6IGxhdGVzdE1lc3NhZ2VTdGF0dXMsXG4gICAgICAgICAgbGF0ZXN0TWVzc2FnZVRpbWU6IGxhdGVzdE1lc3NhZ2VUaW1lLFxuICAgICAgICAgIGxhdGVzdE1lc3NhZ2U6IGxhdGVzdE1lc3NhZ2VcbiAgICAgICAgfVxuICAgICAgXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAjZGVmYXVsdENoYW5uZWxJbmZvXG4gICAgICBsZXQtY2hhbm5lbERpc3BsYXlUaXRsZT1cImNoYW5uZWxEaXNwbGF5VGl0bGVcIlxuICAgICAgbGV0LXVucmVhZENvdW50PVwidW5yZWFkQ291bnRcIlxuICAgICAgbGV0LWxhdGVzdE1lc3NhZ2VUZXh0PVwibGF0ZXN0TWVzc2FnZVRleHRcIlxuICAgICAgbGV0LWxhdGVzdE1lc3NhZ2VTdGF0dXM9XCJsYXRlc3RNZXNzYWdlU3RhdHVzXCJcbiAgICAgIGxldC1sYXRlc3RNZXNzYWdlVGltZT1cImxhdGVzdE1lc3NhZ2VUaW1lXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1lbmQtZmlyc3Qtcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3Nlbmdlci0tbmFtZVwiPlxuICAgICAgICAgIDxzcGFuIGRhdGEtdGVzdGlkPVwiY2hhbm5lbC1wcmV2aWV3LXRpdGxlXCI+e3tcbiAgICAgICAgICAgIGNoYW5uZWxEaXNwbGF5VGl0bGVcbiAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdJZj1cInVucmVhZENvdW50XCJcbiAgICAgICAgICBkYXRhLXRlc3RpZD1cInVucmVhZC1iYWRnZVwiXG4gICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LXVucmVhZC1iYWRnZVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB1bnJlYWRDb3VudCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctZW5kLXNlY29uZC1yb3dcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwibGF0ZXN0LW1lc3NhZ2VcIlxuICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLWxhc3QtbWVzc2FnZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheUFzID09PSAndGV4dCc7IGVsc2UgYXNIVE1MXCI+XG4gICAgICAgICAgICB7eyBsYXRlc3RNZXNzYWdlVGV4dCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYXNIVE1MPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJodG1sLWNvbnRlbnRcIlxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImxhdGVzdE1lc3NhZ2VUZXh0IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdJZj1cImxhdGVzdE1lc3NhZ2VTdGF0dXNcIlxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwibGF0ZXN0LW1lc3NhZ2Utc3RhdHVzXCJcbiAgICAgICAgICBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS1zdGF0dXMgc3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLXN0YXR1cy17e1xuICAgICAgICAgICAgbGF0ZXN0TWVzc2FnZVN0YXR1c1xuICAgICAgICAgIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzdHJlYW0taWNvbi1wbGFjZWhvbGRlclxuICAgICAgICAgICAgW2ljb25dPVwibGF0ZXN0TWVzc2FnZVN0YXR1cyA9PT0gJ2RlbGl2ZXJlZCcgPyAnZGVsaXZlcmVkJyA6ICdyZWFkJ1wiXG4gICAgICAgICAgPjwvc3RyZWFtLWljb24tcGxhY2Vob2xkZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCJsYXRlc3RNZXNzYWdlVGltZVwiXG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJsYXRlc3QtbWVzc2FnZS10aW1lXCJcbiAgICAgICAgICBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS10aW1lXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGxhdGVzdE1lc3NhZ2VUaW1lIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2J1dHRvbj5cbiJdfQ==
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLXByZXZpZXcvY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLXByZXZpZXcvY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUU1RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFHMUQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8sdUJBQXVCO0lBa0JsQyxZQUNVLGNBQThCLEVBQzlCLE1BQWMsRUFDZCxpQkFBb0MsRUFDNUMsY0FBOEIsRUFDdkIsc0JBQThDLEVBQzdDLFVBQTZCO1FBTDdCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUVyQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzdDLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBbkJ2QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLEtBQUssQ0FBQztRQUNqQyxh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QyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDO29CQUNwRCxDQUFDLENBQUMsTUFBTTtvQkFDUixDQUFDLENBQUMsV0FBVyxDQUFDO1NBQ25CO2FBQU07WUFDTCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO1NBQ3RDO1FBQ0QsSUFDRSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUM7WUFDakQsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQ3ZCO1lBQ0EsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDckMsQ0FBQzs7b0hBN0xVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDhGQ3RCcEMsb3hHQThGQTsyRkR4RWEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHdCQUF3Qjs0UEFRekIsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDaGFubmVsLCBFdmVudCwgRm9ybWF0TWVzc2FnZVJlc3BvbnNlIH0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi9jaGFubmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0Q2hhbm5lbERpc3BsYXlUZXh0IH0gZnJvbSAnLi4vZ2V0LWNoYW5uZWwtZGlzcGxheS10ZXh0JztcbmltcG9ydCB7IENoYXRDbGllbnRTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhdC1jbGllbnQuc2VydmljZSc7XG5pbXBvcnQgeyBnZXRNZXNzYWdlVHJhbnNsYXRpb24gfSBmcm9tICcuLi9nZXQtbWVzc2FnZS10cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uL21lc3NhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDdXN0b21UZW1wbGF0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vY3VzdG9tLXRlbXBsYXRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IGdldFJlYWRCeSB9IGZyb20gJy4uL3JlYWQtYnknO1xuaW1wb3J0IHsgaXNPblNlcGFyYXRlRGF0ZSB9IGZyb20gJy4uL2lzLW9uLXNlcGFyYXRlLWRhdGUnO1xuaW1wb3J0IHsgRGF0ZVBhcnNlclNlcnZpY2UgfSBmcm9tICcuLi9kYXRlLXBhcnNlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBUaGUgYENoYW5uZWxQcmV2aWV3YCBjb21wb25lbnQgZGlzcGxheXMgYSBjaGFubmVsIHByZXZpZXcgaW4gdGhlIGNoYW5uZWwgbGlzdCwgaXQgY29uc2lzdHMgb2YgdGhlIGltYWdlLCBuYW1lIGFuZCBsYXRlc3QgbWVzc2FnZSBvZiB0aGUgY2hhbm5lbC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3RyZWFtLWNoYW5uZWwtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFubmVsLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFubmVsUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRoZSBjaGFubmVsIHRvIGJlIGRpc3BsYXllZFxuICAgKi9cbiAgQElucHV0KCkgY2hhbm5lbDogQ2hhbm5lbCB8IHVuZGVmaW5lZDtcbiAgaXNBY3RpdmUgPSBmYWxzZTtcbiAgaXNVbnJlYWRNZXNzYWdlV2FzQ2FsbGVkID0gZmFsc2U7XG4gIGlzVW5yZWFkID0gZmFsc2U7XG4gIHVucmVhZENvdW50OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIGxhdGVzdE1lc3NhZ2VUZXh0OiBzdHJpbmcgPSAnc3RyZWFtQ2hhdC5Ob3RoaW5nIHlldC4uLic7XG4gIGxhdGVzdE1lc3NhZ2VTdGF0dXM/OiAnZGVsaXZlcmVkJyB8ICdyZWFkJztcbiAgbGF0ZXN0TWVzc2FnZVRpbWU/OiBzdHJpbmc7XG4gIGxhdGVzdE1lc3NhZ2U/OiBGb3JtYXRNZXNzYWdlUmVzcG9uc2U7XG4gIGRpc3BsYXlBczogJ3RleHQnIHwgJ2h0bWwnO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogKFN1YnNjcmlwdGlvbiB8IHsgdW5zdWJzY3JpYmU6ICgpID0+IHZvaWQgfSlbXSA9IFtdO1xuICBwcml2YXRlIGNhblNlbmRSZWFkRXZlbnRzID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5uZWxTZXJ2aWNlOiBDaGFubmVsU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgY2hhdENsaWVudFNlcnZpY2U6IENoYXRDbGllbnRTZXJ2aWNlLFxuICAgIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwdWJsaWMgY3VzdG9tVGVtcGxhdGVzU2VydmljZTogQ3VzdG9tVGVtcGxhdGVzU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGVQYXJzZXI6IERhdGVQYXJzZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZGlzcGxheUFzID0gbWVzc2FnZVNlcnZpY2UuZGlzcGxheUFzO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYXRDbGllbnRTZXJ2aWNlLnVzZXIkLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICBpZiAodXNlcj8uaWQgIT09IHRoaXMudXNlcklkKSB7XG4gICAgICAgICAgdGhpcy51c2VySWQgPSB1c2VyPy5pZDtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5hY3RpdmVDaGFubmVsJC5zdWJzY3JpYmUoXG4gICAgICAgIChhY3RpdmVDaGFubmVsKSA9PlxuICAgICAgICAgICh0aGlzLmlzQWN0aXZlID0gYWN0aXZlQ2hhbm5lbD8uaWQgPT09IHRoaXMuY2hhbm5lbD8uaWQpXG4gICAgICApXG4gICAgKTtcbiAgICBjb25zdCBtZXNzYWdlcyA9IHRoaXMuY2hhbm5lbD8uc3RhdGU/LmxhdGVzdE1lc3NhZ2VzO1xuICAgIGlmIChtZXNzYWdlcyAmJiBtZXNzYWdlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnNldExhdGVzdE1lc3NhZ2UobWVzc2FnZXNbbWVzc2FnZXMubGVuZ3RoIC0gMV0pO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVVucmVhZFN0YXRlKCk7XG4gICAgY29uc3QgY2FwYWJpbGl0aWVzID1cbiAgICAgICh0aGlzLmNoYW5uZWw/LmRhdGE/Lm93bl9jYXBhYmlsaXRpZXMgYXMgc3RyaW5nW10pIHx8IFtdO1xuICAgIHRoaXMuY2FuU2VuZFJlYWRFdmVudHMgPSBjYXBhYmlsaXRpZXMuaW5kZXhPZigncmVhZC1ldmVudHMnKSAhPT0gLTE7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYW5uZWwhLm9uKCdtZXNzYWdlLm5ldycsIHRoaXMuaGFuZGxlTWVzc2FnZUV2ZW50LmJpbmQodGhpcykpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhbm5lbCEub24oJ21lc3NhZ2UudXBkYXRlZCcsIHRoaXMuaGFuZGxlTWVzc2FnZUV2ZW50LmJpbmQodGhpcykpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhbm5lbCEub24oJ21lc3NhZ2UuZGVsZXRlZCcsIHRoaXMuaGFuZGxlTWVzc2FnZUV2ZW50LmJpbmQodGhpcykpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhbm5lbCEub24oJ2NoYW5uZWwudHJ1bmNhdGVkJywgdGhpcy5oYW5kbGVNZXNzYWdlRXZlbnQuYmluZCh0aGlzKSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsIS5vbignbWVzc2FnZS5yZWFkJywgKCkgPT5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzVW5yZWFkTWVzc2FnZVdhc0NhbGxlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMudXBkYXRlVW5yZWFkU3RhdGUoKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGF0Q2xpZW50U2VydmljZS5ldmVudHMkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgIChlKSA9PlxuICAgICAgICAgICAgICBlLmV2ZW50VHlwZSA9PT0gJ25vdGlmaWNhdGlvbi5tYXJrX3VucmVhZCcgJiZcbiAgICAgICAgICAgICAgdGhpcy5jaGFubmVsIS5pZCA9PT0gZS5ldmVudD8uY2hhbm5lbF9pZFxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc1VucmVhZE1lc3NhZ2VXYXNDYWxsZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVVbnJlYWRTdGF0ZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGdldCBhdmF0YXJJbWFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jaGFubmVsPy5kYXRhPy5pbWFnZTtcbiAgfVxuXG4gIGdldCBhdmF0YXJOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmNoYW5uZWw/LmRhdGE/Lm5hbWU7XG4gIH1cblxuICBnZXQgdGl0bGUoKSB7XG4gICAgaWYgKCF0aGlzLmNoYW5uZWwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGdldENoYW5uZWxEaXNwbGF5VGV4dChcbiAgICAgIHRoaXMuY2hhbm5lbCxcbiAgICAgIHRoaXMuY2hhdENsaWVudFNlcnZpY2UuY2hhdENsaWVudC51c2VyIVxuICAgICk7XG4gIH1cblxuICBzZXRBc0FjdGl2ZUNoYW5uZWwoKTogdm9pZCB7XG4gICAgdm9pZCB0aGlzLmNoYW5uZWxTZXJ2aWNlLnNldEFzQWN0aXZlQ2hhbm5lbCh0aGlzLmNoYW5uZWwhKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTWVzc2FnZUV2ZW50KGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jaGFubmVsPy5zdGF0ZS5sYXRlc3RNZXNzYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VTdGF0dXMgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZVRleHQgPSAnc3RyZWFtQ2hhdC5Ob3RoaW5nIHlldC4uLic7XG4gICAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZVRpbWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGxhdGVzdE1lc3NhZ2UgPVxuICAgICAgICB0aGlzLmNoYW5uZWw/LnN0YXRlLmxhdGVzdE1lc3NhZ2VzW1xuICAgICAgICAgIHRoaXMuY2hhbm5lbD8uc3RhdGUubGF0ZXN0TWVzc2FnZXMubGVuZ3RoIC0gMVxuICAgICAgICBdO1xuICAgICAgaWYgKCFldmVudC5tZXNzYWdlIHx8IGxhdGVzdE1lc3NhZ2U/LmlkICE9PSBldmVudC5tZXNzYWdlLmlkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0TGF0ZXN0TWVzc2FnZShsYXRlc3RNZXNzYWdlKTtcbiAgICAgIHRoaXMudXBkYXRlVW5yZWFkU3RhdGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TGF0ZXN0TWVzc2FnZShtZXNzYWdlPzogRm9ybWF0TWVzc2FnZVJlc3BvbnNlKSB7XG4gICAgdGhpcy5sYXRlc3RNZXNzYWdlID0gbWVzc2FnZTtcbiAgICBpZiAobWVzc2FnZT8uZGVsZXRlZF9hdCkge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlVGV4dCA9ICdzdHJlYW1DaGF0Lk1lc3NhZ2UgZGVsZXRlZCc7XG4gICAgfSBlbHNlIGlmIChtZXNzYWdlPy50ZXh0KSB7XG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VUZXh0ID1cbiAgICAgICAgZ2V0TWVzc2FnZVRyYW5zbGF0aW9uKFxuICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgdGhpcy5jaGFubmVsLFxuICAgICAgICAgIHRoaXMuY2hhdENsaWVudFNlcnZpY2UuY2hhdENsaWVudC51c2VyXG4gICAgICAgICkgfHwgbWVzc2FnZS50ZXh0O1xuICAgIH0gZWxzZSBpZiAobWVzc2FnZT8uYXR0YWNobWVudHMgJiYgbWVzc2FnZS5hdHRhY2htZW50cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZVRleHQgPSAnc3RyZWFtQ2hhdC7wn4+ZIEF0dGFjaG1lbnQuLi4nO1xuICAgIH0gZWxzZSBpZiAobWVzc2FnZT8ucG9sbF9pZCkge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlVGV4dCA9IGDwn5OKICR7bWVzc2FnZS5wb2xsPy5uYW1lfWA7XG4gICAgfVxuICAgIGlmICh0aGlzLmxhdGVzdE1lc3NhZ2UgJiYgdGhpcy5sYXRlc3RNZXNzYWdlLnR5cGUgPT09ICdyZWd1bGFyJykge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlVGltZSA9IGlzT25TZXBhcmF0ZURhdGUoXG4gICAgICAgIG5ldyBEYXRlKCksXG4gICAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZS5jcmVhdGVkX2F0XG4gICAgICApXG4gICAgICAgID8gdGhpcy5kYXRlUGFyc2VyLnBhcnNlRGF0ZSh0aGlzLmxhdGVzdE1lc3NhZ2UuY3JlYXRlZF9hdClcbiAgICAgICAgOiB0aGlzLmRhdGVQYXJzZXIucGFyc2VUaW1lKHRoaXMubGF0ZXN0TWVzc2FnZS5jcmVhdGVkX2F0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlVGltZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVVucmVhZFN0YXRlKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMuY2hhbm5lbCAmJlxuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlICYmXG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2UudXNlcj8uaWQgPT09IHRoaXMudXNlcklkICYmXG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2Uuc3RhdHVzID09PSAncmVjZWl2ZWQnICYmXG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2UudHlwZSA9PT0gJ3JlZ3VsYXInXG4gICAgKSB7XG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VTdGF0dXMgPVxuICAgICAgICBnZXRSZWFkQnkodGhpcy5sYXRlc3RNZXNzYWdlLCB0aGlzLmNoYW5uZWwpLmxlbmd0aCA+IDBcbiAgICAgICAgICA/ICdyZWFkJ1xuICAgICAgICAgIDogJ2RlbGl2ZXJlZCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZVN0YXR1cyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgKHRoaXMuaXNBY3RpdmUgJiYgIXRoaXMuaXNVbnJlYWRNZXNzYWdlV2FzQ2FsbGVkKSB8fFxuICAgICAgIXRoaXMuY2FuU2VuZFJlYWRFdmVudHNcbiAgICApIHtcbiAgICAgIHRoaXMudW5yZWFkQ291bnQgPSAwO1xuICAgICAgdGhpcy5pc1VucmVhZCA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnVucmVhZENvdW50ID0gdGhpcy5jaGFubmVsIS5jb3VudFVucmVhZCgpO1xuICAgIHRoaXMuaXNVbnJlYWQgPSAhIXRoaXMudW5yZWFkQ291bnQ7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3NlbmdlciBzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3XCJcbiAgZGF0YS10ZXN0aWQ9XCJjaGFubmVsLXByZXZpZXctY29udGFpbmVyXCJcbiAgW2NsYXNzLnN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS1hY3RpdmVdPVwiaXNBY3RpdmVcIlxuICBbY2xhc3Muc3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy0tYWN0aXZlXT1cImlzQWN0aXZlXCJcbiAgW2NsYXNzLnN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS11bnJlYWRdPVwiaXNVbnJlYWRcIlxuICAoY2xpY2spPVwic2V0QXNBY3RpdmVDaGFubmVsKClcIlxuPlxuICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLWxlZnRcIj5cbiAgICA8c3RyZWFtLWF2YXRhci1wbGFjZWhvbGRlclxuICAgICAgdHlwZT1cImNoYW5uZWxcIlxuICAgICAgbG9jYXRpb249XCJjaGFubmVsLXByZXZpZXdcIlxuICAgICAgbmFtZT1cInt7IGF2YXRhck5hbWUgfX1cIlxuICAgICAgaW1hZ2VVcmw9XCJ7eyBhdmF0YXJJbWFnZSB9fVwiXG4gICAgICBbY2hhbm5lbF09XCJjaGFubmVsXCJcbiAgICA+PC9zdHJlYW0tYXZhdGFyLXBsYWNlaG9sZGVyPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLXJpZ2h0IHN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctZW5kXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIChjdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLmNoYW5uZWxQcmV2aWV3SW5mb1RlbXBsYXRlJCB8IGFzeW5jKSB8fFxuICAgICAgICAgIGRlZmF1bHRDaGFubmVsSW5mbztcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgIGNoYW5uZWxEaXNwbGF5VGl0bGU6IHRpdGxlLFxuICAgICAgICAgIGNoYW5uZWw6IGNoYW5uZWwsXG4gICAgICAgICAgdW5yZWFkQ291bnQ6IHVucmVhZENvdW50LFxuICAgICAgICAgIGxhdGVzdE1lc3NhZ2VUZXh0OiBsYXRlc3RNZXNzYWdlVGV4dCxcbiAgICAgICAgICBsYXRlc3RNZXNzYWdlU3RhdHVzOiBsYXRlc3RNZXNzYWdlU3RhdHVzLFxuICAgICAgICAgIGxhdGVzdE1lc3NhZ2VUaW1lOiBsYXRlc3RNZXNzYWdlVGltZSxcbiAgICAgICAgICBsYXRlc3RNZXNzYWdlOiBsYXRlc3RNZXNzYWdlXG4gICAgICAgIH1cbiAgICAgIFwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgI2RlZmF1bHRDaGFubmVsSW5mb1xuICAgICAgbGV0LWNoYW5uZWxEaXNwbGF5VGl0bGU9XCJjaGFubmVsRGlzcGxheVRpdGxlXCJcbiAgICAgIGxldC11bnJlYWRDb3VudD1cInVucmVhZENvdW50XCJcbiAgICAgIGxldC1sYXRlc3RNZXNzYWdlVGV4dD1cImxhdGVzdE1lc3NhZ2VUZXh0XCJcbiAgICAgIGxldC1sYXRlc3RNZXNzYWdlU3RhdHVzPVwibGF0ZXN0TWVzc2FnZVN0YXR1c1wiXG4gICAgICBsZXQtbGF0ZXN0TWVzc2FnZVRpbWU9XCJsYXRlc3RNZXNzYWdlVGltZVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctZW5kLWZpcnN0LXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLW5hbWVcIj5cbiAgICAgICAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImNoYW5uZWwtcHJldmlldy10aXRsZVwiPnt7XG4gICAgICAgICAgICBjaGFubmVsRGlzcGxheVRpdGxlXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCJ1bnJlYWRDb3VudFwiXG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJ1bnJlYWQtYmFkZ2VcIlxuICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy11bnJlYWQtYmFkZ2VcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgdW5yZWFkQ291bnQgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LWVuZC1zZWNvbmQtcm93XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBkYXRhLXRlc3RpZD1cImxhdGVzdC1tZXNzYWdlXCJcbiAgICAgICAgICBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS1sYXN0LW1lc3NhZ2VcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlBcyA9PT0gJ3RleHQnOyBlbHNlIGFzSFRNTFwiPlxuICAgICAgICAgICAge3sgbGF0ZXN0TWVzc2FnZVRleHQgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2FzSFRNTD5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiaHRtbC1jb250ZW50XCJcbiAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJsYXRlc3RNZXNzYWdlVGV4dCB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCJsYXRlc3RNZXNzYWdlU3RhdHVzXCJcbiAgICAgICAgICBkYXRhLXRlc3RpZD1cImxhdGVzdC1tZXNzYWdlLXN0YXR1c1wiXG4gICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3Nlbmdlci0tc3RhdHVzIHN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS1zdGF0dXMte3tcbiAgICAgICAgICAgIGxhdGVzdE1lc3NhZ2VTdGF0dXNcbiAgICAgICAgICB9fVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3RyZWFtLWljb24tcGxhY2Vob2xkZXJcbiAgICAgICAgICAgIFtpY29uXT1cImxhdGVzdE1lc3NhZ2VTdGF0dXMgPT09ICdkZWxpdmVyZWQnID8gJ2RlbGl2ZXJlZCcgOiAncmVhZCdcIlxuICAgICAgICAgID48L3N0cmVhbS1pY29uLXBsYWNlaG9sZGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwibGF0ZXN0TWVzc2FnZVRpbWVcIlxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwibGF0ZXN0LW1lc3NhZ2UtdGltZVwiXG4gICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3Nlbmdlci0tdGltZVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBsYXRlc3RNZXNzYWdlVGltZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9idXR0b24+XG4iXX0=