@datarailsshared/datarailsshared 1.6.285 → 1.6.287

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.
@@ -1,5 +1,15 @@
1
1
  @import './vars';
2
2
 
3
+ @function assets-img-url($path) {
4
+ @return url('#{$shared-assets-base}/dr-assets/images/#{$path}');
5
+ }
6
+
7
+ @mixin dr-icon-svg($name) {
8
+ width: 24px;
9
+ height: 24px;
10
+ background: url('#{$shared-assets-base}/dr-icons/#{$name}.svg');
11
+ }
12
+
3
13
  @mixin dr-primary-font(
4
14
  $fontSize: $dr-font-size-x-small,
5
15
  $fontWeight: $dr-font-weight-regular,
@@ -46,3 +46,5 @@ $dr-line-height-medium: 32px;
46
46
  $dr-line-height-large: 32px;
47
47
  $dr-line-height-x-large: 40px;
48
48
  $dr-line-height-xx-large: 48px;
49
+
50
+ $shared-assets-base: 'https://shared-assets.datarails.com' !default;
@@ -114,11 +114,11 @@ export class DrAvatarComponent {
114
114
  i0.ɵɵproperty("ngForOf", ctx.getFirstUsers());
115
115
  i0.ɵɵadvance(1);
116
116
  i0.ɵɵproperty("ngIf", ctx.parsedUsers.length > ctx.USERS_TO_SHOW);
117
- } }, dependencies: [i1.DrTooltipDirective, i2.NgClass, i2.NgForOf, i2.NgIf, i3.DrAvatarPipe], styles: ["[_nghost-%COMP%]{width:auto;display:flex;align-items:center}.compact[_nghost-%COMP%]{padding-left:8px}.compact[_nghost-%COMP%] .users-section__user[_ngcontent-%COMP%]{margin-left:-8px!important}.users-section__default[_ngcontent-%COMP%]{display:flex;height:28px;width:28px;border-radius:50%;background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E %3Crect width%3D%2224%22 height%3D%2224%22 rx%3D%2212%22 fill%3D%22%23E5E6EA%22%2F%3E %3Cpath fill-rule%3D%22evenodd%22 clip-rule%3D%22evenodd%22 d%3D%22M15 9.75C15 11.4069 13.6569 12.75 12 12.75C10.3431 12.75 9 11.4069 9 9.75C9 8.09315 10.3431 6.75 12 6.75C13.6569 6.75 15 8.09315 15 9.75ZM13.875 9.75C13.875 10.7855 13.0355 11.625 12 11.625C10.9645 11.625 10.125 10.7855 10.125 9.75C10.125 8.71447 10.9645 7.875 12 7.875C13.0355 7.875 13.875 8.71447 13.875 9.75Z%22 fill%3D%22%2351566F%22%2F%3E %3Cpath d%3D%22M15.9968 16.7631C15.5425 15.3973 14.0368 14.25 12 14.25C9.9632 14.25 8.45748 15.3973 8.00319 16.7631C7.91242 17.0359 7.67416 17.25 7.38657 17.25C7.04536 17.25 6.77507 16.9539 6.86275 16.6241C7.39546 14.6206 9.49327 13.125 12 13.125C14.5067 13.125 16.6045 14.6206 17.1373 16.6241C17.2249 16.9539 16.9546 17.25 16.6134 17.25C16.3259 17.25 16.0876 17.0359 15.9968 16.7631Z%22 fill%3D%22%2351566F%22%2F%3E%3C%2Fsvg%3E\") no-repeat!important;background-size:cover}.users-popover-item[_ngcontent-%COMP%]{display:flex;align-items:center;margin:12px}.users-popover-item[_ngcontent-%COMP%] .username[_ngcontent-%COMP%]{color:#51566f;font-size:14px}.users-popover-item[_ngcontent-%COMP%] .users-section__user[_ngcontent-%COMP%]{margin-right:8px}.users-section__user[_ngcontent-%COMP%]{position:relative;display:flex;justify-content:center;align-items:center;height:28px;width:28px;border-radius:50%;background:red;color:#fff;font-size:12px}.users-section__user--clickable[_ngcontent-%COMP%]{cursor:pointer}.users-section__user[_ngcontent-%COMP%]:not(:first-child){margin-left:4px}.users-section__user.online[_ngcontent-%COMP%]:after, .users-section__user.offline[_ngcontent-%COMP%]:after, .users-section__user.warning[_ngcontent-%COMP%]:after{content:\"\";display:flex;width:8px;height:8px;position:absolute;border-radius:4px;top:-2px;right:0}.users-section__user.online[_ngcontent-%COMP%]:after{background:#03a678}.users-section__user.offline[_ngcontent-%COMP%]:after{background:#de2833}.users-section__user.warning[_ngcontent-%COMP%]:after{background:#fda014}.users-section__user-more[_ngcontent-%COMP%]{font-size:12px;line-height:16px;font-weight:400;background:#dfe0e3;color:#333;cursor:pointer}"], changeDetection: 0 }); }
117
+ } }, dependencies: [i1.DrTooltipDirective, i2.NgClass, i2.NgForOf, i2.NgIf, i3.DrAvatarPipe], styles: ["[_nghost-%COMP%]{width:auto;display:flex;align-items:center}.compact[_nghost-%COMP%]{padding-left:8px}.compact[_nghost-%COMP%] .users-section__user[_ngcontent-%COMP%]{margin-left:-8px!important}.users-section__default[_ngcontent-%COMP%]{display:flex;height:28px;width:28px;border-radius:50%;background:url(https://shared-assets.datarails.com/dr-assets/images/default-avatar.svg) no-repeat!important;background-size:cover}.users-popover-item[_ngcontent-%COMP%]{display:flex;align-items:center;margin:12px}.users-popover-item[_ngcontent-%COMP%] .username[_ngcontent-%COMP%]{color:#51566f;font-size:14px}.users-popover-item[_ngcontent-%COMP%] .users-section__user[_ngcontent-%COMP%]{margin-right:8px}.users-section__user[_ngcontent-%COMP%]{position:relative;display:flex;justify-content:center;align-items:center;height:28px;width:28px;border-radius:50%;background:red;color:#fff;font-size:12px}.users-section__user--clickable[_ngcontent-%COMP%]{cursor:pointer}.users-section__user[_ngcontent-%COMP%]:not(:first-child){margin-left:4px}.users-section__user.online[_ngcontent-%COMP%]:after, .users-section__user.offline[_ngcontent-%COMP%]:after, .users-section__user.warning[_ngcontent-%COMP%]:after{content:\"\";display:flex;width:8px;height:8px;position:absolute;border-radius:4px;top:-2px;right:0}.users-section__user.online[_ngcontent-%COMP%]:after{background:#03a678}.users-section__user.offline[_ngcontent-%COMP%]:after{background:#de2833}.users-section__user.warning[_ngcontent-%COMP%]:after{background:#fda014}.users-section__user-more[_ngcontent-%COMP%]{font-size:12px;line-height:16px;font-weight:400;background:#dfe0e3;color:#333;cursor:pointer}"], changeDetection: 0 }); }
118
118
  }
119
119
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrAvatarComponent, [{
120
120
  type: Component,
121
- args: [{ selector: 'dr-avatar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"!parsedUsers.length\"\n class=\"users-section__default\"\n [style.width]=\"drAvatarSize || null\"\n [style.height]=\"drAvatarSize || null\"></div>\n\n<div\n *ngFor=\"let user of getFirstUsers()\"\n class=\"users-section__user\"\n [class]=\"user.status\"\n [style.width]=\"drAvatarSize || null\"\n [style.height]=\"drAvatarSize || null\"\n [style.background-color]=\"getAvatarColor(user)\"\n [ngClass]=\"{\n 'users-section__default': showUnassigned && !user.email,\n 'users-section__user--clickable': drAvatarIsClickable,\n }\"\n [drTooltip]=\"user | drAvatar\"\n [drTooltipClass]=\"drAvatarTooltipClass\"\n [drTooltipPosition]=\"drAvatarTooltipPosition\"\n (click)=\"drAvatarIsClickable && userClicked.emit()\">\n {{ user | drAvatar: 'initials' }}\n</div>\n\n<div\n *ngIf=\"parsedUsers.length > USERS_TO_SHOW\"\n class=\"users-section__user users-section__user-more icon-2\"\n [drTooltip]=\"usersTemplate\"\n [drTooltipPosition]=\"'bottom'\">\n +{{ getLastUsers().length }}\n</div>\n\n<ng-template #usersTemplate>\n <div *ngFor=\"let user of getLastUsers()\" class=\"users-popover-item\">\n <div\n class=\"users-section__user\"\n [style.background-color]=\"getAvatarColor(user)\"\n (click)=\"userClicked.emit()\"\n [class]=\"user.class\">\n {{ user | drAvatar: 'initials' }}\n </div>\n <span class=\"username\">\n {{ user | drAvatar }}\n </span>\n </div>\n</ng-template>\n", styles: [":host{width:auto;display:flex;align-items:center}:host.compact{padding-left:8px}:host.compact .users-section__user{margin-left:-8px!important}.users-section__default{display:flex;height:28px;width:28px;border-radius:50%;background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E %3Crect width%3D%2224%22 height%3D%2224%22 rx%3D%2212%22 fill%3D%22%23E5E6EA%22%2F%3E %3Cpath fill-rule%3D%22evenodd%22 clip-rule%3D%22evenodd%22 d%3D%22M15 9.75C15 11.4069 13.6569 12.75 12 12.75C10.3431 12.75 9 11.4069 9 9.75C9 8.09315 10.3431 6.75 12 6.75C13.6569 6.75 15 8.09315 15 9.75ZM13.875 9.75C13.875 10.7855 13.0355 11.625 12 11.625C10.9645 11.625 10.125 10.7855 10.125 9.75C10.125 8.71447 10.9645 7.875 12 7.875C13.0355 7.875 13.875 8.71447 13.875 9.75Z%22 fill%3D%22%2351566F%22%2F%3E %3Cpath d%3D%22M15.9968 16.7631C15.5425 15.3973 14.0368 14.25 12 14.25C9.9632 14.25 8.45748 15.3973 8.00319 16.7631C7.91242 17.0359 7.67416 17.25 7.38657 17.25C7.04536 17.25 6.77507 16.9539 6.86275 16.6241C7.39546 14.6206 9.49327 13.125 12 13.125C14.5067 13.125 16.6045 14.6206 17.1373 16.6241C17.2249 16.9539 16.9546 17.25 16.6134 17.25C16.3259 17.25 16.0876 17.0359 15.9968 16.7631Z%22 fill%3D%22%2351566F%22%2F%3E%3C%2Fsvg%3E\") no-repeat!important;background-size:cover}.users-popover-item{display:flex;align-items:center;margin:12px}.users-popover-item .username{color:#51566f;font-size:14px}.users-popover-item .users-section__user{margin-right:8px}.users-section__user{position:relative;display:flex;justify-content:center;align-items:center;height:28px;width:28px;border-radius:50%;background:red;color:#fff;font-size:12px}.users-section__user--clickable{cursor:pointer}.users-section__user:not(:first-child){margin-left:4px}.users-section__user.online:after,.users-section__user.offline:after,.users-section__user.warning:after{content:\"\";display:flex;width:8px;height:8px;position:absolute;border-radius:4px;top:-2px;right:0}.users-section__user.online:after{background:#03a678}.users-section__user.offline:after{background:#de2833}.users-section__user.warning:after{background:#fda014}.users-section__user-more{font-size:12px;line-height:16px;font-weight:400;background:#dfe0e3;color:#333;cursor:pointer}\n"] }]
121
+ args: [{ selector: 'dr-avatar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"!parsedUsers.length\"\n class=\"users-section__default\"\n [style.width]=\"drAvatarSize || null\"\n [style.height]=\"drAvatarSize || null\"></div>\n\n<div\n *ngFor=\"let user of getFirstUsers()\"\n class=\"users-section__user\"\n [class]=\"user.status\"\n [style.width]=\"drAvatarSize || null\"\n [style.height]=\"drAvatarSize || null\"\n [style.background-color]=\"getAvatarColor(user)\"\n [ngClass]=\"{\n 'users-section__default': showUnassigned && !user.email,\n 'users-section__user--clickable': drAvatarIsClickable,\n }\"\n [drTooltip]=\"user | drAvatar\"\n [drTooltipClass]=\"drAvatarTooltipClass\"\n [drTooltipPosition]=\"drAvatarTooltipPosition\"\n (click)=\"drAvatarIsClickable && userClicked.emit()\">\n {{ user | drAvatar: 'initials' }}\n</div>\n\n<div\n *ngIf=\"parsedUsers.length > USERS_TO_SHOW\"\n class=\"users-section__user users-section__user-more icon-2\"\n [drTooltip]=\"usersTemplate\"\n [drTooltipPosition]=\"'bottom'\">\n +{{ getLastUsers().length }}\n</div>\n\n<ng-template #usersTemplate>\n <div *ngFor=\"let user of getLastUsers()\" class=\"users-popover-item\">\n <div\n class=\"users-section__user\"\n [style.background-color]=\"getAvatarColor(user)\"\n (click)=\"userClicked.emit()\"\n [class]=\"user.class\">\n {{ user | drAvatar: 'initials' }}\n </div>\n <span class=\"username\">\n {{ user | drAvatar }}\n </span>\n </div>\n</ng-template>\n", styles: [":host{width:auto;display:flex;align-items:center}:host.compact{padding-left:8px}:host.compact .users-section__user{margin-left:-8px!important}.users-section__default{display:flex;height:28px;width:28px;border-radius:50%;background:url(https://shared-assets.datarails.com/dr-assets/images/default-avatar.svg) no-repeat!important;background-size:cover}.users-popover-item{display:flex;align-items:center;margin:12px}.users-popover-item .username{color:#51566f;font-size:14px}.users-popover-item .users-section__user{margin-right:8px}.users-section__user{position:relative;display:flex;justify-content:center;align-items:center;height:28px;width:28px;border-radius:50%;background:red;color:#fff;font-size:12px}.users-section__user--clickable{cursor:pointer}.users-section__user:not(:first-child){margin-left:4px}.users-section__user.online:after,.users-section__user.offline:after,.users-section__user.warning:after{content:\"\";display:flex;width:8px;height:8px;position:absolute;border-radius:4px;top:-2px;right:0}.users-section__user.online:after{background:#03a678}.users-section__user.offline:after{background:#de2833}.users-section__user.warning:after{background:#fda014}.users-section__user-more{font-size:12px;line-height:16px;font-weight:400;background:#dfe0e3;color:#333;cursor:pointer}\n"] }]
122
122
  }], null, { users: [{
123
123
  type: Input
124
124
  }], showUnassigned: [{
@@ -142,7 +142,7 @@ export class DrChatMessageComponent {
142
142
  i0.ɵɵproperty("ngSwitchCase", ctx.MESSAGE_TYPE.DOWNLOAD_FILE);
143
143
  i0.ɵɵadvance(2);
144
144
  i0.ɵɵproperty("ngIf", ctx.drChatMessageActions);
145
- } }, dependencies: [i2.NgClass, i2.NgIf, i2.NgTemplateOutlet, i2.NgSwitch, i2.NgSwitchCase, i2.NgSwitchDefault, i3.DrAvatarComponent, i4.DrChatMessageTextComponent, i5.DrChatMessageFileComponent], styles: ["[_nghost-%COMP%]{position:relative;display:flex;flex-direction:row;width:100%;background:#f9faffb3;border-top:1px solid #e5e5e5;padding:16px}[_nghost-%COMP%]:first-child{border:none}[_nghost-%COMP%]:last-child{border-bottom:1px solid #e5e5e5}.reply + .reply[_nghost-%COMP%], .not-reply + .not-reply[_nghost-%COMP%]{border-top:none;padding-top:0;padding-left:60px}.reply + .reply[_nghost-%COMP%] .avatar[_ngcontent-%COMP%], .reply + .reply[_nghost-%COMP%] dr-avatar[_ngcontent-%COMP%], .not-reply + .not-reply[_nghost-%COMP%] .avatar[_ngcontent-%COMP%], .not-reply + .not-reply[_nghost-%COMP%] dr-avatar[_ngcontent-%COMP%]{display:none}.not-reply[_nghost-%COMP%]{background-color:#fff}[_nghost-%COMP%] .avatar[_ngcontent-%COMP%]{display:flex;width:28px;height:28px;background-color:#fff;border-radius:16px;flex-shrink:0;border:1px solid #dfe0e3;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22Layer_1%22 data-name%3D%22Layer 1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 viewBox%3D%220 0 74 65%22%3E %3Cdefs%3E %3Cstyle%3E .cls-1%2C .cls-2%2C .cls-3 %7B fill%3A none%3B %7D .cls-4 %7B fill%3A url(%23linear-gradient)%3B %7D .cls-5 %7B fill%3A %234eb7df%3B %7D .cls-2 %7B stroke%3A %23a6a8aa%3B stroke-miterlimit%3A 10%3B stroke-width%3A .37px%3B %7D .cls-6 %7B fill%3A url(%23linear-gradient-3)%3B %7D .cls-7 %7B fill%3A url(%23linear-gradient-2)%3B %7D .cls-3 %7B clip-path%3A url(%23clippath)%3B %7D %3C%2Fstyle%3E %3CclipPath id%3D%22clippath%22%3E %3Crect class%3D%22cls-1%22 width%3D%2274%22 height%3D%2265%22%2F%3E %3C%2FclipPath%3E %3ClinearGradient id%3D%22linear-gradient%22 x1%3D%2224.26%22 y1%3D%22-3.79%22 x2%3D%2295.63%22 y2%3D%2288.82%22 gradientTransform%3D%22translate(0 65.89) scale(1 -1)%22 gradientUnits%3D%22userSpaceOnUse%22%3E %3Cstop offset%3D%220%22 stop-color%3D%22%237676ff%22%2F%3E %3Cstop offset%3D%22.18%22 stop-color%3D%22%235959ff%22%2F%3E %3Cstop offset%3D%22.35%22 stop-color%3D%22%235757e0%22%2F%3E %3Cstop offset%3D%22.61%22 stop-color%3D%22%234646ce%22%2F%3E %3Cstop offset%3D%22.84%22 stop-color%3D%22%234b4be4%22%2F%3E %3Cstop offset%3D%221%22 stop-color%3D%22%234444eb%22%2F%3E %3C%2FlinearGradient%3E %3ClinearGradient id%3D%22linear-gradient-2%22 x1%3D%2212.05%22 y1%3D%2277.06%22 x2%3D%2210.77%22 y2%3D%2213.85%22 gradientTransform%3D%22translate(0 65.89) scale(1 -1)%22 gradientUnits%3D%22userSpaceOnUse%22%3E %3Cstop offset%3D%22.45%22 stop-color%3D%22%232f92b8%22%2F%3E %3Cstop offset%3D%22.84%22 stop-color%3D%22%234eb7df%22%2F%3E %3Cstop offset%3D%221%22 stop-color%3D%22%234eb7df%22%2F%3E %3C%2FlinearGradient%3E %3ClinearGradient id%3D%22linear-gradient-3%22 x1%3D%2262.26%22 y1%3D%22-2.54%22 x2%3D%2261.76%22 y2%3D%2285.91%22 gradientTransform%3D%22translate(0 65.89) scale(1 -1)%22 gradientUnits%3D%22userSpaceOnUse%22%3E %3Cstop offset%3D%220%22 stop-color%3D%22%2336369b%22%2F%3E %3Cstop offset%3D%22.52%22 stop-color%3D%22%234848d0%22%2F%3E %3C%2FlinearGradient%3E %3C%2Fdefs%3E %3Cg class%3D%22cls-3%22%3E %3Cg%3E %3Cpath class%3D%22cls-4%22 d%3D%22m73.32%2C24.79v15.73c0%2C13.12-9.87%2C23.79-22%2C23.79h-21.32c-3.46-.06-6.25-3.11-6.25-6.87s2.79-6.81%2C6.25-6.87h21.32c5.13%2C0%2C9.29-4.51%2C9.29-10.05v-15.73c0-5.54-4.17-10.05-9.29-10.05h-7.46c3.51%2C0%2C6.35-3.08%2C6.35-6.88s-2.79-6.8-6.25-6.87h7.35c12.12%2C0%2C22%2C10.67%2C22%2C23.79h0Z%22%2F%3E %3Cpath class%3D%22cls-5%22 d%3D%22m50.26%2C7.82c0%2C3.8-2.9%2C6.93-6.41%2C6.93h-21.86c-5.13%2C0-9.29%2C4.51-9.29%2C10.05v15.73c0%2C5.54%2C4.17%2C10.05%2C9.29%2C10.05h8.01c-3.46.06-6.25%2C3.11-6.25%2C6.87s2.79%2C6.81%2C6.25%2C6.87h-8.01c-12.12%2C0-22-10.67-22-23.79v-15.73C0%2C11.68%2C9.87%2C1%2C21.99%2C1h21.97c3.46.06%2C6.3%2C3.06%2C6.3%2C6.82Z%22%2F%3E %3Cpath class%3D%22cls-2%22 d%3D%22m66.45%2C1h-.22.22%2C0Z%22%2F%3E %3Cpath class%3D%22cls-2%22 d%3D%22m36.05%2C50.58h-.22.22%2C0Z%22%2F%3E %3Cpath class%3D%22cls-7%22 d%3D%22m0%2C33.78v-2.76C0%2C12.9%2C13.62%2C14.48%2C13.62%2C14.48h8.38c-5.5.46-9.5%2C4.71-9.5%2C9.96l.02%2C15.8c0%2C5.54%2C4.44%2C10.59%2C9.48%2C10.59l-8-.5S0%2C51.88%2C0%2C33.77h0Z%22%2F%3E %3Cpath class%3D%22cls-6%22 d%3D%22m73%2C31.51v2.76c0%2C18.12-13.62%2C16.53-13.62%2C16.53h-7.99c5.61-.85%2C9.09-4.76%2C9.09-10.02l.02-16.33c0-5.54-4.46-10-9.5-10h8s13.99-1.05%2C13.99%2C17.07h0Z%22%2F%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-size:18px;background-repeat:no-repeat;background-position-x:4px;background-position-y:5px}[_nghost-%COMP%] .genius-avatar[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:16px;flex-shrink:0;border:1px solid #dfe0e3;background:#fff}[_nghost-%COMP%] .genius-avatar[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:22px;background:linear-gradient(88.5deg,#4eb7df 10%,#6969ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}[_nghost-%COMP%] .avatar[_ngcontent-%COMP%], [_nghost-%COMP%] .genius-avatar[_ngcontent-%COMP%], [_nghost-%COMP%] dr-avatar[_ngcontent-%COMP%]{margin:0 16px 0 0}[_nghost-%COMP%] .avatar[_ngcontent-%COMP%] .users-section__user, [_nghost-%COMP%] .genius-avatar[_ngcontent-%COMP%] .users-section__user, [_nghost-%COMP%] dr-avatar[_ngcontent-%COMP%] .users-section__user{border:1px solid #dfe0e3}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{display:flex;align-items:center;flex-grow:1}[_nghost-%COMP%] .message__actions[_ngcontent-%COMP%]{display:flex;align-items:center;margin-top:12px;flex-grow:1;justify-content:flex-start}[_nghost-%COMP%] .message__actions[_ngcontent-%COMP%] button:not(:hover) i[class*=dr-icon]{color:#b9b9ec!important}[_nghost-%COMP%] .messageGroup[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start}"], data: { animation: [
145
+ } }, dependencies: [i2.NgClass, i2.NgIf, i2.NgTemplateOutlet, i2.NgSwitch, i2.NgSwitchCase, i2.NgSwitchDefault, i3.DrAvatarComponent, i4.DrChatMessageTextComponent, i5.DrChatMessageFileComponent], styles: ["[_nghost-%COMP%]{position:relative;display:flex;flex-direction:row;width:100%;background:#f9faffb3;border-top:1px solid #e5e5e5;padding:16px}[_nghost-%COMP%]:first-child{border:none}[_nghost-%COMP%]:last-child{border-bottom:1px solid #e5e5e5}.reply + .reply[_nghost-%COMP%], .not-reply + .not-reply[_nghost-%COMP%]{border-top:none;padding-top:0;padding-left:60px}.reply + .reply[_nghost-%COMP%] .avatar[_ngcontent-%COMP%], .reply + .reply[_nghost-%COMP%] dr-avatar[_ngcontent-%COMP%], .not-reply + .not-reply[_nghost-%COMP%] .avatar[_ngcontent-%COMP%], .not-reply + .not-reply[_nghost-%COMP%] dr-avatar[_ngcontent-%COMP%]{display:none}.not-reply[_nghost-%COMP%]{background-color:#fff}[_nghost-%COMP%] .avatar[_ngcontent-%COMP%]{display:flex;width:28px;height:28px;background-color:#fff;border-radius:16px;flex-shrink:0;border:1px solid #dfe0e3;background-image:url(https://shared-assets.datarails.com/dr-assets/images/genius-ai.svg);background-size:18px;background-repeat:no-repeat;background-position-x:4px;background-position-y:5px}[_nghost-%COMP%] .genius-avatar[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:16px;flex-shrink:0;border:1px solid #dfe0e3;background:#fff}[_nghost-%COMP%] .genius-avatar[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:22px;background:linear-gradient(88.5deg,#4eb7df 10%,#6969ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}[_nghost-%COMP%] .avatar[_ngcontent-%COMP%], [_nghost-%COMP%] .genius-avatar[_ngcontent-%COMP%], [_nghost-%COMP%] dr-avatar[_ngcontent-%COMP%]{margin:0 16px 0 0}[_nghost-%COMP%] .avatar[_ngcontent-%COMP%] .users-section__user, [_nghost-%COMP%] .genius-avatar[_ngcontent-%COMP%] .users-section__user, [_nghost-%COMP%] dr-avatar[_ngcontent-%COMP%] .users-section__user{border:1px solid #dfe0e3}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{display:flex;align-items:center;flex-grow:1}[_nghost-%COMP%] .message__actions[_ngcontent-%COMP%]{display:flex;align-items:center;margin-top:12px;flex-grow:1;justify-content:flex-start}[_nghost-%COMP%] .message__actions[_ngcontent-%COMP%] button:not(:hover) i[class*=dr-icon]{color:#b9b9ec!important}[_nghost-%COMP%] .messageGroup[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start}"], data: { animation: [
146
146
  trigger('flyInOut', [
147
147
  state('in', style({ transform: 'translateX(0)' })),
148
148
  transition('void => *', [style({ transform: 'translateX(-100%)' }), animate(250)]),
@@ -156,7 +156,7 @@ export class DrChatMessageComponent {
156
156
  state('in', style({ transform: 'translateX(0)' })),
157
157
  transition('void => *', [style({ transform: 'translateX(-100%)' }), animate(250)]),
158
158
  ]),
159
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"message.avatarUrl; else userAvatar\">\n <div class=\"avatar\" [style.background-image]=\"'url(' + message.avatarUrl + ')'\"></div>\n</ng-container>\n<ng-template #userAvatar>\n <dr-avatar *ngIf=\"message.user\" [users]=\"message.user\"></dr-avatar>\n\n <div *ngIf=\"!message.user\" class=\"genius-avatar\">\n <i class=\"dr-icon-genius-sparks\"></i>\n </div>\n</ng-template>\n<div class=\"message\" [class.message--custom]=\"customMessage\" [ngClass]=\"applyMessageGroupClass(message)\">\n <ng-container [ngSwitch]=\"message.kind\">\n <dr-chat-message-text *ngSwitchCase=\"MESSAGE_TYPE.TEXT\" [message]=\"message\"></dr-chat-message-text>\n <dr-chat-message-file *ngSwitchCase=\"MESSAGE_TYPE.DOWNLOAD_FILE\" [files]=\"message.files\"></dr-chat-message-file>\n <ng-container *ngSwitchDefault>\n <ng-container [ngTemplateOutlet]=\"getTemplate()\" [ngTemplateOutletContext]=\"getTemplateContext()\"></ng-container>\n </ng-container>\n </ng-container>\n <div class=\"message__actions\" *ngIf=\"drChatMessageActions\">\n <ng-container [ngTemplateOutlet]=\"drChatMessageActions\"></ng-container>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:row;width:100%;background:#f9faffb3;border-top:1px solid #e5e5e5;padding:16px}:host:first-child{border:none}:host:last-child{border-bottom:1px solid #e5e5e5}.reply+:host.reply,.not-reply+:host.not-reply{border-top:none;padding-top:0;padding-left:60px}.reply+:host.reply .avatar,.reply+:host.reply dr-avatar,.not-reply+:host.not-reply .avatar,.not-reply+:host.not-reply dr-avatar{display:none}:host.not-reply{background-color:#fff}:host .avatar{display:flex;width:28px;height:28px;background-color:#fff;border-radius:16px;flex-shrink:0;border:1px solid #dfe0e3;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22Layer_1%22 data-name%3D%22Layer 1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 viewBox%3D%220 0 74 65%22%3E %3Cdefs%3E %3Cstyle%3E .cls-1%2C .cls-2%2C .cls-3 %7B fill%3A none%3B %7D .cls-4 %7B fill%3A url(%23linear-gradient)%3B %7D .cls-5 %7B fill%3A %234eb7df%3B %7D .cls-2 %7B stroke%3A %23a6a8aa%3B stroke-miterlimit%3A 10%3B stroke-width%3A .37px%3B %7D .cls-6 %7B fill%3A url(%23linear-gradient-3)%3B %7D .cls-7 %7B fill%3A url(%23linear-gradient-2)%3B %7D .cls-3 %7B clip-path%3A url(%23clippath)%3B %7D %3C%2Fstyle%3E %3CclipPath id%3D%22clippath%22%3E %3Crect class%3D%22cls-1%22 width%3D%2274%22 height%3D%2265%22%2F%3E %3C%2FclipPath%3E %3ClinearGradient id%3D%22linear-gradient%22 x1%3D%2224.26%22 y1%3D%22-3.79%22 x2%3D%2295.63%22 y2%3D%2288.82%22 gradientTransform%3D%22translate(0 65.89) scale(1 -1)%22 gradientUnits%3D%22userSpaceOnUse%22%3E %3Cstop offset%3D%220%22 stop-color%3D%22%237676ff%22%2F%3E %3Cstop offset%3D%22.18%22 stop-color%3D%22%235959ff%22%2F%3E %3Cstop offset%3D%22.35%22 stop-color%3D%22%235757e0%22%2F%3E %3Cstop offset%3D%22.61%22 stop-color%3D%22%234646ce%22%2F%3E %3Cstop offset%3D%22.84%22 stop-color%3D%22%234b4be4%22%2F%3E %3Cstop offset%3D%221%22 stop-color%3D%22%234444eb%22%2F%3E %3C%2FlinearGradient%3E %3ClinearGradient id%3D%22linear-gradient-2%22 x1%3D%2212.05%22 y1%3D%2277.06%22 x2%3D%2210.77%22 y2%3D%2213.85%22 gradientTransform%3D%22translate(0 65.89) scale(1 -1)%22 gradientUnits%3D%22userSpaceOnUse%22%3E %3Cstop offset%3D%22.45%22 stop-color%3D%22%232f92b8%22%2F%3E %3Cstop offset%3D%22.84%22 stop-color%3D%22%234eb7df%22%2F%3E %3Cstop offset%3D%221%22 stop-color%3D%22%234eb7df%22%2F%3E %3C%2FlinearGradient%3E %3ClinearGradient id%3D%22linear-gradient-3%22 x1%3D%2262.26%22 y1%3D%22-2.54%22 x2%3D%2261.76%22 y2%3D%2285.91%22 gradientTransform%3D%22translate(0 65.89) scale(1 -1)%22 gradientUnits%3D%22userSpaceOnUse%22%3E %3Cstop offset%3D%220%22 stop-color%3D%22%2336369b%22%2F%3E %3Cstop offset%3D%22.52%22 stop-color%3D%22%234848d0%22%2F%3E %3C%2FlinearGradient%3E %3C%2Fdefs%3E %3Cg class%3D%22cls-3%22%3E %3Cg%3E %3Cpath class%3D%22cls-4%22 d%3D%22m73.32%2C24.79v15.73c0%2C13.12-9.87%2C23.79-22%2C23.79h-21.32c-3.46-.06-6.25-3.11-6.25-6.87s2.79-6.81%2C6.25-6.87h21.32c5.13%2C0%2C9.29-4.51%2C9.29-10.05v-15.73c0-5.54-4.17-10.05-9.29-10.05h-7.46c3.51%2C0%2C6.35-3.08%2C6.35-6.88s-2.79-6.8-6.25-6.87h7.35c12.12%2C0%2C22%2C10.67%2C22%2C23.79h0Z%22%2F%3E %3Cpath class%3D%22cls-5%22 d%3D%22m50.26%2C7.82c0%2C3.8-2.9%2C6.93-6.41%2C6.93h-21.86c-5.13%2C0-9.29%2C4.51-9.29%2C10.05v15.73c0%2C5.54%2C4.17%2C10.05%2C9.29%2C10.05h8.01c-3.46.06-6.25%2C3.11-6.25%2C6.87s2.79%2C6.81%2C6.25%2C6.87h-8.01c-12.12%2C0-22-10.67-22-23.79v-15.73C0%2C11.68%2C9.87%2C1%2C21.99%2C1h21.97c3.46.06%2C6.3%2C3.06%2C6.3%2C6.82Z%22%2F%3E %3Cpath class%3D%22cls-2%22 d%3D%22m66.45%2C1h-.22.22%2C0Z%22%2F%3E %3Cpath class%3D%22cls-2%22 d%3D%22m36.05%2C50.58h-.22.22%2C0Z%22%2F%3E %3Cpath class%3D%22cls-7%22 d%3D%22m0%2C33.78v-2.76C0%2C12.9%2C13.62%2C14.48%2C13.62%2C14.48h8.38c-5.5.46-9.5%2C4.71-9.5%2C9.96l.02%2C15.8c0%2C5.54%2C4.44%2C10.59%2C9.48%2C10.59l-8-.5S0%2C51.88%2C0%2C33.77h0Z%22%2F%3E %3Cpath class%3D%22cls-6%22 d%3D%22m73%2C31.51v2.76c0%2C18.12-13.62%2C16.53-13.62%2C16.53h-7.99c5.61-.85%2C9.09-4.76%2C9.09-10.02l.02-16.33c0-5.54-4.46-10-9.5-10h8s13.99-1.05%2C13.99%2C17.07h0Z%22%2F%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-size:18px;background-repeat:no-repeat;background-position-x:4px;background-position-y:5px}:host .genius-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:16px;flex-shrink:0;border:1px solid #dfe0e3;background:#fff}:host .genius-avatar i{font-size:22px;background:linear-gradient(88.5deg,#4eb7df 10%,#6969ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}:host .avatar,:host .genius-avatar,:host dr-avatar{margin:0 16px 0 0}:host .avatar::ng-deep .users-section__user,:host .genius-avatar::ng-deep .users-section__user,:host dr-avatar::ng-deep .users-section__user{border:1px solid #dfe0e3}:host .message{display:flex;align-items:center;flex-grow:1}:host .message__actions{display:flex;align-items:center;margin-top:12px;flex-grow:1;justify-content:flex-start}:host .message__actions::ng-deep button:not(:hover) i[class*=dr-icon]{color:#b9b9ec!important}:host .messageGroup{display:flex;flex-direction:column;align-items:flex-start}\n"] }]
159
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"message.avatarUrl; else userAvatar\">\n <div class=\"avatar\" [style.background-image]=\"'url(' + message.avatarUrl + ')'\"></div>\n</ng-container>\n<ng-template #userAvatar>\n <dr-avatar *ngIf=\"message.user\" [users]=\"message.user\"></dr-avatar>\n\n <div *ngIf=\"!message.user\" class=\"genius-avatar\">\n <i class=\"dr-icon-genius-sparks\"></i>\n </div>\n</ng-template>\n<div class=\"message\" [class.message--custom]=\"customMessage\" [ngClass]=\"applyMessageGroupClass(message)\">\n <ng-container [ngSwitch]=\"message.kind\">\n <dr-chat-message-text *ngSwitchCase=\"MESSAGE_TYPE.TEXT\" [message]=\"message\"></dr-chat-message-text>\n <dr-chat-message-file *ngSwitchCase=\"MESSAGE_TYPE.DOWNLOAD_FILE\" [files]=\"message.files\"></dr-chat-message-file>\n <ng-container *ngSwitchDefault>\n <ng-container [ngTemplateOutlet]=\"getTemplate()\" [ngTemplateOutletContext]=\"getTemplateContext()\"></ng-container>\n </ng-container>\n </ng-container>\n <div class=\"message__actions\" *ngIf=\"drChatMessageActions\">\n <ng-container [ngTemplateOutlet]=\"drChatMessageActions\"></ng-container>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:row;width:100%;background:#f9faffb3;border-top:1px solid #e5e5e5;padding:16px}:host:first-child{border:none}:host:last-child{border-bottom:1px solid #e5e5e5}.reply+:host.reply,.not-reply+:host.not-reply{border-top:none;padding-top:0;padding-left:60px}.reply+:host.reply .avatar,.reply+:host.reply dr-avatar,.not-reply+:host.not-reply .avatar,.not-reply+:host.not-reply dr-avatar{display:none}:host.not-reply{background-color:#fff}:host .avatar{display:flex;width:28px;height:28px;background-color:#fff;border-radius:16px;flex-shrink:0;border:1px solid #dfe0e3;background-image:url(https://shared-assets.datarails.com/dr-assets/images/genius-ai.svg);background-size:18px;background-repeat:no-repeat;background-position-x:4px;background-position-y:5px}:host .genius-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:16px;flex-shrink:0;border:1px solid #dfe0e3;background:#fff}:host .genius-avatar i{font-size:22px;background:linear-gradient(88.5deg,#4eb7df 10%,#6969ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}:host .avatar,:host .genius-avatar,:host dr-avatar{margin:0 16px 0 0}:host .avatar::ng-deep .users-section__user,:host .genius-avatar::ng-deep .users-section__user,:host dr-avatar::ng-deep .users-section__user{border:1px solid #dfe0e3}:host .message{display:flex;align-items:center;flex-grow:1}:host .message__actions{display:flex;align-items:center;margin-top:12px;flex-grow:1;justify-content:flex-start}:host .message__actions::ng-deep button:not(:hover) i[class*=dr-icon]{color:#b9b9ec!important}:host .messageGroup{display:flex;flex-direction:column;align-items:flex-start}\n"] }]
160
160
  }], function () { return [{ type: i1.DrChatCustomMessageService }]; }, { flyInOut: [{
161
161
  type: HostBinding,
162
162
  args: ['@flyInOut']
@@ -180,4 +180,4 @@ export class DrChatMessageComponent {
180
180
  type: ContentChild,
181
181
  args: ['drChatMessageActions']
182
182
  }] }); })();
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2NoYXQtbWVzc2FnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9jaGF0LW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsaUJBQWlCLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFFcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7Ozs7OztJQ0psRyw2QkFBeUQ7SUFDckQseUJBQXNGO0lBQzFGLDBCQUFlOzs7SUFEUyxlQUEyRDtJQUEzRCwyRUFBMkQ7OztJQUcvRSxnQ0FBbUU7OztJQUFuQywyQ0FBc0I7OztJQUV0RCwrQkFBaUQ7SUFDN0Msd0JBQXFDO0lBQ3pDLGlCQUFNOzs7SUFKTixpR0FBbUU7SUFFbkUsc0ZBRU07OztJQUpNLDBDQUFrQjtJQUV4QixlQUFtQjtJQUFuQiwyQ0FBbUI7OztJQU1yQiwyQ0FBbUc7OztJQUEzQyx3Q0FBbUI7OztJQUMzRSwyQ0FBZ0g7OztJQUEvQyw0Q0FBdUI7OztJQUN4Riw2QkFBK0I7SUFDM0IsNEJBQWlIO0lBQ3JILDBCQUFlOzs7SUFERyxlQUFrQztJQUFsQyx1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QUFDLENBQUM7d0JBQ2xELFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO3FCQUNyRixDQUFDO2lCQUNMLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzZFQU0zQyxRQUFRO2tCQURYLFdBQVc7bUJBQUMsV0FBVztZQU1wQixRQUFRO2tCQURYLFdBQVc7bUJBQUMsaUJBQWlCO1lBVTFCLEtBQUs7a0JBRlIsS0FBSzs7a0JBQ0wsV0FBVzttQkFBQyxhQUFhO1lBV2pCLElBQUk7a0JBQVosS0FBSztZQU9HLE9BQU87a0JBQWYsS0FBSztZQU9HLGlCQUFpQjtrQkFBekIsS0FBSztZQUtHLElBQUk7a0JBQVosS0FBSztZQUVnQyxvQkFBb0I7a0JBQXpELFlBQVk7bUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBIb3N0QmluZGluZywgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENIQVRfTUVTU0FHRV9UWVBFLCBJQ2hhdE1lc3NhZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hhdCc7XG5pbXBvcnQgeyBEckNoYXRDdXN0b21NZXNzYWdlRGlyZWN0aXZlIH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IERyQ2hhdEN1c3RvbU1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdC1tZXNzYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NoYXQtbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhdC1tZXNzYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdmbHlJbk91dCcsIFtcbiAgICAgICAgICAgIHN0YXRlKCdpbicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgW3N0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknIH0pLCBhbmltYXRlKDI1MCldKSxcbiAgICAgICAgXSksXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJDaGF0TWVzc2FnZUNvbXBvbmVudCB7XG4gICAgTUVTU0FHRV9UWVBFID0gQ0hBVF9NRVNTQUdFX1RZUEU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ0BmbHlJbk91dCcpXG4gICAgZ2V0IGZseUluT3V0KCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5vdC1yZXBseScpXG4gICAgZ2V0IG5vdFJlcGx5KCkge1xuICAgICAgICByZXR1cm4gIXRoaXMucmVwbHk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBpZiBhIG1lc3NhZ2UgaXMgYSByZXBseVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yZXBseScpXG4gICAgZ2V0IHJlcGx5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVwbHk7XG4gICAgfVxuXG4gICAgc2V0IHJlcGx5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3JlcGx5ID0gISF2YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3JlcGx5ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSB0eXBlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBNZXNzYWdlXG4gICAgICpcbiAgICAgKiBAdHlwZSB7SUNoYXRNZXNzYWdlfVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1lc3NhZ2U6IElDaGF0TWVzc2FnZTtcblxuICAgIC8qKlxuICAgICAqIERhdGEgd2hpY2ggd2lsbCBiZSBzZXQgYXMgY3VzdG9tIG1lc3NhZ2UgdGVtcGxhdGUgY29udGV4dFxuICAgICAqXG4gICAgICogQHR5cGUge2FueX1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBjdXN0b21NZXNzYWdlRGF0YTogYW55O1xuXG4gICAgLyoqXG4gICAgICogVXNlciBpbmZvIGZvciBhdmF0YXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB1c2VyOiBhbnk7XG5cbiAgICBAQ29udGVudENoaWxkKCdkckNoYXRNZXNzYWdlQWN0aW9ucycpIGRyQ2hhdE1lc3NhZ2VBY3Rpb25zOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgcHVibGljIGN1c3RvbU1lc3NhZ2U6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGN1c3RvbU1lc3NhZ2VTZXJ2aWNlOiBEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZSkge31cblxuICAgIHB1YmxpYyBnZXRUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICAgICAgdGhpcy5jdXN0b21NZXNzYWdlID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgY3VzdG9tTWVzc2FnZSA9IHRoaXMuZ2V0Q3VzdG9tTWVzc2FnZSh0aGlzLnR5cGUpO1xuICAgICAgICByZXR1cm4gY3VzdG9tTWVzc2FnZS50ZW1wbGF0ZVJlZjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VGVtcGxhdGVDb250ZXh0KCk6IHsgJGltcGxpY2l0OiBhbnk7IGlzUmVwbHk6IGJvb2xlYW4gfSB7XG4gICAgICAgIHJldHVybiB7ICRpbXBsaWNpdDogdGhpcy5jdXN0b21NZXNzYWdlRGF0YSwgaXNSZXBseTogdGhpcy5yZXBseSB9O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRDdXN0b21NZXNzYWdlKHR5cGU6IHN0cmluZyk6IERyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUge1xuICAgICAgICBjb25zdCBjdXN0b21NZXNzYWdlRGlyZWN0aXZlID0gdGhpcy5jdXN0b21NZXNzYWdlU2VydmljZS5nZXRJbnN0YW5jZSh0eXBlKTtcblxuICAgICAgICBpZiAoIWN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICBgZHItY2hhdDogQ2FuJ3QgZmluZCB0ZW1wbGF0ZSBmb3IgY3VzdG9tIHR5cGUgJyR7dHlwZX0nLiBgICtcbiAgICAgICAgICAgICAgICAgICAgYE1ha2Ugc3VyZSB5b3UgcHJvdmlkZSBpdCBpbiB0aGUgY2hhdCBjb21wb25lbnQgd2l0aCAqZHJDdXN0b21NZXNzYWdlPScke3R5cGV9Jy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjdXN0b21NZXNzYWdlRGlyZWN0aXZlO1xuICAgIH1cblxuICAgIGFwcGx5TWVzc2FnZUdyb3VwQ2xhc3MobWVzc2FnZTogSUNoYXRNZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiBtZXNzYWdlLnJvbGUgPT09ICdhc3Npc3RhbnQnICYmIG1lc3NhZ2Uua2luZCA9PT0gJ3RleHQnID8gJ21lc3NhZ2VHcm91cCcgOiAnJztcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibWVzc2FnZS5hdmF0YXJVcmw7IGVsc2UgdXNlckF2YXRhclwiPlxuICAgIDxkaXYgY2xhc3M9XCJhdmF0YXJcIiBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCIndXJsKCcgKyBtZXNzYWdlLmF2YXRhclVybCArICcpJ1wiPjwvZGl2PlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI3VzZXJBdmF0YXI+XG4gICAgPGRyLWF2YXRhciAqbmdJZj1cIm1lc3NhZ2UudXNlclwiIFt1c2Vyc109XCJtZXNzYWdlLnVzZXJcIj48L2RyLWF2YXRhcj5cblxuICAgIDxkaXYgKm5nSWY9XCIhbWVzc2FnZS51c2VyXCIgY2xhc3M9XCJnZW5pdXMtYXZhdGFyXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZHItaWNvbi1nZW5pdXMtc3BhcmtzXCI+PC9pPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxkaXYgY2xhc3M9XCJtZXNzYWdlXCIgW2NsYXNzLm1lc3NhZ2UtLWN1c3RvbV09XCJjdXN0b21NZXNzYWdlXCIgW25nQ2xhc3NdPVwiYXBwbHlNZXNzYWdlR3JvdXBDbGFzcyhtZXNzYWdlKVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm1lc3NhZ2Uua2luZFwiPlxuICAgICAgICA8ZHItY2hhdC1tZXNzYWdlLXRleHQgKm5nU3dpdGNoQ2FzZT1cIk1FU1NBR0VfVFlQRS5URVhUXCIgW21lc3NhZ2VdPVwibWVzc2FnZVwiPjwvZHItY2hhdC1tZXNzYWdlLXRleHQ+XG4gICAgICAgIDxkci1jaGF0LW1lc3NhZ2UtZmlsZSAqbmdTd2l0Y2hDYXNlPVwiTUVTU0FHRV9UWVBFLkRPV05MT0FEX0ZJTEVcIiBbZmlsZXNdPVwibWVzc2FnZS5maWxlc1wiPjwvZHItY2hhdC1tZXNzYWdlLWZpbGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZ2V0VGVtcGxhdGUoKVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJnZXRUZW1wbGF0ZUNvbnRleHQoKVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZV9fYWN0aW9uc1wiICpuZ0lmPVwiZHJDaGF0TWVzc2FnZUFjdGlvbnNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkckNoYXRNZXNzYWdlQWN0aW9uc1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2NoYXQtbWVzc2FnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9jaGF0LW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsaUJBQWlCLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFFcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7Ozs7OztJQ0psRyw2QkFBeUQ7SUFDckQseUJBQXNGO0lBQzFGLDBCQUFlOzs7SUFEUyxlQUEyRDtJQUEzRCwyRUFBMkQ7OztJQUcvRSxnQ0FBbUU7OztJQUFuQywyQ0FBc0I7OztJQUV0RCwrQkFBaUQ7SUFDN0Msd0JBQXFDO0lBQ3pDLGlCQUFNOzs7SUFKTixpR0FBbUU7SUFFbkUsc0ZBRU07OztJQUpNLDBDQUFrQjtJQUV4QixlQUFtQjtJQUFuQiwyQ0FBbUI7OztJQU1yQiwyQ0FBbUc7OztJQUEzQyx3Q0FBbUI7OztJQUMzRSwyQ0FBZ0g7OztJQUEvQyw0Q0FBdUI7OztJQUN4Riw2QkFBK0I7SUFDM0IsNEJBQWlIO0lBQ3JILDBCQUFlOzs7SUFERyxlQUFrQztJQUFsQyx1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QUFDLENBQUM7d0JBQ2xELFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO3FCQUNyRixDQUFDO2lCQUNMLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzZFQU0zQyxRQUFRO2tCQURYLFdBQVc7bUJBQUMsV0FBVztZQU1wQixRQUFRO2tCQURYLFdBQVc7bUJBQUMsaUJBQWlCO1lBVTFCLEtBQUs7a0JBRlIsS0FBSzs7a0JBQ0wsV0FBVzttQkFBQyxhQUFhO1lBV2pCLElBQUk7a0JBQVosS0FBSztZQU9HLE9BQU87a0JBQWYsS0FBSztZQU9HLGlCQUFpQjtrQkFBekIsS0FBSztZQUtHLElBQUk7a0JBQVosS0FBSztZQUVnQyxvQkFBb0I7a0JBQXpELFlBQVk7bUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBIb3N0QmluZGluZywgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENIQVRfTUVTU0FHRV9UWVBFLCBJQ2hhdE1lc3NhZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hhdCc7XG5pbXBvcnQgeyBEckNoYXRDdXN0b21NZXNzYWdlRGlyZWN0aXZlIH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IERyQ2hhdEN1c3RvbU1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdC1tZXNzYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NoYXQtbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhdC1tZXNzYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdmbHlJbk91dCcsIFtcbiAgICAgICAgICAgIHN0YXRlKCdpbicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgW3N0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknIH0pLCBhbmltYXRlKDI1MCldKSxcbiAgICAgICAgXSksXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJDaGF0TWVzc2FnZUNvbXBvbmVudCB7XG4gICAgTUVTU0FHRV9UWVBFID0gQ0hBVF9NRVNTQUdFX1RZUEU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ0BmbHlJbk91dCcpXG4gICAgZ2V0IGZseUluT3V0KCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5vdC1yZXBseScpXG4gICAgZ2V0IG5vdFJlcGx5KCkge1xuICAgICAgICByZXR1cm4gIXRoaXMucmVwbHk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBpZiBhIG1lc3NhZ2UgaXMgYSByZXBseVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yZXBseScpXG4gICAgZ2V0IHJlcGx5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVwbHk7XG4gICAgfVxuXG4gICAgc2V0IHJlcGx5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3JlcGx5ID0gISF2YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3JlcGx5ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSB0eXBlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBNZXNzYWdlXG4gICAgICpcbiAgICAgKiBAdHlwZSB7SUNoYXRNZXNzYWdlfVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1lc3NhZ2U6IElDaGF0TWVzc2FnZTtcblxuICAgIC8qKlxuICAgICAqIERhdGEgd2hpY2ggd2lsbCBiZSBzZXQgYXMgY3VzdG9tIG1lc3NhZ2UgdGVtcGxhdGUgY29udGV4dFxuICAgICAqXG4gICAgICogQHR5cGUge2FueX1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBjdXN0b21NZXNzYWdlRGF0YTogYW55O1xuXG4gICAgLyoqXG4gICAgICogVXNlciBpbmZvIGZvciBhdmF0YXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB1c2VyOiBhbnk7XG5cbiAgICBAQ29udGVudENoaWxkKCdkckNoYXRNZXNzYWdlQWN0aW9ucycpIGRyQ2hhdE1lc3NhZ2VBY3Rpb25zOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgcHVibGljIGN1c3RvbU1lc3NhZ2U6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGN1c3RvbU1lc3NhZ2VTZXJ2aWNlOiBEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZSkge31cblxuICAgIHB1YmxpYyBnZXRUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICAgICAgdGhpcy5jdXN0b21NZXNzYWdlID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgY3VzdG9tTWVzc2FnZSA9IHRoaXMuZ2V0Q3VzdG9tTWVzc2FnZSh0aGlzLnR5cGUpO1xuICAgICAgICByZXR1cm4gY3VzdG9tTWVzc2FnZS50ZW1wbGF0ZVJlZjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VGVtcGxhdGVDb250ZXh0KCk6IHsgJGltcGxpY2l0OiBhbnk7IGlzUmVwbHk6IGJvb2xlYW4gfSB7XG4gICAgICAgIHJldHVybiB7ICRpbXBsaWNpdDogdGhpcy5jdXN0b21NZXNzYWdlRGF0YSwgaXNSZXBseTogdGhpcy5yZXBseSB9O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRDdXN0b21NZXNzYWdlKHR5cGU6IHN0cmluZyk6IERyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUge1xuICAgICAgICBjb25zdCBjdXN0b21NZXNzYWdlRGlyZWN0aXZlID0gdGhpcy5jdXN0b21NZXNzYWdlU2VydmljZS5nZXRJbnN0YW5jZSh0eXBlKTtcblxuICAgICAgICBpZiAoIWN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICBgZHItY2hhdDogQ2FuJ3QgZmluZCB0ZW1wbGF0ZSBmb3IgY3VzdG9tIHR5cGUgJyR7dHlwZX0nLiBgICtcbiAgICAgICAgICAgICAgICAgICAgYE1ha2Ugc3VyZSB5b3UgcHJvdmlkZSBpdCBpbiB0aGUgY2hhdCBjb21wb25lbnQgd2l0aCAqZHJDdXN0b21NZXNzYWdlPScke3R5cGV9Jy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjdXN0b21NZXNzYWdlRGlyZWN0aXZlO1xuICAgIH1cblxuICAgIGFwcGx5TWVzc2FnZUdyb3VwQ2xhc3MobWVzc2FnZTogSUNoYXRNZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiBtZXNzYWdlLnJvbGUgPT09ICdhc3Npc3RhbnQnICYmIG1lc3NhZ2Uua2luZCA9PT0gJ3RleHQnID8gJ21lc3NhZ2VHcm91cCcgOiAnJztcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibWVzc2FnZS5hdmF0YXJVcmw7IGVsc2UgdXNlckF2YXRhclwiPlxuICAgIDxkaXYgY2xhc3M9XCJhdmF0YXJcIiBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCIndXJsKCcgKyBtZXNzYWdlLmF2YXRhclVybCArICcpJ1wiPjwvZGl2PlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI3VzZXJBdmF0YXI+XG4gICAgPGRyLWF2YXRhciAqbmdJZj1cIm1lc3NhZ2UudXNlclwiIFt1c2Vyc109XCJtZXNzYWdlLnVzZXJcIj48L2RyLWF2YXRhcj5cblxuICAgIDxkaXYgKm5nSWY9XCIhbWVzc2FnZS51c2VyXCIgY2xhc3M9XCJnZW5pdXMtYXZhdGFyXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZHItaWNvbi1nZW5pdXMtc3BhcmtzXCI+PC9pPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxkaXYgY2xhc3M9XCJtZXNzYWdlXCIgW2NsYXNzLm1lc3NhZ2UtLWN1c3RvbV09XCJjdXN0b21NZXNzYWdlXCIgW25nQ2xhc3NdPVwiYXBwbHlNZXNzYWdlR3JvdXBDbGFzcyhtZXNzYWdlKVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm1lc3NhZ2Uua2luZFwiPlxuICAgICAgICA8ZHItY2hhdC1tZXNzYWdlLXRleHQgKm5nU3dpdGNoQ2FzZT1cIk1FU1NBR0VfVFlQRS5URVhUXCIgW21lc3NhZ2VdPVwibWVzc2FnZVwiPjwvZHItY2hhdC1tZXNzYWdlLXRleHQ+XG4gICAgICAgIDxkci1jaGF0LW1lc3NhZ2UtZmlsZSAqbmdTd2l0Y2hDYXNlPVwiTUVTU0FHRV9UWVBFLkRPV05MT0FEX0ZJTEVcIiBbZmlsZXNdPVwibWVzc2FnZS5maWxlc1wiPjwvZHItY2hhdC1tZXNzYWdlLWZpbGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZ2V0VGVtcGxhdGUoKVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJnZXRUZW1wbGF0ZUNvbnRleHQoKVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZV9fYWN0aW9uc1wiICpuZ0lmPVwiZHJDaGF0TWVzc2FnZUFjdGlvbnNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkckNoYXRNZXNzYWdlQWN0aW9uc1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=