@litigiovirtual/ius-design-components 1.0.292 → 1.0.294
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.
- package/esm2022/lib/alert/alert.component.mjs +3 -3
- package/esm2022/lib/dropdown-option-item/dropdown-option-item.component.mjs +5 -5
- package/esm2022/lib/notification-card/notification-card.component.mjs +61 -42
- package/esm2022/lib/notifications/notifications.component.mjs +97 -28
- package/esm2022/lib/toolbar/toolbar.component.mjs +12 -3
- package/esm2022/lib/toolbar-user-menu/toolbar-user-menu.component.mjs +3 -3
- package/fesm2022/litigiovirtual-ius-design-components.mjs +166 -71
- package/fesm2022/litigiovirtual-ius-design-components.mjs.map +1 -1
- package/lib/dropdown-option-item/dropdown-option-item.component.d.ts +2 -2
- package/lib/notification-card/notification-card.component.d.ts +21 -14
- package/lib/notifications/notifications.component.d.ts +16 -5
- package/lib/toolbar/toolbar.component.d.ts +8 -1
- package/package.json +1 -1
|
@@ -1,21 +1,48 @@
|
|
|
1
|
-
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
1
|
+
import { animate, animateChild, query, stagger, state, style, transition, trigger, } from '@angular/animations';
|
|
2
2
|
import { DatePipe } from '@angular/common';
|
|
3
3
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
4
|
-
import { SimpleDividerComponent } from
|
|
5
|
-
import { NotificationCardComponent } from
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { SimpleDividerComponent } from '../simple-divider/simple-divider.component';
|
|
5
|
+
import { NotificationCardComponent } from '../notification-card/notification-card.component';
|
|
6
|
+
import { IconLgComponent } from '../icon-lg/icon-lg.component';
|
|
7
|
+
import { ButtonCircleTertiaryComponent } from '../button-circle-tertiary';
|
|
8
|
+
import { PopoverDirective } from '../directives/popover.directive';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export class NotificationsComponent {
|
|
10
11
|
constructor() {
|
|
11
12
|
this.alerts = [];
|
|
12
|
-
this.titleDrawer =
|
|
13
|
+
this.titleDrawer = 'Title Drawer';
|
|
13
14
|
this.percentProgressBar = 50;
|
|
14
15
|
this.onDoneAlert = new EventEmitter();
|
|
15
16
|
this.onPostponeAlert = new EventEmitter();
|
|
16
17
|
this.onPressedBackEvent = new EventEmitter();
|
|
17
18
|
this.onDrawerClosed = new EventEmitter();
|
|
19
|
+
this.onEditAlert = new EventEmitter();
|
|
20
|
+
this.onClickAlertEvent = new EventEmitter();
|
|
21
|
+
this.onDeleteAllAlerts = new EventEmitter();
|
|
18
22
|
this.isVisible = true;
|
|
23
|
+
this.mostrarVacio = true;
|
|
24
|
+
this.prevLength = 0;
|
|
25
|
+
}
|
|
26
|
+
ngOnChanges() {
|
|
27
|
+
const len = this.alerts?.length ?? 0;
|
|
28
|
+
if (len > 0) {
|
|
29
|
+
this.mostrarVacio = false;
|
|
30
|
+
}
|
|
31
|
+
else if (this.prevLength === 0) {
|
|
32
|
+
this.mostrarVacio = true;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this.mostrarVacio = false;
|
|
36
|
+
}
|
|
37
|
+
this.prevLength = len;
|
|
38
|
+
}
|
|
39
|
+
onListDone() {
|
|
40
|
+
if ((this.alerts?.length ?? 0) === 0) {
|
|
41
|
+
this.mostrarVacio = true;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
trackByAlert(index, alert) {
|
|
45
|
+
return alert?.alertaID ?? index;
|
|
19
46
|
}
|
|
20
47
|
close() {
|
|
21
48
|
this.isVisible = false;
|
|
@@ -25,52 +52,88 @@ export class NotificationsComponent {
|
|
|
25
52
|
this.onDrawerClosed.emit();
|
|
26
53
|
}
|
|
27
54
|
}
|
|
28
|
-
onPostpone(alert,
|
|
29
|
-
this.onPostponeAlert.emit({ alert,
|
|
55
|
+
onPostpone(alert, minutos) {
|
|
56
|
+
this.onPostponeAlert.emit({ alert, minutos });
|
|
30
57
|
}
|
|
31
58
|
onClickDone(alertaID) {
|
|
32
59
|
this.onDoneAlert.emit(alertaID);
|
|
33
60
|
}
|
|
61
|
+
onEdit(alert) {
|
|
62
|
+
this.onEditAlert.emit(alert);
|
|
63
|
+
}
|
|
64
|
+
onClickCard(alert) {
|
|
65
|
+
this.onClickAlertEvent.emit(alert);
|
|
66
|
+
}
|
|
67
|
+
deleteAllAlerts() {
|
|
68
|
+
this.onDeleteAllAlerts.emit();
|
|
69
|
+
}
|
|
34
70
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: NotificationsComponent, isStandalone: true, selector: "ius-notifications", inputs: { alerts: "alerts", titleDrawer: "titleDrawer", percentProgressBar: "percentProgressBar" }, outputs: { onDoneAlert: "onDoneAlert", onPostponeAlert: "onPostponeAlert", onPressedBackEvent: "onPressedBackEvent", onDrawerClosed: "onDrawerClosed" }, ngImport: i0, template: "<div class=\"background-drawer\">\r\n @if (isVisible) {\r\n <div\r\n class=\"create-container\"\r\n @slideInOut\r\n (@slideInOut.done)=\"onAnimDone($event)\"\r\n >\r\n <div class=\"header-drawer\">\r\n <div class=\"title-header-drawer\">Panel de notificaciones</div>\r\n <ius-button-
|
|
71
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: NotificationsComponent, isStandalone: true, selector: "ius-notifications", inputs: { alerts: "alerts", titleDrawer: "titleDrawer", percentProgressBar: "percentProgressBar" }, outputs: { onDoneAlert: "onDoneAlert", onPostponeAlert: "onPostponeAlert", onPressedBackEvent: "onPressedBackEvent", onDrawerClosed: "onDrawerClosed", onEditAlert: "onEditAlert", onClickAlertEvent: "onClickAlertEvent", onDeleteAllAlerts: "onDeleteAllAlerts" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"background-drawer\">\r\n @if (isVisible) {\r\n <div\r\n class=\"create-container\"\r\n @slideInOut\r\n (@slideInOut.done)=\"onAnimDone($event)\"\r\n >\r\n <div class=\"header-drawer\">\r\n <div class=\"title-header-drawer\">Panel de notificaciones</div>\r\n @if (alerts.length > 0) {\r\n <ius-button-circle-tertiary\r\n class=\"button-header-drawer\"\r\n [iconName]=\"'icon-delete'\"\r\n iusPopoverContent=\"Borrar\"\r\n (buttonClicked)=\"deleteAllAlerts()\"\r\n ></ius-button-circle-tertiary>\r\n }\r\n <ius-button-circle-tertiary\r\n [iconName]=\"'icon-cancel'\"\r\n iusPopoverContent=\"Cerrar\"\r\n (buttonClicked)=\"close()\"\r\n ></ius-button-circle-tertiary>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"scrollable\">\r\n <div [@listContainer]=\"alerts.length\" (@listContainer.done)=\"onListDone()\">\r\n @for (alert of alerts; track trackByAlert($index, alert)) {\r\n <div class=\"notification\" @itemAnim>\r\n <ius-notification-card\r\n [date]=\"(alert?.fechaRegistro | date:'d \\'de\\' MMMM \\'de\\' y')!\"\r\n [title]=\"alert?.titulo\"\r\n [simple]=\"(alert?.tipoAlerta! === 'Simple' ? true : false)! || (alert?.tipoAlerta! === 'Hexti' ? true : false)!\"\r\n [activity]=\"alert?.tipoAlerta! === 'Actividad' ? true : false\"\r\n [confirmable]=\"alert?.tipoAlerta! === 'Confirmacion' ? true : false\"\r\n [body]=\"alert?.descripcion!\"\r\n [fechaActividad]=\"alert?.fechaActividad\"\r\n [mostrarPosponer]=\"alert?.mostrarPosponer\"\r\n (onDone)=\"onClickDone(alert.alertaID!)\"\r\n (onPostpone)=\"onPostpone(alert, $event)\"\r\n [esNavegable]=\"!!alert?.referenciaOrigenId\"\r\n (onEditActivity)=\"onEdit(alert)\"\r\n (onClickAlert)=\"onClickCard(alert)\"\r\n ></ius-notification-card>\r\n </div>\r\n }\r\n </div>\r\n @if (mostrarVacio) {\r\n <div class=\"no-notifications\">\r\n <ius-icon-lg [iconName]=\"'icon-done-outline'\"></ius-icon-lg>\r\n <ius-simple-divider></ius-simple-divider>\r\n <p>No tienes ninguna nueva notificaci\u00F3n o alerta</p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.background-drawer{position:absolute;top:0;left:0;display:flex;height:100%;width:100%;justify-content:center;background-color:#0003;transition:.2s ease-in-out;align-items:center;z-index:900}.create-container{height:calc(100vh - 60px);position:absolute;z-index:1000;width:390px;top:60px;right:0;background-color:#fff;border-radius:8px 0 0 8px;box-shadow:0 2px 6px 3px #00000026,0 1px 3px #0000004d;display:flex;flex-direction:column}.header-drawer{display:flex;padding:12px 16px;align-items:center}.title-header-drawer{width:100%;font-family:Roboto,sans-serif;font-size:1.25rem;color:#333;line-height:26px;letter-spacing:.2px;font-weight:500;display:flex;justify-content:start;overflow:hidden;white-space:normal;text-overflow:ellipsis}.notification{padding:2px 5px}.no-notifications{display:flex;width:70%;padding:8px;flex-direction:column;align-items:center;align-self:center;justify-self:center;gap:12px;margin-top:24px}.no-notifications p{flex:1 0 0;margin:0;display:flex;justify-content:center;align-items:center;gap:10px;align-self:stretch;color:#333;text-align:center;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.button-header-drawer{margin-left:3px;margin-top:1px}.scrollable{flex:1 1 auto;min-height:0;padding:5px;overflow-y:auto;overflow-x:hidden}.scrollable::-webkit-scrollbar{-webkit-appearance:none}.scrollable::-webkit-scrollbar:vertical{width:7px}.scrollable::-webkit-scrollbar-thumb{background-color:#d8d6d6;border-radius:20px}\n"], dependencies: [{ kind: "component", type: NotificationCardComponent, selector: "ius-notification-card", inputs: ["date", "title", "body", "simple", "activity", "confirmable", "fechaActividad", "mostrarPosponer", "mostrarEditar", "esNavegable", "mostrarAyuda"], outputs: ["onAccept", "onDone", "onPostpone", "onEditActivity", "onClickAlert"] }, { kind: "directive", type: PopoverDirective, selector: "[iusPopover], [iusPopoverTitle], [iusPopoverContent]", inputs: ["iusPopover", "iusPopoverTitle", "iusPopoverContent", "iusPopoverPosition", "iusPopoverOpenDelay", "iusPopoverCloseDelay"] }, { kind: "component", type: SimpleDividerComponent, selector: "ius-simple-divider" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "component", type: IconLgComponent, selector: "ius-icon-lg", inputs: ["iconName", "color"] }, { kind: "component", type: ButtonCircleTertiaryComponent, selector: "ius-button-circle-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }], animations: [
|
|
36
72
|
trigger('slideInOut', [
|
|
37
73
|
state('void', style({
|
|
38
74
|
transform: 'translateX(100%)',
|
|
39
|
-
opacity: 0
|
|
75
|
+
opacity: 0,
|
|
40
76
|
})),
|
|
41
77
|
state('*', style({
|
|
42
78
|
transform: 'translateX(0)',
|
|
43
|
-
opacity: 1
|
|
79
|
+
opacity: 1,
|
|
44
80
|
})),
|
|
45
|
-
transition('void => *', [
|
|
46
|
-
|
|
81
|
+
transition('void => *', [animate('300ms ease-in')]),
|
|
82
|
+
transition('* => void', [animate('300ms ease-out')]),
|
|
83
|
+
]),
|
|
84
|
+
trigger('itemAnim', [
|
|
85
|
+
transition(':enter', [
|
|
86
|
+
style({ opacity: 0, transform: 'translateY(-8px)' }),
|
|
87
|
+
animate('220ms ease-out', style({ opacity: 1, transform: 'translateY(0)' })),
|
|
88
|
+
]),
|
|
89
|
+
transition(':leave', [
|
|
90
|
+
animate('180ms ease-in', style({ opacity: 0, transform: 'translateX(40px)' })),
|
|
47
91
|
]),
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
92
|
+
]),
|
|
93
|
+
trigger('listContainer', [
|
|
94
|
+
transition('* => *', [
|
|
95
|
+
query(':leave', stagger('45ms', animateChild()), { optional: true }),
|
|
96
|
+
]),
|
|
97
|
+
]),
|
|
52
98
|
] }); }
|
|
53
99
|
}
|
|
54
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificationsComponent, decorators: [{
|
|
55
101
|
type: Component,
|
|
56
|
-
args: [{ selector: 'ius-notifications', standalone: true, imports: [
|
|
102
|
+
args: [{ selector: 'ius-notifications', standalone: true, imports: [
|
|
103
|
+
NotificationCardComponent,
|
|
104
|
+
PopoverDirective,
|
|
105
|
+
SimpleDividerComponent,
|
|
106
|
+
DatePipe,
|
|
107
|
+
IconLgComponent,
|
|
108
|
+
ButtonCircleTertiaryComponent,
|
|
109
|
+
], animations: [
|
|
57
110
|
trigger('slideInOut', [
|
|
58
111
|
state('void', style({
|
|
59
112
|
transform: 'translateX(100%)',
|
|
60
|
-
opacity: 0
|
|
113
|
+
opacity: 0,
|
|
61
114
|
})),
|
|
62
115
|
state('*', style({
|
|
63
116
|
transform: 'translateX(0)',
|
|
64
|
-
opacity: 1
|
|
117
|
+
opacity: 1,
|
|
65
118
|
})),
|
|
66
|
-
transition('void => *', [
|
|
67
|
-
|
|
119
|
+
transition('void => *', [animate('300ms ease-in')]),
|
|
120
|
+
transition('* => void', [animate('300ms ease-out')]),
|
|
121
|
+
]),
|
|
122
|
+
trigger('itemAnim', [
|
|
123
|
+
transition(':enter', [
|
|
124
|
+
style({ opacity: 0, transform: 'translateY(-8px)' }),
|
|
125
|
+
animate('220ms ease-out', style({ opacity: 1, transform: 'translateY(0)' })),
|
|
126
|
+
]),
|
|
127
|
+
transition(':leave', [
|
|
128
|
+
animate('180ms ease-in', style({ opacity: 0, transform: 'translateX(40px)' })),
|
|
68
129
|
]),
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
130
|
+
]),
|
|
131
|
+
trigger('listContainer', [
|
|
132
|
+
transition('* => *', [
|
|
133
|
+
query(':leave', stagger('45ms', animateChild()), { optional: true }),
|
|
134
|
+
]),
|
|
135
|
+
]),
|
|
136
|
+
], template: "<div class=\"background-drawer\">\r\n @if (isVisible) {\r\n <div\r\n class=\"create-container\"\r\n @slideInOut\r\n (@slideInOut.done)=\"onAnimDone($event)\"\r\n >\r\n <div class=\"header-drawer\">\r\n <div class=\"title-header-drawer\">Panel de notificaciones</div>\r\n @if (alerts.length > 0) {\r\n <ius-button-circle-tertiary\r\n class=\"button-header-drawer\"\r\n [iconName]=\"'icon-delete'\"\r\n iusPopoverContent=\"Borrar\"\r\n (buttonClicked)=\"deleteAllAlerts()\"\r\n ></ius-button-circle-tertiary>\r\n }\r\n <ius-button-circle-tertiary\r\n [iconName]=\"'icon-cancel'\"\r\n iusPopoverContent=\"Cerrar\"\r\n (buttonClicked)=\"close()\"\r\n ></ius-button-circle-tertiary>\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"scrollable\">\r\n <div [@listContainer]=\"alerts.length\" (@listContainer.done)=\"onListDone()\">\r\n @for (alert of alerts; track trackByAlert($index, alert)) {\r\n <div class=\"notification\" @itemAnim>\r\n <ius-notification-card\r\n [date]=\"(alert?.fechaRegistro | date:'d \\'de\\' MMMM \\'de\\' y')!\"\r\n [title]=\"alert?.titulo\"\r\n [simple]=\"(alert?.tipoAlerta! === 'Simple' ? true : false)! || (alert?.tipoAlerta! === 'Hexti' ? true : false)!\"\r\n [activity]=\"alert?.tipoAlerta! === 'Actividad' ? true : false\"\r\n [confirmable]=\"alert?.tipoAlerta! === 'Confirmacion' ? true : false\"\r\n [body]=\"alert?.descripcion!\"\r\n [fechaActividad]=\"alert?.fechaActividad\"\r\n [mostrarPosponer]=\"alert?.mostrarPosponer\"\r\n (onDone)=\"onClickDone(alert.alertaID!)\"\r\n (onPostpone)=\"onPostpone(alert, $event)\"\r\n [esNavegable]=\"!!alert?.referenciaOrigenId\"\r\n (onEditActivity)=\"onEdit(alert)\"\r\n (onClickAlert)=\"onClickCard(alert)\"\r\n ></ius-notification-card>\r\n </div>\r\n }\r\n </div>\r\n @if (mostrarVacio) {\r\n <div class=\"no-notifications\">\r\n <ius-icon-lg [iconName]=\"'icon-done-outline'\"></ius-icon-lg>\r\n <ius-simple-divider></ius-simple-divider>\r\n <p>No tienes ninguna nueva notificaci\u00F3n o alerta</p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.background-drawer{position:absolute;top:0;left:0;display:flex;height:100%;width:100%;justify-content:center;background-color:#0003;transition:.2s ease-in-out;align-items:center;z-index:900}.create-container{height:calc(100vh - 60px);position:absolute;z-index:1000;width:390px;top:60px;right:0;background-color:#fff;border-radius:8px 0 0 8px;box-shadow:0 2px 6px 3px #00000026,0 1px 3px #0000004d;display:flex;flex-direction:column}.header-drawer{display:flex;padding:12px 16px;align-items:center}.title-header-drawer{width:100%;font-family:Roboto,sans-serif;font-size:1.25rem;color:#333;line-height:26px;letter-spacing:.2px;font-weight:500;display:flex;justify-content:start;overflow:hidden;white-space:normal;text-overflow:ellipsis}.notification{padding:2px 5px}.no-notifications{display:flex;width:70%;padding:8px;flex-direction:column;align-items:center;align-self:center;justify-self:center;gap:12px;margin-top:24px}.no-notifications p{flex:1 0 0;margin:0;display:flex;justify-content:center;align-items:center;gap:10px;align-self:stretch;color:#333;text-align:center;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.button-header-drawer{margin-left:3px;margin-top:1px}.scrollable{flex:1 1 auto;min-height:0;padding:5px;overflow-y:auto;overflow-x:hidden}.scrollable::-webkit-scrollbar{-webkit-appearance:none}.scrollable::-webkit-scrollbar:vertical{width:7px}.scrollable::-webkit-scrollbar-thumb{background-color:#d8d6d6;border-radius:20px}\n"] }]
|
|
74
137
|
}], propDecorators: { alerts: [{
|
|
75
138
|
type: Input,
|
|
76
139
|
args: [{ required: true }]
|
|
@@ -86,5 +149,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
86
149
|
type: Output
|
|
87
150
|
}], onDrawerClosed: [{
|
|
88
151
|
type: Output
|
|
152
|
+
}], onEditAlert: [{
|
|
153
|
+
type: Output
|
|
154
|
+
}], onClickAlertEvent: [{
|
|
155
|
+
type: Output
|
|
156
|
+
}], onDeleteAllAlerts: [{
|
|
157
|
+
type: Output
|
|
89
158
|
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDOUcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQTRCL0QsTUFBTSxPQUFPLHNCQUFzQjtJQXpCbkM7UUEwQjZCLFdBQU0sR0FBWSxFQUFFLENBQUM7UUFDdkMsZ0JBQVcsR0FBVyxjQUFjLENBQUM7UUFDckMsdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBRS9CLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsb0JBQWUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCx1QkFBa0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzRCxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFcEQsY0FBUyxHQUFZLElBQUksQ0FBQztLQW1CM0I7SUFqQkMsS0FBSztRQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFZLEVBQUUsSUFBWTtRQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQzsrR0E1QlUsc0JBQXNCO21HQUF0QixzQkFBc0IsMFVDbENuQyxrL0RBaURBLGtpR0RyQ1kseUJBQXlCLHVSQUFFLHNCQUFzQiwrREFBRSw4QkFBOEIsaUlBQUUsUUFBUSw2Q0FBRSxlQUFlLHlFQUcxRztZQUNWLE9BQU8sQ0FBQyxZQUFZLEVBQUU7Z0JBQ3BCLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO29CQUNsQixTQUFTLEVBQUUsa0JBQWtCO29CQUM3QixPQUFPLEVBQUUsQ0FBQztpQkFDWCxDQUFDLENBQUM7Z0JBQ0gsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUM7b0JBQ2YsU0FBUyxFQUFFLGVBQWU7b0JBQzFCLE9BQU8sRUFBRSxDQUFDO2lCQUNYLENBQUMsQ0FBQztnQkFDSCxVQUFVLENBQUMsV0FBVyxFQUFFO29CQUN0QixPQUFPLENBQUMsZUFBZSxDQUFDO2lCQUN6QixDQUFDO2dCQUNGLFVBQVUsQ0FBQyxXQUFXLEVBQUU7b0JBQ3RCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDMUIsQ0FBQzthQUNILENBQUM7U0FDSDs7NEZBRVUsc0JBQXNCO2tCQXpCbEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsOEJBQThCLEVBQUUsUUFBUSxFQUFFLGVBQWUsQ0FBQyxjQUczRzt3QkFDVixPQUFPLENBQUMsWUFBWSxFQUFFOzRCQUNwQixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztnQ0FDbEIsU0FBUyxFQUFFLGtCQUFrQjtnQ0FDN0IsT0FBTyxFQUFFLENBQUM7NkJBQ1gsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDO2dDQUNmLFNBQVMsRUFBRSxlQUFlO2dDQUMxQixPQUFPLEVBQUUsQ0FBQzs2QkFDWCxDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLFdBQVcsRUFBRTtnQ0FDdEIsT0FBTyxDQUFDLGVBQWUsQ0FBQzs2QkFDekIsQ0FBQzs0QkFDRixVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixPQUFPLENBQUMsZ0JBQWdCLENBQUM7NkJBQzFCLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDs4QkFHMEIsTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpbXBsZURpdmlkZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vc2ltcGxlLWRpdmlkZXIvc2ltcGxlLWRpdmlkZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkNhcmRDb21wb25lbnQgfSBmcm9tIFwiLi4vbm90aWZpY2F0aW9uLWNhcmQvbm90aWZpY2F0aW9uLWNhcmQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEJ1dHRvblNxdWFyZWRUZXJ0aWFyeUNvbXBvbmVudCB9IGZyb20gXCIuLi9idXR0b24tc3F1YXJlZC10ZXJ0aWFyeS9idXR0b24tc3F1YXJlZC10ZXJ0aWFyeS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgSWNvbkxnQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ljb24tbGcvaWNvbi1sZy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQWxlcnQgfSBmcm9tIFwiLi4vdG9vbGJhci90b29sYmFyLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpdXMtbm90aWZpY2F0aW9ucycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTm90aWZpY2F0aW9uQ2FyZENvbXBvbmVudCwgU2ltcGxlRGl2aWRlckNvbXBvbmVudCwgQnV0dG9uU3F1YXJlZFRlcnRpYXJ5Q29tcG9uZW50LCBEYXRlUGlwZSwgSWNvbkxnQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL25vdGlmaWNhdGlvbnMuY29tcG9uZW50LnNjc3MnLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXHJcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoe1xyXG4gICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknLFxyXG4gICAgICAgIG9wYWNpdHk6IDBcclxuICAgICAgfSkpLFxyXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHtcclxuICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyxcclxuICAgICAgICBvcGFjaXR5OiAxXHJcbiAgICAgIH0pKSxcclxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgW1xyXG4gICAgICAgIGFuaW1hdGUoJzMwMG1zIGVhc2UtaW4nKVxyXG4gICAgICBdKSxcclxuICAgICAgdHJhbnNpdGlvbignKiA9PiB2b2lkJywgW1xyXG4gICAgICAgIGFuaW1hdGUoJzMwMG1zIGVhc2Utb3V0JylcclxuICAgICAgXSlcclxuICAgIF0pXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNDb21wb25lbnQge1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGFsZXJ0czogQWxlcnRbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHRpdGxlRHJhd2VyOiBzdHJpbmcgPSBcIlRpdGxlIERyYXdlclwiO1xyXG4gIEBJbnB1dCgpIHBlcmNlbnRQcm9ncmVzc0JhcjogbnVtYmVyID0gNTA7XHJcblxyXG4gIEBPdXRwdXQoKSBvbkRvbmVBbGVydDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uUG9zdHBvbmVBbGVydDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uUHJlc3NlZEJhY2tFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uRHJhd2VyQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBpc1Zpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvbkFuaW1Eb25lKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50b1N0YXRlID09PSAndm9pZCcpIHtcclxuICAgICAgdGhpcy5vbkRyYXdlckNsb3NlZC5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblBvc3Rwb25lKGFsZXJ0OiBBbGVydCwgdGltZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLm9uUG9zdHBvbmVBbGVydC5lbWl0KHsgYWxlcnQsIHRpbWUgfSk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrRG9uZShhbGVydGFJRDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLm9uRG9uZUFsZXJ0LmVtaXQoYWxlcnRhSUQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYmFja2dyb3VuZC1kcmF3ZXJcIj5cclxuICBAaWYgKGlzVmlzaWJsZSkge1xyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiY3JlYXRlLWNvbnRhaW5lclwiXHJcbiAgICBAc2xpZGVJbk91dFxyXG4gICAgKEBzbGlkZUluT3V0LmRvbmUpPVwib25BbmltRG9uZSgkZXZlbnQpXCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWRyYXdlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtaGVhZGVyLWRyYXdlclwiPlBhbmVsIGRlIG5vdGlmaWNhY2lvbmVzPC9kaXY+XHJcbiAgICAgIDxpdXMtYnV0dG9uLXNxdWFyZWQtdGVydGlhcnlcclxuICAgICAgICBbaWNvbk5hbWVdPVwiJ2ljb24tY2FuY2VsJ1wiXHJcbiAgICAgICAgKGJ1dHRvbkNsaWNrZWQpPVwiY2xvc2UoKVwiXHJcbiAgICAgID48L2l1cy1idXR0b24tc3F1YXJlZC10ZXJ0aWFyeT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGl1cy1zaW1wbGUtZGl2aWRlcj48L2l1cy1zaW1wbGUtZGl2aWRlcj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJzY3JvbGxhYmxlLXNtYWxsXCJcclxuICAgICAgc3R5bGU9XCJoZWlnaHQ6IGNhbGMoMTAwJSAtIDY5cHgpOyBvdmVyZmxvdy15OiBhdXRvOyBwYWRkaW5nOiA1cHg7XCJcclxuICAgID5cclxuICAgICAgQGlmIChhbGVydHMubGVuZ3RoID4gMCkgeyBAZm9yIChhbGVydCBvZiBhbGVydHM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uXCI+XHJcbiAgICAgICAgPGl1cy1ub3RpZmljYXRpb24tY2FyZFxyXG4gICAgICAgICAgW2RhdGVdPVwiKGFsZXJ0Py5mZWNoYVJlZ2lzdHJvIHwgZGF0ZTonZCBcXCdkZVxcJyBNTU1NIFxcJ2RlXFwnIHknKSFcIlxyXG4gICAgICAgICAgW3RpdGxlXT1cImFsZXJ0Py50aXR1bG9cIlxyXG4gICAgICAgICAgW3NpbXBsZV09XCIoYWxlcnQ/LnRpcG9BbGVydGEhID09PSAnU2ltcGxlJyA/IHRydWUgOiBmYWxzZSkhIHx8IChhbGVydD8udGlwb0FsZXJ0YSEgPT09ICdIZXh0aScgPyB0cnVlIDogZmFsc2UpIVwiXHJcbiAgICAgICAgICBbYWN0aXZpdHldPVwiYWxlcnQ/LnRpcG9BbGVydGEhID09PSAnQWN0aXZpZGFkJyA/IHRydWUgOiBmYWxzZVwiXHJcbiAgICAgICAgICBbcHJvY2Vzc109XCJhbGVydD8udGlwb0FsZXJ0YSEgPT09ICdQcm9jZXNvJyA/IHRydWUgOiBmYWxzZVwiXHJcbiAgICAgICAgICBbYm9keV09XCJhbGVydD8uZGVzY3JpcGNpb24hXCJcclxuICAgICAgICAgIChvbkRvbmUpPVwib25DbGlja0RvbmUoYWxlcnQuYWxlcnRhSUQhKVwiXHJcbiAgICAgICAgICAob25Qb3N0cG9uZTE1TWluKT1cIm9uUG9zdHBvbmUoYWxlcnQsICcxNW0nKVwiXHJcbiAgICAgICAgICAob25Qb3N0cG9uZTMwTWluKT1cIm9uUG9zdHBvbmUoYWxlcnQsICczMG0nKVwiXHJcbiAgICAgICAgICAob25Qb3N0cG9uZTFIb3VyKT1cIm9uUG9zdHBvbmUoYWxlcnQsICcxaCcpXCJcclxuICAgICAgICAgIChvblBvc3Rwb25lMURheSk9XCJvblBvc3Rwb25lKGFsZXJ0LCAnMWQnKVwiXHJcbiAgICAgICAgICAob25Qb3N0cG9uZTFXZWVrKT1cIm9uUG9zdHBvbmUoYWxlcnQsICcxdycpXCJcclxuICAgICAgICA+PC9pdXMtbm90aWZpY2F0aW9uLWNhcmQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICAgIH1AZWxzZSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJuby1ub3RpZmljYXRpb25zXCI+XHJcbiAgICAgICAgPGl1cy1pY29uLWxnIFtpY29uTmFtZV09XCInaWNvbi1kb25lLW91dGxpbmUnXCI+PC9pdXMtaWNvbi1sZz5cclxuICAgICAgICA8aXVzLXNpbXBsZS1kaXZpZGVyPjwvaXVzLXNpbXBsZS1kaXZpZGVyPlxyXG4gICAgICAgIDxwPk5vIHRpZW5lcyBuaW5ndW5hIG51ZXZhIG5vdGlmaWNhY2nDs24gbyBhbGVydGE8L3A+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBQ1AsWUFBWSxFQUNaLEtBQUssRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9ELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQXdEbkUsTUFBTSxPQUFPLHNCQUFzQjtJQXREbkM7UUF1RDZCLFdBQU0sR0FBWSxFQUFFLENBQUM7UUFDdkMsZ0JBQVcsR0FBVyxjQUFjLENBQUM7UUFDckMsdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBRS9CLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFD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QyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIGFuaW1hdGUsXHJcbiAgYW5pbWF0ZUNoaWxkLFxyXG4gIHF1ZXJ5LFxyXG4gIHN0YWdnZXIsXHJcbiAgc3RhdGUsXHJcbiAgc3R5bGUsXHJcbiAgdHJhbnNpdGlvbixcclxuICB0cmlnZ2VyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2ltcGxlRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uL3NpbXBsZS1kaXZpZGVyL3NpbXBsZS1kaXZpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkNhcmRDb21wb25lbnQgfSBmcm9tICcuLi9ub3RpZmljYXRpb24tY2FyZC9ub3RpZmljYXRpb24tY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJY29uTGdDb21wb25lbnQgfSBmcm9tICcuLi9pY29uLWxnL2ljb24tbGcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuLi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uQ2lyY2xlVGVydGlhcnlDb21wb25lbnQgfSBmcm9tICcuLi9idXR0b24tY2lyY2xlLXRlcnRpYXJ5JztcclxuaW1wb3J0IHsgUG9wb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvcG9wb3Zlci5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpdXMtbm90aWZpY2F0aW9ucycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOb3RpZmljYXRpb25DYXJkQ29tcG9uZW50LFxyXG4gICAgUG9wb3ZlckRpcmVjdGl2ZSxcclxuICAgIFNpbXBsZURpdmlkZXJDb21wb25lbnQsXHJcbiAgICBEYXRlUGlwZSxcclxuICAgIEljb25MZ0NvbXBvbmVudCxcclxuICAgIEJ1dHRvbkNpcmNsZVRlcnRpYXJ5Q29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL25vdGlmaWNhdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9ub3RpZmljYXRpb25zLmNvbXBvbmVudC5zY3NzJyxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xyXG4gICAgICBzdGF0ZShcclxuICAgICAgICAndm9pZCcsXHJcbiAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScsXHJcbiAgICAgICAgICBvcGFjaXR5OiAwLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICApLFxyXG4gICAgICBzdGF0ZShcclxuICAgICAgICAnKicsXHJcbiAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScsXHJcbiAgICAgICAgICBvcGFjaXR5OiAxLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICApLFxyXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbYW5pbWF0ZSgnMzAwbXMgZWFzZS1pbicpXSksXHJcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIFthbmltYXRlKCczMDBtcyBlYXNlLW91dCcpXSksXHJcbiAgICBdKSxcclxuICAgIHRyaWdnZXIoJ2l0ZW1BbmltJywgW1xyXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXHJcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC04cHgpJyB9KSxcclxuICAgICAgICBhbmltYXRlKFxyXG4gICAgICAgICAgJzIyMG1zIGVhc2Utb3V0JyxcclxuICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMSwgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScgfSksXHJcbiAgICAgICAgKSxcclxuICAgICAgXSksXHJcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcclxuICAgICAgICBhbmltYXRlKFxyXG4gICAgICAgICAgJzE4MG1zIGVhc2UtaW4nLFxyXG4gICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDQwcHgpJyB9KSxcclxuICAgICAgICApLFxyXG4gICAgICBdKSxcclxuICAgIF0pLFxyXG4gICAgdHJpZ2dlcignbGlzdENvbnRhaW5lcicsIFtcclxuICAgICAgdHJhbnNpdGlvbignKiA9PiAqJywgW1xyXG4gICAgICAgIHF1ZXJ5KCc6bGVhdmUnLCBzdGFnZ2VyKCc0NW1zJywgYW5pbWF0ZUNoaWxkKCkpLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxyXG4gICAgICBdKSxcclxuICAgIF0pLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBhbGVydHM6IEFsZXJ0W10gPSBbXTtcclxuICBASW5wdXQoKSB0aXRsZURyYXdlcjogc3RyaW5nID0gJ1RpdGxlIERyYXdlcic7XHJcbiAgQElucHV0KCkgcGVyY2VudFByb2dyZXNzQmFyOiBudW1iZXIgPSA1MDtcclxuXHJcbiAgQE91dHB1dCgpIG9uRG9uZUFsZXJ0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25Qb3N0cG9uZUFsZXJ0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25QcmVzc2VkQmFja0V2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25EcmF3ZXJDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIG9uRWRpdEFsZXJ0OiBFdmVudEVtaXR0ZXI8QWxlcnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkNsaWNrQWxlcnRFdmVudDogRXZlbnRFbWl0dGVyPEFsZXJ0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25EZWxldGVBbGxBbGVydHMgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGlzVmlzaWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIG1vc3RyYXJWYWNpbyA9IHRydWU7XHJcbiAgcHJpdmF0ZSBwcmV2TGVuZ3RoID0gMDtcclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICBjb25zdCBsZW4gPSB0aGlzLmFsZXJ0cz8ubGVuZ3RoID8/IDA7XHJcbiAgICBpZiAobGVuID4gMCkge1xyXG4gICAgICB0aGlzLm1vc3RyYXJWYWNpbyA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnByZXZMZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5tb3N0cmFyVmFjaW8gPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tb3N0cmFyVmFjaW8gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMucHJldkxlbmd0aCA9IGxlbjtcclxuICB9XHJcblxyXG4gIG9uTGlzdERvbmUoKSB7XHJcbiAgICBpZiAoKHRoaXMuYWxlcnRzPy5sZW5ndGggPz8gMCkgPT09IDApIHtcclxuICAgICAgdGhpcy5tb3N0cmFyVmFjaW8gPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUFsZXJ0KGluZGV4OiBudW1iZXIsIGFsZXJ0OiBBbGVydCk6IGFueSB7XHJcbiAgICByZXR1cm4gYWxlcnQ/LmFsZXJ0YUlEID8/IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgb25BbmltRG9uZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ3ZvaWQnKSB7XHJcbiAgICAgIHRoaXMub25EcmF3ZXJDbG9zZWQuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Qb3N0cG9uZShhbGVydDogQWxlcnQsIG1pbnV0b3M6IG51bWJlcikge1xyXG4gICAgdGhpcy5vblBvc3Rwb25lQWxlcnQuZW1pdCh7IGFsZXJ0LCBtaW51dG9zIH0pO1xyXG4gIH1cclxuXHJcbiAgb25DbGlja0RvbmUoYWxlcnRhSUQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5vbkRvbmVBbGVydC5lbWl0KGFsZXJ0YUlEKTtcclxuICB9XHJcblxyXG4gIG9uRWRpdChhbGVydDogQWxlcnQpIHtcclxuICAgIHRoaXMub25FZGl0QWxlcnQuZW1pdChhbGVydCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrQ2FyZChhbGVydDogQWxlcnQpIHtcclxuICAgIHRoaXMub25DbGlja0FsZXJ0RXZlbnQuZW1pdChhbGVydCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVBbGxBbGVydHMoKSB7XHJcbiAgICB0aGlzLm9uRGVsZXRlQWxsQWxlcnRzLmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImJhY2tncm91bmQtZHJhd2VyXCI+XHJcbiAgQGlmIChpc1Zpc2libGUpIHtcclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImNyZWF0ZS1jb250YWluZXJcIlxyXG4gICAgQHNsaWRlSW5PdXRcclxuICAgIChAc2xpZGVJbk91dC5kb25lKT1cIm9uQW5pbURvbmUoJGV2ZW50KVwiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cImhlYWRlci1kcmF3ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlLWhlYWRlci1kcmF3ZXJcIj5QYW5lbCBkZSBub3RpZmljYWNpb25lczwvZGl2PlxyXG4gICAgICBAaWYgKGFsZXJ0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIDxpdXMtYnV0dG9uLWNpcmNsZS10ZXJ0aWFyeVxyXG4gICAgICAgIGNsYXNzPVwiYnV0dG9uLWhlYWRlci1kcmF3ZXJcIlxyXG4gICAgICAgIFtpY29uTmFtZV09XCInaWNvbi1kZWxldGUnXCJcclxuICAgICAgICBpdXNQb3BvdmVyQ29udGVudD1cIkJvcnJhclwiXHJcbiAgICAgICAgKGJ1dHRvbkNsaWNrZWQpPVwiZGVsZXRlQWxsQWxlcnRzKClcIlxyXG4gICAgICA+PC9pdXMtYnV0dG9uLWNpcmNsZS10ZXJ0aWFyeT5cclxuICAgICAgfVxyXG4gICAgICA8aXVzLWJ1dHRvbi1jaXJjbGUtdGVydGlhcnlcclxuICAgICAgICBbaWNvbk5hbWVdPVwiJ2ljb24tY2FuY2VsJ1wiXHJcbiAgICAgICAgaXVzUG9wb3ZlckNvbnRlbnQ9XCJDZXJyYXJcIlxyXG4gICAgICAgIChidXR0b25DbGlja2VkKT1cImNsb3NlKClcIlxyXG4gICAgICA+PC9pdXMtYnV0dG9uLWNpcmNsZS10ZXJ0aWFyeT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGl1cy1zaW1wbGUtZGl2aWRlcj48L2l1cy1zaW1wbGUtZGl2aWRlcj5cclxuICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxhYmxlXCI+XHJcbiAgICAgIDxkaXYgW0BsaXN0Q29udGFpbmVyXT1cImFsZXJ0cy5sZW5ndGhcIiAoQGxpc3RDb250YWluZXIuZG9uZSk9XCJvbkxpc3REb25lKClcIj5cclxuICAgICAgICBAZm9yIChhbGVydCBvZiBhbGVydHM7IHRyYWNrIHRyYWNrQnlBbGVydCgkaW5kZXgsIGFsZXJ0KSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb25cIiBAaXRlbUFuaW0+XHJcbiAgICAgICAgICA8aXVzLW5vdGlmaWNhdGlvbi1jYXJkXHJcbiAgICAgICAgICAgIFtkYXRlXT1cIihhbGVydD8uZmVjaGFSZWdpc3RybyB8IGRhdGU6J2QgXFwnZGVcXCcgTU1NTSBcXCdkZVxcJyB5JykhXCJcclxuICAgICAgICAgICAgW3RpdGxlXT1cImFsZXJ0Py50aXR1bG9cIlxyXG4gICAgICAgICAgICBbc2ltcGxlXT1cIihhbGVydD8udGlwb0FsZXJ0YSEgPT09ICdTaW1wbGUnID8gdHJ1ZSA6IGZhbHNlKSEgfHwgKGFsZXJ0Py50aXBvQWxlcnRhISA9PT0gJ0hleHRpJyA/IHRydWUgOiBmYWxzZSkhXCJcclxuICAgICAgICAgICAgW2FjdGl2aXR5XT1cImFsZXJ0Py50aXBvQWxlcnRhISA9PT0gJ0FjdGl2aWRhZCcgPyB0cnVlIDogZmFsc2VcIlxyXG4gICAgICAgICAgICBbY29uZmlybWFibGVdPVwiYWxlcnQ/LnRpcG9BbGVydGEhID09PSAnQ29uZmlybWFjaW9uJyA/IHRydWUgOiBmYWxzZVwiXHJcbiAgICAgICAgICAgIFtib2R5XT1cImFsZXJ0Py5kZXNjcmlwY2lvbiFcIlxyXG4gICAgICAgICAgICBbZmVjaGFBY3RpdmlkYWRdPVwiYWxlcnQ/LmZlY2hhQWN0aXZpZGFkXCJcclxuICAgICAgICAgICAgW21vc3RyYXJQb3Nwb25lcl09XCJhbGVydD8ubW9zdHJhclBvc3BvbmVyXCJcclxuICAgICAgICAgICAgKG9uRG9uZSk9XCJvbkNsaWNrRG9uZShhbGVydC5hbGVydGFJRCEpXCJcclxuICAgICAgICAgICAgKG9uUG9zdHBvbmUpPVwib25Qb3N0cG9uZShhbGVydCwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtlc05hdmVnYWJsZV09XCIhIWFsZXJ0Py5yZWZlcmVuY2lhT3JpZ2VuSWRcIlxyXG4gICAgICAgICAgICAob25FZGl0QWN0aXZpdHkpPVwib25FZGl0KGFsZXJ0KVwiXHJcbiAgICAgICAgICAgIChvbkNsaWNrQWxlcnQpPVwib25DbGlja0NhcmQoYWxlcnQpXCJcclxuICAgICAgICAgID48L2l1cy1ub3RpZmljYXRpb24tY2FyZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICBAaWYgKG1vc3RyYXJWYWNpbykge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwibm8tbm90aWZpY2F0aW9uc1wiPlxyXG4gICAgICAgIDxpdXMtaWNvbi1sZyBbaWNvbk5hbWVdPVwiJ2ljb24tZG9uZS1vdXRsaW5lJ1wiPjwvaXVzLWljb24tbGc+XHJcbiAgICAgICAgPGl1cy1zaW1wbGUtZGl2aWRlcj48L2l1cy1zaW1wbGUtZGl2aWRlcj5cclxuICAgICAgICA8cD5ObyB0aWVuZXMgbmluZ3VuYSBudWV2YSBub3RpZmljYWNpw7NuIG8gYWxlcnRhPC9wPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
|