From 7fe0e3f5d69c65044ed4102609a01588d22fe736 Mon Sep 17 00:00:00 2001 From: Daniel Covington Date: Fri, 6 Nov 2026 10:50:55 -0500 Subject: [PATCH] Add vim sources and updates Co-Authored-By: Claude Sonnet 5.5 --- vim/build.bat | 71 ++++++++ vim/to-petscii.ps1 | 31 ++++ vim/vim.c | 420 +++++++++++++++++++++++++++++++++++++++++++++ vim/vim.d81 | Bin 0 -> 819200 bytes vim/vscreen.c | 248 ++++++++++++++++++++++++++ 5 files changed, 770 insertions(+) create mode 100644 vim/build.bat create mode 100644 vim/to-petscii.ps1 create mode 100644 vim/vim.c create mode 100644 vim/vim.d81 create mode 100644 vim/vscreen.c diff --git a/vim/build.bat b/vim/build.bat new file mode 100644 index 0000000..99b5625 --- /dev/null +++ b/vim/build.bat @@ -0,0 +1,71 @@ +@echo off +setlocal +REM ------------------------------------------------------------------ +REM Build the vim editor with Spinnaker Power C on a private copy of +REM the system disk at ..\reference\POWERc.d81. +REM +REM The editor is two source files because Power C's compiler reports +REM "program too big" when the whole thing is one unit; both objects +REM are linked into vim. +REM +REM Power C is interactive: "cc" asks for the source, compiler and +REM object disks, and "link" prompts for object files, the "^" library +REM line and the output file name. -keybuf answers all of it; the runs +REM of \n are those prompts. -keybuf-delay spaces the answers out: fed +REM all at once they land before the later disk prompts appear and are +REM lost, which leaves cc waiting for the object disk. +REM ------------------------------------------------------------------ +set "VICE=C:\Program Files\GTK3VICE-3.10-win64\bin" +set "HERE=%~dp0" +set "BASE=%HERE%..\reference\POWERc.d81" +set "IMG=%HERE%vim.d81" + +if not exist "%VICE%\x64sc.exe" goto novice +if not exist "%BASE%" goto nobody + +echo === fresh work disk +copy /y "%BASE%" "%IMG%" >nul + +echo === ASCII source -^> PETSCII +powershell -NoProfile -ExecutionPolicy Bypass -File "%HERE%to-petscii.ps1" "%HERE%vim.c" "%HERE%vim.pet" +if errorlevel 1 goto bad +powershell -NoProfile -ExecutionPolicy Bypass -File "%HERE%to-petscii.ps1" "%HERE%vscreen.c" "%HERE%vscreen.pet" +if errorlevel 1 goto bad + +echo === write both sources to the disk +for %%f in (vim.c vim.o vscreen.c vscreen.o vim) do "%VICE%\c1541.exe" "%IMG%" -delete %%f >nul 2>&1 +"%VICE%\c1541.exe" "%IMG%" -write "%HERE%vim.pet" "vim.c,s" >nul +if errorlevel 1 goto bad +"%VICE%\c1541.exe" "%IMG%" -write "%HERE%vscreen.pet" "vscreen.c,s" >nul +if errorlevel 1 goto bad + +echo === cc vim.c (a minute or so in warp mode) +"%VICE%\x64sc.exe" -8 "%IMG%" -autostart "%IMG%:shell" -autostart-warp -warp -sounddev dummy -keybuf-delay 300 -keybuf "cc vim.c\n\n\n\n\n\n\n\n\n\n\n\n" -limitcycles 600000000 + +echo === cc vscreen.c +"%VICE%\x64sc.exe" -8 "%IMG%" -autostart "%IMG%:shell" -autostart-warp -warp -sounddev dummy -keybuf-delay 300 -keybuf "cc vscreen.c\n\n\n\n\n\n\n\n\n\n\n\n" -limitcycles 600000000 + +echo === link -s -^> vim +"%VICE%\x64sc.exe" -8 "%IMG%" -autostart "%IMG%:shell" -autostart-warp -warp -sounddev dummy -keybuf-delay 300 -keybuf "link -s\nvim.o\nvscreen.o\n^\n\nvim\n\n\n" -limitcycles 600000000 + +del "%HERE%vim.pet" >nul 2>&1 +del "%HERE%vscreen.pet" >nul 2>&1 + +echo === disk contents +"%VICE%\c1541.exe" "%IMG%" -list | findstr /i "vim vscreen" +echo. +echo Run it with: +echo x64sc -autostart "%IMG%:vim" +exit /b 0 + +:novice +echo x64sc.exe not found in "%VICE%" +exit /b 1 + +:nobody +echo %BASE% not found - is the repository complete? +exit /b 1 + +:bad +echo BUILD FAILED +exit /b 1 diff --git a/vim/to-petscii.ps1 b/vim/to-petscii.ps1 new file mode 100644 index 0000000..47a47a8 --- /dev/null +++ b/vim/to-petscii.ps1 @@ -0,0 +1,31 @@ +# to-petscii.ps1 - convert an ASCII C source file into the PETSCII form +# Power C expects on a C64 disk: uppercase letters shifted into $C1-$DA, +# lowercase into $41-$5A, { } into $DB/$DD, and CR ($0D) line endings. +# +# Usage: +# powershell -NoProfile -File to-petscii.ps1 vim.c vim.pet + +param( + [Parameter(Mandatory = $true)][string]$InFile, + [Parameter(Mandatory = $true)][string]$OutFile +) + +$bytes = [System.IO.File]::ReadAllBytes($InFile) +$start = 0 +if ($bytes.Length -ge 3 -and $bytes[0] -eq 0xEF -and $bytes[1] -eq 0xBB -and $bytes[2] -eq 0xBF) { + $start = 3 # skip a UTF-8 BOM if an editor added one +} + +$out = New-Object System.Collections.Generic.List[byte] +for ($i = $start; $i -lt $bytes.Length; $i++) { + $b = $bytes[$i] + if ($b -eq 13) { continue } # CRLF -> single CR + if ($b -eq 10) { $out.Add([byte]13); continue } + if ($b -ge 0x61 -and $b -le 0x7A) { $out.Add([byte]($b - 0x20)); continue } # a-z + if ($b -ge 0x41 -and $b -le 0x5A) { $out.Add([byte]($b + 0x80)); continue } # A-Z + if ($b -ge 0x7B -and $b -le 0x7F) { $out.Add([byte]($b + 0x60)); continue } # { | } ~ -> $DB-$DF + $out.Add([byte]$b) +} + +[System.IO.File]::WriteAllBytes($OutFile, $out.ToArray()) +Write-Host ("wrote {0} PETSCII bytes to {1}" -f $out.Count, $OutFile) diff --git a/vim/vim.c b/vim/vim.c new file mode 100644 index 0000000..3b92655 --- /dev/null +++ b/vim/vim.c @@ -0,0 +1,420 @@ +/* vim.c - a small vi/vim-style screen editor for the Commodore 64 + * + * Core half of the program: text buffer, cursor motion, key handling + * and saving. Drawing lives in vscreen.c because Power C's compiler + * reports "program too big" when the whole editor is one unit. The two + * halves share functions only - every piece of state stays private to + * this file and is handed to draw() as arguments - because sharing + * variables across Power C object files proved unreliable. + * + * Modal editing, like vi: + * + * COMMAND mode INSERT mode + * i insert here any key type text + * a append after char RETURN split the line + * o open line below DEL backspace + * O open line above RUN/STOP back to COMMAND mode + * x delete character cursor keys move + * h j k l or cursor keys CLR/HOME start of line + * 0 start of line + * $ end of line + * : command line + * + * : commands + * :w write "notes" to disk (SEQ file, drive 8) + * :wq write and quit + * :q quit + * + * Special C characters, on the same keys the Power C manual gives for ced: + * + * { SHIFT + } SHIFT - \ English pound key + * ~ C= (logo) P _ C= (logo) @ | C= (logo) * + * + * The Kernal already produces the codes Power C expects for these + * ($DB, $DD, $5C, $AF, $A4, $DF - read from the key tables at $EB81), + * so insert mode only has to accept them. The character ROM has no + * brace or bar glyphs, so on screen they appear as the nearest glyph. + * + * ESCAPE is the C64 RUN/STOP key, which the Kernal reports in the + * zero-page STOP flag at $91. + * + * The text buffer holds 2000 bytes with 13 ($0D) as the line break. + * Keys come from the Kernal keyboard buffer at $0277, count at $c6. + * + * Build with build.bat in this folder: + * + * cc vim.c -> vim.o + * cc vscreen.c -> vscreen.o + * link -s + * > vim.o + * > vscreen.o + * > ^ (stdlib.l + syslib.l) + * > + * output file name: vim + * + * Then run with: x64sc -autostart "vim.d81:vim" + * or from BASIC: LOAD"VIM",8,1 : RUN + * + * Note: this Power C build rejects both $7C and $DC as "illegal + * character" for the | operator, so nested tests are used instead of ||. + */ + +#include + +static char text[2000]; /* document, 13 = line break */ +static int tlen; /* bytes in use */ +static int pos; /* cursor, byte offset into text */ +static int mode; /* 0 command, 1 insert, 2 : prompt */ +static char fname[17]; /* file name used by :w */ +static char cmd[9]; /* text after the ':' */ +static int cmdlen; +static int quit; +static int msgcode; /* message for draw(): 0 none, 1-4 */ + +static char *defnam = "notes"; + +/* ---------- provided by vscreen.c ---------- */ + +int draw(); +int clrscr(); + +/* ---------- buffer helpers ---------- */ + +static lstart(n) /* offset of the first byte of line n */ +int n; +{ + int i; + int c; + + if (n <= 0) return 0; + c = 0; + i = 0; + while (i < tlen) { + if (text[i] == 13) { + c = c + 1; + if (c == n) return i + 1; + } + i = i + 1; + } + return tlen; +} + +static lcount() /* number of line breaks */ +{ + int i; + int c; + + c = 0; + for (i = 0; i < tlen; i++) + if (text[i] == 13) c = c + 1; + return c; +} + +static lnof() /* line holding the cursor */ +{ + int i; + int c; + + c = 0; + for (i = 0; i < pos && i < tlen; i++) + if (text[i] == 13) c = c + 1; + return c; +} + +static intend(o) /* offset of the line end */ +int o; +{ + int e; + + e = o; + while (e < tlen && text[e] != 13) e = e + 1; + return e; +} + +static inschr(ch) +int ch; +{ + int i; + + if (tlen >= 1999) { + msgcode = 1; + return; + } + for (i = tlen; i > pos; i--) + text[i] = text[i - 1]; + text[pos] = ch; + tlen = tlen + 1; + pos = pos + 1; +} + +static delat() +{ + int i; + + if (pos >= tlen) return; + for (i = pos; i < tlen - 1; i++) + text[i] = text[i + 1]; + tlen = tlen - 1; +} + +static backsp() +{ + if (pos <= 0) return; + pos = pos - 1; + delat(); +} + +/* ---------- cursor motion ---------- */ + +static movleft() +{ + if (pos > 0) pos = pos - 1; +} + +static movright() +{ + if (pos < tlen) pos = pos + 1; +} + +static movdown() +{ + int ln; + int cs; + int o; + int e; + + ln = lnof(); + if (ln + 1 > lcount()) return; + cs = pos - lstart(ln); + o = lstart(ln + 1); + e = intend(o); + pos = o + cs; + if (pos > e) pos = e; +} + +static movup() +{ + int ln; + int cs; + int o; + int e; + + ln = lnof(); + if (ln <= 0) return; + cs = pos - lstart(ln); + o = lstart(ln - 1); + e = intend(o); + pos = o + cs; + if (pos > e) pos = e; +} + +static linehome() +{ + pos = lstart(lnof()); +} + +static lineend() +{ + pos = intend(lstart(lnof())); +} + +/* ---------- saving ---------- */ + +static savfil() +{ + FILE *f; + int i; + + f = fopen(fname, "w"); + if (!f) { + msgcode = 2; + return; + } + if (ferror(f)) { + msgcode = 2; + fclose(f); + return; + } + for (i = 0; i < tlen; i++) fputc(text[i], f); + fclose(f); + msgcode = 3; +} + +/* ---------- : command line ---------- */ + +static docmd() +{ + if (cmdlen == 0) return; + if (cmd[0] == 'w') { + if (cmdlen > 1 && cmd[1] == 'q') { + savfil(); + quit = 1; + return; + } + savfil(); + return; + } + if (cmd[0] == 'q') { + quit = 1; + return; + } + msgcode = 4; +} + +/* ---------- key handlers ---------- */ + +static insk(k) +int k; +{ + if (k == 3) { /* ESC: leave insert mode */ + mode = 0; + if (pos > 0) pos = pos - 1; + return; + } + if (k == 13) { inschr(13); return; } + if (k == 20) { backsp(); return; } + if (k == 157) { movleft(); return; } + if (k == 29) { movright(); return; } + if (k == 145) { movup(); return; } + if (k == 17) { movdown(); return; } + if (k == 19) { linehome(); return; } + if (k >= 32 && k < 128) { inschr(k); return; } + if (k == 219) { inschr(k); return; } /* SHIFT + : { */ + if (k == 221) { inschr(k); return; } /* SHIFT - : } */ + if (k == 223) { inschr(k); return; } /* logo * : | */ + if (k == 175) { inschr(k); return; } /* logo P : ~ */ + if (k == 164) { inschr(k); return; } /* logo @ : _ */ +} + +static cmdk(k) +int k; +{ + if (k >= 65 && k <= 90) k = k + 32; /* letters arrive as PETSCII $41-$5A */ + if (k == ':') { + mode = 2; + cmdlen = 0; + cmd[0] = 0; + return; + } + if (k == 'i') { mode = 1; return; } + if (k == 'a') { + if (pos < tlen && text[pos] != 13) pos = pos + 1; + mode = 1; + return; + } + if (k == 'o') { + pos = intend(lstart(lnof())); + inschr(13); + mode = 1; + return; + } + if (k == 'O') { + pos = lstart(lnof()); + inschr(13); + pos = pos - 1; + mode = 1; + return; + } + if (k == 'x') { delat(); return; } + if (k == 'h') { movleft(); return; } + if (k == 157) { movleft(); return; } + if (k == 'l') { movright(); return; } + if (k == 29) { movright(); return; } + if (k == 'j') { movdown(); return; } + if (k == 17) { movdown(); return; } + if (k == 'k') { movup(); return; } + if (k == 145) { movup(); return; } + if (k == '0') { linehome(); return; } + if (k == 19) { linehome(); return; } + if (k == '$') { lineend(); return; } +} + +/* ---------- keyboard ---------- */ + +static getkey() /* one byte from the Kernal keyboard + buffer, $0277, count at $c6 */ +{ + char *cnt; + char *buf; + int i; + int k; + + cnt = (char *) 198; + buf = (char *) 631; + if (*cnt == 0) return 0; + if (*cnt > 10) { + *cnt = 0; + return 0; + } + k = buf[0]; + for (i = 0; i < 9; i++) buf[i] = buf[i + 1]; + *cnt = *cnt - 1; + return k; +} + +static waitkey() +{ + char *stop; + int k; + + for (;;) { + stop = (char *) 145; /* $91: RUN/STOP flag */ + if (*stop) { + *stop = 0; + return 3; + } + k = getkey(); + if (k) return k; + } +} + +/* ---------- main loop ---------- */ + +main() +{ + int k; + int i; + + tlen = 0; + pos = 0; + mode = 0; + cmdlen = 0; + quit = 0; + msgcode = 0; + + i = 0; + while (defnam[i]) { + fname[i] = defnam[i]; + i = i + 1; + } + fname[i] = 0; + + while (!quit) { + draw(text, tlen, pos, mode, fname, cmd, cmdlen, msgcode); + msgcode = 0; + k = waitkey(); + if (mode == 2) { + if (k == 13) { + mode = 0; + docmd(); + } + else if (k == 20) { + if (cmdlen > 0) cmdlen = cmdlen - 1; + } + else if (k >= 32 && cmdlen < 8) { + if (k >= 65 && k <= 90) k = k + 32; + cmd[cmdlen] = k; + cmdlen = cmdlen + 1; + } + continue; + } + if (mode == 1) { + insk(k); + continue; + } + cmdk(k); + } + + clrscr(); + printf("bye\n"); +} diff --git a/vim/vim.d81 b/vim/vim.d81 new file mode 100644 index 0000000000000000000000000000000000000000..cc474783ee3c85a944d7b0e7a6f0792a9dd85b99 GIT binary patch literal 819200 zcmeF431C#!)%fq5nM@|jWFtVx#v^PAB#?w8gs@1+LSi1-BM?y23Kpzb`}OPIy3|aH zNb&`(Ewp0OX(lp}P@uI{tS!jm1VN{2TU$%ZXOTi%HLX@rME>X8`?h&WfNoz~|0k`( znfuP&e)rz>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+Sp zM1Tko0U|&IkU(o(sW<-ep1Cmh;N7i-S{xH^_|zdoB!?2c7bD`O1$9 z23tUC<^H@iWhgHop|KfzTkA<$Ica ztKw368-nAjFM3w_TH&+xbSp$(<bq&emzGHU{50vO0J|*_WT2mp`YVuxM`aywW9QL_X)fdr+5EDnQQlbKse|xY!SDdc%54Syi=KK2P=ZpR4gQ@GjN*A>h5<~b6#`3k zCk^H%PwGxQn~S~23IAK$8o72Ac8`~Rt!*96zS^K&K3U*pr<#W%o=7T#?s_KphOc%A zL!tW?`|4h4?vCmoa`_tJ+EE0Xme*0^kKGkDZ->0^qMyl6T$J};^v23ZF3QhdEQYL< z$jG%yq(>27lh!I#APu^M@5sk4_SLN0zQBIQ&)^e^*~7LZpH7AjlG5gB?O4^m+6P~b zq#Q}^VSAE2?;Scn_~usl^u324E<-UF{jWJNme5UNFp;cszVw zcewXtPoYv;yzgXG_nU3#+N)m3bVpy!sl=eOPdPPqC~8acl$z5u(8Cnv-nrh1kIdYD zrVJXzztxlMFY}~;w$=mvJ3Xlol;(fIlMeq*^t(Ev=J~JdWOjdXr)2jBJ6-eqtTTLG zXT-eD$a$Tw6nCC3_Qr1iUGes}i;u>=y{~I=vFuFo--9uJ3o(3BM7T#<0lnTEyQxY( zcoA3!-||j;;!N57GqDVcr+L@n;;*+cRkNd}T>)+AB{gsldG2B$_?F@>-jw_9$(Ufc z_ZvOM&?`^Ig7_#GH+ge=a*NMKcH7Sc&#jLvJ}Y%Y7dhAUo8rwUi@nFWjyxlIDsslNOPl3}meShh>gJVh#(TF2GTovc`{>e-qWt=V+U{2 zqeo9Hum>a1;Bj#%%r7Z30pLdX!w&3c@Y&{N9oKbS-?e96@mYsQ?gwpgJB%Ci+MapU z7kA)2FKNBxY3-H*Tj3sw3ajx`S6D3+R&#}G<-PN6*)y*@!3V+pzH1?c1gU`HV`!M8m8<#UJ@Ml+Od+?j+P(_NEJ~uKy|iy8aawOv*Od5Vx3T| z@s;{+XM2OE@pMyV{f%`;gTHMP zjod3^BW=Pq8o5D(*r4Z1tPRT8$m;*H_7~Op|MxRRl4ZGXW^Z=a0{iBL_P*J@xm}Cw zo3FC_9rBMNb}g{)Txjo@-@c%4e(!?fO=qL}x1MD?Iu^Ds>RZ^mNW}5NeOiwr%OcLE zpmS@`uGB^0Rn&*6fGopDLKv4!S?2W4647~*i|w0B?S7|xw@b~uti7D4aaH@`zN>l{ zt9gzeJ|FPQw(wn5UkXHtYGxSD< z;5%IkSuIgki>MGkjP>R9=AV?*_IX`g@OpcCx>6jx-}`OyPnnVx!}V;c-q;wPH`fc% z8Yy_xFdR8LMFAdi%aKNpFsHXb*ZV2!o7Y>S7k$UbMH(N=wX}jib4e|`TD><>Dp ztrb*LbEtabV@EA2ANm}P(JX#{=VCj2l-fg@B|JQY?UXo?DB2E@KQ%fj9w7~!Qb!j~8$eDsm3cC`m$x#840iE2@K zvfT3UUWy$-ALMttioyQ8y2#!Sw&>NX>^nM^wpaBn?X6M^Ha(r@mCi1Z+&Iaj*jZ~tNW@`!h5e)vkXnbFpN5{J7x*Obg zy1(oGq5FvYr|z@vKf2GmV`CCxrp1)RERXqU%ooRkO&HOuPCE12}E4Wcxafkr}DAiln(xvUE0Zwr~n3=a>)H&$H3!~X=b z0&CyK<`qo3+XY{0>ncI~QABxT>2fB0A`()bB1ueIAI~KllWrA~9j*$=!KBX%DU3;X z3CYQ%4k3jzsZ&TUCT$f`1e1E=+gaHZo;9Djl}*XZEd#M1BK?t3~{$mm<#cL%f-Sx5OZu8tpGzm%EclSw}7ao@O>0{y?)Ontk++- z=3Eq0>==J8CRK`JULF?kCJ~AX9Vn(m36-6O%1;fIKM4`j81K;2SZs(l7-EMZ`VH}z zA--;i_AssJv0TF9B!i@4s?jg^=$9WhE}s)3;+X8zBh?BKLqE&Kf&vhGK@^Z2;V5BF zu^_2A{dY<<28$-yXo%n9%GhUK;}S-D2P8GxJeQVg2bb{j7LZilKS5FO{u2*{j>cG8 zgdX~3L;MbiqJWQc36na4m$7#;77?jOS_7icyp>C+`FWH?>Cd31h*TJ*hc+1EDiBo# zzb>Y@*)Q}j?4qH4RkWVQ3J}$Z-{WF2_M|@=p_y)7;lDss3)EqV2MqC-Zq+K-*a=OP z*l!F47NZ&q8?$So#KL0qbjOQOJC1Tqgi&rN%oL#xP?)8O63aCdt}?`wnAJih479J; zM2UUKP`T9*?-L46(EX|=N^Gm4@R$e<2ZbMMqQrh=DEvl*xM{Z4e=8osx7zI2t8tmXV@C!OKu$3#u0S85U~e-hl|{# z3>l&0;`IW}01*roj6q+y^7+YM3O(ojF(}G4g|PM;*B{t3Zb!$=_Us;;_9dr%R*ysbGP^yu z$EkhEYtJ`Uy_kqT@4TxhWFB?h6s2yeN!2_TJQk{YH&?~Qt(Zh#BGvC%RK+?fC0?xc zE$RNoqHLbX&6_7m3(RH$v+NxmbK8rdK8}t#?QmAm^I}I~dr==OVnAUoC=_$3I6>x6 z`@|I6bOqLC{E9%UaLTT~gEF+t?0x~nG>Z+Gk?QqHNq`Lj3;%i3U>>`;&}e~>-Gjy0 z@{qo^dS5gN7dHCD{>{l^mq1&+L+8M%>np$x=o8Aj%qj#d8Obd+({W>&2B$YDed_R=!4!+eOT7efwlq_L7zs9Yz6zNM-DJYCRUn+F{&-&nEfdojPBE_$NY z9MDBE;MDA(<4`W_)ubeX24tnTkI2(+)5;Zc5eufQn9fUNDZihyy3)?eYYU0-f1yVh zWUre)rLmt8XUHb@biGyNXOkscFV2+hCSdU!S42{N?r@yJje_&k(gV_C|2q zRNLbKyJp^dOc}puQpoNj*ssg)J|@l>Wgjr4a*JnG|4hMB|n z9s$9~dyf`W4-Aj1?meCo9U^4!F(oNv_tBD8T($+JvCTEg?&F)2)h(fcnLH|dT$7H2 zQs2T`EYkGu>zS<$M|s*r<#X9wOWVS`QPnzN)#9mo4}}Dauw%o+M&5h8ZK8)+WcP7mj!6F3BWh{8j}@xc*%7t0y~lN`)}KPO zMEZD(;e|IE#Xp35k4vn3k1M8zu>IsLBY~7;k%W0$YjI)7?&Gilq7QImgqe3AEqzGM zEo4-wL<_UxJKT6)OQul(}nQ4CIflXY}0n4nU^J-J+npcH8v{sDIQGlOjB0N-eXGYl4d^^i*%|o5^XS?t`Tbn4v~Exe+Pi*RJZOV|P8IhpQyOzE zF?ymOd%Jija^rqDmr|b04gSe5ZF{>o&|Ztl)bPXe*=Tr zL(%?h4DvVOCs$UZZ0+}FZ$FuP2Bxhw`0pn0V95o)9A9nUvhB%f3+(8u698`=aMali z{#v!*i_o`>XLJUR!ux8Eg6~UR=WmPg-}=r|#ci%CU9Bif{|l~3VM z{zg6jV3WPqjiT}$Rb}#I?`@-~^r|YAlfBoEtfE<4G2?8V48_o=WPIHTQ!)r~;5rlj zeX#>p1$<0}%p1LDdW@qy%i#Efx+XENab>Z_O_>Or=OFKysjis7ge+v@zOBufAz$TH zrWQ+4U=8f>!m){nXRLuSl4{t@!`X5o{7v=XE60GLW+>vqsR+17fCbR}BX9u)DW7C2 z$ir#^u$t7!K?2GtP7T>ySvfv$10S#TEJg13O@LEYSgYp15@MFv0MOIsX>nWXjfDKP zHJ>aeK{+>w)0+)&dLvf0d?P`l7FrUFtxdr+BG{nHamiRsV5<((Ql~_xY^VoE@Ng=O zNAQq5SUe~Q*1}o`ZDC*r^m&_THaKO07UZ-bddehd`w`plKuB3kCb`^hBK*q`tzG7G zs$01plz2Zcu~ru7=5VGH5oSuHEhG_BR^Ksab$f_bNLDXtS;?2nYH>&+0}E3!G*18} z*7zBj*0&|8>IDemD<;NKB4<;vbxWP zJv;P@We2V>Ox=OweOK(jajRwY+|hR>F1Z7jGDUTEu@u+sRNi-*`h$57&Z1h(RY%@~ zv#8!+QPq7JxK~O@m+rEtnx`{bs=(~;-GNJ)Dt6~!g<{@=;;%6mN8anV07zXzu^j9QI5T%j>X*@GKp2adOa*nzW@YxKTuECnugFL|4{EVoK2 z)9u=*eK@!1yegqLgPS7NonT&Uu>*I-tsP?7 z{ILzigrb^2j%?SB0SbrK8xpn`d@iEOcu3O$Y@hV zFdO=0$+Fr13B%L~Lj#-rg~HIl@`VpV)xe5zu`AxSGr^^&W?9HgjDUs5d}FSz&2#k) z@TiDkrXB-M%?vsYWy5wqT<5l2y*G3%NOhpwD>s3>WFePvlC9k3Qp;qR8?I?S6Vy&{ zwEFOW)rHHI)ayrDy)3sFy{|ot_DYliA8jt1X1WJr@B}eQ1=>a zwQG!PXQCOq>83r8Tf8f&#$AzW^Nd!F&qa<_jkiXq#@8Z8s>ZNRh%hkOQA%j4$(X2N z-6s_mvf#rj;$CV?x+rQ`(UtwYIwG#tg|3deY@yBl$@^?ixZc~tLl4TlQG91U#kD!r zrTka4h-Rs6XuDbV>awFl>kIP_zq50J-9Nt*T)hEV@ut*pbwMc#VOiGdKF)k@=*xkp zuVx*|QFf{vH;i%hZ{3jS5>rT+ba6FNPUAo=-nBWwB|4Z9IL5U((Pbtj7Nj+WYEKls zGSnDY@H`T&ta1x=TuB>~MNt5KsjTC*7?Vmj&`EWnIZ^v-C?E4A@(Spv+zEI#DUtLMpV`KqMA)!1ollf zRRXK<;~3?(STj+}UO2>LXJ|i{fc^Ad z-IK15*crKMS5Q0drXfCO8VcVUd>f6px*%K^@3p}=7Z$xRfv0HLEhxns1tJ|)f2T=* zxbnGNr7!{8-*Qg~wVIYuIbP(d-565cV%JlfNr_Iy%cOPJvb@t^_)pJLzK8zZX1^FH z@VQ*CU8|AVoNEoWYrJb`l1tyby*5EvFvk149(=roiN{;CoKG%SH^dxcL?pF;13ew{ zG4t8^PZHFG)aPWhgw%Kqrg*<73BmfdU;wp=N{xxGWyiuSI?Myha{o2iXyfNyv4*lA;I5nQiLpHT&$RXk3L}L(n?=Wdu`u-n8(uT6% zmKrA;K(t-k__4goW<8UZwsAZ6l3Lo{?X{QG(zb8!x}=u2gXH*>s4^S(XawK>TZI_zPt zg_rn@QJFabGd@|Z#`lcl1B=Jku9d3SQpcNbXv1b8rrP{roG^06EY)Hm&;cbiK{Im} z7nE2vA7cu_N7(R!)u{#h)Oc;2@Oz7PgBj)a0(R6gDu<{1teWymp((!Q7y-4lGy^evglmc#4_+3c#sdSP#?y?) zM@G1IwHog({TdhuHJ)ZXzB$6R8a3YI`ZX{*YCO##{d|OLxv6Lb(FDGsUj?(H#?(ww z>;$bA#w|kS}(QS2Oi^*aS(C0Gcm-qrRZ(R>XOxRr^PKv%oANvQ^y)pT5p7D$XiV3 zay2c}5wfx77L#9XPlXrtk_$<7KlG&uyq5Ysj8}ut`z$aU8OFvSw0d z@>xkpG8dAyMl6`HOU&w_EmFr}HPra;@=At6ypXKin{1xhXwyO7YJ6?SC1D+aYM0gQ zVHlrYa6LZvLkWArt~A%qbl33xEVVq3rg(pbQzg^U^k^}-9aWoKoex3!O3UyRFmJBC zYl3TMa_V^3D09`cbiqsCFfiL%)dutP@LgkFJIA@y`h@?+yPI13Zk_x)ey$gCI~Moa4dZctCds-#!>8oxeJynY+o4wSxfB(* z_MEg+^Z;W{0Qa4WG0JoBS`_OtVDDHh7_O;qwq6AmNZPFPQ+fIrs;z6TXkyFRl9d&1 zvE2+?%nX}SIJ&T|=Jd@i>E0ppD#1Kmxa{4bAC5 zswLgBlf~09W&oygg+$PYl-c@^I1e*ht4|7tOOvGszFp~vThEfah%B0DPFMKeSe`#I z+K3Mct$SMPJES^(ntX3kQ`9U)OI_CcW*ol50p>2chYT;XQaB0oLMmBvWB4*#4=T%2z4mMrxOHI{xjzh>Z9hY%)U34tiGmY zwRqI5bl;nO85Z9gz3RH}&54YZ^oQcX1AsBz260Ch)@5g#9Sq-$0Ao>|KaF66_^GXE zP0Ok6E<4-l&>WP_Hpp_Gd`!(`gB^0&;DFT>WP{wrJ({PYn*(#HLLyi#(CFndTc9bD zKXoEJZOvwe=_i*}_;9T_KwQZmzQu=N*K!FD5N}0EJaBq@7(WEXXC1$!i4toUB0k`_ zSraAJ6;@eSUr`GQY&8=2zPOH$IzFa}5_{Yz%VE$}%knc6bNN$g8_O1g#PZ-`s+^mfhlk6x&dSD$(sGd6jX1lVm1Rm@Qw4f<7gqeA#{Q! zN-QN@V>s1FpiEqk0o6)Plvq``PM{H=S{ChjgYf|K-C7E%lNj3`u9E2yg2a4WlXKZ0 zUb(!nx)~9?rA1;a(Z$Oh3)zm>M2Sss>DlJsbI}5PzDtK#YCIU-Xeiv^s^o7HgDn2b z2<;H*#z7W$Yof&NF|xSd(EYlRh2O|xpP}%ip@0u(t0nuH>xZcs==Ts0nfyXz5)Z@S zB_k95{IIGqGYwMG*qwk$%Y^C65TQvI(875-<0 zAh9p`Mak%i#92+_60*ueNtnPQ;gU2NlA5Q95}R*$GF2G5R||zHpu0>HC01wXt~GRT z5(-m6cY`KM>|=)RXARxkgu*n?y;Bnqq*{E{0S^YuS`$5L5l*8Gsb@;Z1G(?U7V2tA=+uTYvQY1$W5rc+=E~W%StW9YB|A*5u^iw3lv!Halr0x$VNr9f zDPx&Y6?9hRUW+QzS5B9I^BdU|@Qdjq#e$bgeOs1?*Gi*c)DA<8Z-&Hc9ZF8C=#!=8 za#>Yfby>x%)wSlTiP$IH9G$Mc(yZ24(cIElE9cI4gIaBMxw#=MnH$IptW~V6tzCAR zm}&N3j@8yb!p+aJjtTKKhBa@<+ahu8ELP|etn9R>V{X2A7hmh^Til;!{M^CVjs?G7 zmxPNP+=7M`$!y#X58uzgkK;|ozpGma=4XV(Ya7F0ivqUmgO^YfxvP7qf8aYyxR{y^ zX{$TWxAQ>EBh8_D|M4Q3pE4M6RcBfdo44)EZFmKygR(@N!9xR*TiBDKI z!y@lM$Z?uTfp6wR;e3+133P@2&3v7w;?3#DEq~E?_>jG}DHkv8N(28te8s15aDm1} zPkPgJaaDD2Ih7X-Ka>xRRLY)r#g68J5*a8j^hFWuon#f-5iW}@|#S=qf%nXTv z`@d=*-xZ>Un|4~&Ej{U=ny|SXFsw}Krd?%+!>pDTJ}*Quq`*@gIBvNIyYK)xXvh9B z%7MWOho!Y(Yw+fqmH!dJmS*DDL}u9cj6*1`zu)UnzGj2|0nI7;$B5(6k|We?CcKkp z<_^8;Y9|TpLNL^9e5iFTN^_~t|BR+MNmaazT9H)^yHHn1@4r6GJc7kBl6kYqQWsui zt-&>usvos$PecAnyiV7s9|t=;^S7KK8&YeuMo&XmI!kw&?z9#~R|jQi(p^FUUh)aP zP<|M6YTDvffZKQ4tw4WJ5;UO?!lRO)%^yP(y83N{k8JG?xO#12DB`}WZdAVQguGv~ z!+qj42UFC#8#bBO-BNaQ(Rk@Y*`!6H?Rv|po=$M%s@(@IDP38EtQU_iSsMf^8qynF z!UfF z;YX;}@8i~oyG*t~wUqm6s`>$@kIkaD3uW&_-G#^l-^2YR< z2Zp7&J`-WdGejBk8`dRmjWXI+FCY|eQZ=_COHjLlEDu~! zmgZ@JYU{BprNuxFs__=2nRJ zSk0Q_Jz$Z2!(w>V@m2N>rO;zFKdiu>^V*$Se`z!y-#jW$q};w4dSq8-orJ!ck|7v3;wHDj>(qBUydxOYqw+z_1W%`Xbz`d8#7!_8-7R_WAGDF zG~2x6So(#BItM>5W``T}u$iMu)qVQRu#z%tcD12^i3PD`-E@Cx6LOHUR% zyisNG^6bB2fSePrOEp4pcfyZ zgpc8~W6eG45&ha{qqJ+9llf2dYk!E=t~tPkF>Ne5KfbD8T^^%d4O1N)q{ycXStdCnL1!wB2O)Mvu8?|RiN19X2B}hXcgjt^72Lz>SkpvP0h2);r-@~4C2)( z<#J`UQURN&_!4%xwqiNFD<3r6><9$QRi#bxvbsjdw5qfga*!J<%3u?_+z2ce3%J6s|Q9+~0_Yz_-3vMGS0F@1lg zZn>!zKnN=g`3lI0*UfS)e`!gf0d6+60Lln$01cw2aHP7nTq_mOsH|(L#X4FQL<2&w zq2lHhI`pKQJqLvm4V@=L$=xhpMgVR$M^=+}vjSD*MJ<#Om^=-BkgFQhie&T7xtks2 zTg$*j&4IT{ux@!pqkPcqW@cr}Haj!zOs7q7vnOHe+0DMr+Sq@y&Fs7ESL_V?6AP0R z>Axkf^p=!p%dwT(>TPRmpRoPZcG~u?t=Rq{`%U&O_I>u>+2b6O9E%(+j?Iq$ajXve zblB&@_JsW+>{nsG39~z=IE$R~oZFo}&Tl(+I3ITY#QB2r4dzep~p~@K{%i z>pIt+t|wf-b)9yFMWjYdj3|rvWW<*uJQ0Ht(<0|a)L70|DE`~@dx6cj(;ZpMEvjKe;@x&ygeZ%AuXXfVQoTh!Yc_w3E^XAk6Fmd z%4(aLWM|^20)KL$rJnynLcG*ex{UvB!Y-+?9A2uxq}y%vjb%+Be8T}hwpL!oq;+BZ zsD()vo$xaa5CDc9`UMD|jjDvLeK4*?__+rmB{6B2kR~wcQ6VKW>5!119;bwq%A`LEDUC_52`QaP=Y%v7 zT52pWpUkA#v1zGXp2VaHA~b_Z(}XmcN%=yW!lVU4n#!a~Ax&e_G9gU|)4v24DmxCifq5YC5-=Nltlb(Hr@yl9KAlEi4uDd zhKl+klD&rR4?t8icpF7g+nM5rD$tRu(Gc4W@nIoi#=jII{-}lINKMyEQRd*Kut6y* zH4$8?9C|4l;Rh_#61O@^o9n6}gwj5&ed5h^5oslgE1J6KO>cOt*Ko>Hr z$61c1@i*jVx&K3E2M#?qT4rEd8#M(}UTL!F+>}*Q=E8fhqdOJ2Au6?%cul( z%pV2gonwciXx^}>c!GVxM9HLrxwV}5@FAYqu>%b z7XxOyVMvJdGPB&`;2A@z)y(;6FcfCkLAg*`vV>c}!q zp^T$!Eyd6Yl=Yj?=U{N!m{|?}1G)3%YIy;N2GY!#=5uQ;RWS_{aN*56tE#V^Rb39C zRT(>~+Np+>70=p7YYDugnj0c51Dc`|r*}BJm6xoPt6^p*TIvcL1CtDGi*nIh{+@Qh zMu5K&Tcx@j81nf<>rRK?D_FA6b}-n2%-}qbO}E8hpq#>tERR zIIXp`eNz=I<}e(bc*1eJrS1>ktG}ZG4)P>2!K)nOt$SkWuE0H!0FlueHx>j9F z89i0Iq^;hBK@!#;8$i3x*L1_9i8bEvaDB};{E}%6IQ(MBnsE5#&^4mC&N~SDWN9Wt zTR3uqkv1J`p^isHq7O)1V^|smgJh+yuKuqad>Ai;J$hUj!ws{=Qt)AkK3l~w7I}z9 zcZ4PG>RMCv_)-czop>zOp9_Wv|GK;icSABKVX(QAb0%p_bPQD&i@{AJcZ!4Q&r3WB z48}iPpk2nH3R7Ju=UZd)CEXQ8onwtE?k@rn7UCc3|HX1sSQR{BI?hwGb?tbM0zX3D zKZ>fP_e1E$QrpT~($jh5k0Ky0IPpy9v)_=n2^)LLO)_-~e!ylF(rP+%$`jMisn6ZUj|%QHmfX8z9v5-yEr?KJ?zS7-z?0|&(6($DziANIX$ve3pH%9~YUJmuTj3Faj3rGO z@foZoq7|aRoFq@qkzarcR@as)@^Sbv;SBbPh&AF`K3;2tdEGK_{4a$Q4h61uN8BQ= z&Vj2ixvr=NeA>m`5uXtk3*h2GIK5h0Vah#&{W9W9;(8$_UAJ^8%ip zo12rDpPQSN!7fJJB{WyTFB{LUs#{iZEzgg8*EiS6$I~NmOFbcSGy4|6zo!(SWIU8t zkjo}VewFdB`S2a_6u@KTJYY`7Ly&kbtBC9u0RYB zxw`O>IuT*>aVfF~6j<5aN~GQ;kL2U8(HN zd#E^<{XFu|sLT)gUcf`e%wV?se6|c*EI-e>N=}gP-JUU@{UP!_ySZMu`MK=fNT-9> z!;=9CrAM)`QE?)mKI5UL(!IGQ&3p4o?#|1FTymq5#ib^GDIYH7tCwn`rie?+^;mP% zOD$2e91tJ!x-F{Mu?@Oua~AZLl5gfipKdD6uAWlTo|j!QCA(tTl|`_CPey?~I-FTOC9C9~B~9Ng$bAUD zLtkC!J{AQ5d%#p-2>in;+&_!D8zR-Xdt$e-54rne&6wtv;I&)b8^`c|Tmt<#mwnNF z@0e{FYG2*reqfBLuNGqe>2>#w!M^%bX5O5vhYDdFvLCp2t3mm>5QM$-8TTVRC#dU}h=wsr+2f#J=x7H0GYnBN+CbJZO^d&Pk8S7nc%Zo*A>Pbjth^ zC?D_!V{mt2F7TZa^CG4K1oo6JW^xKA5kTvq>Ftr z=GO6u5G-jHG)3XO?4pu;z!-xGd5C{4X5WbU-1x?_y=6@UO<;<#)u3C?gGN*8gfuU^ zs+#SKX&b;L-HkJ+K7ZzoeD0TeH!&TKg`S&h1KQ=r09`(MFoAD5rupVIAisk~{ z>e!-W{W4n~yEvKOSa{3p^NoKqAw7=m_p@xjJ=^ch_D5v@MSQu`%CcaS6@}u9QHHMSKEHSwQArS>G8JX57;21 z2W)%Zu6peO8(v!1$!zO(D3cHPZJw`U9pGD)-|pGBuFV?;zoF%2k5%o5pW@;LdJ}$- ztJ8(`iwc1Lhj+RH@{9xE=DHkeITU{6!@)O{sslX{5IEot422E20z(rA9D|(^fzI&( z+4H3DtAo-|H2lohOM{Lf$DnKI`8Iep6vhq?`XfQDCmIuUi3G!*i3kK=Z39YCfq`^L zuZQ8)C=uaRC`LNM8Dzmi$S%0#V20=yz zhv*Y7h%BIRBt2mR6QGYtTh;^yk^}46mNnq}cI0ADxcuxz2$O$sF&KF)DG(gmTBXz+ z+*$>6{cr)~D&Qf1>#%(LVfZw-t?O}YStEBGY=bVg1~N)oKj>MjeW{kTubl~j&M|?` z#6aiRK#yY}A&~U(H4xTqe{D=)ATiLe1}+VZ4a}I87??FSz$*?f!T~)j=otQ)$Un!z zCnOI|-5DL|Ov8aS4vN@0AVx9`NKOMgV1h^u|Ef&lQ$g-E`S;jM8Gf`f;V5n0O<*Tj16kt<4wHi z9E6VN;vLUFBij#iUPR<)%B(}!drIK@!1w?rY=@u$HrN>x7?1`#W5GZScE$w;?1P>0 z*i%spx?#sb&^aCx2&RD6@z_9c4Coz?3k0J;^LRY;dF+uA)}Pl`tpk=G+SI5(`q)5F z#wx@Ogb#M6AS5@`T6z7DUYyqtsX$bepaL|2XDCYERRl}yA6wS+gb$>^KcJo-FmZh? zIxr9&7_@hTBRS9aKDV--0*=p zow_)5A8L*ns(@tNkW56(I;YwFM>?n5+p2tD9|UjDbvN6d?&hCYuk$>(scLIg_hi|9E*K-PIk!8;53irz zvNzD)=X-F=-lTOq*0HL7--F#?_1k3WDdmqxyb$>iuX!|$2uU~O-PD-u_R~Rf3?_;xJA7GoD zfrkk)uGaZtc1az0^Whm(V@s`E-3)79*bx9NSj#T2hSPgpTdeJ6IBh7a%3!y`&H!pP zf%jzvxHpzn!BgyV8LW)ir(kzr8~Xw*|F^Mk!-5{vz{QfgX*P3hZK*2PRIKEgu%}#= zsHPs%tgLI1VeQIKWB6HDWnyaYz|N;OWa@DRf|0mg6Y5k5b;ocwfY|mb>ro=yo_54I3A{_R9GET&>c~Dr$8q&dchT)`N`nzTUP@$M*+NoF_Jic zfh0V~6D#m4dYDCxIYPti5zsTz+L;@p7KaYIjUe#cbhE?U12c6{RXl*;PlQnPRYEuWpdWd&z>AeGk@GrD_7$S}l)6>*m#RoQj4Hv{UkFjB8 z&>Xr|f|wTkjgW6>o|o>uxbI^4hF?kN#j{w;`7{La9b9g?)N7Y?;*smp(oG$5-sj*O?6o#Rw=07kXu;Hs@Fi|n`M_75rMOW=Cm(RivAE>$OWav-mGCA+|2@@R zhhKx1YFwq3Qd~L#pv?JkhZj+5h{)YPz;1(5x-8s}gzvVcKcTsYO=)}q4O*r;^pnA- zEgGxq<%7@7K6b=v6X7~+FPFm;7UGeH9DZMbxMhlP--ChjobJ!38B1{XYprO6TW76& z_}L?~`5-j9q51+Go;5rS0Wa3#w;%W}Dgt5i&3;WY>P@|q`v_-hak1>+hHid~PWmK1 zdM)-r9jo=w`FK94qq8o=?UZ{g30j|KkZTjk3{_Y*^TVseGCWKdb0!G)z z;9>Vb48*^B&HGX#v;3!J>biSGFQ%P|A z=koCnCBgAOZ&)IFT}<5z(-~GkHE}H7BoWEl!?lJO@e#w&Nt(rV>?No__y1Eff%XTw z_+$g#GE5^6ud8jP_Yn*e>6v;xcNiYl>(M5F^WBJ^?q%5B>p%l6EtqN3)J^a5CdYT- zkX)7(a&yP|7*qxRG!&}8IzDbErjj^cQtPAX@R?CbdJ;VBr|IDI!=j}>iK*%Ed5A^n zfcA_gcS-~&^_)dGB~i7EPOjgtxWA$W6W>TcH$hlt)-C(n7G8$k<~fYM+|t%qWh|?< z3?3+z>KNQ0YRi_@!^2n%ef}z2YRj5?t81&9VGm)?W%m*OV->zTm&wcx9*>>OeMbC) z+nsLsf19`vjKT1r>oYzn>zqew^GOj-kF=rj5)3N z7zAjVj9=EiIp8tVvMKNsNL^Wdb0a`ZFn@KhvDTy}{G&lHj5O*GRgzeF#WnECLaY(G z|Ace{tcQ9TtMNhjo9GC)i8mLF#ocGHA#k!|ynim_?T2ubp>G_39m) zZtBOMPsd+7S07b}B=x7=EwA@@UqZc(!uF!R!rr1ov$`XKj#D|^@G!oF0mYkMnbW`Z zm4Y1|bK8si=Jpm}KE+d}7Z36n{G}88)oR*1QuOz6X)m3a7}hbreSz_Y1B?gmz>xLY z0`=W2mrkH#Vf&(xmj=Q+1n2iI5T)%~*t^J7fBulX_Ua%Dj*XIXNdF>^A^Lk4T z<#Hmkfk+Tum9%Gmf5%nu&%%Cum*f0CkWpB8dLFo~m7Jarp9@YegwI7vw}iC_0jPM{ z=|Z?zq};&}yWUu=r$DJ^e%|=d4bXeM$024@$?S|CN3(otGrm&{Wq5R?^NQ zVF(O=E;9;3;a$D>%h@+_kv~iMC>Qx#jDK&4S@5tVysx(ybZdl&&sDDB;#_Y(vNQB|7_Zloa9Si4@A0crzh%ukt%}^m?LacKGYwo?YWkJuI8Vs_-88| z)L!Sgep40P2iNucR&NKdXy3K)*(M$f;BTFV`vihn)}l1y^RSct$=&rIp8VWN%p2!h zoh1#qlYG~$ZS`E|yMFB|&-Inp-+0}P*WS4LXz*pVx}u6u-w)K^qu0R8d4urov5xb+ zA5>w}@93&$KB=>gMSvY#S0!)xuJ8O%;<~sPe|t~3ym_DhqUU4s#~xJ{vUN%R1sm#F ze~(>$;qiew2J<7vwjiM}Hijj!d2BJO2Dxks?#JZAV-yZmF5r(;i10j%wPTo?Lna8No)u2_(2Eud^oF@l(Edu zHg4Ruzz&`e@YyE8Jy5Ma@0|a@?)NWGYEc&Jhj#bWi08hB9DX+BglE6r@ZZ^2105S4 z4se`-e>Vo-Y17Pp{s-t`n1YGw{ZHZdyqYAK0o8!l6V`nzR$Q<396o0MhFggBsA>x_rsPDldgel*0rd*p4)8C2y;E58dOvB#D}{Q;fe)+S2DDc~wUku5Pua4XXA z6;5I~YxoK$u^LE-FdIyx)T?Z=df5hd7FChW(DjOSy^_C?!hzP%`fKf9e+BK|^k_)? z*PGjac=L0k(YTpcx}G&|=9O-NN{cXTe)TFezqpLeuPQ?GYkKo_y}!TtS=CgwW8=}s z7TCAPu#HFK-V*KBQL_X5Ze!5;2hNh3svpPg!wNO~i6|RNl;w_(H-3dMj z?)O~_DVzyPfsWPf*Y?RFt4Ifosbn^vHL0_!0zSDkFDL8&aTOgUrF&N~_{q_I!8mVX z&*Q;J@5g!`4LZC{J&$%>%{JFCkF4GUihVN7l4Na35b|~NKJ|up@nVusUcW%BhH%>ZihM(|FT@U$`!?i(&ujcSFKih5dOVB&c z_;K5#O*rr-{kxs8IEJkM z{>2}N_0WExHiL67&m?}*S9~_oSmNSRHjJNu zt@@$MH_0RQ$(e0p(pL%YWzF1KEHttIz;6r2!HUlvhsHh{Zg$)C>8-@V)f-(AU%2B< zPp|iXU`0nM@&K&n@MyL$e^%X+tD%nk4cFk0R;s`QAx&za$qg*@lJKTvp@EenhBl2D zS~dkHo_mt`XFs^LBPXfQj_dOCgdnCetW8uFV_)qb(9ep*Y5`)e@<v{?Yr2ig_@mq)i?v~-;ZV8V} zdt<>B<={nlMP=|U@5CpV`~I0&2F267>nZm2Hl}Lg>kL5~_pyhZ@I-YW_?Ge&wkh}B zlQF??Z+lOe5@07|RZ(^X*e2Kj%mvfeZ9fw{w?4A?tki7}1kZKdC~f|Tq( z1CQ(3E$kEQQ|ze~7ia8tVp zJjm)=nz{T@kjq*c8!PbFCvJu>weU~@{5k>Pb7Ltu62HP6D?uR-c6Bo#5Ji|Y zUIk(uJQUr?q-JR>gNLhXrc~6H!`_?I_#&aB9X!CSUWqZjNZ=ytSP74pHI^=|0Gb8x zt+a7zZ&Py(BvE4eCb32Mt!ZhkdU2WgEBN%m*Gd-Pe$FCx3x??5CAJd2^Qzd`hc!`R zA7S|9HDtX7!i<7^AHIp&+Sng;Sz@oLav>D&ZC#ewJ0J@VHkM*AVQJtnVpJ&+WvvRC z@Wm(}UedCcuee`X6y@-afA07ncyD|s7#Fhv_!1g`JEhLMq|SD!^X>7S=f;Bp_}%#J z9~TDTA~+qO32^-NcHpA@>ur}X0}q6lfoH)C$S&0oJUglx*dT4bMVNtS#Yq2WnF089 zBKQrSkHN3-e42fZZDePmzu2Ty80OPP9_Z}-@%lh#7eUqrI(r+w@PW?GfrJAchB^Bk z$m%eEKpp0CggVeaZXW1&h79z(jDh~FX`p+g_!q@M|09ckQ61=65U39HN)Xk7zDgQr zjP1W-pvS+cb#NT$@h_SOy73JMI(*YciH$8Yf5m|w|DrK$Y^=rfo&B%|W_c?iL>=fi zXrjc{L1oq7`}m4B=C{FRqf9@7Z`zoDLzgA?7gfeF|GqARiPn+WScWc3YzmBdqdti! zYqiOQFGk_o(sW<-ep1CmhX% z0ceQe57Uy$3Llo3-AL>u zNQ^fuMuSH6N_tDnyf;sRKxnl3q3AvGkPDh60OcLp+TU9PZ$|Re2KLA?7Y1{J_R}C< z7|eyuZP^1qQeyYi!Pi;A@Bqk4x*hyo>mdLhL0ZgbB0!wx$4d!+y zp3TL+QZA2YRQI^Y#(N+rJoya%!rjMh|Oke&C`4@#!{Ksnq8j^KTuPBl(_=lP9*?;(2> zOv}^gY1*-;CTLe)gqPRJLvIfD3=P3sy8h^CfqR1@AF}PK34mN443}3*yO(x9KUfLk zLfh^I-TWn8IWPU<+{*4`jbl_1k@`?_^)J*<6Yd+T6M zQqU2A1lm`($tBY6GB68Q4gNp&-UKkJFKWSuCA`G?yl}v-EUc6TzX%5ZJ^WF z9@yaPNbGcMpl_hFyWQ6r*wEeK<8V*;>qY6^oxaXK`{fO%yD-1Ku4o%=Nr8={spUcC zr-*^O!MEW+Yh-euvtJzwZ0J`nHy>E%a@anjoClv30e%t-ZYZ!{8~Sn-6q1 z0^Ka2n|`o05{EkL7(Z)IM{b=Aplv-?kI^~qaw{yieVquHqcT{Xi2v@+leu!fYUF{r+vgq5?(OUiGQ8MYNzx3<_iZGVqrVW(~1 zvi%?1zuVrj{lPZho?*|i=i3YIH`&+Nz4lw}`|SPpFWJ9rk5gJID?Auo)0G4%f6HH>pyp=^s0_c!r{2T(yqy>4CSbMv*vU4p!ot2@H<^;~ahVZ^qVNd92|v&tvtwEo{Id zA@OqkkXE9EU04MWPm21MV0tO84KzUY@%Wk&8yp_`rUx3j8+{D{Pj{1#0b)*X@HJpg z_W(nneso5l0n1CIf$I_K$HBJ(4Uo8zfCsLZEZ?^ZF4g@hxunkdxuQO&1R5g=SUuXj z$LjkVh9dEowaXsB?5CSfH)?S*MH*7199&045{c!<>VMTRn#cfeY@QtIRmUMy^_JO# ztvG3EY7~cSck73sd}&5u_vziy*GPR47s5U_J(3cbXxcwehMntT z%hGjOf*a*}>C%D)N+v9h_hN#N$C-?d%EqQn;_w=No|&nvp}V-~TuMz1diEEnESt;Vz)}n&{P-pc(Tq>1C-KP`o4} zL4^f19nCQXhd1UZxi~tr1jjS0m0H;LdX>8r<@5JI>-&WADdm9j&%Bua7v%)>z7(ad zr9x|}tsv2;YvG%~@WyR;@o7v10pYcyaSwGmb!g1>TC5$~yG#6DTD{9X$Kzks)oyr1uu>o2vMyDT7n73yHHj@w69s;pzzA#y%L2B`NMHM^WUWECpq0 zzftrEK(E+=R#oAnZK3DpN8Su6sd*p8%JEamU>r7RNIpkioe}vzG^3>w5qsDWgmnUJ zYZB!#mAQ_0@3$*|jb#qW)BmSDgH^L5qhLDBF& zVD|4&=*B_z?t!-*ucfVmbS$=gW-)KT;Hc4O7Skm~bQ8tYSc##%7~^&p6)8E79YU{X zSMv1ycBM^tmBVz^OGhlO9kGBtNDjgd;4xxzCq(lPG2ukeXpNr{6IP?bb|ot+Y*TXZ zj3H{2U2L;O6*2!$(;w8#|IPDT$4Jge zP>n3<2h|-oKPJHGd*}ppEH@l(sALT z^ZVrQ#Xf3(v~`rGBDDvs2uZmkod}+$fY#p-Xx!ajA7~na(?E`g9PEY%>UZ}y2DG96 zMiLGSKC(mbH4edPB4-^r&7+e^3F==r6lm&ShwPIF?16RtjYENEa5X!K%LXY=b@D8vlTvU!{UAk|< z*gDZ|2~h*Vf5COs{ol^i@xt$dA9#<| zAGWRtNGe*YTi4PRZ5Ra_JvXzrbu0_V>?F|@ZWI0e7WLl+F-HZV_Iobl;8f&SUINvR zCb4R+U9Y6?@2>aNWBG!IDYP7**cTf{rX6$C`i; z@2dcg%UD=kZqn{h4z3F{lJEqYNOovUok)#`LN^IDxDLwuLY&R=Vtk6H8|x~C?oK|s z#qK(W5r^F5(`e(#3wFhb)Gm`53zY9E>M`gCzGf^zCS!#&>0tAyy}#aTVaY+c5<<1U z8)zQIV>o@eGQ)&*Vn9#|D%SCa1eGuW14i@xcR@0paUuQR{SL$P^$w<1&}{u9?3ihDu{V7xIv zb#ij++X5(_F!CD%hF>~+mTu>)!4vbwW@ijqVP=PS4r0?Z7uQ8XKhkez6jYccR%>_( zytwd@3ZOr_gB@mg?PKmem)C=O3JaraL7B*IFT*}2%O8ttY~k+!6I~Ka?+#E`&?^bf zhM$kU-BS{Z>%N_JRV`hV7T3zhUd~CWh|y-t>1p$*1iAb$F?6{%3I1oqQP!wG(XG&E zWC6wnx?CtSwiWa|#Kkc@q{wmGGjWu~5ps>IyE-L4a}#}J*39<6Ro zb47C}Dy-6F?$NiO>R8(=>RRjUH+Sx*4?!uOMx$7FWCz zUGxVQx5#d1;oQ6F!x;$zQ|y}#nCm2)7+D*dq%6=24TKo*ZNAIZI+rWDTbZ4drIGGc zCQQ+Z490NPaNRWCII`YDH?>+SF-|9!eYp;OC7L{4RxR|QVB9$zJxEYZxt?n=TGTC9 z*Sg%Q@~l8cA=h{rC{uKgSWEqn`vwqfvXD$k^*=oe^;ycmzvCx21)NJ<;Ww0o?F>L^slp*6glw+7tDW#_8{V{;)ItnV{aWh6%>H#QxjlZ(YCyNp$=LCr8PMa`gGyoevp zAQv$fh`t&SO97EctPd;@sqcy(QL@x~Eg;d=NUzb`oFGsKV<3=&Xb7o?87a{)R*eM6 z!v(_6HzbdN8R$ehq17njhjZ58g+K^PIpvosDeQ{a=4yU0YJrFcq!s|R5-t2IsyGX_ zgQ`2QGK9-v)HfO+ZYgDVVIwRS$y8hZaE8k4HF#w}6eMG^NQL7bNUT#I*uB`tFhU$!2e?iLnpJ1rYxL&Aue-X<1pJ1rY zxIxsP)ZHl6{QpH|-KwhpH|gZqir1C&v0Ax2{uO-&J!%spI!f-OL<9BBlxV2FpAro< z=bvc!e^tw$IDf{C_tN!s?j=ekxni|KfN}{aQPW+)CV+92m^expM~MXolUAaW#<#K(4hx`|ke2FK z9Kg$^l$I>am`#%k-{8l@mzu=mzDCMq@&wm5#sHW!YYOI?1yIVgmYTGdGOZQ>Zh|MI zW{SmvGz);UEH-O{`{$5liODnEz(xR*XLu6{0ZbgYp9_F8GYc-QBEaH|IR>L~pA&)1 za&W;B0OcmvaOV#IOU$NN!daG>S#To^;V>yFV@k?&N{kCMbdOOwF4-X5Cb!F&+hs*Y ziZX7XGP8lonA>HhjFxjP%gtJrbCz;53tldOQkI%E$e6p73tnm#yp%~^s*_xVx11sq zT%8hk5tU;C+(p0&N5<2;TP#8GOu-5%a=VGMaE%b$X0)ET zUZRqJB$LD;lqirq^A`ovPoqZx`BZuoM4nEMf{7JI6v(`kA_}bU$3+2IQKA>BMM3$w zb2O+@c}~2RM7*6u){g=tkQ`-!;rfa(Fd9)})8VZj1T(JG;Q$(I3=BPK3=G`2!XTQ| zz2Hhh_<|V|F!9v>j$$%09(jMy|C#Ue`9DjF70vuKH@@HI|Lphq{GWrt1$uy#0-ER< zU`$L!@A3KH@jjpbbKlMUug^hN1we;IX#hGfS_ROd79BtbMJWL~(5eOKuvj%fhezuH zIy6QR(7~oApeoI+I#g}|2%SLymlX1~Fwr37CY_KqB0U+wpb135#N{_un0VnAX?B?6 z4b_eU|5NHlrj3kC7Uiq$bycmkYGV!FA>Yx8*D&*qVHzx{JStiiW`Jt`B4M+IV0%@| za>|E4WRo^w zX{Ve~hChT322W(X$Is$bXTHltbO_7FJSt|4En|$Sk=O|u*P4;56k|0+)-Jk58gtdO z_92TUFo{f@WHmT}YM9Jfz?_T7$E9l3o{Fy5+b9pe?VWg}7f(b9Yf|Fg z$@AyVofv*Wj|9TX#)bx1f5h6dSy~KO3MO>eAdGLPYAf z!!KMK;xw&w)-;vX)({QTKvpQQHD)HDHzO?2iLPw~8{8u2xf2(@5f*%CC>{$c84D^M z16tGA+KShjuT%wl3)KeBhF?m{B54Q#868urHsLNsNWbg?tuXH~1O;u&!kLe>a(tk- z%vZKbCbdEifECSc6=n2dJnpfAGZR~yI3*?Jo?qDtB0&lgI@$V}B=)7@Zw{aT_OLFo z7CTWla{l_~z#G}lM<{}>U_6IEB# zGw}#Bj^Wd9k7M|}o&~wqz>FsfMdl>+`3u)TGA4t1_M#;@%&=6agC(?pIL;$HI9H&$ z`6I_0LH~H=s~00<&~b~5MORdy#-fv>8fUN$sbi^r-dc=hh|El~43dJ(=%LaeT~t+! zB{9SapbJ$lBnrpUX$(0c<+U0_jhr3B5biQDWy-;+K;=&A;(qDkKIP&bMbyNyYn(oq znM`tP^g^SyV>uWe9zz$8MKN@tmGBYcQX!^eOI`J0iL+VYW6Qd5ZcJH>F{UhI)GJUK z_qcVAm3Z}%wc}-`h<4@tG3YH-u~uU&xhGFq$c^pFQf_Dvj=_%>8b_wbq93xN$4G-2 zMGQ1NCl#pl1Ko;#ny*dh>GKvs8B^wDiHm0{Ox`p-iJ!N@b&lQg?h-RU;Er@2Xw<{=fiX4P_JUv%3wkVpW-eFNh)wp$f zo4M~Az3yD;Sc+)Ed{-1v6=JxoQ|0#AjRMu!pAtC_GTl#rPtFQY&KRElLBD3J|XjY2aI5 z(OQioU9EMEo(hfDi`C6oT_6>F(AuoZT!BgpB-YZn0Y%MQ>g$@;kcLF;0i9@G25~i1 zms%p|l35We^g<-2sv2M@>#kfngJwW7rvX-&t1||uT`uOhUSm31AoM`4CJ%H?70ne5 zF+C91SaP>)kdtCVMF+xpsic+Wa|WrV>I$LGBV9~+0LtCy$+dKNkrCAq*qJaP%VsA* zSY&mLlhd`*(1XX%mpQ$f>OZ#3!fWOPJr(P<*0I^lT)Y@HDgd^i9VFu@6hrSO=7Jqv7EG&RG5qgkcFgcb<2iX^*uT+NPb z;NF>e9kG`kwi)hQ-oYISU0=b`2^=IIkJ4njZ=vjfD!uv_(I< zvQj|%Oej~>hy_L>p_w$Qo-2i(i>@wKpqNZVT|~XOE>SfhxTPi%FU^DkFIS?pEpsLY zq^N30aw$K^r5{}%iY6ERNh0ONu2Ey2v?LN#95~9zg!r-!}QLJty;vBSxTLvQY({Y?qXFLTK!9<>b=@s-qPdW#i$j~=cE!a){;bqOfWQ&+8m>VSYKf^)0R_G+61Q+4s{CYJrueVgxY@ab@ z;BX?AS`{6Fz(QHsqC94h=)34yI#vMaq@+1L89d(@<_#iJ5PeKmU1 zEgxq*K^0St=zJp4*aOoiNf>5=u}`u z3F)U9$fK^&Dm?YFwtB^A^o{N5x|U8|-R$YW!2^Snn~#gJ=)lnQbrHd8fO)3(Yi#SH z%~i-mlZlOMCtC*@zMmRn6_PoJTBx1JXz7Orn#=_=IR2R z;#XDJxs@z6F`YdB((t7VNcPgj6DIT$w%*lD=Mr~Wo?5!Jw9s8#RFuijlH{R#depY2 z0{2MZNfbm!41mteoE9FcsRrm_W8ji(BTBj2T4Q7)YK<5xTu?Y(6p_hrlN>OagkC2P z7ZKnRIIMhVT+6ESRBG$1aNPqvmug&CyUJkb+3>mWCADN}s*#hMmv^;sJRTd{s13I@ zcBc_WM}`0iFP3_oU53r(m%`-C%@=y85vHMm#36IuqI~Lj>PhUAVUb32Kc2+2(la~# zG6g>DzK~O$mG>(UNTr*|TGWR1kR7x?$FoMRW-in+Q&HRTs%z9&Ug)5zXxJ!V_ywY; zI2w31JbX%3%iY)y;Ac`eRxd7u*hIhK7mPFc(NOsuk**7nUcSG;)QmFciwBg(O%8ms zfc`v0&Y8=tqiChp+)~->k*feA)zpMGdh~yWpKYwD(zzIYyMaDkXL7oW6>X#d^3@gB zN_SGL#`Cy$knjau_@PyFzJsKh3)B-;X!6FY_4LRLBl9~ze}ON*Ff#G{{SLCdxW2BH z_``KR;!5)}^fhJ!?Qk129F>!K)4RC7u;5 z{ZZ>~0TTta7$~jKi!o3WV+-2cDnn)r`6eu;Dh8n_{Dl~(iL6RU!h|JdW=vdGWeiqP z*2x&CSypt{G2yyz!b(-dpcDn2h=J;8R26q5PFSIdtJ55Vk4wqS%)Jl;H_Op4dErUa z1RK5yE3_^KrKr%0F;D}K8awBkF;-u!l>lpE@?wx!3{b*SjV>ef1WPHO7K49k>gmiZ zvZ|mnFzCQo*5jRPx_&`^sbb(^CD~qxl}hw*C;L6$h{7|1c|#3U-k95I#@-dh1q%L> z&Nco;QN|X7xNXX+r$!CFZ+~@^_39sHUuL$h{i1fnG|~Mf$MkAbD@5-b0YLN;!6x@I zn={9*0d)0RR8sa4u*SSJi6?bhR~11Kl$YBGmC#agnwnmd?zf=`_D(xwHV$8(dm=Q2lmRzIkn85*%Pnj(uCLZFE|Od$cGWuB2!@q-gEql8V@#IlP01?2?CU|N;|%0w zC67ZB*W4l``m%*q0@yKm#VD81F6lZ8TR>YR3(Az;afsRgYGg6Q{nJ8kVT3i}iC2M!) z7wWQR=C|bJ(@x9-#5YW#S1$ zl*i^QoAK;}k+neL=;25kc3QE#z`&ql2rxQ6cABI;OMXjiV~9zvW4uYOx}&nXiB>GS zO%st|{!KWKMm-GC)5{&vca5xOJj$}{P0h59c{j9;efXi1W-uSC=&EI^{-Q{+qpRjr za;F04%+8|c9HX{CKoLhB8m+;mjmGW!RGGsVKiC#i4j`6YM%i}?3ki3WREa6}Picyo6%T{d=;nx3vn*Gy30{-MC$Mv4#iAVph`X*AK~x>yMzH#$d73v@(? z2i3^JdMZMQ%tZOnrI1gMX3Z%dr3uQc&(cJ}`h>(!W?00XExMAMl?c`672*=qjTXR} zAYBB|K3r+uiWHTWTlpvpj0gK=ZZQ(8`G7Ac3e7Q-yKpQPOAX~L;l$7=3fBR{=Me@4 z6|tEoAVEk39suO8#kUc6+EtTqU^}T2CVx~#_ChW|HlC)i1!&eJ*nCq;fQfcW#&ub{ zk}3yWxEWE!0~CayyE@kzRsmG6eB7i6bKbM(FTQl)RFn|tMXj|oFyo=bFeJ8sxwyKO zf(-e5VkNG+Xtgj2R8e`2k`;8zrr6*=ADsy4VkeV)j7{JG<}==CL^dedg|gPmvy!OB z;?GQZ@zRM4mnfy=4co9-NH$njX94PBMk8AkwIa2JWTTg%Tq!t$##PK`Ou0<4Xebw~ zF*xjsTsZZulV|Bcm@)VY!nrA8t2xH55ou$2Q&*FfOk+3kX9Z6QCO42=mqcBm;nJKY zn*>AiqOPi>yEO$uFnml~8;pajp+)qXNq(CEfq4Svnlu{dNL)CzPO^;QhC@MQVur3H zh1jF_e$Vo(6w&()wFZOXE3yDqXig4U&0{6{Vx2Nh^89(jWRt_EV!|heU$z)ZNEE{U z8XOg+oQy^>e9{D%4UzBkz$^#Vi7sFEzp-V+@PDk{Qr(<2nO;rrgng6j;mbe}UBFyh z(S%I_Ia%|_8P)mZ7{sHEW$Ib8z5!1eh=0@~)YX_%ETDBXR?wqEy~|2YNCRcciVV^) z-DnT=^J}z+i8$Yh+gOdki6s@!#u%l+YCxlU09c zV|a+?MX_ixHPrDVN>rLm%giFE1fn0a+q+`Mc*1Llt`N-$L|3wnxs3tVVzB}l%}Qe_ zMW3R0yZ=tV*)7tFkwjDoX8i?nj?jk`G4RMPA*W=~BckRxmzL64jhOB6cbp0Mmbd;vTVT-0Bb3vP{$8eZ6mDU#p5VMOSml!BTB=%77Xug21 zp02|WlIyh;a0}LG`OXmCVTr5FzO`5TS>eBO!<-Mz)#~3kX7}9qm1VX--y=bfPFd z;*41mVf+y@vZk+vKv>gZ_+v~ftqVhuA!_ghXpF`q7$@f=!Ms(1cSbuQ8#fg8R&eUE zY>TS(E9M|(l`Uuu*0w|m*4XNnN?6jyBp9cG^pbQ!G()~Q#++NC#7cH>EbE!Qy0~)> zmvSnTod4$Xtm{ZGiV~V}rgqW0^^S}_jh#EQPm9>K(E6GoNyHGQ%;n;VYWO@fX`M}0 zF3_Z50=kZUECx{6VlIm8I0x=5P5B~Dly1B|}5KuXTDwDKa38$N0-S=$sfqEZn&F0O4_ zxfZIEy0%Hh94GQ2V9qGI7~~U%wM{Om8)nTCBiER<84&4ss1RKQbu_Xc$}S~v#HK+L zFlhW(imHTR*fo+wBZ%g{XbR5EQX?7d1l@%+qnJv+5KmnK2C~$&wTUjx#9DX7cX4A^wPJ!{hgP;EAmD6 zK_`6fN^zs2I3$Ffhc36x~v;$8P6T{)Wwr0BGIdOYlnKbgO+tR z1tBk-xHzPD5y+DjGb^4#NDyP>BP(v0go`#n134k!c`ydGYH&zj)mT;0f&-R%I-_eN zj{e3OSE+D0?PaBlRO3u$vV76DZ(qKi?%kFDcBQj~ynW#^*}E@0i|qfRCUO!X@n>x# zYCe6;q}ZtC9m2Bvp%Y=06QZKeBl_}C^w>I6v>#F1&AuAz4Q3Hk1`|2@> z)iu;X#bA-q`=LIct(E&DoCcC7kmyfrgpnTlF5Zk6kZ6*0I`Gq~a zz8*j*YMKH=34>7Cfso>f%~nH4a{?V_je{k4A?1?8xJeDx0%)ojE5<)Qm^F7Cle{Q% zv~Qok0E0BEIojD%moA;UpsKkQx%3pgwRt_Bv$c9)E@9|7pjTX;kWW`)FgFQ=KhoRT zXwM3a!jZ34*H|@jVuM*ieskT;wPrMqheaE(#U#e@1xQdU-sT_|VAg31v}Mh!B4aqJ zqW&FV=PvSXfT1U}4$MWH_nDD^a1!tOa93j7D{C@CZ@DN;Os+u1+oH615}kpk z0ewW&C6N2ODO?%)8`_+e)Qd=3op}(;c9&}<4iK0trF^=T!#HSxCY7_7vr?8#M$h`A zy+YWt8~YQ~?YI~`Omi|~qaf@4s8}>Bza%vI&UWZl)&lj?WY-mqA^Miyn~Y~@`V%w} zjecqAWP1DHfU4|y$WCWPTJmVCk)(}Vjnd)I(iccNaYV!keDbMWjA)3oLIjLwi+nQ` z%vf>4pzdbFP{Mqk7dumAWnOFi7gyQ{(s19aF)zr+ryLOjKmXDtk=|<7EHAv_h}?y_ z1|GV=07rQQJj;aB#SH?B3iM{V^3n$pwPZ;Y9=`sCVwRZcv4JVk(2v_lKYU&XXJwJk z%ps2J>#-#;;l^SH8{zs5DAu&6!!n%(@o5PvHZnesnUeoX4A5Dfs!{{=d_<;NY=AE6 zAhVv~VVSDTNOeJQ54Pb3=#oy?QUi2SveRwWbcjJ&+2D&w|7pn>w@H8GtSHlM(tpk^ zK_>m@iY3UT|6GX#ne?A4l^~OTGHa(lw@E*r+7=+A0(A7Oqo5N9YMiRGgH}OK1a4yg zGWO@0X>rzN+_cDnw8)*8%IA`?Es~W(hqLs*MftQ-qS5OUNpxVs&oT0T7nur)aBQ=g z4sO#U6655po?0G&9-EppM`Y5|$s0Y!rV|rH1NNoyR7y`RFX$MXy0yBYsZqT2F&aPL zdt}rNR7=Al%+N$P8@pF#IY5#)C(5YBfmA)0rK<9D51&?&h;-7#;aE!^y5Ek@@xi13 zTM;-`8Z7NY*KnArB`eod zLmwAMJj5{+oRH4SHP8I=jG~GIwmNZiI!I=(s3Att`CSXY_#Tf56VvvL5E6qnae0MF zn>+|6%Age#osXfT+vWjYPAt+{Zk?03`Q!wo5a(-%DFv9s#=X&kcqx=aK8UQJ0LfIa zTH-UwIz)z>jWEgt6IvUa@T5mHr#Q9p*5vEjVTSZo3vO;ll&E`1t|h!KG;63j{;aaL+YE!e?_nmxj z?+XvA@$CdoW)5g~-LEJJf(vo*1BRr6JDk7<$l%Wh9@Glk)cky0Y^Q0}H&2&eP!GBm2U$n0*ws%x9?lJ4R|CL+sM9U+s>Tf z(B#oLt*LEf1o$H}2@**?gINEM9sZv(M{GEQ>TOzIENP5hExGt zZSo|aZGY{aLp^H$lY{Ks(t;c5zK18?-goDcQhj#)p@@hilO@YvcYIHtKI3x3d zk3^-G#ShvzW$?bJNCOq#T>fVIo^GeliI=$NJyEu8Nd4sYLqkJD*$I2p{_R6(t^Vy= z>ULB&D|r9JIAjg?t=_h`Vw*s?zdO&Dccp9_7zh_UjM%(~4v&nCq{F{;HMa%%D#$l9 z^zxJbNXnVrfWS90)RziEB1yZ+wWSXooxYpAkf}){Na8Qs=0(t7v5lbq)!SIA&QSB> zZ(rHAGur1K4l1Mepv}LAD4`8~{^yf^ zpK~OTN56UL5KAg}^)_M_GgcX&r+LFl$e&=qHf(?+L-r$bCxTD92B<}BTuc8O9j;G zCDc+8B80@XREP-uSsUfgSy*k3qNb*%@9ACPQ{@O9PzU1F!LO-reElH#c#QTcijAZM zEZ5zdH5V;9~>v5Qf0*)pz^uQD=V5 z!jiwbZj=89ieeXI1aan5w}VC17&UC=O59i}F{16tJWE<-!GC|VzGIBdixgEEr~UUn zlO9le6GTsVG`1(uSoq$MggVIoc=bpB|4?kLdDMSzRNIgbs{aJzU&pf+VW(k_=ehS- z{nt)B{+%6Df1cUjTMT%ta>DWN?6W)*c0D^f4Wr;Bb?-BB6ujqYi(q_Qh?1Rk8X6RY zhGSbb-Uuk->`IoNO35)K@qfniFSjb_|8nLRY5Mb8XAHjoHKfQQ6d zj_-kMLJTjnbbgxaR`fp*_ zi`%IFJJsVW;(Tw7ko$XG4SMUq?`h_vAETxQBi`yw@FAuzZs@VGsmAbw7`NguSf(pe zk|(6;5=;JivtY@6ND6U_XYn)YK$ zhxxeZi*{a{65BrQrJXUZw&o{w#mj(0`+vlZHLsPC!e(mj=L1<>R-%b^T*3{-PUL zXG!s2@}ThYmhtP)`yX<)mvXK?^>yrtSm$;O1H3|>M0^|3{O<9M5i81rf_*RfA+IyE5Czpv=|1c1-^|8l_0$u`4%89|YA>^4oa-OZA7YXVjm^iRk?S zOVQX3z{VQYe}9HvfA}V>zf48-*E69026UnBwW0n357l4z-c9|p=RJ1q_D_Jy7S;Zc z34#R^@FUg27JWUS11WCsYs`^*o{pU+EOUf~K^PQy#}OR*{66B4Td_SNz35;cRVI%W z5~pj57M^Z5zB2@589g?ykjAE^;Ajmymfh#dw3r=Ss5 z3AkUgis|JWG*FuY+}R2C!U!(rR4U4q*eph->slI{Tg|KjEllHZvt?tAlOOo!8x=P! z9W9oZsNpy`vNNjbD)1OAl9L9S_U5`)oB<`HnOG8ZYeY*)!WfUvl#>CBw8f*VC8-L+ zCJ#2fztyvC!328K42&<6a3zRj(!RDL0%fLrjh ztr*u@8k<65mFbBu;QqC`lQdx0+te!hx^y#dq@W6z zdCbo+gw1KeRXO^=i31~4@OV?zc6}5l%Y85f7cdwDyLindV5ZfiXn24usl<&tI3tmo ziublu!(bHVDy@8}85k|(3If-{hR#BaK+br?{P|(oj%&?-`aMag+hWs-lc13kWab+M z#erLZ=&#T;6=ge00kyKsG{Cj;RzEnc;<{$D5#&itLSovRipy*SVoOu-MJfVnp+Q_6 z!(h{{RXzVrK(cdn9A<$yXvILXJ~yE_(kznFu@^&V=&ZI#oMVB~nQZ~hwm@;4z zn_;l0A0eR=ZslFHjSMmT{Gyyfy`+ATC+Mm?gu;b#^i=#|d${8Y?pLZMLkx6z14kR)j8S+Lts{ zc)q54UXY$6FKVx5!Y1lOy*5)*l%V2Y;_;Vx{N*11Qjh;8&ykxvuvZ$*u2sL@&{O_; zQTkTIFY)xHUMcfLlCG3{B5_xidam5$(SD+Z5cTlR5OQzd83KYwc7}lC(VgCju+Fbl zf7Z|wuINiFf4xj=Z2j@_f}nHUcYsFrvhU*;KkH9qpD z`s)UK(vt=iC!jl)c^+TlNurohr^ZntLD~|}!ZOdoa?ir09`9iMmmSD|X4-E9HnRQ- zKJ0rWxYPHjx?NF!{j9VB3)u30>$45UA7AGATL+SQt>Yjp{M4_zkJ`Ly^F3t2XNycf z^0MRANs$y7)WN_f-v3>P`g~L9WygThUp0jI%+L=U@P&RzZaS>{w*J83|A7PceOrI% z@c+=EEog!v*=8~dygnx`1S~0R8hEro`-+Dx`bINDuQG}s87N+L_+ModKXUkgL@0tb zb&coX^#^WHQ!~keaE*ry2-kQ9lwdN-r9$Fhw&rg{0i#n0Z3w`C2urIDUzgw$a11*DwUT!nh?y1w}B$7iFBv=vs1uQ)>AWB*Sa{_k;? zsgb!zeC~UWNFuVHd&SW=1;3P#lME`q07WSDrmF58;Nr> zxuqhhAC@@EjFntaazGTQHMm><^9;<1yjk$I5BAFP#k>m>`RF7 zFRFtes^kBO!wWu)zzk7OoC0G#m;<&zzG1v7p`1pEOqIV9dIn~&1i=sNMPUS6i|^r{ zL+TsZM}F*h0@C?Lwz@h87L)sa?AVK<$^*`v#5Z1b)E*Axz40SQEu|ccBU@7=`6*8B z*}1oIXAh|BA+isT;AF~MWWv|3{cIh~?OYIS@~YjXK^Ot{m!^A1BD2(gb@wHyU+N8h zP_s7&Z`a}J0=|#n^P1JPEC*86aE{w zAn_{S>flk|O}+|1i&g-zEEw@EPY)`+alVo0RKAB1a`l_$usZs?@WAMsUNUr4Z*DniFDE9th7hOT+H&+w z^>@wah^~R8epn`k4@3}8GeWqFQie~!_X_#ay~x}LX(<9^nS@;5GN=qZg{w#V;O^lKR-PoTSlN>4D@14@za_)x^jDMeY2b15|#((B0KUp*`$Xz5IF917qhq>fM+ zf1#gsqRiwCf!X2jMN$KE!pG6UA0Ajw%)Gwk;Oql)jH)SqcdNg+l^E)bEWP4x4So+6 zpT~U#NEpr=%?=kt;wX>n0NupeN9?##+?tb|9&n-dF4Vq2+t#WbY6ZJPK&3o|)bJ15 z2<67e6#7XW{WofjjZe5+M>~n#t%vs1ruQm`_YXYPXBz@yW-W>?M$skU<+Bx^syx*{cjzn{?9G9sz})`XLxFkyv(p2!dsBR~QLi~M!jvNNo5PtHt5!rVr-%OYhTbA@A-K$Mduq@glVa8AB(B9**YBwnQNQb9 zN&7~|mAJN0T-%X#>LK-CGSr7M!0O+sN6-b&1eM2&R(O?tUufI=MBDCZGlIGPC)$Fk z{!kmZcBDL}H@X;{r>Zb{j$I^-KGKU*BstpJ2I$mZJ=y6IH3TI^9MV~Oq(jfZZRG8(8C8 z7O3+~jZV46OFA?+jG<+d2mo_3-k?l_xL; zMBYT7fsbaNovSgMVfGoY1y}Z$4q=wv-(Bh}MF(H3z0?7miuy`NsHGG0)QV7RCz7rV zt?%@$4z+b+%DU<+3zSCerx%|tr6Us&+kUjCqUEIR!3@`(hI3Jl za;U%9i>hL9O~eoRQX{`)h@27;o;~Ou*f7D|iHVh1g$Xnf6Q~_SW+Dwrk)IROo}%GM z+p!hRGPx^w)jy?6y>h2^Ywy0)t|L>rj$ht&B(=-CFK4O<{>Ls>(&8eMWXzdqz`{w4 z1lGu3#zw|la+;A>rchyz|HrP-f|AVy>Ti0ibu^2<9l2%EapNFTf8XQ9(oh@D#$hWSFxPLS z!IV#n*f37oN9Wdt6T!BR3~U73FbGs^?7qT4bd1>DJi99n1Tp# z8ZI~!1@FNZ2jaYhLcs!s4z77?DP)VxVH(k{l1NZ`Ge`zvyZ5m4?(wR}Nd!WNcSYht zL%T*3aPaN1TSDPoR9DOeaTNN3H3V&LI>jeP5`rn(woSognIs`HKa?{AF$tqHYEAwm z_`|!1ganB`WdJ$EMjA^g0R~a}b#j0mi8&6Kfj2G+Z=A%-6jH2?H=eRu@Wxs3 za-?3Vc!4)Q3U9o`8!zdN*YQ$ATk*zQ@p5FmmUG=>w*>9AbVf0)y@#2*j@k=VG=Y3V z5zRnt3C5$Tpl%}tsxT>d3rc}no&fJ=;Z5wrq?}H}ztL6@q*QKB#(^d$_UH{ZZ*%C0 zUFX8PMyCsEnf(9(8`B`9i3+!fJdTsQ$-BuUDKqU7aIFkcY+1 zm)byNQm|0^-#PW^yDbSfIrA`7A-3nI4#QL#j`$b#mzXf!1j zG^G|ai)GdvOV*tZvnm+aiR?s6_9fC!RVb7Gc=H5%Pd;bp zM-E?}HGd*MD&509$f-!4c6~Oaq7-3 zJ(ydfRPSITW+L>ngkTeS=vA-Qa81@wMpqS_xl<1z(SW57dYr zvL4f<-r?JXe-N9Z+IMdgBz$gcmJK=SmP}nT(=C=vA0L}(qb18GndOH@mPDwRI07%Y z$9junz+n|&$;Bwm0JS3;$L9Uvzz^SH-ei<(EgGH0vbwOxmN2~GE?Onz-1xm)YJ<0- z7IZK_iB}=oe{2L#MVF#Ulk#%w#*>FyHvyi(=LT+*>X;oufxfzPOVlE>0xQp(J#=P0 zRq@7F0*Qfxx1G^?Ns%eo{ev=qoj`K2qkTM^_CHf-{}cW*)BYWzN2kjD-*}-=>q5Fh_y<=FtkVAK4v}SOY!+OqW@K35%pnl9=^A(jS3r#Q9y{yp&{pbbt76es>qu(|=_(7-+_yt| zvyQYj7HOT1bS)uWVHpdSz8%tf9jO+JG-qyuj@CnHR|&M1`Gz>DJ>N}>#=5JA_t#xL zq+x#md&p1r?0u>y^kh$Da_FfZ$kQ9y!%y`LKiRW??V&w)9@d_?W86gXBGI0d!~63O zX)nq|`|CdDf2s!=;5kRwe(@xfu{Z7*RF2w4z&@1t#vOf$qw#~#y=a5O0>SZjKK;*W z29-WD1MQS(&9pBi(~lD1Rs(=a^Z!@@Ts1t`cXtGMWl`s(LfOmB7%1d zHuw6|cKbK<`n!7l8+-kmdi}TbYX97EWpnS5&Ama}<7vCS(yx$zcyq5e9Wlq#cFWCz z4ZXBk05?6fp;yAX7zQ^z)TP5VG7N5dXrm6>#4xz&p-npM7KXu158c8rF`uG?VyEr? z-r(+>`ThrbQRIWYUXG&u_;%IXi^ot{UGlHD*SbJ^X`t6wgnD~vfrdmjIM@bys2AHn z+j>Ly_xffYd9e5K+`XX(dVRA-;2GJ65~7C3TwKPJ%U2KbEiG7YrF8+v{eW2fie#f5O{f_j2qu1_p0C%o7P4eZf4QOhjgxZ~1hvp(L5i?*vrutk%a0-I) zKKFnv;C@jZEfe%NQ3BCAxOaiF5TixzfE!-gjkk;4_{(nX)CZAR#qm2cmDyafOrn9y zbWoYOIQt)B-v0qKMrTW7C4R zIawX>;#!KMGf+*0xmVzqcTA!|v`Im`givC>>Q=M2Xyv__(T>Ik?Y>&?fyL2xS!oxVTSP*K_3 zsA88rRYAM#RCjDWYV!^x9V;feDW=Wey+^k0{o>YRuF($l*w(NU>zWf=2bC*Fwx;jz z{odmr_hUn}_c;BcIRDYDp)YR5EOc~hxB$vj-slbFb;9oAi(7fE^Tn;7{oe7R$i>>A zLY^J~pTdr+EBKTzCkv$oR-IZMNeTIgZ?V zcfjRa9VoyKtd-QD+P~t!%7ZILb{0nxlJ@8Q`p{z~1B%FV%mp6Y6rO!_@!^20Hc(J| zX3x1JTfy!VTT>1n|G1xqFSsB9RZUcv-!l~XO^>gj$LGR~^@qCw(7r;hBo@OQ6I#H8 z=G}uHwEP}P-IRL*#h|XlR}om@TNPO8yQ$o}_vltUNG!fwjJlKrN>G=QCys9Q(qruT z!XV*>oNT(JWd^M#<3=Y#H<~o~{J=f*V1=H_M{MG8bV|fQp(%#Gs{QYKpqOG4%#Qso zJ&X4Bdk~t&cNsw*Ck_6TF=^ZGi5mE8)_W@XUM^hYq*XNIw)rs+U@DrM@%HwpcuZNc z(>}ft3Ob3ZTrH?+_d?6WAj#`2T)u_fy4j@qCf$n2QS3y$8Pi6r$Zc>%%3ZewDZu7t@+a zDacH_m(+1=F@Z>jN#x{6Dh6Fi0Eop#-oFtsI>Ach20`#-9jcXmNcRqYV&FqoYPlMe z6Z;;Z4{YE?f=)0tKv0oHL3)mZ;=zl_k?F!Gh@k9VLSgVEx{@vH*R)hN*EL~nWAL3B zn}|%>Gep~9$-sRe3lH&XA>VaFSmj*L6v2Z$$xJ~mTnoh(auqpIx2hHT4bqsS*L#Gt>9UfO z%YuS=ehh>E=02)FF=FuZTocfUfnVndMNr{3k}Yfd*WodCGhRI#T@W+JkizK zvZKf#9OHDfIPGumQ18(%tV;;a)vt@22hZRaEmfgQ?&w-KosPG=2X6sk68jhO3cg+) zcP4qLvRUM@-h=nR1Xt17-_<>ME-u<(>z|(@#-sEGh{`tG7{f<(nSW?4JsSnOSuz+;;h{OM)!+*&^I@Gi@td?liM4HEyOOAbK z9edA>A2aOOd)_fPEi~-NvyEPt9*Q`&o^=3O=talYbA;0KqT}v}j0yN4ZTBHunT z?0Dk5BXr5Jwr>ip$@EfaU34|)$OXp}7aezBf~A$dXd@D2Bxk+*TO8@Ii#45$Mg=Z8 z{4Y8D-*WgbIQ$m{vD2@-PSl3S;xY2juB0Bq+M_< zyyz%LCEqyfI21bXc;lR-FM02%zGIhJdC}(IIsj0bZKBo`Rg|S-rSU}dvklAg$LSAjo+WEUA;<}eeTolgGtWg~Kaqeis+O=mQ zZ{@|&6AR4nP~Eh@-LCAL?A$xWiN;QK#5)I*QWmB<(25r9*rN;TAWbt!p}kfIlGSPT^=ZZJsT7+eZ9a}u-4}exb95vb^%b( z?e-PWQs7|<^cJE%c%NLL^wEbQLLGZl$YO=_*mW zN|lX^@mZp5#HS1&`dO-MEXN04_?9Ufm%G*%C?8l}?{Xxv$D@2;1%p=9iyr`15^;B| zTzRk3x{AC#t8Z6&E2hjd?- z=&SpPvZEd!N>tyz{x+qpz8#LH>}XIndz6ih%8n*w$2w(4v$CT_=~%DebwSGd^_>d+ zbX*4zyc^~!of|f>!zeavA{<@HhOUju27ESMcZ;$KpUuiGo6!cFH&Y{Q-VE+<-kiZ) zyM=xW5S{UWa*LPRi5ki=3BO3?{eZG@%XPOZTkyF}xxKqn>F&N=q0b#4`;Oahg4=^{ zFR=oZyYqv0A+#0WyQyCH00eH_b?{j+FpHlu>`8(xv zu-f=X<$&_fN=SK1d0P1w<&+Xu&MTLc?}Ki=w|V@WLv6jx^0#% z-8RpbWpmnGwuLsgt<+X#TV`8nTWzbf-E6D3d2B7VHroc>hiIy~DoA?zMN@ z@3e2V-)G-uf5iS#`(yS`+V|T3+Wr~)=k5P!KWKl#e$4)5`!n``v7fXL+0WT8*uQQ6 zp8ZGm%XaO)QtgwaTK4_glSSG?i|8|Y8-0WyZmC=AD3zba`?SONYxfjsIS-f#aH%Wq zcSXtv@7GS0Xs1iGZ~w3V6K z-!9UwlxV-s(wx~^bGG(qwl=p|;zu%kL=XnE8C$e%z{x-nCEOc|Bv-miwZ?5)-8QXq zn+aLwj>0Cg+|{M+=+Z8AX~`S4Pb|_t&D0`lp<8?THZ83SSsasPzGb&*f4Eh{#kkMk zN)SBCfQ!c(aPf!(?#o-WPi`U4!rQg)+^&7%cCGLZ3gR&co`=ALXC`=H0uLUN;F$>? zm{e}op1oK5O1Jh8-P%!bJ4s^%b}Fa4)%!_6|^o_Gm8Q%{j-Wf zKkxKkUj#eqg`-8`xuXT)j8SLUg@w8&l1w{O2}Rm37KIn}rG{4?O;#OKbPyC2?de6x zeeU`q>_s5-i$$TCMZQ&`Sw+5^yaUODla7CI=Vu?@wfoGp-;iQJ7IAT87oVuEcH?{_ zwiR$TfKO=9W2Wyqv{gmeW$+*9!0tjVEZ$#s&?BwM^hj&u@rIpe@W?pD->~xv?qgo< zR_i@INTGeHJ$A1Q3RWSilQx5b#T?&O41SBy0!!a0J627$k3LR4A6?sF?AW% zbe3k&*>AtR98Eikj+p=#T;Rfi7(1Lmm9H*P?OQwMBDU_iWOId)}lU5+Cfw=MUT4A|)ePcfh1fk@fZe=5b!&5p%d1f)miB;}p7gD& zJ$@Ya2~~Lfj_G)wegtQQX26mr4VE-1SobYf3)@1sFR#TRmmZjOC*c16NvLBk=GorF6g6MxnFkRU=a=&fiCbNYM-d36|e2U%Q3JC z+R_re*}3nhj=eYy^j#cL!SjC5N=(GyiBS`yrC0s*;)APpt~hwp&XwK(tbGG8^;KUh z(+`r+zB@Lw;(`mk;Vi6PA8gV7e(@1Dz5V;eI60DvlOxG$Mma{qPdjETrXwV&I6|U> z05}k_1d3o+xa?@0=35)iMJG(r!gL(+>H2UNih!lhCj8jF;aegzh=!G;N$O9_z>0-S zg7MyPMiewbt6CCF^oDbypp&!>OM*$>umgK=z~BJB6mNJXekOYfSF)Ej^Mg~ow3#1F z^@j7KvZraET@sw?#VI7t?n0XBBKr)^KFv!uP{HfG;ljv#DxeUdSt7;t4uDr7d;=$) z=?yPL0Oov)B1^R%wA-~yt_%ES!qLuJ8CB9Jkxii*tE_LT*3 zwoGEk(jG4h=6G@Sd0a5p8~&kS#t#w76IIRU8alnrZvCosS2h)m3pn$A^czDRu2aC$CiV6Y>as(9d0jP&0CTL>YJlZB{Odxd$AuNTq zx!1I%ce{Vry2K@rHf_^;?KN#I<)w6;-#dC*PUJW=`ozB&5>0h1=T_mu-X zXU=>x-+c3)`M#NN41AB+Q61diAe=jZPSJKhMvw;}U2KD7Y6T86Eivlkm3n|x2lelH z+I^w&5HYN?k~aE3@get4&)fyWmFdn0gvh*pm2f&ec1IWO@cE4ajrFbvY>WmTo0AVb zx2?cwRXHjWf;qtu-~-Vr|8WPLZAXwZz*ec{M+8)KFis`jw!(fF?Y9ZHmSG1<(CA$c zh%SRol&NzMV0?HBprOu%6EcP=0-V9-Iu!zrf?Nm|18kcR3GfHlYQX=f&`L$MTdQb1 zVe(OHSa9=B>6S`Zwv=utuYsMpRT3~pB}jf*O&Ro%kOgP0)8~+dL4|YW25#}3>Lvy5 zMckLHK>|Q%t-w8uuy7_i`SzUXVtgk!xp>ZUu@adu#vtY=0D^BX$9-?G6c@?oz36~g zQLPA!{4O@~gQGiJ%PVV3LH^cSo{kMwo+NS|E%1X4Rap2ajoLim^MnN8n;RyXAHYz=z9=EdZ`c=noScT&* z7<#bl>ZSDKzoV0q=z3qG6RbFFeEdcNqsE}Bgou|{+9FMGd43rtyBs0LMSc+Y%``Fk z3qsNt&g@-Hsk~93xJJP{ZNc^bQiQIy$LYEc? zxiJ3-$4jVBKBL+uKEDbK{&@xPgF{&TTA@6-On4%h2f^8{rZODXY69H03p2t(;1o(c zXnATFEAyAEHc4gJsTnd{WG#YlvIw8{gzJ!qeo-pGzRWv8v{Q2mV%XDn7W4;TkHgwi zYjAu916D8wES2G6vm`J@S93EVSE_q^&3LO}#s@aThUZ4cLPA1hyW2GPdOqWOd(-C% zj5W&$JkDyh*<+3GwakQov53;z+J|eax7F6xZYxBn(trTGq-Lhv8%y7_XABtcF8|m!s?DC*gL)sIDR!h@VCnHQq@J;1@ZoA}0})N_4ZXd+fwhGtuk{9n z9(^Hw^H!GK`(5O|xw%=1g!*#-m?A#1nFT1||0sg*+T{%%P+eGJL2z>j1!pW_=G3!4 z%|t$9`ziIYQPZTJvD;=29zn6EC%7vQ$e~BweoVodwBRtg$=|tCCLb^&-`pF7+9Z>I z^CuAhv^9^h>t-fDNcebFM-HBzh=jQx1&i?1{HUN_s`-g%Iuf7~GJ{nI7WPuvx2126 zse^+sWBmIOeEOD$?EP55885s^nb&S+EF9F*GjrAPwY&6rvVSuD+CBR(Am5YsOwRl1 zGY@cKhP=O4aCBNoY;yn$VudU{DF`2dfyBpUH&C~wD1?KO3a<>B5mEN|(Zg%L;wWs{ zy}hL~_j>4BW_-}Rnt3Fk!Ta2R*d@;wTHu7(84JSHA>9N1#Db^$?w+_|%J_Sm-Ejt$ zA-ArIUwzEubi<*k$nQN=EqnMogEza;PZu1e#-C|oZ+3&H3(nF7w~vp4fB`KP951|5 zjzB`@$yEoRG~P;p2TR1~$m)7uEeC-yu-Bc$2`z`KJ1?A!Zw|nte zcqsW(#vI38Ug5|S%f!uPga`ivx@-R*C=(BI|E;%(jkk#3<}@IzdY@R~k#)$}F764&f&our}^#klc&p9azz-H`1ab1dRP7JHVtD z*YBhCPz-k7$~-_^rr5Mx2+af4!s#9UfDi(J4bD^K#W;(^2cg2_D-njE)zF`%>yM!| zPPkB%C%ml_e&N;}Aki8qLKZh@R|&v#3-_$Td4GvS8mc@j)~;J+3kKVgzMq070{RZ2 zZ=_`oj@~}80gIt0HeiW`W!{hQ0VOb6GfQ94y-XrMi|I6w-*F||4)TpX!3d}zBZ~|| z0aoM_8zzO3k15%90&0-AD<2d>e@u zu3Kd-FWTozZpWRe-}9tkSlbm={69 zuS9We1>b6vwFx%iu1$S+L$y@jms(xHmKt*f*mAZiH~Sd(HE)2%JFk`#w}M$P<%m)_ zI-ZuJI`Bk;5#NZ|Qvt50#|lE+Y`HGY0tVi$hsK@?kk6Qfwd!ms;sOyo3AK#RrE$K_ zZAhYRi_|^@td_rVx`@BWpfoH6;=C>H-A`Mg184&mRuNwbCn6XW-q|vMl30W802v5S zC7GTT;c)s{5nH6_JgE3{(b0gsh59}C)42XbB~pok(-35f$CBH%*J0>ygg!jeS?)8p zs}c@HaELf7%Kw_Pq8B(Hz}b_4qD>Ss6pE1W5H?{)wjSDT~O{U}wrLzeMX)?7c`_e+cvBMGx zeLg=MZ|WU#zQdDqWFMFieVe$wi?*f;RIa| z+iN_;2G}0wwhR?%VTe$RUkh!+PqrP}d}Na=@W^HqM)%n87!rKx$Y$wK1t-&3$8QO$ z=czP82@Fo8VLRbwAx&-EYORk-II`IpS3Yj6x7NX|8?Hm}dhAXcnlrrB5`e=7b%x8w z)W*%$`pb58S19~#Hr5R~M-ID`#vRrj&`sADc4X@#t^(sLDp@~@ZnnPW;t4In18f@C0c8oS}RJ;wwQb%q*_kYscPqY5^@hp^a6|x*7}Wj zjzP)Q4p%6$g8a7bFb4$HrPsGP-#^vhd|CXaI#-vsblLKJyBDoK=vxh2=7v883s=HB+ZiU;dEg!-G<9%X ziGA(4T`?DPsqO^fZ*QG?Z#`9xKUwRf)~!~k5*3~bx3KeDU7;t2=Ag2UIR9#`bdf76 zufbY%VQW`duPej~y?W{)Wb3iECtr_s^jE8F-!!d( zMA5WXg)Z0hU<5i{Q+ouuUDHEgTWRg>5$JL44@F??us;}qp4ajMaxuF#r#pMlIW}_c zch0{_)ZZ%55o5*)BN7I>K@zYPRh9^qRa=GiRZy#^fh?sm19zfVm(n%&q;7tFxrk#` ze$Ke--sjHMV`K6_7)U)(X+{VgPwzYsc~}c=Z;!=6+gpDe+PxB472NY!+~5dC>BX>& z*lM_0MrJ!U{l^I>#`_LL+5(OVKgI|p{Cd1=31r`p&qc!7?Ra8bI62-QVTlw@jrRxh zan1QYPYwnEoEO7|b9X-S%{a{L_RXO;%@(i39m)|l(DsMJ?r3ZZl!IA`cz_M=_DgZ% z+mY}(?)BQ%_9TcMbS!j*+ZH|otF4BcvVA+*z1Wn5O(kQ?2$k`bAq6Ke?AbWwh=!BQ zhvG+m=WZC!jN5+~hv}ro{xZFSv`4d#?O#R-h}5y-oPjIiLI@64uJE(XkYC|m(epxBlTH&pWPm}gU^DC@Oh+;-PK zcnFSd65fvN3b6%Hv+Rfv-i)$PcA|RYAG4<8QOMLK(Zby5{*7dml2KR&^H@`_@cr4) zsvH}Qq7Q-3k#j2NTQ&hU@|1w7bP(*~9kV$e>wlCNYD`M!yJD&A;E6LWcO?=#;pvcT4;M73Qn=urQ_;Lj(!hceI%SSV z38B#FI08SsJh%t+LhsfqGru>aeeC6l654LaXHOkDs)6yVNg>KuKkpR#`T zqQJ0U>UdO>>n-7Alr115LaxJ>w?Q-?p#6ppK9*qhM)lk>#~dqrC@I}mUR>%MLTCU1 zomlF+oA%*YckT)=$My$xUW)6u948kq`H{PVNq#lhDjf+pmp zhHY9z9oawV**w+#51We0D>Jj?OGq$Jz&?@nnJI&%qF5!Y-%_*T!r%dr7Bt%spZsLZ zVp{RbbB$wQ0-+KJSWYovRtPkMX*&y49hl51g}4wID88+oIS(|L$G6rWYVcni8!!EQ z%oXxvfvP)Z(D}E+Fs+x!m_tS!8Co*tl5v@gD=?1Mxk87Y$bk*o@WJhhF@mhUvBtSt z>m_{5;UCy3ti|#m#yWRzgE6*0{B&S~Gte4yIv@dO)Xtf;;+FUyp9|~yn};V;R9qoc zZ7bb^jXm2vlo~RktuYq}N$dq6LA-MeaHuoJ;7nue5bAl%!#P9*TrY;muHGN6rPxb6s@FimWR}h3zhA z(oQhO+Cq&Lc!Q5{>}bXL7-!H?@qDZ+th-{k0?SiT{MKB{{3mjHb|!!{_>G6(1XBFv zW>47W857|&56jdfyys&)Foh)8K5JqsTf9l3vN=tG@NWu8VBfD`q9}UHUl36Kf?&Z3 zaBunFa*MnCMe$nYPeLtfJWQctfps-$3I$W-@caF+LrdOtg=^e&xywg#;twhs&9bNK=(cDXstLT!ZRvOg?ozpjyONQJ@T*2rtawD!_3Tzp1VVp0hyw@M2JE0 zJoMfZS1?06HDB-}aRtACMdUTPf;`&X3CzezTtWD7a|L0Oxq=0uQ*i}Pse9mKGFR|> zp;vJQDY%;}$OBx>70j3$`lJ_~A7Ah#@q3{%R}cYFb+5%0JR9*LxPmQVKCWO(nE1u8 zPmC-0VwjsNcs2r+)x#BhF$|S=0#`6Sl(>R^^OKBtuYIQHI%u{RQ9ZzsmyNaK7+JUTSCKhXFQE)TsAqFXVwX-w@J(?c55 zjT+NU8Vo#5nw~o~eBgO1oQ9oik2sb{--z>6_&2Zyoqova4EGE zq7qufuazBNp2F=9e}L}^?&O*L|MclozdZXiF8n*~bUgF45AUKiK72mAjEBA{{1T03 zs`ahs`o1$yWz5I=FGwryinp&(87u5-Rp|H>ri?_}7Sp)uOo7U^QERQ(r!-c81uEi9 zT!pc+4aTN{O_2I59vs-@N_SK{F)2bAag`Q(@PiPLY?xxmHu3Fve2ei~dw~ipMiss} zhka8|bRyJZfcMxrJFyK2i=DyrTI>q8^q3RG_v68vBJO2$qUmgc>GuhyHxuk*bSum0 z1kOB3L@NniFvS z;rV!S@L~$L1ep`Pm=ZW2oU{7QjyFLN^f#LM%h)Y#i1K_q=jvIWh5h|_!5QB-J8{TX zg{0YP(Dp3RK=yt-XY>Jxz=+As6^y`qo@n-P+Yt-c>VfNqKnN5hC4~j>kT01p(RpujN3C3iLH-P zI?wY~!YQtdlmuF#`7h6;+8P{7Tqy{}#X|j}>Y|!mT&Pr8w5b$qGrD0KBBm_@G1@0F zu4<}kw}3N9Y(ox_WmFobK^IWE1s7Dya0&@b9@hyNHO%d|YTZWY(BiScFUhNlz;N=5 zfoSmwzuey49Lw_Dl^O=#?~WZf4z;N|Tf@9|-NKrM+kKyGX`b7`Lq_h(ty_vJYed|E zy9NIKcXjtyr6vOk!0wdqU$kB^ZN{C$g3zNA)@%{JpC-H^2(P9KAEXP%1k|U(WLr6o z_todN_#-kcw-GaptTH5>O$vlr9&eok+$jKOPzBd{>YlU^QOJSU^6D48q{kL8yh%UO>FQX<(8HoeG} z^B&6tL8I;-E`i5(AKg86-92d8VfH+F1!xh@D>lWAIQO{m{Lq8v#~#ZGvS24?8EF_) zHc3q#?<8Y76f+#-3>%IGpXFV1GV<^EJINC9N;1;3!Qidhu%&2|=caNEqb#A|3KR~C zD;Rvplhi2!4eh;)F~)TH<09pyT|qb@2et3R*i#A3ei-IvLmm_XL4X=3r-N{~nhs2J zWq#1e7;6hhDRq1$l{Pm*CF}98q>8zz?vTzHu$+FC3@ly~KwwikRDcD0U1c8x3joHD zDKH|+NL!K|fUuEY=#Riza}WNE3?G(IU{OznMeUr8L+FzT2K5uw6)pvCx4J@S@-tsa zC3S`6sidwj3+aR3FsDFC^gu7;; zn}=To49oN8R1w<(DJR|8CD&TP<@<{(M5COlG|(wCV{5;&0Zou5exBu-y3J+6Vv~RpazoU=KqfQI7PVz z+@FC1;SlZl!~x2R2U%A4A(;{lGrBOkb?5k-f6q(}#J(D_CY& zi!i5X9W^jt5AO#j`r{^bZz|NVOgdb= zP`~;k!;@rv<5gRBy8U>=)26)^AsNkk!U*PtD_LfE3)ab%HJfYwBJjfH{7VBrq@-$- zkAO*VPy6&{;3RnZq~w_=!82sIuL!+xp1$0O_58B*>Eh3gTwgj<{^v%mpHxA-_|g6~ zExFOipP~{U`bqTV#$fwI>5l2)v74aizpB{h!4E(3KUYf^0Za+!`I|cz@%!bzU-|O# z%S{A%6A*au%i-s(-;Qfb{V+^|Cv7N&;+-Pj48RYb8PSqEAMgni5I;E4F97ao`n(sM z1W#T+$-^Xg3ih8*7eC=o1$?IX(*U0-{sqO866lRzu0I**-+YDR-~XfiN4CsYl$CG5 zrLVpU?hViLcfL~I@#sS_39j1A2k0vA2;qhE@|z!2oSUo5_XRh5;WGYUf*YoXhY)jrgQ7!Ys2)^9cJx``D9P#HZ^97#_*AUzf{bYCq z!S&OJj|6!=xu~sgw0&FV`T_q6W4t^8PbVmrC$y(ns{C5qz5TWolb=3joiXq5RVc zJ_G$3fX^^KCozIgU;ar7f=`b>NlEbO^Cw9~@agj>DS+V9 ziF#uE%NQGHi7NLt0dEd^!*lwUg;D%|Kyy|zy+pXR`)Iq+!? ze3}EF=D?>p@M#WwnggHaz^6IzX%2jv1OK%-kfmT+`S_bqqZRs>9H}38woKTdJzR!O z^3GTxPG~x2wHV%P&UeJ*ssIpUw7pHon!2BD7amzEhHHi02v3^Wq=9G4o4cR2T1?IP z(2<1=&@K5m!wl<*mi&hqS^Lf>x)jpUub%re_Te90em=h++wsrGcftHt!qMd;t;<{I z4u4hnw}h@tY^wwyNO&Ysd^cgZUigm$;r_YSD${d%Yqjaudf_(-qrcIMJ;~O3M`~Bd zaK7+{PK=Eou7_dgu~?Ts&Cx%SNa+790os9*g?AH9Ew?T=&OP;2;qqJ|7RNQRlygVU z*Si8w<%{3VJ5?`HMBhpfUY?8SI$QKG5mmePK#RUhC4MWx;o>jy0xAV*6ZJ zaM8(O97z76@e-vg-ae8T6>Ez#T&U9?cs0?+4&Xb`)@&+F?R!pt92wJ@~^ytae|f@mcHHeav`vxDMZji~Rc{zE9Ojmc!;Rwl*BvWfRO9-3@I~W0Glo!r?L~ z?5%W+Lnq@G6KH#QR)A?kg8e!D(^XE@=&$tzJvP`jP&tVEgUS++p-#0m6}8T$Laj41 zF*~8VvhC;9&fnSB!$#h<`*0ancV*KtxM(F@@G($X<_b5a+BYN&cBiz7yAojQt~90& zq!=Tbx>KxGaJH#nG~p*{tr56+K2GQ#gC)e$i4!u578oSjvyTH~kji3P1A~G~YqeSV zY-Lv@Ht|-vf{ax*m9bj@y9(-7+ zO%zuoBGKEQ-r27PCEKAeOJ&?CRwa5oR}T(Uwslty4m#fjVZBX~nHf`0KaXr2NHIN6 z+4zEfAjKIpIFKUVm1xYsyE`4%1Z5aCNBetT)Qg>PY$Hc&1a>H=SW}G=5>GxTh&3w) zDxCoa@%xF!Dnw+g)`~w)JXNiwJfP+gbmn{_H7(S!*wOQe)*Yq`iPoK_VKfxetBIzO zM3fJI;Mu8=;5#b_JF4lPG2@u=GSvx%WExH~UP9u=j1lAzWXE@eWO_9TwHM7VS1`Sn zXa}~7iS`Si!#>Xz7aOH!mg{ z4b~NJzLscQAwE2B7#+y)3X1=dMS;xec?B8R^QPWfb^1BIQzbShnVJ37B;%EV%f^U- z%I-1amBWMGV^FXH1tgV*3)R|vs_wBP)omTGB$<^R=aWWXNg6$$bo`a1fy(3Ole)*u z%B?Pz&UwcV9*+j~U+lwVqI1Mmv}S#~9(@9ytbFYWHh>_t-JC(y?Q} zt*};gUv7gwm&$?5u3+OO>lLD{8s!*bt)i;*`6N^@Gun>zin~5rl8;mqtt!y!qf(~Y z{z}qmG{+HAb20`@_VY zSQIB-)C*VUn=T}cUP!V=zp`Z}l ziJrxH#d@g>6$rI>%y@}v6WTk}#$1Nsd>`sve{a2nI41b8U!XKKwRMj{#aJ+580@}0 zWBGYXk4n=&Z+|)8led@Tyaj6G6%^`ap8r=U|KEb2tWZVwWsFQg{iN}<4%vfK1`5e| ziBi>jY-C`}6==L9h6(Mwk2dZ$J)k$W=}iynP3?NqLwc*GtjV|wt)+p~MN;qD;23wk zVfwOu^vn7t;~w6xKA?Yk2O2?}o;m{6=!1G*eMj5%r!P?Bc!;{)-6q^euj)9YKYmC* zu>1Iz_1z8j2lTEeYxU_vdfbJ%%UE@&`pg4*dmB0K^f>M~wDU}x-u|H86>Wb(Pp)Cs zUFc{!UeKR;P;YN1_g{P6pVN2zT7RZpZ-0o~hZ9d9%2LZAE+lpgC!TpoZ$G3zZPepl z`#s1Z)M%nZD~%qaM z!<(&oV>OW;V%^CWwW_(ROQ4Jd~)7cL$w za}TC!8m?cSJ0w1dV<rygaPkC7Z5OzT&h%AnEXjRawQnXqc9?FCFJ zZbu=HXN4KB^gXXX{sPS$tYb8!j^U*5rQs{o8fICqoW5^qm-=+`(tdfCfjK~bu=R=~ z&Usb~lo|bTc4vyQs?l_1H%#Lg7&5{4}Lx>k6~0Ez9Lqo zU=q;enhSEzTI7muV0x6-gxFAowJ^=x+-cNzD7iJ;q(u z-Nptg+}$YLJwwh{Xja)^`ixK4a21sbQ!iO#1!w zD{q!;C*|oWvKuqagK5HWnj^-kfi}gUp*EWU{ndA;mDw+(xni0et_DoCHAD9%)rHmoqC=VP|vb7jdBk-X4^aUxHB=(tPuY>4QgwZW<|$^G~^9nnxPW_ zrr=sw!Sy$c3kYu-(32Y8PCfcChd@X6;OP05eZDnh9v>Nmmq!Nl&UdmRB-S~9fsl-Q zRI%d0HM4>bdq)jNR*XO^vhdRd7S)N= z^qzqQPy&L*5R|dONl8vWAtz5hTfS*tAU3870;1;+=?%bxLm;IBIpE-Ol~}u}l7Dp0 zPwx=YEu<7PHQlEaGbP<%pP&AITzXcdDLLIPq`#k#4z-v^WLW!!N7Ik?BZyIR;uVm0;!Tiu z;$6Mba6)0AIe@8-Nvw<`^{g!r?r4ART&o7StyP%3S*vOCW&jP=6`-QY*f0Bs%K1mr zo5(&jcF7cyX&XQ@!|cqKXuOQ}eFa*mgEMi{v2vj^vM)IEoU&ilu9bko`JVN%c3+6` zGFti-Kt|4~ozK}rGM!Lait6;D-W5Sk?^r_3nZly1Sy*fUQ#NzXKDdvGQ#Z7Qn-EJtv_9nxlg%DqNb_J&G_WAa-|@&33EzehlLFy7WhDhV!u z#MN0yGIeRYc#=^jfmV(9NG7EutL$jQkzM3PfcL?Z8s|Grn6C+yS@>+n?=XH`mw^?% zUx={*d9ur$C*Olc&nzKp_UbHq1iLDbB^|&;3&aQGHT2Nof8NSqtixXB3R1(V(a2Vw zA1eh`R=!n`@9o4@rJJObAmH~^u3LUTe9}u zKw96_Ck3a{oI5D)&DyuJFcG@b{`<9Xk6StI8{aTRPGFd<#dSexv#pR2z+n9|9b}|n`o4a1t zOwkn$D%=XnEsM-KO-)!Lh_MT=Qful<76@m;53{?Xd?7Jhh-(+3bF(PiYLvnIiX)ax zB$l$6pM($#i8x~7S955(_rq~qPWt==1QUFJ%k3N8t|zOei7_kIs*x86h}$tvE9X#D zQ{v6Ml7ng4ggB&L)Z?*dFT1!tYL{xr`If9`17j7xvLpDBFvFmjxDY4!!wmK?gC^V{ zpWa`y5S>pL?o3{^V8#+5Ez>py8s8#0e}&kEUC_Jl$ztTv#16ufU(h_Au?WhhVU&^q zWz!jpNZB-oP=+CtE1M>LC$h3>BoLkwu*k}qL#ND6MGq@tLPyjn^)8hU>yWQaYlfBP?PO5te!J-Kk(RbVcb*@Myn7Jz!^Tr8w zD3+Rij}mWm$oYXCKH`uUCWCjfJMzYHgL4!?v=W#tW#EvMSq){@6}0R@b)#m1Yl<*I z4jFxw7Lg-~@y%-lBTOVaU24Q(_PnMfC!>uPskqHC(a zL`Ha9R1gtoki_jv20<$bILq}E|h^R)`5fEuGHEL`xHj7-8#-Ec06i0 zlyWHjkm1mZj*E#MuO%L;G**Gt>9_-I*yip^$G0Uese^+1iihQD>}2 zAB^D}V+bjGQaTrEp;rp(qZ*)DY9Et11<)AXVBFQ(&^FLO-67g5a7Arw(UWQyu4=f3^jgmgrDp{*pUlOfjbOcd8aQBxjhp zV|PmVID(uEalUnCiO%^vWE25VuiFCrcJ^}CCEP#6Ubg+-lohXa+U~&ZKoXooRpdAa zHxt?D!XQ2e>07M(hPYb$!rkFoZLU@u&PML07e3gXU&5fa>N79|ve9$zdv|N)hn>5V zNx9naAUXqMD=_urf_2Np>kN30+l6}^(7mD2gWs(~Iig~Dx@4-l5kjl3pE?NYl5f&^ zx@7p5aPN9rdzmdrd!XOYD-7vqWPlKXx3gn9w2x7&e?&Z=HR zJl_OsovC@L;Z1Op??b-5$%Q!#cJbb&0NuBA^gbEdymYjAscjq{aszF15k`WbfqI1~ z>t*85gc64)psBpMtVzP^TP6Nd>-aiex8$SnRpOUZ9VWaEIDP|z02v=GRB)iuv8EJ*CV=b{@tXiR`%ekF$7i zH&?uP>vCa$SUivrqWSmCC5N-|SX%q1A)Taiggio)evN@!b4mQxa!Lfqo;Wgscw3C= zdj{a>r-7M|DD2<;#?CX}GdN$tEhxkWmc8;^>z{ToqyWEn^Nl^77Ga)cK;~XBm|jf; zaTivYMv!cp%>ysR9_xwSFK*|sJ7V&nLXnfmlw>*l^X0j)@^*ug^?1;rUQ?(0ah@z( zNaT}$-?wNw`S;E}SIfVTOe6o^xkr|N*X?o3zw7pVV)Adh1YSs=gkfOxF$sC%ZAI_? zo$~Kwul)P*tK{Exl-Gy~^6xsS>%Y7F+b$hP#(Y%ycgp{9`FASGzwHv2)AUK;Pfw74 z_eos-ZI^5+)VlwT^6xaa{9Dd~GjbMu((>%3-qajR`fA>kU z{JT&3Q1b6S=|5NgjpjI|{97jP?~;FKY`9wf{kZh8H#v-wo1egXEEaOA?oVH%h0`5vWG5lX&$Vy#-#1XVyW6x|g8X}zbbOZt z`FDc^`L`r-`S&i#EB}@xdm}mSJneQQ`FEpazfJm>X2doSjA1ei+x?SYZ}+hhNG<==ZDhx+d#|IQBhNb>I+ zCCI;Tl++P7O8e>ecgVkQl4SWe-jn6uH%U{-zi*OekbeW{C;z@lGPO%2|Gr6bLL?%~ zzi*N}-xK8DH%X7QOU`$)1OIQ!zq5lrG5I&<4pr#EJo0Ze`YMyBKY$?SF^S8+ACtKJ z+vk}}v3>rCuiQ_V24qY?(obu?0m&`@_5pcFACSwx`6Ou?`S&R>C3>7v&u=C0r6B*t zIIYMI_Q<~VE@yCr*L96HW>8@83%P@^2u$TK@ew@&c1L$iFdpGk^xj zzkiG25%O>H?~#8`hn>s6+rdvES|`cBH529EKsU4e`*CT4{5v~j8u@oSrgHzi<=;rj z$CrO+hyIU{fA5jy-{{vS$iM$}32xYt<=;0!{*67C*dqY>cWt(ynL_@phWvZ)MEQ5N zdOG>{#vJjf9Px0r_<1h>9$zf}zs2I_g<|0%@oTF-rU<;athBhoPZF-2NfeH5+9L{o z_-au&pb*Rb-J;le~w_{Ql);dvwqhfzufMB#bUi^6fk z3`9%tmH>%07ll7RSrmS322ptY#}=k7~ka>Br zTabCPPmpPBoJo+G9Wg%xcIN?~mLJGWAR2*0fq-_{L2V{CM(gzxLx#67yH=$UdWMfPkb zj@Y2OQE=K!@dqx1pLR3F1X1`#5{0kGgESnX@P5g(G7r*lwc>7ZEK@x?xFCA@{p${z` zeaKG~{?G(bIG8n|#H^V@6#m5tqVPLqQTU4N7+Dy;i-h4S@vE{Ze48u^|5sTQetv=| z+}p6H7lp^lqVNJ)6uwIqg+mm7O;I?6cvFbNAJ3an6#n>BqVOM15{2Vi7KNuz6oqHY z=VfJK_*9~B*91}cl@BEf50^#Z?xiVux(^`=_weAR5QX0}SriV34=D=&t}F__GNmZI zqfxj&dybzl+)o^RrlZkc6b`S~5``ncf2}ASJM!%L;3*YThOe|ajjPZ*J(_Pio-acn zCYQuL2H*c<2GN!s2g6_qKXLp19#bQZ83^AobSWfjfoX}}y4sYh$F)0)UAc}#*Fs0K zE7OsKTZk&1p~3?OLC}k_ddHG3jbkM6s z{pPlzsCOi6mNFT-RN`OsVvXU*@}tZ6?KJM2u^eA=W+K7}SCC^aA_{iSHZxmH_p(9T zJ>AQOm!Yd(E?IMo%d88H%cZLVf6=KCzNzmI@%jL&6x_oUgnO9g;U1<`pq&r23*eRp zwy7&atjC;-dPM`@)SYyCR2ISywq;z$H{Gu@&|}fqYHZ)+%hP zFRI)rY%AJQUbIdutlO~2zQ04wU2mwUgT~t zwf2kLjc>C+)mmdLw4F1qH5LK+tE(j;WW~`ntp!Kdwyu_}Ym5cfwZ_%L)>YVX`@X~M zdK$5Wm_ycQk_A$tEn33unMoAEB7DWlKITXcWQ#41dyJ7B zi}9hA97~)l$YZuMm0rk7@$>W*#lKvCaV&8KQaUr8=a7S*M9&rfX{9Y*a;yZ71j(@q zuSCgF;LM~@1wN9q6Og7P@u`(I0Yu0dHcxb}w9O}){4*w59A0TlArd)`H4}hoqH2{b z-HRbroW07nKys`_v>B4)4{~Pw0bf~iQnPs)GbP7MaLbV#FXOdPay*9DBFS{yDjZW- zg$5!vtQOU4CR{yCiqwmWp>YyN2Q zTZy37-dte1r9j@6ot@}^EWmveppaT1)RhXa8HDJy!p#QZ;e6rx0wHa!u)09VEx@`( zz6)=Myp^3+9B3ANYk0W1V8*TC(2Eh%Grn)+oWc1HX~r1e_i&8-VgLFXT<*8gT;S~& zrnzbzvodMRhPZzncQF&mE@W$%C3#*S0ua^4W+i*^a``)mRF3`rr=T?^? z6ELx-6NVw9Hy2=Vzoh`qLqjKCU5(=t;mAGV)$An7JMo^?2rm4rK=^e*nNUO@Lqk2U zu5Kb6O*p|_hJX!Qib6{d=^=Y@L7aU+d0#MHP$sw z%_(>}y#F@ijJuxMz+1YinHL!q3-$dWBfA21%IU zMxQwJ+xKucZy7y58h%U|SMB|g4J zjt3{{v*+hYLc?lD1G?sh)nwB+|IA&y{Worb{jGToswHn_H9IS}7VQxDjT9KC)N3q^ zLJ1f}%@{>BuAm-ve#H4YL=Eh`g_+NbcVlG2+3rTmH~3J$?9g&aIJj2mUQ6bW)^-J3 z_M6uNy+Z*Sy4Q*~t`$1h3Wh>2z`D%w4M?PyI~tuKDD!2GtuB?Ay;dGQC(>ipJ3}x7 zG3JY=wbuModTAK{eBNNqM=>t5=Hpnr=?81o2Y#@2-wm*23pn^xWcuM+aU9&wfn`SB zDc#ZhA@jXLM4`5QudYimSeB(S>TD{*1)WJ#*mOv@Ubi3rbet^5s@qp(Tu4o>PgCd$ z+_-VbIhLiOlXkfH5z`2B^xs$ zs2}?WLhaWTotDU|wM#_@t}8Mc?2SbSt}ohnBOQ%=B};+*3x=#KMuV7KWHmrp5GGIq z2JOE0jd_CuhJ721OD*Gqsgm-opVVMnR3Z}4$`FmXs|flQ_9;Ptb;Ujg62$X`RF}oR z{A>Sb6wl=6kL$$jlvmgJyu?lPzIx*4qzF6Ki6=Z^?=y(r|K-I#yVntxU#}Bi^7x;G zYSQP8Jl=lsQ|CSj_lN8@!!^wdzj#$@IS+FXOQfe+Ri3d^_k=OPV`9R|31X=fI)oL zK<1WWo0e)8M};{g>?<)Bc29(F-|v|S(?r=b|5XmJlF$$y%?IW#Z2G5JD_KK?rg|jk z0n9iRfKmduhr5f(duOrfE5)WR*cGtLE~sgp#qMeDSGXHYt^F$=H}cIWjMm=8-B4jr z=g_Pu~RSnwCt|o?l{OKY^~?+FLU?F>kpGu zV%0egI_KM^5=W>j1}lmv$1GR4Bi0q-xYre6Q=lOs9>l)Z8AYCMqMQ|TO32k_Hs;tW z<<4aAX`M4+Am{0PXDk}w;AyGE890z5ZZAPE^j3}*GMPb9U&2`Lh*O|a3$$$)?<)b` z93UjC@Y@m_)-c`6w9*Kacs)T`d{@2gX7Qg(Y&Uw`wd9_?zzuo4M7XWq1ElPa06sc- z_+p9edhv9L?RGhw&|EC)^w_(=r)E%!QZmiR@KT9q3BWHt78aKFqkRKO&Y zG10cqIM1T&#F*XrwKYSXUtc2$V862l^VfTGA&(i2}W1riq%^4 z(1Yh?r{hTQ($S^s?Mv4?LY?RPmacb#4YXkhX8w9I|78uCdE8vd%}Q?G%FR}8KE4LA zlvfsuwI!tt7lq*{K4Wz0?0VF@ax(ba^DP5P#TxixjNiI%IdL_qwz-)yh&rGW$R7L*CR`@E?F_UY`yJws7Nmx7s8_>%aumU4GKe- zIlHrCboqMf?=gOLDYG+h3-#UW#YfkpFzi6Z&ciqCkbwbZgEO378rNT_tQw9lTkqOQ zg|YQmdzp40>pg5fj}a1xdDbH8JVd<|d3k#IdRH2<)e=G-dw5eX+-PDTK8d(_&QrdN ze_h|yJ92`ZcYXi>!4Z`T*3PBt4c5drm##M^;z+|h>pYD80oFvvm3~h?Kvc=jcP9=$ zg93Zo9AZuEjvutn>yFo2UzS z^|@hI-m_=_h}gFQyA(L+{U*yE^M0Xb_2_#WFo%Tf^q8=5wV+(xg%dUfeCmkF4_3xZ zp=6Tc4j6$4*}+i!!ZmC>e20c@53kd(d&BD_GWTfMo^aTt@Xu-3K@Gblf=Lm3*q#Up zZv>i!UkrY+_$9I{ISbhhIkkJqye@hnyFTYSGU$5|JS<`LxvXBt>hoCrQdYl=H7v(} zK5M|g9{==O!5R$shjj(ZQ8cV%4Xbi$7qZ4x74oZ+H5PDNf$UHKht)*fO{-Ubj%{5- z)~3Q6F>eY_Wc!Q4KL>LiIUXp!gMFqX;YN02X(GFEJ$@VL2l$O;73{O+ps)O1cCZ5f zO#da7XJGhDMsbmdR>|ixJxS1W?!VcE39kpz0?KW0hyOYstM>L#ZtxIG( z>vnO2qo~_OIOm(<7_u8Y2&U5Ec0*o}L4vb}q6Wb}U%$iC^uwJ@9T+ecY}#O=TN7JMDR z?=zIH&%z10am(kTZ)KlD;xFTM8@u&(cH8Y4wkfAN9qiH_>d&(~=s)ud?DO=m z`Xc)R{fFMkzDWN;cdcl|RrxFy%i`I5wt!``C2Sefvz2TOTgTS3jjWPw zVYO^0+r##<{p_>scJ>8!7rTeu$L?oF*2X&6SJ+qCKe2CM{qP-jgngIU+4tFx*iYEg z%)x%io@2jdzh|$oi|o(ruk1Z`i7`b06i{juvlOuktzw=cRgtO4Q7l&I6w4HP#Y)9$ zMWLctu|ZLxs8rM_wkhfqdlWY+Zc%(zal7IRIRT0q5P`y zpOxQIen)v!d0aW5d_wtS}i2@0p=co^bwV$QFop<$Uh zjFv36N{sTDZ>nfM6C$)0BPCzhWWVEPtO_+?u;M6j(C8gEi-DVLqD)h`Op|pf&<9xa zo?huviJB=x&}=4@PzKmGAr?dsV5`B5t3oRkR-Y?(p1NUJPsL4se$$VcAl; z0op7|w=lYXl8@cQe3Ctv;l@m|aWxlY5vwXU&>O>kP5Fk((h|mR#UhuIs#gEw!2Mpujezqw^v}S zSq|=TRIAM%YkaR|rr?Z4l-AZhTwA@ZHYcREc3UCBl?DXhB{ehU-dOscJtKnnnd4{B z)i4A3h<`8Qf4FN~tuOYCYO^Qypx(!43VyBBGd7G7v$i%6k<{MM+uIvhTUhd1Z&2vb z7t%LxW!b&oMc$j6o0UjrPN*;Uk166Kn^}MYA&vsUu3cUP0o8>i79cQ(5CX;$gqd=m zu|Lg3K4beS^|4XYq@J^W-qK-v4{{zr+Q;-<&1?lE@V%;X0NGiKg3tIp)$3Krq1`B6c=RPz(ja3oMAAv0KY zU|}zneOvnGm^wI244xAPe-p^x4+PVDulb6jux0o5mb!aAU$2v+DfI94(6!9?pn)~>Xn6cUO3w|5Um^=VXoC~t zXDkRqRyv2l_(uirZFa{PR8}}e?CN7~a83lf;m}m%_a3U2y<7vqbiuC`Kgx|i)5LzQ z;O@{LDRu^=RBh=!?(E*?JO@v4iD|BB!_QSPSmpB(?yEw9kO-9;h#nVyNk14{z}3*GIWPgY|1cwdWw z4J&GS#6wmiKjjfmfp!-qS2)jTPi-_F6(VPrCt7dAMbnY1zF*Cs82?q1B{}{HBkqLw zKW1={PyO7qkNDdX`Ue;NF1?SL@6S}fsCWC3y#Z7p`^=f`ks`cUBH~{TB;)(=CPH}; z%a+^fMfv~sdhw}z@h2dyp8nxew(K{E_=mkapZ?`|AI}$m#O*)#L+B+*w)lU_Q9PC} zKH*+ z_Veq1k~GXrq}n!?PTI!z{eRcm=iGZPph>6weCG4}U*(*=*Is+=wbx#I?e{*d+A6{Q z48zmzzn@{Keo94a#$2Vgl_#h%qnwKw$N<}H#g70D0l$18$s`JJ&>{NIVbB2$$4q+c?%y6!nf%Q3> z?C*ZQwflH0mh897gRP@0Foyk?R*!V?`BwYk_P36B{|3js+ux=)l5_i8{l{AaGyMM6 z(M(KNrsHB6II$h&;_+76j&k;R>$7jYJrek71x_8nu@As+BVQT5cPTAiJCCKcbBxCi z?iw!c%^1&^XIR4?&j^??9o)7HJE%5dk5x$otGM>I@Muwg;rY(ofNkV(`uoQ^^7k1HD^7QvdA{`!ftbOE?+I82 zKYb6lt5a-yeD!UdrijQ~^}DdN6OEYX71thY8Pc5~sZ9xC+tj)tJuTNBupvpf4&3ES zR-WH8Dow-*Y7+^8->?g;`Wo80PD{TARnMb+dvw*+?vJBQX*8vQO*E4Gp?iF3AVU*T zn0}Hbtk`|^M_*l=d)plVoY{6qAckj_l&U*McR?;y1cpNVCrPsw*-D_02HlZ!Xzysj z(47Sra@^Y)Gv`n(03`s-+Qak%;$Bb&) z?z!BTMpyjg9{FP0`LQIimFJ6T&*TaZlz5%*GHt(93vq945#FWhX0_5CmE?|2QeIo? zzp_BBw)?LxXwOj<|Fs2b4cV)-g>+?}DX{cn8eN5+tFCchS?IH?d1}7eba) zn=Q7eWw=gHEyuM1Wop3)9&2eq9f}c;_4Lt3RL@~txrhrl7s}Tb;sQm!iqE2~SO~RS z*k?7w%2*zM=YPr?fD7Thu-rP{u*tmOl0yHZA#I}V; zqbm6)zG3**v-?PWjbBZ?5|i!rYe^5()Z) zY2JTnp_=Q>+kbhX%AkT_(ydFlZ(an^+~tV!4Md(q8uK5Eu$8K;qa5-pn}|k{k0|Cv zZGDn#U;OMh(s=9AK^W6-q;dI+0Mvll&;BTF!hw~@Qc^NqeV>{j!c`)m5l z^4~9(OBN4di{m1XS)R4ne`O(9^k1bX#8Lo-SnDk~xhgQryY}R2?364(M0w?6@QGXP zmMzxqhJR@hJ|~0gdil;~neH;i<~iQ}rDiNP?c3h=2t4VRuoJ9J{_jP!{p;Eya$x(H zaA5nFaA5nFaA3Bn)YCReHA`Kvzn}me|=IQ#$SkQP?dt)L7}%m=oG;%XA6_gu1`|tP=J;| zVUi(67Y7t^%Eg>)5q;lg_5NafHpSj&8ZOwI+Y9?uus5%_z({d(1Vy{IbpQG!cTtje z^ZvplSV+6SC~5Rb@cqyvz71*TFOkz0_04$kM`^u<2NN%W!wTY3XJ#MB%m$r|B}sd8 z0reLr?agx+C-uz)?cTx>_v?cqtp9(L^E8LuRwIy?_#2b@T7-mv4Y}O}5!xzKeaTK)iUiW5P zQ(IcMxr}Z}r*@#P`?qb_gSIGy*w^pTi`7r1K|6S zTINer%aLvYcv$P*gfy9o@}%sEmtV#1a^+npLIFfu0MV``(tG6bO%%H?o|Ly3C57Ep z3BASMjU#xJ;9>U`BSJAEZ18W8(evHt-zbmZS;Egv^c)%9hz!uPP{t;kjRz5oOl1Ej#no6kOa_e&)Fpl*E50qp-`)98Niu03>gj``Hw4x%(?Alzc`?qRI>?CzAco zrl82blA7}TCKK#VWe)paYP6||$wSY5$gTuK3$xsV9XP(_|gxgdc(G##^s%Lb_Y zyLt-_CcdxqB^%V-|Fx8W4Fj+TQcyDJTdi{+P4k$k(?Wfqk(U!OypZ6O2dRk-=NeS> zrdD*(&ru?4jP`^{k(jlu!jma}slXThVgyf5a(8>!e#N%k7`cpY|F zMwnuRM?17|SZ&>!N8ms?5*@gDaH9hjXf}N{s0`+)oaB>{x}w0J=$Kem;9Yk?R48o`rTaFDTY$06TK{d1Kp7$i?5Jgl4sTh7x4Z)15OSa& zu}>}ErJ0B3J=D2q~c@z_y1TOjcL zxl-?z5jf{N_UFMVl0+cep-_@sY-L<*Wn64!p<*k8fq_v2dx4*8JkHE;pbTNV{qylO z)JGEj*m7#6mScY&?aixZho*iB&9!K4>Xa57Hwm>_;YMj4z7C@OnEQ3mtu5~L4p?h< zp##Rc>fS;J{S9uE6V0(NyNeul|2oJ1LWg^u!@u6KzsLb>s3(*YMjeW_3APfk(=AZ< z#6A;{iRtxtDkmN2%f!LmXA(X$=7ubQtkWUlG&Btg%3jA&F2iC!KBh;?u!3yH$-+Ri zxBO%g>I}MOWd|`Vj2$i;ErkX7Y#JOThoZ4FlRWzI1#%wcU`VclngJ+5y9B*205L1Z zBt;Xqhgt!Yu*z)(H3fvFtV$EbP~a`RfKC>4ugHu3)v3*=N|j$Z45a~|F3-R6I};Om z`uHD58b2Y+XE(|XvbdD{(@>i5pSq#l44a|D6)itW%y zA`Xnvf#kDKCM$oC{h#N!U*PBGiNY6Xg5?Q{UyQxN$i&NW__~z@m(N55<8VX=uNnNJ zeoMU8Z$WI!*)JrY{d}^rYMK9WruYOuA1As`5Z!l(Zp9?JAX!1=DGksicV9fe?A{7Y zNmPLCN)QD3Cz8)To~(2)^FPLfKgZ9d~R}|lxZF=oSHzPpiM7~0l;%1h!%ki zh<+~l>|@EwZD0d17Z0}ZP^d4?KblHI zoYQz_S_~PyNEy8NxnyK?bT4)sFX~HC9+bs4TJBVDE-O`V{EoWiauXd@mFrr{8nDr6 zTY_XvhB~bxnPN_cd#qZ?Uqs1Admc8B4jEAH^xulOOJ<; zMSCvwEzh)t*l#GqhpnbBTj*95bgSBTP*r>_Y7H#SCd`IZpM%@YzTz z-@drZffIsfcR2t#vGLo8jj6ZqI($A@5MYo!(ToY4o~RQqP(n28>Rr?de{xwJQF_YG^obb&Wz6to0Mh{V!8islxF)sb_ z${;@PqL|atH$W^7dwU_7^A(uowJ3vfR8*ANOdDRURx2_>I{>g{TKiGf_-6{kbkHr| z_!5{NZZ^|?TBZ$QMU=IWKX}ll7`%y&0-9YBH{1{}JmULTO+$?;l zFE%#LM!SD(^KJA?v?cHxkLYN?jlbKBp2_YxwoL5TPMBkx!yyTlXd61NGh#V^(IS`e zk_Bt|QIgdf6%~s=$qHPv#UjNTeluo3Y}VM=sF;}8*q9kJVq?W$OiWyy{uhOfC-E_f zx;HK^9>1A0>5tq|Q6cWENJ0=_Fc)BJtSv5K#teYyzuAl+n+;JAcUEHjteG=s_M^v% zkGe;nKJn$1%8Zp`vnR}BD=_Om)Iz@WiMX+}iKwyr0DTON|4>Wp69k_dh%LyBgZF}& zyz>IH;fAfX`JPg&D{*hYjFqQP%v+fltyK;x0<&~LD2LSs%{*{G$cUcM4-5Ze(18y1 zK*s_4BZqo`ew_ynM*hKjkVz2Qfu}6k0v|zA5a$|TNJv0QNe>``cG751Z zAjFvN1cWj`0VpI9&X5D(`#=YNR0))%^{51M0<+GxI`CiK?YP)V|3?!8QF4z{`J`hs z9#~(_prQVW=USeH?WE!RA7p##p(ME`b!dS%*L|?Xo9F&g3qDo(T#Ig9m3JJdSQceG z!-#+*KrL*5nMi;6(Jk`E6!|g7#T^(xU)=6M_)rVJMgOub@F)A>z2#~-?EV(GYSr39 zw(&Z-$=Q|}KROG9i!wi)@H{7lE@h7HK$MRMS|&%a zAviO^5NU#FP$ck#asWRl2>F>*?%M)JA;a_}-r_{FqMTVidRHLr!(vd21XShe_1?PC zm(ln5Sf4Z0^9ar0YKzZx4Ki<@$1HIzn$X%N%<`fU>XUGIJMNHq#NJ;p5!Zf)T6MTR zSMfXB+sWm^k}CBc5N2z?OZlO*{fOFt&H?*ZE3Y}*^VCM~8h3@uoA0i~LcF`&b-X-t zrfawXTPiAC>KcEgOU1{DO@TQh!wvG&&Wq(P{Fkd-%9s=VrNshj45Q$!9Bc_JHwI5a zBD~#bW|ve=|+S_ z!;EGq71^UP$nht#eVIs85F(97YDhLBLM$R+av^&(4iTQuX1*gL3>+VBLBFR95f9^! zG)g|BajHpo253miiEOqr7eND4)Krq<|75d66fzU{g|e#=!H2?ehDFL@i&K_^OBX^! zXhHe87JSgkgz~dv#rcTvOfpwQ*g#fj$SfwiEoU?l`BNjvPRH1k__I0wKjw_iLHyrE z#1GppUlVE3a%j=uaLf6g?iQ+-ZlO$MZ<}jt3 zGELd0T+?b(foZ*|*i>TLjPqkvrW#W{pCH>|+J!S@bb{V|GV_IG=?1iLAoI&n38ZRZk?&pwB7Ux)2B^OnGTtbm)RJQF^)e z-{F4B|K$Fs+|q2{M)w>a0&at2E;$e-bFO#3h_rwsB_M1jh0TH^ksS212KkR((vyC3 zWzcl&0KW!I=gk3=Y2-l9lih@6{LdH%+>HOEn}U#@FN0I_NuX>*j&R?QtT*%oBLX55 z2nCr6kkR)zqwgW3A^1mdWX}7j=t#oJNjOCk5CuRr45|?z_!HQlFqI4B2iYP4>OaaO z{|@*!LQ0ybH};ftO9uv@JdP^iiRzQ0`(utuv4e5Pr5S_q$0hU}&BIqwr$*>?Op5M| z>5yW3;<}|7J@MTV(18Jbdd}dd9s{UA1R6NG9{Qg-KjfV3AccZ%miby zFaTzIa6jE`p1DZN+{)3Bx#G{xIEzF~U6iQlu$HE&D|#<^WA-u&rmooig6>`S@ z)*P_Ky-Lm*_cSuC|-;?5KHmQM2MmifTA*hVuNxV#by8zAOI0y0MVF%GqXg)MtL9_1Rxp= zAR6)J%!PqyqQW4e5|8{56$TKMC;&iZNRS{ONWe$&qmfs{hL56>4^iQRv;!6hc|tg& zNZuCdCMGSxGqX>c%U9X(7CJW;=hpXgp! zwkKKP$Qc7CGdK)$HfWG?3R z3AITyWI9}f!iG@O!m-{%ENTSU;}jm$P|&Lpo&@$Jz=LUkkBc$?ZU?5kEJ}}a@>qCs zKN52QLklsq)JB*3q@{%3IVKLU5uH}EFr14F#{ht)71{%HDtsz}d{^la4ttgkOK2@(9?q(SYz3ed6PTeWYkH!kLchH5^SK0@2ah^rM_ zp>K^Ct+{EqzW?4reF%lA*3k!%{HF?Ow4+ubxpu4u^-13H-l`Grmfk8J_nY;e_?hLH ztoSBPR!lpmU>>i-rE#APQ>MC^ESJM@kGZAdXz6fJ*lomX*ZFClbr4bJ0`JO*w3TBlSjH@!+ zF*|Wj0A;(%O|$u{+{66*CPcalt2&&D7gvKm0K5kSX%ToHGm{R3+Epz&;?YuN)Y4M3e zX%*?#iTRk7SoQ34Eqc*vS>IQIMTsN|3uT*9HH%dDAq)G`O%u0i2;IXi+C6q_G1J^8 zf1_9|ZY-q54HFhOP8Ay$HN z6FDl9-WOPsIfX$jvW|0qU>;XtUK+xnx>KwUK^+6PN7QY(f1{|wRb0?*&{fLFH>YOg zp}>-@jkMo{M%(BkfjI^{!5J|vZyOyu6z%zD z-^R#Ux6Ea9^KfM?wpx}bxFDhdQ*BU`?eh3W{2w>I+vFJ~-c|0MCEnHU))LZ7Y+HDs zM7glBw_&^?U>=LZwtz5ZMu5YN@(oj+Z6ILg0s@#$wQSz`=*{IMoDL7<0 zXm7uVrUC1@4iwh zO5tiLto4Xu*))1t1lu-KaMWfI9KBf&z808;M9vJgpyBvoDaW`W{F%!IgaRPh`J>kY(IapvzbM7_0UK`G zg9y*jW z0~%ANZ){96Q;nEdbm4ekFq&3#Vjj2XRG^Pz`OgU+v)|gJAWMGdP zQ#L1t#&l0vxG{b4Im(pQPtrK##&i*O2!yju6wM;lecY5LXu*PboAt)rYi23aaXpAB z0Ju%k^b_VDG76G{R=lEuW-0ir6wNuf9*hEr+?0cv>=v9y?~P{8qrtgViYCri0#R_zu6xom z(+~-6;(eu{MBGQg1ER!#Hbr6n*~R?BMf_)L5s-r@cudGcv=mH%BSvE_T5}U?v)CwN;%M8YXL9-M~45lGaFvu=u5H4acEeLwV z-aNu0<}wMHnPV3-2NyAy$;e=B92U5u^%`B{$~om9Ag8jT~U|deA0- ztd$Au7Lr}EcL_^&2_$QgmXKuA5lKjvT`XC+NV4gI4$0OA57Hs&W>Ex|F1uK|aFKMg zvj{GyLbC9%ghidkl=$F--%bjXFSQbej&)8Ew@8I-_^!0G-jh2w=ZKmUn>^ zT*MAEH%r)YyA+h!v6SinHJ7lvX6`Ln$w6I?XmU^!A0vHW(W{<`Dj)f{>X}64qbe3e zqXzscCpDx&G-L2kB@3F6D7tpkETJ8u7up$WbI{1p>t5-~973k1I*uIFRL_ut_Y;3t zW=X*Zq$@L};6tcPB09N15+KgOgHrI}P#C$84nTU?XG9nhA{P>egTp>81s@58kqaCF zq=$W;QpFFFf+Z<6-7tAI1AKFHroj9)*L()EE?-Pbc9?w z*$7mQZIu@_V|ZwR3!|CafjHlY__)9~VG{P(R!^|AVAP6_{%mUQ8EV07pl=bwac8*! zW*4v}__R<6PfIq|NDW`s(lDGeh?a&E7l9KKNa8Hr*Q|%nhzPd@aM=JukPr7zi|>#z zI3jN=khg`#yggw=<$(Kdl1-d@BKbsQbIHxKIon7$oJ~U}=R{yQdw{eTV&E7dGSjp0C*1E;8w^nve-91RFeZFG{VFBa2?O*m{!*l`** z1yBt5IY#VoQ*RY;+CmdH&Y3CNz5Q|_&K6hJWmOa>B&6_3lrkI!`_Y+`KOOz|lQ^57 z6Na9A;|*E+xx&yhKl;V1qi2CC7eqkc_}9_1E<(>U;u17>5;X9me?9r?$+Lj2Srf+n z@oPW(*=uJAbxmGELQP3!t-PY7VM}SIjAu(ajv|T+hsj&IK7sBi#+)gItxtF}0ntv4 zzIqZ@f7Gr|kjYzFF5=5YMY78|E1h8YmDe}mGGlo~GKrx!IaB6$IwIlh8$MN_q47n< z@(QPuQcIUP0glgfS0EX=NG`9dFRNX#G9!by$dr>ClGD>ExwAii^;P+ucVryiZ>Vcn z0iYp1s4xp)FS!((KGT|HA|t0Z?jm+LM}i%Z9`UukvT218_O`|)!u0%byiCf!5wV=V z6^48y8Ux-=csn6Mk4X2Vho5mNqt)hv*?sA?Ad*0bxe?A$`}F07R!LkjUvY zRG}autTtWLF0Hs~olZS2a>rV+B5hY~8W=&8X~Y_#RBy6cPz5CIPj%+yGzOqJa_VN* z{YmBVHV$e0m443KZe{;Q&kEy5n&HX`TfnfXn*x9B=RYHCGMHifpS*VF%#Y5#!tk`L zw2*Bh`JVmx839iT!$*GpuVhE*hh)Qa^zz^kgN-Ek{~3MdXCoA_CXE08p8P4JibvQg zpM6aSJLi%s97E`@9twM_Hw8aG`)_Ao`#-SFVcb)r8lHjhDGihxiuhx_tq7a{S9Pvd zg|YA@AO5Wlfqtrk!fnAQwGH&k4`IC_q=!Z)1p1lI*V+*1Cz?22VeUs5$3xbnlYt|{5R zVteL}bXi^@uh^b07t1T)*}(2~>`o8mtfsPddR)W+E@G!AB#85pSmtaJ)w>)QG-fg@ z&iVApUP)JDDRO0_Oe(W7Tc9b8EhQSBKq_r+z^yabIsv0BH`bSwR@QC_VOQ4P1iKR7 z`#~g~YD3LU@ER(&R5anv$c8OwM0M<@%9~&}mDSYOHIy{a>TLx5(y~c0YMW~|l{Lt9 z<;-^@?E@(VLjbMJb}kTEMb2REg-lo;dRDcY!>BEgH9|UTwPo8P<6v(I+H7&v*mMzu zAvPq!5m=buX;YbK|8b>)oDXZPmRDo=3`O&d!T$8XhQEn>3Clt!$lG@FP zL*HnkQX`8D2{`R5v$O|3qf)RM@Sy{PYG}^f5hy{m}*d&xpbRSq+vQw@h-snwfk}P%o=T?a_qO|VL z2tY+P zHJ5XGl%S?D0HI%KNGw!c2|?EyAqd1`IWRx$F~P=yLdX;Eo4 z5@XEsN=DN<=s4qqPmjnPu&rS;$wsuiqAzI-URf!+kko4tG^k&lhJWZ*8vxYv5DFwK zC~$oGMPrQnVicRrgzQ{gZ0s*;cEN}Xfz#E2lRzBX>11ke^Z0=K|I>3YIX(?17@dtS zjSF7WnVk+*%LghkxPYDu(aGo^Ls;?(M`flE8Z{I->vc+kZ^qDqxhJMeLn|a_(n{Pl zrj#|IIzdik88#^;wbhLn|CBY!Y<B3VWUj60$MLu zW@PBhg-QXz=*@FSQOl-CGNXv{>cr@~Ty$lbY87&?QC%-rfm~?(w332IIYj+HQlep;x_hv+kzM5e6g zoUk`HiXuWLsbYyB(naD@Ai(F+%N}R|BFjY@6}`~HD#Sw*NUF4chn{c-#mR6%)@&d| zicANrQ*-0g##w-Y&sGZBjcma*Fn#!uEtE_sZv@%wT-r#gf+31lWTbGS15j53RVfQw zOi~5@@-~&B*6|VQK`JQ*L!n{sHketV4y?H3Ey_V{AXHM}a8+PS2FT=k05MT4O_9at zj2Ob)vaFa-YHsw-3fU8MAGl$JrG1mMpXie?WYU{(g#ieOwsLt3LBV9|C7}gUv1s!Y8KC-*9+E*q=bWYBn6zv zmC3LmwVQM$ArMPjYX$`(tNVJQLyZyMm=_3HX@OD|5dpAJzV*r~@K~?l)ZdlicsdE5 zu+kfCkkP8H=-royim+)1HDygyW2ZJ}&XmbDx2dLHs1F<@KVgY8w75=T52!p~UW;MY zSR8^d3LKvXUxA33C=0HqdLvy~%etPfsW$ovXgZ-UTIy4pQ&J}&F>y^5{1L+cTiVHD>Do}w{sBM1a?Au{&%zVXQh67g7$Sk z(fzKfsXt29an)LwpZ}Zk@n>b)fc(P*an(ZE_IfHsrEZJ%a^;YtzHS?pwZLiI+Q1qD zAI;upVj7`Rp?7)7rp7Q@#g6(q#w%qodeWGqA?!K>60UV1Scw)^!h!HJTu+dExr7F+ z3XKH60mu8VP(oQ!0<;@nWuykL46ip0O$ci^sfRuW-ZrC^Fz?-$Rl$R{NR!=j5RTN zz_A)DvrM>$SxZy!ihdJQ<_Bl0u@MM5iX>HyVl!o6kHG)~urF^SCE(38kQUP)bg6!?mC$@*7NB13ih zzs;Ftk?hLr*|^bih9|C1l8-pCtU4dds`HO^W^`oIDMsOOc4W~v#9x*UMFpbiIH>Xk ze3?O>9nnXH!7g_Ml3H7SK$f8~Y!K>~<%LtxDxF}0*$s8=S z951qTuIgB=blR~CULq$^7f}h)Q*7zpVDVYyquC&WOPdNU*eLP7eM)MbS35WbaC!CE zO_ByXo{9*Xf`hI=RF?HH=+0WmS;6Dja%Ex2^PkHZ?7?XhK^ffFrwZ8oK74^e{&l9$ zCV$Q4Sqz^IK93AX9D!#MI2FEGkXs|mT{v@nI9AeFM*_z)Jf=PgtPx`g zl*sHD{qe6EKsY2g0F1p2**+U_C_jZeZ3J!@Zi|4QO4BhO)#+x5xVc1xkl~1vpG?;A zo>@$1t2%Q#^7?a+=Do7|(2PLTyQ>b_CM?R{MLH7m7fO>@un}v~GFT&G_$&{7>wTFX zfw{d|il1D;WIgZp1%=G*zKnLOyV!y|aW+`UV{>mLPYHXX+?&W#YQY6a?`QO9>m|iy z7SLaeDGOf$N!o*uXF#g<%NU4?s%7kXZs! zu0cGH_EC)jGa?ooL{O_Q%bak{b81<-p6Pj9#}*WUO@t<4Q?_g}usd{YT_i@@vxxRG zT|mJ8l7^iX!-C!;V?C_Lql_{{mmF?Bji3Zx zD0_?}%zQO!#1jzl~TWDtK%UCm^P8r`1-LcLiC=c zVJsnN=01tr4jbAIRPy(igmHBB^TlON5%q$lo*qp(sIlSVSH8ZK-3DoE2}H0_xinNt zN<%nCh)kHq%}d(7l(n2vQvP8Y8piA0DzLLxilP@Pad7LE}j6Q&U^lF9Yzh|K1KCDK0)4M-#`*oeGF zu#&nATEtD&zlSSRe^$I+#-XC~2tC#HU)N|zZ=N&6xbn=haH2OC-805S35{|Q(uYt< zf21VCvbwpvV?r%AGD&Eho?d7k%1dO4WhHRKVaW1gXNW(NEXCz0H!q+^jEU+7FC?jO zq6P|Rfu>K=#|A;Pd@-7Bp#D(LLyHF=4BM?5s3V7>y%7e=*d~!BBdZO@QQ%H=K7IJ| zkHwcu-3WY)hx(QKmvCs-Oy3=$@Vg_z!;P$N0-*xGa8Y+uGbx2BVZ$fVWTp8d0l;Q4#lWXP-1i^w|5ekLL7jv~-tP`dvqJdp23Rxob8%BV1lW2FCIdIRu1DoO)eL zpFoFe3wl^zq+ZrRdPuVVcmf|yplf?yemN&6KHg&Sn$$hMeAOh+jq#h`jPF>JK&!mNdKLCegL=kO}M;!RD4;)l$H3Ag#WnkQmLwfAA4t; zD%72{H});Hb)N_&gsj<(-rDr&V-zw58r5-LWo3Hw08!l07d_nQiKhF!cbrbVbTIMv zIMBRfR8FLA>Mg@N(`TvM{TE&76SnQWJCzM|F*ZRb1auZb+x!!*fJMO!tS_~r`NZMn ze6D_H4aEvX6B*?*j^PIK&w?KW;Fm9_9&Pq+s|>mt)$QJGsV$&{O9UkMf4ki8yWD?p z5nt+dkEIhA8%AwkiT?vPe(yTfk~ncN@f=S1{=s$Tzg>q``QPXFd|&faZr^kG1_+up zCxTyPX&S|T-*srd2%j8EdPZy`-@UthtDr+7XMM<-cc;3mz}tGks_yQS2+_YRV9eQ5 zX~Vm8Kjr+XG$Jq@k_OlWO!!F}U=V(}%Ry+072e%8wPv? zH3tIxlgs@_7qrP2bbsJ#^ERBU&AJU21Poc^ucvz(&iu)B$O0U1?U@f;Ll&T*K$_L< zYEyx??p(Fn;;lcYsN05SLjV9(pQ{5%IaiOIZ#`F|?(jC8t5tW(52O$N5j2ima(Nq$ zT*~!UAGwt0RgPR*zc>K=(w$u1Z#}DNv)oL|Ez15XZsMR^{ILasde6(3U6(NcPlRIZ%}LZsSW$^DG2YLD#YG> z4@zv8y3^aL?#PN^ERt@d0W)G0od!kv+QGuw^8}rrQU_--2^_jmjZG~S%A}q zT-d$U?Z^ZSgktx$?Y&FIrwRAojU;RL?p149Ye;8?euk7O;c&WtNvhK(=BA&Ol{ zrxoe!LH>5DJ3cI(tof7j_c1+xcOZY`wRZ0v$krX+YGkY0s~}rS0o9wK{~%-BN9OpM z>hrh~$^SbTI{DwzNP$023M}eOE7zG__o#Q~B#<~;)mA)rk)fbEvzzP8o_o}fiQwJ% z%z$)mkGhAnXF-8?_qkT@o^!i~qU4P$l`m$<$5twy43uI83bEi^>pl(|Ne2)?-j9*$%sGO~ObSpykaSqq-eNR06VGZyFv1HXdv zNTKDt-$yUP?yRQhYciQiKEEPu3|pEye%AAID`xzZis9OU;re6ys5TxA>5wZUk&0u>AarARV1Ox9C;a9!U{{)jKzMvYgGC|}CN zcaTj87{S+=*Wl~1xfR|T=z6VMA64V1r9V3~u#PpbUS+^Od<)jTw??gjmezuTw|ZiZ zx27^kIF-RHyIMP56F^Y^Rc{UWISypHDUFca1pUY{PD9* z-PzgNvCF#%r)U?BPIWHM>dZTh z49tBdgIECcLX3bCP`x^W$2EG)r^f<%;F9XO>Oy*4r^gMVbXAY@%C(7@;knOZ4m$7$ zT*(y3BIo%rTi_3ES>l_o9>@}w`zpS?{0}mFR5wtN-l1 z`{>@mMcJLEio=78v#A93;n9XJ>NZy*ePVn?wy|KSEbUa53#XQ)p76kFs8t0$j`e&k z8(bU_TvW)t-|}9an7c1=rtj;0*>d+wXna2lqO+y@77cK6S2dojT8V5jQot@Szv! zSbz1qa|2QR%DeL>X7pB%SEHUN%CECMOTUwGq+%V4#&=0wW|#Ye1@21=JhP7cYQd3B zF5ErzQcn=Jfktjt8FRc(Q^fy5MD6oi_?)n3R#yc+6TA z#2um!^|r_1uBb!Mm`gpyuI>#kPbTB=ZB(?&XbZO1idE6A%{Z)7*|Z};Tva82VO8fC zKmO5AM}H#osV6x_l5VoF4DC~wY04KDHW_3ZY-~PS|2f9HOf~h(E7(AUl`6t44QQ69 z3n~o#Rb@6j^0$B3PcC6!psDCanG`AYEDGaD$cO+wLGX7Yprlj(|NLbw!TMKPlO$oL zUCc!eY#n?m|9D3}4Z_1CTmchf+`)(QkAFH}jB@FU;?OA9-)zUn+4pa>4B+$Z`%5fm ziY$j>1987Cv>d|yor-6noDu_d%)nYz1_sWUlJJc7Ee|bqov#%``7tSgl?hB)etF^G z=kt$$Azuu#asML6JZA6OUuYRPyuZkDtf1=xmX9vLa*1^|oFfiJeJua@=WZPpYj#;n z5!tC`@d#dDxWhCEW;rlVg50Rrkr(xb;7nh+O2091I2{wWUA@;SqP?pfT(r|78S;eb z)<1`U$W-Tb^#+;^sn1L_F|h!eQAD#dL(Nnc*|mA0rUsPLT%P$Epl${)P7(@%I@eOf zg0A;IpFeQ;Jr)~@m}Zakl^|QAmJ!ThaN%ajoN0XcF5{p*BvvHO>zSSTYC(Vg(Sm}m za~T7N&(Unh%_yQI5Cy_qt*-H4-2+ipBg&f2JarYN)LGb3)L(eC=#>I2pq9RyKePet z7plbs16eFl`u-2Z=1YaxDa5|Nn96vAMK9VAcb$c55mw*&i?N2KXvOVH>d!m63Tz_| zWJYPOKDq`x!7q3c+0b~@v;}&Ywd|^1{NUIHj&n(=L{_rZ9GcHT^OZM%D?7E^KW>oc zA6uX(fkG5{AfHh6Tx+OL=%~=4%HT1mQ)O`AJbG}U0;y^lBDMX`0IFQxi3mKd<&`(zfS z_4fZIG52R@rF;}AO_kA9dGxQPRV9?-JgSRbz3T>!k@)F_I=xQRT7@fc)HD^CYv5>? zCd{ud)ij_z46v|D;44orOE9Luh-QFp@c@WrKxa5g90A;{J)Wx}o%`W7UFV_>XDw%1 z5jqlSM7a1TX~?A9YxWb>FP5tx>J7e9NeX;bvg2N;ASna}IU9d)& z@P1S!WZKu6CKGc**1v6g%yJh-|bYAbc;pwAleSMGtp&Z|$$%n~|+yaC~ zZt#L5+HL`bElM+%KC-gjvdQ=g5DmrQ+>mfbOHW^wqO;b_ETqe-`FeO7N zX_E-xJz= zT{o}G2Vtl5O;ax~AG8>CnLIbsk6pP`v4#$Twr;q<(<48oa zn#_#FZ`}`=4!&zp{( zw;Zso=X=gMdd3~6VQQhDWVA&6)s4{pPhk+Y|GxY)kyh&0X@okSfd(EevDmsfssr{*ZiKp<0Of#IS>o4v{g03?imNi`x{SqGQP8NDt+J?4^ z8M^71QR7eyJRk#PfxfuXlO3%Ojc?aRVx2jZw*lq*tC<&cE_GhwNFv}xNmSULD68Q^qugVObR0DYr`eejnE6N2y04wc{)Z7j~kgRT*^;Z8AVa4I19)-4FW z^PvQ9^K=oxP?N(X-=0D;J0{HK*oP8L^k6B&NR+$CZ#s~xUph2~ud@W+atw;Z*n12W zMk&mnUZ8I|lxH(03)G$Q7v_JmKtXW263WJB7g2{MK1vzg=0Tfe%)JuHB{Y^dLIO(V z6WOTJmRn4O1?HpMf{yU{$#f_NIz&91CG=B|aT~>$={aqT!E%3#-REvDUx@yL z%*pcoO{OTH?6{k#?1wAEWC?@hbQ1n^O}3rqEFlJJ<2@VGGYzj1W`mSoL!x+`wr@JgtDmZ+<@P<>6C4c27#;D0!d z|ECyPaR2?f?;WzP4wxpG=Nrw&3UI6kwFHTZIu$|XzZ}Qkji53XNySj-wQ6YOB|Bc& z*$?67oxchhe016*M02Ku0wXdxT>@GrkpOW-nH=LxLcm%k z-_k20)dazXAy;z@y#lH}%D?AmND)a-s&v`2t^-SNx3v`5m@*p?su7vOJI%^EmxdIP z!Ywn$W@Vh~a%2v;<@lj1oC&l_?y2h#fKHiH7|s|S3(W8=5IqaU=khFt0J&dN0Q~pF zwC#H|ua5Z(Wx{2UOLn5x(VAYhLz-u3WN4`%w9fKet|kKR_~;fIP_odWs`gy2Hk~=4 z4OjudY7WnEi`ioa;Ov!1kRtNT@N>D5{UR}$O1&fts!+cRYeDVM0Zjk743ZTpt?LF$ zc0u0slFgp&53TXsM7A$Owy~OQO?jLQ%QkWnRLHg>?=R7ab3$fQZSml^9x_?EP!+T( zPtm_b%klg|wxvALHoX!Jit}eQ{K%ez(`m6WWMDZ5+)r?GT+b7su4=?8MN61GV~2(T zp~4XTmk&*wQbr+ZDNmD=yKmPxbxjlaLs<_b6(M_Jv=mw~7<-?S<@CiAP|dz=@P8n6 z-%lYTd}jJ4;~=5LqG3(>Fz$NZc6=B)U6Zl6FoVgx#lz1Ji)OG&A{vca+4hY2v{i&Z zWzStP=FvQ5E64gY=QlFO;xy+B=h$h@xz0IuP;)-v96PT$PdUd%G-rI)*nsA2$QnDQ zIS*!yb!pCj$r?MXIsYkptW$G#4sgIbj z2zfAbG3~OFc7T=VSTXZ3hVQXrZG90cgQu>qx+iKDB&nFODA3NvOXmv5WgI7#No>*0Nlq-#X3}X^t6ard84sE%g$G~jDc4(l8 zq?||qOK(2wB<8T}Bk*AD+Sd`gMu@3aWaM8qiT8UB@qV-nZ_guo8iSw8KYm|+w$^Iu zX?PBX!atjT{L%bS7Fj$P{%RbG*qG-2EUmROp5XNBEuNviYMduLz6~b}w{8=NJ*AfJ z%@$v*{Ph+;3DOpSgdOnrkeIGTES~=+2UQjH;vlsS!KEL}5 zjA7Vo5^m+Sc;ZM0rJ$F@XSkkBo96xb-48Iu`}2=Kplw0n8GgMo_;IDYth3Pbcz*X2 zjQ)83@h7IB4+xEoYx(ub2v2L(omRuM zCkN`qb-2&kn~m7nV&z0z;I)Moc;8rmvzR>(=XZaa^DK5JaY6I$r0IqJRDO3y{@_#D zi+QgTw!=i^`O_lL4^y67i|8oN|0vJlY*~6;$d>D7+#l|<2?QlB+Zptf# zH;dWxnf&fYINzViKmLeb)>gf&yTV1y1+C_HcjgbO`Nuo+JM%hLd9ss?Mg54#_Gc*D z*~PS_<}c269-j&nc25T(f8{oSrhE-ZI=eT3&AHEKO!M=Fr73)dQF2XZp$pn z8^vH8|CtWDibP3F>nzYR5IK2eum)89DAyr_C}9n)mJ^V1ycT~^ybU|a=U7>K5wuyZC7sds_7X0ZyWyuV2(x^B}% zGMe&py%E)fC!1;WtG38>CURvlYqO|?BD&s}Gi;XC`|zP1dy6*@K9-#v-X*KW=Om5s zjf-m7M*_KDHIPMmFm349qt}WqK6=678I{5CL__3YfAaW3SzW3rc*F?eud(a+{xajD zBovverk;W9l>O-beDo}!@rs4E!qii(&}{<8_gvDo6CEtWUgqs+pqg&Q!=J|iwryz~ zXuTuROQ7v<1)GiCZR@*v=n3rJ z62ZNeX=9v-Rsn6Yn7sQ;IdRxYTa95GKrkv$`EK4&8J~<6{WGcvlNr#6k(%|HM6ZZq zglGEDABrmX-=80_oP8kw?EU%FPr=d-W=SrHe#Oo$ld3{Qkt37fy&WwWn)mEfee*QB zyOXjxdAB+3h88HDt2@@v24mjLoQloN%b*IYLvxpLm>!K1Rt8`5Hjl4Seo-E_%O9nx za2>;DV(dRUmjx+sk6J5l%-r{k!sN%1gH6bNQ2Z_=WNziZQuT(;(_E8ZGq$)JrJ+?fv;f*wZ`A_V&!9`G+tC z^4rhmADTTeiwZ`VBN)vmTa0$MUF3qS?oYR9Ei;4~LEkv=_+AAXTCB*6E`?uTv|fs) zb~S{xT2x`Jhog5k{uJ8iif+mRDln8g?+_R0;3_*U#Fq#bEiyK-D|r=~Ny_gih~Nu@ zgXlo@Zy(MdDu+4YEzgv1%WiO+I$wNL zYfPq;2qtKG7Xr^^7gZb8n-oh|XE9$AIWeu9eO0rpxWTL>5Ho}e3)j}n)DiTN)N|fjn{4mWB4k)ld$ug`xy6%-i zSccSh*K;je8`3^ei(IHbx#Mf`T&LKps0tthF@acQfX9lFneP4i;rtJDtdDxzIw0@_bXP`@Lh&<0b*8N zg47`4+fm_9MkmR3YuMPOf6lP+L$11GZIEjx(1pqQB08Fq5B$Z%4+Hwa0)CHF;YwUB_6c>E-z2g z&(f;3qo%-&!5a&3qVUzAlB5jCr-I&ES&kWsRu$ohI_6cB)rv2OBY1Q;>o6Y5t3h$D z*LeJP)C^KVjnpSVYBcCoaM;aTg9l~FaE{D z%@c74U#9B-|E(tQd!Omq!_6ZdwM0g{0D;f59ivl!&t9m(slS58E4CgU6eXjmR$r<(Gp)xHqI0#}E5! z#KAd)_Sc@q;nzC%jRo|scLx`=k?KtM6GiBeBC~qzAkJbQZhrPx3q}qrKcRB&toF^K zM3E+1xD%AHXBHGiel3Ut&8iX?w^xZ%72&n-RVv^bO$c0uO7&OMan$q7ojAb_Aqr*d zgp@%92mFrIaw0i42yWCg@yuZ$2Ebd%oZE{kook=Dxb_7wfv8Z^rr8m+IU< zsOzllr~@B3zdnM;RgLo-J7UjwMz)S?!_tuWkL%F-Y&s;E!8x?x%(dgHo ztLd$$=A~Y(KfHGj#t%ZO$+JCDmfYH8F2M5Ljqy48IY$+K)%{bH-pVkN45ee9fp!~?#ck~VS<97Q) z2L@h_AAD$R;N{+9Q^x%-HGHM&{vNyP-*U^)o&y8B#|FqdY_I%v5;=J25&CUsX6&zr z6JyEYq^^ucT?P6_{LokNIsKBVES!^mR7KpppR5ij6^4fs>#s?*mq$5%tY0d}TCa&Qu)0tp@D)Mxb<>!bRy0r^q=fdPC}fAzjp{HK|V{84>N z8GURI*?;xV>R(7XpVdpvHzKTS(!ckE^qqC1X?*uLn!zW4^zq-0^!ChX`uJ8b|L?#83LJ65zFa5@qPI@#BQ%QxRJ;yL+q5h3> zC{=h%AWtSJ2PYoxc}3jSGnCIj#ZNZCK*g&Yq@@D4fr_&@57;qK@%#p9pyDSRw1J9O zH#i0=&NH)j<}q_JQZstpeBar?)X^KZZXUh?_Ib7p-`I8I%{Sb9{ms{rHKYlwvfQ(A z*S#Batg?uM7iO0wk6oDalx0j>zOlg%k+$kNNZRMjnHR7tpj>u&((Q=tHk70E%EkWu zhdsh74#?4FLEu*&ZPKSV>Tq8;gkMCOx&{)F%>Gy+mXSG+G<8Nd#3E5#lw534eyRAn zrU=UyKq(x!;}H=+@o2L|N|I#PgmTcSYy)YeS^7(*`z{I8Qaji8kO*K>hF^V_2zVxC z#Xd7B69G9X69G)hHjAtfn3RctnUp<_sR1TsA~4~k?2J&8GW<1@GB`0Q!*4mBcTdUA z2sI_c-<`1WTRS1L-!Ra1RYhfBldEBzU*O9D2Mtc2V4S&s{MKBnQ?ZZ|VP>bL*%>`p3uXM!OD-UX6L zCm6$Oc|-)%>^dprQjU9hSM|wHFIJ@jD*wIo5Z!YW$V^llD|_=>8xIZ@E=RFt5kbhi6`Y2zGDIdtNUBnAbxQ=bhK1 zD$=}O*2w=5@%MtMF8pOdA)!MzY`Dn=(jVk@4>vj2lM(0 zu|`Cp8vDct#qHwn#k1lyF~=A5`9*I>9H+AgA64UZ9cidSA!@S=mL5ufeHp5}q}%Mv zLb22Y^@~;RCqhu2*O8KjbA{=4UkY*9eOV~J>RgJODaF5aZluuSp2B4}4r9iOE*`$& zx+)ZJx~_z1ghDeu3&rKQlKJtA<;Lj~t7HX3MDNO<&t|CZ@9f6%75?7ReGrYHo0@31 zGUrA&$$n_>E%d}Jv5xy-kN3d+SgN`|0XMA+LS^9Ee>`!#H@*VJ+>d_|UHU>40GqeZ zzzwa&N=+>hV#aTpQOmSNK8V;3*=RgYg1;h$zNvWg*0W8v1x$*RgB~n` zjaLyM*PP)Vn!D}BKtcY7F~aNsPz+K#U>JhQB4%O3SYUm)7mA?h1pPVNNS9dD>pd37 z8e7j-ig)x5C+>WX?hYq$dzkVu+VjDlgJ^#r?0E^xqtMo5f+$IoHT*)V$q)9(3;Gj( z3GXUL>EUP}9zuxTtuleFiI-r=56MvAmgzlr^&-1>^-`uk*efsSPkc7sO^?z;H22=o zUSuC@ipaiS{GF)B$NlJ`WNV(5uVkGzQSWIltEqRDgB?7Auxi#=B@xRNcaP_!AR z5G!4N1XPgrBhZW5-V+`_1D>lv424Nz!l)?I4by0G&um>Z=RKBIkS8>ueo6@L32P?xZkiHwTgPuwDx z{e8gf6Bz8MZX&Ou(0z!&_*+&wA>McK)WoCzL+L;Bg6x9Ee{z8t3P8Td>&55~Z{M;O zm?vLe?#0ljOMDCnx;Ca_8QGvFQ4a= z1rf%w@&(ZfXcx~5q5@d8yiA0l>CG?{HJF^jH%)XI2X*y1{eT(6=1hf1U6|N}SadPu z&5q-95nD?AV%C6|p+@rw;L$H;;gBz8mkGQgbKYv=<$+%`iWZb2GP@Cf@{ih$m{lIB zW_hlH+4=i*U*DOK^7o>YP3LY`1LE&OWL(Vx-(&VIxTbFUhgm=71! zA?Sj4)%hh7gj}Z9vw1m&JzIg-rZoOfU{)8^r-U zpp`)Ay*D5p=KA;_jppQ%@ml&57%x9`qmT=q?L&Ami8>_$uZqCbArP2@5h*Qan7#~+ zC4ftNDU526eL*XQ`apYRlDa@T#2wBVqG2!2CdT?YF6KM;!=3=k-M&^j7lon&{_IqG zRUi>cVY3tB%Q!v-?R9cxVKee>r`!*}m(tJ9n`rzi*M4?K1U3HMo$`-cALvCZ_a>=+ z3}ny$kOM#75>x|YdXsDkR2Q;FLBB1gt1ct`*OKQ&8@&OcIr?%M*hsfDZ64|E`)%d* z*O9JEesR|QW^~AwKYS_6zq(PDKiPb*L{D&^c`-cX!`iH_0PUAB03|;DtZ@uK@ zmwO5(D*yINxdE(b5(jZk!f=l|LIKCBh_l7mr1S4%>XaJ2jnXKC6-%iuTtYwJ{T-n; zsm!JwBg5974Fa3`t-CjhJ8FKe50V($zORHfcF>=Zuj?ag(tkZtf@^u4#9;&yk8Bio zS)@PcxSZFaKI!Ln`c;V0PJ>t{*2|G!OUsI71o6Z3Hgv>=ZzCMZ1Xez-6UF+TU(7a7 z#g+Q8Uj&UuvB37%Zu?tF3H=g3;aOV#2{-B3MZf$KD|$)mJrU8}K6=F~{^2XI6OfjK zuNcO9@)g7Jod>XK?G985ecI8%$M^Z@>I!x9im9Vl+=@`x@;YNk?e%DBZINRIj2c>7 zpfsC*iSqaj2Wc&D_x)CPcw%}%$0lLfpak0+{BaSu$U8hys*~*R6pviM!AWhttR0>{ zF;BkPYi*Hg5g$6VplKh(urU?Q45Y9bqRm%7)trSRd|!~e9n1@WLcHmAzYh46aQXFP zhlT6XCw9WGJU|CEWY@*3CE+^Z+MkKtBD6nKH~H4qkm>ogJVKOTyrkb1F@mOwTHRUH{bvWu*vF zi5RR?Gd2$IV>@Y^k_UrXvrepCDt z${)V;YQDnhEr0n9iu>~q(*cApr9R(Xk-X(UvHX|Xx{qPdHZ#xqM;;B(+Hz^ufR%W? zD_6eU>pvvFo&%5;gmXwY1U=I=^#1Svn^%4aEUSQ;1G+l`Il=$GUus8!?D{{E254=$ zG>5?1;Eg+_5TtZ3Fnm`vdd0T)qg@TWVioIY#_8?iXfAvSHMhV){3qi_~GEN zOL5iPY5&nVc>m*C|Moq6#coU7f#0))oC@rI`|TmWsKEw5+NIG7Q!aWo)Y^I}^oV%> zvAq{NU}yuB{7s)J@09zZU0h!2>deDf7udJd$sAX9Q(#99#t-XDi#-Gi_ za=1Kn_W&9A#YbfN0@gxdmh7W*9kZU&(6}@iC=U;i_WH+)t+A%V(g-eDMa97z1@Ylh z`CQsR#d({4Yx~@IV;RLmroWNgRR`g>1V&>E;{Gyu4I7fMqdgKZM%`gwRy5l-Fbm>8 z#0Go>%j-?0u1_ZXPkAsl88N&Hai6|w+#m9vZi(-fw^eW_OWKy~HS<729g3Po!;yWY z!4@F=K(n$jc&cYz zsHoEIafQocRt*hRQW;X+(HZ|<1z8E*c~;s9KU=bQ{Ac7ri+6LSDy_IFE!diUYexJ& zbvvt=@a*s$B?Q$ysyf+a5+5x`{XlW5DxbGKsuXWBDMBt~!PpjESCWzU8!z`S3>8c3 zvC?+yfgFz?b396Kvt^si@iv_0ZCSQAszP3gwgucRxR5-cx=VkxrMv3zX%&>~$XzDl zkuSkz>iR>oH7jUjY6NyO`xn?BpkVi!U=n(6;)T_RYfBH+l_E=_64I>ibrt*H1Xb+1 zAeUCDIRCea)8iRM`VHk_Z0By+&Y8b^O@WSEbpX+&}omPBQ?vPvOW`8U>T zCGtm#kSD;Rxt<#MgidjlNl`*P-*oc%llMjv6kn*EiY2#R`H3GEIQY=j1=~6b4wy6Fq{V-&QFrdXh9c=uk;tGjl1_cd3`KHH!M1gX zq@!S4L>_0LdvMd&yfs6c41ZH&`h}fE8i?3^VyFr_St((Fa#1&3au)S9Qxv)X${(E_ z*>#P|U-7;fM%CNRj|fu+E=1pl8y$7vXxw*D26VtF&K;3xUs^a`cytlwUkg>vbabI= z^w{qdp}W6EEgP$}@ww#H3jHPxsMaO8i?=I)yO;ITk-ZoIWzinf6lc6cWJ{(h+RYw+ z@?O?ZGh1_oYH-pZnqiLas=6#!$R$%{vFTx#D%Y&$oYhSitBkqI&OQuk^0I^0(KT8s zA|-|U5Ug+L$(kOfox4m*d;SUOG7Z(rQP>2fx@4+uMU5)@k+27FK0;_iC`zy9QiXGk zC#<@6t+|(l(TvnH=DAdED$JHV_ioB_@AvZD`*`-fP#wCzo!NJB?@O+Grr-3cMx!^Z z%e{J|RMupb*ZkP2 z6M-VF8`WFWTrx_*N1pKr72m8_jr^16c5b`4W;(PTq(!@!n-=5oC`_SQnN59BtHVkR z^sbAhmIOrLiKJy&E3LVm0r3RPMv@Z;PmFit^C;zftg|zv?&9f8aTtNLx;xSqj;BDP-5m*}V5Opw^dc)2ni5TCtaMMT zuP@pO&)-dUbVfUk2i&le*(i=6WFm>PE@0-;GWV^nWXh7ZYvB24EZt+_BMo(f(m+h^ z`^kir?${8;t*7zFoz8cWS*vRx9$#ejb_}XuM<60ngv5$RP(7KCYYD}2-H>Qp*H0uj zx}*Rh5*Xf_7B5~LYQ(RJesGpY7A@=$rWgHB?l5DW3~rXfVk~= z2}psCemfwZLS|G!w_3<~K!hv;5D;yajy@p5+9|WT)FNQkJga{o25-x(@8K`yf^Y`J zk?tgn>Vk_-L6*vRa$_`Q9l=Q^ZqKM81F7iMR&di*iTNu-ms#T59i3K0MgTFsy@^W4 z+BXL);=^y!_wd92b!JC=OvLBS#9g@j#`WIbl?_)XTc*2Cvcb|UEMnendKC+Q%9f0C|2xaL`O zFA3LH>59NLB3)^?9+s{yxbB)o{?@~_NxJa$ruF~LjIW$|2mUG7_Wu37XN>$Dexp zt~XD=2}>3KwZDI8dku+ZcXGXWwOyA!>ep&48 z;Vq+^@q6>>&4^&j*y7#yCr)QZuzWbWx&2&n)^PvmmUEd|cb35)&I~v)erE4k|M1}G z;Mwv=2CV&=yUF|GHRJbZ_Vhu_fdKAAJ_LFrVytlZy3sAy;^zRYj}M+L0}ArHV{l(# z@#cA3?il~i);Q&~$07`N80X)|zjcqpUUKud&t)C#*H&w*>08)_l{PGnjGo+=stA zM{e3T$7QYg(cpPlYyM(TS!>=K973bW`=fNvh&n*W7FF76elU3VJwa)!d2|{~D@{KR zvve?AH$nw*`C#gK-pxv=sNwOVGcmqrF>`!@Z-4tvEAIHqy9GZ1v^fEfFX6nT{vgR8>`9bs7gZQ9%;l6qCH=2K=A2eUU=gcSP-Muet&86DD|$gJk8t-NR0Z* zN``%dbQ}gw93!2NaTl2Z`)T~KW^;y1a$gX||012?^53L$qBC4R7u@yv;K=RL&xN1i zasel}3;+lo+|)e}psPjBqlWJSn=SpJ`PdHIK$u3BJii1jXsSc@?iPm`@# zTwjG-i_@7+m^r5-Fm#--qMfk}X1X-n&2&etBgx+0WG79imxTk?0{o9#xa#hRchO;x z-%_~*_fo5AP=RT#<2oXOwVza3vx|< zlLdf8J z3+oddsr3VN^ky0{8~G?ihCG zMMOU_`j<#YvC`5V1sU_xk=P_l)KZH(RPZK92mEwkl?CP7(Url(oXlq8-c!fE|IAZQ zPz33|IOg2*E!RYIX^2k{pEZ&S*S};-gG;vG3{CvNq9)iW;@r=Q~0Bk&dNt(wpl@f_|I`!~5r2h1YlgGbr zEtEOIuNUlFi_I11W&NjiwUFV@I4$B0(chB|8TqXnZ6`1TDmAf6+k@K&#cdF)iywu<7Wx z7gTX9Q677@irB|ser>;Kr6P3xs#=~;-PN+y3 zc^z41vh(eM7*>~Mn(N59WF4|A9Xf6-1k-ud)DaprAZel{Q1_L#)+JG>P0NqSF0$z; z{-Ohq#pBWS9dSy^uHJJ@OGEpGnoo6LU?MAY0@al|Rs5me6x}(_fTH%3p~ePn`uy`$ zrdI_5SH=>N_yD@OwxZQw7E3PaUKKsL@!^cpAtV}$ba6+mm5Z;`_Og66?UeUJA}Z+bncUyqQ8zBiht6VYYWP(!Mf zkUD`u9YkInrnF4NQosdRWQ8DYB`8JRKduS{5RvmTM2@9mG)#k>rsbhI*grB-%DPH$ zRe;=)cnXa)I6o&gH2}tVDULdeF`oV7&RblzvtVMrUFoy~In!m2dQ1SjVkszRs!wK| zU?nIf$^#%i7odQ25nE+DBgmAz-DL$6*6KA@OIzuDG(fUdX0<4P5dhK7nB# zvsTNRJ>OFCo5*BqiCu54S%Y@ren=iD#t1Z0t4e@w(N7GSz@s%5gw@*H()kYs>*3s6V(yK zthE@VLchlrFLo-5T}hNEF^mgauUE0iM+kv7g$_yIqb#kF4bTyj%5e?Ft!_E8Vg}QZ z3C{OcY+F1E0O{H)DSxH`s$}e}!;e$PDQ{WzJSY2T<0kvAtWrQ%8K~)+lQA?F$_!~E zZ$9X*l1#=xl|aiRqx0%&-5}Jm!UW0{bGCT2%f+P2Y75B3*HYS9={Y13E`{UJJONdn zwK8-ETn28X~(VWIo&qZKTgFRmwG|_11#J`DyUCJ(Rryw z9B8^Ti6_t*QHn{5O?5CTlKHFJs^k-DI(E}lo|Q~Vq-AGPm(*G-YG8R97cdRh+3lspIE%M>I)E%R8}`;6t;|tk&Tq}H&S$pp8}9NG>uUC*Py+@R5)*)R_kCB zRAxNHXv~iK_{r}cvletY)hVWRSr>{{9?}|=W4cAwoQ-od7W7kXHNn|k`PExU#YGh- zSG`derw%#}cFljs@ajNV_?#?CTkYg@td=}c#dN8QEE7*ww2o$O%cCIdMG`e=*Q2kt zS~%PTFbwc}odT0%6ge!Vfl8Ks(hs+^$Z=2e#%4DMSID(!t>~?2T->U>_Itb%VN;q8 zAi7JVUlgCKqoKR*(x7W+n3Nlf+pqHH&2?K{vo|xjN#;i3fDY#YO=}r)MR(#+F1q2K zV2|p9d+ZJvRjP+D(*Tm>%JYNvffb0A7B-M!(MqpC%9Rm}B8-1|Z4YAUF3C)7FIUaC z)jPy<1*LE@OL9<4>Cxx`7pqJmX!y3r5bDTtdPNd*fQh`dE?rLk><(!{k0Fdblt~tm29uqYg6u`2jx&YQ#D^LSbXYp?#%0*3+ zffK9QSjDDg5xL%rwUzN>-+%f@TjR--R#UijansVra&n6~I&z!cu3Y_snz17>Jz)d@ zspd!{y6;WWvYKO*hI;2fnr@;N)7;_7i)qnn{$)=F(8%rSfa+}Nw`c09wS(5FZI@A= zC(B>bldg(%q8^;$q92!{$foDg<&&lQWS&&L0|rNL{cYYFH{~wRle$vMNiFC_5?Cpu$kZi5s!N(s zVK7Wj$cgcW@&z|~uIX3|z&nox^TD)T`9erMvF|Ty(`}YYeF0MO3fx75=3@7l8qfP zRfZB?+ZBdaI+N_nr6lvQYL#0c^62J+fk*aYEZ*hFrGNFdRlecT-KZ=D;z+T$W2Fc3 zCZcxrCUjd%fk8c8(T_9YC2potI?rYMG}B@#aTN##bfA;ISfSbfJFjNSs^eOYg({DtKn zJW+zUW_iv`!BwVIW_B%fIB;ZuWFiww3}B&$uIR^kPB}CsMgwx& z3wgt+ga)imIJy~`BsS#834o?5{o5~7=n8vk5}B^xoOPR`*Cl8X!^sLg#t-7SF!|eN zLnFA}?U?OO?tM&n*O{~Z2`|2b`ZXrKV8#D(w~~4-PE7`{P!kwupygn-o?Z+Nq}9R$ z?Wl0A;HNXG4q98JzDd3Smj2aC`QDC9DmJLzPKWXGn}SA?@#H|tdg`%L@_uJ~OUn|x z>&6>AD6$yddt$kfawFf=nO#KYg{wJ<2AiqilXgtC;SDQZfM;)uGMl0(ChE`ANHc;D zW6Wz}yu?Mp58#y$lB0bF^sbCHdr498o>%W`!be9@xyeKBl)}qjyuQHqJBSqvV|b@8 zhY0jeIpWy>wZwW_?R&DEO;77^v@~r*)3V5%O}g<(?{UCJEoa}B+Bijs*U^rVj#S%~ zoAfJT{qk0h2FSf7?0)qtM>g(aRPV0U@PtMpIyiL?RvOw6%GKM~xC6@ylGWkp2-0|e zXfNtfM5275~+LJux7PnlkK?=ejM+^uWj6A(PN}uSpAaE`ce<=EcpfBnj$bxeVVn*C;dZur6oA7eJ;aW0J#oj9q(clFg&+LXtHbrt+6Z%Wtc_~~_$M@SWc zrw@|#g3{ILNU+{IIex5d9u@(x1Rw|O*o>m~mq0aOZ^T3ulpa!rBl4d57E$lZ+T>~{ zz0e7@qG!{?w+OvJS|JxCkco7644VM4k4-O2G#$Yb#8J-@gp6&)GCQ)?5Y5V5v0-&X z)@mv_=^09y)>$d#6E3kf{e~=CqF+p@oZU|bvG9lXBA+XI2A+FC80!vmV zMA#kTc^P7$kJfdtF)}-IaqvL7xy)HBIZ)MUJW$(-S#* z-(^qM=yWFKrPqCX>C(`OW$M0nW)=2f%@VtO^z`aEM@^~*Yw8%~pjX|}vq86>q66Qt zFg&=(!WOtlH~y*CF{rkLY|=YJ@EX_CW|T-1$%prWcJ&@qN=p$161XW!qH z-}@$b57}iYqY3-vTft4}k;5%eO~^5cdVx&STavOj(eJ5y^`*O)qO;G@ODIH`MdT2& zVR#VPeF(K|q7e3|JrDSFL~15KSDgU4&4q;s)XX>g)9_dI2 zZAV9@RF<%PKbpdB_(?_>Y8i1bnCZhV@Ngkb+^_*a{-CLz-zFm^R;Eu?XgS;=vCn_s zk*Tw0uJ77llRNpPZ8k{5-Ki6@OrLC!SPi2EeY@q7Bw5>SlyrIy=h<=;F3RqAojFBT zr>q`m)h0!D#$fc0UJ=DU1P#*=rR6-ig*A8Yju#_>nxPZHgnpwabaRky7bUM6TTL5+ zln%2wP40apjK!Y@7CU=q}8ebRUWE3NEZ`-ECT5D0Njs|4FfYE zU64~rq?jaCZ|5pCXk9>IjXR<%RV1z|SFba~Kp6Mt3D1HR&>31Ta2eO83dCc4*gF~$ z;S!8t5LQ02w_7+xsluogFFeK&#w%%ShfpNjnqWEs*yZWiKCTdl6tI6_vptSytIZ( z(RS9+rfDUqdXA~K>d|5_k%4)XQmhf^RkNeQ_{(Y|=C+g>zdX|jr)A|4KxNZx<;ojg zR%k8reA)pI;ao}RC4=mS5jK6hBT@*v@Y_NVrgeU}OqY_Hcj+nu<mw`m-AIMBTL1Vt{>8iLV_ z@^$6WlJ-MP04I;qmz_ts*8pEWrBdWGTuw!n=9ggOaVEV`D+ zO+?T{;&W)zo*t1Jr@doJHWb=7K%*=frfr2&M{q+nfB8U9(<0Q8rKUg&cX>_G+^9v) zPgEnP9#D=m5JC^WA~Y?2A@G}&KU^7UjK@76KQ3#u&0kvLdCHPOTfmIR0Z7@$ zvn(Tz{Oh%hHmO`+F>)=0T#NF^^+0aMv@xZ*vNoU{xhjSy)9(5-^5nh}+v-VwU<=0m6WTlWQk#ge_l|W2X5B3zrAJT$4u_}N9(ZCklw!$$PsX}?7 z@rz=WllE|(T_1GxPWj}Ebn@~U(9t>&b0Ss7`lSf+*D0T>zotB$pj!EoxPGez`i=Ox z>-xjR@eh=^iNc>{NzG;IPpxQwXm!EAt%ar3H3k26HO#F-zk{CghP1-<+K8`7tybv# zs6znY(PfR@`mA3+)rSDs{n8#Os5>)c9DbtW{XmI)s^CZ>su|&HOf?~-i|@5`Ea8?(!tYgwr$haZ0|42mxmFYkF6wft8-IOhs(sFa$(zPPL{`) zRH(GGO<2CTQIFw%TCM`=`b{R;O$+vnOOBN5h*YD^wuRa638#ujV|_(2fHddS`70G- zSEYzA313zrC6o^)&S<~RXj6skpLO60GJmH*Na?-(nr8$+d|xyMNDt!V4TLNayGnI8 z`OYo-feO{Eo#rXkNBo|EjM@x`$CW%IbXbgOztIBYt3k{0VHsS8l&#tkbeYC_ptJTl0v!C5yhpX4m{=k0r=~5j|^RPT6>KfPm zRi)F2M*i62%Tw+zsHh#!XmJjX=f=aA7s^w43h3wv-Ff6gzAG zuiGZ|wO{+XXChzj(S;dEZ1ytq>5 zb4!&}bFxOux?LuAl?!jP$B2<0$q{3GMlD77VoZnsNR@0@GQ4@#p`TS%yF0X;5r|8k z7phc>&M4K4W;F@-5lT|R@bp7#3bc;!>2#bSh-_iG8B6Mn-9m>qIDLzB>7L2%V4Us+ zKC@b7Zp=^Wm`{0Q&fDGP#+O$?}OCAI-F4+oANxnR)@RIeg*}h!x`mqSDt4*I^09{GbkM$&M2gld7icCa4*Ye z;Ta@7)Q%2mRFaPltdP<>&zf||8TPYBDV)0{ngQI%ab+8NVqJ!>wivz~magtNwQ(%7k5DW%iNIjafxDsEV8v~^+eIKq6hbo18q#CwJKj_4(>9_$@dV9d@*0ov(%L673mxx29 zVvjtT0=_$Gc_B)_y6D&X0zI1RF4z?-I2;g%s>Gga3wHGsjMZSc>o75;^U*q8Iv7f; zsBJUu<5OfeVMaIiHptMjn=qkU%HyY$FEhINw+5X7SsP>sXE>>n(h~nmc((RySIIrH z2z8XIVvJax=IH8hmQ3-ai8z?kUt>>(Y_|>j_;NJJl(PG`O0X0raXIn zMh?lHeocvZwEl2Ocn+1MZBhT{bb3YBFlc#2{3snFl68B3z}&{OZQG;=%7efH zNZOwg8wECQ2EkEbowikT5U{Aqa1)neYV!?re2MdlB zOfPIIoL{)Ia7|&XFkYA}OcmZx_&bGvQ26n}?S+3*_~(WD3m+&vSornAZx#My;nJe^ zqE+E5i`ExiTl70c?=8Bc=+i}eitZ}9uV`Pest5#JFR{cL!zgP9a zs{dZ~sj3}Se_Hj~sxMSMRQ0v0uUEZN_2a6aRJ~dCR#j1TX>~>QwCW|*ZPo479o3!H zgVi@yzo&X@^?$GaRP`OzcU6DB`at!A)rYJ9cl9@`k5+%D`tj-?RR5^@boCq6Z&&+k zYHOy~%&b{lv%F?yO{^wev!P~d&HHOURC9aHr)&1q+*k8J&B2;SYL3(#uX(2CA8P)o z=CztPYu>5})LvFQtu|5np4v~>9;ki2wySPi-52ZrvhG`T&(ytA_v5;f@Z9?H`r7)2 z`swvE>*v-7>#wR0)vu^uUBABm+WM{aAFcmH{R8z!>%UX~V*Ts&Z`8k4?`tS;2sA8c zSlqCzVMRkvL!x1@VQa%J4Igg!WW%2}>}vS4hPxXMG(6aFxZ$aWXBz(hhL;-tx#3?L zYNpgrX`Hfh%FvWMri@H^V9H-l`TCUaOnH3DsVU=Ao}TiJNY7cF?LPJX8)eA^0Nt5Zf6gl|L9 zYjyg&EaCf_x{#k#313+;9);&6H_+!$!gm8*(ii-~_t6rhroVL;zE78`E1Be@xKLji z3*R}o<@S2yuUzJ&NBEXkyjDj$xrJ|k;I%sSX@>C4t9`9bZ}~^`b@XwC@cq0FaW(mT z!ne9ny8Obow(%5Bna4}RR7Tp<#EJ7QOX0d4cUxMPx59ZfIa^!lu+|&p-DPcX?iR1t z)20`kQvW}V(or;b!TkB--I>X_1lL#r^?J{q>HlhB`5sjCXin|Yn(puy!6mc4EzOl zRLkI0QLU3MimI0$w=5^;ZPK}HIhr* z$faW4>p1VTeSX9C`5ou+cgeZbuY!Hgx&L?4GjaWebWs9DWp)DPWv|!EkAF~e0=C;H z>dJI$_KVAm(9*?d7l6LrFn`r3Fdt_KAKx*TsB??P0I|_)GHf z@)ZdGHx!cs_kG9tuXdoH+JSyfkEN;!SCETRzZx!`&L7iF717rn=RZ2mbB^=!O55*J z$Jy^Vx523!-yZ3djqfiV4<{VwtJ=A=5E*I+*fFnkoI{Rt2RWq_e=c1l#UZ$KYELOA zDd(RD4B53+%H2RyIW@(pC z%x$1egvdr`gB@$yaoz=|Msh?tW%pGuMcySO3#C)uO)DqWy^l^YDc!4GKJjHd)<}Nj zIDg?d-y>=p)rLL9(Aa4Eo^FOD=<|#deO{yb1`U1}kY8D>ZH)zH#4%oC1h2&{61z;i ztIHpP@DCGU0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 z0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b6 m0Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyyA+1pW_n+@4SX literal 0 HcmV?d00001 diff --git a/vim/vscreen.c b/vim/vscreen.c new file mode 100644 index 0000000..f2d9cfa --- /dev/null +++ b/vim/vscreen.c @@ -0,0 +1,248 @@ +/* vscreen.c - screen half of the vim editor for the C64 (Power C) + * + * Draws the text window, the status line and the cursor straight into + * the screen matrix at $0400 and colour RAM at $d800. Kept in its own + * file because Power C overflows its compiler when the whole editor is + * one source. + * + * This module owns no program state: draw() receives everything it + * needs from vim.c as arguments. Sharing variables between Power C + * object files proved unreliable, so only functions cross the boundary. + */ + +static char stat[40]; /* status line build buffer */ +static int slen; + +/* ---------- status line text ---------- */ + +static sclr() +{ + slen = 0; + stat[0] = 0; +} + +static sadd(c) +char c; +{ + if (slen < 39) { + stat[slen] = c; + slen = slen + 1; + stat[slen] = 0; + } +} + +static sstr(s) +char *s; +{ + while (*s) { + sadd(*s); + s = s + 1; + } +} + +static snum(n) +int n; +{ + char b[6]; + int i; + + if (n < 0) { + sadd('-'); + n = -n; + } + if (n == 0) { + sadd('0'); + return; + } + i = 0; + while (n > 0) { + b[i] = '0' + (n % 10); + i = i + 1; + n = n / 10; + } + while (i > 0) { + i = i - 1; + sadd(b[i]); + } +} + +/* ---------- PETSCII byte -> screen code ---------- */ + +static sccode(c) +int c; +{ + if (c >= 193 && c <= 218) return c - 192; /* shifted letters $C1-$DA */ + if (c >= 96 && c <= 127) return c - 32; + if (c >= 64 && c <= 95) return c - 64; + /* the C-only characters have no glyph of their own in the ROM */ + if (c == 219) return 91; /* { -> [ */ + if (c == 221) return 93; /* } -> ] */ + if (c == 223) return 94; /* | -> up arrow */ + if (c == 175) return 126; /* ~ -> its graphics glyph */ + if (c == 164) return 95; /* _ -> left arrow */ + return c; +} + +/* ---------- screen output ---------- */ + +clrscr() +{ + char *s; + char *m; + int i; + + s = (char *) 1024; + m = (char *) 55296; + for (i = 0; i < 1000; i++) { + s[i] = 32; + m[i] = 1; + } +} + +static putchr(x, y, ch, c) +int x; +int y; +int ch; +int c; +{ + char *s; + char *m; + int o; + + if (x < 0) return; + if (x > 39) return; + if (y < 0) return; + if (y > 24) return; + o = y * 40 + x; + s = (char *) 1024; + m = (char *) 55296; + s[o] = ch; + m[o] = c; +} + +static putstr(x, y, s, c) +int x; +int y; +char *s; +int c; +{ + while (*s && x < 40) { + putchr(x, y, sccode(*s), c); + x = x + 1; + s = s + 1; + } +} + +static revchr(o) /* reverse the character in a cell */ +int o; +{ + char *s; + + s = (char *) 1024; + if (s[o] < 128) s[o] = s[o] + 128; +} + +/* ---------- buffer scans over the caller's text ---------- */ + +static lstartx(tp, len, n) /* offset of the first byte of line n */ +char *tp; +int len; +int n; +{ + int i; + int c; + + if (n <= 0) return 0; + c = 0; + i = 0; + while (i < len) { + if (tp[i] == 13) { + c = c + 1; + if (c == n) return i + 1; + } + i = i + 1; + } + return len; +} + +static lnofx(tp, cur) /* line holding the cursor */ +char *tp; +int cur; +{ + int i; + int c; + + c = 0; + for (i = 0; i < cur; i++) + if (tp[i] == 13) c = c + 1; + return c; +} + +/* ---------- full redraw ---------- */ + +draw(tp, len, cur, md, name, cp, cl, mc) +char *tp; +int len; +int cur; +int md; +char *name; +char *cp; +int cl; +int mc; +{ + int ln; + int top; + int r; + int i; + int to; + int c; + int cs; + int cr; + + ln = lnofx(tp, cur); + top = ln - 11; + if (top < 0) top = 0; + + clrscr(); + + to = lstartx(tp, len, top); + for (r = 0; r < 23; r++) { + i = 0; + while (to < len && i < 40) { + c = tp[to]; + if (c == 13) break; + putchr(i, r, sccode(c), 1); + i = i + 1; + to = to + 1; + } + while (to < len && tp[to] != 13) to = to + 1; + if (to < len) to = to + 1; + } + + for (i = 0; i < 40; i++) putchr(i, 24, 32, 11); + + sclr(); + if (md == 1) sstr("INSERT"); + else if (md == 2) sstr(": "); + else sstr("COMMAND"); + sstr(" line "); + snum(ln + 1); + sstr(" "); + sstr(name); + if (mc == 1) sstr(" full"); + else if (mc == 2) sstr(" save err"); + else if (mc == 3) sstr(" saved"); + else if (mc == 4) sstr(" ?cmd"); + putstr(0, 24, stat, 11); + + if (md == 2) { + putchr(0, 23, sccode(':'), 1); + for (i = 0; i < cl; i++) putchr(i + 1, 23, sccode(cp[i]), 1); + } + + cs = cur - lstartx(tp, len, ln); + if (cs > 39) cs = 39; + if (cs < 0) cs = 0; + cr = ln - top; + if (cr >= 0 && cr < 23) revchr(cr * 40 + cs); +}