From 8193b7c4d5c161ca67a528338329bb7949837682 Mon Sep 17 00:00:00 2001 From: david-schmidt <1110325+david-schmidt@users.noreply.github.com> Date: Thu, 5 Oct 2017 12:59:40 -0400 Subject: [PATCH] Host documentation at Github --- doc/web/.gitignore | 1 + docs/appletalk.html | 148 ++++++++ docs/css/maven-base.css | 155 ++++++++ docs/css/maven-theme.css | 141 +++++++ docs/css/print.css | 7 + docs/css/site.css | 1 + docs/developing.html | 251 +++++++++++++ docs/ethernet.html | 123 ++++++ docs/history.html | 136 +++++++ docs/images/collapsed.gif | Bin 0 -> 53 bytes docs/images/download.png | Bin 0 -> 17766 bytes docs/images/expanded.gif | Bin 0 -> 52 bytes docs/images/external.png | Bin 0 -> 230 bytes docs/images/gsport.png | Bin 0 -> 34404 bytes docs/images/icon.png | Bin 0 -> 18964 bytes docs/images/icon_error_sml.gif | Bin 0 -> 1010 bytes docs/images/icon_info_sml.gif | Bin 0 -> 606 bytes docs/images/icon_success_sml.gif | Bin 0 -> 990 bytes docs/images/icon_warning_sml.gif | Bin 0 -> 576 bytes docs/images/logos/build-by-maven-black.png | Bin 0 -> 2294 bytes docs/images/logos/build-by-maven-white.png | Bin 0 -> 2260 bytes docs/images/logos/maven-feather.png | Bin 0 -> 3330 bytes docs/images/newwindow.png | Bin 0 -> 220 bytes docs/images/printer0.png | Bin 0 -> 9867 bytes docs/images/printer1.png | Bin 0 -> 6742 bytes docs/images/printer2.png | Bin 0 -> 10368 bytes docs/images/printer3.png | Bin 0 -> 10401 bytes docs/images/printer4.png | Bin 0 -> 6677 bytes docs/images/printer5.png | Bin 0 -> 10258 bytes docs/images/printer6.png | Bin 0 -> 10489 bytes docs/images/printer7.png | Bin 0 -> 16990 bytes docs/images/printerI1.png | Bin 0 -> 8837 bytes docs/images/printerI2.png | Bin 0 -> 7127 bytes docs/index.html | 111 ++++++ docs/operating.html | 417 +++++++++++++++++++++ docs/printer.html | 155 ++++++++ 36 files changed, 1646 insertions(+) create mode 100644 doc/web/.gitignore create mode 100644 docs/appletalk.html create mode 100644 docs/css/maven-base.css create mode 100644 docs/css/maven-theme.css create mode 100644 docs/css/print.css create mode 100644 docs/css/site.css create mode 100644 docs/developing.html create mode 100644 docs/ethernet.html create mode 100644 docs/history.html create mode 100644 docs/images/collapsed.gif create mode 100644 docs/images/download.png create mode 100644 docs/images/expanded.gif create mode 100644 docs/images/external.png create mode 100644 docs/images/gsport.png create mode 100644 docs/images/icon.png create mode 100644 docs/images/icon_error_sml.gif create mode 100644 docs/images/icon_info_sml.gif create mode 100644 docs/images/icon_success_sml.gif create mode 100644 docs/images/icon_warning_sml.gif create mode 100644 docs/images/logos/build-by-maven-black.png create mode 100644 docs/images/logos/build-by-maven-white.png create mode 100644 docs/images/logos/maven-feather.png create mode 100644 docs/images/newwindow.png create mode 100644 docs/images/printer0.png create mode 100644 docs/images/printer1.png create mode 100644 docs/images/printer2.png create mode 100644 docs/images/printer3.png create mode 100644 docs/images/printer4.png create mode 100644 docs/images/printer5.png create mode 100644 docs/images/printer6.png create mode 100644 docs/images/printer7.png create mode 100644 docs/images/printerI1.png create mode 100644 docs/images/printerI2.png create mode 100644 docs/index.html create mode 100644 docs/operating.html create mode 100644 docs/printer.html diff --git a/doc/web/.gitignore b/doc/web/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/doc/web/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/docs/appletalk.html b/docs/appletalk.html new file mode 100644 index 0000000..3222341 --- /dev/null +++ b/docs/appletalk.html @@ -0,0 +1,148 @@ + + + +
+ +GSport now emulates the AppleTalk networking hardware found in the real Apple IIgs and bridges the networking packets to EtherTalk v2. GSport supports file sharing, printer sharing, and network booting features using Apple's original AppleTalk software, such as that shipped with GS/OS 6.0.1. Note that the original AppleTalk software is not directly compatible with modern software, and you will need a compatible file server, such as netatalk or A2SERVER.
+The Apple IIgs shipped with a fantastic but often overlooked feature -- AppleTalk networking. AppleTalk is a low-cost, easy-to-maintain network technology that enables network booting, file sharing, and printer sharing between your Apple IIgs, Workstation Card equipped Apple IIe, and classic Macintosh machines. As of March 2014, GSport is the first modern emulator with support for AppleTalk. Now, you can just "drag and drop" files between your machines without thinking about disk images, FTP, or serial cables. You can develop new software with an emulator and quickly test on real hardware. You don't need to think much about version control. Rather, you can update the file once on your file server, and all of your emulated and real machines have the new file. You can download the latest Apple II software and immediately run it.
+Beware that Apple changed the meaning of the word "AppleTalk." Originally, AppleTalk implied a physical layer using 3-pin MiniDIN shielded cables connected in a bus topology. As other physical layers such as Ethernet and TokenTalk became more affordable, Apple defined new terms. The term AppleTalk no longer implied MiniDIN cabling. Rather, AppleTalk became the overall term for Apple's approach to networking. LocalTalk refers to AppleTalk using the original MiniDIN physical and link layers. EtherTalk refers to AppleTalk using the Ethernet link and physical layers. TokenTalk refers to AppleTalk using the TokenRing link and physical layers. As the Internet became popular, Apple revised their approach to networking to use TCP/IP for the network and transport layers. The "Internet modernized" AppleTalk (AppleTalk IP) replaces many key services of the older AppleTalk and is incompatible with the previous incarnation of AppleTalk. The IIgs only supports AppleTalk using LocalTalk. The GSport emulation converts LocalTalk to EtherTalk but does not support AppleTalk over IP.
First, you need an AppleShare-compatible server. A classic Mac or "netatalk" server could provide this function. For simplicity, I recommend Ivan Drucker's A2SERVER (http://appleii.ivanx.com/a2server/), which is a pre-configured and easy-to-use package with "netatalk" and other useful tools. You may run A2SERVER in a VirtualBox virtual machine, on an existing Linux server, or on a Raspberry Pi. File and print sharing functions built-in to modern computers are not directly compatible.
+Second, you need GSport 0.3 or later with ROM03 running on a Windows or Linux (x86 or Raspberry Pi) machine. Start GSport and press F4 to access the configuration menu. If necessary, select a ROM03 image. Select the "Ethernet Card Configuration" menu option. Change "AppleTalk Bridging" to "On". Change "Use Interface Number" to select the network where you have attached your AppleShare server or A2SERVER. Exit the GSport configuration menu.
+You may run GSport and netatalk (or A2SERVER) on the same machine:
+On Windows:
+On Linux:
+(Directions are forthcoming.)
+Finally, party like it is 1989. Your GS is now connected to the AppleTalk network. Refer to Apple's documentation included with GS/OS System 5 and 6 for further directions.
GSport with AppleTalk networking is functionally equivalent to a real Apple IIgs with a LocalTalk/EtherTalk bridge. Originally, AppleTalk employed the "LocalTalk" physical layer, which requires special hardware not found on modern computers. GSport converts LocalTalk to EtherTalk, a somewhat more modern physical layer using familiar Ethernet cabling. Internally, GSport emulates the Zilog SCC chip in the IIgs, communicates with unmodified Apple-provided networking software built-in to the IIgs and GS/OS, and converts the network traffic to EtherTalk.
Thanks to Gursharan Sidhu, Richard Andrews, and Alan Oppenheimer for creating and documenting AppleTalk.
+Thanks to Kent Dickey and the GSport contributors for GSport and the original SCC emulation.
+Thanks to David Schmenk for testing, encouragement, and Raspberry Pi support.
+Thanks to Ivan Drucker for A2SERVER.
+Thanks to the Gus emulator engineers for showing that AppleTalk emulation is possible.
+Thanks to James Littlejohn for discussions about extending the capabilities of the Apple IIgs.
Information, mostly concerning building, about various platforms:
+You need to build with a make utility. There's a default Makefile, which should work for nearly any environment. The Makefile includes a file called vars which defines the platform- dependent variables. You need to make vars point to (or be) the appropriate file for your machine.
There is a different port of KEGS by Chea Chee Keong (akilgard) called KEGS32. It was originally available from http://www.geocities.com/akilgard/kegs32, but geocities has since closed. The Win32 code in GSport is leveraged from KEGS32.
+GSport can be compiled with Mingw and Cygwin as well as via standard Microsoft compiler suites.
+In order to compile with the standard Microsoft compiler suites, download and install Microsoft Visual Studio Community 2015 from Microsoft's website. The build process requires Perl, such as ActiveState ActivePerl. Within Visual Studio, open the "gsport.sln" solution file. Set the "gsport" project as the "StartUp Project", and choose "Build Solution" from the "Build" menu.
+In order to compile with Cygwin:
+cd into the src/ directory +rm vars +ln -s vars_win32 vars +make +
You need to have a ROM file (named ROM, ROM.01, or ROM.03) in the same directory as the resulting executable.
+To quit, either click the close box, or force quit the application. You can also middle-click (if you have a 3-button mouse) or Shift-F6 to get the debugger in the terminal window, and then type "q".
Use the vars_mac file:
+cd into the src/ directory +rm vars; ln -s vars_mac vars +make +
After the make has finished, it will create the application GSport.
Use the vars_x86linux file:
+cd into the src/ directory +rm vars; ln -s vars_x86linux vars +make +
The resulting executable is called gsportx.
+The build scripts assume perl is in your path. If it is somewhere else, you need to edit the "PERL = perl" line in the vars file and make it point to the correct place.
+For audio, GSport needs access to /dev/dsp. If the permissions do not allow GSport to access /dev/dsp, it can fail with a cryptic error message. As root, just do: chmod 666 /dev/dsp .
+If you do not have the /dev/dsp device, GSport will not start unless you tell it to disable audio with the following command-line argument: ./gsportx -audio 0
Use the vars_linuxppc file:
+cd into the src/ directory +rm vars; ln -s vars_linuxppc vars +make +
The build scripts assume perl is in your path. If it is somewhere else, you need to edit the "PERL = perl" line in the vars file and make it point to the correct place.
+Audio is currently disabled by default, but you can try turning it on by runnning the command: gsportx -audio 1. It sounds horrible, but sounds do come out.
At first, you may want to update/upgrade your base OS:
+Then, add a line with the value snd-pcm-oss to the /etc/modules file and reboot to enable sound. Change the permissions to the resulting device /dev/pcm (after rebooting): sudo chmod 666 /dev/pcm
+Depending on the version of your OS, the following packages may need to be installed:
+Use the vars_pi file for compilation:
+cd into the src/ directory +rm vars; ln -s vars_pi vars +make +
The resulting executable is called gsportx.
Use the vars_solaris file:
+cd into the src/ directory +rm vars; ln -s vars_solaris vars +make +
The build scripts assume perl is in your path. If it is somewhere else, you need to edit the "PERL = perl" line in the vars file and make it point to the correct place.
+Audio is currently disabled by default, but you can try turning it on by runnning the command: gsportx -audio 1
Use the vars_x86solaris file:
+cd into the src/ directory +rm vars; ln -s vars_x86solaris vars +make +
The build scripts assume perl is in your path. If it is somewhere else, you need to edit the "PERL = perl" line in the vars file and make it point to the correct place.
+Audio is currently disabled by default, but you can try turning it on by runnning the command: gsportx -audio 1
If you are porting to an X-windows and Unix-based machine, it should be easy. Start with vars_x86linux if you are a little-endian machine, or vars_linuxppc if you are big endian. Don't define -DGSPORT_LITTLE_ENDIAN unless your processor is little-endian (Alpha, x86, Mac Intel). Mac PPC, Sun, MIPS, HP, Motorola, and IBM Power are big-endian.
With the autotools branch, the following sequence will execute the build from the main directory:
+autoreconf +automake --add-missing +autoheader +autoconf +sh configure +make +
All platforms have a common core of capabilities:
+The table below notes where the various builds differ in the support they have in the code base now for various extended capabilities. Turning the "No" boxes into "Yes" are all opportunities for contributions!
+Platform | +Ethernet | +Drag/Drop Disks | +Clipboard Paste |
---|---|---|---|
Linux | +No | +No | +No |
Macintosh | +No | +No | +Yes |
Windows | +Yes | +Yes | +Yes |
Until graphical parallel printer support is generally integrated into all builds, the following work needs to be done:
+The Uthernet (TFE) support in GSport was made possible by implementing the GPL source written by Spiro Trikaliotis for the Vice emulator. This version of GSport contains the latest code from VICE 2.2.
+Right now Uthernet emulation only works under Windows. Support for emulation under OS X and Linux is planned. In order to use Uthernet emulation, you must install WinPCap and have a wired (not wireless) Ethernet connection on the host computer.
After GSport starts, press F4 to enter the text based menu and select the "Ethernet Card Configuration" option.
+By default, Uthernet emulation is turned off. Enable it by setting "Uthernet Card in Slot 3" to "On".
+Next, select the host interface you wish to use to communicate with the outside world. A list of available interfaces is provided on screen. For most the default of interface "0" is correct.
+Return back to the main menu and save your configuration for good measure. Due to limitations, you must exit and restart GSport for the changes you made to take effect.
In order to use TCP/IP connectivity under GS/OS, you need to install the latest version of Marinetti and its Uthernet Link Layer. Ewen Wannop has prepared a ready-made hard drive image with everything pre-installed, and that image is available in a version tuned specifically to GSport's Uthernet emulation. Download and use the disk image in the "GSport Internet Starter Kit":
+http://sourceforge.net/projects/gsport/files/Emulator Software Images/
New functionality:
+Bug fixes:
+New functionality:
+Bug fixes:
+uNP zrTt+Vlv}TN;XWKe+(j2c?a!EfZIge#DxtPySaz0y)k>?Oa z4?GH?67?{=Xj9f_9-Ma?iPSc~MaEP!1E9fU)ze3L_BFJ+ZRHCYC1fCBY0&cHVfgc+ z_{9PB(rAw3<4QPn)1jaDU1=?SzLTqwpWrsfn7@tpq3a@j)L3VD;7ZO?QzY+q0dPhp zw^gK3vw8acFg4YFKa|BFo=SKWar|QUb6ZcVSV|!!B7^pj)#DVlA0hSnfx?j)`h)<) z@p>+a%;Zo-u*Z3){5>gdo{6ZJg1}$&2Dd@K2CGdq&ffiB{N#w4S&2!yx6*UA?u5tP zTaYJdNzh{5NJ{5B4oW#4=#Q+Q2{5@LX;cjTG@Ctx+|DX&f4{3{9Q*oatBJ|MzPiQb zHd8c8sj#=#X7d~u(fXgis{CUbF=np8?XRh**A3iuC?Dx77i9B(zB pVzT#=8W@xcPT{5H#BgLQp~LbQTH#~*2G)2PHFXi=$J0k(^}=#%)wFu zPUcL#-V=fzq6AxRsh$nI+t=5 1hC`DdtaS8T{j_GbT*LphoH)m8^6fRmNb+5&7plqFlZmSHKwCJXO7KpS zf@b%{uc7ZB=Qu_ 7CH z65by`rFK9^zlIC5NZNe2NpmT&tFFf*rsvaDb7J4I>Ax+*9PJ&!4NkLm-fQEbPvy2| zqaTOnf7LNT^IPr_6?$wxTFMu*CC)w6JA64?H%zk|xb#Luoo~mEGL$8B7?{(FvZbct z+!^z(g$-8y*D;o+NdrF!e8{=)A9m`EnSN?^T_&Q_u7e1C|AcigTA5kjqO1AMu^9Rm zm?_|!fmdbRWT%P)nvncgTtT2*DMYYcsojsSTa|k@w }g$7 znQ#7Vw#ZxKtJPd8aC*v=8FZQ+)wulh#MyjQ^?CYezTrCLemGcc4_9G7sT%{&o4z^2 zGG5MfBquwCfBaArKOj+=wesUk#6*A7FZzD@{SJ)ff?)r?)4#?okseJ(&JQvbx$vN5 z+Q`GkwuMxnYUUf?{z?Cc_P~P$QHzEulcovr=L1$#2J%1Rqd0M?j(Z08$+KPIO s-r?SFe8d|&4)?A7-i-S>EUw`}&Ql`3hgO{% k%77C#;@@#0%d#1j!BCBw0h0Ymk@<>mbuIp}-o*L`CJ=Y3d2ao*i@ z>dxxw@%|fmq~-}I&+#ViX~%f;3X`)M>SoEe3vo1dhJQD_Gb*`-oZ236XM4k_u8u|5 zs2+mVfr-)>Cf93Dg01#IyWH-~7T-rbYJ~fTn2|b W9~jb zLkL|ko`70UKbv~ED$N$L&R?)g!V5=aYp)wMiI!tYSIJr&11*i(PJWk5&;;ttmJFCu zQo!|3`Gyy4e+8+-8xkNBnDRwR9-f{}kWEHE(Cv`2Gw|we=G|xq<&Aw1TJulJY&md} zk^(;e+fq6k%PQ+^|2^WPuzCI76aU+J!Q~-hdxSe!=lUO+1NXi23VeF8AY17BBs%%s z=d&A-M5^~lnWxhPtFn0mlJi=X9MrW|F7;1bqGC-frL>M6JRmO7`)57Oefc&wnhGjG zA347o^c=BRXW!7R%|*j{_@UAHxXpGoPqj*L0qqSk;g$Z^j;+%qdUa=SxM_30`0dG8 zZsSni6E#CS&|W(nlz-6Pz@WLG{aIEN=hL`x;3&K1xU7C%E&wzYp=8T*#T36pq}!E=V7UhdVrmH z_JFAFqVT8R(O5@Aypj~dZnE&-XOp$BmpTWq++g0H;N`jOO@R50pUO<%-XBA57KXnr zrw(-X5uLmmr5(Xo_3k3#0d3YFLdpmdMNG8|{|&y8NE%BI$`iG?W8kJR3k*v1_dn%{ zQkdbwTy!OIj)Wm| A*6ipX8Bi9XOHY(_Dbrm%|p?vCaaOyj(gR*BfRbpVl-Ni!l%p|4Mn)y5?5+}=p8 zVHqc4+JlsYUG2(Tm{g#Y(o^FOmEtUNsF8U1e!+vKg10n*N 0C9xB-TYPwmtKrd#e*4WkGj?}W|NXLIk&ehRYJPZ2pUAZrsfotkY+}SD{UoR zkf=Id-JGC3gcM|9GF)jbxYY@6`P=HFG_Y&Rn#wq#f{4E=&%mTTo +|1QZj;wi<83UWE+?n6;ekT}GU1=pBBgQqim6eE!gNsKV|IwJ65YKb8ecttj& za9b)76|1HFoN{d}R;Qs#T0u}c{PA*$K9Q277u&*!V9q-G`?wRFTF6Ii&X4&7#VMk) zC%J7_k$kU3t+UZ0x~x={43vbag!;O=AS&M7Cd EFWaSIQo-OnK{_gKH9g%jFOB+(^_R&I}U1%3n~`M>}t13Sd&v r{qg zGZcz>#|v2d|AQB)vz7qZ-hy4f3%H>cH_yuCWpJuKiuP(WJJISj{St0 2pbv)~$=cX_CmR76>DXQ#}6kzEhyMnIS5rT56v zaQTpIR3#QivRu3zOh2B^EZCB#jy$yx&_^oRk&mK|1T}k?n|;0d_D*yD(EPD%#L2)T z!}m7_rQ|F!DM+hJ-JJ!TV`iw%F! dpM& !-6TBB zsh=Q)f{>QDEd6Q^mdI-!epB~%B`#-pX&)Vz>|gWaCr&dNgk~@t^>7{Q@Jse6Q)R0c z*f2N+ud~l?DG`X{*=9|;U8f&~E7BZ^{o*5Se$5XI$GzXqsQRZE#lt@Tqpd`6FW$?g zPv5krSMBi6cy)7~>Jb*utS z^r&<-Uf#l4-IGJV@Jp!oAb0sItOa+o7HLCP?^H7)!^mYAmE0qPecg6#^NZ#s4Gwgv zDym<}tclJ!PMQX8e(_#D%0@`o2HSe5vi7s(1(h)Eef68QPaEn$KQz!O-SOJ<1KaNX z^T`*mt3Fexy=ner8+h6JezqwuJU++3{ofkF^-}Jgd4_@eec%cP|5!X(U$Qa zukt(4dOvKxUpVi#99_1S{Gu;q^24ve()jNN=p$pjidExs?b_@Ws*U)9zr-g|@>u@7 zE~ p>4~CGCl&QwP5dkLl+zfOe)MIzaODZy%D}vkd%l*bRC6fE9!Pv+yYB(s zFZVs1?oM33UeG=U?k7dH-iZqNtv!5XOpf>aAyGoQH@oUp>fl^ll@@uo9G%e>Eq29H z8m@I_du6A-rD?(!+@#NsAt%Z}!Rk-EogXlTdMS;lStty6ABiFO-6SJ;fj^(+9f?)- zs0c@! zFSLX;HVp|1z zmhM9iWadg`u~&NWxATmXpZi|dc`@(Vdx7cshJ)h?_>sF`=yk6~Y+i;S zn8nyAB50WqYi07utAZxjPoCuEtsIT^alg{}LeDopDALF@d4-a07_v$pS~K9q4scI- zE&5-pm2myXh3!f9z|q11rvrswF^;P1Vumda }Rz l5$6ckTCy@WEz3c6%`>X#JbG6Wk?`9A&g-Akut{Gg)8pnSAi38yL-O^W z_Obkay21mNE9xV?>j+Wh0NyQC%vtbdDFb&4Tr_4=-22Y+muhXD3E52&7d%@@D+Cew zS@c_M-@mlSswLnEirdv*@?WJ9y_Bo6CHn88-}y2 h Ki&kBHEr-qN%qM{mZS9mje(tbx5O({QN;w3g%39Gt2C (#wjJ?G8uHWUd84MiIaXW&D?$x%6KK ^cHqx 5`?`|J ^e$pzsXeuu5XE&(nVK-}AVmE1?sx)e- zlE-n{9tFdl7J7)azBc*&X5a*HVX9W6Djd2lYj67Rs0q8aik?rVuN3QO*456wllh$+ zNwR#tb3VL$mttfgcx=MkMY%$pokS$}VX#tcP!m|jUWu^Va}*Ef^*=PaR)SyOY{q*t z 34=^cI&6}Nu&mUzt%
#2TWUVXx`pem5MGUOkkA7N-LOpEISC=8GFPS zu1@M3DuV@9>)1uwFA^Kf4M#(>WtX1#E$m<)Rt4m8bce*7m(W!WIaSLoS{@}l_jIm1 z@q)&cKf?T6%3QSy2~x_PKYR=ByYHv+|1Ewo{$fB~yAMIyp|V>1Fckkmznc(puQM;f zpZous3YO_xmKat{V@W>J=?V 6Qu1rjZeK7qymV12Ea@>~DoE`jh zi5uTU0Y<-%<=%ivCWMwS%=2$8d($od-1i lkKEt%OCE7Fu7&MEcD0(7qR11!^N?Mb6~IDC=$LU@vqim|%^o&LgG>^N z{g0aZAOA=`CP@m`ws)- x%|6=G!hrXEEQ_pqD1N9WxxJ&-`IB+5Nc!!m?ub z@q&mpwi8wY(&SIXgZ`rRJq|=kMiyrq#2iN_yS c3v%P(KI5?Vl|wEPh)Ygrlx? zk+$FTzI*OWH)-+Go$Y8^OKKd1(7)Sf&8Ew$aBhF}awuv%>3Y2k10@B#($JLnx|Llz z6wvPRc3@8bsVBBxIzx;OHMb=S*PXX7hcevi_~_B;^ebzD&nJQ!>cGD1n{1|~_yEh3 zFt3XUv7oR8pkv;kbnUO9CGXf7N(*WVBvMB8oP%i-rGy%1#HHTq-Sxyjo S8H==m|7=EUMeVrq(#@cI84+i z8z;xCDg0LlQZ}#G$OYGEciSHND6!cef6a?|pru@wXR|Q*iV0aia1a*&Vl1Q*_Wim4 z)I-2);nIG-XV>7aTz&ntL7eN`b=jyc67!+MG<8JR%+zcveVTT%bQ9SaiHT9A1g%H| z#oMRjHJ1FDRYYTnl8(7RqOOw8zYVdxa7`p@s8^lzo+D{4Wnn7Rx*96@QgyV}>CaaA z=9o vl{x|hLMVZoXjKLm?7}|75!u>%uBmO&^=k(!S&%Hlhqc0w( zm(MoV?7E*XO5+Z2!*Y9=1MF4$N{B)(tC5B~6o-|8C3lJ$W3cc?tkNAXo_oQKHb_Ek zPmR&qaIsK4YRu3!=K>{M1;_=B4rnjbX6mIDNX!1V`m%$|!|6mCm7h>ER|q~lhOf%D zu8pzS+qskhw;gtJKCmPJy`oDl%c8Pf5IUjT->}}mm{N$oA7{~cN7Hm=^FO+IpY^!w zP_6kt !piQ>-Uw}$hNxw}Kd;x< z#@ZEqKhd4$(C8j@pzHgQ=hX*ep?!4ki9x|8Ec*EC>0VZeP5)*_W&juXn4W4XVJfv% z$aClsZ~}#a8K={%6^?)#EI&)zF7cR0LVE_w=EDH0NdoelTcVD8zDJSnM=sB9^ZF00 z67IU`)x$$#b>i`jmeU6g;HcSnCI8h#*qz%S=!(7JYg(O@k~|fDqiLO0k7~0FC0Lo@ zgh-iA_+V&3W%bzr9X4`BMZ6x$9{7;|ZD`M|a$SOeU(ocOs9CV`!+<=)dht9A8V?x- z&@p3gm^UjzG6dENb5@7kJwCic@nqD(=f1TUA1#E{epYOb%u<;A)w^FPM^%@ZrtkDM zd<^qecEBO^`Eq~uo>KK+?nXU7dCCoN3A$;#vKfB1OSikeExoDp!JI7kqJX;h>~=@6 zeOJ v zV}VER+?*1O8f}37dswp;KL3zpuVQ!vI_heR!co@sCiU}2hP|DU(@p%E5PZUW4`&jT z+20ZlQ7!l#u}Hav;s(`&GJ14BjA>>`e)Ernabkd`Q4p8IhwGz&yWdRV6^^5R zlnXL>B?)#nD(WP8hcpyzvL{knc9sXQ>0ddn?( nD`VX>zJX+=?uJYPccS{Nvda7csW`7r zv` nhGg6qj8HWVH;5A>K?X2Z)vBpY3m=X(h` 3fidKk!FD1ZS+~UcG?BAG_uu-(A2`DTH_?^Y9-GUBGq&BP0^-s z@lqY0$TVgB_q1}TS$7e8%=hwYH32TtccCgiF=zneU*=z!C@>WPJwzXAXs+hF_-Pz7 zB7TRJQyeU8u|e_!aaB(Y_Cxj?DTj_X)nFRms@a(MBNCFLvGEA_Un6NLDc{G;*xeRQ z2dEn_IOaH5x1ox+$3-jmr0#c~g@#vnI`4Qc0Az067Zb)dXl;^=F}5vJ?KpDLVD%`* zm 3R1He;3t7;Oen W_Sx1F3 z!&_ctGR(lLAL>di?65_X7~colEl*6R%A>!JLbor8ha_ld(!Q4#qT3{QZe1tgG(Dj9 zj!!nSj)&L?Zr6Z?)rk&Uz}49SZ4Z?QlvSf!m*_?Dc1Jx z!m{UllQih*Jh%TW&oQmuDc1R47J5<9o*RCy&jw^qg{^wpdT=vNbTs>=_(bak*zMiA zGE+34UVJ~&D8bkG!Fg{EfThyzy8HEh3rJI4U{8aU7h|pkaAv*>9!h2ovH(kfUE-^= zj59(NYR?oi0=RFb&fE_sNF10WMsDF(L-j?%siWf8#;eK4LDwz67?)l9DSz2=H#snd ztGk?s;A?K@$p=KW`X3_%^-cuaPH~ KLV%XY8Zp97zP0SK%yBvbEY&!ZvM z>I+oe<`%0tQ^c)151(Ikt2$KIj#KNkVrC=UZ=H&c?$9avFXQ@m->2KZ%bW3%rtaUm zr}fPa1(SC6TZ7gvD3MZLeT5^lGsRbYx4TthkIfXK=(ZY8Z8Celo8_0w_Lu}6%@{dX z3NIl z#*9oIJwmCUnL+o9tIfGj7sV@}&S@*v*co%qI!Ji1!lil($Nn*oBw4GL AOj5e5fXQYwIFCyuocQ+KrBZ|9JN zlWoI~Bu0iio% dhiG@q~&Uu9=w`#Pb52l#lml(ocH0(bh<2C5>3APx{4ZrpGC6AW=?B(4O@u|RY z6g|@(X_! av`K(f*Y!U$IXQrMd z>*rf1U5a7gTeQ?9ofJ{rM*`7cKVl~mtQ%b5VQ6XH^-Df!dd8e)?`~^G2MjU|-vf3R z|2Z4;7mIY9W8YKn?TH?@Za)9I2>pcoz{p^t$O49K4(sQ&Z4;3V(GC7)q88qruw-QL zDRFW`!A$=E^>~nQ !jDDt`YK=C_k>V^=0 dotG;PD_z{b9*=@%5S0BIqj%mW_s}K~pZrqhC$cZ^I*#OiMQv-prc$-Osc&y? z4-*juXbv|uOF;|!GduA+8e8OJ=2%M68EUZG-EMJ<>t Zcr#Z&VFe6|W)$HHG~?p$-Uh#DQ|l}*yNTa!VbHyThX4-Y+?NXtl=kNZ`|3+3 z-_whO+Oe6e>2LvKj|sV>K62-aEf@qHRYi0b!?EKR){W{BI@ZWW0rg{vB+ ld3g @yn?Ub8hfBlmuZ;lkdpKJh8jM*>;nE-6699y^FM^W|t=Wabzg75-)LQn*eLX zAVOA@W^pH*$q>f{U%w0p4-rU{5hj^>@uPY8Va+qLyP670r*0hl{CKT@x?y+x-&{-s z!U`Wp>*mMl`lxioMrDTm0qc~((~F37s!oh(NNj|0 aUNv0{wC2yzsk3n$ngoXrN@lGf?QJq zgnv#E0;mBLu=dm+nn?O_ ~LMXI %BD35N4!U6@f(cLAuZ$*G zhC6=6q`E-XnfS`t_K^~|BR0%E;aHgy0W-xgLq+*i)wqEjJO%vlh40P#^%S`>fimzF zxhC@_8 9PTbL$k4J%;hm?*SCAF1B$-fedXcq;Euj=P7r$FMQ0em){ ztTdk-H(dF(mgK;W$&MBP3zfi*5Q-qhej$WHX zn7f>`i=xOBH4z{v3WMtEF!%YvCb-9@gmTJE!?(^Jzxquvem|# SUV zmn|hf_*-O pNpw|;6M zQ6XLyNckyV8ZpC&UNX#+*sXl-K_9FZfiLipaGj;CsQJ&Q-}!fwun2ouuTlW>XF{mq z37(=2%^e!7C*zv>`9{Hctcx3cglRB7 >l zVml`C+I2eO3>hMWM=i@!RO%Z5!6d|uBYH#lpp1c! BU>lfM^xI_<`h1NWu za75L*51-NxHZSJ(q6s&+0Q?&;CB?pnF=X$Z5{=!$+Lsumt%yU^t~K`$(K2czKees8 zv?Af^pPBMxPlt#YQAfNY`BIV$7uZIt@k}ze$(DvGy$ww}6f)>&oCuxxb~{Q*4P!Dy zJj)vVf0@SA?Evx_RRJ|YvEM4?0gl6jb*2y{E#|2o@CQsWzk2*|F%LW#<)hcbX@5VR zI~REY@A`*OKZOY?4{-+u_Rb=@m;CgyYMpDi|F4LMeNDV{zB*DOr2Y?%KPHaBv!^w+ z#>!*2Lm~ySWJjRJ(2qYC`RhmoSQCi^1SmiTjLM~X8seYxX )C&YbmHI9$YkcsnPUhbE)JM}Q=kfFhFHT0z4i_2nWWJQ`0VU?)CI^F2^WqT`e* zE(?zK7ag7D05GQx!kSE;YP0rgW#fGtr|=l6uOdT}sB*a>AJ>o|i5y2I)YXWNMnsp4 zNm|ih$HL=a-o_C-_)*^Tv{g8-Hm)BoF?R2-t-H#H_5I3UJe 4D1c6w~*AbhHak4%x6w9C5Nu };sKSJ&-}dxiKaB5M#vi|=2dD;q8ln|*(u}Dw%)3t`nncG;c1Wrj}4@! zA-q7KubE5dE9pTpme)dmw1tvM!-Rg!TY^5CO*?3??P~=2$mNXxm?WICAKBSC1jw9; z=TDwFg7b??;d!gK4$;?*YD%SS9cvPAKKXdjhT=O#4!rX~Tm7S#^C@!7=U{&))A=eC z`KKs9Gi0=1>UKOzVhf{0EJ*68^fiP9l`Mf%G3I!i3PDq^#{okfGm>yCT<+eNKb)>A z=zqMC)&$)Ss U)DU`yotqleD$sFjN5?r0IzWq(Te``N+{B2 zW!&qh4M|quncox^kr3l UPX)Dv2-C`AEY41pK$)1H1oUu1oAn!{Mn*Qb>R?bn= zU#e&Bt@J >55uec>00(y@!;h0Q^TB1ZC|{r<9wN zJHMhAAaDouTQz|lFO7b%&x)2wa?k7;&MPEaBJ646b}(?;Q#GS$n fU{6+;F? (l ztv}H$7|qF4U>3c9-V&~$$x}!edI5knEhaB0?e=7BVXJ7HnTb$BczEz5p%@>Q>+h!b zQbp*clUmKwwcV&+l7}2Y@#(-qN6i|-6p?U++7lraXxYh=bYXtMMKsK9?R2!u-$_3L zy-A)$SaB<44Y-XOH@0M)(tQmk%tTk244F}+-_PKqk%eX{qsG3;fF}@sRqjognvCx4 z54n f9Gyu3meP54*{PR+%%TOMVJ4I?1doU68gi}SD6O$@ z7(xZzf$d}uV1xn)OTW=p7s=;qtQd>f3vi|>4#?J0|FQNK{?VlKHzJiNJUJ4|weSNk zF=1%EIs?racn0>hWAV(0{82iYRYHizE?LT)s54DrI(2P~G|)D|hmGb)^BLoHPFy;$ zGODB|ocjkYGq~TYCLZK>rcWoONW6jjUTpy;JqjwEmur>%qXSkQI+cd9%pF;!43 z(K5fwK$}EI2z1C;ruc$(%eLh%RSh@RtfdWeG9m%f;Mfw7=O3{aw?S3x&~aejaGs5= zQDn)>&OlnV83|+vgSV < zDixIrI1V!~#XZ5VBKy2u2V(Koq69cCtl_0pPfJ2{3>2v|q Vo_V_kaZ!Y|00E|ierr_^B=PG4@R zxW^Xzw$+5Tv;-6*AD!_f*+X@KMmaOu(f~wcToMQ(B7bHFPO +{#9$H40 zfgjdTTXavRs(}n$V8Tn@+}m%}7yxcUNdY=E>yiR~EM;F9NM|@ZWz)>xQrU+WsWU4>omjNI^|) KSB~oP2kcJsVkX30y$TGM~!rr<{f0^3+G47BGH(+4p zGL*>k_Z8n8lw|!GyTfTSso{G$C45|$;R_WU(?dvBuGU;hx++FG(^YVl#>+0fR?^8y z58xa_$$K=F{bK2urPGi(kzUC)o;iU#Y$0`WJMq+2l;cY7mNAG(xCMpK#(}qsM3VUM z0h**7#_x#!KEBG@HhTEP|C_v@0@kr^CN@~64M- zLSRnSATRkmB2vnL0Lg41DjZ|xHnnu^O+9+PJ*+epM)(q6O0Tfmh+P;+L=(@%1v5yw zzD1U#Y b?uK|<> JF_c5sZL7xa}$CR9u5mlzcrM_zsLx~d2Rbi xJ z8aqd${&M(W8}JHD>uO*B;{V6!EOUJu81gnwAdi!-__HEc@)6PB?5%cfpp1k3*Lp1H z@D*v;1z4MxuB5*7J>Crs5#K~Quo-R)XY31qEJ3R`g~eu7Sp0W5I}Aw(*(roR;Fw|e zM{ix01zFJEnaT(Hn3FX>K9&$i%3p%4xaQa|35D4 $?DYe z3ZyN!7M!*RQi}Ii zkq26B?BIW$uhw=3Ss~c|Db(Ltvz4}x88L_sf3cc1nG9d=6pjqtaNwT#{_#52u{RUO zA2-KTq#M#E9hm81Jy1{3@h@C0EKbW(wAAYpYlD_--A)5onaB@6jUhULI!|n6O9g4i z>%+rR4Pd;FHoh}86edn}Y^W%1hq>i>Vn59?f&lL!6 WO#v htMW*-WRxk%Xp*?xT284Z8RsiYIeK3nm z9Oe#q{&f3RJ)y*{G?H@`|8t$Yd1IL}REJ7I+A_ue!ftX(ad8D`+dBiE@X&gkrYJKO zAp|$E{9d&ur&7d7A~PIt)N%XZTI1%gtE30|sHQ?!&Ir044Rb5l(>stV*S4Xf(KV|f zm$hVox^0}X>uo`NvVMqlgf14B0U4O(x7Kl~9n)l(KW~3lzYt9u(%Rl$^vrmBs3HS5 zFSlB1(E$zac4sTY2<`j*q3mUc5TLL2+uVSkg?pFVXo;C$UHNs(I*kp_3J7kUu8rxU zbWCqu99g}xrc2!k#!-TxUa&P-vV95YUcogbZE?V~?Cz#hqMFt7m2grc3tOSRVwan! zPT9y(IU5t2@SES8i%mU3sqE^t+D&&~uQTpg5M2T7OiwvSf6J;ERf!-&5Ljt>R*Bem zGmg&jW(P7519xmmzgwf1)BFOV>a<#qpY^Kbssi>FeGLf0{F2H-qPkEF@%zDIzz hxX`p^JDobrKt@;bEi?_70!y*uc^ow>EEZJMQGMJVW^{|y zHFBRuVZ8CwT4pF6EG!01>QUBb>vHa@Ou|^wswU}wQvx&SW0G`s*g<64f&7p@h+O+{ z0V7}C_m}#drK6PF48FtvHyxoVE4NPCaBEWU7Q>xUYbJ`keZDPYmdRShtgua9Q)dWI z>d@}gyzYHgP4{xa+dI3m%vQUF`Pr?!b?W|)zmXoZI#(!K8+CTfnc~S}I(2(7XTY>+ z*;*Txtt#T2`E+mE|016(HI5>+kKHEL6K_wRl;F8deS5L<5`FLGk+#;-jRHHDgglvV z+Nr6!$^|$@K6OP&@QIa^TQ}JBo3sZ``g}shd#-QKqUiO4Ew3i1MDA>PdcD}`RJKzp z>;CI1SyGWZb!WS{yxqQJPwxy@eqU{UPR7tpuCG@pa-L9Kr?TT)w3uhqS@q5pksPNz zR|`gjsrd%ozF^1_#o4$^HC}$Avrt5K^dyz_-76wFPiqIR55K-7Q=8X+b@#GQX^N3z zmr~CHXKQ=E=5EREN$6Ed|6U5*^DPiDS76hMeU*%+M$cU@yvt8z`83JE`*xA{6`j@_ zrfm(16Zjj?sP{eBKK9Oxg{RR5xV823g7oiFOstB)V;?v&w2uj#Xl@WR<*zDRuNWWz qJS?KAVO!Fu!qMQtnkfF%-`;lZU|Y`V*T6GT7(8A5T-G@yGywpx1aP|m literal 0 HcmV?d00001 diff --git a/docs/images/expanded.gif b/docs/images/expanded.gif new file mode 100644 index 0000000000000000000000000000000000000000..0fef3d89e0df1f8bc49a0cd827f2607c7d7fd2f0 GIT binary patch literal 52 xcmZ?wbhEHbWM^P!XkdT>#h)yUTnvm1Iv_qshJlH@g}+fUi&t{amUB!D)&R0C2fzRT literal 0 HcmV?d00001 diff --git a/docs/images/external.png b/docs/images/external.png new file mode 100644 index 0000000000000000000000000000000000000000..3f999fc88b360074e41f38c3b4bc06ccb3bb7cf8 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^+(699!3-oX?^2ToQY`6?zK#qG>ra@ocD)4hB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrH1%@dWsUxR#cd{{R1fCIbVIy!atN z8e~{WkY6y6%iy53@(Yk3;OXKRQgJIOfsI*BO@UFsfhWLBc>*(#PB?Jn2*(o!76E4F z2oaVU3``tH+Kgs0GI5+@Tg}d)z%jd%F@?{8!SRZ5b1yT80-FZIMn)zc2Ca66y`pzY R*nws L zd(U_7A34k$&hG5IyE8k_Gm{8qMH!qIuU-HE0Gto9lBxgz&=B!q$3Q}SbAc266Y&Sd zLQFvn0H}<`dN4voJYzb@YB>V{1TOzRz-4o44*(zx?SrJ)ClCF@4AgXWsq5aX8NeqH zFb`id*={#30SzeDD6iS5MT~e%9?nyfdlj!b4|$19PDH4JJ$QY5|Iju ut-VWO4(u=Rb%&2=DM zif(LfGWG>5FO$z}7p$cF{_Qv+x;zD;1ci7sEgJ(aeat1y$V9_qoll8E#14LPI%9Hk zle9*t{((X)T~=2i8mvfLMiY}>vOce(_DPr5Ywwbj-&Sw)&m}?cM+Un%QXYx*p2F|s zz51~~dWPq@6^*%1=S~SM2ziy__<9K$hUd5(%NP{TV5Q%-Jl9Pl&g(v;R|VATtxtv$ zWc`rVbrDuHXqM f`ETZjc=D9feQ9j+~CcFbVnh`myr7RQip( zUb?lrCsh`)ve9!Ng_s;~i6hwAR_@kc5Y@H(QSCnLRsY~~H2XzK=qN%kru-B}m|1@g z(~f9TB$)ZI=o?wDzfQHjivw#R7_oVM)I`O5= -<)-C)5>ICIHuM_TCN&W$Lx`DroUd1hnGSumz`ErQ)^T~W!$d0RfSet>Y~SYRun zDWW&R9{(Do1X@{UKK;dTBzPOcka-4sELdLhzw`2Wx@a27Y5<=CPT|+DTTdbxj`&?W zWPH|YVtqv~e{|){u(v)wg(oq8c6z+szg|Kgc3oQOPikynRyg1HZ#dBvJ(OGOyfn1d zNVY30fgP3Ez$|p d>9hT4hp4<1-2!>4`Mo7&@_H<&h77LR9+V|;;WDghqcX=68CP6Ow@A2OUz7A@; zeM&ydtx6)#DDB)iAfm0-h#pjl;M*GOhZUyB686G>bG_F{I&CP98PK!Um94?_{2e=@ z=4)*E6*GtD4cs?~kKaH+iAC93?nyxH#dM~2_R*xcYd%p4Z>hu5Zs?v8ySNQUuBF8K zps^Bx1(CgEG~3uLq5S*r3O)x#{CQ~v+evos>s+dD%`!7(SQdQ5=C;lUYIQZsx`Uip zNj_V)6#5i*6D_cmje0re)ygx~>8TbijrT?zrhMLAjrc6s11fgaRxDZeM6HxgNrEvn zmihc#_?-qjDz?VY(o*{|>#UbSWxao)t5Y{~*J!lAcfG7!K68iW`+oYkI>%^5LFsB~ zvSKA)`Z3dX@_DWY`90we>_u^(FQe+l6CE(yp)eck_b&GnFryJ32HcggAU Gmi$QeD9 zJ0B^Y#Zxe0!Fmh?c& ya>AlDmE}%T*-{`K`We*$jDVm8+ z@fs4CwwSJ59_zgy6j`>vI&F1UyvTC?xw5E+yp>78aeUG4S%5Yy%47NTT?|VRPygm@ zHPj-E#VeH0<+K=PBo8geF}RyQNv&QR7!G6i_mv#nr&CXl()439hBw4BuaGwEeH|-a zrl`3a>f_m#Dd!h8Kh%l0UWwGco=$bOkJVH1u~-aq@3C#>@Y`tG;BDbGnh3=l(NDcO zxF_Uo NyauR_n)Sb}yq==gWQB5SwrN>@gn`TX1}1dN-_Oe$dQkGSjWq zB%0B1Kd~d6H9UVlchHh0b^Pcv+&W@$+{EoJdK%?9;?H^9PI8Xt!~Y!0PSSib6%=g1 zDs(f{*=4{kaB;X!x56UwFqDv+l0tFowi~s=D(vMsC$EuA*+k%caG$!d!p@L+V+4<& zR!?tk+}oT=D)7_w-Ru2a;IHkxRWN1Yr+t4mGNAP6vUc{o+;HF)ou%(Qvf{ECTs*AQ z(B?I=3%Bq)kMGJ`S;Uve%WCnc(N5~83fOt~cK)-`FrBksoBP8xBg3=9amev8)qM-| zdeff?e^$Zkfu9=&O}uJ9?$55gz<;hEZ@uz{7q$Z*S|&F4?+pV*tj@0Gbt+bZQSU@P z75dM2K8_Q;I#G^)+Qq{AsNn($qYWM>A-`}K3nYug^9zY0kl;$Dc#w_A`A$WiR=F8B zm>1?4pLgNFR+Wr7qUz?+Lm;6_LX}u!<57Et&)@&m<4 ?0N1Z|P9=h<-KOkITPJB#LF=#qZhdzgFHB$BtaXZjg9-;r_ 9#E_!ur*luaqwN%J0pvKmv8SEADCoQm*O#3<3xJCVT(^SofijlW= z(N=BQsA3RcFCMe98e-$DK}d71p0;d_rG*o|QipZ}`y$l|QC`C8jw)^2U)WxSloqWx zD|G1>lV9lHo0jw7+?QCxq*gA!Htf{pd|1KxdSCAUrM>6PBQG~)eMFRba3*|xx8uhT zy!nTVI13%@<#C^#t>muSTGGb6sS{h>Ke#K)Uv946)794C`j^?l5R&_!D37wk!i>WP z(w5?`LcK#ecQ=Zbrmj@I4BBg#==mkj!DU60YnO=m8PCPmvW;suvbwf~5Z|R<(G}bE zCyO@}J0iQcREW#V{0vK&fpUivZa6zh;-$zxY5j^M+*@gTT{eqM#!E?b(S2)7q&nu} z$F1?o4$1w9z`XsHJaT=ivkjQUITml-csZiuTnYQTyU$6`H;D#Kk1wPoQHpp59$vHS zYHLx$*al8su|xl=KMAs~046Ci-7Bul5Sz< y#ro7;-Fwa| z#lv5<&hKWY>?KQudF_UNn9Q_r`aRw{?k}fTtd*YbucXzVK7`=dE6u~Y1;1tadXI0p z7YN-CZ?cl)+qH6-?Ke%-HuJhJgzoCBWK}-4>@J9;-Y(w1bMxWbZ@{xSdH{R%%2d1g z@_BFfjx~v r(DTQlyKUva8Dn}rkgw&}SZG$k># z>i9mK{r;vg?clg~U!$A;WJF0~QC8-EyVv+m)W!oY16YqOPFePW_bph&YOUXIE0soS zRamYC;Vlb19yJg?OwvV&KA-5;MCS1}!>{7I!jiBAaWl`h@~mfoKWEyt%6d~8mfG|m zZ{=(rj(W4oA8rPcj{Tb-CTfaD{4NTZht#M7Fm~7EW~MJ?NoMFMb>}*dHnt^nU7Yid zQrcl%@h^jg=C!utqL-#(ATS;SBaoG`a_5m}LN? zSzt$lFF^9LaxRT!x$0Q+HZuO!77*Vi{b_sW+avlgv$D5bN7_c?un525$%D9S!5si< zeECLH+g6;$Bl2!Sj^`2+RJxsXP-`_3RX*+iWq5-Z@YDF5KlIfI55NdOn*&&%p>Fj$ zKZvMX;WLRiZabe3b1f!j*Sb6P-j1P~uXDOh;3+nKU8db|uyoGu|MXYT)mj}L{0Uc7 z_vs+m-GCvhoZa_iuGjusSMt~5ChV*{WXV6plN5Cf4~K5gyzl$FpYaVI77x9$BhYc3 zaJ{ZcuDc1t-Tg288FCqxHT=-n2V?kQD`BxU?s-<*{ddv(@iAqKz7w0rhy9a>WfV(# zb6w*kyW3v%)y%!`%3ij7;BWkVEptz`M!T@YI^%!rX25^g=>Ap|&wgIS^J*)c%D0DT zoY(cq&pjL$z?jYlRk?=8)bADTjqp3;_3PPwN<%`P5GBqm>syV6(>W*ND5=@-* Q?+%guVdu_11))PD{$<%6!fGF ONVQ9h6qoibZYMiL_u)igbZsY!{ezI-`sM+@^YhIk z$ RH+Z;dE1Ohm7_ZYi zjbC^?@=GcHzF(H#{UuuaCU4>KR3)W2pLstn=$6*=Ht8{(=5{ETPE8}TdxX^<;RiLs zi0qc{tOq@1F-4?p%dO3ID=FrX*P+0zb(q>q?tw-jaBfv)i|Ksn=$SQ5o~%vCeXDBW z(QJ6}vAP=emX}soHDX<&O5=ou( J>#h!~-UrIuocll($hS`F>$zb6Rn>^f+h4aM>#kFN`#?gwXN1^Vgv3Wvg*SYS? z;5-@Ov3m|JRzatTHll%%Y_t)3f%8Wa>g^(avVfi12j903nY47EFQ(S5N!+~#9#L&F znZoD63%-`8{k!E)@TaY>E??g}R$m6#x@^Q8QXkFVGJ%?0Hv27Bo|hi4YnIqs<{L?3 z7ukJ04rj2+H?6k*Znwy5`1@bFG}Ouu5_GX}A{iK?Ab~gsh#xO|YwCtGLL6^SI_HQu zqskwhrjS4 %`td(OZm|lf zTJ=l$Q{?&wON>ksMC$Yet%Gqq>HbPdg&Mw#I!EP->^HN%K6@Wim=FBz+zVnd)3b_J z; #;=4BTTY$rq_97fwsP`AAk;j(%569zNO5Pr5JKiySkxv`d)BUJq-U z!z3 F&c0y(@cYe>@HQ+;a7N(UxN1V3sD?AHyT~KB9H?Y3*zB zxu}Z)-=3V{x_h1X4z}!Rul!1*fvBJPxt841JEbC(&^?9z^P8QuCN}>n3-_zv8|Uhj z?~JeEQQq#NpPXP%)JqH`r7k>yozHs$oAgzB4R;<(=7dr2({_PSvtuX!jpcJ0#WwZd zPuiIxT8^v5{!Q*9F=VF?ct>@LUxiLu?t@b%cyvc{^B>>d`R7F{rPZAu+zve7U%}$H z&X*kx9>Ef~j_CewZH <9=xj!9G}cZlf3Z=7P(2^R?q_uIxWj^>Mm^UKAf=D>t55sgw%x^e z&JBA_M~A)Eh=2@N0Q{V %pB(fEvaA*5I7-sAMV1!nr%TmVJ4Q#=s C`ua{i9{g%3i}Nds>j*UtP1K@}dVn3`9+Q5ryV^X+%dMvx z<7aYiP+@ tprZ{k~NIz{Mc2^#8t4+$0j9aS--@1bR90gbBE7%i9X%l zojS5VZTf9*3iBB1pn%Kt9*2A#=F(2K{co;j*AxdtU7lC5K^tL%e$C(TRbSDVIf%=x zfwL{9F$fxn!5}ge2!QtCdc?qpy8iYrdL~ggB{)v7qAI{0K-mtxv^Hk*^H^?#0l-gc z9tSvX?RU=`%zfZj1^r81pG`LxM4LqUyaH;vbH1xFv>vp&txci!wmBMjJsx?ZLB568 zQLe%Z@46<`qqf8ij4%9uM=@K^;2bykKd$GV9DQ@XT9gl}TtX+I@<@#8!+q4n5gxp) zLd|My6WRUUkhbsU00M;MclW7#S+ GSNZb`;=22@+*m2%(swkrSg8*K z{PHqHzj<1hZ{FEmQ*)vNN>*eP_^)^8Qk3-WR_^cJ!zVMZ*vVjjulL-qS>oqss7}eS zzM5GVw4J5gN6kcCUzR9m3j4&jm4+Q`9!D|w-(E&3i9VIzk2o_#x?cSu`J3k(!7025 z2pKa*DeVS;vu}I8zItoTP-ga|0jQ)k|GPCb!lqLN_ywS(rInsF12qRN1}34BWOt?S z6yXBKymy2&>^@VDU5 Jz_UZg)NV3=V6LgsrZY zS3Q@jgW17W|M(nTst?Btq#fOw24>q{@3X6FEXHH@O%><-zS}{6r%O3K55q9=$BI&q z?31_)UDN&e{F@3JdbB30!%Ij`tNS*2>P97vJACg^RtufR>}p&>ZIgO)%w0r8!1bxM zES(A{vr^Ehx=Ef;3yU+-X>&CYy385{;t3PSmuqhZOLaM`M}2(OL`lZ~-Y-r23%m3c zzvVq|8?|WM?dj=lu?)`K( >>EcI)ruVL%^ z^2efewiA&_#jTI)!R(@DdL@&%gR4i!>;{cqw-a|YS&%3i{*%aN*@vqryok*Ti{5I) zq6{GsNL-)G?24RR+whz6`hA7-2d6HdMwhSQIOlfgW7}m1T^2UNdPU-~=r4N4aA|eE z<7*9k?W0Pklr-HM|3-4)*&^13-%uPqpy&Cii>8T0x_m(2D!Lc lI${Sx^BBTTBfs~`YrlfHn)CO?9-Qb&yJPBmeqw{ znxsBQQ-)Lq%TfqJhwLBA?dxiJiiKlDI;qH~J%7ri;MQ1wf~y?v#qL)Q6Mhy8uac6u z_B* RP>XLL;eeVex}&|)0;vTc;`e4WqkGCPWop$XN{=A&$b_B zFF6|!u-cQBN$G244o`2`^s66r(>Fdfz3^gT8vl&b+x?F$$|-!9Yi6x!Ce)>`E-fz$ zA1?D>dOFFCg{dK~GwqVGKgM4Rh#1~~S6MIGMdWr`RlCs%3KmIU-tSkMkLCT4N%0bB z{1`Q7mNvq+;G{UG?%ZFKrqjyfs2}=1Q?v3gDAIOY!=|pnsR=b{p53c?<7Yo5vBvHu zf+S-vl0K;VBT%_t^=e7zG~$R8rY)>K>0|DBn91BwNLU-GSvT{$u|;Es?n+B7Yu4Qs z*|^OWC*pC2=T-gFU*JAD-u$fPXxN)zULLaM(;}LY_w=~FwR59GLt(alUN^+X=lD85 z!tHIzDoeYewx!Z`*8EQ1`zi}MvCCuT7tXe{?zLYR$J_?X++YZloa {)rdNOC_UJZ=9Z|G3>U>ECe*JdefE^e`UnBt$03 zplIIN% *|!+$LZQXQtC=A+Fq;QYjvZ(e-t^ zNSld>w~pBEDG}r~?;=;(UxCiwY|Y}>$1J({QJl`56K48)KWx>#vGcR&Os-?F^-baP zTtHn<+-CbY_q04od92`j^k^lxl2yAOybD{RM&!0@(ZbXS=IeB@g&M(pnO?QVBA72e zi|1~BbdikvhXQAV8<%CQtRcahxrgAa5z&j=PKgv^iq=0neI!`1K9x6bPmAf p%G& z7HiD3o^>_O_~~BHPhDF0Yd_y9k?TKub~R-2X54#jkhcll_ptw1Zm#`)GhMDT{M-mX zT&Zo{h*(&DG+AhBJ8s-rcK>U=c>cY-V8nm->POeG(&DyA(>iD39lXH)eW@_lmm91N z8R{28G334{UKFkl>1}*&lVVB~AAD#KrHZrALJVOlXynPOUP%hlcbz&ueuGf|-ji** z$KJ>IwMxgEr?J3ZqkCz*1zx5&K9`lkS-x??>$?bvtC(hdy0C*5{A)?<%I*$t+CO~8 zCsaC%!p0|G`7E#hO(NFR0@GVVE_J+V*Bf?hFI$`07+ynuis(W+aDhI$<2pkH!>-&T zAKkDo3BoTHIDf4;Kf_u_a8Ak4uYHfC7e(r0v-k=}uJ$Xhuf%3HYQ O(cyM=WrU<)yV64cUPZ5vab`4gXB?DWOKa^%lw1zHcs8a-8XZM_joEwPKEWO$< z0(JvusZx0>o^$SSzIXtB%3Rx4)+ML@|9@$ciX1?J7{L+w=pXU;t^$A H?PpyU6m2PHPc{L$*48EfFd zga7PV10x0@zJZ+lUp>&(%83$Dh5u~(|3-$af&W>H(fWV&;0w8>T^9V0ZU5iM`dmI} zDBDc4zswN}4quw*$OT0F5~0&BWlkcnGkrX-PEtDamB>Rq3<^~{T(B=ww>2M1tA6Zh zbj@|%)C6%Pz8(Egcxrm~!C2T3u$~M=fpV Kd%QOQ#UTPJ*_-H(vBTI zolh2ZP2@`rWeWebPZ#x9E!ThdTRmfgMDA0NAqRaATzk!lwJCSD^0jm&Zv#IX*zP?9 zqkyB}<9Az$Fp9lJPw$mhbTn*_59px={*R~Vth!BZhpQdICcQBk1e&RwCRGL$V}vMB z#v1DpRuyBH7>cFiHvjYiRMk}a5rzCI9o2LoR1zISFWVtQEkJ?K<0QB3sqyS`ChOsB zpw9o KmQ7*y`!KEj?l9Wl;5y#F~_QoR( zkYx$bG}RIWD~zV#fjg&)HT)mO&Naf3?_Db>Bq;#2?Hc(CKi-@4L~B*&qYdYv^kwci z5OU;Kj0eWYW7LzLDMnLq0OC)Ov67AKa>T7Q#WbgJF<$yOyjV6|zXC!5j &e%Nh3 j)BU!Z{rJn9F@-);R_c%1M)Zn<0wr>+V*Y4O3>v>Hc-b_Ao-IaBi5=~C}B z$)}X@BF*^TU*X{4&8SG|IcF6x`PSJjWj5e>TrSAdb-5(eCy$GEcf&7xQPh~U7(sQmy#9Y4fXa50oI$2MMQn?{s1v#zK51@ z0WkQG1R*zhx7h?22XlnFh1xY=F88Kx7k+=P&Q}O0eM3v?!~Kuuv#aW@Z$*V Q%D&b zeJz?|6)6e}C9Z^BQy0ojqcRqFDHV=O2|T27o^mtCuSLcw^QN&Cv*WnK1Z`EI@WO z&}jfbtA2AVI+)J?4Retb((Y)6 tKp 8ux2vf 2Ti)8z&RAE*Zj z=oEJVVr00qf&9?h$2-c0gK8{`;q(TpFNy%9yFiA317Hw~R@E y}lK3*Q9fF0wj?DC{1A}34q0_SZ}-I<#5sGhZY@F5QxcPwJJ1`Q7vC7OJ4@3 zVY*Ucn=3@?tqIoR9|&eD?V@B?7|yLuql=YigsCY~7j1eJ3ixAqG@u+=lGq`HKA}%t zz;#d37aJX)L3xzl5gFtN#Gu3{UUnWS45zjmxXR%)(YGEm-Z+@M7rotl)WHD7wNQeC zTAYttu7fD?1VXv3#!ZLQwQ?d@zF-&vtqD`(ohk#dJP3O)V?yJ{s>jD(zcmfi`J2i~ z7eq?TUczqZ273_0la9g{(kBhTzyPP?8%-9zlL$*sdv7~1o;NX)DSYJCRA+BcXWUKT zX0*5qz-P&p^};IAR2Oi2>hA2E)qw29*n V`g&lGQ$~odhOrIbZ z0aoTNF5LaOh=b&QwD?`nJOW?T5)>^PBaht;#(3)iqG7Q?Z>5om=Hs^ +rurVJ>>SSw_CTf?a;*r=k4)4d9n;FVirS7V-iyU z?P;9&2$_{^k!oI?%=or^GK=SFH_3|cwH_Nb +36Hjn+X&|vu5 zOAcaF6WT4vLpK|Sv-A~7`?}xRUk39CM?wyyH%Kjv;^CM3Gt~S}D642yIFQ#A0 nGlLBLgZ7}TArWox%vWv)e7_%D~zT(L$SnwKGc8JkzQ}k z;yTMD6SSikR$5KGA%5wAQ$hOrhp7J(VpqJs;p8P!N~-D^^L65Isj#rm5_zq|Fhv%v z%UjF=v|?j44FFhY0(~7d-$~gj(l~O(Y7~3x&0cXih?e75>fsvhd;8_VS3ouZZ3<;L zrJx(^AQlS(j0TX%Lb!-uK` `fpNnw~n%u~g1Abp0ue6yDz50b_^U;{_=UFrcafKWG#nBRZfMFh> zy3wQ;cNO^vkcO@R3AtYOj$P{$M^-dK1UyboPI6=9Do%Z?sozAIxY5|_`9PHSpAa`H zkR&0V*hCB7PiQ_I9g;B9jW%68`c8CvorGt)3Eu&*QDHO3MU2(ter(=yvRjZv8wRso zbRH3AXd>vqS52UL6O@&@-mV^izly~Eb19v}2+0Z?vdC>27lb$!Zv zrKal)_hqBqD1q~) U1w3ZEB%z79!BLKXW!0g?zpm8H;BZa(X0HUuWfKLxRr zaP>uEHFT-n;HsACH4!I~&mn;-Xk>X?AI{|4w%2c@KyCV^-`+tCjVST)jZ8riVJ| #2+iat2aS-xbYH0}vF(gr`J3u`&NUf68 zgBrZbR^+-rO&bj0xrv$`2T1;86POJQGZ{c6nPfC(>xPo!=+IOGdfFyeYph+`fRHdF zveZo)ryC43;zVqAuoy@z8^{7c_^>`}nj-$^0QM6M6t+Y|Bz@!}1_~4|EJJ7_63Fny z*5}h}AA3FwYEW<}eb`iQEH&?cImMG<^5;ShMgcF{s=vtSxL_`jLdXM=QHUW>vaDQC z(++?_dg4T*i %wt`v4?=e=0h8 zYOfjtgaD!Szz`X hz?JJ!Eu8k^! ihe$Zh9UZDTi=2OKs H6b~3T21N{|T`e3zj8VTXvb(% R ziDiiqbuf;9ry7?T>#~1*zGk~}-x%JXv_q$uDa6>sAvN@u2LSwNv(l>9i=>B^Q!ePD zz;N^-ku0f%2lRoq4ImQ|42Ei8Aokh>mVpY|z5g}h%~_64xg0GOemSRU_nJT;j#VBz zedyFtio>SXn}J*NH8LxjxZIU$ @4QkdPAQ>Z(M@ zG&tV+$blM@-o@K~*jt!%jJ1?fjDVO6R`iniqRL?4pVMRmk;q^Vw^R&{sj? tpK;F{UYM8ob6ot!zLnf)>%F*+{TkRdx=M$UOIy z#4e(BM|neK^O%h);(~%NO$Q7<`qckVfg!Lnw|i%<8u|U?>}IXi1e(I@KrFppOy@O) zp`t6txoemHFh@8)(u{Otn%ZV!W8wJmuw5@o9UdeAm*0KUd$UCdFAL`{F&5545*Fo~ z0AxX*I0y(vR~rrIB4FAPG5KF_48Z-l0ekamz_KYut>}GX8sQI&S@gLMvl*8?a$eJ2 zv8{9pc{%!DFW=B+E(q9@1iVdHU&hh;(UM^?RtYkmct^vik7woELpYI+1LQ)A=3l-p zd`}P;i-6;!*>TOoTe{kHM?s-j7RDgVQd+D4y0| Axt>!9w#1RcA&9fGnmOZ-EVHs@P9^6d{Hv#u&@u8TjbAMGHXi zmqfW|zmNLY@t|ugnxo*#c&xafHYa?Chs~r>^Wy4;$Tz94I~_m~nB0HSz#xH&DFQCy z?ZhD5gB*}n?tCjM9RwtkRFy-xg_H_lF;yz?D0)fanyRsn%hCc2k)_={z~;hBPO7H_ z7&~3N969IM&4y>MuaR4JhBkY=xmc2#qr&6lf`+865ejDg!UItWLcfx0w4*vmQ$?bw zlNn1ye5OZB{Bob{q{6sujPW8n$ E8x~Bq$K~^JkRJd}?Ky3bhXa8KFeItiTKa zqgV>K>Hs9WU5=p2*V%F4^#IT{40K&J+lMMjC*CDrpzwAqxWAW$li=0Mgp@cZtvoq3 zH0+%Yf?T~OHw6=962#$r85D|~jKBUf!IzA56O*2KJF$YiUoWpJ7>tw5-%N{sew!?Y zai2X&<^cuAvC@Dl;kH0f(nJHD#8Q_;P?Ur*(9F`#U6Sp(Q1|H6vq#;t4Iu_V@NcLv4+aZ}ptf5Nr# z9RMeag`D8Z(jxsSZPo)A+fd=fqm$D)>+L5WtG09+yl1%>P?JL6_J;lQVwCX88`GV5 zvFzTE)o!C`hZiVr77I#qs_IJh9u6*X A%%`aG4&rs7mqM9&@4`H|6|yC5T+4uO53TPIngbH1TW6 z7}BCbz_Fm`M8gm`sYs1JsI8`tWz;Ks l6|mLSbSM-k zOQHPH7>8!tEW%$dZzItJ(fv~d1}Fnw0WeN=in-H>Dbb}DtNKrxV2Cv5U?~B)Lu=z^ z%4-=HpmLKrIq;4spfhxGgF+OCb!sCg8j+!Y`$gy$sc;8ab0mFdzs$|TI9C&q|1A^^ zNQTm}{!{fO#d_TMHG#y8 Cph zpR}Sa!&5-fo_D;9jq-1!Zz2Mc0wPXIkDC!46PA&QoDF+fECTC>Iev~&;V-V{Rg9n3 zdWnbd4xe@&JqcdC{x7KF&Ae2r+DyGV{4rIehF+Iw$q7M!BH+6q@&jT9IjKY}B~pwO zeIjoR>he=8I4Wj~qYq;%MNx>81P7m3bGrTjpj@PHJUytr7@GThG}<#RxIxUDG%vlV zcXhkdITkwpQVtaTUpgQHSmSR_G5Isf4xQmoCPLxAl6G_W?VJ9BWRpWA;co ?c0s5cPHdckZ^!^4 zES!?%Md mV{cCLq*gL%)g`&NoTCN +EgdSO;IJ!bcZbVwq#sVr8R*`WB5lET56ToIbL| z2zpSp+Faom_Rq_g1vN;7Rk2t!^dRt?RAZgI ^v6^V0t*KuP&V?i zS&k{v9_A #ZyO^RehLK2r$G5KOvJoJr`(>9ke%N9w_%|wR;|vleHTMc`Sdg9 zQ0`Vc!Nkwq3T8n^2B1KDY+;voi&*gdqe4!i6whqN+QtqmGDu_ lLrb(a#Q|fGw zNZt&NdYC3baX)2Zseo*pFWpv0k`GBmYHi5=%|)@S)8ggogFo>V4U7$e1;#=d)onHr z+%k<}UZ-LCOG(@z`MA(9szmy{^r$t TBVKYET@1)o5ndiqd0Lm6#2`a~zb#?-|rl5(kt&7s##LsBD$aji^c?am* zH=1TpT4esb`fxxF1#3AD z3!Q2)=?6 z#Qs&A4+*&J1O$H56!uVaz8iI6l1XCWg`@+f(i=+?DV}W+xT7%|oysF17W!AnZ66V< zUr{E65}SA~HwQPmS{IvwWND>iC@|F`&0Z(SyBTEzlYDjE5OH)6b9WE@eC|;zs+I66 zWDuD|^@VghIbAS-Zk3J#hZaHHBl8_0iUuI+oHGOw_h0ZFAV4mtN!6~_!lGojXXIm% z!L8_sRQW|v)vaSgv8qC&q2layu31!4%6i{q2>CKoMwy5$e%mQC#~5xlOOO8_TJKL} z)S6y%4{vGsZ!>`Z0?OKz{$%>k4N3igo%qkesj@k~AoSV*q)`xh0O$h>u2t#~(qdGO zj)c$E93ofk5Jy%IZR=M;5$Y~)d+Nvj@KohLNX7S5ZZVQMiv>qilDN6K^%`9qSEr6g zHO32+MtHlQ>k&mUNVsVw49ckQ^Xd6%i3nmS&4|8jq*~hii76o9WzOfktwgn3(}*0w z(m%yQ_>ce=7SkYY @Bu{qf(x*QVKi55(R&&@t3{4W zi_by3i^Z5S{hKG{TaB_a0f?}Dim*OT(4*)Rx+&yaeHV$SiW3v{18Q{G$*X?b=$q0% zEZp_MjJyj12rZgI>&PGg4l^YRVS9*2O*bw13=tZb0x0gzU 7D!5hA_uC zoQ$8lA*G|CX^ql!4h1!C8yK$3)NbE(kwGPvqt>JWCo~jB~%-H`b?`c>l&C?9f25Sm_12LZAx+8Tng!;+N!n=ehgd3y$DMpQG{ z2$ ?G zB0+5h#NY_}jMi&WDB%@KDQgn|pxpGq=@!Az?^_c%!4E{h)gc5Qt(E_gY+AWu5mA$q zo -+eo1GZT?pr9S5<&JpATTJn`kP{thl)!7g^ zaJOgl!8~z6k{BzeO8^8w!}c46t`A)=%z%cTHHfB@=M5?PP=!|~m$>#T4{!_LSa3Kk zZv_D!$)=|_+Fn>XX<&RdKMR#`Y#avs ee~;_ga&aAV{NFFdEO7 zNkmntnUj_bfRdaTA1{$j(cIAPM@TAx%{bTpH?+R+B`3;DS`)<}it%3ME-QL%JReO0 zm*b?yLE2$JjwGH_9JNo#*@s@HE_U=B8|F16Faha-g@CXGw%b|w-s{EM`fQD8uW`uJ zdT?;5JEDSNcumQS1xvO8)a4=@8YPo =FBTQx6?uo(CAP_`cALaRkOjDGa zzu$SAS)`1c!L*{*cHYrC1OQ%{MvS?i^zG86;b^H=KjzTV8UJ?QnPtfQ<6h8=D}51( z14bQ3PnI>0K!6Vj&52V;B85ZOtEnGBYSSc6W$Y}CQc*@TW*!sn%LIr6Tu5Vm+|fn1 zg?)6h^oO?G?yr}d+Eo?<(T}le&+VhXK@rLjG*wV%XQ!rh#V7(|cyvjQZ-bxmwl4Bl z6E8#4uUVO~sQZV1pn;5i4!t9CHgRp6u4fm2-_ fC=TP(>$! zTH dZ96hA_%UL!gNC#%c{wvK@Fmf5f_4NE%%3W8m%ghIwL4#dS|U^z`c58c zr=23Sh@d27iB)g$2ahqcZkOQ@6Ws9Vsw9&D;B8?^Cgn=`t-d6an>(3gCkDykpkc z$A5OX5G7C{hu4VoO4-md99PMGZxZvK%wCM8d )0s;nqk(wGIC@xhb>2$4E-b5Z}1&P{leUqf}D2*G`TFqs~Dygt$R?kpdfk z8L}ohkpd7M5+82QR1g`z;V;=c0KQuO;0`8X*k4>lOcos2kuoar`QUg}0b#Iw?@)%N zz?8}>w|Erw*~Mm;U4mX8WQo+H?C<`%SV_zp=09%L5Y<+{J*C5$X2mxgjBgDt`qliS zxj>0kWI)FjyJ@pBS1ewKaNNX4^GffL-!sJ;mD)8|-`|b6H6){bqyaJwBz&ntuqyJ@ zo~GstwQGp#5*5!EzJA3|M1zCLUq3#WCWo2yu4~rP7{>M~;oIKfINTd=eB1)D4&Z Ox2%!D};o5!-xkD@>Nf6_Z@41zVjo}oaErF+5?Kc4KjT*>m9(xs##$e zL&0D11Cg3()_jRgVqIW*{mUSYn^3O|jz)=e6o^;}#QWpjMRnv$GL1%;UZ&4Xg$=Kq zx=&)-7T3y^8Fek^s>~3DC0)d?X2e5Za5f`hMoUrjnD-}Q8emf}4Ac)InoxTD(KFX` z9}%4+Z|MEuYjm+f1Ox<~bi=8eQu5%s`wa04Kf(mtyQZT?W^QilOd+0k7DvhN4^307 zlLl&74CiHke-u+blta|z*p>!^P !0b3BEWi8qo2@6-}hj)bolzu8#vsgOUd249oBRn96ub}Ho@1u>W+ zB7fz@TDXPFE|>Z3nO3nzZ%H%`lpMrKYiWu~vo3w9_JKZVo~<;Qv_u)B>Qg29FU%OF zv80 Z8zVfo0|kiA CLz>j3k_{DBTVx@PVixe=r2`fzzNZ z`j@~(Gln5NEru$+RB%(rlrBU8wPMF}rDK (Q!*` zC;<4P*c yX %GjHv@|3JDwNf?H0)4*?$EgNKUAqRs0zyn?xP|5VnN__Sz-irShIa zHK?&N5X=?e$n7?xgW`yw?VJGCD1sq*WrVNF^~^^o6jMX6K@H3FvNzU~17`yz6T6jp zN1v~O8H3fDmC|S~-#3LlNFukyB=4-MiwZv!@8~$b<2bz~Ju;Fz#}Gno8Hr{_@*Bt{ zC=46GHNU%1kf*ymfq4x;zIct0Ycyf}ZEbmK1~)dMoNd;bu7U4y@9{B*J`&c|)KIK| zELY8u^8#6UG9t_W{sul2ZpvcS9;U{RA&IDU7}pA9xjne!m=6I1A+x|q)ZuooAKQ;+ zLCuWmx!(M{7u*iz@yWa_(v1wSkWIj$*KlyjvGfaCS e>IjA~BoX3HS2JH&)QV#XQBe$xed{$6yoFGZOW3 znQm4)l{@=rZat?Be#)iHD^L|D3dU6P20j%MGhylZuYMXF1xSBn1y8B;v_PGI|Hq;9 zC=sYRvt3qrrwqoC{q6ToF(Wg7y|Lc>%7us@GQGRvJJd%y{6Y~m0{8#Eaqd6vTeSkl zhdp{4vCW!^1H{8%kRyFlTVw_lFCF~TEFl|C`Q`x?A}1LpPj)48wBZ|CVrDjD9B+z0 zI04&FfRKbLK2l1@Yq-UF=?PC8%+zM=Yo_P>sulcLd;CnT$m64Bz=@(~E`&*LN+UhB zyWxv`5XFimjRldn|C4SF5Pk(}1UQ7I^ZEUxsm7gC|MpYA&96DY{^{}70WFJ9NZYwp ztr3ez!6{1=+!3_N!Ly%)++$+H!CfP}Fv_0_Npeg@z_qeGny)-N;E}Y)VgnJk!9>+% zSl0$bI2eo8Jox3FH;YQ16Pmf*=g#fPLmQ_ZBvOd17fgaX>PMl>SQiH*q#6$2!#Ct| zAtJEi!$s_owD;?+lBSbXc_!yGsH~R-?@ZajOyPAMwx)X&FcGiIwO*q_S@q8p@lJL~ zFbeq|`~%RUe`{=tz0`%io|nspfX@BFI1US1^K$X5GNmDOQvPrP02Wc9E@Sj6NEj7_ zwTih#o3YR82-3X=M0* w|W~=iY#%aC~=|tg)w925l5`3B1_$&Oi2=!JQ z%U<87KexZCh;M&6jo=B)!hqSxnLPWUjo3(zJi8gXDULT-V>f}E9 J~e0G`(0~6?0o* n9?9puO}4reCNtQMXf^`!EIE9rIkG^4$($CptCz>~G7y?enQbs#Ra2N +bblLc&c&fp5*|G 30`jFo)gdR zf84K}&G4=# rmM$IxZr7hq>E7dAlQQbOr_s*bDpU1t z7<6=3(RZw&+9Sz0-%cQY#=sIa1uKwk&wL&Y @w(o-S&jvUHcil@N7Kl%i+`#Y#&0tVsLy@K93b1IH1*&^sSI~D z7Y|A)Za$Qpp)KIpbqvPn&;5iXcW+J?QYJ>JYJBAf>?ndeN`dBNa-2H#o3tDsDR^Hq zau9`~T1D=@M~SeZWIU-a8A%hDAB=N`f}7sL)8SVk_{lWx(IR0>LQ3w^zI023We^4= z1goq7Ja7hbsnG>d2-s=$2L>Gb-!RF`>fx%fyEmDFZ}CRd*nqYdiC<##J@Vp^RLXm! z`r9Uv<_r}%hcy8k*MWv3iPyKHnT3}1iKv;D3J2-C29uIkILpZXVWV+x&71XPaItZ( zFWt+q-rvVj lKkS@4q`AyOgX2ooEY9vIF_Fjj;)4{Ehk z?O&_WL?chw_{OBCYFxX)@?RjDLo2zU<3|)QMOQXp&+3G-1}p`1LY-F+YHeI39K~eZ zoUhUB4)<8de Dp#YW&b6YEWj~kDA+(+Lz?tH*tr&de3?*g X8 %m(LAk=Iuy~f5zr~udw6b{Sc zHi`TjOo2^P;D4>43wTDfH{WhJC9@%iNOEln=oH>f{ti{zwV9@b??V`3NjUXOq+^f( zvFSMmT kyW~f>-Ja@Jy zP%~ch{?T8pAT|CK9dW8&2v+cmP3iPFFsYHiPRd{y+Xs6FAy*+jyLX@`l;$+EuLVZ* z^id!6S}afJPwNblIMmGzPv_Mcm1Hwnc)FbT)Tu-hjXv3Nbv3G&qU}BP7_^hf#J%$D z{P4DFmgJ|fpO=Wc&31)ySSV_4I@i{_-GTb2KNdRkUH%WaM^m4iwz>i W zN*<>{A(FH`p44nn&J}rj{OmYqZc+R8JUU f@b(Tfa z<#0)h(Ku2$6` ATT8q{}=4 !5>_k||iic*w{!a*h?@f$Iq zH-eo*kwkB&>2*f>4JSW_t7PvDb3W@K=IJ% `nEdO65NdQMo0x4|?5?gtU^tdLB zY4$$QfTXVk3n@&1ox5iIosaQgO+xcTa(|DEcBd58p*(+$oTFh{YB{?_u%*14GskMX z(^n?tGxv*C^NHl`BD7pr60SV<<=
)26y&SMkHTV=sFLH zwQ~I}-c-Jz*#+^v3dfX{j}C*=R_P3YGIf%Ht&%QR_?sbG9TPcx*2q5Z_3`KF4ofQO zqMCSl;q_d6RfDk@IVWy=NfWK1n}^a+%{c(}Q%>;{4f+P2Hv88gYsFM9-}(i2O~KAYRv z{a|C@gL)>zsoZJ4$F)pmN|%xHnRnA^wUM?#lk)wZ!~k##{_hZwp+U(#WD`v4j8j&* zr q?nN9*>*QIM zGwx?e@BBaf;e|wU0aa-Cp-^!0z9tfOciCwB)a_*<&F3_e9g;7a wf4+Ra(W;jw z$o*>2j?uN7ht!J+?#*Xs3V(TjKM=1Z?Hm6t+Qf8d{2kj%(C)w!12)zSTdCS%gc@rL zWjgFT1p#-o>iaRmmy&bo(*q#LKpgUuQmK%3jO++RnwY{6U-_kzLAm&u6i5`C;vES@ zZ#Ni*5iN(D-^+Sosc8gJPd1g_U{{zxY+ek`63h-1MQNQden(+>iO;*ndqXQ6E|e~B z)uCGC3q?~s fXIR~99^EEsF-+Ycb3n*SZVY=h6ux6EBMW- z?qm2iz+_iQw;q%-fRi*)_kM#U3@u_$>0u(}8 E0St9 zH$*Tn*erh}n<2MUm3U*{2$(4(`h1puAPi&9k*8&oClUebVnCVwMf2%Z9E*IK=)$tA z8G@`9FfS+=L9&P$OH@sIF0lu!B6v Iy%Dhb w_QSQQpz}UAV^oqKxgiXf-#xUT3ZlH)7KP7bXo^Bxg Q@4`u!HcK859WM5GQmWVTZd4Je`f-g%$g)-b zG3CRY2CNLX{yWMtK?({AXFO(w36Uz3kNq&GDl7uVt8_pNZ&8l?UdH|8Nz~YjpUs6C zDy5|`qi9Y4_rJO>62Fn#z^uKYpkKljHXJPSXmzO=H)w0a=rN~kw?yWVD&AS?jjo3? z0r>3B%5Ae0{7hOn)ye&vhs;U C@g%%QP|#}?8WU l)*yC#X0iMz;b 8~Z zp)%J=ad>YD`bn}bVf;D=w%JKA?H>6AIuq_&5C*BRX3*KND*lJrD0eJxhI))$<6p<0 zGgvi0eALsl{%TAs6Z^9rM4w6t9}pdAivfhjsJxSR>aKAgR@?!o*V=LJf0o2Vg*H|o zl||BMK)7?7%j9m@_KSR|a47# A_ z`e=m?2;#w)X?%;2y*b;N IT*(_ zS-cfT;93N%@Z5t7ml{|sbYLZFM)#VKPM13b0Hx08*vmOJpi9RRuOk%pm>6Bt{IhLo zl>!mThYF?A%xs|s9QzaK;rqCUI7tBAMy^svt!!hf1OQ7g5ierI2wKK&Ei|p4+6Us* zEpkCOM-!aPd7SXYX*9jAe7>R3Ms*BkhNnIML&`gX^+hP%;S>?UvN; XD>E-fu>aj{;D6?-A?QFd 3 d%;^ac$-`K&3U%5=NV*FmfCsl;r{ofvPzor04S z3|i%-F=k>L 1v8Md_x2l!^sLNgK-H(7bi^YATsI(ohUrRAuXC{E`Xqn6wzNV!INDI zWpzY2p9rg{C+Olx*)Xh9DV%_wMZtfy*xrBF1U})KfNzSWJF923i>xu4WBN=7Ls2n_ zcDY{{yV3g5097fGGY_em5%4Z2L}a9<%dK45VE%}F-?f;e*Y<^r5|B=(J`jgo%UX=5 z|6w(e>YhGDBAFt-$vcAN!4O7mjtVQni7cAHs$HyFYEU?8U^)(Z>ZEjX2)ya8`Wr@} zz5mYKBAg0_9RCI|>F&bY9Ey*nMF-eWGJ%wq&!oAG9rgqOFx`hyKzRDh1`HGjiYAN% z8HaJ1D~2!n#3|t22d7Tb5YWwH+z6i&1*6>+6wYSI1NSD>@{0_P^jQpZ{G>KELn3q9 zX%R16Uy^f?L!i$z*#LSd^{~y=Tqix{r`aCx1aXPX9$i`O_u5K0$_<`^UyI#030q6s zfkV~P)Pnx~f1%_h-_2qp-HXixjLy?%0z`ez1(Dh>9O!+;dm2mbr11MEv{|5N7m`k~ zp3X!IvHGY%?*jmD^x7}6AvZBEg_p+m{fyg;gwd$i)TKHLBYQ1vnvb R<%QU&XpO7JX%B; zXy}Zuyz~oE5Se?r6*FX!>yI2v=~1mMC&l>CjUc@(DK}LE|797wBugQdqUE{{g_&hL zR?;q$>D;A%cc2`{@+gNk&t)hoK=QAxsPpxm(!W4L2po!pW~jTTIk9k$njcr7TB~ zpAoqLIh0rcQo4dcD2o(`QR6K31#C154~Gz*-K8;$w-h>bBgT|=LnB((iE+6g=~XBk zFpNmiRw52KK%}{Z1pR%6y*7 #RwEiwzW{>DRfb7Htr)9&vTkmiG +vj$xnZ2X>30Scmh&`_+zV^*y;A~kqFZ}{5R-I81E4Hg2D8&7<_E;JVC|4=PA{u z#=E8!14}3X9M3OJ2LO_|SIyNMge2h5NXTJN_ctlsddA>Dn>KpSks2@0fne$jH|6~G z3_6(*e%r3&uU{or)&VCue9R+|p>4{wcD61-27Cwv09nSZ0_d_v=ZbY;?`H5{;e$z7 z2f&mhia;A`#ms>6nK6#zVg-yq;G9c+CYiy{D@pt|`kz>zc3ckg)r3+7o!Tr%C96Er z*WYm`)+{ltML76&|K6VS`E@tQ_kOMU;3aC6z6V;9VusD8ZX)$o(3d>cgYlLCKG23C zwoWn4U$rxQ@!x+R76hG)BhsaM*7a15GOLN*q0=<^VOK8{m+B3xELY^3ztXu5s`i%= zn1-%@s$How7^Oa6s-0l^IA6|8!Xd=3SyA6)|D~8~rNZw!Sq80C?)6b6vQ6M|JTsx3 z`?f&HC0!)$ p)c*;)Wn`n5$v z(Xq=c_@uHDNP0M#*+>Y6A*7_za )l2})?1A`GSst7Hd!*O;7nSyljN(4<-FOUG# zsZPaAS!Dr&cLyEXG%&u|$tP2f@j7%Frc?WCD!= z`KaDeA0;i*LP5<7;R9zVe^@{lD5@dEB=oK1#7r7!WsX;uFvQtnb&7A1LB@c j>$Kqkfgw(lpx26FxJLB=nW)rwGCz0~ zmFRwA`4ivQ)?q66w=Z?%0yWx|Uk*I4? K`sjyeNGQF`E4n%5v;SIv z)6gG?G(-?9k+V#Op;jd9pBk)U=C?p6g8Sjup)Uxw80^F<8p=c_|CBpBg;No|H-H#S z7?`iOUP{lBkc$jB&15w=b-8OgcQP5*n3wJ|9;jl4d`pf8&^_l(T%OuoJrczK)T%eM z{QLnc64wZ 7&G)k!aIbAkxl{24G15QC?dlzWfh9vz=8eM`1JBn!p7j( zxxb|yZwNQGEg$k @4EPfqYCmBUU|6FNd_B~x0TpJhZT}A(P)8dpxN{L{ za($<~8d$CW!eghEYWLzYsWGhNawDXX(5?*W!XN@DwvQ0wH3}z+=A-dBB-1LpUmNMA z!=w@`sx#@w?13);En$%Z jd9I%dDLfXk^CL{tIgCpBbVGar zIaG_O8{B5-6KUx14c@3f`MqfbW=L^yXn4LF%~Hv0;|MsBFcy}ny9nOv&0ekQ%E7oR zXUeWURTt0~ef(Jxj_hBr|GAW_7P1+2rTf0geI>K}@e}~c`HFlnj6dquf7D~&@pFnJ zV*NlTwve?Z$=QiQ@6fNsdC^sT38oQCE#8BrqRyUx*3Vt_JhXTRLUJ%(8`XDl=>%{t zD`nL9L}F95SmR9>200@cV`w9Oi`6-%6G3+!v?-@=pv~kDqm$HXjPxo-MjbHP5(v%Q zGuJtZ{*21TuS5iCob5dL$%i38r!3K~{hwP(BEZD}M^ZCqqZ8@UgB&0K=bmGa{K3nx z|8dtrfeNm`Z$00UD{mpac((ty7Z1|F=Rf0`!QcPe4kvW{%fN~)Q~7B~+4}$f 3I0v(;7ezuv)Kan z?@*)F=gc0yaHkdry0xzMnC>|0BqVoZQ1v`zQ{A(0E~0uU__a(rq}|5= zDcP<740eP_Lhzil=L00Xylc@7>!De-uPn)yisSx#a;W?!!QW~BQx`MKLMxoxM(Spg z{A1kN>|lUI+8-^J4#GHI%A+>&K2z6~ ~D^67|wf9jgNL;z4ZYs-+jj>ZxM zhwR6wstyTpL4luR%6~x8t5M@gU%WdkE*G1G%UDgWY_sfhqqx0)>@B!0xO^Ks&!u$Q z20+dhs{998fkZWcP@NCkfaoCO{>J@5o=Z)Y@4jB2_B(@LXR45{WEPXBbz_e6pB#(0 zsH`tiM=g^Dchmt9mGx*%eoYNKr)w{9=AMibbv?y1Jzf{u{wteF?)`HhXC0N{e4Ru+ zeOdTb`opuT_=$p##P4*+a&IHkiPXxZ+@|0qcg6Pl5TY8hSX^jRLw}YJd;#6fs>}M# zpT#3A68BCzBKYByboW`O;S)0Y8V_B_(I_FTh`r>Gf1j@7KZRoL;=g;G3z<>Nh63h5 znL>W^!O<46NleLtf rs z7E-+^J>Qgw!<{vAUEyDf<$FqO{oG5(JwvcW`)Qh(e5shSNA}{p$=xqtE%kCJ_M+*2 ze&S~ZdQANaa|favHoo$e^KHbktY#R?;pV;w=}JX{k$X1dSe* CDQS3%dlL{w*z zU?mO_OOMX6&E&{4LAkf=66&?8jS;VqZ&S^|xgaJL2At!pkS0U V)T*(rgca?_^p)?IcCC^ znxG_$Qoz1pm0F)KRX!x5=C5r;mz#a%tfet>kv5Rqp&}?jdTHTA)puR$N!6Hb73W2h z6#K=zSXJ8>wd_ABBhTD5s~9CQwU;zK?p&C2G*3Al`jE>DfH@A`H~wNxoS9axiecSv zI|Kd)>eT-Z&R2D@G 1iR^7T;K-?MqKaZ{dKVPq3xcV#~YCcfQm;G-8v;UK~7t?&n7fXBJUEH((?IZSo z@GJX9)vCs?Eg+sO|G&M&{!gA|Z^~ryCzo#qs22a ?|>=?_~NP?=xRm z8+r-)jbCwK7 zG(btb_2GJTUtd#D%%;Cp##F _1_?`D%;p#AUpi8ZlEUy(`Uy~m)yQjzbO zOf_=M3wRy7-3#<|&FlZvtLXddHc1KpuHdJ7J)`w4SKawsY1DR3AUlm|zn*O9qwd|` zqm+Qd6LBXp53%MT(td${MvUkCOXh!oJ=acxYFGDjDLiq0(*b~F6tX{L)Z?Af|2G}s zgS4h%X6<#{>O$~spV2>k@2=_b+Z#evNE3E@$Et6&%J<59dQbz{FQD~#j%P^2Cl(72 zuTt8Bwp^2^hIvIxcYD5;bV6>fTc`PYW76e$b~d 9<23%j{-`rn8QMp7u}_*G3xb;?@o2bYrk!c!QC*LwMybZq zA|yH+J`7jRv$HmY@nU &)dI- zgWbY zrLli7 Gpm4o6eO{)TJ-3 zA%5^)S|P?4<<{Yp(KJ1&oG-&}w#Mt!7!8B7+0x23>p6oH+`tAajoaKc)QUVD7Nlcg z$%