From b6e43080f2e1c91c2da58e21ed7860a81027ab07 Mon Sep 17 00:00:00 2001 From: Josh Dersch Date: Tue, 8 Mar 2016 17:23:32 -0800 Subject: [PATCH] Added (temporary) code to debug floating point issue with Dance,Starwars. --- Contralto/CPU/CPU.cs | 15 +- Contralto/CPU/Shifter.cs | 22 +- Contralto/CPU/Tasks/EmulatorTask.cs | 15 +- Contralto/CPU/Tasks/Task.cs | 11 +- Contralto/CPU/UCodeMemory.cs | 17 +- Contralto/ClassDiagram1.cd | 2 + Contralto/ClassDiagram2.cd | 2 + Contralto/Contralto.csproj | 2 + Contralto/Disk/Josh.dsk | Bin 2601648 -> 2601648 bytes Contralto/Disk/allgames.dsk | Bin 2601648 -> 2601648 bytes Contralto/Disk/tdisk8.dsk | Bin 2601648 -> 2601648 bytes Contralto/Display/DisplayController.cs | 5 +- Contralto/IO/DiabloDrive.cs | 3 +- Contralto/IO/DiskController.cs | 9 +- Contralto/IO/UDPEncapsulation.cs | 11 +- Contralto/Logging/Log.cs | 2 +- Contralto/UI/AltoWindow.cs | 5 +- Contralto/UI/Debugger.cs | 388 ++++++++++++++++++++++++- 18 files changed, 451 insertions(+), 58 deletions(-) create mode 100644 Contralto/ClassDiagram1.cd create mode 100644 Contralto/ClassDiagram2.cd diff --git a/Contralto/CPU/CPU.cs b/Contralto/CPU/CPU.cs index 1710b30..80b5898 100644 --- a/Contralto/CPU/CPU.cs +++ b/Contralto/CPU/CPU.cs @@ -126,15 +126,12 @@ namespace Contralto.CPU // Invoke the task switch, this will take effect after // the NEXT instruction, not this one. TaskSwitch(); - } - else + } + else if (_nextTask != null) { - // If we have a new task, switch to it now. - if (_nextTask != null) - { - _currentTask = _nextTask; - _nextTask = null; - } + // If we have a new task, switch to it now. + _currentTask = _nextTask; + _nextTask = null; } } @@ -172,7 +169,7 @@ namespace Contralto.CPU // WakeupTask(CPU.TaskType.DiskSector); - Log.Write(Logging.LogComponent.CPU, "Silent Boot; microcode banks initialized to {0}", Conversion.ToOctal(_rmr)); + Log.Write(LogComponent.CPU, "Silent Boot; microcode banks initialized to {0}", Conversion.ToOctal(_rmr)); } /// diff --git a/Contralto/CPU/Shifter.cs b/Contralto/CPU/Shifter.cs index 122f98b..4887b02 100644 --- a/Contralto/CPU/Shifter.cs +++ b/Contralto/CPU/Shifter.cs @@ -159,22 +159,24 @@ namespace Contralto.CPU } break; - case ShifterOp.RotateLeft: - // TODO: optimize, this is stupid - _output = input; - for (int i = 0; i < _count; i++) - { - int c = (_output & 0x8000) >> 15; - _output = (ushort)((_output << 1) | c); - } - + case ShifterOp.RotateLeft: if (_dns) { // // "Swap the 8-bit halves of the 16-bit result. The carry is not affected." // _output = (ushort)(((input & 0xff00) >> 8) | ((input & 0x00ff) << 8)); - } + } + else + { + // TODO: optimize, this is stupid + _output = input; + for (int i = 0; i < _count; i++) + { + int c = (_output & 0x8000) >> 15; + _output = (ushort)((_output << 1) | c); + } + } break; case ShifterOp.RotateRight: diff --git a/Contralto/CPU/Tasks/EmulatorTask.cs b/Contralto/CPU/Tasks/EmulatorTask.cs index f4d6564..b2bc3d6 100644 --- a/Contralto/CPU/Tasks/EmulatorTask.cs +++ b/Contralto/CPU/Tasks/EmulatorTask.cs @@ -1,4 +1,5 @@ -using System; +using Contralto.Logging; +using System; namespace Contralto.CPU { @@ -50,7 +51,7 @@ namespace Contralto.CPU // "When an S register is being loaded from M, the processor bus receives an // undefined value rather than being set to zero." _loadS = true; - return 0xffff; // TODO: technically this is an "undefined value.". + return 0xffff; // Technically this is an "undefined value," we're defining it as -1. default: throw new InvalidOperationException(String.Format("Unhandled bus source {0}", bs)); @@ -125,7 +126,7 @@ namespace Contralto.CPU } else { - Logging.Log.Write(Logging.LogType.Warning, Logging.LogComponent.EmulatorTask, "STARTF for non-Ethernet device (code {0})", + Log.Write(Logging.LogType.Warning, Logging.LogComponent.EmulatorTask, "STARTF for non-Ethernet device (code {0})", Conversion.ToOctal(_busData)); } } @@ -198,8 +199,7 @@ namespace Contralto.CPU _cpu._ir = _busData; // "IR<- also merges bus bits 0, 5, 6 and 7 into NEXT[6-9] which does a first level - // instruction dispatch." - // TODO: is this an AND or an OR operation? (how is the "merge" done?) + // instruction dispatch." // Assuming for now this is an OR operation like everything else that modifies NEXT. _nextModifier = (ushort)(((_busData & 0x8000) >> 12) | ((_busData & 0x0700) >> 8)); @@ -302,8 +302,7 @@ namespace Contralto.CPU break; case EmulatorF2.BUSODD: - // "...merges BUS[15] into NEXT[9]." - // TODO: is this an AND or an OR? + // "...merges BUS[15] into NEXT[9]." _nextModifier |= (ushort)(_busData & 0x1); break; @@ -450,7 +449,7 @@ namespace Contralto.CPU // particular, if IR[12] is true, CARRY will not change. DNS also addresses R from (3-IR[3 - 4]), causes a store // into R unless IR[12] is set, and sets the SKIP flip flop if appropriate(see section 3.1). The emulator // microcode increments PC by 1 at the beginning of the next emulated instruction if SKIP is set, using - // BUS+SKIP(ALUF= 13B). IR_ clears SKIP." + // BUS+SKIP(ALUF= 13B). IR<- clears SKIP." // // NB: _skip is in the encapsulating AltoCPU class to make it easier to reference since the ALU needs to know about it. private int _carry; diff --git a/Contralto/CPU/Tasks/Task.cs b/Contralto/CPU/Tasks/Task.cs index c84371e..2e3e395 100644 --- a/Contralto/CPU/Tasks/Task.cs +++ b/Contralto/CPU/Tasks/Task.cs @@ -1,6 +1,7 @@ using System; using Contralto.Memory; +using Contralto.Logging; namespace Contralto.CPU { @@ -92,16 +93,12 @@ namespace Contralto.CPU } public bool ExecuteNext() - { - // TODO: cache microinstructions (or pre-decode them) to save consing all these up every time. + { MicroInstruction instruction = UCodeMemory.GetInstruction(_mpc, _taskType); // Grab BLOCK bit so that other tasks / hardware can look at it _block = instruction.F1 == SpecialFunction1.Block; - - //Console.WriteLine("R5:{0},R6:{1},IR:{2} - {3}:{4}", OctalHelpers.ToOctal(_cpu._r[5]), OctalHelpers.ToOctal(_cpu._r[6]), OctalHelpers.ToOctal(_cpu._ir), OctalHelpers.ToOctal(_mpc), UCodeDisassembler.DisassembleInstruction(instruction, _taskType)); - - + return ExecuteInstruction(instruction); } @@ -452,7 +449,7 @@ namespace Contralto.CPU if (swMode) { UCodeMemory.SwitchMode((ushort)(instruction.NEXT | nextModifier), _taskType); - Logging.Log.Write(Logging.LogComponent.Microcode, "SWMODE: uPC {0}, next uPC {1}", Conversion.ToOctal(_mpc), Conversion.ToOctal(instruction.NEXT | nextModifier)); + Log.Write(Logging.LogComponent.Microcode, "SWMODE: uPC {0}, next uPC {1}", Conversion.ToOctal(_mpc), Conversion.ToOctal(instruction.NEXT | nextModifier)); } // diff --git a/Contralto/CPU/UCodeMemory.cs b/Contralto/CPU/UCodeMemory.cs index 4db1658..a17722b 100644 --- a/Contralto/CPU/UCodeMemory.cs +++ b/Contralto/CPU/UCodeMemory.cs @@ -1,4 +1,5 @@ -using System; +using Contralto.Logging; +using System; using System.IO; namespace Contralto.CPU @@ -126,7 +127,7 @@ namespace Contralto.CPU /// public static void SwitchMode(ushort nextAddress, TaskType task) { - Logging.Log.Write(Logging.LogComponent.Microcode, "SWMODE: Current Bank {0}", _microcodeBank[(int)task]); + Log.Write(Logging.LogComponent.Microcode, "SWMODE: Current Bank {0}", _microcodeBank[(int)task]); switch (Configuration.SystemType) { @@ -197,7 +198,7 @@ namespace Contralto.CPU break; } - Logging.Log.Write(Logging.LogComponent.Microcode, "SWMODE: New Bank {0} for Task {1}", _microcodeBank[(int)task], task); + Log.Write(Logging.LogComponent.Microcode, "SWMODE: New Bank {0} for Task {1}", _microcodeBank[(int)task], task); } public static ushort ReadRAM() @@ -207,7 +208,7 @@ namespace Contralto.CPU throw new NotImplementedException("Read from microcode ROM not implemented."); } - Logging.Log.Write(Logging.LogComponent.Microcode, "CRAM address for read: Bank {0}, RAM {1}, lowhalf {2} addr {3}", + Log.Write(Logging.LogComponent.Microcode, "CRAM address for read: Bank {0}, RAM {1}, lowhalf {2} addr {3}", _ramBank, _ramSelect, _lowHalfsel, @@ -219,7 +220,7 @@ namespace Contralto.CPU // (See table in section 8.3 of HWRef.) ushort halfWord = (ushort)(_lowHalfsel ? data : (data >> 16)); - Logging.Log.Write(Logging.LogComponent.Microcode, "CRAM data read: {0}-{1}", + Log.Write(Logging.LogComponent.Microcode, "CRAM data read: {0}-{1}", _lowHalfsel ? "low" : "high", Conversion.ToOctal(halfWord)); @@ -234,11 +235,11 @@ namespace Contralto.CPU return; } - Logging.Log.Write(Logging.LogComponent.Microcode, "CRAM address for write: Bank {0}, addr {1}", + Log.Write(Logging.LogComponent.Microcode, "CRAM address for write: Bank {0}, addr {1}", _ramBank, Conversion.ToOctal(_ramAddr)); - Logging.Log.Write(Logging.LogComponent.Microcode, "CRAM write of low {0}, high {1}", + Log.Write(Logging.LogComponent.Microcode, "CRAM write of low {0}, high {1}", Conversion.ToOctal(low), Conversion.ToOctal(high)); @@ -337,8 +338,6 @@ namespace Contralto.CPU { UInt32 instructionWord = _uCodeRam[address]; _decodeCache[2048 + address] = new MicroInstruction(instructionWord); - - //Console.WriteLine(_decodeCache[2048 + address]); } private static RomFile[] _uCodeRoms = diff --git a/Contralto/ClassDiagram1.cd b/Contralto/ClassDiagram1.cd new file mode 100644 index 0000000..7b89419 --- /dev/null +++ b/Contralto/ClassDiagram1.cd @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/Contralto/ClassDiagram2.cd b/Contralto/ClassDiagram2.cd new file mode 100644 index 0000000..7b89419 --- /dev/null +++ b/Contralto/ClassDiagram2.cd @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/Contralto/Contralto.csproj b/Contralto/Contralto.csproj index ca432d1..d3fcb2a 100644 --- a/Contralto/Contralto.csproj +++ b/Contralto/Contralto.csproj @@ -179,6 +179,8 @@ + + diff --git a/Contralto/Disk/Josh.dsk b/Contralto/Disk/Josh.dsk index 867d8f8bffae5b266b768732fb5bf4ce9469a0ad..9ab14089215c7edf8f3e7e6d6fe827d7c14dbf13 100644 GIT binary patch delta 234661 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

^1hQ9_>_(zs1pbkIuWH=r8ay@_rz$ksOmU{3 zO(=P=s4UtEXOtM*7g#(-yhz+qj8BIe;nSCxKIJ4ReJMqF@+;K{cj-$@(Ra`jPcOl& z;4UtheVW|M^Sg=qiTeKjiMT$$8Pje?3R#~oWxMPpTplE5`{FZBoHS0`yZx1!6S5{` zu<}s%gfe!4T(B$0-%!RTNkvD(vy+yuVBO_cN_|OQ2^+X89Pe5!mpbtVavHBp%Nd`v zkQ}SJn3WG$m5~GI)UqojsRUb+y<+*wav39?%)6Lf93&lQOcyT~zJG-Yiz+Kz%nqCs zIyg+u2E}t0)Ai#i_asQ$`_U`oPsx7?Q{)gHdHeF;ud?L(P2W{J9_vN+splDBE4^L%ad#bxemgq|aeMe*eR!$QR&X83q{LgsPp z6IjqsU_oPJj33edu5P|N7en-`lKq7Z8}!jaeg~7%)!W7F#IqU>F*bZ*)kn@Hjrl-@ z#G`LTH(D+7)zYuC>*JH_+YM z-QF!e`nv6s3~~R#Xvlv*^g(*u|LwR3QEgz*!~Msj9wg8I?T`n__J2FxK`bL) zg8zWRCXalC3EU(4IYQ4mM&outH+l&Nr_qF|*p&j>NM43{eBl+Z?)D>STMW{#1?Kcc1~dt<_+<^jII_ovaN^fO$Su`#31$hi5Xj3d!5pS>IkV+VJKv4Z2x#yc++0#4 zj$0s$6Uf_aYUD+TQPAmN9rgy#0yw}_frAca7X9L>U#*A`^LIDg(Op|UM#sj{!5e&YaT2YP-LFuMIVnk~M1zm)m3=xFyqgEVo9)nt& zM6HG1V+>2t!qX2hV}yqqnCr1qHxf5wps{$MAq7>y0J+GJ090Ze$6?@1Y1LuNsAXtt zV|_|QPcMfI8$28ivNQv}@>DuvP3heXF3rz9st$j|13i?va;>$S<47DHyU$=8OPeb> zD=Wrr#(_cPHL-MKrFd-P5jbM%ZpW19LxExvMOFgjyQ&nHN0ym-DB}i9n&UQLeO!d~ z@w8mx$d!WU&sSxDrqprxbKnP+DbgI6naoP4^g3cffEy@FBoUg4BeWbsa|Vi#P>2Qa zg$xz)=8QQbT2m~#OXM7UFyXlmEGoL*o5R|Hm&=T>0UCs2(Qxa%aWPil2Fi-iIG{Kj zCnPjX5NUxTA~f7A#T~`IX=&WyVdOP^IF1|OIVht7KMD>sUEFbIORQnfPk4O&{@}eY zc3$ci()Q|?3EjigMtq59U@mQ^g#CNG?{R{~;XEKT8{GZ@L7Rp+7ql^eZptT_(ir z%;lHwzl{Gkf_Np&14u~6AT8E(JbDAKd$TkD=kmjs@i+?*+V4?^30W`eCJWDVO1rQ) zPi++5ds&x@wKTM=EM1vJ;bT$gwksE!@stg8fJ^uorSmmze42D!m!bR%qa)={K6&f> zrnAvPvEDGA-t&`?nW;>mKj;%q>J3wchD@c(w1QfJ-tY}G4B~939_GIiUe8qWx=EKQ z*xA|E`Ej3+JzLp^i!8~cu-r)*SbQ)z=6|tMcB5e` zop+b;tr2%N_uQ;ZqA7FNu(`@HjFvn}#81~v^OZsLxPcc1TiI>%*||yV4U;BKV)LC3 zvMZOA6tK>cpu!0gf&{8bA5FSRxKn)Y?Me$}uDbtrC4N+0_usC*$$||jrK) z)y>HW^;Mk0oZ}UhojGgW>~-_7q5EGP?3f*jNp+WYS9FW!bxYq7OF?z&(Tj_|7ScpsPP=xLl% zfF7KewHRG%@vIiL2~JLV`D23z(sQ$EeW6@sUof-+encNAV0~#81TknPgY%# zO1G`1!RRq*PMaz)1HD`Y@^e;>t;)a&LU`J4rXjw<;ij@F+C<}CbOsoW3CCe)JAmVX zvR1Y^7@#suU}EhoKr2UaC?J(XD(D0qKaeHi!afh;=!tdW=WbTHxX=MiWIA1K`X6^p+m2vP8L37%q_DbQo2*IM#e6o>CSl@ytY5c~Fx z;E3sN%mgbAcjLHs9*Eshn##jTK=V9&YcZ=BYilm>c!m=2IG>Rf;G^7G9M{MJjlIzr z81^*a;Z5CH4D~e56`JQ|K_aEoSX)~OV;d?OS&@?}c6RW{ybKPvXjv+t{wNHOhCj^* zE{8c2jeK-t4rCkAZ&5ldYo zF&-m~4yVY4{XHkoc~DUvr+VPAXo&S=4_`Bkg&vLO624C%p9$^63G66+coA9$%s4Y6 zTE_$qCLJeztn1M_;f>M6Ix`(6Q#54YWUqran`ss=KxJJxX;fFAf^VMKA$*ETQJjks zGg)<5W4uU8V||LL=OWGoM43|fp1NQ*jlC$CM(86(ATuf{UZ^o%6#2p~|C>y7IEO*3 zr{rS9?*K%Y_$I@WiDEMQpceWcW`c!QA2Y$t{>Cc~b3_jos?b?3LRAkOMrXLlAJ#x= zN<}aFh~>1{E6tU>0>z^)=oOCFNWRkn-v zb57hIt$@BV%f6)=7#`+qgh$L!m5ucf=9{@08Zf0)vcRvlWS=AE#~}KOiS&Rm3+OBk zd*ht78vY_-jE2f=m~Ddj(S(s@Dmm1j&h}nmbg-CdF$>NwGAgpb#6#95;wyXue=7_A zXznWw`ezkZS6ri@mH3FCa9B3TihknYuokiWZD_FY#&oDO8PYjC=U}EogK6yafyx+f!QR9;UyZ4 zWK_EFJ^rjJQlv}1G8jeRBK`N?G9r$&AyHM~h{xv*wjoEkx)YMOSfaSKQd?1x85fQ_ z3H4!UTa7~U4O~nl`i8ZFMO{4T1M4&6;*hQcKZP!U^jK_BFq&A_gsIRKnHZud9G=HQ z#dWLkJXCD3V4al;kFgUv4s;;hVXw?w8_!>~^E6|^9C5${<5+t;0vHNUU32ziV1-WN z!4UxPSZOtx8l-C|?9X6f5a;EwEUfqhApa-b=L%1~2Aj$gYN(@9GI~j+*Z}pPTRbMx z;~t4eJ#bGkp@OMNuOA#HMpH2y8nLT|)t@!cAx(lM6sG`N$Ln?O_$}ihdU5{={LdEr z8v1cui21$WN?*p`^ZpQeGp@(%^V9Twf(kDCS$aMG{^}2>>Bm$+H-(GEcP#zbykiql zJl#Y*9=Cm4an+^@sdikoscQjcOFu8U1!s)X>0&2 zZm|xd6c%NmV`vmCRA2~=hbASzf3>YKQ_yMuhZ{`cXpdCPpoM zpQet|nE-Vp7a9C6Q(=pM>Il~*>356oGN@$5u{?|ntg^*-nU9n7Ii!EmE;uIZ!@7P< z)@Mt%i&FHn+$o1oW7~?#1ujkwpy5cE$4@qXbS8_U2k#tcLJq7LBVDa>0NsrXghf2I z>MU?B#6OBTIu zPgZPFBbZ{IG2_xAToDj!;>}Kc4tU7_pqLc{yoqJ;;kBCM*hcIHDsnYnux9)(T|)55 zW<3PKF(%&RfNt0Xk?3^{!Ji&Ox`+<8F*DAJ%^ZVxH!$aQ*k`t4p9#C64j{GEDl?FL z5{AcSBZEg1gA67nM8{>JLKm-)luL7j#g4ZkgyEAd zr$N09cLF$|2QwUr4Y7hK^jfr#U4d;JInInh*a<9C!6P-%zSYrJn#>b)rF%Sc$nLysY@PrXu3xiiCW{g~UVu!NVarBIl zht$)hRY%Fo3TEU@T;}`{f7B9&YXGrNoSE=>sk;_C#ZpI-OSEEjC)uT}RvZGKL2?lj z@*G&LBe7EUG-j?&s_@KV(s-!@$!X~G1YeO$oe4+Z*od70T)*`ktWPt)gb75=bg%>u z0erfH#tI0g^(M;7m@Z> zt}cm>;HWu_)W?b%1qAh`9HkXN_$Fr&57@U=?~jhtgW-eBsK81mD&!@dQ4i)=gI{IWEjfUz z%cl)qdzaXu_mW2ewOoqvHEL58zN@){!QydgNcZa{_gZvEh1hl>zgP^gmL(w&-`&Iz zdI&Hq_B^DE!2rjKVN&75tDRGvg!~wrZU5$tXUK?P%gqn@yaRC@1^Jt{r>Urn4KL zb)uP#--*xWB(j}zHqnVj%6gNdT|29M-@R20G>0S0yV;gF-6&Mux{u%E`#tXc zov3{5?2n(=B16I=y?P3`Q=WR|;Jw8Qu^%d)dgYZm8~W|n&Yl8?sh{wkv*07#^EB>> ztsp0wdH$zPz$)cUxCbx$7_3|MvdVjZ<`vwNJpsSKso2&D)y`*rt1K^06pBCqjks5DLRTasRiMPA}g7 z<=p8Xit<>${P2G%p8n{~C%*7w_y6^Oary>--}qanv+w^#aNXGKlSJT@asHL`OCrVm;T~^j(_PR z|JP4{DgLETf92o*(&m>=zV*c~eeRcx*ysPfPvXiaaIZdndGkwO__5zRb^p6Re|r79 z`B(Lo6F5gVhJ(F6{go%);yJp%f9n2cK7ab)1E2e)&;3W30svFa#D8%A17A38zW+nO z%BNxv$@}s9J%3maUVQ6cy!q3AZ2r?x?C0Kk z@hu(+@+3~Belj*v_x#11Cu0B2SDt(8BY*sN|5)JZpL;9y7M{QVi(feX{qJFD{K@;j z|Ao^F&Xaf>Wi!r1enl68{V!E_j&H3NxaruA@Hcf?)lYxr@4pF6aliiH^!KDb_jx1M zYJcj@Pk*KJW;7c=`Q{gX>~~K+5&N5O#y;?qZ+`a8U-drwS}yk4*M9&1x&NO$IDHm1 z!S4V42d6)b0u(%|2tF8O`aL*3=5_Cjr@xq%sZYGcXBP0x|N1K>3{(GnAO8Ab@4fI( zKue&C56`y8u{-zA|NQAQAF97K_`gr#0S6<7(*NH-``T~B-~xN;=TFNIJ{|jeuYdNn zn{WNh|8VVhe*45{UwiugPyhVs=f3xMe&ur;8?k$@eD<|Zy|s2~=665%yLjh^Q6>QY zyZ<{sfBM-c-~5%IcroZ$A77 zzj}K1n(@Vd`Ne;E8eg8i{~Q0|a}_|B(Zm1xiKjmMz9(@DZ;Sm|a1=s8dw=uvQ`jOH z`^Kr6*l+CqU=Ztm^F6>u&%Ty<>M8sa4>M1_|6~8+)Hfb%$X{9iK<4}K*9YappZvZL z{P)FY7#!CB{`i#MWq1FlKL7N0KYV5L15ZEk(OB%c6P${_1pP#ZKESW1u6^M2YrnAd zfrr1a_4FTI!76{`J6`+D=by&E4?g_N=bw2yiAxLL@$lt;@=WRbp|yYZJ<&M__n*$s zeCXkye)XB3pqcf{Cu6a{@t%j{fBnoqdXa1*W@#lYc z^5OgPGnd}`zHdDEgyg@6rNYd=KJo0|&OM9ABR=@$*xJ>loA-aAI`gsnKjO?h8SMOM z`~0L7_0^BuT;{3iJUyM;mp^qYc`2FAnn^Qj{-}Ar(-pdw@JsSjABn!nnLnC6KbSoA zk-f&%_RUF~w^Elrl}%=nxny?!&W~Odzyy<@H-6*^_r(46<(X&DZyWu#<-_6f%*RgQ z;}SkD$%j98ZRY(?Je55;pX-LDwD12~b>^ebw2zfcO`-1d!%zR=%(EwgNmqnE27bs) zzDb7$`@DnMU8yY7i#lT1F7=sO)M}Pd(!t*mLQehkBB?*i{gjLeJD>YMj&4~KTk&z$Myd0C9GGf{4LDzc?YNL1sG7La)Ocj_}= zcnWLy-=2Kf`~j})Hy#w_!{TUW`;%b6`+w&*XFUFX;vdb#LFPYm|1W=U=E;Y@`HyD) z)f1Se>zJnN^5Jj&_Dt%Dk3S8tLH}@EiJ89_i@oyAZ#LkVeJ?(L^PAUW&la9_;}7o3 zug%Qezxu|L-+gZS_Fq=FFCgYhNywjPPd+>Iw~_0N+H$!2!}tH_OEWi4ym8-rb0#?P zn-72K%^ClcaT=EY_1NEt{rUY9@WY{hr*ZNSj){jG@b_YW365x-xOu`yqW$>9?GuM5 ze(}UVIPt%o_-7|xc%p*Z8vQ2*Pkic$fM@q@-~ak9V%h1Jk?V}Vn1=ifj`U9f)|JA zGj~orEd7r&|NO~Q|5+?vxSx6B$;QK<{L`5Wr#~cQ@~0Z;=&AP8r7i-~eHi z$o{*hG9UeD?0wm1KKG=|{@Bm(4&!|n{`AaKS7SdLi~Uz;kzW1bw`cC(|G~Y}-zERq zpFjN@@00)hGfztS(?1jY^2wO-^aYp~y!A)E$h>NmKK=f$&3I4E#NPL1wjf`{Wh6|0 z{NaE6wV7Z0E|}RoN`CJCFFyB;2XWYP=VQkYgilah|M;CZDx3f0 zM4+?8@Ng{i2L3&Wshlz0+PfqH{u|{0zDu@W@GaB*Cb@m@40Zqi6W9(o#&=Eko67C` zcNEzE__s{=I~Lgf(HG`U&dqS8sJXd904lMI@74dFd2jnz*=nx$OrPt0rO)-A>Ff1o z`sbgpjTqaSgZlUrw540CEH#UN&GcF1%TCzmCAlXew%QxZwob1+mP;Gu4E(!ErrpDt zR@0fY(|?m*V&dTw_UW@HUYI*Kms67v&g55P=Kc5&edB=%&N(kSg zxwq5P_p-Yw%!4ILvRH}Bc5A=4xi|D%$(^A{7#7bD90z!Cgr+;~&i0l+-H~nC2P)`~ zn7ur?!xEc@JRG)CJFfKoP1*JD^|ztxTXIWo`#l_!)bGgNcK^H_w$AT}l(3}bmZaB; z_b?CsW^y=?!|`}_wm;bJ&F<|7{$^rm3D@8#If}OI_5Ja<$IKCaR+Lega}}k9>g=nr z>5g_J?(WOhY_@-I3vCUIcFVslw~iJAzV%D%)c)c8gg7C)u zaZk+-yRw6K--QbI_hrhF!{HD!F1K|nmgpF=*KT1JTm2sTj{f&LEwrsWBZvNQI2ido z95Y1v5P@2uN~v6&^uCkSFNuhxGrPA3+Q4W?{k_)oCARLPh5wbqWFq(`Y>`jz@|yQCHF1~EKW#m*h=hJ!ZxZF~Q01FJ6@88&n#7S2al|H$x&UkMsAcHh z1(WkWEXZh#6HP?VuqKPf1xpS8T70n-Jlb2=*xbiqf-O0obZEkU><;*9D9;bK_Y{9v z=mQz+k#VVE$>ig@t!X6eb^v12{nk`msZQvCf5Hu+PX_?Q=}Qm zu1>LY*H^3hI7(5J(ViR4xugsl^|9DjW04p>*0sR5#G|X7++okYb;ledVmzF>Hy-TC zaeure?{>Cu%+2BE%iyyVa=0+qqxP6g*F+Xf*z576Nm@vqZ^Gaj z?vog24QZCjwp?yXQ(kG>*=0*e1OLk$UCryOhGELGltHO!o69dqJ|eQAw5~-&nHWNh zHSLfQKjQ7M4wjgOlLTHfGx(Nh{<2;o}YC=h3 zZRVvv>vw%%1DLbE63oyl{D!jwrP_n?u#O8?&W>!o+uV>gJU5VQ(PZP@10ay`-C4eX zTJgHU(?vBmOkl)B9nH?8M-Zu4e$`To z^|rs)Yb}nbPDqTG%+1-cS|u)$7^v4G z)Cdv1XeCFv6F?JVHe0)q9+auNyjfeuYiiRpb2E!&KiEnJ#)!1TN_8|Y;eUN8Ylg6uaug{H08uSK`GDet8 zxwYB43rq!=)!M>Ks90OO{@t@OpFjJ8CAJ{}qj`ulL1E93d?VS*s15 z{EdJ|fE6JveaJi@hf$!{ORvue7>8>bA>0187>=x+P7+v`*9jt81H$LcxIE+th6+gO z?y)PNWlVZvj4hPt=yXev$dD3%Bx+H3FNL%W`Z&H2=&7^aX%m}JWs0r1MNmD$>wx(v zDq^6E2Xn8IGQK0E40I#WA5TrCnn{9_i9Mh-XCJ4Og49Av;|y#;>2j8)fUSB?Fv{IQcc0*YT$FYZ^WUEB_1kwL zl>9Mor={TUcIEAkCOWrN^x}V+8Qb{5j$3uSS8J1?jAQB^l;98gx-@-^}C9wdS$VfIVfFcdH zJ)?hb8c@Ci(YRZ7L;(U_-)96-!gj8=cN1$$=-mrFn}Z2@6+l+{Lk zW{F0zXt&~Vm$1LN zJEq_Ys66C|;6V=bM5RVp@ZBv5L&n+%4Qi(G_mW#&OKlJ056D3hThVeG@ug%dv6+{V z$$>Wy#t;?+>-R=O%z$g`;iaP%D5Q}rf-TXo!kGbh7G?k%DqC{9e<=4s`HH&^yNjBhI8d;nB+8(AAz-0sx!n}~}MhQzf>{^*1d6S9G_#1$Qy|fQD;}R_>lZUc_`~499?tc5FSNhi6N&=~=>j*Ka-7 z5?P~Y5RTE%(tu3%`Q%#B5;?;*WLwR4;A6M)KBuZR1Vr&$@xxx!OX`1P?!eKal@?+b zGwUnCOC}PHr-UJDDW_>vECW>vt~F)FDbziC$ySu{#^sZ94@enCNEuGW7PUgYo|!X@ znpItOmIB!<)g!OQZ0OY}*sF!rs$HpjZgWXA3SPy`8|aJUHLA^e)0P`fp;7^Qt2Iki zTRNpWy&q0RHdj2)HX!8-R?S|L(s5Ud&XO!QOU_0GpEp)K>C_8OQKT$UE;d{*uvZG$ z--U-$qUK1iQZkB`QAeJe{_K_v&oa=Dx^SG7SL4(hxU||V)I2-7R;(Ch{Zv_2t3}5y zJDz@?RvyQ?>`dKl8-{Hai@YNM1}Yg#ma*!3OLo&M=*OxhPU&jZt2D|RVb^f2VHt5* zv%R{rBAd<{dR3OSQoSlGtMC*x5*zyIV#!#ujB>HO=BSrQuTV0o=wJc!chu>cYZz`| zEtk;^H8P9>k2%fB*w--D>sGlLjm9Z8)(xX&jk^%8bRU2;#aKV>xs4(kwCWyOkfIT_ z$*UF1uFGOWb%vC2`Q+u9xi?4|!IL3rNROh$!0gLL(H2EMUX*TwbJHlga%okMZNgH9 z;afC9AV$DoFziF-5+Y?Z-3q2%TAu6Kg|c)(V$GV<^qg|ib!5R4sgl5O7fV5^SSbn5 z#h)pxguv?JucpVZ7t1Mwo`I5ZYKzM$gKLTFHt#?IP_d+*TEbJ6Dz8QP_>e zVhS@;w2Q)REH3fyC0Bs-vNPrdg zt#R)VeyRSj-`(HAx1~0YI&J%lw^OoUUn^J!KgrwemevGfh(&0%cYK%_a?wsLH&+VA zwKkyY?e-2p^w96ZN3t{A+b4B!!48It2Psgj(XDc(XV7K@qe=F)`7I9Ft+8*QOAtw5TkSV$K~ZbX zQbN!D;o=zd0a7rGp*0SaJ%|4&e+FGg8Ceqd8pA$DZ`7|}Ymx(+b$P96+m0fwS_Qw$ zR)={eWOH7Q-_D7-d2c=+ z*dkN7q@JE?=|aAQ8uIJU6Bv6^XR2zH0{-82hC=297R5R z$*khP3uX=f&1CENubCCXw)53&mUpj!$010s7n`~Zt8TSg1JmM;S}tpgx}D97xvH06 znpgMB`N_Q#AzrX;5iAvQc>_1iTlR%ofm0bZTCm;om}p_E0;moUSUakWg(uk?B~47b9M1tG1aV6FUZP^`KDVgXK*A!6{D}dSZ>JjrF>>C zld%G$V%OalC2u%$rYca?cip^{RSn}C53-|%wjo|?b>Wta>uY$>G_xbox|bg>EI^Z? z3*OnzE->S0zrWS($-CeH;$j%}{uqYZSty(5o~zgFwdbC*#PMzgS7kCIGAV1)vlsJ? zs=iva*qz)$CMV3IwN_Sto5CDfe7SygW-gzpz6jS;N<7uHR_kTYsbNvPrnDVdtl6^I zypB;glnAwE#cs-m<1`)DgZiqMQ$bCLQi?*yHEb_uEG4OKvq?kPP_dwx+RM#BOMkLu zq44rGekxX^oy<5_lcvbpMzLrb89d>+ldCTpjcU0JB59hQ5R@XVmlp>mqt$>Yft;|6 z{>~QaF$9RqZguVccuz9s({KA*w1Qf@VoZ6hAJX#5Ft)5-e|#Q(>F&M0Ub3-Nl##n! zxO|S3AtG(kr-2H8T<-vK!tZQ#IZO)OM}`^baT;FDY=)yW3I+3;A?j6QEomCLhE=X( z<{S#s+4+i7b%+z3HLuXDb0!STL^5OKmMzbLmMMGgbqTakE)u~+PkN=3T1Jdz+rK;4HC)YV!Vg3Mu*DISHH5>!dXqPio;@Ke$g*#bDm zsBm$FssHBc8fL?)H=Tlu)@31*CebX4obE_88+sPlZotW#`udSs(47OBO&Y)~5Nv7* zXiAcuS^~_}(M!~fD9R{Yb}#2h8Sf7%BYHBcpA5Kqn9QR`>(kBWCe6EBgzLA^-)tJ#h&-0*u7 z-)D_1Kz7ZQ1*Zn^3EaEP*)l3gtxep^?aPH2{GU&JAS8`s=7wwF6_BP?Oj@C40z{Ww z%u__qHAx)5Ru)d!6w;n|hZ1T!=DN9IC$`Qd%h)`rnFD7JL zRxu;#C1NY#LLbzObKoiy1l}xI&dN1dShDW8Fx1NEMVZEn3(DY32YRZF8`5$%qzeH? zRV7nyw9;D19K8_o!4Ru1^b}rzsaMo(G{9^aFPqmG3F-~Qb>!+Nq5qQrzDE+3Tr@R+ zKnc}Vx4x7yOt6s>8tu!Y%Pxfm&fdhYug01;CRAY*;3+6+x`;-NmBITy>Da5uN>KtS zI7b`>Q4|qn4HG7^==-WskGdad(kaM->VHJ7-$ug_R8hka-j6hFG}*}&uUVGGsI8>? z&N-cC9*NR)d0a+yK z(IA&-gf6Xk^r>n|5$H7na@!~v)jBXU7NK#iAPVSCz1m#k6p=_G+%F6PD zNDIPN_g2)sZnAJAl7tjuAqhiK)bWCxq$Z>t>_C%ywOk@sxY2ESrTg;-XG z)H>Z0wlpEN6=jSrzk0b%%J^VN8MS2~EU;&;P_HZjXo-Yk$R;#yj?$!NU59gmJn(qV z3Me)?@i&$znUa}nE(8f=JjH`Boo3ZrG;N~*El$x}1|#Dry2lD#A;eSK(Ez2R@=R%XJw3sX!{8%(XBD0HLLPE)2djQLQEVof7OVI z18L-kpeFd1sAg)!3YbvRO(0shXr`i!S1-SQc|^*1CZr6*v@Nr6MM{`uV1^Wycy{w6% zif1*<*5c-9wQVZch&w`2loD{-Tr!QtOD4TKO%HB{MPHlVE%@N87K|?)6F5sLn z`djA_YU{S(cfIGn2y3d`AMZ*gVZeE^B@a5=U0-Z9?ZPs<(`xJt>8KI6pR;Put<|5i z#dEf$J6F1TWO%{b*Mv;DYN+?%;L4$GDQLCGo1!L~mL75GDqSXGY#)7Ysn3qZIbb97 z?uY~Nl=kt_;MCsIl&F*zl@*kG)T*3mlYNaeFIuUcy6w;uwcmrb8Z378&R`^bLs}z zFGo_#Ejixfq?T|9En$%p_tr3~mD)wZ zO;KJ_YwcwM!%K3^t_Ablsm3=jwHRcv?lF8Y0SZM&BuGSR^3=N5(3?jM(@?X)MWee) zm92^RGGaw^Cec|R$y(e~3^2PnkqJQqMp4tG@y3;tmmiQazB8l@P=XS^z+fwE3K+Qt zJ4*3|sRp4@t?J+->RFj_SR|TpTF<299K<#xZUB)>`_5<<;XFc&#BnOiwH3f;9kGB+ zb|O$V8J(U9J82e_>w)-RIWH#+OM^pCF?~Y>T^cddy%%v4y(>XvF6l2O?gy&RVoe*@ zYNTjQk=$Y?OP3qfXR$`BhF4ut@fLE63#LJroXF63{#WY(cs_$j5ggM4;wc+Z4|qAN zWlt8OB-^-LUQMi!;pp#I-2GR0MIsLgMYLg(e<*lp%yE8P5JVtrD{ce&C6Z94vT!uJ zfE|JBNhX{`%b?J>a`MW|2$36slB8Ra*Oa#pL9$vD7ZMvs*lE&whB8tF z6I%{M6Y{gNYT**b0ssJm@Rp&l!_|k5KWc39MApb%ur6F^NN;tC4kox5%gbB>2I*w( z!Ub`G$U=kIN&&9PChSVI6cE#a1<}B&<B+T>*R0A?tyy37Y`9i7Dv`~j zM6q()WGSTUlnSfW^@?Gvz$# zpuy;!r_*o)j+6S5w+c?bCX_=~%?;Q@Kd=H8sLKMKN>w1c2>oR$nlfgtoV#+8l<{2= z&_GA1z*M(DV3;PZInZKd)mVoosO|)?#nq%-fU&5;1kqXE86pgDXyz#+c{AWwxOgSGWP`p1m~DO9%;Ac3}sy zG?$H>o@zQ=bf0-g^#Z3~B7L^faM8O}uT-kY5?Htf&7LVF&O~kKS6`2x2SFkZyjrZl zxv;F4jh%4oD#D(X?%4NsYy&BmHjFT1NWKpDp|1f@D;o>D6%EJ! zu16ZtG?(;b+t-N-ljvj({zz(l8rYF@0=}&(=aEe3m1#jv%M4- zsdZBseuq_T|B4)PqN&X)O08+L>S9V<;y0BW@G*jDId2#zc52YZr*amqQs@=TkWyn+ zsRl1es9*a>F$1iBn@09~&TSe|9CAhkjHe`v%;nE{bx5P;hh{j@)od{XMv z)U?g7DAi3!bsCbGRppX|`C1oeIJG%U{E=12Sne^jKo!mK`?sN@aTI(Q#h{MX_Wp6t zCetXO0*`{G6CFv^r2U&)Am_5*G1>#jQDVR;OY>=`|4Xui6 zI@R?xcw3XTvmTwFp_c~!vCvB+Yn2j0b>4EVG0RXCGWy}iiNHzu`if`DY;I}RD{GIx z+f1H?Khc)eY&Cqk0?V~7ojTi%AB*B46aAKsPKr9t6A$5N5CC)5(xK50=gtI zEjqR5m;OSsQ3NM7;Y~CpsU^~pk#eVYi0-GlX8c#75#)s-=&qwR5fGI(eMJSZU2*G+0W@fPrpbDFUIuwyZ#3P)w zQj-uRh~&7rlzoX{=~{WoIS(5J;bLz}QfcR!3NlWs;8HzmUKGg}p_A<$u^`Q~MPsdO zAl95p0fM3{K<$BqOl*`8mSQ;g3{al(YDHe%!gWhJNJDbx-mo61=4KNq8sh@D+BKf3KUUizHC=KE*wZ=vrQ6N4srHV4j zS(&Q@Ix}fCn#PH{JX-zZD3BtlD6-1otbJaQ;mNhWj=n<=VC|QQmyg`n>|&*%=*#1M zO<)jjg?9waH7XGelr)1ZAu$eNj4%>Bk@^!Q9m#*K|7Pn7E(4&sKq)lguDK0pKNspm zj~{9neIt>A=a3oDaFEIZ9fBBB(72c~vM*Xd*&ZKb?`m>A`npjqGUN!i;nFp9pW!sp zwJq&sC}3saCBvyyl+nI2y5f>DzBiW2T%b9SE6%fxwJFs)BM-!UlW<-fIbP z1V`Y1ghX;+r%(vH=fM~i%u%_zQWT2-)^<^u7gN~Zwm|0>vJlv?l3~y3PuZ8!(p-vQ z1&9k0gN8_il{KS+K*USu&pvWFid3DVPGK6>kdR4)l|_C zff^%ax>mNtdyxpr!M}s)hs0MQ7^q>5`%3^^dbU;(J&_+LG)rtm>x%p)kh7ZLjOHCh z8KWz&UTKpuzAvN{{6mZtl6H{H9;fZBqHS4;+fI3H8GbyOtwDBY3)=ss z42wA<*F=;XGTc!)4Qos=)K-F~811gmWcVo$rf-qZ;Iv+@5a;=Fu z4j6RQhN0GSnrFWdX>?ffleI6^*~N(eWmBd# zfK7ly9@Eu8i4PKkay1}=L@yN)w}#xRr>hjA^(DQkJnEnVZ;V9bR?Z5QP!&C^$2sW? zoI!+1%I&JxU7XQ;uU$S>E6|2fslFPqP)O@aXuN*q!If7@8Q&jL#>8?LYXlLK^{3ot z_ID&PYUM(K-(qf-n$7D7;ueultlvg~MV}bpX#g<+0s>%)(5$xAXyq4WBs!On0SdqN zb;iIn1J*zW)R&qoA~%hu6%J-rQYL889$k&HVwRu+kO(G`vRw(VmNgs%iRfc8Z&5@oq=n!ysw8}!Nrd~Y;vG4WpQ8;5RkRvMKvks~Iffk1+x<;_2l5a2`9Vu`C!Z!jKQgjK?dZ%mc zD6^AcGY!S!7GMMQr=kl!eXbG`DCi65LL#USrQx1OI&lgc z{jhv0|3f0<`w~K?yY4o2KJBzREz!d~Yx^~XS9;}3vIZB1Hlmek&~~yC;Tl$H4_|00 z?ExtLiC+cg#1401Otghc8Q+>EriHm2wSruSEi_vZb`_l zruG-QfnAc7dcERa=e9z}h(hJFvt&#Y5n({HFxgOfz-T#{;kVTqVn=5EvG-*4J+_^! z;$ID^&UGQ14G3=xLo5dcilNEv5C z%JA%!pn&Wj7!*;Q%QEDwPD0^ov#}$uMrN*HEC`F9V)C`p8}RVcxFYzdb7kzve5Ip} zDasPx8*@=|8$?H${-EVD^7xUUxz7DR@_7Ib7g1{E5>o&RCgB-N2O{Z8M!>S+6e#c~ z!9%UG={=*vL7pLSCxq3VkLZE`oNa}lO-cuTCPH4Vl#9zjZKCT#5vhWye1!HZQ%cx8 zX961-l#>CO9uT5utjUww)k1?i>*?;$P00>bF+GanF%w)=1Rf#iO^MRygkCWQXz=eo9X9h3*bS^&X;wV|YI!mTf^M02Fm z6q!Tzj(mYYDAJg@dhY5;lE%4+G{B(A47pc_RUeJ_lc%S?nTq%0o4OXeaOJAm(2OmR z6TIRs-k87^=0XJ^ut#zjC?=DDpVMr!`l9C+;F*>iwBTsRK|*3T97rZKwa5z$-6H^q zu=P7f>cXj{g`3tJ%H(shw0~;wDo#Yic@Q?il1@PlxfTsh?vPpaet5HB0~O%T5n#zM zKXk4j7LIesG#_}@aW0V__TM6fcbNv*yYYdG;gVUH%}jGDBB8Av20Hk1G;T-3K;CPyp_G?gQuqoPmR6}r0VoM=<2^W%%@8m$8HFXb{uD(`8 z4r(RAEj0NwBn8Si8;T-^=RIO`Z8>UIgT%_wjUK81GKF>sC z2pHYj8_0j=8t0UWtxQiim9R!gSuEO31R}u9kX9Q@aH>XGHKvvf^aDcN(Zgwrjj9n4 z!&AhNpZQ9kDGLp#lamUCEMO%6R+N#uTDW?Sl<{0h z8B9^f_6Xs=h|IH4)1$Y`nqVXTak2R@B3;uBxXz%IF!aFejWENB*E9qT(QuTzfppX& z_99wMXbm>{NK*Paoq9UC8^Kv1j3`g)cv89yR9-qIbJ4~gqcB^A%^puTXTo{WhF1ki zx#yHtm`>T5Ji82TnsiAzvq)8k!!AJ>N}4&|m3kwXWTYcS{^IohEp97W%ucopF+UEA z5$4B&1bL6A4lV^GIhNnAvF^HR94;jcr> zct>IuXWT`Ec5EZY)H`?|=!_%_rN#UMz5B_?GTlylJxIfosiH=I^jprEb|PztrPCAu zKGX(F&CrV8Z-5<@DXV0Ld$oPFK*~5DQbs^uCiPJR;E_->^mGDX={SJ4i}@}6osoA# zy*ft_V!$@gUX7_&hyHO0dxe$i$fLr@s&(%gFuiOLQ$lMr5lIf%l8WhRAW6&okvYIH zm=8>l&dx@$Y-UFYpt@T5M(Ai+U20S(nG-a;wWEb^Ffq+qsU3eqpe9nkf@x^#6_ZBz z0tzPplHxq_pCf-RNw66P(d!M*CFKiG8SF^C*W0-!STS-tM2;!#J5UuIa#%1oxysgTBUYHv4c1w1EjS$uT{AQvXPHj`$z?pBCS7s zS5xv|kw*LK=&DQ7&LRS4sVuo{(c*R!?7b~6s#GrR%BNOQ z&x4Y6P@9N>IAH2J?+?_K*J>HL{`GmHh`bW1~qSN-&D(eY!gulr7st z7uw$!v8T45r&?3V_-HMsHYf!J{grM^CUu(03wgblPj8(NXEYJkYgL3WZJuX7h34D&mtQ8FR`9+EQVTM2Vd4L^{=v^hIPE0p(4f~IE zUXF7^ECL0p{U5}<(p-rzmlG>AMKbVcYvPm%;EN)=0{?4;?sqK-k59UmgcMMe6WqqD zd<;z;=wmS2J+GZnGEm}$YZ>0E9FGxrn!0{0eHL3UZZL4Ex74D$3N4E>>V6<3<-!bS zcKW4J3_NmXIyVAFswv^>kmO7kVK<^pg3{s{;~GBFUlmF?6%AFC@#@vruZ~C=7edP5 z69n?ypnv4b#41ktkC1??Lc=Q4NZEfyo91O?9#Rg{a+&P$s2PZcRHviBo@A<`jsfe= zS8=k#8g@og>SKBlZg(3(RBY}Nn|9Celo$qQol4E-5(HZ0Dv_XwgZV7BoPbXf5-ja{ zfFEQm(bm!v|o! z!(M?F#kModDijt{T#^5qd(8HbM~yDc#m6_}BmFzv;j95hm}Y(iV02EMUJ~FJrTN5l zVuW)Q3N{t?3Bpa&9Dzt_R^)NP*v^h)R5UORr&|Y~|5|zS+_tE4l9Um^qk%y2k+(-{IDs9W+*ZN^XTCkdM0Wx`S1+TlAacHjB058Q zu#87HuQC3eD_FU>OvwB@9k0>8NRc6!<_c5gqw#AY zrkHffQpWshcOJ4P=cxZfTdRirr>RXQNIs4Hx0=I~<~0`wV1+wlBW+i}&I^4K01h%y zhf~lG${3egEF@wdPd?FUr|LUoP#MSyX7pR3NZ=2i^+0PicJ+SRp;>^`INExY+GW6LF|MoKn z{iBubWa?Z2dRP=02+4J5PVtnGR&AruOFEQ^^Y0KF#E~hwPiO>@&4{as>)~UMvVRq?M>@|# zm4Q^b( z4k}{e8po=KN?TBGaw;IdE>L~Nj<$=|WSU^VEg@{EMQDbz5bbw}HeWgDkjPRQQIQ+6AcmQMw7USalwWked6^2CGgmyi!~WTK9}QVJ@c6qAjk+*ry?Af(mWqJ&k#S&x~c?WPnidSA1JV;Vgqo9pw87IEGa z)(|1E+1V%#rgs!Yavx&-k?-pT51UtU{-`Dck+}giL#(YgN%9O7bVb>!8s#@r{GOAW zfyBz_jkicwrQ7EC%Tg*35elL#!&OAWgycLeRl~3&n~U+^V+sLcC&D&i5|!%2nKR;y zrH&4O>EEc-m+Q`|P@h8_c=RHAh@#_I`9j#$4XSw2WapVpU8vORw61s+`mgR)aWZTD zx+0B25gWTn8re{2=z|r7t-)9{a=wH<@hUkgSiS+&dw6%1ospQ)m7$1 z(#xk0-NFf1JQXdpo*TIeawVcc5f zhFh#FIPw&^RGP9}$&Kym@X8eR=CtyKLJFXKLnuHbfIHx?%jn5=)z0|o^Y0#2#YT-@ z4n1alQqK8;-t|um8L1_06HeH3`Ynh*LqCI4->IJ`4JgWRi|t~8l#vT5!+bZT9d;i| z`*^#LQ`)Hif|aV*76B@11p{;$fkR4X><7R}N5D{v_N@Nau3mH1%EQQpp{-;%sUqTZ z)*5pvi|U9GLQto29$qS4x(Vx6#i7Yn=>5g2$AfKaVmvvRC55a@04he)`2M9=&tCu5Z6=9`rEf!3FZFBZaUd@$#o*ZXw!U&b}9lo44jtj;iGc7==R1pV~MwKH9`n9#ZpIQ~`&>tJAFy;v$hw-{bMpsOGVWiaySZ z!cC{UJc4-K-^1zZs2SErajCiNi#XN^#i4e3tlrZ>1*|QcQmRk*AK|EYmQZ37fZ$b}jk?nr?vCYNHY=V_r>ofY z)Aif^ZB&n#RElYVVSkJV*-!upjgLQ z$ttkBsg{3si`Ued`8zyXA5|XutWO4t5#s~a!9n@go9j42r&nPuQT=l(z%iK9kByNm z-$rSWwCJSUy}kasH>FMmw{S=~{#iII+`=K@I2Mh^l3O@>+`^&b77in~aJ)En&RU4a zS`C~pUPH|zq}1_z^t7>^4sho7-f)zi$2J25&3f0xXc@JP#HeA6_pvYJ=ttb*`l7By zyR)~`!zKaLF&MSk`KZp1>_(l}zi+aPk|nN%BUJ<4L-{onRKb$=+ar|A83#Rqx_+IW zzdat^M4nk6MW6Ojl`b#m@o=})>f7TA3XqI<qIvE8eN>l`Bl+>D zB{|xQk5DnIk3t+BoE)sHD6lmYs6nZ^omK)xboeC7-1tK_vIrYi-0T@B0dXk&wjp=T zm$J$EdHwm8p>OBis7_S5iMJ`4@u2ud@pa0KlS;+B9aH6)Sa9X2^bE_>SX&%9tH8X} zNs3bimr*9GQcC08GCjW1r1(Yyw1DCptb)e^L8Bq}`H^(> zSXuE06*a)T^TR|IO{!b3|ers*NoA*rrH!#Y zyCLIkyI+IHUb2SOb{}hWQ$p-LT0`Wh9u&&F@Z~HsfjTfK&4l{Va%a1rl~S-=az$oA z3uC#7GQ2nCIca6|znnRr$zI~eoOx-%S~w@?O`IH+y@lt}cw=V^<)QjiHY}#&4?Ar# zB;-=q>Q2A4R+l*zGqcFVjXIv~5KhZ>*dwJ|Jc2GHY+g{K^gr8Jf@~>9j6Z0>u!F&VzE>Hu{KCnNn~~ z%b30l#*C^>bNwwA!-}sZ%PrTxTiVhuxHy{Tj0?L7?49PQeaNJ!tP-*BbyA53;?jd9habm`^$xJqr;eFd3 z)@{qgP1Je0L#ADq@sV@3u^zQ>;ojLEpVIAQ;+Z5raSm1CO@!b3L1k%Y z)XMtX{RFb@vE`zw8|P>+D;boOx<_4w6a9OjZ=Bk#i;j?Dl37%dYGE|cg1wfHX0Ku9 zV6S-@M2*;jycRvnQFBJ38ae{g%fSU^{F>^OTSBpzOag(~bQF>~rotdO2KG;T&ycObFBIN7iIpo!aU(rdVWr0 zW!nTVdfp~aZR4qkxF?-KnKMwidAJF#Fj4)9it#4J#Sh9kc>xM!782>A1OQ3%J4H6- zWbVS;Y#FZ$ugocOBnc1t@=&0EQWi_#nK|91>8G>tIkntU+T?(2kjSwa0iskaVJ5Pi z%zpcDfXY-I$S`z4qG(fC2V#VblWp|qAe~Tu&B_DPv}z3VsE7{VivyT`q^RuCwOL+M z-NHLKgNm&KGvaGS8Z#^BR!)*MbeXlcV-zRv;C5)iXtW*3O%x1L-P3fizo*Mk66KK) z4>v(GsEQ2yyXu;|_p z+6h8{#W<#G;1N$yBx7A6;rin_xyAJ-gOuZLa$2O8E>3r(e1Vg!M>&EBLe<_iDw=Qg z%=`sS%Kh#Z)Jj-E6H|d!P~-$WJ*G?yM4yV5`m0w-pd1`WXrThK-QA)wCQ z?oH7VavN(3@0?bq5~bs{1e85_lf`r6Ln{$gx)Zl_o1ou(YmCZrzPxE=Ad8_)GPz6h zR+d`kQgBRnk$hUUP!CqL9_$K58Ru4VD>I}FU1klGfm*j(@pM7D2npawekbnLkbtw6 ztlULvH9H{pWd4P_r5C)4pNh)z5Xfzp5AgKMGPr;a?!BayLa%b5!tHqI0#GVAuUC0F zp5oN6KshDTI8P>j(y>HFw|1)s`-5NA;}NiuNpt~) zq2o&tPD|cE7*DNg0$?wluJe#r1;Tz%D$2+~rJRewh}C7*-j12_F4MFJWysqC2Pi-mQh-RR11NzYS zo5{gs>>|Mz#LMF{>RY1NG|(%o26U%mU`FHc!gAz~wvZUWl?lzDzvZ*RNO2<{;_%qTx6`+$POGY zwFuaZh;}-?-w$>mKTum9wW|C!O6v>-+$p-;>rKFhPr6L`)F#z_U*8+quxU)h#6nLC zBYg|=F-p_Im2F~MeT^@Q?B931CqP|Uz6iEB4e&K>ZKKQ>Yj-IN9cFkH=D0H0VVzf(x!5Qlb~1X=<2osTkYKICAn&AEuZsvEh-~k4TK~mq2b5ByVb2w1 zv{y!o(n3GR*J7O59=aac0FUp%Vs!{;+cZ za)nLE)y^Npw-bl@Zi2@iUTY?^$y73xVnOUKtle>I)ah&oTR8Vx^wa4Bqj%H1n7?)N z;8t&Y_8{K7nYgu`j-Tgec-{hTvDCp4}0Ztr`1{R`un4i{!X(-VIGxd{hJ%C$Q0 zjKE9amYSc8d&z^uAu&uk{e$RzYaezttYB8#gc~y{H^^jiJz^piBp4~m7_Gdz(x%MN zevGfhK=lCKTo##xHxXxxx9-V97|`7UxK7u19f8rPFCih3uHzCsjJlD9DQ`wJeHPlS zwZr<<9XaT+p0Dh)yV6UXB}2r^$-{|CWP_aQy9amkZGT>tz(m0E>vt8<<{Tf&{9S;b zwlz=g+K3+}6L;Z9(~p_Q9y8Yus8GZ2=w+U6lxkp{-18HI={xe-N#n!?*#_^)4hTW{ zdPt=~x6|uSx6}v}-6v}UzccE06FvH>CliR`pCFn}*MB)$yXb`jKMxmWcT@N`4SF`r za|;XE1#r)~T-MC-_x#-4f;B&P?owvnq?tm0acAInw>wkf9DW=a_44MxKQqdk+1Xo{ z*#QlAG)uB;iBa06ITl=7oRPMrp8NZO3y)b8DoOqT>R8hvOE3dDRMnXTv z*J8=_#6j9;{+<`8>CN?Z zEK}MzNNetiJpGX-=eO(>hlC6X1=bSlynogd>-+|GL|V4f^kKB&m-ok=VGo|9yQt*c zlDlocW)UQP58;*mJ{#JndS>`S zbZH|ReT0H_N76<-Z62)8rW3&->hS5Nl-;?(8^W>Of+ih|;a`J3>#{SvGcC8$y?&B@ zQ;24NxCIe>2$N`pecPO)wc>glyaPKT`h*iL6bq876lJ^)tnq3Ls3Y`ad@ZJt)r6%Y z)IQBZj}oQk7rusEuWdZdT4}kNW;g-Ywv#|6@Svh{GLZv)W`}3xSxA0p0cyZNb~nz7 zvm_8DE;e*SoB{p9_*+i$b)K}t$&gZc813fQi?&i(A zaq~<%AwCG_NBE*cekpFfe&>mQb${@mKYL15uZ%)eUyptC{tbkvR=@Wf4}R-h;e&*B z+YQ>fn}}1Ty0I8TRNpxuwEI8%8ruCI#&^WNlQSM$d82Z22yO?IVC)d zkH_$I!a1Dm-QC+a5<_^5N8?9bue#!;NTt(zD5<^O@uBK6=8Lnv*21h@INW>@IbYPZ zlryaX1Xr-x=^l=?3%$R!xew8!oYE}G-n#AYPz^EWg-F#_t2%qQut3*?_oA%Q!b3O- z^@AZ|_9Kvo;^Qb|ud88W&9~{4k7{BsA|zv^xeaj*dq9v?P`@s55(G|SVfqi!Fqn;z zle1Y?#ER1Lbd_LsgQ4TuLJ0@;j_swCY%*|%ofZpnVLqPA$OJRUB*K)3Ev#kodDDcL zOe?SH=2^}@s!O-T*)(tjN*_mIoIu5K1gbVhcyco3kbMRzX!0G2z*=Ke1^_RFf2bO( zLNN@EaUlnL?m z*bt23Z*|*nU%);Z^`eLXd;&KeFOOYC2v}nBJL8=mk8vYP=s}BgQSzG*Ut3~lWhOAs zreMS3rzCHz=5GiDbm=kEFXwB35r$%sfd<(-+(d~IvD=2r(45c8dHop{k3se(NtVVW z_fcGv>0WX?N)AD{<6?5u=?)HCe#PqT_gZ^9VDdz76XW-9N(x}v8+GSH|8=K07`3{U z!=C?qp5lz672 z^1*)r!HEA1?gXI&LH5XG4Hzi#QF4^|7<&$P4__sL*5CrCRBfhPez%JN>%H6RJ6ewLZY=qpfCE`fav`ftZe)-qJp;SaCU4{9JV z9dfvkDiOCbQ#n^TNy^aBjxwX)+XLultceO7yxH5_gU-ZA{7nSBeE(h#&V5QnQznCq z=KaX^K7j4P$%1<$&(ZT|fWP562sJQfUg1UrsX&8Vx^ZW89`KQ@4!EIfibFjrnwSQ2 zb66k@N?qUY*T+p1Y7hLKc>c^?X^y(HGBcOR#Gm7*;m({?K?x)ej7MyEyWVQDR5_h4 zci@mSnqvV44)W$jh9~r(_+JEtgIxrA z5cQag=Ty{VR=KMAXr+4W(b-#=89oG@J{5e@vJkhBq*0JvuAWvY!riAuc=jd;oF$14Z`7-1j&_ZUk}zx``cavQddgo?S?X z&Yh`oY@=y881BSn#5YQ2VB1V(hLoX0R9}zv{OoKZ@f=#0gHbmwXD{LYAY`;eLes9i znZIKV@`GC$qCf<3&+FcUUNLHRaj@@$blS5>Vc4Q6Cl~#D7(U#v10S6njeB}lMnE0+ z`oM={9GnX5IUj;N&LL6SYU##}aWaTvf7#5!r3C~ifsGe3^D>jbQW0anyq|rU@#0x0 zi;7?D1hZy9q450D@9n?bhkzj&YC6YXqf9E3;dTsZkToZOPBSJ2)P7?$9>qVF1pSZp zhGQ!+&84Z3OR?Stl_d-t<^RggaxSLtjN}ANVcs07oBi#V!F?F{&Q>2L{;rQ`!w@Df z12dg1iZ*%ZcNs54Cb*Vl(aIqfj#ro_U&N>pCyDe6|EHlHaR@Jui)cp+Q@jK*M5vwk zjaB#(LH*DtK&o`)+=dH>_=+sqA0hy}wcS^gk*gFc=SUeLwEKEYY{TJZ&&5m08>CM69^LG$5Q=ZP_?3BNA@y;zQh_*R2<%6(B`=h}CG4~O3OORpFnJf`GAEP=F z+O8Oqa=d{Z$2vFr#mx6Eqt^3!RjloadM6eNH;a*3S|L8 z1;g8|wCsWT`+NQ{fa*Z}8Y;XWb%0K2{WnDoS^~GjGYy$W7KM{qjgWE?0(i<1ebdld z?M@sLaQOW5&n51}N&C;wCZ3NJlX_Oc-n;$$cKxg$sA%xndxi=`fH2%jj-;VOR9}zj zmrYi!FSqZ$@WObM8gkL#@*BM{#Q(?b)Jwbh&fWeC+tDY{F;qt<_w-VDXZW<}@mt^@ zjMV5$G33V(3EY|XGfYi&X7*#gQp zp3i{iFJ|tg%!RJLRR#tl3$D`#YEGY%a`|mtqf*y7!My zy#C4)@%!=@9w2uDYJz7V9u&1q~ZyMhj zdqFwAE2GM*l{QIJC-D9HiF9ZYL~Y3Ko)OtRhnr2%X92!uf1E_jxK&Lan)34V2vkiy z6p(tVdZfD%Ge1Ew%KJd%%NZQt*+uCgvM*9{L zh{}6@XT=(K?cG74)!Ma&i2C2UIywPzb|YesQ?t!|{j1 zq0r%ps;0hw9yr=XcHQl^1@|=lS2$S=LVc@c;p~fgA5a?^TJVD)T$=AKV4pH>zuRj1 zJIWQS!;?|Khfds0+OlILe=3YGMs-w#U&vbvhH>4?*Do&^7K-YvI1a8oZy5DbbM=z? zwp?=7@YiMRoptl;&tEbuR~_Uqk8d4=WeV`uWzk& zic^&FdgcG4?M>j@%BuVE`?UJmlI_GqThD3sw3DN74eprO!GrlkuoZ3ha&K4oi|%nUFKWu}>hB>I2P zz3*AJC(!=?pa0+f*zfM^x#ymH?m6dP7&=RkAx=jRNr5pa_Vmz&QEQ;5Lza)o<70t| z<~Hj8p@U<=zDOH|)2NJewaQvgSdNb(X}3!rham~LP<)@mx!J__GSu1iP1W#PeAYG7(S}qRV%@D0Xqc|@`pr^o`^B!n< z0MP^%jWQr*(e9$VhxK`((uW!~j;rqBoPg921|mbj8<-TxD6pb0P~X|w)?QC(BDxsT z1aMw`r?<1ay{l1#6W$CQ!A(TFQDtU2o5-J}QN~HJv%RGiW(Psm0YPhllOmD_@MO(O zOMnv5{Xhn%?!ugN-sPIcS@~p^u17jKpyCd7B{k2F;M6bd1JiCwQJ-&U?QCiBdfI73 zjor_k5&+F1<6_J_bb%m4KOH?JdE!+4Oc49zJ*mP0_mK#UO$9xD6iTf92`*VjVi?iB zBf1=>7D^uV`(Vd~QfT`k4?bJZDkSe$rNQf&15vamUHWzf!-aQ{)N)YednL8>A zah&EIlYXeF;7NAjZ`m>Ghng!YA+Gxlm%sHe%%B;uZ9B&Ov}?#(DM34J9&0jm&=#`B z-x-AlzfnNfj<}!f0t;6@KpyznAunH93yMPBQQlH&e3O z&WK2!+7a=WGS}~j`48c#MWe9B9m6O*zP7n|55WoB{35rqqu(FKgU_(S1!Zib?5x)b zIdPF9fbtI=9MXbDp#&N+bF60QB7ufD9X%wuQoB(#8RIAwi;3bCJ;rf8y+ zYnkjojjb7Yf1k*gM4B;(P|!0*qD&1Ty~4(U5rmN1G1m~^2lZilT?Ee=u8FUM$^C;R zP}_wprR~*7*X(L*^G`#f306alG3h}{5{5R??9f~--mb3j8c=iZ81mDuT^bJ#88xxm zn3*6$oQ{Aqc0dVCPnU$6%PAm&WLEf|H@&6yGrQ0hqlYeCg_= zLu?cm3i}rd>45;cjZ=ij-PDwrO@UWcpu^f6-MP%B1&=w2`g56ZBIRD9ZIOQP+(ddF zc+MzhJ(e2*QtNX8>!({t)UhX1o$43I&N5XH13}eP3v3}kJ}NW z?RfC$EBT{q}Ih;IKlQ98y! z30h#7*U~uj$<)L~H^0u{VtjO49S*i|uF1wJp%a8Ze#(`};zA}*U<$$u3O00C3CAY8FKm2 zAP7FMFO>2TN+)QFFsd^i_$HDoq_15!VF+a4V}N1ItABdNU*+ zAWrN32#GFdqi(Qd1tR~S_LM>{JwFG*5A;PGtONt<6i#$B zh{mx~R415J*ilv~;`N(~3!4Tu7XEYN9Yn+(h5Qw*4q|$6qD;$2@D9%SenFwZr~+tO z!;LqFu%8P$MPPlAS?mx*nvCOdWf)%O)E(Z+I9y5(6?suXUZ7k(C&#TunOIs;PX803 zKt1H35s%Hp!UP%>I%K5xdkUGJT+WFLMbVfzOzi{9$K6?4vb0GXF=42}11E&t`HeB- zFgJmQj&I1Lp%=g+Komo{4N-{c!_&~wA%9FjabI?5O~vM)-n8gYZSe z#M<@GF(|IMu-HL_ES&PV!OD?|QK>CQ+>7fIZ$!iEF8*j0cw`_7OCbD8 z-l(|8v#})N3ibQxzky2{v>^`&OWchOtp@Rsl)SMTqG(-y!j!?KOomWu1{XX|T&Ih< zC7zkSSJY$aa$?I}2=;sMKI8h7Vn?JgZB#XnN}CBS9w-gOH_jTp819FmEe;tov3x8} zkm1lFgHVg=Embz$?}@#tvOfP^R8^C@wx+xK^qRC)&@t@9Qg!b9@ioaYL(AD*HkB?E zpm@8ng0UkLTH7#06rOQI-pX&tPhoI!NdzJ- zez<1Lggf2P;~_y%qpXRBDG!)}xI!a3LE(e{>IsUv?i$g?V5SVObPP?nBMpY0j98Fv zAZej+A_z+o@iamv_&A7ZYijW>lcMVXD*{ei>G7-`s4@P+i+_ZG#)CBw>!DrVAUF)L zB>t~ILTOy;c-%Xxa&;V%Tr?U;s%^y72aInxKhV+EfVl9O<{AP-fw6Sg8U>>SbcIu6 z9$YnS#9$K<8*wbj?Rg5j>y^V92YxoGQvIbYX3xhMqs+zV7qw&8TDVYvl*&O;%*xd?ly zc%I9({x-~=CkP>!G^U$Vn;OVXI++vtp!|8 znCUwlcO&ik?M-k2ODjzCaQWx81hOD6jSV?94eFAsW)GuHcdFt1?3CD;~;mM zNOnHgq-{-zOwb4vH%^jc8TS$ifs2NQ`C*5eN%Y@QY9|C%vEVlL4ww>03xW?p2afg8 zZ65U)l+bu)WhvJTX+NW>g1RX+wV-Ab|3g!?4Q-_vjkyoQntll#QDubP=qjZF)|euP zJ!2GR2z>`*t>G9%v4xNa^_ZlAXcvhEj8LMjU2R-Zx)s|Batn1Mjikndv4(J|SOO6t zCr;twXiX}|gl`STJRP?iT2Eyg7fLZgvYr}4DvZIHhl_#>dAPN>Q^eB4znBb-gN;GY zrKUM(T!>waohPJGtwRPX=ZExEQrvusE7g6;EOu^Vf*L%=`le<=dT9}&>VZPeaIYV+ zhHy96TL=G%juzNxS7(`&G=(TqX_<&oprNJ0*U|#SPN#6uPl!V4L%TN3+T21_z`%kr zjh|;J6BQt!(|}ig$F0ke(_HtvG3eufVrT)AU%&}%P6GZZy#Uh^v=|jp8k)Q@_fWiH zTue6I0B8g%X;(Tx_guLGS5D-zLL`Ju_9Kk`82X^$V7j5Do{FQNS63u9VgagaD>qWp zrK|xT5M|aNm@0-R-OviUl?q&&gsK-U=a6x6+#I_=kg-XJjQkX=xFhD>QPsSVBDuZei=DAwk)5G9YwSrca2d>cWdL(HDY@ zar1ah>>@$NW*ssTdB|u%Lq?3R0g4L^qHGULxzNaHNocAYO8SQ4Mw2VkG?$y^Cw15I zY;MIh6mVxfD??5Azl$LNGD)bT zgS9lDn06&GoqVqu(om4mwq?GOhg|L~iD8pAJT^Ub9o77)8M+bAxRUA9^96J| z5p=11F;bUw+^WIY03T9_8-Y_VuMRQSs507mgbSvN#yD4q6pVpbFvxXdjvF@gEt}ww zQ8QjUZYId6F?N%rA#amNL;h%O&sUC9ue~c&m4_tY{{QK9sna8U<$2HIC^e37S#+8&{R~m?nP|uC-%LNNl=p5v^QCPr5n>JoUps_^<4LXL4l_`2t zqV0sADgjXNMOiu@3d2Ok*;(-Zn-x)&af!jDy|_-FL6C5Mv6d(3JrxTTAitj{iG+re z>j%uh;GlD`zu)7=k~(Gd^|xJIkbtH@PeOQ;kakC_pbvD$E^5}&K=Y(+2(>s}_ZHfV zFfy2)fmU}W2T6FHuX(i86XTXoNCA?Z_}cppLk@ID0P^wt=he3=+1$~T%q$x4+rgiAf*`$Evbfx=jcQ7IL?9vIgP=DV-t>0R8QNP3JF&v5=$E(F~V_Q=3;AISoUiR>NG0?^T%d%u_x{M+QW8akP;``t_2Xz1VIzm;8hq$0pepnn&qrXP|t zd%2yBav|jL`1s6tn2Hxd$iHH`pzv>z6E+0bT&@2b*oN-?3(UT5z;opL)s}M$wN9) z2%$3Q?AwWOH8I=MrMLpqDv$4mw(rbrj}IY99@5-`G`h&^EQBzWK#Qu*_Tbx^QkRcY zrZyzWWme|YWggzXtRj$7bhN10Bvq=68rX?+*;X~lsj01~H?4vQrN~x9?(T~Zle-P>rapCy`W@i%@qmjw2R&T~`ByBajx|x* z4x}Yp6QE2>jY8PikUGNicM;EoQg$OWH>2ixsE^na6xyt{sR7r@`T|-I78+8AW_#K& zCSf%%nuXAbh#Kah?J;$9Ozq?Dj%Bs=_?qgGZhSx;<#Ancb#$CpkI?X#UZyXu4j3Xj@W!ZJt8gDRhxs9dH%$nORkr=jORP z zW=&5KHWF3ivpp!G%cZ)ycy$QvhKGmx;PCM(JJo>KTgux4e|}mmXtOXI=&NP`|isvk`x90IsFJ3d1=LkJ=Niglsjc3wTwQad^*tq-A{JhV#* zG&gd6cMihZY)cnff^D6WwZcu`HvQYKe>?CcHKly6)Pqih4eeLQX|eI%w@}V*gti(L zQSaL*w7DAt&PfuQO#t9UM2EVk9SjkA3~ez)ka$Rf#v}97%)bpZEh)Wnrz5*L-%Y&gOnEO zb2hmaN!lGM2Znk%H24yqWoeZpy=CBAq zDwC)tQPHR~cd~vZmCDx_QYUec;V~;NtqsbiOZBI7?OqY>Es$_^9NFkvHtSv>LPJ-+ zq8kvho#|?$<7SggN7cM*`qT;x;($^HaZ1%KyEtT=9X~&wC&&;&$iNu^p-%yZCoaK! z4fUO=lU{A5yM3jh1%fCQ1}2q1&@UO%pqddjV86c-}&18fRx%ADR`Cy>wqkZO2vIT%geD>!@${ z)^~TW%JCLf7IUqEW(XEhx)oOrwg47*NO!%r8HqdU+o0OXtD?=zoysiFLZgfFEjLi9 z!cAlwbtOH7I{-I`kizUrL$1)UD3VXFz$_K+0@oI_v<&ilUZh%e^XfMgCd%S5MwLc+ zMxO~5a)rPmnLC3zM@BM2BZ zMV=cpFulYfvrh5G8js ziZQ8Q6XNuM3AVn!9gU)ojf)K(R2>ySbJ#&3x+X0(b8S(j!f%wCMx~>XrjW`N&F-j& zUqgVWgJ!1$-?{PhvTFvE3R$59%M2!4@Dq16jw@R1V}3%oWd` z!U#ZN86|V2qTk0S+y0Osa<6Yzi7MH8!*vLtBr`ukP>qtZlz3 zXB*`tL^lU5Su)Z9+c+`YH;m)eQ=f$hrT|qzM~|xNh>^3Sl}14m>$s(!CZVaRY0TAkgMq|F+xpR< z`E0Lm@U3r>2(9-uca{biC38-oAZZ0ws4w{1^%NSA2o0o|RbP82+-nMb)ljwvTs~4d z_ce1ad7I#puLVqM#9X}?__fV2>R3OTTCRY({w+f`1~e=hCkCuEUTX)oZ#7j5tellP z0K-q5zNW1y1Di_$zN6^4v)=1Dtc{RelU%{=DrIVELj(_BnI?LkBaMq7HZCw6RfG`o zuUNcq{myrKc_|l2`rLGv+T`hMp=&4dc{{q>+v`2uElrJ`WT_Xs0l(0p=K^x4wd7Jf zur!lO)n}=F^(iU__Lk&cmq?IYqMMwOk8Vsw&r4XovC!PYhZ>8yxy8T)Yr|d*JuQti z(FF}ilbiz8G`9dH@O8NnY{U|!#VW8F;EdT07ORzvGOYx<~iJB@Fa#R&{iqX>) zf3h1FP|x$<6wq1Hj~Sz4&+x-x#^`uPcjqE=MJQVZ;C%rU|1G3%sRrx z;_Lzx1Y4Jv<`xs_`TUGtp2lA+NCqQGXme&s$fzfujpUN~+4ZMX!}4HB>GC8rYmB!8 z=;&!2D-AjCK%cXX4wf-)tr3O*4ou^MH@PZWC`|huj6m>VHs{WB+Rc+o24Tneo=6s) zNkg`8prMcw@x<#j7>cm3_o^bDU@!5h`NsV}`Q-+!;}=-N{eS&?FI_mz=O*F|Mri;; zx;-Yw?DI4?&D`9kT{pM6t=z$0;uAd4HW8kvrI{9U^8)Ovkb*0A5WQQtX^zpG19B>g zH?H}Nhcb)Ah0Q}wAKW__Bx;4B6|zU5t2WRC+wM;9MG)DJHQ$l3!e2f({+_DA_Ra&~E-fUGS!qd}vEC~!FG+f6CbV<%_EUDFsr*c)w1fPp)k1J`jTwUC0XiX{QLU0npZooz9f zbGW3+N$X%dE=)tkd!6GlY_lX5Tb2S4_n>iuTE|T8aB>M(3OuG2F=UkthGp?U1}0Ws zY=Q;YHdg?$$XrVuaJB$Q(3~`2q+{t!rsc70Ur4xfc(o)1>O*8dHBE555GgE@Jtivf zR4#&IVA~HPVdRcv*N5a~ngX1Xc@7{I{dtm%D;kLhA&e48=QXnANPWZAOJ}LS8+ye} zVv%;D>tq^cm7MJvz%+-9_{7Xam>@$O_+MbI6i?BXlnaSCY~Lbz8fuEp#5@Gr`!b8m zt0Ad;GCPd}2agtWzLe-&f#KE!FQR2yCN;*@0$|sP-0diAt(Gkf^I=F{`?X5g~awR|qY_4`Txu zfi;bz!q+y4xRR#|hhaEgG${!oNa$T;K~)rR1IcsG$k18@4qWX&DQQs4s3Ck{bobgG z+-Qtwn1hMLJsEBS!6;!Zyco^Tu8hr)`ABdz^+wFfnY12; z2Sf0%f5qDi+{ulnL{1Zk8Pxz;ffA3*tqmh6;gB&ik)MbYWQYSlAVa`T%Q{Q|n{dF{ zGffMyQkl&92{qzwiE!fV(hS7YVTG2PMt3%+<#cu!CU^BPI?OcZff-lgGuZ%64@gIJ zIS)(sXELi{?at;UnJ^yI-+?pmA_`2cW0YaPX{?~l!2ki-WEN2<6;Zg%&y$^QZl#JE z(1x>B^NdUq`3Aa%4j09=Qf|t2z(Y@s4wG5qlcnh(z#C48ur@SBEVk9E&_ky)E{`0c@;h7c z(&@<1P{73@BR_F=Vum0?Kk&c6pq1zxkB0E{HO{qxc9@K9lA}!=vBG*E?R~DL((sDM z-i78o9`%hT+|4t@(5G!BE{{jozJt@!3A6fmRHwbArI}0(MdR-AnS=+O6-1Us*zXjM zhcoWPya!Mqp8KJqG5{`mnSjoYr$X*ovPBbtkkqMZ7^s5TD6AupHtQ(@Xnp85M`$FR z9)gSvnJdjZ?;*G+83#hXK#VYD>~RM)+@%|PwGl1$=LPp1R2M|AdeJLmbezqlf=ZjV zFdg9JM;XF&0hm$Bq){TQT;}t=kVqBVjsaD4`%c^)*o4HWz~W(TFTrIOu8Nyoqy#gU zPQcPF%vxZ;Jdi+L!f2418cB{4WhuyufU6hRUqomKz;xzk)1?mW*(2g;XH4#1i>O?< z%1zD7(0b=>rS@^qI6HBEB2Sc33Nq$5C6kv)Sg7UJ^I;47N z?rAv^_-Y1pQ^aUPC_j5DH4Css7H%O5F#DT^aC$eTjVvuLtQ3s-BuEnA$3G!#=|BPpK5ps?jz#NizYpL#?X-!~L$sxrCNZII{v3(EKiq zXA|x`H3p*Hfy6y{JZhFE0-&ESWMI*b_anJeG?Si45Q~;>muF9rNW@qJR2%0EJVLAi z@uXA}Y@E=8B6vn-RgXE1^#{EOkW75{r{NTL@O1wO`#6C#%s}qln;$(C+TEXxQenMh zq7n`3$>0O0kgPyKvoP?P!r2N&u}1fX^8JT~b^|$ceO1b5{7|m7skHvx;K^~(j~f*- zx|=A-RUrkGVvGcE2Z~)=RCG6RP5^2^Yf?c$kAy^Z5g7v}N@L5luIXhpvH&xO<&D*w zAVfO@V^)yn;|KcGJf9l$%{3<|8>*W4?i^=an7BA`o*+YL9lyY+kCfxo^xj!97Ss*O zV|1|;tI<$V%W3@^10`PBA*@Zy#HfsR2Eunei#HnjQjx!X@Ykp7*H(vreZ-9hlNvyc zF@zipqcGF%Q;D%;A<+Qqn}XVZ*to)Y3?87x^|3~ti^ zGWnI{AVX*!g9ObveMuQNV`N5jBn4ZlTAgRnO|NvM6+(+1 zZg&tI3bb8W0K5cf&{LeAy9=r7m`d-smV7YWcnoJAva*v^2) zqpgWXG~=4b-iVWfue4<$T+6QAOkv~&r+0B;FHtegF8(r5&lI|iO_;BPwQn)evqAsU zud7*}63=szncNb-(VR=7x)PcRKrI{1m|GuyYLqBm%18|^EiHjRZk#7EQ~qB#V`sW=kq z@q1F~Jw`4fI_7t05`D9<;+nygB#Z&l5tJa~nE6=E#6^M(UF-M-MkmwXQY8+b0buTI z4lKka=ra|JMdv{-*X(aib5gq*Hc2U zw9aW{_Uxhm1`!paLn%PaSiz03ceUV5=Juo(_K1`4?xZ-|uAs>=SehuLoh$3hN$e&% z0>+hG8aXy*FCmHmz}GklZ!9Fg+c*)sAow7#MO}9A8gJ9w0OP?Y!^Y4 z_O3k>iT$4tE}hTnfYoUQq~c%=Apj39bQMDWN;oG>G$2bOrD zUvktrbz|CKtY94YL|w2tQL2oCM$NI>V`c&kp>+(T@&92HHXLs2vYHOL80R`d6YB+Ho8k{dX&p(FyiPwNgJ!P*?mh} zr>CR!*mP%WOM7U#v$>@!G~F8N?r58C4uLh3%O>TH<~b@*Bk(%pdvxk7klWxAug zr6tr!zUGeB=`O@{AgQmTgVJ^*aR^TQZ|_E8gmg`}c2NzjK0I(2YVSf|i?4MWv7vS( z?4*L4Tc=xa`5U_U8k0k+IM#M7Oe2HapwE5UywzbU431l(U=y;YV>dhE=x z{INL2nni#$f9&kBna@2?wWZoraqKLHH;>04B&&!GoIiGf3ODYWuHYH;FXN4gH{w2{ z!5((dT@yWnJ{DrTJ-v*5pIcEiW$CWz`??iXSGk#O{6qW=e^UP#+U%&`fI>9;`K?Jn*zizh?+E%-)7$S@y~ z!zPBVK#Pz^>4}GiMUt^`@eR>fuzvGhd>86B_XT^=*C7+jitrI0AF&ccjfYq!A}l82 zV#6jzOx7y)1be6SPDz@4${o}W7GD*Fh#uS`9ZHnB35oh=KMsWIQ+U^ak*M5lOxX3)40yl?9zN1!+4H8*pfDB$Yk>-^i0S3_ZXs&Mq=lV zG%9*HRUA8K^$zR)LGEV{R_Wgmz7xuXN5;2Is)VR2V;21V@(^RM_{t{lM15%Tnb?_# zk6mW>9aCOF%IB2WgW9uj{6g`2#_{b^p71<@Z<{jYp{mMM_Ieu3V;4`DIi%_L8CMv) zmyf}<1DAgy#m?>Yd);kXK12fMc2Z@ioK#BP1--hy8BbO*+XSqaWr6vX(T_T?DFi# z*Kwvy`g4p=n8%`Qn*Z2?d*F?od%#1%HHyvKj_>^_p2E*7<$U0}P?Vd}U9(SmB?mi= z+`E-G@Hh|RZbh71v3s}S`(KL7L$LFVa;N7`eD6@6@@&QT7GomnXYC=o>cHTBSGwZ3$Ue!Otb(mzvHcW_D2cVs*k9uBsPq=;|46?l{RR7dKD#F{ z^2aVROqsaPxWYcgKF!`Ny-j)?sRPnp>6rAo&mH_m&Bw{`bN}8GH79Bjv5K)?1jgF_ z=t~#=02r&$9_F{>WV2g5cu07QZeX9{GT48AQrwQ$0s(!B7jmNZMB52!nvStv1jd>` zy9i?)#2;amDExKq=uep$o>iMbI_a z%QCJRsEttCdL(C#>G*2{-m*kS*Z|ss;)la@B`Bft$Jnp%OAs3X#9Gu7fY<|Pwo8?A z_9nw7l6a&eR}coCnTuT-Nox|bs_el7n8quPD8SejVn87g`1?5Kik-82_rgaYUKW~C z%Di3hO~NOKCKTD*4BsL6%0qFb-0Oia246*JM5*wq@Db#HtN6%AF8|wGgY1$cG^aTH zQh1-@@XjEXX+U--$N{*W!nYByH-WFQ+-W{;W~!oiMiJ^#ZubysybVB4xo%OmdxH3G zgZ~J=o0ZGF-xkTq*KD~`!Sl(|oxoys7^ixGRtvD%f!9lKVCS46?PcYP=c~y2->CQw ze4kT(>7fM^JNI)>6Tb9wq78q5v`?V`n*0};)9-xcv%u6guLEg*gi#?J^#hED1z(%= zc#&tszi(kwUP0KS7>_IXdNDecq1d@f?+4(EB{96efWxX*dY{Diio?iAbGZp~S%VC= zkVUn5--LLZU#k5x&*Kh!4_FaKO~2yk!t!z=;}_U0n`86rci89I-?E3;ci4B?_t^JA zJsg(yo(P|a^TN?7>cvZVLu&e&moB^mtEJ5zuA=>2ydf3Zy?czYkECg}{5zK=`G_t{ zvJ3nBcX%Nu;wNTKgyGaz%S%`-Cs8u3mSgx!;O_|hzk@&esb;iVV&!RQbI_V(1zI!x zxZ@UYWKfzL?DYBy>K8x{D*}`Ljv*r%6_CY zF$I1XzU-P~l4+=Z9xZW(wkb|;4T7D3hZDZR%LL7pA@WW74m?i2GQ6iIv+WoN+PfL6 z^!~(A8L9-}%2L$lm~=}-Wk2JH02a!mXO(Kt2+9*3c~X)226N!d3sR-jh&4kvww!7I zpp69E@dGGU}Zl3c|MSzPuhctbEhkVQB3h#lp*rg$*%+K9#wMrF! z^atHB%inG6eUV{L{J!$nya5N!?2xQd3tPPY4k@XR&1XHI#n{+1K7fqxqNM%SPBh4q22R+wNxDk6drs;|_<*S-3^H(E% zS?Tn=h3GrSy#OSMR=b$hGRf!@wfKvYLv@}>gOGHbISx0$f)(GxfaBegO&%>17s=S} zFIA!G)st0zRy*$d;**;~n*a~@us^_f5~W+ER(pTtFo$gTzTl`vSF1zSs+m;=q}5$xb~!cfj*Qv>2oFdPm3scz@jSEd>-Weoo{GIv6mB*xz4b zJjZ?P+`sc2e$Qpczj)Z&L^)qVSe5jQ!wDcYgS2>m(W0q6o*oPn`seM&7bNjyrNoL3 zwRLqtI@CtQh{eYOL; zitb%;M5y(A2f?sc!}%JCknBm&G)vMW?BCcA*?uW1<)vRq&rAPJ6iN&5?b#FOc|I&& zg437r_kGM7{q3-aorG^mLrh>>#@;zc`1bR2be?+WoS;tH$}8Ar4&*1!pSW=1EQ-+a z?aRQozh5r!?U#^(&Qg2fe>48*C(6%LAuG354S&B~n8Hxt-Y**}kmQTVLRWjDzE18)k*N9~_ z#}*Z~iN#=eQCKYDx$MI7PY^?vw`vKz@kjf_fL*9S1OYh%HZu3Z7J`_ISXus5-~8zu z%LXw$G4oC`jL6xnbQ`^ibd_byU zAA*wkUqPMtho)`pSC;L}ZoP?Zv);^hT5n;!)?3+O>uu}<*4x?FtamVN+;%5>m(9h# zZBv*N2dj|1mL0Y4V6U;)u{YayvZ8$#>nFOe-zOD{SO;ea|`=R8BrIB_v)K5+pK zT|Vq(wn<_*@X^tjU6m(?eC3lw(L{ab$^HBsX=f3T7nV?1vG`dysMQg9;ymM&VE(O2 z0MRUX!KuvdB)fDM;w*4WkGvFzMiwNtVp}r%*H~SerjG#jf>D_2JM< zC)1EGG!^mji0>ABsY%%I|K&rEr4?*;5-*6ooqzt6|0hKGG5q(2X^(O{zPI9gvlLLaw)rM*fSzBX)o1MD!<0*VCZ z7uYcRdQ}=hmY1bb{J$cFQOWaCAL~|rDMdheJR|v7yYh3%&w5yk@`SX9H7P%p+^mT; zC_k2BICuO&>IcHurBLUS=48!@i*T5PeAvtEdtmg`Dc_cMDBqMO*#sz*f0w)(*e{Pr zcK~v4Qy!LXRlY1Wu$z^C!olZt(yi?Gq}$lmx~Y?I)7JpLwaq-WJA1b~Z|KD4Du=u^=$BOSPKIKRQUH@6} z8^x~|-&iaZKVH<{g}@19x={Q|@yo?872jTbbMbfa|K8&H;@=hDRy>XPC~)}Oi=Qig zwwNhSqL|kfKVAG3FD`&)954QP@c|S+Q0yxPi-DrQ*ja2X?k;+ZJB!ic!D0jr2qN^| z$Z@v#uA)}_nZu5We{=D5>>jOnoHZ3|S+=OK&f=}?bkT|L889_yxj6t8))2e87jSLE zg0fFqL3dfCeE=de7MgW(U!CKON&0W8r!MSsfO`}~OmD;v8r&@0H~<_5@ZKdI2AfD? zV^WhcitmUNQx4#(4T1z6fTLd;RKoa%qyY}?d!-Sj2Yx?*Z&2xks{@nLif;=-_6Mkf z2DsQ8+z2D45S=Az0i^U}_d8y(q7y{^r`VA?D@Z-!LsDF_CRv-LWQKg$%j^))!&qGz zXreN8q*2gB?5b_jBsWUz5;YGr35t3>7Mum!unn_llHG{&AufbIQ@^h`%0MRsxT}Z% zXRMolJNf^&vo`)U$#)~?ZOHkBG|qd6rN30Z=h=nUo8?6lOJgk~%7!7dNFP=x*{#UN zuDyBcisScLBb*}cex(v|I2udus;fZrzJZwaKTkPEK~0PoM~j1iqJA{}-r|uW`JZz1 zAm&7IQY#*U=XQ8LQT%A}0tbx=HdQ>#?kY9|=o;8x7HinYioone2m4?VD+A~?s>6p2 z_=wa+K$%(wgLUlezDR!^&??xK2Qa&IZYLRZV*Q3bI$P%rK z;{Us(1yk0PLpXt@4IzVd0sMcnbT=sQXB=;rOtKd-FC%Qet{MMlrPm;J6T+T@FHyG> z|Bs=DMT8zl=;Im!4%gj^{|BWd6k?X~zrZei4uqq3jbK01^;PT zGWLF)DT$S2mXDi&c`rSL7?MQ_^gu_zYPcK0mbU2?YTw?dA_5;0ruco?B=QsN55Z5W?A8Fr;au?K`|~XbOJ`%r5eOMtVA1$Yf{Oiy_^^HEr@#e4XNvE*K6U-r^`{&$_&#|3@b$Z{AA(OKtn`uV zvFoGPN8sH9-zTm|ukXJ;0ADN4ET6o-R7@6+UH@wFkz(NbzZRdo{&4YAh}($``S*&s z;y)Ds?fTyr-&B04_=VypuXkQ=y}lcv)BKi*oe?7l)kITiXXn- zfBk0;6Pox2t@xDr^~DeHTaOQ}!D<7FxSBeKeg>7G$5LrxdzC#Ny08&AoiH2q5O5Js zw!vW%@?kGyZ+OvRmWRx)EW0#^DTttqB>n_86tO82JI*dm5Ok@J>p znqf82=2M3hQNH65(uti*@w9nRHo)!{Y6ul-k!LJjNxmM4iW}MV=R-mNarn6 z=GeJj&)-vub9*`8+M@dTjaipM+>3Us47x6|fLq0$uz<(=G4N@gz_zx_(~9sb4(xx% z7D0QuMfwgv(JXzlj(~3;+yPwdr9GRe5bTIm(wk8vUCq2fx!XgW=t`-Kebo$jWu2D8 zh$BvP9L+Z4d&Ti}GnG#J1#umpL)g#oC3ZBGW|b~!O2G4<@Me@BdQS3S>*Rj~Y?F6O zAHu>X%s^Lf-$cw;6}RUReE&t+;dvNe6$Sk>zE<@g^$WT$!nYlve}gam04`>dVK_`e zKI~BD-ZbffkZLhr*jcJ7THIvK>y{n+z%e4PlV>9eX0RJxAhJ}8+bneDSa0`zr_ z@ZTC*PbJWzgwx=-S|zJWd_;>h1(>+vII2u~CV6oO&TNvbK&CP_REs+5A=toW;8~o3 zR0h7}6={fZBvfWh+-c(hlxFHwWu62@Rm+8PLQF?hrP_Mc{+JRjAlHKW)Qx%sL%dC zXvX(Z+4sL>fBE zvU5`bjMTNGI7>`UZAUE=bz2*?!>H(r;~g9?(Knxr7L7>jm&7e_RH6Wc^a7H=qIS%g>hVB`Bk6__U;ComZ_uPeVnKWhUF#W>%0h+wx z&CH3zN`#9p#BjSum@;ACuTZo{aWFCJ2TM)}&st`}LgYzreILiT&6W|lDb5{Jf_+>1x^2uF+ipiZA33jf+ zQ=7K3axZP$MQ$!F>}G(Z;qJ{n*WdW0c+m;Q}d(dZh!lgW)X(}mwY{Dts$C;YqcM?ZE(7k=wm zmC>qncD&F!u{0o5#3@}|XYG=EBR{R68LyELb8RTaFYV$sG7-SC)C^E?mLKrdaT=2Z znt&~EcreQe6WhfuS->$e%hS5s1ow>YHp89N-4?h(a`5!lut`o}U4R;fOPl6SJDfAz zRR&j*yJWah+*J-28jma$RFHWYw2Q^>2;*d6oy#q+kk5&jWt?NkT?u!KdAW()RdBbO zlc0qx{%W|>=6kq%6Xmu*L4ko#w)i)P!B7Aj#*A87ghFbNIBXsRoon%L;Tc6CTamHP zGQ69`DP|jD`pjdzs_k&cboWhRtDLtjy~b4#<=>3BA@c|hZx)EonB_cp;^fwDg=Yqg zaq`>-cLB_Ca^H>uR%}Zynl-@1MGk2?1Ns$a6nh6Rb|^$S?t~jG_F;0n;EtHX6XaIV z;Fx7}jP;REMa;6fm5*R;*sRF|=FxGA*nx<+?yiG-%#26E5x$d$4<91;F1T0p;djHm zWX|HSX7PLAo;5G?9(mzTnqP}kwZ&f#x8NyQ{0(SE-a1>D%TP=sV&dkpkVc-}@I>@s zZ^B#?XT#!ehRefUEpX8x(&BIBg=bRaZd-+l_ElHMs;d*@m$tcPGjw5()LqCKHOEKD z-3_IJa z@&a5YapCt0i>}5G>W#@Q5{tv)KY)7no5wjo4~aTkn1+a9;lTmg;vW(2Hgb=mDB=KE z{4w5`L<*us@EwFNW67sQ)5efv(OlsDjdS;6f>MneWAR#CXuy96abxBY4o7#1TAF$P z4-3z3N;Cm?y}6Murz5C7z^k9czHOa+4OlI<$yrc#_Q|854RNaoIW+b}88&K?m74{T zY4ggV8Re%A8KMJns7yVM&9_WF1`=jBPSzPS_z0Km-ipvT(!_o2Sy|)v#%4$m3}Zhk z51Hf@R4IGe$IXM~IH!xSWgZ63&@&WDQUu$;EAfCMa3}t@q6+Mb53pJ)dKZe`Nk!wL zvjPvNK^_ZO(~#LBg7$)BQ;$+(L9S|t5%3=LW?Uzc55oUesSM0T+K`>#?w-JR0PKU4 zKHKE)`0SHuoQG|=+y|F)GKr1Xirdr#&cs%Pl_6}B3kl4d=WCJ|2{Hr&`V}Tp9!5&a zO(|nOv&JuDht~x5^CHX8cMHq;!KBhfuld8apX<>T+2@VwSGLln2{}BB&$$dQG0p7%N z^%r{F8xU8n{tkR;aEU7h%T+=?GjKZwZ;}!|CuErJuA>Gz@du%xo$TJqekYEo&X5z6 zO|r<4L_r>n3oqeB`UG$QRxZ}TVIB0uz{%<;LaRc5$wy$24_rS&%+dl|WU{xHr?#ql zIE0j`-6*sw^gf=t4XJHv6GCJ!j^KQCx#6n>X57Kky(z;J-id@9G-?SvKqi6@K-B*$ z80K41upQTNJK3G!YB5|um3cSu@vx~*y)c;sS+psXu6%F31s;v``2dCdGhv%~V3 z3laNOaBz4^KN^%nn-8E?h?tBKFVd`f4xAY z^P{>f{2tt8evKDGWzDxS_ypr=NL){!w5;for@^x1JU4QLO%Oi=7HDhc4LP^17^*v08B68T7GUq1 zI%1=;`>ZM*jvaM$dEz|tyw3BZ6VMe1;TS)324d_Eb}PG`-3IAGA4V)bKf^;!;;?a5 zw^a3K7_nx1c#9Y@!`$%h{L(br{kq@%A(zGdj4q4YUoJC#YsKbg=JWG$l&2pyu42Ug z2-8a=_D!_&1^i9G|8AOc{OrLRXDlkG3h@O)>?B&2DoiY-7g(0ZabIGAEgQZg>*9_q zBs3$^nJR=9px~Y*tuLOuJXIK3px4+K_m7k zyyBj^hy3GCdT$sBRznUrR-g+SOqTKtmFE-MFpQ3Zq~fwS6rlUL_{~t2;Xf53+k#Xu zrHMi?W>oLvP?_-4Aqdr0P_PiOwhR3^7vhXF6uDQ0G9c}d;sL8N9ON@(G{`;d zpazNtu)GTwCBrg>3{Na4Tku2nqids#?meuaSKnW$%&=mISzvG>mo3v zD)N-*)d(n7A&%y`p~W1fAaSc)e}Ny>4UromH&jhnhq>4@SganC$_7le><>*l*bhu~ ztj4^PY2D^s>^`%b@+obJsw0=GN0WXx|wWDn6RBnE5#fM%MmqQ(_TZFM!KG8j)r8Yugd_`7K$b zyab*p>z@Lf;gzk@W~o}*2}sACCA%91-7K*aw@7UHR*CJsO}cmA?b5w>UUA$ZjVWJ4 zm&!sTpqpdohTtv_4T3*L@;_y&tU+km!t9|wm2tTe3E;L8d`>HlTo$m< z!Jt(W0lM!zj#w*~MWrJdSg!mBaB*S&ES&mbow^Mb784x93Kbe1YsgB8Q_bIVm;V#Az3#0nL2QbQK=mI zBpRVepQsD3X~fOwf($*S!N<37m#OD~cDV}e#=#JQ<=kcIIe>c(8TS+35Q8Hsw7!#XxwC*Sx#;)CknLadCu0jl*r1CjGjO4iD_=i-6P@u;j+3tp0dkORSqQhP1K^6;Oy9L(@ zwaDl~#ycZ-)a~MZ*%?u!o9a~VRuJQgY^uAJ`)>0*=>R?a?sMZu!O)i2I8MO=#%pVsL=(t@i9dB9qA zK$X!6#sP_;RED~wTOnW!ezp>ho``hxpv#sZ5$pTq{880E8t?-##ad=gp2*`$)syclRw zj;RR!_*IRfzO$>}ouXTi%~QaGSHCs29sj>QwMD8~t(-*cs!)A7h!|1Zb6W9o@#n=S ziqG<4o4=Sb&tE{}bZM8XY;7YR(?^Ex#6FGQmP?<6D2@{|{qeew^Im^s3fP1XIeV|Q z)*7<-ADE&I%Y>XHfBqi8*}H&W{tzgS5L^w@piYWQ;1-_A4rnEfPYa~#tvyz-Q>5B= zoDsie5S28o`egXbwIev)4cD=cl*4DK9e@u&_>qbb)&qDW&dJ-bhAJmXX`)(sSgO>g z!0P=^N2M3j0dTC;_(dp=gK8Cq`8f#nlY#>@3gEk>_t$E9(NPvU#OF6&M>1>d+Q?KH zPJs@b`AGWd0479+RGbhk9Sk@oH)C@;i_`s=^wD6o*tXEI3S7^W;h-s0XB>WQ@bPCQ zppAQJh|1N!;K{Mx(en{Nb_HCf+9+H&2cyT|K_9=3K04vE)c!ksUxTj_09u89R!=(o zn~b}x5)FoH z6G#?>fmVP&Ox-~DwOD(i3$YTjRIE!R6CIaX4%QeXK81Fww4t-vo=;aplax0eN zX5`uyxtr|9tYlo%??rAT#ssN}rNYb#rKu9iwXuTMA zc5}csxkY-`oHJY1>#I#8tr@F&h5IcbC_tfiL?x2w($m;z4nUCk3E8p0ppZoB_sY(*8o501$bpyLR&OmQBEjU_ncw1t|0 zEtpWY9YZd07qO*3rq}YPC>gA3?THVeNRn$HzV)9(Z0aBDZGAV|2i2`7&hvQTekqzpI?#2l{5pvS* z06__EEpQaA-zp#=v>Py7<;6Mxh7t%#EKn#YVOF05J}(DE6W@yVhD*{Y--vgzH}PA+ zZRk7cmPde|tWvTri7M@(X^x_vRj@*^2_Mr(VM0SM59>XS!##$A?bxFr(=`hC+`(;H1Eq=clI?lt92r*L|Ig8c<=A{1$*=d9NSPmkKnf1=h~rXdFM6uZox zwq_xjxyklVrVm*=Z0)vb+xgd+9^0E~%Y=DSoyBxbXEA*WET&dn-Fsp@)=F=?2?i70 zXa7A{VErRqfptHaa-Zj|pt3S;3_ih>12JU!A&Ms!6NwRb;*V5ae}F&wp=<4%eFo#? z1O(J#R-E=@C)j(K!CE&(jCf89`=!2gSUCMAGrgO=ys*X z!#>L1x=qG9t*z{+_OQ=lT)gZ#_BJ+X_sK014)`Y)XmD45D(=7ID>bf7>rb^-b_SDu zXm2K-nc*q*$-d4!_docZGYm)<|B@wdekvYtOx2*Pa_Lx8S0a zeljzed?pTu&QH7!exlDTCi}Ap{wn@l@OR^nezr3g{zsrgMP`Axd)25n_u0q_7n>zc z6>dRGK+S*J-$s88(p+eSN<|H4oaHTMn3+<&P7`PQI;L$Q+ zT~Z84-Y$%`p_8n{H6}h2nR^v!#;ewwJEye2iT4yN%VcJ9#8IPEIwwlgb*IP{Xa&Xq z7ce+#*uVv{LrbKLHK0cyM^8S3);|XBSrM_@OqFcFG=^W=QwbZHW&5;bz8kyc6!2<^ zda$T>HInoZP??`ZBk8zIS3De*A+L?->1dtEKoX$rTzCy7aks7`1-LlNAx-BeUME@V zbH^gblonpykwEKIOWk3g<;mDNCstt`90pI_L15)rq^_>_%pyW7B)i;KZrCiPduQT1 zZPV)FJe%XpR<1t=4n`9{(U=&M%p_(sN{r*6StpD9zqhJ2&b;^jzxloQ{{QB4xTo%V?!BjOox11T zQ``?X%tkZpm0vw&#l#inAVz~z7+<01XJO>6lGTS}TO$!%2ad@Ibf{aVH@hhc`$=jM zJj4d&p{k$Y8f8k(_cuV1b9PS7g@NqNS#daEWP`0($ub4axvN9SBrYvp&ch&8gymip z^q6-OCceYUO7U`nBeS?hXM8=lD4ET_5fC;=>w*l$1UPjH*j%o>T^O%HW&YcF6v6h5 zuP2`^D&V4qXsb%J)DcdtBtZL;fVmQz5~PzM;xS!7!ZJC(9o4l zJ;Uk%U#zQg0153UUZGAVLEH{u5JJsaypQxqzvu2A>383)jbQoN&v19|YdCFur&m-m zEEu>7Wz}bO|ANlM4EpJI0sp^;!C#D`k?gu1$GLus#U@MK+!Az4J3R2rB{;pB20U!| zd!mdD6L!KOcNo3bg}2tYL9lNHWAx#45mRE|$L^op*wJ5ekT(p12K%`-P!+5Tmv9k- zEKrr1QN^D`nY#;BhYvq08ezppM`jMY6qyWrX1Mqm{-LOc@{kFOQ<3*0QN)|u#430JiuB9r0a5Z)WbYho4JbyUeKI5QHiL5xC}+sL*` zlaj|?HKaC&9kLRITThC3b+FG@j5rjvKvQl(Y)%x>UKW(i^BuWX-kGguEH`Q4S zO(dKx)G)Cp%EoqezN%5p_zEEQFr68?gu1G>G7Xw4_H?7(pApZV%x=Igz?T5^6ft`e znz1yqL%C+W%;dsa$c!aBS12kmL)KJ}2Agr~sUAAaP-?J~xn|5$u8@hmeGulk@>Qe| zp#c#yv(0!8F#k1Xj4pGNV@8weDPlAFsX78NQ#>%{gUbwEV=j(+6rx-LuylZGVT%jl%WI*_j6;aII%^?Zd*MsQga_44RMn%@R+(R0 z3P=03eK4|-XgCVbZXHPK1x^z|q8?)y3#<4x!KDUDM1x2@$cq7C zj5p&zOfQhp2QBtRE2AjP&dn3T?VQj95DCx$A^=)IPk;c>07L)>-~q9KC_pqo4~PMv zMe5G^?G{q-?m6tF(XZoJJSX&p&@@bY1MG2z0E?Sw7wmB?|5c_TZpA};2mG|v0j3!i zp0B^kH2KcdQpPs#S23pfsfsbp`&A0lOqi>~L@SlpSP^wptVkr$+zWWGqxGb59f~k)^+nU&auNU&dU+~9 z)H_y0=o@{aVWV5rztgBQRJcV$iCbs5%N;G=EsKV3S)?_7(eSD#!f?_bVfY*HLyaqk z-`dI=+hQIg8!CFDGon|l_`xk!`~=XonB-g#a)&I*QxB=3YwDp#D)Qxo>U>$O$Y~O( z;6q)?^j3qlP!{czo5V7cyk+>5qX{V!P??0v@}7I7)Myax)BYfqWui=Wlc6Hpn~*Zm zE9&n<`3A4FyR<1(>S>k1()Y{%GcAk1jG{(0`jhX1k(q@xv_8RJoyarc&u~#%$ z8l~svwe3GXvu!q&$@@REdQFYx-nleiHnmoGrS{6E{huxHN`Zwuu@#+}GhhdhhCrcH}c2m9Ga+q3M0frK8N#MR5Dwk4?9wG>s~kE)lU z*aIl`px4mpLNQr3bh*8f>^UUTY;S~qrB_EAx}r7f3OoWAWjOxW`nmsQ@` z)FiKnZT1?>EhxJhgWrmQUV}+myG^X{VvN?mB%1wA@ueGN)259W$4!k16`Q>}mwAhv zV1Brl&isfx!2GCJSMiuUpyF|Fw4tr3(eebSeA2tJa;t3U+~!R(Y;S6;+yTO#@-|v_ z%3|l!O%nGE(w=?Erf+OAwYfnIh~E8jXaaUA6CfJ)Vw_&W80~J88uy*q|Jf_(OuJWV z-G9aI?t$$Y*jUTR$rjO-lIxZXPSNTn?Eq;-XdZRTb zWJA`+vZ?VT+WExQWvKtuD;ht;P<_5F!T1Gwum=f$_NK2ph1vfUH{)6Ks4LW?zp6bl zpF@xS-p2Aq=r{SKbqn00aVA*o9zXyge!+c>ck9-KC!;1JDPg9BlI`= z3>7!LJe41MNv9clDT!XhT9LG3g!m=8qkDOPnSAl)NaW#t11h3?(T3>em6dw8p(4hY zWQc7R%i~oFpzmL8s4PW~>3eD79xX&cK&RSOiz+)9DvIVUmlz z`;Xs`^=+9?+WkPYwCTaG_J8KWV9P$K&Ha_s?rGltS%Xgsc(LyJkmg6)a-Z0RiJ%p} z*|gHVB6gL})Y#-}bj3Ei4f+-z77ftY>RS=J2G?tmX&o}H_Zf^2A#H=(P`}5!Y2KGu za5jVXEtuVh-SPTId{XP9z#jwtxKA{;0e=FGJ&8f*&ostwbDNIt@Zm9YXf{3NHtpW& zOW*sn+qCl;5dLg)``+i=E>rvSzV=slxlMr=(7WAkQ;_!>410X(!M$!n8gP36ypDU= zepm?)Y~2q+4}geQo71=a!EI`M4Gq5z7JlPpvFjy_pVn(SdC(_zzKOU)FN^j2+?(cU zWz(s5d`Wb~-Tv8I$n*9`(ZF@a_gwDAd4F;njK{YdD&9w-qi%!!7-mi@i{^L1+aES3 z7*F=rRea`7U-zj(fLQU#iwX57Fq3=m2-)M6+P-Wa0WO%zcV1E-=7093um3BEJPjhx zG)r5)0+DAye@f-$a-&fM1{8Y4XhV^2Q>iI((ry*#GY-hQ3Ak0$|Rz{bJU+0Q=$GDPFo{XG&5 z*dT37LYc7}q}GHMiH2;@(G5F9n&MAy8|sm|(pyYj$yktGgRnB+=$E=uT9SGV^XMpb zhiJTcWi;L9Ni>c?hADvIeqDWGp2V&!)RXORzntSSxw>-qv5fJZCcmL;ieGA+ z+LFHI4v(om&o6c6w@6E;p|XMBARMEVtwsnrmiJ^!~KpH(dcZ6*4RB_W}PQmQ|B>c zEow<$x!7ZBR5-(7Z?Km#&QMix5H$SJWCMxI*6Qei9b)~;wIVIWcsz*i$R5en)!2e( z_Kt*l532Th3dqxvVD$AlaM_PRUJg>0deYagP-r$7Kah3$rpuCz{u{#Fy?w-=6kI>z@G;&mzxr8${ZG3OAwh z7r?5!QFa4*v%(Pl9=0A8FkyD6_$DFz)w@6$dcjU{&)W5FcEb1j!Jg zYo*lqrw!4X_dF5$WBvmEC@4SbnS_MdSI;BMc|}@rDb2Ch>^W zQX!19|RDY#KTHlQ(>6~cfzKAefM3cgD*5tly{(X)aD4?#b_6Ejhs``ew zSM<5OhL5vvWr=vxB&>z3U5++(Wbp%Gd|<}af97oq@7=GgnW=r1y&dT$+V?sIR_^MH z8po|jxbhXeZsSFbsHmsKnq9>{y;(XhwT$g^-?o6gsNJ)Gy{O%`Kz+Nn;E>*}EIT;` zXPkX6kkE@7$K9*>NobtgV|`!k-~!EhB@>!rq$=bRFB6T$+bjFsjJMmd2(Q9Wyz4TY z{aDyNiD6gXzyNFe(3MH*HHrzu2KiU)B@Dn{9F^9U*>1rn+^Rsmqr5uRVHGW*tBoB! zG`(SDZRT9gIOkxc^P#O*j+-w2M`9yo_M&|wO~(FA1vD~mViV;DZnZFm4hwqvNYGI) zoXPw`7)GKd5;!AK{iWfh9iAGLSM?E~3Rd}eF^@-FFO~t@qj*baKc>6I#tD7{VbVMp z>YpUwLzI{(RIS)5&MqzPQPA)!SIwiYg+T@&~98*?NMpi~n zNoG+&K~CPZjEvmkypo(5MOpYZ*OcsxX|wW*3W~Bba$Hq;>;pH|74`5ZHXok=vO1mh zPWG55@Wp6n9FWlaBge5%pV%^&l$8`uDVjX3Ab-lVf|9(VtODm9)s;4@v#ua3ds@kq zf+^FcP)}g%NBIYb@0Gbl z^);}UUQ~b&Uz9Jl)#upk)*5Hc)$7Xa%0=GC zeA>n8RIypPS8;qX)t)=67Ku4lmX?9*8f$Kui&bPTDzmUixTwZ=R7&RO+E{E}9k!-& z>*{TJxux}$byL(ZH>(BN3tj6N|HtA+;7?;W1{oMn#^Yw;&M;*qi(xm)Ah4w-kQe|8z8@CCIdC|B zP^n-|=w^9G086KFN;!sSQU;D^U`GvUlW;wi`2;?fOaTfDj8^W7>Er?`>v1s$k#mqK znJt;$jAlfk*kr^kpfb1(yGyyAhih=gXlIslFp$veBX%*dLtBf=ajS7+07svce5?j0 zJ1&JvnKf(#L#t^pdR0i!yGT|lu1B_&)QpB$zgb^d|JH?Y*6+>0S0SEgE%dg0fL9vX zLOV&g$YS}x_5k6Ad=hwM;PVc)llnA82HO$qMxUuGilTxXyeJsxEno?5Mx^U|pf>`A z){2V?4hIJB2*7RwCQxr+Gk|I67GQP2v~cnj74!iMquYVC0t<%+qNw2LK=&jI9FVHm zd~SLOE9d5LQ75-{bWak=3alMi1l0k1r=#07Ne35h+!@w{K6n6RGA~&w#?dDsjK^-U z8Ye(E&tFW!fESkQ$;ihB4`3V$3I2VRQJ{-B8j7@JlKEc248owZDlbZiHI}DQfbSDz zQ(%OBa-U!sxme+UP@mvbPLG*S=ICO6sB#hv!Cp#MR>AC01x6wMS_Sc_KrJ61T!3_N zMwYYK$rjPj>mzrq*6L8LvXF3Ht@UgTQ|J-~D3uv85d##u3t4^WQzOTELz?94db5su z7_sPuW>Bb9sLz@q*OlGD?NZ7HG($sWE7ZEQDZzc5!sxjFn9=!05gRh4=4oO39tk12dn~Y06YeG8t@|E zbpX?590Pm;IK@$l2=`#>gWZ5JMdj4((raCtk94i=O|6`=m>{ZqQU|w`GjQEWJ!mhT zg5bs;fC9@O-~*Zf!(b2{z)gkwC;VE9sH8++OX+njMTflL3_MeuSp*SDJvPR%Eptk^ zg~9@ARRig#ZVA8vEPx*Y<$(G01D4ERAUI(6`pX^q!LM|^qIrSaXy4gela4AFIba$D zA)&2F5!!O~$|E9|$v$i?rqm?m)9)tb)9*>4PruLCX_bKkZ4PIHvs9@jR2vi8Cd~d{ z7uqy&^j`{XdSZ{ETxWI-lQyl@7DsN6Yu)%=XxsS6bG>zNOQZIh$!q^g=k@a1JUR+p z+bnJXUniL8H9>^Trla>U{MQ2;NcI~6d2I+DIXxBeD-Mzov$`};mnAgzn7RYz(r&lCG%&H=zv6$cG zwco`x*MDDL>k()HH^W^^fXQo{01uNU@F>D30Nbf|;2DH30A2y$CJb~?a^Mg}1>OdJ z4Dcb{;0k;U{2gHz4GUaC_%kT~8MlZIcJ#XcfsFQ_i)gOvr7<>0 z&UMbM&ITYMd5!1(JsB-G`x=Xt*XQKf=i4mvtoTA`-u&X4qWg-RHpppZHT70op>?sf zR`sV`?8IlgEVY$oH5Laxon2X+T?04NWwrR1g-^cPO4)yFcFFu2i^W+|1DP&6V?MrV zS+b-iqn?E+FR=OC&4d9IB#_L3$4pN05 zGX)i4h>1NczpUgRhLa^qwUBUFtP!#7n#nf5*E)gAR&p_k<@#I!h$^^tg&Hrw_i$L_ zze^}zlParRZJbFdtO6O$(8c+jQzbSes~D++RH?-bDUOkGRbEl^ySU{lv5;C+GDPLt zbyZe@x*tQe7Df%MFq2r+Y{|-XASA1(xwdo9tCc}wVbnPH0=6>YLEY}>x$B!ShK*9{ zGBe@hVmlX5TL`t#akkRt+svv+WQ%It%3-XtTQ$!DrKb{jW~x|3oc5xxs??CNi0kN!QP zuzOWFv0kW;Q({pAD=35np|z?Yq+`pwDgwPWX_yh)M#?v3QWcY2ZO9~dosKEnage7=u^W!dGjqM^l zPyw;@0-pEp0DlMRh4|AdQck$jQj}M1vFXaP>hKyq#cHXx&d=9fwTXyuGPn5I)^e-p zsLaP{P{?t`J@9;~##vF|4qlvpbuWQeB&sAVGgp6`1OaH z|1~KPmU$FmWI|T~r`6!=X&NWT^D@W5Eje+Eu@uk2vivS-@JdeHAczPXkfx>7;iGEBC}DW&F&65M*I^$RvByq#%kktf z81!DLd&Z14|Ant4$w>|KaEa)%H%07(ul$>CyNfm);jK z{iW`1E=J3mKp38;hB2%uT*sxUVeixrVtT|xyh7WxBdIYGcrGReR1n&xiFhGSbdBw9>j+f^!4$Xe z==!Ys!9YS%ARK9)rj-%%NQgt@eI$+>nI3r|U7tFaBWJ|i?t$b?o!f0x{=;rMa&9*) zvyAc4|4EJ!bGv`f(YHsuK9w3>1Dvs=(<6I|J1-j$>Z5`5qZpm|tZrw4_<~+fZC`-F z)(UgE;XDpoaN~9J^w09Kd@RNP#0lvn#A3pFOBvkQD8>pRhyh{Ze;}*}BTN_HH!|K3 z5#KL0K7Mq1M0(%LW9m+0KWGp)Ttp8U``EbA>ERb5;v>cQp1{&0FDIUkl{E7(MnY}a z==3o0a>D8EjT6_$##i-9-WJx$gF#c{bR*J&!<~QZ-N!jrM-PwaF=97uAC?RjP91S% znDcPbp*Urp#;$0;E4n*E+?f+Y4@Zb&ds5r^MqR|05!9(cJrSq7W0SVy?%pPx8=Cy) z@}z@F9Z7-IVX4DUt@&k)tA<1u}M=O!|Zm(+YwAcH~Nrx)C|~Ua5YJ-Nlood!wV&VNgnp0N#J# zCl~fbIkMiE59650-uAU7c{WXH8rM428*IHp)+Ohy$0G3+>;<6!FKOy$ob{a)n7&?G z7q)pE?5+yZ3bNZ*&5#p1XJ*fZ!dU!zexXE#XWI9TJtetzYrhgZ7oKU~U46>5`yOc5 z?`?{XDrjo=SkRMs-u5k}XsoPh+$QUp;HGjkHXCL>v)79Q7s=9-i(v}1=!qaPk`gw)`*wRy8g&~lLH zN1q$NGwt+wqoYFT>zvUsLkDSGo*og`jr7SL`~_)EM_FGX9}SvcD!L zim!V`@ePClgdGSEB776!A#Y=k!?H;_;+4cd;yQ@VQ~y%P5q z5c2Vv_WQm-*mbA?HdgnhT#}<_Uy@ygmt-5@UO)k05+K@uYdvs462ON11tQ`BtNBZ^ zWIEMks{hU_rTlovMy`jOqzT{4I{M)ykuGB-ev-#YoDc9-`-J{(DTNM8^xGkkl6?mr z?3PXS3THU#8|q6LXQ*0tf%`=%Db+_bO99~_X_aPkuw_i4)PCD~Q)`j;-nN2l)BpoQ z-C%Fs;$&D4w^Y-!S*nQwL_;BPn-6MDpFtc8vmeQAGL7?* z12$Fmem;YJqR-Iz*z)+UCzeAfhy4n-BE4;lTkL|pr9JDgC>6ry@($P>0a^i@0BwMs zfZcb%;3ltmrDMEXblImJ7Q5{3m9^vD!NzQNurE_CZ|bn6~;>t1xL65WCk zp)1rc6RZkF>0vHizwPj&QcFLv=OZf;yB_VGL@mv_uD^Q3uFe+8-nBvON?QG>v;pal zBfSmj8=9r8&1($egKksuN*H}LHH%WyF;RMq6T8*}Uw`btpeNR_v@Km*-3DnDy3y)0 z>7Pa3cDE~C{|aWSPlG5K04b{_<4drfYj?BwN2CMpgxe3eMQLv{%pyM0iLbAT|Nb?% z_}$CyExLWj62u*-Y$pic|NJB0?&>EQUwuvdZa4DpX*NiEd$d|!VXWoblT;P)|_&$*8COWU)=+`zQurk?;b&aYSua5>oC}l`Xu>_ z=daGb)c8J3{yuR_n?7|*ZJ)WNoqu*qyZ_>r+CPWs;1|zJt$zuD~VyAn6^tEs0rSt9qhHre)#tY42zrQu> z#$AN{;NN{N*uOMhy5vsix{ONRcH8vdHS50n5otg8;`KlJO!Z;@cqtKvB=MfrngoOi z9+7^-$Xo$*0~F3!SHHEsfpLavK>;}fk~rtWKOVrua`F!7y2T$&BVec%-lB7g2Mu<; zUy}Rnk{SW6fK7llz)ryKe!G4jmk5v4s`E&jdU&L^NRPC$r$^cy<&oN>J)63ILjU{k z6T5y!{}VkX!vKG@A*rQtT(W0Cr)!|UapEA)0BNv)<)tB>0Vy~5qm4sb#9=qK=*FdZ z3@O9>F4ORq#!EMO61r|iB^r-SpW34PZY0vu{PCS5{icdh{&fB5BO(QS;zd(SG~JHd zHQhhSa0g6{(*5x%(urt8af_HTZKYIE29v6JN}drk#~tm`RC)|jg@2`H;bk2_OnGFb zWSGA}OqskP+Hh;jy}hP*bSYDxgkdL)U-CSL&ioUN!zE8*N`YV3SqNjV>3t3?DDs#p z(*2FYN<4ZIsSWlSv@)`-vMh;n8_Je>QWYhzytTzx=CNSKS`QncgihEnr9cS= zL1SzE-g@?O&qL@$AaI*J2D=?I--ww9v;sB(+5kHNyBl|HN`bjp=Sq-O(-MDE6K1v9 zKV08(*;KLGuS;o#$<$JqP%ZPsr>sLh7=U#?wCjJ0Zp2tE^~clZD~Tz&eO#uB z>>Z4r#FQueNth9nKFlvwwCzgjwZ)_Bd=dk^wU4xL+gjxFv$PT79Jf^Q!Y)(A?j1VX ziw0lZk%YL!l-*$AJ$`B74o`HiogQi7GnlyN0DCbh`94!cJMzDAIWgr;iSNZfCKk`f{}22 zib_9gNw57ghVU<#k2^91gbTo_;F!r)3+trO>5 zn#$|Gjdro2?}}ZnqwSY;Hx0p~W&0)ZrkffS*M0 zk$&)}S7{nd724&JA#8PeZFqypATAeEA|5t${p2^HhNZz!x|b4DcxLrJuzrNMC1>ecD-tze&p%MD#?!9wfS ziBy9@v;#IgmC#wcIw56K-<6j)V;r_1y`~|(>Jg=KL&^lVPXG9~hORax-XLZ8U^cjz zV+zS-amxlT6Bv~}LsXLYmHP(u;&~SmMlXwFNl{mmNL04bf{45oa3g^2j1EE`wlnxR zKmwRZ;F&J-Lu~Ry(1_uwH;rw(nL7L268`b&xc*Mb!u{BNx?ActE8)J=Qun-2Olc@A z<9>80S*%I~d{1DPPOJQ}ZB>D?sDSRI*tnmw1$!Hb3=PkC+W@& zOihnYrRk)P!Cp*!jFK&r8ml8xAL)M^_CBIh3%Q-S*qCyq<0H(eFdf*L+t_==wG`JF zC7wmA$uA(7&Nbfhd*Md3akZkx-l#Z?RVR;8B9#iSFZpwLGHr`Y9eyUf;}&t)cx~WV zC$?ma{FK?9dL^9G*-HuMc19vZ!kwL>5^+~2D#rCaojN7FyAvB~xW4yvchZrh!$aD~ z>YwhPT7OX4SxGvS^d@#%j-B2(J-pYPjT1k_J}88LOossLMRjLY)J}P4JbRwu7m3Yi zeaL$85I2gi5+2ij5&l5WcWFwLMDD11`X#Ct{UeG;ND8o0O#9VAkI)}s`S&M!myXaM zV20zTho}f9T3*G_s0}7YE3wJFzy;^8Cn=3yp;IXOAuNnOhBsLgZG*DxFnxizSLqE3 zLPOp}`(a-AXZnmjg?&$N7+JheZ_`Y|;Uwfbj?YpZgTnqD7)|Y@jrd0NN3;d%xtEZJ z9TVl(1OH?cs!^F%VV-t-#6L(uzU<6egKqI?SQ4dP+F zsJO%HiQ(=K7|O-Na~MR3iP%og~i#KqAAP;#_zngH}7@U^+zMIeZ>j_(5_dpAc~1b=t%0Y`iiz7lkeIP{1XN5cD3&L3WTVamOX1NF`IZboFJX%vO->T^&kJpf#skvRAtm!XL)l3WIYm9*sO@TaH zPHU-vbEP*F9)q(Ar4T0xfnj7SoHIK;$HIpc)X`uI^_c*S3fqg_i=w9nHF?K5Q6-bV|x zyU3}17@s8CLvHQkv|PJ{Hfe9chj|~Q=d=gtfVLIiO_Fg`e;v6#(C((=+UMvK?Fu@j zJxJ%Yjnt*xNds;+tHF23 zr{ylLs+I$9nEg)=i4zm#{P;xRu-Gbb*s>%XuRZZ~{ z%i<~a+!|K9ORc^vqqfXpEpk*@Emo_86{(rQJhChZR`cLF2Do96J(R_t7 zN|!m76*JC=4RHqalkh%WSy3_HR+YC{{q}NAMrN7KR_(0IXBx_RR-0`etYIvr@Ko(| zRA!f#S3985wB=iwD$|x_Ewj|tRb}Qn>KyZ!p>cUp@yPteWtf6#qhM!jx7bR`Y&Ev3 zGD|)j6+7#zb4rSfGHOd4Ak|hr7Z5^E3 zR2IR!#>GA@etl$ZO|`9dWVNL>O$}#_W~R`VqT=eR${K4Xta=#aIZJJhI_pelX|1gy ztJIpMbOJ^_PFty?2GLd<+}B`gl^j*`rY*{`RXA($DfdjYTvqEWu7&gK;sU43s@7Lm zI@7@lmDD;cMGI@It&<(jvZ}mH$4tkf>_wQGQf6&kZK<1TueOy~ib|>-sJqHiGEEI_ zrL13=c6@<84fby=997Mjvc_pGabi%Mj?7Vxx~f7)-I9?G>*OM*)!|rVaTUQ@E<4Qu zN6zfq^}t6ttV>F*+0Y!L2n$PU5U?5$HOk3i)Bzfa0UCvY8d;rH%BHXeJz~SnCd-!P zs8Kk>v8-WPDdUW|5NFiFY&@%s<+oLqRasqSrH-nC$}%==@C`K2;jEfhW2sm;zw)*U zTh-{rmg=l}mYFeVeU23zU1nu|4>D|JW!75QP}Mo=%B<>t$H*#csnz71UpcFy)@CVF zbL3kXKdB79$iWQHZB-eI%gQQh=T~M_xXQ|=))p0m*UCyQH4aN{Mm5}T;~Pz^z#{lT zw~QWHT52gzvmqs|w65BeTUTu@E}d_!SXjz>$>zE)pWQK48P?h|OTiMWy|~6vS81;- zt+N$6FmDU<%W~_gDvNM$6{3}^*EJYz%)hmQ-40b&hlSm@EQE{nC0X$6?5sg%=0ksx z11A3V8g|n-m$2I~4>ylvp(V2%cQkCyEOszC?)V~W75uDQr_`}&D9dre(yR*H4J%HV zF;rP>PHUNJ)LEIzmZ&l;Q7-jxj;+SB$Zk{dT03(uUJL53X0J{C9e1RLYzabDWu`hS z?FDRY!+#80ttEFpTV@u_E43Cl+5cSU@5|UcBq-LR1io0e%)z!$AXun^hSkB=zzk<8 z7_GqJwA(5jHP)G|?*%pLm8H-+-Hn7pCjP|=kdn#Fi~wDXDl|VC%_|2c z5P~tbE^7e7_YQH!^~WgwcWnc~fB&-s6DQwfR)9D#5$IB|w}AD5-q($nl*mA?f_)9l zq+pkTO;xae;E2Vk0Qlcc^;}e7{b6_|VdpCX8-NKY92MAf7~hB_nbTgxSdbp0l*d)m z3QixK)1gC?PXJrm!J6uTo!KHI~v|`4L7(vCJd8VJB53cJ- z!I_Zzkos81C~`dk;~ZA?i`*Z=`f2omzjREX74XTT5B$)Pi}NQdkQ#lkkeVq1g>O7K z7oTf<3vqcGb{L`qC8~j?(OVk*(e#7tP~9;Nj1CXNZ4-S0EF0Jg`V!dWgJpP2`Wo2W zgEh3B3bj4YCBqtyk5!Je5Ut@% zL~}jQp)Sp!qkrOfkUJ3AFsT^GcvjJ+~y##Z$P*C^wR<84`FGM9Gu^>;wog({#;{qnH0>BHRsV6AY8hv+uKc7K6L9iI+Km$(V*)39 zY?7w)V*+dv?PTWN=Ut2WFSS<(R|>4=WokucNy%)-*O8>a2E^&POTbtKs1(K4UMnS# z`~2qXuF{ptjWke54}6ZMk8;C8n4TXQ!gkX*U|;dc)as%PpcjC45!`47zC{r`Hys$8 z$wIm>gxP7y)i}-_!t~sV5SGTR31PdrO@jOUm)8j5KwjsyE36gg|Nc)`t{<*lax@{3 zC>Ze+ImS&0G16PYguoEQC3DAsvHl0>6JTsEjr3&*+l`MMObFa0uv@GP%_j@LkE#3o zjn`eV`ymiMF>pIhQ@~A^Fwqsr5VQncnr31k2gZjzaS%4d;~`#83Wech49pjB5{u^G z#hMY&MV1iON|hn34XcQnx*JDr(FSf>Id0irAiN>O8EQH@3Q}DQ1eF(&PMLuRgj1OR zIhxFX9tB*A=4s}lw;6WF^ivu+iQ6AISx0xkla;6H7HS}Ij!Zn61d+l(Xi{en$NTc zv}KxF;ARa^=~|ygJZokpNsf~TyJP_v-!H@(9Z_XUu?3oS{6THCW(cwxqgh1`O{zx6 z)uG}#CCB}mp_;d~&uAV*np?x6VxnZ^&d~dm##SNjgHT+DzD%<%_z=1%<6{_T@8TxS z>&hq?T`?;|C-E+6RtBF@Mj=MKGWZfOGa0n3>D}9}v)7&z zY~baXrXYJPvvJuLd{?Pq0H@c|#rHM8qB$c4Vp^0OMjEGW37$m`S0QBpy`W^C0*sMh zhxIIL_*0<(EOSBW?`2Ico!4r#(-8lY=3(GyMR^zzr_6e6Ymi9-GNNmOXEEd5u0fm* z^;`gsGZ$Q{c3ZHIvha@KR$~$GryZ!B?gHJ$*tH?5BrRhtId;85TOke9t`8j}OhHA@ zpdt)3cPsFhfa8Y6U~UTp?qhR@a9fy!*5=H$3X zu602rD4EK+ax~3|(^Cz%82AdM_C?$SDA}ZzbWtGgv1^o4R~xwbNpg2>qXih~Hf?{} z!@Z>CI-k^*<9erd4*jfsRx6&f!<)Xv=A;=0xZz*d5J^{8^jF&1Fx93!kINX!=rV z{+xCs_bE3nJOWFVvCp1hmzFWXU%Br>Ws_)6@MkT)9YE)~{4nm!KJ7APhZsiA%$OiObFHDeeJ48?`hun;EF$PgBR%||t#jxs`651JCf zBC#E*ruL*cAuNh4AuJlFA;R_qi?QzCG5mFxLQND!gsYJ%&C%f;-V2BG3848P$T}E|{v#Xak-Um=WJb>hAy;oo=SLvd z5#%}&9Hiv32r9-=8owuaTeuGAA~SJEgyagLTzT@LyZoeZmwKV6sr;&N>U8pS!O8Cm zzNGN%QobNu#Rcd#o(_LTS&Y~?5$ylAxo7yQaQQqV4t!B8A>Xr0_zhTRgd*Vb8zLM1d{ zFxGF1)exD3qYpv+#}NaTZ$9!c_*_e!4k+Wuic6hHvMr@ z4l*5!iUt5=JYIrBBYtsj8yEWkAmZ3%VnTwI?>jd;GG&&WSqIWuq9PQx{a zV_LA7a`9ti)}8=Gv5c33Uhva%Ff3cnMNCg9>&vtBu zh4F{43TL;51C7LUC&NuN7jXy0PLBbp8cO0Oh(Ri2`6A$Kn@T|95bhCC ztr2G<|-mgJo5-}8Dq_Ej7m3pP4dm9vO_Kg zhF+?yLG%)m_5)rAyb1UlAk0HF`jzR&;+|!mmnLp}?0e|$*%t{JH|gj;JgXw<>UJ-- zZXK`kV`$ZwG4$pbiGo5lG;fpXoA7+PSuCPO;!J86@21a1Gxd)sqZttk=!1xA8mz0M z2Xr#6)Ol%6kCn7Aauu~jK19bOABGXgqg35<4^55UOFLr@P~X^qiwa_o(BrZ1(YvuH zNQ(Ol-O=kJb@aYSDSdvR);?G0!M+;qU|$^Ia?uGD+${-JoGHP{%}-dyeUtDYHz3i^El6zPIubW=B?Go_JCoYD z#N-`ZXR_-#uIIpA+}#8BaqR*}_lic{hUvP5~a|h407b2}>uG2v1I!DV&)wNBC*NJ;JcttAu^GJB6=qUo0%0C<~h>xrNUr zd4;Y?jY6bxrLf%CENn2Y7Tz?j5q>nT6Gmq|v~l{|np<3QgS<|5FeXV3&G>XtJ@ZG0d9bdSOT{#g?#7KlxFy)Hmc~*!K0M+B z-UHwVRFbSL{1d^Tw^0tc(cDtRvmbjXRKa7%a)jAbirrr?@i5$Brbq0@>QJpUAfpVz z#f^ZQ0PGPv7BC*SPX=Hr{d>NqT2N*)#bSA2=d_6efOk;-IKng3U%r6wGT=wRFF2Tp zbDR{-k=(}xWC-9UT#V+1&=}xZTpxJ~u1kQIbBQ>`IvCa(apZ;N22Qfd>k4V2CqD$C^5+rmqBVjIa>zJ(Ubqq4rZ-cEPy_cGsq`+=KM> z)jF%-$-z+$$3B*s&`a8!Q)(6UDB{X8vdW-hx7h1y3rlTKWY%R_)obj7Y8ZJdQ&oq_HabK>Zp1B5d zF^6M{x3J>c?Cf%Du_L4cMDgG45Hg&qzV-JQlapC76kD0KL2->`ae>`grj(It`aEK4JzN5Cp zSzTGG4&V$nfYu@>6oB|(jn(3G*0QRy@C{-%+^TAnk*H$j1(+bku^H>4t+1vt2YUNj zTP`|gsn1=?$Xx1Ls(P2PW!b9{h5z}vRdu;b>kw3CFI|+KyQnfFx2!C8X&HjL;-&M7 zbLZ8mnklq^J@yM)5a#9kL&t*ps)GK$nWE3S5AXXIvQ=Q?H-J2LZg^Je5arer&2 zX65D=I12M}GYVjSl3O>MnNn0Nu3o~_;0kB#^$PM<#uZXM{-XjJx^$SfsPWcXxUDNwwa$*zva)OOimtZ| z_AY9^a+M=OIVY#usx0$zs}wD?$;C`xswU4vTx~A1ZJ2+Z`HQM!E{Bep#j{iHs*btb z#%9)TE5vtzez&)=J3?32k$Al#873+4;sRq1m?OX#rxFZawa`^#sb1))wU^q|8>rCE zzHN`2uy#&nPRV~y@A`kEcE$7WzwfB-ztFql$^K7jSH&*bD|qANy^J%4gg8U-UgrwT zL)`za-j%%o{JVbYT&i;DpB>eO9b}46rgx1|u>HU$D;U$eZdEX*ckNKH2re@4rh@eY z_M3u@1UC3hR?8G%Hz?S2VD~DRn~Mwz9W1rg1^w)TH<^BRKSc$qfT{Y~8erJ3LaH4Y z^mo8&--MGdf(yHV6LI2o+FPcJHFKLeRTn#tgZ5U@&z3@ssA6T@iy_R)?GIu1LRIL} z2bhA>NN*u>D4zzQ>lmrmpRAnp)U#CS)?>83dEV7%;uHEsy8 z#%8>C>W}_W$vOvF-&PdI7R3EYiK|51(T-etg6W!%9#`U)Anrs*A(X#vXspk6%!Qu% z6U2SpQ3kp3OJEl|YM>Az&c{4R(?R>l#-evP**bi-f)2^ewTI+&E+G`?S^uQx>Beq*bjLy z{zq5~7ZZ4OYnyqh8KM+MZ0Aru1%+?s&vI|m2tI;oRqiQgj3 z!=BPSTr;}B7o)v#Kp-8WM!b%4feL;B|D^DSAf8Jj5|urDF+0c@wve6{vO|0NM}=I} z_#mIEna9bfQRdmTpC78(BW&TP0&jv0en0^KG0jRxL@Up9Q5z6>5Ui-g>9#0^+W2++ z+lW*2H9e^79=a#^EXH6TB>HFhdr;~{J_-Wm%Y0}PFqHly9F4t-be0##;2Hh!Lr7io zs5SVGM^DMH(`NjC@jd=~UQt^`mIu|D`%)-Z><$W{yDUF>34Jp|K%IxC&SGnLIIF6& zldr(_MIO8MAdc0YN*&op~73EMu`@+S``&)tsT+U z)Yn$j+SgWV5v-zbrMR@!Zu$Pty?2sm+wXn9_xF9jZ}K}i&pqck`*W6i?*BYT`RsNn zg+6Z-Y{JU-986B8Z68j_dH@bAy>~cQa3DeaAnWvT%OT_{pF_BJcVbXt7p}u6u^M)8 zc%IU8HgFYy47h~(h!8?)+pRQ)A2;CAbHcWF*st&*K78XiIJ{I5(=H_&m&wSxA`G@0 zMuVv=E}+!c3M%bq*Kso;&3){);Z1ueXON4^y#*lnnVMwKrzPz1F`e2iFYHG~@mhAF zALdqM7)bpKw=w7NHAo(6%EaritvG|1RqTKbYyG`~bNFlUbgk{%|TtSbokPfv^VuD?rx1X;Clsj>xT26qbcZH{6m6D^LP(BrqP1(J~Vw8 z0*rC>F`55~K(hZMAq}q>NJ_HN!toO60_?HEh9%Lu^*FnE2B*69}e?~}r__lx` zN(ci&P?UY_RdnU+hR>s|{rrdgp9JpQ1#o@}&V>3&4ZbvA1lcG2-vn8GfDrKlzBiJ` zI;bg;H2QM9bfs(bdX^zf(C7_#5u2#dSFmZQ9sK^~p6qYYq4W?kKyTO)Y_~oL^A^k} zkbnQ5%Atd{g87a7^uhqPJ-;XTjhKY2GkB-6eR>hk{M(^N8>-WFm-3~BOTlwHo|j^d zK%&Z)Dqczbpy|6mgIqN3^@89FHOWA1hAwdQ^2-Vf5&8zc9vhRif!cs$X4ot3=U2ml zc3RiLz6CbzT)raS%d^7y2yhxU?a01@1kdpug+a`b#1ljo@PdlE*omFn*EuulArt1? z$esi9<2h^v`@!oKn13NmJq*Gr+rycBp{tfJlU+aJH@ZgnsH;(^afO6F*KI13U)_Z9 z04{_eie6AsLX^V-0!D9?OjSlSkp%?|u#DHXNDElEfB^7(5DaykB54K>_@FcR+c)M1&V0l)Rkl?~Y?Oa^e zFXhxd*!qM4iO_e~Vf`>u_F&oS1do#Ntd2XaH*&NG%d;T(pnnBlTtC|MhC_P`@SHB+u5eXJL!5 zv7FAvUSCOLJPSQ7l(NOTQnpbypIthof~_!AvD;vVjrHvBFb>md)&S!+2U!?qsim1+ z19PQyGdlpYJ*}HP0Q0G>pB=W}${x2LWIHpy&F;&1h`o^UxXgZ^ae}2~exEgEKF@Y# z4zouyUuCni&aib^zhft|{>c84C31@6(o<<(EpbTnmATN z|Ga`O*}G@&0jeH|o>D=grgZMU$>dmLq4)b0wRjbW=G|F-d|B?MD-+7P>B6uiMTPLPxu`aqK)4eRu$gTy9&L-h%C$;;H4WAaB~g% zWvBCktG2~_DDw@BINJJtI92WI>SVX z6K!H5!A)hx1j8PpC6VB#VjCAv_&tiH{u5aE-;K8t^_Py(iM}x53PRm7=xl=`V`Vs; zjpu5(FGA0A*I;PY(uU3PIdJ_Fb$p5P>&49ZJbX@{3lnVm?K6LV7nZ`8%{d!u^A-A0H5H7xd zR^a)&P{nKUd^K7P6B!F5vY(*=%RzsH!5_P^oLQtBf}OqU;nkR~$O%fuA=Q|{XL8P` z6Rj~}KE59L(lr*TP*J^Qo2mLn^>)#Yn=_|xcHHM;1JmWWZvne=io)Q!KR?Yn zWHR|o57^R9WZh_1i3w0Qmd*yh?>uj}T+ZU@Yx%fktq?b@731c$x_H`Jef*VAu}%N3 zaIomC^X%EE2u=~4>|GwbPVhRx>jba!A9!V520J$`*LfaOH-ePmboPG{e^S}yPG1(%%a^mtHmT$UyRlIBB)iw@bCuPT1nxc7C+s}}f=8pn61g*F z>(1;O*~u%M&O35^^UCVaph2nW>^N^rCyt{=_?n+|4oI-2C!Kc*MY(q4&slUyey-Bu z;IZWv-TxYN=s7d(vJtICfRw-iD`sQsfB zdm7Pn`Z=1`_ktbge(7v_xJ(?0Jx?_kBGSRHaKrBd2>G>Dde=bd`u+?)Pg{D)kgy{e{3Ka_5)&SdvWP2B3VB4cgl*^#T3 zWx{DlY!Y@Gt8LV8uBva+-<#LOWfhs&opw16HHn!%m(jQE=o!0i;8QR(OoGZu1kW{A z=dvNYgmzQBjlP-_XZkD%Zqx#ty=paL^{-|~TEC|F1QBd#LKDu!A4zY5ZpeG|@%Z+h zM0|C6lLc-CYnm+V$Yh_Ri9ge1$tr@LLsLA{Hye-AcTIzT*f+9(LsW(}Mfa~}d)9mx z@ljM6P3cX7pABk}H3>C{?MN2fnk;MXAMc*Z4I9c?lUW3YR0gCIUgWNi;&C34*1$SJ zv0LOdNJ+_Cp0PTQ-J7{43)&YcQWv(Fx1Z3Wq64TzL`>vttK_>mIbRG*Vv zAPB54v#+2J<2}<94nkvSDr}R`WMy9ps~@Uql2NXE%}NA57h>^+DXKK*9Twj_g?e~( z+Fsurh4h);_o6LEY1FLth}uxHKlD$se|BWThg-;5)-e7a`s|M`lnn| zoM&a4R550wFV$9Vyc}eTDe+9H02C@%6Kr*mKBoW|ZlFfxg18 zY2y5cd@>Sm;?|&jGf8SmU*!$je8|qtRwSdK&)b(tlA+hejI1*KnNMYWQt$idEWlj? zP$}j3yNY+_7V0SXQ4FckESNMHeW4)=WfU3lJZI*bGx^Y`iRn5su8zt|)-ASdpW{|@ z+-Lnp+$XWy%}_FnG42)CcPj3i1Ldj`#=N4;zLRnH{(awPp3J@zai2Vo-JS;zLs1^Q zj*{2itSCRjlgawNg{1|0)>%`3`4j{zTQIxunVlShh2>{+Qnl4b(MBg<|} zxkYXJMr~H^PsgE{tiIPi?t(=Fk9^pM%LZH5(f3IRhWr)1omN8_t>uF?d;b#45q|dBAD8sBieY~)Z>kq0<3>l4B*;hc#XwaIGpcY?U zQICgO%!LB+XSvIPubn9++51u^M%xcmMjJ2?%kU<96@;n|Knf2o zfvCoIlFT;aUG{R^F}4`IK0q|C1?2Hob`8K60k}ZPC949wVh3K?zm5g|WpKL%>+n6W z=|}m?fcd|6trye}(zoZt?J)N;mi!J&OFRPl7|fF}Pr*C`Chs!MuzYhF4@Z zCHZS+NdAV2$yzd%4oY zjogd`4ud6b;rIl7iNMfb+1J?T1;MM@0VxZ&!5reIC2r?tB?dtcahD_>6|H-XNe8O21pM(AzrNEangN*lybbdp^##bin{KP~y zzb=u3z51#AJT{ZR0z3S*%m-qjY%+1@WVhjg*Yn~ma@fy#Oj0) zyIi;l8&H#3yRe^i2__c9ZfGw~pX?NNv1^5Eh3kZW3DJ=M%Zu0kD}@gKU40IsS=AJG`Te}F%5R21uq)B~gE^ndOD_cXG<(1LK<*nT<9UT$6pCsJc*4rE2+TFG) z)Y;xend%MWBz8R=>8`_B^EL5UC{k606Zi4#pjG)NfL?ZjermimImCrHwVUo0~SZZ`>SjCruj-E81~-et8YFLbNZ5Z*N}} zuIUa%p{Su9n(s*g2Fl$4)Jbh?W7YWk>Y#iA8wXvr;nvDtIkY(tjYJz;R2itN-rN#z z3`3Daq=|yJ#8v-Vzyn&_17X4eboWxdY+v1hd-X^o1C>0qI@+N~MoV9;uaP8!V0QE( zvAU%r)Ei#it@1&mL3ejAol@_Nk!FjiOz@A!jh!7R17Z!e;UInh_rA2nqwwiPjdt#c zYz%j(i8fT0H?>tLGSN;uMq|hNHBbf`P=#JZoj_rX-nFNeIOSIZumxQTSiLD4m2qx9 zL4zmUA^uM`y z5Bpp^GD+`=|I>T-5R^eK_Vl%Y;8o>-c#$}dCmhF1-kTh~Vc0vqPG z+Sc1HQFaEPm(&2JK0hFIy zCnM)8arXR*lXOKyp4JSl@GuJ3h{F8ObIN zA6;c9w;x(+ai!n_7oD)-oRfbz%OH04usfDr@MD#%y2a>krQB>|lS(~}}Tt~TS`{d6S* zr+`|So+Jng!&b0Lxv(Nued)|SJ8!^}g|HlS@_Z~)8GOD1-C(*xrFb~uDs$zOADk&C zphZ9Xf}fq7$vfB}ee6I6lhFRk#P)Qk=hc0RP}rd{BdE+bX_M zx!H#4U8DT2M!wG7&= zJxciV*YP(f$KdJi9<{kHC}9)YtvxE&E&PzeMF*n)4Rs0?1o+gBVPHT#0&nz>R@TZk z3Ie$}(zgeMrjb$PkaJ_jXm+ZAa-dJ_evUg=&T5h;#yzRWiT$jdTdFi$KidY1nys1b z&?xl(U7B|SAIp|0-Z&7=)g^y@@*wo_eU7#~jkZ*JfK;z!4^qnqlq@9iIaQ?sT%Jaq z#?m#Ayjdmc)oPB9;M;8=*(Nwxx42fL`nizi z>)_f!5i%;tZPTcJafe1d!tK(iZf+kaY6d^PRH#%pkk5hS=I8E$%8k20ZGG+mjDq*` zav-_=xhJ5+?@>7JcrFP=hTj9V_ql(^@Hvcw{~Lsj+6n4HZ6E=TejMDWOHd`=m)tt)^`8|pQbG|68Pv$8C#!x7(C7RZV{T3KYZ>z zXlgtR*@OI_RFqiwEgO~mQ{=5$NsbC_$)7*Raj)ZCA?5o&l2qIzq*i?dWmPE$$BA2#6Gf5@2^0woR330! zl#DfF!sFiUz`WLxocKIt*e_yuG9yMyb3cY)H&0d1u{Q{#Se}0{aRt1PA33SXxC5tX@JJ2GV#ay-%e%!l# zn0yn%+u-L=G%>RCakvvyg-&dz#>2hCyXiPQ?hEJf@BH;(A>b4p*;Zs1NWZTu%+%ph zS=#-^01iSM*?as-9Dcq_{I*DdA%?TqG+fiK@7R8!?+6HdqeFhN1odM$ClnDKyZ$cZ ztQoE(8`r&Y{CRw8w=!sCL1q*;&(LYGH2?2bDW!1MD!0gV?g}84Y`QxJU1NS0&_WUi6<0jn2mV^fQ6Lm zlGvq!S@#Iekvou~3b-pnk0zdp;cw~)!FPkO6*X}fSy8ZEIZtcy0|@VMR&r#qjDr^l z$@UBTGy9H#z$~Fk#!-|Xk*RD}V4WV;skFo@kg;b_E0|t59#gDJCqO^0(Sx9WtkM0T zmEXUF8@<4o<82r}Qf}jLdK2~y1U0%H#C>o`!v1&I=w$x)%9)?ElTN5${>d;!FpGHR zUjnllrUhmz%yyVvFgV%bKL~Rd!h9R{cVLdeJXOK`ufcu;<}A;e&*6ESz?w1ZHt(xs z{sWaVj(Q5re?QD4Fi*hoNALu+u=!;?q{IWW^#M=M%8)x~rf|#mH9bZbuj- z)~s$_=3(EO(k8qReQ}=vRU%#3C4^Eb<;#0EYZjv{!BGF7tD=#)zhFO6nyOEcqf69s zpk-w{+l@YjCYL??}p z!A*i2*6RAD3Q~%fo=)s$76y&#dM=^w!_KCP<(Z2;Ndd<;vkXRI5%xlNOIvn%*c2)W za6n7>8Yq_LO+&lh<_lOkPI4v;LCg`r{Frv%u#O#JMx5kaWX$CVFT|VQy5U;(AVl~g zZpiosc3OV{fnIlGAyf?OallKI61?2S-iG7u8!y4kug5Arj-#Bt6rnkJV;Xw_Wp{E( z$;j^pP?op+>_#(=kO|Do{Z3j6LHz<@Kf5spx`&~|iJNcgFkuz;e-c4PH<((<<(tpJHYgc4uCztWoB_f76iV1iy20_n9ny>dDB zZD4;C1_L)UqjI1Y>1rj_MYx}X3@XET>76t9mK0l z*8h^-r9T5zv!AdtFlNJF*d)W>S-HU=b4Lu>fbcKC9chc?02Dp>bUEBfF5O>1-D)+Mabp95;rJVKjQssMHvXBM z3A`?M20tselz$_4KF{*}{Pes4UzFFtm*uVIcjYznLwUXY@w{vKpXA92{?~c?`C$IH z_>TM`epmi?_+$Ae_@CvULEv_;rIX`3)KDK30((pAEzlXeREldluzP2Me3OukXL za?00)T~iJUw@kTB_~Dc%gZ?--lK5hMuc*^>S zc*gnzF)!^!u{rIOD5w2g{C3)}#AnjZivOARp*WIuUYwi$N3qcMxma!cyC|=+@w!f% zL3e{K1Hu8(tK8qXA1knw!bp)Dv^jLYwawLiVRP#&_A=eNjHS9Q8FjjAGa7W?%vi0v zCu6Vewg_k-3OVE>-emvbop67))i&_Oc%|1 zLw7LitnQtx&vZ6^WYxaD7 zB>NKmH?k}BN3xgdpUrO4f1KT-*X4BS^K-WAha9{0=Bc~&6;toj2d3Vm4^4esf8*2> z`WL1?rx&OFyFNPYE&aRGeyuMo__KaNfyHn|fz7bJAkT1p!6bwHy@F|mGX;f)3k7ox z1=C%I=INz|?b8<-Zkz5m3{9^xJTZN>A^+lahUmo`47*^CUEFDS@#0>?-!GO8jWc!| zZkw^!a4*d3GY%MjH{(vj#F@tpm&{BW4#S+7`J&;Cng4FcD*Tz@n!?u%f0^~V;oibu z8U9-MmLYG}JBIpM@5zRZv)(iG&-%#l{aGIyYG!|Ccy{(53~$f=!Z1AhZ?OMn_`u5< zKbxIxET5BWY@3sByl;-v_>(yv;}>&$#=*G@jL*!y#Q3|pl}6*dfYCdz*_fEO#rUmx z-Nxa0apULnt}{+`?lvxT_8G6m{dPAwzixcpdD!@#^LFEeqCsO((Wd*1ZAFh5`->ho zK3Vjl@x!85jrp!OjF-6HH6C*P&iJJ3yzyeU9&cZej7E|U0<@_LBSo&!oiF{nd$#nU zd#-e!XTEgOvq<{DvrH=Ru9H@Jw@bHrZG<9 zd-k`0;8l2@PJ!oDJoL}udBg)48T1OMSG&)}m^U9o=tAsc)gcms=hb0GqaV&bGX}3sp!~cgteBpQm1oxidZwsdPIqxB zk}00=E2Yff*)`wmEphog#jF%SM!2|K9+w+#-UX#@=A&3-w{!ji_X4lSha}Z#i`{Nd ziPxh&mpbQ{`rM`SeO|VJN83ByYB?5AVy;qOsYiMCxQji-UN_QLpG!P0uWx~OL9yGD zhRmcgKYxM8HQz(o^E$ow`DAyg$LnGxl(d^l7JM4+cIy)!m4DLK zKwqekMiPzv2lgM?zXt@bBJOk)JageHM6X+T1^$;TY{h@y!Vdg*ER5p+!c;b*;=-Lt zmWq$?8?h-1cY|ZvIF7GpB6;E~kw}O{`o~Dd z#W8*13B)mBGy!p8@+)x|5Qkwj4q0oLRQZ&QELb>Qj~?8AtXX+kb#0Lq*)_IFuV#o{)g0u7v?45=jt*M1jL7NvKF3a4K{4lGGAXa4V9f=+2+m zB}zbf&Q)ouv8cvJVJJgUyB$VCKbE3>}8BuzIG{N&#LL|M)q9#C?6qpL3kd#2# zqg9w|&$j12>Ab^Qq5-@1jr@AF9s_U&OQv7)jm<*}K@LqatS=eQO((apXnlo-vjn+S=c0BlTn z&bFJPxmITi<~puoqLWanN#j~A>q(%GtiDz@_=H{5ploTWI#49zSii9U2uX%cn@yrN zG>#2WQfrED-^f|iZ3=mY8YnsDOPnZ^C8g4VFvIo8LAtJ)aq*cm*5zH=Qd43oBjdx{^(eo>3V|X(-W`DDQ8iJJ z-OO%_W{d{Q0%R{s;Q%$tVL?S^*s}rl1-Y6~&i^@TIlwjPhirO{Gp zf2DEMBFNDUl-#0}%R&{Wl{`a{bb#N0$94`>0`!~-o`oqnAD18?&|~5_z7|O``i1_? z{l`c$RK%T*8%@C$75gUJWhLT)2}l5-#XGEp*3rn&>Z7eHk{lE+M9IXct#FFcnX(F} zq4F`@6c(Xhi-m5jbd&7)B)&@DpMo)NistTsSmV}f#eEuZY17D^=D+D^!ReaE42aJR zEkGe;p-^+5jn<#7xno37M}k5e5>P4>K*3iqY|>y`s7n<9HK;gJO^)Y$P2q&=YiLec zd9A^MQs`)oThMqN^u~*>2`;G`j`9uUBK%{ zN5@S?GBW!M`UTod)=+#p4kNlcoK8q3QK(a+-8a(17ovkjczecJG^700h&(?P2E{@9 zBU=}xTxdn1i~-|N{(UR4y0Db=rpCXtzVh)o9F00B6$vqGvszl;Xa>h092n)yM$M&$ zpj`9_j1Ee(0y^)MaQ~SNpmm8U_8{{!AJ) zR1}{M{es3ut+!u--foLdDqIW^wM89;<&#Qeb>>N_&b%r* z7veHkt4b$&0v2S{rwM_q)Qk&4>C)UV?kjEp1Z%4V%xSMHYlOmCV`IVD6eeQ&amtX@oFKObY zCer{uwZmj^bCOxy#ferNI>Y-npsc>ct=tk)O9sHIA@MEP zcL1z92piy&A{|Gk)YRYCOzt1%#pW&t@pXcT#U*OgxUxfcDt|a*js4M#q&YyUL zt4cs8hD$-S;)po(m=!^f+3LjaxaP#CTutIHa08+>fu>97`PM`l@S`?>S~K~}6M6jR z#8e&{bOAP<0sndY3g|eiO}P2OgqIH_O87-kRIxTu!*64a0J%2u-O$r7u}*#~HhY(| zuR$T%em>6RoB5mhuk-&BNc#U8M=ICX)vj8+roO(mp-Mf0xEwcp(FHg=V=DqRfw3Ku z)E)}iDrPi=4h^`&(e@TR;XWyZ#l1G2xB&=iniL3RM_YA!cW+y7U5BSDQdhAl7V?DK zBGKxtxOQe!tGqS5wVjAaINa4#Vp0Bi$t*N$tKdc%N)ZWzveP5dZi43=QUlk8T0=1Fa==OleTf05t ziPi?XTUuQ1Zv6Ln@xQVd;i_6UL1|MIcNewBH$@|@q4vfYj(D~=R(0WqpQbos3^frQ zEpKYU9YwKtyu}mS7V4Bc088B1iJb3@M1eW&a@WR7fl&3jYkNz3JswYOV0&afd`h}% z1Eucb-s0XsF=Z!S3@)F-Ra#nF8;E$L+q>s?ySm-oo^mgsmP&HKjkdN%HicDutP1{Y zQ*>{2wJE!QGPFO9X}0>ZE-X@~)kb%(X}YbtBXuDRb^n9gdH%JQD0vnWlarIQOX;De zRWWTN1Whc$V;Nh(Qgj7IaQ0^$y@wwS!pmsbe&4~845&#Avh;&o#QGaS@N_GOx@WhN z{cli}1k_vtM&-_){}NXDe;-we@%L8x_Lrnj(hOI99@Q=q`7(a;H_s6+lC(sU~A8 zksT<7aIcSE^e;0OAt0 z1IdW>@9A#=p<&K+9L3Wu3v0C~8NVQvj1ba-p9VBbjmW`o)2Ivl4vn%2yELkwzh4V` z0e~zuL^l9_DwX8&QZchx8g&YnsF1JhUUe3Cf=e^F5&Q3P^Q0R8Ob*}j(}?Kfc%XDGyMS6Sp{Z#LFFQ9=@G zlnSQ;MU~rm{B3?{|Cpq)-NLC|1*cM}ECJj(7R~w1e2>DP zfKn?enV;RlsZ=v`YiV%Kar_CsPjLlMz@<1hYx=){;8dOmnFFA@1N`kN@TL}RzZ#jo zR0~C1_wf&_)vSRxQ@X?mwn>?3W=FyGJ^ooWE)Bfthx)FSGFk_?&2elm@jqACn9;8# zsVXJ|KvUyNBC_A`@2inPAC{VgmN8?E@|;jGfuHar0J-`Z?t{@>@8(p>!KqCq`=w=y zm!Hc;v?d`(P$WUBQ(XbnRjJX|lj^mo`uRZeMWu8LxPa0x99+3Z`SFIJx}64`TcvOx zjz%#q1Zt&#qRRl1YRF9>z*XuIKuQBi$OD619O>T!LIa(tgGMvgtH^tUk|=>1Rceq8 zV#!Ha>Sj0}toSBbxkfpFFK$vMs(z%TA}5=f{5{S4H1N-A5C+h(N)19&o=W+-Q`~AL zLO*Imr3TqM8U+9%C`vd1xJFRRmJ7H_YMKNz<*5|9AHQC6%jGu^ML^A5zFBc3vDv6l zKsjnuGql;MZhq*>RVju`q*Q7Uz-E;~bqTFX*g?d?F0=u4xCM8Ad;r~0J?tq4gd}if zzZcTj83FZ~g05cxP=#=d(c!=Cq51Dg@;uK(qk?fuq{T-uUxf5a=?@El>0iP0{yXl` zH;NU|-VL~d9SBgLxLAc7LLC`Zn4g^!6kuWc&fz5@bstL3GL|GBAs5H`>5WSRong$- z;A{V9HuM(#p9T0b|22$Hs8F_>#cPIX4bjZ;?0~4c6MXI8h=zLt^j+dL=(|9qg1%RE zmm#w}dr)IK1^Q8n2$3d1AJ-zi0Qv_SeH!$0S^_p6cl~K$8R(ZacNgf_HQE9CO^ptK zen+GIpx+l|HL-3ye557Z4Ej?ov3}5BXmkSf2nD7RfY#~MQVxPP>(qEofwmJ3o+RiT zjlKYSGV#OxH0S~?tW6epHcMk-po?^B6;Z+^S^!FTp_Tw8T(0p@!pd(H9Y|08#|{ep zM?h$pGaa`K596j%zt#1`JZ6;3I!XeUJt?JdI&t1!1lu|g=vIoh9P`l zFU%g8n<|(e*J=3ggnd8EqcBh7`FYqc!~PH0XJCH_`wy`BO6Io;%%2bYBA71yHVjmR&H|I8x_TVfw}1JiIC3N-MU==;ukD*KX5=y&QKbHe5bp z1IEL6w;(LtC)XReAU-00!p<4hD;0Q|{rQFr)`~p+3996ioTAUmY`JkYHi!)Duk4`Y z7nCa%%o}fP;W~l$#e>lY&j9wZ@=jcY&Q|+ z4$1`aJ188?>^}xV!<^~339RKBu-dpcOnnMG4@y_}Fb%N)P}K5Zt*9rg8-Euk zAIv;haFE)AR{?1{&dk1zZLu$-BUtF?Y=Db!N4P%jK5h^?UDstl#CPh|h}4#TUeN;(4)6{JYp8rt9RL;xgU0#I?Go#iP2D;`6#!#sAd(LR_hTL%dS| zw%DP6SG+}kLA=axLA=sn)NM0l>FzX4(mi3ArhC&cL$|;B7b`-HpZy-7Cf_ z-8o~u?t-yF_ZQ;^ok`lPn=EzdTv9@}K)OvAkOp;a(!ILv(gV7q(v!NAvh=p@4e6Zj zoOE8tOrPjlVPYneUN&Xxzh%nTKW%dA|7!B+3(QOPRpvTTho7Rd>H1Z=|4CAKK(6YG0nN`U;#`f1K3Bs!C1$=ZLGJQ zGj`c77@vfB-S&6mr#8Jb->#R!c8By3%uDvU(x2>0r8hF_q%SfCr2Nct((KI7q|!{2 z>9Wizrpq&@o3><@0sR;-?aSO~x^F{fm+8BiQPT^V*O}hRJZO41^G*|=^?=Eg^|&b~ z>lxGZtPf4~SSuU{ca4$0vtaY!zQ!{hMz$fv2Xsl2jQYJ{J|<#xFo zlH1|)T73>jrK7HVUS%}qDXDNu4dh=8f5{51?;%N!6QkQDfe~;UR{-AhldRz-wefIV z>Lh=Ui;^mJyNk#B)Bc>AoZI7&JPxl1u>>fz)e(?lJyn~pib!3Q9gpH)TneU9|LzEd zm4O0MJWETZl9cBXDIV^sj>e@O6u4N8-1lYwaDBX2O}qsDUPq~KEb=O;juKWgUWz!1 zed7uisR~w00nJxNxn0Gjp0RSZH>yFsN}1s|uFR22DMkU|=XN;U#jbJDhMGphdC1Q< zF3yIkj+*XvHM?G~Lnm!N!9viilvX6q2&c zy#8Rz!952XkFS@qY`lChcKC=Qjl2pW({t2*UAX_f8XJ&Wq$LoT;^J|6!ZzEc_ULA6 zVN`Odk}FRsvZl4rS}EQj1+~zqC0}vLxX``Tk?wF8t}JK|t0GjaR#!=hmT$^Jv^o-1 zO9fx5FkrFNQXyU|sfRC*c63k@@TW>E@p{J^g8WBAd&$>bI_BG6)xJqmgjYsjRGFv5 zH7@DRjaNm+M5v_L0qOC1$KWPGv_CyR2lVTv$#nw+((?PcmsP_w~aYFiCR&R||RVS^cdMZUNQ)q8-ozhXM9xraJ zS>2?{mdl4R0YQ-QIz@2y96X?i4$rHCW5)B5gL~k|3n@`La`4!}1IO=7hbSGIa&@+e z(`meig~OQ#m6e2Ebvd+5&Ndx?cS4qhKh(SnoW>NV_i*K5jPHz>G|v6k!`qbdZamy_ zn1)NUgrsrQuex4ZqSdWWsoRpVx^1eF8pzKF z0U^H<@{?9%WJFE_?;tx2k+#(-K2 z9;No&u9EQ~q4uM(CoXkUHK8Suu-gTBV26(lU?3#P5H-ngyT=lYbS!V7-W9FJn1W_; zW59F4Libjab<{}V0B$qs?rO)lLb9T8APdE*jH!LsExU?6ly{6drG*$Fth2^<-OjkP zCDnO7ZfnVMN$J%1p4AZV40YCS3Q1ua8azr9QVG8teF?@{ioF=KbRhW7=sTJ*^A>IwNuRApsHAqm^QQ6jo zc>t@7NIOl|s2GK>#D|P&V^*aU-n_LXQW@)t(TFQMyh?k2c|dMhgDY}YOD)ta@Grst z68E?fxuM}p{^&6%=(zc_VOeKL&8QCD|=Jbt(Mjc1T&Sk)Zz9(%8F;XQ-!UWN8d~F*)f_bvbVICx?_3{*SHYr~htcBIPeEA^E~*4jpOoJEsE zqI{*U(txZ4q!QOw2g>8h5*0;4cPn-Ke4`5-2uOJ?T{jg8OKnPj$3*W#w;vNb;t1nn zBy~J+EB+o@Y-s(0{Gka4cOZ55s5~C`+bli^T2^Y zVPFr5Np4DTjtpQ7BNr8;r{}QTq#miHjOBG|`5X*LP!d#ue4`ypm3H*_yv1Xyqwtc7 zc$-%8617}juxd*?CErj&L{*HT7d7L<(o2#@JA8}O6$x*LMxBN*b$Cjm)I-zXxc=Hv z(GroiYQ8@5E!CE1RP`iC1o6kh2jMZzc}fb47mOFAC7w`pb2qf`Xu{<3U|zGjY5mj` z_XML$x? z;w>J1S;4|2)Ui267j02Zpb_ytQ-YV8vBnCmQztVSo|p|WYHG_+>XDJA-+8 zx2cNu^cF%xoI=J?64{wtGzA^3`uu{@&->-4vIc*!QB%G#MPWr zP>-Y7>lwE`iBxXyifSc;KN_^yTRd)EL_GrmN|1MC0u}3X7cNlN5R27Zw<&NKb(ll7 zdNG(-qqu8L)mo-iI2N)cUXqMKVK8&x0F4=W>L_w(-J_VD^0kNVV|bXTKIjL%gO!5? z#~&`INo?Rad?u?t=E26nmcdGjWlD;-WiU3_c>KZ=;(hxE;B};U_Y58zR7R<(s>`K= z2L?$t5nA00F>Tr3ve=yXPB`Jr=h+aY7@>gH{94$QYr zJqPxoiDRdfNGPsBl;{*zakRB!1lV9R>~t7{xGjdE(R33G{RnCI*GnpNk&dk`%}mc~ z)7x<`Tt{eUdlOWwMZ?YTZ#2fk^vI&kNV6%O+(S#NW8J+#<$xo7GOIGg+S@y0F+!2h z8Eky_1*;CpPGyI>KNGSJoqF9q7w)=4p_jz$V+no^XC6E@)Ht{Yy!{Z&JRola{nkaO^wFfri9=n!iXos&%>j{Npsrib< zo3USAWm9iT9Pf&+_3idlHlu-#$fiiR$AO63Z7J9C7>#)h6*q&mr>9)oYudXu#~jd1 z7R%foY7NI$MRD~Uxsd|CX22q=?6LNZAzUt~O`0)eqLx+LLR}pj;iOf~LKfSG2B=L- zInawd+hIV%EP}fS4TH1rNZN=fB}8C?>t)EGZY?`>?R(r>J!t$6z4adF$;Rm|^^pRwETYUpSH^i)%ajS{-Z@swY%c_ z5A99|(g*_7!Sn(&sy@LEJ@TIApz>Mf(3Cbk4&LE6hkHg5$3yGe^cC6UGE_;m#86-A zMwN*>bZ47>*+g9EYWbllX;J~TZNOYz26${c;8Kq&Ulq(ljYBPi#}ETwpbbw$Ek}i+ z#^W0rFg(=^#fJ7!{D>CW!iOUKTZGM6GT4l@jcvxRZERf5oT_}_oApmce3+mxLqEOi zr?e@1LfMp^x!r8U!9e;A?HM{SL@lQ^su>3{4F(&#AUvz*4?S8XPLNLv<+||Z)=;@o zT?nvnxde@cn@MM6xrwMyWvmCTMs+p9;^oGUj+RI~#KIvWHc|c7&k6@+uauG>^SkR^qfUt{~OkA-+0RRT|US-8r8Wf<0JsmbLZ z$Jle?=eDpPx$ zM5&z97PO^s}Ijc#RQQv+PfYlMo%8X>T}Mp#`{ zBQ!MC2u(5^>fo@vvPP(HtPz9NEKs9sY7A7>=&I`QUw;*pl(MZgrquQhi~r-`I<`u$ zk?8HZClHG-G2jCT8gGd{9`31UolCHYP^TjDp%;fG7~o_K5=VxP4IQ9CLOrQ#=2Gt! zEWSjHhgnRCqJp(i6wqhe%UUT4oEGm|Ds2x1!n8`QwWLOS>YlZugKnzB)*98FW#*|h zgyTy)s^ zLk+C+GVU_dj&N$BahYXDI20&vRhJ!G#T_VIoo;)$BU~p-n+Vg~-nqHXfIT+sk>Pro zt~wL$gO1bwJ`0Yc*Vd({+UFSl|kd!DPiacNrt*7Y39Ol*16nF8EYwT$A!krEkvuCVX@^B zJuMIRhBRs|sBv?Cr*-@ng3fe2$;t->Ku!S?0-Mb_0|2sNzkYza5&8`nb0FKg71AT}DdW2a$LxKZfB*SE;# z>Z@q1Yt*`5qn_RZSyv;vVO<4V-DseDs#nxD3Qe_G*UQ?%o|gEuC&9L+Rx~k0j;l@# zu^o|hz})|nl~R+?6>8Gc$2S)J>PtbBH5v+U!a`SRrY18zRYIcTU2Aw2TcZ_ZjZhxz z!hJpsEVxdLhFN5t&>ealM|hxw2dj~rInDwk6VvgW1@i_Vd7MRn&2X3G(afP1l8lSh zCC#BNXYrCXLtEb*EqLk3(aht6L9B1&qu%EmvoeWST{k_(x?3i81pFnedFgKNDraXO-7M#TwLNDIA-@$VRxovNuwqe^IL3`JYw9h;eRs?qaZQt+TI_tL=k#7w7_rQ zMVxVwgoJJ<_n9zr;QC+@2rrBezIOQj1irCLUgLv1`Pj0zVmm&^^P&peD7hSVHSBuW zOJT2o4aF?MO4u@PDGpW%F=({SFC<{W%uuX$!IwmQ^Zc|eHU}VLii4VD+qfKb_Npr^a$e0M5On@&Vu~_>^#^H!=3{B zG1vu2Yo>@$#}R5GCrgW-0x<~=KY%?Mb`o}u7?T1&0{c`18-_g%_DirYhJ6b54A`&1 zo{8viSWa5>3xsmPeiODE_G#E_5zDjhgNp>@cd#*R1%E}{AH!FG?}zfA;4H%X3)ni? ze}SzB8>a)?2-pm~v

9292w-IV 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 z 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 delta 30339 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 ZFnj#9L^zY+>;z|LIFmi&ucgea`hUH($f5uM diff --git a/Contralto/Display/DisplayController.cs b/Contralto/Display/DisplayController.cs index 115d25e..9dd9d90 100644 --- a/Contralto/Display/DisplayController.cs +++ b/Contralto/Display/DisplayController.cs @@ -95,6 +95,8 @@ namespace Contralto.Display _vblankScanlineCount = 0; + _dataBuffer.Clear(); + // Schedule wakeup for first scanline of vblank _verticalBlankScanlineWakeup.TimestampNsec = _verticalBlankScanlineDuration; _system.Scheduler.Schedule(_verticalBlankScanlineWakeup); @@ -265,8 +267,7 @@ namespace Contralto.Display public void LoadDDR(ushort word) { - _dataBuffer.Enqueue(word); - + _dataBuffer.Enqueue(word); // Sanity check: data length should never exceed 16 words. // TODO: we're allowing up to 18 before we start discarding things. diff --git a/Contralto/IO/DiabloDrive.cs b/Contralto/IO/DiabloDrive.cs index 6d473e7..daccb5b 100644 --- a/Contralto/IO/DiabloDrive.cs +++ b/Contralto/IO/DiabloDrive.cs @@ -225,8 +225,7 @@ namespace Contralto.IO ///

/// Commits modified sector data back to the emulated disk. - /// Intended to be called at the end of the sector / beginning of the next. - /// TODO: we should modify this so that checksums are persisted, possibly... + /// Intended to be called at the end of the sector / beginning of the next. /// private void CommitSector() { diff --git a/Contralto/IO/DiskController.cs b/Contralto/IO/DiskController.cs index dbdf1d4..4b0eb26 100644 --- a/Contralto/IO/DiskController.cs +++ b/Contralto/IO/DiskController.cs @@ -19,8 +19,7 @@ namespace Contralto.IO Reset(); } - /// - /// TODO: this is messy; the read and write sides of KDATA are distinct hardware. + /// /// According to docs, on a Write, eventually it appears on the Read side during an actual write to the disk /// but not right away. /// @@ -341,7 +340,7 @@ namespace Contralto.IO if (_seclateEnable) { _seclate = true; - _kStat |= SECLATE; // TODO: move to constant field! + _kStat |= SECLATE; Log.Write(LogComponent.DiskSectorTask, "SECLATE for sector {0}.", _sector); } } @@ -476,7 +475,7 @@ namespace Contralto.IO // // If the clock is enabled OR the WFFO bit is set (go ahead and run the bit clock) // and we weren't late reading this sector, then we will wake up the word task - // and read in the data if transfers are not inhibited. TODO: this should only happen on reads. + // and read in the data if transfers are not inhibited. // if (!_seclate && (_wffo || _diskBitCounterEnable)) { @@ -525,7 +524,7 @@ namespace Contralto.IO // If the WFFO bit is cleared (wait for the sync word to be read) // then we check the word for a "1" (the sync word) to enable // the clock. This occurs late in the cycle so that the NEXT word - // (not the sync word) is actually read. TODO: this should only happen on reads. + // (not the sync word) is actually read. // if (!IsWrite() && !_wffo && diskWord.Data == 1) { diff --git a/Contralto/IO/UDPEncapsulation.cs b/Contralto/IO/UDPEncapsulation.cs index 4d1c226..1e6b426 100644 --- a/Contralto/IO/UDPEncapsulation.cs +++ b/Contralto/IO/UDPEncapsulation.cs @@ -163,8 +163,15 @@ namespace Contralto.IO while (true) { byte[] data = _udpClient.Receive(ref groupEndPoint); - - // TODO: sanitize data before handing it off. + + // + // Sanitize the data (at least make sure the length is valid): + // + if (data.Length < 4) + { + Log.Write(LogType.Verbose, LogComponent.HostNetworkInterface, "Invalid packet: Packet is fewer than 2 words long, dropping."); + continue; + } // Drop our own UDP packets. if (!groupEndPoint.Address.Equals(_thisIPAddress)) diff --git a/Contralto/Logging/Log.cs b/Contralto/Logging/Log.cs index 16ef657..6a80274 100644 --- a/Contralto/Logging/Log.cs +++ b/Contralto/Logging/Log.cs @@ -55,7 +55,7 @@ namespace Contralto.Logging static Log() { // TODO: make configurable - _components = LogComponent.None; // LogComponent.EthernetPacket | LogComponent.HostEthernet | LogComponent.EthernetController; // LogComponent.DiskController | LogComponent.DiskSectorTask | LogComponent.Debug | LogComponent.CPU; // LogComponent.EthernetController; // | LogComponent.Microcode | LogComponent.Memory | LogComponent.CPU; + _components = LogComponent.None; // LogComponent.HostNetworkInterface | LogComponent.EthernetPacket; // | LogComponent.HostEthernet | LogComponent.EthernetController; // LogComponent.DiskController | LogComponent.DiskSectorTask | LogComponent.Debug | LogComponent.CPU; // LogComponent.EthernetController; // | LogComponent.Microcode | LogComponent.Memory | LogComponent.CPU; _type = LogType.Normal | LogType.Warning | LogType.Error | LogType.Verbose; //_logStream = new StreamWriter("log.txt"); diff --git a/Contralto/UI/AltoWindow.cs b/Contralto/UI/AltoWindow.cs index 25acab9..ba1e02c 100644 --- a/Contralto/UI/AltoWindow.cs +++ b/Contralto/UI/AltoWindow.cs @@ -296,7 +296,10 @@ namespace Contralto _frame++; // Wait for the next frame - _frameTimer.WaitForFrame(); + if (Configuration.ThrottleSpeed) + { + _frameTimer.WaitForFrame(); + } if (Configuration.InterlaceDisplay) { diff --git a/Contralto/UI/Debugger.cs b/Contralto/UI/Debugger.cs index f67d78e..f46bfd6 100644 --- a/Contralto/UI/Debugger.cs +++ b/Contralto/UI/Debugger.cs @@ -13,6 +13,7 @@ using System.Threading; using System.Drawing.Imaging; using Contralto.IO; using Contralto.Display; +using Contralto.Logging; namespace Contralto { @@ -805,6 +806,25 @@ namespace Contralto case ExecutionType.Normal: case ExecutionType.NextTask: case ExecutionType.NextNovaInstruction: + + // For debugging floating point microcode: + if (_system.CPU.CurrentTask.MPC == 0x10) // MPC is 20(octal) meaning a new Nova instruction. + { + if (_lastFPInstruction == 0) + { + // check for new floating instruction + FloatDebugPre(_system.MemoryBus.DebugReadWord(TaskType.Emulator, _system.CPU.R[6])); + } + else + { + // last instruction was a floating point instruction, check the result + FloatDebugPost(); + + // And see if this new one is also a floating point instruction... + FloatDebugPre(_system.MemoryBus.DebugReadWord(TaskType.Emulator, _system.CPU.R[6])); + } + } + // See if we need to stop here if (_execAbort || // The Stop button was hit _microcodeBreakpointEnabled[(int)UCodeMemory.GetBank(_system.CPU.CurrentTask.TaskType),_system.CPU.CurrentTask.MPC] || // A microcode breakpoint was hit @@ -835,7 +855,371 @@ namespace Contralto return false; } - + // vars for float debug + ushort _lastFPInstruction; + ushort _ac0; + ushort _ac1; + ushort _ac2; + ushort _ac3; + ushort _fpRegAddr; + ushort _fpRegCount; + + /// + /// Temporary, for debugging floating point ucode issues + /// + /// + private void FloatDebugPre(ushort instruction) + { + _lastFPInstruction = 0; + // Float instructions are from 70001-70022 octal + if (instruction >= 0x7000 && instruction <= 0x7012) + { + // Save instruction + _lastFPInstruction = instruction; + + // Save ACs + _ac0 = _system.CPU.R[3]; + _ac1 = _system.CPU.R[2]; + _ac2 = _system.CPU.R[1]; + _ac3 = _system.CPU.R[0]; + + Console.Write("FP: "); + switch (instruction) + { + case 0x7000: + Console.WriteLine("FPSetup"); + + _fpRegAddr = _system.CPU.R[3]; + _fpRegCount = _system.MemoryBus.DebugReadWord(TaskType.Emulator, _fpRegAddr); + + Console.WriteLine(" FP register address {0}, count {1}", Conversion.ToOctal(_fpRegAddr), _fpRegCount); + + break; + + case 0x7001: + Console.WriteLine("FML {0},{1} ({2},{3})", _ac0, _ac1, GetFloat(_ac0), GetFloat(_ac1)); + break; + + case 0x7002: + Console.WriteLine("FDV {0},{1} ({2},{3})", _ac0, _ac1, GetFloat(_ac0), GetFloat(_ac1)); + break; + + case 0x7003: + Console.WriteLine("FAD {0},{1} ({2},{3})", _ac0, _ac1, GetFloat(_ac0), GetFloat(_ac1)); + break; + + case 0x7004: + Console.WriteLine("FSB {0},{1} ({2},{3})", _ac0, _ac1, GetFloat(_ac0), GetFloat(_ac1)); + break; + + case 0x7005: + Console.WriteLine("FLD {0},{1} (src {2})", _ac0, _ac1, GetFloat(_ac1)); + break; + + case 0x7006: + Console.WriteLine("FLDV {0},{1} (src {2})", _ac0, _ac1, GetFloatFromInternalFormat(_ac1)); + break; + + case 0x7007: + Console.WriteLine("FSTV {0},{1} (src {2})", _ac0, _ac1, GetFloat(_ac0)); + break; + + case 0x7008: + Console.WriteLine("FLDI {0},{1}", _ac0, Conversion.ToOctal(_ac1)); + break; + + case 0x7009: + Console.WriteLine("FTR {0} ({1})", _ac0, GetFloat(_ac0)); + break; + + case 0x700a: + Console.WriteLine("FNEG {0} ({1})", _ac0, GetFloat(_ac0)); + break; + + case 0x700b: + Console.WriteLine("FSN {0} ({1})", _ac0, GetFloat(_ac0)); + break; + + case 0x700c: + Console.WriteLine("FCM {0} ({1})", _ac0, GetFloat(_ac0)); + break; + + case 0x700d: + Console.WriteLine("FST"); + break; + + case 0x700e: + Console.WriteLine("FLDDP"); + break; + + case 0x700f: + Console.WriteLine("FSTDP"); + break; + + case 0x7010: + Console.WriteLine("DPAD"); + break; + + case 0x7011: + Console.WriteLine("DPSB"); + break; + + case 0x7012: + Console.WriteLine("FEXP {0},{1} ({2})", _ac0, _ac1, GetFloat(_ac0)); + break; + } + + /* + Console.WriteLine(" AC0={0} AC1={1} AC2={2} AC3={3}", + Conversion.ToOctal(_ac0), + Conversion.ToOctal(_ac1), + Conversion.ToOctal(_ac2), + Conversion.ToOctal(_ac3)); */ + } + } + + private void FloatDebugPost() + { + + Console.Write("Post: "); + switch (_lastFPInstruction) + { + case 0x7000: + Console.WriteLine("FPSetup done."); + break; + + case 0x7001: + Console.WriteLine("Result {0}", GetFloat(_ac0)); + break; + + case 0x7002: + Console.WriteLine("Result {0}", GetFloat(_ac0)); + break; + + case 0x7003: + Console.WriteLine("Result {0}", GetFloat(_ac0)); + break; + + case 0x7004: + Console.WriteLine("Result {0}", GetFloat(_ac0)); + break; + + case 0x7005: + Console.WriteLine("Loaded {0}", GetFloat(_ac0)); + break; + + case 0x7006: + Console.WriteLine("Loaded {0}", GetFloat(_ac0)); + break; + + case 0x7007: + Console.WriteLine("FSTV done."); + break; + + case 0x7008: + Console.WriteLine("Loaded {0}", GetFloat(_ac0)); + break; + + case 0x7009: + Console.WriteLine("Result {0}", GetFloat(_ac0)); + break; + + case 0x700a: + Console.WriteLine("Result {0}", GetFloat(_ac0)); + break; + + case 0x700b: + Console.WriteLine("Result {0}", _ac3); + break; + + case 0x700c: + Console.WriteLine("Result {0}", _ac3); + break; + + case 0x700d: + Console.WriteLine("FST done."); + break; + + case 0x700e: + Console.WriteLine("FLDDP done."); + break; + + case 0x700f: + Console.WriteLine("FSTDP done."); + break; + + case 0x7010: + Console.WriteLine("DPAD done."); + break; + + case 0x7011: + Console.WriteLine("DPSB done."); + break; + + case 0x7012: + Console.WriteLine("Result {0}", GetFloat(_ac0)); + break; + + default: + throw new InvalidOperationException("Unexpected op for post."); + } + + _lastFPInstruction = 0; + } + + private double GetFloat(ushort arg) + { + // If arg is less than the number of registers, it's assumed + // to be a register; otherwise an address + if (arg < _fpRegCount) + { + return GetFloatFromUcode(arg); + } + else + { + return GetFloatFromPackedFormat(arg); + } + } + + /// + /// Gets a float from memory in "packed" format + /// + /// + /// + private double GetFloatFromPackedFormat(ushort addr) + { + // + // Packed format is only two words: + // structure FP: [ + // sign bit 1 //1 if negative. + // expon bit 8 //excess 128 format (complemented if number <0) + // mantissa1 bit 7 //High order 7 bits of mantissa + // mantissa2 bit 16 //Low order 16 bits of mantissa + // ] + // + uint packedWord = + (uint)(_system.MemoryBus.DebugReadWord(TaskType.Emulator, addr) << 16) | + (uint)(_system.MemoryBus.DebugReadWord(TaskType.Emulator, (ushort)(addr + 1))); + + double sign = (packedWord & 0x80000000) != 0 ? -1.0 : 1.0; + uint exponent = (packedWord & 0x7f800000) >> 23; + uint mantissa = (packedWord & 0x007fffff); + + double val = 0.0; + for (int i = 0; i < 23; i++) + { + double bit = (mantissa & (0x00400000 >> i)) != 0 ? 1.0 : 0.0; + + val += (bit * (1.0 / Math.Pow(2.0, (double)i))); + } + + double adjustedExponent = exponent - 128.0; + + val = sign * (val) * Math.Pow(2.0, adjustedExponent); + + Console.WriteLine("packed: {0}", val); + + return val; + + } + + /// + /// Gets the float value for register, from alto code + /// + /// + /// + private double GetFloatFromInternalFormat(ushort addr) + { + + // Internal format is 4 words long: + // Word 0: sign + // Word 1: exponent + // Word 2-3: mantissa + // + + double sign = (_system.MemoryBus.DebugReadWord(TaskType.Emulator, addr)) != 0 ? -1.0 : 1.0; + int exponent = (int)(short)(_system.MemoryBus.DebugReadWord(TaskType.Emulator, (ushort)(addr + 1))); + uint mantissa = + (uint)(_system.MemoryBus.DebugReadWord(TaskType.Emulator, (ushort)(addr + 2)) << 16) | + (uint)(_system.MemoryBus.DebugReadWord(TaskType.Emulator, (ushort)(addr + 3))); + + double val = 0.0; + for (int i = 0; i < 32; i++) + { + double bit = (mantissa & (0x80000000 >> i)) != 0 ? 1.0 : 0.0; + + val += (bit * (1.0 / Math.Pow(2.0, (double)i))); + } + + val = sign * (val) * Math.Pow(2.0, exponent - 1); + + if (double.IsInfinity(val) || double.IsNaN(val)) + { + Console.WriteLine(" ERROR: sign {0} exp {1} mantissa {2:x} value {3}", + sign, + exponent, + mantissa, + val); + } + + return val; + } + + /// + /// Gets the float value for register, from ucode store + /// + /// + /// + private double GetFloatFromUcode(ushort reg) + { + + // Internal format is 4 words long: + // Word 0: sign + // Word 1: exponent + // Word 2-3: mantissa + // + // In current ucode, each word is staggered across the FP buffer space rather than being in linear order to prevent having to do multiplies. + // For FP register N of M total registers starting at offset O: + // Word 0 is at O + N + 1 + // Word 1 is at O + N + M + 1 + // Word 2 is at O + N + 2*M + 1 + // Word 3 is at O + N + 3*M + 1 + ushort oreg = reg; + + + reg += _fpRegAddr; + reg++; + + //Console.WriteLine("reg base {0}, num {1} addr {2}", _fpRegAddr, oreg, Conversion.ToOctal(reg)); + + // reg is now an address; read things in... + double sign = (_system.MemoryBus.DebugReadWord(TaskType.Emulator, reg)) != 0 ? -1.0 : 1.0; + int exponent = (int)(short)(_system.MemoryBus.DebugReadWord(TaskType.Emulator, (ushort)(reg + _fpRegCount))); + uint mantissa = + (uint)(_system.MemoryBus.DebugReadWord(TaskType.Emulator, (ushort)(reg + 2 * _fpRegCount)) << 16) | + (uint)(_system.MemoryBus.DebugReadWord(TaskType.Emulator, (ushort)(reg + 3 * _fpRegCount))); + + double val = 0.0; + for (int i = 0; i < 32; i++) + { + double bit = (mantissa & (0x80000000 >> i)) != 0 ? 1.0 : 0.0; + + val += (bit * (1.0 / Math.Pow(2.0, (double)i))); + } + + val = sign * (val) * Math.Pow(2.0, exponent - 1); + + if (double.IsInfinity(val) || double.IsNaN(val)) + { + Console.WriteLine(" ERROR: sign {0} exp {1} mantissa {2:x} value {3}", + sign, + exponent, + mantissa, + val); + } + + return val; + } private void SetExecutionState(ExecutionState state) { @@ -961,7 +1345,7 @@ namespace Contralto private void HackButton_Click(object sender, EventArgs e) { Logging.Log.LogComponents |= Logging.LogComponent.TaskSwitch; - Logging.Log.Write(Logging.LogComponent.Debug, "***** HACK HIT ******"); + Log.Write(Logging.LogComponent.Debug, "***** HACK HIT ******"); } } }