From 1979ac684ce3977e0f8dcd76674eb810a9d4b6b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Wed, 26 Jun 2024 20:40:00 +0200 Subject: [PATCH 1/3] feat: email client prototype --- backend/mail-plugin/app.js | 2 + backend/mail-plugin/package.json | 68 ++ backend/mail-plugin/src/cli.ts | 104 +++ backend/mail-plugin/tsconfig.json | 4 + frontend/app/package.json | 4 + frontend/app/src/app/app.module.ts | 2 + .../src/app/modules/auth/mail-auth.service.ts | 10 + .../app/modules/mail/mail-detail.component.ts | 51 ++ .../app/src/app/modules/mail/mail-detail.html | 65 ++ .../app/src/app/modules/mail/mail-detail.scss | 53 ++ .../app/modules/mail/mail-meta.component.ts | 17 + .../app/src/app/modules/mail/mail-meta.html | 51 ++ .../app/src/app/modules/mail/mail-meta.scss | 35 + .../app/modules/mail/mail-page.component.ts | 32 + .../app/src/app/modules/mail/mail-page.html | 34 + .../app/src/app/modules/mail/mail-page.scss | 33 + .../app/src/app/modules/mail/mail.module.ts | 28 + .../app/src/app/modules/mail/mail.service.ts | 26 + .../mail/parts/mail-attachment-text.pipe.ts | 23 + .../parts/mail-part-attachment.component.ts | 19 + .../mail/parts/mail-part-attachment.html | 9 + .../mail/parts/mail-part-attachment.scss | 21 + .../modules/mail/parts/mail-part.component.ts | 48 ++ .../src/app/modules/mail/parts/mail-part.html | 23 + .../src/app/modules/mail/parts/mail-part.scss | 9 + .../parts/mail-preferred-alternative.pipe.ts | 13 + .../mail/parts/shadow-html.directive.ts | 18 + frontend/app/src/app/modules/mail/types.ts | 44 ++ .../profile/page/profile-page-section.html | 5 + .../profile/page/profile-page-section.scss | 7 + frontend/app/src/app/util/data-size.pipe.ts | 25 + .../src/app/util/skeleton-data.directive.ts | 7 + .../util/skeleton-placeholder.directive.ts | 7 + .../app/src/app/util/skeleton.component.ts | 22 + frontend/app/src/app/util/skeleton.html | 0 frontend/app/src/app/util/skeleton.scss | 0 frontend/app/src/assets/i18n/de.json | 7 + frontend/app/src/assets/i18n/en.json | 7 + frontend/app/src/assets/icons.min.woff2 | Bin 110916 -> 113296 bytes .../app/src/config/profile-page-sections.ts | 13 + pnpm-lock.yaml | 663 ++++++++++++------ 41 files changed, 1396 insertions(+), 213 deletions(-) create mode 100644 backend/mail-plugin/app.js create mode 100644 backend/mail-plugin/package.json create mode 100644 backend/mail-plugin/src/cli.ts create mode 100644 backend/mail-plugin/tsconfig.json create mode 100644 frontend/app/src/app/modules/auth/mail-auth.service.ts create mode 100644 frontend/app/src/app/modules/mail/mail-detail.component.ts create mode 100644 frontend/app/src/app/modules/mail/mail-detail.html create mode 100644 frontend/app/src/app/modules/mail/mail-detail.scss create mode 100644 frontend/app/src/app/modules/mail/mail-meta.component.ts create mode 100644 frontend/app/src/app/modules/mail/mail-meta.html create mode 100644 frontend/app/src/app/modules/mail/mail-meta.scss create mode 100644 frontend/app/src/app/modules/mail/mail-page.component.ts create mode 100644 frontend/app/src/app/modules/mail/mail-page.html create mode 100644 frontend/app/src/app/modules/mail/mail-page.scss create mode 100644 frontend/app/src/app/modules/mail/mail.module.ts create mode 100644 frontend/app/src/app/modules/mail/mail.service.ts create mode 100644 frontend/app/src/app/modules/mail/parts/mail-attachment-text.pipe.ts create mode 100644 frontend/app/src/app/modules/mail/parts/mail-part-attachment.component.ts create mode 100644 frontend/app/src/app/modules/mail/parts/mail-part-attachment.html create mode 100644 frontend/app/src/app/modules/mail/parts/mail-part-attachment.scss create mode 100644 frontend/app/src/app/modules/mail/parts/mail-part.component.ts create mode 100644 frontend/app/src/app/modules/mail/parts/mail-part.html create mode 100644 frontend/app/src/app/modules/mail/parts/mail-part.scss create mode 100644 frontend/app/src/app/modules/mail/parts/mail-preferred-alternative.pipe.ts create mode 100644 frontend/app/src/app/modules/mail/parts/shadow-html.directive.ts create mode 100644 frontend/app/src/app/modules/mail/types.ts create mode 100644 frontend/app/src/app/util/data-size.pipe.ts create mode 100644 frontend/app/src/app/util/skeleton-data.directive.ts create mode 100644 frontend/app/src/app/util/skeleton-placeholder.directive.ts create mode 100644 frontend/app/src/app/util/skeleton.component.ts create mode 100644 frontend/app/src/app/util/skeleton.html create mode 100644 frontend/app/src/app/util/skeleton.scss diff --git a/backend/mail-plugin/app.js b/backend/mail-plugin/app.js new file mode 100644 index 00000000..1bda7715 --- /dev/null +++ b/backend/mail-plugin/app.js @@ -0,0 +1,2 @@ +#!/usr/bin/env node +import './lib/cli.js'; diff --git a/backend/mail-plugin/package.json b/backend/mail-plugin/package.json new file mode 100644 index 00000000..2f791373 --- /dev/null +++ b/backend/mail-plugin/package.json @@ -0,0 +1,68 @@ +{ + "name": "@openstapps/mail-plugin", + "description": "Mail Plugin", + "version": "3.2.0", + "private": true, + "type": "module", + "license": "GPL-3.0-only", + "author": "Thea Schöbl", + "bin": "app.js", + "files": [ + "app.js", + "lib", + "README.md", + "CHANGELOG.md", + "Dockerfile" + ], + "scripts": { + "build": "tsup-node --dts", + "dev": "tsup-node --watch --onSuccess \"pnpm run start\"", + "start": "node app.js", + "deploy": "pnpm --prod --filter=@openstapps/minimal-plugin deploy ../../.deploy/minimal-plugin", + "format": "prettier . -c --ignore-path ../../.gitignore", + "format:fix": "prettier --write . --ignore-path ../../.gitignore", + "lint": "eslint --ext .ts src/", + "lint:fix": "eslint --fix --ext .ts src/" + }, + "dependencies": { + "@openstapps/core": "workspace:*", + "@openstapps/core-tools": "workspace:*", + "@openstapps/logger": "workspace:*", + "commander": "10.0.0", + "dotenv": "16.4.5", + "express": "4.18.2", + "imapflow": "1.0.162", + "mailparser": "3.7.1", + "node-forge": "1.3.1", + "nodemailer": "6.9.14", + "ts-node": "10.9.2" + }, + "devDependencies": { + "@openstapps/eslint-config": "workspace:*", + "@openstapps/prettier-config": "workspace:*", + "@openstapps/tsconfig": "workspace:*", + "@types/express": "4.17.17", + "@types/imapflow": "1.0.18", + "@types/mailparser": "3.4.4", + "@types/node": "18.15.3", + "@types/node-forge": "1.3.11", + "@types/nodemailer": "6.4.15", + "tsup": "6.7.0", + "typescript": "5.4.2" + }, + "tsup": { + "entry": [ + "src/cli.ts" + ], + "sourcemap": true, + "clean": true, + "format": "esm", + "outDir": "lib" + }, + "prettier": "@openstapps/prettier-config", + "eslintConfig": { + "extends": [ + "@openstapps" + ] + } +} diff --git a/backend/mail-plugin/src/cli.ts b/backend/mail-plugin/src/cli.ts new file mode 100644 index 00000000..59f23b58 --- /dev/null +++ b/backend/mail-plugin/src/cli.ts @@ -0,0 +1,104 @@ +import {config} from 'dotenv'; +import {ImapFlow} from 'imapflow'; +import express from 'express'; + +config({path: '.env.local'}); + +const app = express(); +const port = process.env.PORT || 4000; + +if (!process.env.IMAP_USER || !process.env.IMAP_PASSWORD) { + throw new Error('Provide IMAP user'); +} + +app.use((_request, response, next) => { + const client = new ImapFlow({ + host: 'imap.server.uni-frankfurt.de', + port: 993, + secure: true, + emitLogs: false, + auth: { + user: process.env.IMAP_USER!, + pass: process.env.IMAP_PASSWORD!, + }, + }); + response.locals.client = client; + next(); +}); + +app.get('/', async (request, response) => { + const client = response.locals.client as ImapFlow; + await client.connect(); + const lock = await client.getMailboxLock('INBOX'); + try { + const messages = []; + for await (const message of client.fetch('1:*', { + envelope: true, + labels: true, + bodyStructure: true, + flags: true, + })) { + messages.push({ + bodyStructure: message.bodyStructure, + labels: [...(message.labels ?? [])], + flags: [...(message.flags ?? [])], + envelope: message.envelope, + seq: message.seq, + }); + } + response.json(messages); + } finally { + lock.release(); + } + await client.logout(); +}); + +app.get('/:id', async (request, response) => { + const client = response.locals.client as ImapFlow; + await client.connect(); + const lock = await client.getMailboxLock('INBOX'); + try { + const message = await client.fetchOne(request.params.id, { + envelope: true, + labels: true, + flags: true, + bodyStructure: true, + }); + response.json({ + bodyStructure: message.bodyStructure, + labels: [...(message.labels ?? [])], + flags: [...(message.flags ?? [])], + envelope: message.envelope, + seq: message.seq, + }); + } finally { + lock.release(); + } + await client.logout(); +}); + +app.get('/:id/attachment/:attachment', async (request, response) => { + const client = response.locals.client as ImapFlow; + await client.connect(); + const lock = await client.getMailboxLock('INBOX'); + try { + const message = await client.download(request.params.id, request.params.attachment); + const body = await new Promise(resolve => { + let body = ''; + message.content.on('data', chunk => { + body += chunk.toString(); + }); + message.content.on('end', () => { + resolve(body); + }); + }); + response.send(body); + } finally { + lock.release(); + } + await client.logout(); +}); + +app.listen(port, () => { + console.log(`Server is running on http://localhost:${port}`); +}); diff --git a/backend/mail-plugin/tsconfig.json b/backend/mail-plugin/tsconfig.json new file mode 100644 index 00000000..988e304d --- /dev/null +++ b/backend/mail-plugin/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "@openstapps/tsconfig", + "exclude": ["lib", "app.js"] +} diff --git a/frontend/app/package.json b/frontend/app/package.json index f2190b6a..c357d8be 100644 --- a/frontend/app/package.json +++ b/frontend/app/package.json @@ -106,7 +106,9 @@ "ngx-markdown": "17.1.1", "ngx-moment": "6.0.2", "opening_hours": "3.8.0", + "pkijs": "3.1.0", "pmtiles": "3.0.3", + "postal-mime": "2.2.5", "rxjs": "7.8.1", "semver": "7.6.0", "swiper": "8.4.5", @@ -139,6 +141,7 @@ "@ionic/cli": "7.2.0", "@openstapps/prettier-config": "workspace:*", "@openstapps/tsconfig": "workspace:*", + "@types/dompurify": "^3.0.5", "@types/fontkit": "2.0.7", "@types/geojson": "1.0.6", "@types/glob": "8.1.0", @@ -154,6 +157,7 @@ "@typescript-eslint/parser": "7.2.0", "cordova-res": "0.15.4", "cypress": "13.7.0", + "dompurify": "^3.1.6", "eslint": "8.57.0", "eslint-plugin-jsdoc": "48.2.1", "eslint-plugin-prettier": "5.1.3", diff --git a/frontend/app/src/app/app.module.ts b/frontend/app/src/app/app.module.ts index 80c0fcd6..194370ec 100644 --- a/frontend/app/src/app/app.module.ts +++ b/frontend/app/src/app/app.module.ts @@ -71,6 +71,7 @@ import {Capacitor} from '@capacitor/core'; import {SplashScreen} from '@capacitor/splash-screen'; import maplibregl from 'maplibre-gl'; import {Protocol} from 'pmtiles'; +import {MailModule} from './modules/mail/mail.module'; registerLocaleData(localeDe); @@ -165,6 +166,7 @@ export function createTranslateLoader(http: HttpClient) { ProfilePageModule, FeedbackModule, MapModule, + MailModule, MenuModule, NavigationModule, NewsModule, diff --git a/frontend/app/src/app/modules/auth/mail-auth.service.ts b/frontend/app/src/app/modules/auth/mail-auth.service.ts new file mode 100644 index 00000000..82b08101 --- /dev/null +++ b/frontend/app/src/app/modules/auth/mail-auth.service.ts @@ -0,0 +1,10 @@ +import {Injectable} from '@angular/core'; + +@Injectable({providedIn: 'root'}) +export class MailAuthService { + login(username: string, password: string) { + navigator.credentials.store(new PasswordCredential({})) + } + + logout() {} +} diff --git a/frontend/app/src/app/modules/mail/mail-detail.component.ts b/frontend/app/src/app/modules/mail/mail-detail.component.ts new file mode 100644 index 00000000..11f62da9 --- /dev/null +++ b/frontend/app/src/app/modules/mail/mail-detail.component.ts @@ -0,0 +1,51 @@ +import {ChangeDetectionStrategy, Component, signal} from '@angular/core'; +import {MailService} from './mail.service'; +import {AsyncPipe} from '@angular/common'; +import {IonicModule} from '@ionic/angular'; +import {DataModule} from '../data/data.module'; +import {IonIconModule} from 'src/app/util/ion-icon/ion-icon.module'; +import {UtilModule} from 'src/app/util/util.module'; +import {FormatPurePipeModule, ParseIsoPipeModule} from 'ngx-date-fns'; +import {ActivatedRoute, RouterModule} from '@angular/router'; +import {mergeMap, tap} from 'rxjs'; +import {DomSanitizer} from '@angular/platform-browser'; +import {MailPartComponent} from './parts/mail-part.component'; +import {MailMetaComponent} from './mail-meta.component'; + +@Component({ + selector: 'stapps-mail-detail', + templateUrl: 'mail-detail.html', + styleUrl: 'mail-detail.scss', + standalone: true, + changeDetection: ChangeDetectionStrategy.OnPush, + imports: [ + AsyncPipe, + IonicModule, + DataModule, + IonIconModule, + UtilModule, + FormatPurePipeModule, + ParseIsoPipeModule, + RouterModule, + MailPartComponent, + MailMetaComponent, + ], +}) +export class MailDetailComponent { + mail = this.activatedRoute.params.pipe( + mergeMap(parameters => this.mailService.getMail(parameters.id)), + tap(console.log), + ); + + collapse = signal(false); + + constructor( + readonly mailService: MailService, + readonly activatedRoute: ActivatedRoute, + readonly sanitizer: DomSanitizer, + ) {} + + todo() { + alert('TODO'); + } +} diff --git a/frontend/app/src/app/modules/mail/mail-detail.html b/frontend/app/src/app/modules/mail/mail-detail.html new file mode 100644 index 00000000..17035338 --- /dev/null +++ b/frontend/app/src/app/modules/mail/mail-detail.html @@ -0,0 +1,65 @@ + + + + + + + @if (mail | async; as mail) { + {{ mail.envelope.subject }} + } @else { + + } + + + + + + + + + + + + + +

+ @if (mail | async; as mail) { + {{ mail.envelope.subject }} + } @else { + + } +

+
+ @if (mail | async; as mail) { + +
+ @if (mail.envelope.from[0]; as from) { +
+ {{ (from.name || from.address).charAt(0).toUpperCase() }} +
+ } +
+ + @for (from of mail.envelope.from; track from) { +

{{ from.name || from.address }}

+ } +

+ to + @for (to of mail.envelope.to; track to) { + {{ to.name || to.address }} + } +

+
+
+ + } @else { + + } +
+ @if (mail | async; as mail) { + + } +
diff --git a/frontend/app/src/app/modules/mail/mail-detail.scss b/frontend/app/src/app/modules/mail/mail-detail.scss new file mode 100644 index 00000000..2344f68c --- /dev/null +++ b/frontend/app/src/app/modules/mail/mail-detail.scss @@ -0,0 +1,53 @@ +@import '../../../theme/util/mixins'; + +.body { + @include border-radius-in-parallax(var(--border-radius-default)); + + margin: var(--spacing-md); + padding: var(--spacing-md); + background: var(--ion-item-background); +} + +ion-item { + margin-block-end: var(--spacing-xl); +} + +ion-title { + transition: + opacity 0.2s ease, + translate 0.2s ease; +} + +h1 { + margin: var(--spacing-sm) var(--spacing-md); + font-weight: var(--font-weight-bold); + color: var(--ion-color-primary-contrast); +} + +pre { + word-wrap: break-word; + white-space: pre-wrap; +} + +stapps-mail-meta { + // css hack to make the element stick to the bottom of the scroll container even + // when the content is not filling it + position: sticky; + top: 100vh; +} + +ion-accordion { + background: none; +} + +.attachment { + display: flex; + align-items: center; + justify-content: space-between; + + margin: var(--spacing-md) 0; + padding: var(--spacing-md); + + border: 1px solid var(--ion-border-color); + border-radius: var(--border-radius-default); +} diff --git a/frontend/app/src/app/modules/mail/mail-meta.component.ts b/frontend/app/src/app/modules/mail/mail-meta.component.ts new file mode 100644 index 00000000..be181c58 --- /dev/null +++ b/frontend/app/src/app/modules/mail/mail-meta.component.ts @@ -0,0 +1,17 @@ +import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; +import {FormatPurePipeModule, ParseIsoPipeModule} from 'ngx-date-fns'; +import {EmailData} from './types'; +import {TranslateModule} from '@ngx-translate/core'; +import {TitleCasePipe} from '@angular/common'; + +@Component({ + selector: 'stapps-mail-meta', + templateUrl: 'mail-meta.html', + styleUrl: 'mail-meta.scss', + standalone: true, + changeDetection: ChangeDetectionStrategy.OnPush, + imports: [ParseIsoPipeModule, FormatPurePipeModule, TranslateModule, TitleCasePipe], +}) +export class MailMetaComponent { + @Input({required: true}) mail: EmailData; +} diff --git a/frontend/app/src/app/modules/mail/mail-meta.html b/frontend/app/src/app/modules/mail/mail-meta.html new file mode 100644 index 00000000..8a38fcf5 --- /dev/null +++ b/frontend/app/src/app/modules/mail/mail-meta.html @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + +
{{ 'mail.FROM' | translate | titlecase }} +
    + @for (from of mail.envelope.from; track from) { +
  • + @if (from.name) { + {{ from.name }} + } + {{ from.address }} +
  • + } +
+
{{ 'mail.SENDER' | translate | titlecase }} +
    + @for (sender of mail.envelope.sender; track sender) { +
  • + @if (sender.name) { + {{ sender.name }} + } + {{ sender.address }} +
  • + } +
+
{{ 'mail.TO' | translate | titlecase }} +
    + @for (to of mail.envelope.to; track to) { +
  • + @if (to.name) { + {{ to.name }} + } + {{ to.address }} +
  • + } +
+
{{ 'mail.DATE' | translate | titlecase }}{{ mail.envelope.date | dfnsParseIso | dfnsFormatPure: 'PPp' }}
diff --git a/frontend/app/src/app/modules/mail/mail-meta.scss b/frontend/app/src/app/modules/mail/mail-meta.scss new file mode 100644 index 00000000..6e1f6d69 --- /dev/null +++ b/frontend/app/src/app/modules/mail/mail-meta.scss @@ -0,0 +1,35 @@ +ul { + margin: 0; + padding: 0; + list-style: none; +} + +code { + font-weight: 400; + font-style: italic; + color: var(--ion-color-dark); +} + +span + code::before { + content: ' • '; +} + +th, +td { + font-size: 0.8em; +} + +th { + padding-inline-end: var(--spacing-md); + text-align: left; + vertical-align: top; +} + +td { + vertical-align: top; +} + +table { + margin: var(--spacing-lg); + opacity: 0.8; +} diff --git a/frontend/app/src/app/modules/mail/mail-page.component.ts b/frontend/app/src/app/modules/mail/mail-page.component.ts new file mode 100644 index 00000000..9b155d31 --- /dev/null +++ b/frontend/app/src/app/modules/mail/mail-page.component.ts @@ -0,0 +1,32 @@ +import {ChangeDetectionStrategy, Component} from '@angular/core'; +import {MailService} from './mail.service'; +import {AsyncPipe} from '@angular/common'; +import {IonicModule} from '@ionic/angular'; +import {DataModule} from '../data/data.module'; +import {IonIconModule} from 'src/app/util/ion-icon/ion-icon.module'; +import {UtilModule} from 'src/app/util/util.module'; +import {FormatPurePipeModule, ParseIsoPipeModule} from 'ngx-date-fns'; +import {RouterModule} from '@angular/router'; + +@Component({ + selector: 'stapps-mail-page', + templateUrl: 'mail-page.html', + styleUrl: 'mail-page.scss', + standalone: true, + changeDetection: ChangeDetectionStrategy.OnPush, + imports: [ + AsyncPipe, + IonicModule, + DataModule, + IonIconModule, + UtilModule, + FormatPurePipeModule, + ParseIsoPipeModule, + RouterModule, + ], +}) +export class MailPageComponent { + mails = this.mailService.list(); + + constructor(readonly mailService: MailService) {} +} diff --git a/frontend/app/src/app/modules/mail/mail-page.html b/frontend/app/src/app/modules/mail/mail-page.html new file mode 100644 index 00000000..ea43cb5e --- /dev/null +++ b/frontend/app/src/app/modules/mail/mail-page.html @@ -0,0 +1,34 @@ + + + Mail + + + + +

Inbox

+ + @if (mails | async; as mails) { + + @for (mail of mails; track mail) { + +
+ @if (mail.envelope.from[0]; as from) { +
+ {{ (from.name || from.address).charAt(0).toUpperCase() }} +
+ } +
+ + @for (from of mail.envelope.from; track from) { +

{{ from.name || from.address }}

+ } +

{{ mail.envelope.subject }}

+
+ {{ mail.envelope.date | dfnsParseIso | dfnsFormatPure: 'PPp' }} +
+ } +
+ } @else { +
Loading...
+ } +
diff --git a/frontend/app/src/app/modules/mail/mail-page.scss b/frontend/app/src/app/modules/mail/mail-page.scss new file mode 100644 index 00000000..c484561d --- /dev/null +++ b/frontend/app/src/app/modules/mail/mail-page.scss @@ -0,0 +1,33 @@ +.avatar { + display: flex; + align-items: center; + justify-content: center; + + width: 2em; + height: 2em; + + color: var(--ion-color-light-contrast); + + background: var(--ion-color-light); + border-radius: 50%; +} + +h1 { + margin-inline: var(--spacing-md); + color: var(--ion-color-primary-contrast); +} + +ion-item.unread h2 { + font-weight: bold; +} + +ion-item p { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +ion-list { + margin: var(--spacing-md); + border-radius: var(--border-radius-default); +} diff --git a/frontend/app/src/app/modules/mail/mail.module.ts b/frontend/app/src/app/modules/mail/mail.module.ts new file mode 100644 index 00000000..849604a9 --- /dev/null +++ b/frontend/app/src/app/modules/mail/mail.module.ts @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2024 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {RouterModule} from '@angular/router'; +import {NgModule} from '@angular/core'; +import {MailPageComponent} from './mail-page.component'; +import {MailDetailComponent} from './mail-detail.component'; + +@NgModule({ + imports: [ + RouterModule.forChild([ + {path: 'mail', component: MailPageComponent}, + {path: 'mail/:id', component: MailDetailComponent}, + ]), + ], +}) +export class MailModule {} diff --git a/frontend/app/src/app/modules/mail/mail.service.ts b/frontend/app/src/app/modules/mail/mail.service.ts new file mode 100644 index 00000000..8d3383e5 --- /dev/null +++ b/frontend/app/src/app/modules/mail/mail.service.ts @@ -0,0 +1,26 @@ +import {HttpClient} from '@angular/common/http'; +import {Injectable} from '@angular/core'; +import {Observable, map, tap} from 'rxjs'; +import {EmailData} from './types'; + +@Injectable({providedIn: 'root'}) +export class MailService { + constructor(private httpClient: HttpClient) {} + + list(): Observable { + return this.httpClient.get('http://localhost:4000/', {responseType: 'json'}).pipe( + tap(console.log), + map(it => it.sort((a: EmailData, b: EmailData) => b.envelope.date.localeCompare(a.envelope.date))), + ); + } + + getAttachment(id: string, attachment?: string): Observable { + return this.httpClient.get(`http://localhost:4000/${id}/attachment/${attachment ?? 'TEXT'}`, { + responseType: 'arraybuffer', + }); + } + + getMail(id: string): Observable { + return this.httpClient.get(`http://localhost:4000/${id}`, {responseType: 'json'}); + } +} diff --git a/frontend/app/src/app/modules/mail/parts/mail-attachment-text.pipe.ts b/frontend/app/src/app/modules/mail/parts/mail-attachment-text.pipe.ts new file mode 100644 index 00000000..1760c0df --- /dev/null +++ b/frontend/app/src/app/modules/mail/parts/mail-attachment-text.pipe.ts @@ -0,0 +1,23 @@ +/* eslint-disable unicorn/no-null */ +import {Pipe, PipeTransform} from '@angular/core'; +import {DomSanitizer} from '@angular/platform-browser'; + +@Pipe({ + name: 'mailAttachmentText', + standalone: true, + pure: true, +}) +export class MailAttachmentTextPipe implements PipeTransform { + constructor(readonly sanitizer: DomSanitizer) {} + + transform(attachment: null, encoding?: string): null; + transform(attachment: ArrayBuffer, encoding?: string): string; + transform(attachment: ArrayBuffer | null, encoding?: string): string | null; + transform(attachment: ArrayBuffer | null, encoding?: string): string | null { + if (attachment === null) { + return null; + } + const decoder = new TextDecoder(encoding ?? 'utf8'); + return decoder.decode(attachment); + } +} diff --git a/frontend/app/src/app/modules/mail/parts/mail-part-attachment.component.ts b/frontend/app/src/app/modules/mail/parts/mail-part-attachment.component.ts new file mode 100644 index 00000000..ae196561 --- /dev/null +++ b/frontend/app/src/app/modules/mail/parts/mail-part-attachment.component.ts @@ -0,0 +1,19 @@ +import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; +import {IonicModule} from '@ionic/angular'; +import {DataSizePipe} from 'src/app/util/data-size.pipe'; +import {IonIconModule} from 'src/app/util/ion-icon/ion-icon.module'; +import {BodyStructure} from '../types'; + +@Component({ + selector: 'stapps-mail-part-attachment', + templateUrl: 'mail-part-attachment.html', + styleUrl: 'mail-part-attachment.scss', + standalone: true, + changeDetection: ChangeDetectionStrategy.OnPush, + imports: [IonicModule, DataSizePipe, IonIconModule], +}) +export class MailPartAttachmentComponent { + @Input({required: true}) part: BodyStructure; + + @Input({required: true}) mail: string; +} diff --git a/frontend/app/src/app/modules/mail/parts/mail-part-attachment.html b/frontend/app/src/app/modules/mail/parts/mail-part-attachment.html new file mode 100644 index 00000000..7ed688ad --- /dev/null +++ b/frontend/app/src/app/modules/mail/parts/mail-part-attachment.html @@ -0,0 +1,9 @@ + + + @if (part.parameters?.name) { + {{ part.parameters?.name }} + } + {{ part.size | dataSize }} + + + diff --git a/frontend/app/src/app/modules/mail/parts/mail-part-attachment.scss b/frontend/app/src/app/modules/mail/parts/mail-part-attachment.scss new file mode 100644 index 00000000..28bbbd12 --- /dev/null +++ b/frontend/app/src/app/modules/mail/parts/mail-part-attachment.scss @@ -0,0 +1,21 @@ +ion-card { + display: flex; + flex-direction: row; + + width: fit-content; + margin: 0; + margin-block-start: var(--spacing-md); + + outline: 1px solid var(--ion-border-color); + box-shadow: none; +} + +ion-card-header { + padding: var(--spacing-sm) var(--spacing-md); +} + +ion-card-title { + font-size: 1rem; + text-wrap: wrap; + word-break: break-word; +} diff --git a/frontend/app/src/app/modules/mail/parts/mail-part.component.ts b/frontend/app/src/app/modules/mail/parts/mail-part.component.ts new file mode 100644 index 00000000..53032d80 --- /dev/null +++ b/frontend/app/src/app/modules/mail/parts/mail-part.component.ts @@ -0,0 +1,48 @@ +/* eslint-disable unicorn/no-useless-undefined */ +import {ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core'; +import {BodyStructure} from '../types'; +import {MailService} from '../mail.service'; +import {AsyncPipe} from '@angular/common'; +import {IonicModule} from '@ionic/angular'; +import {ReplaySubject, mergeMap} from 'rxjs'; +import {MailAttachmentTextPipe} from './mail-attachment-text.pipe'; +import {MailPartAttachmentComponent} from './mail-part-attachment.component'; +import {MailPreferredAlternativePipe} from './mail-preferred-alternative.pipe'; +import {ShadowHtmlDirective} from './shadow-html.directive'; + +@Component({ + selector: 'stapps-mail-part', + templateUrl: 'mail-part.html', + styleUrl: 'mail-part.scss', + standalone: true, + changeDetection: ChangeDetectionStrategy.OnPush, + imports: [ + AsyncPipe, + IonicModule, + ShadowHtmlDirective, + MailAttachmentTextPipe, + MailPartAttachmentComponent, + MailPreferredAlternativePipe, + ], +}) +export class MailPartComponent implements OnChanges, OnInit { + @Input({required: true}) part: BodyStructure; + + @Input({required: true}) mail: string; + + data = new ReplaySubject<[BodyStructure, string]>(1); + + content = this.data.pipe(mergeMap(([part, mail]) => this.mailService.getAttachment(mail, part.part))); + + constructor(readonly mailService: MailService) {} + + ngOnInit() { + this.data.next([this.part, this.mail]); + } + + ngOnChanges(changes: SimpleChanges) { + if ('mail' in changes || 'part' in changes) { + this.data.next([this.part, this.mail]); + } + } +} diff --git a/frontend/app/src/app/modules/mail/parts/mail-part.html b/frontend/app/src/app/modules/mail/parts/mail-part.html new file mode 100644 index 00000000..b9fb555f --- /dev/null +++ b/frontend/app/src/app/modules/mail/parts/mail-part.html @@ -0,0 +1,23 @@ +@if (part.type === 'text/html') { + @if (content | async | mailAttachmentText: part.parameters?.charset; as content) { +
+ } @else { + + } +} @else if (part.type === 'text/plain') { + @if (content | async | mailAttachmentText: part.parameters?.charset; as content) { +
{{ content }}
+ } @else { + + } +} @else if (part.type === 'multipart/alternative') { + @if (part.childNodes && part.childNodes.length > 0) { + + } +} @else if (part.type.startsWith('multipart')) { + @for (child of part.childNodes; track child) { + + } +} @else { + +} diff --git a/frontend/app/src/app/modules/mail/parts/mail-part.scss b/frontend/app/src/app/modules/mail/parts/mail-part.scss new file mode 100644 index 00000000..404da90e --- /dev/null +++ b/frontend/app/src/app/modules/mail/parts/mail-part.scss @@ -0,0 +1,9 @@ +.html { + overflow-x: auto; +} + +pre { + font-family: inherit; + word-wrap: break-word; + white-space: pre-wrap; +} diff --git a/frontend/app/src/app/modules/mail/parts/mail-preferred-alternative.pipe.ts b/frontend/app/src/app/modules/mail/parts/mail-preferred-alternative.pipe.ts new file mode 100644 index 00000000..49b21acd --- /dev/null +++ b/frontend/app/src/app/modules/mail/parts/mail-preferred-alternative.pipe.ts @@ -0,0 +1,13 @@ +import {Pipe, PipeTransform} from '@angular/core'; +import {BodyStructure} from '../types'; + +@Pipe({name: 'mailPreferredAlternative', standalone: true, pure: true}) +export class MailPreferredAlternativePipe implements PipeTransform { + transform(value: BodyStructure[]): BodyStructure { + return ( + value.find(part => part.type === 'text/html') ?? + value.find(part => part.type === 'text/plain') ?? + value[0] + ); + } +} diff --git a/frontend/app/src/app/modules/mail/parts/shadow-html.directive.ts b/frontend/app/src/app/modules/mail/parts/shadow-html.directive.ts new file mode 100644 index 00000000..78a8e708 --- /dev/null +++ b/frontend/app/src/app/modules/mail/parts/shadow-html.directive.ts @@ -0,0 +1,18 @@ +import {Directive, ElementRef, Host, Input} from '@angular/core'; +import {sanitize} from 'dompurify'; + +@Directive({ + selector: '[shadowHTML]', + standalone: true, +}) +export class ShadowHtmlDirective { + @Input({required: true}) + set shadowHTML(content: string) { + this.shadowRoot.innerHTML = ''; + this.shadowRoot.append(sanitize(content, {RETURN_DOM_FRAGMENT: true, USE_PROFILES: {html: true}})); + } + + shadowRoot = (this.elementRef.nativeElement as HTMLElement).attachShadow({mode: 'open'}); + + constructor(@Host() readonly elementRef: ElementRef) {} +} diff --git a/frontend/app/src/app/modules/mail/types.ts b/frontend/app/src/app/modules/mail/types.ts new file mode 100644 index 00000000..484cf83d --- /dev/null +++ b/frontend/app/src/app/modules/mail/types.ts @@ -0,0 +1,44 @@ +export interface BodyStructure { + type: string; + part?: string; + parameters?: { + name?: string; + encoding?: string; + charset?: string; + }; + disposition: string; + dispositionParameters?: unknown; + size: number; + childNodes?: BodyStructure[]; +} + +export interface BodyPartInfo { + type: string; + name?: string; + encoding?: string; + size: number; + part?: string; +} + +export interface EnvelopeAddress { + name: string; + address: string; +} + +export interface Envelope { + date: string; + from: EnvelopeAddress[]; + messageId: string; + replyTo: EnvelopeAddress[]; + sender: EnvelopeAddress[]; + subject: string; + to: EnvelopeAddress[]; +} + +export interface EmailData { + bodyStructure: BodyStructure; + labels: string[]; + flags: string[]; + envelope: Envelope; + seq: number; +} diff --git a/frontend/app/src/app/modules/profile/page/profile-page-section.html b/frontend/app/src/app/modules/profile/page/profile-page-section.html index 308b92ad..cff4822e 100644 --- a/frontend/app/src/app/modules/profile/page/profile-page-section.html +++ b/frontend/app/src/app/modules/profile/page/profile-page-section.html @@ -39,6 +39,11 @@ } {{ 'name' | translateSimple: link }} + @if (link.beta) { + + {{ 'beta' | translate }} + + } } diff --git a/frontend/app/src/app/modules/profile/page/profile-page-section.scss b/frontend/app/src/app/modules/profile/page/profile-page-section.scss index bde1c548..c8b85bc1 100644 --- a/frontend/app/src/app/modules/profile/page/profile-page-section.scss +++ b/frontend/app/src/app/modules/profile/page/profile-page-section.scss @@ -50,6 +50,13 @@ ion-item { } } +ion-note { + position: absolute; + top: 0; + right: 0; + padding: var(--spacing-xs); +} + simple-swiper { --swiper-slide-width: #{$width}; diff --git a/frontend/app/src/app/util/data-size.pipe.ts b/frontend/app/src/app/util/data-size.pipe.ts new file mode 100644 index 00000000..40e1df7b --- /dev/null +++ b/frontend/app/src/app/util/data-size.pipe.ts @@ -0,0 +1,25 @@ +import {Pipe, PipeTransform} from '@angular/core'; + +/** + * Format a data size in bytes to a human readable string + */ +export function formatDataSize(value: number, precision = 2): string { + const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; + let unit = 0; + while (value >= 1024 && unit < units.length - 1) { + value /= 1024; + unit++; + } + return `${value.toFixed(precision)} ${units[unit]}`; +} + +@Pipe({ + name: 'dataSize', + pure: true, + standalone: true, +}) +export class DataSizePipe implements PipeTransform { + transform(value: number, precision = 2): string { + return formatDataSize(value, precision); + } +} diff --git a/frontend/app/src/app/util/skeleton-data.directive.ts b/frontend/app/src/app/util/skeleton-data.directive.ts new file mode 100644 index 00000000..89c59148 --- /dev/null +++ b/frontend/app/src/app/util/skeleton-data.directive.ts @@ -0,0 +1,7 @@ +import {Directive} from '@angular/core'; + +@Directive({ + selector: 'ng-template[skeletonData]', + standalone: true, +}) +export class SkeletonDataDirective {} diff --git a/frontend/app/src/app/util/skeleton-placeholder.directive.ts b/frontend/app/src/app/util/skeleton-placeholder.directive.ts new file mode 100644 index 00000000..de5a4fff --- /dev/null +++ b/frontend/app/src/app/util/skeleton-placeholder.directive.ts @@ -0,0 +1,7 @@ +import {Directive} from '@angular/core'; + +@Directive({ + selector: 'ng-template[skeletonPlaceholder]', + standalone: true, +}) +export class SkeletonPlaceholderDirective {} diff --git a/frontend/app/src/app/util/skeleton.component.ts b/frontend/app/src/app/util/skeleton.component.ts new file mode 100644 index 00000000..1bc36d89 --- /dev/null +++ b/frontend/app/src/app/util/skeleton.component.ts @@ -0,0 +1,22 @@ +import {ChangeDetectionStrategy, Component, ContentChild, Input, TemplateRef} from '@angular/core'; +import {Observable} from 'rxjs'; +import {SkeletonDataDirective} from './skeleton-data.directive'; +import {SkeletonPlaceholderDirective} from './skeleton-placeholder.directive'; + +@Component({ + selector: 'stapps-skeleton', + templateUrl: 'skeleton.html', + styleUrl: 'skeleton.scss', + standalone: true, + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class SkeletonComponent { + @ContentChild(SkeletonDataDirective) dataTemplate: TemplateRef; + + @ContentChild(SkeletonPlaceholderDirective) placeholderTemplate: TemplateRef; + + @Input() + set data(value: Observable | Promise) {} + + static ngTemplateContextGuard< +} diff --git a/frontend/app/src/app/util/skeleton.html b/frontend/app/src/app/util/skeleton.html new file mode 100644 index 00000000..e69de29b diff --git a/frontend/app/src/app/util/skeleton.scss b/frontend/app/src/app/util/skeleton.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/app/src/assets/i18n/de.json b/frontend/app/src/assets/i18n/de.json index 48a1a1c1..7fe7a217 100644 --- a/frontend/app/src/assets/i18n/de.json +++ b/frontend/app/src/assets/i18n/de.json @@ -8,6 +8,7 @@ "export": "Exportieren", "share": "Teilen", "timeSuffix": "Uhr", + "beta": "Beta", "ratings": { "thank_you": "Vielen Dank für die Bewertung!" }, @@ -386,6 +387,12 @@ } } }, + "mail": { + "FROM": "von", + "SENDER": "Absender", + "TO": "an", + "DATE": "Datum" + }, "menu": { "context": { "title": "Kontext Menü", diff --git a/frontend/app/src/assets/i18n/en.json b/frontend/app/src/assets/i18n/en.json index 66af8a05..013aaac4 100644 --- a/frontend/app/src/assets/i18n/en.json +++ b/frontend/app/src/assets/i18n/en.json @@ -7,6 +7,7 @@ "back": "back", "export": "Export", "share": "Share", + "beta": "beta", "timeSuffix": "", "ratings": { "thank_you": "Thank you for your feedback!" @@ -386,6 +387,12 @@ } } }, + "mail": { + "FROM": "from", + "SENDER": "sender", + "TO": "to", + "DATE": "date" + }, "menu": { "context": { "title": "context menu", diff --git a/frontend/app/src/assets/icons.min.woff2 b/frontend/app/src/assets/icons.min.woff2 index 76cd6dc31484afe913534c010295ac722e192fca..ad7ecc107156673f9e1d4762c19df0c9b0f0130b 100644 GIT binary patch literal 113296 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 O#ySLJ zTo{tD-s`SQW4$73$CaaD&idJA6u-*+U-1#4k{%q_ADWAN!P_h?z-}nY|KN>o516;J ztbZMBLoCQyzg8S!Ov$_f-zgJ{31zhxaQC~h{UQ|t2qWngI?gjS^Tyll^dNIe zKIazo`!62+RuFVefj%cvy|AIW{d{XIi}IiZbpxFc3^RSz0}%R4N(A9GEVi z!eFRZKvvK8Hwuq47@emi)S_>ou!|86hBI-=_n4C#kgV&h1CluvAyPnhg4qkJna5B& zPnZUk+_BUL3`+6JYl$`_ahO%j4MGDUyt=Z0_R)6^RsI5)7zjHFq*RuNR=D<)6?@X4 zHLm?^L6tOUm23YEQ7Je;?a=@@Bt$kDD`v!sxeX?ZX7IV`Qj%;W*o6yD zK~gO2a`>6V7e?chBnQcgZW^aor}E2aU`*Ed-jf6+ywxXX3b~s7D7pPDzRZmDW83C4 zX44F7U~Rxci*t6oCYWxa9Jql^vUtz5EdHac3BCYQg*J#;32~OeUW!#lW>H?kULLkBW{G@Bl&_qGn_~}SFP0k1c97~(@5_>ugF7Y9R!2!H z^hO4>jq%L~%+SpHH9J!$%mulA?!08<_%^3pqm}^F4EP1Gn+aN=Kd+f>S9;~;<9s;3 z!hu@R;1=4UxoqX>VJ4QXPC&dVxW>j9T}5wo`9yx_LW#to8^TsdhQl0qK*x}Ussx9lT#y-oG+xhD zFY|omP2cu`DbqIq6*vJ|)tMQQ*}5@cON=jL3Q8clU`K*NRPc41Fgwx6!oZA-{f?o- z6%?M*n4^_G|2&Ib3!zXh-Z}s=9Hb=LtGcQPt_ZZsCopa#{qbA%ZZHbYE_1zE2Q$?y z!gB%b0>5eyZXyR?<5+3om&)e}F)baV;iq4`10cgJLrji5mNUJXWcAzcwG=~W->)#2 z9IQe_gLb&5Y~JEg<_)A#4tVA64-R034MhsWp*QDoIpEDGbtU zmn5k)vtB(ewi9f}0#1xd$b{@p{z|3SL+Z#!G<|%@4<2rtXr`_!zf|vitqC-EgcP<< zU(}l;@bT;P=BcJ>+!bPJ7FUB8(!4YsebP*H$4H`LA;r`O%)VDM*tTY^_JkLXvVSEz z)1Ut17+%tbj7wP%1xcJZgAtl%^B;K_@R$c7Z%+n` z4t(WXnq>9{C%D;V^T&)DgWhLvMM+in-lm55N?+o@Ud*~39>=`X&6=zeA5YFlOq&-r z%8jWf<6rMeasFk8iA5r^T!*#S`m0TNZqYGc&xbgdH+AL~hCgO^vT!&3^QyhXSNVE& z-O=o4DcMqDh?6YRrKi$sei_HOuK$MgeB$@086=Le)-*2wZY(nR z-jT4F`9diSj0I|P6|Q!Uw)4PcR3h;2BOY+9Ewozw?jMHyO9;yuNf-#65Sm#xU#yMJWB zQ>et2Ym9$d-|>}b+J)bR&%d%C0TR$mk6Y)Ye`C1tRFOA+w`p_U#-%3EkqD2J2SUA7Wtt=AyXs% z9)^xGcpKyU+QrXbvBRxxU3r^j6Y~#2US+oUWb%!L$(}-9+2RK!hlcxG z{ncn319prGGqgFV?n8&lXyr`UGF4*Huq4U$KI2sWO6kcX#-*pF~lPTF!&$HD63 zEn?;Adb1u!(F95Clx^jw(ncDEp&%ej!a4#VX%_(iS!1Jx6d*>wQDzC&BI&lIO1Nas zJ82#;JcK_&%O~x)x9bN^jOk`8K4#yF+72O(O_?FXOf!ZjOVcJ#lUk}!fsyV2BR-tQDUx25n7pBCsrJO6gf4vIa0ohL-%7G6@^6(Icmt^e&CvVsp909K^&uNK5@o~ z5&7~fRI225^W%9eu5&Og$pg~3#;~bC0+N{x*n0{|Sv*s&Rr3j<-9kFk;ql{_VS*HP zA1MHc2oMsyS^HM-<`3+bEv<9Zgi*lDnqqb3Qo#7)?bT}MHUw(Tm^4?m>vyEwGhR^0mnfj!WQnb zDVH~Z&jCnsm;{cZ(%J%kZCFZ3&I37`L+hvlo!*#rUmj2u3e zMAeGjCP@@mcPII1vj4|VU!8+vubw82=k%Ix_l<1w$2{oUCZoLH9Sw}h=)6>KU`i19lWAU;0!KbPlb z&PoVm{pZUB!4Fchw;lRcUoyKX4y4TV74D^DpBjqkFW}vm)UKy9P{LzkzTNifb@LKD zd8pnyLabi?`neH|ezYx4cH89iWgg_U`{wCJlc@BECZtk>+(xXP4u@?XN*V7XN3R??6D0L$>cA1oE{% zWA=v*gwC*UPX4)L9_4t#=lNyWWBSp-(|3UWv<}Q>!Omp&6U^zCic4G`9#D{a;zh7_ z!q|8uG`1l6WDphFY(``gsW6yqv}sD)!y}IiB8U&I=}gRswx;_pI%ZspKf_BWcD767>J(va^^vAd=alHw-SgJcJXxxe=ws zg0AMqPTvnKYBF=tZ#^zYv|_Xiq*X?4plF3XOJ>O69seW8TME4kIdR+g#)6Kl z0*LGr$HWj#M)i`|NjQlFQ9yW_kpSB zJJ5`L^{TGDbg$6sdtl+*b#;_F}1@F)|S1B=EAjhd~M5O zT~8=EM`5&lZb++zRy!JBBq=l200_Uu5G)v8@fCG z9d*n7pgGvk_G_4K_HBhKqhIO#{oLv_w0-;hxedwx8_qz0V+??Rb)vgJ3Q$|s>4%;> z{vGv6_k(7>5&yxruv+-2^ffSnM$7=Zk$1gfa8=br%Q$xGIfr%d-($0<%AS%{u}%v{ zghY=8D?mL zj-Xwn;6*OrECN0nzC%ub7LcF?cy;hJzlkd>=60lp zIIGG{XjZ?&nGq0MUsc*ft>83Y3&mOe6h82)&wgaEPeG8oA;+CCMx)4q{eA9xJ(K?; zh2mE^^6te8uToB%0u#X{pk5+7eeYj)$2N6mO>;xN|rJ5Uif?^EHnDVh(P-l z3~AQrOtwf4J~Qw*6j0_bQ7yX31Af_SF+bJjCKGt#KixYvf{Qwi2V{z_ww(gX7f8g`~PTnYeB!(2f;{}{PELjuWG*vL^9KI z5R5%fWynVxy*nG@!9u7!|Bu_o_fQ0EMi;AV+GTvCd&U_Bqa)TF1@G2$j=w?jWe|Tw z9e;#h(>IlOlCf8`V{(5x+K8PZl;->FTieB%*WgfTkOD5;}Qhe|XngY$V7ZS$xv z==TtI<`ioBA(lFnjP{75Uq2Mc)(42lKNK6%eyHtyHNJL9rnNHH(uTB$MgY6|2vjvr z{)1X{5s$45mvgn5EJ`(TflA7#K7vX#&ixM`SzjP5TCu6iziW|54#)`dTj;$gf|R&W zXpexBo4uQYQ;M|Tw1o#F|u1<+qQZtw`$7G$g$^N z&7Y(^Q=c6OLPXd0myIN+u(E1Rk^o5+8BKI=T|3%$g%YxYBVZtBgfS#0Q@(D3I}76f zVS*m}BK{<_(MujBR)vxBdA= zuMrpw2Zo~ygMDockz){O&8(IgO>%OM=q4CpFbx7H^Lt87!`#EC;|A;5wM9mfAo9&1 zS}Rj1aD$w)?;J2F8@ViUd;SvO> za4ELK#a(N`XB}C#ABNijWS<`ijQF%z9Gng8^i)C8EP8}I5-HJ$%FVoKdr~{dPfpTQ z+JDrcUC%~H$q*!YfHP9S2J%v|C8z@4s|s&!C%10xy3+WjJhlJKm6`WqbluU(^XE4c z@lj9InzWF_ghs6^3A-av3cDvIXth(S5qo$Et#3OXA5!{+rdvEwkr&H4L|O&0^{3|B zu^AwcU_=xI{5EavM_aL30`ZGrCZzKx;~_E^pq}p9%4zOM@zG-EsjX^I?22cHXM8Dc7aTgIZ9^=N2WYXzaN)@b&f%^6wt~n#3)u4`c>k zZuV1d|IHRW^1J(Ba`rmZE+**`j-|~0hvR1QfL+gd6#v69=X`j`qYnD%YCHjp3R1gE ztjqNA*-e%<8HU7ZeHn7q-H<cW z;*Ay~(~nT9s6t0nR&%o{JMP)m+fz=YT=0{TkP>Nw<_hQYH(&#ua`6CIvZ$anIr#kQ z9c9u5RZvgV;}F)+Mj9?i{8@?xN&`IVXTiu(oCH89ljT3NPDV6kh=)aWW2rp2L)AyH z-S2{9oQT{Epc;jystprVUZyPA7m^j-QP zOEGBN$c^f+yX9vG&OZUNZIbg=e50D%YN0l$caR7`IloSr%c5ckcflI`UrnTA)id;9sS=B!OR^+!w#R#Fcbt6&W*%G<-aN~wBn zZaY1q*t2JUoP~X@X*jpNNIuOPv&TLc>v6Gd<2Bb$wPW}FTe1>97!f7;ucp!KnD<=c zaXG}W96@#d1U78HFQ$i8Erq>r1j!a%Dc6wMghTKmaPPwbBiJKCzY=2sr(JZ!vI||d zb}vF#&87F=(&GkTk%PCR-J_doCC#%8gLaTs(S6mt9r8bG`pc;mVg0YniT85Fyz6^N zqUf+~8M>64=`~F@*URf(Mg6(3#G;Qg9b(a<&Vo`de)knQtkg^ToHNVlf5(Gxdv>ut zgTkGzLodn)7b@O$Sw0ulD9`+RI(sJp01(iva!K`l?{=IC!Ef+^7^u_dr zGxJ*k@tf(pi(6_%NWZ-fL$`;dM1=*P1oll+*-f=lG_dx#1#+pw@5yjwFiqSgl|;CTbtpJM$ld=?!_?@)=`4a?yX_vC`dF= z>6)8?KdN}{?OM)godn@Ru8IZYCR@5(C3=_hHP#YD-j@TGs39;fG!CLzTplN*s{0}IS8xe zoGaSxRLZ(oMlRbcolE&ARJO4dfqP5guy`90pOW%%8L2}Xx=2gk_hH$Del#i+q~29I z$o<)EIJ9kt$`1Nb=Feo3tu0aYdjH*g^&)8DDhzCd-IIm<{Mg`-mn++c|J=jRFi)-= zkDy&YpUVw~OXjsnKnf^OAkGOhJtBx5XStaO>8}Y`?t1_ihEphMFyx!evfYYN>lYV0 zcut8_6#(IUlY3HS{TKsa?4`3^fVHPs`dtsgCIeX(+VWVo2nV=J6DEcPqk%$WlFil)AD zJoqHTX%K6#_l8h96{bp)xOjQM*7M$218+R02bHjco`I zWw&MwRgJ*Hlr7?EH?kYE5*XN`=0PXl+vguXdwDliC0kFx_ibO5++mfK#*LqM?+I3r zuZi~kS_(ytpLg#ObFIrt520ICy0vL6_1|h|d*w6jlXzuD;`zt;Lt_5P&4|t(et7#c zoPI8^e5%13g71*vJXuw0NjB6dR*jjJAUks8MI_$04MUk<}Y34O(rt?!~=<@UjI&4Bk+XA?=?utH@=d*Ag2 zkb5D+BAQoXo*E|VK3{`WoT0E90G z-l|3qVN@zd^ixYDH5xsz0NOXpxcI5n7OqX9o!0-W2B&rK9h{(z+`)bD9n9L$9Vo$f zNK|ORc&=clNB`CFO)w@Divw16u#6ZqVy{LcSXkM^%ASr4tBmQP*g}j?`V!uMv?Eb3 zRdWP-OM{!f5)YdY3x`lu{!N`^E*@Qgn^L^Nc@{|&HT%;P17?}K-9-fN4{djk9k zT4{30rGS6}Y=nA$nPM`GSMBKH~Na=0Z^7$}NPTnpY|P`xUMx&>hV z57-{;!Uzc&OB$NnkP$CI5E66&2ScF`guqB(u_b=Ux+G$(wUc3sW z7rd^el9peW@ps!yNi0eIkkn|rGpFi19B1&rJG%nXVZ<>D&H7s`9Zd7zSz@1K0P0gg zpAJh`90hf}ZNUrLM2}?OF-FqTPij)g?#s~e;*f(v4nS8qn8_N(xzHurH9tv5K02B}~AADIR65UMC?Xro8 zN;w~SA7O6+J-M8G&luAZ(;!NERc$>aRi6uSY@%bD;l_WR`L1t-lm+G|Xm|BaK`Dq7 zh(29$j6C%*@K0P5XIs zz{LH&w`!823T_eZN}q0HM)EI)Vaw>dSKd=Fvg|N*aRI5KNRLXS0$V~4t+=C=WxtfJ z^%HGExS2*N4xeFjAYi2)MH6cw3 zu*z4E#bL_v`5m@(BxY+&;uMulC+d&ma<1(hX*-u4@qFi}+3-)0bMjttkL5_bMhwCg zEF)SzUyG_6titb4tAE)xI?Fq{2R`Y)9!^dE9Xhz5q`{K;A$vPP`39N4fmh7#N`v{> zkJ!BvJ_#h7p`$u6lVXHNYfJfVspMNH_rjN_-+5&DfXW4LDP;HGk`)|er#X|cQiccB zh704IQFAS&b|cI}*^Qx@gh|=T6^e}9P5BE1r_8&MrPOp}79Yx6ZE}r8aDNG$Ekq&R^ zGM5xUaogJ8SSWwAKb$7_p2||{rr1Z!WVOGCC0%DiWoU}41 z+q~-HZ&IoN0Ygqz<|PxSYbcATsg#`{g$X}ZPAgO1kFp-G>L_$5{E272&38C1XpvKL zpS*E=v^_BaK|2*Enoz%E(Mj44oR0LwgY=nB2fmXC#L=)mZHLdYi}`$hv0ALYSiEYI z8FvtGDYvHbI?uhMWRZ?v6Zv`SkI-MEj@z2TUZ~WauV4A-F1Vp>-|(3dk-CDR-1{=M ztE(^~y+q|HQN7#8^9OtJqu`xj$_}mO`1r1A~erp)%k&I5QUEu8* zJr_N9Kw-4UGr~wuT#-Tf_*2d@7bPw+&XuXMMdBGft)3Y#mMf;%f1UkK_CE-32EeW0 z3)lv3OLN29+{9dP_~}2h>m1)r-)w&GdJPyed2$cjXchtB<_3F3S zu3Y>S^PB%Y$qtm-OwP>xd>3X)|1sn-P46cEMfe=t3ND84?t5*cSfHvwaMRan4MPZJ zVk}eZz|7X!+)YLnAhJ#N8e!7M8l80oiSPv&d2dD^IWMraxg)S!o?A$h#*(uSp5`qE!}1vhdHHXO%uir0D9 zgGV7yuMH$Gn5o`29zrXx@4*bZ|Gz@h*7CSN{>~tw;Q7RqV)Gay5#3YP#j+&$-t6!N zM%oNi(v_L!XL;%b&%Kuv3Gq`04yP~nrkIC3Tvn?Y+EE&yMUKt*xq^r*Ijo-1%wCBw zz*5LQN37YKwv75D1O_~QBf@(-?7nfd=OwU|+6@t$XU9J7c+#IQdce%e4MCi-3M%fF0PeugUjI|&wlD2We^VD9I;V2b@? z?2oelMffofZUt-La&fJ2Duj#+*W*-vzTEWmocA1f;XKZ5^ENzZt1a}$_qDt&F!TeI=8A@*9hDSp4HtNx!9v;qCnAE3tpEZTVwpu&oJ!e zDR^Y>*xDN_+^ll(Dm2oVYo;lYEqC*uoVXQLK`Y0)fCm;3&Z0PZ*CX=uxvlVnGIH(pSNT!v9cObIUau=O&BOFP>ZK zp60m%OUQn4c}EVnb#K6VXh_=7O1)a=c`YNJ+!yJx=0fMFr*x1F23nIxSlfF@OhC)7$M5f@%IC|I@g=JB$byPYl|{FL>pKYMLICj4^4Ix z`5DQL)mmJuOLS0vNwW@UzSDZb^jBNEld@R0F8xWhaeIxgHAa=IgF4jcj%RS;k9nT+ zH7D$TIc&pL8z%kj6=Gkyik-2&a$ z>i51oOTzml=y0G9nKR?L9jrS8dVlWa%$tqG+P{oiTG$AQmM|ke$DV3ZRsp4M4qBg} z6f?`h92c4-INUS9gmwo;gq%~ySbjm;(KoMX;l%j`Y-0vSxw)6MjxB5++XuroW;>ih zqy8bne@KX+HMYD=er4sV*OlP2(gzR0b;M);j%)D|`Ap+F4>-{Q;yh(aRV+t{B!=Zo zOMm&hA6Z&G2$m(0jGxGcA9U35!FP^zR&B|A>>;sk%_Yd-wpLrnla% z)m!ZYF{wr%c$JNjn)(?HRp+ZL%cXwro()S+95Oyfe_7;w*Y|O+;yyIPrfX}fSrT2% z4Y}2tJM1|`;atwDt5TeA$R_l0Y_u577NX8ljXv;R%He$HLR^4|+p-FMh~p}5Vz!dw zRF6?HkA3LEG~=C4No;B;7khriP1PddsKHD{G(N$-sjBfNj1~sRm^g7 z75{bn{vvSJAJg<);P)|a4H@A}cze>Jz8RB@xoU9YsCme$gSp+sw67}ma+#)-=Up<+Pr zRji5I%cne%H+O1uJV-x_>XYa8GI6^7P>M(N>CbVt7;Z{Y>UAqrD9IeBr~Je`V3tvg zyKohFV3Hka#Ts{0ZkT#$U{@3-+Z2*#GqPR1SlQI@+02}&NwhRjLc=A=XWsZKZ0;3e z9s63OXDzfG19&JG2OK6+!h}W$WHQ^Q8-Br$VU4<@p1Ba|6Ucl{4vq(^KUJVv?>IHP+I%z)mb%?!9P_%B8dthg{>0x3YD>vQiI-eo$jL@M#o#p(6@iJM0 z=Oz8;Fo!<57kaA<_dJs`60crrllM{sh{a6F%Y4mqt)%u5b7s&2#~h2is^+C;*#kOf zBOkM|mZ(N)DG6CNLI8&2Zr=tsJvT^#GkB0@ZS!iO1EjFHs}rGmrA!Z5QeO74!x`$p z19ZzF?@q{PGE+&UeLp&!e|h#}8aY}QKS*SA7tC*=p zV{QdExkVu#o6|oT@Q>2v@9?soSTo)2>+AUzER(R4Zxl{$>&u5>$1vkgzxSNOfKyOL zYoEP^C3bR5>|n=^QNu*I5*Z8CdJ@@zxEAoG5udWx3s~LTM!Ep89<( zV!xjGK~G)bt3I4bgfVGMMhMNeAyUo2i$GP?VPsYVOFC4aEkBGBt6tZEmDc5dnm{dy z%D@f;ww>C}mj0Z>b4dI=e(W;PK{DMcFAdM`RPWi*Y?OywW}OwZNDN??ELyw4H8Cj| zZ?F2KU}DbIa34s?yY!#p9Psy`Cg;>f`+bDsJyf1sNMWiEx04w^zy#?gxN>IvdyzNC zS>W`^Mio^tsV&Q*$@wRqt$?nhk?{ZIXKm6%AS5hy^Q?-+`~qJod@ z@Da)PCTH}|6X}roKr;oUve!*@Pg@rw961nsK8;**eFBg((mi_ZQK$gInK$Ln?%I_S zJT8L>v$)!`01!1}Kk`i_cs&8V>W=ZX0)Q%U+hCj2?gJer-Fsp1VAx^c0HXuWYSyFA z_XWS-`_EZ+OY!=HZCrSjj=LY6c=BI+{Ofk_*ef_S`CB~k6v|c6XLAw=3af%Xr1oH& zgskJluC6FF{D`i~{z>;y;<52=xxe+`g)LPTD4pGlGpK4)Kr;II)>so{)IXU5Z^yXm zG>ttlR@MF8o_^OjjVrOXAMJ?FhVOSsLJAAFIv}nWGck6n<>a<`{!&MIpHz}PtZl9K%3CFR^FBiz=$oOaWXkg-KV z@B$RYuL&&jf;MFIZjMPdiB86tUM#%?A$LN8*XXE1bCGvz{!UMmD2X4ECx7yog15QJ z-yqrjTu%yfqwdOsx4eKFi*+#l@Pm@Av#CYIMm$Ukbcph1(_4AdJ8^&X*4oJ1vm_nG zQm}-;o8)oK@YhnlD&zw@@TyZMSMQd|psr_|(6&$17ReqHkM;e78ZK80c^-GylxHLn zEU+HXaccDb96xtO^Jki|EN=k&F*q3rMksuBwjw+j%Fy|u5ST7|=w)O;7(d*>0z0$I zLC6IZa8QW~fH)p_ ziNo)&L0P{|aE*iIL7YDqkvqr(h-BmURldgxFGr!-L*~CpH`VCll3j$fY(ookApmTR z8fKs94|#Fr3*1={wJ+RCh4N8=kvK>WSsoRa&?8clLL$V8mTzq52)w5fP%ETL-eGMo z(jyu?u>JtbYHk3>=5ZVfAdn@fJAV1r$r3IZMwN+t2%mZ=yjSV9aw{?pjLael0TD1p z@7-0unN5V5;)6k9lG+zCHPX6?{e%G3<=x$p(HliH5yuh3j20M)gX9YI(NtMX`(>A<{C9{O zi4R-ES~oU%`lvbbXd(_hWhTy@>XXSuFK$%KeTOLAo4BS39WsZ$DewlG{GiD5eA#S@ z&Z%5Hwp3yk)2b(70T?jGU}%&Pef~+P@fa-Z02ta~EOfx8w2fdl)(@Z+#*C=&C5^c{ zfvp*4fPp@?vY84h-9lYOs^9`HMf+p9qwYIps=BP1SZb-omNGg@?=#=Ik|@PRT#*sy zn9S1irf{mRBA15A9+pSl(2zsa31c=Asv&2XkqWACOHoc$O})2$>*7GSA)Cj1Q|J5J zKYzliR92BbV?&QJOBvo_(TEvjG&pQc1U5e4{mVD1B1i!*xV&dbwrq7ye#4Y zmiw47H-y-dMIY-zRt)5=j~T0=*qNFEhcQdKC&`vVz&9RebeCJ<&S>9CBB8*4y$$dN zQP*W^bN-@|%IQ6wHjVerR-wn9m8sO=4_aGh70gE=sdm*@GHv?95lKnDT@ynR#W+|b zv0N|kX(2Bq@t^|~2^7p?Fu*8mp*8=ud4(K>r z3k{a7sS>icHcqHo&hXkW((1$+6A2qw=??-2*LrSC65+U>jG60@>2Be;%&s&?91#Yr z)cJYVq|`09nistoWfqG$pDx$13wg*--vI^HlNbMcqOhvQSb+qg6P}k2I-`8l83>k@ zyYzf`);SxV3j}X!@81kA!yo^S?e6#FFstLe$!LOh_M7cydj6xlJ-FUtyJOpLg=892 z{EjowY=?FB!j{~=f3o=0TKSncP~_K=B*qDm_dq;%U^Zw54b*33!I)arN^43UjC!Nt z8g(Eh2&F{JHgMN=F&3Iv8fc2>pIB^zjh2#^tH^4-%OjUb=!dnn8+cxOJB^|jgVc~+ zx5;zag_UgcN^YzW=PLovp7&zlg7?PWYlc*ORZgcuA_NOKsD^+nl5G$=k?xm(9}E^$ z9?~svrm88h1f}OYn0hm2-H#b7)g*Kx-M=3y~3qLn1Sy#{{sLQFwN%0el3Z5O_gAT&kLf zYIPwT12Q(3nI?e6#avDJ9Q-LSjO?n;%@`QsGOrI7WBqvQw(YCf zGZ9NBvY?7>59_N`&WSGy)MIL;7_YcX6?V-iIf(=zmxltObhhGx6ue>UqXu9=ANL+g z7S^ds`*bv(M@ERMG5g6i%i$cjwKT2CV~s9ByH^$bGAdNYvhIj>$oqF^aaF1dMhgL_ zg_n8t6gSH>U9JU?er>8s?Ts#n?+}e4a9u`JHeic=u6WQZ&L5#z)-{n*y)_%zaGm~L zG61a7*HPs9nRN-mmhy#Yb>L6oQ(NRm~19oa6 zW5+9t-Q<8+!KH!?iz>6K&t-a;Gm=QeVDq^Eu=l2+R!A;_6masy8Z`mFI|P#M4Ttbx zcatswCtGzG3MXSqq-4Mnlp$)A5+YG%*sq`l330%U#I|s<*)nyBKA|a$b0J#mQbig) zy_)-GWZjg_cEin(32VqJRYAkb1@vGK_m=ok4CK=x{)V<%HGRw|6{#G>Ki)LdrEnYaT!~ z6eE#yQ{G}VjZr~$(yU&OTlMQ57xl(2euim~WyO*>pbB2&Rx8SWl7t4w#r0`Z!r!dz z8vgf}#bQdc5F&|~yG4k?IC$fe!}XjKhc(X;^(PN$9^kb+gvgUrh#~ZeXSl{BMdJWw z^(>I&RVDSYWV#>CHc?(fYxj-!RjEgL+iF}_i%C6zQ>F-t?`w}MowOZf#Fria6s!@&udvl?-)L{|5D3YruOrJs<*0w0 zw+B>;hmjqyp?y|qxpJqiR=L-B$Tr7Tay}rQiGcdzmycflSXA0dg%F1Rn%fY^Vw%TU zP9q*)O;j{yHhMX1gvAs)Wzz@?Xh+Mu)r;~^Ep-v3C3!%I--ur9te8tpOn|?f z3Z^vG%$|FUQw<@M=?kn1d#SXX7UIo+TD)*`w^M6Bx&A12S&*)*H84`5~THv5P z;_;l=P^dUxfo2jqGHpxI2}kp({b=4F5E{d9^iI<@Up>Il=R2F~QwC6k{DjvkeiZD& zvT3%+#DEf`UjFb(MzE)vJ>*kU1A2Q_J2%xAS! zym#kkzUJ2A8t(P^-AhEa9!wy{m=aEeqB5)Cd1^V^oGU6^; z2mebjdwf$Cm70nsA?Ijn`;v$$aFqvk=Q1;kSa9BBwi-Max$RHVKj>h|`HXoZVkzt1 zV_W=MYyGaci9pLZ*u6D1)}KF4rNIbDg=kGhl0<=Nwv9{0q@puyoi`n52VO3kjCFbe z!%WS?4bCs&*Z4b2&uA&~E0NeSo#yaCgonbx!?NV=QP%knrV*fMDQwJ+e`l~F=n%Y^ z6-1qckn_kTLl8bnSKy0#RWq-S9(EM->VYb}s{kv}wUj@u(>%jmv7bO%zgL;9i|-JR z@vb&{u&AuRczoli9sya*W+RiP>~wY_anUA})QduuyI8G5wYw~ADHN!ku9!)OX2rO? z9M05A5Xob=nx^8=zAUsj8dZwwc*;SEsIB~R0Z3$6Zd_N$;8}ERxS%<8qJNH!dp3=L z&KRO0jf2xIT06E!QR(?jzF?K7*ZJNHRH4_A9DU%<_dt~MR3h}pxt7Sp=pKonNxt#G zj>e7aef=QTi~z-b(yH7P8pKSFCbgzR!PN&zZ)gU^oDr>!h>c68&P)BbCNggtK@3=X zt=i1pwT5ccEiRX)W6iKEx4mmA>iv(K>^DC0Ai<1VMrq7P&^c!ULr!!n8X;{E;$Yb_ zt&>*)ytIOCc2@*h~2t;AoGqbW1bOwo`Cp9}TQfM+SWx>sDPxd89$4@;UCv%2oG7825ztG3bZJRvOI?E5z< z5H8ERSw0sTDvQh?`5SUC!omtat<6n_Eg>`gPZ3n?Zx2NlwnmlMUhbBHu=h7Qn7UquEeEQo%sykxzBKg(1xtz9j7Y6^WiGV$kdjPk}EHMmgELF%c7B`Qkkq=fh8>h zyjl*VV7%`G^!5=0*Fn(!c0|kGg{U10p>IQyqv(1nuikC`V(NZkTJ;5l`S5VuQ;Exp z%*I^s^qx@PC5XLR@-nxi#xIdlD2S13h@w(cp>RLm2uB3E|GKDz->YI7x%~9~H^4Y& zh<(1ex2wiHjyY~X%Fn1W?kA&VdX1a903e1$UvW-U-#>=khIlF-577f{?>|7Z572Zk z$_gT|%r6&wH9xwu-eD2b7_&R9-MaVN+HELu9-+%t!SbRTKPFNaj{&Tg9r)#`$TS`! zHhD6bt(NVaaZEz5-5W20WvDnFWOhU$yel3bXHS16H#P6LKY)1uIKBOIIa9AZIo_Y7 z$erqAsJVN1>trG=c+m#}Ln=ND5DJX7ekA$C2fCMKy%VRV9ylStx>4XbtOa`~FuD@DDt;JD!i}Jn3Q3Fm|ZyDedsX8uhGu z{0!pA;cfKg>XtnvQMJ;>0N5lD`>nRyXnd8uMG&c#7+{T3A>zY|EVY>k<+#5d=SL_8 zLHOAB&(LidnqQ9u#F2uZPn()1wFDNwYn-@r$R3)O?)bv@X-$X`sRCtn719n=Sb^&a zgr$+b&K+`s!YjUVK@z8d>VogLKyxE7`l@UWRWWVMwrhv&|5Np(PqFkQG4%tz%J&Gs z7|U9SU=2)J)N{3L(|f?;wg-APt+Z2}!b5i^zx;ZC_@sT!Hl)c};Lx+({a;=Ta1=Bb zQB;zf0e%f7hg#5n>+5;>rim%Vrur#vT61>uw#ol4_XEtg1?@cIFzk@)_ntA9z7PDt z!yuY}1ziYX7(o!r5$JuoO_cG33$Fj?_XEa7zV|Std%pZp))!FW75dNiHCYh-s&JJFX9 zr>1E<SKk~K6RII}PuJ-AVAYB-uTcLnRp?kUc zFL<$hAnOOIV+@J|U#SBD!Xm`t2Da0W&~?v z!1)-1ivVQI#be25{t56=gzv2EL(Tw5K)1gx@InYidR}O)-eKkJ5o@HZ9Vm3vG!Ymw z_eRa=V%C!86{H<$17vP(fWDB^k#*OqYb)k!Wz%x@33IRFGdq)#w^`x(#3mhb87osV zd;Cs|IkdTxTtxM*cmT}$8GqS`T^DT}L~@=J;kwaMJD!&_9|Ip5hq`x(x$qAPtEAJ9 z3~uqgp@ijfqtWRP`n?e&3hTN@=Bo$q|I4PIu&Ya?UlT)}cI-Z^9Nkwl<_!1ZxIub( znGa7DptKY(-uFEL&V9H!jb(Tp%5H_}Vrb3HUpslHJQ(%uvE9$oQqbACDJvS?oqj}Y zA|F9`?v)TNQYE8g2apHK$o7?CpbzE*!1}R3W+eJJNQD}FnSc#}(@u(&G6>)&a~{lx z_#J|U(4zIm=)ZyW)T{|Fm7BI{?Rr&5YR2?T_-Npz)h zYbX*ur^xc+lW?bjwbkS8@;>kkbOJ>$j-gr!B7Xjnw(r)Z{7BAqXE>A6c~sElIV^*K zzp@K~Qz(7e`B9=-Lv+6l%Z!qJ;k|4JUQn#W#RrifaoYMgVkCPUZvTCZQm?~Px-4X7 zq|9e2AT^sc0|K&IGki|YAK+C=6pcpC%pHWp61~sxP`TEE4guMQ&VUtprTGp`HwL~> z_slnur5V;(Sb~=F6zb-!mcX?VRub~N00glJ>U~Irn%Y*VKFK+?yLZfB41qm2d*`9M z?_%`3Y!DRCI^)qn=M{Si2NjK7pHh=jF=+#dECXtczO##HCVUbV?%`f$8#NS9hTg(K zeaIZuwlzV3B*k~@Ht-!GD0Q4a?R8eEQ{SkCwwEO>7p0N;5Ia`+62mbL84o$R{);e2 zc8_6f7)l$zIGDz?(!6Wivdh@Lz9J=~tVuxDi$&9`ctI?6<+wzPSjj5@XMu%4a<)UC zsdE}CJqldT)kAGjAmLN1+D5gc3l~zz{3uD$vT%mHlC^%X$Sl&=sVZ+D*naiQDT&uP zpn?c&H`eeiQ4t~!3+ljp87N;WH-*i1I{>~UO^hivY~bKq5`k&aze8Auz7O`N+Gk)! z1k;Vgs<=npe{%kBLEn)Qf;I7HL4)i}fl33qj~bBJ(-pPIQ+bR_w;wZU`VsWc)7!8^ zpDFFII8;Sx3zD7CVxk4)7PXhcnq({=H^z{0c?8&nzzbkSFrv)}P)8dsZkr)2p_f#9 z%vie11Cu6QKp7F6(~V|LT+^KWjepzL!h(HAM$mCH{5bH8r@%H7YP#R$K{Gg_8JLM)3Dapu`u;TqSr zoXip_2HXRJI{m!zG|~r$5>XhB`9~Bw*NGX^_hQ+7Mr$0oUm zGt!o;j3EFa^w_LYm2pSN_PZkd26s`XF`Kp49tXEPMKi4>sgo)-q#{NtVo)z_4XG(< zvTrn3a;GFtjSG&D0!x|*RJ9L9%7}4k@|9ztp#*|~rTV2cjW9F3((;Hr^)2fB&WaNKWIbsF6`h?|Hr+E@!^t?x`LOof#KZ+?(lh_|fb7G0g8ou>L*z zH_{s~LApwrNnp#Bf&H^eqTRo|bZ@?=FCH-g6sm(mq`SrE8mbU>C)vVfU-`xVSzSU> zqgW^BXJ5t+KU{YIHw`R^n_V}MzlxXzx<_tkP=`l3Ok`C=g$Sr*MQO<9e#?8pxpk?u z`_#g#m6UaSaTJOSF?VZRRNoYo+kz7oDw(8-B_b@!BGn+!u+xm2A&n7wr5`Ev7{nDxzFX>Z-;Kh|aRZ4cob@OsBu11JPWsFJ z4q?ibV=T2yPPw(8M-I^BB-h!T$x?d7je04kIQT8u*lI> zj5#geAkj9ad5vXewMx__@SIM{YN^%h>9F`)^Y}~5^IX?4oI;oYn;Ku}&{Yc5o-7RCQ1zyQ-fBWA#lx0#~GL|tA-YhR(I>6Xb4 zOcvaxj-%L_I<7GA+cns~bWKi$RP!1AJoDzqQUtTW4>EEf3+-4BH{nYMP?_Qw;v~(} zT0hm-HLBxZf}dh6z7O!x4p_f6`;E*57Q`Za3rP87>5$JWv18Xf!#uFVYoc!P7HHXW86eyS^U;{_LaX#&{n5 zP54OytogHTz#@o`>$vb6_-Zd#^oi?Q@iVf(J^W;x^BWWq<@nosk$73iZ(ftbq3@b* z`@Q7ervh=0k&kP(c zv10;CMMt~+QFnR&(<1%)@(Di6M{_f(`@@I?ZDhoarRYz|5HMMszD-jOr%>% zF(zY1L-@V(ji1YcxH+%KakG56nSX=#eizc+Z1FrFu6smy#DR4-o>gz1 z*-fCgSPc3Yi3}Zgs{_tAmm6h~xkPI5b|rg1!s4(*L4uyY87$o_8+D&)nb%tuZen(Q ztF-h7H%5MGmi2t=`13O|!>{q<1|?SyFz1~icDK;B`_vDG_g)?fA7M}G?0ES?)GF0K zcum@hgz5bA6x7?28TSBwCp!lRJCP6NEqG^W_0w1W3R|%zu4>7-;J*ZT0P`^dezJ{N zQ~0S!HRl;GiFeP`Jdt7O(O(?K;UK9+0zfv9?f>94dFI?TcB>yIB&>6}utK_K35{8E zK~ZMNf-Qph{b*XRNm?!@i{PzIqq)g$sZ8CLEu2S9=|+!(x0-SL%iF_QnASGqwqR?A zRe1rG=OwXjdypd2YwPF9r6S`*+Y8(Jmu`3SygTl|(ktxNHUP6jsIr4Z?_aV*+ch0m z8#;gqLl(Pil#KIr)!AH|?*FE!pUu=&F* zQr?w3)$`@zzy9yfx?TAAIF;Qe>hjHOqZk8>t}_y;cTqHpIFKgMTXa z??>QGdPR$Waw$Er0Dk@3c@!hP5MQJ5;FU)y{@0DxH~|Z9o6()fxHu z85xO7x_j(;+yk%HPgVuekBP3nllx*Qd3uGet19hh+sH*qipE8orXP#V?6;}r+b#91 zaUN%GM21?x$=H0&YYdxR*ME;BV;ReCPbryQi+7Cv=94r|uOJU<7;df}Jw-l-i}CXS zDV_|HMe*1=NZV~36B}CR1hk&5OSnt{t(8xg*PFA z5P{xs>X7O$tEF2sA+o|;%8++5ymH*Q(cAtayZhVaE2WZY>k)HU(zWHe7}ol)S-W0l zQ%G&T^Ey0XG3QV^N*I!0l=IL~q)k=vKrz{<(sKWGpP?Wh7K6#DPG=Cb$Z-OK6 z)9r*KE*?WT99G=xLrDd3ci=2R@v~qF%=ba50%c*969V(L>Ky&&da6uJVj4))&a+q! z*aUp939cq_4CR5!;tkwli1#IIKIxt z`{d~(pAJ0BX@9i;jUFP+8-h(Y5Lwii9BiuN4{BfMqRTf4MJx&;WS9YPJk4AmoKrSofJPRD zg&SXK$k|E6^B#w_);8qwg7ftJHOwGfCGim+{(+|wmm{`a%o&zJ>0l&LVO2ULQlt!p z>}F*UP;ucNq$+VdCH*Fm;z(25m2RKg380_QOAb3wq+5$DW9d|LvnXH{da*jy@)Ru= z7!VZixRLO-1!E9f60Rq_hXe8r{OgfKlkW#LLX80}s_=vv+@t@%lV(_zs@A%1)K#&X zrqnbsyx&J4BSa8pS&+OlqDo~l^FTzo0T9sL37Dq8^8s?y1RQ&^H=H2Lk0C}<4@zRk5UE@XFn<-Y_Ca%V}qGOcUG*)S-%D)iS0S6w9?94LJ zMzbHiW?ffc_3&X(ox>7sQ_&J)Rq2Q_pOw?H^8k1&ECf{$q~z8tI#xke0anNvYf_RU zzCR$AXBtlA5NcH#-ZbK-q{In`f}1j_lL``+ywOJ(WHrBT9*Jpka&BL=ltLV}>6@WT zfvT5=OMNEKGENX;oV~!b8P#s5;Zc?KSMpDL55^D{ua{^p^0w61n8A`=Q`e<7GFD*K zKQAL1SzpSJG8LMYiX9iu>bwnJL;d}r$2_@Li2=o8+&5N5ZdD}pm+6s#L4Xi1OL@NT znYV0iN<)>2NM3r(GRd*>rTpi;G0b8-?Dt1^R#Fin_%Gt!U*iG)NX z5;fa06NM|(NsA1ETt^UbTc@fFiz2L*(2-KHnBPQ>3nA9AI!duyS&T%x-pnp@PH+Jk zzE%)wLkSi9hPsc3(t?i}rPp`e@c;*(lLb z+S?B@)fM7*_}vqM;w{P$3j*XaU<-~#mYT5BFGVwc@o&yLAFX4ijrGnjJ<3&rpd%rh z@ifGhc;x=IB0=Sxi>je&Q%YsR)MZ~sXWw;@kr)^zSr)I}JTvBhcHW^pwaUD5F)yr+ zBzQ}BQH{ys5TEggCfuCQU-;H&1s)n(*uLo)sL!!;bIU=Wt%Ll3pm7{PDb2V)=kpt9 z1D2erYs?fLw;1lPgT5dKjDe;or}EID{#(m+9TfJOrI=lDpe!$r*45w*qNo^jaRadM zU^R#21(;_WpLC2=W$LJZOh}H3aNKYqyDXm}DCG|!lk#k0MiqiFB>A@R1mw|NNKNACn3P@YKGO>r9{Stc>h z>@q`|Ax39&%X^g@Rgtx5k~J$oTW3H^ocIoQHh)=ev_C&-k*z5klmcsWa|-ac0ohR& zOdE4R*XA$ki7Q_ie>N{Pl^m7TVE+Ng{u8c>@sj`<$Tk>lj2?XZP2vq}ZHrq>pz9E4 zx1J*5#sl{=BR4T`V6=`kR>4B&UF2vN5!wki;(xk)x-U6)Yk_yB<@+JqQ8o;+Iib1x z;gx^xewL7XXWd(uc-yW%0OUU{hkMvE-ovFwS75CV-~!&8cLm=CEOKCdKyD9ix0M8r z%MESQ-g2-zL0~&XB6A5CEEqQgg1bBm5a)j678i|2;gTPZ4!0o&>N~XaaB|ZQHII+? zJj?t_AA=|pDDSPG1>F0GOz8a&{^!<%2N6VNuT66`$s_ts?aCF$&PNA$i)K`AjyGUdV$R@7`wNI13{ zzV1>N?RtLA2wf$FFjp$-MO3Llq>|W7=-wm8n_gqzpnwpKHJITRov~XPLo7?tSVYC@ zXAatXw6uDI*iJQ2<}szDMn%_N{Kfj6_`ggy`=w{(t{_j#JYT8yU27oJMlJs8#4}9|Yc!ch4K!lM+1u_>1ZwE*i zB*Uw-Zg-5q$IDwjL*5jsqIOpPdM5^%QmMI$>Dpz>#?-IY#e^x2Oe8KFIB*iRm;J^nBV9S?_l`pmMP z14b+w_T&4VzYc=Xu{mb?J)>_z2s4zT!Y^HhFKdj?|(n{$CBuvUVzive{VwNlqvt<@xK%OXF zCAb)B&|)xH#d6n6-HFX5u5iTuTJ@z7ceGBsa+ zYd-N+SuLw_?8adXD1pc-rMhC2TGc3~)y~N90{QpIqA1%)QEDk7DKtSa;tJ_jsYtdQ zFhE-2-K9-35pg;<62Bz?x;1?Zsalo#DkEfOx~U>BPD%p@u4cJ{Cs@gt3cxv|q*djs z?lJiT+2qy|$Q<_{_#cK8Y(i$_hx4YEmaCeUaUaM8QsL>JVG#5gxAA(`X!U259m7ay zNJbDTj8KFPs#lpXGU*AYcu{ZqMk-wbEP2so3mKtnaNy=hOC>>0y2NBFC&9~tYkT~A zGQr!uDk^lk4XIN$I-LN^k&l=04!D>egZ$>&!Z(gdUA(k!g-c}ioA^b?h0UxvZFmZ| zdLzv6%+OnF1~Q{DtI=G68WcL;Nbz0K7RWBnU`=j#Zm;<}%zSHV^2jSHZi2@77+B#d zHNaArzX(s`KT|%#{rjg6So7(Lz>B>he?~vpgZtshY)=a5HU2*E*BQG9Fd*(3v;nOa zXi&}9^xkirA60MA-+Gthr}5=g3HkEgn|W9tZVvY6y@&OQ0UXm2Ze|dZ4s~o+j({$> z(c|AgQ~@==3!e%FAX&T?UQDck-uul_DYXW|5tjE`pdE&P*k1UyTdjg>Z;*TG8dBv7 zRi+~8Nx~ad`n{~^D8{Flj>e1d8*YSz0bY)*h58}Hm{>#Mgot_>{B`pnZ$(OE{#_*+ z&H`f;AVPtkaLYk}7`&A7E4VP>rDC8{*ckM^I6Z}z^e!xYMP{beyq|qA14Hg6w3L4+0;5%zTLjufg|PYe z3Zls>dX0}c9xt&fcjGFbu9`JGG}=^iE_;ABwpRk)ZalS|nA{SOd2HXx-=MSM`lg+EOlH4!grBd=Jw*zyK5(TcpACoydG?SAZq9AjEmOq#Rj_My8|M|D>5Yo zzV)u2L;zN9Kpi(|G7jd}@&+V_@HT_DJU~$Z$y>Cc3>$Dw%@u5qJ3L8dMZ=DC1Cukj zB~#I~x!EQ+uVwyn$6b{-fy2tb`ur!gF6~KIqU#YB-D93ftdl)|C_dod2sv)bLu_LTR2F8q zm^7eL`g?d9KBnY)PMvO>u&gHx<%D|6*A#90o-+XVeq0SMuoWt``~NHcuWZL|Bku^L zztLu{rP#SkzRqKHogKt#J+1oAKg*X>)M{cwWn<9;%Hv;%k@@W!iA%G!pH0 z1ESJ;iWDEK5EP?>)e83#PZUJdD}u<$5p(>2tJ~P6)|JZ*@#&GI=_Ii&^rUctB)PS zx3UMqyL<#Tn=9E>Sja*5-fGQBH=C}Ovlg<3{(i2$Yn~*ZHx{9wg{w0ok(oNVkl(pe z?6jGdR?YisuztoeHI4|?{ux(8XlL%eKo<*C!MHY*M93;H30t&2QY;Q{s}$}<9n0TocHIf zROP2Ze)s>G_wo$;MDoTXy}bN0EBYJ8hF=tK$Cmh8UzhEY+9UNd{3?FG@BF`$uLFPn zcMJNVG@iWsKfbos^p*d&qa-~zgVJRTi-|wwVRE~Lj*65rC6>nxRypVEu_h~$-GWCR z26qUCfkau%tuas@BkmJR+LEM`lmV4w(QH=xoE27)h4|w#n-&%+b;iDthu4dJ*t|kW zVdehhljO$u=AUlO;DO6oL=(9>zF21B4crGSf#)fP8N83sVVviV&umo-frFns{S>+- z$ip~E;!uS8(y5TbzbL^9AXJr-5CJnvp;5^rK`wNb84mc(BLN*dsn;yBiB@%o%mPik zi+L>|J|Ws?)9FqKt71)sv%nn3lJT&E#cO%jo1Q^&Cpk~=K$d&iY3-9x%CSgf&BX{xmUdA5*PiTRXU zb28r;WY~lSid42z3U*rLBmW=LIq18SVKZs8qv|e}*0x&X`+J;;q%9DsJyAaDiFY|N zQZ*nZMqY{wE2Va%G0=QcdOi{daB&)RpMU325O@$!QlZUa5NPy_e@r1cDB+Ctg6)O& z+-a-@Mz{{%@^SGW%UiWL?y5%KRu?vkwsv`_jEfOJxqonAfnD?E(a}qjfX4oTnOXAg;Ap ztz89n?Y+u+FmqN%ZMR%L|9uT=OmdN%{qAP9C8-?xF0`;c+jb64BO>kZ@;*}bm0C_Q zfJF(Z{k+xD2S#IzfL->!O}7I6gid!v_W+Royhg&B0WP0@t(^jEE4@vWvs!HTy;`?Q z?}~o;kFA;ucY1x>m?QDGI_I2Ryx|4F%Dopi)^^+OxIosgMSos8z@Ias(iI08&vb(x0rY2n9Z^;1%asg?auAuU=12DeCLk8 zXJGf(lKBs!?8{Xls4XGa;&_?ACQ1Cc%ConI5qc`}^z*dPjrVp+SNjVXLq zjg?y5K@N9o<$}Wq(tH*`U|DaK=Uv!8kJUr&s2g|)R%7#L z@Zw&x?%Bopmz|crl1_}4E0TOf7Q_xr7Mv$AenP)GNTXJgCO3~Unu_4WV5TM_0$#O& zC8zTV#yZ@&sioKuLVR3hPzXdw3}{$sZEi`Gq>3_2m})I{!$Lv{GJ8oU{D(0e-l6l+ z-60yK?q+y)3MCFha;1f5XpWS;eCVfTUBw*;K?p8+Nm(2!tj(Q%uU1L|trx!Z9PD;z zDdL0KAes&GjW*jrtZBQI(jIosm#@Af{ui(BW@5&?+fv`njMJ3D*{YzQ=6IO9S^2pe!v?WcEF;HfQ@ zMSV<_)=(R|#z0k-qhc+~Bc?=QS%Ni{hzvF%+AthdRTR&|_3?C**0Izb4%h|mOjl{y z2mP}J=s%f4M4~XBmrS)CdV}oDLDjh{-d!uET9HyJ8VqZ;Jhb3TE=#j}?b>0$1D55& zvltL$9f;B@M?$Pi{aV8kSEZsMq+ON{U#6*AeY&NjXxbV@pqkvyWcU3L=EW|mh|60; zskPH>yi3R%U?EYk!Ifip(H`6p$380*NT`NICbh0>LJUirvts-EnQSXTk)y|)thb>Z zI+WR#TCu4DOM4`W@~g4jb_N#v-m70}(3}X^-Go9(n{L7^xVhHxZm4v5;7YAk z>_3nJXs)up8ZoQ9RUsYUCVy?MWUjK8f*h2(EU=VQx-=fxv^SqN(-4vkVgIuAH`XCq zpxB(((!>LzL-63kRe<~u7QsOFuai8+K0K8978apZk9N&nj`niX+VC$k<%K`hXWLD= zJRgg`)+cF}bAo1Cew?>WT4ETNDlQyZJJnl>;QSe{b`8_0{L&zjP!wTH)2HR;Pw9j zNnK^BO2u0qb0JwGbyyS@f$P`=bu{oqhOM^hP(|-GdOve&9itpoyn9AX39Wy+|Xv$%y$bqZ%iA zXfAV?HD}nWmdtslCT~8I=UwvTWzJ96(KEost)$k7V`$lv2_XS|=U#vdPq58f#FPY?a!e(4 z8XRwhsFizg&lf9^FA!RtmzI89R4zMgc6JYT_s708{PJpbCEOy7hSgCm&>6~<(bVtC zI<2X-EW<2@Rw|k{12i(0Y2OAqtEslAt5g(zVww7UC2YoH*jDh7YHir8b6W_p*cdUw zf{W-O1yt7LChV9ZwOjaetR$ObQp>OJr+X=p7{f`tQ!iMk`pycqWm)M)$MamuP3-%6 z)t*wJy*(4$R##51?Ud@D41GTfEBramaL1~6*FWv?NJPQwVQsB5X}w&PttTn9Q!CbfSTUPmynpH`|OM3&#y_Q_1+#L3h33p*7WD zu5@mi%oW>O)@w}6^4KFyQUC;dfQ2Bp)W)3nC0NTox$ak0)bNffmjJajg9_=zH=i=P z#OpQ^9mo{Eb$|FaD17z6uJVGW5vWmlS+mG92Un!5SDBFeMXVHX0fWE$2f*82qpcfP}sh&7HAphHFERy3}S>};xE z_q#0Ya*0*%x|Jj*1PE>VRZ4o}?iV?BykT7T8I%jaT-L-mZA9j+2BX5E{?lC19!@h3 z_w&0nh8t@?Lc`LkE5S7l%1UvfhInz+C=c?S+GiUlfw)M)_gP1T-IVFN0cbK?lsS0b zWE4tg9lA~eEFLo%HoGHC7ZaC8T4vm(g+UGNQv@N5F>pD;wFP9*C~uvN$#iS(V15L% zG79_-Y{}SO1($XGUJp2kKnNNA=Ce6mr|EGSYh)QYHJo6WBL_Z}(4%>&o|9NNrFKu5 zopeOhegCAxT-OSutj+lvb~c@15x&jVQ^F92l16q!?at(Gbfcg%YdEDCtE@)6_aTD} zGkCe!oTOa}hrBM?m@+O`Ud|aMC}4g>=#srbd0zL9rk;$(qXC9FiKDdq+V63E2H0aG zp#!P9?K=}|)=66|Zh8_4ZXR&w7*t^zYYj)*a6Mvs7Q7!5gm>DDWa}qJ3<#vFmAU$$ zW=O&sM(E#U8|{ZiJg_c=vRF&TQ>+`C6KD-X31Ymj$FkGhRLRU*K|XNA*hI7IIQeuIuoinK+_r|G&_)ZY}>T$3xKT8YG3}ET62_|posIq z3=^MgQHi1@o3corLo7T8`EDGB;YQIZxMyaZm-)d|tXAh%0r9Tr-7?`cPp<{8M=jr& z_x-8Y`d?J|Az}^LLOV&!KdOcoy3n2TDhX+AOl>2Q0ByO5(3V9!9nPca#Uj$HS}W?l z)O=w96S?l(<4S8+Ixmj+U#{`tj)I7T7QrKR?lp|yXxa{*`6}ybt)qui$U^8Um^t^! z*k$1tSL3(m_17(X zHbig8s3D3+uwJ$xr7x{O`QyYH^Z&1!=Jv*xH;gMF-gMdL@CASNZo_69XTWC8_;tMTBYyGg%g1fp zq1?;5P&EHmdyNgNc(C@p&dVZCW)Vm#-*T*2Cs@$jlkPhl%GGB9HEr zt22HND+^}LLc6C$|MPGIpV31s{Uho^#xG-PWy`2{{)%;by^+`IF-96L^rP@TRqFPK z8Dy^>M$+gCgj0UJS4DVl&&!F;Y#8fdW~x&=*~x3KO(qVjW?s--1wWO~-PCPvyQ-yo z9-I`=D75$x)eSgHsYKmEVoRz!tT%$iv7$^#h)Hbs# zMj1yN!P5?9C^@j#?1e`ItRs6LHZHi3>#mmS1Be?9Vi$bO1R|2MHSC!=Ka0es4z)1C zk5fLd?8NT^%6G+5O*Cntbgs`nr z@EuK5z;2yCOxC(!WJ+XO%e&V}Db^tmqKNz2{C>L6&XExE*cdUFJR{CzXj)SzY!y1u ziAKMabJoWlAs92prO1p$MY*&vpF*itaDi2bd&@vjwkH{fNt?zoUn%A*$48j)Oz6zE z3J{!IK~h?{S#dUo8D|xLWwwkFgpPs}LTymYfd*q1nFhJJFzz&7QOT(?&3*5LZAWd>(eQ z;*|4AH^yk$(Hjt2G)ka4{Qs;JLp+V%(j8G{TMea)^q2jS9X;$$Qix}l)R{Z039*HA zYQ7OMAdd3N*Q{?>smtS#Ua$*n;ayq z3y25$f&G0|$eQdH3aOw8{0yS`jti+j4JOY%dhu#$c(e3u)ih^pq;(Y%QB=w8?Ai$3 zO%6^!ii>bE)oZ9l{BSMo~42 zk;4~7bI+9oa@j<>u5HKo&Bt(o$yCila7GNbNl0s_z)@(ncvS_Wcu_e=*Go6+u36aa zNy}j0yI24}j>qE;UnSlFD?)Q39rxr0@r&x!fj|Q?G>!naF>(G!m<0S!wOI3xX4=3y?|o=1 zM>#v9@-ipR+c3dMsjl4aS-*n*l}bFMIK5^t>y zAT)sUS|XxYR0pV(Vy%ofaxfo~S`k7FR+nGcAw5OqED?eWr!|)wx~a^$*bLP!v->Fc>6>NsBPI+p3L zC>1KC%1*h*rGQCl6%tuEF0>_0!fmM;)Q6Pe`*z;QQ3%c%2`~t|!l$Bne^^G-po=TA zF;)L`DJT)kbnJMHQaeaS-N|mH4jzXf7PDP%LM**kEV@wT>m_P1dpuyS8^n&Vtu9OO zL&ZJ#o?M=ef|{E)fo?-xlBja|4tC3?TvAa$ zW~R}RU`mDdiC=+=K@+fBIw0u}8-CC3cz|%mLOgUn+qS|_BXFLARaAaR4jvv}-uV({ zP{865PiURI;?J1%#{@43pVQ2VxOnjNF=HeOf+!tR_N5?jrOnlx`8AOr3;sWjJ=*@m zsUzB*s1j>#3yT}vhW^{Bqq>H>8Y_$~{9EwrN0(1tUwrvp4oD?-89gR=5V+uHU+?(v z=z0pje(~?t#lQ&iYL5vNgV#gB)45{wg>Ki?)IJA6XIbISaM-fu;<{OmH7K2i;9vri zYGGh;dLp5;7zCrnMH}Wl3!}fb25Rk!YkJb1q4F5*7O~>?ZEv^Gi(-;e*Ti?b%aIqy z)JQ>CORd(2gl%2-#xHR>4&w6u;6W1J64_6{>A~B>rOEws3ba1<_WJ(QL=a}dmz69O zi3>)u#EAU+q&i`Z|HBN^9@#bEs%vW?_&x$#;;Kiw3aq<+k!wJ}%C+P|p^s%8p2xlK zFz+8}vaNEZeUfE~(E^x|5z3`;ZLy4PYC%!Zpx!4IoE5f>iyUxRNzc`o`b=dbL~Lx* zFBfj$LMlS73n4g5$tXA%MwMqtl4e<|qyS!b`IK=k+Tva%r16Ei6o@G3ly@rybDe!z z=v}=z3k*Kb+7-5xJk3KSinqZ6vdqRx+n^Nge$xl}EO%WLJ)lUIi&49qe)|VIJqo#N zk#{+y-IcjN)~+LEO%7CDL?y)Q90#d7*)~x)fRMJBN7SL>)TGiQGwT7%^4-X6BB?`S^S@&h~$)PJP9X3}hvTVU> z6|#;u&wNe&#V=^9_s<53U7SI+q*PM1 z<{`x<9DrnDyAkm?ti5AR2iG#u5}lWgvz{qm9L;e zhm#Iu8?2R;-oBUhN#8XTuSM#yuTjDQJ@Ac(I4|+eM$Sm0@+k$?G7`WC293rjjR9jJ z%T}`O5{h{cq%kdAqIFh6YHKwfE6f`Pkdz}dt*3C3_T9-7Qnl@r`TSxXa|owD+7Z^l zMSLmjEDOPD7M_Xf>q+mN(dO`tdu+Cui0XN<+EK47>8;XUct_OvLL|2#8_3%lbfgfW z*VBA)iO>}+@wu=96}F=GyHo~`(tA^u@#6P&_$HdxPKAP; z8oCgafXu%$lXSw=zTii@SdL}lV>ToaVVY;F)tD0+4}^n?7L_IZ#v#5#m!ZQU8xU&a z9-p8FBfeLBwdPIrr-mrg;jqDYA{mvzX`+$0RsCN3aj9N%+Ecs|)pY^$6U)tMvJeFHvO z|5`&2j@;xVjHEl>iAsDpCItL4i*Ey6`zQj3*?Z52j9jGDz9S7QMDq-m5Y|O~4ZyW5 zT&PTyqdh7s9*v9c>sFI~Wj)cq0v60?28pfv=p(q|Or?$Ots z9o}eGMU(B1msD!F8O0*zL0ClTT#ATkJHZq_)RnRT)G)OPT8d7vY(Pfe_w`AzM+!tH zut_gw&wLSi8H^EOyC>!U_6B2qtUAjLPkEZajDnY2y;96Fo{9%6Ozsqd!k=&oJePSc z1Qo=^+-^w>yXGQa^TK<1Daxi%2oyzcL_KcclzdX5dSTk_wjO2Je3=4W)#r7QYxd&N zt82N)^?0^e%e~aacl3d3+^ItV!ivEB1mN^N zos3qpV;UF2!)$kD@4ctwQKbFKY0{`dvlTfh!gLs7aV|!rUf$UrNzVfnFQ&rlqSVq? z&bnT_*Q9i9_2P|zS0hyTwxKqupfEmZVxW2qUTCPECMkA-0se452|A2Hbe~(B46sRMw~vfiWvjI3XrCQ8|tVv#X4b6P|=f)Fvu_OY!7x{ z1jRf>rjq|x zV+5dCbS8>Z2ocR#wO%u`(YP=#4r_N*|E3N~+Grg zy1V{jN6j&Ei(c|Zq~jLBk(KQGJ zuco?rjYOOkVw9#|scK2QpUrZWi4-Ry4;0^U>xAV)e_>Jhv$ts8Yh9LWfsHKzQTr%fBz;}9-gnRylFweXe3wlC zazKs0ob&D(R`;BFWOtPuc}-QBoF>WB|4~*+QL$em;<7G5P`_W># zLdk_){>o(A_GR(ccM^5zAIacnH5oXRPi!XnWD6);3*oy~Cky~qg`F5;q#6(=rln^s z-?_?c(Gx5U(Uh0dMEE3JrK~vy)wJ(<8Vz_U=uFa7^mb$$>U&f+s)6P8=^nW(C>uH&@marVmbM4 zI1^ot2HX{-qBgs;Y!+ge@M%&+&t{06iJZFucLk}W73V_Bnis;yLUoliecwcJqRVkg z5kj%3?uu=!kre++Gx2WW?zO&wWFU?a0;+Ocrmkuc)&11^H8L6%U5;$xT4SS^cz0## znmloAK{8_vU1w9e_na)tP&|#?59@Ko6B*VJR3))wW6ih{!sW9)O{ziEMW31*u88ri zR}n>XRc)YG`Kc@n! z3C*Mb-21|?-N0t>;j#bf*`tR)1Jxbk#@32UVHp!Og`aY(_wa)^-+2Em*6;SO z@4x=$2la1TR}`wA(F#!Dd(`x%?V@d!pUfQ8`z>%{F=Z0nIsJ%J`R zKdtPsgQo3;{mIA48R<#Ipt0WH%hEH~#;@v!p50HOT2YB2!DJrnOdHkydd}F+L_13? zO=LIVCAl-oHM6b5y_1wOme#DrLB!%IIZCCp(hRTYDWfD}6mn4NuH8}ulXCp`U`!L z&x&#>1|Dd)rcC|URAY#fQ9$}s z#KfXi#CUg&W#sW?5pKngBEs%XT+$ZbC3(N~HbR z?cFOQgI>Iiv}@6#*RPl?f6<7T?%8sAj5hadRiv+IqNPS!zSiV|K@3?>O^ut;9!en^ zR5+_}=@PT_*KoCxyma)G&0dy#g)VLXaf>MYE6&ChzV}C=iEKULg?$(*POD2e7xhc6M zGoxt(K#JjKF?P&Ome)qa>SW7Oms4SpzM+Yh(kk0ExnK}O)>BjCX7t-Ag=kRWf5&NZ z1G{~&LYjd9sKgXy_-7RWbs1b3vqJ0013Wkdoe-8@i)49iM64cdt{awl(2>wBP2@eH zs-Bz)1~FtkH8pNVzl~Ce1{FT?^pbGc&f>$0w%kkx12(e{Gzn4u^JP#UZ0zS{k{ukO z?`3Rg&~Vge#)+1#6;*o$c5ocgF0p8D6Sy1T5f4WW%;c4kLU~L|c(vYpCBk9e;V%=f8qdxbPt%SY*$TYi@T%l z`6%T2A?@L?ofxtlroF)R%|!gxKovx8pFV-UO<_zu&8OV3f43*U&fD>sI~hY%LwhZ9 zz|07a$J<|@WoJ`TamIMNvxR{8P+X+v!zv=}@X4W6rVV*Br2D7SGJ3((nltk#9|phv zsyK%g4S@2c%-e{a+Jm2WuFr%nH=-FMO^yq{?mHuo65-p01$?K@JI*Vwg>CLF{>f^* zPcd+*C(>`XZFZ*#;Rjub2PVl`#0wV>9JA*ODJa)rSUWBMzyX$P?SMswq%*Bkkj}Z& z{bIIcGsc(%5FZj1M);era`T}fuJ`k{C(6CV(nL^AG=mELiVbr4FjCPRdjrb^hr9kJ z>+h8`_0pO*$&E8(#=wWM`Nkqk7gv$@sJrS#G?@!6S57IHsWskgpaRq8F^N4J;6~3) z2=Y#?Z#Nt*v1bvCQYI`2Z^_ZIU1k1@~g3>ydJJ=kip@Z@@%Ep<%= z>!(?tiPyar5+9VhWC>H2;Gcrpd?X3nh@@@2d>ZVGxNW3pN#@9VE2+A3E0@r&)bO~; z&wlo4HC(hII!?&oF|;Qk$le<7^9{Wr-sJ=L+lEiAxA9)z=DnsA8hG$WaY{g@u*Zw^ zf%_o@iO55AH8B&6!ucX=I0|uscK3Kk!cOpdAz}1v=SMb+H_;8_bR{t4+sk?p^=!0A zV1elloNf78ES-st4$sX|+xMMP;Yt>B!-zbXCSwkQVZe#h8JQ2{_WY~GzXN`q38n1^UY6v4ssAJscBNo|&1b(o~VljgO{+W(X6zGb;hGkU8TP|Iq9zR3!Tw0Sw5ZPR8dYTn=Fip_Ze*C(<2<2 zk+5b>6m1!0Imy~QL)1g=jZ7z`!YZw8jT|KfQAubITDS#k2&dpX+zTzdFBugVj#S7_ z^`IiK?0RIRa!f!})nZIZ1aVQL@>>2JCKBxB1d}C`id@-q(6^g6xs{r?u{BsMxtWhE z(gS%DsPSVtg3I*j1TWf09o9w$eeKW`3kj>}g2_C*da%9;_gZDuUd*JuG&I}-ZUDyi zN4)PC?>rX3mg%PCJt4F8eW;V-Mg0R<;={l%r*IgVX}4>cZt-4<-Zy=qdZN`y7N?n^ zeFRwHZ5U?d7`2KNaPcdpybhghTxJxtSK7k`k^LTGunO|Aoljx9g#^}%{xqf}&Ya1* zyuyUOJ9q-DwFRP9t5{Os882<|NT|J=wUPOe-wQV$b*?P;RHEGTrghQ}Uh3YXf@cLZ zkKvKXEj3*v6eSrfz_FnACl7B=4jbW-SEIMV=7Dbn{W`kuVSd3bVpyEe5xT$3 z_Av6ScXHAj`OzYsj{{RDkI#+safKMOq7)qn6%(8u2NmPP&w>cbt{}5-p~!I^!^SYO z57qSzVyA?Ije;DauyJju%rDh2^gD@FLVb)&r2v|ihl&%ouYJm7PDJ`oX1@64`S#4* zoXnJ<(b^{Y!w27xnUkGi$Z4y^D}Lj~0hI7a-NR&F3<~R?%C525r+)s)lNYBhu8JZW zdnXIy@!@9;p0aue^awyLPIB>rEbY^m&eMxWI3-w|*Zc&OKBc%YnHWUXcw1JoPkfjk z*Sbj)tyY2sdN>O=rKhm>(dp58Hq0;BMdF*)-_0Dd)h+6})G|A&^0wdVgj1Z4oC3^d zA^u6~t^5!v&Q)1}hfk~?ec{q@+rF$V7qGj;}6{wf(r?iCv_Ek>&?)6Je)^I4y2 zmC@eyBZke7>>X=oCBvQ#mUDxpOE0xV)LlzaF zRPG$yPad$_`Z8ait+CRKkjz)cgQTh@GH)#<*omyAiU0nSlT?)cJJ_;I9gJ;-qZj>p z^wUVo^fZAU$Aq&nRYQE#ct#BUo%*lEm<|&2VO7*!&AKtU#&?opWRT*P@s45A6f1ftS)3o6i#RlPL@fJ*b5ua&dTrduU}ANcFdepF2p4PmOJ(jAyI3wIW<)@ZjB z-*J?^zg)zJWcR&id8~(&QGXG-URC6~)}%{dkWOp0)y96~b|>c4HuUAev8QZcJ2aW5 zV`_fijaaL2O?OKX9e~-T7$Ji0-j?`kz_3YbzLQxLGrYyS6>F8@_7Id=VdZB*p!wAN zUufV{Rk}=nCo6n;@PoM1kQ-K$p);;ks4c>Tr(1={SbwvMEgZ@x$NX9M03rQ;!%4!b zNz*r_fJg{v0Nx_b8%4@KzPqzB(pW?o!Y|J|CFOeaT}`Gb03SvR5Di9 zAWV9 zON=1V-rh{iG@);U_#SumJS>R_(~_>8$Avu~nqMl_7hnzKz~$6rMU;{YU>B415ynIV zw8NVOg3~IK^kxs!0=r}_$;d{-+GkUok+|R}jdPWz`hyS0CP?E(g(53cExas%uZi@X z8eZ7L@3mzW=e993hbe{&2t#Nl#~D~o5c47^?4Q&4h)Sg?6SQV`vFqGBx3ly--pU5% z6nFgeB)k}#rVVem)S%A2b)F&{^kBL7CRQmW<$olOmwS&oXmmv@Pt7X3nAbO>Y}L_h zI$g~{7fbU;&dv8W5u#R3`c87-f>oR|O`StGYfA{pT%O?IPD~{!kCQOP)nqSLob3RX zT+@jbUgonTX__9Uh4Dq2SqgIp>X0=6*{#qwNz2B_bOY2Z2Q46v97jY%!lGDYY^}$O;R$!Y{lgc|)|4 z&Qkl}vtU$}S*)6oRUn@Pp~^j4m_UdIF(xhomP*;O@$vCx%a$x#HooRe_V-dl?=0{E z5xUkNqNXf@`zlweYA#tITK#-&k2d{aG1!8N?AlBeEfE7t4krI_xU}$~;w&tI1?^h< zE`(}7RD1C4m#RWRuTSI{#2|1FX!f<1;JWRW1)oqfNx|9h!aTP2^OGr( z3!FKcP5}~%m#hUNe?v=$*J>$(`^7yG7nlJnGd%K=3G zJU0ex*%#jz-2PADO`@Ip>EyQ29m1rHxq+q>0^U$Xq} z0Z~tX=Z`2^>;FIfhvBJB|Kj%khav}!S>Uq`INXdS!8lY-(79gT0_od2q;2%!adKKF zl3tnQKJxadDZvM~sM1QQ7v(7&OP&u|c(zl4ow4q1>TFKp0O?yvUx-AvmG0c)sS)h| zdGc!mZ;`|t!!7(GXcsqy$XG{hhi35OTFm=6r^C)PwXGrMWriCBW*QswW>DCZDAW)xtgA`umr>{=B`Y@6ox*WRoJu4GKF^Ond1YJ_7Y(&d7 zGNi6cH#1kuXHYvYS_-uQtFVzFl}bk#Y#&;Gx*O{ZL}MgR8nA7FSd5JfsiMRcj#!i+ z0}+XQ0Tyb26)IV;DwTA`;3@$cSI5h`;%gOcIm^18PNQL#jf?fHL$g@v3|vcDoq8pr zS7s(C;VKuHv>lf*%lf2ydO9$_*3Giv*u36k!w4WK=a8q)T(Vl#etCh+npJ@Jm)>Ce zr?m!o5rtU>MuTY*`+;iHP+t;n#k!YHz1%y+uK#B6xc$K*ly6{W)lY~L~>obIe;lcxn1&_Um6WJsmb&CCg$^Hh;EhIlK$ z)Nf=+r4qR7vQUB=RENg}_7-%g)M20JhX4w^v%|izRb@O+SmyZ+8AksK2SoI*Y(Nz3 zIYG+tTRlHW{^lbSuw6g@sK?+=6*3j3!ED z0=CO%IJq(v1$;PTNzx|%^2xbRBSR{c#+fT*@d=9a#YHSAUKQ!rQ=ui7CU9RB5_$u- zR_P2%r4qShBIAKLJUl#c1Xd6T!}D84xJuXf>Xg*fh8{#MLk4HsUYS;CxWB1_`@%Sv zjANo>i{~-pY~U|}|Nk`}h*CmgbXJ(|pP2~5UdkF`k=-(_22<^Wk5JWlMY9h4s`QZw zAkZA>LA28uRRumW0o*5glBA~)BS#9bx~#!iaiK%3xZ)vEQx*~=g$8ewltg8enNegF z4XA3#DB_HNgd93{NhO)PlbL!v@ROCnNyD5|rb4!ft4Ca-tTFl(Vd-jYg2XFlk)Lr8 zO0b~3p?{?!j8^GgTi>8g1!zM_P9lW0ceInvSzBe%y*Xixt%i1;`?i^GKQQhD&67t2 zp&{5_;DP{bFhroyFqQz-3JhPmhMM@2IRYH740m)KLlp!YeZiQ#Wm9BoOhX;8nHq&1 za>rG((;&i8rvv6Xov|kBfJ+gbR)gX7a*=7zz6M1vzF1Q`^&6d@q-!H$?We&s=|zg5 z5Mmm(PJwbD6J=05tQVfNRsYOn1#b9w*_BPF=r){yI!9EK{@4;Mbf2eHpKH>j?VwRb81l+}OLx-+CaFw3jil3HY!zb7^L?_< z%J&bpvk~l104n!qBkc!4b!-o?(jy6kSRAKMRX+e;51M-O1OhO4`s)r_C8WUnK^&T0 z2&fJ!84J#df;0zO2o+=#4yFf_+g12>Q@LH#2D)frz|k75m6*TJiY_**IM-Y-VaZj3 zxc$=DHbEiK9{aqNO3~!-Iy|%%nl@TVT$%;j(|~`>6cRLMo#QL%)E`^&5-cOvnseW+Tey^5d#l772##%R^}B zS>n0Bx$iZkTUHf!2e*A~c|@V>A%696xSxVj*0i4?EKry|NrBmbjw=Tzg54izrG&z`|aa*K8lMtZfkns{^ZfWGW*9mU6$yz zzSW}Q@neb#OC zV~>1{p?P}v=)?c4H@@5gKQ=2TKv>pl&MziA$j7qGSV!2$llXCOjvcA=~Hsre3GPeIKq2v&6r0>@4r_(4z1Bd^9ulSvx`;M=# z4EnD@lt=*vNhtiAzi{-M@`@E*a>*y@lDRJ)A0M8M$ESyP<(>Idt9yO=0FDtw?P-WI z5~nDCg~@l>u$xSANG1-NGsWBM!=8G`>Xycuc6K& z(ZkMKeeCLk@hxOqvvl@y%WB6}wZf{Xs^xf-kvb;o0?pu=HsyXyn{9VA1Y2S{v zsVZq0ELRi zwj3h%t~4a}t~4ax@<0!oXNCmh{ti~+UM*9F2qbd!-@pf?vgi{@hq^DfY;x{|T3_V2 z%D2IeHSYJvmV;+8QqpEY%+7eADY4(ThHfj{OX@rB&4AMOz?%lSeERcxT5Xm?gnZFM z_pcGJ>&=~VzVz3)Z{;s2AigMUnJ62Vbz_$C5ciAm&pysR9dKhW*1^$$pUGhy;|2l6gcQ#tliJ9~svbtzXuTfo!dMgkgMK&_8afQaHA zWD*_UXGE4`Tgw?Cq>Y7=B_y_Qc@~uNsU)k3h1<2M%Y?92F7Ng_rvhE&M$`@3xrL&3 zD5yNFBJLE;h_h&3@+0|@rB`v4BrznH6OxMFBFqV*j-zxI>D^!j3s&G)jaH|3KJ==% z|LYIOmMTGBDD*yOW>cg8*nG{%{D7AyY33PPTD9%7H0gI@EOejrBF9}NSBpDRzfJ>K z2K1#~MUlO!yvGvIooS_QF4-DA^u?5tr)UEj6Ap~Ji`sj3%FTs%?;Kjc8Le-}UFE3_@u zOHAUFiNu$a&xm)jbeh@@po8c52&;P0JD!UPSLZKO6VDi2f?S{4NQzW2T zmg%a6*t$}g2^Cty$QDVmM41>usbv)TV0!N6Blm=(Nv(R+ldEL*N(1uVUF&tD^ij2D zNYieIdBt}#w)+(atTHckE5Fv~7(qHXBE8Oz>k&hJOquPPqs2+x(h?4B3)gEBkCfZ*et7l$2f_|yxW^IL*$FcvfmUU$ro{qJ znYzZ3#`BUNDRJa0=uVuRb}N#dFcbLXow@-@$ijwm0DhyiQ444eXhZ)EGR|N7}(G%O2uw9JO0CQ>9hvCEh`fM4<_oR-+y3%B;SvZw>Si6}+Z2I^1YL`pC3xy(Nss3L4%5X-n(zfvCCzJ!0rpu>3- zR%DTnJP0k5v*atl1rqoy7ti}UV(~|B>3vQ5;2#Ah+;YIezI{bxycT@6Q=xr!#@oAN z+Ks9J_*H=tjA!8Os+MLu&5g!s|E$gI{%QpAdTR|ABakHm;76V-mq!ink#(TD^-cBi z@vv>;0roYWGiyI=Y=7eE22ihe$aSvu3(hKHwuZIa{zdCw$1l18zw>#{13A!me zTNYs(q(SiBu(&NOdv>_tB|Lv8QXlIlcc4q5U&;;`GV<8rmtaE+KqM2(riB`8&3m>{&VERiUOI{Z@hyKZ{UaY^#HV?6W8lC!ePu8E_dh3GXUdWRFpbiVUjLZ>{jq6|`T1 z;?T8miD{;S80#0g2Dp%k9y*jn+}g?gZKiV$K(x^VXX2WOk}yZAatfAa|Y z^GZ#rca)~;0jMh&8NVj+e!Ln=V!*RxC~*DJ(dXZvjj)3ZVe(@a=(Y|Fa4_KQ8a@+3 z?r$y1WX3&ZI*d#owihxgR#>y8W zY1wxh&=N467cB`Im)a-zWH-U!y05AJg;uN)3m-#L{RJ~0DhSD1iwS}SJ$94i0DHgmJ!Db>nQncb-T;mK# zG-X_+l+vl1h)QvMInI~rv%`oXCw=to#sz5|GGs{9#b7|6i+W{~$dW8enhCm@ZV4lp z(6;mACfIm&K!v^4gGMl@7m9GS5l>;NDr?%D`hU-vW*O_6FM& z>Su@lU%b*@R|_HiwhIP*B~9}-hKzL(5-q+tcE=l^_uZ_n@)9_-+nh{dCj4Z1xut*Y z0|d-?cd|Abiw%G@?n|8d_tqzf!&8=3lqns-%;@mGeX}Oh=U+Wwqcq_0LN;A}#O4%U z@TPlCM`6)pNITSng=QE3eSyasx(Ik1l>#;Bbb6=$ZWdf#s={&%iTiYClPO zp`(7fSAHdWIM;lvaOaj>y@+gy>J)9~xssU}i4cFkn)$bZ|6@@shSt%dixx`cE;<5? zre`0{2E@H=J-xS$^!lOKXsUhA?;7DWcF8yED?&QA$3P@i=4v z%Jj(VE%SBT|G&Y&nnJjCF{akL)9I|8yYJ5}|NjE}vpjd+yXzI@-geLV&g)A0T%@F* zPTzYQ;NJoGrdS)0XJ_`Vf4swd2lxiB;|O<66Z9!m0K5E<6O4Ku)Zs|m8Yr(LUeBj2 zi?UpuuDxa$brXnJaTeUugxI^72TZ{T79&%Ep{ zp;zoP=sukvJ#`wrko)OpQn}62L}sF_b9s&J5`I4IZG`oyiPGm&TyHPNgaRGrSX*%k zadL#M^#EP}=8eIUiwEMaOQ1@Ki||#TQ4>g*2f<7uk((ViYEhfB2XmxK?R3&>DwNE0 zGsa4jg2bBWxV%I$1kD8H~L~)dAq)d1l$_y^y{O)3t~? zB*bZmn8^x#yhpENc*swxwj0a>Ci@Zp>2w0;$BZZ>1!LGR{{{z(lUS!tROih#s;8w~ zLf;RQgg4zvqj)0!MFOD+2uWTk2=#XqK%hEzmNQVUqq> zd%=)396ID+H5m|JXJwpTsi(Fs)HHku`PZ6~xFj3G^eu;Pu7t9&k6@y#{@4zf1J4#% zA%+G-X7k9p=y6l=92NRTcWZ1FB*?i_L_(ZFp|>qE5u<0J?Hl|4+(L_pco`4@j$Rxu z^G*DGsYfp!)^GJ~b6vk*0sJ1|p91_T;O~q2<#DY?n|FO5xTPa)b%cC0QJ6Tk68gU1 z%i43h@24Y|t$N+EBsmuAERTFTZRiJjhAUC{e**lz4tv?}_4?R26F=q{ z%U!vM4HD+e9BH3Vepe1Lg{K~a|JcHjmRSa-RAe`3v!D4?RS$D{@V;MP{9{ZsWRfns zn2>OOEjwOIW_PZqUaqf;j|s$qA5XOV(&b7fmP;D-{_ZG?iB0kYQu70(q*9~apU~(C z?)eSYF`-hk+S{n5ao0GkY>6w~dO% zto+WdkGWL#SPfx}iBIP?_1zo1cAi+)@pEswPjVP2U9zPq?eZRd2w@kVOIup%au*j1 z=&Q9VVi?HcW0##EutGavf7sKJVCn?UG$07okcW0(d^Tv^fyuPB1vUklL6&m|1jU4D zsC^I6^*v>*m7NozWIqUucED&($GIsoqmzT3gOgEev(=SN?7r!u0fKnB_xGp@Z%+ID z1pyK)z#CbXW&i(HfBUJRx5v}j?T>bMZhuAeyYc`esYZj6NAWq?yf-zIlIKkAMlFlM z#awU+Mj#C(3IM)T=%e+N_1_b{wP)YD7uHmANy;oW=rpk2!j?>ytVJ6QjE}=y!;!rE zZS&=-XiW#+05Q+p-UW`SCzSHMF6+!gb@t71BX%1fl?--7PSU90a=khD2x|5I3EI__bsdnqft4qHUs$X_yzUF(C%7B3P) z$2q&=W;PJ+3^Fl7NE$NxEmAT9iM#k?s1?^=GgRbQ&1*mrv4ky>K_uvNRmi4p8Y_zl zxfZH*sl1lr`V~UL6W1M%1FvCAO@;H~_F`_BwBG_2jqBpwodgNY-wjwT$0YsyMVV+b z5E*W<(fbiqt9e~xRx)N>kZN`lny0gW>4BF-fch+FOGqkfp+5BopWK&gjPLV#SFEMV z=H;SGp=8Z^1$m-2S9R{cCd>ITKYs>0=0~9P^y)%{d|G!3XI};z{e2VJc6nwevryD0 znQA&qz03xaM{%(jzp-?3!Hu!Toit}}T#1GDLSf9>9NL}WH$;qBbv_M3)H!}V9Nfr| zY`PDsILENzb=~@BWuvQUN>94Q;AwaQvozR?)O&moYi{o z*Ndoz6lCs4Wc{cgUDk)AT+tbhNIOdvM1EH_XONBp3@<0sI!K$ei$lDg>at#n(B&~3 zDQ{L!^ITmetW>}y{Qf=WyEXUddszf0ad$%zV*Ms5noD2xpQXG?b;x|bH2q|$0Dls9 zuSL+z&m7?x3t<5p5Po~?MG>b197n6cT+#XU@9WC&jK{s7>uBw=?IYwppLcMi>dWLY z;>vbvGG8awHsqo(ZJD$EXeo|GY!mG_ZCN}P$`&*P*eAmhqD2$t+6|?z!;S@fq)+ZL z#OHGuhBZxwQQ$rqpkZF5W4Q}8r^;cMBD*So_bvr~#@5SW;z)zeCUxk=QG@48_0%xZ z>8g{)D(%jGl1Qr+>y}eWPo`BHc@abxOGL3$W@0bH^++)gI9S*ILoqdPx&e;2z^jBDB}?bq~~Y8aU#gBy#qfBlnJ z6rGSc#{O>0X_f;j3X2k>{)BG~L+1}3NAnZ8g6Q z$~0dz@jm*>*lV^Z9$YAMPC12g+Z`wB`-CPL!|)%(Pxi~j2_Q^L0k4PqlX`B1T|jYW zu?Ao@BdS+TF7V{1STtz6M~mtG>0&`L`6Z6_F{NZm2taBnCF+wVEuveF=?r)S{@`^~ z9om%&#~81sXofp~% z=53e3#(+pY%i$tUf81|(0N%{h4106mXQC(!gCqEnuX6D}kCZ(t#Yyu@nbY?@Da|!$ z_8;`;Yl3fOVnWS}8Z>8&1=FIOPS=a;VnLd=I#HAqVcdI+{oQo*=O19KyHdqGFpLp` z$}lxR)_M8#K_m$wSt%6`3mt#o%h;Tw98c2yI%Sx|l;NxvHKypOl$8stdSMo+Mp~9_ zKIh97lfCvi`fFM#Je;Nbp*i82n_JU14P`w~C}C;Xb|-5&Je5`K@?z*7vHo>^`rUUN zzj!!$;l2;U@0{lY%AJ9o`E@ss-@Yf^hj-pyMqiY4+O{QaZjM|>X0WoiFjQ{=Sz)Z35*f{&`} za}pI!rzw))auJe9A)1UartaAG^Yd_PnsqRdwu_5@VeGmk-4+qvHEsTj1o=z^t5|IG zc}gKNkhrLi3Ps5n;q-0Y(Xv`M#w6;kk}j-w9+(N zMN7X06xl*oRqbDXI%)^FA{$bg*Vi--VoFmN1-s$8b}xyf++lOmdQ(T)klTV+VKZ|N}>!5t3s%Ck|O|PIxr*fz3_n8p9}_%3HUAmi|CJM zfYjY`yjK3t^#VOe>P|d-isUCm+7nbvjSu?ymH%|thneB51}usfRd_AmoQ{YiB_I)p z^2Ers+DVJptc(Z$L&d@Au?!PmNL+rUyox!=x>viAzpns5gux?{9J*S-xFT=ua znwJZ5LtI@@z-r&ywy6vwD+#~u45AQ@U3s;o$W*oM ziE}o}Skq;#T%5LL2tt;4U{(grn)PzVV{;JH0fb_hf#3_0!+~imjHrqdk6Up*a>0}v z?)78*B{rXM;*?kNj2k9><(e;D$Tj(74LUBip&!d4e1m*Go!7zgC@&jZfusNDA=FGBZOviACSpOi*Cf%F!8@nd8I_3aRq=~kFIsj9fO ziVI5PNJaf)Fv1M8lm&6M0XZhx7YgOcb){m*D=F0=9z1J{FFeyrnQHsEp5|j=7&B`1 zij69MNJ)tgwV2mgswG9AjH~q$yx%>$9w6o$QsA7~s+JKY2F_mm%2|EDB*(q|d^u_}EL*&UinNqbpp2U|mD3%+&hl9Z;=$wb*KfQgXs2 z~Z(m=0W4*djsHvuZ7l@K`w zCu1%FM1{$^QQUUA_)ecqtFT-O5j$XQD@3JKm5X+WO+l3t{Z;GlFsfjKGOy$$l z7}js156;)}YhVQJdY0$#gC}9a%(-`RNUTLk8pnR~sL%?UX-aNeM-5)j1;>^>3C5}3 zIDo8eFB3I~H-jLBnXY+%nA^P{sUrN~*WzmTr_)M><3=9A@}d=;`qdt|a5etbE8ul# zcZV^lMeeMIQ>Qvq8u75(o@drycZPT&r(aSnlYBhvw2NuYcNzU^*z@271GdTHPW)v& zx9K_VDLMi7#bSaf736e>SW1CO>iHa?UMhE7Vp(3DpH1Rm=6J4A(h-nr0Y8TC@~ z8PeWpXEN6G^}|E1d9df1aADP;ld8^0p|ci4q0V!#JscO`ej(bJjvSs~;N- z>x{8B(HR?7&Y#HqyIpj5lukv&f^ll%V!V5qEs^{43gALWw1U zMQ}+eu^EO~948X=Lk^dyYLSZyF%p(SB&Ho{FnuGXiVahOwfPL=nSBbcS%xN#sU`6Q z^(^xIW^Us|&=fNPZv~)x|8A68TJrU69kvW*7bJ~!<(rZGJhfIy3K_Bg_GK>pS`cx% z>(_iygR963o0L{8HbKH$)0KdeshUf;KBaq|D^Jj4z1RROQ^QPDgC{Q#gg>W(=Jb@y zvQ{4pHvD{!)1YXb%y3@3_x|~xjZt<1$n#=u`atLBd;XAb$B>_KbC1I(XfVYq$kMV< z3U3K!spD%71Xs+5@zL-M6WrET#o|pL+Lj$Hoj|V$|ZQywQavu zY16qDrZuJY%#uscqaH3N{C$_uoR2jh8U=U&m<4Q;{TAz9I0pGDG&ol=yR&5upK+D6 zAaCnUkF3!bQTpN2^2U@*x4Qd-d|~k>(r9+cj`GI>_Hl>$c(l!OIPbBJPJ)h!Fb0NP zn#lrKlx@_W3ac<`@jXJ zAorILtG=zc;F7E_7QYS{DdiTKR{J0XLG0D$Z?GNV+*<1i?x zTx1cCO>N`|9Gl@&2gRxK5Olndab%AvZka28Zn~wiUryQFtwr6fIaiVE%UhG(pgF<1 z^PBK5`(N+A6A_jO?ma5tC!>(Q(9f*VOJJXtcOtvPrW$*C1`czSn`2fjPc?8(ddu>S zA8R+0dj}^;mu%wAm~85~QBx|u<>kpM;X^M*I)U?zjLFSwSq-BT%fT-{Mt2XI$h|U{ zkR4=y^GYXI|L=x1cmeEvISR_s0_iK@=-o=VkuLF~wz-JYdPSwuV_;xlu*XnNC6|hV z6a#}Z250FRdU6#>^2ZL*!cSZ9%It;P?DQYy>kCFWk464$D#;SDIHciQa;B7UyRz=m zMO}B|3E%?2rWM0lbm-kESdr<3Ofq4n%&xa|HetO?W{O1sX+VAh8`AnIe~cuSAQA_1 z*Qwr`qF?sKb#^-5E7H6J$jc4-!B=6XS5o{eoMqx|^~m3jRfx-ngtB6GjXY3~MUs`m z+F*K}2aZDdV;jPK89T>zcjxlU;x%7v8>}#@?=v7+Skz2QoQARuz?q^6;Ia6y1iW}x zwZY3h4aGDlfDTJwwLk$lKW)QN+uowRx*nvzwDoaEv+)DQ&8Olb9KW6S9g*dHotIwu zciQu3nPrAW0A=^G5nEOjZ`y?(b3P+FNDISE3#aeCn`h`oxCq8k_Z9>pR;K#E$eIH!fblT3_+sMZ z$;eB3Mo4a}>8+UzZS`u@;Iz`?gJ27y8x4d7zOE|S`_A{&R<~KYAZju$M7kQb@bZ$L zp8YI2oc%kLESvgJAR&YA`OwlQYa}O!IdZ?y;iVhd#+cF?2*v2M%%{wNZ^IwS5dYdz z1zDaXqQ{8^_!10|O5mz%FVz50K(D_h4s|j(GwC;~NoX~TWKH;*!Fn(}^v)v_N$xf~ z2FGG!TcyBcGnXrPUgz6uLV7VrN7d8T+VG?$_Dc-6IKgvkGuPIc?@+A5oa9&Tc z1ZF(MF;#&FqO8h^^)(*DcR?Vj9g^mbH$P%gRav2$-3F}gWm>1sU)PbnB+81tka?(=kpNp9!7|>J*U5TSnrQgY(9ohmdlZT^s-{3g%LZCBDlxQ5rh!Sg zvTOCfI!ejPms8yF-=>JH2oglZA-Ynq_%d>sszcdAm9@Q*_#QQ@^rGy4v(vm4Q|(KZ zOc)B*WdZv4qTSmq7nfH2sy7?#M9nPtSn|j)o*x&g~#HdmHPuS6F!f?bNz^ioq%9ey| z{KRsRXHx-2OpY-WQyTgg5~oSOgjIA##m&Q)s=Or0<%z`fSo}l~D-$Ggi|B3a#&TJZ z6(YN2vntUbIiHQ#$nFljqpSHflq~dG)4~~paB@r&hO!6HWUWtN<^A?*f|4dY#6%+| zneY%(tGl(AGe}GS*I}$}%bB(jJR2Kg-`avv4U;R=E6Xxv9S;^zk+YTVFXl_@QY0u= zI-CB8x2a~;$J+->;HrgNj~|K@GvQtTP4R7S(a>wL_)Tq=^>JL3nw4GtPyD$QA(vn{ zpU(DlWX-g%Udwl4@ZpW>;cG2&xt^4-0mp4Ab3|%4?>7}lDG|}$j8_G{iAleHqJ%dA zYFoln7nkE>k-xuqe#2Sz?<0l;@iFB1Ft3M+MRZ+8$4rfZC!~4MSp2-%Q7fCw4(@2x zj5CEfbFVc4YP1FzgQIkV zznH{Uq`^q`7}J|Qi_JQv9P`g?F0V4kK2>hK|15t`~ELjUCn8>%&xFgtkj{9B zD&1T=z6Ll*k>)=17IwUrIQskMjNjIWWSdaGdA$ExjZxpE&Hvk@9B0dnUyj?PG@%!>pV2t`{QW5Yeq1Yr`(H9azN09U^S_Phv9jut zSN2%18f3(Ld#90rR9%{1fsK_zC2xO&ozWnSeJNQsi#4yfK|1u+psaL1R$FTfo7BVU zmln=eg}JbY03m&q3|VGBCde7glaz*VQAd=~=7PcYT8h9mzlGl?Ju=94GM{E$@d zis7Z^a7f$pUw69}*1vxc6VAH3?@SNlx(O0*`A-FKAlO%6#!Nc`=}WWT@2JXa`EXlI z9cQ?oX_s-8V34Yj!N=$s_g1=7=n&hliw2|gJ^@zuQ+C)J#^4*jB)9{a1T^;e)Kb#R zkSyl%QJZpwb{)B z@nFX4O}5s;xr0Q~L7U{*oP40+lJ+CA3Dq4-sJxn^Hl<78x|vG9v{4KPTF=`Qeeh_N zU*fl1=a2Y1l;QR`qb68QB=r+ktk?AoDZI%t5*WA0f-e0m)*B|J;p*3Ia@36*{eB}3ppoJQ z@uJHFd0uc@*n3n?0x1o)&*+KGue{9`479$w;fcHv&LJ~?h+9&=&meq?F?O=FawkmryL zH;AFe#bo(DtGb;^Bs(`*){SS+)=VrG4?k7DWjve=CM6d4oE*3Aa&);inH-LS>*&)4L zS}qdRc!$zply1iekJ~)3b#1E(%rNkRNV&ZZsa37*B9XkzZdLdq`%@3SStA^|U0`p`CRG7jMg$1pW@+}MGT=FJ&P`r}b` zy-3Z2j7(o`N30He%+IlSLJ<3;GO8@8^f_q{|8?Z1E1sxkNz?Mk6NO3~s3^GX#3Vs2 zWa=nb3OuCvvODKS4@9~9E-%6UWi|1@j!s)@0If0h-~mVUIY5H32S`B9vNccnKMDXR zH{Amyc;bO?z0I-)Y{B4wEdtkveut=7*j}TW9n;#@IPJ2>?l|KT?cLh>j6-Le*y_4l z?z`tR*S!?iXe{s89{5lHb?E|7Oa~bN^%Jy|6x%zquB4>sgI}PMX;IB#Hhw-_~O0+9=;x8oiVT^+foN z5@rOcvA~+6y`v4#!Of5cg$0C>24|Hcb6AP^v3(5A+FzR_Iw;u`{eu?Gt^Qxi!&&G{ zEuwR*g>aw@@waEB8_ipyk5VYne`N#J{6Q1NeNRt&TRId5nIL~DQ>AqgC~LJd zDXY1$KiyM&BUUsWSQUyv7D$698JQq9ln*Jyq!g50{ zMg(HpL`rA-C)VP;_0F<&NGq|$hm?=UoXWT&o!4axk13IxiOg$a366;VbH#S7nz&#! zO&z#{-vibtt56V9_*NWpxxRoEq1C*OK4FZ=rY;;Yu4=#N)i_&C(UQ&T9P&1jHWhi< z%|+Eq)5U7%no?!)cYX&|RQaHalHOFkVS?%#EfaCFJ z;dlUPBpHE#k(BPFDpKKj0TdyO&mgNrX48}8ve~MibHj#^&Ez+wWrjHrVOTq@Po`-j zQ6l4cV?xXOlG-xQDTF9ULw@CwHK0-_Pw7tQop>tts~*=tx{_P=U&EevhW&M>!cVXN z=HZX-SN|5?YJ#0_mi_zo)p2i?HG|TMt>WLX@7n^@y{n~1MhZpA)2MJS{8@9r!?rjV zCo!REbeMPCE3z~3MFrN5=}EL`^JbeICzsi)5~BdGDw=rFc227vaA`^44p=JyjsgCQ z7@zyq1IIY`{aBEF%<=1Zy*199AL0}9bj;gsfe0baxl$?_1~>3r$5~Wm$7jz^>>O?j z6)oz*&e15Sv7{&G3Uuw9aE=K(BvGVfPZ27Lz^a&x85Q^gGDJ6)>Q?1V+x9-c;^9w}PzL(yfK3QK(qTXZIE>Tzx*rQQmpEu92f6(FNt9HFfGlTlB(SAcTe*$iSJbSAj}!1jHjb-lnW`Y$gE&y8tV!i3zh*WsIb^sO zI)2Q{rd%{Uf>o-IO0Etb?;|+C2o4PeIAZ1SM^j!7eHLS+s3Z8i{8lK_MwH! zeXewyF+59*3b6$cHV(NSod?%ckn4GP>F#1xeBBG|yq+PeyKXa>4s)zE310W`S5S5y zo&MFm&nWp7s~z4tR=qtNQ@x`I7K!dZ!cRhy*1aiptsBOU(DwIHtNbiC)|xT?AwF{_ zzBcikzRTT1S4X>%Y@9Rk3d`0}5JQO>NygMtoZ6)tbPCf?24n2PyxE?a?2vrFAbXM& zy$qGHiw&yN393Y7^u2NERSty&HXrbp;Wo2uMd?4KRmcxqmSjEhv8A&9TlZpbkM*E} zgMDl(a@%wmvBWF=yy7IJo_Id21-5Nkh}OuY+mYnM2CkPnGH0R-xsM@-4Cg`SL56l~ zQEXlV?|k5r-k5c75x)y-ps-~x=-k&M5}u*TcfJ}S z;-WR@eR*J(Inn}`!;6~QaeDX?Yu~1j`kQPaQm`6XeFz+QMC^M?)YN~_D&f0LfST}Q zttxa;bCnxSTEe!2NUPYV`C`tln>I{^qvx~7UCle2ldbv#@0fz5D@oFYj{o)+w&ApS zhtV|TlrAxm-1TWYLbF-QvfOb|-c+YZ!otpkBy0EEmmb5}JRMSdr!!Ap$0EK-l62(h zf0o2!;>#dEAU^mlmk%DApHvzQ;s0@jV8@8E{+wAV+TCs-trDlmKaiu0C51Z#-Z+JD zSe7Y5)+R@2N6~V5MYgLY(`5>aIDk0l}q zj1exByfH9<`31C1Fp*J7VJ@or;R=G8$0{)gleAl@mz(imI0_tKCJ+%2EI48^=fR6+ z2Du=El#cSF9X;b$BW;gh`(B zuD755*UxwdiKZ!1e2%TT^S9SEc1Vjwl<%oL>Wg76HDgXu^fR)|?>!|G{Y>NJIuBl? zV6E>?lG8*BC8G1pjI$s`*;aM->R&qi25Sn|EWC9-oAt|aWhvqBD-|qk;Wo7wWyU>3 z=ym+~`G-Gc{~W)t;VCz%eK{La8`fZ4*BO(pqP7EaUzKt2OmN4g zd?A?#1v5QN2v0|(oDi5z(omWtiBhozJ)^Q^2~5A?k`Qg5zF=?SyT%b3(muw{>-g~H|Nmm}b9`m*{UCqpO6d^h zwJ2$^IHo0|gqwk`47+stwUI6LPE`s0sDmf}{^M4O`DD&w8Z9K3Z8PQ+hurf5E?n~j z9*iD@;l7v`hSxoz3LcqE_uZyo)mwM~2~VFQyV0+8W2MCNOE( zAG^gcWAk9(ZiiAM2{`KH{K!nSXwM5mMJ;iiWb;qgzH)HJ4yjzG@t%rl?}3&79USML z#)nRB>u1)S-kXIN9wt8dZ3-d9|NYkQP%@=;aylJ~?v%>Z>fwpi$oh6gJe$p9>jHP? z)ThX?-BfJpU`vi&P7=5*j*QQqo}o6~@vRY?x~M;b`L-xqmXTCrp1U(1bx*Q6>V#$M z{G*(#-wnK3Et}=}tno#&2R&U#F570~esRdBJR#(oBE%huO{8$$BPA#S8kz69O)?!e zLqI1>Er{xMabm`|}dj3D8e;r?noGi|jZsGhUFT@p9hu4gZ4C2D1B8Due zCg_es4(WH!wd~hFiM(PRPhsnZqsC3xWg`1^wmjML)S0opU6%g(WQ6_@d=c*B|L}rF zv~bkheh=n;#dia@-~qLdSjwq13H_T}UKnx=UcEHSN0csHM@P3GHcZO?uv|;1PB0QZ z#GbD2Cdv-@LGjp1FRr6ZusAixI6kG2siDM{>1&#X(yj=Uh4?9+-R5OEVfsImTUbd+O6}2*H1lFcBdEM2I z7}fog^KMWFR(T6_2U#i!#i0acYZ}I?cwTF;U|)Tj%ox~y?(xR^-V=V0yuT%uzKggK zU-cuCmkwSOR`>Jv{?xh4c%Mnml+SAZnG@`MfqI+Xw-VX3_q3YOa<=05?gHuWxFSv2 zSq-S{idoX_w+3xog@||TwN9I3pRLGgUO+$R$)Xpo+!Bb>l2>VOCKOGC>HQo}wO{`$ zH#$Gn_BU`KX@v=ZKZrqxB#WrX7yrFDUE1R>JTi<*a0`ov{8>D{fE!46BM}5Fe~4hm zU~&a~&fo8T#E||~psM1Ft4XPE&Q}rB4D?mSxY@Kn`@Y-b*8+p6(Xi|h&2Z8Q!rgM> zIfi&1EI8)NAZ%SL|C8Xz zm$%L3Ny%r;PvnzzU7j$X4Xx_!{ybT)k@w`vs|pG@eYFm%{_9d9M@m87sn$BzRtBviuh( zBL7+4sC<@;BN))HhQS4|VXF8o>`FP?QD|pt6BVks3rz?cXL#G9$?I%ABO-qLZrv{m zdtk)*J6zz#m5r8`k+Si&!1j2_cUd5LheV+z@T+M2>o>H_6w10v$?b>CZkW`EbpL#fyk2u#QyT+5ve znXv7?ZJVJF#w-B-JelODcndSeC0O$>g>s7PeGnT_%Px@q(of9Me9}L-{|ba`YD&?o zL?jvV!3I-T`ua61<(X?)E$J%JwNzFi&9ZV{cI`08UtXvliO6>ciuuD{HR9W^SM83G zS*)3uv&~vR#u&cNcJkaEup}AU6iH$fng`Byb0ClUks^=FID>S=6x5o=%Y5AueI@cJ z`X*tn=takwiqbEXB|E*|QK&Lv=EHh>%M*z^VxJSaUBw4s1{!8h?QJDhCC5ws7f8J_ za9&KW8D<)a299XiIx|@%XB^7kxn!xORxPsRvc<&#H!fU?)F@M{R&w!R#-o_Zy~k*d ziAJpk#@UDu|0aJF9Xo$J8KAqsL|e6cW7E+m$eMCt}{);2CjbCN_W z<-%uDW;;sV8SLc_+Ee#Ddul^3qPHB+i+O^~yNw#nM#_EmoKu=Hi5CZCtie~N#atOv z5n_$)o`fZAQz!DdDyCaI&%=R;DZwN|zj?-Nehd@hSG|!3eP^s{={zHS_o+zvfs!Fg zvnzjO7~RBLGNI0PRBJ?)x(mCK-YIL(t6!E%E#&wOm)6H$3s|g{oQ!*kSB$^hMx|Xy z^K+#6%Qe|_tGHY$o97mLG|Mc;3J7Mqhqbdg&&qh~64WuXE86eRUhmZ%<4t-G8R;u> zhrQ-|Fpe^}ow~H<{BSiqslr3~uq!pO0l)8bPP(%M*TIQ!TaJJX{I2N!;a5j~GB`Rq z{O~8yDr11HM`{Gz#hA$W5Hz3iaE@Dgcdmed9swxAnfKLq@3ZSmXQ zY8S{BNFyZsOPCadm1OCBMh<=-*->l~Ud_;+vgg9ap<`RvEhOw#*aWc6_NPd)UO?r8 z8~P$N$+bcJnGpi}omuXLSWh-)kkkK6lY!-5-E(AWp?jrkB!(m;mWZPWkb)9o) zYhCqO7aA>|coSd^E4T>qtpa9^Qd5DWNfw z8i$LuvCtOvtpP3)wZ;v$^Ob12m-Af=!uT`*5eunp4;9tgb(=#8Yluh>&lervd=z2p z^tuO=US+ksg38W@lL#|G7z9D7Ufk;DdMUE!tx^A)X(tu2RJ-vd7)4!f zJ|&rGll+WD>E)MPocM4>-q=`p)6vL{<~+@@t1AsN80!pH<2WodJ(VHfnu*Z@YEgc>Ky{-iB98N~aFMosuJ|7XP6C!+ zJ7XI!`53SJU{ndAQ11vs9)wjLZ35NZWppjn&zbQmkqiaS_n-AvxH%nZWm9df+?h2- zghmOv{FqR4K{}@1TV%E*1e(TBH_+Opfl+wa}mU6bypC7Gz47-*}7Ff(Czjfa7ck!|u_B(s0$L|Sw z0fjX?8RYD1xoXAMzqq>aFSRuIXopP+cr#Xx{VQOD{#|#n;!=Ha6;P#5_I*1CFCCe1 zq5)v;KQm+r>2y!S@a7(GNF^gE7?T)1vO;Y9Uz78NJ1&Ze@8S?K#n+B)LDhPAZa*S0 zyuSU0Qv-)hsKcAM0ab)Nj$6C7z!6fR$EjMQ?yV5k=6cssfo=YMQuz z;*Uhzw*5*e(L()iMiRWb0}+XsneLzXgYM=@TRN}M{R!oPSqRgfNYS(F-A|MBzQ3xP z4(9)6R6*am=3-rRRXr^Ht?+o&T{pl~XQKfeW^dkERAVxZOVm@SLV?JNT?j(~8akaq zjnkly)IALqON&aTB}(%Cv;d`eE$FrlRs4yYL*JVCc2x+0$0e=ozYv+C*M*_G`YcG_ z^Bx`m{I#FP5pE%sxk(Gb&L2cIq-vH)K8d7bwVp0|0dhvxdw%^aBD7_`;3i^e z#gotqlSsNS(`J|w1C@EY@+xKNIf?ad^$rVT&Isg969=MUEHE}iSiBW~Pi3wiGy(yH z&7@ok`6dz95^1upj1!9>`o!91Z(`rA6|qP}mch;NSKda*QXohhpmiUsSg)fwU-nPA zDz-LRS!6a%Sei*}mA0jhTBg!ISKY)a4{gg3a>g>d>hyx4SU>U}ixPn>4926Hq6!-#- zir|DLS=R$gJ{?2MGE0?mXYA9u0#aF+SgbSr^ZwWx(`_pw*nc~KXDFgv^W9isI-9;igV#i*O)ThKJkO$#zW-MdkCkdfjOeT zNXDC+I>!nJSCna+LM3SheT5?nHGoP6q}8u(g?ZwTP{x4^As~hT_`LG}J<35^c%c!( zF=+j|2L^Onmi7aWVsP9bD)s&*_}|;PA9QP!hPO*tE9LCA0a-XE z6KF+<^|SnG@?^-ca~9-ZMPPOP>C7Zs<(M7KpxQl)%pBWADM4&b3|XKT8}?~NL=9K- z9i=CoT6pJ}-Y_II;r0QX6;Is9sUlNEp+xbO94?nqys*tO?v>WB=LqbVg+^j{T9@;^ zN+FA%yD9lSIhbg2BCxcIi!zeacNs#;m38mx(sqrD5HRbrQ9o;&CESbLlzjbWj^D`g zCT3>qQCg`d&g&Q>UD9ir4&r*_Kji01MDj{s;GFjC;YPID;U-8vL%xQjSBfhrdw96J z(+w&1uTnC!>->5ezly|KZC44wf9Qwjl&eo*e^J0`?JO1Dxx;s(7jeu|F9<-%o^^E@ zQc3>tR zEY*u#%@NX3_A3|V7qYtaoufJ-X%;F`bR?ECT&fJtZ)0YK#-0`#wvCMc;!*Ugi({(} zmdySA5mx3D>B)lwR82%s@{AA-=Z+r@kKjD_SI)@Y?QQZL+m>!PBm|9~G$tJH_@kUk^sFq{74@=PzYJu3fyWN0Jrn z8(}a#MpAh}gy)Tb*kVenVGn(un>eXi?DWa!6TAI54|i)?!I68f9hJ2jAGJcRHOX4%Em3aprB=Oc^5m>9FLZb)J-;$p>#GZ+EGZAC*Y zPKp!9`(>#ot8+?h2L^ZEQ`)a~^K(_sWR@oDZGYhp)LOAsZ&4q<{}U4>f3pjj;yu*-_G)$@&EXAS^24NJxP`cwBhx>Z)Sk9Rg4cRij_4Ygbba{ zNfpr)-&n5jmUUhbEP_1DAZ>aDLipuW(A@=FBh7t-m0^~7wgX27rm;fMiK?ZOm6pUX zf=hrvmtwtKl=iP;uX^_xLg#QD^y%ud&6?#fE*G0yCHnOGCO$LH&)1(1MxMsl-wH#9 z<=Hu3R6bulFUzYd8m_iqt!5y*JK){&7hLa4nM*7!BU?U=etk@@e`ED$O4xgnz5gserx)w=)pg}_7ffWefd5=Kk7U=^+I*+AqoaL$87O&?v#QtE_&nIn%ChRg9nd}p>h0ZaQ^<}$2Qh# zz8kiZ;U!y40B|VQ3l}BrmMIeT9m%-a8Y3{}1d}elAm$!)yDYVR%^QxQ3`a~I)iIIH zpPTqJ7>|Q&XQw&#PDbJSmA>3|Z~x7!Xnq_lYk+=B>tI_<#{6XKUcdfd9$ME*o|nJ{ zk0Hj+Zv(nHc53(k>c2pxeWJtA3*x@gQ4!Ep^=*tkA^=g4;(egL(~06S=|WvUW+T4Z zcpetT5b&qGlU1<`nPFuSNgyM;qu=T}mzjZ%%HWO)rtK9}_SMW&%>l=HD zTj*aIMZfKC9wq5~0Y*MmmPf|nj>Vyka3GWb<# zTGh3-2)H!ODK}SdThA7VFq^8rUy|S~)k_(K;rGRnTqo=&Q@8*JgPT@40!0BHQOYLq zjQd8ZNGW+=BG1^9J5@@ApKFO_pDs%gj|%CB0IA>1RZ_}Au%v9r&Cs^`J=UI@agFMSN!z$bqdO+m?uDiA- zb44XVxMhit!+t{F-c2F-)Y9Md(}r&wfaE5OT?N%uMZD{b3dhJgabF@c+`S!TDa7+D z{z!fiWw^+?-z-b|-4yU76IP#=Bh#(LTLRf|0C}K>NqK=+-qGp6XV%$@Mnrgzzwsv2 zL+~f^W}}KJaUPb+|Be^VE$%dJ^RDXAxMMn99e0~0;0x)@`xg=Md@1|Be<8Buq<~kv zUYU%ulfK{>&-#I0+?V#+V%%Tm&d2E`)7)L=Lj-Z~jTP+THoKHvc&THnSze{OJ`#u2 z_~98m@ZBFE#G?Q{1W@g+-pS=7;6eKa3yW{T%1t$@^Jolj2-fABZ|q%OWHJ=90B@1 zY=QK@k1g8$7#0Bn@D})XwF17?l``qIZ%LPW+sLNr9}_0j&D$C=u^kzp=GH7mVV{hC zrPg4||86$>NLhI+u8er;r5$99<+YW{5WO&Y)TPz5jW{pt?sUaKHhcUevuw4^#z?X! zUfJ(u`iEOp;7GYLU-rKH0spkV*FekUU=6)D9qFtuviZ$ptQc)XE!~L$1_UIuYeaEWtO%d9RJ%OTKBR`^K}SG} z8%9dZK~-Oy30^J?;r>=BVD(+&6Iitb$o6w99zxM3U_F`ptao-^DR7T;z0K>;9Fs5ECV0sP(k1tt>7QFLq z9#oU8@z#Qao@vg!GFM#G-D|~KBx7L)`I>{wDFx2xOhFV}FbdeD5W?cJ z1XYzb9gtTQxUV0?-%|JeVCfP}01H0yy*FEcr1>mFVX!R)Z0%I- z!N9l5uX#YKqk#Unslcl}R7o$0=vp=|gKg{G*~we{HE%N$$ag9=R313{uisL7-Gn>9 zC~hT}kHO*aCi&+YPJ26pM7|2szH<|nDD5ljM;p|+`(gYVHebm+axM1;&ggzFlM7Ad zy{upZfp4+9p99g~+36ZF6vj|&iUQH!*}K<_*(yy{Y>EQWl6Tb|(6Xj#3w84>#&mkY z6VZ&&Xd$$MRTQLurP>zE(LpB{7a|-p;IWE{Wf8UJG%sC$O;8$~&Z=a}GhHy4i$)!U z1%cs(rH5Q|NPG;^PQ`1 zoKDEqzP+%JYfyE|*6y*GK^NhP7(h$VT15J{`VOv{4lE#5u1dAiR%RDH+*0q-be>xS zx9i_N$GM;1%Oyce8bz&AVId@B9SaOpIN4zV?gaDs4=f7y6z`#1!m z+`L>nW;Zg(f*ABbVZs5c^b16)CLcLN8~|#DTa{I?Ax;CTooR3YS%cQT$Koq+x1fnIUIt(Ch`o;@PD0Y=4-J}$`8BmXq$*y)Ixs{<ViB`HS0Do4KZqayb}g2mYHiHnRE%m*3y%8$AdNXE*n zy>oTO&hIfc?q{M^qF-UIB=<_pl^9=uqd*n3RgXf`yR=E?h#+jVoiPDG*4zYY4{^=k z3M<^8GP~N>eJwSrmz|1@wm8Obs+;&HG3HA0wYI`8!D8(9$RgUpYSN=V#Q2pTV<@OX zZV_a8KapY;JCowcoT&H%7ESUENHvzomK;MXxf~Fh-lfI3f+$$%NM{j=rG7l#;E{Z4 z@~49#CL$O#gj7WtR|Trc*Ld5|oNGuXU@V$$jp9xb{qTIRz>}P2!lUU9@q$-BCEp78 zviBv(DWCJpAk7HqQz*}t%lOi>lwUhLko>3sdtS|Lzb}2LYyB$SN2acfIfkNqE?eH! zr+3z^qi$&Ob-o%danqOSsM@z(m&vr!epyrsv3IJH`a1MG8Rs=5#S3I2@{MpdH93ZXqZk|tNUj~Rv2^&3hi%L50v8|) zOR6;oL-tUn5K>Tanwh*xh!@2+rqBfQM27Dbin8bsi4zBwVCgKEW$%pTWa+mF5!4w7 zTMs^~4J~aa=MiyDJsY3@yb~Ald;U5S^+5}cofd+23}F?>9*9*<^zw@TU4XzttOX6r z3d<$EIe&bx;Nrb@B6Yq3Ru|rVbj5l0;mkoP%2=oxPaY-MZojjP9_Y6v#CsAn+rNI# zOADqoWrOQf6eP6~MALR{=-aLdn(1c;$K}iTD*e+`4bSts=Gw|qDTsGntEua{q;1!^ z;IV2~&y7)onbQsd^B2W#h?DpkVhpKio0I~xP=S#T11aTB#Nz(5gUH;Ql&Xh{n$|L^ z$e?>}w?Qwe0*J<8ttXGh@F&lH=METWk5ZWbzZ6``T$2iXruls31kk_`u)`jNSwkFVXy zxYRVio{suGv$4sWUMs5scN(6)sbyZIhG|K-yZ^GhN1^$(?mL_!$MRumwy&6CKo#jeBw85q6az!Nt~{22xms;AevDx|r+YmO@Y| z6tBYywKJ2_{l%hud@!fg2V2KlcIMOlz^-htvC=D*-ilI%1vW|`g@N){*)l-zC?$@q zpQ-|g4B@5>njNjcEkBVEOT+ml7NKcHS{zT$mH@n)(_g!SHdb=D=TO4pom%v$A-E$% zRQqKa>K>f2tWssMo$GW^j?2oo#PZEmb_r87fhf+h1=5$*g{x74$v&fHXcg`0H_U^J z=dGKvK-R>j?N-R;w|sMh*_ukt39<=OTIAYJ>NdJu|8Xh@Fz&JGS7=e#njsu60Uv*E zGa%OFl3^v9=pNAKJ*Wf%LIouAkc><1bQ|2%WUz!u>PH$WwH7qI`Sm)bRyZ)%3u1g{ zRG7emAUw1X%!)D~7LAif5iWoKrnjb62{ivm?caM-U!=$S%fj3~%6In<$`0%zPUm5q zBCNZLsK+ZP$jvLB&HFaU{#$WBgZ7E5I($B#_iyra^>?EmQU6k0>2Q@_E`KwT_wTho z`%5we?k#@rQ&=^;6_tGzSPX=)iUptxK$!!?96(lp|C$1@%>rHk#vGs)fP{)bmgS=o zl9-zYfhtoOU*G_X1RRP#Wv zFreY&`b^rsSk{#3R5?$zV#)KgDxj#q;ZB>3R<6vW2nkn9z)GtWrjn{gDiCTBX|6q; z*Na9Ae+8NdA}=}inmGiJ_0aq}vIIsb_bgnep-D!EOvr$@_AZ0d^!?V$ zOyV^y8d3WoAiQ*UJm0b8MdgGGTDxT8+p=b?3YANPQ7GdpCDX#Ni8NW_J*bd5n?yHq zYY?UcEe)(nf(7yGOfvFq!{KG}8HXC7 z^ZyXYkmW>?Fmh}X$3`vzzz3*@?X_<9{~}P=+E|w?+)PiLF~<5t)nqpr4962|Jem^5 zgrZzXAt)I*V@kzb3;-;}njBr*aXsJn5&NFa>QW)167?G{HI~+BC8fd*A!NuUBN7Ax zdyJM7ru13ntTDDWA;z?ys}OSoh=KD zHEpz{oeglZ7Ng>l-*vT;3G;Ij^GK+j+^Ctxy4H!JIa9W8G&xSrLJ}>ns9f7clt$r{ z6pr63qTEJ`QPODKXb)~6Tn&X7WTL?hvEVWB>>vk~L|sb)!D5KF7j|>Tsq-vWzzuZc zJTy_JFD3VC&~w6#3lMw)l@_6IK|P5tg-?hJbITl0Y>^qK{btc?Ys6?z#wJ+g@1Y6_ zdCkI5OKIS<8;)ZoH8-20WlECcWH>Z$7B}rCnwm$_Djo8)*~-|eKVjOuZBpl>-RyKW zKN+Kg{MK7u`j9Jt}Byrkoog}2W zDBDz68lvcGL>R(WG(dkFN;n^5IJL&Sd{cKk9F8q7_~KyL@79Yd7upgjJ7QK9dcibE zqeKc!*!hLrguu9pE$?B9*ZQm3Do$1gVlB~VSK3+#(C<%AI+Vcu`o_6 z1VHTWl!qd}MqRo|quU=2`=9yKi8(U%7zaoqOoT|4ATYiv4+O}F_0b?{jE;3vWKC%f zp3v;DmezGGeun?q6*7$*1P!)<;5O45VcxnGKd|`C#1`qY1R7}N*Ayp=5_4b)G5SwllTig^1$-wf} zYMblKe>^K+u1l_ZsvHki6Uu8=KoTl~qSl5u6sn}`N-P4INtAJ&lLD#<1Xg!w-jsl5 zMj%(B??O$F8dMkoh}*!xLloGAX^eoFchgpsC_lnq&&pp05!@ti4!W0gligG4adl~a z9+et5;cpNI_+fZg0Eqjj#d+kDtimrjvFFWppMQ&)DqB%cGZq(cF5|0Co!kXyW`aWG zv9Muh=DP4o%6lCL%qj^Uqw$5(ESAG}<-oViBuLttd!fkUDsiyb5)rCn-)yvKmGeMu zC1HIF~Sg0~%nJ>x$sY?xJbLihREA|LfVDfCL z;XZ(baPyw@X|Mlgq(R(NX8(p2HC?Te?JUG=!KeAPn1RG5i7+6Kk+18Sr?QlM8wr6|=T(^9n7SptixFg^sr0vNho zlV^xtnX?VR?^{eJZQfnU`qV2Oz530rkIMR_^Ju(q8gqbNG1JBwuyP9%sAKk6d-n9aN z7moXji+RBF$ICnI+Ns~>1|R!P4kFg~mAhNTP@kC)^+czOV4Ci3l3!)u>oMz8t)#D9 z5FkM)k|^(a`LL>ttJD7ycD<^&EDCaawNM+NF_LK$O%n=S-L25H$w#XG@faEFKc*n# zyl-)xs!T8YP${)*Wp}HLYZ(im0EnKCP=*y3Ne(`=Hw>9hji9-prD>Bj(V=Fl z9*4`YSea#S1he^Vn}EzjTvs8^40c^o>I`7(gwAkIa4%F@jeWj}ccXSLvo2ZD6sfHj+YvuEUBIz=fN44r3iRt^`_ z0``=T0|2R}Z_WZg;Z<-oR&&lR8HV}fEa&HYlj`T#TQgPJqh(68abN!KnM2b!Gmngo zN2E6U>;wTQ8(gj2k15D#-H{oKy|plwwP`>WmCF_JP%Xm6qY!)rhY1kBBN`$NC;_jr zS8JzZgWImXI&o#G+k9a5SW-3X7{6r|TFzIqvhai;W;4JZqp&MaeIG?c2+0`l6R3wY zElUyM$2a%c%N@u_Z$fsfp6+Xvn`s3U+lh-JzgFLye}&>vNhywJQ^9@3E8*XMGr-dw zfUwL9wS)7Kz`LPoaQ0o_uMr0(+&00nIV2b^t_i~+b-lQl2QYpVrV6LR??7wF7qkEJ zz@cm8kOe~Dcb#PGyRL7VY2y0;J!0SNS1*@67Tyb@_gUO{f~~I;U+o22(?ui>JzQfEpsP$%3Q0E&??YQ?Mc6V1%*A#~9U}WBbh*3Uc{?ln1aR zF!~X011=w%&q<+v%C-tYYl^8=0KDooL?5_0;PSBfNLV_{W!amtn7$j3sULqNg$9a3 z%7L#KHr-mp>;u=KLn(4j1#1hd)TYq@vw_VeST*J*|NW7+#G2x2c^bT9K z_?GqljxN`VcmumRkyq@D)?>E6I3C3F`n~JemX@`ckyZgV?sUw|4Ny&Bb{y}VOUSn z4;bBT@cI^<&$xQaz#dUd_9?a(VdoR)kXr#(K~67I+u&IxjX5_`w0nKQS-V|5ib`Ls zJgeqB@zGlDl8G-Eu4Qqtn3m?S&)o{oV^G31 zjG$};=ydv$D-Y5o*{jq5BPQtB{z`BJUUGU@*8o>9pDQ7d|GBHPf*9tSy!2=3!pe?+ z7B704Tak|MOeLpjiG|g2xUdA5F$*QglrMP*ac%at_NPMZ_8BfNUCN9W@-uP&zvA;KAlfC`M&hbt!EiZ)f z<9-mHmSuXAlPM@Dx&t4p{#o_but1tZN$-r5Z!s+B%g}XL`3f|2U!6YwD z1@Pgx-hq)K@C~x&5Gy=NCx?WirZ&ED_`ka+@=(9j+`Tn98pL*WG{L;)#OO4=>&`j- zxbyVY*h-H&{1p1>&EfIW&c~-tJnJ@XgTlgMGC`N)CLbQ}o=nA*`tv;vR7mpp~m0^8MRHXHruUM!feOBiY)EeELkpSH>*u86$AARXI!cWn_2qRo!$LpoH4zNLT7l4siR=ZFE+EswL z%`$KUDvpG;@Y9D2rENOUlCez;2u$#FNZOa$qYUrd^<^=({g6o-K#ZTy8EZA+}6+Sl1YpqY`Mi5G+Gue{9W^Owr$g1g1vD~T5j*_8Mu$qNn*NESzWE&#E|alVu)zQka=@`n99OW#xE^q=#Rv*T zU8i-Q>E0b%>;4@V;l#qn8q>1aSDDITW4)h4-^7Hz*wZqU3&_$QySw)CLHfOog*PYc zv3sID-V<43ywBgF&nz+dZu$E#uJt-2J~94Xm5%3Nr?J!y%=>AK@1&_L^>G7sXFT9* zaQIk_a(8;FEHjrqQE%r(7Tjs4H-f$iUhn0#z9dl;N6<3}USx~%s-Mn;u@{{8R5PXx z%n;X%nA(%d5!}|p=W`4vmf(lL4&}<_`JPpY4M>PZeom-mgrKolRI+0b0nRI})J^@6gXp{#_SGH-U0Q9Vq%!VbK({?YCx!w(b$68`Sw^z9yg z2y#q%j9C{d3HUT(WdJa=K&0wgBCbXE|Dmp5=A40P95P(Q8A1GMp;l2UV9|B%XB_ zOQLIH3SPsZb}TiS4iP=3s$|ug#n;RSt6K}WgotvCl~e?D&h=NfHm62f3vJ68lvy#R zhG0#SO({BZCv_kuR_FE%Q*U)KwnSLFnjocAh2wjcpj2)uZdamN?G_mvYsdgQuINVP zS?3C2svI2j^9#^xM>WJ0dF;Pc;M5G$ce9zD}}&~V4Dl_guvF+25@22d zB$r~n6pasiIr-4R&Nl0TyNBEk?67~->{``|Tt^uoles^Yc0+?jznCa%qy zZ`K~?=thsp;I5w7aq!P>xYsJI(gkvxEiVdIB5!)=!(?68n!XT^^n=(XALB(LUZj_m z$P$?>jrZCwlr!xXF+=QhW-ge&Vxsb^ELdV4N!V3aHewvcZ49DSFbyjHzz-8xSPbha zDyn`ZHX*cK3jYVhYI+IH;PTU5bvqMYySb;AKoPqegphV|{*uKjR5Rd?0a%YIWA~Dd z_4Y;TyET#zS6PkOzFL;)p>oK!L<0-%O~N>DS(5?bnP<$;#_IOSiuTwoX4Z%8ai5O* zI;}?PijpLBvkflii^z^ESti(i8+HzRdEN_^tB?AfPTw!OEg`k*2gVkmq|@;DjJ#yB z$rNDE*^74D@Y5{7R~DX$F$E%2tCv&S@wo{;EPtx~m5PhFny|a@Ce|-i@H(=5?v;d! zr@0v=U&bxQl_?zoe#Pu!>IZ?@ubv6i>aC4tG}Rvzu6lp3)Y3X;7TDXdFtt#+?_X&g z*h>3bD@YaSVg%X@$ds=csj%aA^oe?#0r&Cn?`DdgLa+r+1~@7Bm2f9(&xt%%zkj7s z=~E{GYGhx`!m4xBj5K`Gq(OCNR%JQO7z4uU+wBK8FXn#40Qi@U_DZ;du=WVhF+|~T z%F({!SDw^=YrfpKJOt_;9s~5f=Db#W#a{~!gEqN6tf%@)!+uJ*fONYmfpBJV2^hj@ zuvRrAQ9?H5)&)>V8t0#k%TV8Yt6E)a>(%t$gvPiDWsepLF=9R}eOMrIKV3Hlm*UF9 z)GW0V*Lq`TfQ=BvISAoIM<`gAwuJ-sB~@T1auOfIZEJ{ML$S87Aj^(ZmS7KT4tm*Ci=}S-QmDG($ucV0dMYOGWXJ5mlUbDt^?Uv>MYt_j1Eo1Vk z;s&H^iPk#nPml>AAu?@l0~A^~Y<)j;(*)eCPBS*a0IpO>$SOnda~@zk3ybVuoagsx zC4=e8Y2?3}& zPs>to`hKVkR9|C%`T{;*%VcpwaZW=!Cc`GBW-w@$rGg#R_y~NRF!IiD(O_NgS66VL z*^5-*h@`2YU;}yxu=$NI=}zS4?ygj=(*B#=7x@ z2}3Zp=k>ffZXVc4s91xnH&X*>H29v+GIZ;DQghmaP%{#|taYW=WX#tM&mrNrc9*+h zN%-B3yiYl>c)<>G;FGZpp?`GwqOG`0#6)d`vl}M@NzJ_IJ5Fl@j@%a@T?;`=7hMhz zojqiV*MOMnQ52s8)*$KtC?|y=)ZaWHK@`-OqCIi^)?#5?vV3J?=-yQ2j~h$AMsf;a z%B1+d;PJ|gD4O~3)o8oj&m7xOMp&;UP2w{u<1^8J0*ZeNGK6}6lr1NSX0$i@)?6*xj2_ocV|NKT;wiQXX?uN!ThwrRAfLHfj_`@F}Opc7h zg972iV*HDIBZI3r4}2D6pSi!rE>xj-Tl>sZ2Nw7ytr1NB`T#XB(U>D~NJYGf!i8^A z{}wV;nOD)a*ftpfA}OEEK3@ZI<<+SPtlSn`6z&2>+ANnmFY46D|mS>8ecRq5k${A4|hTfF6x*5bveVb1E`T zPVN>yHeVXLFF|(E7A`FCd$DMO7{24rA$%eO;XQp4lpet4@*BWK?)V3G+kjFc*JuaK z5BEmcCZTX46eMF!=xG|o5ai#ZcS^RqW+xgrfOE2R`?CWtG(-tsZP(%nd+ zg!QO5-d4nA@bif4Htz++OCe@5(RyuJ)!C2JD{f&H)`C&_WrBFNhv~24ox+kzznFSZ z(pr2g@IC=w`w1+V%+%f7=D=HMjhPf!3Yq3t>e9^lfN4R+jVZHdg7)yT3MUHnVS!`~ zrC2f9xbWeEJcO~@fv;V}DkusNlZcOeYV60?ich(fcwQ)&Di?9-U-nrn_P@$;8=6bf zpRL}%xSPO5>q@}+BwWguAZEX?(pg)3uwVjI#e-T&DA>!W->4ETFi7{oY~UZ*nLY^z zo`E1RPPu#OlYk5dBBV7H2eES7)az8Ig_kg4*5nF=$<}18CVeU-5%Ur%(Hc#?OXh_t zvyQ9Sdd~Cf-mzYGahxykH~C%g%tzn=JPSjx|2us8xSUIdFN)zz@16IH)s$@zMXd9? zL{zsTeuSRS10XnH)1eTK80DG1h0S1=poTcUw&eku%>8&H(&0hMbX;kgkA50x<-l5< zCjAFiVl^JEf)%YP_y|b;OTX&Jivum@6RH&a`h?glN_yRG$>sHFjCW!v61~6Jzuan? z&H9IjeWv}tM>1`-*n88nkC4w+S%U}hFpJQFYlv`cMmRq%H6tg&EPU*5C)VyO@+vnIOgN^QaQ^=Mg8N+xL zv1DLvvG}@6BgiV0Kz!gjWTK;e*?q1B%)&sQ$hc7+!g=F5_^5BxvR16E-j1bohc5HT z=Xxevq9BR#FE5{&efUqeG?>y5!jKA}Pr6^tJT}p?iAPEGq0F#ktxlHUDvN#vz~B;6 z=nxKGzOnV$S!%u>5D=vq7Js-FkZu%mz&7r6SLJ=F@qSLG$Sb*_hYE0MEptr85Pz|E zCSm%Q8xi*X!`ANZ&7U8JH`#Lp3wVvZ@>C!BQ}V{Kmozz^Grvu()<{BCykyDBEaAF&`C9%nx?OEl9hrD5dXF@>f!7imJoc%i<_Z z87n;*ni_MlQ^K5zuYD6`>FL+SI<~AAWMztnM%)Dj{T>wj2?C1oQQgGPH4W>2#EWdY zWS=0lq$TA8-u*2RH$+ZbcFQNzIJskD6ZK8D0?klAm;+?=m#oX6231YBjMMss&|P0I z;W}DR`<|0=^nFQ=pIq?=2}-P1r`Y!kk@oH~W;}V>8C8TVa8pfM!C z*ma4jJayJTm|}K>1r}33Pqi?$_vnIZ`%*bs7J+9NI8AH@8wRd9jt*kkWD*!7>md01 zI#SwJ{`p#$HT-$o94_*Sl|L`5LHB1LiHcMQ4uZw~^aNQez$fL@*}w`=x3W`2mTUI( zNi3E*;9r&pn+jNYlmjD&h`wu+i-l40&K3}L)Q)Zgp^gUBgE1ny;YUwcfDMerCq07WXCo7y zk3!7pOpTpj8gkT5W%~sJmPX?)mHg%j5oYzT?(^7Rx9~2WmWz}x#7O69yGzd{N*Emg>iCyRhpVp zrpF>=k2dnU%lGeK&__SWd`3a&+YDc|J-hT^t-9Uhje*))PsEg&@c|@LRGo@o3|^Q2{MI zJ3Rla_}p#u*4vvkA4_8`x4Lb4Wu{T@JpQ*wkKX54~J9K$Ysf-+P{ShPgYoyN;o?Kt`a?VZ$GZ^qoIbPPx@`g-h;Q2>*xJVyD zY@Jr!{cODGUSk(GMZm_6B=1!)zw~Z2DY~nAcZ*SF*8~zWlZ$MNSz6l~#GX}~i3xW) zxgmF%tF4)A}Qshb&xoeGTN zk3re0yh^#_sEDaDNy z_!zOahj`ZXZN-qNyhxB}N|r@u8%x4lGs9aFCeF?kN3U(tN;GBVbdoF#9}iv->!dPp z7tdt*C|V;E*g&lNr7~OpsH`B9*n-ce-jTYzu$&JJ;&K-CJ28{W^z7%3yMOb)JL)#^ z!;*wRfOac{@jz3$D$CmkQYQ!x*4FUrkD<{0#heCB1?k| znby;2Q3ClFfTe`iu1Aj~!lkVjGF#BqTiMN44lzOSBTJP2`Es+;xXl3eLlT0CB#f4T zJP~RIBI+aJR29)0doyz^;$GlQ1B6?x+KBux)qxfD|DB0366;Xc!q7PB{(#3(?n}TC zQ~ERHL?r{dvM3$QBv;N1I4DtnEi}9;=O?G?WJy}R z%?d)7Y^`uHM(yTms>*@3tB_g@fAKtDwp;}MKjIvC6B@HKl#N6y40L6VFJJ_J2qi}9 z*6H%Ts*Tn<0IYr1n{Ocef2J&156)ev;hsE@M7ag&R0*>khCn*tu&D$~RTGw1j3+RH zKb)Aem#Q@`(uiHoUFR1Qa9HK(3F@}5P#JE)ii3o;WU9b-maM2V(AiI3a(d6jGUyM7 zRpP+JTi+&NrvZEy5eRPAz-BmnE5ovaKUq;n8RF^7a@ca)ylO6#O*W76ql- zS~gUS>T_hE%0L%@@O}eU8ap)?RWHestZCre-y=j<2p2IR=)&yPYCvFcHjYW}IIXJcGvZ)i=wGSIuM;8B68-~j3 zxb+}aqUU}xQfjUsNzA%0nzqRaaZT8Z7?V|LEn^pQo3CX7kIt(a{m#b?Vs&9kHm%fF zOJ6f@uZiGS@>+jVm~REy)3WlE4)wAGQUCc70D-M<6toCQ8O0lC@Kc7%YMwd#murX` z!H;q?xAlbg@-yCPi1l1v0k<5BMa@+D?Hd%Y>O5QU-riomw|j7Mu-or)&n*d@_zj&ZDfuMZz+3Dcr<5KUEme1Bx>BGNZhyOmj<%^IK zA3^3)&`$MDX-s7CIP##q*uMTk>$){B?U-8uE@pxUt6okTh1+%0_*aEx>S?`@(M^O2 ze3gws_S8W+&^)ZoMO{-ldfRUL`eMDtd=1x~JUL(73)UZNmH`tlsv`>IO8}ZQYDRDA zmKU)auYrX0M88l+88>~=QO(z)>UV(0U2u34cxAHG1_$@u+cJ3#>nkhV8Tp%4J-R;Muf4QM|iK9IjKjZ&!Dsqvr)ThXt1KXpVrGn2-=%^eC5v$p z8Qqy(Rdm4$GwBGY@e1U6H(jOON{Ik2m?V`(&FHzrFQzju1bz0#R34d<@_ReLqoW{XL&mYHpI+8z%oLE0|Dk)1480*7 zLwB)ez6mDZ8yq;`^#mGYRrcs@DHAh1oLyc!9!$I5%0mxi6d7VzG1v#y#>TXt=KzIV zmI1`y{P@&GtZatcQWh?*q%07j_|qzwFM zG9sy@UF(CSSfQt^bSdl~)l%4~guJ5c|Em+@+GxRxQhV5|>faS-%C#i(kaVT<`E^^I zo(%3aMTXclZLfny1(Vrm2pWl0tFLIE8`x<#f9UtE!7biynj&M(%5@^OxhY%Hygj2W+R#3n zIIif>9bY0u*>0ZB+v8m2X3aL1p;ltgVHA+4ntkYR-Dqf!N(@0P{D2!a@0|K@s_(u4 z{*J1}ce{*ps!X`xgWRrRcOAa|@?{M?benvZy?nXnUFZJ=`f@wA{sC`qUF9yUR1rzd zX*uKS-re-ka<^LhyZw&nQE8IR)TzU=1Pwgjczl+(%IlN*P%cHQp>&XK!}x4xA=x3o zmhCek&qGR^tMgnxyM%51bZ_+Hykm%On0mfJ8%7lKsLJ{JUJ6N_Sr}MJ7R|I=U(D4!aWs)0oa+RE;L=XZ>dKNz;QeW>>-S$?H<# zhU!y`d~EUgfA)*s%!{^gx4Z2Ncd6xKP3>?ZT0*P%m33oB`Z8v5H2fn9GSoW=pe6@=)Z9xBF>hyGZ)a|4B5HRgeY3L{jg(@+&qn%xZf&*0z7h zg%H_90`xr!{2r0p9;0HEpEjH6P3BqOnLW6=sm2zHD+Be-mvy7cz5CKg8}`9uVsGa& z>Anej|C+w<9IE&REzixgvGy2;li~5pdJN(6-lXr+<5tp{>`5Ii*9c1&yegh+SH$bh zUc7lbfve*t2d3LnlnZ#nu1q2|ybsa8A7oXMoWfnyjuOR|3BR{yvY#ya@0D2! zA*A3RU)iVc(lTR;$%hyhaMi53S;oQR$TZ=*ux?W1!M!%hI((Sbe-K9kL3ZhKe5Swj zGtBOIV;JJS=rsJ%&lgtcx&ALe9*I}h9s$}$jA!ZpUhh}+GJ$MEs)(SDnhQ-7Xdy^} zwJ();GtLMcMLSYKD@ubQBi7V8rsN`|5`)gL1N~A0q^7C2-GhIBL4;~Kn5qS0u2g1W z5+_%OB{E4-ubi#WA?GU1tpBwp`79E957dW>d#b51xjCt|iBvI1 z5HaeZJ{8I?Uqdy2z#;#xho%p{i!-$-BPm7wMRZiS>*F0XE!CJS`?H5MCjLqEj4JJy z^P~7wMo%uVefj%*2{pNho`3wz8acGBMPD}UELzuf?MlB=oR0-r`)E8B`lBDNlRv}F zlCIs7O2okbR0R1>3odUU8+hkC!-g3Si}B%j#tS@*_9K ze({RGYztkj^fa1W&VOCPF;vgTX0an_|I&$G3T`?9H>F6h(KF2V2Aqd$aO#XvpTSO>q`}$-J>NC|5Fnyx zKWe0wBh8Dwcr>VU$|h(>@VZqF#otdVhbCV+l0CfzR7gB|DKX{hI{bT4v)O;SY_h4hE1T# zGoi0;NWZ8Y#w0ACJ<_Gq&OSFGb4Er zYYYVOa>ki(E`h|5xvWyS^~npuIgqOK7fwHSBgIm*N)k&{B!GpfYx|YS3!sccO%QQe zxP(Q*ailgEW(`FZdsca8pbIkY0L#40u6FCn`nt{F*|Y8lQd&%i9%OXwP`~Ncadb_) zfuP4WMF_RL4yDWKpfJfK(Mhxk>mBkihFp8NaIvT6$s0RVL|;vzsAIYCdQTkl?BkF7 zbp=EnAX0c=q*l}ucZa~>c}kDo9&Mx8Yj)UiS?NYhy2Nz!3e{&KRu)m>YmnD1MX~)y zbHtOw&^4_cCV-jS3!=~u!gxQL&Mz;u4Ye(TH$I!diZ*6KykIvVQI>{`1xX_ygdk{S z5fg`QYgH%Ncsr3p?|e=}F(t#Kl80`#()!JGxtTJ{a7o{D(ae_z1l z&f5agA*+Z^f#4ZtK2lOyD3Q5#bCTMn3#Vd8o1<@v56^hi)?cyZY;t%o=@J#m&*0lU zXQ;fH=5ZTS)}zREVDCsLp7Ab|AFqCiFxv>@uqJ!Co7lQFrb1RoeW(BA zDHNIYCIw@9q}wo_`7}!=YOKNfDDJn3#h@Mw8*)16E*m?}auOZF2DKs_3R`%}qIb<~ zU2j972N|gC&3Pu8_inHMZ$oKwRa}fetGWN=18X-8(oQ&)`~2xzyL{{rG$%bFmZMeZ)7%pdc%Db#s9Bg0O_1~&LJy>+XwGAiZT}WP1~-a z2rhuQ-8Dv(sO~xBOr9cuInWp;DxUU1ymIqA515Bga1)I3Hn$gxrU21fCOU9Bahe{t0-&=uRMUMc31{0<@vmsRGqB!#`i3w@ z4Pm7kFTAZT@1vwsr&)^Y%re2^zU_x?*)A8g;Pzlm#E440o`P#3Zf+^YZnGnL+6N2$ z#5L*WT}0&*3ffKQobJdMuA$?if%CLv@sJtALKy~H(sQ;ZgD9gMTb{U0mVueMrdx|$ z)nAGItc{EZwooL^lXao*dpSy7r&m$BvC=14=&kFqO>l5oDyu2w>D6{-*#$gTPw^v> zP&v^@HcFYo5N*EAN`#hV$7S%^_&uM^EJj75(wQqFOLe-Agw157#jmc$Y|>VhqW2;Q z<6kKiE!vj8c7dR9>8i>lm&(H2dRz<^N@TUue!@@s!9Ef{=_ehpXCxCpszm=!K(be5 zwR)~0BGPE#IhR|S^BYcFl?lJfS^)lxm6LT1ZdRyLim&U;&CIc&FvX&p_@%w9$w%?& zwo3Xr{i4Uh*Z|4?$}pX{mJGY{R3{fTk#fCA$+#?@9i-}S0K!Nw^qZ3KIYqS9y?={r?)02M@PrwkvXwl zoCN-=EM=4T^5cHK{N&;8&iOcty#8_L_}n~ywZZ@%M3GS`tz{o)u~F9#bM@cG*5LCQ z__Y?y2}UU&MdBJ<E_( z#8zqJQZ`x%DNAeo-bw`pw%cb&o-MYx%+f=@^NjOmS|nJJ|AY1Tk&Yb{@iK}eaGt~q z_KxBj7-WO!|A+`wN+q^+kBZ4oab^2yEQA|enI<-ZjJ_X4R3=N>%7H}0QcXsq4@+1N z%W#_t9q;8*9Ef7o#-xD>8+JEx$HAfCub=;B9p+Q zAlfS23yr2nT>d8WlB#fdnj4whp=WGDK`{Q+QyJUZ8;KL`EOd*+`?A(>C_ZV?T5hkl zPT;M_ZK9&tDRQ4gq`Xvk!eZK0&=>$Qgb6E~Mmi1R>miA;oI0Qdz?jO3@bPLfw-gGL z;D{az%FK#Hf2!ggFhO%jq`AlogTNX`nkHu~$_$0grQ$@+ERrvzK1~xXt5yRucXAmA zolSzmAS~5D#-(7*<_;2-dDP~K2d%6oti+_U600qb1c8Q_k3u2!(|Kj-1CR*%3smu2 zQ~Es})g~pLcOf8lMN=@BH`o=SLQzA!W3Y8%O_^5fxrC3>j{9{qGWU+qBdzP?kH)(ED#=TASLo_+%1{eQzSP-tf?$XgKQ=w6k81x9YB0A z)nN=Tz8kzi9%!Xfhoiy1%T*>PN=O7lMMqknT3+8LmH68KV?s6W+{*P7aUm zAed6xt`bz>?6Km!;8-Zl()Eq1y1{BG1}1ev^}ONSPkYW9yW&vmQf6>OVhJ`-ka>}D z)(K~^NzwZw&Gj)8afar(bfg`XjP0)pv7UoboCrN{Y8Ai86=K*dg{dBCBw1ypn>Omr zz-F0|LrndY1AGJs4NMkpZk4%h?y#{n+XN1R6pI~~6plxfgLQYM5}Ec4GqqSqGt^3u z45wJ*Zf%s>&VNIl6!v)6o2yQd9f;6(wY9Z9^gfjWSKE*h#xZL~WIv=a@U$>u_>HLBj$8-VRDlEH z$2JnzU~8_pG;6Spmop@5Xy~Nk>QaMk=rR8ONMHqNN&Z{?9^=xu47r5G{CE#j@eGk&Uwb1Wdt`|#q- z^b>n5TOGX&X2`9Ll*H6$4ziY$EP$4jw`;Hh`2KIwVg)qr3S$>ol|qR|B;MdBf<>hE zrkIN)*o0OZQ32oCFP0G{u*@;>3lTLZ34HzKkWo$4R(O0%9(@e!{J8Flw_DifY#PM{ zt}BggToSsu)|wxjlWCV(WKghHoz!QD<~YSX1aI$=k@7zm-kH^a!VXKDY^?pYrG{IR zNP`PVdQ3l#tP-jl*H-l21#O34#(r2uNyS&zEze0$wdfu6WFrqeM2*@S96Ll!_EC`C z+O~(z`|bszHwXisw*C*3HI>j&n2ta)5_X+v8AO6j;`m2n{V*r2`lZ0_ur7Q37UYtFrz>5NI!G>=nHt^10-XQ~(A9jG z#u9c!$Wk~TU(_gxaq`~|u~HF$7zB!CR!B2pqh!7k<%m%%3IwpO#;_=`4@f`ncnc(O zhzG+c;4VRaY#|^&-0;wlq#JKgLbDASuZmyBtgfD~Ab?#f8v?J5jeuiqZ6t^~AeMUV zOryZ9E27`7y@-Yjfb45;8V^|Yqw#{;u^S(VPN?{+pPqmiH53}vs!*m}9S;Hg&g1eM z5uB2s7@F&%%0@|!+c8$~km!@D`t-u8M6z+3o@%KmGA*rDRAWsl7K}fip^;p%n&ghH zAJwZSldiCoWm8L$E&(pVW6+PO6zYmq2}8T3sp{5u4z^@Av&U+2)I_0G^7hS}u-2JPV?DWyAIVk3sF!7w cBDE#lpw;2_%aNq+KMCstWo>_f_5lC@0OTJ>Z~y=R literal 110916 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 diff --git a/frontend/app/src/config/profile-page-sections.ts b/frontend/app/src/config/profile-page-sections.ts index 6b5f9845..efba4fa8 100644 --- a/frontend/app/src/config/profile-page-sections.ts +++ b/frontend/app/src/config/profile-page-sections.ts @@ -49,6 +49,7 @@ export interface SCSectionLink extends SCThing { link: string[]; needsAuth?: true; icon?: string; + beta?: true; } export interface SCSection extends SCThing { @@ -150,6 +151,18 @@ export const profilePageSections: SCSection[] = [ }, ...SCSectionLinkConstantValues, }, + { + name: 'Mail', + icon: SCIcon.mail, + link: ['/mail'], + beta: true, + translations: { + de: { + name: 'Email', + }, + }, + ...SCSectionLinkConstantValues, + }, ], translations: { de: { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e9d01d74..4317be2c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -246,6 +246,97 @@ importers: backend/database: {} + backend/mail-plugin: + dependencies: + '@openstapps/core': + specifier: workspace:* + version: link:../../packages/core + '@openstapps/core-tools': + specifier: workspace:* + version: link:../../packages/core-tools + '@openstapps/logger': + specifier: workspace:* + version: link:../../packages/logger + commander: + specifier: 10.0.0 + version: 10.0.0 + dotenv: + specifier: 16.4.5 + version: 16.4.5 + express: + specifier: 4.18.2 + version: 4.18.2 + imapflow: + specifier: 1.0.162 + version: 1.0.162 + mailparser: + specifier: 3.7.1 + version: 3.7.1 + node-forge: + specifier: 1.3.1 + version: 1.3.1 + nodemailer: + specifier: 6.9.14 + version: 6.9.14 + ts-node: + specifier: 10.9.2 + version: 10.9.2(@types/node@18.15.3)(typescript@5.4.2) + devDependencies: + '@openstapps/eslint-config': + specifier: workspace:* + version: link:../../configuration/eslint-config + '@openstapps/prettier-config': + specifier: workspace:* + version: link:../../configuration/prettier-config + '@openstapps/tsconfig': + specifier: workspace:* + version: link:../../configuration/tsconfig + '@types/express': + specifier: 4.17.17 + version: 4.17.17 + '@types/imapflow': + specifier: 1.0.18 + version: 1.0.18 + '@types/mailparser': + specifier: 3.4.4 + version: 3.4.4 + '@types/node': + specifier: 18.15.3 + version: 18.15.3 + '@types/node-forge': + specifier: 1.3.11 + version: 1.3.11 + '@types/nodemailer': + specifier: 6.4.15 + version: 6.4.15 + '@typescript-eslint/eslint-plugin': + specifier: 7.2.0 + version: 7.2.0(@typescript-eslint/parser@7.2.0)(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/parser': + specifier: 7.2.0 + version: 7.2.0(eslint@8.57.0)(typescript@5.4.2) + eslint: + specifier: 8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: 9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-jsdoc: + specifier: 48.2.1 + version: 48.2.1(eslint@8.57.0) + eslint-plugin-unicorn: + specifier: 51.0.1 + version: 51.0.1(eslint@8.57.0) + prettier: + specifier: 3.1.1 + version: 3.1.1 + tsup: + specifier: 6.7.0 + version: 6.7.0(ts-node@10.9.2)(typescript@5.4.2) + typescript: + specifier: 5.4.2 + version: 5.4.2 + backend/proxy: dependencies: '@openstapps/logger': @@ -863,9 +954,15 @@ importers: opening_hours: specifier: 3.8.0 version: 3.8.0 + pkijs: + specifier: 3.1.0 + version: 3.1.0 pmtiles: specifier: 3.0.3 version: 3.0.3 + postal-mime: + specifier: 2.2.5 + version: 2.2.5 rxjs: specifier: 7.8.1 version: 7.8.1 @@ -957,6 +1054,9 @@ importers: '@openstapps/tsconfig': specifier: workspace:* version: link:../../configuration/tsconfig + '@types/dompurify': + specifier: ^3.0.5 + version: 3.0.5 '@types/fontkit': specifier: 2.0.7 version: 2.0.7 @@ -1002,6 +1102,9 @@ importers: cypress: specifier: 13.7.0 version: 13.7.0 + dompurify: + specifier: ^3.1.6 + version: 3.1.6 eslint: specifier: 8.57.0 version: 8.57.0 @@ -2144,7 +2247,7 @@ packages: css-loader: 6.10.0(webpack@5.90.3) esbuild-wasm: 0.20.1 fast-glob: 3.3.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.21) + http-proxy-middleware: 2.0.6(@types/express@4.17.17) https-proxy-agent: 7.0.4 inquirer: 9.2.15 jsonc-parser: 3.2.1 @@ -5084,7 +5187,7 @@ packages: '@ionic/utils-subprocess': 2.1.14 '@ionic/utils-terminal': 2.3.5 commander: 9.5.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6(supports-color@8.1.1) env-paths: 2.2.1 kleur: 4.1.5 native-run: 2.0.1 @@ -5275,7 +5378,7 @@ packages: fs-extra: 7.0.1 lodash.startcase: 4.4.0 outdent: 0.5.0 - prettier: 2.8.6 + prettier: 2.8.8 resolve-from: 5.0.0 semver: 7.6.0 dev: true @@ -5443,7 +5546,7 @@ packages: '@changesets/types': 5.2.1 fs-extra: 7.0.1 human-id: 1.0.2 - prettier: 2.8.6 + prettier: 2.8.8 dev: true /@colors/colors@1.5.0: @@ -6619,7 +6722,7 @@ packages: resolution: {integrity: sha512-0JZ1Zkp3wURnv8oq6Qt7fMPo5MpjbLoUoa9Bu2Q4PJuSDWM8H8gwF3dQO7VTeUj3/0o1IB1wGkFWZZYgUXZMUg==} engines: {node: '>=16.0.0'} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6(supports-color@8.1.1) tslib: 2.6.2 transitivePeerDependencies: - supports-color @@ -6642,7 +6745,7 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@types/fs-extra': 8.1.5 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6(supports-color@8.1.1) fs-extra: 9.1.0 tslib: 2.6.2 transitivePeerDependencies: @@ -6884,15 +6987,6 @@ packages: '@sinclair/typebox': 0.27.8 dev: true - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.20 - dev: true - /@jridgewell/gen-mapping@0.3.5: resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} @@ -6916,11 +7010,6 @@ packages: engines: {node: '>=6.0.0'} dev: true - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - dev: true - /@jridgewell/set-array@1.2.1: resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} @@ -6951,13 +7040,6 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /@jridgewell/trace-mapping@0.3.20: - resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /@jridgewell/trace-mapping@0.3.25: resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: @@ -7570,6 +7652,13 @@ packages: - chokidar dev: true + /@selderee/plugin-htmlparser2@0.11.0: + resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} + dependencies: + domhandler: 5.0.3 + selderee: 0.11.0 + dev: false + /@sideway/address@4.1.4: resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==} dependencies: @@ -7863,13 +7952,6 @@ packages: '@types/connect': 3.4.35 '@types/node': 18.15.3 - /@types/body-parser@1.19.5: - resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} - dependencies: - '@types/connect': 3.4.38 - '@types/node': 18.15.3 - dev: true - /@types/bonjour@3.5.13: resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: @@ -7914,12 +7996,6 @@ packages: dependencies: '@types/node': 18.15.3 - /@types/connect@3.4.38: - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - dependencies: - '@types/node': 18.15.3 - dev: true - /@types/cookie@0.4.1: resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} dev: true @@ -7990,6 +8066,12 @@ packages: resolution: {integrity: sha512-oDuagM6G+xPLrLU4KeCKlr1oalMF5mJqV5pDPMDVIEaa8AkUW00i6u+5P02XCjdEEUQJC9dpnxqSLsZeAciSLQ==} dev: false + /@types/dompurify@3.0.5: + resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==} + dependencies: + '@types/trusted-types': 2.0.7 + dev: true + /@types/eslint-scope@3.7.7: resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: @@ -8008,14 +8090,6 @@ packages: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true - /@types/express-serve-static-core@4.17.35: - resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} - dependencies: - '@types/node': 18.15.3 - '@types/qs': 6.9.7 - '@types/range-parser': 1.2.4 - '@types/send': 0.17.1 - /@types/express-serve-static-core@4.19.5: resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} dependencies: @@ -8023,24 +8097,14 @@ packages: '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 - dev: true /@types/express@4.17.17: resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} dependencies: '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.35 - '@types/qs': 6.9.7 - '@types/serve-static': 1.15.2 - - /@types/express@4.17.21: - resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} - dependencies: - '@types/body-parser': 1.19.5 '@types/express-serve-static-core': 4.19.5 '@types/qs': 6.9.15 '@types/serve-static': 1.15.7 - dev: true /@types/fontkit@2.0.7: resolution: {integrity: sha512-f5BjGam6y3FrfEY2JxXwba66SYzqP+FREZh4UuBN1WDePl8EhTKjba3ZZQ2iORUufkrFt/c/UIugj0Uv/HEdRg==} @@ -8083,12 +8147,8 @@ packages: resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} dev: false - /@types/http-errors@2.0.1: - resolution: {integrity: sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==} - /@types/http-errors@2.0.4: resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} - dev: true /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} @@ -8096,6 +8156,12 @@ packages: '@types/node': 18.15.3 dev: true + /@types/imapflow@1.0.18: + resolution: {integrity: sha512-BoWZUoMktji2YJmkRY8z0KsjvyDNpBzeC/rLVMFKcHkPxaKp+SHBFfx/kj7ltKh3l010Lc9RZqnJs8KUMNhf6Q==} + dependencies: + '@types/node': 18.15.3 + dev: true + /@types/is-ci@3.0.0: resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} dependencies: @@ -8183,6 +8249,13 @@ packages: '@types/geojson': 1.0.6 dev: false + /@types/mailparser@3.4.4: + resolution: {integrity: sha512-C6Znp2QVS25JqtuPyxj38Qh+QoFcLycdxsvcc6IZCGekhaMBzbdTXzwGzhGoYb3TfKu8IRCNV0sV1o3Od97cEQ==} + dependencies: + '@types/node': 18.15.3 + iconv-lite: 0.6.3 + dev: true + /@types/mapbox__point-geometry@0.1.4: resolution: {integrity: sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA==} dev: false @@ -8203,15 +8276,8 @@ packages: dev: false optional: true - /@types/mime@1.3.2: - resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} - /@types/mime@1.3.5: resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - dev: true - - /@types/mime@3.0.1: - resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} /@types/minimatch@5.1.2: resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} @@ -8260,6 +8326,12 @@ packages: /@types/node@18.15.3: resolution: {integrity: sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==} + /@types/nodemailer@6.4.15: + resolution: {integrity: sha512-0EBJxawVNjPkng1zm2vopRctuWVCxk34JcIlRuXSf54habUWdz1FB7wHDqOqvDa8Mtpt0Q3LTXQkAs2LNyK5jQ==} + dependencies: + '@types/node': 18.15.3 + dev: true + /@types/nodemailer@6.4.7: resolution: {integrity: sha512-f5qCBGAn/f0qtRcd4SEn88c8Fp3Swct1731X4ryPKqS61/A3LmmzN8zaEz7hneJvpjFbUUgY7lru/B/7ODTazg==} dependencies: @@ -8283,17 +8355,9 @@ packages: /@types/qs@6.9.15: resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} - dev: true - - /@types/qs@6.9.7: - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} - - /@types/range-parser@1.2.4: - resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} /@types/range-parser@1.2.7: resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - dev: true /@types/retry@0.12.0: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -8312,39 +8376,24 @@ packages: /@types/semver@7.5.8: resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - /@types/send@0.17.1: - resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} - dependencies: - '@types/mime': 1.3.2 - '@types/node': 18.15.3 - /@types/send@0.17.4: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 '@types/node': 18.15.3 - dev: true /@types/serve-index@1.9.4: resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} dependencies: - '@types/express': 4.17.21 + '@types/express': 4.17.17 dev: true - /@types/serve-static@1.15.2: - resolution: {integrity: sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==} - dependencies: - '@types/http-errors': 2.0.1 - '@types/mime': 3.0.1 - '@types/node': 18.15.3 - /@types/serve-static@1.15.7: resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} dependencies: '@types/http-errors': 2.0.4 '@types/node': 18.15.3 '@types/send': 0.17.4 - dev: true /@types/sha1@1.1.3: resolution: {integrity: sha512-bXfx/6xrPu1l6pLItGRMPX00lhnJavpj2qiQeLHflXvL2Ix97aC8FTF2/pQoqukRzcCwKyN3csZvOLzamIoaSA==} @@ -8426,6 +8475,10 @@ packages: resolution: {integrity: sha512-RBz2uRZVCXuMg93WD//aTS5B120QlT4lR/gL+935QtGsKHLS6sCtZBaKfWjIfk7ZXv/r8mtGbwjVIee6/3XTow==} dev: true + /@types/trusted-types@2.0.7: + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + dev: true + /@types/unist@2.0.10: resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} requiresBuild: true @@ -8868,6 +8921,13 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true + /abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + dependencies: + event-target-shim: 5.0.1 + dev: false + /accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} @@ -8981,17 +9041,6 @@ packages: ajv: 8.12.0 dev: true - /ajv-formats@2.1.1(ajv@8.17.1): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: - ajv: 8.17.1 - dev: true - /ajv-keywords@3.5.2(ajv@6.12.6): resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: @@ -9000,12 +9049,12 @@ packages: ajv: 6.12.6 dev: true - /ajv-keywords@5.1.0(ajv@8.17.1): + /ajv-keywords@5.1.0(ajv@8.12.0): resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} peerDependencies: ajv: ^8.8.2 dependencies: - ajv: 8.17.1 + ajv: 8.12.0 fast-deep-equal: 3.1.3 dev: true @@ -9250,6 +9299,15 @@ packages: dependencies: safer-buffer: 2.1.2 + /asn1js@3.0.5: + resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} + engines: {node: '>=12.0.0'} + dependencies: + pvtsutils: 1.3.5 + pvutils: 1.1.3 + tslib: 2.6.2 + dev: false + /assert-plus@1.0.0: resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} engines: {node: '>=0.8'} @@ -9293,6 +9351,11 @@ packages: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} + /atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + dev: false + /autoprefixer@10.4.18(postcss@8.4.35): resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==} engines: {node: ^10 || ^12 || >=14} @@ -9634,7 +9697,6 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: false /body-parser@1.20.2: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} @@ -9710,13 +9772,13 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.0.1 + dev: true /braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: fill-range: 7.1.1 - dev: true /breakword@1.0.6: resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} @@ -9758,6 +9820,13 @@ packages: base64-js: 1.5.1 ieee754: 1.2.1 + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + /buildcheck@0.0.6: resolution: {integrity: sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==} engines: {node: '>=10.0.0'} @@ -9795,6 +9864,11 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} + /bytestreamjs@2.0.1: + resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==} + engines: {node: '>=6.0.0'} + dev: false + /bytewise-core@1.2.3: resolution: {integrity: sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA==} dependencies: @@ -10644,12 +10718,6 @@ packages: /cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} - dev: false - - /cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - dev: true /cookiejar@2.1.4: resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} @@ -11802,7 +11870,6 @@ packages: domelementtype: 2.3.0 domhandler: 5.0.3 entities: 4.5.0 - dev: true /dom7@4.0.6: resolution: {integrity: sha512-emjdpPLhpNubapLFdjNL9tP06Sr+GZkrIHEXLWvOGsytACUrkbeIdjO5g77m00BrHTznnlcNqgmn7pCN192TBA==} @@ -11812,7 +11879,6 @@ packages: /domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - dev: true /domhandler@4.3.1: resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} @@ -11826,13 +11892,10 @@ packages: engines: {node: '>= 4'} dependencies: domelementtype: 2.3.0 - dev: true /dompurify@3.1.6: resolution: {integrity: sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==} requiresBuild: true - dev: false - optional: true /domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} @@ -11848,7 +11911,6 @@ packages: dom-serializer: 2.0.0 domelementtype: 2.3.0 domhandler: 5.0.3 - dev: true /dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} @@ -11866,7 +11928,7 @@ packages: hasBin: true dependencies: cross-spawn: 7.0.3 - dotenv: 16.3.1 + dotenv: 16.4.5 dotenv-expand: 10.0.0 minimist: 1.2.8 dev: true @@ -11876,16 +11938,15 @@ packages: engines: {node: '>=12'} dev: true - /dotenv@16.3.1: - resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} - engines: {node: '>=12'} - dev: true - /dotenv@16.3.2: resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==} engines: {node: '>=12'} dev: true + /dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + /duplexer2@0.1.4: resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} dependencies: @@ -11966,6 +12027,16 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + /encoding-japanese@2.0.0: + resolution: {integrity: sha512-++P0RhebUC8MJAwJOsT93dT+5oc5oPImp1HubZpAuCZ5kTLnhuuBhKHj2jJeO/Gj93idPBWmIuQ9QWMe5rX3pQ==} + engines: {node: '>=8.10.0'} + dev: false + + /encoding-japanese@2.1.0: + resolution: {integrity: sha512-58XySVxUgVlBikBTbQ8WdDxBDHIdXucB16LO5PBHR8t75D54wQrNo4cg+58+R1CtJfKnsVsvt9XlteRaR8xw1w==} + engines: {node: '>=8.10.0'} + dev: false + /encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} requiresBuild: true @@ -12557,6 +12628,11 @@ packages: through: 2.3.8 dev: true + /event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + dev: false + /eventemitter2@6.4.7: resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} dev: true @@ -12571,7 +12647,6 @@ packages: /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - dev: true /execa@4.1.0: resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} @@ -12683,46 +12758,6 @@ packages: vary: 1.1.2 transitivePeerDependencies: - supports-color - dev: false - - /express@4.19.2: - resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} - engines: {node: '>= 0.10.0'} - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.2 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.6.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.2.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.11.0 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: true /extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} @@ -12800,16 +12835,6 @@ packages: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} dev: true - /fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - /fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} @@ -12819,7 +12844,6 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.7 - dev: true /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -12827,6 +12851,11 @@ packages: /fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + /fast-redact@3.5.0: + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} + engines: {node: '>=6'} + dev: false + /fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} dev: true @@ -12904,13 +12933,13 @@ packages: engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 + dev: true /fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - dev: true /finalhandler@1.1.2: resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} @@ -13570,8 +13599,8 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.1 - ignore: 5.2.4 + fast-glob: 3.3.2 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 @@ -13777,7 +13806,6 @@ packages: /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - dev: true /hexoid@1.0.0: resolution: {integrity: sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==} @@ -13856,6 +13884,17 @@ packages: engines: {node: '>=8'} dev: true + /html-to-text@9.0.5: + resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==} + engines: {node: '>=14'} + dependencies: + '@selderee/plugin-htmlparser2': 0.11.0 + deepmerge: 4.3.1 + dom-serializer: 2.0.0 + htmlparser2: 8.0.2 + selderee: 0.11.0 + dev: false + /htmlparser2@8.0.2: resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} dependencies: @@ -13863,7 +13902,6 @@ packages: domhandler: 5.0.3 domutils: 3.1.0 entities: 4.5.0 - dev: true /http-auth-connect@1.0.6: resolution: {integrity: sha512-yaO0QSCPqGCjPrl3qEEHjJP+lwZ6gMpXLuCBE06eWwcXomkI5TARtu0kxf9teFuBj6iaV3Ybr15jaWUvbzNzHw==} @@ -13932,7 +13970,7 @@ packages: - supports-color dev: true - /http-proxy-middleware@2.0.6(@types/express@4.17.21): + /http-proxy-middleware@2.0.6(@types/express@4.17.17): resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -13941,7 +13979,7 @@ packages: '@types/express': optional: true dependencies: - '@types/express': 4.17.21 + '@types/express': 4.17.17 '@types/http-proxy': 1.17.14 http-proxy: 1.18.1 is-glob: 4.0.3 @@ -14125,10 +14163,6 @@ packages: minimatch: 9.0.5 dev: true - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - /ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} @@ -14141,6 +14175,20 @@ packages: dev: true optional: true + /imapflow@1.0.162: + resolution: {integrity: sha512-pfx45n2gEIC9MeXAadcfehu5MboUzXqgQiZviKbnIxI6a/QkonOSAMXvBBkWbXQ5FXc9M5IpziJs6TP7jikBrg==} + dependencies: + encoding-japanese: 2.1.0 + iconv-lite: 0.6.3 + libbase64: 1.3.0 + libmime: 5.3.5 + libqp: 2.1.0 + mailsplit: 5.4.0 + nodemailer: 6.9.13 + pino: 9.0.0 + socks: 2.8.3 + dev: false + /immediate@3.0.6: resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} requiresBuild: true @@ -14332,7 +14380,6 @@ packages: dependencies: jsbn: 1.1.0 sprintf-js: 1.1.3 - dev: true /ip-regex@4.3.0: resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} @@ -14914,7 +14961,6 @@ packages: /jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - dev: true /jsdoc-type-pratt-parser@4.0.0: resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} @@ -15237,6 +15283,10 @@ packages: engines: {node: '> 0.8'} dev: true + /leac@0.6.0: + resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==} + dev: false + /leek@0.0.24: resolution: {integrity: sha512-6PVFIYXxlYF0o6hrAsHtGpTmi06otkwNrMcmQ0K96SeSRHPREPa9J3nJZ1frliVH7XT0XFswoJFQoXsDukzGNQ==} dependencies: @@ -15289,6 +15339,40 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 + /libbase64@1.2.1: + resolution: {integrity: sha512-l+nePcPbIG1fNlqMzrh68MLkX/gTxk/+vdvAb388Ssi7UuUN31MI44w4Yf33mM3Cm4xDfw48mdf3rkdHszLNew==} + dev: false + + /libbase64@1.3.0: + resolution: {integrity: sha512-GgOXd0Eo6phYgh0DJtjQ2tO8dc0IVINtZJeARPeiIJqge+HdsWSuaDTe8ztQ7j/cONByDZ3zeB325AHiv5O0dg==} + dev: false + + /libmime@5.2.0: + resolution: {integrity: sha512-X2U5Wx0YmK0rXFbk67ASMeqYIkZ6E5vY7pNWRKtnNzqjvdYYG8xtPDpCnuUEnPU9vlgNev+JoSrcaKSUaNvfsw==} + dependencies: + encoding-japanese: 2.0.0 + iconv-lite: 0.6.3 + libbase64: 1.2.1 + libqp: 2.0.1 + dev: false + + /libmime@5.3.5: + resolution: {integrity: sha512-nSlR1yRZ43L3cZCiWEw7ali3jY29Hz9CQQ96Oy+sSspYnIP5N54ucOPHqooBsXzwrX1pwn13VUE05q4WmzfaLg==} + dependencies: + encoding-japanese: 2.1.0 + iconv-lite: 0.6.3 + libbase64: 1.3.0 + libqp: 2.1.0 + dev: false + + /libqp@2.0.1: + resolution: {integrity: sha512-Ka0eC5LkF3IPNQHJmYBWljJsw0UvM6j+QdKRbWyCdTmYwvIDE6a7bCm0UkTAL/K+3KXK5qXT/ClcInU01OpdLg==} + dev: false + + /libqp@2.1.0: + resolution: {integrity: sha512-O6O6/fsG5jiUVbvdgT7YX3xY3uIadR6wEZ7+vy9u7PKHAlSEB6blvC1o5pHBjgsi95Uo0aiBBdkyFecj6jtb7A==} + dev: false + /license-checker@25.0.1: resolution: {integrity: sha512-mET5AIwl7MR2IAKYYoVBBpV0OnkKQ1xGj2IMMeEFIs42QAkEVjRtFZGWmQ28WeU7MP779iAgOaOy93Mn44mn6g==} hasBin: true @@ -15339,6 +15423,12 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /linkify-it@5.0.0: + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + dependencies: + uc.micro: 2.1.0 + dev: false + /listr2@3.14.0(enquirer@2.4.1): resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} engines: {node: '>=10.0.0'} @@ -15650,6 +15740,29 @@ packages: '@jridgewell/sourcemap-codec': 1.5.0 dev: true + /mailparser@3.7.1: + resolution: {integrity: sha512-RCnBhy5q8XtB3mXzxcAfT1huNqN93HTYYyL6XawlIKycfxM/rXPg9tXoZ7D46+SgCS1zxKzw+BayDQSvncSTTw==} + dependencies: + encoding-japanese: 2.1.0 + he: 1.2.0 + html-to-text: 9.0.5 + iconv-lite: 0.6.3 + libmime: 5.3.5 + linkify-it: 5.0.0 + mailsplit: 5.4.0 + nodemailer: 6.9.13 + punycode.js: 2.3.1 + tlds: 1.252.0 + dev: false + + /mailsplit@5.4.0: + resolution: {integrity: sha512-wnYxX5D5qymGIPYLwnp6h8n1+6P6vz/MJn5AzGjZ8pwICWssL+CCQjWBIToOVHASmATot4ktvlLo6CyLfOXWYA==} + dependencies: + libbase64: 1.2.1 + libmime: 5.2.0 + libqp: 2.0.1 + dev: false + /make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} @@ -16163,6 +16276,7 @@ packages: dependencies: braces: 3.0.2 picomatch: 2.3.1 + dev: true /micromatch@4.0.7: resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} @@ -16170,7 +16284,6 @@ packages: dependencies: braces: 3.0.3 picomatch: 2.3.1 - dev: true /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} @@ -16782,7 +16895,6 @@ packages: /node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} - dev: true /node-gyp-build@4.8.1: resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==} @@ -16849,6 +16961,16 @@ packages: engines: {node: '>=6.0.0'} dev: false + /nodemailer@6.9.13: + resolution: {integrity: sha512-7o38Yogx6krdoBf3jCAqnIN4oSQFx+fMa0I7dK1D+me9kBxx12D+/33wSb+fhOCtIxvYJ+4x4IMEhmhCKfAiOA==} + engines: {node: '>=6.0.0'} + dev: false + + /nodemailer@6.9.14: + resolution: {integrity: sha512-Dobp/ebDKBvz91sbtRKhcznLThrKxKt97GI2FAlAyy+fk19j73Uz3sBXolVtmcXjaorivqsbbbjDY+Jkt4/bQA==} + engines: {node: '>=6.0.0'} + dev: false + /nodemon@2.0.22: resolution: {integrity: sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==} engines: {node: '>=8.10.0'} @@ -17149,6 +17271,11 @@ packages: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: true + /on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + dev: false + /on-finished@2.3.0: resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} engines: {node: '>= 0.8'} @@ -17527,6 +17654,13 @@ packages: dependencies: entities: 4.5.0 + /parseley@0.12.1: + resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==} + dependencies: + leac: 0.6.0 + peberminta: 0.9.0 + dev: false + /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} @@ -17632,6 +17766,10 @@ packages: xmldoc: 1.3.0 dev: true + /peberminta@0.9.0: + resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} + dev: false + /pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} dev: true @@ -17668,6 +17806,34 @@ packages: requiresBuild: true dev: true + /pino-abstract-transport@1.2.0: + resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + dev: false + + /pino@9.0.0: + resolution: {integrity: sha512-uI1ThkzTShNSwvsUM6b4ND8ANzWURk9zTELMztFkmnCQeR/4wkomJ+echHee5GMWGovoSfjwdeu80DsFIt7mbA==} + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.5.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.2.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.1 + thread-stream: 2.7.0 + dev: false + /pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} @@ -17693,6 +17859,17 @@ packages: find-up: 6.3.0 dev: true + /pkijs@3.1.0: + resolution: {integrity: sha512-N+OCWUp6xrg7OkG+4DIiZUOsp3qMztjq8RGCc1hSY92dsUG8cTlAo7pEkfRGjcdyBv2c1Y9bjAzqdTJAlctuNg==} + engines: {node: '>=12.0.0'} + dependencies: + asn1js: 3.0.5 + bytestreamjs: 2.0.1 + pvtsutils: 1.3.5 + pvutils: 1.1.3 + tslib: 2.6.2 + dev: false + /plantuml-encoder@1.4.0: resolution: {integrity: sha512-sxMwpDw/ySY1WB2CE3+IdMuEcWibJ72DDOsXLkSmEaSzwEUaYBT6DWgOfBiHGCux4q433X6+OEFWjlVqp7gL6g==} dev: false @@ -17737,6 +17914,10 @@ packages: engines: {node: '>= 0.4'} dev: true + /postal-mime@2.2.5: + resolution: {integrity: sha512-6eTJf+B47JMdDuLF/4MBiGpTinxl0W8bA9CzrSoiQrNVRqK8Vhe59VrS6sXh2lG/lgo0bxpZFcWOF4Dv1FaSfg==} + dev: false + /postcss-load-config@3.1.4(ts-node@10.9.2): resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} @@ -17925,12 +18106,6 @@ packages: fast-diff: 1.3.0 dev: true - /prettier@2.8.6: - resolution: {integrity: sha512-mtuzdiBbHwPEgl7NxWlqOkithPyp4VN93V7VeHVWBF+ad3I5avc0RVDT4oImXQy9H/AqxA2NSQH8pSxHW6FYbQ==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true - /prettier@2.8.8: resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} @@ -17976,10 +18151,13 @@ packages: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true + /process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + dev: false + /process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} - dev: true /progress@1.1.8: resolution: {integrity: sha512-UdA8mJ4weIkUBO224tIarHzuHs4HuYiJvsuGT7j/SPQiUJVjYvNDBIPa0hAorduOfjGohB/qHWRa/lrrWX/mXw==} @@ -18101,6 +18279,11 @@ packages: end-of-stream: 1.4.4 once: 1.4.0 + /punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + dev: false + /punycode@1.4.1: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} dev: true @@ -18118,6 +18301,17 @@ packages: resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==} dev: true + /pvtsutils@1.3.5: + resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} + dependencies: + tslib: 2.6.2 + dev: false + + /pvutils@1.1.3: + resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} + engines: {node: '>=6.0.0'} + dev: false + /q@1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} engines: {node: '>=0.6.0', teleport: '>=0.2.0'} @@ -18171,6 +18365,10 @@ packages: resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} dev: true + /quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + dev: false + /quick-lru@4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} engines: {node: '>=8'} @@ -18207,7 +18405,6 @@ packages: http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 - dev: false /raw-body@2.5.2: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} @@ -18365,6 +18562,17 @@ packages: string_decoder: 1.3.0 util-deprecate: 1.0.2 + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + /readdir-scoped-modules@1.1.0: resolution: {integrity: sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==} deprecated: This functionality has been moved to @npmcli/fs @@ -18382,6 +18590,11 @@ packages: picomatch: 2.3.1 dev: true + /real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + dev: false + /rechoir@0.6.2: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} @@ -18849,9 +19062,9 @@ packages: engines: {node: '>= 12.13.0'} dependencies: '@types/json-schema': 7.0.15 - ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) - ajv-keywords: 5.1.0(ajv@8.17.1) + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + ajv-keywords: 5.1.0(ajv@8.12.0) dev: true /secure-compare@3.0.1: @@ -18862,6 +19075,12 @@ packages: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} dev: false + /selderee@0.11.0: + resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==} + dependencies: + parseley: 0.12.1 + dev: false + /select-hose@2.0.0: resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} dev: true @@ -19333,7 +19552,12 @@ packages: dependencies: ip-address: 9.0.5 smart-buffer: 4.2.0 - dev: true + + /sonic-boom@3.8.1: + resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} + dependencies: + atomic-sleep: 1.0.0 + dev: false /sort-asc@0.2.0: resolution: {integrity: sha512-umMGhjPeHAI6YjABoSTrFp2zaBtXBej1a0yKkuMUyjjqu6FJsTF+JYwCswWDg+zJfk/5npWUUbd33HH/WLzpaA==} @@ -19498,7 +19722,6 @@ packages: /split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} - dev: true /split@0.3.1: resolution: {integrity: sha512-hCHXkQDs1HFKRsrT9EutGT1hmjS1FW1Aei8dk/CxrT7mslcMtAxbiv8LYA/AYDvjB6h9rSXgW8zAZwg20tKMTw==} @@ -19518,7 +19741,6 @@ packages: /sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - dev: true /ssh-config@1.1.6: resolution: {integrity: sha512-ZPO9rECxzs5JIQ6G/2EfL1I9ho/BVZkx9HRKn8+0af7QgwAmumQ7XBFP1ggMyPMo+/tUbmv0HFdv4qifdO/9JA==} @@ -19956,7 +20178,7 @@ packages: engines: {node: '>=8'} hasBin: true dependencies: - '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 glob: 7.1.6 lines-and-columns: 1.2.4 @@ -20345,6 +20567,12 @@ packages: any-promise: 1.3.0 dev: true + /thread-stream@2.7.0: + resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} + dependencies: + real-require: 0.2.0 + dev: false + /throttleit@1.0.1: resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} dev: true @@ -20389,6 +20617,11 @@ packages: resolution: {integrity: sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==} dev: false + /tlds@1.252.0: + resolution: {integrity: sha512-GA16+8HXvqtfEnw/DTcwB0UU354QE1n3+wh08oFjr6Znl7ZLAeUgYzCcK+/CCrOyE0vnHR8/pu3XXG3vDijXpQ==} + hasBin: true + dev: false + /tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -20645,8 +20878,8 @@ packages: dependencies: bundle-require: 4.0.1(esbuild@0.17.19) cac: 6.7.14 - chokidar: 3.5.3 - debug: 4.3.4(supports-color@8.1.1) + chokidar: 3.6.0 + debug: 4.3.6(supports-color@8.1.1) esbuild: 0.17.19 execa: 5.1.1 globby: 11.1.0 @@ -20968,6 +21201,10 @@ packages: resolution: {integrity: sha512-fYmIy7fKTSFAhG3fuPlubeGaMoAd6r0rSnfEsO5nEY55i26KSLt9EH7PLQiiqPUhNqYIJvSkTy1oArIcXAbPbA==} dev: true + /uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + dev: false + /uglify-js@3.19.1: resolution: {integrity: sha512-y/2wiW+ceTYR2TSSptAhfnEtpLaQ4Ups5zrjB2d3kuVxHj16j/QJwPl5PvuGy9uARb39J0+iKxcRPvtpsx4A4A==} engines: {node: '>=0.8.0'} @@ -21473,7 +21710,7 @@ packages: dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.21 + '@types/express': 4.17.17 '@types/serve-index': 1.9.4 '@types/serve-static': 1.15.7 '@types/sockjs': 0.3.36 @@ -21485,10 +21722,10 @@ packages: compression: 1.7.4 connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 - express: 4.19.2 + express: 4.18.2 graceful-fs: 4.2.11 html-entities: 2.5.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.21) + http-proxy-middleware: 2.0.6(@types/express@4.17.17) ipaddr.js: 2.2.0 launch-editor: 2.8.0 open: 8.4.2 From 209b14f858381fd39d6327110ae22ff0509b765c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Thu, 15 Aug 2024 20:32:34 +0200 Subject: [PATCH 2/3] feat: use postal mime parser --- backend/mail-plugin/src/cli.ts | 35 ++- frontend/app/package.json | 5 + frontend/app/src/app/app.module.ts | 22 +- .../app/modules/mail/mail-detail.component.ts | 20 +- .../app/src/app/modules/mail/mail-detail.html | 96 ++++--- .../app/src/app/modules/mail/mail-detail.scss | 64 ++++- .../app/modules/mail/mail-meta.component.ts | 17 -- .../app/src/app/modules/mail/mail-meta.html | 51 ---- .../app/src/app/modules/mail/mail-meta.scss | 35 --- .../app/modules/mail/mail-page.component.ts | 4 +- .../app/src/app/modules/mail/mail-page.html | 12 +- .../app/src/app/modules/mail/mail.service.ts | 249 +++++++++++++++++- .../mail/parts/mail-attachment-text.pipe.ts | 23 -- .../parts/mail-part-attachment.component.ts | 19 -- .../mail/parts/mail-part-attachment.html | 9 - .../mail/parts/mail-part-attachment.scss | 21 -- .../modules/mail/parts/mail-part.component.ts | 48 ---- .../src/app/modules/mail/parts/mail-part.html | 23 -- .../src/app/modules/mail/parts/mail-part.scss | 9 - .../parts/mail-preferred-alternative.pipe.ts | 13 - frontend/app/src/app/modules/mail/schema.ts | 94 +++++++ frontend/app/src/app/modules/mail/types.ts | 44 ---- .../parts => util}/shadow-html.directive.ts | 0 frontend/app/src/assets/i18n/de.json | 4 + frontend/app/src/assets/i18n/en.json | 4 + frontend/app/src/assets/icons.min.woff2 | Bin 113296 -> 114696 bytes frontend/app/src/index.html | 2 +- pnpm-lock.yaml | 19 ++ 28 files changed, 540 insertions(+), 402 deletions(-) delete mode 100644 frontend/app/src/app/modules/mail/mail-meta.component.ts delete mode 100644 frontend/app/src/app/modules/mail/mail-meta.html delete mode 100644 frontend/app/src/app/modules/mail/mail-meta.scss delete mode 100644 frontend/app/src/app/modules/mail/parts/mail-attachment-text.pipe.ts delete mode 100644 frontend/app/src/app/modules/mail/parts/mail-part-attachment.component.ts delete mode 100644 frontend/app/src/app/modules/mail/parts/mail-part-attachment.html delete mode 100644 frontend/app/src/app/modules/mail/parts/mail-part-attachment.scss delete mode 100644 frontend/app/src/app/modules/mail/parts/mail-part.component.ts delete mode 100644 frontend/app/src/app/modules/mail/parts/mail-part.html delete mode 100644 frontend/app/src/app/modules/mail/parts/mail-part.scss delete mode 100644 frontend/app/src/app/modules/mail/parts/mail-preferred-alternative.pipe.ts create mode 100644 frontend/app/src/app/modules/mail/schema.ts delete mode 100644 frontend/app/src/app/modules/mail/types.ts rename frontend/app/src/app/{modules/mail/parts => util}/shadow-html.directive.ts (100%) diff --git a/backend/mail-plugin/src/cli.ts b/backend/mail-plugin/src/cli.ts index 59f23b58..73eb3c8d 100644 --- a/backend/mail-plugin/src/cli.ts +++ b/backend/mail-plugin/src/cli.ts @@ -77,22 +77,37 @@ app.get('/:id', async (request, response) => { await client.logout(); }); -app.get('/:id/attachment/:attachment', async (request, response) => { +app.get('/:id/attachment/:attachment?', async (request, response) => { const client = response.locals.client as ImapFlow; await client.connect(); const lock = await client.getMailboxLock('INBOX'); try { const message = await client.download(request.params.id, request.params.attachment); - const body = await new Promise(resolve => { - let body = ''; - message.content.on('data', chunk => { - body += chunk.toString(); - }); - message.content.on('end', () => { - resolve(body); - }); + message.content.on('data', chunk => { + response.write(chunk); }); - response.send(body); + message.content.on('end', () => { + response.end(); + }); + } finally { + lock.release(); + } + await client.logout(); +}); + +app.get('/:id/raw/:part', async (request, response) => { + const client = response.locals.client as ImapFlow; + await client.connect(); + const lock = await client.getMailboxLock('INBOX'); + try { + const message = await client.fetchOne(request.params.id, { + bodyParts: [`${request.params.part}.mime`, request.params.part], + }); + + response.write(message.bodyParts.get(`${request.params.part}.mime`)); + response.write(message.bodyParts.get(request.params.part)); + + response.end(); } finally { lock.release(); } diff --git a/frontend/app/package.json b/frontend/app/package.json index c357d8be..0f73616a 100644 --- a/frontend/app/package.json +++ b/frontend/app/package.json @@ -90,6 +90,7 @@ "@openstapps/core": "workspace:*", "@transistorsoft/capacitor-background-fetch": "5.2.0", "@types/dom-view-transitions": "1.0.4", + "asn1js": "^3.0.5", "capacitor-secure-storage-plugin": "0.9.0", "cordova-plugin-calendar": "5.1.6", "date-fns": "3.6.0", @@ -98,6 +99,8 @@ "geojson": "0.5.0", "ionic-appauth": "0.9.0", "jsonpath-plus": "6.0.1", + "libbase64": "^1.3.0", + "libqp": "^2.1.0", "maplibre-gl": "4.0.2", "material-symbols": "0.17.1", "moment": "2.30.1", @@ -113,6 +116,7 @@ "semver": "7.6.0", "swiper": "8.4.5", "tslib": "2.6.2", + "zod": "^3.23.8", "zone.js": "0.14.4" }, "devDependencies": { @@ -145,6 +149,7 @@ "@types/fontkit": "2.0.7", "@types/geojson": "1.0.6", "@types/glob": "8.1.0", + "@types/imapflow": "1.0.18", "@types/jasmine": "5.1.4", "@types/jasminewd2": "2.0.13", "@types/jsonpath": "0.2.0", diff --git a/frontend/app/src/app/app.module.ts b/frontend/app/src/app/app.module.ts index 194370ec..f6bba3ab 100644 --- a/frontend/app/src/app/app.module.ts +++ b/frontend/app/src/app/app.module.ts @@ -15,12 +15,11 @@ import {CommonModule, LocationStrategy, PathLocationStrategy, registerLocaleData} from '@angular/common'; import {HTTP_INTERCEPTORS, HttpClient, HttpClientModule} from '@angular/common/http'; import localeDe from '@angular/common/locales/de'; -import {APP_INITIALIZER, NgModule} from '@angular/core'; +import {APP_INITIALIZER, Injectable, NgModule} from '@angular/core'; import {BrowserModule} from '@angular/platform-browser'; import {RouteReuseStrategy} from '@angular/router'; import {IonicModule, IonicRouteStrategy, Platform} from '@ionic/angular'; import {TranslateLoader, TranslateModule, TranslateService} from '@ngx-translate/core'; -import {TranslateHttpLoader} from '@ngx-translate/http-loader'; import moment from 'moment'; import 'moment/min/locales'; import {LoggerModule, NGXLogger, NgxLoggerLevel} from 'ngx-logger'; @@ -72,6 +71,7 @@ import {SplashScreen} from '@capacitor/splash-screen'; import maplibregl from 'maplibre-gl'; import {Protocol} from 'pmtiles'; import {MailModule} from './modules/mail/mail.module'; +import {Observable, from} from 'rxjs'; registerLocaleData(localeDe); @@ -130,12 +130,16 @@ export function initializerFactory( }; } -/** - * TODO - * @param http TODO - */ -export function createTranslateLoader(http: HttpClient) { - return new TranslateHttpLoader(http, './assets/i18n/', '.json'); +@Injectable({providedIn: 'root'}) +export class ImportTranslateLoader { + static translations: Record Promise<{default: object}>> = { + de: () => import('../assets/i18n/de.json'), + en: () => import('../assets/i18n/en.json'), + }; + + getTranslation(lang: string): Observable { + return from(ImportTranslateLoader.translations[lang]().then(it => it.default)); + } } /** @@ -179,7 +183,7 @@ export function createTranslateLoader(http: HttpClient) { loader: { deps: [HttpClient], provide: TranslateLoader, - useFactory: createTranslateLoader, + useClass: ImportTranslateLoader, }, }), UtilModule, diff --git a/frontend/app/src/app/modules/mail/mail-detail.component.ts b/frontend/app/src/app/modules/mail/mail-detail.component.ts index 11f62da9..21961622 100644 --- a/frontend/app/src/app/modules/mail/mail-detail.component.ts +++ b/frontend/app/src/app/modules/mail/mail-detail.component.ts @@ -1,21 +1,23 @@ import {ChangeDetectionStrategy, Component, signal} from '@angular/core'; import {MailService} from './mail.service'; -import {AsyncPipe} from '@angular/common'; +import {AsyncPipe, TitleCasePipe} from '@angular/common'; import {IonicModule} from '@ionic/angular'; import {DataModule} from '../data/data.module'; import {IonIconModule} from 'src/app/util/ion-icon/ion-icon.module'; import {UtilModule} from 'src/app/util/util.module'; import {FormatPurePipeModule, ParseIsoPipeModule} from 'ngx-date-fns'; import {ActivatedRoute, RouterModule} from '@angular/router'; -import {mergeMap, tap} from 'rxjs'; +import {mergeMap} from 'rxjs'; import {DomSanitizer} from '@angular/platform-browser'; -import {MailPartComponent} from './parts/mail-part.component'; -import {MailMetaComponent} from './mail-meta.component'; +import {materialFade} from 'src/app/animation/material-motion'; +import {TranslateModule} from '@ngx-translate/core'; +import {ShadowHtmlDirective} from 'src/app/util/shadow-html.directive'; @Component({ selector: 'stapps-mail-detail', templateUrl: 'mail-detail.html', styleUrl: 'mail-detail.scss', + animations: [materialFade], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [ @@ -27,15 +29,13 @@ import {MailMetaComponent} from './mail-meta.component'; FormatPurePipeModule, ParseIsoPipeModule, RouterModule, - MailPartComponent, - MailMetaComponent, + ShadowHtmlDirective, + TranslateModule, + TitleCasePipe, ], }) export class MailDetailComponent { - mail = this.activatedRoute.params.pipe( - mergeMap(parameters => this.mailService.getMail(parameters.id)), - tap(console.log), - ); + mail = this.activatedRoute.params.pipe(mergeMap(({id}) => this.mailService.getEmail(id))); collapse = signal(false); diff --git a/frontend/app/src/app/modules/mail/mail-detail.html b/frontend/app/src/app/modules/mail/mail-detail.html index 17035338..837270df 100644 --- a/frontend/app/src/app/modules/mail/mail-detail.html +++ b/frontend/app/src/app/modules/mail/mail-detail.html @@ -8,7 +8,7 @@ [style.translate]="collapse() ? '0' : '0 10px'" > @if (mail | async; as mail) { - {{ mail.envelope.subject }} + {{ mail.subject?.value }} } @else { } @@ -25,41 +25,69 @@ -

- @if (mail | async; as mail) { - {{ mail.envelope.subject }} - } @else { - - } -

-
- @if (mail | async; as mail) { - -
- @if (mail.envelope.from[0]; as from) { -
- {{ (from.name || from.address).charAt(0).toUpperCase() }} -
+ @if (mail | async; as mail) { +

{{ mail.subject?.value }}

+ + @if (mail.html) { +
+
+
+ } @else if (mail.text) { +
+
{{ mail.text.value }}
+
} -
- @if (mail | async; as mail) { - + + @for (attachment of mail.attachments; track attachment) { + + + {{ attachment.value.filename }} + {{ attachment.value.size }} + + + + + + + + } + +
+
+ + @if (mail.date) { + + + + + } +
{{ 'mail.DATE' | translate | titlecase }} + +
+
+
} diff --git a/frontend/app/src/app/modules/mail/mail-detail.scss b/frontend/app/src/app/modules/mail/mail-detail.scss index 2344f68c..28b00972 100644 --- a/frontend/app/src/app/modules/mail/mail-detail.scss +++ b/frontend/app/src/app/modules/mail/mail-detail.scss @@ -1,13 +1,5 @@ @import '../../../theme/util/mixins'; -.body { - @include border-radius-in-parallax(var(--border-radius-default)); - - margin: var(--spacing-md); - padding: var(--spacing-md); - background: var(--ion-item-background); -} - ion-item { margin-block-end: var(--spacing-xl); } @@ -24,20 +16,68 @@ h1 { color: var(--ion-color-primary-contrast); } +aside { + display: flex; + flex-direction: column; + margin: var(--spacing-xs) var(--spacing-md); + color: var(--ion-color-primary-contrast); +} + +.to { + display: flex; + gap: var(--spacing-xs); + align-items: center; + justify-content: flex-start; + + > span:has(+ span)::after { + content: ','; + } +} + +.from { + display: flex; + gap: var(--spacing-xs); + align-items: center; + justify-content: flex-start; +} + +main { + @include border-radius-in-parallax(var(--border-radius-default)); + + margin: var(--spacing-md); + padding: var(--spacing-md); + background: var(--ion-item-background); +} + +.html { + overflow-x: auto; +} + pre { + font-family: inherit; word-wrap: break-word; white-space: pre-wrap; } -stapps-mail-meta { +footer { // css hack to make the element stick to the bottom of the scroll container even // when the content is not filling it position: sticky; top: 100vh; -} -ion-accordion { - background: none; + > div { + margin: var(--spacing-lg); + opacity: 0.8; + } + + td { + padding-inline-start: var(--spacing-md); + word-break: break-word; + } + + code { + font-size: inherit; + } } .attachment { diff --git a/frontend/app/src/app/modules/mail/mail-meta.component.ts b/frontend/app/src/app/modules/mail/mail-meta.component.ts deleted file mode 100644 index be181c58..00000000 --- a/frontend/app/src/app/modules/mail/mail-meta.component.ts +++ /dev/null @@ -1,17 +0,0 @@ -import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; -import {FormatPurePipeModule, ParseIsoPipeModule} from 'ngx-date-fns'; -import {EmailData} from './types'; -import {TranslateModule} from '@ngx-translate/core'; -import {TitleCasePipe} from '@angular/common'; - -@Component({ - selector: 'stapps-mail-meta', - templateUrl: 'mail-meta.html', - styleUrl: 'mail-meta.scss', - standalone: true, - changeDetection: ChangeDetectionStrategy.OnPush, - imports: [ParseIsoPipeModule, FormatPurePipeModule, TranslateModule, TitleCasePipe], -}) -export class MailMetaComponent { - @Input({required: true}) mail: EmailData; -} diff --git a/frontend/app/src/app/modules/mail/mail-meta.html b/frontend/app/src/app/modules/mail/mail-meta.html deleted file mode 100644 index 8a38fcf5..00000000 --- a/frontend/app/src/app/modules/mail/mail-meta.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - -
{{ 'mail.FROM' | translate | titlecase }} -
    - @for (from of mail.envelope.from; track from) { -
  • - @if (from.name) { - {{ from.name }} - } - {{ from.address }} -
  • - } -
-
{{ 'mail.SENDER' | translate | titlecase }} -
    - @for (sender of mail.envelope.sender; track sender) { -
  • - @if (sender.name) { - {{ sender.name }} - } - {{ sender.address }} -
  • - } -
-
{{ 'mail.TO' | translate | titlecase }} -
    - @for (to of mail.envelope.to; track to) { -
  • - @if (to.name) { - {{ to.name }} - } - {{ to.address }} -
  • - } -
-
{{ 'mail.DATE' | translate | titlecase }}{{ mail.envelope.date | dfnsParseIso | dfnsFormatPure: 'PPp' }}
diff --git a/frontend/app/src/app/modules/mail/mail-meta.scss b/frontend/app/src/app/modules/mail/mail-meta.scss deleted file mode 100644 index 6e1f6d69..00000000 --- a/frontend/app/src/app/modules/mail/mail-meta.scss +++ /dev/null @@ -1,35 +0,0 @@ -ul { - margin: 0; - padding: 0; - list-style: none; -} - -code { - font-weight: 400; - font-style: italic; - color: var(--ion-color-dark); -} - -span + code::before { - content: ' • '; -} - -th, -td { - font-size: 0.8em; -} - -th { - padding-inline-end: var(--spacing-md); - text-align: left; - vertical-align: top; -} - -td { - vertical-align: top; -} - -table { - margin: var(--spacing-lg); - opacity: 0.8; -} diff --git a/frontend/app/src/app/modules/mail/mail-page.component.ts b/frontend/app/src/app/modules/mail/mail-page.component.ts index 9b155d31..c4142b09 100644 --- a/frontend/app/src/app/modules/mail/mail-page.component.ts +++ b/frontend/app/src/app/modules/mail/mail-page.component.ts @@ -5,7 +5,7 @@ import {IonicModule} from '@ionic/angular'; import {DataModule} from '../data/data.module'; import {IonIconModule} from 'src/app/util/ion-icon/ion-icon.module'; import {UtilModule} from 'src/app/util/util.module'; -import {FormatPurePipeModule, ParseIsoPipeModule} from 'ngx-date-fns'; +import {FormatPurePipeModule, IsTodayPipeModule} from 'ngx-date-fns'; import {RouterModule} from '@angular/router'; @Component({ @@ -21,7 +21,7 @@ import {RouterModule} from '@angular/router'; IonIconModule, UtilModule, FormatPurePipeModule, - ParseIsoPipeModule, + IsTodayPipeModule, RouterModule, ], }) diff --git a/frontend/app/src/app/modules/mail/mail-page.html b/frontend/app/src/app/modules/mail/mail-page.html index ea43cb5e..943333b8 100644 --- a/frontend/app/src/app/modules/mail/mail-page.html +++ b/frontend/app/src/app/modules/mail/mail-page.html @@ -10,11 +10,11 @@ @if (mails | async; as mails) { @for (mail of mails; track mail) { - +
@if (mail.envelope.from[0]; as from) {
- {{ (from.name || from.address).charAt(0).toUpperCase() }} + {{ (from.name || from.address)?.charAt(0)?.toUpperCase() }}
}
@@ -24,7 +24,13 @@ }

{{ mail.envelope.subject }}

- {{ mail.envelope.date | dfnsParseIso | dfnsFormatPure: 'PPp' }} + + @if (mail.envelope.date | dfnsIsToday) { + {{ mail.envelope.date | dfnsFormatPure: 'p' }} + } @else { + {{ mail.envelope.date | dfnsFormatPure: 'P' }} + } +
}
diff --git a/frontend/app/src/app/modules/mail/mail.service.ts b/frontend/app/src/app/modules/mail/mail.service.ts index 8d3383e5..78905ac2 100644 --- a/frontend/app/src/app/modules/mail/mail.service.ts +++ b/frontend/app/src/app/modules/mail/mail.service.ts @@ -1,26 +1,257 @@ import {HttpClient} from '@angular/common/http'; import {Injectable} from '@angular/core'; -import {Observable, map, tap} from 'rxjs'; -import {EmailData} from './types'; +import {Observable, map, tap, mergeMap, of, merge, forkJoin, catchError, mergeScan} from 'rxjs'; +import PostalMime from 'postal-mime'; +import {ContentInfo, SignedData} from 'pkijs'; +import { + RawEmail, + Email, + SignedValue, + RawEmailBodyStructure, + EmailAttachment, + EmailAttachmentRemote, + Signature, +} from './schema'; +import {z} from 'zod'; +import {compareAsc} from 'date-fns'; @Injectable({providedIn: 'root'}) export class MailService { constructor(private httpClient: HttpClient) {} - list(): Observable { - return this.httpClient.get('http://localhost:4000/', {responseType: 'json'}).pipe( + private listRawEmails(): Observable { + return this.httpClient.get('http://localhost:4000/', {responseType: 'json'}).pipe( + map(it => { + return z.array(RawEmail).parse(it); + }), + map(it => it.sort((a, b) => compareAsc(b.envelope.date, a.envelope.date))), tap(console.log), - map(it => it.sort((a: EmailData, b: EmailData) => b.envelope.date.localeCompare(a.envelope.date))), ); } - getAttachment(id: string, attachment?: string): Observable { - return this.httpClient.get(`http://localhost:4000/${id}/attachment/${attachment ?? 'TEXT'}`, { + private getRawEmail(id: string): Observable { + return this.httpClient + .get(`http://localhost:4000/${id}`, {responseType: 'json'}) + .pipe(mergeMap(it => RawEmail.parseAsync(it))); + } + + private getFullAttachment(id: string | number, attachment: string): Observable { + return this.httpClient.get(`http://localhost:4000/${id}/raw/${attachment}`, { responseType: 'arraybuffer', }); } - getMail(id: string): Observable { - return this.httpClient.get(`http://localhost:4000/${id}`, {responseType: 'json'}); + private getRawAttachment(id: string | number, attachment = ''): Observable { + return this.httpClient.get(`http://localhost:4000/${id}/attachment/${attachment}`, { + responseType: 'arraybuffer', + }); } + + private resolveRawEmail(email: RawEmail): Observable { + console.log(email); + + function value(value: undefined): undefined; + function value(value: T): SignedValue; + function value(value: T | undefined): SignedValue | undefined { + return value === undefined ? undefined : {value}; + } + + if ( + email.bodyStructure.type === 'application/x-pkcs7-mime' || + email.bodyStructure.type === 'application/pkcs7-mime' + ) { + return this.getRawAttachment(email.seq, email.bodyStructure.part ?? 'TEXT').pipe( + mergeMap(async buffer => { + const info = ContentInfo.fromBER(buffer); + const signedData = new SignedData({schema: info.content}); + const valid = await signedData + .verify({signer: 0, data: signedData.encapContentInfo.eContent?.valueBeforeDecodeView}) + .catch(() => false); + const content = new TextDecoder().decode( + signedData.encapContentInfo.eContent?.valueBeforeDecodeView, + ); + const signedEmail = await PostalMime.parse(content); + + function signed(value: undefined): undefined; + function signed(value: T): SignedValue; + function signed(value: T | undefined): SignedValue | undefined { + return value === undefined + ? undefined + : { + value, + signature: { + type: 'pkcs7', + valid, + }, + }; + } + + const result: Email = { + subject: signedEmail.subject ? signed(signedEmail.subject) : value(email.envelope.subject), + from: signed({ + name: signedEmail.from.name || undefined, + address: signedEmail.from.address || undefined, + }), + to: signedEmail.to?.map(({name, address}) => + signed({ + name, + address, + }), + ), + date: signedEmail.date ? signed(new Date(signedEmail.date)) : value(email.envelope.date), + html: signedEmail.html ? signed(signedEmail.html) : undefined, + text: signedEmail.text ? signed(signedEmail.text) : undefined, + attachments: [], + }; + + return result; + }), + ); + } + + const traverse = ( + item: RawEmailBodyStructure, + result: Pick, + signature?: Signature, + ): Observable> => { + // https://datatracker.ietf.org/doc/html/rfc1847#section-2.1 + if (item.type === 'multipart/signed' && item.parameters?.protocol === 'application/pkcs7-signature') { + return forkJoin({ + data: this.getFullAttachment(email.seq, item.childNodes![0].part!), + signature: this.getRawAttachment(email.seq, item.childNodes![1].part!), + }).pipe( + mergeMap(({data, signature}) => { + const info = ContentInfo.fromBER(signature); + const signedData = new SignedData({schema: info.content}); + return signedData.verify({signer: 0, data}); + }), + catchError(error => { + console.log(error); + return of(false); + }), + mergeMap(valid => traverse(item.childNodes![0], result, {type: 'pkcs7', valid})), + ); + } else if (item.type.startsWith('multipart/')) { + return forkJoin(item.childNodes!.map(child => traverse(child, result, signature))).pipe( + map(children => children[0]), + ); + } else if (item.type === 'text/plain') { + return this.getRawAttachment(email.seq, item.part ?? 'TEXT').pipe( + map(text => { + result.html = {value: new TextDecoder().decode(text), signature}; + return result; + }), + ); + } else if (item.type === 'text/html') { + return this.getRawAttachment(email.seq, item.part ?? 'TEXT').pipe( + map(html => { + result.html = {value: new TextDecoder().decode(html), signature}; + return result; + }), + ); + } else if (item.part !== undefined) { + result.attachments.push({value: {part: item.part, size: item.size ?? NaN, filename: ''}}); + return of(result); + } else { + return of(result); + } + }; + + return traverse(email.bodyStructure, {attachments: []}).pipe( + map(partial => ({ + ...partial, + subject: value(email.envelope.subject), + from: value({ + name: email.envelope.from[0]?.name || undefined, + address: email.envelope.from[0]?.address || undefined, + }), + date: value(email.envelope.date), + })), + tap(console.log), + ); + } + + getEmail(id: string): Observable { + return this.getRawEmail(id).pipe( + mergeMap(it => this.resolveRawEmail(it)), + tap(console.log), + ); + } + + list() { + return this.listRawEmails().pipe( + tap(it => { + const email = it[7]; + console.log(email); + }), + ); + } + + /*getREmail(id: string): Observable { + return this.httpClient.get(`http://localhost:4000/${id}/attachment`, {responseType: 'arraybuffer'}).pipe( + map(buffer => new TextDecoder().decode(buffer)), + mergeMap(async content => { + const email = (await PostalMime.parse(content)) as SignedEmail; + email.signature = 'none'; + + const signedMail = email.attachments.find(attachment => + /application\/(x-)?pkcs7-mime/.test(attachment.mimeType), + ); + if (signedMail) { + const info = ContentInfo.fromBER(signedMail.content); + const signedData = new SignedData({schema: info.content}); + const valid = await signedData + .verify({ + signer: 0, + data: signedData.encapContentInfo.eContent?.valueBeforeDecodeView, + }) + .catch(() => false); + const content = new TextDecoder().decode( + signedData.encapContentInfo.eContent?.valueBeforeDecodeView, + ); + const signedEmail = (await PostalMime.parse(content)) as SignedEmail; + signedEmail.signature = valid ? 'valid' : 'invalid'; + return signedEmail; + } + + const signatureIndex = email.attachments.findIndex(attachment => + /application\/(x-)?pkcs7-signature/.test(attachment.mimeType), + ); + if (signatureIndex === -1) { + return email; + } + + email.signature = 'unsupported'; + + const signature = email.attachments.splice(signatureIndex, 1)[0]; + const info = ContentInfo.fromBER(signature.content); + const signedData = new SignedData({schema: info.content}); + + const boundary = email.headers + .find(header => header.key?.toLowerCase() === 'content-type') + ?.value?.match(/boundary=["']?([^"'\s;]+)["']?/)?.[1]; + if (boundary === undefined) { + console.warn('No boundary found'); + return email; + } + + const parts = content.split(`\r\n--${boundary}\r\n`); + if (parts.length !== 3) { + console.warn('Invalid parts', parts); + return email; + } + + const valid = await signedData + .verify({signer: 0, data: new TextEncoder().encode(parts[1])}) + .catch(error => { + console.error(error); + return false; + }); + email.signature = valid ? 'valid' : 'invalid'; + + return email; + }), + tap(console.log), + ); + }*/ } diff --git a/frontend/app/src/app/modules/mail/parts/mail-attachment-text.pipe.ts b/frontend/app/src/app/modules/mail/parts/mail-attachment-text.pipe.ts deleted file mode 100644 index 1760c0df..00000000 --- a/frontend/app/src/app/modules/mail/parts/mail-attachment-text.pipe.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* eslint-disable unicorn/no-null */ -import {Pipe, PipeTransform} from '@angular/core'; -import {DomSanitizer} from '@angular/platform-browser'; - -@Pipe({ - name: 'mailAttachmentText', - standalone: true, - pure: true, -}) -export class MailAttachmentTextPipe implements PipeTransform { - constructor(readonly sanitizer: DomSanitizer) {} - - transform(attachment: null, encoding?: string): null; - transform(attachment: ArrayBuffer, encoding?: string): string; - transform(attachment: ArrayBuffer | null, encoding?: string): string | null; - transform(attachment: ArrayBuffer | null, encoding?: string): string | null { - if (attachment === null) { - return null; - } - const decoder = new TextDecoder(encoding ?? 'utf8'); - return decoder.decode(attachment); - } -} diff --git a/frontend/app/src/app/modules/mail/parts/mail-part-attachment.component.ts b/frontend/app/src/app/modules/mail/parts/mail-part-attachment.component.ts deleted file mode 100644 index ae196561..00000000 --- a/frontend/app/src/app/modules/mail/parts/mail-part-attachment.component.ts +++ /dev/null @@ -1,19 +0,0 @@ -import {ChangeDetectionStrategy, Component, Input} from '@angular/core'; -import {IonicModule} from '@ionic/angular'; -import {DataSizePipe} from 'src/app/util/data-size.pipe'; -import {IonIconModule} from 'src/app/util/ion-icon/ion-icon.module'; -import {BodyStructure} from '../types'; - -@Component({ - selector: 'stapps-mail-part-attachment', - templateUrl: 'mail-part-attachment.html', - styleUrl: 'mail-part-attachment.scss', - standalone: true, - changeDetection: ChangeDetectionStrategy.OnPush, - imports: [IonicModule, DataSizePipe, IonIconModule], -}) -export class MailPartAttachmentComponent { - @Input({required: true}) part: BodyStructure; - - @Input({required: true}) mail: string; -} diff --git a/frontend/app/src/app/modules/mail/parts/mail-part-attachment.html b/frontend/app/src/app/modules/mail/parts/mail-part-attachment.html deleted file mode 100644 index 7ed688ad..00000000 --- a/frontend/app/src/app/modules/mail/parts/mail-part-attachment.html +++ /dev/null @@ -1,9 +0,0 @@ - - - @if (part.parameters?.name) { - {{ part.parameters?.name }} - } - {{ part.size | dataSize }} - - - diff --git a/frontend/app/src/app/modules/mail/parts/mail-part-attachment.scss b/frontend/app/src/app/modules/mail/parts/mail-part-attachment.scss deleted file mode 100644 index 28bbbd12..00000000 --- a/frontend/app/src/app/modules/mail/parts/mail-part-attachment.scss +++ /dev/null @@ -1,21 +0,0 @@ -ion-card { - display: flex; - flex-direction: row; - - width: fit-content; - margin: 0; - margin-block-start: var(--spacing-md); - - outline: 1px solid var(--ion-border-color); - box-shadow: none; -} - -ion-card-header { - padding: var(--spacing-sm) var(--spacing-md); -} - -ion-card-title { - font-size: 1rem; - text-wrap: wrap; - word-break: break-word; -} diff --git a/frontend/app/src/app/modules/mail/parts/mail-part.component.ts b/frontend/app/src/app/modules/mail/parts/mail-part.component.ts deleted file mode 100644 index 53032d80..00000000 --- a/frontend/app/src/app/modules/mail/parts/mail-part.component.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* eslint-disable unicorn/no-useless-undefined */ -import {ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core'; -import {BodyStructure} from '../types'; -import {MailService} from '../mail.service'; -import {AsyncPipe} from '@angular/common'; -import {IonicModule} from '@ionic/angular'; -import {ReplaySubject, mergeMap} from 'rxjs'; -import {MailAttachmentTextPipe} from './mail-attachment-text.pipe'; -import {MailPartAttachmentComponent} from './mail-part-attachment.component'; -import {MailPreferredAlternativePipe} from './mail-preferred-alternative.pipe'; -import {ShadowHtmlDirective} from './shadow-html.directive'; - -@Component({ - selector: 'stapps-mail-part', - templateUrl: 'mail-part.html', - styleUrl: 'mail-part.scss', - standalone: true, - changeDetection: ChangeDetectionStrategy.OnPush, - imports: [ - AsyncPipe, - IonicModule, - ShadowHtmlDirective, - MailAttachmentTextPipe, - MailPartAttachmentComponent, - MailPreferredAlternativePipe, - ], -}) -export class MailPartComponent implements OnChanges, OnInit { - @Input({required: true}) part: BodyStructure; - - @Input({required: true}) mail: string; - - data = new ReplaySubject<[BodyStructure, string]>(1); - - content = this.data.pipe(mergeMap(([part, mail]) => this.mailService.getAttachment(mail, part.part))); - - constructor(readonly mailService: MailService) {} - - ngOnInit() { - this.data.next([this.part, this.mail]); - } - - ngOnChanges(changes: SimpleChanges) { - if ('mail' in changes || 'part' in changes) { - this.data.next([this.part, this.mail]); - } - } -} diff --git a/frontend/app/src/app/modules/mail/parts/mail-part.html b/frontend/app/src/app/modules/mail/parts/mail-part.html deleted file mode 100644 index b9fb555f..00000000 --- a/frontend/app/src/app/modules/mail/parts/mail-part.html +++ /dev/null @@ -1,23 +0,0 @@ -@if (part.type === 'text/html') { - @if (content | async | mailAttachmentText: part.parameters?.charset; as content) { -
- } @else { - - } -} @else if (part.type === 'text/plain') { - @if (content | async | mailAttachmentText: part.parameters?.charset; as content) { -
{{ content }}
- } @else { - - } -} @else if (part.type === 'multipart/alternative') { - @if (part.childNodes && part.childNodes.length > 0) { - - } -} @else if (part.type.startsWith('multipart')) { - @for (child of part.childNodes; track child) { - - } -} @else { - -} diff --git a/frontend/app/src/app/modules/mail/parts/mail-part.scss b/frontend/app/src/app/modules/mail/parts/mail-part.scss deleted file mode 100644 index 404da90e..00000000 --- a/frontend/app/src/app/modules/mail/parts/mail-part.scss +++ /dev/null @@ -1,9 +0,0 @@ -.html { - overflow-x: auto; -} - -pre { - font-family: inherit; - word-wrap: break-word; - white-space: pre-wrap; -} diff --git a/frontend/app/src/app/modules/mail/parts/mail-preferred-alternative.pipe.ts b/frontend/app/src/app/modules/mail/parts/mail-preferred-alternative.pipe.ts deleted file mode 100644 index 49b21acd..00000000 --- a/frontend/app/src/app/modules/mail/parts/mail-preferred-alternative.pipe.ts +++ /dev/null @@ -1,13 +0,0 @@ -import {Pipe, PipeTransform} from '@angular/core'; -import {BodyStructure} from '../types'; - -@Pipe({name: 'mailPreferredAlternative', standalone: true, pure: true}) -export class MailPreferredAlternativePipe implements PipeTransform { - transform(value: BodyStructure[]): BodyStructure { - return ( - value.find(part => part.type === 'text/html') ?? - value.find(part => part.type === 'text/plain') ?? - value[0] - ); - } -} diff --git a/frontend/app/src/app/modules/mail/schema.ts b/frontend/app/src/app/modules/mail/schema.ts new file mode 100644 index 00000000..83c4d074 --- /dev/null +++ b/frontend/app/src/app/modules/mail/schema.ts @@ -0,0 +1,94 @@ +import {z} from 'zod'; + +export const RawEmailAddress = z.object({ + name: z.optional(z.string()), + address: z.optional(z.string()), +}); + +export type RawEmailAddress = z.infer; + +export const RawEmailEnvelope = z.object({ + date: z.coerce.date(), + subject: z.string(), + messageId: z.string(), + inReplyTo: z.optional(z.string()), + from: z.array(RawEmailAddress), + sender: z.array(RawEmailAddress), + replyTo: z.array(RawEmailAddress), + to: z.array(RawEmailAddress), + cc: z.optional(z.array(RawEmailAddress)), + bcc: z.optional(z.array(RawEmailAddress)), +}); + +export type RawEmailEnvelope = z.infer; + +const RawEmailBodyStructureBase = z.object({ + part: z.optional(z.string()), + type: z.string(), + parameters: z.optional(z.record(z.string(), z.string())), + encoding: z.optional(z.enum(['7bit', '8bit', 'binary', 'base64', 'quoted-printable'])), + size: z.optional(z.number()), + envelope: z.optional(RawEmailEnvelope), + disposition: z.optional(z.string()), + dispositionParameters: z.optional(z.record(z.string(), z.string())), +}); + +export type RawEmailBodyStructure = z.infer & { + childNodes?: RawEmailBodyStructure[]; +}; + +export const RawEmailBodyStructure: z.ZodType = RawEmailBodyStructureBase.extend({ + childNodes: z.optional(z.lazy(() => z.array(RawEmailBodyStructure))), +}); + +export const RawEmail = z.object({ + bodyStructure: RawEmailBodyStructure, + labels: z.array(z.string()).transform(it => new Set(it)), + flags: z.array(z.string()).transform(it => new Set(it)), + envelope: RawEmailEnvelope, + seq: z.coerce.string(), +}); + +export type RawEmail = z.infer; + +export interface Signature { + type: 'pkcs7'; + valid: boolean; +} + +export interface SignedValue { + value: T; + signature?: Signature; +} + +export interface EmailAddress { + name?: string; + address?: string; +} + +export interface EmailAttachmentBase { + filename: string; + size: number; +} + +export interface EmailAttachmentRemote extends EmailAttachmentBase { + part: string; +} + +export interface EmailAttachmentLocal extends EmailAttachmentBase { + content: ArrayBuffer; +} + +export type EmailAttachment = EmailAttachmentRemote | EmailAttachmentLocal; + +export interface Email { + subject?: SignedValue; + date: SignedValue; + from: SignedValue; + to?: SignedValue[]; + cc?: SignedValue[]; + bcc?: SignedValue[]; + html?: SignedValue; + text?: SignedValue; + attachments: SignedValue[]; +} diff --git a/frontend/app/src/app/modules/mail/types.ts b/frontend/app/src/app/modules/mail/types.ts deleted file mode 100644 index 484cf83d..00000000 --- a/frontend/app/src/app/modules/mail/types.ts +++ /dev/null @@ -1,44 +0,0 @@ -export interface BodyStructure { - type: string; - part?: string; - parameters?: { - name?: string; - encoding?: string; - charset?: string; - }; - disposition: string; - dispositionParameters?: unknown; - size: number; - childNodes?: BodyStructure[]; -} - -export interface BodyPartInfo { - type: string; - name?: string; - encoding?: string; - size: number; - part?: string; -} - -export interface EnvelopeAddress { - name: string; - address: string; -} - -export interface Envelope { - date: string; - from: EnvelopeAddress[]; - messageId: string; - replyTo: EnvelopeAddress[]; - sender: EnvelopeAddress[]; - subject: string; - to: EnvelopeAddress[]; -} - -export interface EmailData { - bodyStructure: BodyStructure; - labels: string[]; - flags: string[]; - envelope: Envelope; - seq: number; -} diff --git a/frontend/app/src/app/modules/mail/parts/shadow-html.directive.ts b/frontend/app/src/app/util/shadow-html.directive.ts similarity index 100% rename from frontend/app/src/app/modules/mail/parts/shadow-html.directive.ts rename to frontend/app/src/app/util/shadow-html.directive.ts diff --git a/frontend/app/src/assets/i18n/de.json b/frontend/app/src/assets/i18n/de.json index 7fe7a217..0970662e 100644 --- a/frontend/app/src/assets/i18n/de.json +++ b/frontend/app/src/assets/i18n/de.json @@ -388,6 +388,10 @@ } }, "mail": { + "SIGNATURE_VALID": "Signatur gültig", + "SIGNATURE_INVALID": "Signatur ungültig", + "SIGNATURE_UNSUPPORTED": "Signatur nicht unterstützt", + "ID": "ID", "FROM": "von", "SENDER": "Absender", "TO": "an", diff --git a/frontend/app/src/assets/i18n/en.json b/frontend/app/src/assets/i18n/en.json index 013aaac4..57494a63 100644 --- a/frontend/app/src/assets/i18n/en.json +++ b/frontend/app/src/assets/i18n/en.json @@ -388,6 +388,10 @@ } }, "mail": { + "SIGNATURE_VALID": "signature valid", + "SIGNATURE_INVALID": "signature invalid", + "SIGNATURE_UNSUPPORTED": "signature unsupported", + "ID": "ID", "FROM": "from", "SENDER": "sender", "TO": "to", diff --git a/frontend/app/src/assets/icons.min.woff2 b/frontend/app/src/assets/icons.min.woff2 index ad7ecc107156673f9e1d4762c19df0c9b0f0130b..1ab250455344c1e5348c1d0287178f4c6426b701 100644 GIT binary patch literal 114696 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 Yxez!I9k>sPknsQY^`Tk6yIphu0P#e{H2?qr literal 113296 zcmV((K;XZ3Pew8T0RR910lJU?5&!@I1G$I*0lFdp0=ixR00000000000000000000 z0000SoMt~rRzXrP24Fu^R6$gML?=)HhI%i7Y!L_wfyZcpt5z_K^Iicq0we>1EDM4x z00bZfh8hPT3THohmrz^HaA(He^$K05xQ2^Bi?G07UnUPvACP z24W@?u2)el9^L~_Z@t-95kWLT;h7+c>AVCtTR%45z19!&97le7^Pmkmj5L(%4q3p(-;Y zg6IF)uh)I&1qhA`@bWHmDq z_20QtOPSV;Y!TG~(qx zFiUjgfCe(l zM^Lwy%_ppWQ~jdesyT$Y#i4+0$aK4QRqyqZSqKS6SHsWi%>T|k=iJMZu4EZzG8}?O z`G8r1uG^v-*~`=}SKD;d6XoY|z0Jo;DBG2LuXXRV~wUIwYsZ*s#*5`Cn7T?m8weJW4GbLAU;4?t>0ql zl-dL24*)CV`CGt8FmJ}xP%0@Q;BZ)D7e zH1Il50Au<8t5o~85dc92D5)wTeN`n?e@NIpB;-GUHLWR1N3lR)4?m>-TH*#Ny4R zYw@M?5Y0jq^+==>+4KGA9(WR6hQ@S4P7DqIYb~<`DiuZQ$?$Adgh?zrxy!v9Thmd|_?5fLd;BzV7{*$uGz5>wnX(`FkInZ;4io>soD{GNFg zWh}R!`QPJ=(^?xXqLqkJBJhMi7x2F`$q-Okj{*Wx1Bu>J%GZ6Z9x=C`f22j81Ie5y zV>$};Nx%nL4~_XTwSQ_x(`lx;#;hhp5m6CAK$gwj|3_^5-W3+3uwSH&cmgUgK?-Z$ zk0aLh|3Ma|GRMr!%*rPoS3zE|2i(fSE@1zNIsgCf3RqGnPfa<-#2PU+h=s0#w1r*R zrTqURbG;3M<7Rrh{c8319C%|TB#$9O*nuR_zWkrI8)TBs`4|@ev_La*?q!CN2 z5;3k`3YCQ>StzzF$!hu)P}TFV>5$pPinf6Hmd{G>*i=w3d1f%r-cr%Q*;!? z5M?IyclDw%^s3DI=Hq8WHS&J3U#qDYl|3YnlR^aSw`nDOvnY6x!--NIeTcdO!Gej> z8L}rF*CJ8I=Sir%2?SiV%``R_((dBmB6T({MW#?i)kYVn7XR~`*jZ*Bt#My@UIblM z!#t>h{oKQ|yo-KD&(JK!M7T(TE3V##v(z%wyK5#`d!nGJlbwP|p~1lHdYd3TodKR> z_Q4@=EfsV{nNqsDv>p0B^F0iQ?BQE^vcsUblV*a+)XktpoM*(*kOtwI8mvaAU$@ga zw@7NL^Cg3Fgc{lhtt+hyVLU4wQ2^9Z|0nDr_#Szq(Q&ozdW!E0KTKhxMJuDzl+Q*- zz*HGHsgJ=Hl}Xga>bEAEx7gO!J9(&11O<&17d9|$?h(^wDae$a-u#``F;Ev!MeoT1 zXs9fc4Q_gIx+-l(oN(KeYRvl7dqU_ix5yB~iS5T3pb>heA%G#vn7AFPUn?GHe_9Km zZ{2$y18$}60{{tiV}F`(Jt{0!cQC025h~L-8YG;AFn>QrWh;P0CH;Z-FLA_#C&-{v zY=8tBPvo96#>{iAwGrUF9Tgr=+M8P8Ng_RT#)1_31Y))=ViY%Xe9{TNMc=3VT_XqN zf%xvIapq6ppwe|xz&Q+}8cBHnVGYP~7KXJSsm@_(QlEjzK!m;%lWj_Pc@5g_69>1X z-Z7AP6+W#bdY=WSr>`aBEGeq9#D_L~pO0Z!DpHDkRRYlw^kT4LG?1^IKRJlac>e!Z zFbY#6q8#gDl-8IkVRRm`kV}x0;&4nT9N%)VK__vwnMmH1)6k->D`=phAiz0dRIZ`_ z6#`Od0KnmX5ZsJ+P?;hJkvgnAvb|2y%k^RX9LNZMGF8!9jGc49W$n~r+U77v`assx z2JmS;n!B{HtEpR`Smgka=uH*-5)~>?eW7!yUh1GL&wGssrZJb*Pyzzk^4VHtFZB{Z zw4Q;pgRvK&y_KFJi=hy6uA7fj-8(h7fez13MSoAVpENMqg#PjA0}@r7cFGO?xmi?4 zdg~DBgv-{AG4J-Y0L=;PA*_>G@DV;xPFaEarf8RyVnT7QFO2j+buQqbySD$+sAEi?sCjI&!z$lEeSwQuGQW}S8@=1MZ>vx zV}OLNeGz-=!j>QgBi>pJ8iGW17O{chx4QVky|s?n(G9YS8Ar(vzEHce0SVL_5ttQF zoTm*^K~n1G*2ShQ9rR>StLi#sNx*!>W*!hd>9B-3nxzUfIcjaShabM;z6y*<(C@7S zFt(dMr=D-sSS^*D`Hb!h*rW*ZfiMR$swYw+8^s%?sYJ~?U6mu)E@~NfV_hMbl6?X4 zX2?ISka$C+(}=?sdCFRCWdfA$Pg|}tmLSF~mlG?|D%4js0OxG@<-`)(%C#6I<9}9B zW@{SCl7C)K+$E~>|ZHqdbK8nyb3nQ+}#{Nn$-1`FUElFHww^nDrXhP%1RT87hl z0GVZ@wQ%r_wK>v_b%OP1&|hrn-ruKFifXqM)zoHqITJ-f+&fMpF!_~q*sr$4w_k)T zSE8$NeMo{@5AQ)Yqw+q#OuTe?O4%`9d>3BoTgGM$t5eS75Qn~R|g zT4;t9B2&*x^-b+96bUU_ADt-gadQnOF9HVt4h)*>JnZD6Sj47gZKP}HR0C1FdmV$2 z3%`T~NG%Y-k7_C%;zxwDtEydxE)aFVIc{wNud04!AQaj}txt*7976*jgS)6vloSkB za)SK48uq0ofUEredk5mbEl%>zT z9^Asi37n)joeHG^v>EpQXSzfSlPpw$CdtB;ZXD@kQ-q97)Uex~dRzaE01eW>KU@(8 zg-Pa_Z=qGzdow%<&%=IbhLg~hq2JwpXa3IrJ^uF#e?0q_{%^HaX;oWWtnJnz>u&2& z>zMVl^_=y*^@4TI`h(SMwf}2*LOkIvx-W(;MlB{SPAtwXK}(z^*;3I`*;2#O{l~(` zlEqEzu^n$!+y^8*{yRz<>-BEEpZs3`a{#Vy?LBWU-i6+=UQZ|%FTNKI0LlbqK|@+fC$Bd)hEhwZrsPvrI{ohX zj1u6v(?baW^bvF#(m@ZPAE6$o12RB^&^ag%S`+)vfe=Uw#Xzo*)cqeQ+x`FU-@04e zpStVZces1IN4vjg_m|rZw*|L+@(VYv8-}YRA14o!Q;A=YT#07lk3=8BQRXx=jVS{F zf1EMKXk;iE2&0Jp4#G@>56~jF1x6FL2K}m5~#sr)-Scir|O}A{i+X zISy=S0f;f!)@tY~d+s2^`nl|2!`a&h8^Qj2kdgi3_}xZHk=isIv>FgyhdD0UNK69A zng>9$%>Zt3lqv`cviX`&D1v|~3d2O0kTv5d+r7Mk3R#vI@;8JL8mUoF1|>O2WF*-R zml1Jy1yK?xx>fPJCAP&gBqUB$pqgjnYAAa!B~+K#c> zPt#nlJX25Wpskln1zY@ms!2JOQzlQXZA$i(rp^A+l&}lRCDaG}Xr}vBu?EoNfEXd! zygON9Xw6FTS%(QB{>W9w}p8)@L#_9Uy19{YT$TFs5ic)_hoMwM=^gTX*O6 z;2tpylyY_Y_048rUyL_rwwq3%0HRuik>lJo8XA^HfUuwmr~rUrHekqH>Pw#z#jgxiAE)?JbwAQ;FpN1ji}ny3!;k!Xg>uq@-#sq_ByIkdJ+Q z4Pk&MbXY^dv{FL=gg&B^j0e_8lzYWkMX{wUp_CGV5sA*VGP#PWO|SZWS%@gw5Jecq zjOxxf1Z~xTAXiu2P^9)#z@f zV+o^DR3F5NGJ##FV62KE{Se3A#Te*Upr2y^E^cLdF0YFC zx(T($1FSX^)Ld*SI#X2wv`RH=YKmE0s4)^`2%k5by|TQ$mS(hQz&$Xd0fZ)H0Tv8R zvJ*U4>&3U%*aek(@Ltz-iOK3IvgP;Rj;e0x%X}QykiNxGug~kP=xs&lSKhDWqoq(j zqT!a~_4mW-!D25S%S>JD>E!zS6;c#b0xz&e_c?M>jp)=-LH6cnoAaZY_0t%mCa_Y&lW*8ETQoVC52%?9$k<_H?hreQ?O2z|#djfN5w^u!>=42tUUPI$&S{Y@ zs;#^RE{yzxDzWwYA+Wf0XF%RWJy_}kyeHZE^j+Fm(=Ifl3~3Gy@%_i#1qT*YfdJP; z0=kQdv{gCVX~rOq73(P04g`DgW*{$aMH591hEP5)QZZ(^6yO;4g&4nHgn@CWYq^PS z0Un}6_JB5bA*kBBA>y&rLN5x2;W$@3ms(G~L_gWT?0cCXNh3a)v-O~unx<2rH$ol;7KB zINJxaB@Yl>6mu9aQpB=p9TE$Ni#(lm8$nehrVUw^+gvA|6Ce?ANpLAfzM)x>scKn* z5tv*E5)-B9K^57R5v zz={ZM^k{K|lGKx>nuFxb3mo)2MG=Eg9N>v8T};r4JO_$|RW&G8P0rx=Jv^p~Oi8h4 zQm9dnT?<`p{uFgjnI@eSEr5Ijgl&_hfM&^t%>4N^n5bdGk+1K+BE*xHq-rq6Rs-Q_ zZBrR0*&ZFHF(jHuCYviJ6bp!9k@D`HuWADrrhtbmhAF{GI(}?*MF+6QCOJTo@)OTw z*@n-;YA=Iz5AYEJkwZM_m#fU6iJKX~qI8EZBC+Qb=MJ zdsJDrE5|U43{WB4vjJ6IwI|RtObvh-7Tho=M`yvL|6+N3Iw6cevqlbjStQxDfV62a z$%#5AmD2?6RRBjfS2j*SmjFH##64`F)DTGRhefOc3z_9e;`Nvyum4K;B>j*5-7C;(hvqv(8>{!QZeTNjS4X8KIapb{7avk=b-HM;A-=BTlX<7 zeqkRzk}5^_*xy9rKFAnYo$~=mGm~VAQp2$K>O5RsHEj1BkoO;}k626?P)>)A;+OD! zx$-m5_SJkAW0C-Oh*W|_T5joK=$g6=Qv{Vvbhx%zLLEpjBU0J$@0grKjUe#3<<3%&RO>MY0N&l1$?~3jF~Y;#L|5T%<+k+ zfU)i(zvZL@xTVyz`;l3B+-4cokwR_E1ABte?G1I4Y2R6YR%U>~k(J;z__@@Gt&KIL zwrZaRiS94J%u;s^qQr}Yww*DCmR6lJeVWhcdAg=X=Gf9qyc#qtEBcd{uJb8_R5)9% zh1a5#duRz?M0Pp!^+r!S^ts9eOnr)E^yXTSzfH0<8-DW3lG+gf`j&CMHs490$z1#U zXc9jRwu~>(HI30MT48bD-*TMhn1`sOG5Q*tjDa_*+&yddyamhQL$)uazD6#&*>udM z^4>Y^eM;^&ooK90m9Ybm;Dn>K$_r>L@Xku!>su3)aKFW|p)(z-L?-vw$OB84ww_F& zDZ|t&7l}Yqw~iDj?jDAsm(XjLP>NN=92RLQM-@ev%zyDtkOg#bbr$fLmlj07<`=fC;}#db@D9)YrAy#K62Me6n?7E(fvM z97#8M)(E5YO_|AgJ-gGgX<;K{v&`~Cf!+|mgXC8gboSj%E;CS@W%arjA%iYN>%(*O zFlFg21SylHIlM-J?j9s6Y+A>2Uu^NSakwz*N7R_deX&4 zwnOA8v!*~y3+P3^yEW(T7DhjjO~A>SVFGc&j8MUwaRW85Njtm;~xiqPW7qs+r$ zm9}yU+4Jf8qP9CqpA4>OekY?crR67)w{@Fhs;<`x`lQWr;|voy@GJ@NFvv}EhP8w; zWHbMYR=isVp`_K3K3tc&5Ook6In2w=*l?<-~@t+0@hne}h9f z@ng&YvNzo1lf%+yjPQi$O^!;@(c{;i#yuGzCAV~xFy@2{))bx=YS1K}MA4GC%YnU% zb!(Pu3cZNj_CwRC_`qZI^Gb-dIof;*gSNVPbVg$lYm5slOC9E=I~xX-si1vkNCQ98 zg4sg^1B#>;QL7~%rW21^u+Gs7MQr!qt7~{%Tj|59|S&3@6qC^86%R`(!SY^ZYVn$(l@ha;? z-f13qy(s|0dYz%obF_Ktk)9Qvv@U!rr0=&;t0t6+s(6_Wm2=Ms2t9v8TYtTe&l$kx z!Gs)F$D|mCx=$Y+Z{?s5Uz!!Gh%~U~85=#IVcJNqnEuWE_&jXVST=e>$5Erv(toI% z&0HoYEFROU6DW~8?8vA>AH_nM!UC2+Q{D9P|alfWq4Jr5*zAhc~8@G9pZx2NQ+v5 zQ}=@9y{+cT)py;VTK8oc^-nhU&AP!&zg{~qHjh}XdF!xP22b$+Se++6|6$q_xE`h&~>y~z9zf7_!aq<`=~>w z7&rbfHlUMCr}sOhV{zz;82KEh`Id;D)F*v8;kUTjLM5ICX-t` z7-hzNXv~3q3!i%&#r~QD%OG&0@G-X^enNmEWyjM>w7(?`PS?_54R43mH-OCUvJxEN z)>WbxQmF_lqQ-(SB6a!cv1_54ujbE zdX}F^1FT49KMu6La$uqRdXP|Z_^Sspg|dv>LSQ@&b1X`ZnkgkWgR*7)V56TEX1*}J zKW`e8V6Wl@#EPL;{=o%Qw4`0DQxJe=v&5DAYX)osT*z?prX8TZ5dxD&7VJ>e^v)8;S zw_^4zBmhVNUkUUcx>%YVS4 z(HbtspiHXjNPu}K_VfEcfr|c=?gZG?q^G3^bKX-Bz(R34G4h7PegF&u03ew45O#~t z9^LO?1Wq76p;Op&;6T%2eu$S`WB$XyFnH8|><4nMU|3dLD+~7n>m2(50D2O%x_^AI zdrR1FHJ-KPpJC6Z^zeoxCxAbMq#@GlOTRUUbDtBo=;f@bJ&|^3dpjO_=<2e{uTS7Y z{0UFDQbXhCrP8*;?JXP6r#5ZhUR9+=Q|h#n_RIL$Ln1*%TVg$D-Ga7vHW+&wzI0tM*62>mKrbgDosTF<^ z5vstGk=nXNu@g52ytk76l)j4JF*dhm*)NV0~1 zGauHp$5h?@x;jc+xnoD=`s-cNDp_p)^v{=nG_&B55@7owl%B&KjYGYIl>Z`pHm+8d z97I?T{)975KhS-3Zsw>v|I$Fny7oY8-pRu^?vTq-8rn{cw&Qs-S4|Dv6&4acy(ko- z7YT$*3G-RNaq&ksoels{`8R8dKuqVwUUT@`;=q45F9pH^rhOoxGLu9IQ$(F8eUG9s zpo87leMcAEO%ggUOKWPimE!7WsQuy*0%}BQ=&oJu`=fL;=+a}C_B?glnEGC4Vtb!@UMcX~kq zz}XZ+swU;#%Ps%_EFM20r-zB6JszteRr-igSc@nQ%=aDyKq!#D57t={VT>i(H?gPz z_bTCG(h`nQ1}CCio*77UEvczO)z_uz50Ru zy{Fbb=D|6+z^X2z{ceaH-N9H4upAVDkmp6@l8N)5{1up!%>b!%7Q ziPvzyR@FF?)UrJ)l$wNnPd4$D$_xNCFbrBPN<&*AI%{Dt3Tmq)+pSxY2{UXFOY@Mw zh_L;*{dUcfHQ2xIUJ<^e>HYKD0agldUKkbtdq616Wshb5@B`TW4*l41U*U>|pp({C zmrnl_CSW|0Z?0xRfIyO;<@`&+cO2XAupfIM91C)t1n0B}xUfqQRjsn5J-w=0i(0C4 z?fRXdvz6u$c#+!*jU>0&^};09!I&Lh6F)UvyJomZY?)a`Sd`{!=kM6*6O4GzFygn_ z+OG(hYL}?7Rj>hFx-h-F%eR>HE5-91y@wBUe+0n=eHnz#fUXPzz%=&)ZNE2Du2S4% z{v}1}XpTa0mrDIkdg>G(uP<^8@_3_->~xXJYCL2Xn|lc%&{@GUS(g(!9n#0t&fjsO z8@^3N`NBfhKae$B3c}qS*n$G~Ah=1#AP^QUR7B@orK~o?_0jET{kC~n)ZHzn1u2^j z#LaeNgU+|!V9V93En0XlV8a);utK8-1*9eYL+HpNL#)2mV$K|Qh4`7Ft&J)&er&#M z)L0Nxk=L##_6t2Yha^^l0<;(S^JGW*M@O4R#3*ifZTK}|giA^cmAebq66$UU?bJ6+ z!&&0D0@Qk*870P$FE3kB#g}@$YL64M{Hq7@@7FD~b|YhU`+m)?|N1;;z-|2>A;g!LZ*$gJYDMCRUp0^o6T;^4si?_f}kP3 z<1$ilP^G#NcE_d!o(#{`>i-L_C&sc3Jkz9Zfgvrm=}f{MdTqi4uE&8X`jkON#3W&! z05NVNA93ee*mH@;SFPG3>hF_MBspwQ}K3k1p~;9tz`KoKi}IyR5#C(_JUp z_ZJ?m!UkelEeDs)fTRE3x@C~e{^=)_hPJh(N{2Alyj@>dezFDm}tqu3cR2f zJUBVKK}-bc=^j{;4z4r1!fW-+fL&X5!4C_^s5hwku@@8(lGFL{HGs5Yr{AO~Iy8X6 z45_1r^01h4<2(uBFnmsP|ncfwl4a7S!XFHxv8wk-o@4f6fUu(<0>vFe!ezo&X zmt&{ zwax1rGH%ad*95az3;-Y&0{~EWO(VgZc9tTpTLA!$9arq~p5PP%#H*{SLXh$&vNq$U zCvcnf9WrcuY*l^;+hV}m@fH5x7boqet z?TK<=JzSa*rF`1R_B~2_W$uXE428eczl?-wS3jVXDga*=Tp zl8BcGKnl9gt$wDg2Bo#aXPhw-)o5U%kx%p`k{*90v;ap+4Ya8#BD#Aw-$E1p@W22Z zRgdWQ9M6RRXz)mx{O>Gy4Pu)bK=ZhNHv zrMw^5=GCSOTPC#)J7zm)1;<5jO|9#)|GgbJ8WwM98HYKEjgVv;wt}`77KQ(c?z0C;)tLzu9A$novm z5q(}C&lwl=Rdi&P?Gxbp+71$s_7l~=JOD+1xz(55f+|GiGH zEAFM6Uf#i7{Ehk)ekY{6DXskE0JahJtrOBJRV=Sp|15h9RUce;U*wuZ&0$J z8%qfICKEzQqCCbeTE;K9h&mQrG&=#TAuL^GI>x+X-|wxr|TzF zh6EzP%KOYQE%9 zvCs<{M!X7%t@LYuN41~cNqP7;C)T8QtDmIPUx$@WkPg825dq(`9z2rQbAbtW^3~y^ zFMhI)ghwYv&&LIQ5p@W{grbghGucMJJzFpcWkG|2T8uo7v+cTB7JJ_Nx#u4hV<$W$ zK|#$bYSYWF`1tO7(%IC#j13#QF%h`OH)j(vuTd!1(lj>X6x`hvbJrH5Vt%U%HGZP< z-Lce20N;TqO#AF$g)XnFt4OX?Nr_A)YumOo8PM{l26OT?lW>7pOmW3aLWsioM&XFMkh*@5qnn%O3H-1_+SP%E@yk2h zsE+>CAY&^dy4+oKC)6*p&#fZn-h#D;kR&##zF%Xk%mSI^)<$6FopjY2Wv#|`GqR-b zYw6Kvu!UXE=AewKk!jY@w9O^&V`B$n2f7#7Tv(((Sux%=Ft9Hq_~M=|2UFtW{`=}0 zQF>M;!(a+jqsjQ{zpasSFpkcQkbOB1w2hw(0kE^joItnqk`BFL)VuTJE1tfw9-ZE! z)3tR>`($CF*`w@LI5)U&C@*g)_k`GaUr8dfy|QCtht5x2%Xo4A4Xd};8=TpGo7202 z@%;Hj5Yw-9JC`Fl^W`3=W`&Z3BF2Z4RKv4ULtJv0q&}&8$`?1rO0j9{c_EOSn+3;!y#+ooG0y7!AW}3K ze_o#W1B3pfa;BECz#*apVnj+DIg14{W&_}-C&;&<(jGrcq3ww&TXsV29DyKmAm4^rRvbcQv7aZOqzt z;o%>BD=lJVxr$Bde||2V`F8uai#(ID3Uo0#E_JFwBj33-@6*^%KV~QNscHp1#v4y zBCkx0tb}WIZRWiGZZx^IBKzOQBVJxp?fp!Nf-E)_Mp`5g{*MfR4?n6hd{n=wS=AhK zCRoM}k%6YEzjAk_HO2}h3$P^~PHNQUDW}pt%*;;W$7TyNKa?KL%!uPgXYewQg4g)W zo$QXh^!|dv^uCVVW9%G3kL$X~oLrnF=ktWvLPjZ;DcbB;p1it7qP;&bz^KNSd87;C z3sy;_`Rd3)SI{)oJ8B<4h@CJW+`&o<(wx-{VYi*^)C5I4c*(B)(kN|weouV+y);aA z_ep1ZXBb$9U$>j7QOE{L@{{{E;75S7nGkS0B*naSlW?R7^ z@vtsP+K-V3+z9|pQw4$HfkjhAf^Y#4NY#*9Dpg)Ka0M^k;;l-OH)pLZKt&N*%CKfq z1h>VtC{mzE+@;)=y=I*%W!Ts94IfL_@3{N&tQ>7f4S9D^%WP@0DG5|eZM3s;R!YsR z`l;NvQE1KI)9L?A7oeQC`8!och*u`8Sa+l(EMcYlJ7B?&zuI?}biR!qpLlWLG->8? z4#@jZjh3WExAYCnX@*I|=;m)WSru7D&gAf5fq)BVai$j%IfYRik#t99XK#&2oB|fS zWGJXjA=#Qo%2V`L;j)_gU8SW)==uL8O2`o=CMs6P8%s)mT3kYW!UMnJPftsg4h5L-l)&)8hf&;s zn#ci~#--vxqibW3OeRF8m5*K?tX}I-h>3@y4JWjre2SdaKwU>pHo4!+2h5cA z%gSZFrNDwu>``*yw$lR^k8YM z!*0cPX@tW$HJAnl!`6T>>dF;?VI2ko03nH}&pDYmX_oph9fTIhDrLZoKk)C^!Q%ao z51sg6X=Frs=nvhvwEuq_+m)*6rmfvGts9i>=QaZ0{Knk19~ODcfU0C}7$Y|^#Q%#t zN||$DP$Ra~J&6~zY8_dKWU4tkTm{ivv8~>+HKO>EGI|*ChV;!=v zpwzG`_oh_=?533!4iYYhlgr!Wxp5V>BCYVqczi5>Z*)JS+@a9!tv@P7qv7QBtZqWY zv9C%L;rZFs?klPpnk=zc0c+U1@!&{>!=DW=leB`K1!M|*kB{BrzA;pq%vre(^_?s7 zY;}&}t;3ft{x>Y+PJFw#k1h@>3#I26kTUYKM4uzU@|0bkZPBS~2h@-uhkMCC+1i`wlXb?Lw3FAtChtl5<95g(rO-g^y>X(MCE8rfLpNYVy! zQc`T7A1^vftKI9X%<1#xa3ZpJJbso|tEB;%d80LMO~h~Q;CK8jQ&q9=FTeek<~spA zE*?0b_hGY>CMSD6ii-L@Cnwp7Y#;sj_>nh2mFl~SOmZ*&Y~y8Vp^9X&{OjVnnoi$H z%*!2@78SgU_0XAz16zpH{xA~xf@h~G&fmHs@ zvJ3|Vc`XWp!NVRB<}daPNk7?$wdpE8)*!GcUdI=@RvWCgUq+weWUSK%7!k92=rflK zUH!(5Ft?5}x%n)hJGs6p?tYx5*Y8uFa6Qv_ZSim3-o1h4D@v8aeKQ2Bae z8gPg4-L0;dVlVTiJcKe)#kji9bk^w?+VRqe#F6eM&YY<-o8l_p=gGdl>bEKOpS>#H zJE;}eQsF+0E)qn;d9sfGpJ>AafYZS%D;`_$>NVl9SGVwJB}9y!z=9Kab#Ae~9fEfb zJ=TQ8Xu}wL`=@AULOBYC@hBLHh{_1a!e9u(SO6$?%`|20Sw{y>o7%NBp@u84Qs<{L?c9JR(ar2G#m8BV^LZWN>?VNQi)J4K%u-$p(QVO zqUwfS_8VwFKn-ayWX3@@pl^gIdhZGlX;RU;J6{;K&~_=fm)ZAQ=m@9mQ`DxGzWtw=U8g1Zo)vv zj|1u1bikC|rjyox;T(#(43j8ITCH|OL^W;(2-B`GYagbas(rKSvU!mJAq4wM6K^Ks z?_m@?d;$8DXIa1l#>fog00yQB-#WhzA>GJNd}pD^GoCPbfjtNhW!5ohgB$GPs>~}Q z$_KQF^Vkz`R&XuQijD;`OH|1DoaedcM*t_53bs0*a|a&Kn4gQbRcrOI z+x=`Xn9p5K?&1@Cs&96lJtF_CqfP$J#=xUiWHk={z6*FGg3n|i z0rEvJy9jr8K<$@>p}pdOQ@IN`E55utLtBp0pQQeOe)L=~t)9Z>F-_rH=8yH=3RknI zlZTK97$Yem3blKj!I-|kK=IQKk+D|fX4O0dbEh2l5vjoTAp(v{`{s>w5%CZbpF-vI zd!}x-CL_WsoGbHJ=EpC=)Ju_KPobSSigLsKp&y1}lSwQVu}rTOnX1JciuX-($XOy0 zJyeQv$@BEcB^Axy#g*ziUWVEhbf0%`ulE&X=r>Akx@o#g!{UM8254Mf<7>;4M%VW+ zIk7mrLE?}7v@x!(o$<0p{6!E@#xft5A=}V()3R`+<6{6W1=ovUyX^Eb9>A>fnNMb8UCu zjWX_k8Rtf?PDfWu@7uA}Vt7zm|4b#t*ZOGhF?W_o?77AiQlJok6GZZje;o8H040n7 z>R6^TQ_Q*?s+?3Qt2RUCTQqld)S4HV`ie>``Gzy(ZbXqs89ETT%kN=Rj}_kY4`B01 zCMlg%FY8%gPsOtQG&v_I9pb$I`A;ufI|c|u#0Fv*VFY5rum)_V0P16Z6;I|H2tt7< zD_N9^GAv_}r~sg8tmCq{Kx?Uy^HP|EI5cFfxmXeaG-;aJfP+~Z5}mF2HQ_W&$D1*R zDa8hZ)_n*LCNODaXghnf%ESKWr=jRv*6}fpB_?#85phn4$cub=|I)Oh5FJMPjOjbV z<&n!$#M*S2MGIE0b~vq6gp>``#B4}5CIHKgU=S`KjRtBGwz#dR*c5{3mZ9rdt7f!2 zQ9N8{!7bf&YR2mDrP8QN*eYHAvW;nC*TZ5nwBYKd4YrDrz8zo55I8W~OF&4i!`kEA z>+Td?3JXzSqyi_}aXY$US!LO49y#WO8v1%D(HzSnp=g(s5Kq~z29%M*%Y*MzHzX_Z zX20Xfi^fVzK@w?V7KY%B;L~A~Xd-UrEQnRIO6#URgfZe!Vj~r9a%NZo&q_};_+pN1 zqrSIX_yVU?b0)|dh;hq!URP;y2DB!&O;Z|H00AR062|zxw;e_)h!U0cY!5O>*pQj1 znUMs^iX(b;kaeK-ab4#*FWF&m(Nlm%a2{QzC7XFtR2pTQsC=0A;d{`D08c;TLq;;x;Xs=I@SIApv; zBU+%%q$lMlk^7`t$C34@sF6zF%$qKi%DlBtR|qlN;61BW52Bh)uhWT&mH1>ELTnXb zns_=O?QklUr!QYRZwoI(n{Od7LTxdHpv&N*q(&1`sYIOHwrb+tan7H1(%9qvNc!uM84r8bp|Kv9h%2C9V(ecbnq zofg2t!LA?#L_2TcuP!Pf)%#%}3?*f{anXV;Zw!6T{HDr?Le!HyE}ZAV>rL-zVYUSk z+K}v)QiWe#A*H>G+q?X=D=xgMBxpHTjD&yd99wLbi~+7XRjr522|4MZb%a<)OBl%2 zL(_2j*@t}d@h6*|PBXbb9gU_yU4pPfRzjJ#ZlUTSffUv$VenhE93Ces+^8yS*llT!383p#Sk#Iv;o;@yWZuktt^OJB4RqA#u+%Xl|O>Pc>YgdV1Kf+r|2a2 z21f=Jv1+xX4+E*h?XZ6u3gdRba?s|W>-Nl=VkL(nIMZ%pPs{N6TiJSV#?Q^-eWn3P zc6Sajexfz)!o>sV6lh=~Fc%sVT6!@)6OJ)ux@fVr6^!G@0B_+z_bv|j8-wDajkN@- zmpLK-ZG^ePP&kptJ!k<2F#YL>DeyTMf=#}o&Eg~P3wxH3cc#nee|a%uPbRE zqb&3rK^n_$qNfWKa>nUD!9H4UaYdkQG$I`N-et&6Ma-dWz!IlHCKnAMLU z?|;3@{eAkvm?f6x+&iY!EqYh5t-0u2ev?7Q%lV|HXimm=hVdO;U?%`TK)=7|N3wb7 zntbs`b9zht$?(w~)jJ(;zwYJgCeHVL*R}kcU&)n=9lP^-;>~g&>a+3rHb#UF$AfwV z{)nN=IK(}~zX#K1#6=z}5Tl4$Efo+TztA19%Qq2{?V#2cZ12+M04;#_maY-;S9ylZ z$Cdg~SYgU^(Jk3>#g*+R)u#)CbzYArPZWH+((4+<3${#5p>y7F&S`<`^H*0$sW#;@ z0qvK5H4*P2Nk68ive)4b@10CX>p`ZyAmr|yc39L3eC$|4M^dJXJlhJ!@?${sig5*l zFZZtD0MdU>)RFe#t`w3*K)lx&&x!m2fun>J>dUif3>@=v?-~#Tk`g)%nE{2q$Ob}~ zF_495dRa}nw6*gNxUX;%ut-}dPc;-`39Jssmj2BGogd()mK++C726`>a8c<0C@CP)HR3-NSa>^`m({OcCG6toi)IQ zi3(8nBu22h*BJ^sf-+s?m91dh{|CVHYHy-&rQPn-aI$Ccb904_qHCE1vqzxa0_4vb z;ZnOFC!`2ZMRCeV?Qga6ymHvX&a$rmlNr^=BKb|95$7ziNe3sss2QNpImWmHp`A2V&3UymqKEK~rs z`|4soA1h7qw9_7}UHgSoNy@i4{;|rr^BBDAj+MeLFwV7c`Q!}32us9qL}`64jaMPyO&Edf{uy{l z4_Cho2RW$o_8~Pr|DKz36EaP-=nT(LcNo}6!MT!rf42@O6H16K1mH%-xV%j~^h9-wHF!20#9jQq8`Oaqwtqzj0kPkkOMyuEAA%@3!o78u^0wmupMe+J%kNIpiM&n zD0SR&Wx`vC>IK`eTif(W@S8m40Fw@nmA-XC_VWIOs!wEmn$3bi|7IWr^W|nH1jvGS zm#=LVdc|w)7v#02=RWxQS77shbB^}*oK>&ht43N9mZ9ywIu!_)+!F5C-!JyZR;og~ z-`x8HGPWNyAr`mM5Z!Ch{8KuptM$XoC{a8=8ORUh!QjNsl=+>?xuC|~4lam^(*hyg z@n+;jZX#hhDU8l~Kr%2MBL($@e(2jQAu8xD{2*dPScS!ZZt~HCUx{V?JML^^>vBu< zBpD|wF}BGZXdA4M2`?qJns6E1B+D}0hv>B!r=|0m5Uta%?`QQm6yM_1z3%WDr*ppN z8z+tII(?IN=NcG@KbH|nG~p%7;-?9M?oW<$LhOrQ2CNp429Gi8VnU-3Iw2+@=$3VX zW82_Dngqmnzjh^rU|b3zg=B)om?MfFf)fv|>vB~#>xVez+LmWxL;D!R%ZIm&8a?kP zr~0NHa?1Y5fQhgJ8Lcpmxt}W`84x?>-5msfC43N6aYvvU_S*bIfVAAvnQG6hs<*(x zk3}=v0$nbjxh9+G2c;LJLyM0V84VKVj~t_0!U}z&v}@`(?E5^MYyI@*w%P|KjKI80 zD_lXzW;m31&6rz5_+%_e%$?X{2)(X+Ov$EKqOue!{&bsM1@yZec>|#rh;OiM9901! zi6APkfsOtJnhl7}j0r-mh@Zj3ijXx;V-!|W4p={^wuTUV)(uliMuh8xPtzt6v6Y90 zY=lNH2plTMTv%xOS1u~N&UuO@6Wa$)yL^p4B@UdfpT%=E%Pu4C6rehhObc^Wlg)1$ zDxmMXW=%}7>LXs)CQ}Pd*MCwuZ}u3AzPi^LX6PnCtptympZ+2fCVSr)KUrV&iUTnK zP=*}JxNws*gp3Y?RaOU8c&Ou!I-^62$`Hj6j0-h5V!1k}8eT_8u>j}VexUgk=&@TF zV30$7Hbi=h@(-K|0y(EhLe-E9BK}pS684jf^ywq^Cj*Qm3l`JON}#ot{W=LsrM*Y> z1*3-44{H$;5!_5sRZ8p13xmi*J15no!;%*WX@PbjETH{v42bHBmCyBWiQ&s7b^2tz zONiEl{2oF8OpTwOJ;JiqDU`7QIY|ked$k#;Q}u9bHsaru+1+_TTtB&nP=5@(at0ud z0uY#O8DdL;jX6LpVj(gp;1P2_|AQq;L!EHHu$0i5D&jASSXY2?5r~fxsvUI8X1|UZ z#283Mn#*;!?w{1RfPYrsv_^;t5s66xzadtHBXAQ{QIxfu?MikLx^9-SAi@q5X!9|X zAZwXX#w3(LneO6eAys^G_muSgq>T51~nH3)QEY&{mTn7Uwe6CuXBMf2!O z;Cdnk>~goVo08TPoeA&NQG{#-ohE%z;rn$vJ0UQw$G5dXgN=j@hgI_s#4vnii8Y?{ zeFS(CLbP3RS@^@;x#R=z;tZTC5i0Bzs}@*DE&x-0n8zqaSbVd`PK4qrfAWJnCW!3EpDgER5@#w zyVuk!qFsTpqxXrO1OMzGU_WjM&~u}aQ81pjd$dWFQKVzJBgBS)g$Yqx5%EysLDBdm zS+YMB$}}_8!l)RN#(E0&1xq~A#XgL(#c6TgO$Zxkl?$mWr4VN`1r(0f z>TVSC;&WACGQ}-$`O_$aCC76RsBd2P92pLf1oHHdEF`~q9oyX>4S{NhiXAX*Nm`8T z^dGg&m*#sSvN9Boqwi?F;O;2B*VeqQj@VWfV+WUj3?{zWuBU=>#n_07?CV`#SQG$|(b)XLFJh5S0~0 zv~)=bgqjxZQZ~qYzA~1|!PTy|u9sbPQFIHk0pHVX9^tr2$mo zI_bWS=GB2MYFRV}s@pc^pE4rOJV<+5DXD-*D{e{^l-OViV{nrZh6{vrAxbKxr!oR= zepqZ2YYXAVc5uq)^IcgamLd45TCcWl_AII*8M~1@N>Di)i*E*OjioFywXq-9!qW13Y-*`ao1bPHFPUcAz z2t1_#{Jxyqnsa5j@(TcE%2_P7RMpz~8z)F15|Y^|n1K#G^(-K$2BMhO7&&)sriK>J zb{dOn$xC!K8Q}`w9OfO%OT_;A1UjSVN!bG(WJpOYJ<%NHet?W`^vU z;5dRFQ>>lxx~!SF-R4B(ZBCd(DYCJ`6{Nlw=)QT1?8AoGJKEp>qnCl}yUvtEO7GDbXun;Y079XAZ4E09AWlWSnUVW!1;qyC2@NQ;lGo`{Tac*u zjTDW5n@?8II)cn147t(Bio~V}NW&luLKXnw?3$HiPaI;JB9+DFj2`l1^kRjya1@2$ z7zZJO=)x6ZPrM_n5hfRJ^9|OfJbIumt&S23l11A-z>K4-E`Z-0NU$)~xGw^>cgN>c zh6{Y=N(|P(;echX6d6*|JALtRK6urR@Ouu{iOvHmmGF{`lFC%1%5%fd+M18^oa+#~ zwWf8z4+OByq(Kq5-%_;ebgp^MWZPkAegLAL-CcZD*^%Aw-gs%gfjHCu9qqaRr*1VO zO#-2;Q*td9`AjQF;0^N0?y2Bghwyl{TJ}zX%fkA6p0v(&e*!Dryo$POkH^vxu{0e3 zK1IOaWlY8e+ZATNlRlWKD{d2Ic9)%3s@QP}zA;C88iOS-_)Gb+mq6_2YESxeI=_*r zaH^LGXUh%y()Is!NQo{3-6wc*VVbd2Y(vwb?<2Jvgmm$txb=w{OXNe z)emN5NlE**m3wnK4E*A8q3n_s!w_eol=vRcPPwK-7~396>WXqRof-SY%e*anG_xS; zR|UToegEO+#i!71b?rI>qxQG^A2 zp1R>p8j2gE#h?P6)T0-aQ3wW3d-vAWTTx_GF0b>(wFrV|8%Z!Q{v7DY2yh3mf5*5K z1EA+BTB+zbO|&%*ZB{WvX)ZEz*&=M!4x+-)eG7R^qf_zikr|7bZx06sysq?peZbp% z@$w$u=j~qS1Ku`&P>MIts~7s>If7`jLzU{j4;P}dHNf_$D0Lb@a3zMop{=e)*zzs- z#(5Z1Kn|Q{W~jKJIGmsV+7cmo({S43qg-ou^CG6JUJA9yuw-UWj3 zaX6396QK(^88kFKRS-{$FI`a99%G8zVh^VBM#e050~i7JU9$y*d`Yw6ODW{@>f&{$ z&W^gV;SWWTt&6R=GihK{J2`vWB+*r{|q z(-O}s1jI>XP&ESHu-W}Fe+&D%O346Q7Tu$ZHJUl@{ji39zQd^o?9&IL^0lQ$8>2lq z#|d>1Eg#bdMHT-l1M%Zla_z%3jZq)dh@6N3UE+=upvtm$Pn-K(llajviFFgF8>3>v_bjs^|gKzU? z)|apHy8qXuB7EKa&33$ber@$z{a>qjom}@IJ}$_=7{en7AXuTYIm31kVPc` zs_-uFqkiu0@&Eh^M_46t8DYsFc6dF{TEhVjXV{{W65N+w!2_)OUkFMT2)?I>iN_!b zAOYoGjKsQWctHdqKmB};pJkZza(fH3Qn(kazn=t=jX;EV?sWubn-9N;0IGJs>i39{ zgC;qw%S9xzzVemU31Yvt+H}_eOza_FyZN*29$6*Qmi(z?Z7rfhXXLTg&b=^S*o+bb zU&Vw17`j?6l!`=EB*C)E8y!Fray0A~uRQzQqCya;EAXn^vViuzo@srA<5pTbc?W#0 z8M)3#+-)qByxR}a+BRqr*A7e##NPf(tv)ahY2H5YJz!%NqL8uqs!^LYc#I*$=s1QbtjSNlMSJr=G@f{)4GjOJ zZf1|RoQ-2_)E2TNg{&XrlItU=^LFg(-|H^xL+mWS36L5YQubO$V=X^B=Sqk6!QBtfA4toJQ7cB%kPys`NS>Nh$Vq5!p8WIqz(Mf^b1^SX&6K( z$ul9%+sDGUf~FF;v2i||1ZOkpFJu$ZIyz!OAlr#X@$PZW?xR*~4CSc++p6 zM#512ahW z{D1|7F$|#yJ8P!HXN(OG_Q(DHumRx}A)z*Dgjxy74C4*cVS({d?K~p1;ZA{?ugM++ zg;7K3^$BQ9jRy4+dTW%4(NRac86BSQ$52j71BjfMPvsmRt(Keajuc!3m` z6*MkR&m*{aixDKn*^WQ|?eov?{fu!7=D9EV2bSD6ii0EWr^~2#19T%01*J6sCyWs}AQjp_iG{EmW6WpAVQ+W!=yun%0cR#ErPL^k_IKB~UX!F) z>L-;8IH&8UK{kOvnhMs?U`4TC2cn+aKA#z&k#nv6gK1FINrwTs=y#`j*3P!EdUxVR z8dXpWXlQ3RXJS$s^(aL@LxU@U5OTNDa6iVLuSO~786P~F7IB&MGyObx zvL6RO+)snce$bEj!G02?XP(HyD~Bm!k!q7eE+WYmV7FFkAe~GpC_H##Yz~b^nRivH zX{UT_n93>wBs&n0C(3b(ipxZH7g{PvGi>^RZYG2a>}5314F!Z%BaN;PIjv-9)JoNp zMdffhK3TKf$=G=y75s9ENwgK@*UwDAy}Jz&PlMw$sBf}}!Mce^A`w?un+V(`gqxbD zJkPnHZfhyoeIM^951lyDbP+*d+~k*Paynae?XfkWGt-kCrU}7o219$MhAs14N?-Jw z$WE7bJoYe6Q-?P>Jyb@NsXP5{_Xyy0k?CkL-7+G~-Xi2WWT9PUVZ{SMN#9}qJSVGJ z3mfo61l7g7(`*^$)dvz0o=@5>m(_#Q<=KPC*|KzU#AzAq1t2|N968Oa`e5AXj#VU{klHN+h`oBQ;o8=plz8> zE=cvh{k-iVF%R4zs(}MR7@CLv{et02sG|vG7MuuN*p&?u$0FiO)^OA#dO8(9Fhtbm zS|N4tLEx1T6DH}cu0vx83T`Q4ot&A0%q&pV<6MyMVb{gdh9!=6OqJhW_r52TQ93lY zA|+nw`Q)JTT#xfPX1XzC;IV1Dj=`)%;+2C9E0)^DE~h!3!j!RY?MoL3)R(37qS1h* z6us?{%<@3zzgi{LE8;YwxyQ^LbuG!p>1IMmL_gsfJYgL-ynrBYbORqnsb2ua$;Vn0 zxz?~dRg9(h_xzq;)Fd5$UKnAKKvcIOs#~7J8KqHr$kuf!*vJ+$m33i8s4lo*KU>}! zj%XM4!P7YF zNfPgjtcC&#W+tW#|5REO64kHUCDgC>{^hKYD>%k5ki%|*Ym18Z$Tkx1_xq#0)VP>206tRP=iM?Nf@o-pQCG{(Ez-g#GST$Q?PEaV zcL1XW@^6qm@!O)7t^fbS!|u*4#d*U~*VmWBX>{f3lTPQsJAczbZ)90{B}}8zkt+Rh zdvHLcib*Wt7Zru}$E$HXmd&J~G-|P9X6}R^n!2Tz{^DeeR5*RlPEXDl5!hbp$-@j0 z)W(w#I^y_^3+;EOMYV)ez-=WKB6kJ@Is#0XJwh?+*v34%(tf+C3KGHcp!YV%s6H1@lTlUvn;>)jFQ9QuW1H zl$H|aCb@_!nWyfI2mkvp7PpQuLp^q&-K%gr0yEZ2xbIO*3&>8WqzFLoG0-65d&SCp zX4#}uBxGSE1XuICQN{wkwHIW@l?lIc=zISxTIP~m7%*`Vvlj9A2rsLeJ z!aIh>jRG1KmSsW&291Ftz_IP4+SsR|%SO{$;|s)TpBY$r zazI2&2R4Cdn6O=H1Q*O}u4vxyHPc=o1Q6wHyDPanXsfC1n;4kzsnd=bTyCo^5vk|p zbyT81PWa=-xd-(iwfK=*99p<@>V?>U^A+M9(XE=3*jAt?)R5`qz=uuc5FvmJ?b+4A zJossr%cL`sw|%}KL@*#j7B0H$jOzYCiB>WMC(f-w$xe7;rQW)INZWs)CNUOz5Guxm zr-wOd^qNK3kzr>S*hh*eMDZ_&9cG!3R}LpyOVQ)6mxgFZmqa|`++$4PF5m7w(!{LS z{a(~QYgBb7MdE%sjY5ywu)H^8vv5vKZ3v0f?X7+oz_SG*aZ?_-LUb)sm3(k}AOpU_ zFgI6UBK>Phc%I(rv@8OC3?mCGC)u5AYLu-l2n|o=x9>jIDkq7L{wSA{lo`^@{OWR&6@bhLdbtAMsBJ%yV zjSZ!gPjj0{wVx@B((Yryqs^+)m((#-GJYD1#4@NjIVNU#yv2Kp^~Ct+Ah)ukB(eNx zR3gf9_sVY;yeXQFuol{VZd3P#Gab1Cc&cRh(RV`8+c1>mjI;SS-Ip2**W$7EB1BEECa|LJ=mRnYHb}IyZ04vHzJx6YvfjWy;m;62E;x3eM2};8y3rS?Yy=tAjD&NA|5REQPI{k zv;`*!dhi%^aH$MxD;}ZR>k?i0TAo}bnS|kft`&|)&67j2c{cC@m>Ikps|h5WYEEOb z!ZLdnc>x@n@3SSH1tgrvS*Ghz8;PI$URY9j*lFl{rHkZ|X8-%}uUOvXWWJSfzKHD; zc?!=TxgC2{d?}s*F1uko9nU)t|2glLcWvNib(01+mAYx6*dVDXo zS!v68@|~)gQB4)r7BZ*^5j{>Qg0Gds5n}hvSj>c2_mv=3j<}0}su|lSTo4`;idA2h zgQyUoh?TZP%uokmHE&Vjqd`Aj2)wA*k>qgL+3FhVqSUCJ5eFv@z{!W>=+I72Pfvk^ zlP{0Q*F);gg0=9sL((AfH(3k03AbOe(9nq%WJ<*vY4Fs|gprJkhz8a}K+?L3#Q^4O z%ciY`s)k?{x{8?ng`7!id$I#3O1l33M5)IVgp1`X!qHET%fgBJ7Kx*@@+{br{a4_n zdi}Igzv;SIq?DnBB@R>xtP(f!D5L~opwxU3uTc4WXPToA#Q)SoY1NIHfPiDgys*hr`PB-NSO=;BasX@zhAF}ap$20bH0#f1Dids{F;%CU_vn|t1h>yJ&`j7MBf<4 zkp8V|#w=K69WAzK%Bowl$+Zbap4d+Fg(mHTzX{mp})N)GACq`8wHZs}-3d7ojhyFW3u z|8~?v3MSx@{{Xi6i~VZUsNzrKS zASMqq_D&j1kGxkaL8Tgc zCq*fs(BB^yzEG8DB>^Ib0zb;NIN}28xdb!B$o$qC=>dJS0Xz<;GzSjCKMQS_+978k z+obxC_47g$%>@>aF2ts9jWe%vDmaz~Qbx!&EhWzrzkNu%XoeLA?|CmZMjKdir2UNI zREkMnhil!c+DTuy?vylKbF_F67re0m2SA@4?G9O@G+i4U9zh1MB^u5Oe7~;=qoy^P zFG|+v!>=Eq!pHwn0v7W1Q3ZvBp(4L z{Cqu%8?(WwXhV!-lwG3DFU0+Wl<}@U=C`zV*R*Z+YkV?noMm|W?+`c`uliYi$~XfX zw$Ii8I+lg5jLDhr{b5nI1RH&VU=0az2$z+sMfXcy=ly=&*AkyDOFHQXeb5j3DzB6N zz_<0C-h0}3HNG48{^LzQySV!}5?I6akfnx|!Utqy2&ZKWcR-bu_*K@{LP|krECpqz zJ=U$%FBr&o3?!kjq}F0m(0OX-5f=7C2dKp2)1kZ(>Fp!zPp^eLS2X7tCD8Jz>MpE2 zF;mXS7P9J()>8F$Uv9G#)~Dg+0(H|MTBT%7`VR<}{loY@#jROZ9-x4?3UDE-m@3+8 z6TH9xGABJ5$xhCSBRRx^LVjq-o9*yf-qPaSV*4`P!X-RSnjhi|TkpA3v~ep#DAQ<~ z9tKxA=;McYHcv|_{i%x)2N+LIxU7m?S<#SY29-r6Y@zrsUmWZney(g>ShbI=gLCIS zrNSQEeuuT)>bisiL4z-m0%>sJUDBb|Ue2iFr^`^Ne$6C3V zA_t&)`5}n?vfhfP+86aH%P$PPi6u#&OyTm`AWqw;Kw{7k`pu|g$VTB-nI(p)T3kgp zNj36C>MpF@GgHpUB3bpP*3!)my8(6yqG1X}0R+!YcbI;zD?)VnXWc4l)aF<5s4#)$d( z*s9pUe41FNdZKvkRikIKsh?# zD>5*>##Td^jwV!7RnN>;@(VPi!Xgtl3Plwy3Qw|<`RXY%`+^54_4r(!z}5^f%rFCX z9Oq~3hqg)D_6nARInFUoQ8G|TT%#v-^R42^S#d~Akl0Ho*?|>(c6;qg|5*z1Hz3-o zIsan&n0w8Rj*iGBEq3VCrY%vf&a5c=^vYyv1U+Lt3W`E4r5K}_mw31;i`}wf<+D?( z787|%_l8&=F&v-&FODBxU%HH@v ze-ytjm!kkKzN99ty#`|)b~gy~&%#(XG~cJBi&n+Zl)k21#c<=h9x?4>P~hlnfse#i zUiBL0Zl-w1D~9^ubxUqL3WA40Tk6)pef&hkG8APyerT9{9w`f;S2d@_yl{Oh=JYA- zL&UR10qE#n{c(?L0XQf71s+Bg&yA8K!pij!EgB>xS%{C>9_{YJIagsUu8Ak?QYBT* zJ#0?x!A`!!0R>rOse-b+1z(zLwzbEmx%3QN9)?*!(0`JFT;PiHP};FM40-Q|-K?9WEK!db403 zStZaIvUH3-+jp+fU2?y*e8F-jX)D=wR`Z#)$W->70vAkJdj#5H6+f(cy|sT(_nft6 zD}7LL%*UHoJY^C-PO4)ji$?k&jAf&FPgULzxSwl&mrV=f0oo(G1^Rxs!-cszd3O3r zM8qB%$;kjgGxVu~r(F5}j}M{8C^rSO-krusZMCL0NS)e1TV>IfJld#a?Qe{GlNwdb z)v*%BJ)w3!nN7L}Q)UBT2Yw_Y=&Zr2BWt9TnOI0VWcW>*=MN^TG~EPh%+r12KrDjT z5=Sh-)QSY*H*|dQff4#n1%uj=uDACu0ucF){u2(}O%LlsH?lm(4*ecy-jtga3yr>O znIcKdVLgP;5pLTOAeCS!#j8CR{G`ypK7 zQ%K8U6bmTUNB7~Y?w+#~z6Tx>*j#WqZEu&&N*OFYX5BM{&mDtm>FnROdCi*l2RC_M(EH_WCE!(K&oVh@7TT>Tfb;JuiC~YYrn6 zwNK*rk&Zpx?G%)NN355Y$3CjiLd%b?JB7+!1xakdEHA0PtJ<(veKfamzQ{Z}wySwi z_s#R#Rwe21Ol}+yxoO;>HDv!*K*+VtLwSdW&5`FEh+~x`MB+TYzC5`|C_4jcL&_%ze@ zFekG&6t@OD2chWV$xNy-()A7GkYp{*65S=Se%~AvMy8 zf5FF9J(kjY|GXEPxBlk6z4YYpFqOg=Xi*v|h^`FSpD2hgv9h_-klhEYd;X#M_r%<% zJvGx)wI!i%oTAM~^ZgSNDEO|z#xff_&sdhGW#km?grPhrpsFZVt;v~;0uC#F z++!fme5QT=rf8~1S@JVF%%wLg?{iconcqY1@b~T^I$8tb@uVyy1Xaim)8A?Fh;q3* zv5Ta%g(R&b7W|<;_x(a*PVeaZ^_)uqvv^VN8sm`=#fyTcvX8qJZ=Rmur*kmI)(3K0 zWc0J-w8;1R?ehV0Ww>StZ^^fCiUcZTttl?WelJyc4XrF{6psDUEBRKWeJkfTN<@~F z&=suVMWdI%1%dDeAk?;yBJoA`*`GUac5Wckt@v-hkYiG;lj6nTHH^{FFLR})`cl*nSf<-<{|^ICVq^DDdD zdM)tpQjGE4BGT;O0sB~~+~$RH}guhb+G>W<34NR)<1#-U&A ze`@T!R9a@4)&DMMzqrO{?>vD6`Ybyz_sg-z?mJ}5sMTT)(ngBe=0h4+o88jWJ$um9 zXNX1-MbC!Z-ktSOen|QoR-4_@#23b(gv31Vz-QTx>tEWCPW6)Ye(X2mN%l@S%1730~f*%<*z0jH*PUz7M^yW ze^?u$n0g-yW9)}rAiYAqds?Uefc9HzLKymyI3_ZTVG8z`2Tc}_ zo>@80WA4*5PVqZFxN|TKrkAmxcO!2?A3gyZ3wHxA4aW}&-+7TjGH0sA8tNs8bAgUm zB`sbImiKTr9ozn_?Y|ADuViQNH-VdT9$u^K;|h2DzUew8Am3w@e`bB4??%cktSH)x zh8Vz!_HT|N!SED&~?-2x-(FVU0D>Oe87g0RVna8v#U3@$*b?0#gJq7c4qd|oL zr!nNqplgrQD*?u6@@&2Pk%F9$vO2^twm&QKA0@2dc`;~;Ki&t%ar>hJ3lO36v2~gl zmA)N9TM3>wMi2yxqZJ#%rSyrSa~Bwq4`yr&Aeo#AXXy3ZoP@uTHj>f)z2gTf*k{c} zDiYNU!GgnrLNsNY>CD)b965=T5z!QwEaF@~a17DN5rQ+Wv-G)haXe%!E;hL{BU z2+PBP3}m}8#vt5~2}rLoW+44m42V#rVd8(^gsQx87;D4ENp$7!7=~cV10outQ1jh2d)mzamK!5VE0lY$^0-GvZ>HTC5kj(a zOgP?#+_H$}zSdqV8CDal(PV|WO?mAAX7Vk(HpXb=X+o$nNlo!)8Ny_ll@ikh!4|eQ z!feKCBD!i=Uj{JUGN-hTt!$2uCGMMEtGKf}Yjykc2NCOaU-aJ+QXkj(ju`VAeEr>) z6nC`o)wdw#?P~8qN-EVl)t5Y6x?HJJiN9-Nj9RwnTj(ilM>}0?m%XrE#+qY;PzJ(w znTEE+(xJExqu>~e`~m65WBIXEpPVHMrRGF=sS>gu%PN|ezo08GQJSrU6s85+m=;zi z4h$5Z@hg~&U%_G85=*$?I@pTqKxx89LckN(flFKmAb&^n-u_Lpy#Z#D4Cq? z@&#RasS1Ktq)4t39hV}SB4x_tlDZomA1BxTfnl%)fI!1t6IEIu7udxgyh&exDczWTc~2z=t=ML@`1Wm#U%+A?0NzO1}H9jpn7w8OiFwGzvZ zxv>R+(B1pomGx#6rf&Mkf+3QBzic&Nl7C-epg^VWi+rAlYUREoV9;6lLI(t)39!$T z0Kq8lj^H>$DesPEfWc|=w>(z@Kx$8fuMk+}+`jV0@yQ2o*?_>-^G`Q&x2L7Zp>SD! zUAQdedQaYFLV2RKd=d0nFM?Um$+SdgFNY>Z>b+jRmEd_2Uw5bD(1nv50u2|I7||JJ z8)kgVkf^(*w7GA#zUX|D7xY;Uk<9<9RTdAenWqGRL{zOpAi}K9OOa}1&jy{cj3a;| z+gXZmuF`0Y#97A)cIw5Fi_utP6B2VZy|(-=tzElTIz#IqIU^Mf%`Cf{Z~A+M(hz%z zr3N9;c&juYHWP8H@3L!+(|%3AwPiX)-ga%1geZUc;oE_)>9e(vr42UXT+=jD%ulwy zWjr$AXKLX*XVjtVB0jJEW~McS)hC~=D5+^~c~|F_6}RVQ=V1^a#vcxg(R+Czh7;$H zQt9c2(fn&|nBRmFkS>~Eb9x=&di%?t&av8lb{P(fJDphc?6WKS)fM9ldH+G_GNhb8 zApKLHep*IY7KhU~O=FARW{8i~6jjz>a+>I0eU|z%*y=4gyMNjl%KwNXi!D6VHbs+4 z-*N9f{E%;QSBzyLGuRKd4~gfBol8J=Fuo)(3>KKBHNX&X8%(}vCUMTwO{$P+lo-E11<5&GE4l5C7jl&@ZGxYRg$LyUq|gqx&s zPKf04HFvg*@TRhL<|%3op7~mQ{jI4%JVsZ}h?E2NO7;=60sfKMtgLt3{nTKcL@lf^ z8JVw>qn|lEQ;(8;6JiR?H1k#r5Qd3Ha*->}`cPW@v~=Yw`!_dtU*a3Y=~34K$9?w> zIPSeC>9j$I>~+|Q^_tx-I%wGFJSgH#|5SXs9?XJ9jS`2m2@Yo-Mz9jcwA{vE&bwMi z*i9=34mb0zQ5O4#Kd@ha(&$cUXP#(b<(ij__^LHNZ zUgO;O&xmK;N_Zq-RKuJW$XhB7Rj4X$Dro7ui>k1hGuai_9+~EMo2TvQ_z^q$MJmEh zk3(Cm$+qtCxYdkZVZOh|+Nhl6)jUOomtuX6a&!N*7H7_n`Oj*qQ75P|s|Tl;IxJ#GKIM(qot@kIqSe zq|N<=N|C`ljts!LW55NXpSTg)=6>U(LGv_uTt9dsP(x1)YMj`2@#|V_nrH+h7qEyp zkIF$h17bfn&h+Q}2ll(7~NE&*?|}PxO=%b{oBBYH5jjxfvQ?W z-Nk$GQOVw+H(a5Ll|~b>c!f2mJ}@9lZJCYZ#m5FYy@m>d5wrpd^+C{Ynbeop?gOo`7+qT}F zdSvC(YtPFyxtZe}+7P@7dgN8F+ O#ySLJ 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 diff --git a/frontend/app/src/index.html b/frontend/app/src/index.html index cf3ded06..15648190 100644 --- a/frontend/app/src/index.html +++ b/frontend/app/src/index.html @@ -18,7 +18,7 @@ - + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4317be2c..84a49f7e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -906,6 +906,9 @@ importers: '@types/dom-view-transitions': specifier: 1.0.4 version: 1.0.4 + asn1js: + specifier: ^3.0.5 + version: 3.0.5 capacitor-secure-storage-plugin: specifier: 0.9.0 version: 0.9.0(@capacitor/core@6.1.1) @@ -930,6 +933,12 @@ importers: jsonpath-plus: specifier: 6.0.1 version: 6.0.1 + libbase64: + specifier: ^1.3.0 + version: 1.3.0 + libqp: + specifier: ^2.1.0 + version: 2.1.0 maplibre-gl: specifier: 4.0.2 version: 4.0.2 @@ -975,6 +984,9 @@ importers: tslib: specifier: 2.6.2 version: 2.6.2 + zod: + specifier: ^3.23.8 + version: 3.23.8 zone.js: specifier: 0.14.4 version: 0.14.4 @@ -1066,6 +1078,9 @@ importers: '@types/glob': specifier: 8.1.0 version: 8.1.0 + '@types/imapflow': + specifier: 1.0.18 + version: 1.0.18 '@types/jasmine': specifier: 5.1.4 version: 5.1.4 @@ -22234,6 +22249,10 @@ packages: resolution: {integrity: sha512-C1x6lfvBICFTQIMgbt3JqMOno3VOtkWat/xEakLTOurskYIHPmzJrzd1e8BnmtdDVJlGuk5D+FxyCA8MPmkIyA==} dev: true + /zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + dev: false + /zone.js@0.14.4: resolution: {integrity: sha512-NtTUvIlNELez7Q1DzKVIFZBzNb646boQMgpATo9z3Ftuu/gWvzxCW7jdjcUDoRGxRikrhVHB/zLXh1hxeJawvw==} dependencies: From 6584787fbd3d36ab30b45bc0c1e74adf61c12490 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Wed, 25 Sep 2024 17:02:02 +0200 Subject: [PATCH 3/3] feat: mail --- backend/mail-plugin/src/cli.ts | 151 +++++++------- backend/mail-plugin/src/types.d.ts | 9 + .../app/modules/mail/mail-detail.component.ts | 25 ++- .../app/modules/mail/mail-login.component.ts | 10 + .../app/src/app/modules/mail/mail-login.html | 0 .../app/src/app/modules/mail/mail-login.scss | 0 .../app/modules/mail/mail-page.component.ts | 21 +- .../app/src/app/modules/mail/mail-page.html | 21 +- .../app/modules/mail/mail-storage.provider.ts | 29 +++ .../app/src/app/modules/mail/mail.module.ts | 32 ++- .../app/src/app/modules/mail/mail.service.ts | 191 +++++++----------- frontend/app/src/app/modules/mail/schema.ts | 2 + pnpm-lock.yaml | 127 +++++++++++- 13 files changed, 390 insertions(+), 228 deletions(-) create mode 100644 backend/mail-plugin/src/types.d.ts create mode 100644 frontend/app/src/app/modules/mail/mail-login.component.ts create mode 100644 frontend/app/src/app/modules/mail/mail-login.html create mode 100644 frontend/app/src/app/modules/mail/mail-login.scss create mode 100644 frontend/app/src/app/modules/mail/mail-storage.provider.ts diff --git a/backend/mail-plugin/src/cli.ts b/backend/mail-plugin/src/cli.ts index 73eb3c8d..b9ff6020 100644 --- a/backend/mail-plugin/src/cli.ts +++ b/backend/mail-plugin/src/cli.ts @@ -7,58 +7,65 @@ config({path: '.env.local'}); const app = express(); const port = process.env.PORT || 4000; -if (!process.env.IMAP_USER || !process.env.IMAP_PASSWORD) { - throw new Error('Provide IMAP user'); -} +app.use(async (request, response, next) => { + try { + const [user, pass] = Buffer.from(request.headers['authorization']!.replace(/^Basic /, ''), 'base64') + .toString('utf8') + .split(':'); -app.use((_request, response, next) => { - const client = new ImapFlow({ - host: 'imap.server.uni-frankfurt.de', - port: 993, - secure: true, - emitLogs: false, - auth: { - user: process.env.IMAP_USER!, - pass: process.env.IMAP_PASSWORD!, - }, - }); - response.locals.client = client; - next(); + const client = new ImapFlow({ + host: 'imap.server.uni-frankfurt.de', + port: 993, + secure: true, + emitLogs: false, + auth: {user, pass}, + }); + response.locals.client = client; + + await client.connect(); + response.on('finish', async () => { + await client.logout(); + }); + + next(); + } catch { + response.status(401).send(); + } }); -app.get('/', async (request, response) => { - const client = response.locals.client as ImapFlow; - await client.connect(); - const lock = await client.getMailboxLock('INBOX'); +app.get('/', async (_request, response) => { + const result = await response.locals.client.listTree(); + response.json(result); +}); + +app.get('/:mailbox', async (request, response) => { try { + await response.locals.client.mailboxOpen(request.params.mailbox); + const since = Number(request.query.since) || undefined; + const data = response.locals.client.fetch( + '1:*', + {}, + { + // caution, BigInt can throw + changedSince: typeof since === 'string' ? BigInt(since) : undefined, + }, + ); + const messages = []; - for await (const message of client.fetch('1:*', { - envelope: true, - labels: true, - bodyStructure: true, - flags: true, - })) { - messages.push({ - bodyStructure: message.bodyStructure, - labels: [...(message.labels ?? [])], - flags: [...(message.flags ?? [])], - envelope: message.envelope, - seq: message.seq, - }); + for await (const message of data) { + messages.push(message.seq); } response.json(messages); - } finally { - lock.release(); + } catch (error) { + console.error(error); + response.status(404).send(); } - await client.logout(); }); -app.get('/:id', async (request, response) => { - const client = response.locals.client as ImapFlow; - await client.connect(); - const lock = await client.getMailboxLock('INBOX'); +app.get('/:mailbox/:id', async (request, response) => { try { - const message = await client.fetchOne(request.params.id, { + await response.locals.client.mailboxOpen(request.params.mailbox); + const message = await response.locals.client.fetchOne(request.params.id, { envelope: true, labels: true, flags: true, @@ -71,49 +78,39 @@ app.get('/:id', async (request, response) => { envelope: message.envelope, seq: message.seq, }); - } finally { - lock.release(); + } catch (error) { + console.error(error); + response.status(404).send(); } - await client.logout(); }); -app.get('/:id/attachment/:attachment?', async (request, response) => { - const client = response.locals.client as ImapFlow; - await client.connect(); - const lock = await client.getMailboxLock('INBOX'); +app.get('/:mailbox/:id/:part', async (request, response) => { try { - const message = await client.download(request.params.id, request.params.attachment); - message.content.on('data', chunk => { - response.write(chunk); - }); - message.content.on('end', () => { + await response.locals.client.mailboxOpen(request.params.mailbox, {readOnly: true}); + if (request.query.raw) { + const message = await response.locals.client.fetchOne(request.params.id, { + bodyParts: [`${request.params.part}.mime`, request.params.part], + }); + + response.write(message.bodyParts.get(`${request.params.part}.mime`)); + response.write(message.bodyParts.get(request.params.part)); + response.end(); - }); - } finally { - lock.release(); + } else { + const message = await response.locals.client.download(request.params.id, request.params.part); + message.content.on('data', chunk => { + response.write(chunk); + }); + message.content.on('end', () => { + response.end(); + }); + } + } catch (error) { + console.error(error); + response.status(404).send(); } - await client.logout(); -}); - -app.get('/:id/raw/:part', async (request, response) => { - const client = response.locals.client as ImapFlow; - await client.connect(); - const lock = await client.getMailboxLock('INBOX'); - try { - const message = await client.fetchOne(request.params.id, { - bodyParts: [`${request.params.part}.mime`, request.params.part], - }); - - response.write(message.bodyParts.get(`${request.params.part}.mime`)); - response.write(message.bodyParts.get(request.params.part)); - - response.end(); - } finally { - lock.release(); - } - await client.logout(); }); app.listen(port, () => { - console.log(`Server is running on http://localhost:${port}`); + console.log(`Server listening on port ${port}`); }); diff --git a/backend/mail-plugin/src/types.d.ts b/backend/mail-plugin/src/types.d.ts new file mode 100644 index 00000000..6badff66 --- /dev/null +++ b/backend/mail-plugin/src/types.d.ts @@ -0,0 +1,9 @@ +import {ImapFlow} from 'imapflow'; + +declare global { + namespace Express { + interface Locals { + client: ImapFlow; + } + } +} diff --git a/frontend/app/src/app/modules/mail/mail-detail.component.ts b/frontend/app/src/app/modules/mail/mail-detail.component.ts index 21961622..2f5c63a1 100644 --- a/frontend/app/src/app/modules/mail/mail-detail.component.ts +++ b/frontend/app/src/app/modules/mail/mail-detail.component.ts @@ -1,4 +1,4 @@ -import {ChangeDetectionStrategy, Component, signal} from '@angular/core'; +import {ChangeDetectionStrategy, Component, inject, signal} from '@angular/core'; import {MailService} from './mail.service'; import {AsyncPipe, TitleCasePipe} from '@angular/common'; import {IonicModule} from '@ionic/angular'; @@ -7,7 +7,7 @@ import {IonIconModule} from 'src/app/util/ion-icon/ion-icon.module'; import {UtilModule} from 'src/app/util/util.module'; import {FormatPurePipeModule, ParseIsoPipeModule} from 'ngx-date-fns'; import {ActivatedRoute, RouterModule} from '@angular/router'; -import {mergeMap} from 'rxjs'; +import {map, mergeMap} from 'rxjs'; import {DomSanitizer} from '@angular/platform-browser'; import {materialFade} from 'src/app/animation/material-motion'; import {TranslateModule} from '@ngx-translate/core'; @@ -35,16 +35,23 @@ import {ShadowHtmlDirective} from 'src/app/util/shadow-html.directive'; ], }) export class MailDetailComponent { - mail = this.activatedRoute.params.pipe(mergeMap(({id}) => this.mailService.getEmail(id))); + readonly activatedRoute = inject(ActivatedRoute); + + readonly mailService = inject(MailService); + + readonly sanitizer = inject(DomSanitizer); + + parameters = this.activatedRoute.paramMap.pipe( + map(parameters => ({ + mailbox: parameters.get('mailbox')!, + id: parameters.get('id')!, + })), + ); + + mail = this.parameters.pipe(mergeMap(({mailbox, id}) => this.mailService.getEmail(mailbox, id))); collapse = signal(false); - constructor( - readonly mailService: MailService, - readonly activatedRoute: ActivatedRoute, - readonly sanitizer: DomSanitizer, - ) {} - todo() { alert('TODO'); } diff --git a/frontend/app/src/app/modules/mail/mail-login.component.ts b/frontend/app/src/app/modules/mail/mail-login.component.ts new file mode 100644 index 00000000..44c9fe55 --- /dev/null +++ b/frontend/app/src/app/modules/mail/mail-login.component.ts @@ -0,0 +1,10 @@ +import {ChangeDetectionStrategy, Component} from '@angular/core'; + +@Component({ + selector: 'stapps-mail-login', + templateUrl: 'mail-login.html', + styleUrl: 'mail-login.scss', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, +}) +export class MailLoginComponent {} diff --git a/frontend/app/src/app/modules/mail/mail-login.html b/frontend/app/src/app/modules/mail/mail-login.html new file mode 100644 index 00000000..e69de29b diff --git a/frontend/app/src/app/modules/mail/mail-login.scss b/frontend/app/src/app/modules/mail/mail-login.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/app/src/app/modules/mail/mail-page.component.ts b/frontend/app/src/app/modules/mail/mail-page.component.ts index c4142b09..743b2c3e 100644 --- a/frontend/app/src/app/modules/mail/mail-page.component.ts +++ b/frontend/app/src/app/modules/mail/mail-page.component.ts @@ -1,4 +1,4 @@ -import {ChangeDetectionStrategy, Component} from '@angular/core'; +import {ChangeDetectionStrategy, Component, inject} from '@angular/core'; import {MailService} from './mail.service'; import {AsyncPipe} from '@angular/common'; import {IonicModule} from '@ionic/angular'; @@ -6,7 +6,8 @@ import {DataModule} from '../data/data.module'; import {IonIconModule} from 'src/app/util/ion-icon/ion-icon.module'; import {UtilModule} from 'src/app/util/util.module'; import {FormatPurePipeModule, IsTodayPipeModule} from 'ngx-date-fns'; -import {RouterModule} from '@angular/router'; +import {ActivatedRoute, RouterModule} from '@angular/router'; +import {combineLatest, map, mergeMap} from 'rxjs'; @Component({ selector: 'stapps-mail-page', @@ -26,7 +27,19 @@ import {RouterModule} from '@angular/router'; ], }) export class MailPageComponent { - mails = this.mailService.list(); + readonly activatedRoute = inject(ActivatedRoute); - constructor(readonly mailService: MailService) {} + readonly mailService = inject(MailService); + + mailbox = this.activatedRoute.paramMap.pipe(map(parameters => parameters.get('mailbox')!)); + + mails = this.mailbox.pipe( + mergeMap(mailbox => + this.mailService + .listEmails(mailbox) + .pipe( + mergeMap(emails => combineLatest(emails.map(email => this.mailService.getEmail(mailbox, email)))), + ), + ), + ); } diff --git a/frontend/app/src/app/modules/mail/mail-page.html b/frontend/app/src/app/modules/mail/mail-page.html index 943333b8..5339393e 100644 --- a/frontend/app/src/app/modules/mail/mail-page.html +++ b/frontend/app/src/app/modules/mail/mail-page.html @@ -10,25 +10,28 @@ @if (mails | async; as mails) { @for (mail of mails; track mail) { - +
- @if (mail.envelope.from[0]; as from) { + @if (mail.from; as from) {
- {{ (from.name || from.address)?.charAt(0)?.toUpperCase() }} + {{ (from.value.name || from.value.address)?.charAt(0)?.toUpperCase() }}
}
- @for (from of mail.envelope.from; track from) { -

{{ from.name || from.address }}

+

{{ mail.from.value.name || mail.from.value.address }}

+ @if (mail.subject) { +

{{ mail.subject.value }}

} -

{{ mail.envelope.subject }}

- @if (mail.envelope.date | dfnsIsToday) { - {{ mail.envelope.date | dfnsFormatPure: 'p' }} + @if (mail.date.value | dfnsIsToday) { + {{ mail.date.value | dfnsFormatPure: 'p' }} } @else { - {{ mail.envelope.date | dfnsFormatPure: 'P' }} + {{ mail.date.value | dfnsFormatPure: 'P' }} }
diff --git a/frontend/app/src/app/modules/mail/mail-storage.provider.ts b/frontend/app/src/app/modules/mail/mail-storage.provider.ts new file mode 100644 index 00000000..85ff6433 --- /dev/null +++ b/frontend/app/src/app/modules/mail/mail-storage.provider.ts @@ -0,0 +1,29 @@ +import {Injectable} from '@angular/core'; +import {StorageProvider} from '../storage/storage.provider'; +import {Email} from 'postal-mime'; + +@Injectable({providedIn: 'root'}) +export class MailStorageProvider { + constructor(readonly storageProvider: StorageProvider) {} + + private storageKey(...path: string[]): string { + return ['mail', ...path.map(encodeURIComponent)].join('/'); + } + + async get(mailbox: string, id: string): Promise { + try { + return await this.storageProvider.get(this.storageKey(mailbox, id)); + } catch (error) { + console.info('Mail not found in storage', error); + return undefined; + } + } + + async put(mailbox: string, id: string, email: Email): Promise { + await this.storageProvider.put(this.storageKey(mailbox, id), email); + } + + async delete(mailbox: string, id: string): Promise { + await this.storageProvider.delete(this.storageKey(mailbox, id)); + } +} diff --git a/frontend/app/src/app/modules/mail/mail.module.ts b/frontend/app/src/app/modules/mail/mail.module.ts index 849604a9..174136b1 100644 --- a/frontend/app/src/app/modules/mail/mail.module.ts +++ b/frontend/app/src/app/modules/mail/mail.module.ts @@ -12,16 +12,36 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {RouterModule} from '@angular/router'; -import {NgModule} from '@angular/core'; -import {MailPageComponent} from './mail-page.component'; -import {MailDetailComponent} from './mail-detail.component'; +import {RouterModule, UrlSegment, UrlSegmentGroup, UrlTree} from '@angular/router'; +import {NgModule, inject} from '@angular/core'; +import {MailService} from './mail.service'; @NgModule({ imports: [ RouterModule.forChild([ - {path: 'mail', component: MailPageComponent}, - {path: 'mail/:id', component: MailDetailComponent}, + { + path: 'mail', + loadComponent: () => import('./mail-login.component').then(m => m.MailLoginComponent), + canActivateChild: [ + () => { + if (inject(MailService).isLoggedIn()) { + return true; + } else { + return new UrlTree(new UrlSegmentGroup([new UrlSegment('/mail', {})], {})); + } + }, + ], + children: [ + { + path: ':mailbox', + loadComponent: () => import('./mail-page.component').then(m => m.MailPageComponent), + }, + { + path: ':mailbox/:id', + loadComponent: () => import('./mail-detail.component').then(m => m.MailDetailComponent), + }, + ], + }, ]), ], }) diff --git a/frontend/app/src/app/modules/mail/mail.service.ts b/frontend/app/src/app/modules/mail/mail.service.ts index 78905ac2..7d6a82d5 100644 --- a/frontend/app/src/app/modules/mail/mail.service.ts +++ b/frontend/app/src/app/modules/mail/mail.service.ts @@ -1,66 +1,86 @@ import {HttpClient} from '@angular/common/http'; import {Injectable} from '@angular/core'; -import {Observable, map, tap, mergeMap, of, merge, forkJoin, catchError, mergeScan} from 'rxjs'; +import {Observable, map, tap, mergeMap, of, forkJoin, catchError} from 'rxjs'; import PostalMime from 'postal-mime'; import {ContentInfo, SignedData} from 'pkijs'; -import { - RawEmail, - Email, - SignedValue, - RawEmailBodyStructure, - EmailAttachment, - EmailAttachmentRemote, - Signature, -} from './schema'; +import {RawEmail, Email, SignedValue, RawEmailBodyStructure, Signature} from './schema'; import {z} from 'zod'; -import {compareAsc} from 'date-fns'; + +function value(value: undefined): undefined; +function value(value: T): SignedValue; +function value(value: T | undefined): SignedValue | undefined { + return value === undefined ? undefined : {value}; +} @Injectable({providedIn: 'root'}) export class MailService { constructor(private httpClient: HttpClient) {} - private listRawEmails(): Observable { - return this.httpClient.get('http://localhost:4000/', {responseType: 'json'}).pipe( - map(it => { - return z.array(RawEmail).parse(it); - }), - map(it => it.sort((a, b) => compareAsc(b.envelope.date, a.envelope.date))), + private request(options: { + method?: string; + path?: string[]; + options?: Record; + responseType?: 'json' | 'arraybuffer'; + }): Observable { + return this.httpClient.request( + options.method ?? 'GET', + `http://localhost:4000/${options.path?.map(encodeURIComponent).join('/') ?? ''}${ + options.options + ? `?${Object.entries(options.options).map(item => item.map(encodeURIComponent).join('='))}` + : '' + }`, + { + responseType: options.responseType as 'json', + headers: {authorization: `Basic ${btoa('test:123')}`}, + }, + ); + } + + isLoggedIn() { + return false; + } + + listMailboxes(): Observable { + return this.request({}); + } + + private listRawEmails(mailbox: string, since?: Date): Observable { + return this.request({ + path: [mailbox], + options: since !== undefined ? {since: since.valueOf().toString()} : undefined, + }).pipe( + mergeMap(it => z.array(z.string()).parseAsync(it)), tap(console.log), ); } - private getRawEmail(id: string): Observable { - return this.httpClient - .get(`http://localhost:4000/${id}`, {responseType: 'json'}) - .pipe(mergeMap(it => RawEmail.parseAsync(it))); + private getRawEmail(mailbox: string, id: string): Observable { + return this.request({ + path: [mailbox, id], + options: {raw: 'true'}, + }).pipe(mergeMap(it => RawEmail.parseAsync(it))); } - private getFullAttachment(id: string | number, attachment: string): Observable { - return this.httpClient.get(`http://localhost:4000/${id}/raw/${attachment}`, { + private getPart(mailbox: string, id: string, part: string): Observable { + return this.request({path: [mailbox, id, part], responseType: 'arraybuffer'}); + } + + private getRawPart(mailbox: string, id: string, part: string): Observable { + return this.request({ + path: [mailbox, id, part], + options: {raw: 'true'}, responseType: 'arraybuffer', }); } - private getRawAttachment(id: string | number, attachment = ''): Observable { - return this.httpClient.get(`http://localhost:4000/${id}/attachment/${attachment}`, { - responseType: 'arraybuffer', - }); - } - - private resolveRawEmail(email: RawEmail): Observable { + private resolveRawEmail(mailbox: string, email: RawEmail): Observable { console.log(email); - function value(value: undefined): undefined; - function value(value: T): SignedValue; - function value(value: T | undefined): SignedValue | undefined { - return value === undefined ? undefined : {value}; - } - if ( email.bodyStructure.type === 'application/x-pkcs7-mime' || email.bodyStructure.type === 'application/pkcs7-mime' ) { - return this.getRawAttachment(email.seq, email.bodyStructure.part ?? 'TEXT').pipe( + return this.getRawPart(mailbox, email.seq, email.bodyStructure.part ?? 'TEXT').pipe( mergeMap(async buffer => { const info = ContentInfo.fromBER(buffer); const signedData = new SignedData({schema: info.content}); @@ -87,7 +107,9 @@ export class MailService { } const result: Email = { + id: email.seq, subject: signedEmail.subject ? signed(signedEmail.subject) : value(email.envelope.subject), + flags: new Set(), //TODO from: signed({ name: signedEmail.from.name || undefined, address: signedEmail.from.address || undefined, @@ -117,8 +139,8 @@ export class MailService { // https://datatracker.ietf.org/doc/html/rfc1847#section-2.1 if (item.type === 'multipart/signed' && item.parameters?.protocol === 'application/pkcs7-signature') { return forkJoin({ - data: this.getFullAttachment(email.seq, item.childNodes![0].part!), - signature: this.getRawAttachment(email.seq, item.childNodes![1].part!), + data: this.getPart(mailbox, email.seq, item.childNodes![0].part!), + signature: this.getRawPart(mailbox, email.seq, item.childNodes![1].part!), }).pipe( mergeMap(({data, signature}) => { const info = ContentInfo.fromBER(signature); @@ -136,23 +158,23 @@ export class MailService { map(children => children[0]), ); } else if (item.type === 'text/plain') { - return this.getRawAttachment(email.seq, item.part ?? 'TEXT').pipe( + return this.getRawPart(mailbox, email.seq, item.part ?? 'TEXT').pipe( map(text => { result.html = {value: new TextDecoder().decode(text), signature}; return result; }), ); } else if (item.type === 'text/html') { - return this.getRawAttachment(email.seq, item.part ?? 'TEXT').pipe( + return this.getRawPart(mailbox, email.seq, item.part ?? 'TEXT').pipe( map(html => { result.html = {value: new TextDecoder().decode(html), signature}; return result; }), ); - } else if (item.part !== undefined) { - result.attachments.push({value: {part: item.part, size: item.size ?? NaN, filename: ''}}); + } else if (item.part === undefined) { return of(result); } else { + result.attachments.push({value: {part: item.part, size: item.size ?? Number.NaN, filename: ''}}); return of(result); } }; @@ -171,87 +193,14 @@ export class MailService { ); } - getEmail(id: string): Observable { - return this.getRawEmail(id).pipe( - mergeMap(it => this.resolveRawEmail(it)), + getEmail(mailbox: string, id: string): Observable { + return this.getRawEmail(mailbox, id).pipe( + mergeMap(it => this.resolveRawEmail(mailbox, it)), tap(console.log), ); } - list() { - return this.listRawEmails().pipe( - tap(it => { - const email = it[7]; - console.log(email); - }), - ); + listEmails(mailbox: string): Observable { + return this.listRawEmails(mailbox); } - - /*getREmail(id: string): Observable { - return this.httpClient.get(`http://localhost:4000/${id}/attachment`, {responseType: 'arraybuffer'}).pipe( - map(buffer => new TextDecoder().decode(buffer)), - mergeMap(async content => { - const email = (await PostalMime.parse(content)) as SignedEmail; - email.signature = 'none'; - - const signedMail = email.attachments.find(attachment => - /application\/(x-)?pkcs7-mime/.test(attachment.mimeType), - ); - if (signedMail) { - const info = ContentInfo.fromBER(signedMail.content); - const signedData = new SignedData({schema: info.content}); - const valid = await signedData - .verify({ - signer: 0, - data: signedData.encapContentInfo.eContent?.valueBeforeDecodeView, - }) - .catch(() => false); - const content = new TextDecoder().decode( - signedData.encapContentInfo.eContent?.valueBeforeDecodeView, - ); - const signedEmail = (await PostalMime.parse(content)) as SignedEmail; - signedEmail.signature = valid ? 'valid' : 'invalid'; - return signedEmail; - } - - const signatureIndex = email.attachments.findIndex(attachment => - /application\/(x-)?pkcs7-signature/.test(attachment.mimeType), - ); - if (signatureIndex === -1) { - return email; - } - - email.signature = 'unsupported'; - - const signature = email.attachments.splice(signatureIndex, 1)[0]; - const info = ContentInfo.fromBER(signature.content); - const signedData = new SignedData({schema: info.content}); - - const boundary = email.headers - .find(header => header.key?.toLowerCase() === 'content-type') - ?.value?.match(/boundary=["']?([^"'\s;]+)["']?/)?.[1]; - if (boundary === undefined) { - console.warn('No boundary found'); - return email; - } - - const parts = content.split(`\r\n--${boundary}\r\n`); - if (parts.length !== 3) { - console.warn('Invalid parts', parts); - return email; - } - - const valid = await signedData - .verify({signer: 0, data: new TextEncoder().encode(parts[1])}) - .catch(error => { - console.error(error); - return false; - }); - email.signature = valid ? 'valid' : 'invalid'; - - return email; - }), - tap(console.log), - ); - }*/ } diff --git a/frontend/app/src/app/modules/mail/schema.ts b/frontend/app/src/app/modules/mail/schema.ts index 83c4d074..a5fd0a1b 100644 --- a/frontend/app/src/app/modules/mail/schema.ts +++ b/frontend/app/src/app/modules/mail/schema.ts @@ -82,6 +82,8 @@ export interface EmailAttachmentLocal extends EmailAttachmentBase { export type EmailAttachment = EmailAttachmentRemote | EmailAttachmentLocal; export interface Email { + id: string; + flags: Set; subject?: SignedValue; date: SignedValue; from: SignedValue; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 84a49f7e..f675cbf5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -330,6 +330,9 @@ importers: prettier: specifier: 3.1.1 version: 3.1.1 + swagger-jsdoc: + specifier: ^6.2.8 + version: 6.2.8(openapi-types@12.1.0) tsup: specifier: 6.7.0 version: 6.7.0(ts-node@10.9.2)(typescript@5.4.2) @@ -2720,6 +2723,38 @@ packages: tslib: 2.6.2 dev: false + /@apidevtools/json-schema-ref-parser@9.1.2: + resolution: {integrity: sha512-r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg==} + dependencies: + '@jsdevtools/ono': 7.1.3 + '@types/json-schema': 7.0.11 + call-me-maybe: 1.0.2 + js-yaml: 4.1.0 + dev: true + + /@apidevtools/openapi-schemas@2.1.0: + resolution: {integrity: sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==} + engines: {node: '>=10'} + dev: true + + /@apidevtools/swagger-methods@3.0.2: + resolution: {integrity: sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==} + dev: true + + /@apidevtools/swagger-parser@10.0.3(openapi-types@12.1.0): + resolution: {integrity: sha512-sNiLY51vZOmSPFZA5TF35KZ2HbgYklQnTSDnkghamzLb3EkNtcQnrBQEj5AOCxHpTtXpqMCRM1CrmV2rG6nw4g==} + peerDependencies: + openapi-types: '>=7' + dependencies: + '@apidevtools/json-schema-ref-parser': 9.1.2 + '@apidevtools/openapi-schemas': 2.1.0 + '@apidevtools/swagger-methods': 3.0.2 + '@jsdevtools/ono': 7.1.3 + call-me-maybe: 1.0.2 + openapi-types: 12.1.0 + z-schema: 5.0.5 + dev: true + /@awesome-cordova-plugins/calendar@6.6.0(@awesome-cordova-plugins/core@6.6.0)(rxjs@7.8.1): resolution: {integrity: sha512-NobAl4xvmq2zBeOnLI+pqRVpC66p7OpCwd3jzrQ26h8kqhr0o5wqaNcWN6WBjmgD+/AInVnLUzsziL2QpcmD7g==} peerDependencies: @@ -5640,7 +5675,7 @@ packages: object-assign: 4.1.1 open: 8.4.0 proxy-middleware: 0.15.0 - send: 0.18.0 + send: 0.19.0 serve-index: 1.9.1 transitivePeerDependencies: - supports-color @@ -7068,6 +7103,10 @@ packages: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 + /@jsdevtools/ono@7.1.3: + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + dev: true + /@leichtgewicht/ip-codec@2.0.5: resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} dev: true @@ -9997,6 +10036,10 @@ packages: set-function-length: 1.2.2 dev: true + /call-me-maybe@1.0.2: + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + dev: true + /callsite@1.0.0: resolution: {integrity: sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==} dev: true @@ -10443,6 +10486,11 @@ packages: engines: {node: '>= 6'} dev: true + /commander@6.2.0: + resolution: {integrity: sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==} + engines: {node: '>= 6'} + dev: true + /commander@6.2.1: resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} engines: {node: '>= 6'} @@ -13503,6 +13551,7 @@ packages: /glob@7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -15606,6 +15655,10 @@ packages: resolution: {integrity: sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ==} dev: true + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: true + /lodash.ismatch@4.4.0: resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} dev: true @@ -15621,6 +15674,10 @@ packages: /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + /lodash.mergewith@4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + dev: true + /lodash.once@4.1.1: resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} dev: true @@ -17354,7 +17411,6 @@ packages: /openapi-types@12.1.0: resolution: {integrity: sha512-XpeCy01X6L5EpP+6Hc3jWN7rMZJ+/k1lwki/kTmWzbVhdPie3jd5O2ZtedEx8Yp58icJ0osVldLMrTB/zslQXA==} - dev: false /opencollective-postinstall@2.0.3: resolution: {integrity: sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==} @@ -19162,6 +19218,27 @@ packages: transitivePeerDependencies: - supports-color + /send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: true + /serialize-javascript@6.0.0: resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} dependencies: @@ -20330,6 +20407,30 @@ packages: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} dev: true + /swagger-jsdoc@6.2.8(openapi-types@12.1.0): + resolution: {integrity: sha512-VPvil1+JRpmJ55CgAtn8DIcpBs0bL5L3q5bVQvF4tAW/k/9JYSj7dCpaYCAv5rufe0vcCbBRQXGvzpkWjvLklQ==} + engines: {node: '>=12.0.0'} + hasBin: true + dependencies: + commander: 6.2.0 + doctrine: 3.0.0 + glob: 7.1.6 + lodash.mergewith: 4.6.2 + swagger-parser: 10.0.3(openapi-types@12.1.0) + yaml: 2.0.0-1 + transitivePeerDependencies: + - openapi-types + dev: true + + /swagger-parser@10.0.3(openapi-types@12.1.0): + resolution: {integrity: sha512-nF7oMeL4KypldrQhac8RyHerJeGPD1p2xDh900GPvc+Nk7nWP6jX2FcC7WmkinMoAmoO774+AFXcWsW8gMWEIg==} + engines: {node: '>=10'} + dependencies: + '@apidevtools/swagger-parser': 10.0.3(openapi-types@12.1.0) + transitivePeerDependencies: + - openapi-types + dev: true + /swiper@8.4.5: resolution: {integrity: sha512-zveyEFBBv4q1sVkbJHnuH4xCtarKieavJ4SxP0QEHvdpPLJRuD7j/Xg38IVVLbp7Db6qrPsLUePvxohYx39Agw==} engines: {node: '>= 4.7.0'} @@ -21472,6 +21573,11 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true + /validator@13.12.0: + resolution: {integrity: sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==} + engines: {node: '>= 0.10'} + dev: true + /vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -22149,6 +22255,11 @@ packages: engines: {node: '>= 6'} dev: true + /yaml@2.0.0-1: + resolution: {integrity: sha512-W7h5dEhywMKenDJh2iX/LABkbFnBxasD27oyXWDS/feDsxiw0dD5ncXdYXgkvAsXIY2MpW/ZKkr9IU30DBdMNQ==} + engines: {node: '>= 6'} + dev: true + /yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} @@ -22245,6 +22356,18 @@ packages: engines: {node: '>=12.20'} dev: true + /z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.12.0 + optionalDependencies: + commander: 9.5.0 + dev: true + /zepto@1.2.0: resolution: {integrity: sha512-C1x6lfvBICFTQIMgbt3JqMOno3VOtkWat/xEakLTOurskYIHPmzJrzd1e8BnmtdDVJlGuk5D+FxyCA8MPmkIyA==} dev: true