@datarailsshared/datarailsshared 1.6.37 → 1.6.41

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.
@@ -79,6 +79,7 @@ export class DrChatComponent {
79
79
  * @type {boolean}
80
80
  */
81
81
  this.waitForReply = false;
82
+ this.scrollDelay = 250;
82
83
  this.suggestionSelect = new EventEmitter();
83
84
  }
84
85
  ngAfterViewInit() {
@@ -105,7 +106,7 @@ export class DrChatComponent {
105
106
  this.messagesContainer.nativeElement.scrollTo(scrollToOptions);
106
107
  this.cdr.markForCheck();
107
108
  }
108
- });
109
+ }, this.scrollDelay);
109
110
  }
110
111
  ngOnDestroy() {
111
112
  this.destroy$.next();
@@ -138,7 +139,7 @@ export class DrChatComponent {
138
139
  let _t;
139
140
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.messagesContainer = _t.first);
140
141
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._chatSuggestions = _t.first);
141
- } }, inputs: { fullScreen: "fullScreen", noMessagesPlaceholder: "noMessagesPlaceholder", contentUpdateSubject: "contentUpdateSubject", scrollBottom: "scrollBottom", suggestions: "suggestions", reopen: "reopen", waitForReply: "waitForReply" }, outputs: { suggestionSelect: "suggestionSelect" }, features: [i0.ɵɵProvidersFeature([DrChatCustomMessageService])], ngContentSelectors: _c3, decls: 11, vars: 6, consts: [[1, "chat"], [1, "chat__sticky-top"], [3, "ngTemplateOutlet", 4, "ngIf"], [1, "chat__alert"], ["class", "chat__empty-state", 4, "ngIf"], ["class", "chat__messages", 4, "ngIf"], ["class", "chat__suggestions", 3, "values", "fullScreen", "waitForReply", "chat__suggestions--full-height", "buttonMode", "suggestionSelect", 4, "ngIf"], [1, "form"], [3, "ngTemplateOutlet"], [1, "chat__empty-state"], [1, "chat__empty-state__text"], [1, "chat__messages"], [1, "chat__messages__container"], ["messagesContainer", ""], [1, "chat__suggestions", 3, "values", "fullScreen", "waitForReply", "buttonMode", "suggestionSelect"]], template: function DrChatComponent_Template(rf, ctx) { if (rf & 1) {
142
+ } }, inputs: { fullScreen: "fullScreen", noMessagesPlaceholder: "noMessagesPlaceholder", contentUpdateSubject: "contentUpdateSubject", scrollBottom: "scrollBottom", suggestions: "suggestions", reopen: "reopen", waitForReply: "waitForReply", scrollDelay: "scrollDelay" }, outputs: { suggestionSelect: "suggestionSelect" }, features: [i0.ɵɵProvidersFeature([DrChatCustomMessageService])], ngContentSelectors: _c3, decls: 11, vars: 6, consts: [[1, "chat"], [1, "chat__sticky-top"], [3, "ngTemplateOutlet", 4, "ngIf"], [1, "chat__alert"], ["class", "chat__empty-state", 4, "ngIf"], ["class", "chat__messages", 4, "ngIf"], ["class", "chat__suggestions", 3, "values", "fullScreen", "waitForReply", "chat__suggestions--full-height", "buttonMode", "suggestionSelect", 4, "ngIf"], [1, "form"], [3, "ngTemplateOutlet"], [1, "chat__empty-state"], [1, "chat__empty-state__text"], [1, "chat__messages"], [1, "chat__messages__container"], ["messagesContainer", ""], [1, "chat__suggestions", 3, "values", "fullScreen", "waitForReply", "buttonMode", "suggestionSelect"]], template: function DrChatComponent_Template(rf, ctx) { if (rf & 1) {
142
143
  i0.ɵɵprojectionDef(_c2);
143
144
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
144
145
  i0.ɵɵtemplate(2, DrChatComponent_ng_container_2_Template, 1, 1, "ng-container", 2);
@@ -181,6 +182,8 @@ export class DrChatComponent {
181
182
  type: Input
182
183
  }], waitForReply: [{
183
184
  type: Input
185
+ }], scrollDelay: [{
186
+ type: Input
184
187
  }], messagesContainer: [{
185
188
  type: ViewChild,
186
189
  args: ['messagesContainer']
@@ -199,4 +202,4 @@ export class DrChatComponent {
199
202
  type: ViewChild,
200
203
  args: [DrChatSuggestionsComponent]
201
204
  }] }); })();
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2NoYXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY2hhdC9jaGF0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsZUFBZSxFQUNmLFNBQVMsRUFFVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixZQUFZLEVBRVosV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7Ozs7O0lDbkJ0RiwyQkFBZ0Y7OztJQUEvQyxvREFBK0I7OztJQU9wRSw4QkFBeUQsZUFBQTtJQUNmLFlBQTJCO0lBQUEsaUJBQU8sRUFBQTs7O0lBQWxDLGVBQTJCO0lBQTNCLGtEQUEyQjs7O0lBR3JFLCtCQUFxRCxrQkFBQTtJQUs3QyxxQkFBa0Q7SUFDdEQsaUJBQU0sRUFBQTs7O0lBRkYsZUFBdUU7SUFBdkUsdUZBQXVFOzs7O0lBSy9FLCtDQVF1RDtJQUFuRCxxTkFBb0IsZUFBQSxvQ0FBNkIsQ0FBQSxJQUFDO0lBQ3RELGlCQUFzQjs7O0lBSGxCLGlJQUF3RTtJQUp4RSwyQ0FBc0IsaUNBQUEscUNBQUEsMkVBQUE7Ozs7QURLOUIsTUFBTSxPQUFPLGVBQWU7SUFNeEIsSUFBYSxvQkFBb0IsQ0FBQyxLQUFtQjtRQUNqRCxJQUFJLEtBQUssRUFBRTtZQUNQLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxLQUFjO1FBQzNCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBcUJELElBQVcsMkJBQTJCO1FBQ2xDLE9BQU8sQ0FDSCxJQUFJLENBQUMsaUJBQWlCO1lBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUN4RyxDQUFDO0lBQ04sQ0FBQztJQUVELFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbkRsQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUc5QiwwQkFBcUIsR0FBRyxrQkFBa0IsQ0FBQztRQXNCMUMsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFFdEIsZ0JBQVcsR0FBYSxFQUFFLENBQUM7UUFHcEM7Ozs7V0FJRztRQUNNLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBTXBCLHFCQUFnQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBVWpDLENBQUM7SUFFOUMsZUFBZTtRQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3hCLE1BQU0sZUFBZSxHQUFRO29CQUN6QixHQUFHLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxZQUFZO2lCQUN6RCxDQUFDO2dCQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUNkLGVBQWUsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO2lCQUN2QztnQkFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDL0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdkM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFO1lBQzVDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQy9DO0lBQ0wsQ0FBQzttR0FyR1EsZUFBZTttR0FBZixlQUFlO3dDQXdDVixtQkFBbUI7O3dDQURoQixzQkFBc0I7Ozs7Ozs7OzJCQUk1QiwwQkFBMEI7Ozs7OytVQTdDMUIsQ0FBQywwQkFBMEIsQ0FBQzs7WUMzQjNDLDhCQUE0RCxhQUFBO1lBRXBELGtGQUFnRjtZQUVoRiw4QkFBeUI7WUFDckIsa0JBQWdEO1lBQ3BELGlCQUFNLEVBQUE7WUFHVixnRUFFTTtZQUVOLGdFQU9NO1lBRU4sZ0dBU3NCO1lBRXRCLDhCQUFrQjtZQUNkLHFCQUErQztZQUMvQyxzQkFBcUQ7WUFDekQsaUJBQU0sRUFBQTs7WUFwQ1Esc0RBQXlDO1lBRXBDLGVBQWdCO1lBQWhCLHFDQUFnQjtZQU83QixlQUF1QjtZQUF2QiwyRUFBdUI7WUFJdkIsZUFBc0I7WUFBdEIsd0VBQXNCO1lBVXZCLGVBQXlCO1lBQXpCLDhFQUF5Qjs7O3VGRE1yQixlQUFlO2NBTjNCLFNBQVM7MkJBQ0ksU0FBUyxhQUdSLENBQUMsMEJBQTBCLENBQUM7b0VBSzlCLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxxQkFBcUI7a0JBQTdCLEtBQUs7WUFFTyxvQkFBb0I7a0JBQWhDLEtBQUs7WUFZRixZQUFZO2tCQURmLEtBQUs7WUFXRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBT0csWUFBWTtrQkFBcEIsS0FBSztZQUUwQixpQkFBaUI7a0JBQWhELFNBQVM7bUJBQUMsbUJBQW1CO1lBQ1csUUFBUTtrQkFBaEQsZUFBZTttQkFBQyxzQkFBc0I7WUFDSixRQUFRO2tCQUExQyxZQUFZO21CQUFDLG1CQUFtQjtZQUNILFVBQVU7a0JBQXZDLFlBQVk7bUJBQUMsY0FBYztZQUNsQixnQkFBZ0I7a0JBQXpCLE1BQU07WUFDZ0MsZ0JBQWdCO2tCQUF0RCxTQUFTO21CQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBRdWVyeUxpc3QsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEckNoYXRGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LWZvcm0vY2hhdC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEckNoYXRNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UvY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZSB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERyQ2hhdFN1Z2dlc3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LXN1Z2dlc3Rpb25zL2NoYXQtc3VnZ2VzdGlvbnMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1jaGF0JyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGF0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICdjaGF0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoKSBmdWxsU2NyZWVuOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG5vTWVzc2FnZXNQbGFjZWhvbGRlciA9ICdObyBtZXNzYWdlcyB5ZXQuJztcblxuICAgIEBJbnB1dCgpIHNldCBjb250ZW50VXBkYXRlU3ViamVjdCh2YWx1ZTogU3ViamVjdDxhbnk+KSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWUucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNjcm9sbCBjaGF0IHRvIHRoZSBib3R0b20gb2YgdGhlIGxpc3Qgd2hlbiBhIG5ldyBtZXNzYWdlIGFycml2ZXNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBzY3JvbGxCb3R0b20oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxCb3R0b207XG4gICAgfVxuXG4gICAgc2V0IHNjcm9sbEJvdHRvbSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zY3JvbGxCb3R0b20gPSAhIXZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfc2Nyb2xsQm90dG9tID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpIHN1Z2dlc3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHJlb3BlbjogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFBhcmFtZXRlciB0byBjaGVjayBpcyBzZW5kIG1lc3NhZ2UgZnVuY3Rpb24gYXZhaWxhYmxlXG4gICAgICpcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBASW5wdXQoKSB3YWl0Rm9yUmVwbHkgPSBmYWxzZTtcblxuICAgIEBWaWV3Q2hpbGQoJ21lc3NhZ2VzQ29udGFpbmVyJykgbWVzc2FnZXNDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gICAgQENvbnRlbnRDaGlsZHJlbihEckNoYXRNZXNzYWdlQ29tcG9uZW50KSBtZXNzYWdlczogUXVlcnlMaXN0PERyQ2hhdE1lc3NhZ2VDb21wb25lbnQ+O1xuICAgIEBDb250ZW50Q2hpbGQoRHJDaGF0Rm9ybUNvbXBvbmVudCkgY2hhdEZvcm06IERyQ2hhdEZvcm1Db21wb25lbnQ7XG4gICAgQENvbnRlbnRDaGlsZCgnZHJDaGF0SGVhZGVyJykgY2hhdEhlYWRlcjogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gICAgQE91dHB1dCgpIHN1Z2dlc3Rpb25TZWxlY3Q6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgQFZpZXdDaGlsZChEckNoYXRTdWdnZXN0aW9uc0NvbXBvbmVudCkgX2NoYXRTdWdnZXN0aW9uczogRHJDaGF0U3VnZ2VzdGlvbnNDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgZ2V0IG1lc3NhZ2VzQ29udGFpbmVyV2l0aFNjcm9sbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXNDb250YWluZXIgJiZcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXNDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgPiB0aGlzLm1lc3NhZ2VzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VzLmNoYW5nZXMuc3Vic2NyaWJlKChtZXNzYWdlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcyA9IG1lc3NhZ2VzO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgIH1cblxuICAgIHVwZGF0ZVZpZXcoKSB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbEJvdHRvbSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxMaXN0Qm90dG9tKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzY3JvbGxMaXN0Qm90dG9tKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VzQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsVG9PcHRpb25zOiBhbnkgPSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogdGhpcy5tZXNzYWdlc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCxcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnJlb3Blbikge1xuICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb09wdGlvbnMuYmVoYXZpb3IgPSAnc21vb3RoJztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oc2Nyb2xsVG9PcHRpb25zKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgY2xlYXJIaWRkZW5TdWdnZXN0aW9ucygpIHtcbiAgICAgICAgaWYgKHRoaXMuX2NoYXRTdWdnZXN0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5fY2hhdFN1Z2dlc3Rpb25zLmNsZWFySGlkZGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoaWRlU3VnZ2VzdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9jaGF0U3VnZ2VzdGlvbnM/LmlzU3VnZ2VzdGVkTWVudU9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2NoYXRTdWdnZXN0aW9ucy50b2dnbGVTdWdnZXN0ZWRNZW51KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2hhdFwiIFtjbGFzcy5jaGF0LS1pbi1mdWxsLXNjcmVlbl09XCJmdWxsU2NyZWVuXCI+XG4gICAgPGRpdiBjbGFzcz1cImNoYXRfX3N0aWNreS10b3BcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoYXRIZWFkZXJcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGF0SGVhZGVyXCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXRfX2FsZXJ0XCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkci1jaGF0LWFsZXJ0XCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIhbWVzc2FnZXM/Lmxlbmd0aFwiIGNsYXNzPVwiY2hhdF9fZW1wdHktc3RhdGVcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGF0X19lbXB0eS1zdGF0ZV9fdGV4dFwiPnt7IG5vTWVzc2FnZXNQbGFjZWhvbGRlciB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJtZXNzYWdlcz8ubGVuZ3RoXCIgY2xhc3M9XCJjaGF0X19tZXNzYWdlc1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAjbWVzc2FnZXNDb250YWluZXJcbiAgICAgICAgICAgIGNsYXNzPVwiY2hhdF9fbWVzc2FnZXNfX2NvbnRhaW5lclwiXG4gICAgICAgICAgICBbY2xhc3MuY2hhdF9fbWVzc2FnZXNfX2NvbnRhaW5lci0tc2Nyb2xsXT1cIm1lc3NhZ2VzQ29udGFpbmVyV2l0aFNjcm9sbFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZHItY2hhdC1tZXNzYWdlXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkci1jaGF0LXN1Z2dlc3Rpb25zXG4gICAgICAgICpuZ0lmPVwic3VnZ2VzdGlvbnM/Lmxlbmd0aFwiXG4gICAgICAgIFt2YWx1ZXNdPVwic3VnZ2VzdGlvbnNcIlxuICAgICAgICBbZnVsbFNjcmVlbl09XCJmdWxsU2NyZWVuXCJcbiAgICAgICAgW3dhaXRGb3JSZXBseV09XCJ3YWl0Rm9yUmVwbHlcIlxuICAgICAgICBjbGFzcz1cImNoYXRfX3N1Z2dlc3Rpb25zXCJcbiAgICAgICAgW2NsYXNzLmNoYXRfX3N1Z2dlc3Rpb25zLS1mdWxsLWhlaWdodF09XCJmdWxsU2NyZWVuICYmICFtZXNzYWdlcz8ubGVuZ3RoXCJcbiAgICAgICAgW2J1dHRvbk1vZGVdPVwiISFtZXNzYWdlcz8ubGVuZ3RoXCJcbiAgICAgICAgKHN1Z2dlc3Rpb25TZWxlY3QpPVwic3VnZ2VzdGlvblNlbGVjdC5lbWl0KCRldmVudClcIj5cbiAgICA8L2RyLWNoYXQtc3VnZ2VzdGlvbnM+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkci1jaGF0LWZvcm1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRyLWFpLXNlYXJjaC1pbnB1dFwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2NoYXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY2hhdC9jaGF0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsZUFBZSxFQUNmLFNBQVMsRUFFVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixZQUFZLEVBRVosV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7Ozs7O0lDbkJ0RiwyQkFBZ0Y7OztJQUEvQyxvREFBK0I7OztJQU9wRSw4QkFBeUQsZUFBQTtJQUNmLFlBQTJCO0lBQUEsaUJBQU8sRUFBQTs7O0lBQWxDLGVBQTJCO0lBQTNCLGtEQUEyQjs7O0lBR3JFLCtCQUFxRCxrQkFBQTtJQUs3QyxxQkFBa0Q7SUFDdEQsaUJBQU0sRUFBQTs7O0lBRkYsZUFBdUU7SUFBdkUsdUZBQXVFOzs7O0lBSy9FLCtDQVF1RDtJQUFuRCxxTkFBb0IsZUFBQSxvQ0FBNkIsQ0FBQSxJQUFDO0lBQ3RELGlCQUFz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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgUXVlcnlMaXN0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25EZXN0cm95LFxuICAgIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHJDaGF0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0TWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2NoYXQtbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0Q3VzdG9tTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEckNoYXRTdWdnZXN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1zdWdnZXN0aW9ucy9jaGF0LXN1Z2dlc3Rpb25zLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhdC5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnY2hhdC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbRHJDaGF0Q3VzdG9tTWVzc2FnZVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBEckNoYXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgQElucHV0KCkgZnVsbFNjcmVlbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBub01lc3NhZ2VzUGxhY2Vob2xkZXIgPSAnTm8gbWVzc2FnZXMgeWV0Lic7XG5cbiAgICBASW5wdXQoKSBzZXQgY29udGVudFVwZGF0ZVN1YmplY3QodmFsdWU6IFN1YmplY3Q8YW55Pikge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHZhbHVlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTY3JvbGwgY2hhdCB0byB0aGUgYm90dG9tIG9mIHRoZSBsaXN0IHdoZW4gYSBuZXcgbWVzc2FnZSBhcnJpdmVzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgc2Nyb2xsQm90dG9tKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsQm90dG9tO1xuICAgIH1cblxuICAgIHNldCBzY3JvbGxCb3R0b20odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2Nyb2xsQm90dG9tID0gISF2YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3Njcm9sbEJvdHRvbSA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBzdWdnZXN0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgICBASW5wdXQoKSByZW9wZW46IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBQYXJhbWV0ZXIgdG8gY2hlY2sgaXMgc2VuZCBtZXNzYWdlIGZ1bmN0aW9uIGF2YWlsYWJsZVxuICAgICAqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgQElucHV0KCkgd2FpdEZvclJlcGx5ID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2Nyb2xsRGVsYXkgPSAyNTA7XG5cbiAgICBAVmlld0NoaWxkKCdtZXNzYWdlc0NvbnRhaW5lcicpIG1lc3NhZ2VzQ29udGFpbmVyOiBFbGVtZW50UmVmO1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRHJDaGF0TWVzc2FnZUNvbXBvbmVudCkgbWVzc2FnZXM6IFF1ZXJ5TGlzdDxEckNoYXRNZXNzYWdlQ29tcG9uZW50PjtcbiAgICBAQ29udGVudENoaWxkKERyQ2hhdEZvcm1Db21wb25lbnQpIGNoYXRGb3JtOiBEckNoYXRGb3JtQ29tcG9uZW50O1xuICAgIEBDb250ZW50Q2hpbGQoJ2RyQ2hhdEhlYWRlcicpIGNoYXRIZWFkZXI6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICAgIEBPdXRwdXQoKSBzdWdnZXN0aW9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAgIEBWaWV3Q2hpbGQoRHJDaGF0U3VnZ2VzdGlvbnNDb21wb25lbnQpIF9jaGF0U3VnZ2VzdGlvbnM6IERyQ2hhdFN1Z2dlc3Rpb25zQ29tcG9uZW50O1xuXG4gICAgcHVibGljIGdldCBtZXNzYWdlc0NvbnRhaW5lcldpdGhTY3JvbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzQ29udGFpbmVyICYmXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0ID4gdGhpcy5tZXNzYWdlc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlcy5jaGFuZ2VzLnN1YnNjcmliZSgobWVzc2FnZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXMgPSBtZXNzYWdlcztcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVWaWV3KCkge1xuICAgICAgICBpZiAodGhpcy5zY3JvbGxCb3R0b20pIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsTGlzdEJvdHRvbSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2Nyb2xsTGlzdEJvdHRvbSgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5tZXNzYWdlc0NvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbFRvT3B0aW9uczogYW55ID0ge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHRoaXMubWVzc2FnZXNDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQsXG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5yZW9wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9PcHRpb25zLmJlaGF2aW9yID0gJ3Ntb290aCc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHNjcm9sbFRvT3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHRoaXMuc2Nyb2xsRGVsYXkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGNsZWFySGlkZGVuU3VnZ2VzdGlvbnMoKSB7XG4gICAgICAgIGlmICh0aGlzLl9jaGF0U3VnZ2VzdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuX2NoYXRTdWdnZXN0aW9ucy5jbGVhckhpZGRlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGlkZVN1Z2dlc3Rpb25zKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY2hhdFN1Z2dlc3Rpb25zPy5pc1N1Z2dlc3RlZE1lbnVPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLl9jaGF0U3VnZ2VzdGlvbnMudG9nZ2xlU3VnZ2VzdGVkTWVudSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNoYXRcIiBbY2xhc3MuY2hhdC0taW4tZnVsbC1zY3JlZW5dPVwiZnVsbFNjcmVlblwiPlxuICAgIDxkaXYgY2xhc3M9XCJjaGF0X19zdGlja3ktdG9wXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjaGF0SGVhZGVyXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hhdEhlYWRlclwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGF0X19hbGVydFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZHItY2hhdC1hbGVydFwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiIW1lc3NhZ2VzPy5sZW5ndGhcIiBjbGFzcz1cImNoYXRfX2VtcHR5LXN0YXRlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2hhdF9fZW1wdHktc3RhdGVfX3RleHRcIj57eyBub01lc3NhZ2VzUGxhY2Vob2xkZXIgfX08L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwibWVzc2FnZXM/Lmxlbmd0aFwiIGNsYXNzPVwiY2hhdF9fbWVzc2FnZXNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgI21lc3NhZ2VzQ29udGFpbmVyXG4gICAgICAgICAgICBjbGFzcz1cImNoYXRfX21lc3NhZ2VzX19jb250YWluZXJcIlxuICAgICAgICAgICAgW2NsYXNzLmNoYXRfX21lc3NhZ2VzX19jb250YWluZXItLXNjcm9sbF09XCJtZXNzYWdlc0NvbnRhaW5lcldpdGhTY3JvbGxcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRyLWNoYXQtbWVzc2FnZVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZHItY2hhdC1zdWdnZXN0aW9uc1xuICAgICAgICAqbmdJZj1cInN1Z2dlc3Rpb25zPy5sZW5ndGhcIlxuICAgICAgICBbdmFsdWVzXT1cInN1Z2dlc3Rpb25zXCJcbiAgICAgICAgW2Z1bGxTY3JlZW5dPVwiZnVsbFNjcmVlblwiXG4gICAgICAgIFt3YWl0Rm9yUmVwbHldPVwid2FpdEZvclJlcGx5XCJcbiAgICAgICAgY2xhc3M9XCJjaGF0X19zdWdnZXN0aW9uc1wiXG4gICAgICAgIFtjbGFzcy5jaGF0X19zdWdnZXN0aW9ucy0tZnVsbC1oZWlnaHRdPVwiZnVsbFNjcmVlbiAmJiAhbWVzc2FnZXM/Lmxlbmd0aFwiXG4gICAgICAgIFtidXR0b25Nb2RlXT1cIiEhbWVzc2FnZXM/Lmxlbmd0aFwiXG4gICAgICAgIChzdWdnZXN0aW9uU2VsZWN0KT1cInN1Z2dlc3Rpb25TZWxlY3QuZW1pdCgkZXZlbnQpXCI+XG4gICAgPC9kci1jaGF0LXN1Z2dlc3Rpb25zPlxuXG4gICAgPGRpdiBjbGFzcz1cImZvcm1cIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZHItY2hhdC1mb3JtXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkci1haS1zZWFyY2gtaW5wdXRcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -17,6 +17,7 @@ import { ClickOutsideModule } from '../directives/click-outside/click-outside.mo
17
17
  import { DrChatDroppedFilesComponent } from './dr-chat-dropped-files/dr-chat-dropped-files.component';
18
18
  import { ShorterNamingPipe } from './dr-chat-dropped-files/pipes/shorter-naming.pipe';
19
19
  import { DrChatFormDropdownComponent } from './dr-chat-form-dropdown/dr-chat-form-dropdown.component';
20
+ import { FileClassNamePipe } from './dr-chat-dropped-files/pipes/file-class-name.pipe';
20
21
  import * as i0 from "@angular/core";
21
22
  const DR_CHAT_COMPONENTS = [
22
23
  DrChatComponent,
@@ -30,7 +31,7 @@ const DR_CHAT_COMPONENTS = [
30
31
  DrChatAlertComponent,
31
32
  DrChatDroppedFilesComponent,
32
33
  ];
33
- const DR_CHAT_PIPES = [ShorterNamingPipe];
34
+ const DR_CHAT_PIPES = [ShorterNamingPipe, FileClassNamePipe];
34
35
  const DR_CHAT_DIRECTIVES = [DrChatCustomMessageDirective];
35
36
  export class DrChatModule {
36
37
  /** @nocollapse */ static { this.ɵfac = function DrChatModule_Factory(t) { return new (t || DrChatModule)(); }; }
@@ -68,7 +69,7 @@ export class DrChatModule {
68
69
  DrChatSuggestionsComponent,
69
70
  DrDotFlashingComponent,
70
71
  DrChatAlertComponent,
71
- DrChatDroppedFilesComponent, DrChatCustomMessageDirective, ShorterNamingPipe], imports: [FormsModule,
72
+ DrChatDroppedFilesComponent, DrChatCustomMessageDirective, ShorterNamingPipe, FileClassNamePipe], imports: [FormsModule,
72
73
  ReactiveFormsModule,
73
74
  CommonModule,
74
75
  DrAvatarModule,
@@ -84,4 +85,4 @@ export class DrChatModule {
84
85
  DrDotFlashingComponent,
85
86
  DrChatAlertComponent,
86
87
  DrChatDroppedFilesComponent, DrChatCustomMessageDirective] }); })();
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2NoYXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDaEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDaEgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDdEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDOUYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDdEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUM7O0FBRXRHLE1BQU0sa0JBQWtCLEdBQUc7SUFDdkIsZUFBZTtJQUNmLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLHNCQUFzQjtJQUN0QixvQkFBb0I7SUFDcEIsMkJBQTJCO0NBQzlCLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFMUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFlMUQsTUFBTSxPQUFPLFlBQVk7Z0dBQVosWUFBWTtrR0FBWixZQUFZO3NHQVhqQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixjQUFjO1lBQ2QsY0FBYztZQUNkLGVBQWU7WUFDZixrQkFBa0I7O3VGQUtiLFlBQVk7Y0FieEIsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixjQUFjO29CQUNkLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixrQkFBa0I7aUJBQ3JCO2dCQUNELFlBQVksRUFBRSxDQUFDLEdBQUcsa0JBQWtCLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLGFBQWEsQ0FBQztnQkFDOUUsT0FBTyxFQUFFLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLGtCQUFrQixDQUFDO2FBQzFEOzt3RkFDWSxZQUFZLG1CQTdCckIsZUFBZTtRQUNmLHNCQUFzQjtRQUN0QixtQkFBbUI7UUFDbkIsMkJBQTJCO1FBQzNCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLHNCQUFzQjtRQUN0QixvQkFBb0I7UUFDcEIsMkJBQTJCLEVBS0gsNEJBQTRCLEVBRmpDLGlCQUFpQixhQU1oQyxXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixjQUFjO1FBQ2QsY0FBYztRQUNkLGVBQWU7UUFDZixrQkFBa0IsYUF4QnRCLGVBQWU7UUFDZixzQkFBc0I7UUFDdEIsbUJBQW1CO1FBQ25CLDJCQUEyQjtRQUMzQiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQixzQkFBc0I7UUFDdEIsb0JBQW9CO1FBQ3BCLDJCQUEyQixFQUtILDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcklucHV0c01vZHVsZSB9IGZyb20gJy4uL2RyLWlucHV0cy9kci1pbnB1dHMubW9kdWxlJztcbmltcG9ydCB7IERyQXZhdGFyTW9kdWxlIH0gZnJvbSAnLi4vZHItYXZhdGFyL2RyLWF2YXRhci5tb2R1bGUnO1xuaW1wb3J0IHsgRHJUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vZHItdG9vbHRpcC9kci10b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IERyQ2hhdENvbXBvbmVudCB9IGZyb20gJy4vY2hhdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0TWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2NoYXQtbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0TWVzc2FnZVRleHRDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtdGV4dC9jaGF0LW1lc3NhZ2UtdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0TWVzc2FnZUZpbGVDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtZmlsZS9jaGF0LW1lc3NhZ2UtZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0Q3VzdG9tTWVzc2FnZURpcmVjdGl2ZSB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHJDaGF0U3VnZ2VzdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJEb3RGbGFzaGluZ0NvbXBvbmVudCB9IGZyb20gJy4vZHItZG90LWZsYXNoaW5nL2RyLWRvdC1mbGFzaGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0QWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtYWxlcnQvZHItY2hhdC1hbGVydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2xpY2tPdXRzaWRlTW9kdWxlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlL2NsaWNrLW91dHNpZGUubW9kdWxlJztcbmltcG9ydCB7IERyQ2hhdERyb3BwZWRGaWxlc0NvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1kcm9wcGVkLWZpbGVzL2RyLWNoYXQtZHJvcHBlZC1maWxlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2hvcnRlck5hbWluZ1BpcGUgfSBmcm9tICcuL2RyLWNoYXQtZHJvcHBlZC1maWxlcy9waXBlcy9zaG9ydGVyLW5hbWluZy5waXBlJztcbmltcG9ydCB7IERyQ2hhdEZvcm1Ecm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1mb3JtLWRyb3Bkb3duL2RyLWNoYXQtZm9ybS1kcm9wZG93bi5jb21wb25lbnQnO1xuXG5jb25zdCBEUl9DSEFUX0NPTVBPTkVOVFMgPSBbXG4gICAgRHJDaGF0Q29tcG9uZW50LFxuICAgIERyQ2hhdE1lc3NhZ2VDb21wb25lbnQsXG4gICAgRHJDaGF0Rm9ybUNvbXBvbmVudCxcbiAgICBEckNoYXRGb3JtRHJvcGRvd25Db21wb25lbnQsXG4gICAgRHJDaGF0TWVzc2FnZVRleHRDb21wb25lbnQsXG4gICAgRHJDaGF0TWVzc2FnZUZpbGVDb21wb25lbnQsXG4gICAgRHJDaGF0U3VnZ2VzdGlvbnNDb21wb25lbnQsXG4gICAgRHJEb3RGbGFzaGluZ0NvbXBvbmVudCxcbiAgICBEckNoYXRBbGVydENvbXBvbmVudCxcbiAgICBEckNoYXREcm9wcGVkRmlsZXNDb21wb25lbnQsXG5dO1xuXG5jb25zdCBEUl9DSEFUX1BJUEVTID0gW1Nob3J0ZXJOYW1pbmdQaXBlXTtcblxuY29uc3QgRFJfQ0hBVF9ESVJFQ1RJVkVTID0gW0RyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmVdO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRHJBdmF0YXJNb2R1bGUsXG4gICAgICAgIERySW5wdXRzTW9kdWxlLFxuICAgICAgICBEclRvb2x0aXBNb2R1bGUsXG4gICAgICAgIENsaWNrT3V0c2lkZU1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogWy4uLkRSX0NIQVRfQ09NUE9ORU5UUywgLi4uRFJfQ0hBVF9ESVJFQ1RJVkVTLCAuLi5EUl9DSEFUX1BJUEVTXSxcbiAgICBleHBvcnRzOiBbLi4uRFJfQ0hBVF9DT01QT05FTlRTLCAuLi5EUl9DSEFUX0RJUkVDVElWRVNdLFxufSlcbmV4cG9ydCBjbGFzcyBEckNoYXRNb2R1bGUge31cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2NoYXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDaEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDaEgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDdEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDOUYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDdEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7O0FBRXZGLE1BQU0sa0JBQWtCLEdBQUc7SUFDdkIsZUFBZTtJQUNmLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLHNCQUFzQjtJQUN0QixvQkFBb0I7SUFDcEIsMkJBQTJCO0NBQzlCLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFFN0QsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFlMUQsTUFBTSxPQUFPLFlBQVk7Z0dBQVosWUFBWTtrR0FBWixZQUFZO3NHQVhqQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixjQUFjO1lBQ2QsY0FBYztZQUNkLGVBQWU7WUFDZixrQkFBa0I7O3VGQUtiLFlBQVk7Y0FieEIsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixjQUFjO29CQUNkLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixrQkFBa0I7aUJBQ3JCO2dCQUNELFlBQVksRUFBRSxDQUFDLEdBQUcsa0JBQWtCLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLGFBQWEsQ0FBQztnQkFDOUUsT0FBTyxFQUFFLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLGtCQUFrQixDQUFDO2FBQzFEOzt3RkFDWSxZQUFZLG1CQTdCckIsZUFBZTtRQUNmLHNCQUFzQjtRQUN0QixtQkFBbUI7UUFDbkIsMkJBQTJCO1FBQzNCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLHNCQUFzQjtRQUN0QixvQkFBb0I7UUFDcEIsMkJBQTJCLEVBS0gsNEJBQTRCLEVBRmpDLGlCQUFpQixFQUFFLGlCQUFpQixhQU1uRCxXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixjQUFjO1FBQ2QsY0FBYztRQUNkLGVBQWU7UUFDZixrQkFBa0IsYUF4QnRCLGVBQWU7UUFDZixzQkFBc0I7UUFDdEIsbUJBQW1CO1FBQ25CLDJCQUEyQjtRQUMzQiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQixzQkFBc0I7UUFDdEIsb0JBQW9CO1FBQ3BCLDJCQUEyQixFQUtILDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcklucHV0c01vZHVsZSB9IGZyb20gJy4uL2RyLWlucHV0cy9kci1pbnB1dHMubW9kdWxlJztcbmltcG9ydCB7IERyQXZhdGFyTW9kdWxlIH0gZnJvbSAnLi4vZHItYXZhdGFyL2RyLWF2YXRhci5tb2R1bGUnO1xuaW1wb3J0IHsgRHJUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vZHItdG9vbHRpcC9kci10b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IERyQ2hhdENvbXBvbmVudCB9IGZyb20gJy4vY2hhdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0TWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2NoYXQtbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0TWVzc2FnZVRleHRDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtdGV4dC9jaGF0LW1lc3NhZ2UtdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0TWVzc2FnZUZpbGVDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtZmlsZS9jaGF0LW1lc3NhZ2UtZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0Q3VzdG9tTWVzc2FnZURpcmVjdGl2ZSB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHJDaGF0U3VnZ2VzdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJEb3RGbGFzaGluZ0NvbXBvbmVudCB9IGZyb20gJy4vZHItZG90LWZsYXNoaW5nL2RyLWRvdC1mbGFzaGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0QWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtYWxlcnQvZHItY2hhdC1hbGVydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2xpY2tPdXRzaWRlTW9kdWxlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlL2NsaWNrLW91dHNpZGUubW9kdWxlJztcbmltcG9ydCB7IERyQ2hhdERyb3BwZWRGaWxlc0NvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1kcm9wcGVkLWZpbGVzL2RyLWNoYXQtZHJvcHBlZC1maWxlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2hvcnRlck5hbWluZ1BpcGUgfSBmcm9tICcuL2RyLWNoYXQtZHJvcHBlZC1maWxlcy9waXBlcy9zaG9ydGVyLW5hbWluZy5waXBlJztcbmltcG9ydCB7IERyQ2hhdEZvcm1Ecm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1mb3JtLWRyb3Bkb3duL2RyLWNoYXQtZm9ybS1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZUNsYXNzTmFtZVBpcGUgfSBmcm9tICcuL2RyLWNoYXQtZHJvcHBlZC1maWxlcy9waXBlcy9maWxlLWNsYXNzLW5hbWUucGlwZSc7XG5cbmNvbnN0IERSX0NIQVRfQ09NUE9ORU5UUyA9IFtcbiAgICBEckNoYXRDb21wb25lbnQsXG4gICAgRHJDaGF0TWVzc2FnZUNvbXBvbmVudCxcbiAgICBEckNoYXRGb3JtQ29tcG9uZW50LFxuICAgIERyQ2hhdEZvcm1Ecm9wZG93bkNvbXBvbmVudCxcbiAgICBEckNoYXRNZXNzYWdlVGV4dENvbXBvbmVudCxcbiAgICBEckNoYXRNZXNzYWdlRmlsZUNvbXBvbmVudCxcbiAgICBEckNoYXRTdWdnZXN0aW9uc0NvbXBvbmVudCxcbiAgICBEckRvdEZsYXNoaW5nQ29tcG9uZW50LFxuICAgIERyQ2hhdEFsZXJ0Q29tcG9uZW50LFxuICAgIERyQ2hhdERyb3BwZWRGaWxlc0NvbXBvbmVudCxcbl07XG5cbmNvbnN0IERSX0NIQVRfUElQRVMgPSBbU2hvcnRlck5hbWluZ1BpcGUsIEZpbGVDbGFzc05hbWVQaXBlXTtcblxuY29uc3QgRFJfQ0hBVF9ESVJFQ1RJVkVTID0gW0RyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmVdO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRHJBdmF0YXJNb2R1bGUsXG4gICAgICAgIERySW5wdXRzTW9kdWxlLFxuICAgICAgICBEclRvb2x0aXBNb2R1bGUsXG4gICAgICAgIENsaWNrT3V0c2lkZU1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogWy4uLkRSX0NIQVRfQ09NUE9ORU5UUywgLi4uRFJfQ0hBVF9ESVJFQ1RJVkVTLCAuLi5EUl9DSEFUX1BJUEVTXSxcbiAgICBleHBvcnRzOiBbLi4uRFJfQ0hBVF9DT01QT05FTlRTLCAuLi5EUl9DSEFUX0RJUkVDVElWRVNdLFxufSlcbmV4cG9ydCBjbGFzcyBEckNoYXRNb2R1bGUge31cbiJdfQ==
@@ -2,26 +2,30 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  import * as i2 from "./pipes/shorter-naming.pipe";
5
- function DrChatDroppedFilesComponent_div_1_i_5_Template(rf, ctx) { if (rf & 1) {
5
+ import * as i3 from "./pipes/file-class-name.pipe";
6
+ function DrChatDroppedFilesComponent_div_1_i_6_Template(rf, ctx) { if (rf & 1) {
6
7
  const _r5 = i0.ɵɵgetCurrentView();
7
- i0.ɵɵelementStart(0, "i", 6);
8
- i0.ɵɵlistener("click", function DrChatDroppedFilesComponent_div_1_i_5_Template_i_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const file_r1 = i0.ɵɵnextContext().$implicit; const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.removeFile(file_r1, $event)); });
8
+ i0.ɵɵelementStart(0, "i", 5);
9
+ i0.ɵɵlistener("click", function DrChatDroppedFilesComponent_div_1_i_6_Template_i_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const file_r1 = i0.ɵɵnextContext().$implicit; const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.removeFile(file_r1, $event)); });
9
10
  i0.ɵɵelementEnd();
10
11
  } }
11
12
  function DrChatDroppedFilesComponent_div_1_Template(rf, ctx) { if (rf & 1) {
12
13
  i0.ɵɵelementStart(0, "div", 2);
13
- i0.ɵɵelement(1, "i", 3);
14
- i0.ɵɵelementStart(2, "div", 4);
15
- i0.ɵɵtext(3);
16
- i0.ɵɵpipe(4, "shorterNaming");
14
+ i0.ɵɵelement(1, "i");
15
+ i0.ɵɵpipe(2, "fileClassName");
16
+ i0.ɵɵelementStart(3, "div", 3);
17
+ i0.ɵɵtext(4);
18
+ i0.ɵɵpipe(5, "shorterNaming");
17
19
  i0.ɵɵelementEnd();
18
- i0.ɵɵtemplate(5, DrChatDroppedFilesComponent_div_1_i_5_Template, 1, 0, "i", 5);
20
+ i0.ɵɵtemplate(6, DrChatDroppedFilesComponent_div_1_i_6_Template, 1, 0, "i", 4);
19
21
  i0.ɵɵelementEnd();
20
22
  } if (rf & 2) {
21
23
  const file_r1 = ctx.$implicit;
22
24
  const ctx_r0 = i0.ɵɵnextContext();
25
+ i0.ɵɵadvance(1);
26
+ i0.ɵɵclassMapInterpolate1("dr-icon-", i0.ɵɵpipeBind1(2, 5, file_r1.name), "");
23
27
  i0.ɵɵadvance(3);
24
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(4, 2, file_r1.name, ctx_r0.maxLengthText));
28
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(5, 7, file_r1.name, ctx_r0.maxLengthText));
25
29
  i0.ɵɵadvance(2);
26
30
  i0.ɵɵproperty("ngIf", ctx_r0.isRemovable);
27
31
  } }
@@ -37,18 +41,18 @@ export class DrChatDroppedFilesComponent {
37
41
  this.removeFileEvent.emit(file);
38
42
  }
39
43
  /** @nocollapse */ static { this.ɵfac = function DrChatDroppedFilesComponent_Factory(t) { return new (t || DrChatDroppedFilesComponent)(); }; }
40
- /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrChatDroppedFilesComponent, selectors: [["dr-chat-dropped-files"]], inputs: { files: "files", isRemovable: "isRemovable", maxLengthText: "maxLengthText" }, outputs: { removeFileEvent: "removeFileEvent" }, decls: 2, vars: 1, consts: [[1, "dropped-files"], ["class", "dropped-files__item", 4, "ngFor", "ngForOf"], [1, "dropped-files__item"], [1, "dr-icon-file"], [1, "dropped-files__item-name"], ["class", "dr-icon-noty-error dropped-files__item-remove", 3, "click", 4, "ngIf"], [1, "dr-icon-noty-error", "dropped-files__item-remove", 3, "click"]], template: function DrChatDroppedFilesComponent_Template(rf, ctx) { if (rf & 1) {
44
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrChatDroppedFilesComponent, selectors: [["dr-chat-dropped-files"]], inputs: { files: "files", isRemovable: "isRemovable", maxLengthText: "maxLengthText" }, outputs: { removeFileEvent: "removeFileEvent" }, decls: 2, vars: 1, consts: [[1, "dropped-files"], ["class", "dropped-files__item", 4, "ngFor", "ngForOf"], [1, "dropped-files__item"], [1, "dropped-files__item-name"], ["class", "dr-icon-noty-error dropped-files__item-remove", 3, "click", 4, "ngIf"], [1, "dr-icon-noty-error", "dropped-files__item-remove", 3, "click"]], template: function DrChatDroppedFilesComponent_Template(rf, ctx) { if (rf & 1) {
41
45
  i0.ɵɵelementStart(0, "div", 0);
42
- i0.ɵɵtemplate(1, DrChatDroppedFilesComponent_div_1_Template, 6, 5, "div", 1);
46
+ i0.ɵɵtemplate(1, DrChatDroppedFilesComponent_div_1_Template, 7, 10, "div", 1);
43
47
  i0.ɵɵelementEnd();
44
48
  } if (rf & 2) {
45
49
  i0.ɵɵadvance(1);
46
50
  i0.ɵɵproperty("ngForOf", ctx.files);
47
- } }, dependencies: [i1.NgForOf, i1.NgIf, i2.ShorterNamingPipe], styles: [".dropped-files[_ngcontent-%COMP%]{display:flex;flex-direction:row;margin-bottom:.5rem;flex-wrap:wrap;gap:8px;padding-left:16px}.dropped-files__item[_ngcontent-%COMP%]{max-width:183px;display:flex;flex-direction:row;gap:4px;justify-content:space-between;align-items:center;margin-top:16px;padding:4px 8px;background-color:#f6f7f8;border:1px solid rgb(223,224,227);box-sizing:border-box;border-radius:8px}.dropped-files__item-name[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400;color:#6d6e6f}.dropped-files__item-remove[_ngcontent-%COMP%]{cursor:pointer;color:#6d6e6f}"], changeDetection: 0 }); }
51
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i2.ShorterNamingPipe, i3.FileClassNamePipe], styles: [".dropped-files[_ngcontent-%COMP%]{display:flex;flex-direction:row;margin-bottom:.5rem;flex-wrap:wrap;gap:8px;padding-left:16px}.dropped-files__item[_ngcontent-%COMP%]{max-width:183px;display:flex;flex-direction:row;gap:4px;justify-content:space-between;align-items:center;margin-top:16px;padding:4px 8px;background-color:#f6f7f8;border:1px solid rgb(223,224,227);box-sizing:border-box;border-radius:8px}.dropped-files__item-name[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400;color:#6d6e6f}.dropped-files__item-remove[_ngcontent-%COMP%]{cursor:pointer;color:#6d6e6f}"], changeDetection: 0 }); }
48
52
  }
49
53
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrChatDroppedFilesComponent, [{
50
54
  type: Component,
51
- args: [{ selector: 'dr-chat-dropped-files', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dropped-files\">\n <div class=\"dropped-files__item\" *ngFor=\"let file of files\">\n <i class=\"dr-icon-file\"></i>\n <div class=\"dropped-files__item-name\">{{ file.name | shorterNaming: maxLengthText }}</div>\n <i *ngIf=\"isRemovable\" class=\"dr-icon-noty-error dropped-files__item-remove\" (click)=\"removeFile(file, $event)\"></i>\n </div>\n</div>\n", styles: [".dropped-files{display:flex;flex-direction:row;margin-bottom:.5rem;flex-wrap:wrap;gap:8px;padding-left:16px}.dropped-files__item{max-width:183px;display:flex;flex-direction:row;gap:4px;justify-content:space-between;align-items:center;margin-top:16px;padding:4px 8px;background-color:#f6f7f8;border:1px solid rgb(223,224,227);box-sizing:border-box;border-radius:8px}.dropped-files__item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400;color:#6d6e6f}.dropped-files__item-remove{cursor:pointer;color:#6d6e6f}\n"] }]
55
+ args: [{ selector: 'dr-chat-dropped-files', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dropped-files\">\n <div class=\"dropped-files__item\" *ngFor=\"let file of files\">\n <i class=\"dr-icon-{{ file.name | fileClassName }}\"></i>\n <div class=\"dropped-files__item-name\">{{ file.name | shorterNaming: maxLengthText }}</div>\n <i *ngIf=\"isRemovable\" class=\"dr-icon-noty-error dropped-files__item-remove\" (click)=\"removeFile(file, $event)\"></i>\n </div>\n</div>\n", styles: [".dropped-files{display:flex;flex-direction:row;margin-bottom:.5rem;flex-wrap:wrap;gap:8px;padding-left:16px}.dropped-files__item{max-width:183px;display:flex;flex-direction:row;gap:4px;justify-content:space-between;align-items:center;margin-top:16px;padding:4px 8px;background-color:#f6f7f8;border:1px solid rgb(223,224,227);box-sizing:border-box;border-radius:8px}.dropped-files__item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400;color:#6d6e6f}.dropped-files__item-remove{cursor:pointer;color:#6d6e6f}\n"] }]
52
56
  }], null, { files: [{
53
57
  type: Input
54
58
  }], isRemovable: [{
@@ -58,4 +62,4 @@ export class DrChatDroppedFilesComponent {
58
62
  }], removeFileEvent: [{
59
63
  type: Output
60
64
  }] }); })();
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY2hhdC1kcm9wcGVkLWZpbGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1kcm9wcGVkLWZpbGVzL2RyLWNoYXQtZHJvcHBlZC1maWxlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtZHJvcHBlZC1maWxlcy9kci1jaGF0LWRyb3BwZWQtZmlsZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDSXhGLDRCQUFnSDtJQUFuQywyTkFBUyxlQUFBLGtDQUF3QixDQUFBLElBQUM7SUFBQyxpQkFBSTs7O0lBSHhILDhCQUE0RDtJQUN4RCx1QkFBNEI7SUFDNUIsOEJBQXNDO0lBQUEsWUFBOEM7O0lBQUEsaUJBQU07SUFDMUYsOEVBQW9IO0lBQ3hILGlCQUFNOzs7O0lBRm9DLGVBQThDO0lBQTlDLDhFQUE4QztJQUNoRixlQUFpQjtJQUFqQix5Q0FBaUI7O0FESzdCLE1BQU0sT0FBTywyQkFBMkI7SUFOeEM7UUFRYSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNsQixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7S0FPekQ7SUFMRyxVQUFVLENBQUMsSUFBVyxFQUFFLEtBQVk7UUFDaEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDOytHQVZRLDJCQUEyQjttR0FBM0IsMkJBQTJCO1lDVHhDLDhCQUEyQjtZQUN2Qiw0RUFJTTtZQUNWLGlCQUFNOztZQUxnRCxlQUFRO1lBQVIsbUNBQVE7Ozt1RkRRakQsMkJBQTJCO2NBTnZDLFNBQVM7MkJBQ0ksdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNO2dCQUd0QyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNJLGVBQWU7a0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElGSWxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoYXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWNoYXQtZHJvcHBlZC1maWxlcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLWNoYXQtZHJvcHBlZC1maWxlcy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItY2hhdC1kcm9wcGVkLWZpbGVzLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdERyb3BwZWRGaWxlc0NvbXBvbmVudCB7XG4gICAgQElucHV0KCkgZmlsZXM6IEFycmF5PElGSWxlPjtcbiAgICBASW5wdXQoKSBpc1JlbW92YWJsZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIG1heExlbmd0aFRleHQgPSAxODtcbiAgICBAT3V0cHV0KCkgcmVtb3ZlRmlsZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxJRklsZT4oKTtcblxuICAgIHJlbW92ZUZpbGUoZmlsZTogSUZJbGUsIGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5yZW1vdmVGaWxlRXZlbnQuZW1pdChmaWxlKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZHJvcHBlZC1maWxlc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJkcm9wcGVkLWZpbGVzX19pdGVtXCIgKm5nRm9yPVwibGV0IGZpbGUgb2YgZmlsZXNcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJkci1pY29uLWZpbGVcIj48L2k+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wcGVkLWZpbGVzX19pdGVtLW5hbWVcIj57eyBmaWxlLm5hbWUgfCBzaG9ydGVyTmFtaW5nOiBtYXhMZW5ndGhUZXh0IH19PC9kaXY+XG4gICAgICAgIDxpICpuZ0lmPVwiaXNSZW1vdmFibGVcIiBjbGFzcz1cImRyLWljb24tbm90eS1lcnJvciBkcm9wcGVkLWZpbGVzX19pdGVtLXJlbW92ZVwiIChjbGljayk9XCJyZW1vdmVGaWxlKGZpbGUsICRldmVudClcIj48L2k+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY2hhdC1kcm9wcGVkLWZpbGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1kcm9wcGVkLWZpbGVzL2RyLWNoYXQtZHJvcHBlZC1maWxlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtZHJvcHBlZC1maWxlcy9kci1jaGF0LWRyb3BwZWQtZmlsZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztJQ0l4Riw0QkFBZ0g7SUFBbkMsMk5BQVMsZUFBQSxrQ0FBd0IsQ0FBQSxJQUFDO0lBQUMsaUJBQUk7OztJQUh4SCw4QkFBNEQ7SUFDeEQsb0JBQXVEOztJQUN2RCw4QkFBc0M7SUFBQSxZQUE4Qzs7SUFBQSxpQkFBTTtJQUMxRiw4RUFBb0g7SUFDeEgsaUJBQU07Ozs7SUFIQyxlQUErQztJQUEvQyw2RUFBK0M7SUFDWixlQUE4QztJQUE5Qyw4RUFBOEM7SUFDaEYsZUFBaUI7SUFBakIseUNBQWlCOztBREs3QixNQUFNLE9BQU8sMkJBQTJCO0lBTnhDO1FBUWEsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbEIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO0tBT3pEO0lBTEcsVUFBVSxDQUFDLElBQVcsRUFBRSxLQUFZO1FBQ2hDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQzsrR0FWUSwyQkFBMkI7bUdBQTNCLDJCQUEyQjtZQ1R4Qyw4QkFBMkI7WUFDdkIsNkVBSU07WUFDVixpQkFBTTs7WUFMZ0QsZUFBUTtZQUFSLG1DQUFROzs7dUZEUWpELDJCQUEyQjtjQU52QyxTQUFTOzJCQUNJLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTtnQkFHdEMsS0FBSztrQkFBYixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFDSSxlQUFlO2tCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJRklsZSB9IGZyb20gJy4uLy4uL21vZGVscy9jaGF0JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1jaGF0LWRyb3BwZWQtZmlsZXMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1jaGF0LWRyb3BwZWQtZmlsZXMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLWNoYXQtZHJvcHBlZC1maWxlcy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckNoYXREcm9wcGVkRmlsZXNDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGZpbGVzOiBBcnJheTxJRklsZT47XG4gICAgQElucHV0KCkgaXNSZW1vdmFibGUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBtYXhMZW5ndGhUZXh0ID0gMTg7XG4gICAgQE91dHB1dCgpIHJlbW92ZUZpbGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8SUZJbGU+KCk7XG5cbiAgICByZW1vdmVGaWxlKGZpbGU6IElGSWxlLCBldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMucmVtb3ZlRmlsZUV2ZW50LmVtaXQoZmlsZSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRyb3BwZWQtZmlsZXNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZHJvcHBlZC1maWxlc19faXRlbVwiICpuZ0Zvcj1cImxldCBmaWxlIG9mIGZpbGVzXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZHItaWNvbi17eyBmaWxlLm5hbWUgfCBmaWxlQ2xhc3NOYW1lIH19XCI+PC9pPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcHBlZC1maWxlc19faXRlbS1uYW1lXCI+e3sgZmlsZS5uYW1lIHwgc2hvcnRlck5hbWluZzogbWF4TGVuZ3RoVGV4dCB9fTwvZGl2PlxuICAgICAgICA8aSAqbmdJZj1cImlzUmVtb3ZhYmxlXCIgY2xhc3M9XCJkci1pY29uLW5vdHktZXJyb3IgZHJvcHBlZC1maWxlc19faXRlbS1yZW1vdmVcIiAoY2xpY2spPVwicmVtb3ZlRmlsZShmaWxlLCAkZXZlbnQpXCI+PC9pPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FileClassNamePipe {
4
+ transform(filename) {
5
+ if (!filename)
6
+ return 'file';
7
+ const extension = filename.split('.').pop()?.toLowerCase();
8
+ switch (extension) {
9
+ case 'csv':
10
+ case 'xls':
11
+ case 'xlsx':
12
+ return 'filter-logo_excel-svg';
13
+ default:
14
+ return 'file';
15
+ }
16
+ }
17
+ /** @nocollapse */ static { this.ɵfac = function FileClassNamePipe_Factory(t) { return new (t || FileClassNamePipe)(); }; }
18
+ /** @nocollapse */ static { this.ɵpipe = /** @pureOrBreakMyCode */ i0.ɵɵdefinePipe({ name: "fileClassName", type: FileClassNamePipe, pure: true }); }
19
+ }
20
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FileClassNamePipe, [{
21
+ type: Pipe,
22
+ args: [{
23
+ name: 'fileClassName',
24
+ }]
25
+ }], null, null); })();
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1jbGFzcy1uYW1lLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtZHJvcHBlZC1maWxlcy9waXBlcy9maWxlLWNsYXNzLW5hbWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixTQUFTLENBQUMsUUFBZ0I7UUFDdEIsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLE1BQU0sQ0FBQztRQUM3QixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzNELFFBQVEsU0FBUyxFQUFFO1lBQ2YsS0FBSyxLQUFLLENBQUM7WUFDWCxLQUFLLEtBQUssQ0FBQztZQUNYLEtBQUssTUFBTTtnQkFDUCxPQUFPLHVCQUF1QixDQUFDO1lBQ25DO2dCQUNJLE9BQU8sTUFBTSxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQztxR0FaUSxpQkFBaUI7c0hBQWpCLGlCQUFpQjs7dUZBQWpCLGlCQUFpQjtjQUg3QixJQUFJO2VBQUM7Z0JBQ0YsSUFBSSxFQUFFLGVBQWU7YUFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnZmlsZUNsYXNzTmFtZScsXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVDbGFzc05hbWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWZpbGVuYW1lKSByZXR1cm4gJ2ZpbGUnO1xuICAgICAgICBjb25zdCBleHRlbnNpb24gPSBmaWxlbmFtZS5zcGxpdCgnLicpLnBvcCgpPy50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBzd2l0Y2ggKGV4dGVuc2lvbikge1xuICAgICAgICAgICAgY2FzZSAnY3N2JzpcbiAgICAgICAgICAgIGNhc2UgJ3hscyc6XG4gICAgICAgICAgICBjYXNlICd4bHN4JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2ZpbHRlci1sb2dvX2V4Y2VsLXN2Zyc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAnZmlsZSc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -9,29 +9,29 @@ import * as i4 from "../dr-dot-flashing/dr-dot-flashing.component";
9
9
  import * as i5 from "../dr-chat-dropped-files/dr-chat-dropped-files.component";
10
10
  const _c0 = ["textAreaElement"];
11
11
  const _c1 = ["fileInput"];
12
- function DrChatFormDropdownComponent_dr_chat_dropped_files_2_Template(rf, ctx) { if (rf & 1) {
12
+ function DrChatFormDropdownComponent_dr_chat_dropped_files_3_Template(rf, ctx) { if (rf & 1) {
13
13
  const _r7 = i0.ɵɵgetCurrentView();
14
14
  i0.ɵɵelementStart(0, "dr-chat-dropped-files", 12);
15
- i0.ɵɵlistener("removeFileEvent", function DrChatFormDropdownComponent_dr_chat_dropped_files_2_Template_dr_chat_dropped_files_removeFileEvent_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.removeFile($event)); });
15
+ i0.ɵɵlistener("removeFileEvent", function DrChatFormDropdownComponent_dr_chat_dropped_files_3_Template_dr_chat_dropped_files_removeFileEvent_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.removeFile($event)); });
16
16
  i0.ɵɵpipe(1, "async");
17
17
  i0.ɵɵelementEnd();
18
18
  } if (rf & 2) {
19
19
  const ctx_r0 = i0.ɵɵnextContext();
20
20
  i0.ɵɵproperty("files", i0.ɵɵpipeBind1(1, 3, ctx_r0.droppedFiles$))("isRemovable", true)("maxLengthText", 15);
21
21
  } }
22
- function DrChatFormDropdownComponent_i_12_Template(rf, ctx) { if (rf & 1) {
22
+ function DrChatFormDropdownComponent_i_13_Template(rf, ctx) { if (rf & 1) {
23
23
  const _r9 = i0.ɵɵgetCurrentView();
24
24
  i0.ɵɵelementStart(0, "i", 13);
25
- i0.ɵɵlistener("click", function DrChatFormDropdownComponent_i_12_Template_i_click_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.sendMessage($event)); });
25
+ i0.ɵɵlistener("click", function DrChatFormDropdownComponent_i_13_Template_i_click_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.sendMessage($event)); });
26
26
  i0.ɵɵelementEnd();
27
27
  } }
28
- function DrChatFormDropdownComponent_i_13_Template(rf, ctx) { if (rf & 1) {
28
+ function DrChatFormDropdownComponent_i_14_Template(rf, ctx) { if (rf & 1) {
29
29
  const _r11 = i0.ɵɵgetCurrentView();
30
30
  i0.ɵɵelementStart(0, "i", 14);
31
- i0.ɵɵlistener("click", function DrChatFormDropdownComponent_i_13_Template_i_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.abortMessage()); });
31
+ i0.ɵɵlistener("click", function DrChatFormDropdownComponent_i_14_Template_i_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.abortMessage()); });
32
32
  i0.ɵɵelementEnd();
33
33
  } }
34
- function DrChatFormDropdownComponent_dr_dot_flashing_14_Template(rf, ctx) { if (rf & 1) {
34
+ function DrChatFormDropdownComponent_dr_dot_flashing_15_Template(rf, ctx) { if (rf & 1) {
35
35
  i0.ɵɵelement(0, "dr-dot-flashing", 15);
36
36
  } }
37
37
  const _c2 = function (a0) { return { "message-row_loading": a0 }; };
@@ -45,7 +45,7 @@ export class DrChatFormDropdownComponent {
45
45
  this.inputFocus = false;
46
46
  this.inputHover = false;
47
47
  this.droppedFiles$ = new BehaviorSubject([]);
48
- this.isLoading = false;
48
+ this.isUploadingFiles = false;
49
49
  /**
50
50
  * Predefined message text
51
51
  *
@@ -134,7 +134,7 @@ export class DrChatFormDropdownComponent {
134
134
  if (!$event || !$event.shiftKey) {
135
135
  $event?.preventDefault();
136
136
  $event?.stopPropagation();
137
- if (this.waitForReply) {
137
+ if (this.waitForReply || this.isUploadingFiles) {
138
138
  return;
139
139
  }
140
140
  else if (this.droppedFiles$.value.length || String(this.message).trim().length) {
@@ -204,32 +204,33 @@ export class DrChatFormDropdownComponent {
204
204
  i0.ɵɵlistener("drop", function DrChatFormDropdownComponent_drop_HostBindingHandler($event) { return ctx.onDrop($event); })("dragover", function DrChatFormDropdownComponent_dragover_HostBindingHandler($event) { return ctx.onDragOver($event); })("dragleave", function DrChatFormDropdownComponent_dragleave_HostBindingHandler($event) { return ctx.onDragLeave($event); });
205
205
  } if (rf & 2) {
206
206
  i0.ɵɵclassProp("file-over", ctx.fileOver);
207
- } }, inputs: { isLoading: "isLoading", message: "message", messagePlaceholder: "messagePlaceholder", dropFiles: "dropFiles", dropFilePlaceholder: "dropFilePlaceholder", waitForReply: "waitForReply", showDotFlashing: "showDotFlashing" }, outputs: { send: "send", uploadFiles: "uploadFiles", abort: "abort", inputChange: "inputChange" }, ngContentSelectors: _c4, decls: 15, vars: 18, consts: [[1, "message-row", 3, "ngClass"], [1, "message-row__input", 3, "ngClass"], [3, "files", "isRemovable", "maxLengthText", "removeFileEvent", 4, "ngIf"], [1, "message-row__input-textarea-wrap"], ["type", "text", 3, "ngModel", "rows", "placeholder", "focus", "blur", "mouseenter", "mouseleave", "ngModelChange", "keydown.enter"], ["textAreaElement", ""], [1, "message-row__btns"], ["type", "file", "hidden", "", "multiple", "", 3, "change"], ["fileInput", ""], ["class", "dr-icon-send-arrow-up send-button", 3, "click", 4, "ngIf"], ["class", "dr-icon-stop abort-button", 3, "click", 4, "ngIf"], ["class", "wait-reply-dot-flashing", 4, "ngIf"], [3, "files", "isRemovable", "maxLengthText", "removeFileEvent"], [1, "dr-icon-send-arrow-up", "send-button", 3, "click"], [1, "dr-icon-stop", "abort-button", 3, "click"], [1, "wait-reply-dot-flashing"]], template: function DrChatFormDropdownComponent_Template(rf, ctx) { if (rf & 1) {
207
+ } }, inputs: { isUploadingFiles: "isUploadingFiles", message: "message", messagePlaceholder: "messagePlaceholder", dropFiles: "dropFiles", dropFilePlaceholder: "dropFilePlaceholder", waitForReply: "waitForReply", showDotFlashing: "showDotFlashing" }, outputs: { send: "send", uploadFiles: "uploadFiles", abort: "abort", inputChange: "inputChange" }, ngContentSelectors: _c4, decls: 16, vars: 20, consts: [[1, "message-row", 3, "ngClass"], [1, "message-row__input", 3, "ngClass"], [3, "files", "isRemovable", "maxLengthText", "removeFileEvent", 4, "ngIf"], [1, "message-row__input-textarea-wrap"], ["type", "text", 3, "ngModel", "rows", "placeholder", "focus", "blur", "mouseenter", "mouseleave", "ngModelChange", "keydown.enter"], ["textAreaElement", ""], [1, "message-row__btns"], ["type", "file", "hidden", "", "multiple", "", 3, "change"], ["fileInput", ""], ["class", "dr-icon-send-arrow-up send-button", 3, "click", 4, "ngIf"], ["class", "dr-icon-stop abort-button", 3, "click", 4, "ngIf"], ["class", "wait-reply-dot-flashing", 4, "ngIf"], [3, "files", "isRemovable", "maxLengthText", "removeFileEvent"], [1, "dr-icon-send-arrow-up", "send-button", 3, "click"], [1, "dr-icon-stop", "abort-button", 3, "click"], [1, "wait-reply-dot-flashing"]], template: function DrChatFormDropdownComponent_Template(rf, ctx) { if (rf & 1) {
208
208
  i0.ɵɵprojectionDef();
209
209
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
210
- i0.ɵɵtemplate(2, DrChatFormDropdownComponent_dr_chat_dropped_files_2_Template, 2, 5, "dr-chat-dropped-files", 2);
211
- i0.ɵɵpipe(3, "async");
212
- i0.ɵɵelementStart(4, "div", 3)(5, "textarea", 4, 5);
213
- i0.ɵɵlistener("focus", function DrChatFormDropdownComponent_Template_textarea_focus_5_listener() { return ctx.inputFocus = true; })("blur", function DrChatFormDropdownComponent_Template_textarea_blur_5_listener() { return ctx.inputFocus = false; })("mouseenter", function DrChatFormDropdownComponent_Template_textarea_mouseenter_5_listener() { return ctx.inputHover = true; })("mouseleave", function DrChatFormDropdownComponent_Template_textarea_mouseleave_5_listener() { return ctx.inputHover = false; })("ngModelChange", function DrChatFormDropdownComponent_Template_textarea_ngModelChange_5_listener($event) { return ctx.message = $event; })("ngModelChange", function DrChatFormDropdownComponent_Template_textarea_ngModelChange_5_listener($event) { return ctx.onModelChange($event); })("keydown.enter", function DrChatFormDropdownComponent_Template_textarea_keydown_enter_5_listener($event) { return ctx.sendMessage($event); });
214
- i0.ɵɵtext(7, " ");
210
+ i0.ɵɵpipe(2, "async");
211
+ i0.ɵɵtemplate(3, DrChatFormDropdownComponent_dr_chat_dropped_files_3_Template, 2, 5, "dr-chat-dropped-files", 2);
212
+ i0.ɵɵpipe(4, "async");
213
+ i0.ɵɵelementStart(5, "div", 3)(6, "textarea", 4, 5);
214
+ i0.ɵɵlistener("focus", function DrChatFormDropdownComponent_Template_textarea_focus_6_listener() { return ctx.inputFocus = true; })("blur", function DrChatFormDropdownComponent_Template_textarea_blur_6_listener() { return ctx.inputFocus = false; })("mouseenter", function DrChatFormDropdownComponent_Template_textarea_mouseenter_6_listener() { return ctx.inputHover = true; })("mouseleave", function DrChatFormDropdownComponent_Template_textarea_mouseleave_6_listener() { return ctx.inputHover = false; })("ngModelChange", function DrChatFormDropdownComponent_Template_textarea_ngModelChange_6_listener($event) { return ctx.message = $event; })("ngModelChange", function DrChatFormDropdownComponent_Template_textarea_ngModelChange_6_listener($event) { return ctx.onModelChange($event); })("keydown.enter", function DrChatFormDropdownComponent_Template_textarea_keydown_enter_6_listener($event) { return ctx.sendMessage($event); });
215
+ i0.ɵɵtext(8, " ");
215
216
  i0.ɵɵelementEnd()();
216
- i0.ɵɵelementStart(8, "div", 6);
217
- i0.ɵɵprojection(9);
218
- i0.ɵɵelementStart(10, "input", 7, 8);
219
- i0.ɵɵlistener("change", function DrChatFormDropdownComponent_Template_input_change_10_listener($event) { return ctx.onFileSelected($event); });
217
+ i0.ɵɵelementStart(9, "div", 6);
218
+ i0.ɵɵprojection(10);
219
+ i0.ɵɵelementStart(11, "input", 7, 8);
220
+ i0.ɵɵlistener("change", function DrChatFormDropdownComponent_Template_input_change_11_listener($event) { return ctx.onFileSelected($event); });
220
221
  i0.ɵɵelementEnd();
221
- i0.ɵɵtemplate(12, DrChatFormDropdownComponent_i_12_Template, 1, 0, "i", 9);
222
- i0.ɵɵtemplate(13, DrChatFormDropdownComponent_i_13_Template, 1, 0, "i", 10);
223
- i0.ɵɵtemplate(14, DrChatFormDropdownComponent_dr_dot_flashing_14_Template, 1, 0, "dr-dot-flashing", 11);
222
+ i0.ɵɵtemplate(13, DrChatFormDropdownComponent_i_13_Template, 1, 0, "i", 9);
223
+ i0.ɵɵtemplate(14, DrChatFormDropdownComponent_i_14_Template, 1, 0, "i", 10);
224
+ i0.ɵɵtemplate(15, DrChatFormDropdownComponent_dr_dot_flashing_15_Template, 1, 0, "dr-dot-flashing", 11);
224
225
  i0.ɵɵelementEnd()()();
225
226
  } if (rf & 2) {
226
- const _r1 = i0.ɵɵreference(6);
227
+ const _r1 = i0.ɵɵreference(7);
227
228
  let tmp_1_0;
228
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c2, ctx.isLoading));
229
- i0.ɵɵadvance(1);
230
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(15, _c3, ctx.inputFocus, !!(ctx.message == null ? null : (tmp_1_0 = ctx.message.trim()) == null ? null : tmp_1_0.length)));
229
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c2, ctx.isUploadingFiles));
231
230
  i0.ɵɵadvance(1);
232
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(3, 11, ctx.droppedFiles$).length);
231
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(17, _c3, ctx.inputFocus, !!(ctx.message == null ? null : (tmp_1_0 = ctx.message.trim()) == null ? null : tmp_1_0.length) || !!i0.ɵɵpipeBind1(2, 11, ctx.droppedFiles$).length));
232
+ i0.ɵɵadvance(2);
233
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(4, 13, ctx.droppedFiles$).length);
233
234
  i0.ɵɵadvance(3);
234
235
  i0.ɵɵstyleMap(ctx.getTextAreaHeight(_r1));
235
236
  i0.ɵɵpropertyInterpolate("placeholder", ctx.fileOver ? ctx.dropFilePlaceholder : ctx.messagePlaceholder);
@@ -240,18 +241,18 @@ export class DrChatFormDropdownComponent {
240
241
  i0.ɵɵproperty("ngIf", ctx.waitForReply && !ctx.showDotFlashing);
241
242
  i0.ɵɵadvance(1);
242
243
  i0.ɵɵproperty("ngIf", ctx.waitForReply && ctx.showDotFlashing);
243
- } }, dependencies: [i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.NgClass, i3.NgIf, i4.DrDotFlashingComponent, i5.DrChatDroppedFilesComponent, i3.AsyncPipe], styles: ["[_nghost-%COMP%] {--disabled-bg: linear-gradient(270.95deg, rgba(130, 210, 240, .2) 10.98%, rgba(146, 146, 255, .2) 93.38%);display:flex;flex-direction:column;align-items:center;padding:0}[_nghost-%COMP%] .message-row{display:flex;justify-content:center;width:100%;padding:0 0 21px;max-width:956px}[_nghost-%COMP%] .message-row__input{flex-direction:column;background-color:#fff;position:relative;display:flex;align-items:center;flex-grow:1;padding:14px 8px 8px 15px;height:auto;overflow:visible;min-width:265px;border-radius:24px;border:1.5px solid transparent;box-shadow:0 2px 16px -10px #603cff29;transition:.35s ease}[_nghost-%COMP%] .message-row__input .abort-button, [_nghost-%COMP%] .message-row__input .send-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;border-radius:100px;color:#fff;transition:.15s ease-in-out;background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box}[_nghost-%COMP%] .message-row__input .send-button{background:var(--disabled-bg);pointer-events:none}[_nghost-%COMP%] .message-row__input--focused{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;height:auto!important;background:#fff}[_nghost-%COMP%] .message-row__input--filled{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;background:#fff}[_nghost-%COMP%] .message-row__input--filled .send-button{background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box;pointer-events:all}[_nghost-%COMP%] .message-row__input .wait-reply-dot-flashing{display:flex;align-items:center;width:32px;height:48px;right:25px}[_nghost-%COMP%] .message-row__input:before{content:\"\";position:absolute;inset:-3px;background:linear-gradient(266.3deg,#6969ff 25.2%,#4eb7df 90.24%);border-radius:25px;z-index:-1}[_nghost-%COMP%] .message-row__input textarea{font-size:14px;color:#333;width:100%;outline:none;min-height:30px;line-height:19px;flex-grow:1;resize:none;padding:4px 48px 4px 4px;margin:auto;border:none;border-radius:22.5px}[_nghost-%COMP%] .message-row__input textarea:focus{border:none}[_nghost-%COMP%] .message-row__input textarea::placeholder{color:#9ea1aa}[_nghost-%COMP%] .message-row__btns{display:flex;justify-content:space-between;width:100%;align-items:center}[_nghost-%COMP%] .message-row__input-textarea-wrap{display:flex;width:100%;position:relative}[_nghost-%COMP%] dr-chat-dropped-files{margin-right:auto}[_nghost-%COMP%] dr-chat-dropped-files .dropped-files{padding:0}[_nghost-%COMP%] dr-chat-dropped-files .dropped-files__item{margin:0}[_nghost-%COMP%] .message-row_loading .send-button{background:var(--disabled-bg);pointer-events:none}[_nghost-%COMP%] .message-row_loading .dropped-files__item{opacity:.5;pointer-events:none}"], changeDetection: 0 }); }
244
+ } }, dependencies: [i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.NgClass, i3.NgIf, i4.DrDotFlashingComponent, i5.DrChatDroppedFilesComponent, i3.AsyncPipe], styles: ["[_nghost-%COMP%] {--disabled-bg: linear-gradient(270.95deg, rgba(130, 210, 240, .2) 10.98%, rgba(146, 146, 255, .2) 93.38%);display:flex;flex-direction:column;align-items:center;padding:0}[_nghost-%COMP%] .message-row{display:flex;justify-content:center;width:100%;padding:0 0 21px;max-width:956px}[_nghost-%COMP%] .message-row__input{flex-direction:column;background-color:#fff;position:relative;display:flex;align-items:center;flex-grow:1;padding:14px 8px 8px 15px;height:auto;overflow:visible;min-width:265px;border-radius:24px;border:1.5px solid transparent;box-shadow:0 2px 16px -10px #603cff29;transition:.35s ease}[_nghost-%COMP%] .message-row__input .abort-button, [_nghost-%COMP%] .message-row__input .send-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;border-radius:100px;color:#fff;transition:.15s ease-in-out;background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box}[_nghost-%COMP%] .message-row__input .send-button, [_nghost-%COMP%] .message-row__input .abort-button{background:var(--disabled-bg);pointer-events:none}[_nghost-%COMP%] .message-row__input--focused{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;height:auto!important;background:#fff}[_nghost-%COMP%] .message-row__input--filled{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;background:#fff}[_nghost-%COMP%] .message-row__input--filled .send-button{background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box;pointer-events:all}[_nghost-%COMP%] .message-row__input .wait-reply-dot-flashing{display:flex;align-items:center;width:32px;height:32px}[_nghost-%COMP%] .message-row__input:before{content:\"\";position:absolute;inset:-3px;background:linear-gradient(266.3deg,#6969ff 25.2%,#4eb7df 90.24%);border-radius:25px;z-index:-1}[_nghost-%COMP%] .message-row__input textarea{color:#333;width:100%;outline:none;min-height:30px;flex-grow:1;resize:none;padding:4px 48px 4px 4px;margin:auto;border:none;border-radius:22.5px;font-family:Poppins,sans-serif;font-size:14px;line-height:22px}[_nghost-%COMP%] .message-row__input textarea:focus{border:none}[_nghost-%COMP%] .message-row__input textarea::placeholder{color:#9ea1aa}[_nghost-%COMP%] .message-row__btns{display:flex;justify-content:space-between;width:100%;align-items:center}[_nghost-%COMP%] .message-row__input-textarea-wrap{display:flex;width:100%;position:relative}[_nghost-%COMP%] dr-chat-dropped-files{margin-right:auto}[_nghost-%COMP%] dr-chat-dropped-files .dropped-files{padding:0}[_nghost-%COMP%] dr-chat-dropped-files .dropped-files__item{margin:0}[_nghost-%COMP%] .message-row_loading .send-button{background:var(--disabled-bg);pointer-events:none}[_nghost-%COMP%] .message-row_loading .dropped-files__item{opacity:.5;pointer-events:none}"], changeDetection: 0 }); }
244
245
  }
245
246
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrChatFormDropdownComponent, [{
246
247
  type: Component,
247
- args: [{ selector: 'dr-chat-form-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"message-row\" [ngClass]=\"{ 'message-row_loading': isLoading }\">\n <div\n class=\"message-row__input\"\n [ngClass]=\"{\n 'message-row__input--focused': inputFocus,\n 'message-row__input--filled': !!message?.trim()?.length,\n }\">\n <dr-chat-dropped-files\n *ngIf=\"(droppedFiles$ | async).length\"\n [files]=\"droppedFiles$ | async\"\n [isRemovable]=\"true\"\n [maxLengthText]=\"15\"\n (removeFileEvent)=\"removeFile($event)\"></dr-chat-dropped-files>\n\n <div class=\"message-row__input-textarea-wrap\">\n <textarea\n #textAreaElement\n (focus)=\"inputFocus = true\"\n (blur)=\"inputFocus = false\"\n (mouseenter)=\"inputHover = true\"\n (mouseleave)=\"inputHover = false\"\n [(ngModel)]=\"message\"\n [rows]=\"1\"\n [style]=\"getTextAreaHeight(textAreaElement)\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"text\"\n placeholder=\"{{ fileOver ? dropFilePlaceholder : messagePlaceholder }}\"\n (keydown.enter)=\"sendMessage($event)\">\n </textarea>\n </div>\n <div class=\"message-row__btns\">\n <ng-content></ng-content>\n <input #fileInput type=\"file\" hidden multiple (change)=\"onFileSelected($event)\" />\n <i *ngIf=\"!waitForReply\" (click)=\"sendMessage($event)\" class=\"dr-icon-send-arrow-up send-button\"></i>\n\n <i *ngIf=\"waitForReply && !showDotFlashing\" class=\"dr-icon-stop abort-button\" (click)=\"abortMessage()\"></i>\n <dr-dot-flashing *ngIf=\"waitForReply && showDotFlashing\" class=\"wait-reply-dot-flashing\"></dr-dot-flashing>\n </div>\n </div>\n</div>\n", styles: [":host::ng-deep{--disabled-bg: linear-gradient(270.95deg, rgba(130, 210, 240, .2) 10.98%, rgba(146, 146, 255, .2) 93.38%);display:flex;flex-direction:column;align-items:center;padding:0}:host::ng-deep .message-row{display:flex;justify-content:center;width:100%;padding:0 0 21px;max-width:956px}:host::ng-deep .message-row__input{flex-direction:column;background-color:#fff;position:relative;display:flex;align-items:center;flex-grow:1;padding:14px 8px 8px 15px;height:auto;overflow:visible;min-width:265px;border-radius:24px;border:1.5px solid transparent;box-shadow:0 2px 16px -10px #603cff29;transition:.35s ease}:host::ng-deep .message-row__input .abort-button,:host::ng-deep .message-row__input .send-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;border-radius:100px;color:#fff;transition:.15s ease-in-out;background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box}:host::ng-deep .message-row__input .send-button{background:var(--disabled-bg);pointer-events:none}:host::ng-deep .message-row__input--focused{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;height:auto!important;background:#fff}:host::ng-deep .message-row__input--filled{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;background:#fff}:host::ng-deep .message-row__input--filled .send-button{background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box;pointer-events:all}:host::ng-deep .message-row__input .wait-reply-dot-flashing{display:flex;align-items:center;width:32px;height:48px;right:25px}:host::ng-deep .message-row__input:before{content:\"\";position:absolute;inset:-3px;background:linear-gradient(266.3deg,#6969ff 25.2%,#4eb7df 90.24%);border-radius:25px;z-index:-1}:host::ng-deep .message-row__input textarea{font-size:14px;color:#333;width:100%;outline:none;min-height:30px;line-height:19px;flex-grow:1;resize:none;padding:4px 48px 4px 4px;margin:auto;border:none;border-radius:22.5px}:host::ng-deep .message-row__input textarea:focus{border:none}:host::ng-deep .message-row__input textarea::placeholder{color:#9ea1aa}:host::ng-deep .message-row__btns{display:flex;justify-content:space-between;width:100%;align-items:center}:host::ng-deep .message-row__input-textarea-wrap{display:flex;width:100%;position:relative}:host::ng-deep dr-chat-dropped-files{margin-right:auto}:host::ng-deep dr-chat-dropped-files .dropped-files{padding:0}:host::ng-deep dr-chat-dropped-files .dropped-files__item{margin:0}:host::ng-deep .message-row_loading .send-button{background:var(--disabled-bg);pointer-events:none}:host::ng-deep .message-row_loading .dropped-files__item{opacity:.5;pointer-events:none}\n"] }]
248
+ args: [{ selector: 'dr-chat-form-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"message-row\" [ngClass]=\"{ 'message-row_loading': isUploadingFiles }\">\n <div\n class=\"message-row__input\"\n [ngClass]=\"{\n 'message-row__input--focused': inputFocus,\n 'message-row__input--filled': !!message?.trim()?.length || !!(droppedFiles$ | async).length,\n }\">\n <dr-chat-dropped-files\n *ngIf=\"(droppedFiles$ | async).length\"\n [files]=\"droppedFiles$ | async\"\n [isRemovable]=\"true\"\n [maxLengthText]=\"15\"\n (removeFileEvent)=\"removeFile($event)\"></dr-chat-dropped-files>\n\n <div class=\"message-row__input-textarea-wrap\">\n <textarea\n #textAreaElement\n (focus)=\"inputFocus = true\"\n (blur)=\"inputFocus = false\"\n (mouseenter)=\"inputHover = true\"\n (mouseleave)=\"inputHover = false\"\n [(ngModel)]=\"message\"\n [rows]=\"1\"\n [style]=\"getTextAreaHeight(textAreaElement)\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"text\"\n placeholder=\"{{ fileOver ? dropFilePlaceholder : messagePlaceholder }}\"\n (keydown.enter)=\"sendMessage($event)\">\n </textarea>\n </div>\n <div class=\"message-row__btns\">\n <ng-content></ng-content>\n <input #fileInput type=\"file\" hidden multiple (change)=\"onFileSelected($event)\" />\n <i *ngIf=\"!waitForReply\" (click)=\"sendMessage($event)\" class=\"dr-icon-send-arrow-up send-button\"></i>\n\n <i *ngIf=\"waitForReply && !showDotFlashing\" class=\"dr-icon-stop abort-button\" (click)=\"abortMessage()\"></i>\n <dr-dot-flashing *ngIf=\"waitForReply && showDotFlashing\" class=\"wait-reply-dot-flashing\"></dr-dot-flashing>\n </div>\n </div>\n</div>\n", styles: [":host::ng-deep{--disabled-bg: linear-gradient(270.95deg, rgba(130, 210, 240, .2) 10.98%, rgba(146, 146, 255, .2) 93.38%);display:flex;flex-direction:column;align-items:center;padding:0}:host::ng-deep .message-row{display:flex;justify-content:center;width:100%;padding:0 0 21px;max-width:956px}:host::ng-deep .message-row__input{flex-direction:column;background-color:#fff;position:relative;display:flex;align-items:center;flex-grow:1;padding:14px 8px 8px 15px;height:auto;overflow:visible;min-width:265px;border-radius:24px;border:1.5px solid transparent;box-shadow:0 2px 16px -10px #603cff29;transition:.35s ease}:host::ng-deep .message-row__input .abort-button,:host::ng-deep .message-row__input .send-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;border-radius:100px;color:#fff;transition:.15s ease-in-out;background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box}:host::ng-deep .message-row__input .send-button,:host::ng-deep .message-row__input .abort-button{background:var(--disabled-bg);pointer-events:none}:host::ng-deep .message-row__input--focused{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;height:auto!important;background:#fff}:host::ng-deep .message-row__input--filled{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;background:#fff}:host::ng-deep .message-row__input--filled .send-button{background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box;pointer-events:all}:host::ng-deep .message-row__input .wait-reply-dot-flashing{display:flex;align-items:center;width:32px;height:32px}:host::ng-deep .message-row__input:before{content:\"\";position:absolute;inset:-3px;background:linear-gradient(266.3deg,#6969ff 25.2%,#4eb7df 90.24%);border-radius:25px;z-index:-1}:host::ng-deep .message-row__input textarea{color:#333;width:100%;outline:none;min-height:30px;flex-grow:1;resize:none;padding:4px 48px 4px 4px;margin:auto;border:none;border-radius:22.5px;font-family:Poppins,sans-serif;font-size:14px;line-height:22px}:host::ng-deep .message-row__input textarea:focus{border:none}:host::ng-deep .message-row__input textarea::placeholder{color:#9ea1aa}:host::ng-deep .message-row__btns{display:flex;justify-content:space-between;width:100%;align-items:center}:host::ng-deep .message-row__input-textarea-wrap{display:flex;width:100%;position:relative}:host::ng-deep dr-chat-dropped-files{margin-right:auto}:host::ng-deep dr-chat-dropped-files .dropped-files{padding:0}:host::ng-deep dr-chat-dropped-files .dropped-files__item{margin:0}:host::ng-deep .message-row_loading .send-button{background:var(--disabled-bg);pointer-events:none}:host::ng-deep .message-row_loading .dropped-files__item{opacity:.5;pointer-events:none}\n"] }]
248
249
  }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }]; }, { textAreaElementRef: [{
249
250
  type: ViewChild,
250
251
  args: ['textAreaElement']
251
252
  }], fileInput: [{
252
253
  type: ViewChild,
253
254
  args: ['fileInput']
254
- }], isLoading: [{
255
+ }], isUploadingFiles: [{
255
256
  type: Input
256
257
  }], message: [{
257
258
  type: Input
@@ -286,4 +287,4 @@ export class DrChatFormDropdownComponent {
286
287
  type: HostListener,
287
288
  args: ['dragleave', ['$event']]
288
289
  }] }); })();
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY2hhdC1mb3JtLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtLWRyb3Bkb3duL2RyLWNoYXQtZm9ybS1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtZm9ybS1kcm9wZG93bi9kci1jaGF0LWZvcm0tZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7SUNQL0IsaURBSzJDO0lBQXZDLG1PQUFtQixlQUFBLHlCQUFrQixDQUFBLElBQUM7O0lBQUMsaUJBQXdCOzs7SUFIL0Qsa0VBQStCLHFCQUFBLHFCQUFBOzs7O0lBd0IvQiw2QkFBaUc7SUFBeEUsd0tBQVMsZUFBQSwwQkFBbUIsQ0FBQSxJQUFDO0lBQTJDLGlCQUFJOzs7O0lBRXJHLDZCQUF1RztJQUF6QixvS0FBUyxlQUFBLHNCQUFjLENBQUEsSUFBQztJQUFDLGlCQUFJOzs7SUFDM0csc0NBQTJHOzs7OztBRGR2SCxNQUFNLE9BQU8sMkJBQTJCO0lBdUVwQyxZQUNjLEdBQXNCLEVBQ3RCLFlBQTBCO1FBRDFCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBdEV4QywyQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFDOUIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQVUsRUFBRSxDQUFDLENBQUM7UUFFeEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQjs7OztXQUlHO1FBQ00sWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUV0Qjs7OztXQUlHO1FBQ00sdUJBQWtCLEdBQUcsZ0JBQWdCLENBQUM7UUFFL0M7Ozs7V0FJRztRQUNNLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFM0I7Ozs7V0FJRztRQUNNLHdCQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBRW5EOzs7O1dBSUc7UUFDTSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUU5Qjs7OztXQUlHO1FBQ00sb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFakM7OztXQUdHO1FBQ08sU0FBSSxHQUFHLElBQUksWUFBWSxFQUF1QyxDQUFDO1FBQy9ELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMxQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUzQzs7OztXQUlHO1FBRU8sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRW5CLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFLOUMsQ0FBQztJQUdKLE1BQU0sQ0FBQyxLQUFVO1FBQ2IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFFeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUM7WUFDeEMsSUFBSSxLQUFLLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN6QjtTQUNKO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFXO1FBQ2xCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQzlDLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ1osWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBR0QsVUFBVSxDQUFDLEtBQWdCO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUdELFdBQVcsQ0FBQyxLQUFnQjtRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN6QjtJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBNkI7UUFDckMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFFLE1BQXdCLENBQUMsUUFBUSxFQUFFO1lBQ2hELE1BQU0sRUFBRSxjQUFjLEVBQUUsQ0FBQztZQUN6QixNQUFNLEVBQUUsZUFBZSxFQUFFLENBQUM7WUFDMUIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNuQixPQUFPO2FBQ1Y7aUJBQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUU7Z0JBQzlFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDM0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQzNCO1NBQ0o7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGlCQUFpQixDQUFDLGVBQW9DO1FBQ2xELElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzdCLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztTQUN6QzthQUFNO1lBQ0gsZUFBZSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ3RDLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQ3RFO1FBRUQsT0FBTyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFZO1FBQ3ZCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNyQztRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVPLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBa0I7UUFDdEMsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1lBQ3RCLElBQUksR0FBRyxHQUFHLElBQWEsQ0FBQztZQUN4QixHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFXLENBQUM7WUFDckQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDNUQsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDNUI7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRU8sYUFBYSxDQUFDLElBQVM7UUFDM0IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFnQixDQUFDLENBQUM7WUFDdkQsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXZMUSwyQkFBMkI7bUdBQTNCLDJCQUEyQjs7Ozs7Ozs7Z0hBQTNCLGtCQUFjLG1HQUFkLHNCQUFrQixxR0FBbEIsdUJBQW1COzs7OztZQ3RCaEMsOEJBQTBFLGFBQUE7WUFPbEUsZ0hBS21FOztZQUVuRSw4QkFBOEMscUJBQUE7WUFHdEMsMkhBQXNCLElBQUksSUFBQyw0R0FDTixLQUFLLElBREMsd0hBRUEsSUFBSSxJQUZKLHdIQUdBLEtBQUssSUFITCwySUFBQSxtSEFPVix5QkFBcUIsSUFQWCxtSEFVVix1QkFBbUIsSUFWVDtZQVcvQiw0QkFBQTtZQUFBLGlCQUFXLEVBQUE7WUFFZiw4QkFBK0I7WUFDM0Isa0JBQXlCO1lBQ3pCLG9DQUFrRjtZQUFwQyxnSEFBVSwwQkFBc0IsSUFBQztZQUEvRSxpQkFBa0Y7WUFDbEYsMEVBQXFHO1lBRXJHLDJFQUEyRztZQUMzRyx1R0FBMkc7WUFDL0csaUJBQU0sRUFBQSxFQUFBOzs7O1lBckNXLG9FQUFnRDtZQUdqRSxlQUdFO1lBSEYsc0tBR0U7WUFFRyxlQUFvQztZQUFwQyxzRUFBb0M7WUFlakMsZUFBNEM7WUFBNUMseUNBQTRDO1lBRzVDLHdHQUF1RTtZQUx2RSxxQ0FBcUIsV0FBQTtZQVlyQixlQUFtQjtZQUFuQix3Q0FBbUI7WUFFbkIsZUFBc0M7WUFBdEMsK0RBQXNDO1lBQ3hCLGVBQXFDO1lBQXJDLDhEQUFxQzs7O3VGRGR0RCwyQkFBMkI7Y0FOdkMsU0FBUzsyQkFDSSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU07K0ZBR2pCLGtCQUFrQjtrQkFBL0MsU0FBUzttQkFBQyxpQkFBaUI7WUFDSixTQUFTO2tCQUFoQyxTQUFTO21CQUFDLFdBQVc7WUFPYixTQUFTO2tCQUFqQixLQUFLO1lBT0csT0FBTztrQkFBZixLQUFLO1lBT0csa0JBQWtCO2tCQUExQixLQUFLO1lBT0csU0FBUztrQkFBakIsS0FBSztZQU9HLG1CQUFtQjtrQkFBM0IsS0FBSztZQU9HLFlBQVk7a0JBQXBCLEtBQUs7WUFPRyxlQUFlO2tCQUF2QixLQUFLO1lBTUksSUFBSTtrQkFBYixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQUNHLEtBQUs7a0JBQWQsTUFBTTtZQVFHLFdBQVc7a0JBQXBCLE1BQU07WUFFeUIsUUFBUTtrQkFBdkMsV0FBVzttQkFBQyxpQkFBaUI7WUFROUIsTUFBTTtrQkFETCxZQUFZO21CQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztZQXdCaEMsVUFBVTtrQkFEVCxZQUFZO21CQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQVVwQyxXQUFXO2tCQURWLFlBQVk7bUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBJRklsZSB9IGZyb20gJy4uLy4uL21vZGVscy9jaGF0JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWNoYXQtZm9ybS1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLWNoYXQtZm9ybS1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItY2hhdC1mb3JtLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdEZvcm1Ecm9wZG93bkNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgndGV4dEFyZWFFbGVtZW50JykgdGV4dEFyZWFFbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dDogRWxlbWVudFJlZjtcbiAgICBfdGV4dGFyZWFJbml0aWFsSGVpZ2h0ID0gdHJ1ZTtcbiAgICBpbnB1dEZvY3VzID0gZmFsc2U7XG4gICAgaW5wdXRIb3ZlciA9IGZhbHNlO1xuXG4gICAgZHJvcHBlZEZpbGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SUZJbGVbXT4oW10pO1xuXG4gICAgQElucHV0KCkgaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBQcmVkZWZpbmVkIG1lc3NhZ2UgdGV4dFxuICAgICAqXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZXNzYWdlID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBNZXNzYWdlIHBsYWNlaG9sZGVyIHRleHRcbiAgICAgKlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgQElucHV0KCkgbWVzc2FnZVBsYWNlaG9sZGVyID0gJ1R5cGUgYSBtZXNzYWdlJztcblxuICAgIC8qKlxuICAgICAqIFNob3cgc2VuZCBidXR0b25cbiAgICAgKlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3BGaWxlcyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRmlsZSBkcm9wIHBsYWNlaG9sZGVyIHRleHRcbiAgICAgKlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgQElucHV0KCkgZHJvcEZpbGVQbGFjZWhvbGRlciA9ICdEcm9wIGZpbGUgdG8gc2VuZCc7XG5cbiAgICAvKipcbiAgICAgKiBQYXJhbWV0ZXIgdG8gY2hlY2sgaXMgc2VuZCBtZXNzYWdlIGZ1bmN0aW9uIGF2YWlsYWJsZVxuICAgICAqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgQElucHV0KCkgd2FpdEZvclJlcGx5ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBQYXJhbWV0ZXIgdG8gY2hlY2sgaXMgc2VuZCBtZXNzYWdlIGZ1bmN0aW9uIGF2YWlsYWJsZVxuICAgICAqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgQElucHV0KCkgc2hvd0RvdEZsYXNoaW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8eyBtZXNzYWdlOiBzdHJpbmcsIGZpbGVzOiBJRmlsZVtdIH0+fVxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBzZW5kID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1lc3NhZ2U6IHN0cmluZzsgZmlsZXM6IElGSWxlW10gfT4oKTtcbiAgICBAT3V0cHV0KCkgdXBsb2FkRmlsZXMgPSBuZXcgRXZlbnRFbWl0dGVyPElGSWxlW10+KCk7XG4gICAgQE91dHB1dCgpIGFib3J0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBtZXNzYWdlIGlucHV0IHZhbHVlIGhhcyBiZWVuIGNoYW5nZWRcbiAgICAgKlxuICAgICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8c3RyaW5nPn1cbiAgICAgKi9cblxuICAgIEBPdXRwdXQoKSBpbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5maWxlLW92ZXInKSBmaWxlT3ZlciA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgKSB7fVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXG4gICAgb25Ecm9wKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyPy5maWxlcztcbiAgICAgICAgICAgIGlmIChmaWxlcykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2F2ZUZpbGVzKGZpbGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUZpbGUoZmlsZTogSUZJbGUpIHtcbiAgICAgICAgY29uc3QgZHJvcHBlZEZpbGVzID0gdGhpcy5kcm9wcGVkRmlsZXMkLnZhbHVlO1xuICAgICAgICBjb25zdCBpbmRleCA9IGRyb3BwZWRGaWxlcy5pbmRleE9mKGZpbGUpO1xuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgZHJvcHBlZEZpbGVzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcyQubmV4dChkcm9wcGVkRmlsZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxuICAgIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVPdmVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pXG4gICAgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVPdmVyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZW5kTWVzc2FnZSgkZXZlbnQ6IEV2ZW50IHwgS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoISRldmVudCB8fCAhKCRldmVudCBhcyBLZXlib2FyZEV2ZW50KS5zaGlmdEtleSkge1xuICAgICAgICAgICAgJGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgJGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGlmICh0aGlzLndhaXRGb3JSZXBseSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5kcm9wcGVkRmlsZXMkLnZhbHVlLmxlbmd0aCB8fCBTdHJpbmcodGhpcy5tZXNzYWdlKS50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGV4dGFyZWFJbml0aWFsSGVpZ2h0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbmQuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubWVzc2FnZSwgZmlsZXM6IHRoaXMuZHJvcHBlZEZpbGVzJC52YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSAnJztcbiAgICAgICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcyQubmV4dChbXSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhYm9ydE1lc3NhZ2UoKSB7XG4gICAgICAgIHRoaXMuYWJvcnQuZW1pdCgpO1xuICAgIH1cblxuICAgIG9uTW9kZWxDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl90ZXh0YXJlYUluaXRpYWxIZWlnaHQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pbnB1dENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXRUZXh0QXJlYUhlaWdodCh0ZXh0QXJlYUVsZW1lbnQ6IEhUTUxUZXh0QXJlYUVsZW1lbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuX3RleHRhcmVhSW5pdGlhbEhlaWdodCkge1xuICAgICAgICAgICAgdGV4dEFyZWFFbGVtZW50LnN0eWxlLmhlaWdodCA9ICczMHB4JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRleHRBcmVhRWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG4gICAgICAgICAgICB0ZXh0QXJlYUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGV4dEFyZWFFbGVtZW50LnNjcm9sbEhlaWdodCArICdweCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7dGV4dEFyZWFFbGVtZW50LnN0eWxlLmhlaWdodH1gO1xuICAgIH1cblxuICAgIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICB0aGlzLmZpbGVPdmVyID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gaW5wdXQuZmlsZXM7XG4gICAgICAgIGlmIChmaWxlcyAmJiBmaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZUZpbGVzKEFycmF5LmZyb20oZmlsZXMpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBzYXZlRmlsZXMoZmlsZXM6IEFycmF5PEZpbGU+KSB7XG4gICAgICAgIGNvbnN0IHVwbG9hZGVkRmlsZXMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICAgICAgICBsZXQgcmVzID0gZmlsZSBhcyBJRklsZTtcbiAgICAgICAgICAgIHJlcy5kYXRhID0gKGF3YWl0IHRoaXMuYmFzZTY0Q29udmVydChyZXMpKSBhcyBzdHJpbmc7XG4gICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcyQubmV4dChbLi4udGhpcy5kcm9wcGVkRmlsZXMkLnZhbHVlLCByZXNdKTtcbiAgICAgICAgICAgIHVwbG9hZGVkRmlsZXMucHVzaChyZXMpO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGxvYWRGaWxlcy5lbWl0KHVwbG9hZGVkRmlsZXMubWFwKChpdGVtKSA9PiAoeyBkYXRhOiBpdGVtLmRhdGEsIG5hbWU6IGl0ZW0ubmFtZSB9KSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmFzZTY0Q29udmVydChmaWxlOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XG4gICAgICAgICAgICByZWFkZXIub25lcnJvciA9IChlcnJvcikgPT4gcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWVzc2FnZS1yb3dcIiBbbmdDbGFzc109XCJ7ICdtZXNzYWdlLXJvd19sb2FkaW5nJzogaXNMb2FkaW5nIH1cIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibWVzc2FnZS1yb3dfX2lucHV0XCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ21lc3NhZ2Utcm93X19pbnB1dC0tZm9jdXNlZCc6IGlucHV0Rm9jdXMsXG4gICAgICAgICAgICAnbWVzc2FnZS1yb3dfX2lucHV0LS1maWxsZWQnOiAhIW1lc3NhZ2U/LnRyaW0oKT8ubGVuZ3RoLFxuICAgICAgICB9XCI+XG4gICAgICAgIDxkci1jaGF0LWRyb3BwZWQtZmlsZXNcbiAgICAgICAgICAgICpuZ0lmPVwiKGRyb3BwZWRGaWxlcyQgfCBhc3luYykubGVuZ3RoXCJcbiAgICAgICAgICAgIFtmaWxlc109XCJkcm9wcGVkRmlsZXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgW2lzUmVtb3ZhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgW21heExlbmd0aFRleHRdPVwiMTVcIlxuICAgICAgICAgICAgKHJlbW92ZUZpbGVFdmVudCk9XCJyZW1vdmVGaWxlKCRldmVudClcIj48L2RyLWNoYXQtZHJvcHBlZC1maWxlcz5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1yb3dfX2lucHV0LXRleHRhcmVhLXdyYXBcIj5cbiAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgICN0ZXh0QXJlYUVsZW1lbnRcbiAgICAgICAgICAgICAgICAoZm9jdXMpPVwiaW5wdXRGb2N1cyA9IHRydWVcIlxuICAgICAgICAgICAgICAgIChibHVyKT1cImlucHV0Rm9jdXMgPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwiaW5wdXRIb3ZlciA9IHRydWVcIlxuICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImlucHV0SG92ZXIgPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtZXNzYWdlXCJcbiAgICAgICAgICAgICAgICBbcm93c109XCIxXCJcbiAgICAgICAgICAgICAgICBbc3R5bGVdPVwiZ2V0VGV4dEFyZWFIZWlnaHQodGV4dEFyZWFFbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBmaWxlT3ZlciA/IGRyb3BGaWxlUGxhY2Vob2xkZXIgOiBtZXNzYWdlUGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInNlbmRNZXNzYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgIDwvdGV4dGFyZWE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1yb3dfX2J0bnNcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDxpbnB1dCAjZmlsZUlucHV0IHR5cGU9XCJmaWxlXCIgaGlkZGVuIG11bHRpcGxlIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICA8aSAqbmdJZj1cIiF3YWl0Rm9yUmVwbHlcIiAoY2xpY2spPVwic2VuZE1lc3NhZ2UoJGV2ZW50KVwiIGNsYXNzPVwiZHItaWNvbi1zZW5kLWFycm93LXVwIHNlbmQtYnV0dG9uXCI+PC9pPlxuXG4gICAgICAgICAgICA8aSAqbmdJZj1cIndhaXRGb3JSZXBseSAmJiAhc2hvd0RvdEZsYXNoaW5nXCIgY2xhc3M9XCJkci1pY29uLXN0b3AgYWJvcnQtYnV0dG9uXCIgKGNsaWNrKT1cImFib3J0TWVzc2FnZSgpXCI+PC9pPlxuICAgICAgICAgICAgPGRyLWRvdC1mbGFzaGluZyAqbmdJZj1cIndhaXRGb3JSZXBseSAmJiBzaG93RG90Rmxhc2hpbmdcIiBjbGFzcz1cIndhaXQtcmVwbHktZG90LWZsYXNoaW5nXCI+PC9kci1kb3QtZmxhc2hpbmc+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
290
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY2hhdC1mb3JtLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtLWRyb3Bkb3duL2RyLWNoYXQtZm9ybS1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtZm9ybS1kcm9wZG93bi9kci1jaGF0LWZvcm0tZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7SUNQL0IsaURBSzJDO0lBQXZDLG1PQUFtQixlQUFBLHlCQUFrQixDQUFBLElBQUM7O0lBQUMsaUJBQXdCOzs7SUFIL0Qsa0VBQStCLHFCQUFBLHFCQUFBOzs7O0lBd0IvQiw2QkFBaUc7SUFBeEUsd0tBQVMsZUFBQSwwQkFBbUIsQ0FBQSxJQUFDO0lBQTJDLGlCQUFJOzs7O0lBRXJHLDZCQUF1RztJQUF6QixvS0FBUyxlQUFBLHNCQUFjLENBQUEsSUFBQztJQUFDLGlCQUFJOzs7SUFDM0csc0NBQTJHOzs7OztBRGR2SCxNQUFNLE9BQU8sMkJBQTJCO0lBdUVwQyxZQUNjLEdBQXNCLEVBQ3RCLFlBQTBCO1FBRDFCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGlCQUFZLEdB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O2NBTnZDLFNBQVM7MkJBQ0ksdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNOytGQUdqQixrQkFBa0I7a0JBQS9DLFNBQVM7bUJBQUMsaUJBQWlCO1lBQ0osU0FBUztrQkFBaEMsU0FBUzttQkFBQyxXQUFXO1lBT2IsZ0JBQWdCO2tCQUF4QixLQUFLO1lBT0csT0FBTztrQkFBZixLQUFLO1lBT0csa0JBQWtCO2tCQUExQixLQUFLO1lBT0csU0FBUztrQkFBakIsS0FBSztZQU9HLG1CQUFtQjtrQkFBM0IsS0FBSztZQU9HLFlBQVk7a0JBQXBCLEtBQUs7WUFPRyxlQUFlO2tCQUF2QixLQUFLO1lBTUksSUFBSTtrQkFBYixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQUNHLEtBQUs7a0JBQWQsTUFBTTtZQVFHLFdBQVc7a0JBQXBCLE1BQU07WUFFeUIsUUFBUTtrQkFBdkMsV0FBVzttQkFBQyxpQkFBaUI7WUFROUIsTUFBTTtrQkFETCxZQUFZO21CQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztZQXdCaEMsVUFBVTtrQkFEVCxZQUFZO21CQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQVVwQyxXQUFXO2tCQURWLFlBQVk7bUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBJRklsZSB9IGZyb20gJy4uLy4uL21vZGVscy9jaGF0JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWNoYXQtZm9ybS1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLWNoYXQtZm9ybS1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItY2hhdC1mb3JtLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdEZvcm1Ecm9wZG93bkNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgndGV4dEFyZWFFbGVtZW50JykgdGV4dEFyZWFFbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dDogRWxlbWVudFJlZjtcbiAgICBfdGV4dGFyZWFJbml0aWFsSGVpZ2h0ID0gdHJ1ZTtcbiAgICBpbnB1dEZvY3VzID0gZmFsc2U7XG4gICAgaW5wdXRIb3ZlciA9IGZhbHNlO1xuXG4gICAgZHJvcHBlZEZpbGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SUZJbGVbXT4oW10pO1xuXG4gICAgQElucHV0KCkgaXNVcGxvYWRpbmdGaWxlcyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogUHJlZGVmaW5lZCBtZXNzYWdlIHRleHRcbiAgICAgKlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgQElucHV0KCkgbWVzc2FnZSA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogTWVzc2FnZSBwbGFjZWhvbGRlciB0ZXh0XG4gICAgICpcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1lc3NhZ2VQbGFjZWhvbGRlciA9ICdUeXBlIGEgbWVzc2FnZSc7XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHNlbmQgYnV0dG9uXG4gICAgICpcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBkcm9wRmlsZXMgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEZpbGUgZHJvcCBwbGFjZWhvbGRlciB0ZXh0XG4gICAgICpcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3BGaWxlUGxhY2Vob2xkZXIgPSAnRHJvcCBmaWxlIHRvIHNlbmQnO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW1ldGVyIHRvIGNoZWNrIGlzIHNlbmQgbWVzc2FnZSBmdW5jdGlvbiBhdmFpbGFibGVcbiAgICAgKlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHdhaXRGb3JSZXBseSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW1ldGVyIHRvIGNoZWNrIGlzIHNlbmQgbWVzc2FnZSBmdW5jdGlvbiBhdmFpbGFibGVcbiAgICAgKlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNob3dEb3RGbGFzaGluZyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPHsgbWVzc2FnZTogc3RyaW5nLCBmaWxlczogSUZpbGVbXSB9Pn1cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgc2VuZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtZXNzYWdlOiBzdHJpbmc7IGZpbGVzOiBJRklsZVtdIH0+KCk7XG4gICAgQE91dHB1dCgpIHVwbG9hZEZpbGVzID0gbmV3IEV2ZW50RW1pdHRlcjxJRklsZVtdPigpO1xuICAgIEBPdXRwdXQoKSBhYm9ydCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gbWVzc2FnZSBpbnB1dCB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkXG4gICAgICpcbiAgICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPHN0cmluZz59XG4gICAgICovXG5cbiAgICBAT3V0cHV0KCkgaW5wdXRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmlsZS1vdmVyJykgZmlsZU92ZXIgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICkge31cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICAgIG9uRHJvcChldmVudDogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmRyb3BGaWxlcykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICB0aGlzLmZpbGVPdmVyID0gZmFsc2U7XG4gICAgICAgICAgICBjb25zdCBmaWxlcyA9IGV2ZW50LmRhdGFUcmFuc2Zlcj8uZmlsZXM7XG4gICAgICAgICAgICBpZiAoZmlsZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNhdmVGaWxlcyhmaWxlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1vdmVGaWxlKGZpbGU6IElGSWxlKSB7XG4gICAgICAgIGNvbnN0IGRyb3BwZWRGaWxlcyA9IHRoaXMuZHJvcHBlZEZpbGVzJC52YWx1ZTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBkcm9wcGVkRmlsZXMuaW5kZXhPZihmaWxlKTtcbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgIGRyb3BwZWRGaWxlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgdGhpcy5kcm9wcGVkRmlsZXMkLm5leHQoZHJvcHBlZEZpbGVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnXSlcbiAgICBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICh0aGlzLmRyb3BGaWxlcykge1xuICAgICAgICAgICAgdGhpcy5maWxlT3ZlciA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxuICAgIG9uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICh0aGlzLmRyb3BGaWxlcykge1xuICAgICAgICAgICAgdGhpcy5maWxlT3ZlciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VuZE1lc3NhZ2UoJGV2ZW50OiBFdmVudCB8IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQgfHwgISgkZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICRldmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICRldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBpZiAodGhpcy53YWl0Rm9yUmVwbHkgfHwgdGhpcy5pc1VwbG9hZGluZ0ZpbGVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRyb3BwZWRGaWxlcyQudmFsdWUubGVuZ3RoIHx8IFN0cmluZyh0aGlzLm1lc3NhZ2UpLnRyaW0oKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90ZXh0YXJlYUluaXRpYWxIZWlnaHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VuZC5lbWl0KHsgbWVzc2FnZTogdGhpcy5tZXNzYWdlLCBmaWxlczogdGhpcy5kcm9wcGVkRmlsZXMkLnZhbHVlIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZSA9ICcnO1xuICAgICAgICAgICAgICAgIHRoaXMuZHJvcHBlZEZpbGVzJC5uZXh0KFtdKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFib3J0TWVzc2FnZSgpIHtcbiAgICAgICAgdGhpcy5hYm9ydC5lbWl0KCk7XG4gICAgfVxuXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RleHRhcmVhSW5pdGlhbEhlaWdodCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlucHV0Q2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIGdldFRleHRBcmVhSGVpZ2h0KHRleHRBcmVhRWxlbWVudDogSFRNTFRleHRBcmVhRWxlbWVudCkge1xuICAgICAgICBpZiAodGhpcy5fdGV4dGFyZWFJbml0aWFsSGVpZ2h0KSB7XG4gICAgICAgICAgICB0ZXh0QXJlYUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJzMwcHgnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGV4dEFyZWFFbGVtZW50LnN0eWxlLmhlaWdodCA9ICdhdXRvJztcbiAgICAgICAgICAgIHRleHRBcmVhRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0ZXh0QXJlYUVsZW1lbnQuc2Nyb2xsSGVpZ2h0ICsgJ3B4JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHt0ZXh0QXJlYUVsZW1lbnQuc3R5bGUuaGVpZ2h0fWA7XG4gICAgfVxuXG4gICAgb25GaWxlU2VsZWN0ZWQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBpbnB1dC5maWxlcztcbiAgICAgICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5zYXZlRmlsZXMoQXJyYXkuZnJvbShmaWxlcykpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIHNhdmVGaWxlcyhmaWxlczogQXJyYXk8RmlsZT4pIHtcbiAgICAgICAgY29uc3QgdXBsb2FkZWRGaWxlcyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgICAgICAgIGxldCByZXMgPSBmaWxlIGFzIElGSWxlO1xuICAgICAgICAgICAgcmVzLmRhdGEgPSAoYXdhaXQgdGhpcy5iYXNlNjRDb252ZXJ0KHJlcykpIGFzIHN0cmluZztcbiAgICAgICAgICAgIHRoaXMuZHJvcHBlZEZpbGVzJC5uZXh0KFsuLi50aGlzLmRyb3BwZWRGaWxlcyQudmFsdWUsIHJlc10pO1xuICAgICAgICAgICAgdXBsb2FkZWRGaWxlcy5wdXNoKHJlcyk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwbG9hZEZpbGVzLmVtaXQodXBsb2FkZWRGaWxlcy5tYXAoKGl0ZW0pID0+ICh7IGRhdGE6IGl0ZW0uZGF0YSwgbmFtZTogaXRlbS5uYW1lIH0pKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiYXNlNjRDb252ZXJ0KGZpbGU6IGFueSkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmVycm9yID0gKGVycm9yKSA9PiByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtZXNzYWdlLXJvd1wiIFtuZ0NsYXNzXT1cInsgJ21lc3NhZ2Utcm93X2xvYWRpbmcnOiBpc1VwbG9hZGluZ0ZpbGVzIH1cIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibWVzc2FnZS1yb3dfX2lucHV0XCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ21lc3NhZ2Utcm93X19pbnB1dC0tZm9jdXNlZCc6IGlucHV0Rm9jdXMsXG4gICAgICAgICAgICAnbWVzc2FnZS1yb3dfX2lucHV0LS1maWxsZWQnOiAhIW1lc3NhZ2U/LnRyaW0oKT8ubGVuZ3RoIHx8ICEhKGRyb3BwZWRGaWxlcyQgfCBhc3luYykubGVuZ3RoLFxuICAgICAgICB9XCI+XG4gICAgICAgIDxkci1jaGF0LWRyb3BwZWQtZmlsZXNcbiAgICAgICAgICAgICpuZ0lmPVwiKGRyb3BwZWRGaWxlcyQgfCBhc3luYykubGVuZ3RoXCJcbiAgICAgICAgICAgIFtmaWxlc109XCJkcm9wcGVkRmlsZXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgW2lzUmVtb3ZhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgW21heExlbmd0aFRleHRdPVwiMTVcIlxuICAgICAgICAgICAgKHJlbW92ZUZpbGVFdmVudCk9XCJyZW1vdmVGaWxlKCRldmVudClcIj48L2RyLWNoYXQtZHJvcHBlZC1maWxlcz5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1yb3dfX2lucHV0LXRleHRhcmVhLXdyYXBcIj5cbiAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgICN0ZXh0QXJlYUVsZW1lbnRcbiAgICAgICAgICAgICAgICAoZm9jdXMpPVwiaW5wdXRGb2N1cyA9IHRydWVcIlxuICAgICAgICAgICAgICAgIChibHVyKT1cImlucHV0Rm9jdXMgPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwiaW5wdXRIb3ZlciA9IHRydWVcIlxuICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImlucHV0SG92ZXIgPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtZXNzYWdlXCJcbiAgICAgICAgICAgICAgICBbcm93c109XCIxXCJcbiAgICAgICAgICAgICAgICBbc3R5bGVdPVwiZ2V0VGV4dEFyZWFIZWlnaHQodGV4dEFyZWFFbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBmaWxlT3ZlciA/IGRyb3BGaWxlUGxhY2Vob2xkZXIgOiBtZXNzYWdlUGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInNlbmRNZXNzYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgIDwvdGV4dGFyZWE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1yb3dfX2J0bnNcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDxpbnB1dCAjZmlsZUlucHV0IHR5cGU9XCJmaWxlXCIgaGlkZGVuIG11bHRpcGxlIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICA8aSAqbmdJZj1cIiF3YWl0Rm9yUmVwbHlcIiAoY2xpY2spPVwic2VuZE1lc3NhZ2UoJGV2ZW50KVwiIGNsYXNzPVwiZHItaWNvbi1zZW5kLWFycm93LXVwIHNlbmQtYnV0dG9uXCI+PC9pPlxuXG4gICAgICAgICAgICA8aSAqbmdJZj1cIndhaXRGb3JSZXBseSAmJiAhc2hvd0RvdEZsYXNoaW5nXCIgY2xhc3M9XCJkci1pY29uLXN0b3AgYWJvcnQtYnV0dG9uXCIgKGNsaWNrKT1cImFib3J0TWVzc2FnZSgpXCI+PC9pPlxuICAgICAgICAgICAgPGRyLWRvdC1mbGFzaGluZyAqbmdJZj1cIndhaXRGb3JSZXBseSAmJiBzaG93RG90Rmxhc2hpbmdcIiBjbGFzcz1cIndhaXQtcmVwbHktZG90LWZsYXNoaW5nXCI+PC9kci1kb3QtZmxhc2hpbmc+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=