From 7f64e2e0aab3fb897193923f02622a9db8702c9e Mon Sep 17 00:00:00 2001 From: Fr0zka Date: Wed, 7 Oct 2026 06:14:04 +0200 Subject: [PATCH] wip(standalone): add missing GPU skirt shader binaries and step 6-8 scripts/report Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ --- .../gpu_field_port/AnalyzeStep6NearAudit.ps1 | 32 ++++++ .../BuildGpuFieldStep6NearRunner.ps1 | 105 ++++++++++++++++++ .../gpu_field_port/CompareStep6Captures.py | 64 +++++++++++ .../gpu_field_port/CompareStep7Captures.py | 64 +++++++++++ .../gpu_field_port/CompileStep6GpuShaders.ps1 | 25 +++++ .../precompiled/ClassifyFarSkirtsCS.cso | Bin 0 -> 172576 bytes .../precompiled/EmitFarSkirtsCS.cso | Bin 0 -> 343632 bytes .../precompiled/ScanFarSkirtsCS.cso | Bin 0 -> 2836 bytes .../gpu_field_port/step8_report.md | 58 ++++++++++ 9 files changed, 348 insertions(+) create mode 100644 Standalone/Research/OwnerShapeWorld/gpu_field_port/AnalyzeStep6NearAudit.ps1 create mode 100644 Standalone/Research/OwnerShapeWorld/gpu_field_port/BuildGpuFieldStep6NearRunner.ps1 create mode 100644 Standalone/Research/OwnerShapeWorld/gpu_field_port/CompareStep6Captures.py create mode 100644 Standalone/Research/OwnerShapeWorld/gpu_field_port/CompareStep7Captures.py create mode 100644 Standalone/Research/OwnerShapeWorld/gpu_field_port/CompileStep6GpuShaders.ps1 create mode 100644 Standalone/Research/OwnerShapeWorld/gpu_field_port/precompiled/ClassifyFarSkirtsCS.cso create mode 100644 Standalone/Research/OwnerShapeWorld/gpu_field_port/precompiled/EmitFarSkirtsCS.cso create mode 100644 Standalone/Research/OwnerShapeWorld/gpu_field_port/precompiled/ScanFarSkirtsCS.cso create mode 100644 Standalone/Research/OwnerShapeWorld/gpu_field_port/step8_report.md diff --git a/Standalone/Research/OwnerShapeWorld/gpu_field_port/AnalyzeStep6NearAudit.ps1 b/Standalone/Research/OwnerShapeWorld/gpu_field_port/AnalyzeStep6NearAudit.ps1 new file mode 100644 index 0000000..6d03658 --- /dev/null +++ b/Standalone/Research/OwnerShapeWorld/gpu_field_port/AnalyzeStep6NearAudit.ps1 @@ -0,0 +1,32 @@ +$ErrorActionPreference='Stop' +$log=Join-Path $PSScriptRoot 'step6_whole_near_packed.stdout.log' +$tiles=[Collections.Generic.List[object]]::new() +foreach($line in [IO.File]::ReadLines($log)){ + if(-not $line.StartsWith('[GpuAgreement]')){continue} + $count=[regex]::Match($line,'vertex_comparisons_cpu_gpu=(\d+)') + $mean=[regex]::Match($line,'vertex_mean_cm=([0-9.eE+-]+)') + $max=[regex]::Match($line,'vertex_max_cm=([0-9.eE+-]+)') + $topology=[regex]::Match($line,'topology_diff_cells_hw=(\d+) topology_diff_cells_warp=(\d+)') + $repeat=[regex]::Match($line,'repeated_gpu_outputs_identical=(\d)') + if($count.Success -and $mean.Success -and $max.Success -and $topology.Success){ + $tiles.Add([pscustomobject]@{ + Count=[double]$count.Groups[1].Value + MeanCm=[double]::Parse($mean.Groups[1].Value,[Globalization.CultureInfo]::InvariantCulture) + MaxCm=[double]::Parse($max.Groups[1].Value,[Globalization.CultureInfo]::InvariantCulture) + TopologyGpu=[int64]$topology.Groups[1].Value + TopologyWarp=[int64]$topology.Groups[2].Value + Repeat=if($repeat.Success){[int]$repeat.Groups[1].Value}else{0} + }) + } +} +$compared=($tiles|Measure-Object -Property Count -Sum).Sum +$weighted=0.0 +foreach($tile in $tiles){$weighted+=$tile.Count*$tile.MeanCm} +$maxTile=$tiles|Sort-Object MaxCm -Descending|Select-Object -First 1 +$maxGpuTopology=($tiles|Measure-Object -Property TopologyGpu -Sum).Sum +$maxWarpTopology=($tiles|Measure-Object -Property TopologyWarp -Sum).Sum +$repeatFailures=($tiles|Where-Object Repeat -ne 1).Count +Write-Output ("tiles={0} vertex_pairs={1} weighted_mean_cm={2:R} weighted_mean_mm={3:R} max_cm={4:R} max_mm={5:R} max_tile={6} topology_gpu={7} topology_warp={8} repeat_failures={9}" -f ` + $tiles.Count,[int64]$compared,($weighted/[Math]::Max(1.0,$compared)), + (10.0*$weighted/[Math]::Max(1.0,$compared)),$maxTile.MaxCm,(10.0*$maxTile.MaxCm), + $maxTile.ToString(),[int64]$maxGpuTopology,[int64]$maxWarpTopology,$repeatFailures) diff --git a/Standalone/Research/OwnerShapeWorld/gpu_field_port/BuildGpuFieldStep6NearRunner.ps1 b/Standalone/Research/OwnerShapeWorld/gpu_field_port/BuildGpuFieldStep6NearRunner.ps1 new file mode 100644 index 0000000..27399ec --- /dev/null +++ b/Standalone/Research/OwnerShapeWorld/gpu_field_port/BuildGpuFieldStep6NearRunner.ps1 @@ -0,0 +1,105 @@ +[CmdletBinding()] +param([switch]$SkipCore,[string]$OutputName='VoxelForgeGpuFieldStep6NearRunner.exe') + +$ErrorActionPreference = 'Stop' +$HostProcess = Get-Process -Id $PID +$HostProcess.PriorityClass = 'BelowNormal' +$HostProcess.ProcessorAffinity = [IntPtr]0xFF00 +$Standalone = [IO.Path]::GetFullPath((Join-Path $PSScriptRoot '..\..\..')) +$BuildDir = Join-Path $Standalone 'Build\VoxelForgeGpuFieldStep6NearRunner' +$WrapperDir = Join-Path $BuildDir 'wrappers' +$BinDir = Join-Path $Standalone 'bin' +$Output = Join-Path $BinDir $OutputName +$CoreLib = Join-Path $BuildDir 'VoxelForgeGpuFieldPortCore.lib' +$VcVars = 'E:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat' + +if (-not (Test-Path -LiteralPath $VcVars -PathType Leaf)) { throw "MSVC setup script missing: $VcVars" } +[IO.Directory]::CreateDirectory($BuildDir) | Out-Null +[IO.Directory]::CreateDirectory($WrapperDir) | Out-Null +[IO.Directory]::CreateDirectory($BinDir) | Out-Null + +$Manifest = Join-Path $Standalone 'Core\core_sources.txt' +$Sources = @(Get-Content -LiteralPath $Manifest | ForEach-Object { $_.Trim() } | + Where-Object { $_ -and -not $_.StartsWith('#') }) +$CompileSources = [Collections.Generic.List[string]]::new() +foreach ($SourceName in $Sources) { + $Source = [IO.Path]::GetFullPath((Join-Path $Standalone $SourceName)) + if (-not $Source.StartsWith($Standalone, [StringComparison]::OrdinalIgnoreCase)) { + throw "Core source escapes Standalone: $SourceName" + } + if ($SourceName.Replace('\','/') -eq 'Core/src/VoxelForgeCore.cpp') { + $CompileSources.Add($Source) + continue + } + $WrapperName = 'gpu_vfcore_' + ($SourceName.Replace('\','/') -replace '[^A-Za-z0-9]+','_') + $WrapperPath = Join-Path $WrapperDir ($WrapperName + '.cpp') + $SourceInclude = $Source.Replace('\','/') + $WrapperText = @" +#include "CoreNamespacePreamble.h" +namespace vfcore::detail +{ +#include "$SourceInclude" +} +"@ + [IO.File]::WriteAllText($WrapperPath, $WrapperText, [Text.UTF8Encoding]::new($false)) + $CompileSources.Add($WrapperPath) +} + +$IncludeArgs = @( + ('/I"{0}"' -f (Join-Path $Standalone 'Core\include')), + ('/I"{0}"' -f (Join-Path $Standalone 'Core\src')), + ('/I"{0}"' -f (Join-Path $Standalone 'Compat')), + ('/I"{0}"' -f (Join-Path $Standalone 'Source')), + ('/I"{0}"' -f (Join-Path $Standalone 'Source\VoxelForge\Public')), + ('/I"{0}"' -f (Join-Path $Standalone 'Source\VoxelForge\Private')) +) +$Common = @('/nologo','/std:c++20','/O2','/arch:AVX2','/fp:precise','/EHsc','/MP8','/D_CRT_SECURE_NO_WARNINGS') + $IncludeArgs +$CoreRsp = Join-Path $BuildDir 'field_core_compile.rsp' +[IO.File]::WriteAllLines($CoreRsp, $Common + @('/c') + @($CompileSources | ForEach-Object { '"{0}"' -f $_ }), [Text.UTF8Encoding]::new($false)) +$ObjectNames = @($CompileSources | ForEach-Object { '"{0}.obj"' -f [IO.Path]::GetFileNameWithoutExtension($_) }) +$LibRsp = Join-Path $BuildDir 'field_core_library.rsp' +[IO.File]::WriteAllLines($LibRsp, @('/nologo',('/OUT:"{0}"' -f $CoreLib)) + $ObjectNames, [Text.UTF8Encoding]::new($false)) +$RunnerRsp = Join-Path $BuildDir 'field_runner_link.rsp' +$Runner = Join-Path $PSScriptRoot 'GpuFieldPort.cpp' +$RunnerRspLines = $Common + @( + ('/Fe"{0}"' -f $Output), + ('"{0}"' -f $Runner), + ('"{0}"' -f $CoreLib), + '/link','d3d11.lib','dxgi.lib','d3dcompiler.lib','user32.lib','gdi32.lib','psapi.lib' +) +[IO.File]::WriteAllLines($RunnerRsp, $RunnerRspLines, [Text.UTF8Encoding]::new($false)) + +Push-Location $BuildDir +try { + $BuildCommands = [Collections.Generic.List[string]]::new() + if (-not $SkipCore) { + $BuildCommands.Add(('call "{0}" >nul && cl.exe @"{1}"' -f $VcVars, $CoreRsp)) + $BuildCommands.Add(('call "{0}" >nul && lib.exe @"{1}"' -f $VcVars, $LibRsp)) + } + $BuildCommands.Add(('call "{0}" >nul && cl.exe @"{1}"' -f $VcVars, $RunnerRsp)) + foreach ($BuildCommand in $BuildCommands) { + $attempt = 0 + do { + & $env:ComSpec /d /s /c $BuildCommand + $code = $LASTEXITCODE + if ($code -eq -1073741502 -and $attempt -eq 0) { + Write-Host '0xC0000142 encountered; waiting 60 seconds before the single permitted retry.' + Start-Sleep -Seconds 60 + $attempt++ + continue + } + if ($code -eq -1073741502) { throw '0xC0000142 repeated after the single retry; stopping.' } + if ($code -ne 0) { throw "GPU port build command failed with exit code $code" } + break + } while ($true) + } + if (-not $SkipCore) { + & (Join-Path $Standalone 'Core\CheckCoreSymbols.ps1') -LibraryPath $CoreLib + if ($LASTEXITCODE -ne 0) { throw "GPU port Core symbol check failed with exit code $LASTEXITCODE" } + } + if (-not (Test-Path -LiteralPath $Output -PathType Leaf)) { throw "GPU runner missing: $Output" } +} finally { + Pop-Location +} +Write-Host "Built $CoreLib" +Write-Host "Built $Output" diff --git a/Standalone/Research/OwnerShapeWorld/gpu_field_port/CompareStep6Captures.py b/Standalone/Research/OwnerShapeWorld/gpu_field_port/CompareStep6Captures.py new file mode 100644 index 0000000..ddb8d61 --- /dev/null +++ b/Standalone/Research/OwnerShapeWorld/gpu_field_port/CompareStep6Captures.py @@ -0,0 +1,64 @@ +from pathlib import Path + +import numpy as np +from PIL import Image + + +ROOT = Path(__file__).resolve().parent +VIEWS = ( + "chamber", + "tunnel", + "passage", + "far", + "passage_floor_closeup", + "tunnel_bend", + "remote_yaw0", + "remote_yaw90", + "remote_yaw180", + "remote_yaw270", +) + +rows = [] +for view in VIEWS: + cpu_path = ROOT / f"step6_cpu_{view}.png" + gpu_path = ROOT / f"step6_gpu_{view}.png" + cpu = np.asarray(Image.open(cpu_path).convert("RGB"), dtype=np.int16) + gpu = np.asarray(Image.open(gpu_path).convert("RGB"), dtype=np.int16) + if cpu.shape != gpu.shape: + raise RuntimeError(f"dimension mismatch for {view}: {cpu.shape} vs {gpu.shape}") + diff = np.abs(cpu - gpu) + pixel_max = diff.max(axis=2) + rows.append( + { + "view": view, + "size": f"{cpu.shape[1]}x{cpu.shape[0]}", + "mae_rgb": float(diff.mean()), + "rmse_rgb": float(np.sqrt(np.square(diff, dtype=np.float64).mean())), + "p95_pixel_max": float(np.percentile(pixel_max, 95)), + "p99_pixel_max": float(np.percentile(pixel_max, 99)), + "max_pixel_channel": int(pixel_max.max()), + "changed_pct": float(np.count_nonzero(pixel_max) * 100.0 / pixel_max.size), + "over_8_pct": float(np.count_nonzero(pixel_max > 8) * 100.0 / pixel_max.size), + "over_32_pct": float(np.count_nonzero(pixel_max > 32) * 100.0 / pixel_max.size), + } + ) + +lines = [ + "# Step 6 CPU/GPU capture comparison", + "", + "Each pair is a 1280x800 back-buffer capture from the fixed camera. `mae_rgb` and `rmse_rgb` are channel errors on the 0 to 255 scale; pixel percentiles use the maximum RGB channel error per pixel.", + "", + "| View | MAE RGB | RMSE RGB | p95 pixel max | p99 pixel max | Max channel | Changed pixels | >8 | >32 |", + "|---|---:|---:|---:|---:|---:|---:|---:|---:|", +] +for row in rows: + lines.append( + f"| {row['view']} | {row['mae_rgb']:.4f} | {row['rmse_rgb']:.4f} | " + f"{row['p95_pixel_max']:.0f} | {row['p99_pixel_max']:.0f} | {row['max_pixel_channel']} | " + f"{row['changed_pct']:.2f}% | {row['over_8_pct']:.2f}% | {row['over_32_pct']:.2f}% |" + ) + +report = ROOT / "step6_capture_comparison.md" +report.write_text("\n".join(lines) + "\n", encoding="utf-8") +print("\n".join(lines)) +print(f"\nWrote {report}") diff --git a/Standalone/Research/OwnerShapeWorld/gpu_field_port/CompareStep7Captures.py b/Standalone/Research/OwnerShapeWorld/gpu_field_port/CompareStep7Captures.py new file mode 100644 index 0000000..04ce5a7 --- /dev/null +++ b/Standalone/Research/OwnerShapeWorld/gpu_field_port/CompareStep7Captures.py @@ -0,0 +1,64 @@ +from pathlib import Path + +import numpy as np +from PIL import Image + + +ROOT = Path(__file__).resolve().parent +VIEWS = ( + "chamber", + "tunnel", + "passage", + "far", + "passage_floor_closeup", + "tunnel_bend", + "remote_yaw0", + "remote_yaw90", + "remote_yaw180", + "remote_yaw270", +) + +rows = [] +for view in VIEWS: + cpu_path = ROOT / f"step7_cpu_{view}.png" + gpu_path = ROOT / f"step7_gpu_{view}.png" + cpu = np.asarray(Image.open(cpu_path).convert("RGB"), dtype=np.int16) + gpu = np.asarray(Image.open(gpu_path).convert("RGB"), dtype=np.int16) + if cpu.shape != gpu.shape: + raise RuntimeError(f"dimension mismatch for {view}: {cpu.shape} vs {gpu.shape}") + diff = np.abs(cpu - gpu) + pixel_max = diff.max(axis=2) + rows.append( + { + "view": view, + "size": f"{cpu.shape[1]}x{cpu.shape[0]}", + "mae_rgb": float(diff.mean()), + "rmse_rgb": float(np.sqrt(np.square(diff, dtype=np.float64).mean())), + "p95_pixel_max": float(np.percentile(pixel_max, 95)), + "p99_pixel_max": float(np.percentile(pixel_max, 99)), + "max_pixel_channel": int(pixel_max.max()), + "changed_pct": float(np.count_nonzero(pixel_max) * 100.0 / pixel_max.size), + "over_8_pct": float(np.count_nonzero(pixel_max > 8) * 100.0 / pixel_max.size), + "over_32_pct": float(np.count_nonzero(pixel_max > 32) * 100.0 / pixel_max.size), + } + ) + +lines = [ + "# Step 6 CPU/GPU capture comparison", + "", + "Each pair is a 1280x800 back-buffer capture from the fixed camera. `mae_rgb` and `rmse_rgb` are channel errors on the 0 to 255 scale; pixel percentiles use the maximum RGB channel error per pixel.", + "", + "| View | MAE RGB | RMSE RGB | p95 pixel max | p99 pixel max | Max channel | Changed pixels | >8 | >32 |", + "|---|---:|---:|---:|---:|---:|---:|---:|---:|", +] +for row in rows: + lines.append( + f"| {row['view']} | {row['mae_rgb']:.4f} | {row['rmse_rgb']:.4f} | " + f"{row['p95_pixel_max']:.0f} | {row['p99_pixel_max']:.0f} | {row['max_pixel_channel']} | " + f"{row['changed_pct']:.2f}% | {row['over_8_pct']:.2f}% | {row['over_32_pct']:.2f}% |" + ) + +report = ROOT / "step7_capture_comparison.md" +report.write_text("\n".join(lines) + "\n", encoding="utf-8") +print("\n".join(lines)) +print(f"\nWrote {report}") diff --git a/Standalone/Research/OwnerShapeWorld/gpu_field_port/CompileStep6GpuShaders.ps1 b/Standalone/Research/OwnerShapeWorld/gpu_field_port/CompileStep6GpuShaders.ps1 new file mode 100644 index 0000000..c681303 --- /dev/null +++ b/Standalone/Research/OwnerShapeWorld/gpu_field_port/CompileStep6GpuShaders.ps1 @@ -0,0 +1,25 @@ +[CmdletBinding()] +param() +$ErrorActionPreference='Stop' +$hostProcess=Get-Process -Id $PID +$hostProcess.PriorityClass='BelowNormal' +$hostProcess.ProcessorAffinity=[IntPtr]0xFF00 +$standalone=[IO.Path]::GetFullPath((Join-Path $PSScriptRoot '..\..\..')) +$shader=Join-Path $standalone 'Research\OwnerShapeWorld\gpu_first_port\VoxelForgeGpuMesher.hlsl' +$output=Join-Path $PSScriptRoot 'precompiled' +$fxc=(Get-ChildItem -LiteralPath 'C:\Program Files (x86)\Windows Kits\10\bin' -Filter fxc.exe -Recurse -ErrorAction SilentlyContinue | + Where-Object {$_.FullName -match '\\x64\\fxc\.exe$'} | Sort-Object FullName -Descending | Select-Object -First 1).FullName +if(-not $fxc){throw 'fxc.exe was not found'} +[IO.Directory]::CreateDirectory($output)|Out-Null +foreach($entry in @('EvaluateFarFieldCS','ClassifyCS','ClassifyFarCS','ScanGroupsCS','EmitCS','NoiseProbeCS','BuildFarConnectorRingsCS','EmitFarConnectorPanelsCS')){ + $binary=Join-Path $output ($entry+'.cso') + for($attempt=0;$attempt -lt 2;$attempt++){ + & $fxc /nologo /T cs_5_0 /E $entry /O3 /Gis /Ges /Fo $binary $shader + $code=$LASTEXITCODE + if($code -eq -1073741502 -and $attempt -eq 0){Write-Output '0xC0000142 encountered; waiting 60 seconds before one retry.';Start-Sleep -Seconds 60;continue} + if($code -eq -1073741502){throw "0xC0000142 repeated while compiling $entry"} + if($code -ne 0){throw "fxc failed for $entry with exit code $code"} + break + } + Write-Output "COMPILED $entry -> $binary" +} diff --git a/Standalone/Research/OwnerShapeWorld/gpu_field_port/precompiled/ClassifyFarSkirtsCS.cso b/Standalone/Research/OwnerShapeWorld/gpu_field_port/precompiled/ClassifyFarSkirtsCS.cso new file mode 100644 index 0000000000000000000000000000000000000000..e574a4ad00297d10953a41c4b213b09212e074b6 GIT binary patch literal 172576 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

#H7-VE55 zuJCuwM|`107JlVizp4+dFl_`+SZ0fXm~&eD1PhDX$?r!mP~rq6Xc$LcY|QYJQOXP=uJ{aaz+aBgfmY?3Jt zX_0B4?LHW|=1gVUrXAb50z2+DF3}NFaQxrs^3uPYixcCeJx?bdF(#Tl96K(I8#DoL zW1kki%pvlZZ^mt&izA(5t&WA+_n9*)OkJ$04X|l`=-&!gw%5vTXS0L2fa{#8Fl8>$ z0n3=}_Z_})oeW=ORUg7*#3826&1ysCgFVoJTXD$m`bYS z5%J+0@|)kY9-OhRwCIN(hxi_<2hXzeey;nl$wWSI`VQBFbKanr_}HEIFsHBLy<%Zq z_r@Q1;J0IBRQn5`3HNOE;2bN;`CM@282{7y8}$xveXbR}=2e(%kQ!?}%r6CgYf<4f^H_@Exn(V~Ph%-`#CJ7@eW_It)+xl#%hA_e((6 zB^>7myaH#6pS=9tXyq%c(qgaiQ#b23@DBJ8zszYBCY?E}!lXA(R@lYP+vlXf_f%{Es^iVi5^>cz@!? zh2QCLec^skwVtid>C;ZvGR-f+gL)ln8uVSdexV1r6{hXji45lxaYWyxdbYaI;sfOR zUUG%O6F%k~j_I?W4el`Zrum0n*fG+|Bl+fiT(zHiZ1T-}6nIc)p^bZ$#vgp&3!tB8 z0JYUWRhIfx7`8*FoxZb7UyXUzv$K8-?9e;Q^3%7RM}BSf6pob%f9lWPGhh>XNS8J8 zd>;##^=y1WZP0Zxv4}C#{9-*D9{LAb{6ovV9{7$C@Q?|evVCWHq(i3HGi{`0jMe?1 z;E!#N5pc|T6()|kvcgU}yrH$`faC8@G_>)T*J$A3`{pO;kxv`& z_WnO`c++OirJkL&aPWdwn~?3cgK zz<}|;Z;1>4`j5AGNrc&e{{t#tBqJ>mFs%roYs zuQ<>FL#{Z`R2*Q+k{{>pn_qK*W1`D%{_n>v-(_9ptnVA=_<}!rj_dP?$$h+|fGz=V zvZyzQovq#so$o+_!(4@jxh`wg`Mxo>N1bcp!SN@f54t)x(SyDm$H1O!^;78GFK4}p zli@SQ6CTFHx-LB2SI2fK))zwua7P$@@-#M8j`cP0h$$`h&(w9g8;M%R0!PTR(g`Yidf=auPy8fYW*+Une|c1t()cgd)n(N4?&QsD1!}!bUbM+G>s1_63!+_b;%leo zyPM0@q59TXpgVG`Z^QS6zCL69N?p}B*Zd;SCD`cON;k{P>prsU+9qwy=T8;3-UMR% z_#A|jw6*fbF6b)kV(&vXxaN^cmpbpwr8~c$>o!Jxds_$mrJS0((SiJn-_TDS@^I+W zYFRz6Zsk{Kz~RsLTF@JQwCKTlJ?@#J$!CZD9vObew@=%A2PZ#yzu9pb3_O3|4UW&v zz(G&>(ds*4O-9$n{6ru6i9;K@wfpbh*W_|6-k^KCPi^qqrx?~gJ_oFH#x3ft6MuPL zEVRa{(u(K$tirUr!sxqaTjwfsvgtVR@PTzA_(IEXcZ4b1d-p24kF9CXCtxQ*?|7}a zvCeH{r}wpMCCBindp^~e=riBDHHNgEZfDOYcC{@54Z{FZ<MXPu?~>NN zYpOhSA`(?6b)g0KkWO{)nvpN-s#nUl?p-tTeK~!jPBY~+ZSnd+k59RuHaeu(vM&Hu3oe%bnF#MwoaLG;B znmXt2TREl=JZr1?j`eBcz5M<&^3aZq#k?NU_ci{9_n*lc0D549vCR19`a|h{xif8xfOTc{v@nnD=u?-A1-V9ihFthmwV2N8}oKAU-DDM-5kJ0 zzlwYL0IoG6{qW=gTx(zA-Z+3u4YKNR`v5L=ri%Nif@>Wcna2^YHg`9x)oGkNPl1j5 z&rp-8JU<=h`(nm3n2P(^1GqewtGIU#;PULZ;=WXHeI7B|wFw;ep8;0s<8=Dn0?)Qt zm*5Yd$I$0orOoI6dCvwf<`;d(y{*1Q4lr^YxK%&<)WtlYJm$x!gRnO5dmjFB>Okz( z$NgvE&$^HM=>U zZOm~aZEgMC0`^jWL=UeUKF0v|`F>x)vHsC_^x?bO>Ypl0eJTv!L8qPP`g)u`@XZmd zpRL6LJL>lqt5FP5TZU1^)0(+9pu%#9#2p8X)hL;v4v`H}N$+2jZAd{(o!u z@c*r8-P;3NV@N--qs_Ge&x3Yt#|ChOag6S?$I&LwoIB_g_$`JU0|&4AhCX7UY<&Yh ze2od`Bg|_kF!hm+c1a#`q^ou;)203DV7$Op7yIPNxw=$3Y=Q3WeJ^&$sPjqr(2O|r zVGB6;ADW5-3>;zD$hprOYQ8Y9b@?qe>H;3MMfaW=uXD&TcjVqPbB+X7d1l=;p9OXO zo2>rKtkqkPSMv|GUwHT|h_zzm%eMCnwnvVfcyRp5=!3U)$S$Y#xxV#T5cK3?+Vv*B zhL3X@9{91gJ_~}DXF#;O`X=AXzvfzU4Dll8W?eq7f1S3$)OE?1J*Q01g0vBOZ8a}cyQLd_sXgFU zI&4EvbjfE{^Ly_X2ftN1bw8WDtf?WJH70Vd^z}{US#=rpygPaGwaaw^ZSu_P0LNa> z)|)ul^DM}CRsU7r8Vhs>$J$)uA8Tgrvv?+yu-!F~b~y%!g?<=)TVb=jd=>H=91rSe9;tMx^WI$Ao(1jV-=3ZY3Bzy7sks{+$g}tj z{lv*UoOPB%d6+fp_PRam8t`H~kWa~#?~0cDIO76OWYMQ=VdzXB_i`s)Fa0K+Ex45q zeChHX&H4Tcc}sNkNheOoo7UgqqozOnfG6La*VSk8u&yo){>E{oqR=CRz9l9*zfO*k`McwS^X2z%_2jP}WR0k4<5;BOUn8 zHTakpYAmG}*Li_oqp#Uh$A$0L>5Gon2U#qI~=CcZ5(@E%Y<0GoZE_kb04(s{b-m#lH2=lnR6`bzR=%|l z9`JV$8+?G@kxdJ3g<(4|eKEqoUxLxMj}BO+t7}1@4e5XU%b20w>w6Tyj)Mm<_rBp6 z+kl0ATYKMNV_dWEs)jtoqK%(JHDvI8?-w0>kDL1eVCE>tEG;>VeQyKF4FtFZkh) zvWA>C?yl3&75^{UZw+*{deepXb=!`5%@#ZL&lYWuW8iK12N}v5eFv=ij`PDcTUt@vHjOD!MrVo5&yOsgZ7y?V4PoDqH&I7+tL!~xD9j>l3V;$MX z8#MZFsh&e^h{b7NB7hu>zi!5kHoI3Zw z<=h%%%>|B$F1Pt#9l+!I{7UP?Tq{Gr#`Em;;W@WZ^J>@g&Liu?xxWpz`~RV-G4qUr z`Y`?V`40ZV_8iB+vVKO)xaS0ay@{{k;~0Tf|Jm02R_|ABWBt{B3svdRA;;tlV{ACa zGB&68KGJnnj&>MlT3~78yat57@_^lKeOP&Q4Q$--t^8{qwLVNf%zKR4HpZma6!cm0 zWzQ>7A5J>(kV6Z7rQ;YKX{B58vpAKfy1+Z@!?V1T&U1;*zO%{8`Y`ddKFpeFw4v$( zZq@VdO&{x~bG(pU$4~XGu@J}lFtS)PQs=xf)uwmX zH^;#{_1cBazTJh*^5$ANa}1x77n0}Q)xvAuLoawm{+nvLjtArPFGqbie`m@)KkI7p zX{;MtPTp4^#t#*S-|(09QDFLw`vd%C3vR7rzzaIteRZcw2QTsE?R5&g7#mH0_yVW( zei_~915Y0A2O&33%$*n5lhCJ=_tTp!MSpCctuJJnG zCQDe=M?K()j7n#0#Boj6$NV&pkRh(~f_OwInypR?ERwf0_TpLNdNU&pul)1oW5j_(dr<`EsR z^8M56!_cfgBre7X*~C=cZRzhg=qw*wa9C#>OXu#oe%6*gkMU2?#%Er~=yS{ztZK9z zV+VXg*YtZ|y8%Z(T5LhTdwf4{eHi)3!R}v7eR$fh-0)G_&%Msm>cba2vM#JYX?uFA~@{F}zuh(Y`fu_cgid?>>PxFl z=5~1KCtG9N=^pp^)%pQCdCmA;&t-A6quZ!2kfR@6&v$>K7j*t!1N`qsEe+hLdp&b6 z9Nzh2FC1F;!r_?xUvm98V7~Xvy*>8=w7&P;`+z~`Isu*V13a+{+zxv=V6@NPcTc6XXovvllFCoKsVBuwsm5vrY z!0j+?$4+pZPs9{`kLufuld>H@OAj% z;cJ72`pd+#{w+aW1J#2z^vF0P?=)&s9ggksj$OPXUG-}4h%Y$NUeR{D!7IL%*P+3- zA$P#)o^kXgzrj24y6^BAF~YCl=sRWV!}59Ew+WMubL|vHt4&=VebA}%eY%pT4zx!x zhL^g4BhOBUedy#h%`r@iPU;QKilba`kOj?(<8@hn&{!ky`NX_8tg7aJkd2|eZlu00-pW-9ct*jZ$@8gVep7~pSZn74*aM_PQULn=pTGhV;oq$ zcL~gVeBR<@`B)1C&+EUf&tHHUE9~XG!;G;o_m~FHzMhMSCHg~Gc3iKOgt;Cx&fP|@ z4IQRD<2_(K2BA~tqkI;Ld~!80S?l1y&=r{aczpzhEOBVfaU8>o_PoW{{<*B%cG@HU z%0^Dry~|I~5syya_0qp1-+imkOJP%9)xC)o`4*nmzgM1)cW_r2bWf9adA&+`G5(8Z z<$jL62A;P#xq2`9I6pzxZN*3Q9ofn?2-%Ev>fhRfjri!u)()GtR!ll<$}3w_j=o)N z?XdF}!mn(-=FfP5&hd|IY^6`#y%*|wmCiTwW7g2G@#lNd!hA29^PZ2f+nnm01c%%j z`sBO8BUfJJOlZL2&-Y)ThaW9^vyP8iMl|*N6!-wAz1}0I{(tho$+^$5zd?_~{rOt< z%V)H{7XS=@(&BS;>3i$Y*Xe!sHu`qC;&t7l@5UZEbx)~GTH_XV*xU!D!!Gy8sda0I zE88_)hcRY2?=b9rYuF2{+l0>Fj2`-54qEqCp$}SqV?@l-i9K>=JkbXq ztCzS@|IBw%2Yo&x<`^EeM^5E~YyOPS%RQAEUE3q)-G^Tr_9(mAu-hE#?q|Ml#rtRE z4)$`fkNXb#@SpE$sZ(_27(e2{*zP>YzkE86@>lT)+~?nU|3%6H51HuG`{7AHIt8ES zzc%nW*RS%Y5B|`UeziY@{n4Geb01BNvH8p6cck(Y7am`U`qb&CrxVY@S9tj*t~u|& z_(vS$XK%p=l>?7e|8;*O z?0Ejki}6{<8_C_+E#v({>?w#X( zl(@`?Tl?&Af7x|-aR-;WPR9+u+~mvse#hPJ;Cer%z8~Dd#g@+ZqdU0NJ3H>jcW|vq ztHUREaIHg%`~8M%O`oy$5HTih#P&tBu0MgTdn1kd+CJBQ5IDDD7VE(ayMA;Bm*?l* z2e0qo`o4g6{j}j~7qD*E7U#b`p8Esqvf_0AT?_9zupYu6KA)q{xk}5qa`4e(_>Vs1 ztuW>keaHh>x~_vT^8onBVScPS2us_CJwHz!jD7L1IuSCdS>coOh7EDI8h?JE(RSCX zJSW8l@S@H2YOnujKYh@G?>n<8FMdPtUi9&N^7Ttm>`9Km|5>*N2xAdh|cANd@r)(G;`x168G8kJ-CLZ?3du7#Kz zLtxK};Uhyp$e1Q$Q16Fmp zt_#P|(stkBGh(Ig`c7Z#!}9sm2Yj!wz??hM(H_a8PdaqDPgnBPffjwshD(?{!I5XD z!$;_3eb_PVd{b{|Iu7!*MI2~44!oKBwDN-_3;=m1WKG4AM-=RX@Y zmQLsMOZvd4g%_=`;mfpJn7@tbu$tpRIPRZ1OdYIc1B=kJ0SFy0|U4mGgy(d4Nv(sw=Wdz!p?E%RM(;o?hws66eZw(*+}jaP&W~(8q61$#THh<}ew%bNPSP2Ro{L_NT;#oG@vV8L zuC(&-w=nd{&p2v-hoKMmrhN@7FX??Jig6gQ%#G@UZR^~IA3VSh+I>$^_(3Pk_ol%E z1}|XXtnonS@WtTyU%&G|#4&y39`K+4<2wJ{@h%xW&s%&gALdoJm+O$S;SbDuAUu?b zpTPC^E=P2}=Ln2-I=o_CoBl#q*Ym*1VF{1C#koENPgx^w+Yt;ufop6yj=o)%Jd8Oq z?6cL!9fmJBH*SM(%9?a@{HX`+Jv#XKJeT8_fscQshd2E(*K$oZ=1kht$A!^?lgp$~l?N2~6g53=QB3x9HW&tvc+9|w>04{Kt_pLG5fnRBnp93$fr zR?qx_q1(8IBwyCa>wF>4gSYav58Z%i*U(da_w`)Smyf{-y;5e!_xCRNz`Tnb^f$-C z=he`gw(eox{UXnEfT>TwlK;3T*=6-Pzu=_K@m^fMV>tBsOdgLzzi9Kl6Lj!B7mk6` zYLCB7=`eXXmsS|(JudPjw!pj=NQb{l-u%4_F!7}~U-TFRENuqgn0jAFT$+E=U;f^u z`ryDaYB2qZj4UB zH^<&**NyA_zw~#=V=WtN)%1h;AAb4^8^G-_{M~(HO^~_3SpDU$8`m0+xUMAP9>n|Qz|ltHi(l{$^#*Edr-ME9;j8~TEi{fXTE~cE3p#ZU zzrXXfkR(2`@GIwD571TLF~-)qG5Uiqj@JYFkfW`%u4Ot*dao7YWB=q?`yo+#{rAJZ z^A;x&;P`tT4Q>2Y?G?P>oAZ+6htQ+ywiTP+S2><~a9!ttq4&^n=MnIHCszGzi*Kz% zImRAZbT8ONjXL>hKW+C3dJ+Tm6^1N*fo`047&4&~c1zb)9z3C=EnSaoEV_AL2R=F= zcZH#YJi+n4;>d>eTFn@RH$0WmagYZe`~wcMpy@dDF{g!r3(YUO9z5n-#{22@;F)*G zeej6+m^`W;Tze&9kG}(G#ddMA@uv0g>a^TGR;F5s>(Y5YMI90OoOi!5AN1c!hfl3( z(jL{Bz$v;JC+XzvJw14#L*^p*0WZEao`K6x9t4huU>CZ=-!;G5S6W!jb<*RY3S;}IP(h5q+W^;;}?>0i#piShCo z_24PnF++=9#!de6t+>s(xY9Y+`dFC0ubk0g=*qcsc!BNnL;rTTve!K2_$$8Gx+?RC z4p_zPw(szT>ttoor#|plafm5%7@TfH=K~Bna63-)MOmimw!+snv9?hAgAc8GIF34u zam%@5M11&${PcUR)yjXJ7X8rU9$)S1wFLCiUtKmhp-;*jc4b|``XMytWNd=goTFaK zfj)lo^Tj_Lc-k4VJO4a}rrW>Zqz+H32iI5`x?~-gV|8_{psuvq<2A3tr1ScNuS2)A z+x95l#>EygMm?7B0RJiVVDPjbo#E|u7@qXe!n5L8 zHF^7vaGW3T3c5Yk^78lY>P{=H(_-(B0|p;;vwlNgz!RqaN4}QMoYm>1H&1rh%fZ{{ zq+N#@zgm-Ym^_W&V&hf(%tOXmze4B!NA!Jnysr^8h-dD9L~W0ES7_b;h~vKh5$C?! z%>6p|y|ljD-1~qb*EK80*aHvz2yTbrBVezhJ)#5u2u9y6I(T-vUMKIe(FY#Hf;xG} zbN?gY`ojH>dOcg8)2E%TWzsJp!+IsWBBog@la5xubQrv}0h~Uc(D$gG-Fe~z+A63TlaC@erg8Ax9(B!1$CD6@3WfU;QL+x{k*5! zTm7THU7rracIec{|LH_uk9pOzKYI7C2mZbHpyh`R@;{ArATayjPaWBNh8{z3fN3Kz z{6d`Y1+_uf$;2Yo!RdGF*~sp+_y-=`>w)hW0T0`)XAi&Ud(hx_I%Il1(?(jxSl{0t z{@CUi0mq!zVd9u8JB+czx#OZ+T;!kBZY|Km9G9qVr1VaAsAT7xd|WsDrX!wi1V zB~NsXn0$eE6rc&(?7x18dFDFi96VyKCT`WN>m6qJMNMz#!SVN!@8#U=ItDoA?MGQZ zg`VezwC63pmd_eb{Yh(G7g}nty*-Nc%di=o6-FO^g{QIUa;&|BM@(t4hgKN)+9=F= zc8AqG4&+hK=`eK&Sk|+L4!dvV->=cuv#C4ud!#{|V@G|Cd^z&U{{LUK5qfQP?svPT zTYafL;C4D}W4xnF)we4bf%h`{Zqcdx)8tis8=lm9;c1=wmM*KFZzgZ96=K|%yl9JO z)vGwB7DRjA;_F7u7hR3NI&|L}3vsM(!#8SDDVy~xb#CL_^NT!>V5@IC-IQ1FZ=+{l z+mx;E=l@3Uu=5s(`SCdjC)evP?1HYtUXDIwql?%0u2<gtFO^v zjIG$`X!-MFig(q^k z*Tt{&e|cO-<1oiHefWg=^OYE5r=Pz09!0|s7rMV3@|sUBbQi9Fy6)P8?!Vpi)duus zuMFQw3)Q&?%QXPUz}aUgc<l&74Clyw(AK9yENw8??F45P0^{a^Cqy+>#%? z#_%b8ks-ePqZ;rI>t{ap+5XX~_6z~0&G+QE&rqL(&m#}=AtvrK#Qa4Dc&z#G(Kk=u zc>6n{hcH_A_~?Cq+Vn*yV9z%98Jc@aMfa{V@Y-i++R7M$R=d6uW0d)&FYG^}effs8 ze=^nz*xUKy_0^u}+VjIboob(4vMavz&KZ5@Exwiy>(6K7J<;^ppeMILV;`hfnU{TB8&9`wiD; z|HSUv;~FbO$%qa2L3*@8J5}T)TeS zaLrA?x?NkGyH^mfu2-Dy&$4(gfOQG}@L3jp&Q;p}?gT!13}4ZQycLEY>C>NGKXnjh z9snOX%#T$EVQKrwQ$J4~%+bZaYAwiQeTYxa8~HyfY4PXBwJCV64SD{E4I`)J8nM?< zi~)W44Seg4DKBc5%pvx90CsBYmhQKbIoAll=o80x2=EcP%V%WpcCR3Hp(Pf;?#0P_ zVR#~^=Y^O-dH)S8c%|JOPaEr+KHxdWkjeRx{aiQD>ok7TfNfEeO}-rKpH557cHm_j zI_0}bt4we@Oy8-GJ|KqZZ;oL7-1YGp*?ZB;UO}|h!@REQ+mc!F5=IMu=!_S5#t?mq zXVnE65BP;RQJ*Czst+*z1C9Q(whJ5@TGkk}J|lA+K&Nbf^C3R6q_cjeuC$D?{y##X zLw{QRt8Y3?9P6pPgJmCd;7X@F?4LZVRtOz)mG->FSADiK);_&!zuy;MLlIXK6Lwx_#>}u?VkM<$j;#q4p z=mI~-ILE-j>%O6nSSZ^$IcWEs%Xx<(6FOR8>cg>p@LuI1M>=5l>1uo%C)?8H5(ZCv z1CBXPd|Gw#`Ilpq7MG>jb%l8ZiUdD!Ffl%yupXaW7xY|9jv-#;+UOh*HCu>aPkgL({mM-9S z*qh0l*UK39DTn82#j~yh9Dh4twC63pZahaj@?ZC@v2cu7n@j$&4&*+I=V@hYjRE}K z{a$)q!&cvRx+(9g@0bssk2N}Zp?H4vVTGNy5T3U7_F6XnMrUnB_RGnGyU;sF!Rd8;^uCpcS>yEkJl`>bhVcL|^CtIk&Q105 z-NYVG^uS--%RNTB`b}HaS)R~=FCDG#%qq_oTk z`dC|Nu?1Y?Hu$EjNjJx)deE+P;1eTp%nLo1!o+o6;MeF&d-}NWnUXdRyb-r+y>~9-hib|&K$NEQm{7pcI z$-}wSVbb?JW*>CmdM)5sUL}v;iOhJ4FZ~jav_D{JGrSzD<9_fWmM=p#KJs@W184Ua zW7v2C)BaZ@X6_q=9Q)9Z7}on0@4fw-!#?}r>Ha>cOx!~p#B7GL4) z_8#EWx`$! zp5ny1IQNPbpH`mh_1JOPaXSulz|f5rStDAFjQDu-(0Zs1L{d%o;QOeXXYLHI9K*{fwA#&k6o{i?8L=*I4-6>n5%F79Ql= z-a76&zOnAG$3Z7=_YLZFzN>7UX^p$JtDZ-Ny=i?|9n24dXZn29?{ob0JZgQIe7N3Y z;B&^G`W*RkcdkWG3Y++bn<$dys8f~4tjkU z-koRH1>6pMGkKTSCFJltxp;n*zayg0Yt?y+ll|lG59U1tzG2*{L-#E@!%H0N!#U<- z%}AZ|!@V|rT!$^au3^)+*RUyX*1}!ekQa*Qo7KY2iLPm|E5>|Y^XPLt7$@ggrz@TR z!_|k05wUuDeYk$N#yvm3EhV2ueLd&)t@<#2=rGr4)GCn=tou!W(SqC8fAE6N_Ez1g z(-{lsq=#csgr}cgr-PA*w-UkSSzj0L84rA<52h&DjwAhb4*Qy*VXX<)UkGaql z**zaZi!5XkS7mnFg!MXuvXreIBX{rX>dv#nrXBMc%Xvfoza=ndkI*o#nXKhYMC~Dq^Cn5!21Ja);q3&aF{$9DTb?d6<)tVV~_0 z?B&qaHQwNxvV?Vg)B~Q#=yb25j~I#LnvOnrIo6ONuJeL;L|@v&F+9Nc*@!d)Z^Ui- zP?^YK%-ou%-S>SgtiJCsbl9(KStbWOk4+O6g`aP*_a z7WC7%U8Xpnw?2$~cu;4so`?_3$>@j<-kUrA!N*?c!>4ahAD;FHecIi1cv^jU@(A6t zF04OkU8{4ff3(NF)H+NXjcJET?|kSm?C0F;9mn!2d2=734wGlpe0se;V-WP|6Yw3Y z_y<|Ug|^4weto#cQr3{RAdb(&(AjvxlRn4Ph-bb#q`V^>bKRiZ<0vohd(@p)*h>53 zfWb%IT)GfcrAxcUNe5T?;Plb`Q9`4_SV;Z@45F`H}}0%c;E+k zVmr7UhTg#NBe)#~9r#Bu`fky|v(xpudFPKl@E{h{%{!j^2m#j@?juz7?K$?*g+BBJ z-?dEoCHkn}v8DkQbMml83vP$Oi#}{2u6;hC?`3`ankRI~b-e};d7&?3#4+o5!3J?0 zdjpnZj^kg<9Cn7m(X3Cr}``{0q@#=KY7tgxS#a`>% zjE`R5CKl0`euqZ?t-gf^YiRJj_c0GZr_Qnd&VBL4w?(GcGj*lKKm8qP@UhJ?0*?1K z_JM;uT61NGN$<6;%Oh5d*Qh&XO#?b=4YcPizUF6(!`I=5d`B9Z=R>bEkiGuRF`v2y zst0Z8k$#2NIoILX9`BvSJJJ{X0y)R8XuI8vgW_9b6~5Ru&n!J=^_+N3D`^W$WKWKbU*ZfBty7e_v#@hJ=oVB}q5v|uNY=pSM-Oj?6_Vl33EM&ZL5u58#+uK0=B=47*~Ge=|AnjN8oo` z@ezIE^s&x02-%Ev>fhSabA~*RVAIy}d#9W7%GQ*lZx>rT?7W2{SGHdBM=$6c|H#Hx z`iztJLS3)Y`Br|smNRVpjQ651-pk57h7Qh2OIlaK5yhp;It1{`wP_`L<1*faO`i;<1l`IQO{1YUp}KXuY#wpwCLhqIVrc% zfg8GY8&fX5(1Ne-97SK&A2@#b$&0j)<0IL|E$%lvf6y;zUAL(laP=3~`_!w$h}~O_ z?v_oAH{|qvS)k?mC`{Si*Y=IE75fWSJkbj}e5_vLMx8$G9(Lt3V({Tn`wP{2z1ywN z+{Yc5dJVd^ztHx;dy3pQC|le(-{Z*rweMSDC%J=hY2RCMOz!049vARb7shwz(eZ%= zpMBq>ayb^C^`re9+fUAm|F8I*_ar+X#?O z9~}F+c76Ty;`tvgd{`ffpVyD!2i6GoLn|MyZ@u29UEFshe)tRj@R{)mKac+O^*+|a zKcm0Lt@FXB@G1XKKKP=I*PV~^w){Ww)2AVK_y3TazKj0y|I`QHF}7De>7&4}xJ>@( zqv)@=Og{LR`LpuDzv#cmYv_Z2>92TAKKPgUhyEXo>kYnSF7SD_u`kGc{}Nc_;>>l4 z_sNUssrdo!Dei&4eyX|#@bea5a$l_sHyn z#28-rpmWTtcbK2RVqX0tT4|%kw!^41@}ULiw?@8)N7s#WbS&PrCgnKBaPme+&R5-%;drlqm{VaW-jd|1c zalJ>3oj1VGTYN1auaB3x=)HIUEc`;>d5f>*^L~W)gK?h;4nCxP^~sBxb8#H``)%?! z{rHDZ-wSBnlZu?ixDX$^=bluxMpqWN@^nwC%88XDZrggPQ{UGq_ni5g(m|z?4!j!$Y z?J*aE*X>|TIA-uCFmU>q`TbGT2abGNb#t#lV?j$So-)?Bk8z(Wd`A5Td#DA&=RZCD z^SA%qkoP~vo*v|}-)Vi{{>OzE*WBD=5WUY^d|mBRRenJRx&{1iYs}V~51HCSjKFih zG+_FUWBdbL{J%QA`)|&_RpW$pmpHU3E81K8R5=zp?yY@{xHcnOT;{_qT&~L<_r)Dt zuGJkk{Bn~o>w%8D-N9vz&~ZPwgUh<1<9>7pm$gL4{rC)9FQ=`poTD8?zq-&aIeHlk4(-bO+bxtnz(*2bcFAI^Ul*TeWz_xe2qSGm(O6~{iPSjJb~%kBY8dx zgJ-t^+?YZ6ECN{Qmv*a9*;w_>0Z(1E;~S^?jS+bKo&`Pdd-1Jj3c!9c_;SqkrTA7o zlH+d&O>aY|tN)>gf57Q5#xZ^B<1<+GcP=px`n!Rj4t>aDKMQ?mtvkUFS^BYLmfwY$ z|2Q{Z!k|N+;#oHGJ_PG~{KGTYdUjX;TLxIv=hN@d=s%yq0*8hcKhgTGD6)vB`V7D4 zGg$GFC7r)9LRWpq7^`QnwVnfp{?Lo#_@NJZ;MiJ^?l9?n#wb4aPoDJ~Bi@px_1H^b^Mqp$DyVsrS`2pJ%J}+yxl=4jp$M0ncas>StSgYwgc5 z_Rykx!D`OHPo1=%w)+G z9pnkF@0fNv^|XfS{Gmk`c+x`CagawJegcOUnvMf+=d^sG@%KkPH#uGgUdEbZ_K7B4C z3mon7*{VEg&s%)$pUY>fo%R-g?g4<6UUSYqUdf&?^%?o@TV5NF)9&DUYpKaoLoI`taSji`c1vMt@sFD;;dtxd!`Tf zb;t4AqV&3kt-f`P*p~mU*D|ZE;OU3+7AH4sl`k!}LZ_|tIUcZ;bLU&9bKV^1$D20B zv(*VB*4Cck-SaVe(FabK8^@7bt8PpGt=vj}yIg};jR>0cH$~i&xsCviO#1Kx=Ur#? z;=WAZc%1^zz9TyNptJQ|Xz0Y3zUv~sI1#6-wKRNR4gUTHV$}y6*L1{Ne#TLmz_5|~ zNpbr6lRoW0hU=ffGjn5y_qh$NzaOYE_rW`V5q%t!H=$!sSI&Lcm^q^!%I@*dXXp%W zAIHGpDbDYXdpGdTTYN1a*1+hey9%TjM?yDbw|^R&a@%lXl@a?)L2fALRWCk}ls z=C$v+0Rta7+5zvfr`}`a_%Zs%INR;=T~*<<@Tj<5>je+w9L+`Pyk`Rse0WaZ*F9T@ zsk>{$1(v$f=X~pM`3viIsB6zR;w$qOUHSgPce~H@t?v!!vo8Axhd$=%tI?`U=YwA0 z0JDW}{6)EB<}vWrb#I^J$e_li9_t*xgw3@Ya^V~N(_YrXj(PMzE_ojQoOizVDbs6{ zbhPlN6~~y<7xXD}$WOfA7|*7Fn|I-X{^lHD=w-`2Ld=c)|Ks#2D{zv3zXt(sJ|6TP zCwa!ZDfxdR58#Qr@=!nQ`EhUu?z>hTM}PKdPrv>MlZSK3antF0T%^Mf;Cd}^4B@Ym z$M1%&=e2Z4@jxbUT4Rb2(UHEFqZKEf$>e($-On5cZtN>HYh~IG9dP%RQl2t+b`fLl zS-dZi`$_>vHvRB)|0ir^4Q+k#|B8oJ{sm~S&4S0h7Ond~NlQ&in0(1M^l@)_-dLZ{ zzc}3aibpHo-ea;#*Gd95D+0xtJ8F=^ySor>8Un%;Y2aYj;7a!}s$_Fnp&0h1>SHU;u*k{*#FYjxp zX|dMFe|F;%9z4xNu@olRQfZ+pLWp)^2qQl%T)IMu8%%Rixe+a<*{{z%RS*unJ zw$@70VuSp>rU(OHnCtOAhJh8&`d^*Etm{&Hp+?r%lCf4y-$JAR{Ou96_>Y!*9@YWM zL`Px<-9xm)@9*%eS$t$kZ_dXK0C3pSSp$pDhkw``a4!-M}{!&$_P!wH5)6|7k;y^eeQ+u){0gQ~#}X6?l(>Hrhs8 z*Qahbc*VD1@Wr+vcfe*%T3vuEqx%k@5i51qcgi$o<@2cz_|PF6nCp7!XpiL4CmlN7 zrz?5t;5>j%J%!1Wb9oB0MW=q<#&+kMdV{;-XbY`09S57B6NYa%xBe)M*4&2Nz|UBZ z%FR_5wmZHj^LcP_*y=$*@5G~-uC-jc*v{9&-J}#*q1oY zJ@o=#-qxPFoLq3?(2yMxd{9Y z`*if_Uvn39_MNvlxvJ^adH}rDUULL6?DQRwl3mYbfQ8~ z|Fo6gRa3|0I$gH@i+BF_VdL}g1AX|T=>EmS3OjFska4v|ztRg@{iW;yhQFqGL+7Wc(OW$?rbS1CW97A5} z58qdVzxUCrKH#{9Qx9;Aqd8cg1H)EoVCGU_=m**SgjkXTWw{wO2c(MHVp5 zPvic)+a^rkNr$e=){fQw;yL4}ueHbj9RS{Wi?8KFen3C#E!~Iks9It1*FWOG^GIju zT$jVc+AjK&zv(mIbIi4XcEW0%qz{laV!F9b>abVAlk@Oz{_d0G=-cOkKGu)Ovd{Ji zHf@>u1mBb;tm`A}Vc2NAhdw(U=hk>RhL>Z)b6T&b9EYA4_JHqw?0_eKbih8}%>kxf z$mwxAqI3KjXK<$P>pIzCp;zjzt_y6RANqHJr_Rdk`skCMi;yJ_e2(bA!G84__`C1m zOP{q_j`ffHk8mD>4&Q;>ZRmW!0S0}~IdL52k(uL=v#xC&N7VC>VI3F!%vCFlbH}{+ z@C`lE-d^MFwCMR+d>x;QZDjy%e|9P=xT^P{ng zAArddo#j>X=H5^prcRFe0o#29U;6r5Sdqc67Wc^L+ z-ca`C`fcm>WQ?zYux*+=elM^hsV$fp4bj@ek;bAV}s^yUt9)~;xC?16t|9k4)Zrg^kD-neqs!}9~F8(AI}-6?S2@~kgA?s>p5w`LndwH zlB@lw;16AoiGD-p;#oC(#)UO%*0t2}^bfG`Px=%Z{pVU3I5f1Zg=xJ`q8mPdPT8@> z&UcSHK6J>mh6Nou(&C@K{}Xh;Y{4&LsbOOg~U6%(8T9h}i?8}@ z(Y)r+IuADDL-?Mz_}br1=9o|Yk6ifhKXQ}rsPRGTxS^l8(qenm6{1F6_cPrt^%Mp^ z_R&5>TRiLD0=mG@7;+38yzU$Nh=H>8jWYES=PL|4WCK$l>1dDSAxAoNxldR2s{<|e zcU|n0C+G6)bn5B40vP(yqLX@a-f@75t4)Pd>jdT{y!-q_N6!D*cvj3Yd}w>_3c8F< zhqM0XHSh~;ri2v!6=h5C< zJr9A0uGmvH)>!N|3X64n{wAfvwBNDVVd@aDd?#?&yvIi$`hGI<$wlCC&BBiEuZICs zpAJ*j$SM2(K!7K7wA$+YrcYkd9r;yg7n!NfS2*}~LOtk!#t9aHkP5Oup?Rkr@{bS8~jzwdl&8u(WA&$??k;OAp zV61Ve+nUGqw{7WFYj^u-r>)npDX*^6DM#Oi+~Qetxx>y|Fuw6@qst~1(7BET=6Enp z*10=f={%q3by(*mk746p=LR3!taEd29YkK_QexpbEqOTdLC(*&2Ano@&Uq>hc)qj3 zeGGhP(Svn+)M28jXMrO>XO6wz3#xK;&*2>VJMTE$_jIBkISC)Fxl0(j;uCc7_Y)mo zdap-=E^X_0U3YB%aqvsrPhO;baT+=-T&@GCy=$#s%lz19X^r zcNp;X-*Y<*X??J!n6LCYQJ&wM+sO(^w^Nw@JtvWDXk%K+jNFO$Wqa4oZ zch3lp9|jKNoqKrSlaptl)$n1_)&C9zu0NP#_h7DMP0U!QBAf$szi zyRnPUx4%=h)^0og;sZUnp>OVEGxeSD(z$XrG}7WfKEd~DzqL!fYkq<&?Jd0>3*f4E z)K}&nRDb>gQ0g4lrhHe9`NK5{J)bv!edYAt12JHn@`;?6Enlz3F}8m=*2(m1Q_TK% z@FP6A?(tEEa)H^`<^KAhB`&~`L5rTk)ERq)JsWhwY~ka3W^tH41omtzKge^HhknA; zRe78%Pna!y{_Xgm197;^dA4zODIb2$RblXP?CH-hx3Oy<{IH|b1EcS$^jyP_UoIG{h0AMwlUP@wN)j5&h;7$4*i{bCOJx2IqKkH0p??s;RsllqG$Kj*FH zKJoJNX~XA!kv~6wdHQ(I5xj4~N14z6Rpp2^k6?>)*7+Fgqt{Z!pX+lur^npM>j`m*{i$-!JJ#vzbMM2`_WaL-Cv;xtIrbirW5yP( z`nu;8*B#~}ys4>xhu}0*?IjS-@-0 ztIKOKwBo!8Eo1jhX#ZsBOpKL>&P1ZyBa9Z@dpgygS7p!2mm10E&G~`wE(M?<;biu|N*?uX|rX_ZSdx)x{h`-&1YYmV0|&ac|c3iPNjSufSn$p%*RZ zy)KQe^f7l<7~`5gT4KaA3y*y#U!Q>Ia~*KM9W-U{rH{KkUYo%0cGUQ&vGdk|fz!uM z|3BBzVxPLnH{%^J#|nHu%m1un-TNwiHf$#^5fgJz+BkBS&!Oz2b?+;DaNgqUYVWJ^ zi}`5oeKqGA_CQaJ(8aNdPqdNahXEJ=uTI;(_Z9O(AJRVC;wwJ4_P!#HJr>~J+8c?w zOUGqC+`{EPyyL#OgUhwE`g<8*yN%eiv!(PQ|E zKIE-1<`jMUQ#xep8)4=F@R7s(SalGV`Mt&P=cR+OPv4CHX+rK`y@yZETYQZV`H=i# zUI#B$iMh^G&ymw|9mxE##;pDH={M{3zAMfgiuc#kf2V`kL09jS&zy%J=+n2pKV}a1 z88f`U^kUM9PrQKLi<36M6S|%kLeE^Y4A{Q@oi@&S2dzA4-TMmPQ7=Xht{eEucMXC4 zWYlRm)<60#{T_UKtM9rj_35z3L8o5&fUyR?If83W*XPrr&wJ7Pvxpb1J|h0`!-iF+ zFj`>H8860_bT0?Y|D}#?_yzy)4gxt*eTaQLFG|0|Pycn==VK1f-$-4K1L%}}I(_w> zKMwiG1Rq(_TfYSMIB=eAK7THrz_1Oy#IgSFI0XlJwALp(OnPDBWB=q?&l8}d?m>Ir z;%k1kIDGB%=l?(aM#^`G@P*?M-|4gI^BF6~n%7uxogeyK`r=vjF^=IW9p_J>lNar+ z7{gP2!kCcSfE_o?H`Sm6Fe=;S;pkKh`=~FNe;2fNkVRc*H$L z;nVfhSWnpnzP{%y5*d; zb^LTX{M5%5u*cCSPh->Rw8NZ=uGmvH*0W7~sg3Xg*Jl|W_G}A4evavo8}Z3!7|;c; zJwEdH`84vqFX9gP~_*y`I3oANGye~ujTLfQK357d$9WB$>e zxA?kxK3!w1^M4rl+6wG(^r^e^uhW&zGnaN)=OvF}V?3X})WQ2#=-1p$E_Keyr}A*! z-!VUL+^cG%Fj{yc&vzdgbIOt4=g|Xp zp(}Rx^&qs!q6NRN72v1ufPHDacf_%>paZAJO8aSx=XK7XcFcTn-h$EcA%~!!_A>93 z4G&<}6_KUPhk$|Wo-jvrz6%R1t|#fI9H+5fhp+GT0_T2#K7LEcxp8xB(l=td9l_9f zjN4rAa2$QRO!bu(e)ie+^}l`a1=q1M_@*pzNsoi1RhGkyB0!|^Ztg{g-v zxcc5cT4f&50UI$p^c`?~VP2N6{*nKR^AL3CgYUZyDFN^%uMbUizoM z>xNu)#6Q&bg7)hFJcCoP8Y9r58+?O*^6hIk?W0A0{Z?)AMOK%sU0i2?*>?XpKF2jJ zWokct{tgQob22)jx4+v_FZsU}F!$Q(`h*V2AGpWRsKemXaZ=}aUn>7E>fqnud3?m< z$H5hT>grlSU1_z)xzu6OIX?AC#}U^1!mf;;JfV|U$(ws^9nt9vec5dW-`=G^OJ z4SfG+SNAi=jA7%+`Liv);)BkdyVsU;gFbX;9@P6jwbzz&h<#~eFv6<2)0A0O+x;?c^t_rU}HKBK}u<`J@K!R;_? z2R8jv`B=Yze*_~Qx9EU%I@f~m{Bm1AfQNsdZSfba&-L&`rV_ssBbL?J?8T^YnV5|?Qp}7_?|6`;6!Upv1Fl?qz9M^@6Y5edXvc_CCR{WQ_ znK|mneru#r>wI^wb&lT@VWv;O4v(;}ajC0qf@I*iCpFHdT zE07oX{|exrxA=JipP(l(P+xtCEc&|a4nrn%wBX#*6}ep=IzrcU z%{5q;6FwMv*87~RF2!@gz}JS-Wx`e))@wCm6kXsc?ux_Q0j3Y3S#h|Ap$9Np=AiY- zo+pg?z{}W310L7z&s#elIwa4h*N$i2A@{)}p8X_`svXznr0l15{ArBS??sEh zUB_WFYpBq2Z{6GQ=hg2!(E*$lMxQ*5 zO_!$~#QSmZFz)_#0Nb88B)40x<}+M4L0t(j7X^A^G`_V?nv=49uOt(BW6 ztd9q9oqwIqJmP%qup>Fc#$TG+G5Y?hc5EJ*mBMV z%n|w=^Rf2GXK(|S*QgG6-C~_y9woDCH5~?D=&ct3Q7-`*i!I^Eoj*;(C&PLPzozeXi*_<~l<=VKr~TSJs%D zo4KaL@E7M1)0?$pbd;83`P#ZZ?=WNISV4xeCf(Gv!?5Rw?&Z+6*N&mnzsL|rdqy5g zA9DN{_~>ce)N9~f#7&rdp>wQ>Z(DIGd(;Qm>iZ5;cXeH0sWW}uztAX?*0}UO{i_c< zOqoY?_-6S2=UO|4FLn@{Zlh~+_4Ar*UZFpHepNdj`01aYXYCli;k)G9*KU0r;9G3y zxdWd%MrgIG-%o%8e|!LrF$X95_VEcGebySG@!EjaPsUQkbFQ`MbNs&*xQ?YU=J&N@$ML#4{E=e`T6y`KY5MR}hjm)Up|yW?JG!5G zwgsd3_{L)ob7SoIdmg-`CTdeJ3r~c`*^a<7AN8C_K`viXY9v#^uC@TCLyNY^8I^g)N*(zX24 zZJcy9w~Y%ebfxDd44&%ieCTxOiwv(-j!oNc?~3DkM;vH64!oUv^5gtQy(ZWH121DE z4LO1}Ikj(W;hJUMBMg7=Y@5$l8y?Aep zb;rjS;B=T{3crGDY&xBGm@Cm0d&ug4~j^Of%D@~ZYtjGqslzCXS4 zR2Ohp*wf|Jd(-%cbrdb{O&8C4pMgHt4(BaS_Rr;e(|x=duhqBk(#O`mk@aEBPhhNV zc@J27uo3(tTRUuxWrt09Rp(DR`Zna2tu>cB?7W5W8+HE9-?65x!1{RL-1*n(%p=a% z4(q(Mf7tk>+P8W4t&mMDj14l#!=X>+SJr3nAMKvA!Qs#MW4u<-G6`!L^)I0WTPWdP7{p3aJSA1(Np>NSs zdqel`gVakI;Axw_`Em4c-1#5rrXF!m+WBA6I>x(B>LyHmY{8W;$6c3_JL?tF*n)q{ zX8ehdy!K0j|AncWdwc6sa7#A(f>o^PdmJ%Z>EpfW+?!?4=e1TIwJ%sb3%KTwezory zF!<9VJLuZJVB5o=2MnId7B_6z<81zc2f3CH`KSC;zx@S9AH1U7$F6(8Ft30oj~I7+ zz;!7nx7yQxrB6+nZy7t_DPp7`0%gUGgna|6&@8`1e{VaW-9qcb; zJ|o8NtwD}DZ}GK!+`FaAwU4nvEckqV?B`3cuGAB^=C{9{a4evk2o?2=!5YIHjG z%pji7toylmT}B^dWB=UGrPhbgF_yqpKi2d1J=JD)>ieJM-VA?Jd&m8K$l#icUFs93 zxik8!xd@B@9w0N1({$G-QePr&OnKGx~LjMtGp?sF#( z?Wp+Fb-~z!)5nhQ!@}2isi%9Lcs+NlRLti-#^)`Fmk-x#_j5^~4co~}oSTF2fjP^X zqAiMFk^e4yBqU<&QoCPelGnPA-?@V;M|H?tZgsk z|L6`b&o;ZRukYacoIrp5wBc$Oux{5D=kDhMtjmhi{at(B`{7=YaqM$}d@pINFPO8O zD+eDv#{8lWc`J-LNFVYtj~u+$Bg{MiK602Js}90Cub-z5=IHe8c<+$hz}gL;oVWNI zAMzo&3L5MLFYYRHKNs~JIW5<8RTrK43A^djZ`Nse510J^UbMa=7HjH!N3q8ax_Xay z!iWWZ@CMgfa{6nV@7lxL{aiXv>;PtbJIpwF-vCc-P+sVn_ag(Ac5^&!EM2ATt^2v) zJL&}JVco`hI+|W*hdlPP zxYwuEM_ftEEimYA{ob>9RviV~@C*K-WA7bzG259u3&tss4h87=#?-()G z(5dt3G-ZO1Ea~0P1z!3N|J3t_x;KD7w$X}X{k+4(u}0ou&~Yvu^3V_aC(nA`@ECnR zj2M7_-r_3)9DlE)p^d*9pTJ*^xIu$_+JNUg1C9(@Z0gS&zzf=h1x}9fqP@0x@-3LO zwCG-RwPz}_qA&Rk{f6C>FErQ>UvT`53CBNtx8n2st%4o>Za}@epW#VdS6#afQ(oOS z_n1Rpx=h%s!Bc(xeRZdkr}y)YKiiJmai9bCaI2IR+jzj^{H4V#YHC@XuR(EuS@q$&1!}3lFYU zy>$+Ce0%{;hdqwIH8!2jcRbJ$JlgP8w%Ry+oPH8!t*^thUmZG39RiluuL0ZR1Dw8# zJQ}_uUgX1Gt4DwI0H!`iz8raF|6d{4_AqSIR_AHATRQFN{+jaYep))mW7WMU>~YAu zMF;)Um z?^uhwp8fyo^znc$&cCi#=}azt@ixy#JFN3!OaU7<#xsQ}2ix$QIBV`UKQrgVsXSbJ zu_WJdtzPpm>jKyDz#?D1%Xol>H4Hq>o7|(VdeNs$=Pk4k!NdDB&bzJHL*Ee{K84Qq zOU)1BOW$=7UmSDOkdwJdeQ2X*pKF(qyHX!{xW?A>d(i$rFH<5m$G|2UJakq7SFOD{|JK~-~8@)j?SDp zZ}GK!xDJ-R#iPrH2QaVuz?AtAFnGG(3dia!o#PK!tjE(&#E7v7U#}^^$yfBza<0AL zD{I7UJA$DXxQ>-E7IvBPFy^d3?XwkzeEVo?t$I1ex?Wu$^>{h_V?G`F3 zooUCz(6#3q@s)W*2Mil;`3^X8{LO+s!#|z>it{+^1gG1$@*&rtd&eP%>mT?6A8|?l zuts(qsgG^F+g>rTj}|=!Y+t*fBYcB@^6l%hAx}8#`}kb*#XsOWKD{Q;k9 zZtXE|cmGOfOkHbr9AUjLY|Q&Lc|s?zk~g10AJORxec5dW- zAN>XbI^gcN!nn5&-LWC=v!D4tn}FL7&%Q5;HQ4iZd%qRtHtSE?bzc9;50~U`~zP%3~(E1Dsn`54(9<<5TOe7jcz2H$!PI5)_ST2T>Bn$eW;y&827(buPr+nSH@zMDU22vboXn( zbuWk?tpT%ktr~FM=KzcKV~#iY>AzmHfd)M88EG9OjxFfaIcm$f--`IilFs`>e4y_b zWBr|T=z!URYtFZ?x2}(v-_oHAIIeTxK_6pSx&BXS=$Nat=PkbKvqkfo!|+4yU&{ZP z!Z+|eZ}GL)h&kp{|5F-1{7>oRJN~CMwAM7~e;o4a+Qhyrb+6m)LSJx&ag6S?578FS zS)UI4j3GRLgV%jSAF)ujzEP$z;e3TbhiqW#BOUFLJmg5%?Kq|@`_;jCfvYa|$&+(+ z>2&JZui5yLv5HR0ho<9T1AVmMNYioXbN%4hXD%=23WxStWC!YC-90(8hU8y>8 z?Yn~QQ7=l~)QLZharM1u@r~;_^ANtMF$}EgXwY-7N_*boYxy{r<-zV@K6UJQ|jkCEN+<&+_@ywY&9Cc!HZodyff9z##p{_^1962TG z#Pc~2_{2|JR~WWQxB3#fQ{Lp+b*Vb>C9Kb-&oA#@o%mATrC%mY-JfRPj6;n3^x0ZF z#aCX>&Rd*Z)lM(3N7EZ|3TAU1ZtqstL&+B$2f(oK1_?+W}~_q4T9 z?itZx=PeMg_FcK=kH4WaH>)#!>fky+7;WkN|J^z<`Se$H;u%Muzf&(U?u-p;W$qaZ zjCnv!PMnw{S(h2Gybg7^IS)8vSsw6>HP}0UG5YwuBQUNX&|7ouyp%0Z#vwdu(G^_h zY=@yMu-`q^-YOiQxAVI*~+)usSotAGHtoRT59eEli)UPhooR2Jv`!4)@K5@^ug|a#ezXBk{T!dGOmG~ZL(g1~ zYmfRl-@pl2%Ix^RsuN$XwR#MUckjcmj34u=V~H_PbMTj=PE3ql4>6Xi?myRB^r1WU za39*|h+}BQaV(9om}3cA@w~V3zP7_wTI&4pffn7oXX@iz{q=Q+Nw>zR;|S}0&M$d7 z*N)y~#ba)Ki;E5l>^;!h%<$$3-=N$$e_(w4M;CTdtXQ%7+ z^UfcA;6d!EpLaa>R_VTQZ##VHo?{V<6E=(Or@>sl_yMesupYLUga_A-G7>&^7< zvl`Rj`~O+!=l-s@q0{~@kFxan3WH7@eSpmmp$#y6Sat5HPuy4L+@e0b*165g*f3>Y zu1lTYRp-9U_0XXYF!x765B%czpjPNQ8DGRYc-Ke&bz1Hj;K3LJ-}N7|h@*Ax@_XHD zfZyqm>HRG*bfm>U{at7H<2zb$T*GykIF64F!*84m>+;YSKe)FF^NDwz!9Q>D6_X?W zUPnV4f3>~@FZ4-2ag2Og-w*D6*i`R2*FD>yO&KA7=OJy^9sP=Ly$38UEp`pqyT2L7 z&_!SJ;~0O@YPWpxz4}^n5+C0HE4o@|3zLrXBVCW=p(Aut*Gr!8n(}I%_4q(nx=h%s z!4rAlItM$QJiS&qHf=lZisO0*9ArVW;`AH|4s-DM-MxzWkejjL7~SE)n%uor*6R>9 zpabLQ=soDpvtm;3L63ZsvTnTx4PR<@@QC}}#I5>vy$224I!%8MntsE%NB?n#bYAJ^8Tl;(a{mjCD-U9p<>1v8mtHb~)PN8WCNIOSjQD z+k)#F(7tZJI&_#i1T1Sd1GdKpIDKBfkxxyNKCa*E{gY!yU5|V@a?bugDbX80!5ewB z(rG`fblTDV1syn@PF>(#_3e56d2I4lI(a=!Ue&jW|MS7q_n~j;0&a)BnY?-r8Xs|u zqvbv5;`vd&2Th-AtMe8o`{(jK=@xg4d35i220rLZi(b(9Y%UIWU4fyC`+RhJfz{{2#*|CH{NuWwdeIj& zxj!h!FF$#KVfi_dZQP=MeC5MV>zvdU7^<6Vk>00X9Y)_nXl=Jr9K&w>Lj^J(pkQtO^BQ=iFS7%i~Ny;0tM zaNmzEd(iAQ$8Yd=J@7jp?l<7~Pow?I)Aq0b`ds@p@D3#U%J2FA@lVn>e|38Izd!$0 z;W$Pgf{Xfs$0znmNWXWzk%>G$zcKcP*B<)x*Kdz|Dq#3j9QKyre)#3+)33t+<^T3O zUke_)f4}sibYL#4AMkG?EI#YH4L<15@c+PfgY5fXe(%%&0-u13F5-7Q;mG_y|L_0y z4?13C>ioSj{33U!F8G8zj=#}qYpGE8bI>Kn(+oJdV zY15b303!~yzs{C>;5{dy^V$On)~b2Sc2{`;svg{ zxW5j4PqkT{?(MI`8oTQgr@2=K{(LcV2RO_<^rGe5eSX11SNfPcD~xeXA1%1%Vvc>! zSD%1qofkOwXl3uEkGnnY5d(g=qvBIz$1w*^A3MI|jGv&zKJ}Du#yen+m5O=&_7{HV zExwiyYc}`SNuLed$xFyG2c?bSPx_AP((%r7=4X6x-s0tHwbKu?U& z#jy!Y8##U$aPimub@U;vWAfJiI>fQZB2I7azvA9D@+BYK+N*^e)cL-+gA1RI8*}+4 zU+atNu-(C>_SE@)a0iz4ld79I_}4JaO0lg0{4?UxICBce81mtttT_KiGR-B zjd?$xApl$V*YQ0A{q=*uxfL^?>4^KIJGi`8)pdP+2bXtSJMK>#u67}_+qK2H`|AMf z^l`e+LEiDT9^kVf`pA9ERa(xKgO47=fAk@5g)yh-Ltf^QvEJx92s00Wj~wR5s)I0e z`G?Sf9KHKyykAQ0pjN^dIdAbbKIB7eGOvRdYs1W2>N)aUu3MQu-m_`HbztzV)p2h@ z{$~zRR|IxC@EiUHx5J19ecIsjg!KJ3pE<$X-&Uv#E%5@TZ#&F5X#+gz>v zrQIAmHdb1B(7L}4_EIZC53U>N;4>9qKN(IbkNqs-MXQ~}AAZ=d$`nQm3_9cGy1*c~plI1&lSYXbNjt@ODx;*-%1NIa;c&ZCFcAm#zq?O!j6599#T2>$53h#IOsYAf>9Zz7UG4EH7Ih((ML9@3%IME zPnY-6J6tp1&w7KFXH&(qt|#;n8`|?0U;F3s*;F5I#%uL0JoK@3KV-4iQUq?(^1| z(Wh*mHA0KOyw~IW$krn|d?vpJTI;9*yU-Q>u0Nzj7CbobYX$h}J78ZLYd4OS z1sym&R@zTnJg=`6(~g-h&RZ~AKI9Pe(_ZGCvf%;Dx+1ca`4BL0{VmB6UF@Lz?w<|3 zxSph+a-5Fe1p7W7wA?Qsi}&(4H*Sti`bJE*BN#f5ahvNMj-zjvslL*}&pz9}{Ns3oK(mpML6a{0o0!>R}76zPFE7nMZWMM$8U<2OM9Rm*uN} zM-dXpZcWZ2W> z<=gw<0e_!SVIT7d*|gwx7`6kO{;7PdU%)?tG2U;{0qbyPSwtfH){}LnW!9Lf+ z_vi}D{d+jZHekW$V*eh-4EH*3Qe$3Xkz?;(jT!ulI$*31sG+$QF#ltt{=x?I?J#Vn zPaM~UjA{Jf?;7C!i>@)3jTQf8Zswdjvfmo1`}bhm^YN|;$NJ}jcEmC8F8tGFuD%1- zeV6_kb$!M=_|}1{#$5YnbbYAJei--0RSzyZ&3VLal_`uC7<9&q@n{Uut9aIZB7Vd# z#E|+<$r3QzRI{>iiUa3?SP`(fXCi<6if@%K6!+W4zFEqEa_{lqbR zXakm5B$81peVGB(Z=@WPJIT{|8+B+sYUj%VH>_rb$` zd#ZL^`}Saa)R2-lwc}4?oPIA_{Ovjpn;8#W-)f8lt9xbWsin}KxA(?G^rJOY zXt}rUZTK^PyU^*-0h|>^pFE9Cr_&DN{Wy3Sci*|jHf@9#xc_jq?Rdr^#(mnb)>9c< zUdPT`oZP6V>Ni^B)qQI$@DVsiwc{Vg7{HJE4}XKN-_hj=w#Ks4O?mUVv+JF)uSUT6*hhue?&gaDNi0esS%h8d% zMW1VWj=9dzPFT%b@Rc>@=4P(xFl2KcF}+zkE;8pCnY6~V_vv4K*kQ^%qQf`C_dnO#F?_Lu*mN6Ro2#GKT=NS3th3D@c}r-9GvLe$0vC7S!;yGYb$>I zRqc3=`5qVi#`tl5a;(3~f4>~HV`6JO8A}z<${S<+<-H2_^!ry}^c~^!`4KodmY{_{ zbIITSdH>pBotANE?O)xF?x)n>XSRLpOJ{!Ru;8C#|JF4bT;s>Fyk`7vKd*5Cl#CC8y4F3UhY;+iO;2**0yF~}jPS}(gIG{g?|AO% z16*IYr%$ha>vQ_h7kq05#E7~BwLNMFz`TA*M~lATt}yzr6CAJY>D%qN_Pz2%uJ(2q zJmKSb=9oTgP@ZFN!1i4J7=9`z_XXu~YwaTKa@_|EMqR>N{cj zj&t94ps&ZgYTxxvL&ka3;;9+0wQu=hgFY}`!sHLV@$&i)9l8Q@Umj%Q7sm&6MAylT z-&hBy-=WceotC|MQtudJ;49NuLq|-?@3p57_?-@!-ursb0}gYd*S_h)cg`ztUBl6b zZQ$7Y&P<0%@3?~p`q|bemLZvw>SxB$KUH{XydQ$y9WRC6Ew)64S3del}}qa zm)dvL&A}s;Hk5v5|%x5q4zl8(X+$nKwDcc64C;9KAO^a?T#_h{+dx*CA-L|JHlc z@THyykGS7W+^T)od(*(J;q>>W>37~@v%aV?4y@j_Bxc-CgMZ%QYxy`A^2%s*u0&VtDI4edNE_h=?&qm}BRAsnr1z$gPu?XqT#JtG zpMa_BkuOKi*=yhEji2C+9kkMEKdp4#m-#@n>e5HH3ysCW@X6f`+AzxV4%W# zXIJg@f35wmR#oj={Sz2#TiyfK9&7~v$kv4IW0|l`Ug!CT9DQ4I+t%*O2|Fz%{E<9= z^0%#NE3j-2T-*PW&T+*4ny}=h{nN%L<-Q$v8C!{ku|WpoaOpF~>fDc@-6wm6T7iP-=(g1Qy1@1(_ZMn zE#1<_Ay*#wMcrrJxQFGOy;`u3<4Cq~t9#DmKV&AYZ5UbVWGPI2EWzEw-VFL{HsJ&3 zZuv2n>PKbkv(#(0t=iM4V+H;F^f7daTWjE9_pBSwiNS|Q@9ER)7h@u(ls#$IIMy1g-jDnCTe&X``^Z=aKI6%oqi)+{fVRUy`#$2qJcn@SA$;V19{LMCTE9(qAbg z8tiENV=YC7TUQC(5u;&}KPQf>< zCHHXb^L`H)H0*(-9hu8WJmKKG2NH7OQN26&DjGVJuSc84$Igkg6Xt(tY&QiRdm!1a z!4KHr%ecyVfkVF7Az$FhmuvZQ4nOcIxvmzwwkzu_|M=$FTkL~{j@o=pj(Z?67r|rL z`0{yO)w;RI+%stG zXY#kbAKl+qYhfL08&MYfnb3}(&#?m>`WAJRTzel*9qpbv;7-$9dYI!3EAGW?#CeHn#V`BzOFg;NqZovTkVnbckh+#+P7=G|At-Kt#8}|379r= zPVCTC{QVwC`iRnY@>zQzCGKN;jK1}-~{*E`#>)L(_?6EzN z)b+=O^H|LC89cuI$rW7Qc}QJfUBTtufyDiJ;A$88rCm#1y9W}mq_4}h5ArOI^$`B> zSsHb&FDSWI4nDds|51m$J&Zm@9rD1HE_D#*H~_w5?Oq3A$?J>M!Pt-Z#^0i44Tw)p z3pVuLM^%gi8f~w&;TX5Z`;XhaG1jZ}AMaJQpE_v!9mS8{{+sD9pV5(90#-e99oLMV zzTLz0H!@sj4}UGk&*;>J5}x^tE@8$=8{kP@jtiyBn0F>@*vge09OF3_r9NWr zdn{hUDB%yC-z%zzF=?LLd$;(7IFUzZOjIA*ivEE{|Cu)j4h{(Wg^{l=d9`zf#220Y8_=L2aUwu38- zb8Mz0_RX{V&a`>7an6B*m%gEnxGUS|ag%oV8U9=+j5_FqsSkM8-5tn7j&y0qG2Lam z!2Z_d90pHd#L#|fd@0q*JezHl5}n{Fed0g|J+_DgP2xaD-=>r=ebM}~V*;h)+Qb{N zkp_6#F`m^S54nyVz^HTV$Y*tqD^rKTlQm(<8s8GnabeWYwamyJf}h{(@jg0rpZ7Zz z{f)eC!{l*4x??WFcZ|i9r=@;&$G%U>i_$R}TE^rouf=)~gU%Qmo0Q{sa^T%hosGNs zXl#SW^y$#Wyl%p@UmX&r4h0)?+=OL(2LBvu8DoeIV{SgHQ-5IUdgRMFrqr{#&b45p zZA@GDFmR;P4&_m9@;08>rY`RkPV#&x*kg3^dYZgz->Dqyf-R}b>&e^Z%TJ~apZ7bJ zBmbpujfHK*ydL_qmgPR{(`p0oG0ylq{oc0r_?WQ0Zxgo3`{KS+N&fg7owXI1?Lpn` zV@cOKZ)0h~l9xQDjq9^I@x4FgdOvnMKHEpZ>2bL8{OJAII7}ONt>5GOwx=cQB6w9> z8GW1kxP8p1(>KD>gneb&AuRorK8H^Gn`ieu>V#>}@89(L61>w=Kf7c9ol44v2fDwp(+eEz zqV#>-BRb!|W8FpDgjcO`hrjTv^9^w38Q|dMnh`u~g8z)^qJI;H54rYzG|sDTl_d|` z12U|$)W_OFi4VXvZjm?O;P^>hyiWu@nCKUOgz)^=RBx z<`EsR_I-~jljrI?Wa4xE4?O*@4tpHvjDOmYe2@(ex@Sxn-;JehAoXJXtS!LRk#g>1 zH1a43Lq@}TJVGAwr#-{oUb~&QgPa5OZSvI@+U0y@nf}oxV5QHQkE!!J6=)oj(J{Yk zP`3Q%{myUvu<(S&K=lVx` z+~+M}@~|%@O!^$htb-0*=K{{<)$;gGWs9fy(q}wg6fbNm*sv2`#?*VjjHUSXtnC)x zr=K~e4I59cwI4dJ_j?>shknGaa&5nsJ&v%Kbu0bzSFy(t{PP(Uen%E1V@|@b-EpG* z)AO``0e|z|279RHuzr-pO$9WiO1{fq&aIb?D(H73>3 z`VjkCM~?Oe&6Y#nXwB!~WAJSwwgc$Ui|d=4jShTdN$)=T=%epwW1U0p@frTuMk$W- zLBhmweUvchxRy@e&`vj=y~h!`SpIf1_@||QD!}#sRTY%=zt=;+%df*v&>(;2amN}1 z_=_pG$9QtXy~Y5qXorl#S$ViVhE{tvzU>cbDbc-U_L>p8svG>Ke$(#Fm(XCp{N39N z{7;{Cd~V-t-H!B8@ANY~iR)h1)M1mit$o#n65M@!;3+++YnS;!+z&0`QhX17juk85T`Qa&N@O*lHcpF<7-{4VW+Tg)jw)*6k z&F>z4%Ykolt%fhKz1uOcevU%SxaS1_wA9b;$Tb!|ciyCQyoCqjZI-sX#5dLnqisMZ z??0XI*d?9c)}kYJWZcbNPS|Owi$}iYNZIg*uG;*V^MKhNjFWvV>00M) zEKOMQlE<|13(F4^BVy(HjPVg$d`@?nAMS5*x##C^2Z3MD-A3PjEI*7N5=P%g2DwV) z13R)6n|qwt)_?GV&hoLmQ_>j==-|n9j!mV*&|f&E_si&}9?JCH1Yz(qj<(r^VJmqs zZ4^d{{m65z%DHkjUC;6{XSyOg$3tk5g-qhA%(P8d<{6ZwZ0*30z>Hb)OxR|}cAs}z zigAy_ zsJdYf=kNgEXCu-~ydm4X{$6L=%wzpDeV=V%@B4(Qi@x8%*8ZV?6ONteZ2MM!N_}FV zNtiN^=zz8FpPnCvX75AdVvLYYOx4|z`ouwJ`B;L(I@?&x^*273*A~BR{UlFu zv?FaSoZ$=P7(d2vXzerl6}tRhxr2i7;_ z?^x3StC)^^5a}rOOTyr#4d6IF5?k8NQGPpl;)Bd@Ck&s#$2Mzw!3JR9+V&=Fv^mZ< z8@GEY`B@&>PY$8^ZuN!m z5BD+Z@l}4NP~}U$PveT8|%OUM(J3YFzKD^QXcx^hsryRoCb8{ z8YoXo{cOilr?1Kn;~i;eZl_)+AZz}cbB>x3C&VdlZXvo6OXe2o6kwH@83 zj3uQo*MkYuM(2ivDbILM*zoI79vu0XdGM|Mqbu!5eVkjNLl&j>IL1*&-j?#T)X#dD zw>{?%-VuLgBd7D;+uU=1A$xTs_b}+5ChvT{ z8uF_BH_smXId?8QEp>5`3*P*v9ry^kv=tvwCr-9?<{)I7|JI%yGvs*$+iY#WC*3Bm zZ5?v-?atPOot9GQ!q!Xv=mnkaAKBPSopJJBDD`Tc9~~dp9J)NFjZeyZJC-tbLT{f$ zK4WX?Gu{o(@45?b9f!f;zwf_5j~^+~gLQoM-zuJc*?k>=BlodAjOKUMs|>$EFOu5B zsPEmtL0?MzN~!OJp))XaaXhk49Lmyd-5W*QsF!c*UUeh?06h00a!gM;<5s!jmA^cb z)^?h-;<=_vn06>G578n?{UEczHe5UJg|#{K9YL?JxpIggHB`bg4hEn;qWe=XL|q%hd;Wy zM+f^95fAFRU!M0D;P?^yzftjFzZKp$q#oZ1Z#!y^nR^xq3*VjXStLCCc&4v#WOID$ z=HuI6PCak`*|x7!`Qi5aRX^hNe%I4B&3mEWUF_>5{_y|A2gmxcKAZK^PviZ{(MBep z>Hi^@aqmwie*3-kVGOYzp6UaR`arAPF+WT`&{{v{$XO4Le8zY<^#Nz#*LAO3yKQlQ zob|*o+T7Uh3ViT3Kli>_)Du(U(|*|Mfo<)u_syb?_HEo!F8&37_0QB3zSOsWHa_?l zKC7Q6{)k!OuYQ~LBW6|Ke%ttf2cNy%5u3tqe{Ob-7*u`xbK}D`e30YbAERAW9X8-Q zd}aO#SdGzREE{+)pI1%#d0D(Ix(AkZ{{phCj7y@rc>`%)obuQU+!H$FW=s; z>X`3m>07zLi}j`JJ!1T=xrYP#o|gLA9nO2S3;krBafakuHJq_lV64E89Q3&lW=@HE z=tqoRJ|BIq<@dYWNk@OXpS=F<%{%|+VCVCz`&D&3)s-=mzC-Cd2f%1|)KPNHnCZFeAbkQ}#q%xR zA;dP`>jfqr^!Ov~anB`S=~rT7+cEawWZU`Y^Il=pPyN(QzV=DmO2_=V|GA%eWBv_R z=y;Ye?3prtXZ}qJP)bR|5vc}@E?+ZRSE%o!k-~LbayB@Y<$D{pzRq(|g z=xI;r;#>es8#%w5aPjy1Re_WKt;?Io_NyX}d)&wNGh$pxT*iaPaDgT6^DDT&xx=l# z{3u`Yw8?k5g8Sd@a6h<$oB4d&?MGK|Yb}1J!^c-}&36$K_`bY?%QMWh?MH!YKc!s| z|Iv3B`u)~Vf$jIJ^4$pK|G01-i<$3Qi2IW(xV-m~y1u%Co6k`3!OsKN=SRp)y9#aH zuL@Yos>^l1s_`CUt%LE0dqs`+80Y$eH4oS6zx(nZb;#Sp=u^~D;?LAi9fY}G75K=Z zf9!P-HhenQ0r35zbZ}kU{6D&5Jcd7cM0|2u>SrE|hm1dt>)_Q|Zr!hn`w7OfvSr+F z(|^oo7z66`o6pO}JFF#-K13cJn{OU@77K2|@B?-F*5_=DgR~W&#lqXar>-uP!~)n+ zoZtx`ZQz``92ZKLv1XaDVK?WSjlE`+Hp_3%eGajg`42s|XR+J+_dlyV({~C6p8nBy zqkWW4S?ZsZr9KJ6chG5P?H4-so}~_a#|YN`wL*IK7Zd+>#+PyI!-_ej&#B~xZ{_c^ zSowl4%y=aoF=?KidnLa31^+O=GA7mt`;4{3sfyuINZf8_Q?0&;hdq$M$1gmgepJCI=Y0Q2IPk-(bIT>skERuL?T) zD&=XZpFWlLVTHkv!x`mv$V} zwf*W~yuei#>*UF`x+I-?n)9@c+MkpU%^rt3Yyk)VLz6hbz!8RxT>Gpw#|y``DSyO9 zUBIh8GoH1gZ_jh>1J04-*g;M~UeF2+ zd1t`;@2X>ajgc!4&VNvK@b;O&l(Y6<$lb3BdcR3LEp@Rw?91@Lk6HR%4m@~vn5E-x z;^RAT_Au(?ZETXx=L_KBPfC1FDGYq-EP?sF#5&6E!*#M7`+=#0&qQY3>Rb8eSj+fJ zyclzd%idqW)O8Qr^m)1NSEY@>wAFDT?Ve-NAMJe!-6pT+H|VfUUATWpo)0^}B}`sV zlh-*kt9 z=dy!;t!25-`n1|W!!FlA+GQIc7W!fD+k|cM-h12ih<{I=vTg0T5!u2{OI?h^=l5J( z>V;jz+yV1e175&tu$Kfx%$@R5yn7(+v zZr|3Iv=PSBDo5YuKF+wn6W-Jjvwb|N<6iE5!t|STme?at&cT+nN@dle|nKX`=-@ z(-r>N@1aE&GQoFz<{UeaDa?1!g~3bN>2v6`zjk0_{2>d$AyfgFmde{__gYWJ=re& zZcblJycxGky&k3?jGOqD#K3z%{Qzw9edoIqc0YOgF6Rz5bf!+28t?u3SzCasBV~R! zlrUs8tj8ne!nf=h_V(KCydC5mpl_3}zW9Ure9&0v7fWbr3>|;3aMlf($VWHo9{U~% zy&ZGlBR=-d`& z!i(@ZZP<81ulB?6;O8I6TJmBx1RGbqxWK)8hFl+>-FZM9- zk6^^%F*;yLmw8{`*Tetd;df$0zSrk*wiRIYtZKaH#5uMBt9J(GepMfR?i}(i7NhN5 z%OQjB-ZSXHyB6fgybo}U!r%G}e}kJaY^F|}9AEImKV%NMZM{mtUJfE>ZCipczjc-AK zQ3t-VUCV%H41qPz-lGGUIb?D(L;u)#_I_35V%e_>{L@lD75w`D zstU^b-|HdZ<=5dSXpleixa0m7_=_pG$9QtXy~Y5qXorl#S$ViVhE{tvzP#va^+y_h`3 zG3PEmr9AiZvF$K%69+nA53@uTG<%%vd*E_y4l>6A+r*SR{I3q+Re$(g`C;@-o=?vY zZ(|Gj40zN%;n1t|!@XY>KJZ%{a?I5~M}C<4e7=Jo*xv0JSm)1(8TXvvpO*UB9kvl@ z^`E7AQh0d3YMJAk_~-y`!e|@RiSws7&);H=n)0**9f>m~_-*6)nqE3!ubUrM2m3g@ zO5X6f-&0eU2kH*v55qbxuK_BVW#OW!A(ap1f@?^ce^HRW;9Ew_%@i)oH1V^)PR` z#S7Wle$uzbLLBqM$YRY%p7X;sH+{LjxhvkS*ClN8?ImoJx8=g=W7x&G&^%u+7oOuD zdcmv4zcr_8d$7&?*O4FY=l$ICv#w@5t##w*+mGdk@k7G!8~!ps3QWIw|7Zzr<}u&} zo#kVBr=)|I_%Di{Yv(EOs%;GY;R~G7`(<>a4m^3dUzITUb=%u?O&GS42h&DjlqGw} zbFG@TZMtsxn9|`)S7hgXKRO}{ne;(rrftG9&!8;m!A+k7!+z=HNu99Gj&F{AiIII; z>SuRs`QaWf)C)V{f$qLj1x&umKGIn_*X{7AF=TC%^mFQ*XF1ROaKkzeNlcVAW4gE& zOBjCQ+Vv*qRkzBNhhs7_tg}3VJxpC)<4wLpmax=EJ>ZFqq%$_+xTc$Je#BXrxb_R; zQFX%}&cP!dJ{v(VXeQo_+vY>?!9i!*!ejk3eV=V%@B4(Qi@x8%*8ZV?6Rys-Z}q1{ zS8#3L2~*|~9kBNO)APg7?0raFj1jVlsk&QIpE&3&A4_mpXB$iV?tcBOE!mIp&u8a{ zJ4Xv1cEGoE9e&TX8*uca#1{0^w<%Mc*Ub+X-H?fVcwo2rM9v+P(GeZIH%GSk*b9C6 z^fmIsoBc(9p~KVi!y6Cm_-W~&KPg?SbB?Z*+T(sz3DZVnnlS0@4++D5uAT2VmsiW% z_Nz*mJZo*Y=Ig1$??pd+0={i^w!L+{$QWGD5BEHg@w}Tl8&6==*`{VZ5BIA|oa`Uv zhc%A!^4nH*rxdoQC4TT$w`*%X$3k^UI>&Z=M{E+u*k+xva$bZ^9k%#wYf^cNqaA6Z zzCe!gb3Ko*;b94#`&EJeSM{C`xa8;ko`L*3-!o8t?dIdRe_8aL``v>u-+SiXo_hgG z-+RtFV93pPbMXT_u?yUUJxmySAJKt-1fvd~M=*FMUFOYGHu}JWSdceQJol?gU$|dY z=eM`Ej}Fw`PkydthF_}AcVOXFeRAYPi4l6*Kfp~Gyr>f=`xE+}=eI9;LWf+}Ybg(X zxwg%6t_{kw?M>L|f1GbNcDt1}%Om?gt^5l(z7vQqSZ@yhzR~>~d)=>!dUD=bmQLgT zEoG@s!mt54?KI}}fx8LAhxv~5(BsNG(!ll2CbQR6z^sEmd1d33bkGA!|Crxq&71jc z+EdjHzeA({l9sizZ47+xee@4>>RdC}ct=`%OJq8qsVgP^$#Rv9;k!zqlE%mb(X2nfkDO z-s6BU>A2QTVU*gG@~DGOov+iiJawQviZQ&@1sr)M9rmHq(K-{I)Ek<_fwywSq5bc1 z==;b320v)bk=tJ=OSfDzjo2i-`qapgBX>VvVLN*9jJR{~D9=%`H zWlZ#$?Gt?UnsgWYRjEVbmJX}UUz^|MD7#p$ZGd}B^}V*2i+c;u=4;=gTl_`a#&_)X zQu{Bx&AmGBU)KIhXM43sJI0Kl#V*>Y`wGAZU3f>1at}k6dkBI1dvh;Ye9v4+-D#y`6ax-$Xou93WI!;UPTLdqUl!d+I zQ9M!>HjFu;WW8Akz}}yF&{lx4hC**(UoF^eont3D>f5i(?^LPdnJaO;efhk8+rD>i z`W+njrEbIr8<9=CesAKjPP?7s`DtnUz&r96Hh_=6ko(s+|MIu~zG|4)Ps`>ne8&IN zviS>s{7+f>%X058_#%sTw)Yn>?o07Q`U_v8qyGNN{2PMQ;os3F!(SjL@~_>{o#&F{^74D`zWQkQEV;5>E4R`9oe(BlSu;sLOGjmMtD#b1us` z2uoSm0^i5_0kETffY0Hpz2(O@eD^ke#CpX%EIwn+3Y>LH(&*0ujkOSS1v2n&J%b)| zI&Blb{xARc|L}h4J?6Noy7|iUp8JGT2mCvn)ZzRKyz0j|g^vUO4}E@U-M{;TPyR=7 z(M9~k6OK;*@BjC|{$b+Piec=@*99GWnN8X;_ieC` zpE390ugXuaHj=Y`6Us>oKl#!xz?UyD>Nw!b^*eLThQF<|{Nwq~7O;oHq)a*Dk*5Rp zm77gR^cptCnCQM}v;%dcZ{Q#IMFR$3%HNsqZ)e^2LSNzlj5zeZXwS#qkl&rUsx$E3 z7p>Pq=t^9n73Uk317X9Kr_e(4I<$X2bGYe8bRrUI4}B_euIbeKqV@QbH1K8I`n-I5 zU$kSspQUf*-A5iN_3^%f7`vaK<5^Xm9qt{K^w!aqu#MweHSGOx#=yGw3jD#84}W|K z&5LS($Zq+|1s!`&5l?9L`=YTvFeb)p+ZSzHSJRfjRhN42cZ?gZbM6?gPr!402hRB3 z_MZDV?Qt%Zhjw&)`W~1%bOR^bj^CEp?~ti(xwfayw$d^0Tq5|VrG9n?^U)jgJ$Pih z_GMf`R*pfASw0uk$CTcGta2XN7fs#v`=agbLKpW%1E!7Q0pHr~@~=+6d-L*t```b& zu`ez-_<_=P^4Pv;#v*Ya+c(R$Aui*=W4PX1i2M8suDKa;t1mywm$5BvTdv@uU*djn z1=ls7I(&2mm$hT^{rCzl&o2`9p(O5)0yq1q{e##(FP!YB`+d=B9d^d^$94T! z%&IS(;r`?b?#$V*ZS2(*T;Cngw?7YD?E;o|Ep`1*=DZ0k{Zg0fH*LJbL%*aQ`)uC2 zvF@xfkZa}8Kkut=P=~xdj6Ovj^1ziYbr9w_0KQ{w>OdVZ#|?RXkvbUr;oJFq5Sgq2 z@yThyhRRgce-CK1y;gK%y~_JsuDhxn>&thl&fKr|QwJ^hJ|`IRDrZ0+;yrC(HwUrP zw|f}$#@A=a!}rVf%pczFi>5A=@C2rB6K0&W0iM)hgYrt3k$au6VK?WSjlC9wHgGpQ3B??DzPQiC>5lwlXHF54nZ9&m8`NM*ry_XrZBG zZU)~rVyxAN>+<{Ce^c_sN0#*Fu7TZ89Q>2tw80;{DaA2&oG@{GHk~l&xRwri_y+qo zo}EwQ-6Xzg1OK$tPdU5(zp8?={&)KXUVa^Zf(H4N1t0H+07nL8&-vRoZQvE{fECWl zqeg|Xj~+DIv+>=&zkwDW=-x8>z8ku#8~iv|hB@;IFPx3P-?Rban>OOZH*H)W>9g_d z^|m~r+v^HUd|+H>4A9@$?_uSap^G@aw=90z;5%rxKg+~T9CQJOZj{J^CUJme-vfth zpGVo>DQy!|?(n}l04MjtJqU8);n)a_I>&{6Uf($u@PH*x)_XT|Z-EIPvRJ1S?#RPX zZ(qhXa(M8l`+2}@q`m^Rk4{Y?jK!*Al`*bR)a z^`Xk--Q#fQkg0!c9A-W0I=;vE&RIZ%{}@lpf1_`6kG9u~I`wkCQxERb@DbN(t93_o zz@($}U2b_&N}sw&Cr`hJ0l$1R^!L88`EKKy{N&*pFJ&4>WzrUq8F$pFJQJeV9G>4cp6jA)mgflub(kr17pn%ugdWcf1$r~3UJ1& z0k4v4eQ4aMn{iu?V8{eF=dr3=WuaU1?Y_wR(>hDr19;X^_F8poV-Hi7IH`{?O8AsM z<6RbX6J~7w;HKZ90j6K~IMvt2vnz0*Ber*8m+vhDulluJbli?*qnB|zqI1s9wy^oW z=Z=J_d(9o=9(V^EF`#bm-;^yZ>#(PNxQ(A_WAaQo^qF+4@6u=Z5qzKPasDvtec}uq>iyR7uJE)Y;fFkshkoUw@%|XHU5|6F@3hD7))FQU`%=QB&$w7u`VU*3 z3!sx%%j3JXtzU~TeZ~V=#syx+bheQp3;w{w_q(+j$JJlulXYJ+VA>BI*Y0a3FY4fp z4wYM}=lH#^nKn@mPxl|AznFtPEjKsrX+~L~HCGEB>rYDeACuNxE!Xm8EC8ST(9^>D zeEVOgD_`*_<(qZpU-KE#UD<~$N^lc~?Z7tw^w_Ciz(0Z!%g5+|C7tU%c)lC$0zCXn zjQaW2`I;42J!=~KnsJVQh)X?Jn){l4^Nw{2b==Qn4!Ek;Jn&;VV0~45NBjBg9B{Ao zhrdf6IWE@v_`!P;Y}8-+J7M@cedC%&Klt4jy#LF~0so7)|8?n)y{whc(Hv&xMSeEN zH}Le2ISJ~#PqNfM_yFHg;=A-Kb@+}tao(8sEYyK-uBUUry;laX+ZkVSryth+FQxOC z{A}-BJKx9`d}SN2q@x`-&#ir!17_{oIpA%bS?kEr-k{Nc`iHgwjctrlnYJzH@B!E5 z_wn7A_{hSqTst42D>_or*YdkB@PJu@<9uLUmac(VZ%T(Q;5g>%8`_6*{o5GO-4;IO zX{nz+mMUIx>UUr4=YntGds^ye%@K3X(SI8QKKyNr!FT>`jNS{T?>DF?c9cCAkSp%F zDeb}raD;J=?v!^`&i!S^+7Y_KA2H+{IC$wB>WGE1^^G!(3D6i+fy3$K=E})_WNE@-{X}XPyc? z{7Grtg@JFpg}L`x!nEJ~PQui|`_ZXG#%I{SA8U{D#PVfrp*}~xoMX!Rw=uL4dTn)F zNV}!m`%<~!?&;3+#C^XB-ouRRrsoE;?rHKa^TZ$Sa;MsG?w8LiZ=1VZCs4NSojc{+ z`RugR#YOIPyVp1V+MK>M7UCS`i7W3j+sEa-ygZGG_ET=Yy`~19G_F-n}+p#$2oeCpTb96yVm2}x+6O3%vn;pXA5-VOYhoJ zm~<_#^8i!c7@L5cwPZjaqB(>7t|^`t|VvR!|q{nEMqNZ7;ln>l27o|gLA9jvMGh4!Wo z;gPvWVDeS=kC?)5ZBFVK0g&*EP0{^$zD% zx5|`uOMTP>p2&EN4nBT+$2q)g6JAqRKOEooab9gAKJ-EdWSjd3re4s|7LNLLoTCpi`& zOC0zd(Sg&xKlUAb;b9Jc?;oy@aHwN!z)xvI^0}KZ${ceT->aXF=k)5oUq9Q93U|n$ zR1f?39>%q8UVQkL{NeY`A$MO&TJ%GYYka-u$omQXk6tNz;tZM7uF`?`F?)^y*D)C$ zT-$clOF7)DlMSbe`DLac%!Z4|%n`ZSS*$$I-dQ!Y_D_T*gwFjn6Gh^mwR2z_>X&OVM+Tiz=6pCW_|RAVeFl&) z_;Q_nQaVe=v!pA%2c2yKn7p?5^?Eg7@-%)s8!zJLI5gusWFi~7{3heCDpv$<<;LD{ z?=#kt>~BWt-e=a0_2Y#3ZZr4x=HPv|IqS?9JKvx~wYk9`+rdp3wjxh`69yglM=d5i2rUB*}KsrkOlCZQL z9M`qOf6MWE(8&`YAXj@6raZ?SeT5D96}6wJrm};&eUNaC2{RMcfUV_>`$f*?&GSVmLiSN}{U#3sWuGuHf^)aUm?qj;PpL;#WIXXfYx*potbiH=p>#~R8 z6M42S$8^A4PuMmo(M8?%IQWG+N^p<`P4dA%_C5J>{ipL8H0Q{mH0Bd;#6}%}*Bm?Y z+sI*Fa%|)r9l)Xe=WBjf{PBfEVqMmHBPz?dO~`4#LB6F!S5^pmKUEkLvRy zzYU#h6>zk(+c>b!|G|rX4$f(*pWTt|4u67Y=~yF=ERWh9ernyf_KIHA$k#bx! zYX>E~C>@)yR~v=7A5Oxw-+r1fbtu@lR|Zz`UVSTn?MD7>=>Z;NEp{aAlL^zm1si)V zLTBA+sf&x8Yp?6TLnfs*<=99avMI@3C#>`yFzFL!-5l@!$g%KPUeC9{KAr0j=G(nI zb&>bym)CjRA+Mh6U?0zSxb_(*=j13UPfPub<1&v6Tz&Lk+WK(e+s#(yU1YQO0PpI4 z`{pm-{`b?Tw{u;BA6l=!yxYT0OA(E@TB2Xa)tFhrBVp(zj51*_b};)!;@if3M>%21 z%b3k}u)d=VK5~3Vnd=-^f$i7k;4ntI|Je9mzVK$bj;G-8-}h7)W3iVKJy=WEeQOo{ zcPM#J2YHNtcQ2n0KH&7x?{rO^0Rzu(y}|KY2>DPVkJ9IV!q63;po{m2)QOKC;FfOd z-UL-QZHVd|YQ>fS6(q)VI7 z`8x%J2YC3v9HVv2bHe1I&rN?F_zmBSf*<#+?6+ba_XX6wIqLdvQK9Eu@#dg?AMqge z$%Fe{j&H@@DB1&$!oB_ed(Vge!9yncWIa5oN2l6X;r6Q&pKIgdehbvWADY&$-v_h4 zs^>bVzcaw5cjumR;9#G)@W?$y_VD&iJ@0()`In3rIN{4@1-k_XFLV{&w6%VpaO#Dl z14r6)KWXvV*Fs-?NsQs~Pv*Lvb7?5CllymN*cZSn+R+y{S9ay6#`?gv$zDQ5JK8IF zUwPi^o1~Gq{Q#JK~#3nvF_Ws z2hmvHRt$$v_InVqK0sI7Y0a8r4mEd@hp<1M z{S25kD+eBXIkm^osv|tG&CdY6rc|F?fHIrhc(k_sh{2PUb*js^Y^QI z-BfK2IW4Q_nQ`yAG=tpJWxwALYZ(1*Y_|P|dLDHR=h_Rdyu)>0x>8s3%%R@w!vk*l zW31)&dkeXKbPNJ_zqb%L=6mT|T$_hOHabvuH_L?KYhaY%I(E0tJ*RPw{ot9$#$N8b z8t>enM|%s&LpwSa+ZqMkz{xi8&u4!|7V;_8(|vbn8^CNM9pBC~f`3}-XLqnBe&eR^ zjp(cVeL8R%vnX?KA;&xO?!c*|G^Xf%TI%OwZ=v>!ePqA4kZm1$>_QjYAuw&^oESQ; zfd6lA&i57q2R~5KMmaufZ=u9}Z0{NFr;;!I{4rea*%SBq67#*29<>42HD#gC6Y zZv&=(pwWLx`~TEj3?6F?N@W^r=#=gAHt`vMr876A&nTH6`*~a2PaSqcul?qCs6$TD z+qM!Wy>#N!PB)&tw-E2q^1KcD(^5Yb{QCc@3d;K5&)dK&+R;8azbic`%{yjY&-vT) zHel#IbzFJa&eYGc`Svp<&e56jewEpIH2A5L_EV-$(32RbuP|i6SDBQ1m~$tv$8_Dx zLr3T~UAMU61LZYc=M$(?7s@>hI(Ujxv+l)r=khjRX4|Ah7kEm)$D!}sO&s_@v&W%N z3!|hD`ptr40cH7V&Gi-Dh_$)^Czo^dJqa*$aLnlEZOzN^WcL5Tvvcd6C!XWMsGnXV27H4U@OMK!8&K^b`u>sfEB%O9()BWUO+=Wda4?n>RT=TyP(|&bGm^#=NCM@GK z_~#hQxJ$ekYx{Xy_Z#)M4PfJuFXxz3-;-?p4cpSzglU^}+Mzs4==XH$($C5^dBg>L zdGG0fJxyNc*RYkfC30>j?>$d-Nx!5HPm|a0rNE=w{jh=WNt)+x-@RXToI8)5mb$oj zws{^e{Ab%r-`-DNwh{AmgMY1IxxeDxH~o%{;2+tVu)VDb+vN2gE%3jcYjehhw)LCa zchM7eS_<*(c^}tpYx1|PB`n(mxc0H6Yn`|Lny}=h{nN(vZwiU;eJR)bvD@+4J_=5c z!Y`OZH6qdmaWag+Nu+oyU_r*DKoL!IwP!|TXaYz8;!?t>0`zxz<0 zWztb6oqjBNW1a%9;xxu4?D6b#&h$Zl zeITv(v|LxR=k0$}GB{`cK!4WNT>G9W?OR#OmM69WqeNG5jYq=DPlNaCelwD?;eqb? z4LWt;DBJgKkLYZFtOsk(7=9u~v_<$jrvPUzp$-_=+6%riXWW(}7(M~l*vz)D%9Mw+ z=xd#&Yw(1@mur1I`3_kd-SK#e9eX-s1Rwi;#!@?svG&ZqGVIAd;{AS|I%Y>oN zgbh2JFzvA~B}^NA zN87fLIL15cY(LHgwk33Ed3-Z+*{`M37t_{$hBf1Y9AoNzUd9sNL+3Xm>1WPMhjrf} zuC?Eo?e`r52R|UU@-Fo*#jkeXq0HklZhX=E4$0rWg|H95Ba4zTCt=v`SO@MN2L9%| zjwyH#SLlExo$Ed5e4mRp10H@SM*VE-*SqhKzN&KcG1jKGTXeVb5eMGGW8*^`itH77>?b>D`g6!gg^Ag%kdC8Vgk&4#^GUp zn0Hdiwdo&XU+c)x-k{m?!+jqK?QPvFj50d)4s+#{4{y~vW@cb?&;?`UJ0 z9|neP$Pvf+z;+4_@+e&&B}{r@;?qtyo*&))&6M-u+*{(b6vB2ab^5B>$;c0|ch2p^ zKLJ_u$DDI?&K5oJKV|7L{QB6wJ3SYWNACBsz(YT1s|?y6=d^eHMU~*#KN4S?QXX~EA@3=4sY}^&W`pwJ3GddWbL>f{ zp8Gl7ev`O+9Qqh?l?BZn$F+fdgT896GRKp$cdS1r-iWm{;IVG_ym{m)XYhP_9(fy| z7$f0Pya<#n6vIngx=Yv zvC;8X7^QUSOMM7EI7tT#U4V5Sx$l9&BL>JhqOi{=8>7V+SZ-}9DDS8+jF>U<9^2o$!^nIG*LatCG^T>B1KXVUhKQ@DFf9D)t&{=xFeT@#7`0(Vqd^_eTc$N-hK7cQ9 zO8MHJQ?~mdptt;tqj|%G;ZJgDwU!#se}QQ?CGuQ*0=v|;*E`ehGhMO8eh(a36K~4w z@hM?@8-ZzuveW0luwOdcrFGMX(~e$$!t=D$&+cG+#}`MrczglOcT3@+f3S;onz;~l zmd>?5Jg()KfoG1HYwac8%9=4OqNr!PSQeQ|1vJu<83TrcAokcgV!I`d_|#A0FW_9uV8K zA^9LX#}j11pLMpegfBey>t}5Nu8x%C7xh8H@Xv$|JJBEcbIus{9c_S_vQ||$7 z`?f3So|0n*&pDR1gnf=h@T5+=kY!s^-Vu&%Y3ed`hE`tQ_o#cq_Ov`BfRDPl*3(W( z^>-{xm~{IXC62JHGq&=?2l8rp+cSbAI_*dsjUV{>k+~OH##z5Y=l2}Q{;PT)2;9n@ zz42N568U%J-7m)XqPe#xXH4mP(OCyH7MTh&+jWsK_gX=r3z#b+H{kcvUbl@Ms zsDtMb44z4sx%cFcKCY$7y(eDoOQbK3_9fEiti{n6e&!5@U#gBAAZr?671Qx|Bc-F% zFA0N}Hh`1;iMDf;BTt_AAampi!)LS++pO&c8-Rgp+ncb_|2W@lY&)dQ^2mO22+g3C+w9-admo}6(4iNw^bdZqeUL|VolGqDIdXU;E%(T_G4O38;9)zmD7h}a zV{d-(Es^Ov)aa`3Xk(cp2ZryEBaUl0cp*nyDZTHpP01Tv>8z6uKe%rNbmUbiPfPvu zu~hMj)AGZ}kwf!o^)2|GmioEKk@w#G@L_NM!FTSF1#PWU-~RfPLtKIP*gW2~9(`5) zEWx>%_lun44@&&gJUcIsP6ZonigV!LrEjP+f84NcZ+qWxZGRO8oqo6dt0U!+JZyxn z^cuQcr|b2K@+|i;LRlsLek#};tl15M&k=lm&O`l5N( z952e=u|A%7BR0~2S8JD%1Bd5+K0*g{p?w^^OPxH?wPcO=8Rob%WL>^X-8pdhUdw?4 zue{&NgZ+(uP<7P1o^c#PUbo>b2aZ0@L8qlIc86_C9$7v%=1dz$A4z;;W!nNq9E~5> z#wO`<9K!$DMmtR#jWeY%*MbStesxF~ypd~Ln6TBiz^U^ca^y2k(>^{c2M+F$FXx!D z{tZ{~Y){&HG%iY~9qBLaPda#^C%iiczV+ezszdG(opn!>*Ew+F$rue!->H5~7jP5y zdh$94jvR8}l;pshXXmu2BQ}($rGD1Ky^hZ3ar~$bd*8wXKZ0Wp99iVPfw9Kr-C*OK zQ%iyYg1oJ{0fa@SLzB3UHsc2X)k*8`t!`jA$Qt2=AW8N zzx>^ai(Wr1enZB~=fl3bJd|zR+#f0Ry0$-3;@MxbjyPd=!l-+*>ORXR{DBX0Ul(YZ zONGh9F&$af&9=4fkAz;F+aE|c{EP3!{y@OdmqWSw6Bu&2AI87bzdQG110Oo-@CkivzgJ1ZTmHH3(4zbF z!{OdW;gbv9q1QjDyY`^_KM8%c0e#uK0=vYmXC32jo)*ht5Bn1p@3p;r<$2#9q)cVo zPN0=v%Bt#hewq(_bAUH#$Nog%Sx3or@~yZHe$*Pnr|?CF`0}q=>23R%b(ViT|E4%{wE3DG_b19e zcw1vA2eEN~BHBLr9`IQ6;Uo7a0!BWJ(*23D?t7sx?Eu&ti~AEjdv^14a&PTdbq3!1 z6K%FWOj>ciQEl|8w6sm+K9%;*r_PRbMLKjw%d|&+l;B>|srM(^##d>vm37nS<=guc z9rOJxee2tpwV$hxb2~A1U%B+dw{HIDXaDE4_f)#?k8j=FyhZMS^$NCeyjQ0m%yo-v zC3wE5wuYRR)$dm)9s9yOOkVr_iC7l_gAa1Bb=#k)*Z1(E&4H^fyvt=B`zpOZd7PF) z+8w_0txmbe&wkG$*IDWVtNoru;Lx9Gi}YEp&BLiHb;M#1!&d5O%ix-q<=pY!wIX=t zxY3847_e*hIG64H+VSc27`)I8oNOn)JC82tNvWRh=L0Qu`ln-l-T$mp-LnXvt?zHt z+8-J2Su|`ce=|3P&s2=U)gTMW|ZnJ&Af^6-AKTN$wjnP4;W1q9d9X*^=T~sK$4cDt%cFdGmYTTB6+J|Xt_7CFqysqu1!1j9P&$!bEKM!2(Lcg?Ysq3fgS;RX4jCZtSpNmn)*yoyqYvtgh z`)ZfeA#V?(?@@=o;7W&n+91qv0DQ;Vy$-_AMP6T|4#s}Ocjo4i$vP6BoEGHP&L;KW z!!;~;t|56>0~^q-%CVO0Jl6U6L>+$XcT_q*G~`u&h(1JqXukI`@{{Q|eR~tnDDfrq z`Zk}X(7t`%25m63`Ll^PO8t|v_P!Gaop$CsV(3r&@geJMpKlSHPv(8{J9Ykxn&&9>k^Hbh zAE*y7>cB@P*WLrcmpbUswRv{?0ESZ|E!7%Fx#JH;wBDsz#eA#qDp8I2Uzw!aJcq)js2a{ zHZkQ6|EmM=&LQ25TnjuL8-byV<3i^Ux{ZJbY|0rtS?}G_8k?juAB~RSW!#0Ojo1o~e*++4+Fvmk??@+19SSyb^;3s6KKgJ! zjuH>n2H>Z^uvh-*lQ3n?abj+Uj^nowiArzLcjpNe55v2`F37wjZANQ{EAs zbx)Jm&(eq|>qq3_7i8>pK?igJH({?QZ<`C5$B@HXpn3MQH0qqIPD@>^$N94~^x6Aw z?^}3@V}1@Xhl628=rH)9?}3X{&Wdbikye^!oyN zQc9n?NGH#H7yV(b6X5q^@^^2XHA;69l`(MNdp zZD`^9P-VBd{zjT}-k*c+w)zs+zGuq0yp)~spbmRptUR~(_>luoaom@PK66^?XLm3U zqMv?B+3*79ybny7=m$?@%DFmA=e-Ls#wvJyI=>r7f9Dk7j8_9*CD;1UxKTIbwj9Bb z39hl>yy`}5l7}&8{fWNtwG@_hzJd+N6urYmCbgR$wt~1miH*0!^esLwfTGszK*-_ zM}NmyU@xZLlzmV0&TsH+CiN-U;Gg#^$jUyy!x=i)y9iI%m+0Jw=!ZQ&tr8uM*4)~Y z^N)VLpElZ;;33R1<6<55gX>(N{pi#3_~u~i*WycWAIumOY;F6-6d&GQ`gi#2Dc_7h zul?x2wa-@2**f$hXV~vi^m8+PK|TG#{e$Q)=3r0D&CP$RhgkkE(E7XtJl3C-zd!%( zj&icN{BwUHe26Sca1(YvVftbZ1OEty&*1qO zEa_bDVbi<2c7cD15qVpm8`++K)w8CzeAdJ>b70kO#yeSW+5HOFo0!1o@bbHM%01+ZGXj`(u# z@nPNnQaX>xkGRR-`9{9r3o~9xM_*{3Tl+8v%-Xecz?b{_L!bq=`4XYhbog5!K(U6!taSZ_*)F5o!k>l@mKa{cB4 zy4%91JT3Lp$5O>BPRkGDn+x`1z&G$cE%meJh&kuzZ!X}&Hy4BN{N@5$V@N%*qwKkW zT=Avt*Z__&&e5InuFB@Q<);gOv?=rh4qp0(I&-WIJC|up(r=t26FN$+)khfRkvwda z4tdwP@dq(GwIYb=WKjwe^PH~_BhmG3pmmw4lroE)vU|-4Ey(E?NOdsnY0!4 zIr8NkQ_l7s!ba$|)o}s)=4( z+khSzxS5;NHtBO5t-4iL;mRbw)FBJL-5$GNrftH^>q(b>a{ZC^OXvC{VGkv*eX~7l zIW48g?qE%ge%hNpgh%Egfyr0dM>^OuCZ;bcQ~)QRi-@jBQmYCJc2z;T^%zg-yus_>Z2a;M8;!u@bOz5&f#U7@S3vv z;rJWQoL5^~?Wyw_-_1|dfrk#rb}eV!ve2~!t!-NDxWp?`Pq zp|dj8ky4-JSfq{0JfZ{EzCZRIeBo~npYs>9PX0$Y)G;=In>Hk$y9uMrF{kh=m9vd; z!1wEC+Y$LfWXwF~(A7S^hjDG2=N$dvTl|OLJBQqDBx#Y4-Pibf&yn{N>7SGh&cl>B z?Haj=ug!Z(a2=E3!L|4A>ZKg+PfGUK+g{i#hfVYTWt>Cfcs%2nI75f0<&gVX4LsBj zACg0+&b0#P`c8Ws0~02XY@gCuI#2BBxVC>{x4c>&Ippqx36rO7L0?i9{qPC+#uOhu z%s9M=68xv+kipY_WW(EM0_sJc65bupcfQOs0b!PjWB&kFbZZ<-|Bioqv|Igs29Pl6vQJ89>3EiO=*6{df^&Io@$2S>eIpC7Rci$oI>G_t5@@w;N!*lMpSHgU^nR|P4@V?ueb>`Nc zZ_u5%z!TfSO&GQUQ{RL^2mTR^y2t3?nRJ<3PyXlw4`M-XJ@MRk2)Mqea`--T;P@O} zs6$`yUCRu=R2?}!)-=Fe14u`yUlIl{Z2-r0Ep_O7lmkzm_yD=un=s`$<|xPapuu(i zMrZ9Rx?w-~M>dj+Y}(G_LQAfMvhpuM`|;bqoW8PsSvtQ%gAFM^VfZ{@zUxdK_EF-e z&U5#>#pwOXw1NEaFX}$JbJ9I0LIYoH&_~8ZnEav3m`I1t&9m>@@hN_>4Uj9mneT!F zEB_3?K%@WkEpXZmC2L_y=SkxUowChyCq8t@^j&9sa9?$l_$Tw+)S*B0;yA8R2TUAF z$HP60Yv(2K;J1NDC>XE!{C+d;U~`TCLizFvJRX2 zUFTl=14Aw{s$6;095LSKNPE=Jb~fb>o$ptfy>6Q}4}O#PkdZz?PkgVw`Z9e|b`75< zj5>45;6A1+a#J2ULKnIo+SqixZrJOxhv5@>wl2qXz+6w*HYw2so|JnW{6ZZiILLw~ z`QQuto_x9f)A_e?IEOc7HJNe0H}OVn)B!l_Zt~m6VP0}<t|o^?9|C zv4)xOAuIFS)Z5QF=iN?tI1Xlh8y{3oZ{<;ae&n~IbFBi7c6J*F*7x)9qMw6vTIy$a z?AsQ2_?6PJMjlxnwL5&#x^Mjly{MDtpWZxw>${V`b*`DUgA!hpj!oFBjl%xvT;C>4 z`|YO*Q(nQwy)v+h_v%~uYd7+5OAqiEYq29?pG=tkE!cSW2Ay@Mr7kXVuDz}U51EwO zlw%`x$fhKBov_k-z@$%@b#uJ?BgevHc|G3(`*f~Dm~Z#;)J5K(UtZ^NhrD_>68m^Z zl53xFa!wwX^0d^?I4<+Jz|}|prL7MazTIqPK1DX`x88I2FW>(6)2Fv{U4kE4ufM$8 z!%j;PkGNW*U&qy$S;8Y>=p~FYVJ~(t`$pp1#(hUQVadyw&33T9qYOTBd`Fq<99Mzu z*XH0bMwUJo-{=?qI-Y{Vf4{T#zKs$+SW8#VrHXzA$he0;DDPfAAAG>+qsP&SGhm$i ztv5J6;~MqynWer14_|QHSBWl;9Yb!=4Wx4$hg|C60lvC(R(0bZlJkd`&xd`SAIUau zbgtUI`OKEe~y;-=DnS^&Nv}w_lz5-M!cK=qex1jWE+5)X`G4SZE%-ck;`ZyMPx7H{%Lg3!Fh(Q})jK;p?@nmw#q`wu$6}PvO)4-}vAQ+DH3;<72;V|8Mx{1pey(DHj{y z-~QkD;5*v(p3m@6@#(m1{P7WdIxZU@*PVMl_!oUTUK=0$OMS;{ z-ks}U?8I*g|6o2JMvgv(ABTH}0Q*MWAKm=?=Ekuu`M|H*#n@YF_M0yevlqn&+Ol?q z+3t+@@6K;R;j!n54bA)Gw;3bgS$$^kewcP7Z+Y5gYQLyet}xc?==8=FZ(q5f(N|!irQ#_K`YMd(Bk9Qq0PObl!s14{ChL6fu6$d3POLn zrqh0}C~4tK9^~`#-R~8Zd_POy%IS^w0MZuMh4hQuD@wlqxK~uK&Hr()sOMwsq@DOZ z1LG_0gpxi-={*engE~sue7CPJX0IscG{#k*qgXfRr?DR(bJA(4pV%j=uGV($*i-Po zd#_Y<+;{AN9{ad<+~-^yIcI!M{QsQ2qL_OfyYLyuV|xiPA15w-|1n(V=)`?~1=o2S zo6w>B@+e<(!QvMBqqyjoI(%>i_cwRAA6>yEN0@v+zJkj$!Nh%e1()Zx_o-0;=&Dp}9aW`OPYimH2#GoC-L>&IfoI~FPbCs%NNUTGX&UBTu3r{w$dz}@F> zwQDJyr|cEQdxfkspz~QKb*?igxlaGxm#?V9k9!z?q)vaPe%c_+aR7Ye&_DJ%2xHv% zRp^kAg_EPJ%F>a~n9Mi@<_&bH`vkBsi{nY6<->Zfv z?`G47-2dQau4kpA#Bbp4Vbtkc-&>=O_U$uLct5sR6tKtQ1Rrzf%E1QZRSz2L6JVv^ zu$%ME#$F#z_|RWFzJ1f*3E?~KCtr!JzAFdpXOl1I@!s#*_bkKzccq3^HWOWO#JoDCiDE+DmcKP^I0bImUQUTJp224Y{DFG9=aBROBdrI|l7VyvyoGOF1jN1b%Ye+pgdQocR2L3!|mck9x5(xk&jT${(Y z4Ld$2?jDCehFoyq1I-?XzAucDzUs5Q98b#L!|#ajCwSy4dCto9SWnL}X}|tpJ)2`F z`pq$9v>)cgk~O~hp5xM}XRTAbM{b$=94{Fo;qfQ44YHQJnSZ|=+ud&p9z2WvL6y|| z9nq9O?C3VWJ!d7>JR=1EwA9b;ux-gBOP?viqjVebx3v8vKEBAd1?+y-ZL#URb<$~v zV=B55hqMu&!NU?<->0*VQv1~}Vd`L8n6NcI@^_v`KF=P(vA8)yai6K zuP$x9T+3{}y@YM@wr{5BW5{7#Xj}XFJ$1rPOI=(%zrW;9dw}lRI?DGoY|E6b^J8P_ zrJQMFJ^;AI<;j`E1^e$rX`z0WaSw@F~);|H#DZYeoqY*HUe`KHh0;X2W=0)EC( z`yFF}VQYTVBa9Lok>~q@v?1key7oG1!p?Mszv~Za{Vu5637P87clQQ8FIFEBuA2hb6fB-a1NU9?=1tF+21faD3soEMNU2|2@uK z(V-8qO&j)n9ETiN;K%r`f8YzRi8uVi`uV7j;~#Q+MSGDez>bD>8-Xvn!MFGizPWbO zKIJnPBwu6!gD<7+Q-A0uuffr#SvO=NA0E{C_scnVOh!la&K!{V=+O5&&wqnwd8tpq z2LE{vHO}E{9|3oVGjyo^S-%V~aCh)WdHl3+;deiEb*(;S44C%Vml7tO?b9}qIKr~7 z^c(S$Cv@^^dE4K=KBC*jg8* z`a$Jx>OGu(UTz z`kY5RO8I6TJm8;uO5K%x$fg80Vb~6A^G}b*`UU(W7;$)v4p`D>v-B@#<_X+ zeIkA|$4q{QJlxIvMh94}XGeR3M*n3#2O99WpQKc#Z3{YO`;CtH$db)2_xtcbL zF7VXeJq~>b7&yp+W{;C&BslcJUw7`9d9-AYct1UNyp21IeeiG(s?Htv9#q&~Ii$gx z-0>$R=V`g)p7Wq*4x&6Q^|L!{lR1XzN9QqUxwp=;`p|fWl6165aP~0jU!kMIp!SZj=9628=Xmi{P(Kg7D*$;C3p>1?duGc%{SLh?uNnh=4yoWMjV~$F=eZf4vJX&VA z$ArNbdh-Rql%;HWX5Rw`+@tot+40TMhv0u&>SuSDvvm!fvf+_ANMV%tuyyXWPuee? z&xzrYxnssH>Ri)v&OAf8!Fv31o`HXlCpU}Zf5Pwu*A>%8bI0(ImUC^ebbX#M_;PJq zL58w6x=q)FVb2jA{(+CVIeF?|uEo(F+HLV3ZH@E$sh4q+$HY5}n=tuek8MqS%Z^Li zqdvg)zE2o7bFHpB*wC4}^e;5Zq%Zl4)i2j7 z+DVSgaf3Ku+kXB0SRW_P`dA-t*w*IJ5x&KL_&wKd*$$A84apZ>Z6lPnPwc{G?eiKO zZJKpMCi2BM*9d&Jq0x5HJ99hYqeI{C{A2F;hvf^}5;4VJ?Z1EM+;Pue8Bf|$$Fs)` zVAMIU=KU)$Vtj;STbk{3v?XZe<$Vuzwi97V`%rD)+&^%1ySCQznQgXx=^S4YR{Tdl zd91&J>-fsKyteplYf|h;-j1PZW62x70MD_;b!_@mpZIsd@&8}dyPV)wPV5c$pdt^< zclea*fqnbtgSY=pog>rSH@1>Tbe&B5t#$D5J2c#PeCN;^vmr~_ z^E;JSvRPC859nMs)RwmatpOWLdZQ_&Vbobpaf zU6ixy|Enq}>wn*OP5#4A&>(}-zNCE09&^ckcitR4VhOC;%F07pY}THQZ{OoU3rrp@ zv-!fW@CQH6m61MyAHIhNIL;r)EM1CzlbtZ|r33d!*CTnL(-uyG9Ft$roD*+PuDx@NV`rPcxS(ahHLYy_5(`W3+F{QVw3P%7hK(+ z3LR)a{oZu1v7yH=`?Y(?8t*5}@nFcB--wO8b?ejLb-!&@{Z`9F0XUn#Q1jd^!@3_bOCn{d%C=S zZyF!5j-uopg67%JcBmsZl&7VB*5mxWY1@tM0sOshsnf^izLE7|^-o}|ZFvt^d+;~- z`aNw;*glpC+vIhgf5_3dCAWE=?==U`X{nz_^8Cr)wx+GXvOREZ|4Taik^MDc$xHjE zjrHF2`MS{Wexc8?8#?X{>~r#A9IpGbi@gU5ZymG2;lJ<4I9F1l2W$DtXH@a)*aNF` z!{#}dAMiQ4I6eWRjuPKfx(1nb!?wgr-HUeI!vfEJtbAu7>5Q9uU?nVRU5g}K9bMNY zOuZ9E%-$@Wq)VI7`8x%J$HTPQJ*=pM7GDXI$I-rFvu&+=U_p;Q_*lK9uf4Cw-h)&3 zG2e0ykKO~T=aUH^`sp*84vpe=r0!P{6mJX}U{>@Hh7y9Za?laZ*+P*Kf z*U__ImMr>7?b~uoN!!ME+`CB2cv^cHo$c#VuDEd6bncIx+|c8U!nCI{^l z7#tsgXpExy1#QkHQLmcAn%&^^`_o@^e=z?7$7&d1Yjcsq2-IGI zjm3h(4Ah?j$%EP{AUQiA4i0e)nF16`(Pv;#0MZ};Do+*wH}n<(8P9R;kRXT# d;(cHig0P3m!9*4S`C-6_*aZ_HgEj!_0RVyMyWIc) literal 0 HcmV?d00001 diff --git a/Standalone/Research/OwnerShapeWorld/gpu_field_port/precompiled/ScanFarSkirtsCS.cso b/Standalone/Research/OwnerShapeWorld/gpu_field_port/precompiled/ScanFarSkirtsCS.cso new file mode 100644 index 0000000000000000000000000000000000000000..20999b4b280ba885a8c5a9a64f44f8f03cb341b8 GIT binary patch literal 2836 zcmbtVO>7%g5T4j=Z304}6qF*=uBe4Vg&+Y`A%u_VXQu1qF(HLqbJ}1L}!G?nqn!sdqSVhwroBq#LJ>BN%Bs@6G$(_vX!; zSr=F43QH5WzuP{4^R1IlU;fqm>(bEknu9(BrThpzVwLBSgTgU&8=8d@!#RZ*UH_x! z+54mGf9_q9RAPV03*9Sz7`wI5i)-tGc_C=EOf3$=V(49+4c8*6`V9kb6nm{W+6B4i z?RLA28vP66j6a4%b8jZ5w8 z@aGb^VR>!>$GRmAYiAhlIsnfefbV1ArVqfk1swZMd*vqv0MYo>7EGfNRZKX$;YU)x z8iaM}iad(iVs+hLKE#{3UbEdWMZYOzCX%Je5rl;egj{B z!$oT^i5r{tg{#tTcnY19{ky0MTxzTmaJnjc@=-NO~HUiVvT(!t$cL=4Q8E#mv6>j%V< z;|B<0pI~SWoUy$;3bz2v(jpE&8=Eh=SGFnOc6vIk(_0IEc4y zLZ=Wk+xUM8otf$9X5_qkc8PUCp)C*0-E;FRKO?XT{*}MQ`sJ*QT|`-yK5{VY*Qd@I zKfeH9(Ea-(T<+EH=WIO8S)=P{Y~nt{60xdVl70V9N;coVd0dY6Dof<_rUOL(8+gR- zuSzzn>*E$TZgK3WGcuih!}?QsI0gjY!Lf?uGuQPD<*+s_htjXu@z;|7Aa$xA(;$8< z-zR2Vlv^SX9JS-qcE4htu=5i#k$K9F^^ALKPG-)oCHFHwk0a(2iF+sW!ZX-kTjIQ@ z`BNUvkLC^>8Rm|hdaj;TmWk|6Y{+M?7J(xN@h6cN-Gh7VU}H9);)}q zJg>n#*1OMt;{b(JZ63*|@hLyge!-rt_b=Hy@NBm_TfKpO$Dw*h412;>WX$vruJr)+ PC!L&N%sBq9@Z5g^_6_5h literal 0 HcmV?d00001 diff --git a/Standalone/Research/OwnerShapeWorld/gpu_field_port/step8_report.md b/Standalone/Research/OwnerShapeWorld/gpu_field_port/step8_report.md new file mode 100644 index 0000000..11c5e89 --- /dev/null +++ b/Standalone/Research/OwnerShapeWorld/gpu_field_port/step8_report.md @@ -0,0 +1,58 @@ +# GPU port, step 8 report + +Build: `VoxelForgeGpuFieldStep8Final.exe`, from the current Standalone sources with FXC bytecode regenerated. All viewer runs used `/MP8`, BelowNormal priority, affinity `0xFF00`; the capture and interleaved-run scripts enforced the 8 GB process ceiling and closed each viewer they started. No `0xC0000142` occurred. + +## First-present stall + +The controlled no-hold runs reproduce a long first GPU-backed present on this machine. The first `Present` after one GPU tile had been submitted took 2.36–2.59 s, including with `DXGI_PRESENT_DO_NOT_WAIT`; it returned `DXGI_STATUS_OCCLUDED`. A CPU-only first present took 1.54 ms. The long call reproduced after a CPU run, after a 60-second idle, with a renamed executable, and in visible and hidden window controls. That identifies the trigger as the first GPU-backed present in the process. It does not identify the internal AMD/Windows cause; the owner's separate warm-process results remain different. + +GPU mode now presents a CPU-ready frame before submitting far work, then retains that front buffer while the GPU clipmap warms. Across three interleaved GPU launches, the first CPU present took 2.45–2.84 ms at 0.958–0.983 s; the first fully resident GPU clipmap was ready at 4.093–4.137 s. The first post-warm present took 0.200–0.337 ms. This hides the long present from the first displayed frame; it does not make the full GPU clipmap ready sooner. + +## Whole-view timing and GPU budget + +Commands in `RunStep8ColdInterleaved.ps1`: `VoxelForgeGpuFieldStep8Final.exe --clip-radius=3 --workers=8 --quit-after-clipmap --cpu-far` and the same command with `--gpu-far`, interleaved CPU/GPU runs. + +| Path | Process start to full clipmap ready | +|---|---:| +| CPU, A/B/C | 1.489 / 1.346 / 1.345 s | +| GPU hybrid, A/B/C | 4.131 / 4.137 / 4.093 s | + +The GPU hybrid median is 4.131 s versus 1.346 s for CPU, 2.785 s slower. Headless CPU clipmap generation on this final build was 0.780 s at 8 workers and 3.939 s at 1 worker. + +For the GPU runs, 1,434 tiles were submitted in 46–47 batches of up to 32. GPU dispatch timestamps totaled 703–820 ms, or 0.490–0.572 ms per tile on average; the slowest tile took 79–127 ms. Maximum batch spans were 86–134 ms. At 90 Hz, the average suggests about 19–22 tiles per 11.111 ms slice, but the current per-tile and batch tails exceed a frame budget by a wide margin and need finer slicing. + +CPU far-input preparation was 178–191 ms wall time (1.35–1.43 worker-seconds); upload/enqueue summed to 49–116 ms. The GPU queue envelope was 3.01–3.13 s while measured GPU busy time was 0.735–0.820 s; the timeline attributes 2.20–2.39 s to idle/poll time, with a single pump call taking about 1.92–2.08 s. The hybrid does not beat CPU yet. The measured floor is at least the 0.70–0.82 s of GPU dispatch plus preparation and submission; the remaining multi-second wait/pump overhead is still on the critical path. + +Peak GPU-mode private memory was 3.84–3.99 GB and sampled DXGI local memory peaked at about 3.03 GB, conservatively below 8 GB combined. + +## GPU skirts and field agreement + +The skirt field query now applies the CPU-decided critical-passage primitive rule to arbitrary clipping probes, and evaluates triangle-center probes in the CPU's centimeter-to-voxel arithmetic order. Ordinary rock/air field values remain GPU-evaluated. This reduced the remote face audit from 13 mismatching tiles to one. + +| Audit | Tiles | GPU skirt triangles | CPU/GPU skirt result | +|---|---:|---:|---| +| Owner-start camera, all exposed far faces | 1,098 | 42,828 | 0 triangle differences; mean vertex distance 0.000233 cm; max 0.11055 cm; GPU and WARP pass | +| Remote camera `(500,0,0)`, all exposed far faces | 1,138 | 43,676 | 8 triangle differences on tile `(4,3,-1,lod3)`; mean 0.000504 cm; max 17.9066 cm; GPU and WARP fail that tile | + +The remote skirt audit is therefore not a full pass. Its remaining discrepancy is too large to waive as float noise. + +The whole remote far-surface audit tested all 1,150 eligible tiles (116 near-transition keys were intentionally skipped). Hardware and WARP had zero lattice sign/topology differences; all 145,494 protected cells and 88 thin-feature cells had zero differences. Repeat GPU outputs were bit-identical. CPU/GPU surface vertex mean distance was 0.1163 cm (1.163 mm), max 64.5602 cm across 2,543,435 comparisons, with 245 tiles over the quantization bound. These largest outliers are far/off-view LOD7/8 vertices. GPU/WARP mean was 0.000453 cm and max 0.8839 cm across 12,229,092 comparisons. + +The GPU-mesh far-survival audit passed: 7,200/7,200 boundary samples, 10,976/10,976 connectors, zero boundary holes, zero missing connector samples, zero connector holes, zero unsampled connectors. + +## Captures and remaining remote gap + +`RunStep8CaptureMatrix.ps1 -ExecutableName VoxelForgeGpuFieldStep8Final.exe` captured all six fixed views and four remote yaws only after `[InitialClipmapReady]`. The pixel comparison is in [step8_capture_comparison.md](step8_capture_comparison.md). The six local views remain close. Remote MAE RGB was 4.2933 at yaw 0, 1.5692 at yaw 90, 1.6511 at yaw 180, and 1.7465 at yaw 270. The horizontal mid-band still shows a visible GPU gap against the CPU captures, including at full residency. The skirt emitter and connector isolation captures did not eliminate it, so the remote look audit fails. + +Capture files are `step8_{cpu,gpu}_{chamber,tunnel,passage,far,passage_floor_closeup,tunnel_bend,remote_yaw0,remote_yaw90,remote_yaw180,remote_yaw270}.png` in this directory. + +## CPU reference checks + +Final-build headless runs at 1 and 8 workers both passed Walkability `5642/5642`. The W1 and W8 CPU hashes match each other and the saved reference at all 44 fields: + +- Density: `0xdb2991c73215af4c` +- Mesh: `0x8236c5edd7fc8e4f` +- Payload: `0x4c48fa75a543d58e` +- Topology: `0xbea22e76b34a4dfc` + +The port is not ready to call complete: the startup present is hidden successfully, and owner-start skirts, far survival, CPU hashes, and protected/thin topology pass. The remote skirt has one large outlier, remote captures still show a gap, and the hybrid whole-view remains slower than CPU.