From d57687b4e397c86c64a7fce8dba0597c99adae60 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 14 Sep 2026 15:31:32 +0000 Subject: [PATCH] Team-Statistik = Team-Struktur (Provisionsbaum, Umschalter) und Laufstand-Fix in user_sales_volumes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit K11 aus dem September-Protokoll (Tickets C1 und C2 im Entwicklungsplan), live seit 14.09.2026. C1 – Statistik rechnet wie die Provision - Standard-Baum ist der Provisionsbaum (Mitglieder wie TreeCalcBot: Mitgliedsebene, Abrechnungskonto, active_date; ausgefilterte Knoten kappen ihren Unterbaum, max. 21 Linien). Gesamte Downline bleibt per Umschalter erreichbar, Wahl in der Session. - Punkte-Definition: Provisionspunkte (TP + Shop), reine Karrierepunkte ausgewiesen statt eingerechnet, negative Monatssalden je User wie in der Provision auf 0 gekappt. - Abgeschlossene Monate nehmen die Mitglieder je Linie aus dem gespeicherten Provisionslauf (user_businesses), Snapshots je Baum-Definition (Payload-Version 3, Migration). - Struktur-Modal: Gesamt aus den Linien-Punkten mit Dezimalen statt der int-Spalte total_pp. - Messlauf statistics:compare-trees (Downline / Provisionsbaum / Struktur je VIP, Laufstand-Drift). C2 – Laufstand-Race (Provision zu niedrig bei zeitgleichen Buchungen) - Neuberechnung liest die Zeilen des Beraters sperrend (FOR UPDATE), Index (user_id, year, month). - Paid-Pfad der Payone- und Stripe-Webhooks als DB::transaction mit 3 Anlaeufen; Deadlock und Lock-Timeout aus der Rechnungserstellung werden nicht mehr geschluckt. - Sicherheitsnetz sales:repair-running-totals taeglich 02:45 vor dem Provisionslauf; abgeschlossene Monate werden nicht angefasst (Entscheid 14.09.: keine Nachzahlung fuer 06/08). Doku: Entwicklungsplan zum Protokoll, Deploy-Notiz 14.09. (inkl. Migrations-Stolperstein: Migrationen tragen Werte als Literale, nicht als Konstanten aus dem Anwendungscode). Co-Authored-By: Claude Fable 5.1 --- .../BackofficeStoreStatisticsSnapshots.php | 31 +- .../Commands/SalesRepairRunningTotals.php | 110 +++++ .../Commands/StatisticsCompareTrees.php | 282 ++++++++++++ app/Console/Kernel.php | 5 + .../User/BackofficeStatisticsController.php | 35 +- app/Models/BackofficeStatisticsSnapshot.php | 1 + app/Services/Abo/PaylineForecastService.php | 45 +- .../Backoffice/BackofficeDashboardService.php | 341 +++++++++++++- .../Backoffice/BackofficeDrilldownService.php | 31 +- app/Services/Backoffice/SalesVolumePoints.php | 77 ++++ .../BusinessPlan/SalesPointsVolume.php | 25 +- .../SalesVolumeRunningTotalService.php | 141 ++++++ app/Services/Database/ConcurrencyError.php | 23 + app/Services/Payment.php | 9 + .../Payment/Payone/PayoneWebhookHandler.php | 36 +- .../Payment/Stripe/StripeWebhookHandler.php | 28 +- ..._backoffice_statistics_snapshots_table.php | 60 +++ ...onth_index_to_user_sales_volumes_table.php | 28 ++ dev/2026-07-22/README.md | 4 + dev/2026-07-22/deploy-2026-09-14.md | 101 ++++ ...026 09 Protokoll September-komprimiert.pdf | Bin 0 -> 547896 bytes dev/_tickets/2026-09-14.md | 16 + ...twicklungsplan-protokoll-september-2026.md | 435 ++++++++++++++++++ .../_user_detail_in.blade.php | 9 +- .../backoffice/statistics/details.blade.php | 18 +- .../backoffice/statistics/index.blade.php | 75 ++- .../BackofficeStatisticsAccessTest.php | 15 +- .../BackofficeStatisticsDrilldownTest.php | 4 +- .../Feature/BackofficeStatisticsListsTest.php | 5 +- tests/Feature/SalesVolumeRunningTotalTest.php | 186 ++++++++ .../Feature/StatisticsCommissionTreeTest.php | 248 ++++++++++ tests/Feature/StatisticsConsistencyTest.php | 13 +- .../BackofficeDashboardServiceTest.php | 23 + 33 files changed, 2321 insertions(+), 139 deletions(-) create mode 100644 app/Console/Commands/SalesRepairRunningTotals.php create mode 100644 app/Console/Commands/StatisticsCompareTrees.php create mode 100644 app/Services/BusinessPlan/SalesVolumeRunningTotalService.php create mode 100644 app/Services/Database/ConcurrencyError.php create mode 100644 database/migrations/2026_09_14_140000_add_tree_to_backoffice_statistics_snapshots_table.php create mode 100644 database/migrations/2026_09_14_160000_add_user_month_index_to_user_sales_volumes_table.php create mode 100644 dev/2026-07-22/deploy-2026-09-14.md create mode 100644 dev/_tickets/2026 09 Protokoll September-komprimiert.pdf create mode 100644 dev/_tickets/2026-09-14.md create mode 100644 dev/_tickets/entwicklungsplan-protokoll-september-2026.md create mode 100644 tests/Feature/SalesVolumeRunningTotalTest.php create mode 100644 tests/Feature/StatisticsCommissionTreeTest.php diff --git a/app/Console/Commands/BackofficeStoreStatisticsSnapshots.php b/app/Console/Commands/BackofficeStoreStatisticsSnapshots.php index 713d8181..3f951582 100644 --- a/app/Console/Commands/BackofficeStoreStatisticsSnapshots.php +++ b/app/Console/Commands/BackofficeStoreStatisticsSnapshots.php @@ -19,6 +19,7 @@ class BackofficeStoreStatisticsSnapshots extends Command {--user= : Nur einen bestimmten User berechnen (user_id)} {--month= : Nur einen bestimmten Monat berechnen} {--year= : Nur ein bestimmtes Jahr berechnen} + {--tree= : Nur eine Baum-Definition (commission|downline), Standard: beide} {--force : Bereits vorhandene Snapshots überschreiben}'; /** @@ -48,6 +49,9 @@ class BackofficeStoreStatisticsSnapshots extends Command { $months = $this->monthsToStore(); $force = (bool) $this->option('force'); + $trees = $this->option('tree') + ? [BackofficeDashboardService::normalizeTree((string) $this->option('tree'))] + : BackofficeDashboardService::trees(); if ($months === []) { $this->info('Keine abgeschlossenen Monate zum Speichern.'); @@ -65,7 +69,7 @@ class BackofficeStoreStatisticsSnapshots extends Command } $users = $userQuery->get(); - $this->info('Berechne Backoffice-Snapshots fuer '.$users->count().' User und '.count($months).' Monate...'); + $this->info('Berechne Backoffice-Snapshots fuer '.$users->count().' User, '.count($months).' Monate und '.count($trees).' Baum-Definition(en)...'); $bar = $this->output->createProgressBar($users->count()); $bar->start(); @@ -75,20 +79,23 @@ class BackofficeStoreStatisticsSnapshots extends Command foreach ($users as $user) { foreach ($months as [$year, $month]) { - $exists = BackofficeStatisticsSnapshot::query() - ->where('user_id', $user->id) - ->where('year', $year) - ->where('month', $month) - ->exists(); + foreach ($trees as $tree) { + $exists = BackofficeStatisticsSnapshot::query() + ->where('user_id', $user->id) + ->where('year', $year) + ->where('month', $month) + ->where('tree', $tree) + ->exists(); - if ($exists && ! $force) { - $skipped++; + if ($exists && ! $force) { + $skipped++; - continue; + continue; + } + + $dashboardService->storeSnapshot($user, $month, $year, $tree); + $stored++; } - - $dashboardService->storeSnapshot($user, $month, $year); - $stored++; } $bar->advance(); diff --git a/app/Console/Commands/SalesRepairRunningTotals.php b/app/Console/Commands/SalesRepairRunningTotals.php new file mode 100644 index 00000000..8228342f --- /dev/null +++ b/app/Console/Commands/SalesRepairRunningTotals.php @@ -0,0 +1,110 @@ +option('dry-run'); + $months = $this->months($service); + + if ($months === null) { + return self::FAILURE; + } + + foreach ($months as ['month' => $month, 'year' => $year]) { + $drift = $dryRun + ? $service->detectDrift($month, $year) + : $service->repair($month, $year); + + $label = sprintf('%02d/%d', $month, $year); + + if ($drift === []) { + $this->info("Laufstaende {$label}: keine Abweichung."); + + continue; + } + + $users = User::query()->whereIn('id', array_keys($drift))->get()->keyBy('id'); + + $this->warn(sprintf( + 'Laufstaende %s: %d User mit Drift%s', + $label, + count($drift), + $dryRun ? ' (DRY-RUN, nichts geschrieben)' : ', neu berechnet' + )); + $this->table( + ['User', 'E-Mail', 'Zeilensumme', 'Laufstand vorher', 'Diff'], + collect($drift)->map(fn (array $values, int $userId) => [ + $userId, + $users->get($userId)?->email ?? '-', + number_format($values['rows'], 2, ',', '.'), + number_format($values['running'], 2, ',', '.'), + number_format($values['running'] - $values['rows'], 2, ',', '.'), + ])->values()->all() + ); + + \Log::channel('cron')->warning('sales:repair-running-totals: Laufstand-Drift', [ + 'month' => $month, + 'year' => $year, + 'dry_run' => $dryRun, + 'users' => $drift, + ]); + } + + return self::SUCCESS; + } + + /** + * @return array|null + */ + private function months(SalesVolumeRunningTotalService $service): ?array + { + if (! $this->argument('month')) { + return $service->monthsToGuard(); + } + + $month = (int) $this->argument('month'); + $year = (int) ($this->argument('year') ?: now()->year); + + if ($month < 1 || $month > 12 || $year < 2020) { + $this->error('Ungueltiger Monat/Jahr.'); + + return null; + } + + if (SalesVolumeRunningTotalService::isMonthClosed($month, $year) && ! $this->option('dry-run') && ! $this->option('force')) { + $this->error(sprintf( + 'Monat %02d/%d ist abgerechnet — die Laufstaende sind so in die Provision eingegangen. Neu rechnen nur mit --force (aendert keine Gutschriften, nur die Datenbasis).', + $month, + $year + )); + + return null; + } + + return [['month' => $month, 'year' => $year]]; + } +} diff --git a/app/Console/Commands/StatisticsCompareTrees.php b/app/Console/Commands/StatisticsCompareTrees.php new file mode 100644 index 00000000..37b4f581 --- /dev/null +++ b/app/Console/Commands/StatisticsCompareTrees.php @@ -0,0 +1,282 @@ +argument('month') ?: now()->month); + $year = (int) ($this->argument('year') ?: now()->year); + + if ($month < 1 || $month > 12 || $year < 2020) { + $this->error('Ungueltiger Monat/Jahr.'); + + return self::FAILURE; + } + + $users = $this->vipUsers(); + + if ($users->isEmpty()) { + $this->warn('Keine VIP-User gefunden.'); + + return self::SUCCESS; + } + + $storedStructure = TreeCalcBotOptimized::isFromStored($month, $year); + $this->info(sprintf( + 'Vergleich %02d/%d fuer %d VIP(s) — Team-Struktur: %s', + $month, + $year, + $users->count(), + $this->option('live-structure') + ? 'live gerechnet' + : ($storedStructure ? 'gespeicherter Nachtlauf vom '.$storedStructure->updated_at?->format('d.m.Y H:i') : 'kein gespeicherter Lauf, live gerechnet') + )); + $this->newLine(); + + $summaryRows = []; + $lineRows = []; + $commissionUserIds = []; + + foreach ($users as $user) { + $dashboardService->flushLineBucketsMemo((int) $user->id); + + $downline = $dashboardService->liveOverview($user, $month, $year, BackofficeDashboardService::TREE_DOWNLINE); + $commission = $dashboardService->liveOverview($user, $month, $year, BackofficeDashboardService::TREE_COMMISSION); + $structure = $this->structurePoints($user, $month, $year); + + $commissionUserIds = array_merge($commissionUserIds, $commission['totals']['user_ids'] ?? []); + + $commissionTotal = (float) $commission['totals']['total_points']; + $summaryRows[] = [ + $user->id, + $this->userLabel($user), + (int) $downline['totals']['consultants'], + (int) $commission['totals']['consultants'], + count($downline['totals']['user_ids'] ?? []) - count($commission['totals']['user_ids'] ?? []), + $this->fmt((float) $downline['totals']['total_points']), + $this->fmt($commissionTotal), + $structure === null ? 'n/a' : $this->fmt($structure['total']), + $structure === null ? 'n/a' : $this->fmt($commissionTotal - $structure['total']), + $this->fmt((float) ($commission['non_payline_points'] ?? 0)), + $this->fmt((float) ($commission['storno_floor_points'] ?? 0)), + ]; + + if ($this->option('lines')) { + $maxLine = max( + array_keys($downline['lines']) ?: [0], + array_keys($commission['lines']) ?: [0], + $structure === null ? [0] : (array_keys($structure['lines']) ?: [0]) + ); + + for ($line = 1; $line <= $maxLine; $line++) { + $commissionLine = (float) ($commission['lines'][$line]['total_points'] ?? 0); + $structureLine = $structure === null ? null : (float) ($structure['lines'][$line] ?? 0); + + $lineRows[] = [ + $user->id, + $line, + (int) ($downline['lines'][$line]['consultants'] ?? 0), + (int) ($commission['lines'][$line]['consultants'] ?? 0), + $this->fmt((float) ($downline['lines'][$line]['total_points'] ?? 0)), + $this->fmt($commissionLine), + $structureLine === null ? 'n/a' : $this->fmt($structureLine), + $structureLine === null ? 'n/a' : $this->fmt($commissionLine - $structureLine), + ]; + } + } + } + + $this->table( + ['ID', 'VIP', 'Berater DL', 'Berater PB', 'nicht im PB', 'Punkte DL', 'Punkte PB', 'Struktur', 'Diff PB-Struktur', 'nur KP (nicht enth.)', 'Storno-Saldo (nicht abgez.)'], + $summaryRows + ); + $this->line('DL = gesamte Downline (fruehere Statistik-Sicht) · PB = Provisionsbaum (neue Standard-Sicht, wie Team-Struktur)'); + + if ($lineRows !== []) { + $this->newLine(); + $this->table(['ID', 'Linie', 'Berater DL', 'Berater PB', 'Punkte DL', 'Punkte PB', 'Struktur', 'Diff'], $lineRows); + } + + $this->newLine(); + $this->reportRunningTotalDrift(array_values(array_unique(array_map('intval', $commissionUserIds))), $month, $year); + + return self::SUCCESS; + } + + /** + * @return Collection + */ + private function vipUsers() + { + $query = User::query() + ->with('account') + ->whereNull('deleted_at') + ->orderBy('id'); + + $userIds = array_filter(array_map('intval', (array) $this->option('user'))); + + if ($userIds !== []) { + return $query->whereIn('id', $userIds)->get(); + } + + return $query->where('admin', '>=', 1)->where('admin', '<', 4)->get(); + } + + /** + * Linien-Punkte der Team-Struktur, so wie das Berater-Detail (Modal „Linie / + * Punkte / Provision" auf der Struktur-Seite, {@see ModalController}) + * sie zeigt: gespeicherter Nachtlauf (`user_businesses`), sofern vorhanden; + * sonst bzw. mit --live-structure live gerechnet. + * + * @return array{lines: array, total: float}|null + */ + private function structurePoints(User $user, int $month, int $year): ?array + { + try { + $live = (bool) $this->option('live-structure'); + $bot = new TreeCalcBotOptimized($month, $year, 'member', $live); + $bot->initBusinesslUserDetail($user, $live); + + $lines = []; + $total = 0.0; + + for ($line = 1; $line <= BackofficeDashboardService::COMMISSION_TREE_MAX_LINES; $line++) { + $points = (float) $bot->getKeybyLine($line, 'points'); + + if ($points === 0.0 && ! $this->structureHasLine($bot, $line)) { + continue; + } + + $lines[$line] = $points; + $total += $points; + } + + return ['lines' => $lines, 'total' => $total]; + } catch (\Throwable $e) { + $this->warn("Team-Struktur fuer User {$user->id} nicht berechenbar: ".$e->getMessage()); + + return null; + } + } + + private function structureHasLine(TreeCalcBotOptimized $bot, int $line): bool + { + $businessUser = $bot->__get('business_user'); + $lines = $businessUser?->business_lines; + + if ($lines === null) { + return false; + } + + return isset($lines[$line]); + } + + /** + * Laufstand-Drift der Provisionsbaum-Mitglieder ({@see SalesVolumeRunningTotalService}). + * + * @param int[] $userIds + */ + private function reportRunningTotalDrift(array $userIds, int $month, int $year): void + { + if ($userIds === []) { + return; + } + + $service = app(SalesVolumeRunningTotalService::class); + $drift = $service->detectDrift($month, $year, $userIds); + + if ($drift === []) { + $this->info('Laufstaende: keine Abweichung zwischen Zeilensumme und kumulierten Spalten.'); + + return; + } + + $users = User::query()->whereIn('id', array_keys($drift))->get()->keyBy('id'); + + $this->warn(count($drift).' User mit Laufstand-Drift (Struktur/Provision rechnet mit dem zu niedrigen bzw. zu hohen Laufstand):'); + $this->table( + ['User', 'E-Mail', 'Zeilensumme (Statistik)', 'Laufstand (Struktur)', 'Diff'], + collect($drift)->map(fn (array $values, int $userId) => [ + $userId, + $users->get($userId)?->email ?? '-', + $this->fmt($values['rows']), + $this->fmt($values['running']), + $this->fmt($values['running'] - $values['rows']), + ])->values()->all() + ); + + $isClosedMonth = SalesVolumeRunningTotalService::isMonthClosed($month, $year); + + if (! $this->option('repair-running-totals')) { + $this->line('Reparatur der Laufstaende: --repair-running-totals (taeglich 02:45 automatisch: sales:repair-running-totals)'); + + if ($isClosedMonth) { + $this->warn('Abgeschlossener Monat: der Provisionslauf hat mit diesem Laufstand abgerechnet. Die Reparatur aendert nur die Datenbasis, keine Gutschriften — business:store-optimized NICHT erneut ausfuehren (doppelte Gutschriften).'); + } + + return; + } + + $service->repair($month, $year, array_keys($drift)); + + $this->info('Laufstaende von '.count($drift).' User(n) neu berechnet.'); + + if ($isClosedMonth) { + $this->warn('Abgeschlossener Monat: gespeicherte Struktur und Gutschriften bleiben unveraendert.'); + } else { + $this->line('Laufender Monat: die Team-Struktur rechnet live und zeigt den korrigierten Stand sofort (php artisan cache:clear fuer die Provisions-Kachel).'); + } + } + + private function userLabel(User $user): string + { + $name = trim(($user->account?->first_name ?? '').' '.($user->account?->last_name ?? '')); + + return $name !== '' ? $name : (string) $user->email; + } + + private function fmt(float $value): string + { + return number_format($value, 2, ',', '.'); + } +} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index db9b62d0..cbcb78f2 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -84,6 +84,11 @@ class Kernel extends ConsoleKernel // Monats nachziehen (Callback-Aussetzer), vor business:store-optimized um 03:00 $schedule->command('sales:repair-sponsor-vp')->dailyAt('02:30'); + // Laufstand-Drift (Ticket C2): letzte Zeile in user_sales_volumes gegen die + // Zeilensumme pruefen und abweichende User neu rechnen — vor dem + // Provisionslauf um 03:00, damit er nie mit einem verschobenen Laufstand rechnet + $schedule->command('sales:repair-running-totals')->dailyAt('02:45'); + // Incentive: Punkteberechnung täglich nach business:store-optimized $schedule->command('incentive:calculate')->dailyAt('05:00'); diff --git a/app/Http/Controllers/User/BackofficeStatisticsController.php b/app/Http/Controllers/User/BackofficeStatisticsController.php index c3b63d5d..65811ef4 100644 --- a/app/Http/Controllers/User/BackofficeStatisticsController.php +++ b/app/Http/Controllers/User/BackofficeStatisticsController.php @@ -18,6 +18,8 @@ class BackofficeStatisticsController extends Controller private const SESSION_YEAR_KEY = 'backoffice_statistics_year'; + private const SESSION_TREE_KEY = 'backoffice_statistics_tree'; + public function __construct( private BackofficeDashboardService $dashboardService, private BackofficeDrilldownService $drilldownService, @@ -33,8 +35,9 @@ class BackofficeStatisticsController extends Controller } [$selectedMonth, $selectedYear] = $this->selectedPeriod($request); + $selectedTree = $this->selectedTree($request); $startTime = microtime(true); - $statistics = $this->dashboardService->overview($request->user(), $selectedMonth, $selectedYear); + $statistics = $this->dashboardService->overview($request->user(), $selectedMonth, $selectedYear, $selectedTree); $performance = [ 'duration_ms' => round((microtime(true) - $startTime) * 1000, 2), 'source' => $statistics['_meta']['source'] ?? 'live', @@ -45,6 +48,8 @@ class BackofficeStatisticsController extends Controller return view('user.backoffice.statistics.index', [ 'selectedMonth' => $selectedMonth, 'selectedYear' => $selectedYear, + 'selectedTree' => $selectedTree, + 'treeLabels' => BackofficeDashboardService::treeLabels(), 'filterMonths' => HTMLHelper::getTransMonths(), 'filterYears' => HTMLHelper::getYearRange(2022), 'statistics' => $statistics, @@ -77,6 +82,7 @@ class BackofficeStatisticsController extends Controller } [$selectedMonth, $selectedYear] = $this->selectedPeriod($request); + $selectedTree = $this->selectedTree($request); $line = (int) $request->get('line', 1); $metric = (string) $request->get('metric', 'consultants'); $onlyNew = $request->boolean('only_new'); @@ -84,7 +90,8 @@ class BackofficeStatisticsController extends Controller return view('user.backoffice.statistics.details', [ 'selectedMonth' => $selectedMonth, 'selectedYear' => $selectedYear, - 'details' => $this->drilldownService->details($request->user(), $line, $metric, $selectedMonth, $selectedYear, $onlyNew), + 'selectedTree' => $selectedTree, + 'details' => $this->drilldownService->details($request->user(), $line, $metric, $selectedMonth, $selectedYear, $onlyNew, $selectedTree), ]); } @@ -95,10 +102,11 @@ class BackofficeStatisticsController extends Controller } [$selectedMonth, $selectedYear] = $this->selectedPeriod($request); + $selectedTree = $this->selectedTree($request); $line = (int) $request->get('line', 1); $metric = (string) $request->get('metric', 'consultants'); $onlyNew = $request->boolean('only_new'); - $details = $this->drilldownService->details($request->user(), $line, $metric, $selectedMonth, $selectedYear, $onlyNew); + $details = $this->drilldownService->details($request->user(), $line, $metric, $selectedMonth, $selectedYear, $onlyNew, $selectedTree); $filename = sprintf( 'backoffice-statistik-%s%s-linie-%s-%02d-%d.csv', $metric, @@ -134,8 +142,9 @@ class BackofficeStatisticsController extends Controller } [$selectedMonth, $selectedYear] = $this->selectedPeriod($request); - $statistics = $this->dashboardService->overview($request->user(), $selectedMonth, $selectedYear); - $filename = sprintf('backoffice-statistik-uebersicht-%02d-%d.csv', $selectedMonth, $selectedYear); + $selectedTree = $this->selectedTree($request); + $statistics = $this->dashboardService->overview($request->user(), $selectedMonth, $selectedYear, $selectedTree); + $filename = sprintf('backoffice-statistik-uebersicht-%s-%02d-%d.csv', $selectedTree, $selectedMonth, $selectedYear); return response()->streamDownload(function () use ($statistics): void { $output = fopen('php://output', 'w'); @@ -172,6 +181,22 @@ class BackofficeStatisticsController extends Controller return [$selectedMonth, $selectedYear]; } + /** + * Baum-Definition (Provisionsbaum / gesamte Downline) — wie Monat und Jahr in + * der Session gemerkt, damit Detaillisten und Exporte dieselbe Sicht nutzen wie + * die Uebersicht, aus der sie aufgerufen wurden. + */ + private function selectedTree(Request $request): string + { + $tree = BackofficeDashboardService::normalizeTree( + (string) $request->get('tree', session(self::SESSION_TREE_KEY, BackofficeDashboardService::TREE_COMMISSION)) + ); + + session([self::SESSION_TREE_KEY => $tree]); + + return $tree; + } + /** * @return string[] */ diff --git a/app/Models/BackofficeStatisticsSnapshot.php b/app/Models/BackofficeStatisticsSnapshot.php index d4df1879..a0ef4c28 100644 --- a/app/Models/BackofficeStatisticsSnapshot.php +++ b/app/Models/BackofficeStatisticsSnapshot.php @@ -12,6 +12,7 @@ class BackofficeStatisticsSnapshot extends Model 'user_id', 'year', 'month', + 'tree', 'payload', 'calculated_at', ]; diff --git a/app/Services/Abo/PaylineForecastService.php b/app/Services/Abo/PaylineForecastService.php index eed209bd..5ed42d90 100644 --- a/app/Services/Abo/PaylineForecastService.php +++ b/app/Services/Abo/PaylineForecastService.php @@ -440,58 +440,27 @@ class PaylineForecastService * * Das ist entscheidend für die Vergleichbarkeit: Die Level-Kachel zeigt die * payline_points aus dem TreeCalcBot, dieser Forecast rechnet die Ebenen aus - * {@see BackofficeDashboardService::lineBuckets()} nach. lineBuckets() nimmt - * aber JEDEN nicht gelöschten Downline-User, der TreeCalcBot filtert - * ({@see BusinessUserItemOptimized::readParentsBusinessUsers()}) und kappt - * den Unterbaum unter jedem ausgefilterten Knoten. Ohne denselben Filter - * stünden auf einer Seite zwei verschiedene "fehlen noch X Punkte". + * dem Provisionsbaum der Statistik nach + * ({@see BackofficeDashboardService::commissionLineBuckets()} — dieselbe + * Filter- und Kapp-Regel wie {@see BusinessUserItemOptimized::readParentsBusinessUsers()}). + * Ohne denselben Filter stünden auf einer Seite zwei verschiedene + * "fehlen noch X Punkte". * * @return array */ private function lineByUserId(User $user, int $month, int $year): array { - $endOfMonth = Carbon::create($year, $month, 1)->endOfMonth(); - $map = []; - $pruned = []; - // lineBuckets() liefert die Ebenen aufsteigend (BFS) — der Sponsor ist - // damit immer schon entschieden, wenn sein Teampartner drankommt. - foreach ($this->dashboardService->lineBuckets($user->id) as $line => $users) { + foreach ($this->dashboardService->commissionLineBuckets($user->id, $month, $year) as $line => $users) { foreach ($users as $member) { - $memberId = (int) $member->id; - - if (isset($pruned[(int) $member->m_sponsor]) || ! $this->countsInCommissionTree($member, $endOfMonth)) { - $pruned[$memberId] = true; - - continue; - } - - $map[$memberId] = (int) $line; + $map[(int) $member->id] = (int) $line; } } return $map; } - /** - * Dieselben Bedingungen, mit denen der TreeCalcBot seine Struktur lädt: - * kein System-/Adminkonto, Mitgliedsebene und Abrechnungskonto gesetzt, bis - * zum Monatsende aktiv geworden. - */ - private function countsInCommissionTree(User $member, Carbon $endOfMonth): bool - { - if ((int) $member->id === 1 || $member->admin === null || (int) $member->admin >= 4) { - return false; - } - - if ($member->m_level === null || $member->payment_account === null || $member->active_date === null) { - return false; - } - - return Carbon::parse($member->active_date)->lte($endOfMonth); - } - /** * Offene Abo-Ausführungen des Monats, aufgeteilt in persönliches Volumen * (eigene Abos + eigene Kundenabos) und Team-Punkte je Ebene. diff --git a/app/Services/Backoffice/BackofficeDashboardService.php b/app/Services/Backoffice/BackofficeDashboardService.php index 545b91b7..51c081be 100644 --- a/app/Services/Backoffice/BackofficeDashboardService.php +++ b/app/Services/Backoffice/BackofficeDashboardService.php @@ -5,9 +5,12 @@ namespace App\Services\Backoffice; use App\Models\BackofficeStatisticsSnapshot; use App\Models\ShoppingOrderItem; use App\Models\UserAbo; +use App\Models\UserBusiness; +use App\Models\UserBusinessStructure; use App\Models\UserLevel; use App\Models\UserSalesVolume; use App\Providers\AppServiceProvider; +use App\Services\BusinessPlan\BusinessUserItemOptimized; use App\User; use Carbon\Carbon; use Illuminate\Database\Eloquent\Builder; @@ -47,8 +50,33 @@ class BackofficeDashboardService * 2 — Linienzeilen tragen zusaetzlich `abo_ids`, damit die Detaillisten eines * abgeschlossenen Monats aus demselben eingefrorenen Stand kommen wie die * Zahl darueber. + * 3 — Payload traegt `tree` (Baum-Definition) und `storno_floor_points`; + * `total_points` sind seitdem die Provisionspunkte (TP + Shop, Knotenregel + * des Provisionsbaums) statt der Zeilensumme inkl. Nur-KP-Buchungen. */ - public const PAYLOAD_VERSION = 2; + public const PAYLOAD_VERSION = 3; + + /** + * Baum-Definitionen der Statistik (Kundenentscheid 2026-09-14, K11/F4): + * + * - `commission` (Standard): der Provisionsbaum — dieselben Mitglieder, mit denen + * der TreeCalcBot die Team-Struktur und die Provision rechnet. Damit zeigen + * Team-Statistik und Team-Struktur dieselben Punkte. + * - `downline`: die komplette Downline (jeder nicht geloeschte Teampartner, + * auch ohne Mitgliedsebene/Abrechnungskonto, ohne Kappen des Unterbaums) — + * die fruehere Standardsicht, per Umschalter weiterhin verfuegbar, damit + * z. B. noch nicht freigeschaltete Partner nachverfolgbar bleiben. + */ + public const TREE_COMMISSION = 'commission'; + + public const TREE_DOWNLINE = 'downline'; + + /** + * Linien-Obergrenze des Provisionsbaums: {@see BusinessUserItemOptimized::readParentsBusinessUsers()} + * bricht bei Tiefe > 20 ab; der Knoten auf Tiefe 20 laedt seine Kinder also noch — + * das ist Linie 21. + */ + public const COMMISSION_TREE_MAX_LINES = 21; private const MAX_DEPTH_SAFETY_LIMIT = 100; @@ -65,6 +93,42 @@ class BackofficeDashboardService */ private array $lineBucketsMemo = []; + /** + * Memo des Provisionsbaums je Root und Monat (das Monatsende entscheidet ueber + * `active_date`), abgeleitet aus {@see $lineBucketsMemo}. + * + * @var array>> + */ + private array $commissionLineBucketsMemo = []; + + /** + * @return string[] + */ + public static function trees(): array + { + return [self::TREE_COMMISSION, self::TREE_DOWNLINE]; + } + + /** + * @return array + */ + public static function treeLabels(): array + { + return [ + self::TREE_COMMISSION => 'Provisionsbaum (wie Team-Struktur)', + self::TREE_DOWNLINE => 'Gesamte Downline (inkl. nicht provisionsberechtigte Berater)', + ]; + } + + /** + * Unbekannte oder leere Werte (alte Links, manipulierte Parameter) fallen auf + * den Standard zurueck. + */ + public static function normalizeTree(?string $tree): string + { + return in_array($tree, self::trees(), true) ? $tree : self::TREE_COMMISSION; + } + /** * @return array */ @@ -88,13 +152,16 @@ class BackofficeDashboardService /** * @return array{month: int, year: int, metric_labels: array, lines: array>, totals: array} */ - public function overview(User $user, int $month, int $year): array + public function overview(User $user, int $month, int $year, string $tree = self::TREE_COMMISSION): array { + $tree = self::normalizeTree($tree); + if ($this->isClosedMonth($month, $year)) { $snapshot = BackofficeStatisticsSnapshot::query() ->where('user_id', $user->id) ->where('month', $month) ->where('year', $year) + ->where('tree', $tree) ->first(); if ($snapshot) { @@ -105,12 +172,25 @@ class BackofficeDashboardService return $this->withMeta( $snapshot->payload, 'snapshot', + $tree, $snapshot->calculated_at?->format('d.m.Y H:i') ); } } - return $this->withMeta($this->buildOverview($user, $month, $year), 'live'); + return $this->withMeta($this->buildOverview($user, $month, $year, $tree), 'live', $tree); + } + + /** + * Der Monatsstand immer frisch aus den heutigen Daten — auch fuer abgeschlossene + * Monate (Mess-/Vergleichslaeufe, Snapshot-Aufbau). Die Seite selbst geht ueber + * {@see overview()}, damit eingefrorene Monate eingefroren bleiben. + * + * @return array + */ + public function liveOverview(User $user, int $month, int $year, string $tree = self::TREE_COMMISSION): array + { + return $this->withMeta($this->buildOverview($user, $month, $year, self::normalizeTree($tree)), 'live', $tree); } /** @@ -121,26 +201,36 @@ class BackofficeDashboardService { if ($rootUserId === null) { $this->lineBucketsMemo = []; + $this->commissionLineBucketsMemo = []; return; } unset($this->lineBucketsMemo[$rootUserId]); + + foreach (array_keys($this->commissionLineBucketsMemo) as $key) { + if (str_starts_with($key, $rootUserId.':')) { + unset($this->commissionLineBucketsMemo[$key]); + } + } } - public function storeSnapshot(User $user, int $month, int $year): BackofficeStatisticsSnapshot + public function storeSnapshot(User $user, int $month, int $year, string $tree = self::TREE_COMMISSION): BackofficeStatisticsSnapshot { + $tree = self::normalizeTree($tree); + // Frisch traversieren: der Snapshot-Cron läuft lange und über viele User — // ein Memo aus früheren Aufrufen desselben Roots wäre potenziell veraltet. $this->flushLineBucketsMemo((int) $user->id); - $payload = $this->buildOverview($user, $month, $year); + $payload = $this->buildOverview($user, $month, $year, $tree); return BackofficeStatisticsSnapshot::query()->updateOrCreate( [ 'user_id' => $user->id, 'year' => $year, 'month' => $month, + 'tree' => $tree, ], [ 'payload' => $payload, @@ -152,9 +242,9 @@ class BackofficeDashboardService /** * @return array{month: int, year: int, metric_labels: array, lines: array>, totals: array} */ - private function buildOverview(User $user, int $month, int $year): array + private function buildOverview(User $user, int $month, int $year, string $tree): array { - $lineBuckets = $this->lineBuckets($user->id); + $lineBuckets = $this->lineBucketsFor((int) $user->id, $tree, $month, $year); $recruiter = $this->recruiterRanking($user, $lineBuckets, $month, $year); $lines = []; $totals = $this->emptyLine(0, []); @@ -179,10 +269,13 @@ class BackofficeDashboardService // Aeltere Snapshots bleiben lesbar, ihre Detaillisten fallen auf die // Monatsend-Rueckrechnung zurueck ({@see BackofficeDrilldownService}). 'payload_version' => self::PAYLOAD_VERSION, + 'tree' => $tree, + 'tree_source' => ($tree === self::TREE_COMMISSION && $this->storedStructureFor($month, $year) !== null) ? 'stored_structure' : 'live', 'metric_labels' => $this->metricLabels(), 'lines' => $lines, 'totals' => $totals, 'non_payline_points' => $this->nonPaylinePointsSum($totals['user_ids'], $month, $year), + 'storno_floor_points' => $totals['storno_floor_points'], 'new_customer_abos' => $this->newCustomerAboRanking($user, $lineBuckets, $month, $year), 'leader_abos' => $this->leaderAboOverview($lineBuckets), 'top_customer_abos' => $this->topCustomerAboRanking($user, $lineBuckets, $month, $year), @@ -197,12 +290,14 @@ class BackofficeDashboardService * @param array $overview * @return array */ - private function withMeta(array $overview, string $source, ?string $calculatedAt = null): array + private function withMeta(array $overview, string $source, string $tree, ?string $calculatedAt = null): array { $overview['_meta'] = [ 'source' => $source, 'source_label' => $source === 'snapshot' ? 'Snapshot' : 'Live', 'calculated_at' => $calculatedAt, + 'tree' => $tree, + 'tree_label' => self::treeLabels()[$tree] ?? $tree, ]; return $overview; @@ -248,19 +343,212 @@ class BackofficeDashboardService } /** - * @return int[] + * Die Linien des Provisionsbaums: {@see lineBuckets()} gefiltert und gekappt + * nach denselben Regeln, mit denen der TreeCalcBot seine Struktur laedt + * ({@see BusinessUserItemOptimized::readParentsBusinessUsers()}). Ein Knoten, + * der die Bedingungen nicht erfuellt, faellt samt seinem GESAMTEN Unterbaum + * heraus — genau wie in der Provisionsberechnung, wo unter einem + * ausgefilterten Sponsor nicht weitergelesen wird. + * + * Die BFS-Reihenfolge von lineBuckets() garantiert, dass der Sponsor immer + * schon entschieden ist, wenn sein Teampartner drankommt. + * + * @return array> */ - public function lineUserIds(int $rootUserId, int $line): array + public function commissionLineBuckets(int $rootUserId, int $month, int $year): array { - if ($line === 0) { - return $this->teamUserIds($rootUserId); + $memoKey = $rootUserId.':'.$year.'-'.$month; + + if (isset($this->commissionLineBucketsMemo[$memoKey])) { + return $this->commissionLineBucketsMemo[$memoKey]; } - if ($line < 1) { + // Abgeschlossener Monat mit gespeichertem Provisionslauf: die damals + // verprovisionierte Struktur ist massgeblich, nicht der heutige Baum. Sonst + // laufen Statistik und Struktur wieder auseinander, sobald sich seit dem + // Monatsabschluss ein Sponsor geaendert hat oder ein Berater reaktiviert wurde. + $storedStructure = $this->storedStructureFor($month, $year); + + if ($storedStructure !== null) { + return $this->commissionLineBucketsMemo[$memoKey] = $this->storedCommissionLineBuckets($rootUserId, $storedStructure); + } + + $endOfMonth = Carbon::create($year, $month, 1)->endOfMonth(); + $buckets = []; + $pruned = []; + + foreach ($this->lineBuckets($rootUserId) as $line => $users) { + if ($line > self::COMMISSION_TREE_MAX_LINES) { + break; + } + + $kept = $users->filter(function (User $member) use (&$pruned, $endOfMonth): bool { + if (isset($pruned[(int) $member->m_sponsor]) || ! self::countsInCommissionTree($member, $endOfMonth)) { + $pruned[(int) $member->id] = true; + + return false; + } + + return true; + })->values(); + + if ($kept->isEmpty()) { + // Ohne Mitglieder auf dieser Linie kann es auch darunter keine geben. + break; + } + + $buckets[$line] = $kept; + } + + return $this->commissionLineBucketsMemo[$memoKey] = $buckets; + } + + /** + * Der abgeschlossene Provisionslauf eines Monats — nur fuer abgeschlossene + * Monate: im laufenden Monat rechnet die Statistik live, auch wenn der + * Nachtlauf schon eine Struktur gespeichert hat (Buchungen des Tages sollen + * sofort sichtbar sein; die Struktur-Seite holt sie am Folgetag nach). + */ + public function storedStructureFor(int $month, int $year): ?UserBusinessStructure + { + if (! $this->isClosedMonth($month, $year)) { + return null; + } + + return UserBusinessStructure::query() + ->where('year', $year) + ->where('month', $month) + ->where('completed', true) + ->first(); + } + + /** + * Linien aus der gespeicherten Struktur: `user_businesses` traegt je Mitglied + * des Provisionsbaums den Sponsor zum Zeitpunkt des Laufs; wer damals nicht im + * Baum stand, hat keine Zeile. Ein BFS ueber diese Zeilen ergibt exakt die + * Struktur, mit der der Monat verprovisioniert wurde. + * + * @return array> + */ + private function storedCommissionLineBuckets(int $rootUserId, UserBusinessStructure $structure): array + { + $childrenBySponsor = []; + + UserBusiness::query() + ->where('month', $structure->month) + ->where('year', $structure->year) + ->where('b_structure_id', $structure->id) + ->orderBy('user_id') + ->get(['user_id', 'sponsor']) + ->each(function (UserBusiness $row) use (&$childrenBySponsor): void { + $sponsorId = (int) ($row->sponsor->user_id ?? 0); + + if ($sponsorId > 0 && $sponsorId !== (int) $row->user_id) { + $childrenBySponsor[$sponsorId][] = (int) $row->user_id; + } + }); + + $idsByLine = []; + $visited = [$rootUserId => true]; + $currentIds = [$rootUserId]; + + for ($line = 1; $line <= self::COMMISSION_TREE_MAX_LINES && $currentIds !== []; $line++) { + $nextIds = []; + + foreach ($currentIds as $parentId) { + foreach ($childrenBySponsor[$parentId] ?? [] as $childId) { + if (isset($visited[$childId])) { + continue; + } + + $visited[$childId] = true; + $nextIds[] = $childId; + } + } + + if ($nextIds === []) { + break; + } + + $idsByLine[$line] = $nextIds; + $currentIds = $nextIds; + } + + if ($idsByLine === []) { return []; } - return ($this->lineBuckets($rootUserId)[$line] ?? collect())->pluck('id')->map(fn ($id) => (int) $id)->all(); + $users = User::query() + ->with(['account', 'user_level']) + ->whereIn('id', array_merge(...array_values($idsByLine))) + ->whereNull('deleted_at') + ->get() + ->keyBy('id'); + + $buckets = []; + + foreach ($idsByLine as $line => $ids) { + $buckets[$line] = collect($ids) + ->map(fn (int $id) => $users->get($id)) + ->filter() + ->values(); + } + + return $buckets; + } + + /** + * Dieselben Bedingungen, mit denen der TreeCalcBot seine Struktur laedt + * ({@see BusinessUserItemOptimized::readParentsBusinessUsers()}): kein + * System-/Adminkonto, Mitgliedsebene und Abrechnungskonto gesetzt (das + * Ablaufdatum spielt dort KEINE Rolle), bis zum Monatsende aktiv geworden. + * Geloeschte User sind schon in lineBuckets() ausgeschlossen. + */ + public static function countsInCommissionTree(User $member, Carbon $endOfMonth): bool + { + if ((int) $member->id === 1 || $member->admin === null || (int) $member->admin >= 4) { + return false; + } + + if ($member->m_level === null || $member->payment_account === null || $member->active_date === null) { + return false; + } + + return Carbon::parse($member->active_date)->lte($endOfMonth); + } + + /** + * @return array> + */ + public function lineBucketsFor(int $rootUserId, string $tree, int $month, int $year): array + { + return self::normalizeTree($tree) === self::TREE_DOWNLINE + ? $this->lineBuckets($rootUserId) + : $this->commissionLineBuckets($rootUserId, $month, $year); + } + + /** + * Mitglieder einer Linie in der gewaehlten Baum-Definition; Linie 0 = das ganze Team. + * + * @return int[] + */ + public function lineUserIds(int $rootUserId, int $line, int $month, int $year, string $tree = self::TREE_COMMISSION): array + { + if ($line < 0) { + return []; + } + + $buckets = $this->lineBucketsFor($rootUserId, $tree, $month, $year); + + if ($line === 0) { + return collect($buckets) + ->flatMap(fn (Collection $users) => $users->pluck('id')) + ->map(fn ($id) => (int) $id) + ->values() + ->all(); + } + + return ($buckets[$line] ?? collect())->pluck('id')->map(fn ($id) => (int) $id)->all(); } /** @@ -346,6 +634,7 @@ class BackofficeDashboardService 'customer_single_order_points' => $salesSummary['customer_single_order_points'], 'customer_other_points' => $salesSummary['customer_other_points'], 'total_points' => $salesSummary['total_points'], + 'storno_floor_points' => $salesSummary['storno_floor_points'], 'turnover_net' => $salesSummary['turnover_net'], 'shop_1000' => $this->shop1000Count($userIds, $month, $year), ]; @@ -372,6 +661,7 @@ class BackofficeDashboardService 'customer_single_order_points' => 0.0, 'customer_other_points' => 0.0, 'total_points' => 0.0, + 'storno_floor_points' => 0.0, 'turnover_net' => 0.0, 'shop_1000' => 0, ]; @@ -389,6 +679,7 @@ class BackofficeDashboardService } $totals['turnover_net'] += $row['turnover_net']; + $totals['storno_floor_points'] += $row['storno_floor_points'] ?? 0.0; $totals['team_partner_abos_new'] += $row['team_partner_abos_new']; $totals['team_customer_abos_new'] += $row['team_customer_abos_new']; $totals['user_ids'] = array_merge($totals['user_ids'], $row['user_ids']); @@ -460,7 +751,12 @@ class BackofficeDashboardService /** * @param int[] $userIds - * @return array{own_points: float, external_points: float, customer_abo_points: float, customer_single_order_points: float, customer_other_points: float, total_points: float, turnover_net: float} + * Die Kennzahl `total_points` („Umsatz (Punkte)") sind die Provisionspunkte mit + * der Knotenregel des Provisionsbaums ({@see SalesVolumePoints::floorPerUser()}) — + * dieselbe Zahl wie die Linien-Punkte der Team-Struktur. Die Aufteilung + * (Eigen-/Kundenpunkte) bleibt die reine Zeilensumme; `storno_floor_points` + * weist aus, was die Knotenregel nicht abgezogen hat. + * @return array{own_points: float, external_points: float, customer_abo_points: float, customer_single_order_points: float, customer_other_points: float, total_points: float, storno_floor_points: float, turnover_net: float} */ private function salesSummary(array $userIds, int $month, int $year): array { @@ -477,24 +773,25 @@ class BackofficeDashboardService ->selectRaw(SalesVolumePoints::turnoverNet().' as turnover_net') ->first(); - $ownPoints = (float) ($summary->own_points ?? 0); - $externalPoints = (float) ($summary->external_points ?? 0); + $commission = SalesVolumePoints::floorPerUser(SalesVolumePoints::commissionPointsByUser($userIds, $month, $year)); return [ - 'own_points' => $ownPoints, - 'external_points' => $externalPoints, + 'own_points' => (float) ($summary->own_points ?? 0), + 'external_points' => (float) ($summary->external_points ?? 0), 'customer_abo_points' => (float) ($summary->customer_abo_points ?? 0), 'customer_single_order_points' => (float) ($summary->customer_single_order_points ?? 0), 'customer_other_points' => (float) ($summary->customer_other_points ?? 0), - 'total_points' => $ownPoints + $externalPoints, + 'total_points' => $commission['points'], + 'storno_floor_points' => $commission['storno_floor'], 'turnover_net' => (float) ($summary->turnover_net ?? 0), ]; } /** * Summe der Punkte des Teams, die nicht in die Payline fließen (nur-KP-Einträge - * wie Neupartner-Einschreibungspunkte) — erklärt die Differenz zwischen den - * Gesamtpunkten hier und der PP-Summe der Struktur-/Provisionsansicht. + * wie Neupartner-Einschreibungspunkte). Seit die Kennzahl „Umsatz (Punkte)" die + * Provisionspunkte zeigt, sind sie dort NICHT mehr enthalten — die Zahl erklaert + * die Differenz zu den Eigenpunkten der Aufteilung. * * @param int[] $userIds */ diff --git a/app/Services/Backoffice/BackofficeDrilldownService.php b/app/Services/Backoffice/BackofficeDrilldownService.php index 658a0019..845015a6 100644 --- a/app/Services/Backoffice/BackofficeDrilldownService.php +++ b/app/Services/Backoffice/BackofficeDrilldownService.php @@ -17,8 +17,9 @@ class BackofficeDrilldownService /** * @return array{metric: string, metric_label: string, only_new: bool, line: int, line_label: string, month: int, year: int, rows: array>, summary: array} */ - public function details(User $viewer, int $line, string $metric, int $month, int $year, bool $onlyNew = false): array + public function details(User $viewer, int $line, string $metric, int $month, int $year, bool $onlyNew = false, string $tree = BackofficeDashboardService::TREE_COMMISSION): array { + $tree = BackofficeDashboardService::normalizeTree($tree); $metricLabels = $this->dashboardService->metricLabels(); if (! array_key_exists($metric, $metricLabels)) { @@ -32,11 +33,11 @@ class BackofficeDrilldownService // Ohne das rechnet die Liste mit der heutigen Struktur — ein spaeter // hinzugekommener oder verschobener Teampartner taucht dann in einem // laengst abgerechneten Monat auf (oder verschwindet daraus). - $frozen = $this->frozenLines($viewer, $month, $year); + $frozen = $this->frozenLines($viewer, $month, $year, $tree); $userIds = $frozen !== null ? $this->frozenUserIds($frozen, $line) - : $this->dashboardService->lineUserIds($viewer->id, $line); + : $this->dashboardService->lineUserIds($viewer->id, $line, $month, $year, $tree); if ($metric === 'shop_1000' && $line === 0) { $userIds[] = (int) $viewer->id; @@ -67,6 +68,8 @@ class BackofficeDrilldownService 'line_label' => $line > 0 ? 'Linie '.$line : 'Alle Linien', 'month' => $month, 'year' => $year, + 'tree' => $tree, + 'tree_label' => BackofficeDashboardService::treeLabels()[$tree] ?? $tree, 'rows' => $rows, 'summary' => $this->summary($rows), ]; @@ -107,6 +110,7 @@ class BackofficeDrilldownService 'customer_single_order_points' => (float) collect($rows)->sum('customer_single_order_points'), 'customer_other_points' => (float) collect($rows)->sum('customer_other_points'), 'total_points' => (float) collect($rows)->sum('total_points'), + 'storno_floor_points' => (float) collect($rows)->sum('storno_floor_points'), 'deliveries' => (int) collect($rows)->sum('deliveries'), ]; } @@ -222,12 +226,13 @@ class BackofficeDrilldownService * * @return array>|null */ - private function frozenLines(User $viewer, int $month, int $year): ?array + private function frozenLines(User $viewer, int $month, int $year, string $tree): ?array { $snapshot = BackofficeStatisticsSnapshot::query() ->where('user_id', $viewer->id) ->where('month', $month) ->where('year', $year) + ->where('tree', $tree) ->first(); if (! $snapshot) { @@ -394,12 +399,14 @@ class BackofficeDrilldownService ->selectRaw(SalesVolumePoints::customerSingleOrderPoints().' as customer_single_order_points') ->selectRaw(SalesVolumePoints::customerOtherPoints().' as customer_other_points') ->selectRaw(SalesVolumePoints::totalPoints().' as total_points') + ->selectRaw(SalesVolumePoints::commissionPoints().' as commission_points') ->groupBy('user_sales_volumes.user_id'); // `<> 0` statt `> 0`: ein Berater mit negativem Monatssaldo (Storno) steckt in - // der Uebersichtssumme und muss deshalb auch in der Detailliste auftauchen — - // sonst ergibt die Detailsumme etwas anderes als die verlinkte Kachel. - // Nur die echte Qualifikationsliste behaelt ihre Schwelle. + // der Uebersichtssumme (dort mit 0 gewertet, siehe Knotenregel) und muss + // deshalb auch in der Detailliste auftauchen — sonst ergibt die Detailsumme + // etwas anderes als die verlinkte Kachel. Nur die echte Qualifikationsliste + // behaelt ihre Schwelle. if ($metric === 'own_points') { $rows->havingRaw(SalesVolumePoints::ownPoints().' <> 0'); } @@ -421,14 +428,17 @@ class BackofficeDrilldownService } if ($metric === 'total_points') { - $rows->havingRaw(SalesVolumePoints::totalPoints().' <> 0'); + $rows->havingRaw(SalesVolumePoints::commissionPoints().' <> 0'); } if ($metric === 'shop_1000') { $rows->havingRaw(SalesVolumePoints::totalPoints().' >= 1000'); } - $salesRows = $rows->orderByDesc('total_points')->get(); + // „Gesamtpunkte" der Liste = Provisionspunkte mit Knotenregel (negativer Saldo + // = 0), damit die Listensumme der Kachel „Umsatz (Punkte)" entspricht. Die + // 1000-Punkte-Liste behaelt ihre eigene Definition (Eigen- + Kundenpunkte). + $salesRows = $rows->orderByDesc($metric === 'shop_1000' ? 'total_points' : 'commission_points')->get(); $users = User::query()->with(['account', 'user_level'])->whereIn('id', $salesRows->pluck('user_id'))->get()->keyBy('id'); return $salesRows @@ -443,7 +453,8 @@ class BackofficeDrilldownService 'customer_abo_points' => (float) $row->customer_abo_points, 'customer_single_order_points' => (float) $row->customer_single_order_points, 'customer_other_points' => (float) $row->customer_other_points, - 'total_points' => (float) $row->total_points, + 'total_points' => $metric === 'shop_1000' ? (float) $row->total_points : max(0.0, (float) $row->commission_points), + 'storno_floor_points' => $metric === 'shop_1000' ? 0.0 : max(0.0, -(float) $row->commission_points), ]) ->values() ->all(); diff --git a/app/Services/Backoffice/SalesVolumePoints.php b/app/Services/Backoffice/SalesVolumePoints.php index 351882ef..d1ed3cef 100644 --- a/app/Services/Backoffice/SalesVolumePoints.php +++ b/app/Services/Backoffice/SalesVolumePoints.php @@ -4,6 +4,7 @@ namespace App\Services\Backoffice; use App\Models\UserSalesVolume; use App\Services\BusinessPlan\SalesPointsVolume; +use App\Services\BusinessPlan\TreeCalcBotOptimized; use Illuminate\Support\Collection; /** @@ -48,6 +49,19 @@ class SalesVolumePoints private const TURNOVER_PREDICATE = 'user_sales_volumes.status IN (1, 2, 4, 5, 6)'; + /** + * Provisionspunkte (TP + Shop) je Zeile — dieselbe Abgrenzung, mit der + * {@see SalesPointsVolume::reCalculateSalesPointsVolume()} die Laufstaende + * `month_TP_points` und `month_shop_points` fuehrt, aus denen der TreeCalcBot + * die Team-Punkte der Struktur-/Provisionsansicht bildet + * ({@see UserSalesVolume::getPointsTPSum()}): + * - Eigenbuchungen zaehlen nur, wenn sie NICHT als reine Karrierepunkte + * gekennzeichnet sind (`status_points = 2` — Neupartner-Einschreibung, + * manuelle Gutschriften); NULL gilt wie 1 (PHP-Vergleich `=== 2`). + * - Shop-/Kundenbuchungen zaehlen immer. + */ + private const COMMISSION_PREDICATE = '(('.self::OWN_PREDICATE.' AND COALESCE(user_sales_volumes.status_points, 1) <> 2) OR '.self::SHOP_PREDICATE.')'; + /** * Die zaehlbaren Buchungsstatus als Liste — fuer Auswertungen, die nicht ueber * die SQL-Ausdruecke hier gehen, aber dieselbe Abgrenzung brauchen. Status 0 @@ -145,6 +159,69 @@ class SalesVolumePoints return self::sumWhere(self::OWN_PREDICATE.' AND user_sales_volumes.status_points = 2', 'user_sales_volumes.points'); } + /** + * Provisionspunkte als SUM-Ausdruck (ungefloort — der Provisionsbaum wertet + * einen negativen Monatssaldo je Berater mit 0, siehe + * {@see commissionPointsByUser()}). + */ + public static function commissionPoints(): string + { + return self::sumWhere(self::COMMISSION_PREDICATE, 'user_sales_volumes.points'); + } + + /** + * Provisionspunkte je User im Monat — Grundlage der Kennzahl „Umsatz (Punkte)" + * der Backoffice-Statistik, damit sie mit der Team-Struktur uebereinstimmt. + * + * Bewusst je User statt als Gesamtsumme: der TreeCalcBot addiert je Knoten + * nur Werte > 0 ({@see TreeCalcBotOptimized}), + * ein negativer Monatssaldo (Storno ueber die Buchungen des Monats hinaus) + * zaehlt dort also 0 und nicht negativ. Der Aufrufer floort deshalb je User. + * + * @param int[] $userIds + * @return Collection user_id => Punkte (ungefloort) + */ + public static function commissionPointsByUser(array $userIds, int $month, int $year): Collection + { + if ($userIds === []) { + return collect(); + } + + return UserSalesVolume::query() + ->whereIn('user_id', $userIds) + ->where('month', $month) + ->where('year', $year) + ->groupBy('user_id') + ->select('user_id') + ->selectRaw('('.self::commissionPoints().') as commission_points') + ->pluck('commission_points', 'user_id') + ->map(fn ($points) => (float) $points); + } + + /** + * Summe der Provisionspunkte mit der Knotenregel des Provisionsbaums (negativer + * Saldo je User = 0) plus den dabei nicht abgezogenen Negativsaldo, damit die + * Statistik ausweisen kann, warum die Summe nicht der reinen Zeilensumme entspricht. + * + * @param Collection $pointsByUser + * @return array{points: float, storno_floor: float} + */ + public static function floorPerUser(Collection $pointsByUser): array + { + $points = 0.0; + $stornoFloor = 0.0; + + foreach ($pointsByUser as $userPoints) { + if ($userPoints > 0) { + $points += $userPoints; + } else { + $stornoFloor += -$userPoints; + } + } + + return ['points' => round($points, 2), 'storno_floor' => round($stornoFloor, 2)]; + } + public static function turnoverNet(): string { return self::sumWhere(self::TURNOVER_PREDICATE, 'user_sales_volumes.total_net'); diff --git a/app/Services/BusinessPlan/SalesPointsVolume.php b/app/Services/BusinessPlan/SalesPointsVolume.php index ab36201e..c255dc67 100644 --- a/app/Services/BusinessPlan/SalesPointsVolume.php +++ b/app/Services/BusinessPlan/SalesPointsVolume.php @@ -8,6 +8,7 @@ use App\Models\UserSalesVolume; use App\Services\Incentive\IncentiveTracker; use App\Services\Util; use App\User; +use Illuminate\Database\Eloquent\Builder; use stdClass; class SalesPointsVolume @@ -74,10 +75,32 @@ class SalesPointsVolume return $month_points; } + /** + * Die Zeilen eines Beraters im Monat in Buchungsreihenfolge — SPERREND + * gelesen (SELECT ... FOR UPDATE). Ein sperrendes Lesen liefert immer den + * zuletzt committeten Stand, nicht den Transaktions-Snapshot: Laufen zwei + * Zahlungs-Webhooks desselben Beraters parallel (Abo-Ausfuehrungen), wartet + * der zweite auf den ersten und sieht dessen Zeile. Ohne die Sperre trug + * die spaetere Zeile einen Laufstand ohne die fruehere Buchung, und die + * Provision rechnete zu niedrig (Ticket C2). Ausserhalb einer Transaktion + * ist die Sperre wirkungslos, aber unschaedlich. + * + * @return Builder + */ + public static function runningTotalRows($user_id, $month, $year) + { + return UserSalesVolume::query() + ->where('user_id', $user_id) + ->where('month', $month) + ->where('year', $year) + ->orderBy('id', 'ASC') + ->lockForUpdate(); + } + public static function reCalculateSalesPointsVolume($user_id, $month, $year) { - $userSalesVolumes = UserSalesVolume::where('user_id', $user_id)->where('month', $month)->where('year', $year)->orderBy('id', 'ASC')->get(); + $userSalesVolumes = self::runningTotalRows($user_id, $month, $year)->get(); $month_points = new stdClass; $month_points->KP = 0; $month_points->TP = 0; diff --git a/app/Services/BusinessPlan/SalesVolumeRunningTotalService.php b/app/Services/BusinessPlan/SalesVolumeRunningTotalService.php new file mode 100644 index 00000000..989c826e --- /dev/null +++ b/app/Services/BusinessPlan/SalesVolumeRunningTotalService.php @@ -0,0 +1,141 @@ + user_id => Zeilensumme / Laufstand + */ + public function detectDrift(int $month, int $year, ?array $userIds = null): array + { + $userIds ??= UserSalesVolume::query() + ->where('month', $month) + ->where('year', $year) + ->whereNotNull('user_id') + ->distinct() + ->pluck('user_id') + ->map(fn ($id) => (int) $id) + ->all(); + + if ($userIds === []) { + return []; + } + + $rowSums = SalesVolumePoints::commissionPointsByUser($userIds, $month, $year); + + $lastRows = UserSalesVolume::query() + ->whereIn('user_id', $userIds) + ->where('month', $month) + ->where('year', $year) + ->whereIn('id', function ($sub) use ($month, $year) { + $sub->selectRaw('MAX(id)') + ->from('user_sales_volumes') + ->where('month', $month) + ->where('year', $year) + ->groupBy('user_id'); + }) + ->get(['user_id', 'month_TP_points', 'month_shop_points']) + ->keyBy('user_id'); + + $drift = []; + + foreach ($rowSums as $userId => $rowSum) { + $last = $lastRows->get($userId); + $runningTotal = $last ? (float) $last->month_TP_points + (float) $last->month_shop_points : 0.0; + + if (abs($runningTotal - (float) $rowSum) > 0.005) { + $drift[(int) $userId] = ['rows' => (float) $rowSum, 'running' => $runningTotal]; + } + } + + ksort($drift); + + return $drift; + } + + /** + * Rechnet die Laufstaende der abweichenden User neu. + * + * @param int[]|null $userIds + * @return array die reparierten User (Stand vor der Reparatur) + */ + public function repair(int $month, int $year, ?array $userIds = null): array + { + $drift = $this->detectDrift($month, $year, $userIds); + + foreach (array_keys($drift) as $userId) { + SalesPointsVolume::reCalculateSalesPointsVolume($userId, $month, $year); + } + + return $drift; + } + + /** + * Monate, die der naechtliche Sicherheitsnetz-Lauf pruefen darf: der laufende + * Monat immer, der Vormonat nur, solange sein Provisionslauf noch nicht + * gelaufen ist (Monatserster vor 03:00 bzw. spaeterer Ausfuehrungstag). Ein + * abgeschlossener Monat wird nicht angefasst — seine Laufstaende sind so + * abgerechnet worden, und eine Korrektur waere eine Nachberechnung. + * + * @return array + */ + public function monthsToGuard(?Carbon $now = null): array + { + $now ??= now(); + $months = []; + + $previous = $now->copy()->subMonthNoOverflow(); + + if (! self::isMonthClosed((int) $previous->month, (int) $previous->year)) { + $months[] = ['month' => (int) $previous->month, 'year' => (int) $previous->year]; + } + + $months[] = ['month' => (int) $now->month, 'year' => (int) $now->year]; + + return $months; + } + + /** + * Abgeschlossen ist ein Monat, sobald der Provisionslauf seine Struktur + * gespeichert hat. + */ + public static function isMonthClosed(int $month, int $year): bool + { + return UserBusinessStructure::query() + ->where('month', $month) + ->where('year', $year) + ->where('completed', true) + ->exists(); + } +} diff --git a/app/Services/Database/ConcurrencyError.php b/app/Services/Database/ConcurrencyError.php new file mode 100644 index 00000000..8c8d3b09 --- /dev/null +++ b/app/Services/Database/ConcurrencyError.php @@ -0,0 +1,23 @@ +causedByConcurrencyError($e); + } +} diff --git a/app/Services/Payment.php b/app/Services/Payment.php index eb42df9b..7b1a962d 100644 --- a/app/Services/Payment.php +++ b/app/Services/Payment.php @@ -10,6 +10,7 @@ use App\Models\UserCreditItem; use App\Models\UserLevel; use App\Repositories\InvoiceRepository; use App\Services\BusinessPlan\SalesPointsVolume; +use App\Services\Database\ConcurrencyError; use App\Services\Incentive\IncentiveTracker; use App\Services\Payment\Stripe\StripeInvoiceReferenceService; use App\User; @@ -323,6 +324,14 @@ class Payment $invoice_repo = new InvoiceRepository($shopping_order); $invoice_repo->createAndSalesVolume(); } catch (\Throwable $e) { + // Deadlock / Lock-Timeout: InnoDB hat die Transaktion bereits + // zurueckgerollt — hier weiterzumachen wuerde die Bestellung als + // bezahlt bestaetigen, ohne dass etwas gespeichert ist. Der + // Webhook-Wrapper wiederholt die Transaktion (Ticket C2). + if (ConcurrencyError::isCausedBy($e)) { + throw $e; + } + \Log::error('Payment::paymentStatusPaidAction - Rechnungserstellung fehlgeschlagen', [ 'shopping_order_id' => $shopping_order->id, 'error' => $e->getMessage(), diff --git a/app/Services/Payment/Payone/PayoneWebhookHandler.php b/app/Services/Payment/Payone/PayoneWebhookHandler.php index 15a114ee..3b4dfdd1 100644 --- a/app/Services/Payment/Payone/PayoneWebhookHandler.php +++ b/app/Services/Payment/Payone/PayoneWebhookHandler.php @@ -18,6 +18,12 @@ class PayoneWebhookHandler * * @var array */ + /** + * Anlaeufe fuer die Paid-Transaktion — wiederholt nur bei Deadlock / + * Lock-Timeout (Ticket C2). + */ + private const PAID_TRANSACTION_ATTEMPTS = 3; + private const TXACTION_PRIORITY = [ 'appointed' => 1, 'pending' => 2, @@ -177,23 +183,23 @@ class PayoneWebhookHandler } if ($data['txaction'] === 'paid') { - // Use DB transaction and row locking to prevent race conditions - \DB::beginTransaction(); + // Transaktion mit Zeilensperre auf der Bestellung gegen doppelte + // Verarbeitung; bis zu 3 Anlaeufe, weil die Punkte-Buchung den Berater + // sperrt und zwei parallele Webhooks desselben Beraters sich in einem + // Deadlock treffen koennen (Ticket C2) — der Verlierer wiederholt. try { - // Lock the shopping order row to prevent concurrent processing - $locked_order = ShoppingOrder::where('id', $shopping_order->id) - ->lockForUpdate() - ->first(); - // Double-check if payment was already processed - if (! $locked_order->paid) { - $send_link = Payment::paymentStatusPaidAction($locked_order, true, $shopping_payment); - \DB::commit(); - } else { - $send_mail = false; - \DB::commit(); - } + [$send_link, $send_mail] = \DB::transaction(function () use ($shopping_order, $shopping_payment, $send_link, $send_mail) { + $locked_order = ShoppingOrder::where('id', $shopping_order->id) + ->lockForUpdate() + ->first(); + + if ($locked_order->paid) { + return [$send_link, false]; + } + + return [Payment::paymentStatusPaidAction($locked_order, true, $shopping_payment), $send_mail]; + }, self::PAID_TRANSACTION_ATTEMPTS); } catch (\Exception $e) { - \DB::rollBack(); MyLog::writeLog( 'payone', 'error', diff --git a/app/Services/Payment/Stripe/StripeWebhookHandler.php b/app/Services/Payment/Stripe/StripeWebhookHandler.php index 46ee2848..1dfdc7e9 100644 --- a/app/Services/Payment/Stripe/StripeWebhookHandler.php +++ b/app/Services/Payment/Stripe/StripeWebhookHandler.php @@ -46,6 +46,12 @@ class StripeWebhookHandler * * @var string[] */ + /** + * Anlaeufe fuer die Paid-Transaktion — wiederholt nur bei Deadlock / + * Lock-Timeout (Ticket C2). + */ + private const PAID_TRANSACTION_ATTEMPTS = 3; + private const EVENT_TYPES_WITHOUT_PAYMENT = [ 'checkout.session.expired', ]; @@ -356,18 +362,20 @@ class StripeWebhookHandler $sendLink = false; $sendMail = true; - DB::beginTransaction(); + // Bis zu 3 Anlaeufe: die Punkte-Buchung sperrt den Berater, zwei parallele + // Webhooks desselben Beraters koennen sich in einem Deadlock treffen + // (Ticket C2) — der Verlierer wiederholt die ganze Transaktion. try { - $lockedOrder = ShoppingOrder::where('id', $order->id)->lockForUpdate()->first(); - if (! $lockedOrder->paid) { - $sendLink = Payment::paymentStatusPaidAction($lockedOrder, true, $payment); - DB::commit(); - } else { - $sendMail = false; - DB::commit(); - } + [$sendLink, $sendMail] = DB::transaction(function () use ($order, $payment, $sendLink, $sendMail) { + $lockedOrder = ShoppingOrder::where('id', $order->id)->lockForUpdate()->first(); + + if ($lockedOrder->paid) { + return [$sendLink, false]; + } + + return [Payment::paymentStatusPaidAction($lockedOrder, true, $payment), $sendMail]; + }, self::PAID_TRANSACTION_ATTEMPTS); } catch (\Exception $e) { - DB::rollBack(); Log::channel('stripe')->error('Stripe-Paid-Pfad fehlgeschlagen (Stripe stellt erneut zu): '.$e->getMessage(), [ 'shopping_order_id' => $order->id, 'shopping_payment_id' => $payment->id, diff --git a/database/migrations/2026_09_14_140000_add_tree_to_backoffice_statistics_snapshots_table.php b/database/migrations/2026_09_14_140000_add_tree_to_backoffice_statistics_snapshots_table.php new file mode 100644 index 00000000..8c46a82f --- /dev/null +++ b/database/migrations/2026_09_14_140000_add_tree_to_backoffice_statistics_snapshots_table.php @@ -0,0 +1,60 @@ +string('tree', 16)->default('commission')->after('month'); + }); + + DB::table('backoffice_statistics_snapshots')->update(['tree' => 'downline']); + + // Erst den neuen Unique-Index anlegen, dann den alten entfernen: der + // Fremdschluessel auf user_id braucht in MySQL durchgehend einen Index, + // der mit user_id beginnt. + Schema::table('backoffice_statistics_snapshots', function (Blueprint $table) { + $table->unique(['user_id', 'year', 'month', 'tree'], 'backoffice_statistics_snapshot_tree_unique'); + }); + + Schema::table('backoffice_statistics_snapshots', function (Blueprint $table) { + $table->dropUnique('backoffice_statistics_snapshot_unique'); + }); + } + + public function down(): void + { + DB::table('backoffice_statistics_snapshots') + ->where('tree', '<>', 'downline') + ->delete(); + + Schema::table('backoffice_statistics_snapshots', function (Blueprint $table) { + $table->unique(['user_id', 'year', 'month'], 'backoffice_statistics_snapshot_unique'); + }); + + Schema::table('backoffice_statistics_snapshots', function (Blueprint $table) { + $table->dropUnique('backoffice_statistics_snapshot_tree_unique'); + $table->dropColumn('tree'); + }); + } +}; diff --git a/database/migrations/2026_09_14_160000_add_user_month_index_to_user_sales_volumes_table.php b/database/migrations/2026_09_14_160000_add_user_month_index_to_user_sales_volumes_table.php new file mode 100644 index 00000000..292e76fa --- /dev/null +++ b/database/migrations/2026_09_14_160000_add_user_month_index_to_user_sales_volumes_table.php @@ -0,0 +1,28 @@ +index(['user_id', 'year', 'month'], 'user_sales_volumes_user_year_month_index'); + }); + } + + public function down(): void + { + Schema::table('user_sales_volumes', function (Blueprint $table) { + $table->dropIndex('user_sales_volumes_user_year_month_index'); + }); + } +}; diff --git a/dev/2026-07-22/README.md b/dev/2026-07-22/README.md index 8a2a6184..aeecc32b 100644 --- a/dev/2026-07-22/README.md +++ b/dev/2026-07-22/README.md @@ -11,6 +11,10 @@ oben unter „Stand" stehen erledigte und offene Befunde mit Sprungmarken. Das i **[deploy-2026-09-10.md](deploy-2026-09-10.md)** — was am 10.09. live gegangen ist, was sich dabei in den Daten geändert hat und was das für die historischen Zahlen bedeutet. +**[deploy-2026-09-14.md](deploy-2026-09-14.md)** — K11: Team-Statistik rechnet wie die Team-Struktur +(Provisionsbaum, Provisionspunkte, Umschalter), dazu der Laufstand-Fix in `user_sales_volumes`. +Plan und Tickets: [`dev/_tickets/entwicklungsplan-protokoll-september-2026.md`](../_tickets/entwicklungsplan-protokoll-september-2026.md). + ## Entscheidungen, die dauerhaft gelten | Dokument | Inhalt | diff --git a/dev/2026-07-22/deploy-2026-09-14.md b/dev/2026-07-22/deploy-2026-09-14.md new file mode 100644 index 00000000..5b82cd1f --- /dev/null +++ b/dev/2026-07-22/deploy-2026-09-14.md @@ -0,0 +1,101 @@ +# Deploy 14.09.2026 — Team-Statistik = Team-Struktur, Laufstand-Fix + +Das Paket zu K11 aus dem [Entwicklungsplan zum September-Protokoll](../_tickets/entwicklungsplan-protokoll-september-2026.md) +(Tickets C1 und C2) ist auf Produktion. Upload per SFTP, anschließend Migration, Snapshot-Neuaufbau, +Laufstand-Reparatur und Cache-Leerung im Terminal. **Die Zahlen von Team-Statistik und Team-Struktur +stimmen seitdem überein** (Rückmeldung Kevin, 14.09.). + +## Was live gegangen ist + +| Ticket | Inhalt | +| --- | --- | +| C1 | Die Team-Statistik rechnet standardmäßig mit dem **Provisionsbaum** und den **Provisionspunkten** — denselben Mitgliedern und Punkten wie die Team-Struktur. Die bisherige Sicht (gesamte Downline) bleibt per Umschalter erreichbar. Für abgeschlossene Monate kommen die Mitglieder je Linie aus dem gespeicherten Provisionslauf. | +| C2 | Laufstand-Race in `user_sales_volumes` behoben: sperrendes Lesen bei der Neuberechnung, Deadlock-Wiederholung in beiden Zahlungs-Webhooks, tägliches Sicherheitsnetz um 02:45 vor dem Provisionslauf. | + +```bash +php artisan migrate +php artisan backoffice:store-statistics-snapshots --force +php artisan sales:repair-running-totals +php artisan config:clear && php artisan view:clear && php artisan cache:clear +``` + +**Stolperstein beim Migrieren.** Der erste `migrate`-Lauf brach mit „Undefined constant +`BackofficeDashboardService::TREE_COMMISSION`" ab: die Migration hatte die Baum-Namen aus der +Service-Klasse gelesen, und der PHP-Prozess auf dem Server hielt noch die alte Klasse (Opcache). Es +wurde nichts halb angewendet — der Fehler fiel beim Aufbau des Blueprints, vor jedem SQL. Die +Migration trägt die Werte jetzt als Literale; Regel für die Zukunft: **Migrationen dürfen nicht vom +Anwendungscode abhängen.** Nach Pull, `optimize:clear` und PHP-FPM-Reload lief sie sauber durch. + +## Was sich in den Daten geändert hat + +**Migrationen.** + +- `backoffice_statistics_snapshots` bekommt die Spalte `tree` (`commission` / `downline`); bestehende + Snapshots werden als `downline` gekennzeichnet, der Unique-Index läuft jetzt über + (`user_id`, `year`, `month`, `tree`). +- `user_sales_volumes` bekommt den Index (`user_id`, `year`, `month`), damit die sperrende Lesart nur + den Monatsbereich des Beraters sperrt. **Keine vorhandene Zeile wurde verändert.** + +**Snapshot-Neuaufbau.** `backoffice_statistics_snapshots` wurde für alle abgeschlossenen Monate und +beide Baum-Definitionen neu geschrieben (Payload-Version 3). Die Provisionsbaum-Variante nimmt die +Mitglieder je Linie aus `user_businesses` des jeweiligen Provisionslaufs. + +**Laufstand-Reparatur September.** `sales:repair-running-totals` hat die Laufstände von **2 Usern** +(848 und 1543, zusammen **216 Punkte**) neu gerechnet. Nur die kumulativen Spalten der letzten Zeile +wurden korrigiert; die Einzelbuchungen waren vollständig. Der laufende Monat rechnet in der Struktur +live, die Provision für September wird damit richtig. + +**Nicht angefasst: Juni und August.** Beide Monate hatten je einen User mit Laufstand-Drift (66 bzw. +82 Punkte) und sind so abgerechnet worden. **Entscheid 14.09.: keine Nachzahlung, keine +Nachberechnung.** Die Laufstände bleiben, wie sie in die Provision eingegangen sind; der Nachtlauf +fasst abgeschlossene Monate nicht an (manuell nur mit `--force`). + +**Nicht angefasst:** Provisionen (`user_businesses`), Gutschriften, Rechnungen, Marketingplan. + +## Was das für die Zahlen bedeutet + +Die Kachel „Umsatz (Punkte)" der Team-Statistik zeigt jetzt die **Provisionspunkte**. Gegenüber +vorher ist sie **kleiner**, aus drei Gründen, die alle bewusst sind: + +1. **Nur Provisionsbaum.** Berater ohne Mitgliedsebene oder ohne Abrechnungskonto zählen nicht, und + ihr Unterbaum ebenfalls nicht — genau wie in der Provisionsberechnung. Die Ansicht zeigt, wie + viele Berater der Downline deshalb außen vor sind. +2. **Reine Karrierepunkte (KP) zählen nicht** (Neupartner-Einschreibung, manuelle KP-Gutschriften). + Sie stehen als eigene Zahl unter der Tabelle: „Nicht enthalten: X Punkte ohne Payline-Wirkung". +3. **Negative Monatssalden werden auf 0 gekappt**, wie in der Provision. Auch das steht als eigene + Zahl: „Nicht abgezogen: Y Punkte aus negativen Monatssalden". + +Wer die bisherige Sicht braucht, wählt oben „Gesamte Downline". Die Wahl bleibt in der Sitzung +erhalten und steckt auch im CSV-Dateinamen. + +Beim Messlauf vor dem Deploy lagen die VIP-Konten im Provisionsbaum bis auf die Laufstand-Drift +exakt auf der Struktur. Für August ergab sich nach Umstellung auf die gespeicherte Struktur nur noch +eine Differenz von 82 Punkten — genau der Drift-User dieses Monats. + +## Woran man merken würde, dass etwas nicht stimmt + +- **Team-Statistik, Provisionsbaum, laufender Monat:** Summe der Linien muss mit dem Modal „Linie / + Punkte / Provision" auf der Struktur-Seite auf den Cent übereinstimmen. Prüfung: + `php artisan statistics:compare-trees 9 2026` (Spalte „Diff PB-Struktur" muss 0,00 sein). +- **Abgeschlossener Monat:** Abzeichen „Monat abgeschlossen · Stand eingefroren" plus Hinweis, dass + die Mitglieder je Linie aus dem gespeicherten Provisionslauf stammen. +- **Nachtlauf 02:45:** `sales:repair-running-totals` schreibt bei Drift eine Warnung ins + `cron`-Log. Über mehrere Nächte sollte dort „keine Abweichung" stehen — das ist der Nachweis, dass + die Sperre auf MySQL wirkt (die Test-Suite läuft auf SQLite und kann den Race nicht nachstellen). +- **Zahlungs-Webhooks:** Ein Deadlock würde die ganze Paid-Transaktion bis zu dreimal wiederholen. + Erkennbar im `payone`- bzw. `stripe`-Log nur, wenn alle drei Anläufe scheitern; dann stellt der + Anbieter erneut zu. + +## Offen + +- **C2, Stufe 3** (Provision aus der Zeilensumme statt aus dem Laufstand der letzten Zeile) gehört + zum Ledger-Plan `dev/2026-09-10-business-plan/`. +- Rückfrage **R4** (negative Monatssalden in der Provision) ist eine fachliche Entscheidung und + wurde nicht angefasst. +- Unverändert: die vorbestehenden Testfehler auf dem Branch (92 Fehlschläge in Unit-Tests ohne + Datenbank-Setup, z. B. `TreeCalcBotOptimizedTest`, `ConcurrentPaymentTest`; alle mit „no such + table" oder `BadMethodCallException` bereits im Setup). Gehören in ein eigenes Aufräumpaket. + +Nicht in diesem Commit und weiterhin nicht committet: die Arbeit aus anderen Themen im selben +Arbeitsbaum (DHL, DATEV, Newsletter-Listen, Berater-Übertragung, DSGVO-Löschung, `shipped_at`, +Kundenabo-Legenden). diff --git a/dev/_tickets/2026 09 Protokoll September-komprimiert.pdf b/dev/_tickets/2026 09 Protokoll September-komprimiert.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5c33c682fff34ce113180723acf92be0f0b93dd1 GIT binary patch literal 547896 zcmagEb8sy_)HZr*o2RyI_tdAhd1~7{wQbw>scqY~cir9Yw)gkWy>sV#|N3UuO0tq? zGI^3rRz#^JF3HHs#0^h*cr>>J&&o-{LgHX-4KE-7&n#(W>uTmq!Ypa~$JI>S%*4Ue z44zre%-+J)l7y9$1zt!9-o@3~?2jG1XAaar54;H2kFbN+smNeN(L@yrWz6IRwx29Y zlERdKNGK7Tw2nyvf)QB$q2L(166e80G#JmOMK)5*q$B~I{Wk9ZNT!2{1rdzn+F(5| zOL%B^;?ax7wfi5RH&fMtD-2F1o7LmP86P)RPJ-tH2jWMxIk$5FN?bnP=i?Eq?szTg zW3ov|$^?)V6_wbud;v_X`1tT<_NM<|1OH3?4=Yyg|AXHD%Y>DLotKB3?f=4-i<5)* zfAPKPf$`KE+28_A)9Nm3RNEzKm}yq)r|Lg5RoAR++i~Jgs5dcoO!Wi~a1r9m-QmKL z{)J0uZGjeobA`qWW1kadc8Xn4fH$tut^J=RHE}$J|QrRa!0Z#w1kp(2G`i z`qZqt9fir&@L9KLojZaKVhZLx{r2s*rrfgWug}R7nuzw1*?t$)xs9nc+s&5?3*m|p z_RWv>T7#|@2VZ|vB{`%{&6A1Aj~LFEg44lLX`@0)W0tf_ zN3<*%lF@L0w^;dnxH_YSlJmi1_(%qn@4KLNMfYLsr9}fRT^CW77M2J=J>7=B_&52> zd%U2|ZCoJa9I=!T^4?g!7$$7TJ2ZkQ!@kZX{AYt81@JViWYtU1K7OmCd<@Il;m#>M zs7FDwBI~Tm$49?#ef6ufQ11(O>k=O8QI56#e&~g0t-xk3&tH?Ktfw4>lIe>n?2OK< zu4!&#ZENcaF|n_G4WsBKFK~A^C;`>6ka%J%o_2iZMv!!433JgaE63i$A>tV;WcV-4 zqZ6Yb4YR%TJ$JZqX2P9h+eYhHE6ffdLt2jypZEJ_?q_a~V4guYg8TD+X!4u^eiaD? zl<2$pHz|5WM|~v;#nHmju~X>y(lRkRHcHq!IwEe;1A=Jh-{?6ROZ|s`;?eru;Ytnl z>6#Zd%I2k-HVJz!^CVs$dbK_RpE*&JQpw2}RL9Q7Z|85M3s)Bo%J}%;FlHT`!|%HA zqN6{e^y(5Cz3A#AV#+JIF^BT`?lFVQgOud@v1HWD&j&-&jB1o@UGi-diB}=^lu)CP zy>6Y*4>Rgyc-_b(myi;yd- zf|CY+BaSJItkYT^4X+Ex5B;ZO>jE?V|LK3W+aKG!PF60(W)?0*LEP-}4KU5zLE_yX zVX=2EoWaX}Gw@~u85_Xcpaf>rhj%dpfF&}IW6~9e`16ydkDibDtFIN3ql5^JN66wd z(c}aQt8U|ilUFeu>x;U7zk1>H5^+I-XVfeyb~!;xdh%yOQK=4|zzWP`CXyj~zlTXt zc^^%7Cm=Lj`Sk|-1UsDQX7l<4C&JTj zQWGxvQD$T#jeRFjxfbX(hWI<6XnXKN9g;%acF*TA}qb4 zDPYAuhN@5YKMmGj{9Y-Wd0enckDgZNN0VYJ>7p)sDvG~tZw;f?L|ytYfI@XFqwN=C zDFr2hc3S)>l9odrq{@;a0p+;E#T7K&7e_7W1HT`ndy1sKBn-^Z-;j__pZ@tM#)MKb zpKv%9ioaNK0G0ze%w(L#fABhWYzid58TqzOVkO<9%+tv12!_`2Wnc-J)XtBbv57h} z=ap5|>~;4uO=^ z+QSXZ-Yn}2Nhs$j-&jz{uTJe!U>?61duyk9rZEqL{QVON^sz$}`(x81#@Cr#XroN# zl=M*4k`@t)Bw}DGMKL7KSVOkr2e9l{1*|lCxeopLrFAfE)M6!NzZdIrjIGT+sxl#) z-8f5LCMM5tO47tQ4W+7QuD5B~1D^nU?Ak%*MK|)?^uC*QLgvI3V4A@o++x#GZq?ZW1JFtSWAl0ZLVMD$d=P*8jok;NHZ-0uwTJdSkcZ!Ry{BCquvS65A8Pt1Q7e z7f+-j;D)oxLRGeWf=(#lC~H zQq&0ApO|b+;fCFm6~Km{wsY46yHmfra=_2Z%g)lgo=dukr?{}?rTlv82GxLjRMGM~ zHO=T|C2Cx@lFCp0!t>Vy&D?iK9zGp~mu^70?WRezVlCM`2xzx?*)&Z(3i3+a${FU+ zGMRW7N#T)pC-|aaw5PM9afIm zzG&$+VI5|iOrh-fii9zil>zJzj*m44+j++kN5@J> zJ5@6XgzR4@N5=BaUd`Q8Q(P^`sJ5aSZCKi%?xl!UU~G;uXzmxD5&y*S#G7VzdP1(r z1@(8jI$j-WN3Y1Fq#rry>aWU$BgH0fhlvMdZq%ZwGt-t}&6t%UiAs1C?oZIt*A9cf zZD_m{>&M&G{I1Or1S@KK*1h@$xSM!Ht|+gnzpf71v@;sM3U>T+{gNOIbtzlj!rRUF zn~8!O90nL@o=_MXsQ#Hu+=zzh`jrV9r&fvE{tdN^o&y^dsGGsSK`KfvU2?)F$(CW7 zKp}lTI9)sQhPpbUj%M>G2R+}5=vqO^@R>AK_HwVuHeQL7o-LinENdB6W7`^9 zr_cV$K=LvBfA{MLrP1bjIN8S!9hcn1T0N%&GtZJzZA<+Se`>y|Y6kGNf_Y>LV+vGB zIn3dcqKia*8G88Fav8NjG07{n^V-nbpK^r_Pop3RVgq~y6RG-7KtBjzaq_A8(tR&E zm-=}!Si9zjt;2xBjO^!qGYQkiL1ehsaPk9Ob`!kg6K^!8bg+PUt{}hvMD})`Ra+x0 zjqg{FXC+i=Bc{!%uy=L-28%%Wt{wIrk$*BFY(BZ?`n}=QNFQRr4G>`0Cte@3TJY_X z$gW~P&tDZ#DQ2Ej@ z%fM%;fma$Q(qw#kO<$XHhkZ{V%It)UQ;Xs|yI*EtPdeQ38XH+I93NNqXL+X%7HB6k zjbid`!A??V_5(9+oKFa`$=|D9BW7+0wIP2SVQI3uhmOqH7uHsMzf(fFM4^YYEJGT4 z+t2#9v#-#`Xk=|%b}f_*!z(T`A##&`idwrU=%U|x&Hn-6v(`vOUfV_ zMnLs&P-v62cr?kNTkR)d;q!xbVG-h?4*>*g*taqCAvf981A1`$=d<&bZ7m+ZaRJ$b z-z+C)iipG}-U}I1d2_#szVt%{x%N1HdzNP7sJ6oU>TUUrgsNFRQBl|^VeH1k+&!Jle zRJ$aHb$z*CdQz9pDd~f*8K0mG=>*0HG*&Y@`_(0iHgTM=TrzMF=-Z85dy)P z&Mq#B4Jv9^6{3PVC*!SpP5;f|0Vo8bW7?9BrH8K`LA|z)l-Fx@Q_#9eaBw_f*X^c> zR2rktb$(O{x4oCqNfkskJ{}kGzRM;o-mr-`+;IWO2sx4smc&_=P9imyOjaB@dn3g9 z-oAOZ##w7wCGOnOooW3tyDOikz3r=;dbaO%*Y1kTwj=#hK#vLsW^J$0=w2|J>dW?Q zzUc-R$6Hb-*h!TpTP9cnF3W8p@JjuvD7H?Ur|7z-MQvGu$uav`+GKQ1OBiM~PB9c8 zTPPiYglIq8JEVl4>4j-ZR2d1IK~ zFnVqY9%U&-?{gzw>6HOiZ9rVK|KAAtXO%r$Osb##AUjo^rupe8ia#LoVKi9hd`Mk=m zO&h&$TiF=UUhi_L%L#oAwBgj3S5hQOA%82J%uWThISd(o-De@CZe4 z?}xfEJAiEe>sR2*5JmLd@ICo3=5Ie45${Gt#E#i%2v;uZtzS7NJb6W5e?EtSL6A2W zPKjhJ=L@1U>($meAdeD;b3k{+)wb`x#?^lGjB3xSoy^jGMttun>W=zz z5?_KSOx{8yyhpl>)JKK$`q3Qk0di(pqa*@R9(&0go7}_StIih%)ge;-%b>yOr~A|D zMwau%;3&aFp^Hk1s}%UeCnAhut(b@>)tq?Yx;%myM0P!EwEv`zq(@4Fgo%_m-7iu3 z3dH(~x@Nc?&`vT&Oc{GHmh<;WtB;_JP&U)yJiIB^LV%jyU7W0nf?P0fjc&6w ztl3%PvUB%xJc$8aPVM>^_~|^STpq@#IoKZL7}^S3C>mP*`)4LSkrZv-nQd1`1=S65z}_A$w{1M3qttp&0AcY&6-|LqJ8)}NWUy=xfbZQ|4^*UN<3zgLE*D2 z>MLUtXdOShS?6u{`#fd{wW#jbWIP-zSdB806I!-q^Yt#2ru_W^$H~yoi?2L{%ygoH z8Ol# z)ucj5y$K*K&|O!hNJI+xlto;^R4ygB^t9^VBw}_|2cdE05aSm0HXF~?p#+wjSUa<| zp&=?Vjt^A|_PTG686~0C#-T=daeGJg$>3dn*UN{GMd}+A@R3q6WAP#9y3yD{;lpdE znOo6Gst@Q@Qym|5-c9bSoY__Z5WzJpJBhf>tT1^*j2X-F_MQLdCRm*1YZW}v!5aet z@=A0_{Iqhf-oUh>Ab$KQA7xSA(9AC;;8jYvZ^xaXP;8E2-UeMQNi+3`fz1kGZ8XfF^P0iYAlJU$5^zaOJ|F%jsbfyPbV$0%s?C-Fc%K z2T8ztVw(Ia9cZ!YrG_8$S9_h&Q2wVH7K7sOnIk`CW2EvKOP~+tGS~~HDm%)+p;=uC zJI#>oqxTJL_vAEhXiZ*fESwTXh^vPAW5!)ZN}iwB#h|Q3mkqm{X#Yj^RP*P7{6ad3 zMG2!#Xhz!4SpFr9WKc5wB?@tXpQ*xP^Mk&c{9J{sag>7G9F;jcc1V~g86_J}v~^`! z;WkZwH{~d`y{WgL+pkAJ<=7}Jv{*N3Rp~>2<>UheNB-NQDtA8{JCOkFqe2U>nS5RQ zn-#0Nrh3*)8v!%5lHS7w+%XZY@{@LoIS~(Gds~?g6Rp0ZReLp;81{ddiy+I zZnF^(@&?1@>3d{eQl6A|rp);8GNuT1a~ZBD8%A^n0p!kgHv!PIn|(6qeYO(wrzFm^ zb+qzuY{@p31FGpy)3|8-2^T}f%ZLSpBvWgJ2rP+_7aK9Pqy-ueCuLFc-N3Zi=;*tm zw>M_1+|pJq*Aez$5gU1(Bg+FT-E_K-AhwG`)1B^x9$&L9ql*mllGgXdi}#T-Q^myJu-u#V#5H-oCPmflu>TJFespX>H?`btOm`jb3EX4q z=a$6wbr-A3ol!6f*1@LvJMox|L&PM@RZ* zyoaoAJsJl~2K}HVpf_dA2J>2_Msl*q7ROk&s|>frnfDH;Wl%3H!*Ig~4P(86P&`$J z-Z@G2keL0XBmj`OVbgA&mEqgM_1wr~A)~Fe8vq)CM3`#l8(iCJMwjD_b2R^J=SUH9 z#fl?TuMfayh_D0a;Kt1^z@T_wS4QVZY`aRCm*1dfr|j_O?e;p1%;KM)w|2au@7ArQEd7fXOsC8ycw5sKy$^4&&?Su}GCSnWQG~B?in2}?&hZCmtxsG$$Ug>yA+flSP z{5am#rUV`!EoNm+0**y{1zEauH;8`JBL(s({$-k2MvI9(v0z8GI|>h|39U{+vp1P^ zGELbSJ{RRHa!@muEi?6K^WbRy^H9ZJcny0wBgTDdI(ZMZWiCJ64y(~z$+w|;GADz& zr|^h4ZIA;rO`5QrshlP1g?glq_GLf}p1TD0s(p@k^hECKO3YA|Lp$BD<(4DC;ZeC)Yb^yw*q>T79n|MB~h6p5~xtC)&=@B4S&ln`LFC z+3Rhp@!U0aP(Jc!sg7W}bdUV0q??|elA9T?&Q|3HZs#phc#yQt*~%*@DojqdLdi7w z$yfW}ueu*e6kW#e7BbZggP!pNH^Ka(3X1coi9&nv0aQU6`m z`^gDASoHjX1Jg8lIoSk`VIhaOjHJg#S?^+AEjjTkbS^JBPfMV~#<{WG+BkLX(t&AP z0MmXKnBnX8*k6`ZrQI5sBVb|vM`UB!Otp(S$*es;|G<@FP>Vq884`IG{u}Cl@>bVYYA+#Tv*rNgt!ofy zW{+yjs?c3Mb*3(0m)8t``UCn=y0C zlYxSLKoPA)-V$ND{Zt!Xe-n*&*}esH4wQOWM-@%IT(@R-5AY$F1kqP7i#;V0T6pTR zTdX2thjc(mXE{C_+n3E?>iv#psk_N+zvRwyKn~|-kIt?E_Pa~5#MAX{u8fzyK+i~IYT9$`V7B6^6DRJ z7!%)&y<-0Ub!V;k3OQGqMQ7d}_5nMQELLj#|XxZ@9QZc z*{&OvS2;pEoK_lQDxi@j?&nH?V!&-=-x?l9x@&;wZafRCjh3dPg8vsU)b&43&K110 zQxD)7X5(CK-36qT%PqwA_$iVwF$bj;(2p6YO9Gevz7EsR;W6Efrr+>Mk!&m7>fWcn2&Z%=YrstZ-sa z@6e8AItFi@(tz@o5Pj;snfiFzqyqcjO0xECMnV_nkX=liN@wmXZ>lOFP9_h15_NO? z=ZTxT6RTS1dRmZ$JGaXKy(?rb)hJ%^r*WIrtS#w+A?M{ozEF60bE-O$v3lXZku=qV z*~)vJ#p+Hv1Y<;}u=VL_H9zx?HE$aotG53Zx0O5aKj#P`#$&_g7XQs`}MNwrHs% z>=JZtJ)%?gruLsZjpDq8X$?`XR7`S*cbnK~PWv zQ-HX_qM$WvlO8}Ki5#Mtqfu0OBf-%WR;dI0N}q#TgNCd83 zI#DxqGxSHgqYRTZMLbw@Q%D%9+IUW>u|ND$qh7CyXL%oE#pFi~xtBc8^H#zM_>~DV zL7~8g^2P>C&~6cSftD8wy=z4~&KqssN)oPOXpNE(TE=;Y>=jchJ-PuAX|ZhAtO)ZNo=^h3u}r0rEnaJY{bAm}G}vLVWqM`H)Qk;z$Ug5s!hctc)89 z!=#-N1$6ii#S-_l1f9&(%KfJzX%OpNBZY;T*HRNxU~ene;@^or;J#}XZib`1hS% zT}ga<0BXnnGfbARTB;oQbn(rFgQ{^kO;0T<`8&7t^0LfRP6YDw&zm(?DM z7lG0~8r-cpuk%srFl}54*`wfT6Hs>{9{&8T#^zqiACUj>2`NL_tJp?&h_%#{) zE!SEmaD=#8o=RJn-M_ zAJIAEWXh*Zu*C}S;P=$mFUA-$pQcPHJ7`w%qXwB_uDmrD5DPT)SUtBvJzj;|=W^ez z7QO=!+H0*g{f!!2t(_i%%z_b;qs!CM;@RCtpl#>a@AYRkIGggnyq&R>#jF1I(FNf)2q8@viWpHN|@8hg@ z@5X5->s(P|;sEI(QVkR(b)tqQ6~P`tK_L~pN-x6d-W-nJH7n=J1q(+`^GDdJM*_ap z+P91BC%bf-KG0^=%RJukYLqLQ8tRY>v9G=ms%fXWWyltS{AyA*k0Dt}MFb8yRWoKD zBP0FOS|%!=8N%^=CKNB-@3TfRWty0;>Sv#AJUEXeNDYGzIAnX zbPD;hthPV4 z{=!1%XFftTg>~H=#7u;;e`q7VnoZc=ey&6kf0AZS)cP@2-NBYHb=@+rYH4lXj{pEuqsU@RmzODhQU&kRC12TatR4ZZpm>~ELKDe;#p!Gn@NXZ> z#BcL`q6^LhocUC#FOr*rS{1?*m+{6HX$9)OHz7M^0BUWbYK2N%@v}4gMhHVE{JCgL z8p*SA{=W>3Xx(wTx^lNpmYY=F3%!k4Aq}O*?m!u()ATG$@&;+4eCyJk^GDtX+Bbem zr*Y1fII(voR=~kwRf&7Nt}s5vW~G8DY|P zSFBb#uO9dV=cda%s_cc|8W$tVz*bZI0s9twq*}dK+)Jr@f{xK&^u(3i!3<&e6G0ZG zdTq(-eWLpdJc@U8N0 zMK?$KvyFMq9fX@(Ol<^TI?16zlzwu~5l>>PSoA3?9Qg;a-p zc~S0#chgTq6L#;1T~3QO&oA};N}cX(N`~T}gFDATQTrDj!!p)b4&^gConeIK2*Z9Y zirtZ1QG^^)-8s-Ba)1L=eR7?F@UEvQU&^pN3 zN~8*qe$C{}(y}D@?Mg`Do<62p{`p*!S{4WJd{q82uW*qqF=CrP@NCP#ocNI@qX#Tt z$nqomN;x{B+5#P5%pf+NfWLk;O`b4AJMRz!)x6^&flyUJpt|H|nk^}pXQ&o~KJ=zs zBA{qH2e!UT7k&DJp<0ovRqej9TwA`zDk>9;%RNHq1CvpH$LHr&RZ1jas_Elzx}$C~&TojgUfC(7z4(L0i2=+;GqC!{a7 z*rP~3qbQUR=`&czwS0G9 zg8P(VxuhSfpXMuze&s%Cr^*+a=Orf|dM^qdQMvO4D?kyvlr$fP0gUah!gw#yiMc+M zbXaH$hMD<%ubO9a_aXKEP<(;OdxbQJe3N@Y^j^9~GvPgfShUM`AG`oR1C|0j`7g9l zQyA@eJ=!N$VV`$tA2ywM0Mz+Ztbdx-ryf`f_!1Zf3)ng2YLtX)BZ+F0V}^GKDkJI_ zyf+~@3UTQ5UAQkOb(OqN^9{)k%RjJlZjtGQ;RZs7G(S0|?Z5vC>*CLY=Es^UZH`PU zu%Gh?KD0E5B4viLa_Pe5nFIxaI9f26Hb8AWY?mxBn3e}i|1^-)dJ&$?B4HUeU>7n` zBCeoYd=0XbA=tJ}1%I`hAfv*;2!f!~VF_%%*b>i$$VdCEcy0a46l{8tu+2*5U}RUyq3q0HtHqKVaV!1 z&$U`-MEnFE-A&J`Q3k?_hq-WiA$xKsFe3}V0hrvIY=$*$CHCnG{C*|rQ4-F#=5%#F zH;4mKy-)iq{=D`Zp8gKeUk>JuQ5%0rh6Ab{S4;e5EK*s8<35)HIQXOT(w+V)bEbj* znuWjraLtIH8B6sckzEsmNl%o0XG|4ayDZd9?_aYD_Rk6D^ZM^_Q2HSGMyF`>73`YY zlJfp!)uLn{`{dM91>rFHvm|(Shp`v(gOivm`Gd6q1z^G@1Cbbyxpy*`GW`+k%X2J1 zx1wv+^8_R z9|st2{E8!Si$)AF=iFD6`N5MI?JDL9_lkf?d`NTsY1W{=ZCF)mKAso+0j`o|z7!zA za)SH(p%e7AATZyk8q`MR&d0AK@_aSvB+) zXFUzn1Z@5CxJNtRKp+nY&jrxXf^<86ytl!77i4dS_>k`nbdE;4HI({spuJaXaLXY@ zBv&6Z%*(%boO*YC-=zs<)crBg-iLB(PR6GdBv zt;6JLODmiwLjfWmhCTLee33uDf2`hgB?Jo2ziR$sK2ag_or^s5ps9E(`r#W-xc>nS z)m$msnbJ1&oy*u44Vrnp(%O!);U(A?OATM0v)$8miZ29? zRbbp{MBM`l#rFH`wASiHgouKeVfR$w=ea}1tSTLe-gjg^0h&04GyZSQrGvyq`8@sz zoi%0TgP#p1`TfE@f15)7bLelfI%ER1>y1-h1|IxK6S-P*eF>1ndrX7*;5RCz9!5BZ zg*-2$lo37$L%lG%+>qbLj5>j=>5b(i7>4uD1+S9s5pBlE!Pof-&EVEXd&Pv;%Io73 z^C;C9P(moIKk%^&#)cU>vp*IN+biQg=0p))^F#TDUG`D1O!5MtXMsJ0`84E}!h zgkuj#UJrYIZ0uDkL=+>hpUJMXC#;#Dhl-zn<5(dy5Pr$wG~ls0vWL%$FvD{$*X@fu zd9j&CL;_+*!CvLjz`!03t-; zOz%igZo<%eYlC~15xz75NWLzFPo!t976Z)0L7M&|l5dwQi)821#cFe3_%HX)mq{<8 zM9jh6wWW6NYUdM*RtQfE#uvzoQ~qoNhD1q*W%hn3zE{#IbI+XdtgPmF3Sorbv`;V~ zW259cA|Y@RLCEZF3}86=2UCH_h(n$PH?8~OoOR8Q4eg4U4~C6Geztw7^sBl8Xu?FP zDvEHS#D~Jy`UF2UGF_U~Er<>%=Xc!qC9yI$Q`9@D>+K(Xws^e`;Md{7#`_TCi%5Vg z;bOCg@`4QsfacilHhS4+B)gfJnP?-aleakoCaC`5`GaF!l&Ua zj_@lPiMhGI2Ei!xF@%zcah@p7o6y;sFrR8=^kGcAFkF^k@4b+{*D}N6Vy2LUS7=Aa z_kQ5(#Q0CWy1fxie~Qxw!wswYuiK7d}vfpJ?3s zN8EU?t$U7Pa`*Won1i4RBf6{`k@FYVp4XI{>(G3a(0Jqic_6$ER0jNL`h@dBWKNL( zLdJUFQ{e&@eycvZBuD`oTCLG6zN9+M|u;yz<(E`$o;@5xJ6$L!$TNEbuIHCkVLb!TT9smOhsi zDFQ^)>N1SEQHHN6~8N=Rr;Z zp}-lx*j1-r3g5_jB)gK_5nirHjzY(72#bC?oj<>%yMk=3kL^5tH_xf^v?81-1GA80`to`u;&2MN1HJfHlDug~q`24RfZQC@_i*}%)~ zp+;Xtjq_6chFjD1-zx;)7<^*yShk<_{pmj*d=eB$_=u`+(dYwABn@MRc5|q%ws0c(b@n5iUT^&5Jq?j^Gw9u=gU=hu9ln zmWu_cbwl68N#1Ju68J*6&g+az(!ch-8FZst+!XsQ-jOT*t|uSu`paro?@kG_?8W)Q z6CCp*a?dFt9!eJ`^7_pu9uV%3SF>(q0OOS0)E9qu@?mnQnxOyYyZx$aTop9#^B$W* z?#JvbP7ou&yedT`x#4oyInLT!UVXh`?bAvw#OnL!{H4TFSgVhdu77NbEI{?e+H9B; z-I7V9%uGkz@ILsCK)mP2UiQ8Z4uNkz*xnQR-q8H2-_Q8xgXC6H?5l`86Oc~?=>1!4 zE8n`3a2`x-)1~Q2$J2B95ux1j1IupNC6gxQ@n>8%nM2&MRPIKMi0*M1s|D|o(HpB0 z1ThVvP@MN{v)6IWSxbbPC2(mu)|Ob)9B(23RXfggX2NbTUpfF@6HHsD7y7rP;fCke zX-0GTQsBo4JlP8M!x5TL8G9&yAT)3Tz}<3YU!dm~cU*8ipSg_HM5Y_U@b*hPkvi}W zEFLTX%0L{5{A|mBt~Qk_ph*2Aog@JFH>3f$e{Cz4xWhUWZpdD!!&+Xm_#L1j0qb_i z1#R&z4lg*rN1swqu?q;y4k8{fybNaIhZ-JPuFRR!57J60k0y7hqGen=St#fZbAMp( zx>uS7%>H;6UJ~`=*RRUq^ra*dE2mKuZf+~TY5uMGv-gKq>4^u}=QwkMX2@QAo{05X zJaq%bL$&f;_FLvL4MmL4F5Bt!Lv=x}Ra_V*#s+6EgZC*gA6i%}Hm^7jesbf|5`g<= zI-FZZ0Ncl4h+hY@7>Jr@2v+w~Uuxrn0BR^3a3+~wkPi|ec=YLoO+!He$dtg_by%B1;!XyQjZ{HFr}JpN){3()%-J?^Qc|sHyHsrGxAqtg~;)}5R=54 z1s~XNx;OpM0GNdjq;F+`^4)YLfMLq`>x&}HiBKqXrBavf{asLgpXI(k!J2UK)Ud+v zJt%LK_SPCUKEAX5-pqq*`2+7VH!(r1P?i)h)FP=Ue#i-q{-+jfY^Fa#Ye6O5h%;NX(l& zYM;NaCja?kH4(g_h_-_X!qPt2%LR`s?^ro_eqKLhAi=IKiY6GSxS3GiWD z_+S9_MmbBFQ5zfeu1((MP%Ii;xUj`-GfS6;qoxOF?)4w?4j;La_DKc3y&YQCRBuy* zxncokTKVB0kP`diVES-ah$aOC?`g#4xRDod`Mgp7(l`^t#Fr+PNrLTF;Py&j+5SOq z#~Q3o6!e|rt8y7J!3^*Cn4jBA^he_9H*vjHb;^glF;LrDNGQT@b+356qG{=Z#xd?j z19ZXsUbBoi+Gq9Ws29QeAn=Ei!s|*)A{Z_IvxW$Nfvl3X|z@ z{}l`HWq>twS5OnPr~RulBzRB%S7$`<-k)DRy6WO(U{?uyBX?|;F1$5hcZ19TAEa@d zih>D{5X8bgJ?~o&bjfQ~!3bc91)1?c>1x5)|1L0qKHT{`kgNm#OIj;>T#NuD1gV1m zAMHSn_~5q-NTnxg(ZG@h%P5kS*!fO0O^}TMi-ud zIQmI5f~~D`d|D7p(-Cu*%sGGqJI@_!V@o0I^*;F^yB>^VQo9z6kE#7OfV7S``a5=< z-BJtL_s(!wc#MpgEo;vM{+9O53Zz8%{3n%RVU%rR-zlCw5 zypn~=#5bk9(JOMX0onf#WA_-GN$@`ieB+I6Z;U5)@`M{}W82=?*l=Upw(X5=+kRsE z^1G|6x_{l(-MyKf>cNYyp6Q=|rdf$3B*- zFB*|V9J#t+>^qN^4VOPROw8*w-M6B!Y?M8NZLCUhe5IH|3=gJK8`A<%IrXFH5-wdW z&ZjCW>wdgZInV)Ri=R>-xPVJ5jxn{~om!{s>yT-Yn;cctnF0f zZm%L0&Y@=Z5?2ibVJ2;FBKACQb-QYpq%=#*t1AxFlQ~lYB}M?4`jrDhVD9z-5XRYX zOo-UmL;J@^$;V|Kv01FN@T>}q$pP`(r@-93rqcg`Kj8jf_=EqO?!eB<{$I2Modm7u zJVBJ8t!K=4u2&|57x0KsW_x8c;)gir2N;qDq>=BC*FC=7vc8y)!v2R&&d!;RWu;E_ zTNmvviYL*v)yO`I#Z6XXzUOvE=L<90YYa1D>^4ByuAcxXqrIUf-tuC-^uCVYEr@-^-A}fPjG>y9%6sxV71aw@m2GZ` zgX2fu=o}4m@7%`kE7v~69W1C;PxIb;)gmgdwWpK(8eM^Ag-IrEs-c%@pS#cg4SS^@ zC4)l`PuQ_h)ab@PXc30R5|T;8$N#Vx+T{>5fMI5|LU*FA`D5iEG$gV1jru1NUK5r; zVxn54jL9LY4YlG`i6Z%1RSErWtR`u}qcv~QUXS~Ru)R{|_H#(^TT zsNBtQKyI6;-XBIRZ=^*mZ;EmH7lP*gQN+A-EbpLwNwwo5(d>X?Q9YsPuLIsS$74{r z)fnW2BH4-QqQDU75HmTCgfVFf&U((<1u65N<1siOR$A_5yX&Em_vCtm%Y6)kXaU=I zH67Jo`Yiw?C^5^~T!hc{3*yOJS6qJI=gA`>rs#^Hgi^ab9B7#gEBm@}*242QqdUZR zCbNM@PIFN}+W%g^SXlo*>lZWkf7LXgdd8%{4gRBtXGB#^`c;z$UvXN$1n_LfKbpfDO7mhu|0XJ=oJ-Tk1_?uO?mi{A?cOh+{U7bT7Z z(9NJ-v>jZLWKlvClT3PcG``<`Kz?lPx$PL)CRmgu8m$Kz$Je-s=cGPv3&MI~un?2p z3e-9QcVqF((-T<}mE(F#yaK1*c>aBhk}fHa1$BtXeXXhm4n3LsF;pR*hK6EdzBml- zd`rW$;{)OoND9IKLwWqKn#%v=M%b9SIXV6x+z2NZ=YQo@&b?v0vwY}Cqa zPFEK!7hD#~RhDRztVagxjI|t8>H+wi5s{Jb94-3zd;YSl6HaKWtA3<}-)RKVzLN$C zen-*0A=#mbL7KgI%=Wx2Yxy=J-SzmoX%^pYdeNygmEm}p!Acf{gDN_Qgf`-E!e%*_HbXlcH5EFz4S8L z>kgtRwK(d5`aW{>5zaA+lGw7M-LZxcc`2q5e-ep2l1^D+bINyyz+}{KmEB&Zyw9Qj zq=ZnRz~XM5VJEcq0AF;y*g1DQr-yDTb7GiJ20cKR|4Z?GbM%`w1Dto@QL_j!)aCvZ z*bP)hr}QoO_z{5mKXR4 z#IKBjbI;_gfvZ=q_bX&rePy;bNMLhX`|0 zH>5p0ZovJgLS4w^iGxWvCqYQV7r}m$8!`J1_mJv#x`KDD%tS}qlC9l6Bi$KchQd|w zD`H1JM?P$>b-x}!m&X^Gsq>uW#cLY@b{~_rUJ|?cOKqd@5?y{>GoE3PmLQv9_+d9E z&X!Ct2hKaFz>h*O4nHIaMO$6LBgY#B*a--E$@$BD0OVUIutUNwo`tqk)4$^)9(rW% z%zE?kVozC_QdTm93Cs+w4f&B61$fa#*;v=(s+g1xQBh69h_cg1SImks!xf4Bb8urC z{qMef{S`)Nafe{R6z*RYvEzO}=xH^Qvf8EAZtSx^-1|^@USFYpRQDC7RAeai{heR8 zIJY`GwmnnUqins}%4;CzFrV@+<>zVt_;{W-#Kl)pJ08^fs z>7yjHrGY!%L%`xO$B(50vBuy0lJAq{--!-nkxgg)uba2ee~xB`WKo6E+fElU3py9$ z7>(}YFiW+zmZyWyTtJ&KdU*Yy3|7EkX9HaVamhR($~z=aaw1@%A~!n(D=x|RN>^MJ zw=FU*3x<`#FAMsW=p-hU(k~05ie0uOf%1f1@z7a=uX18nY(3aaZUSaop~t*n&T-S6 z^6@jA@=9N+(pNh7m1Z8N7c<;V%sJgnC~>|VS_DsN|K#Z%F$S|1kky84M z-gA#7*n4hN2PTL zewblG5hLcffhGBah|Id`gT^=|xST&fuw3B-8`=dzt+0+`y#}pS@AQuQO8)IVWh;{B zSUoVTWM8`QSUu!d=G9J3dNoG+^(QLVFX0{^{5ZQj_L2D=Hd!zfD8pP^{KpCtq9I<3 z<~$1=%#u$D&!hF`*L~siGVd|c-$?I(CwjIA3ev4H%)wOW7bbFQi${!#OnjhBPe%-O zXHKW1)2^yAM%SIg>X<(HbA{^6kL*}+Tu2|`0E$)}ppm!1NH{lQh8vlgCEM>MKQ@Zd zGe0ngT_-vF=Bvpk%S2l8J@hYgL}%l963?2>tAACRig=8A1n8DlR_Af+r=?TqSX
}znXdrUv1Pnbv}MXo(?{sIT!EC60bq(jG13;7UiqMU3W3P+A_G1miE25)$k<8d>~85GMZl6 zAp>BUbHmND*fVh}%1r(bJTgvhYyKpuiR_X&p=XeJf$`ClGt7QUV1<1{UxmRT^H!ApPr=hFq=&tInYN#xHx4WD`9|ELXv6h>xLP z3_uQ#Mwp_-N)PG&A=~V(XgGJ~F*>$Nb>P7Q3P^4Vb6~lpt%IXVwJ}|j@CWh^Sj&xw zi57xcZ11Iy6`=CdvG}D785|A8WU{<5z{mew^mAv4TjoO>I2HqoQbu4;ov;m8Y7!=& zW3B(0Y;LSOD3u~TZl)ntlpLjppKYkldozibIc5)d-Ine#TdCKJY7pD@y|%BQd;&P; zW$?e*^blM=8o%t-dO6{E!ym6nStLj|ew3M0N_Dsb1L(*msWgh@E(X}+NNVH=W!iBT zjq6blOpAGKESl!scxkn?gVpUqR|-*8vqv#rSUO74xvqf}mV;wR^<-z4-7Q>&W$mV0 z>?&55xp(P?k-0G#$=V>G<&%2@K*n5bBUU=67_awkLRMKPJb z&JKqhlOa9((r2fN9UGnD{F z;+5;!neaAS59gr=GfgWedof2jkFIzOw`PsiIlom{A4>Hk0lHvDcv-Moj+DJNXYtxc{G0%-zDK{nWbWMFcP8u-L%)~ z;KmJ%ahd4ARo)jqTQBF?KZXQm1?@r1dt5t^vrS3;dLhWSwerMBW7zeMNZo%`g+LQZ8gz+YYR;3UL;jw8~9ASCm zZ`qrtCLDJoxvr@LWMuMn+0c%G7S@6LcSb!?B0WV$=7}>t4c$ns-$x%j2OAlkhh^dt z9*p`a2V|qR0cZ62fcA;qw%FulM*j;c_w@LvNUv<(-iRWj&dYueY{k}Y@~9DEj>V3c z+*0VLF9k>Xwy&W+YIagg7R$AXkypp;)?<*-uI%3uC!HRF*5(ZyYe6}drBGY_W8*pJ z=Y6c`ZTD5k*;=)BCsR8)&)QCjIk6?~ORt#kUemv_DxHt&ft8hybAZwl+Sb)l{5z7J z&LO>30rTKqnBB&0(x7a1^Zlt7l#T}l)dgo+L z>T9sXRVb-5g-PM-DVL3!N@?7LWouHsa9QNlyjQ(t@H>soX#o%CO7a@U6e2& z#n0B{5RG(Z$$J4*@t`e)1r<&~N#(tnHwWS^CvIIQ#*Ej_GOtUE+Mr`N+*^jjBiAPw zNjPy8InrO--a+}(|ID(d6!XQVe9sA_n%jeou^C-usYe%I-&yQzaM8UohM4SoZniAv#rAR3>;IdBpq01h zuM|@)a_dH{S2-RsjmPxK)d|sg zPa0~UNmF(@YeL6)BxqN!eE4l3K|_DJFePSkY_>jSW6%uDrmuexN6WYXkk(0%Nzi>H zr|{i_aPwz1+3|elGI};fpHHvP3AKy_eM2~rR{xM)*j5b|1%fXpm3Rg91Co5w92uz3 zPXGIm;1+&@^I(Rcv@;v6Bq4)1y_nI?`vGf3x&|qw69@4CG2u1k4wMjI?Y|^L0vhZ< z^zef_>a*W+UVl_N4)!=B?RU$gw8wrkYGRjsy&dRvcD4=i@j!TACHG+1p;f!md7D9QjW+Ups^fdUfB;K0pbukhF1u~2v{ zWn?fzGy@r_5K&=SmC zc`gAxb}cdE@9ecZLp{GO_(sjOE@kf61Pxci$&B=C&ylR{ z;~|Wen(Qs4ud|c{vAdESqlTBW+HKM1VM_`5*zgt~NTuDRx!B^mV5`id{>NQx3uHs( zj*Aqckpmn(#UFIFe&}x|6bAd!%*w6k0jk3lDC?ALDk`S#vzd~xw%B^+8!d!7W^>A^ zdBe)I$%%(&y|3LVhEi+?%C28!txBHkRHfdTS6^_ms|Ca8TU#h&$EpcegutdYQSNGy zEd>)rulZ4;cPb-yTTrMXGf`;{7#U|s?P@Z*h_rf#XG}xKj8{sC*X3-kXzT3H)L^@< zyEx30wk&2d^jRl)1zQxFdW4d*t`$*qfl@*L1MM+uWE8WP;Ekrti0+HhaWk@w#Qk0* z&k+BxRdCLji;TH4NEUciPOb38902m_$dUa=w@zMj=ZXTt!tjeBQ?*>#_*JIT@(EF)sXHk%=j_?cTgBy~qw#fUyVOJuL+79JzQ#?Xv$CDY;2qW=_$8yv6;lsUK#H00l zAO8G6(Th#fJVAN9H3+-J)4>WKq>B8F^{>*ggfO{7WaWbm9BE8W_PPb-+voe>*qz^cDgYHmn zh{#HBPUnvA3+KTdkZCE8u7C`i@Z(vq^0Gj=rX?E zT-kWV!Yni`NPE|a=d+hp^D&t#V?4L8s_5~M>1(;{@!+D4Uwp~0tl5u`C$9))Y9r4x zCn&5DA?4>%#XeMD!rgL)OOIlR?Jar;bQ7DLe;N;zX$LSY=8(ZS;`Gw<^i1^exVM}~ zd&86OSZmmXV(*^X5}$UoH9O6YYQ1e(^z74h)wv(2 zJxrEVp(yg}HhX)pdLmlgKJ9ioI$~%QAl~wY-e3RXZ+uB7CLCuMTIS3wtFO1(Q3U+H__bV6Ki)K{L0Xmeq_Yhs?zjay2&Vj zdObWSG%omwGf%PhK5;HBf05C&chz+IC&}758V!2CGC>OSLy-$--9CnbDZ}&$_qj@% zP@kWL-GP%u>`;m!QE`GJdI;&Lwm&0r%2Hzl5@wCM;P-;r$F3jXx~-#1*2ZE%vTpl! zp971M#hZzIap=2?)md*q#T}_JwuLC_DEI%`P z{F~0P>3H@$7Sqk+u=HDcg%>*h)uzYfjT!dWh?N4qYfoCg_Lrf8-*e}2>X)}Y7a4|u z5R4-dzo>|zIRE7W+a>??H z$EdeWj_|b2QumK@)s6C2veUIAR*JIGChm zGy2X?DpKb-k~oz_lj7phhf{09>%Qf_XTI&eufFAJN?3{N-tN*1!+Q!6LQ=_dzu7VT`}Q9!dDMI$ZWN@dEwoX?2RMzcQ+pXt z!muJmenftLtNIoGIw>0qD-y;ZfYf@V=y_DSGsUlUnb}T#Xc@4dgqCe;;Fk4}BCqCk zgkli|17i~^erslDD_y?xs%C2IsDRdfJB=hRX06!KEmndA$qC~xJz4oM8RsSXf@@8V zCO@pEfQQK6)6z4YGfSotO7@)=(O}ATIE<&4vgk=z^1~@+gbUAx%Pg0u8#Z1(pRL}c zZsnj>e0eI(1=h4EMUL=BVHd} z9m|j96ylNq`ZY+5?0W~bjF9Lg<#OY z-|an+i2VIb^h8aB=8mH}EH>+a-;o$F0{bbKN z=`}D?24jb@1Y9D(agrDDtg=$(LEH(Q)@L;x1}B5_Aq~Eynx4KJS^J*&QSY{G*z3S2 zBo%!aP%i#^EwqGMt_I58J>LthzbIO3iYN;ZHjl`VB(4Je;8`CMUBEtn^83Q({0YXj zM2uiNctz5m6oX@skLtrgTIC0r&-8Ega{7hOahgBvg;RD(EFQRCh0fs^^Fg^^gpZosV{$QhvTOB5 zO;dZvVO)DMfVZo`%|%PjKvwov)FiyhupIbNCF<=i>RfvN9*HPjYz(<|ijQ-w#TWC7 zO~s3f+rCcA?54T7Dm&4v&duiHPMxM#ldZkuZcJCXZ3)cs!gezX-hmi*|ZC8gBD&j*R?jrI`{dGpq)$`zG|HqCLv zRdUGME2C;iD)nprFqry;evj}c5$a+6LOL>(W%XsY`*THx;AdPD;lXe4?iHr|3Ol`{ zVN`>OvWd!jGSPKP^~k8?VKs+zefDNp=+NwLezLdBp?vp_T&3&S7E^W$Qh6@1q>}HH z%rtUxyDpOo^A;F-JuE}7HoYxze0cJC8WAeHo)yd_T`U>V{<*)7pSLru<5wB4eUeMx zS3f56Lt+u)ZMMb5%VrNaDnrF<63l;t6Z;QkCj6@y*UT!F9>hs_Xq#>b8j}2x@UolQ zcr_=S-vGV5Er4r5_J{yzg&< zbIew7_HiM%{2`umUP(V?3sS=w#*|v9qkSjhj%uUlk5YbBH}u~T-pY+_$sOA)(xyq$ zGpAwc!}5dYNC##qI}v*tm&Y*+q$zP$#pB~zb-z@Xt5;wdF&lvzl;D@*`Qo*hay(k#v3uv*RS)|ueRfg0^5ygJ!9Fk+9x9o6Z z^Y~Gq{We`R63+>Ax*kB*<9EL~K-OEY%NsZ!j9v_P_o#hx8JlF(Yx@}E)rzU=#yGjU z&J*=Kn%rnFX;GIAm%!a??3vqr-K|c*fo)pYC#N{yWJ@7+&uhMY4%!$|B|HJ*7C4 z&nc0o-W)zYsNkmp>~{*9Xv3#k@$@(Kh)HIKi@t?q4Oo{_P)Coc~L1Z2zS5wSu9!=Fbl$0AQJFm)auom-?<<@Ke z`g+PXm}{C96Drfuh_E|w9i{6stck(ti$wT(QbtfD@H%q@NV$7gp~FesTC1jqyg znZP$SO?FoC4e3L;hf!j?Svs5#oNt^Dtgr*vR~~k86C2+rQo%lhU-v6jZW$QT=2i3( z)Dn_3KofQZ=2q<$b8Ej=OQvZ^s~2@P)f2R4b{K8S0h#m4F{)~y@spMgBe$}rg`QUq z8P!W-FKSS-YzPnS2Eq{~Ys0K_s&NrQtB*HcUhkKpUo^ zG(#t}!g{BG5jw|w?bZeb)TVBod{tiLNEVkPiu9#4>mdW%p-Cg=9s$)SG+-!}$j=1r zwC0t5fNi-+SmFWAVWVj{{tx|#TV~$c#Y_Eh+=c-=nLqgWV~{iBm-Xhasb=&!<>9vb zR^^v|z$#7}SE@GhqJav>NxdkTYWL%2X~g$3d^czl<5r+;^GXDwHn(Xe7vM1!9eWEF z5`MG;_9BqW#I{Q|e#u%B*Q%Xat0C#YN@|a=;09-v@-Ix07DP+>b z=vx0Z#i3_C4rvL+*uW`8f5ICHON-oP9;o_@BcxR{dJ~uT*0BzXxNAu04|EIJCvK1zl=+}}-vtpNea1NO#K-M$W0AzEh z5l6(3iT$mo+-O2gA+;-`7&6&7J+jMKBIX}V`)gtAcR&~oSr?0g@%;h7xfeO)R(t~2 zAd-h4zS)AA|6pCEv2#f4njgEnbJu~cZJp%;Qdy#t%nkIHUE{+*CPT=MxvNZ?MGr#7 zmVo=%R>GCNEy$S?e>Fsnehbhg<^DF#K4*Z#>&PB7rR}J*nO4iXWbbVreXzs2bVq-l zmsfJjvc|q>d@>`EZ(Sn>q@x;a)I#5{79YUPtB4*6P15PPB$oL5)kCkW~!w2H4f)F{+~@ zFyj8`HvFw_YvgNShm#-BEV`1XUdqgof^B>SvB+&0AdhqIMW9e)6Qxh!B6Tx_Z(`63 z-UEGISZwqM=W^U(@kebsqGTv9@%M}F5!7nWCH**O%05P?kwb`{<_ec4=?>U2=W@W3 z>Emjk4?XrvIT){x--pbqO-2n8A+H0+e>@wGDBCxSdg&(;N*48gAD%jD%CJrXdQ@AK zN6q!Y*h6n6qgkUMvxm~RMN-6?rTs{Z-1WrWCC!8N`9f6S9W0ua(XlOU< zs@$}s(E%+}9{ zd=dD%jI9XL{??AwmZg`v9)+8jUXSzkJ^pR`z9Ggf%y^)#?H-B~J&^ZRF=LY>-^Mx1 z%iCL8+O3l0hd+Kw4NEtx&t5Mag@rplH}K;1M6Xc3us_Z1G^gQ|BhP`+B_za<_IuC` zI+sn2($iIzpws=!fEh2{?4R#YRuUG9XJjA5iA_r?38yXHGMKew-Xi$yw4$aGE(=P<9#c)#vnew=ff zH$}e74x?6yYD~wf6`g1z8cs+-!KZXYcH+ulS9R(Zz8gH$wkR&Y;W{J1+eH|EPj@YG zrhfXvMQ|!kIGp(JIYd^CLDuD}dctT14fh8H60&r&-SWTgbrdhPze#!l{IfvQ#d_;2 z*Nna@R^}_rZo(Z26Aw^6)EJDBku0lb@_cc@{FftY5EeM5x#??0b z?U^6+tnijlX)tfrbn`ECI(PHVAR*Sav48LvDP6+Qx(V=+N_)VC-A%XWw7A7e`JoeMJL?FySM|)eE&X|gLz|T;Cf0bxttejIx?_HE6+bz)y_)-J zlXE$(zw1{cOu>+9JQ-&4m~f9wpUGx1S+JiFm$dGbZk^#fktfU_;_~#0Y=nf!wxXvt zM9z)&0V5EJ{Ve-hTYkag%x^^cP3)kM-_ACQZo;q#dNGHXlj=N)mrYnzv~?plYmn}i zmeC{QZ6$49G z`6#m2xZOx|Nxv>=Lu>8qwK%cAXsg!ZBew8>0=`L3Iy_27!a6l0nX{0$xuKYU&*8A@ zgtiJ)A(O`C`iGLn^=$(K9(Cfb9q`s=AArCaaqX%3rfK|?hSgBELRh}u)TrTHHZn4S zuKFX%Fc~Gi%Qm$A`FJ>d@#hGAMb~)=gZg0CfUcf(9Tc(t28UzvGOAbW@7ZCOAUjjP zL(hGuQL654)nNO}Tev)gJZX|PYU#S~*$L?%GFj1Zqjmv5qaPswD;ML|u5Fu>u5``P z1jNz5%=sr*dg#291}GRt>ELyFN?WL0ubzHsj5RSn$m3};0UOB~Xc(phii->e8mwJ! ze>rZI<&qlw@|ei{>Riy)xeUavjCI$HTn^LA*@nuyP`#S!vJ^J?N|^>LsTYk3G8p@9 zS#r|7(we!(T5tv}=$EFBU(gd}He5%lsQkucu-yq8ig<|?5PMxuhw}6~9fou4$l#wy zHG110yS6ROBLVWeWa7bSg!5;8i!M???Pg}AJ%hXm441g=`^ZtzDwBz3TQzs1 zE7ZZ{G=a>wry20Us%mJF2}@cVtJ9?U}I-HCLGa; zVD-M*eMnUEq;>pBwAR%X2~K zew-Wo%ENPk?|vMN-JFzc=Y0)bU}B=Br@V-O6zL{483@?FDHf9mJ7@QZRmmv)c=@xE zff6pH(lTC%>5{EV*R=qEnakq!fAT&WjKYVj`9ekHj8wI*9e9_ zV_$PUf%{9X!<<3mvB(3Lc&dXjQig2m(;_P*sN>K(Ew#dhx{DW@ux^_k`f5Uo%0i05 z4BzCDy_$;9)I~LjlvUd1@P_b$#JpQFd`p< zf63BVX;V)V*yqhk`b_DyOXrBTJOu0G4-(P=0qp@0pr#Fws!9@e?Q8#9KYI<_UB>Gb z^kU+&V^X65hvP+k%lww72KgegKp*M;h2hkt*p404CDsMf`Ly*x?JdfHYSL5;`OZa4 z13^0(?}D}5gv+wy?5+>7k02g)a@pWPA}jH-X}%f%;BDsfFpPk1h(FFd_*2i;AMZ@? zjroVb;ewg1+i-D!B>BOkZNy%m>f56PB${f34>9%(Pv-fE$^!O!PpG91J95jT5n=Uu zB)Dg90@@y7nZ;Ijhs#ZHI}G%Ny4D&;JbOO|w;kcLf`^Em&bhv{s;Q%%^SNNXIH=h~ zLowrEEE<`<%hl0wFG*Z&@^jM!L}h>7CyQ8a`gCKet-aMy2Wa2UBjrESNZC@`St?L~ z1!Yox?z;v2o6<+HmN{%ta_U42SSST6ty4^nSMav6kk$z29MagOWlpD#EEK)M8Cr%l zQ)fM6OD8>xPztD*L%s8M)ji$nazCk)9E);tCD!1uFh5B;|B$`}m20fWWX*NdG*}xr z%6atduBNRNUXNgAV!nBJc%4`)4b+_-p1V_%y;e1zx5LoV!MHS6chd3hl^ zZmsG<`dP3&=Mt2vo|fuv5WuuP%@DyOiJDwYa4gsRfPrlh+2~@o@`#3iRAk&wm*_#f zHH92&bnikeIi6HFifLHHOxG*Q6crT?-|Ei^^?i|(@zbWo!ciqoskTI9+HX6a&Ne&_ zlyciL+q)%9Z1-|66(Uzl2mdde$;2^eJ*8$+^=OX6hd)EJr+bXi!E$EcCj2YlEJf`k zwQo0B_Xkft6W3Ww&p=6i*rI9SCROR1mveq%=s-leI@)llim1Un_@BdU@Ax-R7?1>( zYIrxOo_DQCu1Ww~G9om?H{q5ik;o>4$cpWPX8zb7`?yvyGdP_%bTm_+T*F8rz@Y}4 z`9hy@b-s zmXO>GqlLqvXj953Es@dg(PBehkx^8FL-=w-c!Q!mb6gb8Br$SkHW6In^Gal|tzns{ z&`>MaI@SHpN7=;)ZoQ-GI2ByLr8g z@3p^cOAn_oOn!yQoO$hW$@|9WEwft_KYRcDLzVeK;sLxCw5 z<}KVyiREU?5&1oEua!83R9pH)k;4WPd)CJu(Aw|g@$*rsO>eT$s4fd>^n9LH@28S;w|M%A69yOM zV_zVsDBrwZxTl&X3&Ld%49P;kKq=RpCOq#dtKaTd;giwn?lk5!L1_X~ezqynJD%m@ zJGegWl}(zH-)I4*6Y7o4E){K{G_|g41{#7u5#))`zTM0XJBC15_&=+?+|DH(4y4zA z4PSf20Bj*75wewQ(63Ej!Rr@mhrd&?dbnCNgmF?LdWrhNb=lLFIRsp^g|j4{0(X2N zZk*@enrh{#^(2a9+l0Irp>()tOA&22kGqP;FE!=hH><9|&oOk^f<$}*8FmF%GC?8^ z-=pW1ZGW!L}OZ~b8(&c&;Z>mqrW zv9(9HK_|)s^!iQ%dJ)p1ox-m$Y>cO3^jcz*zF*G3a`?4YIE;{w3rX#IQ<7kS}L||U1B*sQ9A@n? zdnJYUX%nI?a^H2%jV=(j#J(&n>~$@bvn1ELMmGv z5YtGwYvNRxA!^Y^S}_B!OzZf3TC_1+T~kCHFU=^N^~CofH}nra?+)YSz-T+tc=#b( z!G*AL&im&piB)^yRxtm}z?@FXoU@|9f|NI#s9jEZp)@s;$3IeU$mawSwa5m+)U)Ul z6gSKKE2GsPHU${&R20HQw*_)-Vtle{k{n@+uoz^FFx}15jcwLE)R=!h9WAO;1XX=} zNT5n#9XBZw1zq`M0XO9-@-bC0MFtr<+l^)?9@luoAB}9X9~|fCdId72tan6r!eK3G zwose9rN80dCA|Eb{@Tr&P9OQjfccF6doo@nyUaE1XoqP5>l%&!2ch`^w!;Pl_tKHd zQS)>CDSj-!n-41C8t)2xy9|=f5BRf@5J2T9$FJ-`z;CXtY_}bqOk`4ra63Z z@73zx55#0iFb6UlnA2s)5&RORY|*Vbpv)4T+uy3>%iPu*k?r@ngy6cl!l8eR zVh%sHM%KVO{((o#1UypkU{5e7Oat7G;-eHQuYNckUz#&8;opHUe5F(rx$nb@sS!^! z^~p{X!J8q%|Jahis^=XXeS`la)WC^;-k1Z3ayfpGG`E9Z9aULn@rQ|ULQ~IaJXkz^ zfY63HH}TDvA{7ki?PDY9kn`^KZV-N=unD1Oz}gH(dZN&w>X7%0*(B+Z30YP<(IwGq ziPT)qrjbt(#q3q4#V(3fN%22I;!{)1Wx~EJQfmLrVw{-$WhCba@z)TVFWeZs*g;}} z%bQ=if7oY@UJ5-JkIuY*zq2f`-3gc`%ouE=V1s`Ui#INISHB$*n!A~ zliXo*fcDf?lO(QvH#QU~HngA#|0bb{=b;vKGyW~$B`Y`<&QdDca!N+}I@24zZUvlw ziy||pbe1lLt}6rp#mEQoF`VOxacrLHlt83VlUTL;8d8$)-V1j137rN2{nLGig)Nkl*w(#akO>)wLdqWScrk~m}m{R@|PSUdT?_#4>{ z{&H8$KJX=W^-txlebY~kThI?v{{CAl_v~K4`Xeu0`5lFE2zte6Gp8 zVNdMe!9gdq9$Ze0N)At{?{T!tcH5PohWq##s+xD z|5)M7>8{Vws(0%UXwZ4Xdrx_scn$J43aA?UQ&k>on_qf^>6RsjuYWck3v57mX%O<_ zY7pTNhSrb%&Uzwbdvr{849Cscka(uD{KI*+eR;1vH=HOqt8xj1145o22q_HyB~h!R zn?tZkv`>c4p^OjuLpEC;<5@wq$!-{3nwUPqAf6X_fHMSJN8|E~a|8apUDON4$l9NP zUuI$2(X$6TuI)0!hn&A?8Emda4vPU+r_d_!BUmSA86{e&OFM+w!E*$v)hE2J1@KK* z?ePvZL=1a%#uOiWZOmQ=8XMr`fjQK>zhjijLbhc{Ffk%gMKrd4;)m!E7JMBMyb zz{dVbckX&E3qBf5xuHIQv~otgKsMzy)pp7=UbsT_O0(&kY$ zIBh5oj8kV(GcG6gVS{aAe?D;YAhUdtUN6qnACH)Z(C&P32S?8j7LJcF9{MB0I{6S? zE(t+AX%k%%uS~)B!&4#MX#-I`wwwOmED#S%1TVP6At{hq@YouFJlfcv@Z0;~%9yT8XCAXoX7!8R9(7m@e)R)D~1fLA43%)rG`t-bW)$fWl z&GA`~dL`iRw6BXYTy1F&1aJDidqTLuan#=_UEMP*=dANbbm(KsWe?XGU;~4gx{kCpa-|4Az_r2*Q3H`CHS~r3VmLagNUI#pt(H zqjcixdhA*wU(Xyh(iRjmgF%~&Mx$kyCw2S|V}gH|0Pn-{0KpCJRhPnm?JFsEoNs;{ zxN$R=8*Okl6@u8Q@CFzV6gaJc0mb`>ogE+>;8zIgt$%%-EBuCY*=Uxa`hpC5f}tNI zwt|pgNTSy$)Q%x+efz3f(YD@hEO-izrH}EK_bS5>r(XGC^^iZZY&q^W0BkyMEYHps z#`6;eTBN*61#|}K4}A>Ry^NoX$GXSPL{$IMD1~irw=ZAsI&<9VKnKdSv7Zq@4t(b? zuL;69sjOy67wYvLibInd*zgWq~Z(;fX?tSjE^wGcqY?0_J(8Ys%8P-AI_<_$oXUJ6w3de}g*n!B6R%$22g*l$@MPMfR zp3Wl4mc=Wd8pQh;fZQdm>kVAIgra4l|7O?J_aK7Xutr;*ljuNmtS5|mlfPX^m{1ws zn>OKhxh_*WTUi5vw;laJ$4QyD6QYZNVDF2;F@*f*=sIi2I?6GV(A^*KswT2Br0nU1 z6@8}fYq8C*unc|l&;rTMaV{HrC?=$G1;~$3hIFiD%Ji zoSP_7yuA|S1wYF|6A#xj<~V?_@A`(-@r*C!FN*>|oe=7hk@81Gh0)qXAT$`<9G+`Y z=z#2~@KVcmrSaaz^;kz_`{o#=dur-Y22LBa5*C$BNuS4}PZ<+%1W6(?cIy!e`f&A0mPT+M+qZ)20lY^$`l?R}&>O_{2g3 zYk~d>;U?O6u!@0y@x@toM*|;9ZuoT6!HBkfgM@lt!oPm*G7ha8#&Q4#+&+5rqrb58 z3#l6Fa#0RMoOn)ur3A6JC5bE#In`KQsv3%O-%)Jq4xdFz5YNrF=LS?OeB(ZJPG~{% zqR36@8X>FQ2ErBh=D%^p{+$@Sl_}7JvQ-snDWL+p7RK)U-a*nS8v5c&t?R3Fd>Iqs zjlA!v)Ta2vypJvTfumTl`MVX5jOYSRJRB2` zuy`-0PZhD<523?TdCs{$h?|_6xs^cE5BMqRPWj61HIV-6kf|$oVmq6;JH4fA=YXAl zNiksYP&MHey!-oOXy+4#9w%bhR7w9W<$q)EErTQJwS>(wGcz+&o0-{ex0#ulnW4>X zW@ct)X1mSUW@cu#*YC`HbMJgJ5qo!IcVmCNS(Wvpq@&PLW*!}-jvl>~TGlMRaEbtV z8ln%SiSi43vhQk!^F{d#>cBo*21>ZExHdqVLDhpFGgd(0)@%3i4go6Q{qC-jBG-C%<`9 z$2H57+*to%Hr1<6B}NU|K*Q)$^-2OA9O_l;rCADaDgWBtU|^@!%8!0lHHV@*xYHKN zQo*3{eajmkW-51>bLy4@?JbgKaC^F059b}3 zpEBv$on|eCS7yf!Z5nN#4U)_ioMVo!+xO&Qt46i+5*b)cOg=G#7QBj05414`VpB>l zB6)Tr7m`^t3DsHCx7}Kh!XNOT+`%N9+gtYF+*T$3YSn_hUF52SQqKCs=eo(pH0dsSn7!Jei4)2>Zr4}Y2@ zgXH22-Ix-yh=1sR1MOgV1pN#=Bpdns;s4@ACHL+=2CZ=9E|^Cq(GAxD>ILxxbA`U4 zo1YaK^rP(Z3&6DMmp|f*kdm7O_byi6uHi;U3R4ZXiSZ&t&SNY5;R-!}2+~tw?|oI@ z{91Ubr>h0C8Mpi6sKn}t^U$va@q>pyTNAQfQ?mB4Wa`zK*lbnE_6xtnoSU)j4S$qf zAlRAMm78(zO)k`&z5AXprTW-mO`q_I`&LiS^@M*zvmYH`dul}1jb#Rz{TGADkP_?D3Ac)iri56qt_7d*^2+o>b^WAIz*_~}T@b=VEuW$LDv*#S$hs~QW zgH;zUrj&WJ5^`9DbsX-{*>n4py${|et;x)EL*U4`AeoSN;$5{s7K9(%r?AjAnpd&$ z0nb@zYL`>65(Ed}lD38LPU+<`dAsub3@TB&lKLXMb@(30)^n&9fjX7DZwWD2i zh4Tkbb`A<3Cd=>Kg3AN`)BGqW-Ko^clY{Rin&j@>x9h?*Cm6fI6NEZgkHEs+Cj`&} zi-|0xRLomFzlE^L@buj(mn#1eellztvWCqIVVgkosjH7a{OUc}m&&JTBN_7N@Wa#> zYe^K7z|58AL;cDT1a2)#@ouWc)d0@R$wzh<*OirgZRzQb8z;Trm5uMdYp8`A=j|fU z!8TwsS?)qAu&Xp9WCGSYnIC%DnK2jh`9O{*3t?M*K2_M{{Mkis>o!68Lg!5v&^>jn zE_dPamfm|A(T2%j&@1%i0VmpK3C%Y|+;0zRMCV;Y6tlR^c%A^)DuN?Di|!S+s?hr0#GW=T^Gz z;Jf3~aC=`@l|we@bnA4ti>_cRgdKSoTw4~}HUw9;Y%N47k)=Rsew!=4l z(^8;I9c*In5i2yB>7=F(*M z0`nEbk%|xg_*6juVNbR*_}31yn^&9^FZ{i^8Mc#9oX@GGUMUk-`t%_Pj=+48Kz!rU zW9o$gTf<}SxgkkZrd}(&AU-z1?iKs?+R8~k+ugh{tT#t{cRMU}X*07)s7xhj`jDqI zhPPW8ANPR!fI zhaZ{2J)!U7hTw?|g$(KSaTr=o!Z{9MJ;jH&bQ;!F5rnYw;WZ_SL~YB8_f0QLjH|>p zD2qxp1mo>qWdwJZN(_1wfQQbmQ1n4zb99&WEpP|lsi4{L%Zo96<3UO-#QwOoGU}8{ zc)t+YJDc_MqFh@_oq;s=nFu1HriJ26JcKy^0CmMB1nL{CNcK64|fVbE$-C z6aiw?yv6_Nnvcjr>)}^|*;b5s%iy0y9|`{Bir)mj0pv+1xNd)%e?Q%?`eRdE^acy_ z%@Lb-bS z#64Nm{ijmi((U~|8G}dIkE2ngAtYsiCklezKCM$e5L^9?_GMX*%<;oS6hLoE^7paG zb|oiZj0*a{$V>`t+P|eKZ^M(4M}K@4?mH)plb+-eY5YizQ+!>9pe}g1E!v@8&HziQN@-(K1V*vsMA1@7p6JteOwc!I%r{%b1ztlpM4ndF zU)v_k|>$C0Af13@*b~Vo$p$a4Z0+=gpVPUd`ZGV$6aQlv=>NcFVq*IjxjAf%{}l_Po%lOy zMF3Is@grR42Rg~nJCg)tSTAAih_L<*(2z}Np`PYY{nn-7BULJ;gkM#8`%6|?k=j|* zb8RU^GxK7RFX)nRzFI7UJg*P!gO%Jv4D@zJjX?6~{YreJ|^{X{FD>Wa<8{ z+rl^PyW5v1G-d2W8F?=1Zt>KTI#}Z{&IA$@xvUgXWBF7%3!KD_+zoXqix93Hhk0n{ z(6QqZ1+7=yAj{}e)TPvlfktofZLV8NElsWBmPtY>dux4(%-#O|z4}M-L(#E(f>v)Gsu#gX=v=0O zqD+#mSC)FUcl~DtAXDG3I5?s3L81#`f;CNurj6=amW*m0ev5>8%C}5i8x~S= zYffAgh@qnk!_i$t4h(Rj)$e4y?j8mDk8Q8n74?_r{)Ddvrw&=-9e{TY*4$Q^q94&I zZJ?yi+#QxIBtz*2p@Tk5OTVX83lU@Jg3rA+Ng0|@kq!VZu_}`I6j71XL*UK=SDkjdPK9*M!y`XuRo$4TJh z^YQ2+6u)l2%Mb|SU1q}z%G7g%Us6=|U4N`@CnHEvb?VgU9PDzlwhm6(PY->qw6Y^u z5vSjv1!_3PclVMmt(nI2%kCI9&CR5>F=<0@(^)(XFE{7k#j-JH<<(59PW&@bbl5v& zXl|Bm$?QQgW(L<)yYc+38alu&L}+pdz^AD@lZ&H1FhaF{tnPc1mC66%(eY{5vVp*l z--SQV`0+UR81ks<{r2`KDC_a=_(rih{QZ|^lrMe-E6U#2n(gdsXBH~l#>($y;|0CZ zGF+OCIg?f_`0qH`9(7~Vvl%e{o4l1v?w#~^!5Q|#0JmRt+dLYq$FAU}@*!NyK&rLp z)HC=`QH5A?Q+8%QoshML=iC{NyVPl>DbI^cJ<6<_26r%QPZTq$W&VUb$Sa2WhWjUE z@$^{aD2I+>XNqf}2r|aHxo#DEA9BX1u&f@5IB;d- zSq!d4xMIZ3-KIq?4m9I=Dr&_QR~5}4IsIaujI+Owj99bA)a?ZU=6q4e=>|Q=E5(^e z-;Ce}PDRb>VZxbqEgl(KOoX)Of_9IT?Jppl1Pf4B$>PA7q=-QHFZj#(8O@7fT{ z*~u(L-j;m4z>bAAC~ll{`Z+}na>N&fM9Jqo?g|N-&YRtTl7Us1(TVhMz`8m=F$JsP zAP{yl;JH6$Ih={@Pq6zkwVtVdP;_C8Md23B6j3YR7!a-ogK(-%gUi&a5n79~Db5Wa zISwnby#Ve60LTnGVT|^_qs`$k~I~m6oIk<<3EcD9Anwrz3Jy zG36vFZ%*UoCK-yRgG#GzvN_b22+7X+KE1jl^15SMI)42)Kk5#Lhr7Zx_VpBGHG;3twSu)T;`Yi77&Cc zUcUUnmNh1<{QR}y;n&_E?k0b>J<+~s@on@(r(${Fx8cbv6bBhDVYCklOxGsXa!lA6 zP_9xUAgq(w;`7EVr7{p%@z>Op^Cg0d9sNH$u+vMN>F`br>|zj@9$P=~5~ZmW<%cYp z3{}(}pB|=Dds2%Clqsubja7LnyoLe-Vsk@J8!M?nS$nTlNnvIrS_4gRV-djYh#imZrjIaN@N!9zwVfM3Jn5 z>R3cuD7DSI!4p}6obETU3KC(}C!h+XR_K{s^HG>vE4s@iN93XF8;SclbOn!3TI9D4 z@ZOna_i7dC7wtF)*S?0HmY9U{i1botpZi@79NYJMK-TI*%3-y8YSjDM{0F^ zF3@bAqNur14_tvknwPSSdl%Cfp!Om?=y zXlF*K$E~0046;Vb(S&W=wO=ufEA4lP7vK9&bq{EfSZ`cpo&`Gzs$O7sceB(KF%Rh7 zl3P+vW3)vu@|bN%7+DhuB(y+|aQZ}yLOmsc#18rdHlO=$eO^?YJJDh_cO#LT7`YSP zZd)Ha*)}fr*6o+)8)C|j%M3_U+iSM5#dcl3Mf;Op?7m0KtFTKu0Ip@)dFNVNR=xss z%EEU?x3rd3#>*TH#(mh!MuC2vLpF4VJiJTUhiJxkroAmQkv9Jt>!c#|1>by2YD%Pn zdmXZv4_c=}E7!e?Do-ob|32y5abi(2CLmmjUEfVU6iwwK5;}_F$yRdANZ}=%CyG7E zYUc(fOf0}rkP$BBn5vSP8}?!>v8>z~8a#QsSorp}b~iJch@6{e9KIO&h|Q<}dMlZF zbI~ESl0NU`R14h~>b3)eDIEGxD9vs)FTxD`RL|kbkWM(eb9M?ZjiK*QYL&z>e7f`b z{M}ls2md37m^gHZhs>4O@p#3g z5T$qn+S}h}-d*Izv=U}DsP;E>0B<^vAsv7v`NST>O=Orc+AIZ~K|rarOikMlDVsu8Ss}6*;#Jeo@cXgw+fp!IZ$km@C}uv-N7rB*I9m zp38G(b7%KA6C`bdw4M`wwHW@16~B#=%|142{BG0P+sIce@=_H=o+yFobfKTsP@`39 zB}+8*^khnSATO&(6GmoWoI7q>MY4nhgRPgPy{8UVKYd+-Cs?*=UpbLFVb0=wf-DgR z{h2*3_V~of7n8T+J;S)=&58c)fWIiS`0TBFM%xDbw$TKW8iBs=UYvTKyr@whpPnZi zYUYS*_#vE~!na-_=(jVU`-vpfxvdI2nr75!VPGG#2i|evjdy0DdY=W8PucUI_a$6K zi}-koZXFBA;Dmb*LT2OvP9cga*S!&fC zL7ACxld)rPGaCsWU7Pi(_2$^^r^{r5_N8AN@At074?b`9?Y?$n2H?CxRA*f-dP6LF zZw)tvudMQjV$4Gbo_H?~EX-gUSypKQy`h5fSgK(HJY}V75UOiS^CvcpwB_zPB7h%~ zy4eKM{BxjTCG3jOk)pu1G**q@IQtc~1$Gyg;Ho+kZsdPRl}Xx=EAN@vyquayW}w8h zQYXe`AM@C0W)sR0W;wL}@fz)1f7g(hONr|9>7Gxh7a?VD8O}R_G-HeJX^AOVEJk%9 z`L@8K4OGDYNZU57h8mezQwjAqj@BxUUCZ8(B{}u& z-m=-OQ3eZFJE22u8j#SePf3moIVzoM=-agjw-B3>*R$65{JXfPsO6MM6MEMnXVBLP5vHKtaVu zLqfv*0u$lk5fBidU=WiM_#JP#fW z0z?b|Mgjss0{R>P5C8x`U|+TUtHS?r00D!5e$^5Z3L54sLn9&p7zhLe_^bY33Vh}E z{z?acB7q?jF$#jC$m>H8+oLl1$L2zk2-WtYDa>4vG8;GqKtZEpU}9l^5!5KDs99Lq z*f}`4ghfQf#3dx96qS@!RMpfq42_IUOwG(K9G#q9T;1F~eg*~whlGZO$HgZkCMBn& zrsd@q6c!bil$O=iH#9aix3sqP^$!dV4UdeD&Cbm)EH3?7UfJH+-P=DnJUTwPzPY`- ze|UU)e)&r;AOOg}tM#9n{cn09edz`Kby+|m{?ZEw*!AlKK>`IMVgyGPl!wr_MM&8_W)B4JjzLNjoffkr1~*(SUGOSON~>|awX;Qy9p|EbtN^jZPHf&hJ8JP;%R zKj7s(9TR{o*#pvvWAX{eLU^uznv?qk6!!72@V`Kn&jZO?ZQk~N0$4u**lZJ@03L!{ z-RtrMIWXRO-zkW&ai|CJ;EA5yKN0LA~6C-OgpEcQ|VF8JTu z@9(A<`unc<`vLiP3-hncplsS-dAN)k00Jl%T5qb3j=qDh0#CPK_$LJ0qFY4aZx$Et*Ipq36mT!hGV=)6G z%_~z7t}XWsEP^Qsl9NoJKjUYHT%!v_Uh6T7Domc+plv|abIq2$#^E@|DV@3QN|ZGn)48j-=z$6VJKrE=ik zehz|zEY+6I%{%1hz6{fMQZ)XxPd_bD#i;b>8#R~jHGfN6T6&u0#e^b^gCD!ZH|RYk1+~bERoZT4XuN+`diVj1~Ad+w=jg!P~X4wCTRA>}syQ zYz!C5>)7T!Jtq$)zZmZ&Yy6y~<*%o$+!AEGCETQmjSV7j|HTM1jqi8=!L(q*5(!sa z7sY9Nn8a<#u?Jc%O%kN#CrHiQvK0kXw6k=7gKYi@&}B9W-{m8H%6jZ?=7Q_&%FQ>Q zIbmlK<~=CJ`qqa|Zs!)u7zfyIU+{%-J9v5QH+Z=eZC#+(_^_0~5f5=WHNYY)p&t0F<()5y;DX6c_{xR3+Eq`&gao1~UQ=~?uvNFD%Y99<{ z2SxhR&yxGclRv>5d0J7%jn)a$8f)@{XkrJ)6s@=HOTPN4G4EcKCdg7F5 zUMr4mD7NTOFXDkpf3AyIjXc>L)urvA*@Gzc z5K&`*45^<+J9N@qXq%&Hu7qVhxsD4BZs( zPQLGu)1dS6q5!e%>t}@5;ZJ}dt4|5Vn~(6v^(SCjMmGnz#TNYuLt!aip~e=a?dT=p z7wKX%o57BR#E=LwGY}@n7MgWI9HaIGs&k9hma}h2GDdl|Abj_}hQ-o1ZFeRO_jIEO z;zY*|_t=^U;1oQM1#Rx_hzD%bSo6x|)wQCQv;jEqB$5Djq|k96Io}pB`vAx(pW<1{ zqI6AP6%@%M_w%WKccWR;xh2(_EY5qH^26{~N$C{LNlp-Rz25lxa`Lggo*^71*$^%DR+NW6%n z-LU90RUtwLy5gmzKeD zp?`+HmCU+Ms(Gj^psuC6esoug#7S)~$=+~wW4SpzYIM&u!f`7$*S5`8k*4y^nAniS zds$o?zCRMSw2l`6VIny>90B{+L1t?I&oxJLaT zZC>2_rLk$T*c@$xw~HiRC+hX>7G2=S7TayK)a6mJtLK-|U3$acscVcv@85n~Tx$Bp z*EVbB;gk20SQxS_G!hp#j#jvSOI%+IV#ebqIVh>WMNl`DH~L=L{mQJ;K5zfv<=*8U zzxTRkeam&5;e=JS5-u$he82hfQRRM+eRV1~i_M*hFt9WBI@a2pW?F+>K1h4Xbgr;# znd=xl3eomZbkYrD&A=l{UPXUq>Y3ngvnoHE*PfWh3e&}I0BSV`?oh!z0^ErnZoaa3 zgrNDH@d*g$VX&<}X_Hx)AEP@H?Hjc*T%%CWV@#YBTLZ}oVfEkk4Ia&1JHp^!Ral=Y zlyzpA{S7hYWE>&Z%H5@1QpSB~YjJs0kl6%LI_##|3mx3U*GL2G$#)F{+ziRt$oAoc) zEYp5hUq|FAYf~Hj7@LSuJLT}K5FmKw`{L)c>bGZg-z`nw>$cq}u8g<@L-K58j8d(N zc2R{}R^8{Dx=%n)(XK(`jP@ef=Uy8=jiNzr3Gh_P+ z;NAHIbPW=iHGjPTyY}5QD9EdT{P>>}{77C!yWbvveY~Q2=WTv?4t@f>!{fpM(dX!& zfZGj**E9KtU%t00QzA;}{U zXm>)`EHF_Q{u$#3A@P0DB}Sk>Z9l&Xg$C$02>wr1`+ueepkk^xu|E;y9Hr$62j^2R z!hKb$PMxAh6Yp5~EkTGbhP9Xa z4&|L>gE`A{k=VDImRsfUQUipsmMxUcLJwyxqk^gs&mdFL$G<%Huaa`HXDW`m-m>p! zJ^^c%zi>LV5v0oElYauHSkfS;J)-uu<3 z^HwIkKaD5vn{|Ouun;y)7>QwLGY6R(a$)O=+e4XWXs-E=XV^U>(Ci|&u-787p`BMR zVYC}LZwIXXV;zD;e!)}K2Oj!{wZnmc^Ts zbff8yZ6i*{rR{y8%f;#O5SOR2gcnV&FlbC+MlgGXXh>^f6D3his$qQ$!tW>n7QgXN zKw#h2(ZRiwD{|qS=6Ka?g}uJ3je)@i5GX<_1VskCr0dR5Q{plmc}tv8;|-DcEsE1G zk}Lx;D?kXT?Ibv0Z!za;D1z=SF<{%*YtH?b`?q9IN)Bf5^f{M=2=MO1iLSlDM6u-KRB+ld+^rmChzzka1{JkBSLhP@T~WJQ{*+QO((q zhf$mAdhKb%Nu@Tqp7mu(2>s4D?pcHMt4_Z{xSE>-PB70d_S~c^0JMr{+U;^TsCw`a zrB(GxvuBM&7%Ooy*T{x(R9O_?BXF4zd+>L87NnzL&Eoq(8O)Ax5mS&1TH^TE@sIxmd8 z1!<_PCck#AM1tVkF06ycZlSrCXt}1v61X>~&q(a@b1lya{(7N_Vgwb!Bv;Mxu*PcZ zG)uYP>-jp?!R_xs=ArEe(6PE0)qQ{-B9*G(tO`bu)qXD*^*0={S@5z^g!(QK^#LwcH~yvs2l<<_{0gbw9YqtT+3gjHXToQjq@3m zf08HZmxnJ&xH-OC>n4D6fNm{W8|zyd*}&B?!Gvk31I4Cb*c1TUwccT(WxIZ@N;+AA zF}EhY$??<7D;x+*2@$cbV29`b#X|S7MLyd|b=im~1Y(Zs^578KvB^z)UaNU=zNO!G zcvWSnaBZ}-qEl@Pi(qlR-0|@EZIm2Kxi1bgFXDz%sDGoKTa(*UHFGQ4P)qVa%HhYs z3I@;Jwz#a+_^-Y;R0F-HIO{ZY|HLX|W27&cfIspv99jlJEp!pOPm(rHn+*a<$=HeG zZ9z*(*`0c^L;caQcp)2d;EYr9n#~?7D}T%%AKB^zZJh+tC!Vo4Db;MWJp77_po-U? zd?j1Hc8dz#aGWF!-;r43e&4}T`v%bhfxlq#`n|Su4nEb{hOB|Q%+SDt3e<6_CO^md zn{0ShAe@7fU5#cxY;$3i-L?BqLhAG95e2AGUBNWti|+EVX&f9%L|;qRxbijMYG_ip z_C0QJC44524{p^J^kh$u=47_PLLgxSRVD9YnodFJCth}t@IqRCg0Ci=RgQNInPyXI%smWhDefTW&G78q*LX-nbHee>$ljD`Z-2i zhc~fUvvB&>1Ix^`bGmRQRL!n?a}3K`WLl|&Fm2Gz=VWZ?9PeBgc-KWmUXd6!;5{f!$}e#nTjmN_?&|jS)0f$2zp`sFrjhv2?(Qirul7lIA_=t zd`@9Ts+oD_RSeymY&PT=8{iAwNf6=`deEFi<4$bpwj0UQ9)`+Pyao@Vf4%Br;mJ$# zqk(N`V^hBg8PdmvTO_jeCCfqFw=XOCqr0l_$WXWOy*r$zY3Uxc4&7mcM;a9rE-K%Q zPv^XaqRacFvpAwSTQ=)L2Hnyb3THJHbS&=D3T!kKdF^K)LdKPhGlHqrW8U=+97k9# ztmJE8fEbrEaDD#OWHes>N&!l!S}x2(scdq?zE^!aDoIH7;6KABocxu8mu#OSqswDsri&Xp-eM z&-=a(q0rh|yGW5G=3B2bg{w=cP?DqP^r82tl8|gU6PvatdHFU)4*`EKD&?$4@5GU8P_FUsexWRWjIAB zbV{dJdD}J2`@JR3;w~#6OtvaH*=>@4<~3+7!o(z6Gm_OhlB?szTlG za6x)*73HCHee~kwKvUSNA{|Dr6owOqi#V~=VmSQ6E!Vn)_m0YKRk3x}DaGboq~a4` z<&Q-ya7kS6HwJVejuw|z`1Y{ER!Fw%TevoU4k~UjkO#%@Is_P|Hb*$Q7S;4`Y_5-r^Zux4ogrtp5jY9~!-fV^l%#{&Xo# zhMOCX)!C6jbgBAs7Ra(FJrtP({lK+Vp12{le2-EN6L2CqcF%!pP}9JGa)N;mXo1hFE_AYRra(t+jS>B-O?RdhK=DI zvMREEwctjg!mE~ip9+N=u7cmsu!|~Wh~g~TE6tp(_V{Xp^Hw%B)d2|@jFS_Sg7*bK zv19{#W}>b~FB^tN`T(X>r0|b^SiH+^Z13n1;9NmC#~evR(yU2JFK(Gm8*AA=jJeUB zw;A7K77PAo>AEEwhK_gUWHL2l1b@;lr<`zcI(B@-<98!hwB(`__QfWRq(-(SifORZb?GQUJ5M0p2{7zXatwji$}#JSdTtKx+7^+Ph|0-2`$I&&tZ#7 zjNpcpbJB)YPqOwQlAHbREKxZ~5;Ie72|~RHq$tW0nDHT56pQ4k;&dF)D3{K(6;Ja5 zvxSE~ExajAXWXBUK<9I5{yb{e6Kn-^7i1W0O+KPIrh0V}##3u5yclt1k}DilNyCD( zXKCyKQ0&9ZKdNp=N!%mSvBFG9<2oGQj#Lhyoy_&rbx zK(NC_0+o>vsx94FCmT1TbmacT382{%uyMeundLukGNOEnGATlw!bsa(n&UAnPFW0g z1aWLJ9T3^32b}eQ9?P2+*_xJ+wS>`^$wVSo?KzbuXQql|$ZD8lIK9%jvubt0!%;0U+{j`cYr%h*%QzkJ$rFRF4 z68~}U%|nw*A|;x>qgD`Uch@1^wVBOk-4eX^F-`v{WC5=2&nhG+SC1`W!^y)=WPuZ zus>E-P|O{!hWDf7XQ76#s?jBIe z2yntIpQF3GN(8i1)kUG5Iq3$;Dw5i`mkLNFs6Z~q^cN5x))myH{V$qD_*Kv`NV^T=1KOi88!z?|0H3OYIGH%`K zJiiY2!+l|=s5!27tdb=Nv33@nBUQh^ryQ&}GcYo>OEFL- z0ex{gSCrXaCsrn^%=~c|!{ay-RZ)V7W~}%7Cc;k4bEf<#M)&CI*pj3l)L~#N*x-*i zT;wube1y%UxQ2syv&|=Vdsk2D9daDU8k#;U)9hsAac8HTSha!?}ap})Ml~nOqghm-WdM% zy4x{$ZM%jEGh@p`DQtV4h(5Pf(-Z+xru=ZUp0Zsz+-7AQfNAixphMC<@)@&#C@NN` zaWd{&61*1`-w;c!Asv;;3YL>_A0%2x7Ho8M}>vj;VBiV&Tx(aH}amuX3q z{l*#t2lDgo{ADy>_jO;!Nf%qXGrCmOi_w!JHC=}gfmp+es{jZ*Y)7QWZT!o%EHE(G zmRzVTS)fq;NI%SsVvsw|wFnaS9Pe2t%=yR{bZ~Gqj}vW7yLGAM!a*Mn#8mLUVM+83 zb5MIOnOhrLTHBKiFj^-mNvt=cBz`}~&01zvI?|8~A7eHtv@&7VG)`x1C5?l3T)T2B zF8u1pJ^@#op-vy|zWpg6L+4G;!O0zhKw03DTC`)NkUl1ns^#!XEsy2$Pw@&ef|b=Q zo^Ek8EtMv5+_O*S0+dRaL)*8ohnVMS?HEB$ly4JFaRw6Oq8bM(%0j(OC3HbpfGvZn z-v!4vGNjeE$#HHMxR*9Y(Le|~tKxVZ1^&;tqu1j_D;L)+G(`>J>~UBUiOLTxTFfl^ z;Eu74>BStCk^DL)X*;X(wMiQXI6;AxWup$+OfTw>Kt2QzWO?5mLP_MPh-6>XB7NSONZ0G`i+qeD}su(z1;UJQ|c0S)| zWQ_!oS}44=J>QFMa<{H?CxLGrfkpGvLm=TCluBbusi>e6Q`wRBPd4Bg2IcJK*<<_~ zj5OBVF*U&HDt9lvm9MIu({0L1r{qZncDqlJo`d4riIYsH{6hfC+Mdou-@GJ=ym~rVOa?2Wmh7m=GCbz_WC**_%VeG;48=`9R!JDOH z5ZztdZRp0#DLVj)+G zT3Zuj9Z5Ab0!2tk=~)v51v3FPJ;1D#u0|QPu3kNM_(K8_$6*{tMQV>4)e6F=GwyUU zHh_CxKJ#QN9tD%`+!R03Di*oJj*JRDOiFyw=lH%Rw}CgS@xZ+pV3Niz3B;}tqYZ#Q zYpCKm3CBY&-c3 zfyY7CuA1f6N@ST)pnZ`yCw9(f#{W0UgmrO9gHxzTQ;I+sCcfeOyd!Z`XG;7hV6jNc z%~CW|*{IPj-$zJG!oR=iL8TvVOf9~#j<-Z$Jmgv>-y+%I^m~A0vOJqh?P^Dz&4B)> zb#1*JcUe{^0E>!0fswWw{7m zfTR-*7m<`)C|Gub?O>gR4IZ#d;Xf?s|2&@n1%@gw@c-u%wSnLn=#TGGgYOGuMWu}M z;x%hU(lz_C@(-akBpgGYZd`nEO#bci97HE+Lddb6@QndVP#>pbmI*dVY)O_^aTiV# zGo?6h$w4>8-uc0;nv;xYcXzUUi?`aSG>XDU-K?RGF(%hr6!q4mCF!&sS}0Ullo72M z<|kABAXDuLZ`8aMJn3_~7Ia7wl=IaL*vR6gB74msrCgz$QcP-b%)7Er!14pWcMQ3eQa^8k=V{C%P(6SAORd z%q^of=sw-Xe{|XK-#IR%%Rb%zdLR5y))XQ9Qx7k!^<&IiFmZ%GQN7_SvO}$VO?O|} z?-SrseEgx$5SEg~k*yda(;O|?_DyTTp)_;@ElYW2pn%VgF_mKyCj$IlMS&t zQtcdd&rfB|{uK}$Vkh2j=|I1jA4Dda-yL`N-Watt3PwHhqkj#1+^;8P(lz}o5+{3V z$RZ*yxZnvZfOIt=RPNOuCW&)!Nu;lR`sH1sg=xjZ$P87Cr2gA(t`{|%Q@Bg)rx}ka zQYyz3VT7t^?h|*vhFB=eFK_(8^Ktuv18KA0S_wmo$RZ-FnXFKb(k*;tmz9xR~d-^_2O9FdyM8ris4XpV@I z*!k2}B6I*6cwtxTgM(+bgdI`S6Luv?eJD7j6z-f;lO%Xy;O(4u z*7!S{XSc^}$bBFPbmue42YTndnEQT)Cjz_{;8&X=8XL3A4RDmbMyux}Z1(5=^%*%s zsE1jMl6+ea(>yd^V=QdBdHRaHdSr<{RLSwedx&=oCb zXbBR&pPeReeAn=WJKm5MZ6P6t(*u#A`dQkuOwl_eAhx_fRpH@)sLKyt<4=HncOnM= z$?)s(*Zc!C{nsqkqV6Nkv%KR+g>P5(3t|owP3kpETFX*}{_K62Vd4rCElG1^Y(B#4 zGPwy@!1=aIB6oLZ27FrGy)C?(r%HR&t@5-}`)kTPwTz=VZdDGl0BlbTljNJ3W{xLw zSpDLC*lw_AHX3gQ`$PTO2>K$1B?J97qB!Jg+&FIWBq>=42#;b_<0aZ3ZS#l6=#)yj z!To1*;_w}_G#3$tE=`(m0_>Y&iFmJaY&k$aH#3QSZ7&j`_M?m6cBz;Fn$bc848kW`_!Eb&}n;)b&hi9^{b$gTH zi=l+q&4_{6&%Q2zAlj`)x9q}OV0qQ%?_JVZW1l3J+-ij;iJ$3JY%t7R=U`nD(HaOA zf!r4~hKoV4&$>II1pW#%k1pk3(>++YEk6I60VBDOeh=9F1kBVe%~*Z{2o!uK@w2{H{spP-V4(XK8?~F+(`H3&ku9+UhAnz4r?pxTV<5rAd=!9qd1V|N#YS1* zeN~#rBdtCG)u+{4E-t$8v{e%omOEHES(=gz#sLSD9D7kruR~xQWLWK z21Rp3vUBq-vB)i3S?vf@FvI~N7~EWjNozFj(~r&mnnBj4vd5DpSM)gBrW>hIBsu$A zHo^6!=t89hFT))fVY$u@uEzE1Rij(-;6>LcVmrXI;GrJ`Cy$EqL9VY`yUnGI4aT^+ zJ#9t5r=g>RM+R)xQ%U?U4MG)J#hNFWPXL*r=qKQ7qW6VZ>ZPhnnUc<|EF-4HfZv^a7tj7e?;Wn3-a&Y z5IjbI1X#QSQ028K{&er;x5aHrwrb0roKmm=rh(w3~z6u_PCN<`;l#b|fpYu74&V+6Nl${lTfmp+B9!=C6$H&`0ymZZ=$ z(11nPZt|oIy^DMB-ToGLPHM*k?;h>&C8>Oeo5skpyi*K4+CuDDukin1?=7S1TDEo3 zi3I`yf@^Ss6Wn1U!2<+$NP;^Aw@f5JAUFYn1$TFc;O_43?moF=t-bc%>zsGaZTq~p z_G`Dbn;&CRHAfAhX7#FGy?_1dG+q#kru=2>qe-3x*9EN+v)cNurLS9e z;(NY5Is0ZUwozhG&NExYV(%NI%gq0xZ$Vp<$NP|6QyX7&nRU>vt7-B+EK^qJ8SCEI z!i?U$R*&GYhWsOlZbDkwF=Q@+#a0$Ac`Yi2F3njl+61AhO5gVR8~4Mi`UdV`>Z9fo_qcY56S#%*Fz5l8#5a>X3;!t%?0foh4A3Q)_kl;R|0*p$-3UG zf_6%gyh2iN&^;mE@9&&=>L`v8ORWrHp8c~;0&X1R+{+qINHp&Ow&XPTM6lEQ8 zFzTdq0vmOaNIPSk(z??LNe?(bcdLJ}S2S?NjLyqFv*+t_q^@Q=A$YsWqhodR-4K3I z=$N7+Jxqy&cycA_$fihbQ=iVdu+68wtp3T*7j{Foe0IS~T8|*TWiuS(6XQ{ zj({nNvM?Yw22;VPZocT{ZZ2}h_b)!!BkWE!LznHw z6Ac}f(M3cjm!@pa;GBY18U!;7;?u?LvUSB+gLWM0`fZ*k#T&6gj}7{lxme_3x(GUy zCo7Uf?zz)4_-t!y2wkdz=nTR+3)<;0eX#xBhZd-3>!o~65!`oU!fA7fnO#$yWIR0I z#=OWdO$%D?BD0VPGT7v+T1X)YV5~*yTTeF8)Mt=pt+y^kum zUL)$tl?MKH8O6eTazuy2W_82c#7a`h85d*zd&oBpcHB1ccGph6u*O3MvDWJN{aa`% zZu(_bg>EO9Ypzd){}}s)FZh-1C|vM{8{Rt;WpQjJ5FqToj{n#Pum!W$NgV#tmQ03D z>*b;u$z9k(`ymWa?->276-aB*h)yw_UsQc2fJ|v4g}yE_bEbnBn(3cE1CTb&C{XM_ zS8$wy^xw8Zh5+=%GV3E~T`XR=SAT|3{Q-`#`Ka{~@{dwRn%7@^2?4I_^Ugj(e|#!l8q#PX!&fB3wjYshed9f`VMzAEZnp3q z?!hY(KxyOml9Hk@#$gSB22zA9wL!71|53!D{@VqAYxXZ*KrC}ND>;h-VnGvz1FxxG z$T7%H7)V{naSh%)-@x5O2&cP%@$S$`^I~}ft)LzUJRsNMK~Vrq(yA$dx8QCiJ*VH+ zzkc-9uGhuwF5{OB%9CRZPnrCV|~0w5SI2g#ol_D zfdBlpLdvo)!O9 zO6(J=(nQRnRPUDV<+~uyzafC(1Tqe4Jc+~hB)>J4L6$m!2t!Y7Pz$D^=bG;i9pJb5 z7w~4k+WcFw)PGXA0Q@kCX7@VY2Qa%Z7VzW35a$rT3l7S&!UFG(o#MC!fl@DD10rK~ zgDljYd^P|kS3i-UMZx}~A~}Nvb>da{eE*Skf`2 z!9feb^p%7M_}L@BJ6}+p$ntXL`)!}t$!_REK9T}EhwJ!Y((^t$=nN3Oq*Xx+n;h-< z&<#0S0fK!5@{13}9zhWFYt`OgCw_Iwufgyi#lRvk4JPyTTsT`{qRBCiTfVve$u?w3 z;Q{F_oH+J4FLvRm7h#iSa4WSE_HvA+{nYSS!`~$e*ksCPB?4N+UNN+{(%OseMqPhC z0172NPVcRQu7j@t^r|1Qr~UQ)uYUNyYCJ$+#=i+9lU5a>q%`XWXE*BQId|a!QLc}m z0aF-L8f@Q8F0l>}FQ$p`c5X#*aJ5ZuY;VnZ81xRjqOAD{>dF9L3_zk~g>eM(!=xTT zN99m#S9OwzN6?bVJ^cbUjPl=GOGex6kUm^OS_?;hHD3AE8~>+|4Ud0}=XR^MEF>Pv z#iB_MldULd9XIr|DXbQ4nio0g$(;@K=66NTf(O!d(0sQA#HX8&q`(F-gw>xIEmR(6 zS}-*reP{?p;YH#%B1%WgPHuvaBT27*;+J3IP&=)tGnlmI37EW zGStI-r5!Q`owA@x1L%Cm2>Y_uhgD%hGtsPRmEIF;n`E8^A`+Ojc-$())DcCUA%Gsj ztf8jde{$FTi=jrlodDyY?EVX?8`u3ic{=3|t5|7{7qSC*n5_|=!{sc&MhQn=JO{~H zraN{sNlZAskXA@a+QsvYV^#-@8{>t> zWicC?_gOI%if{)DeIfIgI@O3l@d^amS*ILUs_7aV-*_}iM%w3eyN=ks+%cklz@(u4 z2wG?Ic#rcju_?b86Psk_sNS!{WlGDA7a?&I&2uBug#%`rg<{_O?GE2oeL=! zWQl}6dm1OG4bBk)vkFP3>TI4rL|-zeWSHT595O{DbyX7|GYRkI6sdAPNNj1vDwq;> z!Y&zwLYNFm%}(!IxowuwB)Fd2T?NQ23>SxHrfcc5!JDN$>*afLh`1Kdh{rtghcWu^ zM(Mxuud0;-RAA_D$d7W>O7Qg=_$V9tnHHAkR;gJ=>bDP&E_=o!=mLPE7-?0jats1U zxGDXIX!8XSwz3g3r2%HX5ZZ7T=*J8X52>F$UBMpv+>EvaBYAU8eXU=H>B6e&muB(# zr!=Npl(k*v>To$}HQxnvbES#Op%VAYE zRXb;i3&b1`S(URQvORg2e%4+Nne1(5Y!40q$rv0bUPUE2LL7%F^Nq$TKu8PVZ~ zpFH67fWH)1JjfVMEFv+kuq{hlk-1X7W~9;-VXY@NOhJ|u`gW&4yfYPq5E61Q-^^>8 z;zFDwu0~@UWwz1^~>1SX;MWf6iU4~S8BsuP6L^>w?O$H*rf^rvPJnWW&_(wj-SC0Xujm@eC z=%7tGy_6CQQ~aAE(#`pg)5O+rJ4zZZd(z`n7#i9Ox^GVDC5h!w*!`c0K?+)f$-6CC z)+oH(UZ~;(7U-K-)ioBVZT6(ZzgC2iG|SL|p0vTjBEXY~488FYH`cJITNr5g$iDNo zaN>JokTgc?oOq2j`kBW%9U@uEpqo<73rC#J<{(ENt$v*ugpdz+;uo#LP6ZO8Us?zz zqHJ}SI@Ry86CL<)=BJ)IBedDXjBccu{3Pmxqa(9RDqufEW#Ita$spRl_@Iw|1l@az zKmnW(XMUy3BM2�)Vm}LGi<|#WI$SbbX@%XTVWqTA7i&>Ny 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%0Dw|8;qV#piTEQZ&5bfjN*FV8xpTzU$yg8A! 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 z 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�Qu;zXGi(rx2kODf@wb^ z+XvKVzda^?2CY^J;%5E`O}UTGez$jxf47LiW=(p*zI!kYWlSbK%KWUg27x)7`3AF~ zqBokgRbOQ20rb=BgkC#|*K2DIHlJpADh_=)eMfODG1NIGG9N`?Gg`#PqC8@!(_p>~ zfL8)z5Q-cT`vjqxao|^Rp!ZRW{YG+A<=GJ@lkT0QWm+*)s_1s7_zd8iv)bQ5>W#Oy zN}vY;3?|sBYA2yj>M{X~F@rLYX0A?;P!I-PF*CL#XBtW$>9R^_fed8~|D4kEXz)Su zC5MGGZOZGr6Tt#p7Ab+B*8_H)jX999Jy`;9_E2BkgX_yWpLH%?mKk=^U~D25M~ zmF0fu3teVwZG>NEg(Fs0RU0B$Uiz0-6@!ROxJ>^|0rs1G3n*g$D)RdOpQ3B*R~gvf zz5ef&4F0`XQ0DD~;4N7{!CqWIx~<8=c%0Q6CS6iaXVrMEGq4hE?%Y-EjU5~q9tF97 z)J{bSBMPCFD7tC;I;D8<%N*A2%+e$|T6^1|hdzx9qHoOm`Oh|}%CmzzsBP=`u#p1x zq6hrBw!G5suh%AXIm(_6XTly&>i54*)Tie>Qhy5(oAzG{j;h#`r1Bojo zNHtj7YN*f&Ro_OYQmcaPdWGAZa;)wY_cU#G?OiyHkc4~h&XrNPqE;C2&%%EhNAtF~T|?oFZ)B2CRUGkh+1nUikR2dwPr1@ly0Ez0 z@a6k{y~e^(OHHy8a};(gIAA-^LitV;S0h4(Az01>isB`ZbnRLH;Z424;X1@bDWd26 zy_c;ml!co3M+-6U<1;-00W@kRT1TKwya&lU*BfbHM%moq!%NSh_x30BWvbEYFg9(M zJj*dqeXa-GRBj{AO4>OVfdxKB!k+K|DDqE~OMSoQIcimMny7#ByfLni#p6{%HJvSU zC0Z}i3xTeSz=U?s*J;nVlvTK^r74$LbK5TPC{0d22Cp65w=!Gmi$hD^{n`lVtShlM zpgplj-CL5{Kh5&SFV*HRIQUvmYCLXQ+g90@52B6_viK*9W22?0PeY1bvWcM~1cUX) zr0K%9W8CJaJ$9?x9$vS`f^SFu08u=yAR_iwojM<`}B4J-n}1B0r9 zn1fnCYozZI|ktTX;I-s$&X`R_*L zXumfT{#AqFe=*DlQUkw5?Ty(CNSnTP3FMx|&&-m2U&=`oV^QjntMJsMW>Z@;rj9(@ zQ@VirRNMlu+r@+ze+eOh;wVraQ3AL^Kx-3apQr20HWUU(y*=sX)QT%JO7BmbL=_I` z5GydIk{Hkt9Da6s7n2O|;yQwSF_0FFfneqQ{p6v1KWl@18ZTLU3xd3-%+Fchb4lFo zB&jr@xE~m2v-@Xxz?-k+fRSJz3M}EV)Mdq>&EtX3yUnKqZ41kJNjFQ7&FPVXN7Ds z(avq+3-#)zXPxi@1QbnQv@qZK`aCGGEDZ+M{0vDnh7a_r-Ghb*a{>E?{S$HDOx6<7 zSbJ;7_fVnu%IBNd?@5wg52G2&{V7KAC^8m3Vl3G2?%%3KqL@AG=8Tj*l(~%bA3Z^K znwIwBZ~CjfJF}4{L?$Y=R3SdWk1IUWhWLHV{=#b^wO8DC%bLm(s(=CvHH_0-yv@n5o2o)%=MRYVD3G+ zk@D+KF}`!K3jatTW))&t{ig6}@Tu!%xrc>_H*ySxsBdHJ1iD7D5qSfYg7Zri8O^GZ zn01TY!*oY9%h-1Z0_C-t$fA2Be`9HEta;{)KQ*s%N96-PJ-F``i#bWCLCFrr+BYl!>?8$3M#32B zbRZf$q>IWo1`Dp0c`%#)2>JRd((Y8(d0Q221x_=G-RTb~3cE(h*+IroG)}MXs#v*LT69B6ZI0erArA4}#N#b+I!_ znkf{V=pN#~UT*}>pi&Xt@RUdwK62K%OUb^Wgo!vc%;k@liT(8M%v43se4+&F5OrTV zNngX}!s~u=^?2$|*F~m;td1(GE8vZ?R7+q!Q{2Em-i*6b%yO-cl}WxWMT%_7UtNTR z`~lKV&8e$JFz;TQYhBw88!p+_hiHT>alNq6I6YSPFIIhR%hr4!LECk_@Ibai&6TZ* zY_w>=_Kl<9U{y0qdJ^%cuR?%(nMStAnn*oJ{3{n(pD))0_!0MLd@!tmg>GxSxHO;@qhr}3YePCTKHNytsl>Sq;HPb988KQ?%&7E!nj9 z3vUU_lGc=4moN845_wvuo(Xcl98;HL2}8Gg=G0@e>0J@J=PM2`EW!$vOfH8~v{~~U zryb#kv4t=dDzJWh4-(JL#?CgAp=Tu@um;Y5B*ouXjTR61=pWI;p#juRz? z?-pi@at>Y<6y^|xL0uxB(tkX#+h(`t70C!9&Wv~W0PK%t@d5?V_Jp(r^O0BGfS{Bp z^w3o_;l^c%+D12ldVv(91b-y(VJc1!ryzNcIX<1s^gm8q|EI3;Yf0vRVMqL&TE)tr z6#RyT*re^B$ty~zwncYajql@PW8!oCztq8-HvE2&36I}k8~E+ket6cM&^b64KwUwNW zn)1TlWgL|bklX$oh!oT=oIyTJulON!I3^$^HvIL-HzU~vd+LHL;o765r;{22l&`TK z9Z3)!W{4`ZrLQDl)Ge?g9Vag1;!*4pH|2{>JxmyBVH zWc2v}Ju{G{kuSY;u$qTk@pEB@N8tBl*h;w&EjqP#w&iZ|m7C%=e+};Vk#7De8#`P?Ir}XQ)FKKq? zCx)>$PdfgTAP}w)kyvHjv1shbeIA$=ve1=m>VkYF_`Lz2*CT+9wS)Xt>1P`S;<5pC z1Z(txWa~z3A3FtRZH|4WbP90d`Uv`+@&;(TXX{s9Ql`39-N-*Y5ximTpE@}T3kx|> z7&<*%K0P|U{!i1WbGHlyI%RtHVf>9zM}_eiO$CeKFHb#?d1~*5M(sXEV*{Vu zs?zG5Ho-4$cT|{i#Qj@o)Y3s0EnUWlYdLrYlRj?d&zJZl`t;r5>9a&^JbkkWAFV1q zZ4`dYG1RG=5raIIFRQ;{8nZZg)^=kQe;us$n&Sm269EywL-?7e>;ygN1~2}1wH0bE zdt)qc<0}3ms6F7 zT8HN;eDv~sajRaoKWPD89AYERsv2jokFCPen&2#V0Q7Vc8bAQYd3ADYg@PhFI?FH_ z*2$;+vm)F#iU{>i`KKPuI8*|g_&CWLzScGWB1-)0dQ={%8FlN33~oL*^ODF$0WCFD zTGNAjzArtFacW~H9Ugc+d;qd|vf$&rDyaFtpX2=-kz~{uhu(SGEFha1dmj40y~kuu z{$OFlb&#Drd{8)IWLi4A(xYp9`x@#;JA9))Be`2&5?mShB4yC=QFEdhe8fx8 zE0HGcg9E2e$EXAf=mLwXT+8?Z9xLdKk*KEW=pb>2+ZyR?HEdPjbk5yHNPX;@D<@%uve~TY6{S&26?H=(>BoDGrtmc; zFG}fXQ#hlJdu;BqE?wH6GE787oV@wo8DQjIS#p({NAF#o z9W1>+mDgoXQ%{hx^Lq8f=SP6eLuQumt+gFx2o}NjodqDM0+E^#om z;$?)2ypJN*fZI5_5uQT2%gT&azsxV&vluT&EZ_GMIsYI@4?oyS%=DI)2-$d9%}{!) zjuus|L-|j{!sN%q;cSi_bv4Zq6Z)E`FPoa<@3CYD%-Ki>Oo;_-CjJ8XK*_==)p6TD-mmjQ}#n!MVV&Z7hR|zB*Q?>N)yqp-YQ0zzuE{7E9Pb$c}dzD-6 z)r`HaP?^-S&z#iG;4sl3FoTD^lrV<$N-CBDZ!n2iFr>QY7&Sk*QoAT_Z;}Dt7@zK3?EWRq$d`aJQwi4gFd%Y|PGZsb_%qFO)MF_w^^*W@zTeWj4>Zz$x>@j4la_hVEZ3@fzp$2yTQrV$Xpeb89mqKNdjxaas$RXyB^0? z&OE^*u}-)zKh=$-2w!O(7Jv995Lq7#{tIHli1q3)R$e8vDZ7{CX2EWZmfrKz3MJjl^=kZQTG&>SF=!{?rok`7jupf>iQ&OxdlcV3tiY8d& z%-m`NRA)?z=4;9EOqwxRLsI4H-UG9e(;+)wH{$r=N#0?j@_W7!SXEDNHpW|)_iRfQ>}QO>`y-Q@&n z=OHN7m;9LNm;E}QNjGnDy#>%7j?)p$Rg12UKF+&yiWsw-W%u=cu*uKLv}4!ogQqvD z=yH#Z6ykHE3-lXLQ0NJ_TDbGSY}ifgS3h;|_t1^0h6{O|751ZRa({US zWF&5&t%O04&PXLnw-&Z|*qL90X^uvAx#hk|qpy2QV!D$dzdD#@#Dh3tN9-e(Z5P!K zI&OD}FG4zjvbQ&kZSL4l3l@s~WCmt-{OXuH9l0(4UTexAiL&Aq4W6NIVjfd{a1u2Z zVvQc7S#4ovrCx3Z2{?v?C;?ftb$7XMWh`r_xmW7q-!0%h+@r7K2)M{Gy48!fk5KFJ zA+oMjlDFu0O)uq~vUytlzpJ|$C{SIN$HEKb9r$72afg4^(5wR=JvjjCx6_C+e%HWQ zi9lC=p0Q|L;-0I9)&XUG>rw$XvH?j38m>lZtSYIWobpR<713!kTvHeKC2)T-^&3Dk zJu8o$Zp>7@o#R*F4usm?xnIv@42G#U9$j4XVGrH%q7L8|0VRkesk>0Y8~mP@sI5Oy zGve}AYZ4=3Tt58{MD)f@p`%p#823f|8%Zd{E459u}0qX-r@d0y;8m(;uTc9Xjb_a z+*--9WEOGMi$r0k&A(MFPe-kXOME6nd@Dp@cH))+d z!5?2T74l?x+Arfls0l)d=ZQLikd3=w!@e~~E0sB5tCoyaxic#K1=(xTLxqHwl161j z7VYI{SLrkv_25UrNSekTFV=?2Dlm8bjDhv;Hm)(jef1kBRWD)bm!C3e4rlc7V<1F5 z4XmUX|56O$z{XYbiG=QR?X@FOQCL7w$Sh%3?V2c-u@P$l-wvmwo(k$!i)YE#Rcj0< z^0?jo%W$2mTv&OfD;3yWtKhp_X{*6#0YWEhdFg*Xgf+kQEWNdN1QBFpYc5LsDSdQnxR^?$hyB`WWyP_7yN%|j zr6=n__Cx{Si5#-nYc8t20fGL08+A$nq_KDERvuH#lYk7e4o<+Em2jZ>TFv`m0{_~2 ziyIYY-y7a9Q!Y0VeR2V|Vg#q)g@9A6CO6Xsq2#LNyOaB5Obr&Y^j1Nh?K1qy_#r#1 zKym~NioLA8K}G@5fJWz2RVgF5(i~^&%`bFWb#Af^ip>V+9W|uhg7gcVK~62u*mW=T zeDrwC_YhG`q)WnUni**+)9WX`suIsxSnjuRvL|n(xLv&A!yarCCM_v|@w$1%U z=)~>zDj;foLSeRYkOp}!-x2$c|9kdMFX{rjmBj*B0 z2{HiFC4hv;usMDI3_wEVJbM#T%`qD3wi%`SghbKJbNE1DFM0Cjs9j zD=xAc57TqEIgn$iL==?WHz(&`+);hm`pO*UEg(PoO;4QSkw}M`kNNXQr!~v0^l07c zKKd$&O1c-3x*j3>rh0*jQEOTIb4N@oPw0sTMa-BzR5*#j=@sxB8fvT!=`}KR(l*8*)RMQziN$l|MYd-X4*{^SV_-0d-v@zE-)KlWCQn zfNn<8OFHyLWx}}(Hcd=Rzer1_s7aL37aU5Bb+)ojcI#hq5Ma##i?oPc0xIvtK1c+? zE?ZB%JVOROsg80Bx}Pj{Wv1Sjx#KRU?IiPG<<*)J%I}_U>G+UG=OK34C)q^1&&iF{ zGLU`T6SZlX7S2fWfu!g7YM2jupzYB&2+)IR6CGlXY$eLwZbTiIJ3^(GgmD_0o1=rh z6i%KvKkT8%VK>scFQeAv*GVVwN3A~}r#?ZL>{)QaDp=Q~p|;sE?nA@e0#N+4897lI z_+B4B60+RYA&P!y%{M0myMHUmHJ78_-jOv=nd{hLhJ;h{xHv}&WQ71qkG|pO ztyQrN#@)ObCE#{Yw42?*mi=`47c5%5dE?QlO1f4}g%}r;`F+yx_a3$+cGW%AG>Z^J z!zt_j^%t#dMEEhnJK7oUYj?N530~TE#N5sexs+B#cM|>tIF2Mo!~+1NgW#5foXhmq^%yl?9g?*!4v0Iny!&ty$)` zh?zwOFn73BwCp$&&e_{Q;u|Y!tiBN8DM>5JoxX;p%y&OD{gF($H#(7Aud*q0qj4YC z*qY*ycL(jIjRnAfCZhi}1N_I^|2Gf(SI-0g#fx`f%c%5E37wQ966DPE2`rz~0yEXy zGml)`G(S78r-qr25;d$XCWswtJ9(QCZ`pZ66y64t&}>TQNzMDO$FdU4wh?)@)F;;< zbe7Q$zGdyjHGhu2&8NPDehw5POHH**EajU2g0X??A=g0`n1si1!X=$`Vqi^(w2+}~ zQtc~+sMnFOv&cvl7806`)B~U%s)Ih{$=wuCc3)VohMbu)xTC+#@M1o4y#J5~JWRk7 z@FHFHSC%Y~uI7tbiGx+=E|aB>#y|N$@;>=viCVzbnRXyaWnY^qC0xXOwCzWl+VM&` z4;H-vNO3J5aYwRdt@G7A$7*$T3%R>=v7PUwxKb%JLHNU^R|{U3NlN8Q`Fu@VmUldi zLNmD1yt{P&4L-cxAaGu^$iqUEwk?2z^6sU9?adqMY{u_pFUaIcX==r=PG(H=pgp61 zCO-a&`wJ3}x#g6(F}(>6`3q{s9R39jlmjsAvI;jw-QuIpD517h2lHIbpBtf8;Z0fh zdCh-)iY3cntZYjp{2kTAq-g=Vcq;e_#TF0D1V4|fMTMZXCqkmUH8a9Xb`R7fgkzR@ z@Xk4jnTS#~RAjM7!pLr)PG3~V$tp?K%x3hVEiKLWUb|_FyGAcgywB5r1$S(Cpg|8( z(93(Sh2Ju1BNn1GEBT>KaU-9?vN2iWw}@ovm(F>A#h~N!< z@+P9wpZMi3ER}mZ8P)w!k(%h3L`e^^F3InITCQEwi5%FWqG8({##TQxmEoXDC@JQk zo0YRu4jR+ufH<;8ailIU?0ZkJtEdRq(|;mP4($W^NtmWV<~Q>a5Y-HBZ@7kvazj~z z%|!1eE56d5DlBVD%|+e+{NkmCy_Iq-pMBHAU2CP;qk8Be37LAndFQNxb|tv~x}(WJ z@U=TTFX<0)p(m6SG-lPqVyZ$Q#pL)?`i_VDEm6@KJV4j1doEDFcV?C+_}Q$R`QF^i zXtUl}%g)gOcMpcHLCbVe7dDz|(RbLr`V7WktWb)&}%5+4X?R z{Sjh){L&ZJxYf62EokLve;r+=P`UA&r*kmSRUX?sczXLZ`siUZ~#ndB$_-Sjd; zL)c#3N{Tai!y`{ncPW8YZu2eC_3|Rs6{#Ez^&Kvse)mx2=V{H!G$4#NI!CfVmjZ$# z3Z|Qa6Xao|j3-GI4_bbnh$zSh`V$U#ha8xit>b7lafCAr_LBsyr?goiDNyMnJq^|z zGe>QzMJtw7B|$VJ#WPtA&*Ia?Bbz>k-0;}zjdF!G7myY2RzF0q_kFk(+;s6{IE0zo zx{nB&n#?;`sdr56N0=SX(tmj0vh{hBm*lO+)WlR6?@&49#t4;i8IbETm$3?_&M-Hc zNrmTT1=RT&{?d9l#O1}K#=-8`@b--(%?1=d>|quL@YYus<{M9k$bad{sVY&t^Q@92 z6DE30(ajZd&|=P_0e;&HOi@v6R6@62W&2ASerlzzHQn+Z2^Cc(E@+)5(UVLnO1z|A z4r{zABD@XkpYH!o9v^hL`%g55f4&s{|6Q5z|CvMnsY>Br?*G3(aiDPT-*w0S)Bll* zn*ycE>j>x#?M40{{;7j6Xx-6EYx-F);rx+2BL3pIAEa|eT+FOwobA3XowvZDf#@%2 zp|RpGXzzJ8`0io6`7L*aDvp;>t=aR~*spbulHP(yzy8Eehlp!qx&eSRFgV$vJ;6za zFQ$YqsDE_)JiHq|)g~O;64!`hw`^GL`sKe<><8>AdcV2ZkSYiwT_r-Fhw8z>h=$3- z2bAMi6kb$cjs*(!`+qw-(qqe1IU{!9NotQVx`co33ASq)Z8d%8;n?wY6Q zDpk|vGcsC{wSVI`rtg6d00zmFm~RzPiKf=(Bj8QE)q`3t%uuPGV! z+CaZF_`ba2smCq+Y@b^pD7X1#zbw$1;&7Ra)~H4_-LjD8ZW6R{dVD{K82<}0Ocx9^ zD?D|4l_B@u=A&tzAZM4-!#TY^58mD!XZVpa(kU&}`L$HBaC>`csNe|ph%a~P{W$u= zh2Fr|eJ*!XQfIjnAU7LS@_x%v@@J%EQ%9uUbl%0BXx(UQqRV|wA$+C!xGi-cCK`Wt ze>Q{(b!CZ~+PyLy`@Y|JE$$j#nL}$+hih9YawYIOf{x*$fONtD(_3Jkdjp?T&is>H zgFb_1OfLegjCY{KGb4QAPV=*xy>7NbMELRQ;*dnz7dqVq!JAo+!BN5;&&|HqauP}k zsN=>BKysIytk-oqgm{KBfm5D0+^F|`O_A^!coeOW#qF?kXC|XqV;&~@6HtDwc#*sb zcBqarchc5UNB}@L1Z&XMsW}HRY0LMB4U&CWd59wv#IBED0dYnu~OwM`m%A6kL6XDJPzNYYYbb!+K-_v&KVgwN-? zxSU-Fo}T7Y=px;f7l+BBhybTC{K}eRdTOrUxpCTBM=G8vc4Eol14$KwK6!aI&S}9t z7wn}F9W?F0Qy>Qt`3(~cSK^)#ve&LgP97DdnwLiyj=HkoZDVs#*QG@^rWyO&Bv{ke zPliZ;-@Cl7s;7&y)`B&`ZoH>P1o#~oOdS^%O$=MHwB+O8>IMzOD)2jg2{A`!l_RT( zF!RRK7egK=5+my*E9)DzT{Z1(HA};-X4JS={ZmX?^nGp+XwSS{SP|;&0)*$PcP^_X zuPiXg-gB$-hU~MeZ~eE=bvef;;>Sak&U&-ye#dLslDAQ5x<2^yIed08;1>SU^xG}< z6#L{Ywiiujlt_qxh;!Z^Y`IePg!l0&RfjfnMteVf)$=L%%TyO^!G1QH^JQE#%eU-r z2icM8@meRqWlBCH8^C#OMTDWh&S(kE<$>7#pNA1;!nIwPf5FUJ3KiAYlc5-C+k&TA#!R zJog04IMPzFVWnK&eAu&9ccK{UiSDaBt~S`5aJJq|;j|>vePR4%p`FZ0BL%x=`ZO?~ znb@bQwzH}%C9TeGUEGpe_U6Vt_|V$(z4a}zZ@o{q2I%S!RNq7Japw#`$-Jl({`%RY zvdESD!}oLw8ddJ(hamh66;{E`>bN`ZsSeThzN8r-)kJ1vw#UkDNJu_U2k?>JaB=#? z>VQ2#n^!Rk=O=BZND@OmOz%b|AyGGJcA4vS#Z?XUV=fomn#5yH!N$?Bci4Hp;ns!- zy@)*N`3@=@bN6*}NfI6#+Mt%any)~S$WpEFSU+>QeBpbV9_+K1G@JA^4l1?iltebf z6eK}oPGa@>eDC#TO8Lr|>w^lz_YG0pA{vj_AMf`@@34@91cTAbW^>~xF>i97t z$0l>jaIr;!g{Ox%W|T5P{CN zcs$0p%EkZ`Y%rh+y#zo^=Sf` zv^>omsIiW%sprqDsWAZ~Hj^S@(w_t>DZWTBl*7KMNb8#Ocy9>WbigUP-|rqWOsWXn2|U(ly7LyPyX;Ef85NEV|0%4 zI(fCOF;^cj?KfSv?@^*jmB94shiOJgthSfPGXcC;99&otD&kOt{+`KoW=ByGfKqJ{ z9xLml9dnj!CNKUqA~E@Wh$ty{ehY`CHCdL>v=KF)P=fIV?0>YGRO*fn_qqw|Xg$6^ z%5oTaw6FauUDuaZnbPm(kKv2j8q`&+XU4PI_|sD)lglr&IWwHeFJA^7(-s^b_a_FD zdK2*GqVxNS+Le2*&#!IX`GZ5D>dn(dEz|XEb>dv6K2h5D<2TBPu}hh*@RrO2e*MI^ zlI}es^dN&@D@?5`cE+CM-R%Lma^lgNQWwDUH%%$FBV#wNNdvy4smi*>J>g zIxeOy7pXlVTnnudj^M{zfUDW}F-DzU9?=W<_$GV{c?y{( zsT~n>PnWBcadT^=93)~eF;>lx%rQMZs z(s!)UZ}~9ty$xaXlgXc5U;774S?c(|_V*i}w$v5OPS+Ip-prLpqk;_rfoR4sP(3NuToP_83-L0-jYr=m?FL<&_xOPG3lxq)rZO(<{JN);e;g3 zR>JFa1Z$5I`!!E~=~g64Ns;PFE(0O@&z*127ZmWnL!Po|8fjhFd3#-82@o}Z{gfe8 z+~8sAF>qW;_>fuzPZScwZ64+N@T2{Q4AP$)+U#~R?$9Y=J&a8Jg(B`0x(TU zD@868O-^*tqOmY~$t<$(i+gqOAFCZ*QK#tEp2KkC99m%C^m$z}U`8KTm+sk*NxuX| z&ZqUsQ$52p5o-kfv@$bxMxmf`KVT`KhGfHsTzfI>=XAulI+vKc(LK@$@^VG)d6?>- zYEcaFG5QV>)d~p4I_f`;;%??4;q11SnO0D9uTn)oN$bZN3QPA1s*%6r8AP?jBJe(t zPNuwf=4_Tcgz4kQ?&gz)IDh?u8!iKCJW=-csObqF_?VtG#ZR2vyKTwT(9(H2$e!h89g_VrA*Ne?^ zWnVg{IQnzhnwyX7)ar^Qq&-q=PMSo4-e}60+_B+@F(~|#m(Y$foRu8F^xv>ZK}jIw zmix5x*{8w)m0gB*%c1T4gu-*rLrQUqe`My$jJugL&Vg*ejuI{kcld7NvXfN7#AHp| z@1x(r+>hq7r{%{62AZm89=1USScAXc4%K|WTHdlCo^sLj1qO8C;|j_B+YOcF)RHS)sU<2?QIi4MF9R&`xn%r6)M`NB8j zpz*2?h)I7d5blMDqfMX9w%NEMtn_-V`B433P~!Bxy^2LH9SA4GYbMSnq4FWa2;6@- zyti`j`~Q$xB^b0!hX^8n`~49=inzR8fD0D}I|e{Tez(=!&+OM6f1AmBFRAf}Y-4`v zywc}H4eb~cbD@&pRk5-MsXsHXTl0x9 zjXJYJurf)PSN=q}(e4L+H~nOvA{M)rwn()GnK$(eFdq@iqET5k6gYwN7FM?=6YgF( zZk~?r(ZToV!$hkk6z*_YI@gyT;$h_^rAG6LEGZC0MfbJA>h}`E*H2pu3UdneAtI z!1h~3fq0aMCbBWsvqJ_V{xqdKPj=dGq+DkLW@fpxT=eXw$oNC}qha+d;R*D;!t!cV zNxvc$eCg;ow;1EwN8(kowqkCx@8w8eSD!_)967Y@$KmskjJUZQI4>2yuznV%fN_%- z^l;nhReDs98XJwR!9<5XL~klY7HNzctBL`JBliaj zR+i?wS@wYq?>-3*nrE7FF%xGg#ykZb?^fv{Qs5-`NS=>nZq{r%TaD8f_|sd`-a*eC z%{BviGMccqae?TW8u9B1^Z)bq-3tDVu|2pe)(O#XKMMt4)$wF7_ zx8|0Q_VJHCIev@(bviE-XN_-G;)K#I3=6eZgv=*%u_lX{e^wVt*5mcP zezfCptHi{XR%wA4Nu)a~*n6;m?2Ah^A*&=Np?c4TLoFA@&sXnSq-#TjGu2yywhC^UCfQe zK*n(zLBIS8$eb&h+cbfIiW+_l&pfQ@qWqmG-lwbA2_KE_!7H8|v*S9X%H0b#6-QC^ z$>k?0QSIJ6n0uyM`fQ$j9Q}AwD2W7~da|%mXh&~fLeCYC4n`o^NFeK%Z_!pU@m0(E zlR#~3qwA|mGdgz?be{d-Y4;MS%WmXYRs!ohIul8PZ=6nW-tP6RBRIjUzNcYcndg&e>}#T@}nf zr!c&cx%`n{xdAZFQ~X~begEPW*icefIC!|f#^FUgP^}pXyp2gxj*UOLJ0mXMk3M*k zBTeM`;NvIp(N?J@&dgVV080n@D;7d_*VhhMNwtfBj$VbaFxnyIXa$?%v8oXd-njEz zcYFv(H|&u`ED?6=)!PfstxZma?V7_og3x?jv|^h@N1W}_IpdpHzjl!M;*yTDLI&qo z!AIO?O)JHxTK4q!XhPHDL8mu=K~as3v_OWS!o{@LaGq}VZhPg`3wtY_l|qSh-s4aya51-3xTdQ1qX+1} z12t(y>vxkjL??bWOqi1X0C%M?8T&06SoRr;iMbCVU%lwJM8qwpE4@gEuo(e^EH0{$ z2I^Q%Poqzy97{wl2gJ%=-hsl5)!>sFowf5lPmJ^{eG%yzGF%_DZ-*q$9jUQ4JB0p% zG8#|@mtG`pSTUt*nLQX@jdrhuEM>fHSgMN>@!WBn4%5Tmtg}7siMHq5JWbij`OWmd zUY~CP7Lz;*bau=gH4xOL&D^|+nanqt-%&N! z8%iApnw3-(2$d5KMkXECIXe5Z4%s#4$S$!Dh8@^?4!nxAF$T^MvS>Bq>2tCrU{ETn zup|;>fc??vmye_V?eUr;awH+(QS%RPf$FY<@;~AT{NxK^Dn0P30SVNqslEZ5&E>OW zYJbeWu}OPF{6DgaCGoas=PupH`#VUzgj+r2$0JT)J)s7x2ZM!WBg>zPaB8U@r>-M7@8r-tAcO zCMa-h3RY8&RYG)-!sG86^}hzvO6NdkgjJutMRUs0e~26>Wdfz;xnRHllj$$xU(OcW zQeXf6(t8!NeeHtC3V2P%WP+2 zJ(L>4*>`|ANb-1KWk8e!6o+PM&D-lTW~(vhdfy-6?;6hOnhN6!(QZS9W+#&M5PX~T ztZ`m+K<0bqI|yshALb4{{FnwQAtxf+W}Jk* zZ~F!bHQ6J7M(|;i&LdV*ts#v2UQ})ti5;|g`$4=j_w$0U^4839eY2PzI&y&supYm~ zmo&IRthM8(042WE7@PhVF6*e&3hWp0RvaRZhQyD#UARPAmGntjURs_dYgKjh_F2=< zNXSYqlTqwmy?LfdX`>d(v|PAZ5#Eqo)cGbtlnEkbwv{eQyGzL>rcGVZlE}r`-}=== zzDb}Uos8YbRymU7szZIp%|^UE-z;iy+Sd z!vFJS5&D6Zno$;5k3|)SvX>gnI_Xe!HALskN$!@&*}w7PQ-^!(U);+9v@c1j&Ge6fY%^kf*y#NmDus3!-N_d0-$+3 zx%V=yJ8Uh#JHjBpea-UZFyYcsNVMNk(Xv%9;)q1jc=@|V?F!ZQwp8prwCHg^7kl)I z%FVa8!jOaRK#RHdVo1KqJYE!%MNHNM*%GYkOFVaaBuZT4X)w}E5l;M-Vm`ytA%vo} zWhz96wtUmI`a;*;tZvTa0=Cf8{o0et?L#9?y3n_K%y!;iYnW2XRI6M)d`lK4NM z`f_eUFmKZfiCB=3@%@!GzY=x$q!G$wC!=h!-NAIL4>Z=Dhl-fj3-jvC`O~BoO|Bax9edZx-J?Eo z!gmTgc>^3!Due}X(of)b>{GlAum}<^aAuR$V_8;JF2{v7we1+shthu#gUD~FllTyE zq__+qIG%^vE`P2gVp`ZaohW+6%a#OkpEP@cndm-sGiiAlCipY&`s~3R5W!8XL&SfM zYZZ>DkYQ0}`Q9Iev>|n$w(Kp0L_VE;3G>M2cMM`4BYGqAH~>fpGs0e2d!fbqJGd~= z>LvG<%B0Mz-aTdC(v_vcqb*5l$x#7gPfIAVNHWYfiy%W0{MDKf@>1$3VaZCrxRkKCA_?>&Q5 zKTa@nB4`QTryxonD4@t%&F^_D?NSkH(-%fJd4ii)iPUA%YZj&?@T@M1yV7YLVKNUN zc@^5x3TEgo`wMD>DIX?$cDQkVem4daBg&nq=gqjEn3*cS<95UzJ+u*-1DgC&BbiT! z(Ni}Eo1r!0N`!Qn20c%Zu@8n?M|gdS@fL1E0~+KQz0uB5&#T?Pl2N&o7_=qoc({mu zIV%BPJypOqj&CX-Hqb9#@Gn~T%)Uj|=WpuNEt!8R-}^pGeKJoaWVhv8Pfp7z1b++q zm6tj4Pu!KJi6nl1}^uKUh&7X^NQ4 zlNrRXYX6h?=Dmf(+OqKZq{Jkc!RRTvOn;nCR)C0)i}+sejB(EI;|YsS^aPv?%Z(FG z1<^Cf?zx6ZAK`dw3z_P#SbRnCePmHG=k)O@*-}e%=A2bxa?4(mzyJUj3s{Or;P<`t zj=a$idZUEDYsj^qCCa5f7vsbJl50N24(n{oHLgis))f-{7X0qMn=$r}%(xyqbF<@q zEd0WXKg#_bBr|>h5M2-L86H@?$ZWONUD|^Jqx17rmQ5q%(&pOSHBqy*w?aUoQIY3N zck1X^!IV2)r+jtj7t*NCgz_o8we`eSOh>#4=ht>Mq#B-cbXnU$i&n@{U)lwBw0F~? z4%po|lM^?Cn~*$hDXsL_Wa%Fqo1WtFpvy5q{U5V_yOJy-*Gt#Kh``?09s)zu3Huda zBNY35*HN_{Kn&Ft>ICh9BJ>)A)-)G88-#Dyr2|%TrFQ}#{o;9of*W~Z-Nv$ z;7rF*-SN>GG$?ufAY^5;!#(Fu{*i*q9dTpcgbnIePV{oS)MCnt(pBUs$@9%OaeY&z z4rg|46(SmH4yj}>zqDE11|g{v1rI1HD$#;BIQ;SKy5A0e%Ph}3%XeJLj=h*vFx=Du ztirp}hM3w*eg!>bc_mAg$<&NUHg4N|e23N}@|W3%yC1V5Bi;o+@mr0-RyxmHI@)UL zJL~g~`_eo&k{w-zM@k(@3%0Zk=$#pG7?F3ZklM{Vau28xTIp-HHzruWvmx8?bWRzj z>NfV#jE{gGm!sirYuXQd)t!7&uZvDH$aL@0b~}Q^UBin`;<9DzXr&>AINP8tTgoov zW1b2*gRRwWn;dpzH|XMsZD0*|&fg!ngfc?BUd(*@0oJiHU~uv%$m$WKl>uc8&`Ual z(Oyx0iqDsI=Gt_>>}6j;ZX_#LZ}mr{z%C1kT@8B7q-~}XcT_207)BFyVl;blUjB!W zjADt&N@}TZqy5bKXfrWxbiCHXdF_S$tA zIIc;<=<}!?YYFH)j0FI(f49kXKe>mAQH$m9g01V>qSFa}zs4O+$;dwjoX<}|yKe1K zf0C|8=cKc)bciQ#zA+fXeF}SvY*E7y_ERzoU;)pFIU7jDob+iI6`z}gF}M9_jHlxH zNSZJ9w5GLwCR{-3~AjB68*>1}UD#|K8C;=O^E)+kF9-BzXD_>AkDBdb+*6G(7vYsR`Da zjN`+Vlo@zW2UlNKhNznshNL7*tOy-p6`9vd&icu@nfp7pLkZ1bX%NRM#8r}rq0 zDdA!z!#R|xq&TX5IeBzjsqyDR!T#RcmyaDgI88D>6h*Y@H>F8@67&wUbS&-vPURRPP+sJVZx%mvYob6(y&BBP;e0{>;iRej)V35$+ z0KIxzTeB=72xLomRvk-Ozy7XXFS_EoN#K3h{!J$IQyPrv4dKF$Gh$Y5*qmO=?-Q24Z;4;GAO z3G3k6<07lr4zIAp8oXw{!k$i)5QLL99FsaclB#+^W8VSByx6R!*mmldas0Q%{r~7@2mb!o3jZC5a7df_ zSJFRk?NK{%u==!rrzFe%fdSAIpyp z3V)*4@LDpv&p9~tZrlW+@FkYH!W;G7Y{NZMX-08~!QIq0lsggYYmVq@-6p6udQ+C2 z@hl}Kj1nCLOqvz9YG2liAbP#h9kf4*y5Q?Y5*5y|4%;M*7VOKPGVP93C@@YZFVJKW zcSN^BwX>oU$}n=j@(Uu`|o_5lPJE zfOB}~@NC6mgffmIaPw77Z8YJ+1m{naofHK-BsA8Vssm*csX&Bm7rQYJuc*2p3Dk8L z^iX2JGPm(%9!BVZI9DfRFF+S$SO;iKc{d|loPFYxoT_}>jYQ_dGfrYt6fawp%YLo3 zTJh>w$+GY)Qsu}CTll5p>+;QeSnzVF)T2xNuGA|c*4bn(Y}XLyZ$7&I ztQ?UB%|9iXJQy#8{AE2Hb>zRPAn(VMCmTf&m~;b#a6o3yXrpmJJwDNk?nSQ7Re!nF z6@bFL>X%2#!S9<^ph3jT?^MOF0zNq~;PWc&1R{ecVw7-DRZ)tw6De&kN|7VFr&3+l zxdPc@b>d=QDr{+e2Ikv+643bI{GL68SDXzluyi<>>|$@BZBa0N7{wy)|W;D z0w&+&*OmY?q(>O~4C9X)zOhDK7FAY9i+GI}7rJJj5;X~XF$tvVFvpMoJWBL1`5mnS ztQ>46!+7=u%lGqG(1Gt>0w*S6i84udcmGasIj~fdabWH?-8SiRe2MdtB5llP$!6fQ z4-|V3=)d+Si)M_VAoTq? zNnKJFCBa4Ens1eLr8cnKPe(}cR_FEA{^_~5@-l5|$bmmqjtzGMjUEgkybPvt1IJUd zRiARZav!zFzvKUOq!Q?dt#a!+_YL)DBI*1j`Z{Xo?NQqhlL_NHS6^Y+%b4cm+305u zIH&t?V&r$XH#C=-=>54RD?y8<$$I5`z_O%X2TYs8=M0X!fA;j3hSWpZSJv|k5P~epUyo_If9{bsX;CQ&<53(3ud73o+0=ut;=F@z5=miL$E^IAnjqKB zBhDUHYE%X!C)8Q(ZoalTMIQ`__v$($;#g*|$%PCJ858=Zr8uIC`f{@JtDugz{H?hL zsFifhs^zhYK5Bh2l4ZMWJMkKQvyktP64TO5LWB{)M^u~ZF;Ctoq`F#o^%j1+zY%Xz zA8*tWLtc@rJwD5YXWyssJV>GgfAS*uH9F&n(dt}zNv;o`1wL8~n~ENnBw^JYC%Pvl zKG+BH0pe)O`^vOoRG8MDJJyc5;<;PJuuG|XPvXK;Ro2^mo_;CC_w}8A>m%6yvqQvU zfDF(w$Kyn!B=v|b5|(cqyhV!AXT$j=#Q0ckxu0&jux~i((6l_226J!mc|ZX98`~)FUTwAsL%EcS>kNm-#i8#!l3X9BmwF zIbE9Kw5Inwk2$BZ#8VqLl9i2&Z~)lU+1E*KE|OUeX+`wy#I%W*TdI3`l{OSppDx4T z1iGVy1@H#C}r#4y2By&y=c9>ss+>?lh?fq`30X$SAEW(nl zbMA$tq5u=j4R`Wij|(a1UY`h&_dT)3&zq@4j>`N-y%inH1F;Cm>r$!1vWCG{oO%(uO3Q~?x-_-?4Ut=aW?qt|DLwhE zfj=y>p^raq+QIzO7Q=#`+ZN^-ebzEwU2~hs^N6vW-R3yTeiYP&8^_`{(8uHCmGElR zJf%07Qd^emFX)@;&y<2)FFR;SM^cGo-j@^Zi{^SYmT6_uDUpX;t^b3)_YR6`UDtgZ zK@iCxIVuQBl$?`D5&=P`869=w}z@UZ>)(M$KCj(Vwl7=fIe{i=k!A=utHxY4s7)?+2m!q_l?%(Te2^OSgQdtvC9S)R_I^q@NIu8Izc z_C4H*mMnf?@aG7{xZh5g5tDoj=z^$c<=o`CFQ*4q2aI2}i`viw#(oZK-)+YIVWH0` z(QE#nGd_VAc4&tBY63G>$f8EYMcoOo6f>u0^U>UrT!8oZhygf}DZN2TcN^1`yGLgI zOK$GmAQgY3ceJvG73OR0cy^bc=`zDVp3$rAyFa}4^;+wG1mH!k0f9iY<={dE2K0b@xz!W(6C;W87w3;=%@ ze1Ye%x=F3~P8U159_Mg^F8}hbFo}OPZ2?T6<27s4qSs2iIJj&pNE^z91QJdUqPbYL)czMw(S+Q#0Bi5gZis za`dK!Wx2(b@}HtDGYsY=3{H!y?Y>%&w^OHz_0;` zHoFbEiNA@xi7W`T_HOf2RNX-CV|JvcqZ|io9hgEiqYU@t?#`Y z3zwfjpmA0nhAU3z&f0vG7x@Y+;M6u|kb?ccr8q zj#WxM&QDY&IYL->+UC&UydYK?Q|0cD31#xVQZZeDD)gz9*)_v}uD$DaH~)_{o(t4$ zjQ<}X|7VvZ_Lp~x?VFU6O6V27@51!9hBkQ*)kg^U5+rOaiyIir1)RHatb=6SF;;nH z6+MT7YX^7S3NRD~ZF3@niBge|VoN(XD#pF}j{@C{y?SB;reEKr3&&b0O-fNCR*6?f z*)GV&eIKt>3U@a0Y%!&?a}zLU4uRy?-ue6DCg*p4U)r0nt8=jzRY_Pf$-7_usyOre z5#Sr(0A&dpD0j5o6ZM+2>0DtHr3)7Fs>&2#{KdKIZ7J!x_6rXnuXCwR3tf%F1AD2x zJe`fzA&6Mv_jaTr9n(v&J|CO+w>n#wDG}}_f*0DDWGmld!)~asy63>6(D%m_YF;8e z^BS%SVf}@|XPIrO1&d~?fsjH&1uwRz*y9YGRYG=&5&DG5CZiuFEZ57d%`kkObC=0u z`ThuL+`Y>^R-)b!xVt9zWI}LUuj`O94n@psybP$C@>DG|oWiJSM(7IM_zvZn%%Ei3 zeQ3beumX~4);pi^I!bpwOkmCHr3Fk1sCr+?LW2!Tnec6@L$k(qKh;>}$MZKn-%rRO&kr{y z=ZX&l2Zm;e&YU-|;@W0WM_`mLPk02o1%JbuBCFjKmA?EYJxryNEAp$Ow@Tp^dxLd2 z{>`?^V2?^O&+ZUhEZBO@zHr|}ut-;+{Mkkk=x9vt&UZNUZP#oTV@fxyjc)Smr1kRF z?xcQC-FP!>MBX#w*T7cGv^FLcIZmK&4@OFwki2PSVv08S;V2`{gVgiZWqt$*X?K4Vi`16vWUN<2CeP0-4BjRkT})Sf*F z57GePHSHSuhb0%v7utD>%!=slSJC_0!o+gT6m>vY2V5CRh?H(`KKQL>_zHz@-{+C( zx>zSm0gBAcIvY>#apSo(aGO9wdN0t_&b%pgw6Fr4*4(pNi^U|u`7QEVajL^&F+Zf7 zhx?7^(7)nZpxGoIS6st~kH%lmNRhZ8c_dEN!ffFK%A1kz*hbXa*wvGYHNQ~tqiceE zx!cH48Eq_qq=Sf9vh&pY)H8HltggKx2P5fTjLj4b=vtQv?Kvg})OlYh?+2H!yKZ(A zf>L!PcJxNgLSafgwDhXHYKh9+ZnG_J8ffdvZ9R8Sa5Pm}(N2^344n45Fj0*v zxd6t>KcF4k^{vV>`EHe)As_(nt2fL_LPYDJ&gf>^9=A?Z@LATt)ZVkyfb-MDUgUhP za=1$vPSoHeZHqk<7LpSSg8JFQy)MKeo^#6#W!sR&MQ*M;tvb9fwWp$zheW98^g z{xa#2Ciy_gqi2@R_YlcJEay0PxL_DCa0@&-?F`hmR<_C9r*RbTPO zBF5+T?6W4HWq`K8d$y5uL!<$vD=x*|DAWoc+O)Zh8B-fbb;~?RW z)!^Bw=0owIh-D=-?CI%cD9C#|B7jQ143jUV=7k(Jx>8zsKKquDLm8&_c*Wq&)5leI zl-fx#mC}P8?0`-6$(HuSR=bFl3h@6b^WFSm|G z7mWO>WTRGp{GC5bi0zw<^2m4nHHHsKakcr1p!fDnq^PW%64jDbjM1KGf9pM1U3F#4C;YwWLg{_b1;+uRa}yG3!_s)PsqS;9@X zpQTCsn@Q{Ce|0(ot>6DDXZ`ny^q}&;T8sYv*r3++Y$m8$Cl?r4R(XHGTvr5nO7RJk z#>LHAtDgMK3>p~3j!Nmu5=K=-x#OQ75*XJuO_!z4ZoPkHW@Aa~!r4GXi=9YANNmqX zW`L2E|GABcFHZ;4H!}*CZp@UkzpFHYoZi1Xwgl^Eagrj2Ql19JD-{Q#;*o_tR?|*3 zv3z~ME_G^SOLF4OD)TD4<^=dqsUZpbv8~Vnya^c+OvxGvHCT53mKn_;>NQHQ_COQo z$M2nX?{5N}k=i~v=0<6Fk!RArZvnFz=hY##56?jD4C_gzRO-tx0vJdXhoSgU%iKk5 z6eH6(qV+b_wsOgCMPS;o42RWDKW~|$r(vfw+({-CNn!FbRooH{faG+;<0Y2H~$eI`VR%0LLH@->!}=bhS} zfB4ky{KcdHKVSdNtDl25Ex8Fr_!}9W$V}d3TM5r4w?k4lbNrisxMWy}36BGEofD&L zzCYPi)qjBUB}^RrirKxHEXIDYn`qkD{` z_`PJieZL&|>E;Moo4gUpEU<0qG01&_qoOV7MA(Bh6w>Qt+fFY0)IrLKs&Z{{-eZ-} z+uC1HE&Fh5M~w;70=pL)O?;12WNkanKD7U1i`<3my+39vv!PxXM;YYuaxEvGOPgmDBtw?=ftsAAaSUB;|SrtjQSDMJRd34qoFhF{4-GghtJf7Wx>|?Vbxd(FmL5&Bj?A znOApaaZh-DCjWZYT{oT(;1U88o0#?UKxS$pjy6gkYG2Sr5jk)UQ!^)ahhjgUOy*<|+4DEPcqy=42Q>Ud&l% zDG_T|8{Z^eXY>Z@bX7Lo9dF7b-L@QIz+-CUt1V#lh3mTzAw8HJ%1IX_O@Wk+KJcSJ zv>*BoJZ^>=eQ`KAd}O89*pS?%Ob2_Y1Q-%Qpsb%`wz3qwfruxX#L#B>y2%PB2b;Fa z#C~lfj1xIyf%d=)t7HW(N4PvA%{rxM|M=Y%%xb5|g^y!fwzqGgy(c_F#4tF-5&Awb z4d0c<(Vbg@$p!x78V`});PU$P$(k)r5r#h@D6qZ--x@bjE+!Xryp7w`eg|;a<2MQyA$jaxZ zQ+UlacPvGLQw>HNVcS=}c>IZIk1>ISa4&s9uNlNOBm@axVN35bWtio@r8mS-o7K*| zZPq!+pPMPLN1jk6h*KLq8{uA8nMSbkjR`z0BX z0=_fRCJ!(FT8()1lJb$V)4D8JWbwj+Rb z!DiRg>*Cji?1jzc3$^Xv^nNR)B8Qz<^WzQ^cn049^n?k}k62el^+#RPzzM*f)8qN$ zOyBB_VjdbGzi>W@?D`=^{WchzK~K;EU2TxvS=T0+jX0Qqs+Ysyd#6`ghDh%54WVLC z{I7(P3~~db;OFaU2Ywbg_D$ivW?1{4ur}-L{6O2AIx~Ld3p>$Lm0XJtn$o;r0i+1U4R21x$918;#E`8e{MLey%e3 z+e;!#CxQ+8fJtKFJz6igww-WPP@buzaNK&TXfS>xrT}p^7I+_h2-d(?II7rx5)vg{d>NXxEDGtP_9lK1BofpE*m02YOwge&biz!eH0QCHc{x2cs5&>J0nbHPPZsB zn(H}8pyJng!kO_dQPEk36NMLZUZ&6|ayb`L-l7&*w7eYn-aaLOg&-ep*wAxtHm8#? zgqG>8lX>FxhTRHA)F=h9`awz(X%=b-i9TBfyt5Zxb=h{o(n@_7V!6*JhfYeZ1s;S{ zc3Wa6O$AANbs8?OMo7t0dp3>iCRW*zt4D7O*<(j?g)9R_hVZ4 z_rp3({s@(qJ&Vi^zIsxZ?hmjmF4EB41Z&w?_H_Y|W@|>NbdaV_TG7goC6FGmX_w;P{KvU$gJ@KIU{{7!de z9awCr0~KX=013x6knk)D)BzK1wn^Y!=qB%hh}ojjT$8q)?C0NJSo+>k=|*@TX536X zD=pSnBLbeG+?y&s(055d!fRbhG`+lv7nh7*zTr>|d;B5&e(&x39_QRLkYtz0WlFE3 zW{=@k3DP9+)x?3YZzh-8w0rcgs-ccWCU47#NZN&Nb1%pHcsPk*HN1rMwFhCrTVVRM^b7lT+N zwsS!$1KUZ)*&W%xA2DGAf*XhiaK-~LdS3}wAJ`h|Mb;3s5*XEiGi45+YmyJ4sX)Qc z1{8?p#Bp?W!`Ju-?WpHOCk?Br_GSgIy<|HYPqV>c5-pOiz%pW>E-~ zQ0lCR@euc6f-4&L5En?1Ay4wqs)@RH(}I`dhgW00kLc6M${#qf-S3^frP&q9qD9{= z46SL%pE+L^v-8rUYb)`P*?G1{AQYzS8m#mXI)LQ`thMv1_%`Sb%S|ZY(x}}E-YD}Lq%B-p;9D2}W7mPFZ9stZxoqJ`Kq}r5qGNsoDQ^h%D&8r$X=*{;uV4(U`xh*XxJf$T^n}!=+fC*Gf z(wO9#ox;oV&CJh|-x_6AV`c1@YOd^)+s3}rlHFy7y9scnGm)`einUX@6URa!HU;)` z)&1`Eia6fxiB6xA=COv%J?taPCrM0NznQ6fFrGP8q(3+Axx zq^zMR(B@$a7D5d|_6G>kT{u=BXz%+oVpYTO4Wg4oVv+hp_ibaO^M^=l@nLeGe{$&k z$Km&{bz}Me-IXL#Mg&6ucwPV~Pg+)-6muY=jEP@JLbuk#HDTB{>1vn!$$)b%mb@4q zTO8QwxT{SXy&cq|hLDZy?wZxIr$YCei+teeiG2_RJ7suPGSt*F9M|Bm9(4x5!v_vq z$k6mXO~1m-ki2Dx{;3vW&$N$E^Gf?nl#YbC9#rFl^t(3delEj~#JX#bv9F&`1Uv$p zKEv3QKt0ycce>yO$>n)KaltlUt;l9z_1O7-a%cZEQ!T(R2oI9NLaI4>^_U8w>q-jD zpoNB2YB=#4kyB$s%UE0tRwsur$<*}4J4L`?qjIht0c%I-`d7TVh2QpHkz{YlF0_nn zOV&9p{sF=ouk|^6fYk|g>+~r|N4x$3>YZLPsEzFpFFmV?WsLczZ<&x9!HGM?@NQcg zO1U!mAIsREOWD7={`bUXCL~cuQ{CNk`TKjbmlB;e+}V&!?0)b^wwFUHgw(~fw0(kd zbUFaUs!6x`0_a_oRMZ68tPGlaT-BNJLeZ@3kZ7=7od(I2yS#2k+4R{x+dw)FWolwnMHLq zuB|XQ{DlrgK&2lLv(kS|51S0a8vKU|78`Bd2r0XMjEawiluNx@;YJgufN@iDZQLiTJs+Y&mE`EfWJOfU@iZoDrDfN=;-tI^G3`B` z60oF_eLWv{k@``_QW>3%yxcAsRfSIr0=QxhgzsMCO~B`3T10bA_h3G-{0+^#T@Hg* zvqwrNrJbK>UB4^1J;>(VY%|S>IhbGS^tHOXS^fKyCfzW_yV#*_mbDWx>HW?&wms1w z(0(Lwg`Epe{y`xA-I2FOjmlB-kN0tv@HpiGxl@de`dd@9O=OE3Ntk&h+OxR8&Xj)o zC_h|o7BRgILn8E3t&_K+ltAovO2{&Mo1#F!vdQ|)A_)I*N| zu4=3JIEQ1$a#l=wfzd+xegsEjL*;3A*R&AffU#xqHplSb{I8N)wm^@(OKxg+# z8)<*kVAf}1I?2PkGqnO2{9%JJD1U6R-@FTGPHcR^-h~Q9MjDBRn&hJlU$0AJL~$?Q zZ52Z`d+3y-TBPleM7RgbyY*3qD{d71TTk9M-d__DASM=Ph`T4e27`~4<@%A#v{5WB zi=(9rfQHOH$B*$rhdBN2)HIB+(P*1lRukUPocaivhx;pc)!j@drNq}VCDp5@56;rJ zs|9L)Pzy@-DLeylhH^ORRN;RmvH#AYH?7nr#9XI*Q{bq+R(C7QCZ>Md?b5%!1KysQ zZP6*~ML-BlF!kE1Jbu1K(12sD>V{|I{$Qe(1F5brSQiLYhOpP&gjjTQGIUj_<3j@8 z9I9fZT5bXKaYcfY$8f6OY@B}%vs>oC^Nr#Go>NkzG|;c_TeY%G(6{Qh@GGa1&A|62 zhH!h?os;?`p7E58iu+zpr@5Q1xJN3T{XtOsQzSsTi)HS+qzYe82e4_TrJ_i0DTVh< ziX%>)X=Jue&l0{2zV^h&>f{hFi;ubtz4@8lJIqzGpL*y3>{)rWVX6j+cde(FgP)4M z)`ziJuq6S=jgX&^L!nmQwxkv4#c*G-9elCvc2Y~P_w#5mzl)W z2~HNiNb)Luk(C$=*(YTj>nfSY#>R#~M3V5&(v!s{g*=nN2bJP_u|3=hPZ@&m4LoW| zc^+cHGNQ^U??9M{dk?Qw%j{VR zG;47UR=8f=0({A1ExIq4W zcOk}DPe}sl!*Jbb2-k0y;UZIIr#K9UEw3C0D8pA5@2}_TcntchANQoN7TOKzo@g&} zX`SVMrOtl%sG&A>AvGup&n(MxJ8>RlxyHT;I&T%Z9Deg7gKD}9JEr&&1SvB)XkO6)~aZNG=uqc%4T3F->Twpv|w zlw7b+0VNM41-sf)eaDu9duFq|wul$w+_vKi&T}IA1Pmj7w58%kf4!EQEXzyN=aw>Y zbEF^XXy)X6!Yv0%#FHYn#oigpDcJYnE%f&{FW9^EKU~Q|O3w2fy;0@K*d};X{20G; zZ9S*t{KPEC9TIW5+BXganqZ+b<3C=PnbHD= zbvM?xUuWfcJUeUKXW%6e{9S-}s*r_Qe^wZ%lzHrsPyEC^kS26Q_72{L?kSTzBdHsX z5q0YsOd++J2&3Ul2poGhx+b1%>6%rXySHmPzWdn7hHk+MWt6sKTI@tWY_CSIH46C5cE^Il5M@ zuruUoso3o2&GBYzl3dID+6cko6IOoY4${fB*dT%WjLyuXIg~6+s#tPT6uZc z2$33B=v!KHmdkt$!RU3kVn~!wR8c~ZXl9%igZHz6(&Mpy;>D`Zw6+2cgGKf|*bWsE zY3>kD^t{H~ailys?rV=D$%mG7-I7hnuy!M)iMJJ^byIo;ck$k4?HUX8(u7;fyu+@h ze4Di&Tow`tG?Duy;tzH%FT%?V1G`iUpandX=VGOw6^puFSE+BRe2E{S8NgEM>@Z#f z`G3$U<2!IV;w>xVb1Y}C{-o%^@TNqFSo@hCXj4^Jw{shZ>3mI3<{_qbO*RJTdelez zK?bKR|dgQv0IJ6n;;??lF@e z_<2E)FP^O$^?$9)f(wt04pp}Go=#LgOnl;&5lmB( z9FvaA$E3sL-cDCaJ#uToxo!}@dV(O5>JnMS*)tPIUNgm?XE*AOHelZnJJ+OpR>n?$ zt^;98+9!f$(onblRZ5}u=yoC`8Yt>V)s)cZAM1JY7I&lX+Z7HPkXfX#E3+iizLy^+ z^q&$l`zR9lU=avwJdeKvg?D$u(ljGIxGJjKQW!^4PC3IYy^Mx@7)f7cuRGvQ71(O^sRCEzYdbiAQ5_L zx0!4H;Mb_y*8H(runpUVvk9w|YZKApJ>9pb?>-D{M1eN&I!6V-vBc}z=)mZ6Zz1}5 zh)}n;FPT2wqi4;!kM(ef@-qb2GM=J%?|hIO|5|G{97*{w=N{n zfBL|*VN6tL!9~_h@ga5+O`r^rRm1_c;jwxR3^W6(r2u5dVjr(#_Lj-e1lF-iE@zA zL7LzmYfguyTM%c=wkeh}SSlrUvUfRSv1|n4X>iV#pvG2pCu^?MHGA8hG|kiuulpD7 zD?wRX>s&+c7pv$BgsR;s4SyKt)+bcE8j(df>0ZXC(>`Z@MOBVJonIfP_Q4}`IpVtZ zeNSAFt0p!_RB_3*4vIaIJM^|%=#8mibk9e-Uwquo%)i0hU|QR^H^p~=wG?DM??;EK zd4{Qy++T+122#mGh|72m*X-DyK^7iWegACUUOy!A-uCxBOR^%Wz-6y z`<7!YxSnmbs&#kiQv;bWGnJ|*YeJp|C$$0cE0|Wz93@r342COSfnwKmZY0lpo0_uHz=80IW^798&;Sl7bI)auk49`+Y6W|2e!XfLdyvVao9)m% zMT5^C>;l~kXJ2u_?L=qN@3##anwn;`YU7ClyF{H?6F^1|Ltf>tk(#Tb99$j0eYS`o zh`1#Gz(V^b&+2kpy56v?Ci^`@OLX3}5ueH?IcwhMMRQh^K=(RdRmPoT= zZ?-ONt2CjP(+I9n2X^1SgT+ro*SNkR;51nAX112gg!N^^%%8K?YNLYRQqkTVet}g9 zC6dfmI1_kO+4z2Z%;7cuR8MOa<6q6?ps^aj32eW-DhJ#Bj`qBqWPNGYK=*ptqfzPI zmo^clwOZf7b1=B$$efRLiU*Wws?W~L2|8!%8sOF8`K~z*R6@tx8;=8)c~Xh$%{(e* zDl6iS1w*`YR^Y!&=wPmNwmQzBBi|1*9}ELgnV7e?q!5gHduxxeuWo= zD7NS1dCZ5Nn95wzFXky%xngW|CZfpfpjsZ+e&ru%LN98%4~sUOMnjI}%ua`qF7-n; zeF1V;4N@+0^h`LY-tdr?r#6UI0dQ&=_pjd&=bcQHZJ zDkJ1#ozeu7oZBmnnRv#SYzyQlg(f;IGIwbgKJw-$TQS(}CRuq7nesWiBbn^)v!~O$N}+wF`AOg z_TU2#62{$I0d?iKRWm$1bVDkK8=CA#OKpFEcy%ltf|i2wHQTuKdL@3whf4_;gD*d4 znPg>xAI}_Sd47Y5{aVLfY2XWDCapcD+igmYk8vO7;p%B}sZaAY((%x&HtwpH!?N=ryHf&%`Z>&xv4*5JnUf;wHC&CrQ*V;A@CWmh!tSrAC+*UlZ(b zHDf6L0I?}_1YYp$u3oA$T0qy47wHHfl5!`T-4hJfbdgorvINV?8=0P8Pw}lIV|G4zyCV*i^0|;j^?1+n`7q7dzBvCb*>@ zUUL-e)BOaEJhDRbmU$Gj?b@4zMN*v~n2#Y_y{z1JxN>K&b#Btp1l~ew?!>ixpXi#&3E+$uaPuAtz-YmS3=;F zU`qS5g?SCkOtPQF*@o7+seWnslMfr;dYSbZo?GK@`TH^!9fwmbeaCCc(L7R)K%fF8 zMge*FE3CXl)0GMNq$Xl3_IZ#9omKAWnxZAp?<(mgqUT-yO4}O2mvEy+MdikN zRqf&XZJyMxU32Q{@b_!h^KC|v zW#OJDPQpdH+UGQ0iR(R;^?mI#J|J1uv^`yOqD3cXul^I^FvO}zQ79oU)k>EwKnMf` zz}je_Y(mc33G8^BFC?s*7Q5z1+LW-HNkN0+QXpv%5UQ~U>}BrNOW-t-Bs9G?U;wVz z!+t$;Elm{TH2#otgtftAwN}1uvkH5%lA0Bw4TSIDdUj= zj>BZK4$s`kTjr}jKzyc8R~Rv|YlmiChLDK#p0vkht%s>i56_=eQcYyp!v>g}?Z}L- z^21ybW}6LOdViq|E6OHpn_H_UJK& z%O&5BZL$S_?U-TjmLaQO%jjxUmvPH?>vzoeE4Js9!^8q|_rGqJ`2-}D?ZDd-g&l#m z-Z_z2u;Oyc4|tX#basFOp1WoR0jW)g{EQ3(_4R+~J~N z(yfFR@WvBO89Y94oiCDn56xpCCwUkteS#0y8gMWk?23&$4u(r4hfkHBzGT%9D-@idS@IFr+yXEGFv6G7<5-7{N5r)vB%WSjHkH^qb83DMX6nSABKwAbd!39d}uCE`AQ;=s_)Ev!yHKm ziIs9hle|I4G%>tU_`0}cpzOp$c|xEv5a`dobZ6r!o8>m>KAmRA-MR+!SaRSxeflaM zw9P0w^-Qa*?^8f-&VF9LH6BUq?qg-gb2tHAxoVc9} zQZH;WqP?zW@>1hlCX61!T?)`L(az#R)dV~=BL-4FXoU;f0PdN|_@gq2s9C;&tno_qJ}$v&ma1?(_)6BB`JNvH zn5x{8FR!AK?GKCn>#u;L-f+*ARJ-W*A0VBWBeT}&IDZS{KWQke&*r267K$|%?H5xs zMG_d>5-U$*n5cuFP5ErUf+5UHWUj8#WMN6s1;QB~r=KAqk@bB~oaZP`BM(4yt<;_}_F zJeDD$#nt`AGW*UFuJhDW`cC-|)!E;QzLKz@nLCzFbsD%e<-WI#DuQ&U4gUn!Y!(nI_3QL?MYR1+$p9}2^bNTFst5iv3;16t zgt24(vTXs0et+R8HA{g0Stb16-RJuEQm+2HkNnT?asBHD50aGlSJ71e=#?c8R%-t8=n-*8O=;B(>YSegNJkt`U8A%dx zO+;0~lfRPg2EK4{EP7tI&(sSDy4ba?%r}FHY0NbZf3cw}Ld;BWJ2a_wh)N+Rw;jSX z>U{_65TNDgUuiUhb=n_#7R#m4ig{?4--*0Covrut=&QPq*wg`}rsZ+@9%Qn$NKBB{sv!y@Mas!B(J!%TW6%?zxl~EWld|fxd36cswI+~ULf{3Ndj_d_!Ti%Z;mDGxCt zi3$c%hT-d%kw%YYmim9cg`al8{dB9;ihfTIC>WN)`cz-!bdt0Lss8>&!fWaG<0EdFCLJNi zPDvd;LN1G=9GB`{%EFz{`9cF)%Fl;;nvCG7n)rw;VzgP*HIV4~R;_mKh*XXHv{c?m zF6M=j*^^hU{9M#2$xcR9X=i&+u(!Z8592RrP*wfpPe}4qKw8}*#aI^SY#G^ZroYkH zy*|nxuIY<06(-5K(`P$=gPt+fc@;}oz72p4>b>2cLNNOU>dn4|yJ`vAbd z;*`34Cpm1TMd8Z4k5j!&RJ{i8Gyxuyb~_UiT{LwkAL(urgBQ8|L&u}9YA&hzoh}c0 zly4WvGTSf}(x|g6yar6pTH`HI+f_eI7cJOfC0=!6Bcn8xLNzN|p*M2=PnhGbB)pw)Y zNhY?K-{mN%rfQ_+m#`Ej$5}73P7d2Kv4IL5Ak!LrkpW1~oS|+A)1cXQxD0!%pmBP# zbtre43wM}Yp2(~@odv6>zV#1b`StNT*AA%uxE4EaM6vs_i(a?rcrJYOj*@W=Y)a*E z!s*pW`9TbB=N{J%;IP>uppr1TNJrj07q>(mg`!1!1nl!4+1+hVni<;n0Z8jV zuD^}b8qDaSzAw=>hx~lu!p-I`h4#$EX+#8aU7n zHLdyGaF5ycea}Gs!xd-D6CJ_W2Fml1CXHm?O5$qXR4evE2!#UCx?F+nx|0DVy5Z>& zR_Aw7CUR8%SW6a51FA1tdo4)&! z`_^Oe9^oL}GX7(De-J+H83%4lMVBZLKi|TNQu@`yK7B>C-fOtAwi3j;V%2IZY7_H2 z%T#cc^6a7!kxjH;uUqf48eWt6205_>HyRe(f@*%J!l^(Q*GIQ8F6_0jqKsia*3ncU z-&V{t{R>;LEK;2u3t~cJo+`1cdWjs^aC=M3N%i-_vqNhFANZNhl%0(qn%(CJcgUSB zJ>Zr4QqH%$`8?}ADOpQFge3N-XPV|Z$43wgOg{<+zg_J}^XOVxA~2FA89G&`Y^?rF zI`t`JSoXd;o8GC|)Uu;PpZ%*n3s!LAIZa99?ZRQ*=LTvWa#sy=zVbMjRb1 zq6bf1whrLAPB$gZ%)Yi`E^^Ew*V?s?68*^Yu#{@e$+=!1wx$R*H#UBwL5TevxztNN zS8~_AdrJcN*zC=L#5w5K$ zJMsiGb2WxM;N%lDO3sjUuuFr9p%=^sl--+1{!h4wy>^)G6?pR6aKb-S( zc!KE!Pu2vob?0+sV?oYlRplv#3)j?>PGzNQaY)3`id`_#k>TE}&8F<8+?}tUl*5>G zZM0cLyKUn!KvUt8CEvZppC0|7*80joDP_){PFI(|?d0M8kMAtJw=?vb?0o#gQY;w5 zQY{=U?5O-2c#!(*uM#zY2p_hjbN18%J40)jQ@Z-J!$It3w~28&luA~{x^I`+mOf+6 zDxTv3)=AaMUYhd3GTICgA0c!;EzC@$z*Yw#_3G@`Rm42Jc^?do zoY#rT28NCp7|0R;oq{*UeL^JUN+MIbEKQShhyM-#RxJBFFN-#ptn=h|ehh&YWqMco z^FYt+4NKFN?qNHec`?i4U`!@Za%?fit)2$i7B?-$fpFy2-<|T zob_UX?d$g#Nsb|-Vg`yR=B@y$K+=kc>~2Fru-dei2tR!Sfco-0y0OI`@uSZ(+LNuJ zssOSwWeCbN7CYf@s*PWiTX^|qi(-FeD<_ujb+{dw=m(>we7W4o77h0=YpBp9%?|)x zt+v)Y7QB^8TBb`{!%;($-m*Q5EexC-`J(C(xehHl@oP0He#er(?X>$9k-&1<*&;po ziJ@Lj}7v4|KCt3{;w2_{|nWk zOue1(ZM44y#Ora!oXCj+V^5$Dl@*KFFPv>uxy662Z1(ff#7X8AJ9?K)C7^~MGdvr0 zjS-2WeS11#%B;cO53o*6=E9S@Wbqd}1IgNmN_Of*0$$y6pgQXt6JC}R?JDb}iQ}#E zgmn&XSnB0sPJ8bR&2{rp_xekAn=-aeznC)> zx*}x)!f4)7-5^ktAqVNi(Igi^b&K`G)JBy65bflb*Z!#O>NQ_eC0Zj1NrH_DTa*KO zN8cu>=v$weDPO2$RN>qp1;oY#8-hUtVqZz<(AyCne}EYMaDPq#N4{xe-uQK};}esD zv`>sm%o0D5iTZi*8&;WrjPMM!{Va?>AjUC-G zm-N(k(G>E-`yCBWYZ6u1%I}(L2D_2q?%y(|_lZ(NN-=57q=UXL?+dgzYY2CqHx(1U zTMNoju)t$DKZR=SjU)5gq-*Dpwbc#NZ-%uivnIrn9}3hsB_1>B66V$Ee86V#_(~Wb z{6-|b7&_O1@PtF%jJOJmq?EyKgkDccFBG_n&R*x%`lx%4ckGLomt8BbM}LF~B1a7> z4t3=e2-spD*0C{#=ElfK;$heN2>(lY>wo_8{7uzA)-e7TX2bvI`Ah$IAsYYP#RIGF zZ(dHI)A09u|K73(oT2}Aer}fdYwomhO4JNS^5QdUHImHJu1%oQ|NixvPII)tqWHP> zYjk`*$oDSgdNzd$mS`ki_$$@ok;@v-7`8-y78MICi-&M!j&~eE>L4F~N?;1o zJ5CK9+wTj+uMlFsx5Q07N8(;*828P=I&p1LtqBgju3OkFr}th?>cB2@+HI3Y6@GLC z#?(PjPvppM+e4~fV2JZC^1XV<1I|#gA7o#e*e5&sfYb2&P6aD7<+VWpCcT@EIy!(> z{hJz6^1QY-OWIWOORgEu^8aA(y@Q%++i>3?C@4*u^bVrZq)RVK69EzFO{EihFQH2( zQ~~Kq@1fVwtMra^5}Ndc8YS@V_3fE`=Ir-9XYX%+v;R1AW;4T(gqdV9to1ziy6@}y zT}>(SQSZZ;OrO6bXEV&JNYilO~5R7@?7uB5>^Mz7`6iygLW{iV!(>?Rmi&fj@y~I?TrjmHlwd8@}C8| zhWKz;M4zb>BE6zS0BUgSNm#umC?J(jm?#ZK=D=0=z*u z`|tH)Z zsVOP?yUV78SIjm|&?13l9}B8Cl(MoM$6GE2qGk*YGYDRaL5bpCwRYL=KT!<^4Y*|k zXGZDiZ&kPO?tUkK{&qVhvim1MAzvDlLKN zo3c*vN7jO5g7e^^uhD~HQv7~s?LM(qiajpn&PIs}v`KsK`sh5G;PN|&9rA-lXCsRu zc5azJnu)!7?p#I63w65LOXu0itt@$Zy9f<|^I3E5eGR|{pg?5$Jc%>Ju5`cJB;e`EbI$^Kv3-2U4}_aCPd{a2|Knh#~Bx!RjzAwqUlmlc$a9^zkq2e8m zSB(97E}xun7??JgvK3vK?@L*7K_UDi+eaaLt&Q3KGU;WD6`AvdB}U*dd!o|2`pimH z3zImC-W|!CW-%R-$y#$A%zHTxYEU<=RvN$2qe$+njO0KVu*4z^p@0LK5yNWT7z{{Jr+8PORJDv6j5887O7H1AKG9IIxUk@OeWqwe+y54L9g?bVxkb_pk?rOy}`AO+l&2DDz9~ zFuTd|dja~85+0XHSMQ2B^lotGONo8VL~n$ufmA+3!53`DY zXrX0sNz4E>DSp!T?(FdmZ{Z93h=h`#=zdP*jTJ*n_mC|Jgs%u3Kg|H}ON{wHyqI9f zF?pAgH;Ms1BO_=X(T3Ml(6mdaBP_K6=^r=yx$yyf4NQ%;o;As-FjTL##65 zgxGM<11asNHdVRh5XF15;`wXr7h%Hv%WtGlF@6YXvjJJs0G5LQ*6P;D1{iZpxy#)x zo@4_<0>h<6MpBlrm94-gQyuU|rU;5LEmX4`Mr-Un_bFa8_sBOVua%vu2fpLpO!k{o z{zFXY_@uy?Kcqk~{2c*1OI&zrkQA&-g6cL6z1zP)T(r_%#E7ff*w}JvEYJSxF;U4; zcE78jpvusgYYyeS6u=?q&0$9=P6WXf%S}0NF6QI?ENwVz;L$!z?*&IShF+(!_MYRi zd%BqZ1u|781(r*E?>uRZvtCmfG@T7y<;p~0u}#K`RgbOy?Qd7AbTNkG_a6I7cR@ab z!5j1Lxj0w?^mcJXgNc*+2X3)h40AUQQd-CfGKk^) zU>Dr*GTKQvxs-L_A)E~wTRS_H_g90%OXLYX-idCU-R3w%VH(S z!T|so50Lok;`cKWYQQn^m1~$fKv70~bvzJ?l)XFXav6m@owd)-hwwyW?p=Q402;Y*O>$rmyZMZus(i)4AWDQGZPoHJ-9bN^D|7 zH~eNkjo!#z@auNeR47N}W{RaH9@!pXmg3y(WLWcVLX!53*g&WO55%}Ed6adoLG?BF z{jmD3SJ8uRvD7>xr_S)KSZhpLcg9uJ`3aPnR4J;=$n>B!2~20Qav9esruwkKGS=9? z>u~C5IYI8n=Dl|FUNb`BG48(00QNa4Rb(KgorJH1?MbC+MY%QH!4pbG=0&wpcjxDc z$*7pVuB3N^_DpL~W^ZOIq>Rvlem645^W5tc^_MVVo*1b>tItjf z%A+lK78VwC=fh8Me{_OxxO5g|t(_=seIKX$m99@*YCfAEzn5Vky4o{n_k;r>&xQN# zaoR1lKkSD5B!(IDTK!h!fbuPV*ufu9ASPN4eOc%9ZGR7329b=WHxvCamt%D;e<~4J zN&khCmL(%%(C}W1%Qf|{jJu67B_rj71vUadJ~Ea!^uXN=X(7j_O3pla<7;I+x{*zIe7cQ(LGjMa43 zr3nv4^5ZKyJFbdC&>EitQ|4~>T$&ukY0CbD=c4h|FvT1d_t5l(Sye zz9Vk7V2>=(d`I~KI{X=__=KC8yv?7S%!oodT3Z&qj#O&#byT68*IyfCv~ z(5NBf9~gU6^kvL0NX+dN=B?Sz=U5g_8_Rwz=V@8SeTr(Jt2nY^s}|_3LmoC zRId4U!rplazOZ6LZ);^EKYif?{mqauhDXs4MN8Sm2l10kO6aA76K8*4DWw3b4~JWr4lq~viDMl8_i|bpDNV1AeiZEg9sFo# zQ=>Du^7tdUaDavV^N|*UkBNhLZ}H>5&jv`_c{VY~KfygZy}qq!rGIh(#J`8@4-toy_@;GN1A zT8_c#a8d^N0J4j(j|G3)$%u9)O+~CEQklmN6*u!#2;GkPUbsmV2T3uPdOst*yK19* zfWQzbansNuUI{e2cgKeIf_zWivbGk~<(Tdxmrv8q*9dP*9eNkPn zXC+N`{l+VX0`4T9yCH%kehY+~>ondIeP;Lo&O^lShF$M=0u$=0wIh0;6*qEs;Mi0XwFOrbs5rlbws+@-?yM`{DZ;lY>cRCKp22dJ9AHT zP+{+*X1wjkHrEN{mVV6fTP4!%#d?v6%*NkOXA9(W`cisFuFrjw<{ODwx96!{4#!P4 z3?gsMIPl#Kaim_w(Gn?~blBK*n*L)u?zy~7%ZZK@P64K^&v2p-K$-}lc8$`ps(!X5 zsz|k{`5l^v!3-P(#yo7#A0z7v?){6ZUSdSBnKi6=B7VJI}umJ6c8BX ztLY^1Kkdm&D4^WLWAN-Q7Y$&Ts=#WMcxS9lSXGvEQ?<_xX6%l}@viAFX-q-KhCo?o z8KB?HO4U;${1Ij(!i=8u=HCa=f~S*4L!SNH$IVa47)4WAJ!gMty% zZO___J{*-(wUpBEh4p2D)`0!$l(W#TGhgk8}$&JZlxDfF`rc;Spsj`zu z-+0K*+wPU^-{Y4XTSTaPcWu3y5m%q3sCZ{@>8IxBch2r0cMP_hbL1qRrs`TRN%A>M zKf&E@=k8q^+dXVyDs?Hs@-I?b%#;VZI9M$*Gpt<6&6`SQp%7?q-RlYVP`+%Py^Wc-&_dWz?+O}CXe zuGGah;!7+BMf0= zwCr$i@X*D~OfAs41N@`IN5kZFYm>vB2Dh4u0)3*a;EXFMf0xX|=?ydk zT|f*KJm7JLK|@f|kK3fvr+VV6r&|;~8x~0bWOd98!PUEJq&OuUvrf9REFUp6y~MqU z$XJrPyHv*>MZiK7GAR8Ecei}##D4kmb4^D?Z)zHQ&*ikqk_}FOfi_LiK{L^h5HZoY zabIhZy<1WsA2}8^c#{O!KnoM}oUBo4h}G=WQcFw3S6+t(2ia?h+ZSA^BF&+0jr3sB zOhIu$|FgCe-R<1Za9L}lq#2pf-nEFN3IFwDTI?Rlvikn5>GZPZXqgvT8_-S|3Ya!j z-(Kjo1_o=i{$@Q*2?v)f);#mO?oop#Q?%5Kr`#jhj}ri|5kvjQyXyxw~)aQPyEd)L{5| z^PziWY?wn6Jb(AoSkiWSt?IregF66W2!~jq)`QPU7bDc?A*?`@+rs7j;uUYt%V|z( zauZtipE_MDhZ~K`;#)acP8h{TFp)Vj|ts8?hLc))+k)R#0~lR z*8hv1WgdhUW0?<50MmJe@giFqzl_;KrKaVbxUP_4S^e~WWwCnNh2CyT(^&b6gZW1R z8u^uQ{u1?_HlKkfeJL8!>!*U|eT#^QL(M3p`Bs2Mb<9u~|84!LXD;L=R{dws_;4Pw5LE8{AXVGZ`s#ySVp~IAnDSr{0E&1CWvV$ z#N@ueDaMjHJw!E(CG9m$8}yg_91-nfQpsv2!Ewt?2m&3`wTt~t0Hoa4!7%S6BZ-mi zo4@os&z5{W%X?fUHOpk2^c7xHpFJpPlt4hU3ye#={WO5NVIL_jL=G(*i4`~JJ^xeK z-#!`c7dgG{{)6LDSWp^EtXp-7{pqtO9nT<&^MMHcy<3JEh}cd3CL@W7!YO#D_>`AP z1R4W^H5bu_PrIs`eRX>?bIu>V_Gk)XyOB-Zed(K0Ra0U|?Q7M%RG`&Mc9E=yYU`p<8F}#c$vh=g(AV;-#U-tD`RjFL zL@Zpo0t3O!JKb5|^IgRnx>W^xu^ZdYsP$Q1)!jE=4YR^|t|A2>I=N7qgK0oCB_OHN z9H4gYC@$F-o!&FdI!qe$<<%7+O8Um5P#yIWpLQ#Y>Do{>*rQ#quY>VDhIu3Y&dcI8 zWv{aRC~)zrFjD4~Zds&(m?+8RgJFDzN&F(n6SQX`awML1u%z4e;Uremqrk|AV5Ea4 zKPn}c$Mtu@RxAnr9r&O+W(>b!6nlYY>RJT$$9n|%I_r$z5$!3btIx6C;0!=qPuH)W- ztJMC;OLS)lPoVYDBWaQ)O-kEZyX*74<0+lNM0N?E(w3JrBMwqQeb((DU%+4jaoSYV zWZ0L%LsumhtQ>F`G*%X@{Mtr_+=@6rA1!|Ux<&NfweR5~vPJU|_AMr511i(o$HcE0 zfi_fg!SnLH+prR$9c-DXeV^4esnv1huH5s=(BOM0b%grl_v+@PGp%qhS1yGy zCbBLb=hsa*3R&S3OfCp!GOPkhBL&^mulEjPdaTa>F4dMTZrsCw|CK0)T@Xz&3T;_! z%l?UMkLhM&n6E#929ilB`&n-7`HpoYrBe8m079jwsao~qBlWHEUx{{O7qT(1ZYJqW z70eGrxhA2=EYs6OAm|fwvZ252#y}SNKqy@IxBf8;Kcf#VXgzrl5cIiocjE8g@=U=6 z0S0n|q>0#Js-{4Db<$SAUiQz!1nckz`Lr83^}tz40oQ?H>iQ(SLin(x#kOlqa0dw= z_)9mI)YBu7AP1P9KQ*SA?{anMh4#2u0I#>1$$~ro9V1&^S(~)ifWRTpx5JJ<1&=h{ zj7RAxzxs!Ca225z#@ZhdPlKu5XAaGw!^E4z>;(54^}MXc`0RHw(^4_8qw^0+IoM(<7wMc=rWpqy!wmc^{^O}XUAQ?tww#dj*EnjpO# zqlr!JYYlI{iGju?ftHAuvulK_T%-D2y3e;EE%z-vxF<%t!rzg;m4rc=s23ViP`i=v zr;L>YZHUUZW=2cKBin;s^z6z!Mkr4KrQiA}f~zstKhp7iFfyz!>M9mciQpASxC34n zc>Q~S4Z^5-g9nV`?4O=5%e`%@sZV8Rd3%p5Oon%55le&dY!!___zU&P@CfyPwEDJa zt7}Ursm2XbeXoPNjnA1IeJH~WdAY!a35Vb#_aGvEJ}$+L-;4JR@kSkX-aFSSpxcC$ z*^YIu`<_cj_WP{mqTKpQQK5*Kb&Q_M+y&6Er2p=PSbe8r(F6}iL?()1(NQ3>)|w%_ z0IDVI6O?BuX`d=qoxfL;2qH7hd#K(}2`$V{UN;^cC47A*SN!QNy#lw}?4P&yP6lBN z-Z5Q&%)+)&18E;i*AGlN8mDe2JV&EP1Ydi5$g-})oIUI!LV?qnL@@pMeO?$Bmm@$!Hb+E??4@0j5my@C8{R$R&)#0Irfhopz$$i!P;rT{ZQ>r&HP z5sKj^l_I^suh5@-aH1SvEkJFXdXs;IHRkyXgjC6Sn5GWS6?xGN9@@HJC)t5a&N7b$ zgzjCdSk1W${yQUpd4xFvF5*@Bt3$E@b#v%|J7zPss~q!HXMF1e^D|XW1GghxEFp7j z#F6!;RZH6>y(XQ1db9pf5qYNhWqjQ;f#f@KF7SkxZuPttCRkx~-LiKjwc>~w_I1Mo zukzCOo9!f33gOPc*tbPdm&1MpsC=PG|k}d0V^2t=Z%0ar_(~(bPq{r&d5%a}X)W zs>S5Lr#_UgQw46NVPLmiO}T$qf8pj-V|Gz_mpkJGQsy>yw?3(GrQXkLvah-+vX-Z7 zW_(-yafpR1dJ5Iq_ZJ8k)3NgxNF7)ori~7av|WE)*7hOUyV4)MG7}JrPj?k(IOQJ1 zY8BaTUTR^~t?UtCA3p4h6I!|V^_8>TqUxh8}2t?`kuKdv<}P9F!;5ya}u%zd~| zanESKkqjaRq4h>%%sor$6S1-g*0~F)$O$ih<{LkOl0jOWt^4&n7LLr1;`!9s z6h0MrvPAtCsPPNVJ|X(kYNst1#@n%w&evvG=U%4FPN(h9hZc+RJWBbbJ(iIxnz*`W zn-M)D>Z%piXbW}=fD-MO(vV$A{$>+w{P}rkj=1mch5GA-H#Zfqon}jGpaSuujRy5X zww;P3A2P!S8SnbwL#510z`1ow-^*p8QWS_v`nT2TJlLmswzeFLpZes+Cr+!yt+^jA zpNY|of&9b&uYnMpAK^6^NHmBD*JSqYAgkaj^}(yWR9bW*UsYvbvx=7GV{LeUXWMOo ztJ3!>L{)}p>b^LaM$=!QDX^I=ga){Ss^s4ggI0R1DyxR&&t5nk`5C0^8pMpSy!pO8 z^0?pFn&X4(6Wm3t8Cs}&jdGTyW*!Ec2gi7{L@w=#dD%?Wd?3Mm^4Kcf6#wNC@{AE5 zInjIM)N9xo#RGX2Q}Ap0s|bB&xk05OJd{>}Q<1X;7etYSuWhPX>^*3TI_cq$0GJ@> zHww!d=<)Krm%GMhDwHs2qjgr~7VFa8c*mm^vA_w-8Vx${B!ZY>0DzR$h|(1H)#F)Mfz8noM_mrBafSL* zhg!CTHnK>!uoqn%=(o2Mx9sx}ZPf1u6W_C=v{0SSrZcGm&DDMnHkKaH3mx1SKL*7` z2E0%DWXR_OZF4`rwfU2pTe6?<7syVPBQ?38!ie8tkEDBR!tz8kNp-ScCTzzVXPdXo5V1aSlBIG16fh8gQj@HK+BiKjhS#b%ORE zhx%=EC|oW*-3r%71@U2)1YKfNSaQ;3<@83^N#JCD$dg5ka1(MEOtOdyUWWeAb)2l=K2L5xaFyl0S>9qnbWTJ<6>Xv`Y~D_jaI9?x<3kAjAN zn5S|vHJ9I#V}Q_-e&10EnFypxaeK3_pUrkt297KB360?^oiyC!>L!MT(I&&4V&H-a z&873Wk=2CH?6l6EFM7}mJ=*)A@(#y6OoI^bbZcm6xO7}l(R1yI9~7*O@dJCIV_u<| zvtfoNHkTQs;rSHt+&sqBtv9o*f>kOn@Q-u8;GBy^NGa!ghh4myI+2-P()j*3(^slk z^BIE5U}gu`6BowLp3^Y80{Mt>a`>s@# zOp>c&M^MK=#1PV&$kooshD=_Go#g>BuM;P!{iJ$wdHmGjg6$>;7W2}s15>>XwIlpD zsQAMLf23{Y#~HSkIl>WFxj69$%~4--?r}VE^`@Dy1N{l?2D~(kn@{))QI}1O-7`bi z7TSuO@W$VGA?V?mz_a+=zbfz`NB$Xqz$Z-k71_OvOiw_eOQ& zV~aHR1RRW1XABU-#P`cE*EOMu8$&nfzgHF37_c_Gv3T=tv9r|ZB;=4#=CpGMVLFkF z+HWzmg=+q2{O%EOiA>Hs6AkL}Yp}Ua&SS!zblNF%tq`4umOyEQhx==t3Zjp~55vCX zk7#K3_%`=RWy??h(DAWz98Eb6ov7XeS7pKhm&6<{#KfQju3jhlV!WwL{a)I46XE$P z_n5DJo=+0*Ong1-98JJR><+Rz3mKX|YzphNi)S(swzGyee`#6o>2O@H^%)XwG< zwq{FO%V;ZkhFEE;sH1n75hN@K!dk(|Y=*vLv|gcL`yqM>93Cz-wRM^ZZ@7XGxfv@D zv~jEP<6|E;H8jONsg$z(Hh8Bjc)RMT*-YcbA3chV7AeI7%r){01y&2_D1^cS5$w$! zIm>!e`8fvm>F<|EYlYFrk;-8p-1^XoF*&9^q*GMRUDR4)A(*Z+^62Bt1weMOUg?V$ z_M!naj8CEZ3?-Yh8$?NW9lgy>W~9`7KXXlbR^5%~ivRj| zd{?VUv~4Her;y`at(nJY-9jIWD+%XXdLlQK@E5P*8>KgDAuAyycl}M|{-s&^#{>$< zFDC0?voXa76B->jXlu`TupxWZrYq@oj(0!Y9sbq@vaqPZ&8h#puy~%jAIMxVgvFmj z1H0C^r|Q?~_vj#H!Z(VLUsV-_A4t>b6505_hLZC;D@z9nV+qmPuh7boM!jyo*4R*M zEnD=F=Qm!OqSIp!S*T+}hBhp$i4*s_t73XgpG-sEidapX>X~qB=c=_>$CjKSSX8K` z67CQ9ZEVI;?D*Y^A)BY4dhYaLJZWla|Hg4nZI3zC#3GiJc1Hj5>@=EmF?W>oGAv`2fErD~5jbX@v9 z5gWA>bw+sQeBd)Cx5d z!6+^CCEbn!NW3)v%@Z19@crU_T(oAQSa_v4UK1-rmJ^lSLtcOWS!=>Mcy3gUIayurta_=fY5|dbFD#xzkZgzKh zWk9&=tqV^=2#lTFNbou60~N@s*#PTOwF2S8s39F3mvt5zjF@Rw0HPS@wdG=zV;+=- ze`JT@S@Mjy)Ts^bfiL&2KOhdB&qWdT2hts1j6gNbnnM)Td2?RXPIDMY6*fKE3T~kZ zIab;k#K+I^%-LHRT&uWy@##_+feX$q-B6Eas z&I3}A*<9M_fEEN;Ii-P-oZG-jKAs?NLsALn*oBs>dT3XCVAWf*Czr6>_WCVE18!n& zno@zB-qzol-S*xV>J?{GC3kMt&W;vSA?sNV;sZn!~Pqilr@)Aiw&@Y=E<+w`6aPJ6g5E!}h^Lv{B8?tdHvhL9#AfTdp9| zZ^F!!wi0XYRlk<}hOZL}^Gc@(Wd`2DRXOC(R(79iT+mw)|PkFdlnRAQnWE5}R06*g(s znjKNAul8%cUdjilD!nmxByp2te*J4{{W7Pr99Tye=^D~5E%r#4_>SPsj#n)HC{c|I z+9gez4~ljR<2ldJgVF9UWS)-z6#sjdjDhMi?x`&aBUDi>(Re(Oiy&Nf8Bn)lex(U| z5Quo#Aa+As45Xv!`~N_z3Xz$TjJoUEb3{G6&WTNY&TkoG={SEAuy6l%lVbvw+}aNQ zc64!+lwJv#dY#&Svv!`(eU***{@&H&ae{9SA<8xh6}5Huc&bzwh(1+`HldmO!6@rD za~D8nfVSS8V0-u*X@9f+3s zyMONAeEyG&^o7;s<<+GTum_&rqcfmE_U@ZSB0;wwDAy6M8H`aR)mcCz{g@cZY>Uu(80-+c7^;Lt_y zED-HK9$#R*pJ?}ABdt+AC`Av>*7{O<|1AG#KfS zeQ^}jl4FT}6+*Mjl?_X*H~&5a92C*5SYtLSxo0UYHgB%sNLg>T>b#9UTX4+e0++BE zdg*9t{6s5uyX6Hf3+@Wbl(3C3^C5w7CP95XYvpZM>JTrs2#*F^EqcU~phvTlE))FS z*hb(N#jjTTRw-Ks+Ygr|^ZPXk=32D$a_`FI2I-X~^r%X)rqhRkbv&6p9X!owl6=Ay zu855q=m{c>;d`pqj*m-`GG6D{vhWBD8bI2BajW!R@)q$vI_EAq5;2ic(_%a-n0Tf{ zwP}SL%9a(*61$NkAjde6|INlQuH3S0pN=onr$nFJ{GtdDRgK!08fVoLb_4n z#P7t43XI5anPvBeS(%7Fyn3<`VLx@Cp30OGm5wq9_;Rlh*l@y&X)~(XI3Xp> zRJP?UqO*`hSbZ8DT6Qg{;ZfOF6&c!NriY06`4<)*haxMf)#thNh1-p^XCRr9EzCFi zx!-8>+tloy$E2ooc)< zspq+ZBgfQ&PCPk)rWHB*Eg0x!%_gTFpl7o{6TPhp^yWZ~IQngiM ztcx+$Jy*#i49QBu-T^-#F$t67(civUayT+SpJ41BZop(BCP=-RyPq#BBjd@|4}2Bj ze=MV4@iiEgyn6CxCc7K=W3ZPMsOAM%Mh*3V8KGDxL=E}0qM=+B{``A`Kikfnd1vF$ za7b8VLT^HMbQS|0s29cDOYFEl=qnrLal_rs#MCgE-y%w97Iu_wo`iHKgHN}yS$rN2 zBgDQ+UTPNr+8wDtz?~Dx9=@hgd;@Q3ZTt@kr}Z7Y0Wm=OV=gX!V5|YiUwYG)#$&8S zBar^0gC^+?=h=qW8mAQ}oR%w*(B@_yoaGid$8U*az78NNZIv0}Rc6h2&1vClb(wL& z(bUW83awHrp1x;6_Y9(B3X<0((_b=~oovGA-C$Z|?zE7b=KwV<$Q-h|j%J>}5S_H+=mqwXahGxmX->F^`bp zbtb{e;s@vFn%e!o(v&#a-+oCj1s5|)DonW_JsV0ISR0;Wjo~U?3L?q?5=rrcj*dMRFbkQek!zHqPcPu8CTI*$UqD}e&-m4aur!%^AM z3^{T>k&l2O@_D$y^jPLOb(ua?A57TYSqbMBb#G{CKe&V}{77 z?|43gHQ1bBT=i~yH=U$2!)7AGO>d;lcH|>fz+Y zhK>zYVv#&l!slo82bW*fI(_V4XNKRQVqj|7X@GO0Bi_sfQ11sw&$+kMFG~{UJ5DM- z&ru~|Uv6T(r4eWl-Dl? zRCfPtGm5M)%xuHlenKSExwIsFyX!CF_S}RUt}^0ash2Mu11K^1dT6n5KnR>0d1}{m z%QUOIzeZF4xv|0KvUaG$aL8!XzKVlK;iyYP-D8~?LJx#4*vqiSUn?K2FH77U*X6R0 zoCZu@!(nhQhrPDgKM%I0w9w&TVz6=JB!t-q22Ajtwf6rp;ZazveTfIOY8**?T`PY& z!jw?s4Ih!bcSek-w*?K>UU5byhT!ZI9Lf)|&(gJe?9C>}nwH_cgHGTk(xVcJr)J)6Z$tW7TBo;^t(Cakcq#}J zG$JhKHX1_i)xTHFj&l&GZ zWG9&zN$n2E5Ca}Z+)E|2UYKlsV137r0=swq#Y3k}zo*qiMUU;xN0%3}tYeXBJ)I94 zvaNg9s2b6-@h1(rgtk9y{lEnxu`WN@2g;^6`!;qg6!7WwUeHJN`$@xdJm9XIj_1U& z=R;+!$HlgJznWUxuWJnryfGQ(Hb2ZS|y@Rafo3C56rj3ybECR+z5rS5;%AXuX!bKxe3*i8A=+Q_GWp$@^+nyEsc*IdwY8Q%v|z{4 z^M(H0R|Z)`rLtwwtM4}i3gv}sLSY)&uia1RpacBs#yV>!77Y%I+|uqmwrh7gXJq*I z*TiSAuWEiCc+R8ke2r6CN1=F*iGu2IO56aIrNs-zO2F?U(h0Q}K4U8O$OqG@FRkqv zX4jUhf}i90&m*RSSrbr-*4|u5hn(6!M*x`P2SlvghG51{H2KZr_n(Q$QTx#HL0C4x{uSxEv%jbbNDi)06mR|CFkX1K_A= zII7CX9E_-=eeL|d0oq#Wn3cxYae>TAf*z-g1rlRL=VtoFn7Glov0LcJ)xuXZheW=< zi^~RzkEMEQ@Eykch-w@|83m$msWHkok-0=^x8$Vtfjxv&vw`T{rlU0o@uPs>rK_u_FPP~mFtj?<*yK~HIWijVnj0{}f&>=U(I zO7CgEBYP7Jc;I1h$*&U&yqG6ZpU648>`NZB;5y3hO6fZMubeb6EjcD>G=3MIOg2I@ z%C`va;b5+b=In1jY+TYQxi(4rlBmQH&wuvi3FkOYPXaCzX?m}R*XBf|EGbX@dbA$% zLyoD7A=s{w1NEV^fsrzOYSLb~o46#It6n)IDC18f5Q*Lf^k+KQW-i)YPr76uTA>=^ z+MO4?F4YT_Jxg6T?mrGr|I&99q~S$$7B}aliUCZ)3x9z~Ii@|t^BPbFa5nMHGm8%J zS2|JaWap*juPqz9MR$GGDRF)jhk9Z^WFko~;~--=!cH|ljG`-2YfkBH9XD;Bm*akV z2LH!f8uw3I{y$v;|L#raKfI;$yU@QtTW=O*4;ftmrSMYqMc{AVTVQ}#<75EDIA-$! zEW_WOmp&LqRK5vD93lG<%tTnzK3i4s&UPnNRrBj_sg%_w)Btxiro33+7U&EI5ZgA2 z>R!(4E{*lbJ5hc#hw2Wie}C@`>gxBqONoOtWm#}PiIA-qg(012oT?{1Zb;_WCiJ}1 zzlGZ{UUjpBAhq3d;m#z|;L#4wYBYavfDmSXdcXp;*6xouFp)4o*xWAh9)D7`deB84 zYYbZLxz<~F{}w+PtAo=agQX|JVFu4l$X;yB?c|cz6C3r*NMNqN*|L=c-ahWN?o7)CR|RwP2b)TKArV3WH;l_<7m+D_-?ww z;$V@9@Bm4)u&a?b05?aZgvW^pP)K=tJ$YyU`aLtRi9To$lyW&VhDrBljuj4!4Un1K z$imoZ5-!_%Hch{pD#X^bwf%U=@<@?{+Uw;qTSwKu0B@Ul96%9d!eB>5J<$4~EH3E2 zgkJ5`zY%hmdna%!(wp?Qzg-fjcJpDfn7K_^k})*98pWd- z{~nqC5$%dw_ulM-bJD+g2^XyO7Yd)%Y-_B~4;FvfEd2n!wo7oGDzvuB)ZI}pF4Jqw z5c8jw@w-Wq(m~uvB5q+t>vmeps|G9TB`e(dcjMMA)ZmSx7kK94mjzQ*9!}78N_&x^ z%B@ge&K#dkC%{GH;MXUXF|r2s^_jgxtTaDxHXL#Vw!SK_PtFkv!KdBW%DH}1Q#T`g;4i7! z6t^_JBtR*^(vue)bk`xGXFOX^thUu~-78={`{Gn;bXThPQ!Qq)xMB{VcZdPYOajGLzR*dSm{T!C| z1s;!FGEBh1Tbd3!>Aye;XXytXSBG(Ca z($#`T{%)L#I8ApK2!t<%65-f4;8vBsUOSjLX>Vm3ppUM0&;RWDrKR*W^|m@E6*aAi zC~~cQV|!=rhw<47lT9b7`*l2_H;paONMumBdKADg~*b%k7yxG<3c8>v%u%vl$;Z@%WSVz&AHvb1+2FT_`LC2OJ93_?43y!@s$ z5J>-!)>BuG=GB#cMK}PBVT3*&4|T%{BB2RU={G|)^#Gsi;eoMV*UFeN4U+eFaC7ER z0DVw-vEF=Qo-~*|@FbO_V&5!Z{xFB zHxd`~cxpKG`?^nt1hon~>@DyvBbKzPk?uO!>Uvt4Lnn}b>22PHij zZF?!0-Ts2LnPY?51-%~5BV~?In;_nIGw!wZsT=k4)Jd>UH2zS{UKY11WWe+oZJ({P**+!zxhDTy?du!6G8$3Qt+4LjE-N58cCnE1F)sJxcE*!H>5ik6xP6Fb zkh_h%(%Y@%8P!63&BQ&MRW+l6*@iDInYR42Qxz9ZWLQV^l6T(PvV786ui&6>jC<|i z2Pgxp*wFKWFq{b>wpM8K0{z(x_uPrZ)VB3i25(&H_Tv7f#22soC5@Kv_2=%hmnRwF zZ{vbOxcB()LS%p$Zdj!VLFMg2sj;2KO~;j1=6G`pzLeyLJI^&~n0|`{f5TFu!V@cu z%s2fd{nlAEKB6l%3aYva)F)Is^~RKbU*pTf?uVUVpRBuVD6w zM$z*aGOEl_{OvbBa&W1|CHaf(HB5K%d-phO6q$ zm$~a-4uE;EsL3DUL@DzfVcmh|3a`5T;bLBh@6qbU&hoTZFi5BFs@eFes~C)?KvG9s zzz7F7k0=!4HPQ4uWW=)LYB8$%MR?_`(qbP4X0Q(Le&hXwp71>9lb7sHmxm2^ny?2UD}<-OQG^`N!FC zfy#GUA+edsd%rH6Ix>9PXCCI8lymj8Q1JOhKM3^RHcOogEvfo=H^}fIzwjIrn_Vm(EY_VB#kFJIH6?il3ki z)HO~&2RUiTD+;c9?+6{45?3v*?6t!BFj#uz4ViFeWMP_FV@G2;p93Sj>)_sd_G8X3 z4}bpd8t|++hb?A|`|*b?ksCiA_@XWte`%=qEbyT`7HrIGmsGLI<rQTQiMv6 zIKQtQTF9q*REXEX`M6Ls!+7svr%l~IwN=>DcOeQcmS@b_(SRi8QqOp`mbkj6OenZZ zixbIV!3560^rD$HQPiLHbRvz+)=eHZK3ek)=JOHs_@T&<^ldAJmUieA#)Nrkn2cnO z2DH$`y&Dq@gw<^AGfq3IeC{ZUyVWLA?QNnV3}WnYg3o1GOfg<2H|giun#!otJ+n`9 zV|j`kmCln}k}u-)Mh>06Bz8?OY>H6TG*DV4)u}EA#2*J1Yv=PKVk!3#cCQ@^ET24u zc^C}y7R)EV-e0gi<8H3^f0Dz4TKe^9X>}sf-MfO10LqtfDH2xDJvqUMUV7TJ-J0Qy$Cr1TiQ?pEdABW{EF zrT(q@=>5RDpN2faF_H>6sxk*{#BCi~Ax1PCx6F%*T%otZi)KrEf-#C`=5b?UhW*cC zax;im!tjWTOF%jk^e;vdjbQ$>j&2BVYeL=VzOgax?!{A+9uFU?ie=NP9|!-1y|)gF z>h1c)hma1Dl15TNy4#{91j!+#W9S$V7^I~`K|w&IL`qs}=#p+}WG1TZ{8Y1f8}d{ ze&2CCWFV8Lk}k!XHJ`h4zZq;xEoqm`43}aBu>|5+YG8PEK28SRDq7f@k(}|!f-d&C zU+XP=eODk7WSdh|N^DxY=~Um1wi6Nuq8`8DbL9uwO=A$WD>i7+lJ^4vkHdrym6G>;KBuYJakEgdN~{A z6Jt9YWOOTbWO+}|y5S~*%Yi?vT?Ay~rlRA@Cet<{fOSE##WA)n*LWfZ#CxET*>A$| z8`VxjPf2I)^biCuRBAMOd%9O(B`^*ZKS54T%M56N?8&?N1v9C^sq1C$BV-;Z8p|0} zLkHYKQ(NMwz{{r%ZEmUc*|n4Ab4S+(4%XinD_aQO+7e)XFH4NuZVtAwvLGieIgbfs4Y%Q=0`WQy~}X;5L_l(t>X@u$e}z0Cz(QQ!2_;)QpmWq=vLfAP098ic$fQEqbbtnOxhFw}IJtl_IvRXLu)V zyvdl>;$7pf8oyLlsCg-G->AfB@_izRWvn*KoyO60HkzWsdR)2eT3>+Id4c6J=d+K3 zYwe?gEh)8AqqHXXwpwM%>yDgf59%|04<)*6O>EJ8Z}Qk+bKXH_CE9P^v}SDy+7>jz zN7{%_XlYr>?D>t~Jt5_|BE8jK!oRF^Gf)@^M868?@qeQm{co{st+Np*-f)z(By6E~ zkcf^mHI`Shrmj__p4y0i*>Fdr3H;J`ElTe$bC|MkE~*+U^AmJu1we2k7)oIW5^Vpz zW&}9=rAIL)AtnvDY2Z+WY1%5#&@98+{vxL?i63 z-Du?>#JeC^=OAkH0xt-NJCCq0{|V}!`s2*>+&B=Sh`rrL0UML*g<({jSFj1Hza5)r z1Mtm1F8%vv|1Y)K^Z)?aihMg4#ELS1Gs7z2WQDqj&>q9+=x2%=F5&QPxf#qRGN|Kw z5z~G@{++)sl=2T5_P12~PXYh8IR8s}Og`KI7=UfPY!nuxlyqm0pfJPdFM#oP?b<1$ zC;p9w#lZvSkNCIvh_7TQ{4TLnekZAM_*<&|OPK#Hy#GxF{!)0XcTqM-x^O$x(+)px zV`yDrc-IM)+s0O9Q{lI%K` zCP*tc(AtlferZvLs$`oqs>pIJI02A-mmcw-DmHoEY$@*p8)?@ty zMi2jZJ+aDHNHmpaxuKrcQqe+lUB&*)ycxQZwgUz0VQic}9=(F8-Z*=~Ka_KA1|gIf z8R2o$W`UO%L=kFO8ROd)1!qScg|JNr@gkqs_Sc_DZmpJEh)}FFe|=GZMOgYwZ8c>q z#Uf9cwKoU84Ky9wNxH~;Ar~QU#A$BxRz~O@PJ0<{PGK4y$Xg)NjDOBC z|I6gKSGnY*l}VzA%z(kmP4v^z<>Oh)*MHF(G-Xx=)r%2vIcK z#WfhvYpaH7fPWQOHT+$`|8p(){f{JxfArAw=*sq`KrT`+0V$3#K#n`v6gboA<+V(- zbRG`df4g(;Ci%?uY=Ds4gF+jmp#66r|2<3o7v; zkjjB)ix>SU*{?xI1Jw8zp_czhYxwtfb#Y7rXR#5rIzKMmFL*NR_~pR$Et#6cJ9@-i zb&aAgGWD-pJxP&`bPMqa^m|LrI9Lzt2v+L;1XVIwUNCs7<{~M75IDgwBETXme!OsD zn{9s9{}eUfwb4O#GkIjox!Od>ADF3kSxjl4XG(Bl9PJ9Z&mYabswFE|g;=QAt5*b^#Gl2|+0d zc1dYrL2-65DJelw33C#mhjwlbK91~SG9*G;);?ZNzy%_}9fjFN*rkL8rNw1rq}fG* zOT@$^B_x6G>smXx`TXNKBEJs)@udGa)U)$;_w}-|^Jf257-O9$&UQ9F|9mgPE-nq+ zRF6ba@z<}=V<%T9H;4bY&{*Hc&VyY>7$_5okjXy|B!tCCgjAedfts)jskmDE*gdeb zaksVmb@jhm0Q!div9O55jF`SK=pLv3eFc4Ceiw?CfDUkTjqYIqmT0q}nF z++n@*GbEZ>FEhHu)9=O?#$gmX1*>*;=+Q#qE+~wfID6XVTJ)_ipnfvmtp(0>86-?F znnWlju>6I4iDA_L#_jaIoC&*0U+vj@xk<2uS<9$HUkn5z|0?AY_A>zL9fj_i?Ra?O z;tbtpK&?IU1HA^i%JXK^_p2QyoSSPfHA09j6`zaPYh)y?K``4pE}Olx>7crtU0WoT zOQvS|r(6q6OY+`anbGyn@zAWn=Mnf{{SMNXK-u2hWRmByT zbs(~kR$vu|_~an8Min}?CnC2p4=1gH1D(}7#Ui<~)7VY+zr9HdzOKeI=JZmN_eM7E z(1DiP%2t!B9te3q@Ay{k@iS`nm>C1Y{kopZBN~yF@NeX#^6LgOzD3g!4ApgguAB;Y ze`Z=N+f_%YMA^}lC#;JoRf@YCIWn(h5G z>&f}v%1CsY>=F7i~EkukQ9&)9)Q3iMwa z8Or~5P*tBZt_YGP2+$n!cL}SelJl9MJ-EGIcrG_o_wXaXEe|No=*gQlrbgM$pr-1t zPi^Z}pWD(pgHkU}eB!FTN;W@Og*DNb%oVHafc+y)xAvz|Iij>TAAO|B2oJot6@9h4 zT|aGO?gw9RWZ0eh@LPI~^#bpYm7J^ePV7l4EkvDbCXZZg)m{+WJ)Jj>F^uDZII3-j34$NTce9Kpe`|Suz-ce|3ch2x$ z(DWXsFgTOS9cC=VnXiOOj^a#@pue2z3cLl@agT3p0M4< zeny|@X?sqA*Av0ikcdr=)Z7Pw z5_X?%zAU#kAa@vVaSpgi<`c;fFy?4a`cTanFAL_XyaLe9#g2p-6HnFbq^6L?T;Y61 zQ4%aN`cwh0_G*%VHGhKobZ7SQ9cM#(XnJC0g+B}1sb;~~>TFM@?v1p$qN?DcX&e=K zvS7@@nJ6G)kNB4hWc+j8_Y- zZh8R3aA3yIcq*1pxyrr{8c;2B><${aSSan@&Ck}sy?53s>V~eb8&RP}FZSjk-|w^A zkg}Sskbbz~ep;tryg6kw2+w!tUMee7OW!Lw_19sI>Xm<(7JWtPE+emxGH;Sp+vUaX zf|8|Tf_q!hzHmtJxf6(v)aLT|yH&?So-gR#z5-#{S9CwlMiy@MFU2jM^*lVfpK}Yo zMR5@zVEGeohFmcFPq{7eOEdkuuKSmgAraE|ed6;E?WYd0cCZ6QYARf7S~>zx-SUUDZ%gR{`PR;DD@vAJESQ(0$MqJbZk7yeq)J zD_5=%5RwrQ0xwEZQerYH%4^rCD56q!MX&7m#sIK3*&d9>T#>PfX&%wpP%Eipe z#`^0fIKZWZ1cVesL=>zvR5Yyr%dem9ASxo>aK!taq#ePf${?t0KOdzd=A2=x^nG?$Xx>JN7jTKo;0G* zQu2s6?^Sis>W!ng#GZJC5tGo-UuR(C=Hb10i%(oaQc7Az_WlE96;(BL4gJRkhDOFF zrZ%>A_709t&fY%0e*Vya!0?F3sOXsIv8ibYCcR`i4)9 zO`TocJ-vPX1D_`*r>19Szs$`ekZbE-H#Wa*ZKDqkkB(1HF=s!1)e8rN_s?qmXU%@A z7Zp%1T%cR<34hfK2iG6?!=u8#azljR+TBNl)}GWHqR)tE?xo~abr5rk>7i(!c#V_L zafu_i(Z8zpkDC3piiQ2RYWANM`ych12a)070G)?N1yTZ?3;s6))c-p{?f<8*A#00adcv>S=|M<;%4xtO8r~;x=7iVj=g-smcm-JO;IO zKhnDX{)1eZJy4$vi)x&0BFhb)%m<0$t+ft*(j-^9ZBw6;99mw5y0_2#Xp1(wH-@G4 z1_FAyex!|hgJ1&rFFpKm&F`yS7t|(U2T|N13@!>zkXLqVf?!XD73wBFGyYJYQfE%C zP_$4XpQK;ds6@k9thDy_Z8Tl4a{EUaE-oXhY!#lt{|XUJA< z1*TP&;z%C>|86)H#sSeY3XJA2X$mAGi5&V43L^02Sc~&EGb73E7!M{+0mn&3jRof zl;G8JC7nq`%|zt)t+XD-vyTJR-o&>x177tn-do>qC#?H!aTP%jd=6N+@N3u%P>2p#UY9bg*%8l*1)ac^f8H389a@ z4QxU?t&U=;z%VrJKZ92JV3D~;TJpeNO&GuXB}WqGG2qfy`j!a=_P+5ASFpkzof;wn{hy<#Cg-HEYIR3N=I75&mEMAeb3Kk8& z=Ass)R4`0KsL~*k-`e|*rE{mmo~yUH)*w_d393Ka$h z1gD^tx)do}F?UxxoRBvKLk3G=c3^8aYuyb39ezA7=BT9se4NKSu9p;MK`Lm6s0|Ew zRZfAev))6q#Km7WxWJ=NKHnpn{HiXlmnDoa-oGN_Bn`DuQV}Et(dnu`&_N1OSlln) zx^<1tKa*h5#=ye3+TA?AgxzX37J7~tO{@fFasscRx#)=&OdqX*Dem?Y0f3$!bb6S( zE`s>ITq2Y;^*DTY@t8qRH89{4m^%gKHKFK`>nvB{9q;4#*=p#P8r-vhtPuxm3eXCh zM^iAn?@Ba|a29iVMB&n2rFe4hOg-H-Wt<20Ln8!JgEy7&_Z+N1@+oWg5&N-hCqC%; z`EQrEo6=0DYqvNi_T+i#(l}lfKH~3jg4}+k*DQLEcX4!hfHeaRYnNqU^2*wC*s(1dj_>qCFfJJBPJ|U63%#GJ#i z#FxuEAW}aFyv&nw7xXseBe92?*{nXw0Z3HSeT2~>W2B4|3}Fl|Hib{IPgeLCyW571 z7+UfWsH+{sBC_yubCbzI4ng2g6Y_+}ICDv*Im?dBqO6i_4<{fs<>nUZq8@4RxiVv2 zOmzg2(Y_|bP#VI}hH;j6k&3+J2%^9Quga9y-u>Pn>(xt8D#Bt#Eb)aA*J%aX2Pa3_1%>QqYJ zL(@9ejK*d=TxeT+zCKHz-Boft|1d-nkf+|xCQQf?Dtn>R$%f-IOtNA*)gpwN7*uN{ znmIkCqkFXQnZ^Hx3B$d5M1RM+*DawIZWKjtXYb{CmlD}7M1m;3UVqs7Ny_3|t*`k{ zKKafa+S=OWygazfTNR42Sv~D^S!knl*&yd((VjW!2@+y0_jTgR5WPNECMX$YsI1F; zF^02kq>vts>eGW!1hJ3TK?u!e#AC3U{!jfOCEqk5Cu&@}2#1D5b-kN|dveCl4z1p= z>k`)7eH$`TlOWvj4$J?-dBkSY&-9Db0<&c2$JG#2)D1PW!#>lHIz;8%{)1`c_;EHK z!Y`}jAx)2yzk@Z|$aRF83QnRLyOo#A=B_5fV7NH+l6~2!jbbl<<}D^xI|}VYzFCyh zK%~2X@M7<RIW7dpo(UTJsxG=qQY{tWjuNuX3k_h5u^aQ*&6vse$x9XM{Q)g z9%mwXQg7EMR*)i~#eNgbK#0$8lC&bJOVI(#ndy+3%9U#q=ha_m#u9$x**cqUKsgBr zi2eC@u}$-b{OA8CeC2n!&4&7S`M>iGApQD7YO7*@Qvko>tos$of?vjW{PR&Vev4t-qXKB9#+)SaVIC>p;CyM0V!o(-LUIB~{y;SZCl~3L@BaU#l4& z2F6brZe|(!D9$t&iwLXONefl448&0X1aaMOhn)y)t^Ckpfkt=jGhmVs^>t_|ZCJ!l z(ADFtVf|jloV+3(yLWOXLlp~81a5JXXl!~#F{yC^S@GcG5G4mK)pk>*gbI0n)S>G5 zF|-S;38c_AY*UhZ#~rn_ZSV|~^LRC7*a-bJWH^MbVXQ(zi9AS7`1@p;;kB;9IdQj$ z)geo!2bxO*eb#9`0Uap6wpGh0OY#9Dk;^Exe6l6HVAfZex^t2OT*u?bBcD>Fa%RZ?A_|@)_5|JL@4k zZ@ec$6_bE%ZlzVJxnuq$j53_@Ox8lF*7kC=dch$jWh47jQeud!r-6h3>50#z(mH2; z5MT8W)gr6_Y^-`-qBK2lh;z_j|Lv(!JakJQ{B97P(M4xThPC{l6ffU+R9Z?d-TF@X z1olcke6J}!H1wJ=WHlu#HAw2y4A$g>nad?%Q(NK+!l1P-ZfUDxJ7bVeQnk^8SAUH1 zjb9JwsX}ge2;TDdiEnfvv>1qYX%|rrn5g!g_mf(`9y5^TN{@v?t(PHK+2zkc*KtV~ zq}U38@-K0>4HZe7C%Mfz^(?8D1T)dqYBO!k^g0cE3j-v~=ad>hDt^JM{x^=#zcj5z zV*k%fp1)eS1IlnVGB}eZ7Ql)epLVSfo0~6ULOPu`vs4-axcwULjST7E?oL&gPj!jF z1R#aN0UD3OH6?t@AX=1LGMquG&^=41{-s;$jJx3dhJN$tD`2Lq@ZHQ4*zZg!1Hgg- zhGrm)lUO0cxSN`5ANDovO+`6)86Z3pT!0EqYaZrZfMxLD?`>9T^E{5A$y*KOPwpm>E@!T)o_vJhUG56 zybC5oL}e8_R}t2`eAiOsY<3i);{AF^%`O_|m%|^2iCayuF+msiuE%xG8u`s$($yqs z2-rTl4SxwVUGfT}I zylV)%CsjKkXe`6&WXO*9EsiqElE{4rvR@X$iecQI*x=42MvRwR$UKTNm=3dk5k|xr zMjnt9Q%4#0gRpN`2w_-?O6%}jdt9wvUMD#z;P-mzwH`HFS}*byd2>3S$cPJg)jtyJ zrDV5H0d?1z*$*N|%GtlR%h^{4Kfm$F`_@hCEKro5@bW8;#$Y3ab{n!X-n2JijkNi~ zfEUGOIEeI}3>jvCYj$wCWhp*L@hEn#_n>^@h*yU4%R)t)&0>9vSAuS#BvYIaq*eH* zHBK`{GSq{j;^nVisC>W~QNPYG>;{Iqp9D6JPny(^h0tpiDYVyV_V4U461-ZYBE)m@ zPC3|=pB+h9t&Gb&?feOP9#@8e>BgC-b^A#fr4;2DJ3j*BR=2izff_*7WzSS8<0;-6 z_H`vin$EPL29dU2rkL~*h~8(ms`+h2>V`4eN`ac&0%XDuyWSfJRoz{hjPpbC!_0CSrx)OnQ{aGFfXV&RNX~q3l1J{{etLxrT;1Qy}926?R_&IsY& zVPrR;BWrIyUYA(XL{NrSK~t5;1`)8Rl<%qJ<6Gs{wt{aU0x5J$n_uydz7bbuTcf%k z1xaBZm6`=zLtp7TAt>fle8;vjh>BtQd=? zs;quGo{?@d1`mo+A*Kea@OTG&!~Ngwn@>s+%Y?vsHS!Ft)ML6INjOhY=s2&K|MZD> zP5+JgrNuy$2HPE%g>U}=5C8kR`oA#V{<@Zt5AU-CRY1KEF^7g3yIoUY zTr#v}v^$URpx!Y5mJr@+prgyrzgF=YwT6H{%eUNW!^1Kl`IjtB!`13*&aV_!*uLcA z^RK-v`<8h%Xs*8}kn-PMNk}D^Typ1Se$;H3Pb<%Yi8m02Ss0Na#i%EeGs2R_Z$_XS z)SC5dS%n4}DzlF}u*x*bxQw}v2W-mY zs#}OH%zb04soTxo-OY(ZRcy@aJm+c66WDPN%#Nx;}vw0&d3a zBAHnkCvS-akk{nqTPLTcOK5nL@sRcdD(kylGR#(Qj<&rw0i+A@5x_&giJ0!qMxE_t zb{^_XwV1pE&k^nWay@{2=eWw~VCa2bKdL7O*!@ndBpCWK#{(Bx)d)DVv#jmYmcc=D z+0Vw*j)Qj78u1i5@<#MzE4ce`o-GUN@eo$5^z_m9UD1t8E&GZ2&uUh}$&8|OqQzmv za#0HW!*%W;XmJl<|J0O13EMMspB)9eb#{`nkZeyGj|K>|#2gAY=*Lt)8^h_&YBj0K zU%kNp-o|vh&YdKPX;z-FKq;cq=Zx`G{rsA`*Ihgh3&LfPoOSNxR~npM5scERczPye zF@z4|d@^4aCLn7txf5$4GeXC+@SG{Ua~*A#(ba?DMQZUIO-bZNwNVC1u_QfrlUE>| z-`PR?i$fP`Yn=|^+MEnZx7KGfFv8H@b4`rc>RAW_bX3Qk7#hYqUAZqllQt-EKD&Jq&Vr%uRb;@t2K+gkdZ?4i4^AG?1-)7btGTF3`UF#Iv#*?w{Kv(s zVjt3~RK()n6IMb^Ddzy@B%awIg?x-oJN2?-(9))Q4aprgIo`qa$I@h9=85qn#-Q#U zmbfiiPTVU|SZ>scX~T1DBlqOdcm4>~b~$xrcIK;|`<4orO~hUsK+x6OMuzc6Y~({q zwyV3I7H)fN#j%u~#G(cyYK`#N})4Ln~T5eFFqvi^DmZ&|r+Sc)dEORr*JwX9pI_Pj+kT zJ?>NWJQ+j?#jsM1!3Cj|dW^Yo`DoVXiVb$9Cf|CmZ@`nqy}POf`nkQR!ot(SJP&mV z-)_yYfhZ%6mfXz%KDl7Jr>zt$ZeWI;+e2duO#}iBR`$B;<{bf?cscx>${DN0&tV9v zCRA}3TXbelHj=cYyg1#l_ItoirZ{CoKcA@yksXi3*$ZJVtJxc`9r}>Mn+V zg0}1T&vT`;-yD6IhXZQX@l=X#9-e|K*2$Syjz#j9LKJzP&-wFxv?57;n@q{&Z7I(i z8gy@&hK(Fxcrb9$L<#v@IBd}@o*B?JY4F|IjWLs3*Le7ng zw{^k#?GxKlH70k06ucE*O~|K`st(jWX%lmQj9)ARda6s<^v62oPv@vXZupobIEV}7 zTVITSa*B48yyZ>vO;7DB-8U9ElAOC{t|K`g4^H%>i`B@peIzwntZU013 zb&4U%=^vcyL>xDze2j#sk&C#}Y zN+-W@P5e>1y^UQc2tPIOaobe@80CiX{0Xw*TKVBL<(#ogNOl+`)XYyh>Og*+&|7@% z){_&FrS4NsynV`BW*_(RqGdWjn?8^yU54=L+IoN(<(qb1(np9t-?zRGej5h&Lb6>FrD6N|x) zN8wBnFj2c&Ugwfk&Pc#=Qa+d9M11E&49+&e+guubvYz{jo6wKGX|@?ml&SAG7TgJ? zt-8b71#GOi#{f99GAOXug5#5Wc{l&^>IxNrSu+MOYq(oV*l-IMH0k4+793CH5`U-c zNr|sJW%O>P-Q~oTT?<6isLA-@vd^;1Tj8@*h}_Gd)Q-S#&7S+czz{5sW0CkSAi31S z0`nz*2c0=If(N9iX87Zo-AjE?nojnp{%dk5(E#WehPfXE!0D8205~1#FE|~!mnl!F zP1$$JAKJO-nm!?kNsW51f&4GZ5U9-v+TG)aN30i!_tbR`l#)zbc@HI-M3IKbf?nAu z3^^sL0eC$vHGK}$`txE$#a#8{cOJ42bjD{Qe0-vjgwMr^<)v({0RAQtv$GSUM-Mp7 zwYNAO^TCfnI4;+kFAwuS;t)*VZYN9pF{48b>y&R}#Co1g`pszGn7DnVbn!!mBi;Je zvZe;ewU_xLUl)TOzN*1TRt`og%-mXvhkIKM;Jx~C!e%1{{Rv8f)xjJBSlvRjvQFL4 zM4G==c+ERTx3f_?>GsD}P%?r|Z(BW4hHE(t=kian#EC~=#5ZWWe3;1(?`wJo)x$j`g}XWr4i!FNm=d3$px~q8q?9I0;_+I&LB?yA9HtXRM zF;mOb&gE_`OA|Iu4VcssxwoT%u(jj$dSjiTV1&H^{{=v-0sx3t001IEOYFMyyi(Wx z^AProZV&1rOom>%JEhr|g+Z5~a_?7Gjn_CeM#Z(RsXQ99Mw}Ukw|&D5iaVS8iGW^? zcm&_XO8}f&QUG|-P#yp;hBg5^b?oDR4yuZOTF2x7c#$><*kM`~1mbG@B?bVqY&L6+ zGG@20dxfs71aZMVzY2EBv3*t{arJ7rLxb}!m-XGjdUd9IKQ25oRezyOXkcF&@?l%r zC3l!l;~wVFw@&W(y2s^So!@_St*)>&G2HIy?Jxzn^#Z}0b)41!cHdG(+L}hRLU~Vb z5<0q1=)@_WUU<p2LAB$wD~#fe1!rIAza$h;HU^;3*$=NbIY8TpfO>JJXB!8DtD88utSS?5#Wru0K`hL_}w5RzG~pc@wuBx~4mI zluNyRDcmx3tYz6%9~h6nLfLBr59vfm68DD?a6NcvMU zWwM8x!_f{gE$VA5HusvwgYI*`kdsKSud5E@(czNEk1^9IyZ-u79I*#c=UOBt1!=Bw zbFanjtvNL6x((W(HOyHyI+nXZeI1Ozub-KB1?Q!5t1YR&P+52LVh&Ry%qyr;e3u!B zbw$5!3^qBk)7jaT%Ib+28Fx5WVpbt_J8!MY;eYpMo6WwM2k^iTYJP&MtNee0itH=j z`YcHMoGaHo+hdimw{jEY0!Ene*Yzjewr|K*$#6nJZz=iUQ)R9pthsDUSP%3Y3ucn* zOZBgdZSiM5?FKP~I>| z(s|-R)XrRGMWBw`$inon0gj%Y?bQ4vKP;s)bIjs}1oS@V+~NaPF3ykV$~&)E>-*jl zG-lK5PVHmK*Axu)-Kh0Zl+T2M6f>MSxyDzDb9j=eKEoF@jmTuq4k!Ve^AYrZx9EdZ zp`IkhNMABMlPwL8;Ja1*ioMx?POb_g#3Fs*W{;NNrvA+FK;DGU1&^kj^3-PHl5P4@ zd<8l`GQ-mV(FOAIOx4ms$BuT>U-H(Pb8MI!F0W_>@Q%64>kB4?NIi@@`7~rp9BMvT zZ}b4)ci=5~I_k2hsU`4!kS*GAimSopMg6&A%EtAVFHO)VLQM=)4pY;wObuQ{x+bLCcV$>aP4xk-FgFHtVR%xa=%ql;#JN!Kwh0l`*6f{O}6<1HFFuDYKh@FcI$!C_Zss z2WS#i1#Et=%tn9dYE*@sBT;@E5jJ}F30y7NxD>w(xb-2 zFVOiz;`U!Ii98fZ))}KT3zfuVIJ0Gn$vdWnL-EG0B5jvIqNUOZ%J(HD>kHFDs-U-PY9D#qvFi z^CQSZwYyU-EgEmNUB~*f95+R$e?C{6+^Kj;sV@Ke=qR~Y2d8tFi|S1ne=^3aykIft z27D&pMS!99LSt6zT>Ft#aGFFuS$g{W27{scJf~?y5R2c`n zaVo+=h&-<2Be8IZK>#-O?Zp}c=UysE99UERu5SmOWFvD*k=$dhA(GH#%>k~=n=G~2 z3Icmv(Tc7fBl8}yMh_(oSYqZEgUXY@DfKF&by<$QB%(SKaBmcN35djzLp2y>>D7Kh zP50I{YmC3^T%OnD8~VVVo8rMvdDC%5`n89q+?fNEupHLO1TZJ?vx))C3FZKzIoajq z?EdPwuS+)1<{EuBfAe>>8O=}P!?+_Cy9OOM?dg8FoPk5R+JNvG#6>w2#JyX`1DZg3{IlK7C`w8Jk zCxRX^L&1^IjYiLk)}pjh48?rsapfiF$|45hW_!zpuRhzO{3fSNLNRr}Na$HVyX5xF zgllcN_hXDyDY<|5eD=~z4U8v``=r#H8NE~<*`-DOpyC=!s_Mt?P+;XS~7dRPgn%}bf_UIiY_>BsNxeTpSX>dt*j|YAwq9LnM(eqJy^@WT-K6S;1!W;PR=HAL$9!)_m>ixR4A+ zFOej^F6b36q7j#Id9e4}IgHzn!|sg%9~Wr+ECl-O9Z{R4@zuK>cz7(Hi7ve%>{}t6 zX#cRFfVH!ug#@u7RKiI{o>Qud@+4ULkUQOWyIS*WFP-9t{M^^Ep%ihQ{vyz#vmGDz z_+`1Lk@etO&1}}rsZl&;;=IG!uZQ^~iqKP`p%(05w)#=lw;**F#9W97bl6w3*~D!% zd`H$~h2~-GZu1V43R#S>wl5pPsVI#IH%!~ z(2=EDh=PQ`9hiet<@$o0Y$>)WU@46W)hO??ZlwI@=&QVm*@}C8DZbd=sa76DZQ~>- z^x#$NA{>Y+bFt~|_M<5NR0`Oi+Qq9`m9$%?I?v^m`4+J<)4o#a`v#f*nuAYb)4I)* zlKV!VJOI;2b|&P5SX2Id%pXfiQzZ(Y7ZWYKwu&nsEJuCu{pqP!R))O}G{!47SZ##w zsEu^bhx3x~zk5r`juAm91a7XLhV9+JWFZ%%3sD#0g)Nfv)`?dkV-b2Mu05)E8(*z@ zsc+P_h~PmpHx28@E+wH&2f?goI}${ZIqBv2TcR?kS0loaC zp%}I$?z;|Ws%b=(uRK@0^)0>fRt?&s+yyCT{35-15k$M{-a1%JN^Hgj%b zGBt7Df3H$~W)GIOe>qNScKf3Q{8VfGbKU?~D$cg$AM-UI$wIA%x{QQXIR9d;c7POb zo$P!2N`0wqI9OA@JzVFiE)7EANNmFCr{#@Kwt}diuHD)d!crDF>pRact#8_>^C3H( zPO;S-U7Y>?*ur-s1Oy^M>fW$-P{Kae>$8a2Cv9+)!R~NvUk_#ZR#SvW7wh+!dGE~* zp6?0Geq63JtMxRYlny}ZPAp1Q+>)-ve!M^L#YLJr1HLV6FhRd*d|$xbp}G+>i;Qs- z*d^aVx0p%`FRUj?9NHZe8GP&m?Yag}CMm!(dM$3Cb>bk9O7^y+s+-%V)v*+`?mdLrW zeGKP^SH`_06=TKTlA`;`lqOXuctfz=mEGc=mFt7pzqmo=X76KgvFRQmbeVs@QuuGY`AIvZXi7HH36(`DT-9(rv4f#So^#^{95wyeWrC z%e{M95@nx&6k^bM-yS3c3-FbSt{cd&Z%ya#=SUd(7@*v5bQVKGN^rf824_m%x#r6~ zMJZ^#;gke}_@F**(MyijDd!!u8yFYo5zXrX5G|(+vO(#OvLP}lqjoJdP=47Id1VWQ zquslvGTi3cep$9Qy5=REGLD0Mh-{L^+hD(+pv?NZC714b{cSkegfDom_6WUH|Du60 zu|Zz1&qXpP19x$GH{G#o#xBolq2+&MpS-DA;&{lF15Gtg6=X2fTHUyND*P6$ogGlvh4zvYqQNvtw+Ixd zesJuczgUc#U!7}-H<`b8c*9Zm%&X?@ptZ_cGNt}sGBGRpFjW=i+w<+}${M1wS6w<1L76|1W6Ef5uq-=1EiieR=sWD$Bplv9b$=t)nHtfx;M z)p%mOhGXFB)mPF^7^-u}1t7Zz)@A-(N#_haKS7h)`DRJG_qHz55RRs{RZbH9e$ILz zy@6A*y|Kvk)4ju2(MKF>c}@6!bfi3q`k~4UVfaE>o%Sa7 z3+9Y`YK6=f$DO%aB~_VwLdD}D-)bA;S#D<=d3m?Yx;Jg4@#k1Ub)Masl|^%Gles|B zyUG;nwbx}Fh7kp+?lq4>Oux^Jx)dCV)l$-%esB7)6=>O~Lp|(wHpjH}!{=%LPT>y7 zW`{xxvK4JSbKryA3WoOAQpqLZsVCwK)13->cfva=Gp&a$B$%up4r2mvN7RNY?g z(+}zakc*e(Ib`V=PK>GusKx48;;XepZ-XfbFk8$rH=A?wWQ!b6gKK8%aRJU~Y$OdbdLQ=ktHuT1#@=cKiH1quLpy)}G>v2nKyWzxdM$ zbxX$vpLvaeLw=s|9kw|**SXOg4B-YX-er;><=>gtzIffc6PzSH%21+I6$GetWuu-p z3~?dsfHuIbDCu301sZaZSQRp#P@g<2DOqhECTKZe^D%Ej`ECa3>{lA7s!3!043^2W z5W4vYO}kgy;~OmdG)44IA)W}4OtkgrEVE~Fz}HMqyrK{H*(4kFr+q!Wow4;AgDOYv zS|d&#g;H9Ni@9d`0(-%qWa@(T3{BO)EobF~BM!@4P6UDrus{KZn?8?a0L}TzSK2zN zil7$uTS=jUN$=}ZR?mDPoV`X>F7-bKRSBN6d@j=~)evi9t$dUA3BB;XoRS`s-?P8g z>M_4vGdEgn86fGYSqYw7xb5sEwJ?|@=dtOh`e+tpWd6|T>gU>gO*U>?Se$CU=9#Z4 zR#OMe@=}^dwDRUe>LVjenvN>%p~Y!;?Qzwvo*YVln0>FN?Rgfd={KTW^(xqS|fP2q-wt5w2SZ@}}FU&MP4xfJN*sFO4tn!H2|XL4Zd)JGuM zPHctX1U;r4i7J1CoYWY-2iyGIV%fp};aebmSNW5LZqriL5@(LjV1gH<2G0vTyRCe; zy}Z1jy;uC(a3Q`dMm_U0&F`T};A~gl!3DM3rn?EBbX%u3rI*@Q$$TmuaQ;8u-a4wS z_T3gufkG)(THGnp7A+JhE-ls+cY;eHKuB?yLUD%z#i6(t3GNgqPH_nCPJ#yQ&3E?M zWACruZ|{A^xcA&YLPpkLWv#5W-uHc;XU=ENWJ^5W{DP=2MV|5{{B1`7mJFg zc;A@|C}X8>vIJyb=j)*4I$fx!t+d1`esMY_q5YO9Y@Y&MVs&-(d&upUf9BGdlj3|Y zD}Ij2-nB@D*b25~9lw!Sxn-BHP97M5npx5i|NH^aO#ooU0Q&attB-jRESEj)yz5dx z+qBnQE573)Jtdp7<&kspdx^(Z?6-#BMUdI-t?0z3f=NZ8HxI8-{rb+9CxQCi8b$AW zGngZlQ5Q5=Pb>ScrX`%tTEW^wI&{+#-J%ea$!G~122p)^aTwsIG9JoW;&I=qIpQ#; zaX%b(#$!RzXi~$4U%x0jN?sv(-@>=E3I#n!>vR&Kv=^UTTc&P#=Uh`Q4W7J8zpk}( zaUap2)|CO6EulbN7SEISV#q*;-2~DgA==pI?N*c4m+xrQ2Is5Q~vzWtC=t2@bP*V!NJ$rip`L zZ2M`9^n5qVE)TUxmssOTua$_-rq2^QRsfK5LBhu7KDPj}D}32>&^!W zZy;}WNqL-174`9n9LvDDrNq-e4~rw+pJ?ASdAU z2<0Bne9QbR!(>*$IG@e2DOLqLgET*Yu_Wc(k5xaha7Bc6fD>FKoKvJz?|ypOP?O#W zL2Eibn1e&XDp^y~oaJkRC~fal(t8B-Gv5#^gh>&RA81ja%r?ZI*P2Q4vF~XD+kRL! z5TjU%iOK4ebR)&L+m~z+#pujZ`H8s}NpP4@v|EYtxUxDh4y2Rc@)pz4XGJi{s-Xis z9_F>M)3zW(M)79|@AC4w+JF+ih`sX`DlHqZq*={@sh%L3TV!4-%WU_02w<(4ZRM!D zqzlXekLm3`ri7Z67j&=DMUi#(1fu_Xh8{#rRy{&?lEt;r8~A z=N-h?%f?!QSEg?g+QR71egn`cIhMw~3G2m2h>VId_+Cmy;3@D{Yua-5$j#~Q=Up*ClK z(Rya17<&RjBDk3wvI_J}<^F`bBJ%YOpI(j*7D9Gf=e$ zGg(o+KFRUmY>!uGCf8m4+UpWwNMKZ|Rjr3}dP{m$HE$Q%*T=7#%#>7;l0!i}H{Ou4 zFuw?KHPVgl$hdj6Obxvc*7FU1SRVblR-?5^0k3q3AT5$AP`aPNWkeP@N(0omaO?d~ zHwj^4H^=%sZ)h5YDMGuhbehHwyrffdV|&cwC~H>3pTlCmYY9D!_ve)z^)Men^RwgVO>Y z-gz}A#mr+e4|C)TUw#UqWRzmS9Ca!dXGIhQ-l%-%4)qeuv9Yn$Y3IkIIK%=~Hrbtt zIDSfVZm+<<&G0f?<$mnNGkz+8-*mHb`1Aa)BG?}fizz=D-OW;!zP3*j=ZO65TzMzEtIwfh zocjVR5OCyli}PkYLQeTt&E6Y=!s?I?>(C8&KJB=*Ul3>+AM}Bn zuVUTA(_^S<&A3S@mpT?ChRts;$Rr^4gkG-$MY>8)hH7i4G79%n<_ZhYs*YO4QxqT8 z8KfL`l|OF1?E(YX4%RIir@bXfC8|zGYINt(y_$ONQ#>_VaqjGm3lxCtgB3IT}%=cqku3z=@S7*0`hOG;Qvsf9z1O6(@jUS4m z#*;tzl?kw8^TYTE82MiI4!!DkQgMjWAbQfX+f8|9+bc0io<2VoK9K6<5!sc!BVD-pxtHl_1+Cua}P5k#^pP3;cGp%8=Rvy{1Se(d0LGGQlf>`V)Y<&*vs zVX4PGWlWWp4gfTO#eBvbXCwGykqD6#x)Egb7zKJWmHX*k=Uh-GX-5QIHn6DuH7&bc z7@*9#0DPgQ2Xr>G5t&ukoU4gtr=SNL{FJ{0+3>C#uY?@wP8$*<@_sowu0%d|WI5jD z-qd*uFaKh!PgBABsol3F>I{Zn^Ltm6@p@Oak$gVXzv2z-gD0kXc$~WI7A@e-H(A_< zX&MU4OAq8K$Iw}n$uf9#7%wyDi zQ>QpwSWFt_a$t1$2{fT{U(Dv+IDZQ-gj;vK^o$+1{fXW}dsR2<115);49kA*w34M2 zged9`L+Up43{QxX=$aFQ%bJ4s`DTn`vKbOM!U%BzYctw!(4n83Z|5BqVt?Av&9|#j zHkM@%yU~;S`7-!t-~Il3^^rpnTSxSIl@(Tv;%)h@sTE)Ws!H z)B8a`Nmw{ZloQnRP} zV!EN(23^ywWJpVYJAO{3Eu&v&UoF2kNBTKBK59~PY3y%fMQIe1bS*Qf;N+t^;VUko zE1sO>-RE}%<6h!bro#i8Kr0Al;WOf1)+bEN2$7T)W^wE~gktWo%*xMZb{iV)#PWfM zGtyyiy4mQ@tg}`Uf@vS{_uag1_}+wqtu}?v40@E-3OwGybCVcLdS~O-hu6eecOdR^ z^W+4waKqmlu1NJ8pg9F`I`E)<@*Z6>Je-2!kFX@oIbHHI*J{;=FtFi6xKqThe0~F5 zrWRjHiiLO11qYx*kUE=I@|IDUQB5O!aS2@2EtvAFVt^)2R%x~P2E&cuNPpwh_kJ@r z*C}ZGj^0hjx^~$>caUTMZkA{;$Ah-j)L|_~ZjlZaymFv!^sAN0rqV5-Q-G>BEEO1J z(S+z8NjTqQbYzoe_21QyH`lN1OE?w`G^-}*ooEJe_u_@O5OtnQZ$fcrQ^UnNXEw@|D6=<{XC(vA z&-QLDwI}v##AH{e2=*&^e^kk;Ns~q$ubF({lD{`=onBi|#1)x?TJcgS>01RIQAM(? zDGGnipZq3R0cH7Gv#`M!weUW*6ZaLdiz%Kt<^;d*11~{ECg3Q{7Z0WAG;>JB$=kEr zIWJwU(9qvS%{6)uWJ+SboT<0XFjiB~b#S;mZo67vTPqOrF6Oyg7K=itJf%iItHNz+{UVS#6W;K4P)br7NM0$QXWi;t6;yl~Jo2F4V$SGOp`ND^~^83UG|HZ@kx2w8&JP9ZHghh>l z{mc%s0G3>{Ss+m;jKBwq4|Y{1%?Ms;Vh<;FUK2Usefzj1nQJCjEj5AglZ3}$=*Aj! zcouLzB+_X}GVYWx#&?9jUF+eX&p9?HWkT{XG$DW^8{=T{VG%)uf7W@4D-~C?{cRQ( zUn;I|&FZ72qdM7ZeUo>elbE&)N@b~;u%gbQbFHt2+PYe(H8KX>Dl`&%7RsrmGcZZV zt6qS!-7}bZ;uC429<=id27A3J*-hGY~%_467K+hvnLgvdVz9c zA!8u?%rl5HHS1z3$WDmD`L1#``iWbGOzrsL;+6uE-C8d_jn^%1O9A-#Q+Ck8)B4&d zxj7T<`r~*j=*#LS-~I0$IT-266?PRUxZ5RFzdez$8~el&68NUE+(8qV#r#na|BS?% zd`iy?PwaN1C0CJ6xvBA$t9kU^Qc!4;DI8CZXqHax^)6Ig#sOU~Ax}w6?w7J7r=;p58S-YoI zd6qAa_{^&AH*L3AO#Fmbw1Em(9)g`B&__FSNg+;UP}On62h4Sz2IAb0MoQ*qj@~o_ z`H;Cy`hL6gu38-rNdQDrXgf#Dh(D|U21FrzHi~xR`>wyF#HulvgRI_$tT7xH1pF-b zT&2H>Tq2a%H&6WyP!x`Iaqf+7R~dW`BnpXKK5%xab=Awy*vsKcS5S*fqfHTVMu-PB zI_X*OTz#wxQ|1*hG0#vFcdX}@bWj+wLTB`7v|;4#4caYqs)h7KZJEa3mlPXaKDb0v zf92j*qC#)fq0;a^L6#B62N8qYJv=DF}fe^W7xD2AEKWwvd_*` zEj_a9sFvp986Uj+4OmOru`2PxjjbEpZu$*~Do|`)l3uh3kKc5ry){y7Jl&bu3=ZJ4 zFGNdmh!A^1=@STgXU2yjU&>C}Wf{kQ+66bd`a3BK9D;^~yOgUNz7lhc>N4A13W;6f&jGcHPC9SEx4~C9rCE}>A@T(8P-e8 zEMvJ^HbwGImqyumaNf+I+T0XN7z=wGsVugVJO3|L1q7Y+TK{&FZ!CPlJb z>=67WA!(%`+b@HxGFl~Ga67Lt_CRG8^-8{~EmNhsy0W&pek9YL z^c!>B`ud?sU*A^7+1M}Ot@KaZ=}M0sc;a`j{v{m^Z z?GHBpgDrRc5YrvdH%ww5^sDW(K%;#4j}2LPXiJ9(s`G+^-SexSqHOCcj{y?$D@U14 z3Um0T^d6ss>~=Tt_n-3SY7e$V7t;{|3S(tX$Q-w%A1TgvnXcZBgx})eLmz!+R<IN76(MvS z<6QhKb=Q_(Y9EJYP-v0HTuzn0A(d2mfEC}qV{kxnuWyg;LD<##xK<64tS)!&JBX!p z4i;PY#PDs_O}s3UkLZNwqt|zh`0s@uuoJer2p%7G3Qv8qFS2<&QZ_={lT)G~EVe(E z!^C6})06G;oVfVGgr#*v%Ar*jp^-eA9bi`U#@P``-A$FoQ>!<%yQHX-N3q?*{?^O& zQpc%eZYyZtIr@>CuUTAKqYESiW#5gkpi{3=}S2Vm(|+BEPNvxlwEHR z9nqv0chP_&K}Lb?)VNp^+t1=ItRiDc2^H(iup3(Jy3$#jM31SmEE_U=vBo8EKJBsO zI$7wL)q3RgM=eVIA{yfOjFd3IaVj+U*BolA%flce(CLoq*J+C)H}t67EdE;Bvx^YX zWgoi`l8~OP>Asw{>|{uT@@eFo3Pl&Jg3*Zh9)%$_t-$6X57xsjE395B1%b)_!sK;K zA%^exBIsl^aP*E0v#cy*9hI2|LF17JWU}81Zpy;7klW2#SrRL6SKo&n1h4%9CqVpWPdSHJj>7-lZAAryZU!9tHuFJ z>4U}wMG01UAO%*9(V=kNR=TIPlTd=j?&|Axq~<^|bsmUc}8S@Q=ZNaHr6pnIt1O zNiH$g)4b{r44E4aA ztm?e2Zl19?!3&%>B3yHE42G)fS9I9yyv<-3g_b#A695$(Bg<`JoMzW*udzapsXY@} zwIe&-Q!Tn)I0zKBSBPcY9orBPb=QgWOmo8a(9IX@dHOT?C2Sz~7lnM%gL;R@6Aw(~ zn4h~`hVy6}ONxcfO}A?o0LKr?ZeBS+?hkrEn!%WtPbKE(IoQMx7ZyQ*J54su-EWHA zV;@Eo%7#5Eik3T1Vnrz_>?8%moB zw{Wcp*iwY4@-y|sMbCt2)z8d$Y`p!&h1q_x^c<4j3+*!~t125`QZMQvYpVRB!j_EG zRcfHf)C4QW;oP*UKefAoroX%%FCGuhAfs*_sTx2$=v%Yvs%Y!;X&-L-2Rpk|Jp|Yy zdu|dd&zpYffepcr707@(1{=qnJr5s~dX37P_G>3jRfuX_G1EOobLQy7IQd#IaL>pQ zN#WuH_NJQomTfxUV+=~ZG5&yS^Sstzh>;Xq(yT+A<#pM3lv3$G;R6~^*RfMoMkxSv z@FRz(V!vPw;}Q2LzS2ar1;Gp+6X0ne4r6_D;h!Jr%+Ja(6Wda&+uA;i%=z@GeMevL z0M8!cjgUEv%Hv9f*cV!jdDkDv)yYmklv7*@vI<2SC@41TGwH1xw*vWZ9Xsi$r(k%I zbhZ75NJl?fqf7)|Q$pND7l6s6 z2Esk5&HcrCi{||BGxbKl`8|C8S9L4I_gK*DHJZsE2fgLn<)50L?|{|~dpA`_;ofQX zd7-n7*rt`<+lYAIodVTz?emoS>6LL&7NQ^+<-Rj@y1Qv;PRzHTOP0xrLLz(?Xo2+Q zPlihF5oH1G!!R6D78^&SB<->TOW4p0nRi;2MZVx!-x1#%C$xS9{hW)@$Bk`C&MRwu7yT>renhtZ(`_lMdLIF zVv558Kl19j=_yB{0;Lqjb5p^(3u4gQEx2Lb*ii5!*vQ56=symxdRt)e8-Q;5M~>f- zZf4?(8WBa_aNfd59!d7Oisgnwow!W6NdocYo@06lU}CrbWD467eUU$a#Cbm+L>vOswfzY2eNioe&n>JiiLbZNH;WiI25dK` z#k`4>15G+(joEf!u_bo?d>bWysp(=)r_ELnO()ub)I}IJ6etR0-oMSSts|SdXf;=4 zX|%<0SeDQJQYCv6_* zi}U#;O$!oKqE7NH54WH0;NbA8_Q>-NhttD8e=OSguRP^F#(yQ8{AXkLU-`p-*Xm99 z>K|Et&!59)_`-?^mdRk>%BJkY%$-=s4?#O)gMG?b0ePJ$p`zP7hKSI+i8mM zu~vXqL)5sIFPibg#ZMGU6%_eATqoVkKy-fL2V_bNP6EiW^}~G<8P%i>po6mpESIoL ztz7a!iQpjXFwUTisqfzmIqZ@2NfGj7{MYrbHTUmxo(C@vv3EFHO*e{vGFx#oGviO2 z8tpZsvRec)V!RZj?PV$&(L?TOO&)qF5c!)T1w$Ar>DVS~3JdPW(+|}!bCY8zlW%%o zFb96Aek@Q<)X$FQbN1Y^AO-!raO3f`F}4k*d50l^fw4{N}F5pRM!0O{=)#jVT;GM5OKTXvMFF^B@L|wD{H)~fYv&V-5yBIjF14KuU92S`y zp+8*08sZ^b3amMuxpB7zYj?-$!`76--V$*5D=1OQ4>Xq4T_j5hG4VSn zVoJv;3MlXy@GrevQ~Cgtw!KqnYkYmX)DO6{Z|?@HN>Ylm{PhzRv9#`(5qI%rZ}7;& z#H5Es0wY5@*k~RRiiCyh{Dp+2ri!GSbzZUNh=t%;a!!6$gVkd_V&cfne}EI=RMz+$ zqqd-6#ySyVQ8WWL(yL~w5hUga(WMZ6T>9Xrg%(aF;EeQ*5*offUBF(G9B&rP(cQja z{BizB2ThF0?xA)vk*<})VTuKjs9*~upfNnKz@wcj?VuVPyw`Rz6I$m}Jl!;oQE|n^ ze)PB5L$<&EjkNPu&h(Em2e^&IOXRlAex;~&_8ht&sp(AP4!T*WY_#1K*cu#m-x*JF z{kv|_mao-;&z9u47YEWU{*HLSX2G75+nH#dhz&bTOM-9vXY;pX8Ltrv^%Cu8B@emA zTxyf{%0mTCTl=q4P3AP8SPJ`)z{@jB=eo+?5$2SGtnHg)px2@==gT_b+=I9VcXot6 zMz0EJmRe9Ab;9)Fr|8t&p3M=X*t=y3=H3zw!JSpnFb84r;;UjO8mC*Ts0 zb}sBpyP6z`@`mPjEL(BH$Y)n%WBc6d`1krC%v}4fUZr~KjH2u7u0tj|H*6F8PZ8H3 zw_v&Ydc^g7dHVS+aX~0k!mr6Nyg&&n**BpHNkL4;dj=10WXAHx_P46W`8|i;9UcOi z$C$$Sn-o?l6X-ol!Qb%{xoiBJfOh&TZse`sBJg@97;tI>$2|+> z2XmdVhhH?r-FuRleDU450PB#$0VB!-Uy~dW98%M8#)ohXvpr3vedo@Vv3T+BTDLYs z`h7GeM`a*>ug~;jf*-LRaNRo*bS>p0)RJ8(|)fLl41!)rCiz~gm5 zSEfDQjf0Z;)blVU1t0Jolaoa9v5)>ZeYp8e3g_!JjU8EqNI) z&+PdH&TOc^42)o& zrZ7HdUjipk1wObDJLoC_or)&pNtxBdDc0lUb8t897A4gHmoMcdet2lRpO-){FN5!{ zNtfv#q4fq7mQ#25Xz4-YuvCcY$ouA?w>7V3FUMp~2*&t044Cgd;KF=455Sj=$PlQn zL|lY8%QZG$a|e<=Ka)Rl+Fox?9%IfhEyM34{tzXj8mOs_?_<$kQND7=JjAQdoK@Ik zmkXb)IlR=KZM;ZJ$ON5N2I{>m;yjnD^Dc(p`I!6$w06^5qd8-lUww}%4Y8LVL!B}y zP*c>m&-5mpBI)<1=`0eOsrjy5U{P|G9NS~&Nsyw=mk-@A?L0&(=w}K-%bln>$#o{o zYpR2;b~hJH9=*ZJ?r-3g&%NzgkrMYiF&t8UbP@u(jUwPnpUAV}%V;d|0(wI82B#jU zUdxr<{;Sh4GF$UzJ%)FjbVEJJyDLLEFrRL|grsa;v<Sk#`3nDU8=A&HbGD{L7u<tO_D;e`DX zDoTIg!ndzTPk?VUaI*fG%L^dgj7Ejb_WuTaMXNe3D|;t*$le zZf?+H+dIt5p_|LAffzY$gBgYlmk6WMX#A4myct}+Q>S8`*l5siAoJjuwO;L)-3um+ z+yjGt9gFG0KH4Kc{yjxY)#?2M#s>OXK`@waI7^PXRVUV;X8nNh9y6f>w!LA`o1TV5 zvt;#-)tAM@2@B)Ux8;qnlB&z($u8+f4r&ckzhp?SbbCnuX?Tw&#iHB$&_r48zlgHc ze-UL3&{nelsfPKF_1LDm{2!6N6F~LfYNY@2U7Ir3w-1VxyAAgcy!*17FgyMC4PVe! z(ErWue|+`--7;)>gp~(F)a#z;g3nRNiddh)ub{*aAHL$-Gk!2ND&jzcVZ&ayzX5TK z%M#aQr$@J}QBA^ttQ6LWq;F?@;rAQK37lBTe$u?}+o(ycOy2-VFT6vJC8K*f?>?Q2 zNe^5b}pBp7=u`8^tFl-j%}J& zB+0+L4gcvnqOalK3mU~s!(FY%eNDwAM0CFId_*TzF;I>kNiT$@FXHO4O4$JX9eOh zu7YT7%TDLrQvY>2%Lh*d_AOG_J&iTv(9)DMw{TO5$i^b0dHf*ps7IV(jPKUP=n+Z* zvN_I|43oF0YViz5N4^R?lqnR04(mi;vM-gSUNhLDl)D${ksMNdLzcjX)+iRwCJ~#N z&BV!QO=tB4hII#=r)_CFrFM_Q?ZZAQE>yUC{;Dl=vPbi{TA z)3}wXwiXzwHIoekx_rtz9$>%EYts3WMdN@v#7L?N2@QmnbC>NmD}I|FDqt7e|G4z_ zz_$2fk0kZ;dpInW5gPPFUPifYYh91_t~mNwYT`sKunG^T+0ASYn9+aCM6v1hb`s6L zc0Mi=_TbWhhifSv^6cbj*Cox(WXKy%zovb&k{QB($sg(^n}T0d;+CX1X<4ISp2%Gd z>VB+%%So|lPl?HZO_ScxUUP?qM1y#i-*!%Rv}?ubry)nDq)knU&jdnB#Ru3QWLhTb z6u(|-koG5u$dpqADSLYu;M%<^l(9~N685Y<`yd0E>E(#vNkfk3IT}%l+H-dup^hu-j$hdk*TLj@}+S|IC`ZDzU$EL`#B(t9_y3Y4sIy}--cFkHSJ zFWszOPwJo1c5@NZGFH=0e&zfAC4IEPtPO>mLJ>6j;Ke@vL&0zM;DfR>Cd=CE#qQT{ z+RkoYr8XjDOE?RD$S1D;6bvn$!sBQ%6(Ezw?>j~a;v<`)eb`0I*JjOi5IUF_>aA# zfL7}>zn+H%X?&SqK74IbgI$+{!qlxs$oV-5+1V0|1oOWxKcX}^7v^w$L7d+3jF($Q zn9jx$h&<2aDp*x59{IMDA|5uiXqZ2@&>YG;*g)_!;HwZDx%=hugR%qaA3k(b<%b7+ z-k!jTa$7iLLLkY$A3+lvtjS#TlPS%KU#Ha0G<^#zZd!il=!KYJ@zGpU{$%RA{=SDi z!M=M}asfNjRm$W6KJ-?46~SjBV$?sh)>&$f(-j$N)8e=|X-VJ@I%CFOrFUyT6m7?; zxKSKEOSc|>n(?3>#_C;41i87wKRhCO+` znXHdS__NZ`%k>_BZ4zdBi_I^agJVLvk{{YXPCUuqDJw|d41@a>_XrQbi&wUenx%z1 zEx!S8dSTB+?JKN=dm@XrGib-xTE@#cS2LFMQkFyMcuNv&bnf&suZO=%^+O@;KDOCU=xeqB+kBuY81) zz3s);P-vYOaSsGhS9lr5wS1H>_Ki@$HTMR@dTc;&+C)mjp8ktJE`>>Q^Q@#0fM#7| z;*@FGH^>lMxV0j8cGr-q?G4QZH``4A5zVg}hxd;zpZ77{W9P#BOd-^9B^|cwL%+(V zsa_J^*s@fAHl}c-20CfsGl&}-*aLGi{jX!ITx(EmeQtf>7H%}jmkQ!kST+#2>R%tQ zo+d-Q2;V=hDoRhZP)$%xQY+?Vhx^>yo=)NRJ6N4m)z)eny36zPUE6g9ThN?z390UX zYk3%Uc0ByZ4PT$V2ewA;V+gV;Iz}%vzONRKj$UOjWeC)rc?OcG8d*Euw@+#NOPCJt zFF^^krpk^|l0o`Ew@K2blc-AG|KBef%fFXA_V@nD$NF!uXf4^C)oA>k={Vh8x~F3t zhh{w}%a$lXeLq=^vmugL*(x!`4t7VCS=aD8ogUuQ!xf!4ekzRvGZ<;JXns8dtLE$?SWQ?sv4i^hDcAJ zK>B6k5dViVr=z?UXf561Fa6^u*@}d*tDf{29ji+ynaoZ>7fZ!S)8@H4lLvJ``NQ5c z@iz>{nT)qHluVI|zFkz+zMYgNS>WRtApPevF^S#I+S5BEZG--w2BGC#6;boYg1uQ#8HCy7)-um2&7({-3*H2nB z2Q)A^ay!nS8#6eXn(|iGdKr-zfjoFf>1?39f-X_4M1tfqyPhf^yx^*tu8o>vv>t^u z%C|Ga*Lh+$$km?C%Xe-SponR^E4sua-nUe>R5yQjFFSnN2#b46BR`a|nB%b$MC(wH z_9Vbyl61@TL_0Kh$3fTdy7tIjuw?NNIz9rLH?eda-oK-mh2O}e{$Ns>8j2lX4&s9n z?-FpQ#mgTw@!tG0NqV55e|RaYAk+pE2rohd-*{`|PN`zjyDMiPUYUsZ$KP$$9CP%BbN<~+R-xUrzJy%Yu$!|V_XO8!E%!onQIOU-qBc zVH2Q<1zmz(prq+6=oF`TJ@i6< z>zvn<3%$xL(?PRQ_NQ&cyNx&@;sn-r%t-#}u=NRumvpgl?XjMW)7K?dJ4E5G9eN^5ZADM5 zqv#wgL1g4kL{I$rZF-yK2;sIXRcrP#7%h0A5^J4Q##|+W6~#yQaiFQ{TSP=6>7n^o z4=*6ql19bz*M%slh) zsYDrW_ZAs0frm&Ko6E8))YJnKjk9P79X0r)@1x7Xh@zU3k|hl5l)Ro);>qdGA7f+*@(X{VBZ-w>a_H^aj~tmtja)t7Ce_bTNB#%U~GVY z-u{JYDaH{8T*pt6Su=h`Zhw+IxL`6Ldqds^ayu4~C||p>4{c=1g>eHsUO8o$ zxw9N@BcOlVh;(f~$#o-yU~ev7>|Zpd#mYS1jq81Q6vtcoelKQdlMeeJD=p=^vsti% z9_#MD)Y{(JXfv_BO{tsG-IS_5YmU=T*5^sYyqG-r*xHOqlvu`L7i?E)P4~{8zY`r= zs4IcGK5K%Uoq{+yOoSZK)3{;i-&{-o(N&Jd8UMd%H2<#_3_9OZRHPR>PWYLbZ4#j~ z9Ap)z(EPQzudHBPouChH`xQ>zg8-R&98s#8l zfYPd!X=^M-dy<)B6mWF5(B3lMzH95DAb%T>O061TAY@@Om0BEJZVTU%~ zy*v6V*I%?B5|EfujYz}16?n@V#mYwiV-e8(#9Pc=k+STx8u^b(SnVdRPB^VE?#PhA z=NoX@QSiA{okwJm0=hPZ?y)hiKX%Ra#9kNEIi%*z*&LP=DfJSasMtixY*T4yH}*8- z?(!%!gfqKjT5yzJzlt$QvU`2myU^DILH87-o2dkyk9jNgFH+Zw%HRPhU7e^Rc9`FC zVY?KkcQIw$6SIa;d$rN;-Q5GrpeLj-1UW@H)OLfuU+9F)s90A{U!(ZcGQlMOzIZUtEa5zqWdDO! zJ4gL%S{wp11pEh{MM3iwU6|bg_t@$tdj-kTuBuT_t?SE6i*l0>p{`2eDl`zz2|wIY zFCHZSWKu9!2FPZwg&(?-s$@iLw1bo*7!2E?(f;@%A(4?vmUP^P+k7rdkb;wY`s%K2 zB}8wwMNmw@mlUP9q!<1+^G6DwUg?;-s;=0njc7CsWZeU@7cl?PAsD}MKSRF%81Cup21IEwd)bX`|R+RXqsb8a?8stW~Vz?x}K5TyR z8^BmW>N}$=aT+#N*Hu_#)#o~Xb#UtywRn zQ1-u~;U~ZUvq7B8e_x^e?@D78Jh!#WO$~^nu4{<+#Xfl)YO0&_usQo#ETe*S-**ID ziI50~qC)AA`>W8Ikjh+tQyEXuFEEfe~-n~V1^N} z2G!TDpYg&Ovr-qBgNk1D#eZ?sh_a` zd-1crO^eZvS>$*hkEi3(L7DUryrsdr1sv? zLX-MCH5cu;b!e)h#n`mtLH4At-fuwiawBXZ@WTI&SpP;PRXug(#Ok>0G5S{*~Q+J}#xAKX)*ZV^5? zt@!)3Q9(~H0b_TIwh}AOH+t7P;lnR|JJnh(lhUB@jV(L3k@u5oD_+je$REaP#U~^Q zYdNIVXpKQL6V;j;!?d;un+^A_#&4pDCw~KK#21i`ccj5{ZR>`kzSZIbo9;{I$4?F| zx6pce6+@`88!3#7<7EAo`xf>BBIQuTMCaQ?L&eEz!Fr}_}nw!sAzY4M|0i|B-9cd%F z;m&h&l|`|vadH^+mRrvi&l%~%<|8-T?~ISn6X%La?%$JKEBBb5qNmWEx^9;V$CE$- zA%ROwcKGCUTKnfGHxa(D+6H=*WjOSTLxMsAkw<@H-D26TN1GIKibh0l`eTMk6Lr4g zGR9JfI%G5WZSR)n`rlLSsL1K78q^}pd-pZDNXT%iH9SKNXc((jbt}MA^tz8Zwq3_Y z*vRjW)omC`X)VympV8)M#7XFd56V2b7Q7aXPVHZcxRl`XT0m#JMvAJE z^si8#eCX;T?^w{ctex!Hk5=l#LwIvwy&mFQ|7lEMW1n(bVk`l7yYn|EG8JBf)kMO<4MC)7dqK#kJn`vXl z)7!f!9r2$ax^Va+pCrnAGsSiy`tbLxR1-Tl+mi8Qe=m zEpK}A2NoU?Q3H2ob|tge9<1uPO!+-zzkMT)@yQN*hYkCA`IE(efNh`EZsl8hluOCX zv0|_dKS?sDR?)|96N6h9xCmSQEhWv_(USYPUT-6WQcjZFocR=0{`psA?tYb-xxI#j zXmk6mX!g689W8{0-gRKMVMKwaUTD>2=}HjInq5m*j>T>)EpH}^IdlG_C&-LiLcisL z*<_?^)KP#B25YVz2^XyK>#3FYL;wSNZ^sSviol_Aryy z56qmf0e<9EJDxPar|-IBGP4A52PZ%5g-h)b~>+)|?zWbwBud2t++`sYiL{{*G}1t!M{-hW9I z`wwqdk(7Cr?M`gP&FBZVKLEM`y0{bVpRNGD@BJtD{6D@Q{I|OQaZtjaBwI18%vR?d?&|Cg&<3)lcUi)ptpyjwW@; z6{S;xqs0`*-@AEZK#2|*}o`otD*fdJPU+a3sDy9V_ zsf~;7DYQEivy7WTck=o8Zz*3ee1s@s?She0N33`IsL}mj_PHxO&kMp2uLhG$*fn;z zJ2T^03TIy9cL9QYsL-V_o0n549KXvy50OB=!&$bM^I&A~}lbP-Zm@>CyRsOAMJT%dlFOaHkzD_=Q7#Ab7 zIP{7UB|(Kvo7ICK7tD-5?TMqsUzNzede3N@>9=#A!q}cKZre-|SsGuW(3*@qPKMmD z+wcvU^}=`Ax=T_sTU&b8B>7#hF3Rl@Xn7#3!KhonB)=DFRq{vGj=vDyo$VW`= z2(I-7Q~y|7y-i>M+($!9TmY!qib%@yDWFBe^O~&oFV^q2EYMqqy0Ok5v0`{jWC;-_ z6#Wi~tg^Ze#mn`P5qFGC} zcUc@AIk)hSgqw$~F9wO9cw)%NKZM)JO%31h^+G!rHS+^%hX^DVW<}ny*qXXy2 z8@?~^p;r^R?t0#))=>>{^x0@@QuyXapY{U}40$?tgLsc)DOvFk?7n)UxP&EI*ivsy zRp7xxz>~G$Y8BCbW$#MKZ;((-G>$G*mRbVdMJjm&1C?Y)lQ&ic-Xj`6JtcU-P-DRk z7>Xj(0`-wag>!&=Z)g{>;03n`bb?lWY`3Jd=ceYJ?bivL>ne*~Db4pB-Na>HMC0Czc-LIaw8SJj9^BKvTJW%G?mzbEG`xCpknu>IS8}0>}RIA~BJ~U>@d$(lx zn{nEjL%xGa5CvcUy5N_UR^f7F)DZJKnOQRMo5Ox7__6qR|H4_CeYrsRw6mf$n@B=M zvBfE-dXv>e_=WVVjP^lyJ7U>Plp(dJN_{sAB3oH|m%2l@sq2(#LH{z5 zmOTz1+4o&r3%2TquU`UGl5GJGJ#;fH zB(N2k>N5q)GZbCemzVnJ|2%2Z&9UHkZ7zIxL*Z^>{>R{ZBwze~m=;{jTM{jLA2lA! zcS)|yEC_xc;aQ!C7YNLfL+b!q*b)en{^tSZFDGueK|Kn@3d6u)H(Xg`Q-C?eu)x6@VYt^8v$@3<+z*MrdOg#^Yt0 zsY!UdOD5MzeU6)|67)KyD-$wBK`d9X`GqHUtmSbDyR6twn59@d)v$@)M|I zanMinWuF_rOWDFJb(=f(DT{8#>T=Qz(_y$Ux-%)QJD_s937cz0kb7H-Tv1QNDmK$Q zXF`l;=uJLZ^?5{3BmlrPZpY+`>-5j1>doi}#_Fc{So$h49WA&TO z9OEF=5tllMic)@zjxD*qu(!7FNZg`aTl|r4gO$%SVUYeb>8iHRgEC^3kzzgECUc8T zy3#Y8cMiIuC^BJ?1H!LrkRS)9Srk+BwvarMdN73O|3LX|B=x~=v;?JF$VM`7T0u-# zbDoZ)#cEQTT(ZD?$Q|JDuCSCmtBhfWAe;)b5g+h7xQ`FF!~FisrM3oPVI@})B&F~2 zS#^h0xAJjYz-->@nT|@OL=CWIe!hKb`ine9Vcl|$P|USWFO#Q7!FE+|3I5-lB^*E zmi74J38o``>ruQ>E}M%;1V6S6pn#n!Mhv^0@%nGn(eM zK;N$&OKsSls=X3Mw0Gl7@fH`GCjy?xS#7L6N84n{Nn9#=S8(D&PLuY{E$R-4pkX3T zY*I-Gz{QhdFK{K$PW`wQjOEG0Ilg&+o2U2lYp5tL*fs^Ig~_Us9|zgOy-wJ{8_2On zG;FA!?$wALrEINCs<4RS$ACsAOC85d!0!6)x@?44Z@I};w_;l?;40$r-}btF(o~(G z8V{QM#=f6zy`662&yHqu_h7=8Tb%uG`<<|=nEKJ4yd)q)L=)uU=YTGVeVCtn5HdNG z`EA$d3D?sEXVATry7culldiRkINZ4*9YKs_iVbIXyWv>A5nc7{X{_qjD^{}+zbw!c zosP7m(>5AX1!h!m`#0Y~2c;`>rYH7<4{RAGDpPd7pOyJ3xRQn?mXelQmS?Vl5z{oW|_^b}IO(L0+@b#xVe;q{}L zUxnGf6#uY<*DeN!^IUTY#s56~Dl73G9RFwuxTdgc__IV$18=?IMR+(7fczpE5WbkA1!bcwQ6`*yx=U*v23F7LtU2fIBI2`W%wcNHp8pd)gY z5S;XD!FWj{HRZxIl&?e#c5zUCaparH{5&@OIk7TB{UO&aaR}cgPHdjW2rpYkPmQEE zg0n)8M2uqF>A97CM$_=4!2m{fs&>KlEnKzjN3`<|*B6M%oDWrUvw9e^KKV%ASY^-m z;|K0;-qnncxqxa_ql%pafN}yx{s<45N_Lj z2S2{Oo#y+h_!};Q_9xXi%?DQSlk;!#>sCRdDn>6e_ zwVMFuBpylFH!ysE350 zjj{BG82y}*fp_}vZ2L<=Z!OJPWaWAcoMMKl@OiJt#ZnvzvhdQMV1IA+QUk28W1-YE zBzESkVl$=Z+?{YUCrQa^`g=oo!DQyA_b4HyD8=TOf&theLoYTP`CD()vw7V!4{ft= z2@P@nlov|SdYmMXZ}R9#4j(}dcO;c&M;;0k6R1K7Q7Qk59UrzdsPfz*w+XosQ-E2? zl|1HdTJ(&`Sy$^)q75EXw)up2z8oEJh7*zyp7H8%e--G-Xl}EY*l`77Cmamp=pNHj zB2hYYY3-v&6_byZFheo&aiIQ<%5~6{()er4$(Qe`r(G2HCSe&0A*R!RNpJa=wM+o| zAK)ax3T!=Wo$a%Xn98#caEIR4vgg(3zG@vPsbFnqQN#Q_1rySKUfca#PT^N0%3Mj~ zHt6$=UjtvoPClJqbRao$-WH9eUQ{?epNp;`rXb5ULwQf_+cET!Hyc(T%3B6hHPteV z^n~a5g*dn~ZajC6;)o0EAZ6Z!GbK0vv|~O{~+XUS9=k4R;{I5Tl}LB?4VpZYT(y8XE(}km1@Y z9?*xwQ^Xw8Ji?(e)?*esfFwirb+SU4f*5h``(eZTsvO-3a(@7Ru-9`vxJQJ9`3=r+ z!N$-&rHs)8Dh%{blkV_It_`6yJ1hcYdEiF&U#P;-Uxu&43y~$78`xl`5%_-94;IgcB?J~1WaEwC# zbPQe9D*&6EnAS*v_iQpS!WpS#YK8lFl1zej$=lbQ~jtvi3s1>)><_p7O{ig-u*$=7^kk~)ieGU)NP9Iv7_*=WKh+xi2H z^H_YHTLEKE^-!&6$oBiH*Yffa&XJ;bceUqrX}{Qq5NhH?HWvHAYhiSCJ34!0|Lx;W zh2wNouIJRWCLDGH{OLt4A2L!Z0Ihf}lrYI~pMuhVgBALl*nHu;e>yXmZfoR*rOQ>` zj4|V*udn@`@!Tm2VHckFleT=_U;=L!ZoGo!k*|=u$WmI5bp;$zGVhj5k59N!>>jcE zs@3~jChz)YbVIDk>$DgKq4FhQ#HNxk+k>BmY+#=;kv+oE!qtNe%}!d*EKQ5JpDODt z3|l?tubS2%KwQ!z5{ii{M;3k%U)`6pMA#^y)&x(K#OAldDo38!^VmHITOp#B3m3HW zM9h?h657EygysN}rdnGN>oUNLnP9!X-zsfC&t>B>)cWsXn!jhze%xGA&2Y97Z*$oy8jfn!Md z6LXJk#)X=`9}{;y4_#*Z9p8up|F}F0n9h~Ue>aNf)m8?oxI{n|feQ>zIOXY72`KzB zA9A)L2N=Mhk(bu0<%hovs{GucwyLh7>?dC1d|pvH!Y>;hjISxbE)YuYyW6A_%9)G` zqc;x4D;$LmBsuy#_yb_hkT%;BvQ_@0SroT(p$xpTjDL(SDHg~pL|;6ce_n7W#c1@d zryVanH?unIh=m!i_4AS;l{?LWe9vQy%1CeF2N8{)I1wAehwUxx3rk1CY%c!oG1C)9 z_4wMo6{c5Zba)4P80tZa&d2=^&_j$FjiVn~q0DiD!i-v%{U!pRZ-Eu_7EOBp05D+< z4L^(ZsYal}=oYkkgvCz24J3-~ijo>-F(PoK@~>tngUzCWVtyXV1kiQ%0!G|;qOg|t zUf8Q9^o}~IluF?DtDzZE+!XAzUylkS*PlO1%Y5g~II!~TO0F4%tZf%LBq{k_BGZ}p zq_0&$I#XJU*Ix74@ol_gQ)QeJ3hB8) z4eovP3VDI+qX8(_AP=Y9nxVM9#l7QYdKqWOs9cVC3M<7oN6fo<$o>jss>pZ*xvY)Z z7$<4k3hah5OyQR?N{?7>*~#(wt*1Ie_T4Y<83I2Odt(O9Q|5s3n-Y|VB?L<{-kK4# zwwI=z3NcKA2of4paHaX8&M94F4fUCmh$FGHvf$yu9;e_y`!bO61o=VUpzuj%qbwdr z-!Va+bKLYaOR^w$Vc~shTdpd(Om8F?(SFTn33-~n1Sba zITg`nh>b-lCfm_mTg+ce)M4?h=KBIDys6&ZNVh~<9(CT?b8wfJ&dxC&j((P%vWfo% zqJH(zjguYQNLASE(c_#R-P9*Q)$JaBe#VwxU4VQlW5Ocv*r{WV6B(@oU=Ki?j5Wux za>dIS(t3o8MstYRBw6^ctg@IJH6uG!e;pTX_U zAo~4Na+CaIH5fg|<$V=F6t%Sx@ghQK)>9iZ zFuZ1HhKY!F=*00~F#-!GRm%J=e%}5gk!7TbLhgJox1X1|;crNU--F1uVZ*$)4oevj zLh<5Nr_Xz7wJmj|G>2&Hq+bk89!&tUBc+YLKs>NEVP&2QKbw;q`4?o&H?xhpPMyhV zih~{z8H-OZcxezy!`xGW(GM^{noDAd zNLb%Jcip;ELq1}&;eH`>Q=1>aAaxk) zx;A0DjlUm31#!pPqqxXCZST(a*?7ujmcR4X4d%%ejHJz(RESq>QQPGBMAl?@dxHYv ziTh1&e5+-DLk5i?`|_dlRGpiT3P9S;;u|aOKz7b&oNo^8l(5tz5gypkEq%7}n>*-l z3I3jM927ut*IF3Pv4dmOv**X*8zgMEk8F~BEF9m&x zGexaF0}ST($`gnMRQaE8zj%SmdVn}#ol(s!Q@AmX8rwhi2f#8#8xo^)YpU&pWLuc- zDUktfVdTgQQZ8An%7|RQFu2Lzh%a6X;SQFb3eP0T3vjxd}ih3$m<2jGI)unLJ@t>JOI8gNT^7^ijk3g#%k0`VphBYI!ht zU>nc?7VvJ#@778$z3>~q4H4~0R@*}8v4SXcYFTy9{Bu@P} z&4Z1a*~&v%WC^HLy{}NbwJ(3q%FbqdI~i*jZ)G;mRHo_H<;{hi&?-450_vPkZZmWyQJ1Pw0|&n1KqbFQH!kvJn`r385r_55pWX0{#|y`FsBe>3Uc!d&YstYdh zcE0kKnRe8hhmyxGoXGfNTQD$hcbD_rmsZL-qGeh>Gb`TP;@g6{3f%_{s(@ef^9Bv@w+$iXK|B%{MU7O!QIMVN91XtZ|pqEAvb z(;sEsk1m##w!f` zq^3xfu;>ubXqQn}-D%FhwsQLQnDah*J)y%=CFVQOzJ?7;SvckF?kHYLkxd*epYprt z)8xGH`zH9y4e`xTP;@i$1LMg^NL=YwI_cV;%3do_f$9yMRjF!7RGK|5*k0;mKlfe= z)g$LTaZxfov5q|*|hJbVM0M#DGKS$AE?X%ZSTlE_w1wNE15UvFDA?3>EARW z<)?DPU;go%%V6QBn3hpn=c$kET{^4xO)JisM%-cD2sV$pTmT(|>daj7&$Es6fHetN zBc|DKxt%Rk$ z&+3-fA~V+r6B{bn>06}E+>KT?yMhUo===85FG5-RBG4<=pS`cys;uoic0i&(%EjQd zKJO8_7P2De&n?X|ibh54lkdWm$7Jw+HoEB4w_s#KSlumOmmz*vTkWK3K)G8@)IJTi zwVGZU$pNOk3H{ENV}6KnJ;sJ^f*39K;h4iy@b*eaB|VcMOMqg6t;9XZx`n2Fn_}>c z^t4~U^b%C0*k{Fdp|MY(;!y79UWY}wh`_gmNE@w>S)ui*lkkl9M^D&9#@pu@2K|lj zel9WCPTq{2>%IAY;@xCB??^Z~D%>4sR5!|wf7$^zel^3)iE1$Vn?L9Ov}*I`gwl7Qo>z&F^4DIyS)-ae^Go^L$heP?AEZ>b(Pv#A zT&Hv2DbNE8g2?JDSM@lLFd8pECpZUuxqK98--^AoVmYrkf7v^)S?{?CqMUU(t7`Ad z#EN}cn_T$=M?AgVkf-RkI;JJM3q4**sz+}j*KQJVBI5*gJV`#6CJXH zJEauH`O089>&p7y9x!vWa??8iGyMi!gbe>__N;{`hhoGCjxV z9UX=*8}?ZE5UJb*(iD*fBtj*A(|};&IH(HAK}Qc`r^FyNeks*qGjn^-!jbohc;oz& zHHiFc$0eEYN78$xi)ifwQnqC@4K+BNPWd8rN(^=4yk=I>G=8t3*4%H+a!Hs zY4k#Qy)TH%5A0kwr}nS)Dm@VLum=!IlzG#pLPx88s5fJAz^zZ5ND3qU{!Lwc!n1Ny zwkQGJrQh;H;R2oLh*(jB!uJQ`_WFLfuiO z1KSSj@n=GrIN1})avY?pwT-&?xb88}Xuhnj0|yQFi`xhdtrPX3&nyvG*Jo*`VZO)Z zVDYz6MdRCVy9=kYU&c`-)B$Jn`)$_phSr3h&4+WUmU)JFkH$_HEz{7srX*%eetJJP z*Uh6HF7N$9buvu~Pj?D8WenA?*%{4y_j7`!^wtz7udE}`>4U%l$si#?AbV5^>3GNl zCgN2;t9wXOG4eM(k~lg5MC0*fO6dc%$ELlHc8FG0bU~NrWdcP)g@>ZFLW-lGc$0mOOSoeF@(o>=7Y~R9?xbPK!N0<~d zh}XFj!TG@Ah*y$vz1ILv8NX*n?1~b|OZ!_e3ytL(R^h&va|!Ib0{@xS$IzFpHd+EO z-C<*&x`|5B&>6MumNlp|^{sYzV?Y?vE_Q13ezxkO=r`4K5;o&3|0lPt#GL(kEc8Gb zwZ@TBED3;G?+UQNtkyhG0~HauK_v>M)M?CVf^NqhTNy&VY5Q80iqu_pO&l6VgYcuv z6OJJ2xaTE)9gwtO{#luG&j=fh+BDxMui6jnxOi%vF4RY;n0qPbI5h zYuP9WM-fCA+i0%CgCWo!J7I0-gnp_q$xk~v1U@D+c!H5qP!*ii@DP3k1#wz7y!5DT z)9ZQlB<+|~Fo|xKoYvE4ZsL$lS6TCEP^2+gd<_=Y|AWHWvBh~l{@$qi?|{|n8kujXm6?b)ibH&`+XhC?y2$v+|TWUw^Pm= z$$`RahJQ+887MnD5zI zhZHb|(}6I%cB5-IQaSr=f3UnI^jBOqQUJr1V85`5O%AHer#C4)lKP7CCrqCch&yi8A38DLoS78@>^PZ(>xE1iH|(DVr?|jA0(AM|!SZP>I`hGmkct6Pf&1 zzEA)(2?1eD8epN6KK@GnyW@B2*qpKAKOCg>hy-bt^m zTbEIQcHnv%HT&;iI6f@L37$dC8-H57jhgtUbtPTH%&;lF$L31H+po$K6#)OO(JGGnH>r}tNj%8cEG0g|0ZPa*+h042nG@jn3X`wZ>F zs$t=RN#vOzuvjHQeYqCcd~=IC)_$2nQ*}F-s5P{1&sH&Sq^G02&f}K|IKfJ*)-C*w zfT*6%ZBj?S>WN1LE@};PCwZw~Ot<~20wk#2m3d#mI)gGfTv2-NdGl+Yo%iajE;Sao*MQ${84oOsTqI=& zXB*P#^5wiRaazBh5w-x8Nb*0N7UxRN{0goaof}1Z^C}r@YAzpd%PkX4Z#&G)Gv$-3 z#ZToF6IqeTvqy$b_czweHmvQo}=C3MLqQYNvrwqWc97zpn*JtNVry$h(5hATKakC#}tWk7mb>0Kp>}6 zuld`f)NZnoB0y#4vp)$6OQne&1*yl$AP@+dDluy5Y2AF@lpf6Pb#ad(!~V=%W0yZ# ze&o&5+o_W;-0yuU?S9Z-wK9_S0@-m+o7-H1!I}*y=wld<_x~*xXqz4Vr z-z>6+*ToiabiBS9jFq#>n;`Ipt7pm4@w~a6#kqtqEtt1MEj_iCce{Djrp{`97Pdw- zEYf>O5}hXr7UOcA)v^J5JUjRMHlnUL-ltCGtVl1F3y_wSNHI?64|B=ZKlqnpJ(Tv)Q^r ztK{zIfjY5JTfK%zsrN)#+OHH^kT1SvVoi`?(y$)aIPUJ>rQ7e9MZLYty5M~6bMLc- zg>_WkbSk^Etd2yQr=WF4efCt)`B-{`MWAdomiJ`DhZExYT zpM^7E4C8J@);u{mm#_JpeVtu-*Y>C0jdLt2q}Jq%O0KeFS7W{Nd%kxU!+&*rn$>nVKQRY-^(gVmKRnT+1>7 zNNS{dRX#+RLW3)^ez8B#;#HydjNEJco)|Me$%tY~3cKV_*$NGSD*i506cD+NZ>dsbAN@0?QPcHBWEVd5EHhs$u33zz7 z-tiIp$}T>6$efO(CLKr|Kng{W@1-_7aUDt9)Amg0M_%>@{ocrHHc)t$g|&jweXRQ^ z5ib+WWv-#GUoa^JGSR&K*!OA>kDF))=i3F0EI@dWO47Ql28Fm%peaKpkw7uA@4RWW z3OOR;qek-4N$QT=@4iKuiObkKgfhHRIt;DsNDPLaHbN9Hm$4-}JMC$|7J%cv?({vind?~9ZFR;o14 zW2VgW&sy_;J^kz7)q;QJ`!LYotN^0l5oU(!jPhssDdw_l(A&Nw(3Nbs1`5bAYKI>Z<~5cqYzb8P&iJ|@BF==kFoKN(MYc@BswN7^^|s;dk$4f`c)m1 zH*6`Ru$;oTfZJf3boWI8Eox)4v6M#F}b;F4CJzh33Mav~;ObyHqtNZhv z^L#~H?_5A^mv4Yq8-I!Q%bu-SQhv(f?L1AqDRx{LLXya+GAXv#9NXF?*BkM!Dz+vT z7da)k@M8t#*uN-wwUT>hL#ab@N5o0aChbMnVL$i!0n?2ldOYf=x#`ED*i-VUBQ?~# z`t5mj(2hh#7IlHrv_h^w&u|mN>!L`i^Q1E_W^AZ2IwBf~i`neI3pXf$JO~yw?d)7w zoAnILXtgNs&ehD(B)*%4f5#aSY-51XNHO0K>uwJ6O62zwm(lk0g!%LH(Rr@>0*ki< zXtScawKAMuX!F#+!a8Ga9X|Set%$4IJ+y2*iXDJuzFQZ~6XP?y*KI--)MCu%>gK}N zEJ~yg2;kXBD2ue%L7lv)X`W#*@_Oe* z;E&nF<1RzOzwxQet2mZTC;a($%@S?c z!shWN?9&Y!v`v406}EIXYaSyTp`hos)t>e30u!vusP<0zSU5dv4iSFFd+mu&<&l?3k)Z+%V-VxTCdYJD^mOX< zXya_6ti}Q&H1ICJk?2!HMZT2Vj7(ZBs4K`f^eIDNcZkn>jFs$gv zPIo5BlFU!ea5VZ#JrX({+TnZB=H{--y+wfk- zu>UHL11IXn^*u+V_cKPHS#>1C@@m675YCle?BSAehQ0> z-Q4|hz{#~zYl$7O?!`1UH}ZnR$Jo9)bV^<(zM(AhBOhf~MCjNA1$a*e;(dRO%NCF` z=1%;i+sJL)ZqX4Pdh5jtCA1sfqFL6pY(EBS%ZE+(MwQZh**K6BaTn;HK#;RZomcB8 zG>pVh1iyUw<>R<&6#A7_35Wr!sTk%sN^k8^@aW95!n!x7@pzYu2J=IgMa>*at>XLO4Y`W~>bbqF0S*)Lb^ztMNEPsMn}{8oRCSXn(t*9-5oa zzy5WV3<)4^n6p!u#dw5~8=;k(QNJzs5}sp-@A#H{`%q6s4EuCx#S>MxWhU5Vi-aNq1 zNs;LvT!{*et0k<90TE6>t;&YCC+Tfx;01X>E*H_Y~%g&qB%$~L)aM^Zc4rt5V zkH)7bdQ6~N=~-ZlPG`t4FBuLJw3jPlTMt>*1$df zwV~E5oDX|396|Nte!u|p!N%8I`qjpUm%mFaI&~*MG11m@^`!Wv`2MJ~qrt6Ve6YAY zZAbo%U+#;ZGXvh#M-o^~WiH&Mu$xUnMK*sEXYCO!#r5p14 zpg0+}_|Gy&f^dyjW=TdvRXUY{E(p!FH^jR__?~8^H?zvh*z88gWAsd|FG{g~t8Pt) zv(-IfOOMn(OHizo@A0KTr;{)<;m6?&A~<(sShofw9bGtTSbxAOlmgVkz|7~bokLMt z@B7fn-M#H!cYzLHy&Pehx^*|#*LA^szSH7~OiAr31Q0jO_5e+vhYv)h{;i<8+t`1R9a24W#*$U-jM@b`&+-!f*5Trbh2?5vW?*r6fH zDsYFJ!Y@tQmKK%N z!t%@pMSGh&rUogPUJh}>P^XHvTZtTgaDbnf$&0Y>juTRVo!)pkDk-8OmDG{VBLnylt#(}Qmt6wS zlIirY^_?W`%9P9;0e%zjnj*P-+T84~(t7$Ga4tz@9<1@89fR^+aGTA%*R@&gel8ro z1tW5E=t!cA)aHk1J9%w=p{k^z%S%DRaTcj-1@v(<#&Pslcr5BF(dXwM0J^nE*O*$V-lYN?QKr6B10FI3vA?|Gg*f_;mi$BcJ24PI}#z(cK9qNb1ECzoqo&4`k1{lCO;eP^AgBET8+_ zG4dujA!+}b%ez4%sK!I5y8ZWd3^7q4+l#W&wJRsHQqN^Xddf8iI(bA{4l~nUqXtnA zs1fhv_|igWSq>8a!N{CuP1!qZKcgcUsr(VWoCM{fT|Zgu^Uw?VJYlsPserDFk1RH;0{H*0eVXImHW9AcwjjDt0lj$RCAmUomnb?fcVN6FM%U4gZjRbh?yCB{5(GW zS_L)G865HDJP5wwa@zJSta32OXLhP{V*gd~TI;kHHgogjJBN_vE8~*$74wbXr5ri2 zqthc-(z^~MnN@6(@sp|XcrDtuCzJ)Tf?KeR!}9{z+Lu*Z9Y@f)=iS``l)oqkZ!FD6 z9yashI?W}q&n}Vlrs&*e;v@-(&gSosW$nJjid0#V(4+h7ma9-l5B*l>M7U9z;O3QX zBw1FSnfMv9{WmUe-iiq0bXbdxI}pMUy%PiEqSl`ASy=%Ft*Yl*bGvO<$^~n3>=$mDIOk6S! znp}mIi=`$kNO)CrY!Du0ZH}@SP10_0f6vasSIAJ^QXlJQ3=2HeU4pLZLyP^ia<*Ih zP9M!7m%TFeSok0Yk{K*)!c`X9)BaE+;v&0i`6XFolP$J+Ruka`#?aoeU^Q9oh@Y3 zHSk&PWK$~IU~J`K>zph{NNBxh1R2g_0h}e^d{mieYSN`CI>e$IeLIc?kflWoe^*9z z>u~5s77kIYcUu?2tmUlABY?kNCR37F-3@lUsITKEKGZ1vhEq9c7AB_XDTROUWy3y-(c}IkO z-uziB(3h$&-X%}9B)L8>b4~(C7jbBy5h^39TSC37W?DDX(W@h>DKhI`>AfnW9Xy?G zhI_xw#@7ca>|Zj{$MJf~5JYO%j5FPEn=a}7~SlSTR$i!c++q##M( z;Lj2%&%Fr=ri39rmQC5|f*U0zc#j6PC|q-!WQR*uSufYuMFt09*DJjKA8A~66Hy>9so7F_*M&(F$mXDx^ma?;(|Ucwazkx6_qbKtdUf`ln_?AWhk9|KhgcV`iRS()O%e)ih3g$a)l1j!7Q+GQsAmNYy zWJ%6Co}q$6G0jng^UKOY#S+KKfc#d>GBl6}hL7hQtVgw0b;BJ39xz6-5BwrEpf-qv zSv!_H=%Uz!t7eW2z=DC1uai9GSK4H9RwGTr9J<5Lqv%jYu!CC$Oqhh&Ju^h7v2|8B zm`{7|0Nj@PHRH#|hookyT*|Z-mx1X0G8WMAa}+DqP<;w_9Tjm;HONtF=$NfDKhd3cWj+(34kkC!h4Yg=RNpFel@aDM1}xqF2|c`)9#w-HbG5! z_An>&q0fR-lzA`Z;#gvSp8u_$kJd@$Yb&Xxd!ba(EV?p*3o zvAi)WHG-`Y5!Wm<>&T9I)aMdi9+)IwZW|2eB@{UKpY4%W`O*zzf&>nn7`V0zP$g5`!o2B&mm3gR8d{R|IdW zsIXRym<>T}H`x~;J~_C?QXD%%Keq%K5NxB)^3(}((*Pbx7b1GS*80 z{o+RWWH>1VzI;UeHUPXU+*qdF$LC_hAi#)rpxWy{X&8Nx@N>zy6&e3|&3qJC=T|@{ z&7*0S&G^FGQN&>6`Dv*zE96s|(+160Qiv7G_zAzr~tI zcG?gumk(qE4_?ua+ zyQ`_IYmU3F?v$=z(!aQ;Kv(!`7c!l>q+Rs>&ja8b81wq>*Vr?J`f zX@(O$5I5aJ=YTT3ac^(KC8_T8UF`ZQ(y4zC1rZ>r@isa{==OT=fXr8pB@+{4Th!6; zl3f&E2eoJl=sJfz@@x^nzyVxaJXI;yC^0obX1^5G-~^>>(iai+vK`=j>3z`6<^;S{ zL$8%{uSA**tdQpE4W=a5Iueh8_P~B6tx%(9!4-m0WOzxft4W_t-IV+>hpOp(wGif& zpqJ3Zx>83kyXl=dtJdtE60_KLA@0z20)A{E57K9;rMkkagmKUf*7*+_JAQlM!~tJw zoheUu{OWal*+eupRfE(q*K`^V-A_bM056?x<=}4$x9@o9Zbt(6!)-*^4W&@vginjoUwqUO*y)674;padT>k9l3VtS{RO^r%@PV#5vU~ zUHLnkE%=^tb5gdLajB86JnHMCz7i%2?Fxc1R*fVoc{A2l4a@smk8#k>SC*oJ*lUj# z^IX8&$xn3~n*heEX5W;AwE&{Y31jkG?me{bZ|^;=w@BeIZNHtVey$>;c7OF66+laP z561_R`vkW^Wl0iD;@^M^Ap~?l6xuj;X+Zh@IDG}{93O7!_9~-jwBvv$Oi+{k^Qc4--iZatJry-u zvpaBy5RlAyW0nU?-!S&4AbC|IIw`mE^|*%rCpYOeV6iarM`5g30ZA(u9+SJRo=V_^ zx3j~;iR;_k=8WOiC(t+v(EaqIw_dbiI!H$v_nvdEPm_kqWpyY3;VD@b{h)0wrWN~G8byfU zgeRAYA!TMzX!Kc;SNnZ}B@Os2p3?h3={2mtj#?Db+bB1wW`uOcmxhUvT3PI6r zxvO4Uei@eRCN>Qz-Jsk7^!{<#$tJwx6g&~IG*Bao%$~(Q6jR2~JQEJIv3#i2F51xb zA&XE+Ld{ChAEC0(|Kun52MNJ{v6tZg9&}OpQ)omQ`VCqddi3V=pJOh6y&_94E#OF< z8Yle}*{m?j^DtNCME!CBTqC)FB6+gunSGU|V)0NV8%NDiYal-56(qWXDv>FuA>;81 zP)7^=p&VrGcIz}=!byZtI$LcNAQeEzfj%UqR1#`?Pk`twlcwmL z@g^jt;s(`v^SEfdx;zMsQdhOfUEagl^xaou!AZcD7^`nK?7abU@IYNJOW&?1*`rfc ztQ#(yO#xpn*A7mHZ^r(30epo*bB9RCRBFM9NE zYRLc5jE(FgbO4whG7725{t$kRaKX392;qxvx&G4f7FQ373p3Ijbab%*7qy)e3^ z*0+Do(EMa>U73Ev(-%nVHZ;j*wEJ4vkf5nXTA$pR&_d|5h#OWbcqcl zPBmnblxRHT4}ho|rj+$}nMVh6gI}T2?9F-Sml|v)ZCkUiHQafkms_vOc!XLq#xv;F zKO7z$MFVI;@Q|5X)j&Fv*KYVz}n@8%O>9q)L8pzyjop37Z?e!HlJ~PQPm?6 zMNe3rN14rNH1z_L?evq5R15{>EZqfJKM=g09HqjN@!7?bTYI$2g8mg*y0rof=qj%o zull}Z;jk16;i>gD!!uuH7Ww4UG|X+Mcl9I{3dN#&L-n^g)c!d&M>9jM;fN ztz^DJu_{K0bKICOrV{5{0Zbg#am|DcnoOg{2=)w(7q=Q2m$>CIy22T(Jz=Z0(42!@ zF_*Djw{LRh*i^&|u%h(0b*qvYDf+D0nW9D z-=RELSQdm&{W?HuB{cq7r1tc?wp7&)4IYEjDW2`t$w4<9Qv2{3pBNQq(p>-@q!dBZ z2QgSl4sY+wJ06nA&E|QrU7EX%I;&BZ6aVxW`$Ax?Y)@mtyzlJfM>v4J)BV_?i#27@ zL}`KBs{N7$4^L@cz_jTz;Mt zAt!jL{^`@UtYG0zVJr)3)H9~0TqvIYn)kw1jWGh#@_gZY;)iMT~F}d`kT1SeHPzK|3Ttyb|v}#Vl&vvAFpao@^0mpvasn zYVf;(2mJ1N)`F!03gb_g6QovR(XMRSro3txmAPS>m@cYRgO;X2{0P?5oL?2CyDz0d z0f7^Om$)BV6zE!9ZNAF-1zk?k3Sg2v$JnE_l*M!_;Dzt{S!*H0Zt{53E5KuBYcQ7* zW|#9!H{~~r$+3V#T6?A@nw`{$#l`1&5BF+3tIMp#v%G_w1q?N-OGBK>W|A4}+9 zjZ`2#d*&QN3A{D2*PP%R<5d$?8a#7H->oOsX2*JqJdTg0X3I^Ug`MT?)OJz&b@wkl z(9+W_p31n_nr*5oMWTYaj_GQ4h`8dGz)YrrsmX!&j~%hm-hzq#*sS32rrv6k^ug8Ju1!>*U$@RQOY4-!f$4&2dACrixIsSD0^ux)ceOb7cw| zH-}BOfFxsFdlBzjQJ>^*!y+Rxy>_v$HMrg&)cfrNOZ&@!UBO}5Cf_oQSoxk}>Y)-% zlh|BLVJFd#J$zF88CNQ8HTuFIbtP%_4|UULU@<*A+6 zh`Jw=$yPkC&Olq)Sb5LAI;!f-4u>ewm?!)ITH9skk6)m#O(O1418%c>K8C~6PlRIq!<-Dj$Yq)rzahAUSjiQvpd1& z;?|w4u)#P>*)<A(2DntJl-}b*HoBv0T|DMHKAWSqa=&;?P z-#-0)!%Bi-#G17*+Fr)J6QX>L+Uu80%#WWsn<|OA3;FxujJd`KhJ-o7w^~@%(h6jm z&VK+-o^lFYZB9!wofw-#5szrVz>j7)AYI)UnjA;=d8=sUcVNjzk^vu=G3c*-G})i2 zMGg)3FA*iiYjQyKV$Rgbs@uKPmmZxr+3#rVp>%SmhSYWHd<@+y{*Y zjrpoPV};<6QPO;@4XBLz(G3{>U0jR=%FXaRRheI?s|9(@M~L%DeOR{vFzP&*3}4mx z^-NJxXZTt43(8KbZLdGucBp&iurelCA+Z_sU0DF4{PUBS_2_63p&%5+kWS?ZvJ%n$W62&NXbHp9U3n8G3_H-&0cwK}HFp{{@JXo%{z zWJk;^U7`95TnsQKzSH<474XS_!d( zv=L7V;pYRItoiGMg)y+_ZkZbt{&lSLto)O+0zqwk5rk#~nH}Qwrc1T=&+3mGkeX(5 zUhDb?SOz*VlQ$!;)4wz(+nOD}V#kZd(D<{4zk~`(8N?L6(k1u7>$|>1vhb;K@Dh5Uc+>xXigjZy@*Jm(6IuliO5Gq7wpAR{$ z_@AtQG4%Qw;D)vzU@@>s?1WkkpAKdm1!x@iT6$OV`Wtwg#=4{(V^Tftnr(zqK!VntX zz{+JmbCY|fFAAvmA5m8?csD8Ii5%`6s%RZ#w!^^CTZ#;PyXZ}$2yH{)#oKXnpQCb) zU^Bs=S5kI6$~d!3O?6wcZ>`84-ga+Y(D{8dnw!=3-(HtgZ;6>50tSw z=oeC5O*zujqcZxS!b~M7V0IXDPql^RHR9rBf#DF~-8ng)PW?UJ=?(_fvrjJ7H^Amj zj6nNM(|JN4eS3Of6vA_#ml76em5C2c_HuVRhcGrVhHhEHgTQ@9p?yu?(P z*4Y+*N%LlQ@!0xh-||WslaZzYsK~`Sr7~|kXZtp+Vu_%GFG5O$t;U{0#s$QQ?tX~g zs&)Wc@0L2BMAfDpzXZKQJcdTE>Le^F1Hp4ax<1wdZD=i{E0Q5%hj@U^xWS>aA)kf?uA6D)7=HKa+2 zONlW#-FpFTxP}*L9Wtd-@&ckYJE6yoTOB6_r=zgN^xqZhMZCqQ| zS!Xu2gD*Z>+go)aCKfNOpefYZW3+x>l8F^#jUyA-5}7p&9<;V473wF;hq;?d!bTba zO+vqS`e`%Q3c#qS#S=f7ele0Yq-$Rud7|)WlacUmX)Yh{Nw+~#5}`?afIodE!eZDs z;Uv4=yCAu0t+p=5zx4H@)re`ouLmOA&<^%cMmRo=4dKTzK8}&7Ura`NpR7AHQ{0 zc$ma@#=d-=X*xw)BBcH~=#wy&ZNj(^mKiAp*0mSi z-!8oAUMSAh8>l_Z6s)j&x>E@hL%jPdvoo6`_ZzG_nmj6zmb>ILOf3zwt|bsNOkMCD z>rJua0cnnQ^9Q5C<}XS_*;sZO>5;U7kc%OFU#)xf&RK8kVk88J<#H+lox9-UJ}o@G zMeQK%J1@t+%(+BjwL0gv$piXhH0q-_N$&*^B!R0S{B;-Zodn%#2ipSV1hmg6orO>!nyWXl6xfwNR-GsWj1XPg_@9JlXR&F_uUNar8<` zkx@UI?c3zy4)~Z~%%Dd5x=FH8!GYK^eJ+s+6$PG};F#17=K3T7SM^+w(r#-AqhGAr zqDVcydKofQ6FgssUl%RqIYm2k$WgQ8Ts6k?fY8VEl}j*V7<>?hTHu_7Fel2t5Q{%& z4(C4I%5w3VlLE2O95_8PGj&4+(-XgT5R`?5a20hkqshov^`u z7QRe`%^bui4tVDtX}THyzfSoj2dV3~HnvZ+n*Q@sq$r>tKlA;6R8)U*k*P%sVP5XPnQjye*jZ^_N;+VD)L$H>@QQe%D)uf56Wv zn%@y7)!lDFcyCmCExMo^3w&M=kS!^ivX~2jSBVi_U`L8}d9y9GpqQgbpOv80JsHbXhXnFgA zxFE9aQT}#lVz!uQ2v?zD_>G_4oldHDYjYz1O24Zow;S_$@Pu$Y`B@cB<1_S%li7QN zhA<_d=eFk4-Wv7KDiw7Z2$PSgqUw&k%%DDN@*&kvE?3g}l%Q4?fV*}Od)wT-ReN3L zcA$y-6KI*ai3V-@lVtLj&{@8Tw5jMT!i^ksNjMh-ks48sU?0q<(CaXJ!$UtO-wDmw z>DSL2l5=OdsfjbjCQ;UD9C07pSN30h>)a)ZbO~m<(EF%>pv$lA%K2Rt6X=kriS=HA zQAv&RT#aCs5^wi;rz+b)4g&b913^kncNi$JQaC6PqM5D8i$31ZGiP&gNb%@t*V5)t~L4DxX(s&8?SgoXH%HDW_Q}&sd_B zeSC_rg&A<2q^W-w?4t6(+noa7{pq(Fl_=s|M<+iT=h)a7ZAS!EV%YM2*a7USj~)#X z8^c@cEop(Zsb*`vGq|ul#}q8OVU2zSa=K%V-i0WWKwiaAnfprG6e`bmF+)-j$_!7A z^_w-=ikk9yIjkURyf}R}fF~VS0v{?Z1d3J1$!KB(e*{q=EOZy77`Dz#bl_~QbI25| zSDi`Oc4Qgyo>9O;;Uet=64En;>|Q(o=A%NqAQQZh$E_#?=TLq5>PjzH=Rym_r^97G zL*B&8mq;*H#R!xOo9JLk`VzL-ViB_;q@k+~;zDf^qAU#aEQnwQOn0U#XWHvho7Snf zZ)We45E?OBPsg{;tuXbr3llGdUAzM&cwLr#R=+ty-br1GR(jf#lx1i@S!By2AM5oC z1kqK?#D(yU79Ybk0=LcFg~N+YoqVUkCFN(SnQlz!dxRVc)JcVDZ9&y+*Al2C8Hy`P zcnzZH`2`L~+J1H-b|NuS`JGdhjPo`|QB7*K1rn#^@@oIBWQW?b)iyod4_&PH5=$bk zSVsXAQ6bb_IkuMNU%lqj9AhrW;IA!!uVzOY$|CvNHxC_gTrya7&1X=kDdWnRF8bpQ zrsb+C!=7}^1}5dS(GQTD(NnP%2dcBRzxa+UfX)xDfrE-dNUA&GY< zms%%l#V@4)fPoY;fGf=uYQy~#4tD$7$=*Xnr<@Em@T4{RI{d>^`oZy3c%LuN8F6j` zIR2O0NB@6bY5M~}i&W+#g`|t!EPgIsKcc9(nLX|w;ccR{iHl%MQDiKuzn9KZ_?yW@ z9pO6oqB8QHIJEYN8h^6h-4(Z$xP?jFO{hzbr7TU8P$&x?$tA_d&=#Xjey9p8mKizQ-us+g{ecQb>BR$i!(XZ5*y>h7i zsT34%Os+-%u+QV6$8K(&K)OYMlzP%3h<}u!^MC9_KKD=xtIIB^0dr*fH;+ zR=PMixMUpoIi6iGQW(vQ1v9)AGo7w4l1&S`uEh&97hQ4=;XDd?8rd6AyIAOJ?Jc>X z!dkRpoiU^MxqaJEvCzS7JJX+4^a)xrzzMn9+kh;%do^!hx+rY&o8v2p*XuA&@MjhA zC2R6RmuYy`t^{o~Gt<3T+$b=+*eLXp*v4NCYoQj1n?L>jqw{^10R) z#r8n$jple`<;+IHY_M&fIhiW9iLx~<4O+2jeK;6z02R4#zbu?aWeZ3?~IH= zY9)(04?M4ABxKvvt7BU^2RN9=GK}zSRc$wxdGZQ1k&YE|RYp!ZD;sUqPTB2c0qLEv zY(7Ezlob<)nMLu1N1U$@alWW~sIeSW_ID~>TSSby*Px6gD2y&oD1_QuO$p{JI7qtz z+;b85!oYvXa=w?h@3s2dT4DO$7Q|axm3V;%gh2J-klL5`j;<_Ph0Rp^(l)CLE&icrz(tey7!Fmxg&;UyE}u+(5C%4F>LGgeKj{;?7I)^FaUu-%JMA}gyV71tzg z$Ea>A>NAN3jjMN71QAYbuSa#J;e%*5g5sV%6u)lp_d{mo=5g}l$s|Rm{fB;kX8%j& za~42Zpti|7&adkEG5omt7T7;JLh;v-9u_3Xf(uokq4Vh(TSw}6L&S6RGWW+xE_YQO z`&SH3VU(T)Ij`V@b=g5mtkGwuLcpckV5#D?7LpH4kpi}E07I>?-Y(}u<^)8C1&LqG zoJsp4=o%ysGQK<#cC_qyz9{MO7ERhBz~Z7N$Ez z-vl`ybt>s_HIR$*xO-*Pv5SGx^rN-&SIwLQeupV#&z9foMQKhbnA!`ZdrS9eA-!K6 z<&SaFx!O{%xxGirw9uSvFn7^?aYEWx=2Ul9(xhb1;Vz*W@9Gov&oB{T2g^6KH4H+=7aV=G$PckDVw?`CSLO$27u7$KUT5dr2rj=u5V2r0k+PzYR=vB7NjEiz@YDJovnP9_ z3^y*Zj*L*9fpOOUsyHDxfL^NKR{qeNMCid0$3KT*S|=0I!NB{ZU|6b`I zREDhZZw)zMa}h!4KmiuqBHlIQZXkpR{?P18D^FU03XR3=D9Nf}QO&2d*@+)z1Us!D zf&JAx#5=6h!o{^%_r+DX;t#V=DOV46eb(HQcFC%h0PobdHc`V6cE>m5d2EH1!!^y) zMK?Z;1Gfar<88QCGVBK^%=e^!H9af5I|inS$B)eEZ&wD>;u(|9bC<+6&3y;uFR z%eyrY)2v((8Jx#;b$=eMK0$K6O7qF~y=&0(Ef-f^Bgg|DJh(g79=_fkEzHrP9=j>} zDKAJJ#B4*`BIknw>1Rk1zFIE{<5H>orcz#)MVH*qC0985UQM1JiU@~b!A(6j#~Gr6q%)kj zI4xcrHAH$fWeLU;Y<`l^WKMo*XY^g%Yz5nfZpFBemE_10Uh4}}-Y9s#-K-tXy z*MQ*PZ-auPwAxZl?Zed1?d-&HFm*I7O??Mse$sT&hJG6rd&u*q&fK|;_L`zVfu1xL zS-bA=IBx}4SJzs&JR$73v>mEE^gA>zvfPQE!sGzoat7(C6Z;hgW|4`isq&mPBBGs1 z##;?qL2IYIR-~TuJ9Q4f3O?2xH5>;h7duvco5WS{1PYFmhLKVzGk~= zyeP}TE9GX^@z^6!rRpiwUhwLC5hyN#{|Xf!Uxp>B9_CvE;|22Lu*XHw#HmD3ssM1> z+{fW=oZSVOuIIKo72n0~M+0c9AqyDar8+A;oH#STV`_c9Kp<}?2zQt7sk-;J1}7o) z3H3%Q5W%~v*1W*dVHf;r(2|$j2yNh)D)p-eA>|fIJktKqHpfTI8}2RY!PwY%Df>2a*{mBo+xJm97nRCu?cvORRPMvE<7=PMhbh zDY~qOHePLMB+Kwz{5o}IxUbzlE(9MLsWrdX>0ajOYoLEKv)1A!)r+RaqQvYk-=^h9 zlZu%H2%rb=OyN4@>D5)&Aaj)GyzV-??bX;98it`aPcj>N0X=lDf9?lZr*w9v z-WV+Ycm@~h2`~)^kGMH}?TMfN<2$e2<$6>-wVN^jGN-J#e6BFsQ2`^$B0=bQh-%3< zRyvZ)_0c4rypMP}T(q`_SNN)?fE!+ov_a-esh5gIbb1Q}6N4F~r>;97!52C8<}a4w zgY2bA8Cou)rUv;={{SFSwV!R;Hfn>LDqYLpJiOEo*uS_WP1zZ1D*J0yjRuxE z&cSdL^@7vcT=SWmuMPU~<{60V&hrlU?#=j}$>}EWjLKd0iA z$Ug4mI}P_2(9DB>ztJYk&Ihu7J=KJlWQ*U5_t3YXi4;^ZkPrU#>r&L~>#O7w>4)F0n&*ue84hg<#7@jP+Z4~?Ia=ks3K{A*M@b1X# zb&7$!{EhM|6!}pzujiO|v8iuv%|9*CV@TLxA!y>b__8d!mnlp-p#+B6M-8cb5)Ypn z(gOb4sNEray4GUcm3Mo=ErwQ^OY%e*d`b!Baw7}5%gJninXY|I`SIPF==Iy@S&yn#_GKT(ic{9Jbs-3#+a|6=zzr-gf^I0@)e=bS?$-#$uMfEe zGMqnr3z?=E3;mF~zQ;DL>Tag7*omMAS?EoBB~IaLgcdoDdI!6^S4^f`ObBF^L~soD ziXM~jQ!6`qSUdxm5)qtOzz<_#vd^e*BFm5a06Tn;6&0CmI-gdvtz8ee`@EZzq$>{6 zd}T_b83Nx(#fRiP|EL)wNx8to!jggDFjd|Z@@SPRM9m?o>})22@d?ckDlxTQlEE}8 z@Xpw{B#N8aad$WN1V`#kk5^x!xD7YKVKRL^h|21F6+~#PeOKecSqqQ+&93I$xmPie z6oMEO+235&r%IH}C8J7DN+4>$zkEIj2oOO9E?6s1uKXhU`&Q^G8YO%_YDM(1w57F; zXQ%P*7+#Mab~+yGiyCJ|{R%0yclEb-i;*}xXC_hMq{nH3$YD+|#oz1xsbr8*U%2OU zuQ?+B)d|bf_+3|B`E3eE9VBuo3vaP-;7)1cV1*4CB#&*sQJrr_6vl^cKUhDao)?&vr76b%&+f43k$kgUn5LHon9ItaxI~%6PVuG;ZrjBHo+$ zFu6Kp&MW`={W+$#Ig!9KF`Y{u8*Gnv>AMDrUQvUen29#*y{8ZWg46+O@_3Xf>}Z2= z=Es@&NUNu7uyf{ctCyrHar%i~W?u-ICSD;PdrXV%v`O6uZY%Q2!_9|km#NMxuaha` z<&rSLdYI7m_)p%wF8D*H*Dd4(=rd@m8079h|pu+4sCO79HKHDGla6?6gu6#!;7C zTKAdYOS?wIF_FpdY?@-10x!2iX`L>?r;Kz(JN5qp1hLR*Y@Dyz7}suw!oX<}@HNFI z=65kv`WUoCShtUAv}MV>HN@U5fba`GTLOcf%~<%?`kL7G-i@sq5~uYL1rp)gAB7OZ zE3&E~jpaydrN;R@AsVw)LnYcl>`|TL;s#CeDPzXsKUGA=`=q9o(Feg zgdClgeM)W(3bOWO%533WL{((nQ=#D3h@q3h>pT{U=|_Y5nu1~+<6W{Wab;l=KU>W@ zgGtc_*6#)2^DCNhULQ2}^HVxXdP~OfJ4$LhTLeaFt++q0$dC0OtcjbyIB+EjdND1s ze9k)0(q%23L+~-~0DHei$baTl6#h8pXbk=*TNScz+Oo7{!+pO6@7^pjFI=B_zMa3; zc5XUe!gt}dQuoJbU~x+4=KRcNL2tBXc)mWwQn+1^#k6j!RCA)gQnS*2LVTPyiq#5j zyA$^Lszv$LmYxGX@_o#=v8V6s+@Xj-Od07};+WHJSCkWwHTXNF)boqFw^W=>XIlYz z^xj7-%(Zu9T1-_+fX9@z4ERW$)&2{a8<)x|76aq*#Y)eoKVLVixf$hRFSjx^+xn#W zQE>|rDk%M@zLx*C5TCyU(NLhif2DlvAk zERR?}2M8#!_El!lG%|8_a0zgQU-3E+Cel-V93o#K`?LZ244r51m@hYCj6ky+X(IKN z&E&9in@p1bFe3eJ?w)LRX$bP``cu1DMz^Kl?{2w>n`?~{PQG-{X9LgDnep!+j1gm6 zpJEsy1x*Kkr+@a#caeHYQ251hF+1IHNAkl?*E^G-2TKB7N*!j?FtI06X#}MYB&3LakbN|%6xT^(&I;6s$ z(34rPMcR~2Nt=Fl^4u-_31tQV17W%p-9=EBir)ylAT*gEsJ0F1SBB5O@Y3OFYQ-5# znVcL_W?dekBcu3qLoWn3i%kG`;@s(8vVmt;zK=SJw5Gd|`%#l%v+wtKemkrrMWc&N zn%&qy+gW9W|Gr+RT`YFBJpg}=m|au0@qfiOkdA8FiSP=B=m(K7X~u702fM5)YZ!a_ zdMtjAy_4P@!*>hcGRPUfoGH^0jd`cG<$+b_s)sbFGc!DbEIx>8t$-?u%T1rDRW-B&O&rqEWsVzYLn# z*}V=z5MzoTA9qDd0h6p{`}1_#M+9B#J9J{c`{q2N7>VsUOk)U!XW4<fP;FR zRY!){_*Wa-^wP`sgy{+ZL7|KQLNwIo8~(Cvyi#R5r{Liix<{U7?9S}jE>v%2fJwq9 z6tx=l(u06gXoPMx+q~>7eiOV%#Y^-L+3!`bJ@h)b%zz9Qa#oijR^<7)$!X&Td%m?h=%8mW zIzxz)??W2~Nn7vM)~w0BB0PFH;bTAXF>2h_k>_i6l*s!N!a~{*>;A*{#8eoe(i5wY zt0aBb{?tDi#G}RCH^ZylO)v@a*wkkK5SL-XgWp$B@u7_nFzUvM$5g1FatV6ZqQ0Y^ z@4iF+jl0?C<>y$R2Z3&%d!HdpW59e1GIy(^n(D%O!A{*FD27DC(w!)mJxvL((KX3` zMyM&AB``D1GcvEa%I~)CMol1aylpS$_m7*1sW+`{pC;qz7OWCPeQ?T1#&D7@fm1D- z;Y5z+l-)BRum;Y;#^U0}*!gh3mWjqk|5=-iqlMeG4q^A0e#J^WpBRa!$K8)@78p%x zbq%Jy%?zDxU*x{XiH)9!3@#x}-n|pjD8O?X*|1aQ_w`I8n7&toYcB}@e(@4Gm8qSu zV&Y!}&NB&yveb6{T)@-L#YqcaR;L9JD6tR7&_or{y=RQ%gHtA`NPv(L z$!yVV?i6w7!z6k;*Qhrl^>`M`K#0D@H}{oit>BqmNN4&xs|gZymzfedUR6JOiKiH6 zIBv=pi6JycA-qc$U_xSxV^3qvO5Vc9`B}dwG6t!5?KUj46gTYl9-D$5u~P130M1l) zG-H1h(ySvb3^UXvo|)*<^~4x4vH5Tm0KbriQLH4`yrWCOWK5WzgZZMmeS;oIt2rIt z`4WHYUU05uhAQM|cigfyD39syJ$@v&AFl7pkVtMXA!P5-8XZK<2Ey>mJT-~QA)Dz-lWb8kvbq`BZ-i92yM zyNjU1v}M!ak`?v9Hc)x|n6OQ3d{%?@`l~|>0Ss!ur8jcC79yqLx_#X`trEq3eRrqE zr!T?%e!>mr1(3#Ro?fz%t0xbx^!sd{61u}8~5-=4@-8Zb%(B752*KX6^kpNK5 z5NAmyS6$=U-p(*ULz)Q@ zIuK}P-A4}EPQ({QP4Fz*fip&&#zksRnKcXEh0N^zOg~LmK2`cOB)d^NNme;ntNs?j z7Vj5vKCXu9O5p4nmdd{-SvOlB7CpjyZRSpbhhG*w_MT;_%)x>H#$2+tyl!~3#N%!2 z4^?=5xlJeU$@3#?T2_D)&3xRW-(sT(JKBx+>Dw#>vxBR=`V zP11xRdgDn`$_yDZ~@Ok}aJ2=3W z=X&pz{DGFA@$v<6!mf8=lGqAQ=S0fqZJq)q3W(1QL=>uP)-Sj=$X&I+4Rw^mc6FoD zr|4(w$NAAFJv%LeFRl!7PmcCWmvWDbbe+qE#wdUyNkY;uvX#3&}gkensjK$DxCyFsxL#9N*@bN)Gg=g!Q3@0sV$o&Re>bys&)@3r=>RePLNsGH393kz;NQ@vWB^ zPW$!rs99n*i}stvxV3Sr5JhSU=XFDRGQ^QmIoX{5oFUYmYK^XOFbaBb__1lqYyw>3 zucal$LV>tas|7W# z6(0Im=}YcsL)Kljv zpw~Sz(CvTdWc}%6{?QTtBlcg*58i$J%tTc^*@g8FCaPi9uis|C_ddA@+p!c+phGTfACL`Y3JON`mm0nCXMiZ zBNbbd#d3lr1sC`;fKtk*W)xOB(BP*}Q!-Fkw$<$$rYS54e!oPCmnDi!zxD74zG={clZT$Iqa2+yD`m>vyRTC=95d` zO(}Tjy=S}=U7UdrTM*@O)`*L&4Q;J{YTT#Ukq0pI6)iTUGf@XN6aHalq)y#+vx%XCa~1NHUb4 z4n#%!ZJ$SJSH&Gqmr{q)y8%WsnmpT{CWEoDioTY@Xop{nBQ38jTW12b-mf`%T4@!T ztu`btsjxm`Y}*rB6NS7UlM*nAzn9z(j!h_^y2gO7I6s~jv!J#@99JhiFJD|-A%#@X zw``dwNrQx9h4C&;WPG?8KqeS57S8&};O=roxP^HifY){e0eciX)~>EvXh|iX+(wK)a3TTK zmcji}7iiuPYZi5w>BfJ{FcXiY%!u}YAKwoWI(4(s{?MKDY=~DW@NEW6&6IZ2oy_fy zB8{+3_VEp!b6aBbJO63H@&MM^4#f*C4*wSr020rb+w;Uw5ZdCOrKf)% z!Te`OEPqcPEbE+c5fsxR)Y&2Dgy!3dSMA&-&9r#$8_|&0O3RXrJ1Fcm{u>f(^`}rN zM(2&@h{m|`_Kw-=jO~+>c5-tkWARgl8MPFR;c1OB+2Jq~0km87-*RLH(#jVd?}4kc z%3uSIU`M<@H%zTY_5?Lbg(DEiF#9$}%3LtLzc8>Af6qSZL^KO4tF&0%k-@mWf1jRJ zJ$^WmF(v(_tsPGvEjD_Ul|OlJW*1xC{O*kLF;ok$Z+n8n{bsB7MF&r>6ajd-(1#Ou zbbVe^736iphj5LAKOe(iF%+X{n}r%S<_{UP)}@N2xgy(eNs@g9G4svZ0O&uDY z-_{6>F5j=7?N2H3ERG_ie;Xx3!K0|BE+xjtM2Og8qLrhM?HSCTjmsig9<_7~oE8e; z;O|nir+qr^w-q(a!T9|)Mm|zK{8|ET-x6fktCRBE{n|OOb0)Fy{Kb2ch{{$ zc!5P|;<;e-DtXh)SBTh`{nPc&(>C3Z`#13KrqhZzWtuC?JX`6Y(2~@o54Dh8q^_SCv# z-g{919LtUo;OC`O-)kZi3r_fKpX9k~8z=1b&9PFRX~nKh_<5^Sjr5k-k%U;XlT(x@rZUKbJXX&*bY<&fVONUYf9~jS^&wTWpm(JeyYVr-kQdhjfLpU(M0}_ zWJ=d5YIj?h1s|m4(fwKf^*c}Te{E9B%(V?t7-iEFWjoL3&0Bf()`h>3euQ14%FL+m ze&A&Ct9XqK^Kd<)FMmkt{*UdlC)&0VGg+W=<^BzND`MQtuGObVyYT>bNmt=*)>XR9ZDWCZ7IB`28AzPP2^{4&K@=7 z3C};6g*M?P@dbeZe9t1JV85)@hJ9G$mGS(^tHl+i>QQP(0GgkHrhMTV`p5B?H;$^Nz|S6*y7XB`1sWv@E{rRORGTggqAw7K9o zp|wS$HVB z^7Z;#Gf`#UTf4lK3xZT~-zn3VwA|7SXgh0UUALG09}Rp!J%4~GD~02~sMS{b3gJH~ zO<@h76D8%NI;+%pppWEL>gKt=&TDDQ90+pOopU=9?IudFbJ&G){sifKruzIe>Z5sT zW!-YYYu&Rb%y2n7mhI=K)c(Z1UA&!9=N7ZJtr@rD3Aa}!@FsDe4Bp9*FwB=7%S*+w zG*5cH&HT}l{Q3TAj^@Nb@9O)SiRH6^yve^>uuc=G(#1HN^N`%>?y{rX zyZeuG?wH+qz+~8vdcXB?hEP#avPEY6w|~l%0RV(p{V(v?Oa;2={5ATdVUFVPL1SwhAue%fscvD)?J!wwf72tF+G>3sdpPcxF9P>_S9U(JRTSx~8aK`9} z8+2t}grANi$5Wyi2(mB*--x5K>?pCJtn#TrKwWPLgV*;cm*8j?1!pp(^c~FA4X(LpB@$WE}USdxbqANBQV+)?^sXd_9u{}B96OLc-@4JsCWx(V zV_(jqw@vWq$B39P;cwD zrrok>;zaHmoyb^J=$6SIAMQ6%BTr4X9dy&lmNdrLWn9s4F$Tf(INIeixE#A>FWYvMZv!ZwE#<=k^7 zEuxY~Vj)1;8}+ZUH`8BbZvt&g=H}*B5=YRfo?Q)a=9ohJ@>iS0lJEJ>shW?Z=(Zy!F5Dxs6f( zuehH7iS0jo0`_}0&mZHbe_!tOZ%dzkd;SORlssgdK9Z=Q8g)xXYJ1Gfr)GpAqke6~ z`PL}Ffzot;FVQ!=Fmz!}xJIW~{kLp4A3q~;V=vgGkG-2rQ)*UKzD9(ofMIeQnVb=9 zyp>_&<(@Xkzbk7~o_hauQ?xT1N*L@$rChe(guCnXA?ltBISvZ}v~LIRM5{rgq?KcH zXM&kl2I8~98v+1%p?uhy5Tl2g(_;|6sEx?E^l$%<2_?b^@TkOuDlzu?E5?>;%hCSZ9!Xy^ZJv=Lv>b2OGHUQg#bCR+(NvJ~`Ox%*Nljq?R5$M}WN+5;OoZ%bFO!6;nS zp|7s(__1B5zAnDMofQc&=`R$_ujxE$Z=erzk`3=i>}>ks-A{Z*#v{#)4MOQT*OzB`h)c|>>QC!zTxNW%{APBM% zq7Uth5eoZuUt+b!nTZy$Fu#MuLENN@Wx>zv=H!N$VYW$VzM`*}jX?zD@n~9r@+PC@ zJ^|SOh@^eF`{t?+DL)crD>1d(Zifz{vwK!f>$2d1&I|AZ)sc2J$a~rX7I;u%!miq& z5@o(5H;P^@!@#!MHsJ>*{S(`9wy;EcuUnj*u5}v#VBixZ!wpBY;!F|rghXAuB*P=F zg5(yOnVtk`Q=(YnK5f%Zx4w7SY4Ve-A=la6NV+iNmJ z<8GfDu|KPrE{Un?#-b5K(4fA<#O-*Q>heWwj;At7u$9g_-C-~zN?sko9m(GzRT!7i z^rF6FUO3CXC4Iy`L;Z%^jw2rgMAq>@m%u7+|5|J?BS30befZGPY(7Hp+E6@6=9_W- zSS1E$|J%AdHXl@8@VvNueJuIWr8;tL0KhA9$j3!eRTVkXJ;%3VI52}ii{Iv{UCin> zMjFI$8U}zBG>1+u2Fr^G<~`ore3HYP@i~^(zga?pzm`Uoz#5)uLrds-PKCGa9SlLM z?V*^Y$!{1xHXX-w;qQ$VI++;(3#ae;+zWGsoO!*+HM-}$;QVoNbG^rCB zDse-ED%u^CC-znFETl2h6X%c$n(W;BpVbjypO#*PoCANt* zuJtn-TS2>L1!e5Z%vL%F6G~x{Zgr}36c%aX)Oc9ujfv>F&CS>12)U$nW_&^n)$H%K zjwP-6Cl_w_c6I`YEKQj~BKcAu8N92RKX!w@xZ(Jxe63_=^1nHHY%vlLWbOBE5Sn?e zf#aLc8Kd%IH}%>2Gd=9|K)ktYFMFg--?ue#R#aw5cMNwoM1X#c1XpyQ0o$4&gCO4) z%|`x?-PLFbVYlD@DV@`d0}~OnapBFCO15u-EDTV&EP+RT#BTnRQo6T!hp?mc9{v z>JCXpdn*tuhKkcgZ3h&YEDtu{@H9-#Yc_qZ=731+I2IC%ydsdZX*J+U=j*pcM(iPP zCM+?{)0^*2#;x^fdAh1cE}7VrM1496koL3jSozlWbu)JFS{LEmE63IitjS-urH;V0 zoHe*fMqlz1)_l)mVHHj!BGR-TdSFXJ%-@a50~ki+se*Y9o?XLqDmQBI_Mu5X3h=ea zpBmagw!RwL+y6L}gG=HkzcGrcLQ=!a(#sDmX;E?IsAq#eL57H^;&%=JX+*w{v*VM{ z`XQF&R0dZgqG(W9!s6(6tO|rp@Au}oMnO`iw#3foKWfUja^CHq`jgH4AQk6JE#fJ- zi;+A!)^PTQ?h~T>qb}aw2d7G}8dQx{Tle%9KnM)=A@vfAEQvMTY`#P<^IFjn8bo`d zAak{GIxzXtl5|Fftbo)-H0K!G0x>=h^Vu#PpLN27Emrl3jcNGSYrH9V*J3%(r97u`5Zdw$*CeS<0p%B)&69{)A zrFrM!6TcsC3bLYeLws#$VOV}-&wQBa8X;Qhv)5uir2}u5@87W3#~i!ZX>7GBcME}6 zNFu`e?lO28y$@zG*}uU<%)j_DN#Y-;TaWm1an{FQ1s@Qb>C07>GVB{%ynKb0OO)OY zw?Ln?x*5N+Z6*Z@v;jw+Gf+bd`F7werPO_l`p-~P3 z*M+w|;?rIl5RiUuL&j^lMZ&a{y_o8&4q-n*StS$2OX9_%s_&~f_3BF0Bxm`0^k_L& zcb{Ibc%sEsUu(1@q9Qi%Wi3bZUIvt06~Y;IQ%( zur*8S-rIz93E|q+_N=B1S9=5GMXMXUlWNE!-MW2BMm5N}GQ=)3c11i6Fx~XVwTb3is@_2Js10@c_N6ruIst)J z`L*yAf3@gU>xmft)tJTo%||UQZ4Qg4CtOXbi{tAo`dtP&N^exr4A8;=DzW{xwSN3l z=4**==&ARxcb+HxSiy(=N>NK4$b%SyqZ#4lbrR(l@mNZ}*L_SAkFleJsT|wHI|~n- z;ksm&eH*ClXpIkTEs<468{R^%2N%+pZ^1A$PS#m2yDpx82l2-L9yB>R{KKw4<0v6p zFa3#uxDvq9r&$bS0sLMu_<#5M4{;PfIQGkvFTC3KCN&zvPtBojs!=%}B34%0v9f}SSNp)#4$a-Jvv&C+9Gut9F`Frhn8iaJ zu^LkP$^^$fpa{*Jp*Gi621||{h0hHEg}y++gKooftXgl{A6uT2g0JHxmrE$wlNCp| z1qbM*<48rHQPq~KhuC{~6k0mn9sJ;AX`p?3p@KDCLaj`p?!AivlQ0fVW;elCW(w5F zP=6N-Vl5(25<2E}(VoDj*4{POais}q>g-cQQ#DNUW78fm2yEHOd?80}Ef-Hs0W)QIf!l>M%3MHWebxq}H>7G44 zDK!bhVbb{gQcqKIWRqi_63Gr1DBY-`U07H!fj!=9;&qdVskSAsoZ+qLr`pD0L8sAV z-x4R2i*Og4@h9Rp)~KDmz7zB$-zdFsp?nFR67QwmxS2vh!R$9`^hvWXK5|p0{F(=! zFqoKZ#UFa8m-!G$IJdJQy5f3)4{rJiGIpa)U?fxe@XmGl1r`6?)6jeTUhrG_S@5e# zLaxXvt7Vh@=>xyCB@T2N{^d~&s#HUc9jZ$M^5Ku{zCu-U{QL9YRWh9m58EVLrv$_% z1cH>HR9a*HDYT1ZQs2OV!=HwPQfZ!SrabED!bB##e^xaV<3lKL_^=C6n*VZEQ8Zy^ z60Hr(emMdS>aegW3E89pz5cou)pmT7zVY0|^~>iV_MY#F(e9S&Xyq;8Fj4TOl!CQO zT15C=Vo6Z54O08j%`02P7)qgAMij zizXOJ2PyXkb2ra&%mI+a#;L26O(MgiaW8~pMg!u>$4M!;lkaaNv2*uo+pSr&B3&~* zN|oVpCSQ6=AJ=z5&HW!3Q=OA!k&MztkK%qB8q~uZpARPUZ#MZn@Z)Q9lwc!HprYHm zfvPnpY6)s*2;+LLX&=36(`Q3m?de+L53UN2>p;&k`-w>{_i7!peG?#VUe(UVAx~## zHeM^!mS5fxX1T!Ko-QQ)1o+Liw1 znx9>bM6=IE>0_wwDn)q{D2#B^%9V9g_7&jO9Co zF;k=R$F9f#GI%l}{2ct@+_kkk;ZloGMYa;O46w=PRPCeabOP~JRP8#U`CxYBap6=T zIe+8!>-uQRw#e>A(cxU-@!C5H{m}#iG@4X1*A+_{l}P4|^q-(O0RhpnDH#gy%VV3` zXv++$8)$9AQj>`u&4M(EEgsyY_p+lHBK`56wietn4IJRRw(x!KyI5qe+1jCpD)k~i z_-U~-R`P=$tv7ZWi^kj>kf1guDr7DbJCdrV)WqRguVTsah`ra_@eftCElRBkAptu= zeOSxnu96%Ql)GnvELVatVt!2stG+y^*++BPKg29t$0j=K&*{BuUtbsRhWb%(IUrlm ziI$rSQTPfSQ}WF>i~Jo0uzM??3W;C!A17+JE87xCV6)ghpTaVL?Z(Nd!V|2t5RuTB zGLyYD{?e6`QX7Cru+?EknZcuED$+ocT)?z$Ty46U>mmHuMs4bd4JjX8-h$-(JiEBG z;Bd?ke*K2e{^jsNt(qP+o3Va@mltE{-oXv|{ChD-&=*;ezI@hc8FfLJ7$duR%X9C< z5CO@obSUkMls2`jgk*vt{~~>Rxd+fmYj&yobtua4_)1zA3j5BYz8KBr_8egyHiH(PjbT# zfJ>(btNr^qF)<2TZ&r+%$Vty3pLoh5UQmeyMXeZU(DoK?FyI?>02@*+;P+|vnOcz$@G{5xl}>uCpsqpl<2 zksBd=60`ouaE$C2OInx>HM+jQD^5)Va1XzVcp8IszA)MBnSo-y6LOF*EW~* z{9IF#9HDC7Vn0EE+dFltT~=5z(#n?TxZPZz563qtkmkrYNhuD)!Hi0I^@KbZ-8lkU zBer+L8>lerEr_dGH5O91KNT>&qKNnLNFZJ2ROr>^<62IP4?VpMPzq-JMl0fpiv8w% zW+ZhSM2sF^(mGQcX#j(?_`fe|^sg?aCcQa&9T5=2P}R6VDXs8?SP8j15JH4<8tSif zXuj7}wQ)t=-dZ08^&o>2OHpZs(W_H^xhhTKX0Z+DRa%0(g_qaOxnWg_K6Hfc`^Xnq zd*IVB#+D!}-#9*fibKW%mRz4Fukk1ECj=1YVqtc9MFTsBzIuu!3Igd+NOqv!(drfh zw$bB}hFtqj_035<)XGR}4)rYK0k! z!iKTIND;VY+&q8Mx>mv`Ac4$& zW%z4^3nq)O6-!vdtoE&~**0bYBUKJbnAVdm+Zq<>K_&vEW$SZzPD`NtTeaqA`I$9l zy<(z`&M9t~LSy#3$^xkJOJ?V!l@r{naobR0#Z0(;1k1F5&-1+d2T*+T*H!khyV|W$ zJ5u1Gj4D@TjACFyH}^!oh}rjon1)X2o^#Z@JxkT{9w%2*+lJIT7h%a=TJKuCrdUB+ zVX&{D^ZBcpaRc=~&jX$Uy3(S%1PSk1Uu;t75<4ggmqVdv{_`D)yKS4Yje!gpr zRRXSE)J_S`6lr3)O>Hky)P!dSAYK$_Zy3iobc8;6#WTP|?-bDb!*&N!QT7iIzAxsX z*{WrQK^JQznt1*5#KM;v`ZL;B4+t})y;8!=R`HO~JUFAg@|6MEes*<@n~$iG072-F zY}Hs_QxI(W#QXNH>sOyA_rm)9`}(Nbk_G^PU2>-ayxE~P*_~*cTamr$WuHC_r!IHA zrhdeVmSK`;KoWviwK0i{s_YfpF!hf&I6=M_Nw(I!8a)M$?rAjo0{=F7X zLU6}j7<}@j5orC9d>f`XyiP^L}e58Stz$*f!5JL$aMA=5Af|2%6a6#YZ z{nomuixo?#L-lTkxLvA36t{UeO`)Ad+zXdnkoPJss++#m-xl5c- zQVH@bXQH-8ln*w`Va$5Be%Y?;Xhf9dxK86E$r?X5{sh6ymc}FFxVH6*R5!HHiBzB2 z_c0U4>5^I=>H^m#$zG~#w%LzjOC(=*`do|W0Hw_3^ix_)iPto#eNPyYiJ;$1X5Tjk z$!oT@oSphGOB|&f+3W;3w_ajkfOb_IQ=`?>yS%TZ>TqSjdcrVt+du3$2X~5-PX5UBxlnJV9mn_D zzT|pPDe&=f8E?~lz*7zv;TO*@){S#Ow=6Q8;Rh?7E&Wve?QB8WgM>tB_P*cn*l22L zs8k>6$j5mZUL>_Sk}A{hy`v>-ch~IoBe!SY2&>HdO4Y3?_ifFc9kw2^zs%BfetA8a z66(uJ87iH0E6`--TFa)~Qnq47|Kum=VFP%M431vuFta_?f%hIyy|r2RU?LjTJ;*gLtlnv`mLfeQr1kre>{Trh5Lm%HFd8 zYp4b|RlYlt$K)*ZxS8NNKNd zcjpLHDdM=`Z9 zfp%yIf2A`tpJj@rZuVxNY{b9rVq3nH#)Ad5Y z#f%bX#=%jJc+A2r&rirF6_QWUdf=h5@L1JP(=Fj1BN*rze+h`P%pM(!Ufp(a;eXQ5 z7>2HlN%|sDjFHm79rT4#mg29#tN&p8CqBj>bo0;Va0Ebz|I-|m20q&Cx}OF3xVuBg zVL?MMNLWfZU!kcoCARar5WBmiq;)tN_1k~pLHLhY!hdH)_>(8$pHG+m8-mF{=1KSq z8P$K(TmSa`|LvaBg$tzBtSzJLA0f7zvV8oC4vwE)eEXIJVR#GmGupx>yQA^Mm9pyu z=h5(6`G&4LKS5JD>yy_!Cn1+s7I_qCgCUNAkA8v*C3*@_hRZ-`s4MAMFgD~17fJ-+ z&}lEYF`oZb8CL+aqWB5g(?;0eQ2NPV*A!oA!3%!ib^*i-fdDVZ{+hP4Lo{--+wc9^u)hv8Kx4!r z2q61b9v{W5h?u-)yCG=58J>k41yBD3;mVE%bQ#>wx%d%!{AqcUoA$uj{&)5M&m8B! z56J)4mSHCt6SyijLNNB^07LV_swXpKkq*+C1e4$3Zq=0-jd>Kj_JOf=Dc5#WR@()@ zocqnd{dqn7&G7zzWI<#m`^5_=z6M$KWk>(I1f#FW^`9RXAkvnb^V(+MYj(jO#Q|=H z!K3qULW!Q@A%EVt{-@kf|8s_>aQe#{oz=DKY==5rmbdRaxU8VWa*@r%>D*G2cUjwE zJ^5lP(vWImIn~6&V&ZQAyl6ic@xZROUf!NyYsjx>Zcm-?#O|`(W%>0)Mg~vNAiy2W zBB*EW?G5&H#S>Iga`R^~=NA?h7m#G(7ZMi{kdzRWl422;yelBeA}S>$ATBH_C24^t z_yFu`@9n@MDuO4dZSC#p2plE^ocAt^5R1fJ0ZHH>NfuEt2?5c&ckfC7pVzZ?boKtr zw+a1v@t5!W*O&TWFE<}g8?YD4uO^x3K6L`yc>l|DAr`S;r`5-kll%26XyEAL2qZ-P zYBg{klSkfQcNVF;5(2__f~J3YAuc8+0DQTWIG&)IqYEGvi=di|wKrG=Y~yAN{&kMO zYQsO5*Wj*@7*yoZU67IuyO*pNxt13GT|p^h`Ch#qPAgWuLOoUzP=zv1_dn2~$RBk0 z*Jk4hKJt0${THojLagnf!W)T$?{hQ9kB&37^wHrIy0v#YFBKdEG`nm9P9Yk_p zO;ZhohK2@u0{nn}E`gLmw=ggf|P>kfBW(CBZw3S ztpnp71{xa(ofHj&6zyj}h#3Szy9KoNSA+lhKtspC1X_uMi-!+}!{b>Y;$Wza7Ts$gj8d^F|F7DfR zctpj-B_yTpDXXZescUH7e`H{2WNcz;W@8Jsvv+WG^78ia_45yS7V#o7D*9ziY--x8 z^o-2cS=mL!C8cHMZ!6x_)i*RYHMg|3_4f4-3=R#CjLyu?eTL32EW$S6n_JsEyLovftz)1>`~px&;&amt1J*e!w3FDdsI!AuKY*huGF0 z>~OI%BP;wcvKvs8=S~rqWwj(|D0gq|Bod5n_&M-E*OXa0}bdr z3{sFh=t|(1tJX3ZUvPGN;U{Qeq%dS3Hq(A@qf2T9w%|{Me|Y#B0^#paEYg-a*C3Nj z@iABWH12N*BGX()Q(&B+91Q7QKmqlXs)B&GB@3iF!S?{eUW=%|iM0Yer00;Ipn)lD zdsUADM3Wp<$g~#VZV^MeQEl=YE`fYMK}DH>>&CPcg7gMf%OBfc^Cv|Xe9^xKWtLm&QeFaUL|Et9`@BJ*!!0Z0q2 z7WqRLs{cM108&cc_&#2HUDKt!5i&_Da?@2%8-n{o7qrLI31LC#q+pU9;{wWS;D#CMx{1U*m!YD2B|*kR$a7826R+{OF8<31Q{%zE zq#+v9BGYbE>6x!+MFoFIn;8S36N9>!6fPl0wo~0-jvW=~nMuT+7Z9U}`{}-BD|3Fz zDP3MwN)3OQFPSxW7n4jF%UvDXaWDplmir;}zYXx0nJu8o@2A3+9?jYl*uYIA@FMHnCS!tmma0(0i|Ry- z^?%Qd^ahf?@2ZLQfo;m1efimVR$xPXp7tJ3x?FThD(%x9v8B*MWqAReArHiElg^HE=_c)_2--a1~G*~f7^Dv?u0;95UU+fX_i3+x~(l*4taijbsZ1uN^C>uNjjMP#d`cBKDMRT#9mu-bde(^V)(_b zQUV;l8^>|ZLc*NABRAS#J{}4sQ2rLfP*QAz`R0+EK7y;Oje0=)UZ1+gtSO?iE2p?O zGmdS9$7GB+gK^je3v6+AYx2=*=siKQz=zYuJ*#|kGGd;tKHAhut)HtlJ8D~^=wBsD z+~IRM2=~{zO%H!sLK<}$c25o$sHQC-uj*`Udb1zIncT4`n|m=m$xL4wwryxygqf5t zd>CFX`9zlzN!??4=X1us_YcwWxae35s1g!)Ha?(H2SPLDPvE6Y>U#p*R_T z(J{hDeRcl&{DR7zbs0O(uer}p1R!0LaUS@!XU038GdK%y`Lt6A=tPwGWj^V=TXFqt z6*>G$o9`?lRIKmcLsY*F4WKDDjq&!c(&zL&X*PL`_NBbUp zmDcb)iGN$wRHz|pL1(t_3DOd>o`hw^c@sfZzAi|*wCYGIEmv6K|H-+XW{0GKwTe}O zEOV7HluRARfIk%n?|FB4wm|X5%Y4$+xZYMz=kjqMSQidp^c8~~WzJXfkmOc#8dqybib+kEsK%5XO(|EATo zfiA8Y{x3-=bs0|gC+!Wb%_-HV85EiVC5hl<4n@NSp4V$$DxL;+msGgpeUf72m+}Qs z0DMt9A=}saz9!$yXCC#To&~NsKCq6oy0p+oq<2^qpMElhClUIO%CZl2Vb93OxgK>` zc!@T(^)4%9TnMcU)-K~t=iavvVz0?aWPV0av8;eK-_K0pf2BMVs184*36yr;n7~?o z+y@DwAMvQ{PvNVpdypF0w2~2nq0YLT^Rf>l(qWF2*RvwE+J7d{xIs)zD2EeX6JvXa zt2}`3jxcN>#)cH4$p);YbxLIg>t^mm3>aDRd=7NVxHl9kqgdfDqMS-KbM)n~6X07K z54%6o&@GyFWXr&cxiQB2F%1ROHokWUS(yvDa2Wl}V@LR7I!J#7frSFzEn6rZeg00$HFyhfOt&cszxPh$Jg1qY+nX zZHUv*FNEmd5vwcvZII6Q-)Olf{5K8lFweskWzNlC{Vh=&AhbdobYuon#2@}j5l{G) zB3`P9#IQuF)+7e_N5PD+Y;vyBAf!xuDCUWWd8Q?Q>3~$^E9{OA-JZbo&>e zh1xIJApO>#p!ijqG;?HkM5B2DT1c;B@&42SZUDGx;zFhfjohUzh2+QJ7Mc2{0v(Wu zJMgK%4Q_xOfaX&x%sr_K($#HD=RYAhBvn0&(-__;Q?c%>O4QILmR$E=G>OqR~bEX5-8+W-cx3I@IhI2 zu69L>S1=1RkuC7btvDCR3D@SrcO%PVd!8p}A)<|BDtGpIP7xDWuVduxH_mpqP^Dga8)q{C z*7hwtP*=V$DYnh9EGtjh61v+ytEWqswdqimZti;|DD>g-rM%!wsPrTW;Jjvpy_+aI zc$Uzs?GnSe*=Ow`BYyu9HczgWz}UhVqquHye|{kNZmJb7DyKgq`^RucLlEyk>VDJ5 z#x^CyO22^3M=aK>{zUzUwc&bq+!AD1;m^%4iNiWX;EdSjTILQ%VhPOsdR+zVoUM^Y zH>-O|LTns?W0W#&A|%P4JKIP(kd6;BJMQ~f;qaEJBQEI#{GD9jWGmth|GWbTP>`ikzS?p4}# z8T*ZHnvh=O=WqR$mF63?ec=aE)JC&kTj(`9#x?0R101DoDGk}bxz{Jh#0UplOkfdH zqtqYHf61}J)~!)~cj)CL-u7~if1^?3gn>%)TXSxi{OiCJ4ZIhFxU32iZe3jd!eb^u z!kZ5}j1s?!UJ7JBXmjRhwKF6Yn~MJkfb6hz6Q1RgsCwNE)R<=;aCcOj*E!=rcHA)Y zu?MZ$YhidYpKgw?3gy}`_vJgsqart$V}jY6<{;HyLP!qo#X5UDHhYl0(pjCx7;ju; zOKLvE(@;;-yL)`wy(hK>_U4Px4GvPt|I?BlM1*PtiMMHLf4&KyXn=-+fwdJ@{N_`? zL8&*yR-@n~lRgl>RaX+ZA7#7&41~K)nl;9=u3T*mrn?_nJ|x#;-0D-aPQ zB@XTZ-QAUBmz2Wz{~$ZBdc%jo=^RVtNdv%SgN}vmIh2O(gHEDb;-wVb@65k zCA5dzzxIA!#RMN*(r80e?ZyZ;;^&wOP<>iqkMCV#2lHnnr$+366GD5oyqkh$5z9C1 zaeYEok5`?sXi77rErhpc#8NQWhY#XYc!?qxh;T+&<}>yR2m_5B*R5jjS$xV(@bW3K zbdaM>aAp7TBbizspd+GU=UBlRek%VN-Ce5sbfY<1EQonj#m*Y$f33ESJi(;82N^i3Bul1K*I@Tm8Nu)Z zi3~bZ$;Ui<{1Zg>r5n#oRcs=oxUj2=sGPE65<_5XF$O*0sc`(n4%MJ<&8<)=ATH-k zKcQ}3*Zl!88FL~~+~BYQl@X~{whwUWH3;F+C{L9vjcMB5Jy&3j>dDRJoy10+KbjNm zf!|KphL*4AtY90=9do?k%$u8_$7R%vuiMZV*9f-$X239o9Z(#oiYRM!=NHXWvd?$0 z%^0cX6JUw@st3+qH6_*GQ0N(d(C4@^o4s{If34pIomX!~GGD0W*?6tD1S&swFD%xu zb;Ro)KT#T_u+L37H0{DcfX}Sd_c$kB`BIYt{Fz#IsmDrHM-pr{_@WO?&?(UOlhKAb;`Oj= z9M{NXSfAU!wc!7;{m$`%@a-hyMV61F;GzN9EQgm`4I6>yFpX{4TqqdP-A|0?pZO?B zXGRP^Mu4kH!gn<&a-hvZ0SC*3$-poRYx}a8PtN*)ccL6&SNPrmcD{5ihg8d}=#Fwb zg4oYrKlygL`&hN151l@1)|tX$Mp|`RQs(%u2mx(mj=N#7tjbu@rdR7|oTIrPs&qPF_)cW&XjH`U`*Qw~!MkAf#6?RuC>9MV)^KY1mo) ze^K|=QEhJR+Ha5|#R?R6Z_(l|g<_>xTijaQ0;O0eTC})Bffg-pMS}*10>vRf&;%=< zU=6xX*8aYI&VJWg=lkA${yFE2!7~VxF`gt3VLtP|=XL$AJkJs(w_4RQcY%E2%W`%; zig!lu-=v-nqNN7(k@Nk>51sFbW}>IWW>G%1HO}yc2)KLX>XU}44xG|aJF2F3lL0$KS$r?G#-SU@T+2PDWA z4H?E?Oh3-RXHuHI^P@FIYK~3mM3e2=@)Fj%=o^5?=QUC{@1?v?m_@2qsd}YLMq5H` znewmc9)5}DUfEB`_f;wVAgLd?fzX{yq)^x$`>zj1Q60K9jt}w)o)L{V341=&xRJE1%+)sE^Gxtg=v@oV=W3z7=)BT8TE{7CCs##jw z`*A)RR0&de@w!8+lrx!nk}^3BPFLX{Y^R<&iA~Ed4c1qYb2^$jEWl$1Y0H*%B$}ld zYH`tduQ2@aIJxIu1*PbiKLF;<^Nkk5M>ayl86JI%nw&8&-flm55+M4> zu(k(IhQH@)NOP6joSYIYVxxzu z>igw%W6F<;r?z^@!#tyns2?VBniy}(3djsm{k0_9bjJb;Z=aquS0hGMQOB5ZeQ$C6 zM(fIwxonGLri*SbT13|lz$9Y?4F?5ijAF(g!@swH3PLql?Nava3=yP`+c7Mn#LX9fn9U-%S#V?3t zd=L-%!+ejnpF3iI7cZ||{O~(CnyW5!Wfe{w`jkG+8k?ixZ6wW>z{@`X@T1Z~bY{PZ zWR#o%B1hX))}c951N9=?ns3O7sa@5Rw(S#8;raJuLp9iz#wEtirW?$Jegi5|Bv$qJ z^sX3wDC%dJK|@1Or?{nVhu~*$E_TKL(UZM2zhW;L!>I*sX^_1tNhcA z!32}5Iu~!XWUGLBLcJ(}h8#rcGRQrHj2OK%a4Z?t6cN?;mBz9&?{zC`C|ph%!il<&;`?URNRs<-bBqMC1G%=v#XPsul=U@XH z`RYb?{t0GM0$s88I0^$D;W+3isJpbk)$1|$%*?aIzSt^;-i4v#EFzi}@aTf*7ylh9 zmY6dVm6zz!^;=6>t~{;p^|Nq@k8Lkq1|a73m+!#DN%A47F+bm%#}iaFbsLJrPvtmz z!9i51&yk1A)7ZfNRIxm}B)rv^A_E2?7!E_DZE_6YoFIr7O?M!8ocFq;3EWgK6DGcz z?(1gPZ0?p#&iULv{ym{%AAnA?n?u$U)X9&L(?U#8%d6k!Uk3sBo0(0lG zovA87QJpr6nWwIq0NS9bM~QZIZ$>cD)@5%r0AU7R$Dj1f_EyDo$wz@sHU;|Ai-6&_3(+^Zhwy>3MYidBPJuu;>mrq-BMhyP>~ ze$>_20xY)Sbg&g^eWqPQHu4Bv1fP!)IxHzAPzq&JlVIkc@Q4ax(suW=_?Odv z?Ecti#-BY7AV-*px#PNg2rBaP|2E2K+7+#Rdw$^K>oMM)#gpuB__aoI#2}K;7;ZGH1vNt+jt;=hfBOT&4raJHuT1+~>`=)oH z@6llcz(7yg_DErN@t-KpVBW9Ws?r;7A};NyjM%EK0V^UGSWv3K(O36kXBqF&r~J=> z**;*$mGl)&-IXV@lH@}Vv0knJ9;jv*%w*W;?e3~V%SH#}E*x&jw z967=tH(J;5+l&b>4@KEabJcHZQBx|aDc=WMT9%L7b@Gs*CV6PYA4+Hb(4&blFByHQ zBV|Pj;^>Fw-a|_kkClqiSTeQ5H+gG)I(04VMQ}@#L|$&{pB(MyW{IaFf5Yc4;vL|5 zB+eLTDAgH^Yx!Q2W`K><^z)_WUq|fC*IF3aTRK5_cNuN^@x!DWcvsHW!D)1S^H970O}mP_`C2SODBO0^O+2~Gf|L4ptPMYf)BIx} zus~y#qP=7Ppfa6?UKZ=7$Jo0zhfq0PGK>klRI>!w)`;3{>)72H^f48`If)i+$KUjp zRUaD{{t{zF3GziyHG?-W6%koq*;DsQQ0QRbl@~Ph!i8(5Fx1A)jVzNf^fitMP}ZRN zOV7#xL-g0u8g_+_G%x1dIvSm(l+;MI&;){q4p@iCPw0{{UvE1oeKF-(EQd1$bG_ya}wSZdu z>&ErCXNquA>qD$#@pVNqMaL!C{n0?lfh+1t2QFy4L^5@)Ly6RMQQGreVv!d|y4gLi zzvh2zp=`ukI)G4Oq^hL{;4UPF%3%{&bU1yRcr7}%cwv6G|MOJ()Z^>IWguU7V^?S} zmFeneuMCDG#wqs@!VUbezVz*|48Y^`jNo}Vugx71cus7i&wLZ|8SAF z9H@4)X5Ao;zv*GU5J$jDdlIR;LT?<3)a}+uoV9}oGp{zExFjzRKlGWuU!aj9kfI_3 zZ`EFA#H&?7W36}kc3Y9cC*@QsRf2uM6k3diC!<`QY0pA3CL6!~uu+m)nc(yp1NfEp zVt|Q3qA1A$CZT7uXI(@!nUxlM)N6~)q9a#>i5J%0@_Q5p1~G@fT9?UaVL`FAIYBf5 z_fVM;cdWl?t|E)!iU*z8M<-j}E(}gargJw4wAL^!@a<_H!u1}`mrehPPz;X-b9H^l z(AtW1UCqBWF@^+Nzb^Zwj)SG`o5e-2^zj!DC1#6jr2vOn1!~am9;iUcQ$P5vwj1Z% zma(mWEU4&_Tt939%lGKb>rG-}2XVPz2L8s02LaDh`%_G6qi%SwoOh=eo=xk1a4T4S z5YVsjb3pm<{*(7QSZ`Z5)}k_*A7fnf?&QlPGJ!-oGu{kL&oKm@j(u-h?TUiu>4Pe^ z31lBm@<@ZmEZHW{gy@}oavwFWd6w^9VQQojAyH-5*v~ethWaNFc8R=Z00%}_R;F9< z;XOD`Q9cN));eVerjN`j->r1_!=;odG*5HriSm4tG!Q9bgi8rV1ji{*AkQ&n z5>O~rKM8FQgPIM6-t*2dOa3fScv*j{NJ~o;iTj<7BOAHXJ3)mG(?j`mqHOdhx#q-g zDX+2lfOyhDqwY?p!U1EajS8;gT06 zLDtC#q2ILFPjOSQx_M%TQ!jFn+MUJA^LNy!t?)MQ>8BND=D#BBX7qaxayLi~r52j; zWry*JX5?z4x*W89b&*`#dCYn1@iazl(8g=91@Df&zYn-Msdf3c5SyUy6D)nDqaj5h z-HpVsT%LJ$bbm%BOooL415d?#T{dXQ)i&fCoz~GUrARHcuRR3ha@^+QM_^XjL(0$& z=}PBp=Gc327r*JbvrmVKU-oQkiH~Ly)Rpsvh4{%aQpm8-1o$J3qK*&OBS-sX&KrzX z$}O!NuRL18Gu8GCMcMHB`+VG1Av#lEye3#S$RZS}*9I)5I*^e~>(_xo16RO|EMMkA z9;Xzk>K8)n4`1-bPc&kpw1;6zHJ*cO^>ZsjpBnc&sf7slGqj2qc7H1(lZJzdlX4t0 zSR~k-c<}`*2#r{=i*Rix@oR@snM%RYyO=^uXEH#maxJ|%{g|JB+Dxk8s|x=F_f6Fs z@(hkHx|*RL(?0+=oOeuNCU*l+FDvP9R&{$9T@J070WAJc4nKyqAN8+E&;JXb)Zc}58ww)9KZ%I|e|o$j_LtoVOh@LgL#?&3QGG=S-N>PS_k%UGa>7>-`yG_%Ht)6=B9Mz| z=&T%{1RM(m---=M<&$3bDsa}Jqa3y{mD-LadpzKC#vh2&fdQ2Uyuo0dNbqUgRguFW+lCyP* zR0}Nw#8Q@CqF5r&Iu*51&ENR*=gv&jKEA8P(MZ;IJBa{)%Ia7M8xC3WiR8QwxPr9O zDzG_<2I%F$_l7=*O9A5s*9W`o1*sUj8GHh!7|Xd=T40{Ja}zf#DC+dm8}<&Upx8bM zjr!DPn|+|dky#F*b)w*@sa#Cy!RGNoJ`eyjFT?8?xfnu7WFklA5hN24XSN;nP=-NY z(SfQF_ZRPRw!7b4Kd}^G80OpFARyHNYT*zRwE|E{yckQvur5R(tPY76Gy-g>>TZqxSZene0d3 z2`|HqbZ$0Scyl#=iKxfkn6-xW%Lw)BGCHL;GBXECYD`z3GZk>Orx5LAXno3>cj+(m zGRRD`t`1eIRYtl;%Lxg6Vg=WuQDiYk+r&vu@AqV$QbGu6sV6zZ;~c`y@j_(Qm_ap5 zy)xR>=Yu(A&bq#V_aZu*l48eFobs%RM}CFaCTI~GFtH3_@APNnvOoibYC&!nSC4J$ z?xrMaG8HU|W2)W7@}CfsGB|N?I^Z)J4Ps(KwfeG2AYBfnpdbg7TT%v?UaiF4LbHV~ zcnvmKG1>#D3>#Ocm2La|F$3C%37cp@1p4-8LQS9vh?VzwW>JlXzPwO6sU zo(1>p;kZ}C>G{Qm)vNXkgke!d;159L=3Ivh+(L4w&nUi0%TZ2V79Hsn9zKD4A~59x zwp%7@w0u6)6k=e&t{X``xdbYG(S<_5_7tc)=g(ucvAE&_^R#EX8hKcMRz2@XCD~`p z>we`3fN0=PGtXFj3G0||+!jy5z)}-Z z!}(;!nCTibRUiHV;8YpPyAaq@ywc{vV8H_Z+Rz4Uiv=_6nwIwIZ|wW~&&`m8XWqRk zjJ|0!w0=TcbMSa*Eb)VH)QwZ|eh{lRHFOmv$fDW=4SOC#`J)9BBF`4RO01n6_x_2l zJJ(czK70)SBB%@PA6T(8fLIa`Jl3SAl)9VDg@;vXG2)Z4rhX6+!NmA5NNt+U1mNep zSkZAzbyyWHI`5YTC{Dw#<(I9E4RsqWilkK1SDz>aRnUD`(@~P2E@}pcLdi)Q$$K7f zhR0)U|2`qOxZ@%>oES%EgZ* zG@YgYV_LYnue-aii$L`(xw+ZTc*eTtA5)%j+%sk-U|kP;`Co8p|8DQc7zK_MJOlbZ zLvAM)!}esLje?xbTB93IZgt&dwgRjPYAdHTRQl1E(cLediG-L0GU5ZhH?+Ao`oKPt zqt;WbDMzxyjE_Gp)(5?FgC_R-y~+FMhI)jC5`(KXaRFe`lVQ{2}0 zO*)J~zw4e~brxoKTvJS2)F@G}wLQ#W?c!0@*>!AAmXEFGT_Pj!(SjPwBMC;l9#%s! zpCGRJjzG8-#Twe=%*BQ5kTd0REn5a?S_5tjdrHU46r(uGpn)C1^^wacWCp?n%F}L{ zK95&dp7(xK&lrD&0mxo;ptIK7?WR!` z<`$4@AlFMBi-PWo#UOw0^76j z#LvV4f9g^cPcOaAVCMY%Bqgq|Xlk(qx!uD&kE2hC)cNaqYX{wiJOD;_P?*_tBMIq- z+1#;B)6C(dSW1$aG%IhJo>qhK{fhhsQ2-X_eN?<|4{U4albm{`^C})nt&}B(BNWrs zyfKFgn+#vrhHAMC#B7ll{d{v-SJhwn9p)3V@&}+FLmre2!k-47$v*nlK6&iw4xjnC zS>4^7Y}{QBQLwI1ZeMqUnc;8(?48zV8mqM|=FYBVRfuJPN9pz$ILppkOyb3d0c+Qmk_#Win_u~#PLH{xSUEkB&Ra=+uSB9V86JYbI@^zy35i2RDJZi2%x-vbFH%nIP0XusJ*@8 z4H}o2blhcar&T#GUiI7?QSPw?aVJwt&uQW|y7u8Rf0_MY)t`57k59I*vV&a3{x`y9 zN&3(_dk!EZC-OX|;aPsU5S<-X+72<{sjLt-y7!l}0@Ku4r+?1}!J=X-<2?zm=}(!+ z&k3mKNu43fGXtk1EDUe7qvJn*=N*q)_pgkVg3sR3?VYZ`oFpYM2vj!^%s=Px3gQID zXLnkvU>?TWnB1@Llk^Pw62YwXV|ZGdryV+IB&LS=n}4?j4y5%;jt}E{77DAu zx-r7VZw{=}=(YY}WW32Pn8oJWXsO9XUe-OQ!68p%sHhGX<}0J3!{q{LqMF6a z;;EKJcGhO8EJ=1oF90lT^DH3iax@R3D=I)mjM@l$Lub}u_E>D8$i;6JFPpGLDRgI) z+%KMyTUW?uolIpGDYFw1#J(TIK7Di^&(|;c8x|Y`Jhp^4Rf4?A4%j>SV}U@%7+Vj@ z#{wQKStn0O``Me1a@M;jme7j589dsH-ZmRK)rN=9P&XO1etzu3Nej}NHnM7F+k+wm z0OqjuV>(dqz^;c-RE=BBIv7~}4oW#dB%#5^nM}pW`#O?9XZp#4cy1R(03W6TVk(W= z0=}Qu>qyZ!Oxf@IjpQ7o&j_s7Bv8Y8{UvfxdQ5ixD7Fmb4)gVQg zlB>Dq{$NRnY@qC*CBv*W@~rtoW_B*e$I@xtWY+6v){0`eMw^$U?-u0SP-f={Oca6kpkrR zpQCmnYOORITA;3ComK`-G23hEkd8>%!+OE3R|M~UZRACN$f5MmMF_>v09od5nRi^% zW_mM++qo7Ze803eF7^GYV#(iW9rW}J>4EUYPgxQI$Sa2x6K>c%kU2(BIR^v_g=SzO zs7+Q63WXkvh`pH4T5;d1_%56vLmF=6#L~CBgJKy1Vl<>_;Os`&`@TY}vC@WNQ6}k) z;QBiAl%GCdzkCS^e1rqL!9wBm21(8w3W^C>kDFD-($?nbND4EII&K=+om#6|M-fAo z&#MK<2AJvR-G%rY70I3Gi|1m2?UCab(z(l(z<_I|CmS^1iJ-NFEIiCYI$|YUy1J zAOvidyyx4-%-zi7bETOBxePOROwKOw_C!+ir5;~|JD%z8hd3ed1LX#_;OWr^bXnc9 z$!1&feoQt!x!ifZ%viJhH&}>x?x7dc#WUhW21t2Gv2@oZaVFllkDj3cATa-CF&3Zh zA=U*xM&9&GhAc)PK+*Hw`M>})*|Ty$yshZjn-IH5#QG6O2_9KlWe^c+E%L^wXqP@B z{>*U383vlIt`aPc7rYzSk^J08*~m;t2l!o^=VgVB&Qr_jF%&2Th3Ul%b(;{SnG2+Yt(4N zA?2p|+5qjsB_~PON?@S)ji$Tso9E$4%}`EkH8LsjlixkZk-ys_hI(R!=s@&Gh(7J9 zrjLPm<;AU$tA<~HTH7Z3ggzaKVnnJdx#UfI6~URv;KV@^NQt7F-DWWCyb$#EpnpDL zT2}03@t1zOG*T^Qn)l7`jaXS6c4e9~D+k2dbc!9y)Nzm9Ma^{TKW(W*#>b>aGR>aw zZh?FctZ*?ae3B+Kyv~dOKc~r^0>9R-UR7X3{eK(z$GoR|Z(LTXo1q zdV>NmPsU_ItIbm)-1Kg&-qRoAU8?`^Zkf6;DFmmO6asZj3c)uFN@*ft?c|x9-=FH( zqCWuNri~o_`C0$+^6&lm^S_zMMel3LDbe-7RqnBT#%$M&LuYgQY0zmOrwgZ<57K8O zj`S$V4Fl&tn~0rUyHS|$ctss<2$VS#IH-alt#2KKZxalX9>W^^Fg7hhm@iolmH$R& zREK8OuQuRuSV8>x5>d19s7CoGH@1}3R~f7iLJczA-oIca^)LzILI;;g_U92uBsz8> zWBZs|=E7bSjowY1GXKE+!T%y9?mIp8#AZQFhcEDDqb_s8+lffa567tOl%#uN>2S#4!d$;{if&i5B!O|0m*8n`tY z_V#S=AZCGEm-}hR+P?NfiMt8qxf?bFiP?ea&Jz3F(!l9ZaijJ6vby4;YR_Ad6h-e% zR}rDL`@Ybw-eWvaq8iHWV{nC2D3QOss70vJX%R5Rd@os-ptp|4>-kvnOaX?RCX<7S zrowBA(oJ)orwP;lPM==5-~^U*=PLgLkkS4&{_~?F4TkrkaWOe2==Aj!UIvqr*_xV- zwwd{taTv+;*u|0>oypn(sw

{6o_H)a{I0I~;?Z0P@LMnQC8-tPFn$fi$`Tp(pv{LJX+!DT6)nMgbY99? z=Tr3=grSe_799Y}0nY8LrS+IW$a{kcsQ`h&-vGmO%}L91OWKMlRlWhfl)6VuWI@6G zuWW5PDAHJWt{5S|5PjbA8F2936`)U`U6Z{1C-`ioQYLf|ah8GPpCf#tfvR6QZEk#RH48?q4tS!In!t-s>XB;_vel^>&+-<>s_f=7CN zulH*#UQrsehQTmm0CF}LpFURp4R=jB?$-}Vvv7gv+%XzlfwUW1Ax8^gGP4iftjF|x z>%M(cR-aFJ6G8aI`%@WTGUP1Y<7peN5KTklFN!CXqkd4ys^s3kPzL$A1yq2rz>r_t z`xm_-%S^XrwY+OO>8gjDJ&wT#Es`j%Ju51ZsqAS)-eqZ-lWd!73ViU~{74(l9`Akj zaa7GMn-blSij(zmt`W;Yn~~*Q$bwMkS&T~+Ec44 zHD4!7Y9pP9pVC_-<_}&yTwoqH)ufP3tNCUCzX`Os;GZRl^D5rXm4Mep=woJJ!C#~@ z^)e?Td6K0wxmIa}l7zpR4YTy#RRftWcF3P*l&!8fa*D_3`HkG`of9u6&#2bg>q-oH1OK#(lyLda;gz#;u*VGOb!1xw3bs zK*A^YkS@mdpxNdpke^pr6$NTmZECftaY6>PY|r!j9UrWo;#--#d|ZSsbQ*7{mE-`+ zT^$YlP@>ODag^M5(?+heJzmkH3{uzO>QDgufrN(td|ywuY?RG2D>*<~4GAUXC3LE>zA{ zoKJq7WOrf=9;vTe0>a>IewrH#Ph+crEm}qUluz90j)a~WU^4;f8n~Rxf?^2C`8mT7 zzFue_JyV*=tM&D+UGiEu-WpuIkXz23m&f-cUg&?pYlYJ|g{D2(!ECE9V9`6HEQce* z;j-p=U2V9RwBzP}1Zj}Zt%1;PU0=Yo3SL;IXo>6>Sc%-%~mjlFIu38sK$d~hhf zqjw#Ckwn88I1k73k=s(K3v+*5hyZ(83c8a7eMGU**h>lNJkkrDapxa8X5Bt_R~MH{ z3d>f_p|ee`TWNKlOie42FF)pM_CKqk`U3SW1#)(LujS?aTzeOBo0aG-8(L8kGo?NL zgX)g!ex=9rnhC|RJsp`-rqmOW4aqYTx|pO60gaFq(^Vw+*kD zoV5<0b)@gv!0ca;QUQ`KPLsK7{1+D6?bRf*LtbHsRz&n-SA?f7bgD}}kwlf4cY?qa zk3o)>X7zS)6cT)Aub{C$5?4E6s)rR)0rGtY(_Y$Uu42dfjw=T`d;SPEB3<&1t{^$W zl`p0c@4>}h(}ZZ7w6&Gh`NajTSi~SX;qdpDHVRQW$I0r10FOj!zwQ-otU+IbEhaCt zH;xEq`p7BWedpPLP}Xpo20Hkfysz((o#?Gq__r<@-TPJ%?X)dm^!X|cSzm+*xJvQ1 zUGP+Y(3bcL%;W22`fsjsC*moOGu zC7IMKM-n6#sU(Ced@;*2zIUO5ihJ=uUvrv6{G^ie#B^b)lU|O_0@`M<6WheV8uy-< zPh40%yyf+}jzZU4sTeveXRSXesEk*gV+xwUS5~k>bH8Qt3Hab8IiFCc*1>g!NxzF4(h<=E{?yb|2Ev?PlYj_32Bxm;J%Pd`T9 zaec~Od(+~z?E2-4l$?^*2!s+%f@+FUONzw|ekmKi)XveubO?~MrN$XpNAWz%%1%h( zs~J$VzO6`*uZd}FLl{G?Qb)(e0 zMq%@D4py)!%jJE0P*z!ynVLHveOTNFb9(ANs*bL;nz4x=tBeb~O&v2{ktv+Q#Y+M$+hN^-1pcn@%979$5J!+h;2Sxr^{O)?_!l`kwE&_B3 zDkr;fO*Ap@!_i2rEdlR^{A89{^K?7($8(O+dXmP|yA!?=%c?A~sY;fYRg6BjZTio= zj}s|rkQCi%GKQI4p)QIxG@(}A%-}7j$}-WcMbnNp+b}+n27A{#w?e4-Y>;&=Tv%~a zta9)LgKNH}V;v;II2j~-zMWbH=1!iVLGrzf8y{%>aD!kPoG7EgqLfY=;k=H`nTtmH zl~1IM^C`MnJsKX{|Zhy&b)#=(8sHb(RlH6JDXH>g5~orK&(;Qkp`; zMd~c9Cafex;R9_yzrm9vet#RvLiceJyV8UfebK9Q&N^@j#W~o|aH?3w)$OL3XoX#p zl|x4O(jfKR60@RzhqO8nYt{2sFal~thwEB>(o{REDCkq&2P#<{qJ$l~5=pYeCh$fP zRunlnfq8Ke($$zl)cd}IMRQ0pSc^l&3;bALW1}hFBm(&fqLDMBC6#NIrerdI6Q%h~ z68_~vZesD_q^J!%%Rrvwy;qTmiG_K^bITqPayrfBXGslD3f+U_hP`u%0nhQ}?u8#| zH<$sTbVrFjchO+{z)Mmf2PCCOIicxN!j)@8SvacPa;9zTUk=|q`HUS4Yoo>9@mKkZ zm8qwR76n5`uIY#g)t~PQN5yFJi7+YG(ihV{T1eJgY4jSnrS>5HKhlroMy#&11H*@foa z>B9==7TGU5T(47KXF75&==;X;bsP&ADvQJ*Q-Dq#--W6Iujr}tuR<#WuYLne0*_R= zFo{liC;Xt_fSgG4Uj&MKM)|we+;70)k90iJhVQ;2Cn^68cx2fA z8xUC0e#Vmkq(<4~f5O|0;WVW6e$m(e2Ap5o;YFD@0=rZ`2acy!{|2n?ieG6IA|E#x ze;2A4quC`iG8^|iA0n@)QW}$z6}Z>g0!^gF=Sp4gZ@mQRRw@MlAAUje_WU1r-2e4` z?~lF(d>XgXKO}17jSl?J@jXRtyj+BpBI5Nim5=dFUZ=_n={`D}gF^wK@kZh~SLR>d z=z1J=OJ<|nLaG=L?bk1)3x-hS;F4*(K=K7m2W$HbjZ_ow@DIcUIVu4~1abSj4{r*F zD}t+lft3EtcuKtKiR>Kg9tScfXQi%uwZG~i9kOFrBuGeP^1%6(om(1RUaX~11ExB> zejz*z^+iWpEqX^sU4P1DYwBC8FPn0mbhpc=0r$`T18}TR2S4?}&J@Zrt5m(XDh91b z2c$Qim&xIS)poWW%=g=p--2WTDXnOj(-3ZF4J`4CDAk;Vh)O9c-d;1w1y$9jI_|jjh{;Jr9Vo zOR=BTyQhx$5N9F__TeK&=rH%>(XQ+!F9S_gXAY96VZR(s{W+PZi!&W<8f1>lD}N=_ ziOo_8roFr5j>?j|v^8esI7#f}ZapJx_I6k4 z=X(juqpozWzrQ(kp@%l3lG()VFv}ZM4!bQ5z0q(8Kr7!TY*-n%86B%__hy(3@2B(M zLkXm;U;dOa|7~QP;Lok#FZes+H-Og%k#No`fLHP87UGx7jpzTM;QMzaAF=OTBY@R0C<>h!rP{0vR*>=0q_%CJm>xIptE=hg^<-LX#TH^_ z_A)E(^(gwhQI{uh01Z|Q_IIpR4_CiP*nM$qaj7S37ocgQT zAH6(td&5iMU%wdd@%D5T)w5yRWDeQvSu~t>{=uGpH4P&jfgQ9 zWftvz_#VyZ(MBBH4t*)E7tz%ew)x>FTer7S3bH=ua`EiasLAa&()WPcvX^n4TKOC<$?a)`GgcwoYeM!t6LgKEunZB3HkT%#waTuE} zd$bLIw9~a2@L1;8E92W&0yutdBM(FIe$` z4|;K?efkGqoEBExS9f3$++1z+qaQWBSY`H zof-u5!fOyTDxVJ;JP6MXN>xL?!#q>DFItQvk&_ybI*caOopEOS)?WW=MkEuxzAwg? ztyRnWq;pC5m6}W{yLbGZnVxDyRu=dLdo}06=&$0-v;r?lC+`9z=sDn#Oi;e;!uZ!d z@7|TWlQBM^UsEUT!|`cWc!LWJbzfKB5gXR%G7N7yp-~CSud?b$hrNya8FeUi-t5;5 zl(t)tq9;}B$tjb2-PuX>j&a(^OF5W+R1&p?cQm5IpP{z+b+04ug-6H!4&_z+El>G> zX$e4FAy*`??`C=FR^Pu;5KryS^mE`X#aiy3&;K;KEVGt z{}}o2PVRr4Q20+;>#yhhM-KwLQ{ve=BJf6q%e#9fyM%q20izk!PIH!AF)D1?F0)@a znP#^JmK#kqUw?EU6!xHfK%D(qWh&EaIRX+tj)YzT)#BZ zqm1z&h?e`*>P&DNPMuX~QPW_jx@Rn$@F)*88lw~=lPY>pG@(;1&~oG&d%wXfG+TVB zx9d9r%P9F)tIQaxHw9d2wxeCXQw2lr{rc8gr)c@oh(T4#Jvb8a!S%r+aTF;FHx-ni z?`qFxKfaX9$ zPGypTA~OqI%F~AFDwpb4eq~_#)uDLfP`3eApX1_}zX8SovW<;3&Y#+tZ)thxIEQYa z^zaTLyuPI?@)+giL;Ekk> zlwpfGIvS}vZz{aq0d;E$p-j7LW}?dY*s@UBRqNSGTaBtT!+25MK$(Z5gFb`NWwIL~ zi(|uNm4_UVYhAwqdJWUJrb=gB!58=4K6RFA`it5$Myo~j-wPGEFL@2@7DT?i1P~1U zF~+Wn<*_2eRaw!js7cvP7dB0a3c&e?+e~7Mk_S3E&+3kC-!yO^#m(-C37sN1R$$|~$aoiyPG4dZS*CRxNmGe+nA z6+Ok5`{I1vVFMHn9}VxytZn&8xGxb47R|I!h>pdGUuYIXhPq9uW(!=2n4ixVr}Xh4 z+Fy5{9?`0QTqYZJB>aGrT-R}U?n;Jxd$qAr-xqOs;JVrL__U#_(q#>PxA_|3jbjd0 z*tZ2jTif^gU6#tY;B|6EWxJxlF3D28vhO}@IU_wYAC5mM`dDgx>aDwlxJJ(3(5ZM* z1-+1%tVB;_sm<1pu>I5uM-#W<(`z%oiSe1Z5Un`7RM@6I2@46Q8cf|bY+=A0KE}lU za&EF4Exa`a9gvz=?H)Xf+GL>bbL59pIy}I)c0atS7jeadYw!CdLWL5N0^jq*^iPqn|^6|n(XY_UHnE7l zrL4QoS8`uG<+!)|eF!<0rbkKHOw^xnFf)^PDwipFf<# zEbx#FGGKmNA>tF{3knv27N=bT`N(FbLg${DJoaFOM%Ij+YS%Xf&)*PqZ>rr=Ed06) zEl2Bx|B`9+t+E^mEJrRo?U(i+bznDFv~N>>ReYTk?sGE{72JUi;=_SHTkIIMiH9Ep z!OB*Cs&>hSl*IMT8zS-NB<2_8VVoHvdasRFm@)gM5gRkbu*Rl_6oYozpQ86)_)pz% z%V~ZIkf6_go3aRS{x^#2|BKr5pVXv(>n!=Jn)Uswn(YoeXT9}THJkIl!JN6}{h??7 z>&W~^8=usFozf#Pw@>;F;BW8YIu-rC`b+;ap49teFy6s zYEvTQSj|2Le-~br&Jy1j<@~A3>?0HC1W%@cn%y-iSSt1@;0{9ECknYoO7hh!kKns$ z9-^#;JSOIW7zKnI=4Wq^x!Qln+S8hhx*}SI`$+y7DUC0dw2$6w0hgs4fj}VA--$&$ z)YjbJlm(G4_GG7%Jm-GYGjrPaEr{^8$f6dMO*ZzzCZKBjigR2y&goZtJzB1$d78Je zg;w1TLVvH!;l<*6un>oV`}HsbGRGAhX?JEs^u8xfs+|sKssoQk&9TUoI|wANyhPh) zNYAm@5V8j9LNeCatG_G(&0xzG%dq#55uo0@mvFS&RQO=imPY)D?bp9 zC{9F|f5|q%<8{WHZ|=Si90^A+Bs>B?;bIVmxx6W8(r|wjsl?(Ro8>+NrA1ChN`@M= zMPtOx3UL!TiF8Ln4dC$KfbcdENQ~*M)Z(HJ&(5LRbiImw+8dnJ3wpCfXt;C}=+vsN zfr!-ZdVxXYik4k7hcasTZd(pXA$p7+ByX9asJ{S&ADKZVH0el~#1bneS^9~5lVvoB z;j~nmg%^tTlhXVF3f*mdu!;3n&^%P5s!&_*o3(M!5KG>Wn6|H)KBp$T_XU(-5MtD~ zBGWR}!u4ebfk4l7BhRs^d}+ zPa%h_US?BD4-2y)o<3KmT$j)=L)9fz@cJDVO8=q*j+d)cCn;-}ya-rRNu{l)*(w}} z45e2+{U|V;@w!PSF4)BO5i8l9zSy;Cd_d9bLdRdJxkb_z_NPaSrg>(-s*CrIip`T0BwP?qfZ=>UEh5#O(@ldlE>y)MgYOBvo8qe$7F@>n7&biu>;@^h{Afol z2E16*rUNl|ogR*5w2XgN_MU8h(tf9m-$tlt&B4WQoFwj_ZE^N^?2Er0UqhXW?kfM% zFUF&Je;;~C?3PE158`pbx#1gl_*Q=br$PAr;ScjxyfNm#h$;PrIl1N0DB~wg_-jJt zU%;s^_zC}Zck=wN^bvoK;w@memG<+e9XR!(cw{^?^ zQhog6$bSQ3{5hdp9!L8|B;**c`Nm5(G>iVa!^N*2JyFD;B-Sg1zX3&)_>J015#owY zjT`ILe((x%tk*aty>GgUz&i5k$028Ix{ym}3UFaf5lPB5I~Qxx{A&MM=XNO6Z&}V_ zY2otoiiXmJbEkcTd+JJP2qEPLJz4)vw$539(gLSI>Q5K}F_Du7(Y26;{R~4;Aa{Ax zL?pL-?QNp>{o4<3wiRO;%wU+FgOao+-%J`d)%-h9SLkB>p7*zekvvJ8l>fiUp%8GqXnj9980{?E(yK`_o4~?Ww3uT zsT|p&$`Om~W}5=mjF7?4o!!+1GxCIo5mLUkt94@CcXEm$^B3f3?Nyd-*gz33LStf2 z@hP%1#KLeC%nwM~5O<-a_;e&OmMTP7nkA;RV|#7&e{bulfLNiK;~em`sgdz);W%{) zTGVA%9iNP3Vu)s7X_6S)gch6mEPT~})r;|Qi{AANj7V!zE5avCr+23z6@4oGn4%b` zfetq-v}svw7|!elT!jX026$ao({gAKIrO4j2&CzI59qyTIK|+ts~TWclBmOEqpc7M@8Unxi81qK7|kf z!n@Mj85JFh9hJCS8mE+@Y-5PIw?)hjU75M*V36Cja9S;wnl0f2zI*q$mSHblh`ggP zaLvXyxx91I_!Vo?&rPc9^;xG%%{k&yTYq-iq)NB{jk3 z#ni_LFN^8iX4*NRJB3(y*F3+e#h1d;okGrH^Zr<7ja*R@O@jx>JseQ&w3>yZE}ojw zYJS2dw~pp@*hB)Qsv7`XqP=K>u9GU7N4P93Lw6H(x=&GQ*q(iQ=Mb8`T+F#NgR*$T zil5H@#pgwpCF9gi6r8Fp11(Op=!BdJuLD=^%1dA76fUqr&v;1ueC+I_x|13Rg~)8L zuV>#K!80ES8k+BH{)RHLrYWjSK~2}sY73MdDEHVyxs=S0r%G=Sq+ovbaSG0~sN=Uk zZ_%43kUYdB$ou)iW1b7Ot+)3Qku=vy(oS+n<;u&#q{wz-mRc{JRoI-jm6qG>y|RuTYU>dl}+RcFV)mh;`cb`b;1DF@F7t3mOa+kJN|sL}#wmg&(#L^1f1MVH zC<#pZ>i~genhYO%zu04jt(yR^Zlt&lw=!ug*#y6!iGDk6sXPHKo@tS&Sg_iSD_%C+ zHuYMHvH6giC{x(daZD9y%D{Ga3DU9TcgTdJc!(8`Zc#w{eQSt$iMd2*1Erh8ju|5) zG!uQ)6D#A%?%Y+=b#s2l0Q9cg2H;n6^1Nea!s1Eg{mmdVq>T9(&N-T;SB(r@y?>P=EpVX3hisK;&7sT->OT^HrB%}UI!$_yV2)L6X$KB33~ zaHl@>19rb2IP++y6C>lM%$0vdm_701F!F6t`@B5kVR+nWLZPYos)dt`{)hI49E-xJ zYa<_T;8$qTpyoSJ1L<4Lit=vm%rRx&pHh?!1eYu>sDl*Yva-yy$PXk>Y{E=j z9x7Pd+pPiAN2WC~E7Fbvwb+O#=3LwM2< zj;N*{D8|Dujk0rwZ9EO}n|s>s+I@U)5cE>+0hkUI_HYq1h@essXJDEC3oI<>6G%7n z<=dQ*+Jy&kmviCu989z7nFn&5%aa>*F4rD*PK@b)I8$5^w$MWY-E69G?LG3V*|Xi6K5o~2 zt;r`nDQ-UJGZB05QOnF5*I~n?sDe3sGK<278X1{}&@h?wIRt*w2r(esLS9xeFddJhI>|KwtZDhc-n~H}}hr{Z(j8FF03u5o7=QQqUJ}3tK zUsdJ*t1kV|%-g@Fs{EG=EXF^v*ndXa{aL8|H{Wmmy(av>W#a!YWul0q{C@FR*C7oD zuPH7{usi34&~HF(+|1@zQL#hD_t_a^3w)t>YTn#yCbY>mn*PzNjahw|j;c%uLIylE z0d6zTR~s6bH3O|*P3W6|kq$Va7r5>{F{|^$eDo{gGKpg% zP-IZ%>+7q^>$f^lCKaFxdCNGmnf$H`{#<; zeY#sJEZl50%!pQcWm+*9+%&4e!nc0BTxT56=xGI?*1LHO1O!sPpa7!TY!nlr(-gvuS?D@0w6 zT7GO42No?=gQcy=<-E3@OyarvnNA@4>Y{wLq#0*daQ2hAU(D43takpA2`>3r1)n-Q z;)1?DWpO*NwR4Ww zBP8-E_r*%~tgxB1qXb~%KgbVS?s+w{`;pnfX$J+ud0qJu_;Rfe8X|oQ^uuiG5=oY< zNIlrw1e9(Ps(x+CFt4P3F1% zBWp2`+T8IgaMFsx_`o{plRISrdHmCkEb~{_-ueJo*h*vH2|xl3W<5dY928cq_&k#t zkuzZoGYV*nWHjI*?{ZzDP;9w$897d{-9| zoLH2&vM{(WV(gi6$Lwdc9L1`7XB#1wx)iMgGMYQQ0G9HP#xbS4dX+mF#*`O|l<3`) zwEOt{Mrg15Xis-wQ32KuICr1NSk>0#9?Y(2e9D~NB)2s(Myg5lvkAPQXjp%M zxdT$B^S4~#X&i@w0;utpVJPVY#Q2C8QB}<%?4t|P&>+dDsX_5t!3Xe}=8F9NcPu~; zU|n%u^fQUnuMLre6C_H%|#u3;BzExEO3k-yl)$vN%^xpaWb71j$? zJ@8<9f+=lx&wl)Xf-NYF1vYb?(8lEkaXxk6Unws!_3Zurye^)MSfSZN==Kk$x{nJL zh7*0aKbW0058WG~cRv0~Zol*p=^ICZ7L4(HnWr-C^7I#e^+ieBfr=-q>m9-1{g#R| z!*K?&uE}0T?Xrhke5r`H7IO$uj;*HFx*4wk1^slB6yu0zFi7ldo#u4}Pd;RU(m5)m zs(S9hqa@uvlvvVho9hdZi0)@jU!7#xKA4W>QLKo-0py*_bWusCv4yv8Ub}1Xh9E2- z0{=^?==y&0h<%yI=V~6F!C%`54LRvfJTv05&vFhX19uuH7uAN#Ed_W_xG>G~H>KTn zxh9l~j{PLLp8Q#xk?4dd`)zLh5E8;ROR+EhJl$f>RhmQ2Vz0TWQIk`>@j6H3?HaeQ z;3o#ER|j%cpC$#vXN7DV(!Q;$8fHE#*x-Iu2PSZTn+R4zFkZ7hi<`1Q-50z>)tayZc{#|397e zwNaS^i@jrpK(^WDx;2&fc9PUDKe$v&2LpW|6*o6V-wp8HGKdLIooBy^ZY!<2XBGa7 zsGZ8$pJZz1+K`?`ThH6t&&!M23?$KzB{3$|S7f)`=0nJd2xIY@JXbn1{4$lm1!^|5 z){l#+R?qWbdW-#JN_jph28*FMbsEo3g}mMwd4MVJra-oOgwfiSyboh^qy2sZ*kSRt zPCT1l;aq!>2Qg>%&+FgQ{BV3uO>=#C%p#x<5y`IKjPGQ2jXLR>juro+V&g`6yG$#( z%+8+9HC$cQz#i@xb)BpeFcaCv@jVF_>{Z`1t<$wTQWbWuKo2UNSSS3`qi%?`*P}Um zJsPlfa3!#lru?dL?sa`bp8BkG)&teOrx$t+OrH3%KV#2{X}MYeO$CB zej|55NjPhWmmc*FTMItAPhJ`d!*=gdFnx$({@Kz%-c0&U_fmQlAxbmW(5B+yr{E-u z%&%|Ec|l&%1Oxd*^~ZjV{NhdYer#m2p*`Y?Xs-Igq}U1d`CETxP7#tZE^&o5L0=#?oQ?-q<(lOpf4ncG9qjGCeO;O6C0G{A1CE@aIwz?7n=ye8*HW)y9(l89ebb%j>* z-%T&~;Ss&%_MTrTA{RC!$ugb_n6P&FkA>m?G9j?cvpotqa+OMzn^B3=H<>xSc$g^- z#TqXm*_jrEM^1-W%}3btVR=rh%)@8z);6=&Rtazs`dESbFS|dlq^6R$)MB*ZP1E(l zs?!r``hpp(wZlTuk8JKcSff?#I^;RUZ~+f;Gn6Ww{58?5v?FB;y1znJO^`cG1FkJ< zv+INL3ozf>&HFb8Mgy2eRVe*=1ynH+!0<6ABkw^KmRA@QPYqw9K;E(bP8$WB)_ zRHd~;+GDuS!9=($!0h^%ZbWacz|0RWvPCC4Cnj;O*s$z$V2LI0%?@m&WO$8Z$Ko2$<%>eQ}7Sr+q@xiPvR#?-upSH z{6FlyXE>Z|+x9<7h=|^a7A>Op-lIiC4bg?@hUlaB-U*@;J&exiC3=s}s562fm?2?A zS^ru0_Wa-Nx!1a%?OpeW=XswG>yynnHk<1*bDigL9Q*#;1uE^k+A*zZbXEqox%7B5 zJgU&2E!ysr-0EP*vZ>v{w_{JjUSockr4&wJ1)mMZW@03%TggAYu}5wr7$bOpKH=fx z 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 uF%SO2}Qj`SVE-kYln#d literal 0 HcmV?d00001 diff --git a/dev/_tickets/2026-09-14.md b/dev/_tickets/2026-09-14.md new file mode 100644 index 00000000..7bce41d0 --- /dev/null +++ b/dev/_tickets/2026-09-14.md @@ -0,0 +1,16 @@ +ABOs +#1 Ausführungstag und sperren +Der Tag, an dem das Abo ausgeführt wird, soll beliebig definiert werden Über ein Datum im Monat nicht mehr nur der 5. 10. usw. Sondern 1-31 bzw. bei 31 wird dann immer der letzte Tag genommen 30, 29 .. +Das Abo muss aber weiterhin einmal im Monat versendet werden d.h. diesmal im aktuellen Monat kann man natürlich das Datum im Monat so lange verändern bis der Versand raus ist für diesen Monat. Dann bestimmt man den Tag für den nächsten Monat wenn man das ändern möchte. Automatisch wird natürlich der gleiche Tag für den Folgemonat genommen. Damit Monate nicht übersprungen werden können. Kann natürlich ein Datum nur in die Zukunft geändert werden nicht vom zehnten auf den fünften des Monats. Heißt aber vom 10 kann zum Beispiel auf den 24 gestellt werden. Die Einstellung kann jederzeit gemacht werden und wird erst am ausführt Tag fixiert. Heißt, steht es zum Beispiel auf dem 24. kann es am 24. um 0:00 Uhr nicht mehr geändert werden und wir dann auch ausgeführt. + +Produkte ändern hinzufügen bei einem Abo kann genauso gemacht werden. Es wird am ausführt Tag um 0:00 Uhr fixiert. Vorher können Produkte geändert werden. Die Sperre jetzt existiert einige Tage. Vorher soll es nicht mehr geben. Ich würde es trotzdem in der Entwicklung lassen, falls es noch mal irgendwann nötig wird. Vielleicht stellen wir die Sperre einfach auf null oder so. + +Die zusätzlichen Produkte bleiben, wie sie sind. Diese können einige Tage, wie sie eingestellt sind, vorher hinzugefügt werden und auf wieder geändert werden. + +#2 +Es muss für Berater Admin oder für den User selbst deutlich ersichtlich sein warum ein Abo nicht versendet wird und wie der Status ist. Ist es Aktiv und wurde ordnungsgemäß ausgeführt, ist es in Aktiv beziehungsweise pausiert und bis wann, ist eine Zahlung nicht rausgegangen und warum zumindest hinschreiben, dass die Zahlung nicht funktioniert hat und so weiter. + +#3 +Hat ein Abo seine Mindestausführungen erreicht. Derzeit sechs Monate kann es pausiert oder auch gelöscht werden. +Hier beim Löschen muss noch einmal deutlich geschrieben werden, was das Aufsicht hat, dass bei einem neuen Abo wieder die sechs Ausführungen nötig sind Und ob man das Abo nicht erst mal pausieren möchte. + diff --git a/dev/_tickets/entwicklungsplan-protokoll-september-2026.md b/dev/_tickets/entwicklungsplan-protokoll-september-2026.md new file mode 100644 index 00000000..2046d2e6 --- /dev/null +++ b/dev/_tickets/entwicklungsplan-protokoll-september-2026.md @@ -0,0 +1,435 @@ +# Entwicklungsplan – Protokoll Zoom-Meeting 08.09.2026 + +**Stand:** 14.09.2026 · **Status:** C1 (Team-Statistik) umgesetzt, Deploy offen; nächstes Paket: Abo (A4 → A3 → A1+A2) +**Quellen:** `2026 09 Protokoll September-komprimiert.pdf` (Protokoll), `2026-09-14.md` (Ticket-Entwurf Abos #1–#3) +**Verwandte Pläne:** `dev/2026-07-22/entwicklungsplan-2026-09-07.md` (K11–K14 behandeln dieselben Themen aus dem Kundenbrief; die dortigen Rückfragen F4–F7 sind weiterhin offen), `dev/2026-09-10-business-plan/` (Ledger-Plan, löst A07/K11 langfristig) + +--- + +## 0. Übersicht und empfohlene Reihenfolge + +| # | Thema | Quelle | Aufwand | Risiko | Blockiert durch | +|---|---|---|---|---|---| +| **A1** | Abo-Ausführungstag frei wählbar (1–31, Monatsende-Regel) | Ticket #1, Protokoll | 3–4 PT | mittel | – | +| **A2** | Änderungssperre erst ab 0:00 Uhr am Ausführungstag | Ticket #1 | 1 PT | niedrig | zusammen mit A1 | +| **A3** | Abo-Status und Grund sichtbar (Zahlung / Kunde / Admin) | Ticket #2, Protokoll | 2–3 PT | niedrig | – | +| **A4** | Pausieren/Kündigen beschriften, Kündigungs-Hinweis (6 Ausführungen) | Ticket #3, Protokoll | 1 PT | niedrig | – | +| **A5** | Kundenabo → Partnerabo automatisch umwandeln | Protokoll | 4–6 PT | hoch | Rückfragen R5 | +| **B1** | Jahresgebühr automatisch abbuchen (Opt-in-Häkchen) | Protokoll | 6–8 PT | hoch | Rückfragen R6 | +| **B2** | Berater fällt aus: Pausieren nach 2 Tagen, Rückgabe bei Zahlung, harter Cut nach 4 Wochen, Sponsor-Mail | Protokoll, Rückmeldung 14.09. | 3–4 PT | mittel (einmaliger Massen-Effekt, akzeptiert) | – | +| **C1** | Team-Statistik = Team-Struktur (gleiche Punkte) – **live seit 14.09.** ([Deploy-Notiz](../2026-07-22/deploy-2026-09-14.md)) | Protokoll | 3–5 PT | hoch (jede Zahl ändert sich) | – (F4: Umschalter) | +| **C2** | Laufstand-Race: Provision liest zu niedrigen Monatsstand bei zeitgleichen Buchungen – **Stufe 1+2 live seit 14.09.**, Stufe 3 offen | Befund aus C1 | 0,5 + 1 PT | hoch (Provision) | – (keine Nachzahlung, Entscheid 14.09.) | +| **D1** | Neuer Reiter „Events“ mit Foto-Galerien (wie News-Archiv) | Protokoll | 2–3 PT | niedrig | Fotos liegen vor | +| **D2** | Top 3 firmenweit im Backoffice | Protokoll | 0,5 PT | rechtlich | Network-Anwalt (F3) | +| **E1** | Recruiting-Challenge Okt–Jan (50 €/Neupartner, Top 3) | Protokoll | 0,5 PT Konfiguration + 1–2 PT Erweiterung | niedrig | Details Dani/Alois | + +**Reihenfolge (festgelegt 14.09.):** + +1. **Team-Statistik zuerst (C1)** – die Seite wird ständig angeschaut, und die abweichenden Zahlen erzeugen laufend Rückfragen der Kundin. Schritt 1 (Mess-Command) und Schritt 2 (gemeinsames Baum-Prädikat) können sofort starten; nur die Umstellung selbst (Schritt 3) braucht vorher die Antwort auf F4 (abgelaufene Berater: Empfehlung Provisionssicht als Standard mit Umschalter „inkl. abgelaufene“). +2. **Abo-Paket** – A4 → A3 → A1+A2 (A1 und A2 greifen ineinander, gemeinsam testen). +3. **Termingebunden** – E1 (Challenge startet 01.10., Nachtragen ist möglich, s. u.), B2 (Ausfall-Ablauf komplett in einem Paket: Pausieren, Rückgabe, harter Cut, Sponsor-Mails – nicht in Teilen ausliefern, sonst entstehen Zwischenzustände ohne Rückweg). +4. **Backoffice** – D1 (Events-Reiter). +5. **Groß, mit offenen Rückfragen** – B1, A5. Ohne die Antworten in Abschnitt 6 nicht beginnen. + +**Gesamtaufwand grob:** 25–36 PT, davon ~10 PT im Abo-Paket. + +--- + +## 1. Abo-Paket + +### A1 – Ausführungstag frei wählbar (1–31) + +**Ziel (Ticket #1):** Jeder Tag 1–31 wählbar; bei 29/30/31 in kürzeren Monaten der letzte Monatstag. Genau eine Ausführung pro Monat. Änderung nur „nach vorne“ (10. → 24. ja, 10. → 5. nein, wenn der 5. schon vorbei ist). Wird am Ausführungstag 0:00 Uhr fixiert (→ A2). + +**Ist-Stand** + +- Einzige Quelle der erlaubten Tage: [`UserAbo::$aboDeliveryDays = [5, 10, 20, 25]`](../../app/Models/UserAbo.php#L228). Alle Verbraucher lesen dieses Array: Select-Optionen [`HTMLHelper::getAboDeliveryOptions()`](../../app/Services/HTMLHelper.php#L114-L127), Validierung [`AboRepository::validate()`](../../app/Repositories/AboRepository.php#L270) und [`Portal\AboController`](../../app/Http/Controllers/Portal/AboController.php#L748), Admin-Filter [`Admin\AboController`](../../app/Http/Controllers/Admin/AboController.php#L44), Prognosen [`PaylineForecastService`](../../app/Services/Abo/PaylineForecastService.php#L296) und [`TeamAboOverviewService`](../../app/Services/Abo/TeamAboOverviewService.php#L438). +- Der Tag steht in `user_abos.abo_interval` (TinyInt, trotz des Namens ein Monatstag) – **kein Schema-Change nötig**, bestehende Werte 5/10/20/25 bleiben gültig. +- **Monatsende-Problem:** [`AboHelper::setNextDate()`](../../app/Services/AboHelper.php#L269-L275) rechnet `firstOfMonth()->addDays($tag - 1)`. Für Tag 31 im Februar landet das im März, für Tag 30 im Februar auf dem 1./2. März → **das Abo würde einen Monat überspringen oder doppelt laufen**. Gleiches Muster in [`AboRepository::calculateAdminNextDate()`](../../app/Repositories/AboRepository.php#L341-L346). Die richtige Klammerung existiert bereits in [`advanceAboCandidateOneMonth()`](../../app/Services/AboHelper.php#L367-L374) (`min($tag, daysInMonth)`), wird aber nur für die Erst-Ausführung genutzt. +- Änderungslogik heute: [`calculateNewNextDate()`](../../app/Repositories/AboRepository.php#L324-L339) nimmt den Monat von `next_date` als Referenz (liegt `next_date` schon im Folgemonat, landet der neue Tag im Folgemonat). Eine „nur nach vorne“-Regel gibt es nicht; stattdessen verlangt die Sperre 10 Tage Abstand. +- Erst-Ausführung: [`MIN_DAYS_UNTIL_FIRST_ABO_EXECUTION = 10`](../../app/Services/AboHelper.php#L27) – bleibt. + +**Umsetzung** + +1. `UserAbo::$aboDeliveryDays` durch `UserAbo::allowedDeliveryDays(): array` (= `range(1, 31)`) ersetzen; alle sieben Verwendungen umstellen. Select bekommt 31 Einträge, Label „31. (bzw. letzter Tag des Monats)“ für 29–31 ([`getAboStrLang()`](../../app/Services/HTMLHelper.php#L129-L132)). +2. Zentrale Datumsfunktion `AboHelper::dateForDayInMonth(Carbon $monat, int $tag)` mit `min($tag, daysInMonth)`; `setNextDate()`, `calculateAdminNextDate()`, `computeFirstAboCandidateWithoutMinDays()` darauf umstellen. Wichtig: der Folgemonat wird immer aus `abo_interval` berechnet, nie aus dem geklammerten Vortermin (sonst bleibt ein 31er-Abo nach dem Februar dauerhaft auf dem 28.). +3. Neue Änderungsregel in `AboRepository::validate()` (ersetzt die 10-Tage-Prüfung `error_abo_interval_too_soon`): + - Referenzmonat = Monat von `next_date` (wie heute). + - Neues Datum = gewählter Tag in diesem Monat (geklammert). + - Muss **nach heute** liegen (`> today`), sonst Fehler „Der :tag. ist in diesem Monat schon vorbei – die Änderung gilt ab dem nächsten Monat, bitte nach der Lieferung erneut einstellen“ (oder alternativ: automatisch für den Folgemonat setzen – **Rückfrage R1**). + - Der Monat darf sich durch die Änderung **nie** verschieben → garantiert „einmal pro Monat, kein Monat übersprungen“. +4. Admin-Modal ([`modal_abo_update.blade.php:44-63`](../../resources/views/admin/abo/modal_abo_update.blade.php#L44-L63)): Monat 0–3 voraus bleibt, Tag 1–31. +5. Admin-Filter „nächste Ausführung am …“: statt Dropdown mit 31 Werten ein Datumsfilter (von/bis) auf `next_date`. +6. **Prognose-Kacheln** (frisch ausgeliefert, Commits `8f4e105`, `4062c46`): „Payline-Prognose zum 5. / 10. / 20. / 25.“ ([home.php:53](../../resources/lang/de/home.php#L53)) und „Punkte aus meinen Kundenabos zum 5. / 10. / 20. / 25.“ ([abo.php:55](../../resources/lang/de/abo.php#L55)) benutzen die Tage als Stichtage. Die Stichtage funktionieren mit beliebigen `next_date`-Werten weiter, **aber Abos nach dem 25. fallen aus der letzten Spalte** → Spalte „Monatsende“ ergänzen und die Überschriften anpassen. `TeamAboOverviewService::438` (`max(aboDeliveryDays)`) auf Monatsende umstellen. +7. Sprachdateien de/en/es/fr (`LocalizationSyncTest` erzwingt Parität). + +**Tests:** `AboRepositoryDateChangeTest` (bestehende 6 Tests anpassen), neu: Klammerung 29/30/31 in Feb/Apr/Jun/Sep/Nov, Folgemonat nach Klammerung wieder auf 31, „nach vorne“-Regel, kein Monatssprung, Prognose-Spalte Monatsende, `UserMakeAboOrder` läuft an Tag 31 im 30-Tage-Monat am 30. + +**Machbarkeit / Risiken** + +- Technisch gut machbar; die zentrale Stelle ist eine Zeile plus die Datumsklammerung. +- **Fachliches Risiko Logistik:** Heute gibt es vier Versandtage, das Lager packt gebündelt (das war der Grund für die 10-Tage-Sperre). Mit freien Tagen kommen täglich Abo-Bestellungen um 04:00 Uhr. Das ist ausdrücklich Alois' Wunsch („Teufelsküche an den Abo-Tagen“), sollte aber dem Lager/Versand bewusst sein. +- **Rückfrage R1:** Wenn der gewünschte Tag im laufenden Monat schon vorbei ist – Fehlermeldung, oder Änderung automatisch für den Folgemonat übernehmen (dann würde diese Monatslieferung noch am alten Tag laufen)? +- Bestehende Abos ändern sich nicht; keine Datenmigration. + +### A2 – Änderungssperre erst am Ausführungstag ab 0:00 Uhr + +**Ziel (Ticket #1):** Tag und Produkte bis 23:59 Uhr des Vortags änderbar, dann fixiert. Die Sperre bleibt im Code (Setting), Default effektiv 0. Einmalprodukte behalten ihr eigenes Fenster (4 Tage vorher). + +**Ist-Stand** + +- Zwei Sperren in [`AboRepository`](../../app/Repositories/AboRepository.php#L13-L39): `abo-lock-days-change` (Default 10, Tag + Produkte) und `abo-lock-days-pause-cancel` (Default 3). Beide Getter fallen bei **0 auf den Default zurück** (`$days > 0 ? $days : DEFAULT`) – `AboLockDaysSettingTest::32` sichert das sogar ab. **Sperre auf 0 stellen funktioniert heute nicht.** +- Bedingung `daysUntil < lockDays` mit `now()->diffInDays(next_date)`: am Ausführungstag selbst ist `daysUntil = 0`, `0 < 0` = falsch → **am Ausführungstag vor 04:00 wäre eine Änderung heute sogar erlaubt**, obwohl der Cron gleich läuft. +- UI-Spiegel [`AboHelper::isAboChangeLocked()`](../../app/Services/AboHelper.php#L204-L213), Produkt-Guards `$changeLocked` in [`User\AboController:206-286`](../../app/Http/Controllers/User/AboController.php#L206) und [`Portal\AboController:110-131`](../../app/Http/Controllers/Portal/AboController.php#L110). Alle greifen auf den Getter zu → eine Änderung reicht. +- Einmalprodukte: eigenes, gegenläufiges Fenster `abo-onetime-window-days` (nur in den letzten 4 Tagen erlaubt) – unberührt. + +**Umsetzung** + +1. Getter-Semantik: Setting **leer/nicht vorhanden** → Default; Setting **`0`** → 0 (explizit erlaubt). Test „fällt bei 0 auf den Default zurück“ entsprechend umschreiben. +2. Sperrbedingung auf Kalendertage umstellen (`AboHelper::calendarDaysUntil()` existiert) und als „gesperrt ab 0:00 Uhr des Tages `next_date − lockDays`“ definieren, also `daysUntil <= lockDays`. Mit `lockDays = 0` ist das exakt die Ticketregel. Achtung: für einen gepflegten Wert >0 verschiebt sich die Sperre damit um einen Tag nach vorn (heute: 10 Tage = Tag 0–9, neu: Tag 0–10). Da der Wert auf 0 gesetzt wird, ist das praktisch irrelevant, muss aber in Tests und Fehlertext (`error_change_locked`) sauber sein. +3. Setting `abo-lock-days-change` in den Admin-Einstellungen auf 0 setzen (Deploy-Schritt, kein Code). Default-Konstante auf 0 ändern, damit ein Test-/Neusystem gleich richtig läuft. +4. **Rückfrage R2:** Gilt „keine Sperre mehr“ auch für Pausieren/Kündigen (heute 3 Tage)? Empfehlung: ja, gleiche Regel (bis 23:59 Uhr des Vortags), sonst ist es für Kunden nicht erklärbar. +5. Hinweistexte („Änderungen müssen mindestens :lock Tage vorher erfolgen“) für `lock = 0` umformulieren: „Änderungen sind bis zum Vortag der Lieferung möglich.“ + +**Tests:** `AboLockDaysSettingTest` anpassen (0 = keine Vorlaufsperre, Sperre am Ausführungstag selbst greift, Vortag 23:59 frei), `AboOneTimeWindowTest` unverändert grün. + +**Risiko:** niedrig. Zeitliche Lücke 0:00–04:00 Uhr ist durch die neue Bedingung geschlossen. + +### A3 – Status und Grund eines Abos sichtbar machen + +**Ziel (Ticket #2, Protokoll):** Für Admin, Berater und Kunde sofort erkennbar: aktiv und ordnungsgemäß ausgeführt / pausiert bis wann und durch wen / Zahlung fehlgeschlagen (und dass sie fehlgeschlagen ist) / gekündigt durch wen. + +**Ist-Stand** + +- Status-Codes [`UserAbo::$statusTypes`](../../app/Models/UserAbo.php#L230-L240): 2 okay, 3 angehalten (= Zahlung fehlgeschlagen, gesetzt in [`UserMakeAboOrder::updateAboOnError()`](../../app/Console/Commands/UserMakeAboOrder.php#L414-L470)), 4 storniert, 5 beendet, 6 inaktiv (nur Admin), 7 kulanz, 8 extern erledigt. +- **Pause hat keinen Status:** Pausieren verschiebt nur `next_date` um einen Zyklus, setzt `last_pause_date`/`pause_count`, Status bleibt 2 ([`pauseOneMonthLocked()`](../../app/Repositories/AboRepository.php#L188-L232)). In allen Listen sieht ein pausiertes Abo aus wie ein laufendes – genau Alois' Problem im Büro. +- Wer etwas getan hat, steht nur in `user_abo_status_histories` (`action`, `view` = me/ot/portal/admin, `actor_user_id`, alte/neue `next_date`) – wird nirgends angezeigt. +- Zahlungsfehler: `user_abo_orders` hat nur `status` + `paid`, **keine Fehlermeldung**. Der Grund (Karte abgelaufen, Deckung, PayPal) geht verloren. +- Anzeigen: Detail [`_detail.blade.php:27-28`](../../resources/views/admin/abo/_detail.blade.php#L27) (Status-Badge + Aktiv-Badge), Listen `user/abo/index`, `user/abo/_customer_abo_list`, `user/team/customer_abos`, Admin-Datatable, Portal `portal/abo/my_abo`. + +**Umsetzung** + +1. **Datenmodell (Migration):** `user_abos.status_reason` (string, nullable; Werte `payment_failed`, `paused_by_customer`, `paused_by_consultant`, `paused_by_admin`, `cancelled_by_customer`, `cancelled_by_consultant`, `cancelled_by_admin`, `deactivated_by_admin`, `pending_initial_payment`), `user_abos.paused_until` (date, nullable), `user_abo_orders.error_message` (string, nullable). Backfill-Command aus `user_abo_status_histories` für Bestandsdaten. +2. **Schreiben** an den bestehenden Stellen: `updateAboOnError()` (Fehlertext aus der Payone-/Stripe-Antwort mitnehmen), `AboRetryPaymentService::markAboError()/markAboSuccess()`, `pauseOneMonthLocked()` (`paused_until = neues next_date`, Grund aus `view`), `updateStatus()` (Kündigung/Deaktivierung), Erfolgs-Ausführung setzt `status_reason = null`, `paused_until = null`. +3. **Lesen:** Service `AboStatusExplainer::explain(UserAbo): AboStatusInfo` (Label, Farbe, Erklärungstext, Datum, Akteur, empfohlene Aktion). Beispiele: „Pausiert bis 24.10.2026 – vom Kunden am 12.09.2026“, „Zahlung am 10.09.2026 fehlgeschlagen (Karte abgelaufen) – Abo läuft nicht, bis die Zahlung nachgeholt ist“, „Gekündigt am 01.08.2026 durch Berater“, „Aktiv – letzte Lieferung 10.09.2026, nächste 10.10.2026“. +4. **Anzeige** in allen sechs Listen/Detailseiten über ein Blade-Partial `abo/_status_explain.blade.php`; im Admin-Datatable als eigene Spalte + Filter „pausiert“ / „Zahlung fehlgeschlagen“. +5. Pausen-Badge auch ohne Migration herleitbar (`pause_count > 0 && last_pause_date > last_date`) – als Fallback für alte Daten. +6. Sprachdateien de/en/es/fr. + +**Tests:** Explainer-Unit-Tests je Zustand, Feature-Test: Pause → Liste zeigt „pausiert bis“, Zahlungsfehler → Fehlermeldung gespeichert und angezeigt, Kündigung durch Portal → „durch Kunde“. + +**Risiko:** niedrig. Reine Zusatzinformation, keine Verhaltensänderung. + +### A4 – Pausieren/Kündigen beschriften, Kündigungs-Hinweis + +**Ziel (Ticket #3, Protokoll):** Im Partnershop/Portal sofort sichtbar, dass und wo man pausieren/kündigen kann. Beim Kündigen deutlicher Hinweis: neues Abo braucht wieder 6 Ausführungen; Vorschlag, stattdessen zu pausieren. + +**Ist-Stand:** Buttons im Modal [`modal_abo_update.blade.php:118-142`](../../resources/views/admin/abo/modal_abo_update.blade.php#L118) nur sichtbar, wenn `canCancel` (Mindestlaufzeit erreicht, [`AboHelper::canCancelAbo()`](../../app/Services/AboHelper.php#L125-L134), Setting `abo-min-duration` = 6 **bezahlte** Ausführungen). Kündigung = Status 4 nach JS-`confirm()`. Echtes Löschen gibt es nur für Admins. + +**Umsetzung** + +1. Eigener Abschnitt „Abo pausieren oder kündigen“ auf der Detailseite (Portal + Berater), nicht nur im Bearbeiten-Modal: Fortschritt „4 von 6 Lieferungen“, ab Erreichen die beiden Aktionen mit Erklärung. +2. Kündigung über ein Bootstrap-Modal statt `confirm()`: Text mit Konsequenzen (Abo endet, Punkte/Konditionen entfallen, ein neues Abo beginnt wieder mit 6 Pflichtlieferungen), Button „Lieber 1 Monat pausieren“ als primäre Aktion, „Trotzdem kündigen“ mit Bestätigungs-Checkbox (Muster aus `CustomerDeleteTest` / Kunden-löschen-Modal). +3. Vor Erreichen der Mindestlaufzeit: Hinweis, ab wann pausieren/kündigen möglich ist (Text `info_min_duration_orders_left` existiert). +4. Sprachdateien de/en/es/fr. + +**Risiko:** keins. 1 PT. + +### A5 – Kundenabo → Partnerabo automatisch umwandeln + +**Ziel (Protokoll):** Nach der Partnerregistrierung erkennt das System ein laufendes Kundenabo → Umwandlung anbieten, Zahlung neu bestätigen, Kompensationsprodukte wählen, **Mindestlaufzeit läuft weiter** (3 Lieferungen als Kunde + Monat 4 als Partner). + +**Ist-Stand** + +- Unterschied Kunden-/Partnerabo ist nur `user_abos.is_for` (`ot` / `me`), plus Zuordnung `user_id`/`member_id`/`shopping_user_id` ([`AboHelper::createNewAbo()`](../../app/Services/AboHelper.php#L438-L446)). Zahlungs-Token (`payone_userid`, `stripe_customer_id`) hängen am Abo. +- Ausführungszähler [`getCountPaidOrders()`](../../app/Models/UserAbo.php#L517-L533) zählt `user_abo_orders` **desselben Abos** → eine Umwandlung **im selben Datensatz** erfüllt „Mindestlaufzeit läuft weiter“ automatisch. Ein neues Abo würde bei 0 beginnen – deshalb In-Place-Umwandlung. +- Kompensationsprodukte: `user_abo_items.comp`, Sortiment über [`Shop::getCompProducts('abo-me')`](../../app/Services/Shop.php#L270-L309) (`show_on = 12`), gesteuert über Setting `is_comp_me_abo`. Für `ot`-Abos gibt es heute keine Kompensation. +- **Es existiert kein Umwandlungspfad.** [`Web\RegisterController`](../../app/Http/Controllers/Web/RegisterController.php#L78-L136) legt nur den `User` an und schaut nicht nach `ShoppingUser`/`UserAbo`. Wiederverwendbar: `AboPaymentMethodService` (Zahlungsart neu hinterlegen), `AboItemHistoryService`, `UserAboStatusHistory`, `AboMoveOrders` (Muster). + +**Umsetzung (In-Place)** + +1. Erkennung: nach Freischaltung des Partners (`wizard = 100`, bezahlte Registrierung) aktive `ot`-Abos mit gleicher E-Mail (`user_abos.email` bzw. `shopping_users.billing_email`) suchen → Dashboard-Banner „Kundenabo in Partnerabo umwandeln – 30 % günstiger“. +2. Umwandlungsseite (CRM, `user/abos/convert/{abo}`): Vorschau der Positionen mit Partnerpreisen, Kompensationsprodukte als Slots (`comp > 0`) wählbar, Summe/Punkte neu. +3. Zahlung bestätigen: neuen Token über den bestehenden Zahlungsart-ändern-Flow (`AboPaymentMethodService`, Payone/Stripe je `PaymentProviderManager`), da Betrag und Vertragspartei wechseln. +4. Schreiben in einer Transaktion: `is_for = 'me'`, `user_id = neuer User`, `member_id` wie bei `me`-Abos, `shopping_user_id` = eigener `ShoppingUser` mit `auth_user_id`, Items ersetzen, Preise neu snapshotten, `UserAboStatusHistory` neue Aktion `converted`, Item-History. `user_abo_orders` bleiben → Zähler läuft weiter. +5. **Nicht** `IncentiveTracker::trackAboActivated()` auslösen (kein neues Abo), Ein-Abo-Regel (`AboHelper::userHasAbo()`) berücksichtigen. + +**Machbarkeit / Risiken (hoch – Freigabe vor Start nötig)** + +- **Provisions-/Statistikwirkung:** Der Umsatz wandert von den Kundenpunkten des Beraters in die Eigenpunkte des Neupartners (Ebene 1 des Sponsors). Das verschiebt Bonus-Kategorien, Kundenabo-Zählungen (`TeamAboOverviewService`, Incentive `incentive_new_abos`) und die Kundenabo-Prognose. Muss kommuniziert werden. +- **Kompensationsprodukte ohne Freigabe** = jeder Partner kann sich Kompensation eintragen. Entweder Admin-Freigabe (Status „Umwandlung beantragt“) oder nur das reguläre Comp-Sortiment ohne Begründungsfeld. +- Zahlungs-Token gehört rechtlich dem Kunden als Person – dieselbe Person, aber der Vertrag ändert sich → deshalb Neubestätigung (Protokoll fordert das ohnehin). +- E-Mail der Registrierung ≠ E-Mail des Abos → Erkennung schlägt fehl; Admin braucht einen manuellen Umwandlungsknopf als Fallback. +- Preis-Snapshots der Items (`user_abo_one_time_items` haben Snapshots, Abo-Items rechnen live) – prüfen, wie der Abo-Betrag beim nächsten Lauf gebildet wird (`getFormattedAmount()`). + +**Rückfragen R5:** (a) Wer gibt Kompensationsprodukte frei? (b) Sponsor des Neupartners = bisheriger Berater des Kunden automatisch? (c) Darf der Partner den Umwandlungszeitpunkt frei wählen (sofort vs. ab nächster Lieferung)? + +--- + +## 2. Mitgliedschaft / Jahresgebühr + +### B1 – Jahresgebühr automatisch abbuchen (Opt-in-Häkchen) + +**Ziel (Protokoll):** Berater setzen ein Häkchen → Jahresgebühr wird automatisch abgebucht. Ohne Häkchen weiterhin Erinnerungsmails und manuelle Zahlung. (Das ist Opt-in – entschärft die rechtliche Frage F6 aus dem Septemberbrief, die Opt-out vorsah.) + +**Ist-Stand** + +- Mitgliedschaft = `users.payment_account` (bezahlt bis), Verlängerung + Reaktivierung zentral in [`Payment::paymentStatusPaidAction()`](../../app/Services/Payment.php#L192-L233) (Produkt-Action `payment_for_account`). Verlängerungsprodukt `show_renewal` seit Commit `c3dc7eb`; Produkttext sagt ausdrücklich „Eine automatische Verlängerung gibt es nicht“. +- Manuelle Zahlung: [`MembershipController::storePayment()`](../../app/Http/Controllers/User/MembershipController.php#L125-L186) → normaler Checkout. +- Erinnerungen: [`CheckPaymentsAccount`](../../app/Console/Commands/CheckPaymentsAccount.php) (Stufen 31/33/34/35, dedupliziert über `UserHistory`), Config `mivita.remind_*`. +- **Berater haben kein gespeichertes Zahlungsmittel.** Keine Token-Spalte auf `users`; `user_accounts.payment_data` enthält nur alte ELV-Daten (SEPA abgeschafft). Wiederkehrende Token existieren nur an Abos (`payone_userid`, `stripe_customer_id`) und `shopping_users.stripe_customer_id`. +- Wiederverwendbar: Off-Session-Charge [`UserMakeOrder::makePayment()`](../../app/Cron/UserMakeOrder.php#L69-L98), [`StripeGateway::chargeAbo()`](../../app/Services/Payment/StripeGateway.php#L26-L40) (auf `UserAbo` typisiert → verallgemeinern), Retry-Muster `AboRetryPaymentService`, Karten-Hinterlegung `AboPaymentMethodService`. Per-User-Flag: `users.settings` (`User::setSetting()`), keine Migration nötig für das Häkchen selbst. +- Alte Texte für genau dieses Feature liegen ungenutzt in [payment.php:15-18](../../resources/lang/de/payment.php#L15-L18). + +**Umsetzung** + +1. Migration: `users.renewal_payment_provider`, `renewal_payment_token` (Payone `userid` bzw. Stripe `customer_id` + `payment_method_id`), `renewal_auto_at` (optional). +2. Mitgliedschaftsseite: Checkbox „Jahresgebühr automatisch abbuchen“ → führt in einen „Zahlungsart hinterlegen“-Flow (0-€-/Verifizierungs-Transaktion bei Payone bzw. Stripe SetupIntent `usage: off_session`), Mandats-/Einwilligungstext, jederzeit abwählbar (Token löschen). +3. Service `MembershipRenewalService::charge(User)`: erstellt Verlängerungs-`ShoppingOrder` (Logik aus `MembershipController::storePayment()` herauslösen), bucht off-session über den gespeicherten Token, Erfolg → bestehender `paymentStatusPaidAction`-Pfad (verlängert, reaktiviert, Rechnung wie jede Bestellung). +4. Command `membership:auto-renew` (täglich ~02:30, vor `user:cleanup`): Kandidaten = Häkchen gesetzt, `payment_account − X Tage <= heute`, keine Verlängerungsbestellung im Zeitraum. Fehler → Mail „Abbuchung fehlgeschlagen“ + Rückfall in die normalen Erinnerungsstufen, Retry täglich bis Ablauf. +5. `CheckPaymentsAccount`: Berater mit Häkchen bekommen statt Stufe 31 eine Info „wir buchen am X ab“ und nach Erfolg eine Bestätigung; Stufen 33–35 nur bei gescheiterter Abbuchung. +6. Produkt-/Seitentexte („keine automatische Verlängerung“) anpassen, de/en/es/fr. + +**Machbarkeit / Risiken (hoch)** + +- Zwei Zahlungsanbieter parallel (Payone/Stripe, `PaymentProviderManager`): Empfehlung, den für **neue** Zahlungen aktiven Anbieter zu nehmen und nur dessen Token-Flow zu bauen. +- SCA/3-D-Secure: Off-Session-Abbuchungen können abgelehnt werden → Fallback auf Zahlungslink-Mail (Muster `AboPaymentFailedMail`). +- Rechtlich: Opt-in mit ausdrücklichem Mandatstext und Widerruf; keine rückwirkende Anwendung auf Bestandsberater. +- Rechnungsstellung läuft über die normale Bestellung – prüfen, dass die Verlängerungsbestellung ohne Warenkorb-Session sauber entsteht (Muster `UserMakeOrder::makeShoppingOrder()`). + +**Rückfragen R6:** (a) Wie viele Tage vor Ablauf abbuchen (alter Text: 14)? (b) Nur Stripe, nur Payone, oder je nach Anbieterstatus? (c) Soll die Abbuchung auch Berater reaktivieren, die schon pausiert sind (Stufe 1 in B2)? + +### B2 – Berater fällt aus: Pausieren, Rückgabe bei Zahlung, harter Cut, Sponsor-Mail + +**Ziel (Protokoll + Rückmeldung 14.09.):** + +1. Zahlung bleibt aus → Account wird pausiert / inaktiv. +2. Kurz danach (Versatz ca. 2 Tage) wandern **Kunden und Team** zum Sponsor, damit die Punkte bei ihm eingehen. +3. Zahlt der Berater innerhalb von 4 Wochen, wird er reaktiviert und bekommt Kunden und Team zurück. Umsätze und Provisionen der Zwischenzeit bleiben beim Sponsor. +4. Nach 4 Wochen harter Cut wie heute: alles bleibt endgültig beim Sponsor, der Berater wird entfernt. Zu diesem Zeitpunkt bekommt der Sponsor die Mail mit beiden Listen (Vorname, Nachname, Telefon, E-Mail). + +#### Antwort auf die Frage „passiert bei Ablauf schon etwas?“ – Ist-Ablauf heute + +| Zeitpunkt | Was passiert | Was **nicht** passiert | +|---|---|---| +| Tag 0 – `payment_account` abgelaufen | Mail Stufe 35 „Account pausiert“ ([`CheckPaymentsAccount`](../../app/Console/Commands/CheckPaymentsAccount.php)) | **Technisch nichts.** `active` bleibt 1, `m_sponsor` bleibt. Der Berater steht weiter im Provisionsbaum: [`readParentsBusinessUsers()`](../../app/Services/BusinessPlan/BusinessUserItemOptimized.php#L1088) prüft nur `payment_account != null`, nicht das Datum. Das Flag `active_account` in `user_businesses` ist reine Anzeige/Filter (`BusinessControllerOptimized`) und blockiert keine Provision. Kunden- und Abo-Umsätze laufen 14 Tage weiter auf ihn – und werden ihm ausgezahlt (die Mail 35 verspricht das sogar). | +| Tag +14 – [`cleanUpInActiveUser()`](../../app/Console/Commands/UserCleanUp.php#L145) | Teampartner → nächster aktiver Sponsor (`user_clean_up_logs`, umkehrbar), `active = 0`, `pre_sponsor` gemerkt, `m_sponsor = null` → raus aus dem Baum. Login bleibt möglich (Mitgliedschaft bezahlen). | **Kunden bleiben beim inaktiven Berater** (Kommentar im Code sagt das ausdrücklich). Da er nicht mehr im Baum hängt, kommen deren Punkte bei **niemandem** an – weder bei ihm noch beim Sponsor. | +| Tag +14 bis +60 | Zahlung → [`Payment::paymentStatusPaidAction()`](../../app/Services/Payment.php#L227) → [`reactiveUserResetChilds()`](../../app/Services/UserUtil.php#L275): `active = 1`, Sponsor zurück, Teampartner aus den Logs zurück | Kunden müssen nicht zurück – sie waren nie weg. | +| Tag +60 – [`deleteInactiveUsers()`](../../app/Console/Commands/UserCleanUp.php#L63) | Kunden (`shopping_users.member_id`) → Sponsor (`shopping_user_member_logs`), Berater selbst wird `ShoppingUser` des Sponsors ([`setUserToClient()`](../../app/Services/UserUtil.php#L68)), Soft-Delete | **Kundenabos (`user_abos.member_id`) und Portal-Logins (`customers.member_id`) werden nie umgehängt.** Abo-Ausführungen nehmen `member_id` aus dem Abo ([`UserMakeOrder:278`](../../app/Cron/UserMakeOrder.php#L278)) – die Punkte landen dauerhaft beim gelöschten Berater. Keine Mail an den Sponsor. | + +Dazu gibt es einen dritten, abweichenden Pfad: setzt ein Admin das Datum in die Vergangenheit ([`AdminUserController:155-175`](../../app/Http/Controllers/AdminUserController.php#L155)), läuft nur die Team-Stufe (`deactiveUserNewSponsorChilds()`), nie die Kunden. + +**Fazit Ist:** Zwischen Tag +14 und +60 verschwinden Kundenpunkte im Nichts, Kundenabos fallen komplett durch das Raster, und 14 Tage lang wird ein unbezahlter Account voll verprovisioniert. Der Wunsch aus der Rückmeldung schließt genau diese Lücken. + +#### Soll-Ablauf – Empfehlung: zwei Stufen behalten, Zeitpunkte und Umfang ändern + +| Stufe | Zeitpunkt | Aktion | +|---|---|---| +| **1 „Pausieren“** | Ablauf + 2 Tage (Config `cleanup_suspend_days`) | wie heute `deactiveUser()` + Team umhängen (vorhanden, protokolliert, umkehrbar) **plus neu:** Kunden, Kundenabos und Portal-Logins **umkehrbar** umhängen (gleiches Log-Muster mit `pre_member_id`). Mail an den Berater (Stufe 35 umformulieren: „Dein Team und deine Kunden sind bis zum :date vorübergehend deinem Sponsor zugeordnet. Zahlst du bis dahin, bekommst du sie zurück.“). **Kurzinfo an den Sponsor, ohne Listen** (entschieden 14.09.): „Dein Teampartner :name hat seine Mitgliedschaft wegen ausstehender Zahlung nicht verlängert. Er hat noch bis zum :date (:days Tage) Zeit, sie wieder aufzunehmen, sonst wird die Mitgliedschaft dauerhaft entfernt. Bis dahin sind seine Kunden und Teampartner dir zugeordnet.“ | +| **Rückgabe** | Zahlung bis Ablauf + 28 Tage (Config `cleanup_delete_days`) | bestehender Hook `reactiveUserResetChilds()` **plus neu:** Rückgabe der Kunden/Abos/Logins aus den Logs. Nur Datensätze, die noch beim Sponsor liegen (wurde ein Kunde zwischenzeitlich manuell woanders hin übertragen, bleibt er dort). | +| **2 „Harter Cut“** | Ablauf + 28 Tage | Nichts mehr umhängen (ist schon passiert) → `setUserToClient()` + `deleteUser()` wie heute. **Neu:** Sponsor-Mail mit beiden Listen aus den Logs der Stufe 1 plus dem Berater selbst als neuem Kunden. Logs bleiben als Historie (Seiten „User Bereinigung“). | + +**Warum „Provisionen laufen in der Zwischenzeit beim Sponsor“ von allein stimmt:** Umsätze werden **zum Bestellzeitpunkt** zugeordnet – [`SalesPointsVolume:164`](../../app/Services/BusinessPlan/SalesPointsVolume.php#L164) nimmt `shopping_orders.auth_user_id` bzw. `member_id` der Bestellung, Abo-Ausführungen `user_abos.member_id`. Sobald Kunde und Abo beim Sponsor hängen, landen alle Bestellungen der Pausenzeit auf dessen `user_sales_volumes` und bleiben dort auch nach der Rückgabe. Es muss nichts umgebucht werden; abgeschlossene Monate sind ohnehin eingefrorene Snapshots. + +**Warum das die einfachste Variante ist** + +- Alle Bausteine existieren: Deaktivieren, Team umhängen + zurückholen, Kunden umhängen, Berater-zu-Kunde, Soft-Delete, Zahlungs-Hook, Admin-Restore. Die Kundenübertragung wandert nur von Stufe 2 nach Stufe 1 und bekommt ihr Gegenstück „zurückholen“ (heute fehlt es, weil es nie nötig war). +- Neu zu schreiben: (1) eine umkehrbare „Kunden umhängen / zurückholen“-Hilfe für `shopping_users`, `user_abos`, `customers` – analog zu `setNewSponsorToChilds()` / `resetChildsToSponsor()`, (2) eine Service-Klasse `ConsultantSuspensionService` mit `suspend()`, `reinstate()`, `terminate()`, die Cron, Zahlungs-Hook **und** Admin-Pfad gemeinsam nutzen (heute drei abweichende Pfade), (3) Mailable `SponsorTransferMail`, (4) Config + `--dry-run`, (5) Tests. +- Keine neue Tabelle: `shopping_user_member_logs` hat bereits `pre_member_id`; für Abos und Portal-Logins entweder zwei kleine Log-Tabellen nach demselben Muster oder eine Spalte `type` in `shopping_user_member_logs`. +- `ConsultantTransferService` (manuelle Übertragung, Ticket 08.09.) hängt Kunden, Abos und Portal-Logins bereits alle drei um – dieselbe Liste, gleiche Reihenfolge; die Hilfe lässt sich dort wiederverwenden. + +**Umsetzung** + +1. `config/mivita.php`: `cleanup_suspend_days = 2`, `cleanup_delete_days = 28` (beide Stellen in `UserCleanUp` sind heute hart codiert: `-2 weeks`, `-2 month`). +2. `UserUtil`: `setCustomerDataToNewMember($from, $to)` (Kunden + Abos + Logins, protokolliert) und `resetCustomerDataToMember($userId)` (nur Datensätze, deren aktueller `member_id` noch dem im Log eingetragenen Ziel entspricht). +3. `ConsultantSuspensionService`: `suspend(User)` = Stufe 1 in einer Transaktion; `reinstate(User)` = Rückgabe; `terminate(User)` = Stufe 2 + Mail. `UserCleanUp`, `Payment::paymentStatusPaidAction()`, `AdminUserController` (Datum setzen) und `AdminUserCleanupController::restore()` rufen nur noch diese drei Methoden. +4. Zwei Mailables an den Sponsor (Queue): `SponsorSuspensionNoticeMail` bei Stufe 1 (Name des Beraters, Frist als Datum und Resttage, kein Listeninhalt) und `SponsorTransferMail` bei Stufe 2 (Blade-Tabellen mit Kunden und Teampartnern aus den Logs der Stufe 1 für genau diesen Berater plus der Berater selbst als neuer Kunde). Sponsor = Firma (User 6) → keine Mail. +5. Texte: Stufe 35 (Berater), neue Sponsor-Mail, Dashboard-Banner `_reminder.blade.php`; de/en/es/fr. +6. `user:cleanup --dry-run` listet beide Stufen mit Anzahl Kunden/Abos/Teampartner je Berater. +7. Tests (`Carbon::setTestNow()`): Tag +1 nichts, Tag +2 Stufe 1 komplett (Team, Kunden, Abos, Logins, Baum-Ausschluss, Kurzinfo an Sponsor ohne Listen), Zahlung Tag +10 gibt alles zurück, manuell verschobener Kunde bleibt, Tag +28 harter Cut + Mail-Inhalt = Log-Inhalt, keine Mail an User 6, Admin-Pfad nutzt denselben Service. + +**Risiken / Entscheidungen** + +- **Einmaliger Massen-Effekt beim Deploy (entschieden 14.09.: akzeptiert):** Beim ersten Lauf werden alle Berater mit Ablauf > 2 Tagen sofort pausiert (heute 14) und alle > 28 Tagen gelöscht (heute 60); die Status werden dabei bewusst umgestellt. Ablauf: `--dry-run`-Liste ziehen und an Alois geben, dann der reguläre 03:30-Lauf. Beide Sponsor-Mails gehen in diesem ersten Lauf gesammelt raus – Sponsoren mit mehreren betroffenen Teampartnern bekommen mehrere Mails; falls unerwünscht, für den ersten Lauf eine Sammel-Mail je Sponsor vorsehen. +- **Wofür die 2 Tage?** Nur Vorkasse/Überweisung braucht den Puffer; Karte/PayPal buchen sofort. Als Config einfach änderbar – 0 Tage wäre genauso möglich. +- **Team-Statistik:** Pausierte Berater verschwinden ab Tag +2 aus dem Provisionsbaum und damit (nach C1) aus der Statistik – passt zur Provisionslogik, ist aber genau die Personengruppe der Jahresgebühr-Nachfassliste (`AnnualFeeDueService` bleibt davon unberührt, sie arbeitet über `payment_account`). +- **Berater selbst als Kunde:** `setUserToClient()` legt immer einen neuen `ShoppingUser` an; hat der Berater bereits einen (`auth_user_id`), entsteht ein Duplikat – vorher per E-Mail prüfen (Bezug Ticket „Kunden löschen“ 08.09.). +- **Admin-Restore nach dem harten Cut** (`user:restore`) holt heute nur das Team über die Logs zurück. Laut Kundin ist nach dem Cut eine Neuregistrierung mit Starterpaket der Regelfall; Restore bleibt Admin-Ausnahme und holt zurück, was die Logs noch hergeben – so dokumentieren. +- Nebenbefunde: Kernel referenziert `UserCleanup::class`, Klasse heißt `UserCleanUp` (funktioniert nur durch case-insensitives Autoload); `AdminUserCleanupController::restore()` ruft `user:restore` zweimal auf (Zeilen 319/325). + +**Aufwand:** 3–4 PT. **Entschieden (14.09.):** Sponsor bekommt bei Stufe 1 die Kurzinfo ohne Listen, bei Stufe 2 die Listen-Mail; der Status-Umbruch beim Deploy ist akzeptiert. **Offen (R3):** 2 Tage Versatz auch für Karten-/PayPal-Zahler oder dort sofort? + +--- + +## 3. Statistik + +### C1 – Team-Statistik und Team-Struktur zeigen dieselben Punkte + +**Ziel (Protokoll):** Beispiel 30.756,50 (Statistik) vs. 30.281 (Struktur). Beide Seiten sollen die verprovisionierten Umsätze zeigen (Struktur = Referenz). + +**Ist-Stand / Diagnose (sechs Ursachen, in Reihenfolge der Wirkung)** + +| # | Ursache | Statistik ([`BackofficeDashboardService`](../../app/Services/Backoffice/BackofficeDashboardService.php)) | Struktur ([`TreeCalcBotOptimized`](../../app/Services/BusinessPlan/TreeCalcBotOptimized.php)) | +|---|---|---|---| +| 1 | Punkteart | rohe `user_sales_volumes.points` ohne `status_points`-Filter ([`SalesVolumePoints:43-47`](../../app/Services/Backoffice/SalesVolumePoints.php#L43)) → KP-only-Buchungen zählen mit | `month_TP_points + month_shop_points` ([`UserSalesVolume:239`](../../app/Models/UserSalesVolume.php#L239)), KP-only (`status_points = 2`) ausgeschlossen. Die Statistik kennt die Differenz schon: `nonPaylinePointsSum()` + Hinweis in `index.blade.php:264-272` | +| 2 | Baumdefinition | jeder nicht gelöschte Downline-User, Tiefe 100, kein Kappen | nur `m_level` + `payment_account` gesetzt, `admin < 4`, `active_date <= Monatsende`, Tiefe 20, Unterbaum unter ausgefiltertem Knoten gekappt ([`readParentsBusinessUsers()`](../../app/Services/BusinessPlan/BusinessUserItemOptimized.php#L1068-L1092)) | +| 3 | Rundung | 2 Dezimalen (`Util::formatNumber`) | `total_pp` cast `int` ([`UserBusiness:156`](../../app/Models/UserBusiness.php#L156)) | +| 4 | Storno | negative Zeilen mindern die Summe | Knoten mit `TP_sum <= 0` werden übersprungen (`if ($points > 0)`, Zeilen 290/858) | +| 5 | Live vs. Snapshot | laufender Monat live, geschlossene eingefroren | liest gespeicherte `UserBusinessStructure`, sobald eine existiert; hinkt dem Nachtlauf hinterher | +| 6 | Aggregat vs. Zeilen | SUM über Zeilen | kumulative Monatsspalten (`reCalculateSalesPointsVolume`) – Drift bei verpasster Neuberechnung | + +Ursache 1 und 2 erklären in der Regel den Großteil; für den konkreten Fall zuerst prüfen, ob `non_payline_points` des Users im Monat ≈ 475,50 ergibt. + +Plan K11 aus `entwicklungsplan-2026-09-07.md` (3 Schritte) bleibt gültig; Vorarbeit existiert in [`PaylineForecastService::lineByUserId()`](../../app/Services/Abo/PaylineForecastService.php) (Provisionsbaum-Prädikat mit Regressionstest). + +**Umsetzung** + +1. **Messen:** Command `statistics:compare-trees {month} {year}` – für alle VIPs beide Definitionen nebeneinander (Berater, Neupartner, Abos, Punkte je Ebene, Summe). Ergebnis der Kundin zeigen, bevor etwas umgestellt wird. +2. **Gemeinsames Prädikat** aus `PaylineForecastService` in einen `CommissionTreeDefinition`-Service heben; `lineBuckets()` bekommt die Provisionsbaum-Variante; Punkte-Metrik der Statistik auf TP (`status_points != 2`) umstellen. +3. Umschalter „inkl. abgelaufene Berater“ (Empfehlung aus F4), damit die Jahresgebühr-Nachfassliste nicht verschwindet. +4. Struktur: Dezimalen anzeigen (Cast/Formatierung, nicht die Speicherung), Snapshot-Alter anzeigen bzw. „live“ für den laufenden Monat. +5. `BackofficeStatisticsSnapshot` für geschlossene Monate neu rechnen, `cache:clear` nach Livegang (6-h-Caches ohne Invalidierung). +6. Test: `StatisticsConsistencyTest` um „Statistik-Summe == Struktur-Summe für denselben Baum“ erweitern. + +**Umsetzungsstand (14.09.2026) — umgesetzt, Tests grün (125 Tests der Statistik-Suite)** + +| Baustein | Datei | +|---|---| +| Provisionspunkte-Definition (TP + Shop, ohne Nur-KP, Knotenregel je User) | `app/Services/Backoffice/SalesVolumePoints.php` (`commissionPoints()`, `commissionPointsByUser()`, `floorPerUser()`) | +| Provisionsbaum als zweite Baum-Definition + Umschalter, gespeicherte Struktur für abgeschlossene Monate | `app/Services/Backoffice/BackofficeDashboardService.php` (`TREE_COMMISSION`/`TREE_DOWNLINE`, `commissionLineBuckets()`, `storedCommissionLineBuckets()`, `countsInCommissionTree()`, `liveOverview()`) | +| Detaillisten folgen der Baum-Definition; Gesamtpunkte je Berater = Provisionspunkte | `app/Services/Backoffice/BackofficeDrilldownService.php` | +| Payline-Prognose nutzt dasselbe Prädikat (kein Duplikat mehr) | `app/Services/Abo/PaylineForecastService.php` | +| Snapshot je Baum-Definition (Spalte `tree`, Altbestand = `downline`) | Migration `2026_09_14_140000_add_tree_to_backoffice_statistics_snapshots_table`, `BackofficeStatisticsSnapshot`, `backoffice:store-statistics-snapshots` (speichert beide Varianten, `--tree=`) | +| Umschalter „Provisionsbaum (wie Team-Struktur)“ / „Gesamte Downline“, Hinweistexte, Session-Merker | `BackofficeStatisticsController`, `resources/views/user/backoffice/statistics/{index,details}.blade.php` | +| Struktur-Detail: „Gesamt“ = Summe der Linien mit Dezimalen (statt `total_pp` als int) | `resources/views/admin/business_optimized/_user_detail_in.blade.php` | +| Mess-Command | `php artisan statistics:compare-trees {monat} {jahr} [--user=ID] [--lines] [--live-structure] [--repair-running-totals]` | +| Tests | `tests/Feature/StatisticsCommissionTreeTest.php` (neu), Anpassungen in `StatisticsConsistencyTest`, `BackofficeStatisticsListsTest`, `BackofficeStatisticsDrilldownTest`, `BackofficeStatisticsAccessTest`, `tests/Unit/Services/BackofficeDashboardServiceTest` | + +**Ergebnis des Messlaufs (Dev-DB, 14.09.):** + +- Die Punkte-Differenz DL vs. PB ist bei allen sieben VIPs 0 – die ausgefilterten Berater (49–297 je VIP) haben keinen Umsatz. Die Ursache der Kundinnen-Beobachtung liegt also in der Punkteart: Nur-KP-Buchungen (600–1.690 Punkte je VIP im September, 4.800–9.090 im August) waren in der Statistik enthalten, in der Struktur nicht. Diese Punkte werden jetzt unter der Tabelle gesondert ausgewiesen. +- September (beide live): Statistik PB = Struktur bis auf 216 Punkte (mivita/Claudia/Go4) bzw. 129 (Rosa). Das ist exakt die **Laufstand-Drift** zweier User (848: −129, 1543: −87): zwei Abo-Ausführungen liefen fast zeitgleich (04:04:19 / 04:04:35), die kumulativen Spalten `month_shop_points` haben sich überholt, die letzte Zeile ist zu niedrig. **Der TreeCalcBot liest genau diese Spalte – der Struktur und damit der Provision fehlen die Punkte.** Die Statistik summiert die Einzelzeilen und ist richtig. `--repair-running-totals` rechnet die Laufstände mit `SalesPointsVolume::reCalculateSalesPointsVolume()` neu. Im laufenden Monat rechnet die Struktur live aus diesen Spalten – nach der Reparatur stimmt sie sofort (nur `cache:clear` für die Provisions-Kachel). **Nicht** `business:store-optimized` für den Monat starten: das ist der Monatsabschluss (Gutschriften, Level-Update, Bonuspunkte), läuft per Tages-Guard nur am 1. für den Vormonat und würde mit `--clear` doppelte Gutschriften erzeugen. +- August (Struktur = Nachtlauf 01.09.): zunächst 245,50 Differenz = 82 Drift (User 1210) + 163,50 einer Beraterin, die am 01.09. deaktiviert war und am 08.09. reaktiviert wurde. Deshalb liest die Statistik für **abgeschlossene** Monate die Mitglieder aus dem gespeicherten Provisionslauf (`user_businesses`/`user_business_structures`) statt aus dem heutigen Baum → Restdifferenz nur noch die 82 Drift-Punkte. +- Storno-Knotenregel (R4) wurde **nicht** in der Provisionsberechnung angefasst; die Statistik spiegelt sie und weist den nicht abgezogenen Negativsaldo aus. + +**Deploy-Schritte** — erledigt am 14.09. (Verlauf und Ergebnis: [deploy-2026-09-14.md](../2026-07-22/deploy-2026-09-14.md)) + +1. `php artisan migrate` (markiert bestehende Snapshots als `downline`). +2. `php artisan backoffice:store-statistics-snapshots --force` (beide Baum-Definitionen mit neuer Punkte-Definition für alle abgeschlossenen Monate; Provisionsbaum-Variante kommt aus dem jeweils gespeicherten Provisionslauf). +3. `php artisan sales:repair-running-totals` (repariert die Laufstände im laufenden Monat; Struktur ist danach sofort richtig). **August nicht anfassen** (Entscheid 14.09.: keine Nachzahlung, keine Nachberechnung) – die Laufstände des August bleiben so, wie sie abgerechnet wurden; der Fix gilt ab September. Zur Kontrolle vorab: `php artisan statistics:compare-trees 9 2026`. +4. `php artisan cache:clear` (6-h-Caches der Prognosen). +5. Kundenmitteilung: „Umsatz (Punkte)“ zeigt ab jetzt die Provisionspunkte; Nur-KP-Punkte stehen als eigene Zahl darunter; Umschalter „Gesamte Downline“ für die bisherige Sicht. + +**Offener Folgepunkt (neu, wichtig) → eigenes Ticket C2, siehe unten.** + +**Machbarkeit / Risiken (hoch, aber beherrschbar)** + +- `lineBuckets()` ist die Basis **aller** Kacheln (Home-Dashboard, Neupartner, Abos, Top 3, Führungskräfte) – jede Zahl ändert sich, auch rückwirkend in der Anzeige. Nur mit Vorab-Messung und Kundenmitteilung ausrollen. +- **Ursache 4 nicht nebenbei „fixen“:** Das `> 0`-Guard sitzt in der Provisionsberechnung. Es zu ändern, verändert Auszahlungen (Stornos der Downline würden erstmals Provision mindern). Das ist eine eigene fachliche Entscheidung (**Rückfrage R4**), nicht Teil der Angleichung. Bis dahin gleicht sich die Statistik der Struktur an, nicht umgekehrt. +- Offene Frage F4 (abgelaufene Berater) muss vorher beantwortet sein. + +### C2 – Laufstand-Race in `user_sales_volumes` (Provision zu niedrig) — Stufe 1+2 live seit 14.09., Stufe 3 offen + +**Befund (14.09.):** Jede Buchung schreibt eine Zeile mit ihren eigenen Punkten (`points`) **und** dem kumulierten Monatsstand (`month_TP_points`, `month_shop_points`, `month_KP_points`), den [`SalesPointsVolume::reCalculateSalesPointsVolume()`](../../app/Services/BusinessPlan/SalesPointsVolume.php#L77) nach jedem Insert über alle Zeilen des Users neu rechnet. Die Provisionsberechnung liest **nur den Laufstand der letzten Zeile** ([`UserSalesVolume::getPointsTPSum()`](../../app/Models/UserSalesVolume.php#L239) über `User::getUserSalesVolumeBy()`). + +Die Zeilen entstehen in [`Payment::paymentStatusPaidAction()`](../../app/Services/Payment.php#L170), aufgerufen aus den Zahlungs-Webhooks ([`PayoneWebhookHandler:189`](../../app/Services/Payment/Payone/PayoneWebhookHandler.php#L189), [`StripeWebhookHandler:363`](../../app/Services/Payment/Stripe/StripeWebhookHandler.php#L363)) — jeder Webhook ist ein eigener Web-Request in einer eigenen Transaktion (Lock nur auf der Bestellung, nicht auf dem User). Laufen für **denselben Berater** zwei Abo-Ausführungen fast zeitgleich (04:00-Cron, zwei Kundenabos), sieht jede Transaktion unter `REPEATABLE READ` nur ihren eigenen Snapshot: Zeile B wird ohne die noch nicht committete Zeile A summiert. Die höhere ID (B) ist dann die „letzte Zeile“ mit einem zu niedrigen Laufstand. + +**Es geht keine Buchung verloren** – alle `points` sind korrekt, die Statistik (Zeilensumme) stimmt. Falsch ist der Laufstand, den die Provision liest. Der Fehler heilt sich nur, wenn derselbe User im selben Monat später noch eine Buchung bekommt (dann wird alles neu summiert). Ist die betroffene Zeile die letzte des Monats, geht der Monatsabschluss mit dem falschen Wert in die Provision. + +**Ausmaß (Dev-DB, alle Monate seit 2025):** 06/2026: 1 User / 66 Punkte · 08/2026: 1 User / 82 Punkte (abgerechnet!) · 09/2026: 2 User / 216 Punkte (offen). Nachweis: `php artisan statistics:compare-trees {monat} {jahr}` (Abschnitt „Laufstand-Drift“). + +**Entscheid (14.09.):** Keine Nachzahlung und keine Nachberechnung für Juni/August. Der Fix gilt ab September 2026; abgerechnete Monate bleiben unverändert. + +**Umsetzung (Stufe 1 + 2 umgesetzt, Stufe 3 offen)** + +| Stufe | Was | Stand | +|---|---|---| +| 1 Sicherheitsnetz | Neues Kommando [`sales:repair-running-totals`](../../app/Console/Commands/SalesRepairRunningTotals.php) täglich **02:45** im Scheduler ([`Kernel.php`](../../app/Console/Kernel.php)), also vor dem Provisionslauf um 03:00. Prüft alle User mit Buchungen im laufenden Monat und im Vormonat (Vormonat nur, solange er noch nicht abgerechnet ist – kein Anfassen abgeschlossener Monate). Abweichende User werden neu gerechnet, Ergebnis geht ins `cron`-Log. Manuell: `{monat} {jahr}`, `--dry-run`; ein abgerechneter Monat wird ohne `--force` verweigert. Logik im Service [`SalesVolumeRunningTotalService`](../../app/Services/BusinessPlan/SalesVolumeRunningTotalService.php), den auch `statistics:compare-trees` nutzt. | umgesetzt | +| 2 Ursache | [`SalesPointsVolume::runningTotalRows()`](../../app/Services/BusinessPlan/SalesPointsVolume.php) liest die Zeilen des Beraters jetzt sperrend (`SELECT … FOR UPDATE`): ein sperrendes Lesen liefert immer den zuletzt committeten Stand und wartet auf die parallele Insert-Transaktion – die zweite Buchung sieht die erste. Neuer Index (`user_id`, `year`, `month`) (Migration `2026_09_14_160000`), damit nur der Monatsbereich des Beraters gesperrt wird. Beide Webhook-Handler (Payone, Stripe) laufen den Paid-Pfad über `DB::transaction($fn, 3)`: bei Deadlock/Lock-Timeout wird die ganze Transaktion wiederholt. In `Payment::paymentStatusPaidAction()` werden Deadlock/Lock-Timeout aus der Rechnungserstellung **nicht mehr geschluckt** (vorher hätte der try/catch dort eine bereits zurückgerollte Transaktion als „bezahlt“ bestätigt) – neuer Helfer [`ConcurrencyError`](../../app/Services/Database/ConcurrencyError.php). | umgesetzt | +| 3 Strukturell | Provision aus der Zeilensumme rechnen statt aus dem Laufstand der letzten Zeile (`getPointsTPSum()` als `SUM(...)` je User/Monat) – Teil des Ledger-Plans `dev/2026-09-10-business-plan/`. Dann sind die `month_*`-Spalten nur noch informativ. | offen | + +**Grenzen des Tests:** Die Pest-Suite läuft auf SQLite, das kein `FOR UPDATE` kennt; der Race selbst ist dort nicht reproduzierbar. Getestet sind Erkennung, Reparatur, Monatsauswahl des Nachtlaufs, die Sperr-Flagge der Abfrage und die Deadlock-Erkennung ([`SalesVolumeRunningTotalTest`](../../tests/Feature/SalesVolumeRunningTotalTest.php)). Auf MySQL wirkt die Sperre über den Index; Nachweis im Betrieb: `sales:repair-running-totals --dry-run` meldet über mehrere Nächte „keine Abweichung“. + +**Nebenwirkung Retry:** Ein Retry wiederholt den ganzen Paid-Pfad. Alles darin ist Datenbank-Arbeit bis auf das Dispatch des Stripe-Rechnungsreferenz-Jobs; der könnte im seltenen Deadlock-Fall doppelt in die Queue gehen (idempotent, setzt nur die Referenz). + +**Deploy-Schritte C2** (erledigt 14.09.): `php artisan migrate` (Index) · `php artisan sales:repair-running-totals` (September einmalig reparieren; danach übernimmt der Nachtlauf) · `php artisan cache:clear` (Provisions-Kachel). + +--- + +## 4. Backoffice-Inhalte + +### D1 – Neuer Reiter „Events“ mit Foto-Galerien + +**Ziel (Protokoll):** Reiter ähnlich „News Archiv“, in dem Susi regelmäßig Fotos von Veranstaltungen und Calls hochlädt (Jahresevent, Firmencalls). Fotos liegen Kevin bereits vor. + +**Ist-Stand** + +- News: [`DashboardNews`](../../app/Models/DashboardNews.php) (`title, teaser, content, trans_*, file_links, active, display_date`), Admin-CRUD in [`SitesController:24-113`](../../app/Http/Controllers/SitesController.php#L24), User-Seite [`HomeController::newsArchive()`](../../app/Http/Controllers/HomeController.php#L42), Routen `crm.php:79` und `:270-274`, Sidenav `:51-57` (User) und `:548-559` (Admin). **Keine Bild-Spalte, keine Galerie** – nur Links ins Download-Center. +- Galerie-Muster vorhanden: [`ProductController::imageUpload/imageDelete`](../../app/Http/Controllers/ProductController.php#L151-L215) mit Slim-Cropper, `ProductImage` (`pos`, `active`), `Storage::disk('public')`, View `admin/product/images.blade.php`. + +**Umsetzung** + +1. Migrationen `events` (`title, teaser, content, event_date, active, sort`, optional `trans_*` wie News) und `event_images` (`event_id, filename, original_name, ext, mime, size, pos, active`). +2. Admin-CRUD `Admin\EventController` nach dem News-Muster + Bild-Upload nach dem Produkt-Muster (Mehrfach-Upload nacheinander per JS, serverseitig auf max. 1920 px verkleinern + Thumbnail 400 px über GD/Imagick, beides installiert). Sortierung per Drag & Drop wie Produktbilder. +3. User-Seite `/events` (Liste nach Datum, Kachel mit Titelbild, Detail mit Galerie und Lightbox-Modal), Sidenav neben „News Archiv“, Berechtigung wie News (Admin-Rolle `admin >= 2`; Susi braucht diese Rolle). +4. Routen im `admin`-Block von `crm.php`, `navigation.php` de/en/es/fr. +5. Tests: CRUD-Feature-Test, Upload-Test mit `Storage::fake('public')`, Zugriff nur für aktive Accounts. + +**Risiken:** niedrig. Speicherplatz und Upload-Limits (`upload_max_filesize`/`post_max_size` prüfen) → Einzel-Uploads statt eines Multipart-Requests mit 50 Fotos. + +### D2 – Top 3 firmenweit im Backoffice + +**Ziel (Protokoll):** Nach Klärung mit dem Network-Anwalt die Top 3 jeden Monat firmenweit anzeigen; bis dahin nur teamintern (Ist-Zustand). + +**Ist-Stand:** [`TopResultsService`](../../app/Services/Team/TopResultsService.php) (`SCOPE = 'team'`, Kommentar beschreibt den Firmen-Umbau über `scopedUserIds()`). Offene Punkte aus K10: Cache-Key ohne User, „ich“-Markierung nach dem Cache setzen, Einwilligungstext Profilfoto (Platzhalter). + +**Empfehlung:** Nichts bauen, bis die schriftliche Freigabe (F3) vorliegt. Umsetzung dann 0,5 PT plus Einwilligungstext. + +--- + +## 5. Aktionen + +### E1 – Recruiting-Challenge Oktober–Januar + +**Ziel (Protokoll):** Pro Neupartner mit Paket 50 € im Qualifikationszeitraum, Top 3 erhalten zusätzlich einen Bonus, Auszahlung gesammelt im Februar, wieder ein Ranking. Details klären Dani und Alois. + +**Ist-Stand:** Incentive-Modul passt fast vollständig: [`Incentive`](../../app/Models/Incentive.php) (`qualification_start/end`, `calculation_end`, `points_partner_onetime`, `max_winners`), [`IncentiveTracker::trackNewPartner()`](../../app/Services/Incentive/IncentiveTracker.php#L24-L66) feuert exakt bei „bezahlte Registrierung mit Starterpaket“ ([`ShoppingOrder::qualifiesForIncentiveTrackedPartner()`](../../app/Models/ShoppingOrder.php#L443)), Ranking, Teilnahme, Detailansicht und Admin-CRUD vorhanden. `IncentiveParticipant::rebuildFromSourceTables()` erlaubt nachträgliches Aufsetzen – **Start am 01.10. ist also kein harter Termin für die Entwicklung.** + +**Umsetzung** + +1. **Nur Konfiguration (0,5 PT):** Incentive anlegen (01.10.2026–31.01.2027, `calculation_end` 28.02.2027, `points_partner_onetime = 1`, `points_abo_onetime = 0`, `min_direct_partners = 0`, `min_customer_abos = 0`, `max_winners = 3`), Texte/Bild. +2. **Erweiterung (1–2 PT):** Felder `amount_per_partner` (50 €) und `bonus_rank_1/2/3`; Auszahlungs-Export (XLSX, Muster Newsletter-Export) für die Februar-Auszahlung bzw. Gutschrift über `Credit`; Sidenav-Verlinkung für **mehrere parallele** aktive Incentives ([`HomeController:38-41`](../../app/Http/Controllers/HomeController.php#L38) nimmt heute nur `first()` – Montenegro läuft bis Anfang Oktober parallel). +3. Sobald D2 freigegeben ist, dieselbe Rangliste firmenweit. + +**Risiko:** niedrig. Offene Details (Bonushöhe Top 3, Anrechnung von Stornos/Rücktritten innerhalb des Zeitraums – `IncentivePointsLog.is_storno` existiert) mit Dani/Alois klären. + +--- + +## 6. Rückfragen an die Kundin / Alois (vor Start des jeweiligen Pakets) + +| # | Frage | Betrifft | +|---|---|---| +| **R1** | Gewünschter Tag im laufenden Monat schon vorbei (heute 12., Wunsch 5.): Fehlermeldung, oder automatisch für den Folgemonat übernehmen? | A1 | +#Einstellungen können immer nur im aktuellen Monat vorgenommen werden, bis die Ausführung erfolgt ist. Nach erfolgreicher Ausführung kann der Termin im Folgemonat festgelegt werden. +| **R2** | Gilt „keine Sperre mehr“ auch für Pausieren/Kündigen (heute 3 Tage vorher)? Empfehlung: ja, bis 23:59 Uhr des Vortags. | A2 | +#ja +| **R3** | Berater-Ausfall: 2 Tage Versatz auch bei Karten-/PayPal-Zahlern, oder dort sofort pausieren? (Sponsor-Kurzinfo bei Stufe 1 und Deploy-Effekt sind am 14.09. entschieden.) | B2 | +#auch zwei tages versatz +| **R4** | Sollen Stornos der Downline die Team-Punkte (und damit Provisionen) mindern? Heute werden negative Monate einzelner Partner im Provisionsbaum ignoriert. | C1 | +#müsste noch einmal genau geprüft werden. Eigentlich sollten Stornos immer für den aktuellen Monat abgezogen werden. Würde damit auch Team Punkte mindern, da die Punkte ja aus der Summierung rausfallen. Ist der Monat abgeschlossen, werden die Zahlen ja fest ermittelt und auch Provisionen erstellt. Dann dürfen stornos nicht mehr rückwirkend die Statistik oder punkte verändern. +| **R5** | Kundenabo → Partnerabo: Freigabe der Kompensationsprodukte durch wen? Sponsor automatisch der bisherige Berater? Zeitpunkt der Umstellung? | A5 | +#das macht der neue Partner selber wenn er sich wieder einloggt hat er die Möglichkeit sein Abo zu Transformieren d.h. zu einem Berater Abo mit entsprechenden Preisen und Kompensationsprodukt was er auswählen muss. Das kann nur er machen. Er muss es auch akzeptieren und bestätigen. +| **R6** | Auto-Abbuchung: wie viele Tage vor Ablauf, welcher Zahlungsanbieter, auch Reaktivierung bereits deaktivierter Berater? | B1 | +STRIPE Wie Abo fünf Tage vorher wird versucht zu buchen. Das muss auch kommuniziert werden über die Mails Hinweise etc. +Wäre auch eine Ankündigung, wenn eine automatische Buchung kommt zwei Tage vorher, Reaktivierung ist nicht möglich, weil das über sepa lief. +| **F3/F4 (alt)** | Anwaltsfreigabe Top 3 firmenweit; Statistik mit/ohne abgelaufene Berater. | D2, C1 | +#Hier warten wir auf Freigabe + +--- + +## 7. Querschnitt + +- **Sprachdateien:** jede Textänderung in de/en/es/fr (`LocalizationSyncTest`). +- **Tests:** Suite läuft auf SQLite in-memory; Stand 14.09.: 92 vorbestehende Fehlschläge (siehe `2026-09-08.md`), neue Tests müssen isoliert grün sein. Admin-Routen-Tests brauchen den CRM-Host-Trick aus `ConsultantTransferTest`. +- **Settings/Deploy:** A2 setzt `abo-lock-days-change` (und ggf. `-pause-cancel`) auf 0; C1 braucht `cache:clear` und Snapshot-Neuberechnung; B2 braucht `--dry-run`-Liste vor dem ersten Lauf. +- **Pint** nach jeder Änderung. diff --git a/resources/views/admin/business_optimized/_user_detail_in.blade.php b/resources/views/admin/business_optimized/_user_detail_in.blade.php index f4bf439f..fd00cb40 100644 --- a/resources/views/admin/business_optimized/_user_detail_in.blade.php +++ b/resources/views/admin/business_optimized/_user_detail_in.blade.php @@ -267,7 +267,14 @@ {{__('tables.total')}} - {{ formatNumber($TreeCalcBot->__get('business_user')->total_pp) }} + {{-- Summe der angezeigten Linien statt total_pp: die Spalte ist als int gespeichert + und verliert die Dezimalen — die Team-Statistik zeigt dieselben Punkte mit + zwei Nachkommastellen, beide Seiten sollen sich auf den Cent decken. --}} + @php + $structureLineTotal = collect($TreeCalcBot->__get('business_user')->business_lines?->toArray() ?? []) + ->sum(fn ($lineObject) => (float) (is_array($lineObject) ? ($lineObject['points'] ?? 0) : ($lineObject->points ?? 0))); + @endphp + {{ formatNumber($structureLineTotal) }} {{ formatNumber($TreeCalcBot->__get('business_user')->commission_pp_total, 2) }} € diff --git a/resources/views/user/backoffice/statistics/details.blade.php b/resources/views/user/backoffice/statistics/details.blade.php index ab4f6109..bdaabfac 100644 --- a/resources/views/user/backoffice/statistics/details.blade.php +++ b/resources/views/user/backoffice/statistics/details.blade.php @@ -1,6 +1,10 @@ @extends('layouts.layout-2') @section('content') + @php + // Baum-Definition der aufrufenden Uebersicht; Fallback fuer direkte Aufrufe ohne Controller-Variable. + $selectedTree = $selectedTree ?? ($details['tree'] ?? \App\Services\Backoffice\BackofficeDashboardService::TREE_COMMISSION); + @endphp

+
+
Baum-Definition
+ {{ $details['tree_label'] ?? '' }} +
@@ -167,7 +176,12 @@ {{ \App\Services\Util::formatNumber($row['customer_abo_points']) }} {{ \App\Services\Util::formatNumber($row['customer_other_points']) }} {{ \App\Services\Util::formatNumber($row['external_points']) }} - {{ \App\Services\Util::formatNumber($row['total_points']) }} + + {{ \App\Services\Util::formatNumber($row['total_points']) }} + @if (! empty($row['storno_floor_points'])) +
Saldo −{{ \App\Services\Util::formatNumber($row['storno_floor_points']) }} → 0
+ @endif + @elseif ($details['metric'] === 'new_partners') {{ ($row['phone'] ?? '') !== '' ? $row['phone'] : '-' }} {{ $row['sponsor'] ?? '-' }} diff --git a/resources/views/user/backoffice/statistics/index.blade.php b/resources/views/user/backoffice/statistics/index.blade.php index 9566cd4e..aae83ec0 100644 --- a/resources/views/user/backoffice/statistics/index.blade.php +++ b/resources/views/user/backoffice/statistics/index.blade.php @@ -13,10 +13,27 @@
{{ __('navigation.statistics') }} / Backoffice MVP
-

+

Linienbasierte Übersicht für alle vorhandenen Team-Linien. Klickbare Zahlen führen direkt in die passenden Namen- und Detaillisten.

+

+ Baum-Definition: + {{ $treeLabels[$selectedTree] ?? $selectedTree }} + @if ($selectedTree === \App\Services\Backoffice\BackofficeDashboardService::TREE_COMMISSION) + — dieselben Mitglieder und dieselben Punkte (Provisionspunkte) wie die + Team-Struktur. + @if (($statistics['tree_source'] ?? 'live') === 'stored_structure') + Mitglieder je Linie stammen aus dem gespeicherten Provisionslauf dieses Monats. + @else + Im laufenden Monat rechnen beide Seiten live; die Provisions-Kachel ist bis zu 6 Stunden + zwischengespeichert. + @endif + @else + — jeder nicht gelöschte Teampartner zählt, auch ohne Mitgliedsebene oder Abrechnungskonto und + unterhalb solcher Partner. Diese Sicht weicht bewusst von der Team-Struktur ab. + @endif +

@if (!empty($performance))
Datenquelle: @@ -35,10 +52,17 @@
- CSV +

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