{"version":3,"file":"ng-dominus-dm-notifications.mjs","sources":["../../../projects/dm-notifications/src/lib/components/dm-notifications-alert/dm-notifications-alert.component.ts","../../../projects/dm-notifications/src/lib/components/dm-notifications-alert/dm-notifications-alert.component.html","../../../projects/dm-notifications/src/lib/components/dm-notifications-confirm/dm-notifications-confirm.component.ts","../../../projects/dm-notifications/src/lib/components/dm-notifications-confirm/dm-notifications-confirm.component.html","../../../projects/dm-notifications/src/lib/components/dm-notification/dm-notification.component.ts","../../../projects/dm-notifications/src/lib/components/dm-notification/dm-notification.component.html","../../../projects/dm-notifications/src/lib/dm-notifications.service.ts","../../../projects/dm-notifications/src/public-api.ts","../../../projects/dm-notifications/src/ng-dominus-dm-notifications.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {\n    MAT_DIALOG_DATA,\n    MatDialogActions,\n    MatDialogContent,\n    MatDialogRef,\n    MatDialogTitle\n} from \"@angular/material/dialog\";\nimport {DmNotificationAlertConfig} from \"../../dm-notifications\";\nimport {MatButtonModule} from \"@angular/material/button\";\n\n@Component({\n    standalone: true,\n    imports: [CommonModule, MatDialogContent, MatDialogActions, MatDialogTitle, MatButtonModule],\n    templateUrl: './dm-notifications-alert.component.html',\n    styleUrl: './dm-notifications-alert.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DmNotificationsAlertComponent {\n    constructor(\n        protected dialogRef: MatDialogRef<any>,\n        @Inject(MAT_DIALOG_DATA) protected data: DmNotificationAlertConfig\n    ) {\n        data.buttonAlignment = data.buttonAlignment || 'end';\n        data.closeButtonText = data.closeButtonText || 'OK';\n        data.closeButtonColor = data.closeButtonColor || 'primary';\n    }\n}\n","<h2 *ngIf=\"data.title\" mat-dialog-title [ngClass]=\"data.titleClass || ''\" [innerHTML]=\"data.title\"></h2>\n<div mat-dialog-content [innerHTML]=\"data.content\"></div>\n<mat-dialog-actions [align]=\"data.buttonAlignment\">\n    <button type=\"button\" mat-raised-button [color]=\"data.closeButtonColor\"\n            (click)=\"dialogRef.close()\">{{ data.closeButtonText }}\n    </button>\n</mat-dialog-actions>\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {\n    MAT_DIALOG_DATA,\n    MatDialogActions,\n    MatDialogContent,\n    MatDialogRef,\n    MatDialogTitle\n} from \"@angular/material/dialog\";\nimport {DmNotificationConfirmConfig} from \"../../dm-notifications\";\nimport {MatButtonModule} from \"@angular/material/button\";\n\n@Component({\n    standalone: true,\n    imports: [CommonModule, MatDialogContent, MatDialogActions, MatButtonModule, MatDialogTitle],\n    templateUrl: './dm-notifications-confirm.component.html',\n    styleUrl: './dm-notifications-confirm.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DmNotificationsConfirmComponent {\n    constructor(\n        protected dialogRef: MatDialogRef<any>,\n        @Inject(MAT_DIALOG_DATA) protected data: DmNotificationConfirmConfig\n    ) {\n        data.buttonAlignment = data.buttonAlignment || 'end';\n        data.acceptBtnText = data.acceptBtnText || 'Confirm';\n        data.declineBtnText = data.declineBtnText || 'Decline';\n        data.acceptBtnColor = data.acceptBtnColor || 'primary';\n    }\n}\n","<h2 *ngIf=\"data.title\" mat-dialog-title [ngClass]=\"data.titleClass || ''\" [innerHTML]=\"data.title\"></h2>\n<div mat-dialog-content [innerHTML]=\"data.content\"></div>\n<mat-dialog-actions [align]=\"data.buttonAlignment\">\n    <button type=\"button\" mat-raised-button [color]=\"data.acceptBtnColor\"\n            (click)=\"dialogRef.close(true)\">{{ data.acceptBtnText }}\n    </button>\n    <button type=\"button\" mat-raised-button [color]=\"data.declineBtnColor\"\n            (click)=\"dialogRef.close(false)\">{{ data.declineBtnText }}\n    </button>\n</mat-dialog-actions>\n","import {ChangeDetectionStrategy, Component, Inject, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MAT_SNACK_BAR_DATA, MatSnackBarLabel, MatSnackBarRef} from \"@angular/material/snack-bar\";\nimport {DmNotificationActionButton, DmNotificationConfig} from \"../../dm-notifications\";\nimport {MatButtonModule} from \"@angular/material/button\";\n\n@Component({\n    standalone: true,\n    imports: [CommonModule, MatSnackBarLabel, MatButtonModule],\n    templateUrl: './dm-notification.component.html',\n    styleUrl: './dm-notification.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None\n})\nexport class DmNotificationComponent {\n    protected readonly textContent: boolean;\n\n    constructor(\n        private snackBarRef: MatSnackBarRef<any>,\n        @Inject(MAT_SNACK_BAR_DATA) protected data: DmNotificationConfig\n    ) {\n        this.textContent = typeof data.content === 'string';\n    }\n\n    actionBtnClicked(actionBtn: DmNotificationActionButton) {\n        setTimeout(actionBtn.click);\n        this.snackBarRef.dismissWithAction();\n    }\n}\n","<div class=\"ng-dominus-notification\">\n    <span class=\"ng-dominus-notification-content\">\n        <ng-container *ngIf=\"textContent else componentContentTemplate\">\n            <span [innerHTML]=\"data.content\"></span>\n        </ng-container>\n    </span>\n    <div *ngIf=\"data.actionButtons\" class=\"ng-dominus-notification-actions\">\n        <button *ngFor=\"let actionBtn of data.actionButtons\" mat-button (click)=\"actionBtnClicked(actionBtn)\">{{actionBtn.label}}</button>\n    </div>\n</div>\n\n<ng-template #componentContentTemplate>\n    <ng-container [ngComponentOutlet]=\"$any(data.content)\"></ng-container>\n</ng-template>\n","import {Injectable} from '@angular/core';\nimport {MatDialog} from \"@angular/material/dialog\";\nimport {DmNotificationAlertConfig, DmNotificationConfig, DmNotificationConfirmConfig} from \"./dm-notifications\";\nimport {DmNotificationsAlertComponent} from \"./components/dm-notifications-alert/dm-notifications-alert.component\";\nimport {map, Observable} from \"rxjs\";\nimport {\n    DmNotificationsConfirmComponent\n} from \"./components/dm-notifications-confirm/dm-notifications-confirm.component\";\nimport {MatSnackBar} from \"@angular/material/snack-bar\";\nimport {DmNotificationComponent} from \"./components/dm-notification/dm-notification.component\";\n\n@Injectable({\n    providedIn: \"root\"\n})\nexport class DmNotificationsService {\n    constructor(\n        private dialog: MatDialog,\n        private snackBar: MatSnackBar\n    ) {\n    }\n\n    /**\n     * Opens an alert dialog\n     * @param config\n     */\n    alert(config: DmNotificationAlertConfig) {\n        return this.dialog.open(DmNotificationsAlertComponent, {\n            disableClose: config.disableClose !== undefined ? config.disableClose : false,\n            data: config\n        });\n    }\n\n    /**\n     * Opens a confirmation dialog.\n     * @param {DmNotificationConfirmConfig} config\n     * @return An observable with the result of the user confirmation.\n     * Possible observable values: true/false - accept/decline | null - the user closed the dialog without accepting or declining (usually by pressing the escape key or clicking the backdrop)\n     */\n    confirm(config: DmNotificationConfirmConfig): Observable<boolean | null> {\n        return this.dialog.open(DmNotificationsConfirmComponent, {\n            disableClose: config.disableClose !== undefined ? config.disableClose : false,\n            data: config\n        }).afterClosed().pipe(map<any, boolean | null>(result => {\n            if (result === undefined) {\n                return null;\n            }\n\n            return result;\n        }));\n    }\n\n    /**\n     * Displays a notification\n     * @param {DmNotificationConfig} config\n     */\n    notify(config: DmNotificationConfig) {\n        this.snackBar.openFromComponent(DmNotificationComponent, {\n            duration: config.duration === undefined ? 5000 : config.duration,\n            verticalPosition: config.position?.vertical || 'bottom',\n            horizontalPosition: config.position?.horizontal || 'end',\n            panelClass: ['ng-dominus-notification-container', config.type],\n            data: config\n        });\n    }\n}\n","/*\n * Public API Surface of dm-notifications\n */\n\nexport * from './lib/dm-notifications.service';\nexport * from './lib/dm-notifications';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2"],"mappings":";;;;;;;;;;;;MAmBa,6BAA6B,CAAA;IACtC,WACc,CAAA,SAA4B,EACH,IAA+B,EAAA;QADxD,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;QACH,IAAI,CAAA,IAAA,GAAJ,IAAI,CAA2B;QAElE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;QACrD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,SAAS,CAAC;KAC9D;AARQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,8CAG1B,eAAe,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAHlB,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnB1C,maAOA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDOc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,cAAc,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKlF,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAPzC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,CAAC,EAG3E,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,maAAA,EAAA,CAAA;;0BAK1C,MAAM;2BAAC,eAAe,CAAA;;;MEHlB,+BAA+B,CAAA;IACxC,WACc,CAAA,SAA4B,EACH,IAAiC,EAAA;QAD1D,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;QACH,IAAI,CAAA,IAAA,GAAJ,IAAI,CAA6B;QAEpE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;QACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC;QACvD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC;KAC1D;AATQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,8CAG5B,eAAe,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAHlB,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnB5C,4kBAUA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,cAAc,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKlF,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAP3C,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,CAAC,EAG3E,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,4kBAAA,EAAA,CAAA;;0BAK1C,MAAM;2BAAC,eAAe,CAAA;;;MERlB,uBAAuB,CAAA;IAGhC,WACY,CAAA,WAAgC,EACF,IAA0B,EAAA;QADxD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAqB;QACF,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAsB;QAEhE,IAAI,CAAC,WAAW,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC;KACvD;AAED,IAAA,gBAAgB,CAAC,SAAqC,EAAA;AAClD,QAAA,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;KACxC;AAbQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kDAKpB,kBAAkB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AALrB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,ECdpC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,0oBAcA,EDNc,MAAA,EAAA,CAAA,42EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,ugBAAoB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAMhD,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,gBAAgB,EAAE,eAAe,CAAC,EAAA,eAAA,EAGzC,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0oBAAA,EAAA,MAAA,EAAA,CAAA,42EAAA,CAAA,EAAA,CAAA;;0BAOhC,MAAM;2BAAC,kBAAkB,CAAA;;;MELrB,sBAAsB,CAAA;IAC/B,WACY,CAAA,MAAiB,EACjB,QAAqB,EAAA;QADrB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QACjB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAa;KAEhC;AAED;;;AAGG;AACH,IAAA,KAAK,CAAC,MAAiC,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;AACnD,YAAA,YAAY,EAAE,MAAM,CAAC,YAAY,KAAK,SAAS,GAAG,MAAM,CAAC,YAAY,GAAG,KAAK;AAC7E,YAAA,IAAI,EAAE,MAAM;AACf,SAAA,CAAC,CAAC;KACN;AAED;;;;;AAKG;AACH,IAAA,OAAO,CAAC,MAAmC,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;AACrD,YAAA,YAAY,EAAE,MAAM,CAAC,YAAY,KAAK,SAAS,GAAG,MAAM,CAAC,YAAY,GAAG,KAAK;AAC7E,YAAA,IAAI,EAAE,MAAM;SACf,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,GAAG,CAAsB,MAAM,IAAG;YACpD,IAAI,MAAM,KAAK,SAAS,EAAE;AACtB,gBAAA,OAAO,IAAI,CAAC;AACf,aAAA;AAED,YAAA,OAAO,MAAM,CAAC;SACjB,CAAC,CAAC,CAAC;KACP;AAED;;;AAGG;AACH,IAAA,MAAM,CAAC,MAA4B,EAAA;AAC/B,QAAA,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,uBAAuB,EAAE;AACrD,YAAA,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ;AAChE,YAAA,gBAAgB,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,IAAI,QAAQ;AACvD,YAAA,kBAAkB,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,KAAK;AACxD,YAAA,UAAU,EAAE,CAAC,mCAAmC,EAAE,MAAM,CAAC,IAAI,CAAC;AAC9D,YAAA,IAAI,EAAE,MAAM;AACf,SAAA,CAAC,CAAC;KACN;8GAjDQ,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFnB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;ACbD;;AAEG;;ACFH;;AAEG;;;;"}