From fc6a4e6b56b02abf1cb7828fdb0cad9c55900191 Mon Sep 17 00:00:00 2001
From: Joakim Argillander <joakim@argillander.se>
Date: Fri, 31 Jul 2020 21:08:11 +0200
Subject: [PATCH] Stashed for safekeeping

---
 PmodAD1 RefComp/AD1Refcomp.vhd                | 284 +++++++
 PmodDA2 RefComp/PmodDA2RefComp.pdf            | Bin 0 -> 91427 bytes
 PmodDA2 RefComp/SourceFiles/DA2RefComp.vhd    | 287 +++++++
 .../SourceFiles/backup_dac_inner.vhd          | 785 ++++++++++++++++++
 4 files changed, 1356 insertions(+)
 create mode 100644 PmodAD1 RefComp/AD1Refcomp.vhd
 create mode 100644 PmodDA2 RefComp/PmodDA2RefComp.pdf
 create mode 100644 PmodDA2 RefComp/SourceFiles/DA2RefComp.vhd
 create mode 100644 PmodDA2 RefComp/SourceFiles/backup_dac_inner.vhd

diff --git a/PmodAD1 RefComp/AD1Refcomp.vhd b/PmodAD1 RefComp/AD1Refcomp.vhd
new file mode 100644
index 0000000..624ee76
--- /dev/null
+++ b/PmodAD1 RefComp/AD1Refcomp.vhd	
@@ -0,0 +1,284 @@
+-------------------------------------------------------------------------
+--    AD1RefComp.VHD
+-------------------------------------------------------------------------
+--    Author         : Ioana Dabacan
+-- CopyRight 2008 Digilent Ro.
+-------------------------------------------------------------------------
+--    Description : This file is the VHDL code for a PMOD-AD1 controller.
+--
+-------------------------------------------------------------------------
+--    Revision History:
+-- Feb/29/2008 Created    (Ioana Dabacan)
+-------------------------------------------------------------------------
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+use IEEE.STD_LOGIC_ARITH.ALL;
+use IEEE.STD_LOGIC_UNSIGNED.ALL;
+
+package ADC is
+	component AD1RefComp is
+   Port    (    
+  --General usage
+    CLK      : in std_logic;         
+    RST      : in std_logic;
+     
+  --Pmod interface signals
+    SDATA1   : in std_logic;
+    SDATA2   : in std_logic;
+    SCLK     : out std_logic;
+    nCS      : out std_logic;
+        
+    --User interface signals
+    DATA1    : out std_logic_vector(11 downto 0);
+    DATA2    : out std_logic_vector(11 downto 0);
+    START    : in std_logic; 
+    DONE     : out std_logic
+    );
+	end component AD1RefComp;
+end package ADC;
+
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+use IEEE.STD_LOGIC_ARITH.ALL;
+use IEEE.STD_LOGIC_UNSIGNED.ALL;
+
+-------------------------------------------------------------------------
+--Title         : AD1 Reference Component
+--
+--   Inputs         : 5
+--   Outputs        : 5
+--
+--   Description: This is the AD1 Reference Component entity. The input
+--                ports are a 50 MHz clock and an asynchronous reset 
+--                button along with the data from the ADC7476 that 
+--                is serially shifted in on each clock cycle(SDATA1 and
+--                SDATA2). The outputs are the SCLK signal which clocks
+--                the PMOD-AD1 board at 12.5 MHz and a chip select 
+--                signal (nCS) that enables the ADC7476 chips on the
+--                PMOD-AD1 board as well as two 12-bit output 
+--                vectors labeled DATA1 and DATA2 which can be used by 
+--                any external components. The START is used to tell
+--                the component when to start a conversion. After a
+--                conversion is done the component activates the DONE
+--                signal.
+--
+--------------------------------------------------------------------------
+
+entity AD1RefComp is
+  Port    (    
+  --General usage
+    CLK      : in std_logic;         
+    RST      : in std_logic;
+     
+  --Pmod interface signals
+    SDATA1   : in std_logic;
+    SDATA2   : in std_logic;
+    SCLK     : out std_logic;
+    nCS      : out std_logic;
+        
+    --User interface signals
+    DATA1    : out std_logic_vector(11 downto 0);
+    DATA2    : out std_logic_vector(11 downto 0);
+    START    : in std_logic; 
+    DONE     : out std_logic
+            );
+
+end AD1RefComp ;
+
+architecture AD1 of AD1RefComp is
+
+--------------------------------------------------------------------------------
+-- Title            : Local signal assignments
+--
+-- Description      : The following signals will be used to drive the  
+--                    processes of this VHDL file.
+--
+--   current_state : This signal will be the pointer that will point at the
+--                   current state of the Finite State Machine of the 
+--                   controller.
+--   next_state    : This signal will be the pointer that will point at the
+--                   current state of the Finite State Machine of the 
+--                   controller.
+--   temp1         : This is a 16-bit vector that will store the 16-bits of data 
+--                   that are serially shifted-in form the  first ADC7476 chip
+--                   inside the PMOD-AD1 board.
+--   temp2         : This is a 16-bit vector that will store the 16-bits of data 
+--                   that are serially shifted-in form the second ADC7476 chip 
+--                   inside the PMOD-AD1 board.
+--   clk_div       : This will be the divided 12.5 MHz clock signal that will
+--                   clock the PMOD-AD1 board
+--   clk_counter   : This counter will be used to create a divided clock signal.
+--
+--   shiftCounter  : This counter will be used to count the shifted data from  
+--                   the ADC7476 chip inside the PMOD-AD1 board.
+--   enShiftCounter: This signal will be used to enable the counter for the  
+--                   shifted data from the ADC7476 chip inside the PMOD-AD1.
+--   enParalelLoad : This signal will be used to enable the load the shifted  
+--                   data in a register.
+--------------------------------------------------------------------------------
+
+type states is (Idle,
+                ShiftIn, 
+                SyncData);  
+          signal current_state : states;
+          signal next_state    : states;
+                     
+          signal temp1         : std_logic_vector(15 downto 0);
+          signal temp2         : std_logic_vector(15 downto 0);                
+          signal clk_div       : std_logic;      
+          signal clk_counter   : std_logic_vector(1 downto 0);    
+          signal shiftCounter  : std_logic_vector(3 downto 0) := x"0"; 
+          signal enShiftCounter: std_logic;
+          signal enParalelLoad : std_logic;
+
+
+begin
+
+--------------------------------------------------------------------------------
+-- Title          :     clock divider process
+--
+-- Description    : This is the process that will divide the 50 MHz clock 
+--                  down to a clock speed of 12.5 MHz to drive the ADC7476 chip. 
+--------------------------------------------------------------------------------        
+        clock_divide : process(rst,clk)
+        begin
+            if rst = '1' then
+                clk_counter <= "00";
+            elsif (clk = '1' and clk'event) then
+                clk_counter <= clk_counter + '1';
+            end if;
+        end process;
+
+        clk_div <= clk_counter(1);
+        SCLK <=  not clk_counter(1);
+
+-----------------------------------------------------------------------------------
+--
+-- Title      : counter
+--
+-- Description: This is the process were the converted data will be colected and
+--              output.When the enShiftCounter is activated, the 16-bits of data  
+--              from the ADC7476 chips will be shifted inside the temporary 
+--              registers. A 4-bit counter is used to keep shifting the data 
+--              inside temp1 and temp2 for 16 clock cycles. When the enParalelLoad
+--              signal is generated inside the SyncData state, the converted data 
+--              in the temporary shift registers will be placed on the outputs 
+--              DATA1 and DATA2. 
+--    
+-----------------------------------------------------------------------------------    
+
+counter : process(clk_div, enParalelLoad, enShiftCounter)
+        begin
+            if (clk_div = '1' and clk_div'event) then
+               
+                if (enShiftCounter = '1') then 
+                   temp1 <= temp1(14 downto 0) & SDATA1;
+                    temp2 <= temp2(14 downto 0) & SDATA2;    
+                    shiftCounter <= shiftCounter + '1';
+                elsif (enParalelLoad = '1') then
+                   shiftCounter <= "0000";
+                   DATA1 <= temp1(11 downto 0);
+                    DATA2 <= temp2(11 downto 0);
+                end if;
+            end if;
+        end process;
+   
+---------------------------------------------------------------------------------
+--
+-- Title      : Finite State Machine
+--
+-- Description: This 3 processes represent the FSM that contains three states.
+--              The first state is the Idle state in which a temporary registers
+--              are assigned the updated value of the input "DATA1" and "DATA2".
+--              The next state is the ShiftIn state where the 16-bits of data
+--              from each of the ADCS7476 chips are left shifted in the temp1
+--              and temp2 shift registers. The third state, SyncData drives the
+--              output signal nCS high for 1 clock period maintainig nCS high  
+--              also in the Idle state telling the ADCS7476 to mark the end of
+--              the conversion.
+-- Notes:         The data will change on the lower edge of the clock signal. There 
+--                     is also an asynchronous reset that will reset all signals to  
+--                     their original state.
+--
+-----------------------------------------------------------------------------------        
+        
+-----------------------------------------------------------------------------------
+--
+-- Title      : SYNC_PROC
+--
+-- Description: This is the process were the states are changed synchronously. At 
+--              reset the current state becomes Idle state.
+--    
+-----------------------------------------------------------------------------------            
+SYNC_PROC: process (clk_div, rst)
+   begin
+      if (clk_div'event and clk_div = '1') then
+         if (rst = '1') then
+            current_state <= Idle;
+         else
+            current_state <= next_state;
+         end if;        
+      end if;
+   end process;
+    
+-----------------------------------------------------------------------------------
+--
+-- Title      : OUTPUT_DECODE
+--
+-- Description: This is the process were the output signals are generated
+--              unsynchronously based on the state only (Moore State Machine).
+--    
+-----------------------------------------------------------------------------------        
+OUTPUT_DECODE: process (current_state)
+   begin
+      if current_state = Idle then
+            enShiftCounter <='0';
+            DONE <='1';
+            nCS <='1';
+            enParalelLoad <= '0';
+        elsif current_state = ShiftIn then
+            enShiftCounter <='1';
+            DONE <='0';
+            nCS <='0';
+            enParalelLoad <= '0';
+        else --if current_state = SyncData then
+            enShiftCounter <='0';
+            DONE <='0';
+            nCS <='1';
+            enParalelLoad <= '1';
+        end if;
+   end process;    
+    
+----------------------------------------------------------------------------------
+--
+-- Title      : NEXT_STATE_DECODE
+--
+-- Description: This is the process were the next state logic is generated 
+--              depending on the current state and the input signals.
+--    
+-----------------------------------------------------------------------------------    
+    NEXT_STATE_DECODE: process (current_state, START, shiftCounter)
+   begin
+      
+      next_state <= current_state;  -- default is to stay in current state
+     
+      case (current_state) is
+         when Idle =>
+            if START = '1' then
+               next_state <= ShiftIn;
+            end if;
+         when ShiftIn =>
+            if shiftCounter = x"F" then
+               next_state <= SyncData;
+            end if;
+         when SyncData =>
+            if START = '0' then
+            next_state <= Idle;
+            end if;
+         when others =>
+            next_state <= Idle;
+      end case;      
+   end process;
+
+
+end AD1;
\ No newline at end of file
diff --git a/PmodDA2 RefComp/PmodDA2RefComp.pdf b/PmodDA2 RefComp/PmodDA2RefComp.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..39d0aea32f05eb96d38c8e22681cab0108e0874b
GIT binary patch
literal 91427
zcmY!laB<T$)HCK%J^rSD5tpfgfkJ*#7MG2UzE5gidP#<YnSy~rkiJ`HPDyH!g1%c$
zVo9n?YI1%`s+}EIaY<2XVlG$3oVPaF#md_!-v6on?Dj;xVy1)!Ngunp`Pa``7Rpqw
zJso;#=dMYbYs1n#uXIg{J!gM%|K4M(cQ-P6+WG{Cm%d(Asz2}VJ2&Pz{k<7Wvs!-Z
zGp>Gp^Zh;Evq#g^ZXGOH{9?A|hj;wDtKRFS$)|67dq;l1T6_5Qv-{^B5KCU{qFqw_
zsZOo7J*OwP)O=Rji(l8ioIUw9=ik{!PwLa=&p)$ouB8YsPjR&Shnv57)=K`hb6$Nq
zw=R1TJE!&&mw5T67miyNpXu0VCwH+dr}s=}oP1M8_U*b89dYvg8JZ4PY?uFhBVgjq
zI4P{>$!6tAI;P9Nzjb^uHCDUY?fq@#ORICTMbv+8Zl18FZQJ&qC+GV-HibFfosd#0
zFey>`pl6u7%FP!I+>`#CZ=R5|D=gFPlYPI(rv<T12R!oloIWwA6l<CvSE<y=`RSl?
z`_8m}4<ogN2SJS`?Pqs4t0e?&kBxu#d3Jijg9AQ(Uw=9p8C><68C+X;M8rouXTq!R
z?4Ab?ENY+g>ihA<RV|`V@)fc@3f_LmN_lJKpKW=uy#1uj((FW&`?8atUHpBOnLCQ>
zcGTafCp@}xl1qL*GkCfD0n2@vi4XW{%FlDg$+jfiIF@Sf^7+*a&T@~Vd~0u5ElFDM
zys?+_gu>bOlSdUcUY}_wZ~Xtw!5Nk(^ZA@VN$7BR))k+bB7NkHr=3UOiMgq}dY&YU
zwZ0Ju;mfr1`09Ua-&qg4q>uicPN%lFFNo+2I<?(hC30GjT}PUBq{q*WuC*aE>t$8M
z16Q5d-#4RAL$_A<&4GnCbCu(~Gs2c}pOA?-=k_z{#_I{i@f90>H&3`TUGB}l4i)}Q
zwlz%4?&yZ@S7rR1d`PYTuG6WvN0--4iA+4-Kh3D`-IOeAR-+I9?H(t)UEklsJnh!~
zZ4WqB+B}Ot>u2|~?qA-*118g}{#|C0G5#a@Z2AX(_OhydkviIIv(5jd8CqqX`SZPd
zX;bUN_1iPoimrS5zjAK`-)H$h6<2RxDBB*vWxn4$dB&Zc*ZdDhIVhE!otiE5aJ|XR
zw%n<WiT_JK9gk#p?_JowxWRj0<B|8z)eUO@9X#8m!T<OGXXD)itbJuO=I?aOj;V4@
zmSehQ`{hL(dr$tI`0o}or~Rx{?2S&Ud*v2VzKd6-Ig3lt`uG7pE4H@*9T%F9AMTm;
zxG+vq;^yM&gv_kpszx?OsV{jFHCrd|dw%k^t4qtqCyNp;iZ(t!F?p@aes67||LbJ$
z?Rz^#<VfiT-x~ku$o>_-m`V<GR%~&+xM-QiMNhMT%9~y@?sT}5<h0{>tE5!+oZ8^o
zpEb{M{$cTR$~q!>DrHOBsfo+xvS}xH_`JL$@~W)+&o17o$P0eif3!c?`Pi)f_=CxF
zS4>2PajfE<E52JU-_m__{JUCfF88&RccL=$a`e)rgysp>EV&reT+MW!d8ew$iD&O>
z*y_B!gntDUU*wfDDw(}*#xIloUGs__h40>Yb=vQ%8$YJ|NMx_cVxM~F@%iqhnW@Xy
z=s7reM{&Ms5dNSMD$f%#``~FM)3_^A>jkXX9r?tbh`R`~-LnoXz127CZ0Fy_CJVyy
zgjA$+K3}-jY3HG(Q}UMQWW(`o_wu$B`b#aku_f$*l1sp|=%_y;;`<jIE6&OJ(<e3Q
z$Idw>TvN-+C*NZ?Vzd1aIrskEkJ7D=H!W-M6x{HYL5lN#drZ-lxs!LjYhMs?tV#K5
z@3g&T+_wIXRvGJFx69SI2lX=w#PqFO^z`P}w8W?jLT_`nG(S+@$|9!rLY$*)?K{V}
z2b&H&+mgMf<Xh_6h7F~S%JvE+??be8ZVLPm`@YgIy*Hd?Uh@C5PP?+LJJ#p?^q+h9
zLe?3xUy~eWZBeqib!*A_J?<B|9^ISDpL5Hjk3(AO#{)M%4#BFPnt}_qd0QfvoL&8T
z&f_V*4#77XO)njo-@*0D&UuB`&3G|R_hS}Llky)oGcTDt;hTGO((5~6A0opiR5)~e
z{Ijp^re@!sm1{0P5ZT6;Td}v{h(Fii4_eomW1s%IU9fk?xr40gmo(JE+3p$4)Ys11
zx31?2lTTFC?N);|mp?hDx<0yF>wDi%J9@sqWZ^5(LsLt2v{-aMDJKR$7Z&`xPwlVm
ztrI)gXR7V^RVN{rY5O33X4o9#T9wk2Ag^n7hI*RCMMA3;;?%0L9;uu;@#c1`R8EIz
zq>A|7(+5u#e7u;-yXxh`f@?9(GXj(jgfq6eoIg0Xb+S{_-5(tFGyXnTKYR9#@*Jg{
z_s)ziKh>Tn>V5k0ec6QmJ+X(w@{I4E-uSZhRiQEa^VvTQw=_ooue9vG_%hCM+Vivd
z@}(`Un=ei?@%X9m-L}G}W7CJ_#YUw&XJ0utch{P5W?4PaD;svda=Z54*e`KOk#n%J
zht!0CTj{$*KbG1x|2rl4QU9Gn*YgX)<`=&lJI?Hp-z#H1y~2TQ@sfVE1<DVe?*3`M
zz<hDx&G%c+d--}Cx;)32Uz79U<?|c3oI<6R6+}b{T&vseA@KJ5yj|xD&&j@Z?=|Oe
z6k@CNv;VecdhTbo?TRUqtlMwwShq$tjAv%jp^x*f@!j@d<b3c<+~qNw`dT}Mif|)c
zJ*kD>{ZCiC{Ugt6xvu>1lY+Lj%Q;-9-1&03Vfm&`_H~6@kA=BeG0PuX824>mlAvt{
z?@m$O^WT>IlgezUxv%AL&w<0E_qpkvznyZI{I6BVMQ%8`;;gi6`#rs79kCYS95V~l
zlauqUJ!T7uY!l2BZ_L<vPOVXj?_`0SnCz0u`#J~qt$p?Dr@T#N)`h@_TMKqt?g%_F
zb*etM%RaqSi$@mE=80-OTQFa%tETmu%d5)h%a3QJ`j}kZ{HVR_*!*ifZ*v~8J@Q<7
zr@e!75#P?zCOeTsI&X}Bh%y_#39MsHn^Na`QnNB|x9RpNE4ErzZrshwrFHCu&EDyM
z>fir(U2*)7z{#F`!K#FF3Z6-q-+ate*(V$JPU?O3yGLBRrEhK8b-~v|&$&`**Rfw#
zN6iXk(yz?BnsK8h!NukN_j$V{pGk`-&)#?M<iTaT0@8YS@A&oO#U@4Dgi{`8))aQf
zyw_JvT{p4ve(9$ZyuTu^{Z{-s@3O(Ws>OG9ysq83QY*Y6YFQjtetb}}$l(b;&;35r
z>(=~p;+vww$Kn<x-n;VV+m>guRn3&<c`Hr)W4G3JYZ&`Ari)#?v5)P1?pY@tS-<fA
z?JIS&dM7yM2Uq(@?n(W=_w<Lwsorlw3*Q!=I(+A4O0;ssrwhxQze@^Uo)F?%dsd*%
zBsDX^^``YUrJ2^MzDu`>YhIuBW0p0;bY|Di-#Hv_zbejr*>-7zw2Z{vb+X0T{ukns
z`4`2sG577)SJ<7Fv#!mDYsz=w+j2bldt8ne#O|`b?y=EelJS>Ws&3L<&*fMCUpR?>
zlY(EbuHKPN{rZu&LX9(wPH3C_Jv-~Cs7v369cvv-eotDiepK^mreJ%?^KDFb8M79L
zC<kx59dvV>t90ApN`tSCJCC1>Fj^BKyw-SP?wL3xRvl*zr$m_#6WMG+e5Qm&U42v5
z{dckKT8$||_A5X1pBHj15WCxOBzvL8Kel+qp5A?j7CNfSwYuF|wD(x_#S>*+2TOiC
zn+hG)JH9_+$)@AXPUakIS2z^O=WqTv%kYZpwW*QIO<s4onXy<c3W{WH&*O;sxT`16
zdbRVUmF~tn7Hz(tp)x0Dm+TV@PivPsOVa=D3+jD7vFk0H<d?LEPahq5^3Gw&fA)-!
zU54cmKS~^bK5@15E)>z(%U_zIX|J?TilhAOIxdC7CyM*GPlydae$jqyoueh^o+t5!
zr~X)1`JLLaZ`Ko=3p=X5394>;D7ds_;Y{b-2F9!Bmfc+P>(x}#$j2)8&lc~wEY<r&
zQ7tnh?!$_s@5;G9HLc{Gv}Q)$-iLK5QOdiH>SWA!e>hd~ea`W9Z-4&vIb=3_k`sHf
z*QsTk?w|H=UDKue_ffK%<#W%bFF8l#CT^N$@$9R5lHcj>pp&QPCHQ9L*NM0s`m|Ul
zduB_u7u%*O90zB;OgxYlT=DbMma?)3OFL6$FE?#AzM*l6^Z9vh%OBDopLitPu;0;J
z8OiI+HM4SU@>k`<Z{HU?b+QR7l{C!~d0~`Z5Vq)Dici}&QLo?r2V=I*`(Hcp$2Spc
zZGO3fY>SGDuC5dH_DI!#?3j_D$~UVp&a~~+r6o@yPTURNvi7zlpGx!HH;#*{Hauee
zVEgh?Qsj^M$LDO^@$*^wPM!Ryg{FByRT?2;sf$ij`96LADZzM3C{J3PyjE6Z%h`+~
zf1cT=dcGd`mibm-(|V&A`G~a!$B&(y+qFGHsk~_Uq<p{JCnqX8Qy(=<TK0C8W{$Ry
zU-GR`qo%oXYUUlcSWkwk))gyrJoP-CGhOLl`NL_8!e`7Z)h{>I<jZ>+FPFNu^4ZA^
zRTq+<c~3Tz-n8*<>Y-qh1GiZDSDURnVV&TUb}cqcGI!H?*~U`m-mS0Y(>D2==PjL=
zb7xcD?L7x3ESQj#p>y!c#m18^;*ynHU+r9eX{R=OVc$X@@uMd;Z8|>vTG{n;S>}@`
zAKvkL?bG}D2Ftucb@kjjZtXj~^NO0*<BEvKUoWq`>Emw{>A6(uw485=XU_}mtIswC
zMeUqj;j*wKsdn;h0r$jDYx5Y^2P~<+^@6c_k7Eh*({ByhpBsMf_%Lm5lBe{Iofg)M
zT(cRb$7pD+emZf{w6d+n9MA9F%%39q(tJzW8G8lyH1nP_cgj+>Rhs?X@L1}?`^vb}
z|Maz2nk~J`;_G+r@|pbQcJ`}&U48w5yJgXf6WmV^ZV<KW_*EBwvgZHNDAVP0ZtzzJ
z2g-4NK5-_bmi?k%yc#Fd%y#AHu|<q)zPn!EwI{4geX6IDs?c(m^LbpGdnEafUp>uw
zYV-LM2MS~Ac6Uq{*~!eY|KY-pb4f*SE7=_VJ0HI+OAOCEo%*m}KlkdHcj;T+ONp7Y
z+MW3t;1)9DPg+srq{#P6I5y}WPVZeU)oW<+#U{e={J}{dZ=F{Dw@!H`TlGW5pZa`q
z@jKVZYR_1(`N~oO@3l2TN3Bb{r`DvOUg~%B>g<&Ux>e1y#CA14xqDLeze|E{=32HE
z+o@vi0`{)HtlOX09_<U_+VEii#<%(=PwiLr>8xazJKb|S?NN3AlRLcYj(hu_HkqE~
zD{=Jf<<qj~#NT`G{lM|7=et;SeD9U)iI*SCSD!u3zj;c*#-3Fkc0WJwdiB&mS18yk
zdE&~47pC4T$tgT@`?AVEA!XxBS-g$YkIkz{(eBN8^<tZ99Os>B6~5t%j(NsSwC-4?
zzvAxyccr51ZtpMu%O>1@QhU~N8=Z{onFrHnblwfQGXK_#BVWvYPQCd1>U#Ie{T0h3
zeRi+*4EQ?n+BT(UCX9E(kE{{xxgk>~ai{)9?a$NeZFrpzr@gl__?mQGaH~vDd~}ZQ
zv19SS1+Q<>h}^U3Oz$lF9cNCbA5F~c|7yR`X_Ebdv&%nNrM-<>H1FP2I}I8AZSw!r
zT#v83^`@@*Mwo7!OX1;ZKE?AAW;_gRFYsq~;bIf5|Fpzwbx4rE*4lMD0(F0E5NZB%
z_IdXogZE9TQx`w2_IO=%D_u5jb=<NmS9CUOWXIcBz2AO$TbK#wq!sr2XFd6H^Yx)j
zzxnC6f>qDmOY~j8>)U?z8Fouf`Rxn+y~`>3=A`S_j53TezsdCo`ux4VhwI4Wl6Nyd
zad)~;Hx5sUn9BX{CFiNV@$3HnNy-;dS(=`gCM(bS<xSv$ciD%c3L8r=`x~w@H{w6T
zb?S29v%D33k^guSBsaRY&ih^NUHtEbs=bHZ%Ga#Ho8^nV|JNq8FX@~A=m*p3uhW;f
ziQo9qaAEHMXU*)ZpZ@u>z~Zudjo=kwzN(V=UxJ!uo39vfX7)a^;=a9F(VJH|M0df}
z`5Syr-6-E88-C}?wpFv-pN4quFk;FR4-U$BdnRC4*ssSi*GnhQzk8Z-KZC*gnwYek
zGcW#qccJt0t4GhLU8-Gow*GBm$fAjEeD9iPAF9m^`EmbYy%967+1c~PxBp1G{TF1v
zRr8=+|L>w^rn%C;-FltBIkNu~$@yN*{$0;GqeC{bAS>(QZ}ZF&%?GDXae1zMyxhAY
zxAXpSF>|Ihe2qsn&mBGUF5`ywgNU0yqCQk89$UeiKRM&)+1bMV!rpHKqIDNsPKnc9
z7}hEH@_P&G-Cv>aU&ZsYM>@&OT*{S}TJ|Ah-O9Z&hw~rQ%+Y+i|LN74&u-N|PUH9x
z+Mu{Vv*GUyj{Q%<AD-&_cRPM=-sS!s|MgG3-TI)g<JgbCP452#>ccC7FFmb~J0t9V
z#*c4(H{<c6%zvL>pSs|?dCR`Il=uB_kHnujz5MCb3p?L0`?U4M6W69&LAf1Y>dqBu
zJrjMJvD@w2Cg$}Ve1WV#v<@BfXgEBBVgCtjw&ID~vX{?4HDQ@}?<FrLrAvHf2R7{7
z`mTDZmw--h`(KHbvNF%yZbZl=pLvkr{Wekd&S^mw?Va_R$C>7HESKE3S6bHk-f_#h
z3V&qg6ue@2xZLfKe{V~CQ}0njIeSx~x<c7I-5*|yJQPp=QD$23N9FPSls}Vu>L-2l
zH~Qy!%>LvLb;<uKkLRC((j9+ZFL}R_Z@*u;*@5tP+!OiKwK?Q!BKVTo-a2oYFP)fK
z*u($0Xu}n`YX|qr)NPpbc=C%s=fWQF+}GnhuKyzbhV={g1DY><TT~y4m*}0F+7d7G
z_#^i%k=vpVr+?9ZAoxZ9fq43lZ+)N7a~nK*{;)&%KvTja`2!vDhb}#mnExx{QG68p
zcc(v3JpOna*X(}!XYyV(u)j<nUN3Knzb{zFIZf<%#h+h&AG%*Zh--<zFI-pXmN7kM
z-y-#&Ru(5izNo|}dh9zip+;Cow~sS(iQ>;=r3Lzv)^AX`Z=t-U{7xO~XZ@z1;*S4Z
z`<}!zxczp$5h3&VO?cm#{T$EYU7p3W{G4ubc<bqjzr`&D>g4<^czO2EdwAXWPgPs|
z`46u-_iy2Q*ZSjRBS`31$NlY_|Fdqsv+{6iUJ7(*Ff}g)G@J+;L<G^MhQ{VxP%$Gz
zjIl-|BVq;{w?@ZLzHP==|9$y|+mYsm+Cd_!w$CPgTQ+yL+VqNN%Ze|vAOBXhJ@WSM
z*LTw{`PVPdV4A?OcJIs><Fg0;FgGdGF>q*ok6gIrB-ej+q1S)kwDXs4vp&1)*_*@m
z)sGU*ch5In_2qvl@0_^zo9lHFlV)#SReJMN*0SAYb3?bTy0z_8R`iNfDX0Iw+5h?b
z&d{Z~v9|Z0b1&9<zGkNUXV;ZEp}W)ey*wFq{{A6`)wh<FeZIa^bE>A6t@+Nd(qJj`
z^PgI;d4;c=TYo~lH7kmDZS<S{r^M@4F56nWc;%Ttit#22A&e@fav48O&GH&+7xt{q
ziqI^ocjj(9vnwbxaBGcv`H`;NF5L-hUiHkgFIyDGnj=*fYSzkp&^B_XQ}e5aKeazk
zzd8Q&&3)sDlV&%?13u}0_%FYC)7I2yC2u$VJtMY`>x=G%t@-)f3%oCsFUbwOac1Tz
zroV!92Q{sjeXAu{k3a9p-X%G4_43nQ7NyBi*U#$R-qp1^H}SRuzxz$5HQbq#UOqOT
zDI&96>+XR?hh9bmOXM4R+z<Gym$B=rX#QSRBTEr`6Pd2Hxo4;UI54e(T`fR6)_j)y
z1ojY7hve9`R-rF0rGzy%9Y|W}n9hIu=GE_v;ZH^81TF8>PcYz`mi4CNOHk7UuD2D=
zY?aNu)+;}n`A<B0=I2BQx8fN>oc>!Zwi<T0@J#h(&xt<h7```Zt?8;pUw!ipC#{qA
zIk~-Qd8zYwW#;v2-g^-bUe#R+t-5Bg`c2sPQ|-yjhuPkSyUkSK<cay`sGj$F8>{5h
zjklcJW$QvsPbHtrO5gwUPbueF$CizZH+H?g@m=Vu!h=O$_4Wo|pDi;dBzaBi+i3}!
zx3U5fm+X7i9Tj<?hI`&ct@PT*yf5NSeG|1VWXn|cURi9u_JEP{C*5_*e(Am2UGg^m
zpYYmkC)*s&<o{ai8=^1siT#@CF>A}RT8+$0+4cJ#%=hN6j%_-mFvY;}#)Sp!_C_~3
zDt5&2&#OAp>Q@;P^JMc;&E*Pd7q6_D$o9{3_kwr4L66Sedm8Ar%tC0A{^Q=r>ry@@
zNu3{e3O}*ra<Wl8TJlfBbK9Yb?2Z0y!4mRO1@p5PmjoK_Joe{6*v`Lccl0h<o-nZN
zy_k~tpmFX`Cxg$64JOGaYzfK~ofL5Iw0fiR%XfjBwol#g#Vqv5Dq{|g8><|f71ZW?
zN=5o_d8z&K%lQc9%lDku9lW}G*FFKzXijL(OxsD8n}WMC{0}VsT3{U*Dxm+kZpmYn
zlN{f)%u9unTCa($td%nF5R26?+?W4QSki;%)v?1HFaI@qe`m?Zg&US1IN12Q^QP-@
z8D+sai{hWf&-;4+&-!=AKfRwf@qA(I)k^KPF-vb>YIp5e?^eE#uPnf%m-C|a1oO%z
z-|Td@33O#&t2pq|I_0E9?uLoW)@<lqW+RaQ>fUod$D|8NhxPosuP8>Y*L!aN)NLy3
zk?i^dqAc+n=FPP?XVzTJsxG=Tl{-(^?LxlL)+?&fe~v`WFZkCPk$dcO^lg`|Ri7k&
z`5yk=yzP|TaxRhCn~z%h{5rU@Bs#D9D$h@YMtSA~weu2`4y^w<C1lfA!Qb+aR;p-y
z+56i4h1oidKPz3k-YTxR5Zr0`(`{0X`LsLb^F4M{zo{20^RBrT!#dZ&clx!jtE{}N
zL{;~TO_gGg^Ni*R5?PmD<SQvzRU}<)oMrvAV0%u?>mLU~Cu}qj-hA-5gHq<7g?hh&
zV-NJ~I{)RH(6(#WnT+`FXe+4g(!C~H&Sf&wqOJM6rS$gM(Jf~tUOVPn_wL;#*~(J|
z|CA2~d<!mo@O#hg2ywH*e)m4d1wHx_E_LfaTbw!K=ek<(`TUiJH^U!s#^vbfA9Bv0
z_x$69O3Uz9oDL;3@)b@WmJa6XUFo}~K=RsL&)pUquc^-|T{P9~(X5G9es7HqeoeEv
zB;S3^O}%oX{|#TJ&Afs?HXR9M{;`guhG*mKj>DlUE>AW|uK9oB*Iq84+{*8zDVD6?
z3g&bRJo!6upR3N~rTY(>^<Hpzy?j}}MdK~5B__oj9KBaMGv?1own$NTUh$-Gwt)Of
z#s`;0_X|Jbym;}$uRA9ep5Mu^JHCiZY30>Ci>gZr`-F65oqzN_s1cC3+tu*e`1`i6
zD;3h-IZc_zBED!&(~qM!PhTkh@>h7{ru(V~Cv?s{a^OMEqc>l-F6eJ|$X&j5Y45h+
z6Z-_(4{gx5JiN8zdV!IR#eSX*&MN=p1+>`?%SnrwD&CXc^`&*jrZuw#{BIu8UH05(
zSM!Fg_b2=kt=xa|<&FzZGn^MNSR{Hoxje|sH`&UvW3g(u5YLGlCv+DqmtYe+v%)#2
zty)d{z>&iGhhp1uj-B|~>!_O>UE-Xyt^bkGl?S&Zw>n9S$ey~X<MC}mW}RY{$Fxk3
zi?d|Hix%t1Jbi3p{!1x+u@;x`^IM9Y5AJgW&NljUnC08<$EgdW`Z_L&{yCHS*KybM
z`A@X1k|r(m+qGrW#Fw)aXTFzSzvFm<=jT?<JvEL$&P4eBnlexPyJq2oopa>0xvMp;
z@@8C}&+IRhxbNGt&`!qp8fSL!ekf<%-N(Jod7n!1G=m-Y>+M<i<~l#H<J_3|N47yH
zG;&Vt&Y!D|UmlzJ=tyTsv01LyUxP=cM`ZfHfC3|N?hzUPcPFiF76x1JHXS{{-eR2Q
z_u#Ve%XbTE)SCXB56qZRqIN0Oe$}eA$-B%rA1=P)pYhnV!ExC~o#0pg-60n|qQ!5n
zS9upySg?cl;WI^Rt)tq;_k8Xx>g^Raz3(RO-z>7V_RQ8$UY4$XYqLt{uV^h?D06+)
zHI9$<XPXOh_8c~Ab=CcLWzFMssb8%6oqO7Bs=Qc2HILsDN)EN0Hlx<eTFau`e%Jm-
z!7sY)Wh(s^t-6%urLbz*YoSkJ*Xs89)m`js``cXpK#Jie;~leyDwVEMzPata{vNhJ
z+TS_YMNgDVIrD?zfd>osbe=UIb^cnnuUqS0x8<kp+9N4e3skJ<9KK_BcSSy%M##n~
z`fr*ax$jT0T*D{#`9_7Q-q&^mvBol46)o2A#zm|dZm)_m_}&NXTPtuZ@a+tX_{BfW
zw=CaXv*lvI-;Q4PYiGT<wp_fSd+hc1y~+=Nsoa}gz_v^-<A}6Jq{u}DpSVyyrAdBv
zi3Jaf^}lHxeYojD>0R{=y-OXrlciHDJ$C<@`cf?U;>4SR%PK@xU3(l-Z{*k~mfrF^
zPT0=+rDZ3-L(+=MXMxXC72gJSg}huH#SuSweU_c7TIoH0x$Vb3zTTNWAyM~rjBERX
zKapE}G_BA6I&f`+KDXZaS4$dBuPRw@S#bGgkkhOwJ;zTU(b((a(Yv}`{LL&U<Ee^I
z9vyD!acb&jU9r!OWBJ*vuo?M}w&n#iFFI2)VaB|b#SeMQf9$$4SJnA<aptWDYo{wt
zpA^?*F?({%o84|kKUGB4V)^nLU21(J_%0nZNw0gxHM?)g7YoaeiIs0P11GX?R*`m%
z-q^EU$mMw`=fPbk>yF+QyQ!qF@%U-*u9rfhjd2@}IH!3Ci1-)QEd2TGk`QCou1OX?
z!beWsnOvehjq%?azw^Hq#GQS=qBrG_VE$s^7h#Xnms@lG5`3TRQr>>d`_l3!eHO7t
zTr2h+N>5_Db+1P1^s_k;|J@E;-6`~GW`@r`*CT(bwBCH5b40+myI(%BG;oKfyWxsb
z-u+e+9<}{Y(Y$WGZ{;p&UX!0P3%vQ4c&GhOi;1r9e3huXU-9CbB?YbXMPsHIBz*VR
z+1{7C`=D_7ubXWv))akOw&z88+r=Ee_;>ftugTlJzC`!KxA=|W>o~sTE;zj{%l0n+
z>-xC!|0c_(eg8K*@Aln@+uP3Gm|^uNnkzUhzkfr||IhZTujngdG`hj9X;7=%$il=B
z-s-l%Y;{`_)9OAeeRGn^(YJf|FS>W<X+qZ?<I~5P?;YinIdE&Y@IwU-dmdZc_L<#p
z<?=s#pZ00eDy{0OGBFtkhFfcVJXc1adbZq;C#aO^zutjoWnX_r-;aG4R=BhJ_jaB=
z`(yrY;c7m%{}EHW`S!c<eh(kq=so;m*X8c1J+C)yuG{c9!#e*+LTGu_?q79(`|t7G
z>N&SQ|F^Jd#Pgo0``^{846g0oV0Zq3#`X1y&639+-2K%Z_tKG5`}(Ts&HPb2ORvxO
zu=IF+?Cb4+E<A}-Htbq^U;me|im2OU@u{J&zyI}QSjN(@rNaG*d1)c{i=zwXe05lv
zQ19B(ke<n|{pLjeCx;a`mP$0ThAw|nB_Fw!Nso8?B}a<{8OPTxEEgGnyuZAE{XU!6
zzs0Omd|uc!O!&|D|4;f-_r=!gdtc{;yIIVBAl+cQuAeD^_mkcR!9yi}k<1^ge+Xw>
z)Qs5G8oR)5c}#~oS6ItdRiDE1FCJyuRz>?sCmv(*FPCJz7Ml3z<=t){t}B)q<{MWm
zkzL&4)V=b9scyWQXaA*7SEZT6y$-JR)I27A-g8f?%Do28ACA8ib~asDm{TP6_>X|A
z;?`F^ER2mu4>i5Hmme;^zo$6TykXiR6}yImJPukjBs*f5COdC^Tx@jW^{$GWQF~ra
zpLg_3rN5tB`V4`S^E)io8j5S$EpaZ%Np`$w)_qmNlx4@4mzFV~8Yj#Tb@4g8<n$ub
zm)EK`YG{?(lx)0GYSVfp@W%o(gPaNbLYuwj95{CQ|Ab?`^6n1`1Kbw9Hh3B>&GyAo
zd2Z##e@ok*9yxS}p{HLy&)8i~!bZ|?iF@JRSBf62sXQ^^%}YI$9a~s`?X>^c%s5|O
z(P-8|$(TKCKlv3oQXSW&J`ZjEmJ!97>i*!h*Ye6ay7vTjtiAufN|H@nVTRF{`ClKr
zaqAU!iWl@~H!JC1So(tdivE%G-aLI%4xS*+<d$6Dq62fgyB%6i7dd3abH4rMw5KyY
zy8n&PY^92A9@784w=X#VTr}(68{hbflqO|0OG%Tom#Q-|KB~4oUwH6*ZFA>wF2kAc
zqvy=MI=7tHCf4@Q2Z4jP<5oFxo&GWFF?00OZ?_9~N6cHvA%1IyY+lZuWGnm389!^2
z)x#4uUJ?_1w4rvoyp)7z+3#t4=bC!tPj9m5W@F^6=D4cBakBr2Z?s>@%kF94`XiJl
z-}@csw4(f;{pD(fb4IIg7*(qjr$lMp+gG5cx%|53qNbY2cb9|I3*GYUznp5HqP=8^
zPjBiSmFOcOi$2`u6f+8t_|foABK1GtCBY5r91Ydgn4(!4+_(N)rj!36KD?G^Ma0?z
zs@wLSuKe_Q`>eonzIT`Bo)CN&sxd{U;_7b46*AL{1#20vGd^7A5hND>b)!M++zGm$
zXCCLeD{4|5raEUs)NYx7#%bkG&#Xvlw07|25Yy0Bx*e_fflK`quU3gsN^{Na>7SZr
z*uQlw-+E`#Tp!O6))kq$Q=$TT)NWW`Z>&-XWz(<}4e-B^wlt)1>J_E;Jp%LE-wT>e
zSaI2p*EHR#U!bNx;&Ijzk@B!#v#%a~-?*NCzvi@c3m%1?QcBaDAg}M-v{CGTM-a=u
zh|>#$x)~N8be_rYrdw?IOLSEXH}9=h0~3qY$)=r^5j||uipeG-&W{fjZFFvyVv{ky
zZV(@Eed}xQlWqc=AD&*CX;f{!KK}d(uahO`8<Y>9s@S5lMO(gGM|`TpL&4TJJXh{9
z{gP+pv~^tJlK*K{NNRe^2OBNH#BQ%+bB{$#Jm=0al_TOZ#HAP4)p@^BnH|J;Ym<SJ
zeVz&DKh>O5yBV!w13pgheHFWP@oKKv=6O?vnI4O4RJDj5N@mc0AiZga`<a?B%{NgE
zjZ5z?6ty(4`TeKhWo?4kksRJ?XVadlEe_>^s`hs^nm^8MW06wkK5*egb6yNX?1>de
z1%yPDyHBi^aK7Z%^5~~b<d*A(n;4#?*vTtyVLC7?O!?}L&6oV$eo7}TXS1?>=D=QC
z-cm2P_)0=A+do}#x1XP5S<P3RV%hhu`|n)C%{JPc`Du;KhBlwBYPfCtA<KF=|Ku?Z
zf8)zm(@OtGoD$<+Dlx&-S<f|2xYt~`i1p8;sOM(38&!ffmzpHJWL@UmnW%jDR=JUy
zA^)k#0Rn0n%}aZ<RvR`RovS&u_hWTS>#IwC?Atw`3m$skVY*Ju3*@w$zs!%EyXrn`
zWz3njEddrHMO>?*)0Qo*@oM&7uek9N%hntGzt4Qp?A~kD_?GF$T&XiQKKnQ}uUIO7
zf}y}`V$Hi?u4@qn`?e(Xw*Nn}e&33q#hU-OOk(^zx#Q_vnT1#SKlnDCwWw+-^lw`q
z_W#wpxMhJ$RkE)1adrP%anZR(G2P3%Up2w&l%v`YwZpfR%`^R*>|2fH*@MshIH+>W
z&bG?LDP-@h?uaipIxN*!TmPBQl>OvZqI$xyn9#dv5w5|FA*pMQ+u!`f8mzp6U2E!=
zI$>j-x=phLB2Ee(n6Jg8&EXic|72;h-?kZxT3K#r+!0f`l5@yyGKZmJwQQnE4C6ws
zM0OjmnGYH^^rgESD(zQ0q)@3`+p*!ewdN7djU3k+lUf>=TvS?X-BMbkFOV?J&06%K
z;EPug&RLy%7%y=s*CjvdZaE@!_{Wxa3H_oUuR1l&Z?sVIQ^}t*QLyd5#Pi&i#@NTM
zN7l=z6)#rqvHAVw5#wK;D;qi0V|Wsjg?RR`$`@u$d8om1P)kK3g(K4LE&H703#|Ms
z9WCrB8Li(q-KOq5!^}2uLgnQZ`%1){SCw!c+vmHqwDa$LucE`}!<JWjcGo68a?iTK
zAE<kX>-!EB^TyYTFPVO`O#Zqw`9;Sjp#pL49=Ewl_F=~jn!>kUQ<t8=m3}AiJ>&Dc
zekq4#6z4{=M<jpmo||KI=7C`Fgp&rU-xe&@6cxCe5S^v)z<-8@s9o;UFbhQixrc_z
z4gNPuPweqk|G}2nx}mq=O;E~{h$hFzvc*Te8(%A}<9-wOM<QRT$?1kj5rexXhkC|c
zu3PIb8o4Y{z3{2Yr&=XylGkgdhbu}uB^lRb`51hX+{&@Rp+dzXO83BzAEKWk_vA0p
z{&@9ZPvGkY`FDLz{U0K9gepF){NBAMQGSL^{DM1flfNxU?+aU2z0mabmgBA#-Ll^$
z{7*4vMZW6rROMXwzUQL3qoqF2jgP)kA@(it`f>8B0_zWbV@z)MdMW%^{E)fiw!mgk
z64R_b*2E>Vu4L!_xQ~D5e2HY6^7UXS=bSeW>Sb(=eD59cQ(#`&*(;&2?8vFN>uve!
z6}BWDY~vN!@$lCsJ-e_MwNk>0J9^&=i}+WpEpl7FEVgQ2#Id;vHB-5bl?n~j`M)K#
zF?2=OGpn(DlIB**Ir;9l(c)b*YFj0?{&SDNwKZBQ?c&7ZIlA8KnO}e0w_?JovkHs9
zZ(IH`{O6fxVq1R9<GA!FR(0>n?Au~9!);>?KAy<`aN%<7r|?5}79BgL>ho4htF3?g
z!a`Q*qt6(8+kE#fEO>BDi0!ahZGW$0!>KdJo^MTJzP+ZRMqvhL$83)S-}{uUAGe%%
zF8;Tq?Zp&hr%lE#b0Y8N`5RnJ=`N|e-mLE+vi-Gv!D?5x4_iO4=9+t5+5E3a@1)n~
zf85NP`hHdDCDnD+FV-xm_?Y3#dM8{fpX1`=rb36Gk#}$Uu8YuJ=<vKad$!S+;(ccJ
zn-ZBP?AoCoz4WM}tw&_|yc_$Uhj5%#{yxd+*RHyKtCRP6*PINzlo{FM&@<;t=;iK5
z#}Wz~V$D7=e!J8-^YPnN471GdeEwMes7NR3*wOw6o9d>O28K>iSD7w<W62hoo5fwd
z-t#s(zI-FL=u(;E`v1}Eck9NRSO2P+|A8Y^B(-JHW3}QIYtOt`d1<eOm$Cy)*yOb3
zR-d&G>6r6kjnkRy+k1P@Y&iE!PvXPV-D~cK)}OrgWbVVbPYbK=m6j$viwx)Px;)`x
zS9#9zl{fPjUV8G4cgmX|%S!pTP5pV^cCypX!0UH*&h=*b+uf6W-QZKe`RJ0*Nl%_+
zTQcv^n&|B38Ti1rPweAE&Gzp6*Vpy4eP*TnZu+qC=_LL?pD!`)nEkxMx=8R&;s3}M
z?y_I&3Y{m3?0nca_ojc|#O<5j+uO*h{HQ)T>GNu_W1bFklg{j$D>HBBx5~)d+hpaZ
zuGka#UOMAho&43VzWMjpMaP}`yY*LE*$IcZSzaxvcMZPw@tk#*(ic21tL#b9+RMz9
zb=M!Sf9J64f74~Qv)4r(m&?pwxZA&5U`owqe#d6c(2U5M=(#_)Ogr+X#QP+_e>LaR
z6|!^fUa{SLF{Ae4^|Sj@OP6rWvtN9EdHcaPpKmYQKgYc0XTa78=5gl^pDpfYHF?>u
zA-3vA-CLoD3=30JZch@P_WRDH``3=_->D^_`p){<Ctr8JT}gdsF1@fde;fJKW~IUU
z)r;>>y*1<M_v&Yk{?mTB%e-iPTB2(qWoojX{q*zHUZYIewpp*O+6@1d>4!STCr5wX
z9Xjd7_0^Z}*T=8vXDM-!@bde$_}5p?NC%s}3wn7TOEb;h%X;_G%)h}oHBy^wq=cv2
zUcGrIDl6K!d%L^Ws-=N`0;b){d91x(sxO{-`($6YUv}Vu5c_3CT5j&PNz3OhR#x7u
z@lD`-ZnDNF-ZZ^A8x5;}c(0y!Yr94A{r&5@-30;{-IRU%SZZO9Zr(G~d9syWRh!Iu
zZEPiDD`%*!Jm1;v6uqN}b795B&B>)xbgX0VT6Qn+oWF<t))uL$XZz1gl;6>;v-Zob
z!g+htB6o|gnqoYq{L+V}ohgU?Pd1m8ta!O+^4!VGRDTQHWNqD=cA>_8{yo_)@v}Q7
z^LZ*(Tyz&HKP%L9Rrd1>gU`L4e`VfiuMnLZ;&YZSsmW%mW8+rGvtkb--~N4bru`6W
z<x^kgsycb2&X&}Vk_$IjRejv0y!MV_pOKu~L;>B!KTNjV+4e|1bY<_X7n=-?cBW5E
zj4RptTj^KSf~a;`tzDB$H!OPnp+m2&@4Bg+3A@JGcbV7k7<@hVCX2b;bXDGj>p`cM
z9Ae9s%$Pn!?u*9Li)Ak(HkNOA8eEn#HM-d3Q%O!H-z?2-Icjs33#EKFT<Y`J=6%z$
z$&Ze!=V|Aj)7_D=`rtpSwJtyJl~g^mSo1R5mB~)BGf`LKPimAbo4C;$g&p}HPD>vY
z`&6skv&TVV|CKwlj~{>jttD~h>_};=PN%a!E@eC|+fwMhaamdYn*u&-vnNimM;AJA
z*?K1He6hK2S$-vJgWAWw-`B4&H$6I@nH<z}z3Ojl%Nnyvla9ELtDM@qrtPY_R~5Nv
z?dQmgTLNB2`T4cq6kQ)R?|jmc+Sk^ujcH$W6+6`4v9F$#wr%zlZr|6jPoC^to%qr=
zQ}EPhzZtggYh=>@Y~1>yMb1Y3yrSeH)1t^I;ojOkE0(|1h@Fs@ax-Sh6`NT)Zp$L>
z+WznQ`S9k9$cu)Of{Xv}U3YJGO5<m#(EWT*Hr+iGxLEF)|JKV3oldS_^D+J3w=;s?
zGTKwjE52PiojxV?agv*-pp8$F{a5pT-N)(1?aK~tO+NMJCiBs2eB4i}uGl>dy4iYd
z^;==h`k*rk$MsK7JN?Gx@tNOk8$XKtbUu95+;q#|8OOQqJ@UVIRAq&HO<%>nmG!?K
ze7Rs_9BSQbwpXm=_OYX#o%8#*l%Ac)KKVi01$&!|-xtojsuDff%y#a!No8w)Uk+Wf
zwR_`g-~Za&(o!{tvXB39Ey>tZb|p(L`S|wUVjTsaT$}v`?`AJt`qNmTt!rMjns1%9
zn#nOS|4@|~F7nY=W<TEdtl`lCl^uF=FK6Fse6hHF@nxZgx~3!Z`%d}S_Jy2#yM19>
zzwf=aQ!P#Z>>oe36Vm;qvqrP*_B89aec>NYzxXV;u;s$_nJ>E^6)T6>eEdCY`TeC!
zC#4zrF3GApFI4yVv+?d`bvB+vtH~+;0^RpbeCwJED_RV)52>F!AMcvA<fMJpA9+jW
zN41y(F`xk!&_Ildv85Robo$c-F%A<_S&*t9keHsT@0*&Endp>Xp%87LV4z@TXry3n
zX%x$)ACzB`Sdyw>pdXM}l$uwfU<?|u;nELEEzU13N=_}dvC$7G%1;hXEs53-aB)-6
z_smU9Pjyz%4@s>kiRIFFttfF11{+~$4$&InpOlrFT%uqI8V?HM(s#?xD^V~6IW&mN
z&W=mpIX|x?HLs*t!4$0C&JN~oBaq8Lp0Tmfr>Db>KmiuSr4Mts5yW8-hZ}(=n9&>#
zo?ixwK||aK<aOG)93!ZWp)Ljotue&8C_!rk3427?f}$1TKm~BvDu7c(v4XyLW=gR_
zG#A7`a0~=-fxQ#N6|11{oL>q`6NqGjFcE2v9TZs#`p$_Zi8=Y{Fq1(xB8L%r5Wy1;
zm%e|1uY#eS9W*e(=?LOh{UCELkiH-!Ye7DP$r_q)8G>DoBoE?4<%3I;N<bL^oMb@>
zFDJh!xF9h(Ro^AGEHgPZ$lZxcKRh#~Btya6#Dq)VBQ-NUqeQ{b%!EtdDYK+FAhpOj
zKer%150o)1xS(5=^j(}oAp4YH8<~tuEsRX;?4S!1{@?ijj)BiHB|j;ZA%%f~fr0V=
zZ3brs7G`D;Vqs=sWnp1u<6>uHV`Jmt<YedK=jG?;<K^QM5E2&=5EK*S;}ek<5tERV
zl9Cb-mXVW@loOYfk^~vT$im9X#>&RS&dwt#$R{XCGWdUhL6C!C3DXN^MnMK9K}Kdl
z#{Wkc<QW(kSsB3q<X#YFWMXDvWn<^y<l_E+gkh@y0}~@NGZPClD=P~N0|R3%BNH<N
ziy*6zqM;+3a9|?4QlW@Z<HUs=%1#>(iUwW$pkka<)WpdpCN3c<rK+Z`p{ZqJYG!U>
zY31zV>gMj@=@lFj8WtWA8I_!pnwFlCnN?g;T2@|BS=HRq+ScCD*)?hMl&RCE&zL!D
z(c&dbmn~nha@D5ITefc7zGLUELx+zXJ$C%W$y1juU%7hi`i+~n9zJ^f<mt2LFJ8X-
z`04YPuiw7^`1uRuFGdDtu&+P_$X5&uX#NspU}9uqVPR%r2l<PUsT`z0kcCyzkWI)j
zkUg<bSjni7L&Ry~!i@(xm5qZwh$a<X<PuXcd8qmk<TbF*i1SzzSw4e%4B@X^3_Q$?
z3`~N|f(-TyzkfAwF=#L>U_ww2_ZigqUak|UvAtFkxn^qV=5DbIVh4Ba$W!j9jb8bN
z(RKy%r|C!UF<sBsF{$tR&mes3)4#(<ZY`W2;T<IOOd=&A@XCgS-P6l1xG`{8KhS=~
ze)X668~qQ{<1XuLwbhUPXnVEyji&9Mi}$0aPBLSh+WyYENwaaa{2$@h53@_J?uq=*
z(0J|spMD3?{b_5fem@XD`nLRme@|ZQm+qHQzYlGnEW_!X@`io+xm6W1oXQ18Q4MxC
zke!d}nE~c8KhW>_r&NC{{_)-IO<PV%#WPeW1*<JrlD~T|mbqP0wo)$YH)llYlDiWw
zzKwd{Vsc-sB01p0x3x^$=GNvVlmxIH?4PoJVGyHS3)h+S>2)Xn8DFuHT%Wz4)h6Hk
zkIxs+xLT?32Qks|Gp82c=1~c}&U3hT>q_<O6HYqF@&1mgQQ7tJeN*n9z=wh=b|xR1
z|1)G{UUodP$!&@Cu_eVja{2bZ)nmVB!uWFk=JUs-{d?#0Y&kFJmfRoGQ#(CuyZ_I`
zl7_qkZ`N>>eoL@wc92`?z{()P5WqOds0#MCxgXd56Z~UQ9n0iqr~gsfv~QwJ%}GfM
zAs_ab6$$LWbLM?vd=}4SC!v1Wp5@k!J6hW|R@7ZydHTwhGj`9aTjlkytM5&@d&;)$
zn$E<d9Q+)ASL|V38F@S7KZEEWE*?9z4>jF7PsL}hWjuMux<%zlxqHnQQP0l#&Ncc!
znwQu3e(>vmR4dxh^iSZD>uz0^#huFer3vo)*%z)Byn9%cp(fv^{hP<%C6oTyf5~sX
zFEBs%fQ;+%JMW(SV(9zb{?~Y7!$~iO-wOl|h$=LnP~OX+JNN=wbgQh>b<YjE_Fq}v
zckR?A@mY^Dr8z~ixQ&HxFmNv5Ki|)BKeq1Te+KEV`CU<0g7jOzSk@hVxI5BaUe9Zv
zty|6Ef43X>PY0`+)S70CF|0Y3d&~K9*8(%;ja~0Jb>A)Wd@z&CQ+h>esWOW|Rg=Y0
zhML(Q&UyZ4NUQJP)qglP%-x^m$3FjU6;+iIZ`;xy2HP!{3w-Bwq=GlB)9!SeS3;q^
z)IYI^KdC<oSN%x(o>Cs9KX-Y|hVwVqO_109H)m@8x5yRDEq{Ce>Bd(qKQ#S5|DU`#
zeyJa-{|*<6JpaBqdf|<}S}(z;8^1ZvpVeSDdoUCxO!`|L|1;Pw{?D-QD9dNPhu>D%
zKi^XS{l)^z=>@+-<UilC|NSOF=Jbx*Rs28S%K!bQ!Iyf+?kfAAZ~gy%i?AELlh11Y
zSMC0vp|*>8W;s8?EXFgt+ixxS&oJ-ee}?->4bNiF_wUd7&(OJj*OOoR2jdz1RIcsu
zc&WBlC3j+e=A4!!tGrvWyWjW}$u&(|9{3=hBcek4a8z3J;$^qJIb5<lp1Hj`ckj)S
z$?vkoSGwnB^Lad)A^O%Pe}TNre}+RM`jh_&2_}B~&#<}vvhMAw{|wdp?(KNK)WDYS
z9N(N^hsyA`jvoT|>DL(T_;;+QUo^wz{)<b?g^X96KExlmhk^aKSNql=VU4=8@#4pi
z?r#s<KK&hgN68_btrZ=ID^FQWmTm5z{dz~)GUeL~CoeZ){1pCHdtp{Q>p#^W)sLSy
zzMc7~D`oRX+a)pF9kV%P_uq?ARBt#f_<9z@uiuC3v@h92F38;VuC-S5-0YRns%Q5!
zHr(kkGP0ICQf4W__2Mc#koCw6*u!rF>d$BVXL!HSp_qp8H);(TiGDQDMns_5Ypp(R
zFO6v4GPP}9b#PJUbn)x%Pg;xED%0L9zB6mZ@tHSeEn;jwhA#G!-v8?Pihrl>^QAYP
zdjE*M<I%ab>rx`wWe(@g-(zb&!SLUybyl;!<Sbg#e=Q@hm8)<$@5HaFTP&C+ZVW#5
z&**ZU^bhmUk7he=Y~9eZqesT%lAMs~_cVn%%eSFB<mZ0OiZf{s_wP-5+26so{M%<f
zzRUUF3;XuP-JhKQUE9h3%K0`qlgoChKaAZ!x;6Y>^HqaoHs@)l$L+oQZ-ue?Us|$w
zPmZe`d)$|kc49xKX5HV+{#G#k@m@<Q{q}zr6ArF*YyMugUFGR~*`0P7?;NMP8rU7&
zvcq$+r()?O^MF&Q9C`Si_zN9)uYcjSK6+37$`;+ayLn&Edfk2dE-C+!n}mgJ$1DCM
z#s&PRckk!Pvgfc<d>zlX$K}nVTft`23l1|qWBWO^{c7cb7YC1LJzmehrN8g|2Xk*x
z)+hfN+<(;`yIVM4WKgvY8Ji#eXW;Sv*!?JWdRyY%zl}?`-!jb%c_6^AJwK?<@oVy}
z-7AhyvpHW@*ElhuwpBmh^u2e!>VF3IKmB`6ZfmSf=;F?prlI68@mMog7aIff2Bs}`
z3+``eS1I)2@7<r_FYfuV`%&xq29wB{dki10<hiwF<NRsa6A$av-#pn<J(J&JwTI8u
zf9KlY+)w)y{N`W$^rvrsmL*FUzU(s$QTosDX8GgmKMX&{y?(fFzp;Mno<RNii@cR<
zHpI?jO8>ioN&ee3`}a}|zh6Cz+rs!PUZPGu^FM>=9`@Bg;=^t&dZ%;yoSW~K*Jq0O
z7ngoz>HEU?sD6|AkzS|gURUiTD{gF&)A^7+J7JPpRCZ|YD#!O59u{BD?D;&4;a8ue
zRRH@r`EBV3ciPlG$k-GAaE1RL)i{yhf;Q8i?{wMEs?<F#+*{YjuIssawUIi<mF||Q
zm+f3WT-zz$QPQEGbf8Q+)$tFXRsZWRN_%!5o)l)Ubv#kEX}y+z-n@)!D=eH4-N*sx
zd7<=8iuW0RWV}$)W_C0C_vEM13X-b*HP!VtVOtiSSH6B~gTHi#=O69xfAPjI|1;eD
z{IK9h{(~9H`}?KdEpxrL<oUF4<){7jZ<zbPcguaf^VL4U>(udW(XN-7T8z)_&&cmO
z{80Vy$#*8-<v&c!T5|KHVPAxY`&m6(0h#{{dqT=rc|EB4`(giqw-4p{)NdcGjr;R=
z(Jwd4+~<oX-_NTzI=(kjJ@;FE7Q@fykFISjfAn6=b>WYg-dh5dPj))D3HQ{jIy}LV
z%i^ETue3$M0paO#+Tz~qtXBPQm;UYLzu<p!_hYY`)E}9d^|ea<f-iS$zNYk|=BbQ#
z-ysL{s`LW+vNdn+d^tU{>H_<T`CHbtuc$Hoc&zc`?t=l7i<kS#ZrjULpqF5;koHZh
zW>a<Do4zTGU(;J^0+&}DKfEh#??OL4leb=X^%UxUN0caUW}e`l#Ib;Ho*GNSC;os8
z=Fi@bmme<vApDqT(J_7XgK=7EJ2ogJSw|LsKKgd!?EY`EwY-T@G8cE<mE$XJ{B@VF
zVttj>def^S+2`!dp(U}IjcPjE;zw(_&V4e}-Fj|ezQ_ts>4{4M4)+K6hLmR9=NGlQ
z(6cSKF8$v859i}~>tBR5|7T!Q|IhH~^@VRHzvY+ICqJ-%e*e*bhBN$cK7Y9I^}`nV
zAHw$k8N}T;F27;F@q_&5_aEz@h3xn{YoDYaM?BvamH!MP<=>fq?i8t(s_m%MWBl8H
z^gqMQliB|nHi@^qUzGgtuXoU;Ji|{vd$tSmubLqJpFwU#MaAAesXMl9v;N+h6Mt|2
z`k9~SADQ1|r|~1r_t<i#`<bd6rhnU+ajc46HsEi?7qy+~UIBN0=Hx|o9L!d&_#S_)
zefBl?DI$zFYt%2Usd4@&eRx*f#yq_>dh5k37wI^Z9(=6O9PX>GGV}iQ%dI&fil!wu
zzuo_1eEqQhFVO}684h&*XZW$}J;=Wc5dQtR|5otB_!b+%2i~&ohi>Ual|GrZCctL3
zPLEHT=8Scc9j{i^a~<1iam?J~!{#+?(%fx5FP+ZM)Z07r)7HZIQX-7YAO2_H&#Ke9
zy7tR@{+p+3>n#ttO8hx#%OHF5L9pk^o6>=cgZ5m}T)nL}@qzwLdCyHv+Uq;SCuNnV
zFkLI_OK!C7?w|Q@asK1j4TqP0luvJY_^L4GMtk|q+<)~G-&(~VI?wXrqE1zPYe~ho
zp8RT)iRZ805VN0~xAI_4f89K0PTwe#>vy7e|EPax{o+jdJc*0x&NsjO=>K=xf0F*f
zB^zdBuJ)Q!_oQ-uPkrismLFY`^3GlHeDMNadpC=>%>TAHxu;q)>R5=vw+o*PEyaX3
z?KM61XWQ@nr;eYr7u+ZIqxoUqvTgem8f>>L`8(^A%#3vA3*YiXZT`tzmwE8utDUxF
z<J!jgx~|LJFU|=~t9<An?^1XAKHneX$45STe$1OHw<PE6@|)jJynOop^Y+?nvSsVz
zy<RTlIQQLdvC_c{M}Pb0O5eJ6|I9D(f0C~sF8|AQq5gr(e}+G?CBLO=`<MSaexUyR
zeo(Udr2dxuVXpGQ`-1OE_VeCc+u9U$=(W&p1D?~9ijK^ByjoQ9ro7<n3(MP%?g$DC
zbDwriy|4QGo1+ix`F^|)|HvYzb2&Ju>)I{#);Rarmd#9cLAKh9dX&xH)vCF-EbLlo
z8fCu8{Sr89*dt|))i*A`sg3_;$NaDMpZ=folj}3ib7tJ*{?RfkzfC9Hf1_1R(2S`!
z+diG+JS|ks^?0qQWTd?KoQE$HH^xkvI(6ccshy8l8AKSrr61&Pj$`}if9NlJ`1LOw
z>r17l&NyrAt2O<$O_xO&^P<MfTg!u%b2^&!?>Y79j%tmJR!HmZ{dMope3Ac=zP@e#
z7j4J?42{D789tUS-?;q7m;Vf~3@H!F%}7pu@y+BnJIuj{(E?TO*!%>fAmu;)pMfXS
zPT<GX+NBjmXLE9tw>M4_O-tZbP<h&Eo87f0Bt50ZF4t+Eyx2qE$Vj=wNIA!E_6OEC
z&*S)*e(0@m_(!&8(RYgr@@#I-$_&|d^GWE#2tHAVm$!DW3~pI4+x_m-$TDHU=2ou>
zyUX9-{W-7uKLgL_510S7X4rpFs{g0A^_$6Wx#cj&o}XZ6_D6HakN8JzU96QQ+K(<}
zex6sb_i^&yrzd{($UT=a&HQAq{P434%Ldam`^2~Ztm!ve)2}e?s+jkTz+<6H0^C=e
zWpxkhzfcbfvi(Rw_7aqqF4u1|fRtgC<!@O(bRVqa`;lL|sv_UH>(F1lg|1W6rgnto
z2(~3@OKo{95vzRs?596^(j3pd#L8pOPt@-C(fsoM&FK&OTmBS3>`i-rw92Mx>Jjlr
z8grjcEL%Qpxx6;tlk2e(Zh^UrUvKi^lNNOgS}nch&u=+UgXt@hr?-PjALqaQ4gVSD
z*LVMCF!;~VR`nzEKZDa2`5%H91uowBJp$I7jZ1Hh;YWVotrz!HKFYQBZHc}al{MYq
zpnyt?>%^v>c@+$$>o}JzxnysB%*o`VsiJ7g?D)>JAu^2)tPHhJAKY*F&%kf0&ygX%
z{hm}?_UgH2_cE853p2gDxH9?h<4L|%hD+H+-qiKCo!St*kkf14TD|q#S8o5$z=Q19
z`5Twtc!5Z8GV?btKWxb+eduHV_k2C^pPrzq#b51!{m=3r`#)Rmt^Vf!L2Ws6ul(Cz
zy2tF?yB?fr_`PPPN-f8)E4u`$Wu_MK$Xwr9u|N7>`l<g6B6dQr=X0C7Y`=QwZbXdm
zH}4mYf@k{{^gm3z>;J&F@Z9X?D?i?p#YZz*`-gl>XN{bf5x_RBc|lg3`qkVod)dxK
z|Nh-}TPBca@+<!Y_M!^emrI_!>CFsU8J8t;^|sx*5A1LHmqj^?-ale}{EA)&%Z*ze
z$*s0CkDs~UcK_J!#CGpTc9%I1e|fZXBj5W?x8L9YWV_k>N92RKQmXy_AJ+9tFiX!n
zt5W>6jJ5xH^a|G!+g}wts-_v2;|p#7GaRmGe^qEweoyS;vfw*6TqJ5aB;{NA1Z%nG
zadVqy2KV3TSN?eX&D@8*X_Dz5N<RIl`^~b(=d9^wc_-;-@hdFkruM9GeY@~c(k32T
z*DC#~e_#C6KQ@o;x((wRyXlXz&9=@dmT7+0Rr>FfxtsiocZ};S9S`1|FWPzN+9Cf*
zt2Y1n%U87EDbjee@~&e&pA13+r>Q((bhuPh=CYsBM&`bVo#NR?Z~cVs$$j|Ks1tbn
zwCRDT{(sop?Vhq$8T4=N-8Fw@>I~JU!z=c8zWQ7LKt4Ch`NE@_uV$_KaP#)*;&LU&
zd@f0qiRZ4mGOKplGRRzJex$g@|Ks;ZU;i`oyu13J;i1R{`8T^%^f>rJo><B)nQ!o&
zWx;dNMPVvm^ObMSkTE}6FQwjSqicFbhi`fL44vSW_uTdSU1k0jSYKeDT%mmU?ZTJQ
z?>^mXefW7@WM8!UqRDUPpPBVJ>-@Yp_h*sYtY6RQFa5poV%_@ZKV{hu&zJZ9p#JFW
z{EqDwAGYmsUA9%|$ttEImE)`C&nZ9l@!qZs|Cy2V11Bc$-7BAL{@(r5e}=~Gcj|g<
z@01%Xx%NqCqsPLF7aPNZj5ur$ie9SKJXg{0v*{z>#QLRKA9T;Qe&J_5;(PI8BTL=h
z4Cd$YH>V%jKA+Q0IeR{<O=Q8@tWSI2x9h1|2rWD<BL7}PxA8#ggi;g6Z#hOK3;6AR
zeE%@%^5gKsvHpiIaXh}NET4I4o%FwmyBgM&Z`N?SeM_opbdaAb$9GllY13<u>q?Vu
zM_p3Qj^2?fQL5$j$<~oYzVLlqX-1LP>$JN3IS=Yq#?RBfJ8kvJukOAPavb1kh5R4l
z|J?I=>u-cz|IgsIHl$9a<YE0i#aH`{zr5R<{PptekLP>0oNvD;KRx<->)}XuCAUK?
zd_R*L4=ODR3J6bE(-!q-_r7)I_KDADt-me(QCh2Y-1h6c`8yt$o}K*mKf`hJu&h0j
zPY>H3ID2#3-teC>UvtIdF59>#%KmGv&tGx#<oC4g6Re(J?rXpCNjv3oxcgSGwN@9O
zFMGGAJA7K%uhuo!reAO`&b1PmrYT}%HL;1qM$o_Lsl+)wqi~-e!jJDCn)u=LQLmDt
z$qQa3F5RT^{FK6<kHYu!-1ryDdYC@Dy8OhK8-K2w9jJBNzWalB{wJGx8*PFw*s<52
zjQ%kFZ~gjDrc3pE<>rO|`|W?_uhja0zdk?zGkn|spJ7t!viciE@_z+wi<9h_pH+1K
zy=4C=ezKkFI_A%xJQOB9%XqlmZCYl8l2XsKqyh%HoeMH8t(Ct>KbU?f+rQ0Ds{4GW
z%172$+V}62YE^Yi`Oi>VA3XVGzu#O_)@OCIr=@;8aPj)%>iw6WR8<=UM0POnOsWoB
zzM*1y_x>z>mWs4b-qvEfuD?@Oja?I3GgW!}j3dlnWBRKOg+3I1{!#LsP|MEbN_*XX
zpVgiJuG=HOB34Ce-~5#?IiAZ^E1j15z3uYuPr*SO1*>OVdL(1=H1p{3kGA){uj*`F
z&7uFLdqsZEI`Nudr-u`dZxp>SE9=ECi;&icl?U${pZ#b2<M6|;^V{{e_;-kJ^#9iJ
zFIv0Cvt;cby;XLP`4-M*{uvgk%Cc7Z<e7~U8kb5o^4E3O|6qT9=a8XJ6Vq9N<PAF*
zyPo$n`0?4kK5K7Wwy#-3@N4^<_<!q<?SCKfpW$uQo5Q7c=iBx_egAj&ulb?jiQm!>
z{%6?g{%7jx{l7kK|IctC``r4E^XH`Be}Dd>oOXm9<Co`eGXFCuz8Cq=aD9pVFX`|&
z`Lfz_-v10@%NN=0TX*>#f7||S|DReD|1;ds;{VI#_4%W`<j?y8_51!ze^n7$Jl{%$
zA%Ojb{hP=C8C2pA%fGu*|I%ga%fNq9_P!_g-_iW@pTVrEWfRAuN@*3PX%^qs_9yPv
zp2zv0fw%fW{4e&`{~3O8^Z#d%U6;Sc;phIZ?VNu${ht1_{g3JU#`+iX>;E%6(6Rqh
z*1yKV{+f>Zr_=A^pVgfFxcJzw@+0<g_p*1%gd5yE%VW6e&Z0FlLl~ZD3tp+ZuIj0I
z>cvl))1o|Ss#jazyxsZy>da^I3+y+$|CyN2SHHLPKf_X^>r35#Wc<}v`Oi?$e*Sa%
znrp|m72Oxu!@0c1^~2tKovYWeEG`jloVI;R?e+NOg?EIkulQ+Yoq2pLF|lXSOaG@&
ze$SutPy55Z#ShL4#AnQUV(0sG$?RzP(&M3}wpV%tYG0q35)(V~XP#2ahpVw#-63f=
z>yJO(|F<;$nO0y=ol4!x>l^A$RBV46_@6<g>-)d`x&IlySRLAbpyprgzej%qKa^G;
zf3AMnezX5ke~usQhpmpz?=CG|9&;zYGs!vEWcK9KfpZoa$TVNu_2QgC_inrGD#ssg
zn35`WX><POw@>=ZFW1@ESY0!fwzc;AD0Q~7(#nygK51v{Cu`Qg$r8*ejgtyvxz<Q;
zO22s6?7)>-E$OQ-X8dP3@nzMOuRZpnKlZzRaGUyf<)iM4iHXm2;xap*{Jd=;;ozTq
zYgtfWc)Fdkpf@*P)w<Ka-W2?2_;B$*15f>n^!PsvyZ$pgE}g$^`JK=Ew-v~L{`{f-
zNsaYK_TVko{**t8_4b*5e$$>S@6?-omzFQ~IO@m2k|KCea=l&Nr(F4YNzbKr%$nT2
zD|hSnId?rzffCir<A?t<{1o`3`=249+yAf7)K`Zey1$;`|2?bzVf;k(UYpST2lKgK
zMg9FEbm#UBH`&MS(l^Aok9o+xJQcI*@saC&Vm+%)#ws8G(tqpu!SL^a2UkR9-HNhg
zK0irhlF4^#iEVZb*SH1QcRsxQNJi)Gl3D-u`d4h(-SqDo_iD|c>deQHN>in^Ubs23
z?@+kz_x$29uS_q!mvj1$*0UdcJfGopl+Q=)bGf&&-IQlMcZlTp@+9H6koC1v<+Eaa
zI(3ps8!j*VzHQ#><j-k)Hh*f0&dyw~r?`D<@3ML65s!P>B5%xLU|*@$cudb%b+^4^
z9aoL=rXPt9Z~S@jc=i$T4yk|7CAF%4dQ>a@TRz{x)~e)+_{?8rk<$+|d&l>_`_JI-
zeEDXRX1Zbs&m@0_u;uG2rg!hp@@M&x^~qb;{%zIYBPpx*PFg>S<Lxs;>3yp>zOSnc
zZz;L+^N(9~%R;?~d;X{M_bh&R|JLP$v$o!f&ib~iuXE1>e<PiV`oE9zJ^as5^Jvl$
z*LSJz9R^!fGndPs_#SP2y4LBM^lHw>JGaebKC0s<DeLdV@u2JFonIEGjJ*QOeV)}R
z{jt5YPvu8mt#V`!`@!t!2|KGZ3lFdVDtla1xM|jAOT!sf6}SB6{PW*zZ~4df;qCXF
zuYa|5uW^4GcjHXb1ip4ziK-?8N6;9Yx_DY$WL(dOuc?03i#37_p@S@33{Un%>VDf<
zzwC$o;qGUzZk<^z$?*5Y$>(;>O`dNST=(UO{cQZINQQsg%CDVkmA9||!++*?@x%K~
zIyLMMV~rgyO_9h|VtjIp=aO9P`JFlQ^X9HzxqE(H`L>JcA_{hue^=Kj#!1H-KTL04
za({irl=Zi}<iCo|{JqBA_lL@Vh7D`yNrbAXski)5&wR+wAMxT=(Z6TcY?q!mIPtvB
z^E-29ZIt@7%2D{Vu}<N!rE_mQ(2$wrzm%b7W&P^yN9{YrrEa%b@lCqtH?PN{h|f9s
z%KRDs84kD>U!SkF=~d0M%D!KF<&)Xpdw+=kQ1<)WzCE8mA8OmW<nX%8>0;*2Po@?~
z%PcNS{9+n7xqFw@h8>*`wcXa3$6xKQ_&af*w*Tr3@p}FmfAc^7HD)`u=-oM=K8L}!
zOo;vWnt5$|L#|A{_-m`whV_1?ikt1)c1~Ywocw(Lt@s1itFE=DK9=V)zWrnMp-J4Q
zGZ)G4shHB9D!0^w&#uS5tHG}Ehw4YK^N*e%zN>v?TD9`di8Zr-m)d`PU$mgI^UD*1
z{|u?q8f@)A!>@<tZ)-pF(?;;oYyNIKscrT*Z#A!7wqGQ<bxM!Qk}3-c_1~|SuMY8(
z`MB|L-ywHtr;vGnZDu~5_FXXc_EFp2or+VP7xT5qIj+}TZ7o05PiVP1r?!c=N5cZ9
z2J=7M{~46Gx9xwUo&BF-ao8$*A*+J@?*+cb&-_&$xAE7@NB<eNn*W(3{r=Y<Q2q9r
z>puhIgY^6F^sm;XAKdy}evaJK56+KNpCA6uAoKFv<Q<ptmwVSbG2K^ImSI2seaf8X
zH}1tzmu9#0M{6JR=IrR+zw1l=^@+a}<7WP9e0+b){r2SRbs|~e(#$b0gN|2n9#`hw
z_@9Bd@AwDN*3=3)v2xeYgPvb|=YRcV$F|<$&y6qqjrTu={ZakT5dZp5Z>INS_vKUn
zGwi$k)!uFO75iYj`oHV{Gd!7@IscnX`+o)(|Ck&74L|28{bwlY|1tf^`OfTyKYza7
zzq$Hw;g9}D$7WpDP-*t*^8OZNwJAaIkL-niqFW{IrEi~fF?8d`eHX9)*)RP5)|dWE
z=jYjH{b!KBTTy=4%ue>wvJ5@bMbDmIc-XotLG;_52>wMI-p5>ho|<~)XU%^GaV?Wj
z3ER~D%l`;JI`zPg<&vE2H4c`{@F#Nr8B*&%EKkdRll7lL`*+`J$B+6)?73fTpJm?u
z^jgVZySIl=%b306usEo7yJ+V7Ej<rHSNdt4c)K)S+G+N3-!1c}e@&h-+3~vC#3!?T
zuB1#nnU=O~!Zh`j>M~a%=j2Tdd-v$yvyk1F^>dhJzqalUc+Qp9Il26@Qn!iALW>%&
zqfsvM5p_rZGranf{qJl4zw7JHm<PZ4k^L|3Kf~?)E5C-8$*0xG{|>1?8MFI8!+P!d
zzifM6{b!K;d93!|pTB~Swl+SH_p3WL|C8KD|G!m^{}~o;Eq(Ys{d&Ruk6Bg9uV1~j
zd+;Os+m`<flUB<AZCdc3;lh&j_JSYh&;7{$`~Atf<*nhCpBFl?GSoHyJ7@pN^^f7d
zx5xiY@s67+|8Vh_JG1{Dnt%Rt`tn$1&s-yg(<V6#UoF=5$3-oxVf@d)bNi$Hzt-me
z49(pB|E%NkH_lJ~9RDWf@W0xBhW{B1?H|srQ~%F!VMG0g#LWK;$1|%Xzlnd-OZ?AZ
z_n$%HKf}!DQs?@sAN~#d?0xm&Z`;3f){1=054-WW$!JOQ52>@u=FWT?vfRqJVAkg7
zDVdV<@wa4_Wqmr&Ho0DRBGWVLN+}^Xw+~C!%g2PRPrkn5R&(LKqx|d@i_RaLCvn;I
zu0j9i`wl9%=ghdhSn+!pi~LfJlb*4X4_6--b~8=hY;*Zr%MZK#f;IMkmoIj*f2eXf
zS&fHBdd038{riLV{ggeM8aCf**PTzrHM?I=+4*4akAK?Rf68;+TI^oW<*`&YE#TB)
z7MU-m&%fGRc5RvXYjNDp--?g!Z*~7ON&Eh<zwo^J`RDiF-Cx}gUVSb<r<I}9p65Tq
zlf^&m{~a!i|7EN7@T2l()_-5U|9F3Pf7x5L{Iz@AzialNy!ijNEcoXi^P|7v=biry
ze@{Q#AN;WD^Z9d!Ad@xxm;2lQGkj9~5&iF=*!*9r+E?2T^<Oub|L)3vhC}<6XZ-m4
zpFySiX#LkW^M9FYW&PoKe0Kkxtg5;df8MP(__OD)_z&^i%FGYb4{glqdRd@r&RVyS
zdt?891{v+Rx!NnV=dVl+oKg^SW&8F&<`2ql9sObzH@UvH<e<XV?UOPkzHqJb{L7kg
zcj|ekB~uiheDnCTSzTq;C;sF98GonO=*xH1X*iaaG(NcacHVcEf)o~|I)!}?|Gmw3
zGN1YWNr-4p(&SrO{~4atK91}BW%)V(ZSqH{*G`vmYBZPlT<~3W>~h>L8S|S5ZwbFR
zBW-uO@7d1mbEl`uYtDbH>c!O}x9R@nf1Drp7R=`mVf=Fb&FqhIudYW=KUmfCR<-v|
zzHLMDe6>*Nx#EAP#h&dC{cd{QDeuqnYajlZ1+M&>X)Cw-%5S#a{yXjL|8DrBFS~5}
zf*)OXnYMn>&n|Fyb@9PMyQeYzi@F{iaSu7){>X~UR57yj;-CJRu0`@n(23IEtEL(z
zy>^ejz1=9H5%FvC4gR76t;OQ%Df#USZG0mxwY~Wwe>45zm+!jOAEl2J)-TUWU359H
z{nrZPw!(Qck6rwCYTntn-YMZ)_K}AJ+N7prI;YfzXY>19vf{8we010R;ro`Y@j|cH
zZ#(bTa3Vy;Wc@|u_-`{i0>7?eek$K=CAaj^-sp%QiytfQkGTFcIc<$a(|wDdjxP+D
z*8kSB-y0=VZ9nm?gPibhmmk-nt+nG>Gx&FhT`T-HclnG3>JoOdJM2FQ+}kocFgz_Z
z>rk(GP`*o1lvqDs>(bjdZu6}1{%mGhW*hO>x3YNh?A`X7M<1nkuhrW0`iEY}#TAxJ
z4VJx0zXLwlcbfFeRb+Sn)e8OX#N243-n6#wh|uyIzr$lWZ+_bRdJ|8%$~>uj_f=nC
z?W@1`{O&!ek7e^8$Ma_H`q!yHGkJx>rsMNg)pth!U8=BBZo&1;@679#un1JLuUNo8
zcc0wr`5(^N%PqP1F8;&^{@yv2EOXpbi|6QX;5xhEKf{Js{&yGf?@_Fq!svfAPW-Y>
z>BHLa!}F9HVlrnf-5h;x?g8bt;G2zynQt^?Fn{`JBJ2OKy!Y$=_BaidyP2DfBhI*q
zJ!Af?t-moyg70SHtsScmzg2#;`48``qmGsK7yr#K+#l0^95kf9|3Umu**&KJ84{!8
z|4MBQ{4w!z>wkud_Emq*U*7e#|GK~U-<A8HOt@cv{ptRH?GfQW_?hkgGZfaX{%ps)
z-r~=L8m;#x*<wDe4KY>EyV%y(@?Q-(;d=l32IH^m6aG$=@jqtf`Xl_&XFaq345{bX
zYRl%-?O5}whUfEV?OMOJzl}ea?b-ZkF{Q%{pI_A9_;{hl@mlD{XJ&oB>*ke2{+oKa
z{m0C&GS>NPz5m#+vb((Q^ZWkp{|q_K>VMR4DOi5mzwvthviDXo|7K^m3w~67P|^3F
zA+r5PeOS%wnB}MEud=F;PuTkSU&QiHqOTW!v#8<N-1yRG!+|dg_-EMX>=Z4@=W;#v
zZP$*(FI)}(84P1)%$@j2#^XOjxo_p>Cti>26n-84rvINI{BivEHTB>2mL=|*pME(0
z)AxUO|N5_5z2Ud<gZ~V-7XR~ldjD@_^nZpIrq9EFoIhv${`>P6{i1958GaRiGx^Uj
z;d@v8>r4E9c~`IJ-)*<M?LR|z@J0Ff@XYV*hvT;{|1;I&Kf@bQ_J6Ial|TA>{=Dz7
zzhCG5)kbUQ`MF#S8q8nhzZL#xn56%(|9hVOmqk%uR{Uq+m0$Mc{yUL>^|NjLw%JZt
zz|>%GUT5^5;biE?`oFDe{~0c<KE3ke=1*%*|NXXpwMEsL&;1wVZ!Z4lvAx~?-md=)
zmu6;PTKvbPZu+G99nQ~xZoaxK;G)MGBd!VV52NKS-}tfqTl$Y(^8~K(w{HEpE#ual
zo7<<J7u(LxJm0m3p_Y%oD7&fGFZ|RuJ7$$Lb?faD1AlM2eeyrULA&egK7V0;qJOLW
zp-Yt5a`rwGi<;fmtEa~LsmQo%+IZPAm)O5e_|G6(7`{CHOn>`%1Fk98)Mj1WTU-6-
zKZAYn>kCE3vCHqs>4KUSN_+n^tiN6Vmv6)R5Ayc&>v!xAsgaE<{COgPJ@~`<e_r;@
z{~6wxr~YSHd}*D$khMYl`;h%d_M6nrxW1}xOGW<M<o^sR3;r|Q@Zx{+^?b(<{<-J>
zGu+vi{nbu<z0IFD(6s}9Eq>JhXHb%F-Ty`~^FPC)puG__8h?v9|GoA9qy0($NBiMl
z^<7)C_sYjK+<EyuODLmxQyxR}RS)F}R#MBROr5zj%V53l<rV8@9(nPffnlF)MtR_!
zn-xiSpY^l_7wc?ikpG^NWbbu0sOd#P@Tmfm`6ijKpO^of*R69g>d+;BC1;-OY3T{8
z7F12X5Vm~9t*+fSekOnG`0;z${TJWu1V6amx-Y$ca=^ZhXNq!_eP;iZswW<^c&;u}
zx@y_Zq?)|K*}-$<<eK+>ueBBY)LJ-SqSo}c)Ta7F&W~CxKKss5t($$WekrKYb?w95
zy=(nlY8zvh-<i)}ckQ*tkEMC3=MFD9{Pg+dnwfu#<LZ<j+uJ<i{#zLTGyGMBY4Lmu
z5k`=Yu7&?N_|P$b?tg}?q{6=!rQiKEj=J>Y;;X0TzrI?R|K-1E_2v8(|2g(KY5qT)
z{@5-5n|PHoe)*K2|B`kV%5&L;cf9>tQT4Cq$Axgt4~dXf-R$Pc4`26p#|wP<&%l0T
z^SY@S_cN|8_kZa6`>@@fR{6K)TgxuCYduT9_e4TI)&I3{)aiWxANCW!_f1@O`{lQ3
z*UAjm?p?blTf|V|&?1dPE50#sUHP?n(bjI2V27HyA9u&heq4XFo4;+A$oc;a9Ov6p
zfBWsWNq;&i@vvHLxHbE4pZ^SZS9`c`xSjdo=Iz7z*+Pd|G?e>HBtilV7~~p4IZl7f
z@6f4{et6e8=IZR+wNqSAu+NlUwBUP^gM1XjPv%35z8{skw)C;Tz@O{4de%PCd?{7(
zv$lcJeZ%*4TA%mt>hC!J@y?})3|q1FU*cEZ3RnCDnp`l-NZ!%rk?yDxq!}K3vGGBd
znU>KMm8Ifoz5O@O9~Y`%KPEn(f9uNg-@;Zrd+agsJg4TX`5zPv|9$$;ur+R}<>zD1
zU(KvDvbbZlV*AZs^MhkfU)y5Ke7er4LQKD7AK#wK4uLD2fB)v>msSfraDFk*%3sg7
zGE|wrS@^LozSEBB-<j)A5+AMS-E=d{Q}geWRYuBFn$LLzt^Ie&@SO(pi;9$&4)O;7
zZtZ7Z`Z2vFcTfGp3jaSU`$U6P?nOOar_*@n@ttEukN-|qU$Nv;)|qo_Ev_}UT)lkZ
zXRyPy#Oq&HSHG^|H!OHPf5+oh|LQO8*?II(n7!t)#MI{XT0t+j&w7!0MJCZf`XB3m
zhKaWi$A1&u`k&$A>QMPkS&R7Z9aZbk{Iy;m@wen-{jJ&mJbAzWtpgRLrLFZ1AB^9B
z7k{<i_`$8u{pa`-elUMn9{BNkcaEv`>`3Jg-)38#FD!W7GIPSyr1<wj4(F_Rz8@=J
z>U%2uMfFTSrixV`XU9E>z5V`4?bo=@UxAP2Z&mMnbm5=)otF;}?7EiTcgys=wP^Fs
zUx`lhzqcmFg|+UUZ$IyP$c8-Gl()Y&Kjiw{f6m|GhwOg_)%-*8U;phtac#;zld8)2
z-*4@Mzhv!o{%ZXEKf|s64F5c*&HT@hc%uG`%h$6VKlo=p(*N%9pP{qP=f|`i{O8a6
z{hj|OT)w4F^Tl>?KjkfZbW^Q`8(5mTJiqX7n4cJRX}ZqE*H0x{+mE^Koj1S!kF@;4
zsW0a*pKtl^+C1i+*J~`7|CsL6x@@|e-t??y^%FI+{~25p&u<pKwX;xg*RB^e+XWI;
z!=_}r)>!|lKVWCLPWVB8X7{&cKiYXbrD8LG2RilK)OY-G?ccrheVgxOh3)#?@B2gk
zWAh{ZBm1Qer`D=2&e(S1a+Z*Lnt0ZOmVmq6X7&unx8`~+d9GbzTeIHqcyb|^(RQu-
z&ab>)+a36E{M&(#BIW;#E`EuKuekJPmZyV#nP-GdZP_CEBjJ3C_dMlUkAzNneQefm
z?a%)i+T72To~qe66h_2zZ;Ni3J7t1Pj-%|3wf%AN-1g@74|6Ks|7(}6{?EV`^q=8l
z=+kP?@AjI%{u%$PJN-WKKLdCA@%k?oukZgbn*N`mYw<1r9rYQ>_Rrt!`&M-Q`t_)}
zPrlFUJ+i&LcxPqW)YE%<swVlXTrsbWJg#}FsA%%;)GAJUhx)YspGx;+{xej){?Fi*
zy56h*!^K~5p8p>5&wqA4eDdGu{|vjblW$eaPv!mIe{E0k$Hi~=-`xCI{Eu3c!-wk~
zdFI)-O5%4;y!~uXLjhm)t`Gbx4nCjtesS>3qP^!Y6vZ5WZSc)hey{w|`dPNikKB{r
z{4uU^#fx2w^0(}3TsZk^kwxM=K9289yQG4`()Y*p6pAeMt2T+f{Ae1tbi}$jHXo04
zE9<)@FsRg-TwEd?==rYVJH`Ncg(dyFi}sJUcdWNjeZZR@ed&aF8Mnv@>BUJQr{*Ua
z@o!uj<Y$;Gnf%(Dzinzn-rApw;}6McZv42s?aSM8kJ@Y7H?lL#OU~<QzZ)S?H#Kn5
zq+RBRueYg9$vT`?951m?=J-eBgVU{|>?f}{RP$Ss^H8V5!|1=$UesFHuF7(rXJ%<E
zBXm6Rj@8=ml|OISrWP){7ZZ8^(6{elpG<;X9`p1qXAykGvEFcXMqRAMDWSqin_a71
z=I#G&@?(=ecTM2NzPCrpc5U%Zc;nAFqpkmQY3P53#;`A`r;YENEaYl4RNu1YKZE{}
z-|zMce_8ze{H^H^d+&FbXxj^B1el&%xI|m`h=$Rp+w(k`cREk*cgy#Bww_(J^uo`c
z@60-`rctwY_x+pyfxk<;;RnM4{#Es<{H@;$@11;Ho5t3}DD1pUyGN3{;8TB2s^j~e
zd$l*U$R9bs>4bq%(62MsX6s*_A8|eLTl=y5TfcWJU#an5{G;re!(;EpWjhYO)Y)-p
zenA)iAHE%hLc2YF_$eLHyw)rFE%g5C{|t>k=bLjqwF>~ZrVMNnAF+OT*Q@iwao6PU
zWv^d7-+!U>Kf~8+TOOX*mRlCxRB^|t`A69L%l|mP<iC0TVecNs2UmApU2OkhLbhsN
z{>^`X5<X3o|L&;rpJB_{x3OpEuRNxub>e$;#0FNyIqb*pcV&K<{_ySDx3inqzf!rC
zX_%~X%H1e=heLU7S>IRB7<cv$`VZ&KWBSl^dbMV~z^gZUUo~Z(9+nF;s(#Dz{O_Wx
z3;F|o+izv4>Hhei;pq8~?8nXSv0Y5FzbWN1FKwxooLu5z{vQn1?!SHRO`Yrc$?f_4
z{-eiP+e_vC+PWQNDZ6l-heNr`l&i~1LxwRfy8OzYb;VOXEj{mU^5O)Ki1Q^MyCt)0
z-hA16v(AdGUT!h(n#VbL<vGl+4=CT^y4CYjb=~oulOOL}-mzu=Ze95o=a=piuJP=C
z<lnT`)I2rTkN-}VAfMTp#nX-_9Okjx@iuPaufWSOr>`~GXvbXBt7G|-aH&ouQ*d`i
z)SUS#*WW&tG1_KsX6wOt{CDR0dkgq4#A*j`yPA`mzvbnnXXjq2&f;8b87bJHb>NqP
z;{x8)n>x8NtJd{#ZQ5`mp{hxP`Lp_C_QTVDuzqZM?zP>m|KL5<<kBUUzb6=4WNd!b
zQ}&->SF+m9*Uq!dqZdCf-ot+_qdG#r%D(IMzm(AD^XIlQ5Sm7pKXOm>l1=K8eN!Jr
zo9^FG9-a|-moe3nUCZ(H`(TZg+QwX8G?NnFyjs0@+U0$0f2=P(jm)i4U%q+0@_Am1
zKTCA9LN)Z-WsLTSnwR?4eEoCo+r4|z9zom@lQ@#4gDkFSt@y%FvX<XdRWxOb=Ig3w
zb06;2dmemU@6pB$+k7vb)lOi1`Oe>gUFCzO*`(dZtHVSRo(JAk{`~&2{ZY<;niU)0
zPmJSLyXa$8!+SN@W;g$P!zaHO*e%XhZdE_8{MqKT%*U@g_no>~AA8<%O}_>;#*hO%
z6q=i?q!@mme!zary1pZdB`R!v!OBOub_$!d=Sc53&J_C9{+?{VEysGdseYyDJAb(a
z&UBab44(b{`s3&S(l_nWS#eUS-HpX)!wH42EMd=gUHy{Y@?-zEpbzaG`Ko&^=IQOR
zHCeLRHBZdD=2uHz_zMYs2km(w%DP+Z$^|DRuJ)eAd-P}ScZsO@H-!rhTJ78TNZ09`
zLh;jsT#oaT{9a9M?++^uet1gr_vic%{~3($*=Rm^D|}EYD07~~hOR>w{UY?dJ?`Ht
zv)TAvZI`mBXiBY`Jg+x5pI6`}tsmcyN5vmL&wDpJ>dpd{WPwA{{Do?EA%U;z9Vb<Y
zELUYMbJG{~XZO4^|Bv;Xx`H3GkC^Y%x&Bo)JFNEm^vhc|B`<ous6WAgeS_#T&z;tr
zKdt(@v}3i_<hwIN)zq)aZ>;~dU+O=@-sJxbTVHSHz4F^m>OaHu{omfdstt{8zd4`%
z-&Off;d=iWUZ1-EpTTjx)&663h4bt8+q+b(O{ieMJb&ZzKka*h|1-o*sDF_gTTy%S
z>mBnyQS&-}{o3un!*Xx=!|$y%zO~=p3%rmjTV5gH{yZjn^|p(1c;?-i)y{D`tj}wQ
zjcsLdNK^h<$@w3agT|Mg>U#e(G-Uo0**nKtvOYcGKg07&zx!GKuCn2MxS#7sy3_o_
zRjPecO|GArWV?l{_4;XbcG=A_Umr>=O{uw7+q$rQDZ3YE?3XWg;p>ba_g|>LdHkQp
z{x<u&JN`3V>V$O6XHTx*5&ZLC&R22QiIOs@5d!Wj*7hf^o|pWef#>yy^Z!~i_J7cO
z{GXvO%<kCy<P-m3OG9VWAGZ2q{GVZAl>Q&?9sd~~PpOuwZT>CI2p-%P|CfHEUVe}M
zk{{NOLcdLYxZ8B&<;U9_FNu~FaD$gQ*1qlnuXA+Eb($wF_VQ9#nEQ-t?i1=7{+*To
z<hsZ5-`DH^rksY1!S9*;_mI5(*?H^Le{KKIP;%|~mT&f2((mQhRy=>~`j<O;--mna
z(^qF)=gqB6*O(?LzEN)9f-lNDRDykv-j%wv+R8Xo;myTgnjbblvh6=|pDX&+wdkbX
z{&(+3GoKM=Jn^5Q<SY9Qy9L*mbFN%Hf5ijC3C9CNmG_6<oVzunioLt;s{AL9_4Tj6
z-T%+vyhi&E`}yafIVO4b@HurwB8*o+VKAxx!GDI|yf^D#d|BOor0<OQ@2mPB_0P&L
zGkrCGt(^4li2n>HHSE6$HUG3Neq_h|y!b!Ecl}v^{aat3x3>lt=}Zmwes=Qz8BVl6
z%>T_2RsUkj`Y?Ge`<O%ZyMzBTaQ*2^e*FE<#P_2A8Ln@te{p5y>JP^KX8#!qSHAqU
z_<8-!_($b`lz;vH;T<+RZ|-W(U1v5v(w>u?fAIkG-v|4a?Ofq^e(HR~36J;o#;-p6
zQg?6tgMaC_Oz+gb{IvgV;D_nwdVV~2XnyV>9M;KxFRt6nc1PH^gKvBbuP^^L@#D>J
z@ugo^W&eqP{xALH)?+mRFP>z~jWg4D<*coFkflW7g2|hA{d@i~*JNz{(YxsAvaHWb
z;?y_w=$tq%pB;F7*1YAv50uz^QQ9jNYI$|u^A|tEQe{%@Joneu+0{R**3GLvKJCZ$
zZ&e@Ud-PTI?!I*I(6^u{&o!zB@9maW#{7P)wsES4$H$M7Zv4V}>C*PP_76n%SpPQu
zWB1|jtyr_Ug{!?KPw_g{8!~=(5RLxGHfb?Sy1UB3!0G1t=BsVXEG}tWvzQtvz#1CZ
zu%Lt??D@7yQOeCf)_?T({t^4|r@nry`juxv+sqvIWzN6yox^(m;gzCuy}CF)Z~XDA
zLMrCck9nu}|6%@oJnEW$jpORLSG%?xd-Uy7+N@0ekA{}^jxVgaK1=7`oj?8RO0CPq
zvv;QodYsW<Siqv9q1wSv<oVV?wMf6|pP;>1ovPj5ddbO$<)jOrX!B2d^w`qz{fT?E
zP0ZK!O1R%Ve&(;e)`2x*vYIvi;s4^5-`<WW?$1i!l)bR;p7^YX*EEuXK3UJv(vVb{
zcYrH{f0B*Kr+*jYrQX|QR`uND`mp-%Y`4yXw`~?Yv9tC3`|zE8*>a1uLL1dD)wvqj
z9Dcn2NXI|%A5xD#-M#)h?YG&job<`h1kcR);&}dg#(M{O-3sBu?-#$!Ew11BRr~St
z80$G3&MOF2f1do#xAN-p^SWmCrsoXrM;|FV3R>2;=GAKE!_WlF#qhjF|B>1c&yP~p
z&s1$p*9(fi`p>|lKTrN2lVAN^9o8z5^s~~o7k}w__WiobpKku%{bQ{Bi`u|Ki_$x5
zBt1?je8^t#OL+3fyxz=5y+Xe|uS_r9dnJ|gUHb}9Z{b$}+x|D%AN5{c$ePc&C*I67
zmvxq}?w$V(>$jeZ6q&c%lV|^%{fjQJ-zeDc#qe4Fmi~h;@>2gK<6nGK(%YRrd#_yD
z<J3dVE$W+goSJu7;Xeb%0{-*yY_Ee~nF-x|)$!rgt&+BTpETL7hXuKL*z&W;7i6DZ
z&F7i9@#nJq#$WT4KE}P-8o%miox5kmJjK-y=Q_!%ADLyhuzdHMZ__XM>s_37t8Yz#
zZGq;|o6B;YvgSsdd^4-Q^V{@4rqd7qXYh^x&%ki~KSTGr{|x!e@AqHh5ubneKLd;Z
zk8J(+f3x=gV_Xl~;jz7;evO2_{qBF9agV?4`k>-fGh4T)_=fHpXZtx#)2}IbKa!EU
z>G@~+&pFff|4upj)T$!>uwJV2(`o-6u*R=akN^E5#Kt|P;OZmS{JX)w@4wi8=I7_*
z@xnE}AI0AIKdN<I-pQA=wI`=Z{(C_AcT2mkXEje%&o}Nmo@6*_Z)D9bnO?_3B8*r6
zn0(}&-}0w&!Rx5?Grws|FVwjg^saV+TyxLY)y;vEa^4;c>ysDentapv^?4Nc$L_nw
ze)~T|{)0XL-v3aa@~8gC!-w^qaXgzZ)tKoYy<;_{T=!ddLHEYwss4)nmW2^lS4$o{
z@o{s_W&Ym7t4h|FykGUH{#ni4nB}Kf8KN$4mENoLi~FtKvuNwn<@_QSc80sj9u&Ep
z9TKCiRTR{`+5K`I)8F-~Tbs1)JEF4hPGzjSpCn>ky(gu?f7iq>>vkmB&-nF5U0}yj
z8JGNL`%iq+wf@%qBX_0SntjUN;mT8XZl7kfzcZ%JZCmJqU-RA=&*8a#JU`@gc)a{R
z>064GHlZ00%DOC7>?f^U{x<Q>%Cs92?*r@9=l<CKZO?~y^SO^d<TZOAvFjkW?xCLo
z{B`f@X2?gKis)F|uP=DSL}9I)p8t8*f9a>=EPu4F|KoDCeoKviMSALqHWBH>M*oz!
z`*EJ{e2ct_X79GM7wuWwGv7A+pZA5QulNiW@R$CbYo}XL{jjQ{r(#Z=@CxZ<_L~cZ
zYR{XO6}j2{Sl4B$%zfvV&TNCljo;>7`*k~C`#;0Xckv&t#q<9)t^dOu|4(n1?H>L`
z|Lz~G{Cod{|MY(r75BY=G(W!GoA2=X-;r+@-E4k*vkOW1I5}o&%5v?+PmFy+ZQ@j~
zF5f!wx#+~Fau<Kw)C64EC-G|5)AOCJ7yG_(Jnnw;k&`d9)AFRm>*$NKn#*n9%$Id%
zwmh}=t9SDK{|pb;?34eM^`GGf+kViFkqUX=zx$g$|K9(g9WD7UzJ0)c`-iyt@;?Iq
z8QM1esDHWoKf?p5{|p~Xsw>#P{o_9W?mt6Q#rwD1ALk#A7cP-iI(^vbi*IJxWzTON
zOuS1u9`jV5T%&cR=jz0V>5@}<N-d5}eK$Y&`Ko7j3BUF~WPi*5;5|!?)x{FojI8*)
z&BB~DvlC8!_IYPe&hz2WZp~{wNt5l)>zy;$5u>B&_dWdOvzvG74@cJ6f4Taf;RA2|
zk6o8<ANW#F*oE@Qq1~U)01s<BvmcjzKK^Go!hN>b@$<i<CIX9oetc82ilO4<dq`+M
z{%qq54()C2bFaBis}28<|E=XiePf->ODVn`rt;fwNuHVKyP@RgvvLXR_B7F(ep`}7
zW`2vz%WpgMFxhMAyY-jPZr)XY>-fXp$_%D86Z?OBj{m2(<=Y2a@%fO9cR1zA<haV8
z52i5QuTlOnyYj>SqXn-5-p}@(FPJ5Es{Y#1c?(MJ>~;Lr*K%#jvj^|0BI~Roq)uf&
ztX{AG*={9Typ-O2`=ECEuY=&|oLBhq@Z;w#`xJh#J$AXkw(#3cJ;jMNzY98BbLN#x
zomv}l&dh!4th5_BX_A+hSKlqMi(lvbgsH*okMyeBFX9Y7{99eS|IIe3sawz7W{Xbp
zT60789OJ6)Et9Pbu8L}Xn6u5-e&_r&)ChU^?StLt-}S7|zt<nMIsbV3@qVrvmk*j3
z_t=>7Z>!y;xxYS7uxv%n=N+F<tXXxn=W$A<<+|+lV~Ky~THky5s(+^Tgr5SCGcTCm
z@^jT)kz>8MM}JY~_2$suu2WmYKE2t(TD~M}IeWRX!u68ugDU-d4?o}GRg%bFy=2<G
zxMliB{co8coM-r>e%*^Ihb#MTS92|i%iR!iqBPI%aUbK#l~G3B9*5=UJS?<`ywv*c
zPyb}aS>BaF5weS?nep^3XZ3g@P%ZV?PSb4e#c$y)`?K|V`uQ?XKf3Xi<=P~H>1p?F
z#+er$`%uomx1q3)^Juxdpmg@m?-g|l3*Rh$yZ-F86IXWqT~#M@@3wDlIp1pAJtvZ<
znQsbOw<Mv-{1eBjZy(Ywo!?;Or)zDm|3m$_oKCD@jdNX%vg(mp+9%?!#HgJV^tYBs
zc`j=_&w*`6YWB;GA7=EYzK!4bqbla;N&}r6S>jQlZ^U=y9@#d%z@lPV=c!!=FC1kx
zm*)l+%vpKTOYf|_&kyEryLN1D)7I~ZD!$jsSa&}~#KV2{v4SPPSIT?6YExd)zxGfe
z&!Q=Xg8OIvXHdRvvi=tL!*gqe_Qa`e-<Et;Z*fIr?Y>mzPinhFBkY!62tND4RBWp5
z>k|JJH5ETfmmNu&e>BXf@sHW>XURVlOsqD<dd<sjY}&nIU(`SM2|u2H+qbz(GIyW+
z%c2;+BG$LR-t^X9Gbp;>8NYB%YDavkoSb&YqUm~a=C${K%Ip2;J~C^4w`t^7e}VhH
zE8>0XGE;5Y6WCpuH%Kt;xHD(&&5vJKhaB-ew|IA2sImZfor28tp7r_qDH}f=Z@;+w
zn(0h2iHrV<5syEd_xZ(Udf7?5=6p)6nQP;>uY31g-z~f6{vY0dkKg=fXp>{w{G<FK
zuesypLpvMIV|>_nKAY=3e^ph*z@GIg@A(V&MbXX;Y?_P@=5OWidw=h?*N?~t(~N#h
zKkBpb4vWpfEI*Fq+jV^YDdFb>!zRppIiLRzYx0Nhhpf`uw=8ATwrH3XyTkZYWhMX4
zocW23x7N73+E35snS95}na3;6y|~qtS!MDKMhAJOAN!9M)nxxzT)Nim@x!%}dwQ+Z
zB={H~c6?3#JU@3;Rk&^Dr(>tfYW|h>{aVYP4q8?i8~>uj^!fZbt?+|*7^gpy71I~U
zG#4{|ATHVapJB)2h5s3BH-~c;c|FhL7S)lhxZ3ag=X&s(ACiw(ZjBYn=gIC1kG$}o
zp@ez<EDy#*^K18)zubOpugm3d_g7n9xvdd-@NVAnC3n5A&0P4zUPw6b!@8Y|Yg|7}
z{Iqo~TWV$DrHJAaIi(V+(N`mW1+c%6KRjPHbHCso*~LF*JJ;NNWx#1BJgxPYP42%-
z8?@@CFx~<kGsOQpxyG=*UCwUvkA)9!7n%5$1?I1FmHH@pQvS8!zZ;VO8EX0b&qrQq
zx5=rz*~Xh(@NRzW^_9;Jy(S--bm-vYiO$;0hnY{9KHbZIT2-9W;$-B)FGAoHK<`tZ
z7#8ry{AXxO{W1GLg9FF@4~e<|8IE4NcWim`?SDs(|7TEtwExVpkNF4wGf4lCKU_7x
zqsDjX!Q>?`H<)}kHd~liw&D##%_Kht=1CsRYvqnDPh8V4cXy|~=)W}iH~Sx0Zk_A&
z`;mLc!Xw*tE@T>R_|Fh7f47qTUjzT<U)Qs|w5Q51cvx`Z(8XSjoc*ikN8UO-NA61B
zCVSBz%l$scw{G<pe7&i%%&LSfoZ+)_NeFm7%{$j1hYI~SHy_G+AN_S~>&Ncng72<w
zeJN|Q<3?eA?%XBos(2W>?`O^1z1qotsZAHd&;D=QeoQP}{&HJA-yf~0-0~v~wJVeC
zP0EfuP~SMAiT}6O%?B6Q&;1f_sZ)7jRZ<pJ-<DIeL}gm`jPI7Vo_6_BheAT`-nOv`
z^LLjFy}D8}{^>ur6&LNaxBK&CKL2+w`9H(st@h#l#gqTW9{SH<vY-DG<HDNg{M`?&
zmH#v38`gh(Ww&1L;lFhc>u1Hc{}kfq{S%)zPjHj{x3B#F8RQnf`uI-%)jRQ@OMlc)
zRQeJASh(av?Zp2K+jrFe_$wdYU+|wHykP%X{lkAc#Sh+>j9%WHbN=r>=l=}HU;Nrr
z-TrHL>%Yu8`6oU$f*<GZs?a+BpMg2yKf~iMwQ;sb|E)``p9iv2zhR&0c7K-0`M>L$
z|1<Po{95sy|7$V#pHF}6PgMLU|G0Bkh1BK$49su;Gr%o1*neLC@SiTR{cQWpZdI(i
zePmXB)5GoiTXIW%ovxprTi7I1dFM&t^$qW|Gu$Ue%H8AVl#$g>l{DLP?&%-<-;QVh
zGnjn${iFZjKf{w*o42ejd=TIN{lZC}{|tOvZYoXm+9mzF#%N*_|1VdDs`fXH5B<C1
zxxd<mAHHY)Vb3=^u`8TAoAS3F)Vg`6vB_YQ*sWI#FDgU7sx{ahZ~Ya(mfrhEdg&k6
z4|VGw)(g5md--eWZf7-yyOOWg?SHGyaNt*?gZ%7$3_tQ8ov>4QUC*Vqy{}#{<ILN<
zO@0%)SFmwpoSwKtG_}C$t$P2I>#9+Hejn}Z%};4vU;DP;)%W|U>x-}dXLvZX4zzTH
zN&k;Tbp6ND_KhoVe6-(a_@CkAkM*DVf275C?*GEj{hxtN?Earvxns){;CaO!RclGL
z)ZFIZ!t#IScR}`aqGq&<Z?ekx-}uyjs?+{+_@CtTNBMsll>RduY~2p(e{EcOW7N{o
z;033_(S!u8n?|$DXyGtg_Kwyv6xOG9|JHl_)%g+sZR5wK*N^FU&ayvf&l$7nWtq_0
z_nqsKEV<k`dggx<Y3^&i%Xl!#_XdB^g)P;w(tevSZ#f}$@7yKTHje3wlzJF{a-CSb
zbX)g=Weq?3A6>nB{`mPGsrW<v{63ElSINxJ`6zqFz3KH~wb~Hb=D*u5<#nT+(ywll
z3f(q6IX8Lvfoa#KZPYPvY37#FU<~1RU=VdO+*A5!uld98pw;Br>o=YE2d^ey3tdhA
zE`#}Df4kVP{+>VHt7|+ymY-jlHQ91Y@Fk6Z@4{^v0t9Otzb@cUXnn!#Bxx1E)}rqq
zC2;amgNfoKBwQ1~`XhcRLx$5A#)Ujn7#DJXS-{JY0>Upr${pm5>#o}|T-6D7`EmBc
z*P8ia6?(4IUMD@dbCY@U4*osDx)blp`Fs&!{1SfXe#fr(qxp<4_UT-R;LdepI4|~Q
z>z>7(O8Jm8Sr_mff^2(0I`LS80W$tUQ;J{r@4`C$=o;Z4@vDAJbJ&!n+wH5z_R{or
z^9K2EA#BBOT1u4~?4tk9t&_i7QGNKjoXSUI+v8m}{_3~aFQ4(uVV$?u<X7e5`DMqm
z&iQ0~pY2g4HF1vl@%S#o8r2`Q<trUd-MafOw`4`X>axV|AMYsq?BB;;wWMMCx0D~Y
z`iK3QxX;!~?g@XyCcbOUq|ZvilO_sPo@#@v=7<uiPQUqr`SX8<Z~K1iPkwY>_T~>U
z>Er&q8R61fBNcx3e0OdOe7zyH{$AR7M+cd&(~sR}zj6C$e*U)|3tO4ox^oY$kYFf&
z=^+02$M1)tufE^^!TX=#`U38W|1Rv~jay&;pP^y@-ztW!@^7UdEPbuE5X#>!|5p1!
z>1(yc{}~$Q|E*%!F8|j0f$M9vrBMD>`M2H=L|^MI|Ig4+50Q`l@U!al%Kr=x<o`3I
zI*2{~yS7etePpTsAEy5dZ&onfso(nkaO-Qm)&Ch9?Eg+>i0=P(^heg-)T{eHu>WV+
zw17MC-_89z)7RYE|Bs>mTL@#G{q69FRgaCc<$o~#XSf-_y5m1X?)ld4Yq{zF8Cd@_
zK#X|uBWP~gwf!Gr!Ae&AXUIF>a{5|r{(lD6`+ui0_^ZFY`JwFDz3A#~*V39oG*$AK
zz6%dBaAe)dQnr9!?(Y;k^B>s<=1YBD&-|n4-y{F_I<39;7fBy6+&lF)<3<jZzwf_B
zz6&!xZo>G>6tV~xv?!IHJ#Tj2kIfIK&Hh;Z@Y&Xfwh3C?H#X;5#>~!ceWvMtapS~0
zLe>}9PsnfX@7gMuzv_?G$5mVRcl}Y;j@nZsKP$R4ca{5!;MVg_OZltLc`T{r7w|~V
zR7>qM2|D+tK!k6}yhD?ipY3m#%9+3A`tk1dlJRbrYV1FRG|8%&$4`3qKxTEq*OPLI
z-vl*ZN2w^kwO5+ad}0AlrH$l*Q*S=Ks7l@~6glghQN+9@a{`#_A98;9{+FR-{U4_8
z{|ucAnEwgP=dZuO?)9JHfX4nGvl#5*3K+o(SpPG$s2{%nh4Iq<4{ZAX)EfAIIMvwx
zXK;|!{?EXW^q=8T1_LEZ^kJqj!ko7M55#5`xUv5k(5!}QLRbw`qxPSn#oz5e!veec
z{}~!4{%2@qkpIy6;{F%*%l{cZ2-$yF!2D0pR{CGVulj#X?*Bv>dGELHv0Z-4zr1$Y
z%W2=XecZCyTXjp;#zj4wh5Hy7W`Twpsy-Zvm#?$RwinkgdGWSJ_TkF9qYqc-D=3{d
z`lO=89?JVn-hHA$ofpIJc>_~0GBw!g|J_i-U;E+r(OLY*<5_M`o9{o(+F$UXJkulQ
zPb$4%*-xu)OR_)gxw`ShpRymT{^@==-ex2CVO{+8*LC(DN9rOEJ7+v+G5_u@d+O$k
zm1>1S6K;NuKh)o5Req?S@ui&D#RDaqyUm5)9^5&1=OpK^IS<MtWLF(2t8-<Lb7jz<
z_|}0PhHw5|!SLIDD}#Lcw*|~65SaCo?FxoZwksHI`m-2dI9{oNAB^lG{;u7Vx$<?n
z6#K#W_P5U}<{uMUbZ?6N$G7S8oCQztZtbp8$(<(=z<#-&cMtQ@KL#J{x*z)UFT1U4
zbjN+qI;nJ<J-z=f8>ZPuF}zwq(@F?;rN?X?e__ji2H_V~eckJ#RqxGS5xsZo8U0Hh
zcfB_J>5sd@_@mfv<*EwqW99E3+C~RlTDRr&>hA35-PzN+N_vddn3r*!I9J&7<ktnZ
z`+xN3ch!Fh{1g43p?UZGe|io4KjQ60{xiH-{A2rn2KI9MKd}t*ANJL0{%5%8{xSa_
z-@E!ByBO>r*8B<n&#<Wf(fvQNcR=%94E2Y8{#gE>!Bzg~{vXym|1&&#!SJ7<_47yn
ze_i(7^&iTM|1%uD!1$km`}w2!e?{uW{xdvy_xwLY_X6gB;^&Xr|I+xU`=8<9-Sht$
z#2wg&x2qVxe*YtU@5qnqN9(LVUhiJ_-t@dklzVnM@7J$~{gsX@)E+NRd3VHP=XoxU
z7rqR&e+Q<bVRVrHe-m_FPjN|6YGN*k1-fble7O&ZVPm5oWN6G~2)_G8KgiIG%Mg5h
zj((6O7x)4o{UAd_E<;1m#XpEETfq14z_gpAU-$yPjRz)cWXxp*HXKPeh!2$yE+zWH
z7fS;}E`5(w@P#kN2IhD#d~wT3EJ=l2`NE|Sp#u_&av^skrKV&im*f{I7@C4_m?_Q8
zD^>s-?wp^KUsSAMY-b0*C&t{;+z@_GOvRixb8BNlL-+mPzJ8^PiR_+4<wat*=8Eh#
z)|%`u5Y-jYvFPQQ6)$F}O`gGTQLggE@5Wcg<sTZGG$+ZpX1l40UKB_P61b#xaGpw>
zYK(k<+DES>g*&s}y|+&P8&zIuA;XuxzVw@2`}yDe@xNuZ{a&;Ad|Y<zweOjwzwZD4
z8_&xC2F)*6Y`MTJ9+oN*Fhhd#iw2lsAoL;-%t%nVuo%oZ;IY7+5yWbk=+MsuVlXH-
z%CUkOZcI>vdgyOZo_}fS*8ThUpS7PleLBCKO+?M|RjXF5TzT@9F9QPu8^~n^`B_<6
zOw7#d<M-eD<S(utH^(gZ*2~Mwe_GEr%kAp#|Nimg#!5Q|1_tK_IaY=phN`NnhK7de
z=jUy;oHFs(o~o}|MMXyS=_e*A8mFD9`1kX9><u>t28LV)TP}uz@KdKxH#axO*L*zM
z$}N6N=9H6@)3vqH;!;wl;*K3ZzW>*&)y(XCb8M@>b%|=n+>T&iU|0)wRQRk}v-bUd
zXPuw_-fwOWPikptscrSQJ*BUwO`k4ay?oK4N1f{PemvE$|9K_YpOuAW$DX|m3=BEU
zAWN%rUR_+XX3d#1XPVjhyYl%YjZ$7-TG}n9Ta@^kfq`KQ;};Ev18+C3bWcu7YU7vB
zQ?*^_&d6|}1r&34<Yre*S@QhiV)yFr?{dGYU0(e4>sM*BoQnT{zrWw{xbMM(2S0xN
zI5*cid)kaETefW3v}qH&T*ZTx%ja?N@~&OCuCKfM_U>~1{T`vAqI1vRzqutdI5=3i
zXbA(uflN>m$@BNN^_o<8tVeR`(xqYPMYg}bT=uX3`E)ubC+Ghk$L;@pw*PNzU|?Wr
zxpTt?11+trySqx0kM}M8zq{(|EAx95htHqy|ECo<|DTA6$dP-In^I1$3|?MTTwGgQ
z8~eeRk>LP1+3m13G&Eel_uH%==jPc~uUfr2d~H-}>9bo~v*l~QT%0gLKxm3~*qRx(
z)!Wi8PG@ChE&0^KDeTrG;aD|g?wpx3D_>t*`{2QYYhN^K^<>3GMJubTwf}W7Fg!R3
z3L+~dNlD4`cE8^!_uCld-Pv*B!i9;-?w4kNzgPW!U+wQ>J(9}vBIDxng8PphJGN}u
zvU#@EV$rsY3=Mvu0C;z#jaORDZ;nOHkAlC`cU63R6rI1f^v{ov%I<wCYHD`>|9rl8
z@1DBfoDI7wva6=}eg67&@8@&YYlD8cCM6|>t&h9AKHmQCT2=-IezqzRh6jEV1Y)*k
zUG0%HE{RKjdTMIT{bk1K=X#{g->qK1Ps+CHi}86IVOiO;_s*X`zuew;p3Ti=a(k=3
zzS@4j&N}Hx$NfLg%)O`UZT+b^*Q(U2_SY7XuRIJ4ay+0UGIv6%ysSaOfhJaNAt9j`
zI~FWZP*YpBX_JwvYU<}_XVv}Zy}7%)JURLCVSam?>}zXQ1~0#LGX2!4Q?o3K)3O%{
ze+y(_C}4RJ$k1Rtao#*R8JRWqDaQ8p|7WJp`}u5k{;u-(anaGUXU>!q6T5cj&YqH&
zmzdf4e*F3sx3fr9NvX+h-KtexUo`&rA8zAaY`#<Os?MU#OO~{_Xswn|-BkAWmTR|I
z<kdM$3=9dZ5Z69kpB@q(e*OCO=#|kyOQ%kqs-jd|Q&SQr|E~(}5JkiJCs_}~^D{8?
zfitN3n;);Uv$MayzhD33!^0alZfw|Ka8-BZnl*o}uCM!gMA+ZO&25{QJwv@M1A_$<
z*q)4+>+`d+PMtbc_4%xMzl`OfdpCENuh(hcCmSKFQRc(G#5(=#tkUzg-#eZoTlDDh
z<K=#Ht%{zU*tKid;dXv`n+gMa`~Sy!r5{<YyS{kN#^mE}uCBHpj|elf@hq5boPN&7
z%ZrPHBjBzC14BVJIPJJpRsH(<`ugWjpZetO@7=Oo?AH6~`}gp>lYafG%5uxDmo>|Y
zNJ&wV1>2hoE=bgynwpOF%f|-?fBtqm-`vFHhE2O)L8IrUb?fxBwO4Q5&&JN~?(Tm4
z$Pr{s6?VbF!Iv*CcITJ1DtU0Aadr6muIDq3$M@H$!Gkh!^F85}mt?KWo;-VYZ&#_e
zaj>26D^NODcIan1X<}|39v*J|SfIc#G&HnZTwl(*Oy{IR*y-ALcXs~!_wVv@|L+ph
zH_om4p|ikPT|NEW980y8-&_7vG03#It$n}mcb`>$M#hS?o1N1aocsD@vVT=&rQ}_!
z1u`!J6=r_=^l7GXdfl&=%iYYEGzSF-J4=0ea&mHOYpY80tXZ=jJ$}4B_x7|YQ(TPB
zy}0Jd@bv@ZhY%xU<CUjf+}-zoyOsTA)0Qn$zGU>v+5Y==eZSI+qmLWqSSK~gsb0Et
zDJwgBe*M2nXS=;ScUmeaJYcu~aq#*4`g3o%OqR*pR&Cj_<3?=C9NCn&@$aPs?719v
z-`JGu9TO9imG$b;(e9V3YgZrdllA5*y}mBi&75}yYn6z{vVHshU0E5d_hH&B$son>
zbuo$FHO?GdTw1!is=QWpe=4rcJ96Ym>gj2@cXw@ldh+Vkt8=Z(zkU5W^>*8;RjYQt
z-xvKW_369#^-@1xGiHcKMn)Q^pPOS*sC4^Yli0VtRbLmCnsW29gEH*|o|O}R{P?lA
z`n%L!0cFdQ7Z-Y^&C|}$%RRCD`qisn-`t$cm*KEHaW0>evvYS>mzZu;O0d%97xEGk
z8h2-TA1eIx<m4rN?s{7Wxig=hp5C5&+l@Oj$}fA`#wl%rRt;evE39_OseZh2<;s%(
zR_i{>?Q+fDxqsiTUAy+}i~G+STb#f0<}dwAJB!n&od}JHsQCQsY)1#j-|IP^#l^*`
zsY~Yy^U2x#xKn(-va&LEXVKB)$Df~>X$;EV-*0N1_g`#pXum1Qc30L_t*X4Q@n`Sf
z-(UUx-7KSe+uI&5-|c?CZtdEu^``ftmi{)rdgaQ6Th7m2e>ks}(v0nymvud-Om*qj
z1DuBrAJ&iE<)SRH*2dJE|J12div)FyjW54g*7$$6X~>0(Uo*Dn-Hp;-c~{Tw_nXb^
z@-+efOW!znZSkJ27o=DE`kHR(%Ptc~F%gk7GYp&6EH#~4woHE|*>OuV)oWRq(b5%H
z;^TvYoSN30z5MLl+}*{`{oej&-20T%<lXaU&rapvfBWX<W>8Z8wSMx987D+GE7jW;
zuem(OeO2uLt1p(vZ^@Xr>_)u*qB(AIbHx{OKKu3cb<nM3_Pov4JJ+vYAG$VDG$bU1
zN6N(G>v9I`4T<;DI^z>`YSJe9wO?B-G{4mD?~2D)Rt7J2>z!1za<aOApNwVDsijdt
zv9WtoPfs(=zUDEr&cyrJQW3}G_BnH8wryQp=h1fQQ{c*46J1?hGqY`HFQ1!d>s@v9
zoU`BQ*~gB#`EIP8vSr^C7Zy4HWhd-T3H2}YpYONV`Ttchy_g@rUa!yA`aJX1>(|v^
zUMM~d(u?@CagB)P^j#${C%rnG5F8XVO*eYk7v%=oij=_Y?92q6u9D>TYl|f%B~5ZY
zc3$a`G!Ak1v0C9Illb}BS?#bj6N*+&GpMf(3KHV}b<sa2CZ?!p(-iNm$4*VvemT!$
zr^xCfe#sfJv2z!xp1SOBzqj^x+3)8c81McI*VfjSwkpw>Yn*U^VcJ<O!73h)rZw^V
z=b7yKxBBa=tFKS%?_bjV<HwJc!OOkk0|K*!g@q$qb^eA+o8?4gX0BXzDPBMDVeaj1
zxi2p*4br<RrIQ(TYUvFoQ+s=ReSQCnCmdD>M=f5p!ze>ID)sO6`oGir`~7`=c}rz9
z{|cU1<UL*Q^mP67g(8<;UZ|RK)HmBoW_pd}-Tn3dKR-WzI(MGv=Vxb=%a&c+wB&Y+
z+9%)HW|>-V-`@KE@7H8?|4TeeBFlu*6JNefJv+-(CDr7#-2-*MITP-jx;@h%k!kBp
zzOeOid-LvEsjoYrZXon)$^R+8Ubpi|7JYjYX|>?FqLo$DpUX$P#a{+4QEcYB;pX_}
zN$u}%uCA^hFGqaa`)zOR{#C2G{&kl~$GN(?Iy*Dhid9EOM`v#>pQzkX7bhmV_*}fd
zzfSb>!qbJ-f`9kuXt~YZKkt{(*9_m|4-U6a$-KO5@855?i)N>@nwNas(fuvSlwniS
z%dRyHTYe-a9<fp0u=m3Ib9`N0T~1C;DQ4?fm)!pI=g$p8{goH>qP`i;e7jp#>WqBl
z6Tz|^ReLqxSuW;ts?2pCnslqHsHrV``s4nl=_|8!`OS;E<Br*P-#`4#$$U=U?q$wt
zFBUq#zIbu5yYc-wmz|enEDCt*`bg_Y=Krtn?(UvhBWY3aKs>%iacAxQ;K)cxaq;q>
zpHi1qR76x&D>ix<1#Z@vzW>)N?UQTw%$5K5q1`<1&IO&m>gRLbtXVKA?WXys%l`JE
z&)18m_Z2@s7umY^lCApAW3jhqxki<~yL0mun_lE56;soxd`Zd4@s&?SOaJ}a{ccxx
z>BfDvzbCnry|c0rnE5il^k3Dk?KzEBSyxtkzgK;J=j#vYovue$e7;`X`uxkMNw;-8
z&jz$ly|eH3%j@gqdne3Ny?M^^JZHWx@6O|Wva7c(P<q#)=iRSuy|3=C)$QkN_I^-Z
z$Ng>LiSy^5FPb^ecACfaxF3HOS$*qSzc}if(Kf$l4^z%0q+Fhze)aT~t<$8}&M9jw
zI=+m%>LxS4jl<-oWs9eOytXM$ZD(!n#f4v2Y~OCKo%!sGP}mv6qNr0APRYs1*Vo0~
z+<5t5T+%f^P&%m1d@HP>ub&>+{ATIp?XIW7%UC{cvq(RDxn+^ctW-X2P0hfN_nP|p
z`ZhLm_+C7#`TO;HSpCx3Zg1u7>uh@6-^f;N$egv&D<ZLt-Acl)=Euv+%dfr++@_}Z
z;@Jnat>XJqmZwVS9uv7*z35up?y|RsTDfNlynVn@a=5#@d+Yn>rMq<2GKWgc+2OPN
zwe|NUot=d`?;_KFv%EO=$!LpTy+FRM_W`X959SD-uv_zQsoD~CE5`EoI}T_a6TP><
zv3ZUjw?owY$}JK4lW*?3J=3oC*S^}{CeeF)zLvc6zp=mG{;uupgDNraR`Z!Y)NJ-U
zU9xey=G+rU;+}nB|9H*nt@0)3<5w5&;pkg-{@MBIQ~jiwWF4n%4A`%@!S~hc*O@WN
z$DDlU-;CJrc|-8Wm&M0(&UBe=e*9QW<mc<1irY+E-MQ~f)egTjJ!${@mBGu8^-6Eg
zxoK4R>>0oPYNNI5<o-3Wa=!?>@bOr$^vx+RS;Brf%-ugvKL7r{xl!-#lvW(j^Ue%<
zvR-`h%sKO_k91q)1{AXFi@KbwBotkJtx2ig_CM>_H=IZIZ{j{B?laS<m6x^ZT3}Gf
z4&^UzZcY}}d~9t{n3a{4F>7(_wfX=5q?;*U4p(lC4GBrv+P3jkYS%2SrPEE#&5KJP
z&Wbzc{C2KGj_&D>sn_h-U+k!wqHg^1<JnB7fMqXKrt<w4nH%=y!-o%h_SpEk*Lcnj
z*sscXq^8))R>Y>TedpArrXR~vcysT>xrQrmU4A0|{Mr1nKMh-MczAkdW@OyhTW#LE
zaEYBK-=r5c4_n16awK)@BNrXGxY+&j<;$VB-CwROt~#w}Xwx@ub@{zY_tyRM-l^+q
z-Zb?7T=dS$Myt&=Pvg_|V)3=}cDf78sV_a9`Pa{%?PS%jOq1@=oLgHmyZ(GNsoCf{
zW!@hDi>1q|;`V>PR~^Z#GtKAa9oIEgGZ)=3-gu||Y@8c+^{Y;km@_kt+tX|(xkqoy
zv8?&=p_$)KgYR5W4@a)j-szfW&rVf!jgibsay@=^@g2?;>Aov#-v?h1S>Jr~pVh29
z*^}}&-Q_BmY}gPG^_%60p!@RI?YpN=U1oB!=<ftBMcqY_YIk=QKiB$nz1Vo3-)d=j
zrR(eC|37S(Uv+J<-|>frzrMUYJn4&PR{fuk$F=@^t+7lr7C2P6W>M0L#VbF6z39N<
z`{9z+-0~M3VLyxg;@y3CE1%6w2PG%QeybBR43p>V<NJS2_cNdBp&*Hy8!ta}<GIIr
zrSg1+)q;(Ilkc7uIXdrS+_KH(A0F^t|6;WKbE3pL9@CAB9={5lcV@|P^W}Hv#V^W;
z)SPvpv})bYO+lO2Jg_c*r?aqjdvJXG{{zhY8@}%HYd!A0PRlp*ks;6VetGq~@4uA(
z2)MmHKfY>F$dA`Qc`xptZS0@9NU`X6pRCrOuX}#A%u7*Y`|fcmz<cu2p!&W4EStHd
zcJZw(gQ(8DKIPHl&HW<F)t!BK6E(kG`up`!(XE$v6xhn&Yi#ZMs2H21ADpi9{G3MT
zUZ1&D&orAiRn6Sh>67%PSKHZl&5IpXA=Bo13QwC_bw{-<!SnK)i02J@dfKJy{>lF2
zn7h>3W&ZR<i!6n_+dHN&S~yK)-WMx<A>Lzuf?{`<)&BW-eCjRtui?){&o+L3e*XVS
z|2idG-G<o-*Vo6-pD<y;^B|k#=C?8SxwlMg!?b6gFiQ12*|?!URBqA~@62g>%OX>H
z|A}>ds5^K__e)II`r}h}mG4;WzkF%T<n)s5%;l#oVk7&NzZuP)p2aJ=*C)_Yw{vHw
z-f5LQPxh;elY}JKZY-I_nYwmSRC6@zk~QH!_S`m_6T`KKZQ7Kr3zQ#Ds(Mh&cG~26
zrK#Kr*ZtS`|GmB6Q-8LS;exO;&u3c{CZ(h-`O@Cl|Ey}#ObMF_tMl*g+njbbD3E{t
z?2~g>KhRLx^>f8}ul4Qv=2!gddnJBHT+O^xta&lmCAQ&M?#nWFyBV)N(~@=^+q-zt
z^p(cbv|pua&3RB{JAcn~O|9js+gFL4R|!i=%I@V`<?d;EX_41t5x14Ql0S%Um{P%K
z{nTv90nvF=b{~9vTjc1b4-5Rmj>kQ}TA`t}w)n-VOZn^9SlGC2&$}xnC1uimZN7E+
zx;t~E3r()ufA8QrbN%}CX+cHqo)^7W+spW_`LR~h;O*xbrJA=33RstE91pDT%@e%G
z>hb7u?9_Mb_rKrwJL0VV-`19x2loW4XVz`sT4B12^Y5>(mv8U8J@NKwm+cF=B$dsL
zTfQ^7KHc&p?C$j2>9Wh4Uj^=)-FNOpJll2-t*Ee1Yl1Y*oYu|zIjyZoG4=4T*;7_%
zYEDghb71Y!Ah9M+PEKj_yem5A?0#*0;%0jBi<`2tch~jF4Cfxciky5!(B+8K-SG8s
zSLNrN;$C(6v%~kWyhBFow<)d;{_u&l<feFBh2y$w)2FUG_u!kitEkhHTTvBmYNZ?B
z-rj!NbaMC952bFCjenGfho}YLnc$kIA3U)+HMGj<KWn9aaG+>>-cy--r$we-7V`Fg
zQGY3<pL6ZQAlp-A?-K3VeAP`@KY6x_oRQAo6Br%+`sq_p=hWz+%jW9m=jN_m=DF*A
ziP7)=vuDqKsk!WY^WIy}BQ4B-1wDkAzeOw6PSn*4DowM!-D0h_#K->IcI8W*Q+gv@
zGA25E%btC-@b};M_4?QKm1_@c#hsdBCA(JU$*<RyKUE@&`Te&o__sCvyxh*q{a4#U
zf9apdX1mDj#=I-$t4_JL>`q3rFc1IlPq;&>GG2C0eZBtq-|)#(-koI55phlV6sP9>
z^u_%zr}_3wKdB{ks(NPE4db0tk50{dsuA0`L+#2ERlTc=9UUD@mWQp4a*eJ1{Os(P
zxigP;KRYTOUo-KZ;>OUxz>l}@|NHjb{=enkCHowO4xW0cd2RYK;Z>_vb#-;!O8q(g
zwQ0hO`$rd={;0DN`tJQeI@ofrb#e9zkNyptV|V*4ncg6F_td4siWQQ4kuL@Bto7*^
ztF7H>X7jFTLaF?Y*!W<9t0`MoPWs1PB)m-RcDQ!!>cXYf)4lcE)%y&B&Ky>{qoSrd
zD@J(J;uU9gHpS?@s+u_^KtTJ-SEHBBYro7D2YJOXb%Nryut271zA>xZJ-t4iI`E~{
zb6#3{`eZXD(*xTlU)0&RSvPvylxfo@{mAg`pX9c1|D;VeWp5&?=ZajaEuNLbKa0aW
z$@7l?G=1%*)tR9?u0LgC=qUKU>qvYrJA=pm?RWO-oo-WSWAMn=E&p@!QeP57gGl_U
zj*{c@@+nncUwwVpF7I{am)4@@D{o`hCG8e?*LZRM!Q|F2Z=H6`^$ZT?4cJv3TgA}O
z@x}LfB}2oP8^)r~eB^%V*uIZUI;G%Vx}p>0aCROEhtKz4U0wY$@(HuaS_RLdn^*M8
z-Yhmb_V;am{o>=dIveL@yLak!+E#ztuxY`i=~E}G`6fO7u_^WRw!FJqPiOt%^H|@t
ze$kY5cUUw9MWq8z_)ZXd_|jeI?U7Ah8qtckI#X5MKw^TI`%`+`7YVzqYjkui57=J5
zb4{;}OU0(vlKDpck8f?yj}Hl%@{hZ#Ozovxt>{blS5-4-)GgV(NzT1>_2h%qGmmi2
z{ciN~ptRPd{t)$qn@6sGT&!ZtFKgw(Z)@weWy{j_Uhh*<Q*ZVdWc&7C`oDJl`u$~Z
zZ>i6(dF0}-uxo*EA=9+oYo6>Yom=|b^~a{5Bp!yvd!No+wR-i+>9@A~uIkQz{B-86
zE!!{daeA$hb@Fccec$~}b9FhNh)sCZ@pPt2p8bjp_b_(u;}?oOl9{d_{Bq{cQ~mmd
z)_aPcdd>c))44R)Wk>%dKLr;*KR(`5Vf<QK=RcczZC+fVdsye^UCQs6W-Xsz{ch)*
zH#y&obai`sD`u&hEPdK@lsWuK8gJLrnQvAYO4+=8{_LA>)z3@b`cI!ey?EZ&zT~uf
zY^$lqZrfQg>8$R8rPZ!lTIW*|^oyA~S(ms}=uduO^?0vO)xFJKpL~kAJuExCziROM
z>p0D6^Om|VEG(RPWXaLv-TM19@*KUFU;MtjaI>kcSNR;Zi!U!PkKbSScklOm+4)y?
zE?Q#q&T3-BG5?b99%r5@3K|qVa46IHsMZm9wJ&4Yq)9?zF{$?VUFTd?@iN?)S3g^N
zqt6V3hoFI~UteGU|GoeJY&q{qzH57H-|kxTxZwZ#JGRC@QePS_UZ?VUlg$YgBcn;H
zl>~qJZqK{x_58w)^Hvto)8F0MIr-g(D=UNfWh^cf?XQmev1aROEBDz~%~m9;+*x_L
zgPUiPz6o!{Ud=@sTFcHBE?ckwH0ZyGy}x|*#l`OSe?A<}`OIBa7iG7r>ziKrk!auN
z7d-ra^`CY5k`TaN|K*~4_?n1=PwGw|biBwEdU4tdEv9u6HZwi*${*Y_-nsK?QTD9@
zk*`LgPn|?_pRRbZX_d2Y&Lb<^TbK0x=h_<>6#V=1^Y8EP;;~UWY!j!j+a{KMnz=4^
z_qX-`f35$rX3J@ZwTH})2LvATzvJS5K5xJ7Le;3;+_h?3_jm5**^*h7dh?NryO+23
z?KAtIz22`Iz3oDQ=F+Wy?paMbBO)T=V&0X0achl^>yxnjgaS=5Ik|bWXKO#5HEWYp
zUCq19vp#nD_iTbh@9rv9o_OS)%E{nMjAwMbd>08Wc>3nh;-n{fH!Brd&VJcvntg4_
z(xn&u{r9ibu#H^HyxQFL#~!_p>e<He2CAy6ii(Y2WY%_9Z2$D_o1V7zW_jZUN$)?I
z&7JrA`}_H})nz3mCbqZVd|Z5R{*f<7yTvm(y}nO#yE1L@<V7jma<8<^c^cH0c-^lJ
zoOmes%IP0H%I2M6u5V`UdOIZ~=jn-Hwx`d|X!4q7@?L)#C>8Ufd};pCm?tKJpi!<b
z8GSOAlYZIrPM>X_&&SQ3Y-TK#o|$?kY;{hdXUV%eGwb{e_s?_F{<Z&#y6pU~S3~bV
zSsmJW+AB`Mx#|d~{OOdb_b#w-?^mA2Fw6Jl@+Ix_>Ykc?)hO5Y{xZ*EyP$V%t!?My
zudlD)?tJjXyR2$S_?igC#T);d6wbA&44S;xKeV{m*mtsyg3F_S8}GDTkD9=#yRZJ&
z<@rI+w+4NC`t<3SIr~2x;x^&iqO)O@l9t;S(HlN3%L5<XtA2m>#EAv}4lPxGx!nHW
z$Nn#mFI8NcB^N3vdihz|=MrYmlYz4{Kc3$uYJB7J|3%F8_5Wq9%WiyeS$!jA-Pt_v
zwQuk3wXPM6YTPihW0voEMcwR|dHixVGg7AcE*I#po;D-r;N+PqWzoK=N3HIiUU5@*
zE~lUJH>1cx?j-%m(J2=u#62_7s*;R%_dLJ!*+R80vw1n4-haQE9KXPG<QjYI?y{x%
zC)$LBR85LD>Ij@Iiq2fK+|>5}M~O8P7OrqN?OwNN=i9~oc10U*ued$8V|x3P9c!K(
zUiZ&->)IQ;O0}hnRog5-abz6#_Pf;bq(km$n^>o}!*jEwh1V`s<l6u9Y+cwYS6vnm
z65?{WWlFYD#j(yc>2Dq#?f(1wd;0Njy5_pNXHB+l;FxpfjL&S-NfketBDbagQusB~
z#C!YF#3fsMpLwbm+IsQ7J<M<a=i_nt;QLz^yB|&Aj#Qmr;nngtMNP_Vr`+BB_4c})
z9{!VS7MicTDJm+eyV*13P3*e`(an-Ccgm#(%3M)>IioIn_V#dBrfFQ;*_>UET5X)}
z*;AJKA<k{`r#Ck@e~q8;-6-;Ehh<XDlr?e3HWw{Tzp(1Ysfqj#gyy#Mlzv}m%5!6W
zr<{V&0!Bv0u;irL+S<}m)34euMQ^$OSfISODK9ryS9kf1jZ-eoK7018{hx>Ykt<fa
z+!k&AeeGrVk5{YLe+jR<){+>$OKxght@EFaGCFcD|5I;m$=t$XU-YD-_Vk=D4kq)?
zxY&zrPW5UzzWt<-(x2DmFE2e^Iz4XF<<n8!H49pK@0!p4xaLlWs`kyKr>CZ_;c@Dh
zvwa~P-R&p#RpV@>N#f)U3#NW(WM-c<X;M^i+Q*A-VMdFZRg+z8wGPRt%yztSX>zg*
z|L<*=7QcM?(!~8j$B{=DbN|J^<c#P#v`<n?>zbyQWAcZ+>M4=A75drJjZZl)`EFFI
znQ^ImtEShwgcX~Gx4Rv`r5|!M%B#h_-6Jw=)xG)C)8BdT6jiyhtL*KmK3RUp;(&fH
zeYG>yv!2cP|KirxY-P6|1zDe@6=%IvA0?|T<>KToojQB-`3E0!H|3m9TJc&se^27^
zBIQ?sQQhvYt{b0E_*d=a)pd5c)2^y##r<j9l{>1Y++Jn5w$y*;(OWY8FND6n=oD5z
zH{bsJnW8f(*~RxJ#o3(rD0O#{+|v7VTe$hnwti|WJi=kGdCl?OQ8r#FmvYbNSJxD*
z7mA&A;dIJf-ndAAS3~c6r<bfq|E_iMsB6=gAj?@zao5yjz573zE>+94w$Of}r!D%_
zuDHTukw~y1fB1!4li$BwAa^xIT=*IDy5?muLAszB-Ux#^X)}}FmixuEx^z`d+c$e@
z$Cn>wd1}{hJzl^3@vU38?%cUE+dSWIw%OZ%zu#}qbbpw(XJ75_xIGnt>A|KCrz=T*
zSsnj()z+z<E8Hzj=H2*sJ-eye&r7__=5gqi#VTR*YQNpwv}sdAL&Ng<b-(VG-(TvN
zUi@Nmbj;n48AXBpVPRo*UoJRXm%meybzoMg?Y>r*y7Q|~#hQsnjLyr5vNB%DO<Zty
z-}e@gY{U1dm&!L?=y{!b?qF}2-n-Ou2Ve7etdUA-?_27=^SVQz4U2w{dg^~q*R6_{
zMdiZJ94CV&V_c^;|Et>NU2<GTaQ&ZOK~{3*zpae^&ao^$mi1u4$xC%ktMBy2weidQ
zRXI(LY7V>j^{4~Kt~bH{wyEhWo&Qc;W>u!1ot5<>ZeqnE%h}gT_4j_6bany9$6vpu
zzgfhc^x#0_7nyC(J|wByti8mVach}%ntHoKPuE5HjDzjd&0@D)F?e-rPqeCv%AQ}Z
zR&V*BF!5rP-DI`u_eIC&UJ2{I<lN48QQ47SWv%GTd)vNspYY{<C^%UwsB@`x=+fhD
zH+Sy)m!fGnA*xlf<9kxrWXJTSwO32cpXNP1;o9`&0#n<rvx2#oHh$6ges*o#-m1I1
zN-wR~zs2#@f7%@-joSNVZ2gAQAF)0Qyt?E=#$G-139gg(3YyKYOUXTw)Ox3P!_MXi
z*9o0!S1nZ1zW)8XzFxIZ^X}=x!WX}|AMJ>&y>dO|PF&~yxvyk{pS+7*x5#aK$B`=n
zhKuJciO9Cht$NVBbIKCod#9INpYZ4c!@ry9^D~XOsy@W2+0N`doP7Sv^6F1<YK7g7
zf_4*6zD@0NX@a_S#iG437D<j3b5DB}=6~F@Y16c=`CpXvqD%80s7>Sb^6^>1=Dp_p
znF$eJ!!Nq&DDC0uTy|UKz;iiKK_{NPtV{XTVyoxH?k+o<CK)*Q!?joaU4pCU1?Dd`
zbgVK`op12v_Po&d8oGt=i%MPlEQErcUq~)ccbqKFa!F{XYvqomF?lDe1ocjTF`rQ$
z(Ycj%?SqZ!zq~iDdY3BHeXVohx@YfG`z|zoS@A_jc=m~?uur@GUebQpePcb#JBvm4
zC$p7H)r78TP8Ah?cG4&4kXFv2=~HLDyTt*T*w|aORc*J>K8|w5m(%w=S|>1FKc0`1
zbE4dxW0%Fhs7HU0y8Gp8=C`GxEk|x$=b86sb+E0r7L&eGm&e?~^Oq(+iBeKyez8Xp
z%-Wu@vukhong^jDzw%E?(hpwv!KAX<zhke@L}M@EJ;j@<W?C8V<ZhFl$hX9O=Si=*
z*BvHrU#cjtH1*cW%3F)irK<MtT-fLMdjG3eS)$pda;Fy=C#^YqSLf?td#B5D^_FFb
ziwRydSXL||w%I2`;q&LuljU|EjGaGgUkdj{pSn*^P6jS^)BJk<wa>PIEuPCnH+|D9
zZ#*RYb%kI0(l1I$x)XP=T+F@6$K`XcobkL+{mDBVw|A_0JEhWS@};<ApXZhGy?nK8
zk!av7%XC-vON)yxmq#`CPqKP@d()IfwJApvKCZ};lF8irF5y&7^}{%=xp)0RvHbMu
z)6>&*llLz;H>ujj#4B(@r`n8YliIRc?eHs0JST_zc>QwSxp}s;C1-wdIoe^pdqT_t
zNvGER^YpKls70Ts`tepd`+bqz%Jt_|!s6ro?d4}*Fa0&;{oe0!-z-+1`1h<paOLH_
z%HNEZN_T(0y=eLLmFqGO3w*D?Bz*7LtT?r7ZTHgBAlEBz|6iHJx5Pcxz$I&Y{_KUz
z4@i7p;(fp0y~Uk1<CoW*u8Y4+iZm}R?h7~B(!Z-W!s6x2m)Y0WB*tmkeyg}@njvZO
zC?ze;NPN;fjk?uy*L&)%_;CGl>dIE1#jgX;*UU+^j^7^kDo8zPV~}m_%;TR|7GKP2
zijMRz+L%3O-l7W^Crbqd1{!8uP$<(W*Y?&<`P&p!r|kY<o@D1<pS0h3?dNAy^*mko
zGIi6oq9@7Sm;OF|s+MqbIrB@<sN}iq0}u4Pm(Ld}w3qwKs`JL#xc%H3&DAeK%b>dc
zd`;Rl<8o^7l)NK{B6pYR@>=b=u<Nq?l3i@Npy|uq<?qw(G22GnKefxP++iYU<k;Bs
zW#p!QY4dkKK0dzny|~}X)@%Eewe??qSfxZ>f1|8=^N^{Z|E0y=({vtgoZ+{9+H}dl
z>1U2iNUffndN@y5v(PteuTR|TH4k4!`d7NVo4ss#lkVD3g{3jmUs<h`*||{d+e?kA
zkS)e9&#2}L-!q(ZE+Jr-e81?OEiX$-IQmzm-8AT%zN4IJp5C*P?47*+N8NN}b}cQ@
zUgk6NP)o;UP2ZY#6So%5_kHnwkt=I;hN-Nx%Ky?C9~QZLx9*>J?X`){rV>NjlVW##
z&Q1FHLVdBjQ`IcxuTQ(WxVBC0yL?jYk(;L0E8ngc{@WfL4lgM9&?&60vi*Jai|vcI
zE}h}_GA4WR;>DSU%T|`VpVGQ?#69OKSO4?cSB8&2#w}a1Nv{2Qt<~QvozXn2-lhK9
zUi4(IPwXj$_U&P(zUh^Hh_F5N_@RV}*aj2jrOqnN?(G+t-`=TkJg?E+9VGSY)PuyW
zDvRev3trlAv_|Gk+wze9qFS@MKNZivXxOsptO;IuXz}rWw};#BRdwHF%Q*QiCg#?y
zt=TuLVo%9Mt=(Ak)GO+%(c|8<PPd|SjR*cN*Llzr*C%ToR<-%@<HwnE)t+s#*tloS
z+O?^Pb8mf*yQS#dc4OtfcP1r~RhMQ|J)0f4Rs2=(nV_Y56Q>=Xtn0DDa=P~9i4zY#
z+B~&w>(l4YpGPLh9(j4~(&Hn~Zb^!%Y!6znZ{NJ1Rwk#5ZoNFf@b8KBU4PjnyLQd$
z=REh-C^G)0pvU6P2N<%J7k~V<XL_cXe#?<<TU%NfZ#Nxz+1b<Ga^QeNsiYduy{LQc
zB40)NuP)a8J|k^KTyWO*{B6sGU4MV<DCpl%cjL?DJ9pNch+ltq-}^m&Q-0Zcy2tG-
zS{l7QFUQ{Cuf{6J(-x(#LcYJdTgf!7ZpP=3x%=l;8D?gPi7uX;c(~0ld$Lu%ZS1sZ
z2X(aE)b%_xADqtot5I5&7P)}EM>l|xLC-l*$glnKVk_=kt0sy3g~Fvb8DtD6IjZYS
zh*?=1QWEpZ#eZAm>?>EU)O<c`{(k>|JM**`E}8aA-7YE3mfBPIx9V^B<HYw}f4+X{
zIXl~2Usbi0UE)RK``(o&;{DANzrVYya=M~d%hu!O-Q#wT)QYVFUwv7#`NKtb`Hd;u
z3=O9Pp2U8Mu(e7#Au#*>e2YS-mDd{_nXNR1{$39ZR}WpXwfbt@rp=q#c_bEu^k+?D
zsGPQa9lOxhSEnj7rfJz<Il;;;w&6t7Tpl@_h?Su|A$|Mz@1H+kp4;P+r;7_qv7^E9
zT}sL(TP>B9o&T4vn0Tgb`MG%i>8ZzT{)Pu%bkcsYbE)34|5kIY%cm(FjBdVrDfjla
zlR@Vh7}zZ<J}l^3y6pI?Kn9+cpRcbTU4Clmf&~p?nU{1w{{H^{{q^<pvzYhmO!@Wt
z?o+iLf<FDL`r;TEcJRCiRFJ&-EpU57-l4V8+wZux8r1JCIlfD&ey@_pofRwE*T2}b
z;9k?ESH=ts;Y_w%D$KU4A~*e5AG>?ngb4{H&N51Nc6JI14z3TYM8AFzW&FLOn(?;=
zgB;rzjR`%M{#2D8-23ON&i=Tnghh+~RJl6z?-IYTn4v=A!eR%b4gFaku16Q>*W3P0
zVPs^yRDLR;B$A=t7NVQy%L=yoy{tc8UyT(zV8_+a&Iq!-elJ|mp`YnNB4`=Z0lQVT
z@%-_zduw+dh+nU{8sz4NtB1pPowQ&$FcqZ2p+D>X^~2@jn#W!}^wy7AzeR3e$&_n{
z%f*#9O2eJY^XKcV-9KMv#=XC~Iy@s|#hug3mM;gjrl-|Kx*mvs9|yDW`O1|mcb2}M
zHuW^mw?N*1Roox0uimZ00QS{^%1xU#ffhrqiBR0fX}ikv>-F}Q7M<8#AuF#-|EuEt
z7Ff>wEs(*6=SAQHo25&amX?-2KHhJ>OL3X=qW$w&czt(yh01<ge|>@bUEUWkbxU@g
zn`fJCs=8uB|F!Ga%irINeZ(57yjsrguIH?hmkRp&`Z_vic6RGTZhA61e_v-u#|(qS
zrn86Mtowfb`n7A5qHJq^e3<NSCn+nd`@MKB^Vbh|xvv~%KXAA~j`iH+dGq2zL#Ixe
zqOwmjwtw1`DHqt^-q{&^jWxDm<(tJZSIXYrD*g54<>s`rvn&c1RWzM`_0ZhZ^y#x_
z?`~{VR#$J|>%9Gh3hU=Y`BMD^c~*#-!4VM^Utfi4uT-(!e@|9juJ~1;-}<<{FPegv
z`>F1|v9mb+>d&uVzkX%cee(SI{T+qQHtba*7VXx2+zbrX4*gAGni?7lR!(X0&VF=>
zv)*>H+SI92`KsDqW<7lP@XP)~hYsDzc(-!x+P~j!=U0D!xAuQf*_R9_r$al7pWoVZ
zXl3wnz1UqTpZ#sCzATXTHlMj}{h|2!?{~}Z7ao^Adi1ETudms8#f8__O?tL*<Hjy7
zkAv~=;||30gA-Vks;#Z9nws0@j<%h}&(F;=eLb)GouI!($%_k9wZqrEiC+6M(5muy
zpX|<^J9RcpnzF9>Y=OIT2iNZm??kWdOV_PicUJqt`-rHhtk3?9jg4P6|9il0zn~ek
zLTjz)%?*jp+w<<Oi`(n9-})}^?B{1@8mp_Q9Ql~d#?G$2N|*olit2}bhnW}-@LgEE
zAasY^(;ivtX<q_DLPR$I*$Q3}X;t+_!&h3x&GjjZ?JJAgUtfM+?5~?LYnD~k6^-XI
z-*x|fJ>15-__d3hn^Erbrm7!bR%~EV({9%L^Ywt`ox%tPh8v7kTa+Iyh<$scQ+Rjz
z`)xm$KX~xq#ful8J{1MUn*IHH^5n_<eLtVw&fkCc!i5W;_J4nW-(FGi;J@YkQYIad
z=hmpnWmSfTPJL{8%-h@h<>NIvyH`z&;NQP!(V`VAGXDJdsPeJ&Rp2iE&$<z&XQuxA
z`lUD}E$!W{t=+bb&n_-r(asNE5PnNg(ypeWxVU)s@`*_qXU}^5`1!L}(m3tPia_1h
z5Bue8e=Tg6)6&z+d;7oa<)x)(S2$*=oL(vZHN(f}Od~UUO>OPU#Qp!it~bxQksvCk
zu+PWSv-0KA>AT9``^C3xxd@um*Voq<pYr+2l{fM4OHN;37wi4s&CQKZ*6PYL&UNeC
z{rlzDmc3Zc!^>;xd9db&`(5rE?u;J{7PvdE-ty&owpe)n5>_GeZ-2k;IhImaw=dMn
zd-tEOU+ypWndzie{O!$6(46Uq!~CB8*REXo^JTex?en?i9=C2?S!@y>_}Ej}c)H16
z&;OU+Je9ItmGr-=RQLG5uTo!D>}Iru6k}1YR~FaR)h%I7KRZh`ZL-CT`1tT}cVqXo
zG_~zBwt4qwO^aC}ZJuZI<3Y2dqhrkEi|lvH@7F#*KY#m5cTdB98OurTtO3$__x9Xe
zA8&vCMWE>K>#MUZzpZCyU`WsbB^{6ceLo&`t2E53c+_c_d~A!&!o9z*PxiXKzux|@
z{-n0Imln^NGG)s2_`03jwtY*t|9x|jYxj!WwLd}2qBfPhyfkfNXI`#+Z+Exy#Itc;
zf4D9zmU^@J9orj7$^DM&_A50lty2fgZmjwKglW~PRsX&$w_h8*J@5QHThJ(C?yHLv
zCQNwoBIBOfuGlqfOMbt)c;Q08Jeg}ty{8MS`+4lKXpk$_UjPa6yP{Iv=DD|?%$XV}
zrgwY)y=TYQ#_as`di{R2&|9m+*GF&9Gu*ke`un?{o}T36eX1%dH6ISLyZ6hbs$ZTh
zZI-iQ&6<*4xv3HS@;lhB94^-n;Fo9MXRf*ut9Uj%C}>mF*H=fo#ig&Z&Hm}L<maPD
zk2Y=IytH1%_pPI&<L319Y0+F0kKEZ`|Nq0o!^eB2%a6;J|9K?7KO-Zf;^))p^Xvcp
zv@CuW5+2?!Vc2wT`QufqR-K(~e)*@Mpx_esl?NLe8%rGH<Ktb+{ab5AG+4g{erJLf
z?&Yd#YHIrW{YT5CuCmSk_iNcQwM+F~W*2u>d`yaplHx4fWml^=``Jt3>uaOGe>^UK
zzw-IqC0;*yGjnp5{0@$Zkr5C$;4h}l_T%SI&91x_xl-#p-u;)1=g*tBujFOW&grGf
zu;81@_hNmy@`Lr|)+?NQ<?ZhsKYm<SuRD$nQjf0Koy2B)Yu(@1)*>7Fcgem>m5<$5
z^K)J7?zA&AE+)=5gr@tuqJjNkp`p3=_x-)IvzVEkFJ@20#{K*2-Q14t{eDkcQ1GCi
zUGcLs2b<Z&bs`+zPp(NR+kNZStu0$jo^8m>%DS~V-9Iq!Vr=<cQAtV5%1<fow-Su&
zrs#R+8XK&-%Hz;KtM}QnXXoZx-?lvHV0$a=c9fIs%y}E1JV}}SChut#%qyZ&-Ota@
zuYY+-)#}~t?eD+5ynMVzGB_wGC?Md&QSo>gyP6sQetkSHzd6^kok!BB^wpKf&1tM`
zY;EoB&!0WZ5_4ADyM(>r$crPL!qQSw9;+@DCM7*Ot-s%<`r8|`+X<KB`Atl}erS|y
zYHE6sxm?eof7iv_pZ}*!o0gWAw(sY&*~k0k^YizZ?h#;sB%zgS*6?t1?=E_JYF+H^
zY5MVXKR=~@vpaeA>+9?M@^*8Ut^W1vm$G|b&aEw)*4DrGe!sWaGUv{Y!X=aAYCaxi
z<rXWjoi%ad$KCh;zT14>?)AOB*0GA}>guYht>Ipqn$K4KaA>Z*QgdNa&o#f23#-HR
zqh`ChxCDF`Tsui`bN{796Q^}wDL*&Y`uM$tZI1oh#I3&tMul9iut+$-aD6)$!vm8G
zi=Q3pToE8Nx0#Li)&2edr)UPd^~s#v&b{36=fZZmuAZJhhvol$IH^AW!izJ{Hmr@_
zZuj%a<kZyE5~j<Gi=UtS`uVfBmsioEtrr%XHOiSv$MhFfeR<(HX^PbeVSk&4j~_1%
z>A$r6`Sa)URwXYEG%|;;kK1bHzFcl;^V!+vo6pF->MtxTls%a0_}y4vU*FPl=hOLK
z-rmp8&b~hJs1?IIjxQ^A7U+4e+_<su_qVq@ckXO$Z8g~_3f}5*`8O*otFW5SjqUmJ
zw~uw6Pc$?%G)Z}XYisw*z^dXeFD{;*uAiTu{ct_InxcxzlWS|E%lsC!-#^DWS=~Qw
zYu41WzJ;Yu^LOXoHhXoww6t{XT<5zNCN}-tlJ|sl-i+ers$b{pzHQcv-BsXvdam52
zTlrD1bT(9|XfJSQEO1}oewNi&{piu7Z*MhDHhFP&wt3{MpxWBMpy2C~IM_RPuGQcB
z{%5{s<mSHhum5%VxP1Mb5S_oJCnu?fuaA4WY0|%0bLPyMFyX+R@89fqrP>K!NRThJ
zw6wJJ_4O_Di`ZGD%Drt{)9&}m%F3cQ-Cr77)c@P_V!`&NX!Ezm1rH7^bZ+1D_}R0x
zS1+$#y?XQJ%`bKAR~CP`&J1eH&f<=``TXhAiDD&x_Agno1T?ysnwom%h*ADM(D>}S
z=<R)fuP&2Yn*3|ZhYtl-3-(W&GR0?(#l$13vwI#te#|dt<DtI&=S8=-@%eQN+|Ra6
z-M`O!y55#Pq06&l1nf@<&&W8bKJRhM{(G;KU+mr>w7j&mbjc;FLo4#!`w!W1HCQv*
zX6eo8mY-`^`|G%Ty^NGpRAl7J$U9&5{42|@no{xW<?@-eA)8+;-?C+kpt9SYJ(ZL7
z4t;x=^Lg>Z_4&M44x3B+^at(l=;)YXQ)zTEK>PE4?eFWCZ<YUA@+x&p#>JEu7jN8%
zh>wpy`{}{bWy{K10`L0S*1QO0xFh%?u=rui{&|71v40=7%YS=$xxM<!57wU{*YDi%
zSzc%^wpZol$^Tx)H{IoHudIzW-__K7RRCn?4fnHdK|z;R1TL=F7Vpio(*6`T^Xr@G
z9d?H_>i@0`UcT?&uh$<RAK(4#vCD(?;1;i`__x1b#r5OvY)oe740G=?e5r10`}e{^
zXO+In*jnue>+^YE1a3dP_gng=UmT0Syf`z{*t2Jq1mi84nmOODZw{OSiq0c!%nT)<
zz{>gcdZu8jhPL))otrz>6}n!WA|Nd6%)YkL66CsRXV-?bGVI)ODPCWE@fVHm{|ocC
z7d`c|ZcBfjQT!ou{r-7T-p(4l8*)Uh>MZ<Rbeo6a0`r#@I|be@HZ?Uh(YS2&?@%i@
zc;|}DY8`<a?$ONO0=FNoeY@B#Ff`P)s^r1~$J5jGr~hNUEmI?NM}LZ2pp?`7n$Nzg
zUu~B9qQRiXTy-U8j#X)w+xg$`_k*gqqeqXLoqu_C_4MqrcJ;zJlP6z}l3wOF_m}?v
zPx|}z?OV})U+6{PcIK)poO3>0S65XvH8<a088y54{M_<;p2yek`P6mxzqF|6*V*^~
zr2YT*7gS!pRTdH!e!KnP{rmL?n^<$rL>UxVUj!CAYX7VM|Gj?s#cip95`F#s{n<es
zT3T9NU0qSXvnwioY`<UU-P^cdu7bhP&~SD5`ghmY&yS9|red+seY$>pUj1_>x7p3-
zmv~Nou{igds)DVQq@-p2znZAqo4MG`GB@93WMo_&wl-_?N(Kf^hyGdIhWqcW(%?Dn
zP``Kj^zev?8^ZoJf})~NU%&4D^Xpnetw;%ri)~bV{QPOt!otF?Eq3pp|NqZ(otOJo
zuFQOWZS5K>BVLio>i%UPPUZ61@jbhKS;E!%#lyqx(RpqSJNX%c8Ev!l{N`GfJ~+U*
zdhHY6+2>pSzK&+D5-DNv=%4gs@$$d>e!t`9<XreM@zN4calM!yci-22Kg6xC6S1M;
z-kZC-%{4DRd-iOqcKE(8m%J}tyx14B^X$Rpdw*Y7p3liJnb|f=@6GkY=FxlApIm3Y
zFmd6>#FLX$gO~fgy|(uDart_mrvAPA>;L~dbO_W(?|Qh|WM0YJTczLL+yt9*{N>-*
zf$upPia{xI&bsz|jt|$jv%Oioz*$g4#Kmdz($y^`4<{<Sdu*`#^WpHsi4${#H8mH=
z*@61mD|Qwn{jXwn+`If*gB+_Y*QLd$r|E8f*{!dsS^4|z_RX6&XJ=()6mWBLPW;q)
zW4|1@VvMoaSiiUNK>U5F747_1BF5?G-rU}<-~UYI<<C#2_4Ok*JkYQI$?YHL@8z|~
zTt9xF&Qsx)-4`DuU$$hng_bf8)_><okY|<Un$*y5`|ZZY<l}98vQhEz_UY$j^!3+Y
zxpL*--`~rZFTd<<rLL&>u!Z$1D77$@vs7J)5fKr2b7!Y9Xv;~P1<P5J(9qDZs|*cn
zwp><nnwpxYr|C+YWL)_9`8hkk94L+NE`M)Z{mth0o6Y|}+y5`V9$WtN$BzjKrH-0m
zH{78W!k@469CLHuf|BLujTd<t50qYsdU0px=8V~E)~{c`Zrw8Gs>%PJG^K&Y0QwyI
zXLYYywW{Clmxh+ssTXY)EWN)=OH0>$FcoO51?}T4ka-bUoVZzTU#6q&A5g#^&;WIg
zWgF#8#XnrHX8UlRIYH#<)2HWczsHo7ZM(?J$gqX^MPM;w{oZtj-x>^V7jN7+QM9Tj
zkAq=>EGT*Zcx}u4B9Nhn>0cG3v;?UP2oC;y*8KjC1zUI-4sgNB(Z;GD^BCVOW{_Zg
z^^o}i$gSL04u9ua;Ld2kh3s9%Pp=sb;JN~1V`BpYAL>cIe){z3*RNld-TO>-DJ}zz
zRe&rtSGBdhd;EC%qa&Sncb8w+dELct|Hr_{=+gD;*Iz7S3}>*-(gQ^))Rwzb_Uzen
z<;s;uj~=~w^Jc<?30+-X;qkRo(`N42v7_|$HRvWYh=1#C8QdDHe&n6Kv$OdBr|J9m
z{C>Cl%;#wnCvGfwc&Jy}{Mhm1(sxZ3h`k6bM)uooQ^+PQmC#+q&;8B{)m~icEpBhW
z|MYZy6y;wu7~B}^_eM{iHcd=g+Pdt`jpXBfnbRx_udE0xVOaa<BQ$)QKYjWXy*-at
z-tNweHiioi8}{E@yD)L{nl(8O54En}|Icb~%%&92tgNhr1O+h(IsPvzc0Ty`>)5el
z?sAn!UOd}!>dDE;piON*UW1BhhMuP1uR&R7iP0|01+pflrgLqpr|}gP6)7nxWz@aA
zyqtgS+uE8MCMKqyJlP-WU!woKE8h>wW_78pRV61TD0Z#8Gl`Lzt>Rdgg}r_K?{9Cb
zzrWMf&;SkXTs)gOHSuuUL<wJS@6~J8`1tvm?Xq0f{LUvgSJ$&_u{4uId-Lzto|j$R
z+@$WxT*zzVmp?bBWy=PCA0LxlmItIJExEovetKQx4fnIG-><Ka+?@9J*H<_5<8r*b
zy!!ioDE;|rcJSX<1_{>di$8w+Xfg+ENLN?ajGt@M&(A9@Ep;<zk1)=-u;A0DqL<T4
zC(7BDz6yzpo0qn6wIREgqvOHy`?ca?V#m&}T(f3LzDK>PuiI(mygBRFt+T8Aq;g+n
z?zx5kz0YU7zqhykV|V<9Lp$Y|*SFgz9%A`5Yt~WYyj2EAbfdT3*-_Zc*C%KD>iP5b
zsvl;J`{fuGKlu9L@ZrNZ_XtZ$dItAje9M&U5d8n<=Jd>U>1KVPS=TSux98u#aU<fF
zZ*QLLkN-b@{c>}4UAZFd1()rv(%08oT3S3OtAVzlsjEK+jWOuxfI5F$GB3Y)_&C(E
zjYrbSs>ko$m6gIP-*4Jvq_404_V+9PHFICSd<klxp8E3odOzDN&;ZGomzU>-Je_#`
z@bc=b7cMN|)OMZh(5tDZx2*Z=>+AQ6&)cqO&ld*e*rwa=zrVb6z8kPvXP)4*ygE?d
zW4p59sWbj(Ja^>WGzwyMGw0pG6#gPGKmYyoxT?&LkB-hdx=T_*!XwB?N2ezwt+e!O
z_4~c<?~flpzW?X5*(OaT@9)k1qOljW`|Z&C9dfFo)@5%Z{%yF_^zx#+{L;|(+Uxf$
z`lY>t=h^!DzhAH4%$g@s85=8m`Kems(^FGto98cMmb%~E-28C;cFtE1nG-~G_Sc=B
zrdxCR!s_t#N#{L3AKue+$Lr`Bf6&_Y4GE1GeVNxC5Utvhetw>yprFd;8((~yTlep`
zf9W@CGpHL@|L>3IWVMMGY$`vgeEu^@&ezLJ$<`~V^u>jRG5vObzg!j-6;=0}^B{cP
znl(9jdEb`oI({bp|Ig?1j~_dB>2%;?H^aSoa%J!D$;!(5vd8W!(bUvj_?y4J)*Do0
zYGm;KKgcdW$G(2v6`s8=D;3HYZrNgDVe#YV^ZDt~h8N%em^}Yai%CPeigvSEVXK@f
zt7Ymbk*aNf{`^ThGvnjy`2W8SvdgE`Cvh)mXlRK4_i1`fbJV59%l+psv!7VB^#AFv
z8oKjd_?(~jc;^0lw{OqhXSdg6;p#=JR&_<ois?o@dHk5UzSbLDtUX(=F6-Q#UbQpn
zDA%(~jL)85Sm<nWcd|#sj)I2|4mL-6b?)E)zy8nhdWA=a9v24M1s4|^Yo4AoNl0kA
zO2&_CTV|=sZQQtV;=dz%FZuL;dwo6s#015{!onqvGv!nRe=nB*dt&qRif8Nhzh1Z7
zZ=Q{({@ItS9$5C*{{FV~zTm%K(?Aur+rd9y=hywxJZt)8QhNpC_67U)*;!l9{=)G4
z>WqpV1rM7zmpdtlKdqWFZPm+{FBf(2@bd0`zwh^rYg=4=e0Vyg11}rcdKFu4o~IVI
zpiD1*-<};iBJS+&xE939%9^%W;Z@_+!}HB@rK(T9Yu@Oab@I#0%irJLULLvXh^ne;
z;>}w^H{2Nwx{e(?_WfRU|Mh$|&E`|t3^U}PR(&}G-eUS#J0$9LkEF4hj!w?uHr_WZ
z)>R>!Su7^A<z{6qD%(_>v-Z<WCT8ZF>yqX<*46zpK5uh)+Se@(pc5A^>TWu?%y)J~
zjeozKZN}NIsvo+Jwlxeri?(br(a`9S{r>j$_eV#&k8NXTc)+pl!}ZBEo<2S@1_=iq
z9Bk(1=FV(5arW%fn|<HDYIJApD|soDogNl;?at2P%r!6X?k;z9Joxwf{rV>-1pU3{
zq#WGz=0?j&AD+S;&$m8m;P?Y7>Avo}xY&KO(aDJuC!T0yJfK?;_$R~H_w4TX`)*&j
z@ZkA#aX~@Ff1P6M@7MiayTerX<Xp#Qw#w@2&;P5Ro)Wd&`q}&I`}_5ej&$l}?9o>I
zYnyn8Wf$`-&B-$@zPvWLt$RE5#*1e&_<p>G1fOQ`vJHP-CQX_Ywl*rYq?>^uxB0Kr
zS=YKc&<^IASB%q*gp<F#xTy0u>*1l+c_R9X+#sD?7aI>}#Y*3nV`xwY)mazg_4DFV
z&8F$c@5{Yy#{2JA*a1+X-MYekef<7+j~^%JRD*ZmXXzOk8Hwq|tcYB7*4)fY>h7Gd
zhi^@CC#>FhAfCS=@I$EWq?rr_$_w1j9-XA>9TXh=GU3yclkEI*Cc7-x21Q0%f>y@X
zyuPLz{5B(t4b+X&cy@O7_U!9=y!WIT?r^;bEEW_IIWlSHwe_IQBMBwNZ!WHl-rm;6
zW@S<Iq~p2jw3jV)M~)pkHerGQxNds9@Atdi1rM9rQq&;YFD~_-zHFJAm4=?4oN-#u
z#j_jTQ&Lj={P<*5)YJ|MWUzvw$SF5BcYWO68y`PDKJM)7+?&hKaKLeayKjp`TmHZM
zsfXKmSBI}(*8JhahdXy-7SB%ByL9>T`q<rRMcn2L^V}UB8Sl^JJn6%*L-4|4wL^O+
zwRm}XH8nSzUS1w2$pk6}IXpc*&)a^Nk!4|F2?-06x+}xbu-Ku0R>zDPGroK&v5MG|
zF)?~am38T>BYbCKW}OlMg@i!bxj8eZPF=e5yapFTf<yl-j<^&%Q`6FqkB+*TFVC%L
zJ{z;^zQBZd{szS_udlzqwA8y~L-zG`FJ5FUp3TfqAo3z`^Mxx{o;-ehc+$*Mr%tu;
z$!3*w-)akA-qqV%`*dn}PhMYV!+tr2>%qankDot3-nTwx=cV1{`N_AL89<H9%>|E+
zbh^t`w(#vLd;9C_^?2#KGVLDz{{5Yu3z>!Dmix~)+hwT+YBk23pJ!YB?95DO_9b5W
z@%wU0iWwN*GE`mB0gYbS*~JxW=N=Dc-?L{=-rZfPCB;50f4(y8klWW^n2_*b`TV*p
zxO$&iCNED+RGt<6^5WL)>uPFhn;tJ(q%@`eIjDeIm;T|w!TGh{BxPCH+2>mn9(wVN
zf#DY8mlcsOZf;JGjg^(%^X*o4x0tTcE=#_^xH!<D;^y@8SvR<zmVv_a=#}f&zrVQH
zESo%;kKqpAi@@N5XJ=+69&X#1Y`(R>Pu~9Di;Iif%#ORHq^4ecbtv|lC_@Fq&!0bQ
z9w+^H%~)W)z}?p|E$!Kzoy9jd&VChW?sd3`@!6N_!ISsw-5Xua*${o$`9r2o)t`^Y
zzrVYi4a$0;FcA50$kRCOj0gBE2!ma&e1Xx?)z8jI=1q18t?9G;`<0cI_4IW8<;%4d
z6%(JFm>3!w`en~V70_k@>&j0li=){a^eR+qs%B)m@N#n-?{Z~mC}XhA;&O6w>gw(`
z?Y_Qy-MVwVZx%0c1P$}HwXyNCu3+`qU0)j<e0fvqX(MA}|2Y;1Pc7cGDE9WY+~{2;
zD=)5PK2XWVBjMn!V->M6$+fP|4iq2a7ZxvD;5}V$jZj@oOiW_p!s?fSLKj$BS!XT%
zc=F^)H}g{>Gj__^*=By(<2%P<;?-h>W4+Sl&(6%;|Nrm%xVX4u+jtqC3rwEbCucir
z_U!JB91P!?s;*Rcd3!fEHQo3)RXaTI&W?`{n)#(}tFW(Jxl-}!*X8zqGrzvNDwVZ{
zW5(t9^DnQg6!yGy?3mlPqC+j5TNW({onXmo!jS94Z(w_@<iX>|pMO4|FK=CzbF4?w
z&76zj0^b7n-uCu~{L*GQkB{}<-kx7R-Q&-eEn7~VI^{W8ZR5-Z?)`G{wO^-R>@{Ld
zTh~5+>QvL>XJ_K}R@MG|I{nM0b?e^!`~7}-sKBB6#^0M#Pfy#i!@_EYMd71gUtd2z
zJDa`Umf;=imlYpf+}xf$d6F?L_JOmrv*)~B)A!H2V%%>ID^cDW%{z4H&}{R3Hy0O)
zy8_v>X3uWtm-pKrRZ{Y0UF_}`bHSPXOCvLT-N&QiZrk}7)Mpx{o;ujfZtDFsuxeXy
zaPY(R><9LK@Ue{w3Notx_J&(rPvY)`Zy#@EuRlA(@bPK={U!SKwGIvr0RaJ-nJX`z
zWz2QfX5Y41`}4W*&`@3pg99(z7#SD}_-krvCQX_Y5_0{UkF8btyE|vj_$-dTnCCao
zrt;+_)$%R<pQ=I+=t@|Zz1f(2++^Ve2?hp+2OLSi8eMFH`<E?Qq7%LC%!{xs(!X>!
zZQ67vuz%AmM>lhJ3oifIN4u|pj)m$IfGn>6yJ_A^cT?|6R;yi~>;3rgqetF;-@bkS
zZf(uZ3*q0tbLY+b_xJDG_3O#W$!_MyU1k*Tzi{TvnK^T0;@BER%N9(1*T~GCcV|ap
z$!mrQ%%ywz?S6pH_y}-ZAGg=7M`Gb3iv`DD1)3lAeY@Dr{7A`+;QnLBk6*rg)cd}%
z?JKw6mzf@Ld`VE=FUJ5HPKt5puVQ<4XaBxMi;^xZa9lE}GVzLC?XNqP&*wfrKi_;y
zEW?Q>kB)X*m%TAa-)hR>kPWKe%)efjzAJD!@mAH3%*@P<8#mtGo<H9>-S7Fixt~9O
zUhX&7s`}fTCr_TdySrQZt`&nyKydKp`v3nx(>-?u7#yq{<V?jk^jEPhySqPbbA+dP
z-W`vkpD!*h{xa#-%vrO%`0rW2-*b6=ygexU#(@eSaQFPe;(3jkuOBi$_z3UnfBN+4
z(W9izPY-TkTe%L@MxOs-+Kg-Q{0+x1U%689^HXZh7lwvv(BxhXpR85M<72%yH>XSA
z6<}asIKbN=$Le7B;W{$|14AEZ^rPkhXqt{ehP_IJ;pdFaa-dVM68sjpGfwEYeEkrl
z>>20?ub<$PVi+v=zGyIf0`+|uz~w!|ljbUa1_p+P#}55W3i3Z*gAN2c-UzZ|1NclZ
zh#jCwFqj7BdRtHmvbeCA;RHMAlpclyg&^zr|9r)65O|grY;!@fmX_ALz2D>H<>ePk
zC-r{$5h%1{wplLd45KyNptSaku}Wlz_SC6U`E9=lcy2k^%r1RbEPKiC*Pzp`7%B`d
zEItr>^27;H6ZzTM+2T487xq?{FP>d2ed+VeQ>RaNcXtbd&M!Nl+$hKT?iA!W6tm=G
zJioS=zrUyVJ7!W_vF;hjEd0jGzLNUd%*@QVxHu=Lrn8{2?>D!$c1x8#I>H$_pMwFi
zn&rW|34geFcx<Y_t?B;z^-b~3k2f|ZdkVO_x<+y)UH|c#o16PP<RGHr=jSeZXI))B
zzfSA5Fen_SGum?95jB1h=vPosP*P%&89Xg!=@mOKUJrl&`p;+0v$M007K6?RV%VVx
z@|fV)jIc1V`uZCi5<$laHSgNBi{I{tf{sql-uTea(sy?(t14ezS?N7pZ=?C&KYxz(
zNGit#@0sH3!MbeOvRi*9PoFN%d3nVOjrjQcda=7s^va(-c~Y^r`ojaqU#GyswAUXU
z?S326@?;Zd@qSP+y$F1;E+j0BPsYMPUtizEWJ=3}Bb~yLVZn)si7_#ER)wyH%)cD>
zZF~9hrKYClm!fB9W~#iOVYIkduHr%Cn>TMjr;3T4oi%f2=KtciFD}a2R!z9q+tXuH
z{Orv2_<G&z@$&NW|G!-Jm$$3gv17-LXO`f@=kAES2z+qt4yaqN7o$)sCL?o3_B&(-
zXGhXPQ(Gwsi64JHpT9i2x3?EGFw}Yd#fuDf`zy=#gO;9tetv$wNv4oy@>!+gm!}jJ
z6*ukE<a`PlJ?rYr&dPeR`^}Aw&HHv&@PX4L*tUBUtYi!l7*;wMPMC5pa(CI=1&+-g
z2UOM7H=BDdpEhMm#LK|5ld3~vWB>koz25p?r%!*`%S){-?|UST=T$u7Ts`a0rSIuh
zrLV3)_8c5BKR?H^_<~bp<V-fuQF#Y)8|7H%IV|^^>tZV<B4Sec=}AXN$Ak$2|DJ8l
zz785I2<lHuOMCX@$(y^ouOB?GWV@^A>8Z%gX}<IA?%uwA`<bQQx^{nG(D79F>;L~<
z?B0LsmkTJvr#kdA`5*A=|Mv27`s-_J85tRKf4%N(X=%B2E9&^$#eEG`KVaF;-{A`A
zAQ#XvXZQdA`>wz5$0A?bsNi7Zq$3?~Z*Tu>Qlq)!80Z)+h6=U|iw_7Z*m?<FK7D%i
z%9Sfut<uuh*H=+F;#XJe>B+e|!T<T0xz^>+&&@5m-TW6`D$HZhm-3oa^5n$Cef##!
zO8)BJ&Mz+~AfT|<7P&-<*#jveu3?lZUa!F=5@<CS!zaf&TS5iN2mdu?6_+@{u?Q}r
zKKM5^HGO+`S9`UXCbFo9qh8#e8KRf2g9^RNu8$r)lB@soG4t}WpTB=!wto2VAt)oo
zhD}QZ)qVv`F9I3<d9r`J9v&XPK5nnoZKsTkjN012^8bGv4_zIms;)j+X8NTN1_p)&
zdmZ|jKKLgkB?$=&-(2?Xm*LL+btfh$ZqK{BYR#Gy{paA0%Q|jxy)Un?`=9#C$iUE0
z#%RlRz<%QE_4@ky>IcnheiUeiU)Cu*+tt<e@$qr*olzAP6>)KL+u1LdtLyH|y}fOz
z_jIqFpmO_y-U4^VAL>PazrK9=^7^{i$vf`WI659YH`m(O*m!9Sbg*o>|NOMB%0n%j
zC4Y6Jx9P<1i$T~cQuN}&!b_Ke7Dp#a%gf7Ol#vh-F)4cD5&7-n<KzAJ_f!^tdU7&o
zom)s)*tF@>i|cE{!o>ELybB5q4c%S#_SMzZ*QdwVos45+V>2@~Jv+m&nQzIKvNtz2
zE?l_q&(n8zcUR^#a4yu>TjzXjU2Jwj@-3Gwk1j7#QdK>A<J*me)!*M~hpl;_|FU!G
z^J@pb-Ed!2&BE}2<-%eIMU_uJtKB=Jx93$>R&Gqb<nQY0dTiTqzPh@)^?N>Xt#6kX
z5(<imS@XPUb=caZn}L(ne65O}bhM~(K~v$MrwxqE9$!!W<>&+*A{4!8<=iV#$+wf|
zgW4C{74`M?ZEWt`_;zFY!i5KK-<~bId4quS?BxEv)!#3jI`Sfn;X+}f9P6qTYuCQL
zx_bJ>wHuC~oUHENCv&pTy7W~_PV$?}i{1O<|Npvfv;SYa{hx=u(&lsaNv-^#zwgJP
z`}hAt&u_YN?0@ou1C1rMWii3Q&Ph?f+&xktJ=>JyyUXAA_4S!;v;B5+M`3bJjg7V0
z&O^$5a<-?M=S5!GwDIjm=bRiJ-Jd;qtPHZ^F9H{E*=?OXjSJMexBSoExxst7-bKf(
zEG_LK6|d)=!s=!3@5MfM_c)XONY8JV)aUE-EsN7`Y)G8t8n(?`r6IQ0f3I=+xh3Tu
zc6_o{A@#vWuT6?c+dlE$LjQ|8j6$0}ZCnx%8|%w0boSDQ*Vor?HV<DHv$OJZ+F7NQ
zsdt4nL9st|>P5$tl$5eEv+BvSPckzz`-VDh+p=X!<PlFj`~QDFzd2j|e((2JS67!f
z^fTTqR=%z7@LIKu|EQ}7!-203{Y;@pjvQICeEH>ri(I=^!t5@chg7!9IC-_fgUU?5
zwLOLZPF{NC@9WAlhr2|zXM~(Ob7qcp`8qX?kmJ#=;g@wDwY_yYDl}WAO6w-;%Z6t^
z43m#taEyt$Gfg-8MZ&o`mLP8&c;BXWM_}45SN62kW(6-UC~o_<pzKpZOx_jq+3PDI
zo%CxuW*6_=iFsRQY^nSI-OlH7%D2@EK0Z47@9*!;kF~?somlmQjUhw-!eR%}zrVgF
zr=56vd%J$bh6692{gIcHl;jrIThbi3*lq9kd(|ZlO`R!|%YLV<XYc&_VP}<`echjn
zi``8Rwz=Pb^!0jte)#INb8{qRWNIEA;rzxYY;tGX%K3$lkICBC#R%t|ztfg()_VQU
zoimHucg}lkX7fud$!prfknr&DZ*NbR-K;8XK3Vwrxw*!nH?-p)6y7ebtNVAPQ}|`W
zK2}eM=G*1g{5BsL?mC>UQ5I#8<$4jgfW<gk*5$B7^}k5R3g3CW{z<lfY^%QotbWn(
z?)lHp&rM~`_GDjQ_w&~;yH6*STU%S-%vE%5n`2uYcINdZPw(5t+aG@X6!fg|_Pofl
z=|3)b8BRXkdVAjYx3|SbMUS3+61%$$RN3|B-OV*IGYeXM!%%ziw#>_FV&AmfUe98=
zTvf#IBEX@aN%h0a<1K-aixPWwPMxW9`N_=>D#!Y}`p&HmUq5NVmE^<T9v(M#6eh>T
z$#uUtd;a`<t5U6%hH_7q3+GkKndL}$+RoE=HJ_8$F{OV3hwY*-3$msyc&O~&SJ0a7
zBt1{<3A5qXGiRUNDag}$@i3ineMxwx<58ulFP|2lx80t2m~C-%xwOrtyL0wiGsv=l
z!sOjj)AVbvUR+!psmFcx^?94mKK*jGH-6jn1*m6cW^UcOb(4!+e~p6WqxbL6uWqq=
zo~|D0aQ5|`oyLE?<EJetPD)BDE&a-^zh{B{{f<0^wGKB7IWL&st7w*EI2$za%Z-i6
zR{DCfa#K#O+E`?~bB1w>+>NLvzKA2N^=(JzD1QF%<+6YN{e7{USp?M8)w|DcSh-1h
z>+Q>us(D?E3>o4V7CYEM&V5Zeo_2amLIMBXEt!`y_ATLz+iiP3O1<d&diBaFlP52Z
zykcxRNoxI8`<W+GOI}}FyKrG6=*+IN_xH}e`wTf4Agko^nnXsPH#6$iAD63sv-!N;
zWu5PpS679$nVn_Z6V#a2Y5eiqw=}i%UFU<0o<Es1X_Axut~A5@`@UX_epG7~`h~CA
zJ+I?v1|!2dmMW1G?MH+?HOkJ!oH@2_xoT!+=9#?b&!2Cv`kM99%x35B>&1s7N=izW
z`^}xfdwvd=zwn`G&#S5F>BiFYGL2n#-0c(di+MZqLfi7YdDUXk+J=9^m0DX{uPij_
zeru_$+<bH4%H6U1YHmK5cC#tG$n>odKSMt|$WryKGs+6|H8m5>0?#JxPyFS%=+NZd
z^|t0ctSl@g@9xaJ`JwFnJ=^MUIhxm}pPpr!eQkaG`pBH~J9q9p)0TcHMU8E{?c{_c
z_F0j+6|)kmpYi9y#*cRAC|G&E@C2>+v99?2b~|tG^js}1EjC`MBYnOzPO&+-Gl1-0
z&OXz4Q}2rP>z^Agj*E-)_4S<<B0Vpres9F<c4h4=p;k5;o4u#&*|c}QGtkU*zMVRI
zTC~i}Yi-LpU(E!a!TRQ@TFdpoNB&Kg%!(2=z8B^wx-nGPfR>vl6*Xj<PF8d2DLi%R
zR7&ni<?He5IVY<&KfQlq*NzyEs!9I@?kDd2=C<{?-5x!)_AMNmLW^%D%g1eN+Fbeh
znW%P{#8tW9XXaX8UsW|L^X!vZ6B<&_iJa+k@bNjLKEK8&{oI`8^QumrKCP{-oekRe
zbiA+j+s*W|FV`~^HOjG0dgxkwCMW$;OKr1-P;mCsU$0FSH6|w>QtDH><8aQPIMRLN
z9I@tkT~AL>m%b|ZdyYlnqlxZvg7+W(PM9g6{ncmnlw-%-m~SV`zuK%59B^%!!~xC>
zRsZC>2O60_fBNJx>Dtw+7f*L}b?yKAHh)Dmxc7QeClYiBTWI$GcaC~)XTq-O6jmJX
zlbt-ZN)_bwY9m9Rh$DeVP8l5go@Jz7`|Ha>`R@HD#Yg8)+m_y0o$Y!2)VDL+osHF#
zLV9M(TFddTPCS#m*JI(O2WPZcz*DT3Uk1i?xNlywe7XPpf4}elm)lllo^+srF*G!^
z#39S)RNKrh0rSU-Y`jumuJ8XBdTnwTWX2lY_PT0v@YNZE%8uDn6VIG6vuR?JoR+(I
z<~?wNUDiG=Ej#&kGQ0Ne%`?wF;jt^5dDHFPM+0xh`%fF~UDGaWIasA#SuCy>ldw!d
zsw^{UvDhrLA3PC`i!JZF|Gu=;``^ERx&Nl0I(6#Vv$V21d#lU;#m|~G>&Be}8JU|_
ztzEnKai8^<ltWRhsa_^MC)c*G-@4)1tla%Y+G}`{)3!a#+`c+}^6d{Mie~~h-&k1w
z?oMV-^_#<@^RCqySFUCK7xZTKBCh3v&NaJk{NGe{+409-)92H|Wm%pjK4uFv`!ch*
z*<3-~_|?T-yR7E<7rec-weIh)w>LMdYiXVO*gav2qO13=FkflM)gd7vBBG+1Z#UkF
zI4b2g&*rCp{jbT}w{PEZ+UDWw*RyBOK0R4cN?KaJ?#IKW-qVeQ*IYfxx6HT0ac0Tf
zBS%~!zXiVhR~6Vl>wcU1wO@uidHr|)eQ3C!xBvRg>pt(BF6g}c584HG{H^Ka=&5!b
z92^TO8^6Bxn``y)`%3GaySt{|Wfx<<wZH!VuU}O{Q{JAPE3{WYZU06&p59WEhJt$A
z)tV0<KTb~T4`^?y<Bp2(`tq;v%sThZ!pFz{K2f*N3{Uh}onZZ->W0|uzB!&%Q%-tC
zxz_x6*lyCuD{D1Hj$xV5jn9#>vA(hoo}Hb&CayLyF)=4cXJv$){AHI<?e>2fZ}(=r
zDq7-XvEJCe;K2dQ;%67!Pjtyoofq$4p783*$}@op=k}VfeNg)B?D`KT-OCb9_xs4b
zTE$uV%(S?DmyyfYJNIVAFL8g#y=iBIl}N9;y8paCPbT}X$et{hs;F%edExTcJH_W?
z_f}0c(I|cL_;`PNTiYcO2lG{XkM`$^g)y&d|MmF!{Q7tA-`BsovNCY7o8(=Ygx*DS
z?9DGMHcmgMVta3$CU4c1f;kr!zfmpzI%x`MX$$CpWWTF#-sC*<R$aR}?X1+SS3m0K
znCIUEot@J4cK7>zi*KGdnCX9IF{stBdH=k;)B1HExnD`m+Wj){@;hbKLtj^9exLZL
zqw30^O!G}&G%nt`<HLVdd;K0KqbaWgtLA%(Ro&RMX_JwW(T#TuIr^)=wQY6ipT&|V
z!^_Wq{`6_%U6u!C^{saIoN~c=XWm__<N8j__gAmqcWT>4#&s>fU;qC8zW(2zO80-=
zQ{__E#Z@u9=v+R3-d=zEjJ&+OtgKZpHVOV$)>gBs`SD@ZDy?7rSJ?9N-<#P-t<kef
zKPS^Uv)JqJ*DW@?>;CRqqrKYU%k|l1{d#>b)|>CI5)+-5`TfPCj(@+tiOFxhw0M^4
zfwn61QteBNA0O{ekJ__fLBgpinxM($&-ZJ;$6k8<CdI0~s@%n;<?(!u`n?;cL@oH(
zE5>Hh@Oet`AF*YJ&Y#c!_vfeV#rX4Cwi^y8&+4B%Y0|r0uh;F^VG(6-7%XPH<IANj
zUsqd8CAqC_{^=7|HRbJ`BVRSR6&7c%T(YDkE-gL%_MiTbA3yfn{mO`lh{(;=JzKeP
z<Ho)m=EJ!avs9ZCkN3&;ncNUu^85ALKVf|Lq8AI~R?K?&d8SKidyU%87bnxRR=OWP
zeAsh=fvuN!@GPkpkLK6?dI?&kGJn4Rp>Uh{EeowUKF#cDW&Kk8SmX7K6<@9t8Z4Gu
zDk>x_sp2zv^5o2<WM`gU{Vj*yU0TY`>wNIwL3O`57xsy-N&77(JM-JM>P?pxpNTlC
zleK6+XwY@vzI}^2kG`@mlHvKVVb%8~Gk44FtG-$-Bs#CH%0K9(#n*XJuL7l_L0jve
zo}M0^dG`0a-JmcknJ{_s;Woash574Ur-d(a-K*}Lkf--=^+sLqZMnDI9`Csbnx8MJ
znsRKxnl(CQK8w#M_uIO0O?8#+tO6Y?%`L7Mvo%Zf%Zi&1zJ8Fs6M5S!Y|<+&P0f{S
z)`)zbx#j(Hv)NT!cI~pVv6&+xefw?kogIbBZao>sRaaLv3B~?7%x~{vTcf!^Zl97>
zh;5Cwtyk1!E1k8apw%d^E<Ssf_G|BpiHqwqH!WyvddB_j;@e%8Ngp(9`8BHER%P%y
zy!!m)<YZ;{zAHKtB|z(acN8wZD!21Mu;E;}t<5XkUrt<lvG?E7hip|>LJH<Se<1f-
zMSJg_JrNobCj(}Q-m82rD>T=qzet#)*O%Y^&xRK}1Y6(isr>w+CTjkk|NnkpVF;R*
z>!+Uc=COXITl(+)8+o&`v-kh~7Tp;v)%oV}@&3=#)xIa%emKDV{M_8f`e*k9ho2S^
zGrpaCgGYDY;Y%lbv-)c@d_B0;|83f<s^Zz7mXczS85ABK9uqTX&YUx1W+vhnew?q$
zuB^2DyLH8ij<`Na<7e}#-_5kG{<h3_wvv*PjL*uHB}<ncJ$5W>+S*$YK_Uf)Tkg!V
zD%IkhXVSJ=vhmu(-R1A^ZO@-SQ&z`8?A<E&l{d4mt+6b4z_51GLU-TR8K)n0?C+T=
zbhEIaz~HRXnj?RYc8gzMAAkPd@^ZHx3B$}wDjU0m{~mXjuQgFoY1!-J>1kR0O~+PF
zMNP)jDs7+QN7>Fc!<XLzcP-V~Iq%`~=b&R;BgLnCLyjvwT7G8ErIHsH7M`4}-u?c}
zOk;PGceA>9rOnpF?TxBAe&*H8YfJCkJeo0`d2XH5ygZAH3kx=EFt}%X)9o{llu1U4
zg5;{md3(j<DjKV}YQ3r_CuI1Z{$u&<eCFo_k4cx5|AGqg7R}$HD~$8*@B6!M_d6$-
z^~WC{tC}Jg6J^XRZPp_fX8ub|mT?x(sZ*y+7Us0y%*e}oc4->llIy=Fu6ECzw$N~`
z_r|5X{qH`6$Jbt67iF(^_*C2SnbEJiMHMCZ+>S~xnNPmF;H=K#lI^mdCMGQVqGz9M
z-pu$R<W5BYC2Lhx)h!m+Hf&yd^1-@-%TmXV2-$z(5EU2C4tlFp^nLwvvpo$B4fTH>
z%jY~cynOA~L$f^}K72TI$VtuR*6hefMmr8Y?r%&>T6-TdU43>E!?|r@#%qfsc}nM+
z<w~8FSlqn*e%<X0WjEbq1lGmxUzaYP#L!T@W4qkded{kgbi2Pu*+JOG_w$<{udc4%
zG^s`9Q1a1?N0Hm}WUZ$~q{rpi*2HbEKh`7p<<IOpt51|C`ug~sIepr?^3#&EM^>Nr
zJPS`tODiccsh&JbR!l4{V|UJhtUa5PH*Q_>L-uCxnWG<O#e?>+Z556Vn0f8nneS>(
zr$#d{=pCE;MWaCch(M5#f6XHkenUgUmoHz=I+`FXE`EH?8==={PJg{#EFBjVBxE{?
z^*l&tZiTC>tBT8wTC?R<X|6|Z82*jxxBVt@+vV__ywr_KESUkXlFoed`99M<a5j6~
z=j=Z}KIZTJI;~>9Z$|aAi%(u(Uq3x!885>Fiwlb#I87Xl-lyl}ywP62C#j@(jihar
z$>!S=KUF-NnO^nf#ld^iw=yoiQ}yFc+w|$vpTB=EFClT_UjBQwo-0~HCe7^p%j8>C
zQ-itp?%iAe^K|^FRmW9seR#pQ=i@QyOS$KT9ySWB5o0-@VVEAEW<J?idfpG7*#Wkn
zZ++Tw&--8f+q=FVA%P<7AD$;ANGOUPaaGl0G0j=(#1h2W#C>|k1J4e&g9ew@sdSXF
z2JSr3+S0wSBP7P+!UGK!)kP~F97~%l=Hk3kWr;zm=eE~pWNc#G&#eD_@6N3M`KIw_
zs{Qo;p8sp{{G#$#DYM)+m8q$%dJOw=i?-@F{FnZuVX<iQ=E>d1M8(DRb#zjGm0a@N
zU!-?cPg?(5#NqmIspqe+E_$@*hoZgx|KH!=mxObDee10ul9iu7o%74fmoL4i>)qV8
z_Gz|reZ4(@dw6K**>mT-qBXt#+}~Gg{pa^<*XbIuE3T#e)ycGSnE2~(JO50(-6fY!
z&%UId8ld?lJIz?}<`s|mS=rgIk9LbMzPKXwiJbe+jI)1IStqDYa6c%R^<DXL+KV0S
zO!uF?j_11kV%68hh5PJ;Is@XCNPnrU`}O5y(6M>^F|XV2CFbS%iK!RpTsC^E&DkFv
zxoUP4&z(yp-`+(2TDkUY%lChOe+#SoeF$dD%bGYVUO#Tnhu?oE%_}Z0uK)LE=F83A
z(<e_pY+i9BaNmNs9R-ceD=kyLo~yI=U~F(ZvG{?AWQj?x{^`rh{h1pZwpzBOFTKTF
zR#FnNlJ^bh$m2hXCf5#6Ph#DcTfAQC<<*i0R-bLIYBNq$Z`$hf+v{$f)nRG#ya=mH
zo1L%BinnP?*L1D-S#7+3Z*_o<*kbM(@(cfGEM2;EruFWUpwHgF)_bj2V?M5M)i$?A
zlA+=E1owlQ$NH>14owyg_D;)^l(=kRr)901!aSL$M>fa%@~c-`e;NOMeSLj*`Fkxb
zttSFe*R)PZ+<Sd}{p;7S*Pd0oGOe=o*;OI?O?eSr%rmCVOI^8omuu`X1z+u%E3f^j
z`uS<;*3z4twb741eN{84RAX0It<c{ToDv!q7dJ1^S|Tkit-`|P*Q(XhQc_Y<eD?)n
z9@nY8EKq(K%yw)~Tz*vk!o3Sp3`|W`y;W4ZgKKPR1g3AEdhOvR?K$`62(MC{Hf>sk
z{e-A+$7A!fwY7V1U3co7IX&6T)RdQ(_hYlsx13uygRb=-e|+uQ)kQ|%);#sP+<I>E
z{`WI?W=JShgB)^YLb_V1{RAG<nVm+qM+I;G*8jbcuV?d*_xJZ}9xo`l;PLnJI=-Hn
zp0O7-;urONeQ=ODt|L=(b!o5a;V08J$)EN~3u9tDA$MZ&g9UGGAN4L06Ee5ykBUxz
z&j0hEn21Qt&rhv&Wix+W_nx+EQ}Xe?ix0QRyNYjpvSiowvp$CpAAWv*{`1=+?=_yJ
zeyjPHS6h4c`R9+hhc9o=%$8%=#QRCZA|oZ`$PF8>nLe=!72n^*_U7B!+5LNbyr0=;
z+542dJUzL7Z#mxf!&Byb`>i%*zoozlCsw&lSs57*R{89jV_oidm*>j;`|DGu&v4dg
zT`~D?)q0k<FXa8QPOA%bzI*rX%)ImQGL}Ux-?wax&`G;>u4?M9gG`__!8j=^D~pYt
zeXGdf?IqvWZx32+GvB_x?!;e*$&)9ipPO^??Ah3um?x|?cJuq4R#~m&Vqkb+_av}k
z$(%Vdy=x=Cd|Q9L^?SzZ)2fwInd&$h7#z|R`<YZ)4=3tczn*#T-`8C^IXP3NPOY?=
z_w#3Ep2?}$Vli>?etG+OFE=wYG`wlG;hM0deBZqYWo2d1*)c3k{PK2Rs`j2feR{e7
zd_6tAWg%I9oN^2dC(KSPX7H?f{`#zpeCo%FKPM-v=il4&^5x5gf986qys$Zb{CNJo
zJ)NOT7#Jo9f|M={II%4^Hn~OZc_0G=!)1kjCKXe2^YYTtmr-sjH-hGK4%G8kiYRDS
zKLgDM`83;bO>p51N_Nb763D>Nu-93RHC$I$cV=YNizg>1J3BisUAi>t9`9$+oN#r!
z4cEJuFJ7EDecE`fm(AfCTLuP)WeWXG-q)^OV`_8=3>17C`2Dxb^{ZEZ{{46C*s-~8
z4tLkI+Z!4RcDmHq-T(Xh`&Jn~28IXo+ibY>BxPlDGc!L{*i3P6KDgkt`}1Qnmh9T~
z>(o^3+}zyErE_CewA<U;+Zz~scyrUZYgNhhZMjy9irbkP7=DB+^fy)Cx_!G}&UV(s
zpH(LppLzZD+O=!Hf-9yjFaG>>V}y<jpZns#s`{^{Cl)g>Fz{50+*xei|Lx0{HEY(q
z`FOPa-JP2+SFT#6)zvn|eSPfiWrh3dva(j~*<&Nr`61&)+0?01OYZF7&;RssY&<gq
z!-w_Ga;)E1RF)(sCnqI6`uzO-*RNk~y!Y+e_3P{FaLI*Bc4ud2e+jXX^H&l2li=y;
znV6_}|J|E6OO}7DcoCqn<#O;8?&gCD;o;YB+?a9f=dYVLZ|>W-ud%Ulu9LBB_Vs^r
zwr<^;o144KkCTDnfX|7=59CfQmg|51@$qp`dhnYIn$pwIsQCKo>f77f^Y89*ow#xL
z?%!{3Z~v3D%i7Ay%EIEtojW$h#)p-si#V*0-(S~|>yY{RYnaw6Q!_I&Q`17Gvb=rs
zlFBV)?%4%&{j6eOU}&@9dbd!f^8LNN2?h}%AufW(QoT_t3y;j2C3Pz6@ZrPOPXn!6
z<zgZtR;*YtW6qp4>(<@7zEBl(3_#4@s;TD`*IKOL{`-3Q^5xal)ta+E73hBg-A?wK
z`NgHLx?HJwDX3S`8G-Jb%TLPUBJV0XV-p1f1(<e>tLThPkz|qXxidE8G6vsirypc&
z%w-I^kS<6+$dI_(?~IXL47<NBq_QB@&{^LtGp8iANZ$={{hYo}YF>IthJvv<<O)5g
z=PTxfhH(c7KNq_vP!_q)Bf2=*bE9Y8>(W(8j(eP3wY5$-S4KNja<DMDFtwN)O35Wv
z{?Y7W`ZPsDh@~@VYP*v_Hy2mao+pZNTNADxyd7P7tKQf<{oVW($?xBsJ7-`0@Bf_5
z_kW%%pVlZTmB7Q6+}Ry4N6Sa7wSDbJkq%c*O{crj+^6O^>KZSwOJ}n3`yHcw)c*LL
zRdIT3YCZ``6-76dZmSl&6OQ;Vc;>G}vXR8gqswI;sa|pk3@I`CuN^P{f9mS+=$eYn
zWry2%YZ|}oZGErdBjkGYWB3BsRRJ>koubE7^PgBRxSO<5V~)J)G_OUIe<TVD9^$xb
zxZhx-LEC#3p>CB)KSKV6^J)LQ78aI$eL?%yc8#zJlaAaM6`Ovf{PAy&#X(0BJ8P~#
zF?jOge~v_3;dZabhaM}-s5to_KXGKmk{2m~UD;Vavn+JN4s8D+b$H(aCIkO7f}am<
zOFnIwe};4Op?{s0$-522-&mg!{d}}6q3(v(8TsPFWy$Yun4MuRJ|J-;>5Xzv`-3Aq
zhSok^yasP1wVIc*S+eanK0MQ2dY!3{`JSHNkJfkSx(HrOOUX#d+j3Il<cl>IO^qhj
zB+KN_$%x5`VVCyZI?aKTd6~v)DYm68A9F-y`~B8lIQD1@=f(~1&PV(SXR2d)To_@0
zbXh9P9oG2|mW9a4nlDaWZ2WV|BwzWM2w9)C$F2)GbEp4#tCF~BjmLqLOqN`p3v;?7
zzb+L1seX{-MbP%X;I^n><KR`&8k+MjzL=$Y<=;*J$g>whpSSK@a713Pb^~kr-Db9}
zhn@Y;nx4IQu>CXtlT#JZFT+p#XfV>$37*4{I)`)rx%@Y=s&)Tj!isM;=q-NYc`9j=
zp&@s^O=6Jj2lH)<m|~YMn7}-1$#kKRN5xHC@*Bi%aQ>asWaDDO9MQDkRKu@~(v0dV
z`wEVCbN3eQUAHhO_NMbKp^eh}xC<GU1baLW*<ZBirPTVL)0QpdpHQyn_FIO{lJ%y|
z7twrYyBV#?n|)rrzry<MdV=$fcWbN5-!0~C;Po_Cf4lJEpCd<4%DtOv?K^?7j_qz{
z?8U6W%lEwU9Zs2VJ|4~dcF(u>6W%=JoLjSa4#P`{MU@4MU#;^xoGte%b04=ytwg-)
zQ#(%c>pGIo1xvGc-ip|!`_OZBGTWioGK}rp7TYgd`%*)0^;|Q#E%leHmhSl`w0+^O
zHH-GlOIdpQ%}2?mXTeP0DsIb3>(6vwV}I+Vkf6dRgZomeDlY|JUH|IQ--`8*W9++@
z_xj9RST{Fu!I_!2g19z(&P)9}W1Sd}wb^>cErt=IU*6906=O6Jzc9byt!ds_$M8Mx
zJ)RwS|KR4)#);i)pVtMQpP=38A|JWNMDxsLyCPwQ{Ux&+yX!N5<X>l5|NdpfYvT{n
z7g%JL8-B9wu+pkozxa@0)R8)uFHWV8`%ZHzHyE?Ni+{1J`0u)3yg&FmD-s_S&6gKa
z^5=MdY)R^gr$Upi#{A{jt~^2W*xcIvXY2Q_mpkY2-1c`FLs9gGXO8(-9hg_$U*J~z
zTXxQcRFNoOBe}i0G5S+BbFc2Q?%T#7n*MM0Z<BBO(T%6&@+L&9_%c{OsQ$IPd*XA~
z+)dI9vl^~H?iFxm=`8xxUBvig+1|PRQ@bW9i|%<9Sax^w$A6LzeOuV`PHLSvIsK#0
zR`vT$Khx$}S)X5WB}#Mlv4g7&tfjNP?Qij1(Af~T^`}>X`vadl$sd?(!gw<le7ww=
z!Mwn9M&EpnO#T;lLh@Np@K}Enc+nr;zGBg7=0@=iU6C)JKgiv#S0Q?X@y@How^d#>
z&wZd)aqY*Z>Nn4tcdpj|vXzB@<!ye+TUS4y*}3$C4Wr=)@837>T-a~@fQ!MNF?r)-
zM_s3_@ur8m?EG8)WS(p5UU}PMi~7G8<-ac(wV832KmM7&h2K?k#v!*W+x40YZfZ0u
z1)N@|uJvwe)~eM}jL#)Bn4bO={eEVNyOF5T2FW+Kv~SPK%iT8D;zbj`@M^K9z~B3p
zG<{TW(X45@lQY}ZG+lGy>Go^;InO^>^Uf;6>JmF|(Q5hGC+jVioM5?^kl(ah`D9R-
ztxN4a-{ZYb-!!&H9iO@ExMGLN<SUv_QvPpepS9^!u$JYTos&5YmnwZe`ye{8VfXyi
z0*ZN_mwE($hnMHA++}*_&KHZSnd{%%Gqjt&lv$VcTvSqayQ$U$aT%s|N4@mVALiLF
zbI*#ty>k{{=zOkC^Mb9<MiiH9v);X5wV-=<Np=lG{`~go7lbG1CC++zZ`Hre*DJ)?
zs%E`^@#AY)$FwiD;^&?AM}FVwADJAYnR?1@RftHlQPGX1$x|1*XSFm)i_U$*-_&sY
z=Z@=>K9+1=_NMFb(U~f*e{OuUi23Gx#+5!glhv2CopPSY<GRAcwJXV$^ZcwIb~_cA
zPn_sI+&G~{JKpb*YwhoIYpsuNweQ?~tZeG>t5<5-vi#<(T(`>hZonnB6VbjW1uZ=`
z@_oGbT2DxbO?7VaA(17@TU0Mq?0s|1srli;c!uTPy0_*s9!TWOm$v;ce$n>e%zL$0
z%e);{O_%=8X49)|rP3cH*4#7QqkuPnbxo(+4w>z$N4^x@2@L-(m~@$G;{4DFoSQ5d
zU)`9WCB@x8rC9s;5zG6F^B*jc(OIh#A`>d|ahZmiU3<sGj!)jJ8{e7oMD)qr5_&&_
zQTJ=t^i48rOJ!}O7Tn(6BI>nNx7Ek1vuW2wsX0rRY)m=+*6i87i@f3e+FkV;4}F8(
zPVA_As9h^n)c4u+;N+FkTW!sEuDQS?ALF07R=MjtmurOci;ESFNl#uHCm!(jPPG4&
z?|Pw<yNq#)Y@TP&;wks?FDzemQT;pLi7<&z$8}U*nAON->dk5Iydb*Vu*uH#_`_Xo
zSAH+uHT}@4?RDk)5h+1pKg3zy?oF837Z!FzRU~m<!@ntKJ6WY;_`B_n-`mf2>9NDw
zxd}XH4y|17vubnq+`03)ix_842#hIa5z*qR{QIG5A{RrzA<3ew|4q+sR$M$&@=kft
zj(-uAl|NSo>x!;zc(Yfj^Nj8VK^6a5x*q56Ogp^L{xrvFE`i_gyT3Budvfe`qyPEs
zGTOTj*oH?17X4(JnLH(1WrhD64P6%3^d0sZT^C$0Nt7g=zI*-WTIMDGKDpkPPcCcA
zipzC9{PA3}{;59gTUrz3diTr!xwZJ$!Tpb&zw;k%&-maU!gp8B<b6(;c#7DG&rkN8
z{W3p4cWUtWDtE@`uWs%*z|4@+UBUN-J7wmw9&T^$*$$fQS5mJmpX;}B>J%1b*DszQ
zK27}UvLdF@n8WY(OV543eSf?*So$e|?`=RwK<d)hfqVT!e5ZDH^M}bi*l<hum7aWt
zu{?`%@7r*8_ge~#ag#4x_;<1E!(Pct5%2!_R4%Ky?;DZ-ZOXdD{)HzWZ>~>|QSg88
zX8mlNa|>s^ynWUAtL&cc^4;gZzq%@X*UHZ@ZnNOzd_i{eC0<Mi6&K#TYvY@K^|95C
z6F%qN*+llH)vrwcEq%!3r^(VQ7tg#kG5osyrfaafuaCi-`qsIrlQA32;Fct)#cO0{
zU<i^1v5hSd4c*{U$eqfB+oa$do{_FMP7SM!2u|N+FIaRgP&3yv_@HX%*5tXb+rsh}
zmIVi79~E_R6bxYEY+-TYP)uoUdE3gu@mt7DkwZgacheQtqu0t}qOKQSSpKzd@m#;R
zXXd{DP;=+^9pT?+_SWCAKUcZ0c;Dx}_bcyz-(DkgsF?5I!-74BmYjUF<?3(IlN*b^
zf7VJ9Y>%{Qk9@=!VOLzBHe+`SN9KnL-aR%4PH)cK_&rEI?cwYf7hh-m;XTxR_~q|k
zffJNegEf68tZ>ohdt?9O_f+lhzxQXCHa0dcN}l<DmLO~Q<t3a&7mLakh@BSEJejmJ
zYqCbi-zc@oa^k8djDl4%7v0!lQ8=eMvSN+T9F<#YQ$2%&M6xb+Ex6x(?f38X(P!^n
z%NKg<=P#x$y4oeEa!-g}Xlhr|)51lzCm*#$1QzAYxgo1y5xFWTt;_6(_tXEotG1i`
zjHsIRBJ|XvyIl@}9U1#A6l29!|M_ps;>clkTC`Abck_|zrpMd0gfFT54!v~Y%Z7-F
z|9ADyw)-_h;hy3*f$Gk+N7|1>J&H||e(3+F?}nd_x>M)*PJ<-&k9LI(Kbmehv<ORg
z>aw&~O#YyFPfbkNn}bm?Wwt|wP|_p4bjjtJ=c0>?o}H<Z`L^Tr&hwkQe=BZpJG0>4
zf})q^FD<Gn@_yX${(Nu7b?f!@|Dr!DKfnJ;s519cmxI~+nH2?#IvCS3mDAPkoV3p}
z4)@r1{OFm|`#eI&&q|d)dU|ZlVb(e+k(W#O(nEHy$}v^FdMMCjdUw{z#;Kv2sVf(J
zXI^TizGuQU1$NVH2hkcAMe#)&yI-Gu;;g&*gVOVdCS3Ertw_H2aQZE+F0ID0sjrn<
zcXTxURr|ZpCaPU!>lMY_>$s{iO1iAfFU4Ht{SvV{r(K|1lfy7W`HuY2t3eZ0k7-FP
z4pjR({e}1J#VNPu-e%?3@GeYQc12{`)8p?l$_!t}&gome;@L{}O@@Xwf42Si(mBvQ
zPuJb<#Pg%|N{mq(zFF3JX9Rp$zJARSZ-ehIzMX&cDEjwRr=u>{e0R9o+gHDxc0e|}
zDe}dmE%uI*m*rll8_VxCKe%?W5jVGj{EL=3rveo}n@)|ciO@EDf8|$dVBeyk0*1TM
zd3I_?{!Q7Tz4VjCg&9%JJAcUjxi*(K<J{7H$2Ko-vDQ5Dk)``+hFNNw#@V6;%!lL_
zT^B5W^LuxEpDd^NzE@{^mQQZ}_u*2qTFJBfKOz<?s&l<AR^UCe^H`2-T-()s6|6zC
zUak2W@RFU^^l9wTvK0-dlx}tIHoda5N$T(Y4?$ZP+J8RM70EG}{rB??v)IC**WF)3
z3#Pk06p3oQ5^TT4bpH0=8>?r{I`b~JRv>*wWqk!>eoLZH&9c^})uMaPy_(e}RXu+$
zZ{C%F+MlMCTW|LM`owa>_3`p6I`c0Ud|WP7#F16>tN+60-5T@Q?p@7hTJvU_oBG$z
z*xO9|FPus0>fKfSP3L-b+S<AqoEc7ye`Un<<&0T`&z*P6S~qLUs?9x;6L_s=uQS=C
zcc_qsNzq}OcFt?Pk5UJU6V9IOef~ZE@1ygN<}(&Pe137I{iT__vzyCR*c;+GTFj1p
zY3)5ZkLlBbi+$-CdcW>I<^1}w&M`b_?V+EnZ_mClz3=cz&*f{uj8Kh+`X84ie)`?u
zH<bN!dS>mkcTJj7z7s94pOrne?#a9r%bEok-Hnc3Qa&Ekq&VSN(`{+NuYb;oy6|v)
zsNK>PU->`ey@-$F>P1z|XQu_;Km4bh|G9|LOn-rwjsLRM8v30-CjHUti@N)?K5>45
z(Uapl<Qv=sGYo|mu9*L{|L{64=e(K=n<pKe`dp(Y?VCz$$D0`53cEL^Ij1dVti7TY
zs@3@<BhA9);6*mi=LatyiNC?~aOvyi2RDD2xp3pNZioF%z00Oo-dSDv>(5_RXQgvY
zaewa%w(~o>9bUe3OWUK90s5U8Kit1>^}fFT%RdhLgO{KDP88pM|G*r%JuDe<ws{vP
z@asIixnXAA&9l!>T4~EN`>#v)JkR+~Ug8GF3<jI`H`wLnELHBO-(mPtm|Qvig0yYo
z&VO;@&%>u_UBBV?=(?b<pOy9RSy^X3u{p+OP2DN?LM+|c+rQ-Yyx51Dfh!MPc`>Ku
zkZ(!CCFMW5oY6kV6wJ@A&R*#-d!^933ooLd_*NR9m@6zLwc~P!*|&|IfBzIQ`k(y6
zT6-pZg5Zn}&%>u1{1lZHw;c(ZmaV;_rAmr1%GtIl%DI%`Zc~ZYr6L{w^h?rPy5=bB
zs9sl4J$ZSTm-lVf48fC4D<Z@9_t`mqYWsB2=-nD`=eqp0*A9nOmFcraf8C|K-fMYk
z)yeSAMf?9wEiS*cxF_<&`i)b?Lm6uq*=R>~<chdN=vepWh)s*i+U*<7Jw0=ZUny_z
z_UY4}&(dZs{pFQydSUI>uj}$k7n_8w<LVRnH&b-thc7IL<9eeHZun#L>lKTaP4J^n
zg?Fd?=gi%E{ocNY_L(lnrq@3c)@pw0>K3`{u=!G@r7BZ%C89Q4p0HmM`^R@tz~q@L
zw?0!l#Va|1@s-wN2ez|^53&afJr-}f-(OevyzcgcmIdoK@8kaU;MT;0XU)#&f92H=
zo8~NQQZ_%Ye2Vxq(OU;117ah%_Fjm;ee>SiRkpm3FHF3>=>4LNsbz}$Z-2UA#rCDX
zL|W)utyKHY_wQdz<Y}&!lM(+Ez*%){Kj<o!o6CIH37dGVTBOj&H`RO5w<B@&2eVeq
z-)XtJGxB;y#y87)Ue<dl4?F)g?0fn-?CHXzF~X4n6LK|m&M@0+&*=75)sd2Y`SRNp
zSNXU0A|kg+|9nh*nDXdl&o7e+KV8)|`8-pvo|S6+<x<xD&}gpfC#MbdrlDbp`s<pC
zR%m8y+{CzM-M2k$uHW~~+haNJ+TP{v9i8h%OLqxhcz6B&OR2pzLA&<3ewZDqyX(Nu
zJgK*7f_wP(KH%@0x5l3N%a6{MwN5gg2g^1m&i`t@-YOum^Z>7v?6QA?)ejHv-I!Uu
zh~<UR)a=PpQ!N)p)@fSa(K!{D(k!%~UB=Sz&`lLFw`*@|E#Fi{>TX?sCFbb5bX9>l
zXV&L!+E>%bleekw%%0~@x^pE(KL!7g(E9p!+pm<+^6K!}#RBIJO;~8YwfWgyX#w^v
zYvYbcAC#5)<mcDQ+4S<}S`n5Rz4Lco{id>dn`&Fuj<Z}mr7I;;A8YE}@;E1#Ht$2_
z_n4`Dbzh#PoO#7jn$zSaFjZ^gI-Lc31Jz%b#l_B<o%4-v+Wym#zrsXrtzq)sW_mkG
zto^9Wxl_iGYs5~p{#nEn&G=V!pF>@N(X&$#@vmLB9|%|(mUZ^!1M&6Q|GhfS{c+l;
zcym_W*GZq}@Jc=@d$ct%MmBp==+UdLPaj<W)n#PG)pTZAZr-EW*(+sLEk)n`ce|pv
z<k|8SAzZGTPhGuu>CVHTttVRVotfUI_BAstTsX?|LGf$OOaC`Dm>+A|#I#!NbBNkx
zu`>&{X3Ksw{n)3{(U_6DC`RdYPiymrObe09cYAf`S(G`&<Y@#tOP#%3D<`-$wf2PT
z6IsQ8iF-CqjyRO7);%ZGbnAgt9`i0=TK@X{%k-(UetkT+zW>m=<onTw%GHwFA2QVz
zZg_v|!~(U4TNW6vRNI=Tzgq5{@?n+3>#tw`ac7p>?PYh_W|^Hkue#XhO(f&q1r^^v
zROwdg?mxvNXkr$$;KbF}zM3zMl8r7DdM;;c-6QygLH~O2^H13&0<MpRUM((e-}l-!
z`1(CP38_bH0pFTF9-DXSvuWM>l8HZGE3i-9`^6#En5Euqep9{qOs0snPRf2-7uKzB
zd!KQvu+d4yBz@Zh%M$HO*ZBqM%RRLJwcPgFrsUTxTzN>_e@;qGbZu4rjc?3R-;T5H
zNk8*0|3}nb!*KR3r-F=iT-Y^doOpX->$2}hEWU5rRGk0y*$IKrWH;~Z;N;DFH!RuU
z6A=*iqQPj_-qkzn*TmL2Y?ys0yDYOf>4?eu$f~xuSvw3;EUL097Gx%Q1r%*?v}IVn
zVCAb4`QGdQI{7!<$=Pb?yZ%HNvu@xVDWO}MJB%(g$4RF>%uMcHoj?0y=Ho5<9Ioo$
zk!1gHSRqVW|E9RsF_8y58!Ycuyt{ef-iyzflMCe9URC?~$Gu5D%eU8UaYX$V5q*It
z%Reo5zwvp7ME7D>X>+&#!bcTPa(t>#s#(e?qf+~*vF&c(-<|g1{-IMtZoNIqoBH(|
z*MixnN<9zV<lqu24vD<EE2p+DN3r{MU(~C`i`H;ixEtGVESq}Xrsja7vAOL9zGsT^
zvP!QH#N}we{(aGWx6g93=c^9#cYB^WnD$K}l7qEw=eHX7@cl;(6dXeSOy8Zry0_?i
zx_o-Z=~<ImJ#|-cZIdb58>neFyDa@z+3%l)4_|m(PTj%1-E^_w<BNxXM}OF(X5P5A
z!=d#=^Jo7(Q|cdIxe&U;tKa*a%+w`Iy@h9+?p>Pd>bkUPQ&NM{0@<b4=BT*-X{<<;
zFP=YtjnCAR{u<U+xBW^=mTgnrymdy>uCsq`U&&$MO1;s2n$LT~wB60V1zeT2&0=+j
z6Rl=$|GC-KdWMpa{+B<w59VGx(PF-6gWIPkdyaqhx7xEu&b(r;o4|kOi-&d`<HDH8
zFb4Iez<n`eb7PP+h;3p(M!(DiJT-yTFPl51+9&$E=<)Yk4}Q-R;NP(3fLD%tZe@>)
z_v{HRzS@C8pB6L<I4LePK6uPbA}1&3z_ZK^ycT~Olj9yHc5s%-mG*ca($;sH))HnS
zn4Ef2Yi;cGcNarDO*Cg$t^4|VNo;!8x8wh2ulsU&@AvX|w)fxvtUagL$-(D1DJ7&a
zYPCt;-PM;h4)sURxbC4g@o>%~B^_?lRzBA}rM@2bJco-hBC>`vJxY%rjM3rw!?DJY
zWxC4Qz4vOZYMUKn;{vrkEA{tlnCj-9uD`!$>cokP6V3PBn)oJM>gv<0lT^Mfi(7f|
z<<?WLZq4`pw(+7=?=GL9b(t5!B~*=ComO(xhiP2aSgpc-MQUr@`qk5yyz!p8XK(K9
z=;)hI-^OeWi%XyK<n@+KS)S|koQqs0Ee=`nddvUajsh+|&ZRS*DoggSS`=2h=iLT3
zH-V!^0+Z|~y2>bQ6U-N4?>u~@+Qn>RvxZ8Y(-VQ}&WLSxE-V-Qi%vX#Vx-=A`B3FC
z+hcoA{|!H~u*2Rx&CSfs@8h?I$>%LL@WiF>+OtG@(GDM7W#LCA%K87kOpuifyq&rF
zYJq_Gk@w9qmt|W5>Y1b@r9OP!vHS7f8<|VgWcT*Ptrm{;m!0frvQPAWz>SJc%T|f0
zM&$lwzPn=iZOwOOrMoXk{@QeLaoEf3DVJuRVh^6)uBPT9JbB*C2iqr{%ITAzEiLoK
zI@7LLymDp<|4)e{3QUILT8EnYq$|0<HI}I?{^-kfGUu9*c5Vxw{?ejIw~Hpca$Iv?
zO3TPt*uRvW<x*1MQy<e~t+^yCH>iB$LNWcN1>5)+T1uS@@aKM?Dl_%frw}E($;Y46
zdHhN+KH|tT{U+Oz0M*r*6P2sn4_=?}<I$<*-tPjVqu1X^O+9;hSNHMk<$|{52di_R
zURe9q!m!e~j=B5aBqqc8_rKf6iEaKB{mwY>`@;p(|7LT&;fnsTEVLr|#`CC`(J%Yw
zFIjT#T4EUc=DyWESF)Zr$a-e}(F?6|emzY|s@O>7hwq#pyQkFO<J}>i-z7VrBhbBi
z@zSdy(f7mJUpO6BS73N}w0}Bt-QuE_voo%5;&We~*gijHl0sNS*qTfYSFRA-IQg6%
zN!%rCFFtrwT648#^Q)|<rYn~>_zLaTW>tT<ME|nFv+mpB|Gs(jxGM&~XnFB*=Is|k
zR@bkrFPvFjVypfltxMi2ov-B)bBe&G2i7MZ8O?TLZ;j{-F60V(VB~S^WWcewlWXo9
zX&hZSp>63Sey!F6l^y0A6gSD7IViHMsDW8^!B3HlAB{8QgB0g0p7@h|>OprkpLL?Z
zw>*&^+yAQt<{HiDo4bs6iUV`D&4mNfI-IEr$AvnM`X(Keh%@^jS2ia*jho$Cy_M<g
zlJpn1e$73_9K5KzRk`}2-j<_N;zAcq+ZR8(_r;`Z4__zQ*`)5gwT0pR?~~^p{xJNw
zbACpNVx8B*OJ?0$Cc7SazjRZTj`Isa-qrE?Zy4-K^S{&-{8@AN($fv)Te{brjm=##
z_gajBpYQLQ%kt09zOxERu~{m9HT1?)jk)LSk5+r;Yus{Pw|7yv;4R%FtZw&sv*+`k
zeEI(Ozxb-tbJs3TtlAxaDSCyGthUg`Wi!687TM0pn3+3y?FVjVee=C*RCYI9(|>q=
z<(r?IwqBjdzkiOX<hfZ>e09HSI9@k1Q*Mi|_5OIUUv0+SdFmf7Z-@!Y+Ho;rCHFN(
zZEe##8AZE&ZykHKy>cbj^i-DErJHBGZ&@lTx@nTb(?f?s5)$KNb$Ffg`3yF3-gs+X
z{Yb2#g|Fk5#*ZdLV=KjstyA_MOUrf%yYg(!>*cKH@9tmoDs*3)aQXh`$J_K}8&}kP
z%(^;1<(^c?l!662p3F^FuiZXX>2Hbmf{*4Urf$<K_wM`0X#UDQUH19g?%vDaDqWmU
z-T%)~=)c7O-d?3+C-?uo=`)xAu2;m&-M?PHE>64ZzGx*^`Brsnn}8XI<33$n&0Kj+
zYmWTad6ieTUpoHn(Mq|~2D6qwtky9N>W+053-Nl~zv9%XUuLq4o}Qg&o%Dn4x#Y^o
z=>4WPwJ}$|9bIIv!+N*-^qUVJ4*LYoyF018dE)fMSkda{g-yr(q#v~QpDLN@enIH$
z49zVj59{76sr}K~81;TmhMW3}f{%L@Z+Wk4Gd+2D!V~FA$M)TfE90CNWtps${lBs%
zwfwTB$ziEN1IvFF@+ygpDjRfFZfQg$Z{cr!`<Ac$akJl)3rX??-H9!~v_9)S>t?xZ
zVf6Wk+|KI;*2O2SO)nYd6n3v|?u)zP?H^ObK3)Gsv1_%aOlVwAkYvWesFmB|Vt+lp
zGh3Bk{>}%Td%|;V3-8rPpH<%f`;|^_w;ab;smVt>GIIYOo%wX<&inoyKh^k^KRZlp
z7yqH?v52YhMaBdlw|s?;dS>^V6AC~zCv=iLH7^BRhk~j@5W~>i+yo>IVw)I|Q?Y_4
z`jINu)UfP`;Bc|MichLUTb-&*8GVhEH0&G%+&3C&C@5uBY8W(4X=3SM5mFQiP+Al^
zky%NBU-$j?CJrUtORE}_R$q!*qrc3_efhOdTemvzx4JuBZrR-8gJsL^|2a9m_?xAA
z_WQlpZV3h~Q=8(TFyrm&kmXvXt6~FB+nBzR_@A*g>wKK5eB`N{96NTZ-LX+T<Y~WN
z%3u8K;%!sv?YYm2ESkB@wD|0qH3>I_q;wR1i+X7YED;T<%G~nu<f<JNbCUuK0#+QJ
zr0V^D_v1Iuo-OO}`>(s`L)fwvk0yzHd*Zz+XzfKct;r?pHTRsz+#0pjTX4DG^<&F5
z79}N3G5oW2g2q-O$A^o9R&R;&U6nL(dh?;wpGD78pB#Q#8k+Rwp2*Q{E0%~H6=R*>
zmNZ$fYtN^42G>Bd*OSX~uO6w$oO*8~<H<t1kB(MXx4jMQ?0R}mPsDWor{#Mz-L)ES
zIp{86(v&~dcgw>v__juTmg3gVC`Z=dx+&UQCw*EHx142)YN~7J%AHGkrf5F(dm8YV
zDco`5gI3QaCx1JcKa4)a7+ihX<FdR9x68>bJ$?(km+kc7PF^!p*oX1+>5|_sk3X36
zvqEPToA!n$W}%!r(jrcTJ!n;maMPFb7kT*g%aKX->Yq+0D(qHGIQhsyO6FnHi8;(6
zXJwVA2PJG2sM%2_=07__ys_z@#IMutJ>mJvFROWPePBM$d;Hs}+K=ir860&d*PmJK
zAbQEY@p{ZP_H1+Z(^_sPlHFuy9FpK*bxzQJvac!qP3NvV!7C(6-@Xo+A6(`#<@ci0
zj9RA`(;9dKE3Bfr%0gPU9*OUGclo~ifkn^xcORH_@Y<GJ)!WS^4F7pPXYWmwzqVIB
z|JR1S3;DM$`gLa0l|?;!&fJkWR`bVhmE3o=8~tb6q~3+=%={6`@;S5M(d26vb`&g%
zKmWD6K&f}`k3XIshyF%+_)XkW?`*}iE#Tzh(r0>`xhE8-9JuvC_f>0#YV%q7-OVg3
z>PvX<PxyK#>!*6vp#$2h<sMaT+IwTl-a^Ae)@KAJ38{wXcL%f!Z7{q$zwyVz?)6WC
z&+iT?UiZX3X7w67_S=?^OwJ{mt-LE@#kyB^`m3tNugsNRN<9%1+@*KM`lRGe!$)~J
zUsvAl-`@N6*y&9X=epk7%I{>1UVHq?eCLq6<%!pr4SqWL{aV``zH{=2RS(n)9z1KB
zTkuC``l)#tr*s`vS)TqmeuFbw!|BcS6MMp4lB8QA*>?YX!65g5{aW&akL!4DU-I<3
zx6oT)bA|i+?ul*syWgLves@2ox~1nuP}J5{KJ(|dc}%tRP>lS;u*@?w?2e+{<gy<#
zo_97K)BZpA@aKoh8LPj&zjVhjD8f_g8Jl3yM}>}B`M)R2qmvw3cv`F`9hbI?@c9%W
zDRlp@X2f0g$?Bh`_slfsGWO7B^U&`5uyzOY%ACw{NAXt<)4zYs&^uDfeyvie{L8GW
z^c!jSIh^LS^3**&skNacGMQQ7&E!PMwc&1R?aFE%H}92miO$WKba-K)SoX_cU02c6
zr=_}cr_No$Yx-XMvPjw!Sr<+oeW^t=L^g=@_%pLVypZ!^!9l*ie;@7Lcz#|y6E};o
z#D}8#2J@2z?6Jm%$NCC2l{PHg|E@1)U)g!4(1t%}OB1ESkIXnMth88k@%?`q5AN(_
zD>IGF(#fzZ-X-VReevX+V{c}OPg=33cIV3zjIAy&WqIp__@mxyNG+08uldQ<SF~@D
z;H{cFohN=6czQcK6y6sID3Ci9@nN~W`}Nm7fA{{)?Y}6nYuW2gJMrrxv5&eXY96cZ
z7Qd`4b2^T#mqX^|J#J3x$$ZCBmYfQH6#Cnl!^zJ|^^1MRAGVTd{V{t@nwF#o6#BV-
zi=3fvIj34g)_L~DXDjB;+xmafgny5htdH|q)w<k)`G)l;6^TcyPB_0@?fPiB`PPf+
z%sDm}tWr-bb9f(-(<Ekm<H^75WOHk6dzlGuznlDE-Se<>$)klEZp=!n%v;H!zo0+;
znT$*O#7&Nsp7n}<?;bW6T;r&)<2J|oCdupSg7!z##W%>uaK!hYwatlj622$N(#@_Q
zHPOFHEJiJ~NIA5r{Gl0l`AfGAA`h!eq<3^an11r=k(KwgjVn_xX{qJvRoYCP%jJ9X
z&W4Y-7$$u)$v9jw+xu_*?B6yQUcB1tyIIwxO!k#aa9*@8154vl(QppG3M-vY?CqA1
zmb3VYbHC2`m{A{Gm6P_Z(YdhbW5lfU(HpDR1g6D>IZ82Wzi2wfeAK=BVy33n3Egwr
zX-5`sO(@*7_MTMfn@k>Eb2F1E*RL8sS}tz=I=|Mz?0ftbGqo*mtYkZ8bVlw^|El`@
zP?^&Nj%$~u2fm$ns^>C$*SCcxOHPI?fBju$rE$5B(d5svq6K;_Q{R2D-0*m>d+%Ep
zJDdM(FL{3yZhN?cQFcP!`;hzDYpnyXsI0Eav#6U<;=by%hF!7IdXxPzb;4CH^^4Cw
zyra^2VD5((2fg_#JXP;q|FKmp`jfZQ)9HMvUj@V}o0w&o*nJxR%6#1WQA2OOZpJC=
z-c=F{WY|A+9hK9xZc1@X{P=o;c~q^c(3zlluT>viOn-Uy*W7FS_D$S&+By2S|Fe0g
zY*i0`E7@kJ&Mg_>5qhNc?t53hWp&*LWO}#7?!SBWas_{FQ`@%q&8rVJNp=3Xx5?}6
zZP{zg@+EfFcP5L}m^=?Sr+D+qh3X^TYg(j}73;e64hP?uoO#Bt$9LngAG>>_V-=s3
z@I3o$7Z-jmZHm06bGpZOuFqY0je(QmCzi8KUG(gWS!}A4bHq!wmbn*aDe%radq8H_
zp7$|V8IsmrlkxB|eRDPa<X3jVPp7zSR5<NrvIE}p2EMD4{i&SVy2-NDr{T)4&ynwM
z#JIn|UUy~o+{V5|+a(I6PMxwY`lR68X0ffoCG5`IX>xKKFRIz>+_QE0-mi~^eokGq
z-CyLn=(A_fy}Up9J((tE^vwSJtV@3?>~w^huK(w#7ic?o=Vje<t4U>7UOzG}-qa^Q
zW&QE{|HXFQu6-#sX<PW~$433>Dbi2kD!wdL;F{%myF<aLdX71pI(zPP$#pH;b6o2(
z(u*46e{N_ANZFM0EXHsKSDWWWf%h-+9)HvkQ&ivow!&@7WTExW-*~p|c<op-|7R7$
znO`Zf=dBJ1_ZlWV{K;^BO6JLyx0btqua7Rh5w$yHUF4E3P6r>Cq}Ny9-)nyows_CF
z#XC3kem7M<X;}9~{m_Yg3+8O=#2G1%Cw-Jva<96swcUK9<t1ycAH_%Be4lK1c<JF9
z#p}oZa~oay`u418!nX(A*>BJ4%EpFg<u8bCnOrY<VDrYwca8Rx_4BNGx#|6`-sX;%
zxt@0f7xIU%eDdn<?$R0Gj(xhC82xx-%fq0|;#l45=d_jgOk=yqv%#48;>(%Fny>6<
zbogxnH4o8RkDxXmsKsbxYG?|Q2C+?$R*e!pU2XzeOd5pLdJGNAj1W04_LgngZbu1b
z=Vpf)a^emG9C|JXeuT6n2D-Q&T_G_s_ktuFYonnD!(uzlm?jMuk${7&i<}hLSOp&)
zQdes76nXsV==7Eaoov@{FH!p$cXq;$xVkenSFc{(es1scJHf8OX=)<AmzAA`uSjyf
zJXyFgt}&`~PvWWIl0`?i`?{nDw*=RHm%ZdUXXQ?Iwlx!$YHl*I{`HL`hxzZd07D_O
zeXcVvm4rE-%*kDqS6ehmE7q{?<Drc2oWeH$&5bYKzaPIb>ic(T*8r!eqM)urQ+bSp
zuG|Xob@KXUax`aC)LOs3V3n1nD_5Dg=G4?U?RmIab>pj+tz4;_tSn7KXD^hnza49M
z@_70p@t?Cz^dmP{InPqkGE?<63{O1pzhAOz(Xn%0o!u9Xo%i$Y;PINX-_CR9vZxvJ
zWVR*-x-GK`Tl`_3MdqjFBBpI!OPVzDv+P8DdKZfYc%5o5TIjT*GektxYiD5h3WF@8
ztuwfmFAMP2h}W7G<>eaCc*Uk`nOl(Al%7pX?Uo*!*c6m@r9^A`E>G{58NYfu*PgVR
z9KFogr+ikN>1Gpd<K0PS8Yicf7<JE(^<lQ27kl_!f_=Jtp<0Y)`%e3_YtQ~Y^F6{M
z;)p|UiH2Zk6K_O!qUe?#vUh%@y-{P#XL~Pq$)kXw+56uGj|1JAj7D>Lui3<%uxYF6
z3}Fe;tUA~+g=@B7zybCJ8>X9<c9rhg*Jtx><EDMtzVUZnSZqw|ld)GZuHR&!^oA{s
zdHPbfV<%I6%Oh6an8qhm!6o!dMZ@Q4(TnGw6RtdYzd`uXhV|DoY{a$Mj~x=(@P0pg
z&B_K@$=D5MrG}51!eXm$?%Mv-VQoO!qGf9sW1ZZCPd8b-ys&*mk;aOqeSC6@%qwOz
zMZI}+Fz&u8BR^ZkM(;)MnfeuZ&n0YJyN|zL=(mc+Uw+<7Z=qk(XEm9&cPKQKebnjy
z8*A9xys=0iSb(AKd}CXrLHeI;n^=t_Li^tDDcX`<^5Kl6clCVx{I`2`C75SchjzVh
zu=H8E!P0NhQ>j&xb$8uvY|2@8K(%L8t!t=;=j8I^`43k%wx`YQ6HC#(SbBZ(dh61~
z#i7e@S>z~2eKbF>d3>inKPO+@z0Y5^Kf4##XfTb>EJ^UjrT9ra?f+EMK15p=OI_&=
zyziHD#H4el)a@kmIo-t$ZFf106BE7)EfeLwG4<s4dHavd)_Le8cQEC{-k;nNF&2x1
zWra@}eNPcRUd&P>)%e$VhH#wz|K2^E(*%<?KI&&OD(<qByt!s?qs4~btV<r0S08@6
z<a5)S^`@F%Qg#G$M9rHdbF#6uOyZZ(QlpBWy$26IlVh4I@K5R(&w&%yw?uGC)+BP?
z>g@{n{p_>lS5N<CF@}rkj|<O!XkhdDV#Wui)#|qEvsiS}&DM3r?-x0`a4Wl!|C5j$
z+f93?-ZnfSe&7CTh3H(Tt<u_Cmd>1?^2SF+O2eN$y3l;3KXYKC_R5JbES5Zuy>R78
z$Au3MT*O_r9W1%KLoYS`#9veW3*06DH=mQ9dw2eRr}Kgao#zi#KmWpVrOz=&aof|x
zC$i=?oV(d~BzfnU=1yq%w9A?!j7>@4<!qA;%YGkV)|=S->&=3BjKNo;?-o7%)H`cA
zhYH7;EB@kNbapRVb0|&4`qMpU`xBGT&xx22Q^WuJk!Ilg#7>3Q_9Y9|_-*PO|EFBI
zSGsZ5_w3}psWnltL17#Ay8N3IyWKf-Mytj9sq#NK9vbh-f9>q3*k+fo)cO4cwR=3*
z7N{oV2^&=N-a6k9B&Q@<Q1e6LSo7-pv2QdVM7wS5-Xj^gI^q4bm1*a^LVT64SWLJp
z>mZSrULARNc356Qs_l1a>G$vNM}K%<WZ9EwE}rLl`+|&!=xWX<DW&T@l$rg0zEr*F
zyFbu;$!tY-nK!B5UHpZP_D}s=rEB&qqD6Sy+=jIuP5#{DzriD8_4@Ss7y+i6A5yiO
zr?22MeRgUicd$hCw4$hDx2qdJG6vqb;(ouuN1<?^lHmvS8IP*<S$6Hz=jG+;ep&bF
z&6~5*O&2>J=y=|nukwGb;>VH~&mLxPI2J#7r~SdG_&?$8!ut&yrza#`_7P}n7T#vI
z#7g6xfbWmD2YlWg)N4_CUOx4PN#^`rHqIL7ttQkbD*JTHsY+W+jh?joV4-hKT1Ajo
zV5i@_z4@p2=^j5>lqSCIhd;}Yh0!m9BAs)c-%k9zg7@pHSxs7n1+Q29n6$_Cg+TeD
zZHrv>q~EyBUn;8i_}&fmLXKUt7eqQ)yqCN5fo0`E+x2F(H!B}`ylXS6?998aw&c+V
z=Ed!c@?wjVdUsVl{WsO4^WODi=btZVk}dn_71Z3CkXt;RV*!uNM%^8^PrKaUi2q<P
z`K8siynA9(!Y3$;q$tXsa#h@IHf6QN2isFirayb{zV&v(+iiRA@qW*iUcW&8;?px`
zS6`Z{C!bOhSY9qAc2>n$$iBz6nJ>?J#@Ul`a%c47=D+C(sl3&DQ$Fw1on2goE=QAI
zF#JupVY~Y0%Lh(x&bhw4+q^&hUT)Xloy)SG&(r!TTz2`}S=P!9?=$zW>m0Bwl5pVF
zJh81SyX8pU;p>HN#|<?mNM4#TQK3b<O~Y1Jr?WiblCOc-t;97ee>mMay7=82{mD|(
zwzA8p$9AXh{`J@}q9{|a=Q`JUqx#dUE-(7Y_j!>}ZH(Bwots1bYBosx-cu+3OtAAT
z`(=5L>J8jh8-lks%yjPZDpk!Y{;}$5$o<FLc0}%e>gFtOc(CDIM(44`dfscc3%}-A
zQx|s4Bt139W682@-hBH7PfXL1E3{>~kssApW^y7mviL^gw)c~+JWy_y|M*CO|D?-|
z?;c^Vzce3yWb(}aaIy6a^=qCVD%dVpG0yI8O61}GQY!Q)_i*<SMe7enIz@?pzFuMo
z)H=v@_{4RCqQnD}b=nHgIA8oV?_N~WnzaujWb||bB{vrJE}U~rxI$^8?1URK$}3%)
zHY;vD#r)^jVfpv&$1O6F52ieGebW`2?vn7j#?r#jRh(b`jbqI3z}QK8{|~=8>l7yE
zbn4EEJ%L=YUzDCSCV2_33bKs6d}~&5<XJ!27pq@Q3-g=Sy2bjlm;I9ilMh~YJbZc<
z)1#!Ouq7d;HH9l46?N{}xntdn$+D@{GE4SH@7)<yA`oEQUjJ>=w7&nl<L>OP+qLlV
zosU;Si`JN*`|~(*OJe-Fon0#@Jk1Q;_^EVlcYpgL4w31Cn>!|NEs?&Gropx2(gwDe
z$~TR%_X`$CRrp4nFrT6of9J?+^NGg4YxBzvUpWvO;dSSFLB65Hem;q!Ll#aw58nml
z?2z1Q$o`r?bk7c6<$9~TeRU5H+<eXcrtfae@`QffjN-&~GBW(e_pi>~Teh_>^um{~
zS#O$spWe7+U-<6$jd{YxZJZlhuDEY#GGJQo(0I02j8*Ez)98T0gA;Y<<UEKu*Ln3~
zpP>AjIpWho{+~6otedTQB$-W(aiji>53l<b>L*;Wdt2;iR<ZYEM(}jy2%mkebD5pC
zTr4bFtCem!>vSzkSx(~LbDtJ9FE!ozw6|k-#B3Y;jM7Q-KL{%SwXOEp;q3e;nd5!?
z-@nTW3OybieAqW{9^bjDm&tB1S>GAvd4AYjSIAnHw*1laeIH_)=6==w^-%J&ZJpZ0
zW%6RLwGyh1emcw(5pm#!U_xL{Cg<YsQBi?c>KWezyv+kObkW+upw=s>?Q3LiXbzGF
zu}#R?%4CAEl_{JvLOA^TJP9MoiLRdPA|{;=n7ZDqJE3H4($SRQC^9jYL%~{XP3Z0y
zSASi76cpni;PR?zx2wRN@`+v38W>d)9*5;_wVnLF?f>t5r~Uux=RY}lXJ_&IleX_G
z&sU%OpwTQS(tq5T$Lo}a$0={`j_Y@C7Khp7{o%-CvX@W)_dD5lV*-=v?eBLaBtK4^
z=y<ha;(ST-be=yMT&{~X?fS#Fti5Bdz1u=vSJl)%OImW@mAqdizyHrJoM&CWt|ath
z{d|wVlZq|}87&Pyu|PpnSvz{(l$p=<zN)S^Ho7FVL{swU&6PVZ{Wx-DiObz>D}MAW
zDamw*a*HY}3v0Y`?YiHqM^B#EH2>M5<1=~vsq<6aj-)^HO1<=9$&^1mKjzf?1c^LV
zjSiSIQ{dHRGi}4Fh52PcGw#oN;`+~0lX2(DhmDn)f{s7Eo47A2a~nTeY&UIvRF?YI
z`41mFdGjdi^)uVzYjbu~ikLQUT9&lJ;8cInf}9npSCmf8pXF{DG<n6*5Qe8NzRM1+
zbT~D0mXm9M<CTysPEntoLEA!9M4fg9mW7CzPM+nayENsB&MRT9DW4Xm1%JEZbZYu6
zXUQO&Q!|Vf`m8jZBB{E_ZjoD%j_E|B<vJ@0r<kX@R!$ZOWScT$#$E5y&&xg~Rpz_R
z=#8*?bf?4dUq&6{{<{ZGGDzML^I$b>;yUO%YvJja-cHtuvo=hgXc%u`syx?SPkLwe
zlbI9C-S!#I$&kp8NQ<yPRUYzb#oopLOt?&cU0QK-#np@hFZ`1i7OweNl|0pR(aE^U
zW|y-r|CgL=`s=#kl^Guc@(*oQTIv>Y@O9Yd#74JsRy-$nW~g4fq$cGa!fD8LZe`Q)
zR41|DEa{y0F7NPB7Ee%?dM`PNyKbqqqBp~R&4?JMX2CC<K0DSIE(`iBc++^=>XeTu
zYi+kZdBdt_@*{iorRQtB^|X9lAKN)Ez1_9l_}-yf>2I~A0#_I9+SFW~%{N8<PPLeq
zsakUB@l{X6%9n)A*jiro?U1>x*dpV%M;5$Tv2Bz1IWAY(`ncTsvi~_vK0W_0ANFkh
zs~En#!sT@Bv~Jh*5T~M^J$~o*O%A_*{`sYcvcIn`{p!yBI%rl(sa?lGVcCt0-ww((
z2W@CGjP-x8c<!W|B`@Dh{aDvg81sq6t@&u`(a+yLudXTc@-gWTTzYJM(|4DnZv#H=
z3@Pq-?y!J$s#{;AqMxkMQAw#_#<cb)T6`HE7n&T}=Lv1oUg(l}ZE2g{SEsG59j}ep
zRsRaaS{1y~QT|o%D8==(srM4Ej8cn(9Xo!1J+5!R&1G$CujlbeeeUnSs<Y=Vy845W
zTU9_M$FX!apXgPQI(>Iejg2PBzKMQ;&z3Ds2^6S1cBo84B+kM8n*15nY5dRL`uT5k
zSvh~{^XE^WpSr%@fya@hv_MVPMz80<imjg-xlQ)1Hx;TVo+lfj*s^<$VQ1WHgB<l=
z3%AbaZ{H!TGw)SW@81pcPf5K=c=dq&LtDc3?-jdJR;&Mhv`XFV__A(W8QDYDjx1@{
zMY1~2btHMJss}fuw?_KfZ<+95YJoK8&Swv@thSmy+Hh{`N4**CcU2duy}93CY49<y
z`0ZZqq(ILD$%=8Ok8W<he&?ga-Q>qd->vK8p5Med<4)DDm^IIr>d9PK@vK;^psO`X
z&!^$1iQkciaAuAT6WWrajLN-qO)jeN>;I2D+8J8Yt7_S{I?OlwctO@dk=P?4Ch2QJ
zIqd|FsXy1;dEM)tt7*J(uXB#t4oj^K(wm$=8!H`dstwK&Fmt)FBJq;*{?*;`sry|7
z8t(10;+S}*q$>H#^Gwy5pEg`D;eT{D#XUiR<xq%1OQ-odk#yOKSDsBtf76xn<wL<`
zk(OK2ORwy^lCNl0C7HfyZ-Dds{+v^}&O8yk4E!7xvJcFK-4Z(EE2=V-63eD94=CZk
zcIrla-nqlcA6B$}o)aTp-mEzz?tR$HiSJt$m=(N!GPm;B^Rh!$Vx{$k8=r*SGX5@R
zU9?8inB(K#jo&|a8i@8(-D+5;a^yUBhcBm7V1{eywV#KSXZPh~CT`oh(K_z_j?3K=
zPv;((Is4)>-PxW>G7`t0FPWvSexv`g$Yu-9=w$YomhOfa#mK9nw`-g)eO(~P!r^B4
zL2}vwo;^`E*BN5!4!cFP{athND5Lc)fxR3}3%);jq;S#I^W@#IPi$B2RG8Kukm<Xq
zz|7dOP=IR#V@Kf%7Wu_jox^m>rT4TNynLQnp*XGb=0nd(|Jh&0m%M&rCgkEOZjvqj
zgWGj(xRAIk=Y~T`={gFT?|+_=IwE`4^tzvC!CnFXi#s+mx8$VVc#*$M@_x`iCBw!l
zC8x&RgsTUGzkWy*_mnYLt=*IK|D^2w1-k4<_*-3XU(b*2mN@^k@Sc$P{{v;YIsD?c
z^<}P|GxpL5{xolO;sew97R9q$lYU9<+VK9$$Ir|8O%}29_{_N8soweVsp8IA&(`oP
z;91ndy!P~+yNjpo^k`FkBCR?_tFqZ;u6>)`wAm}J__YL`^IUn?t!0<f%C8H3A4pm*
z>+h=gKSAJ>)0Gba>QhRs7TTz|`16^}U6<^_pUo%p>)WreW&RPnaxY)|sv)%2EB@KR
z4yibyjX6hWzBO>0{_}`Oto<Ctuz5v(M|!3QeEC)ON4?ZBtYVIF+J@(6wEh=goD^Ib
zem%zV`^Elt>G#Grot|t@Om$4FJ9g@ke}ItJ?U~#6uc&$aJ^q^U<`+h{&$%XaiM%+t
zFge{nUT1&*fhmf|oI4U@L{9N-t4idyQM+{dYG!Ag(>g6S4~NDF<=^Gk9ky1jbB~#>
zwRNf0o`2JR9ILzG5MtM2oVfjuT!pN(@Vwb)ru)vWHWPF^t=hHd_0mvQjm#LIGg<RR
zJ*)Y|I<8Nx5B!(P{Mal1__5sXL?+K28~1*{r}^mIO_@nM<T>ult`sos*<G=2-`j(o
zXH;(=sSjQ3{vh;V_It&n9ryi0QatWCb4^^wbM;!D#!7+k^>=4BPn!9#Xvw75nR^mk
z?;STxvM^fX_+jxnxfv_3Hn2b6yG@|Bq19nYt?=E;6CUUY7DhW==z9O?+lk|i3%dN)
z-V53M^Q)MFmX+au3Bi)5FBea*(m9y(&pAi=7<1J=58jR!&nNFHNJ$QTxUk7~b)bx~
zvEIe7HRppPRp$gbt-bVS&#dU>DokrSpGAnp&*rvlH3<y;{L=Wt4pzslz1l}lM;ZOT
zsKDH~zfsYGVZU{aTk8+iy=*xf9p%g1^-h@U+mvnlZ=~aJqv>F!0i(6!m-Vr{vG#%o
z*UeJf;ph=D|N24S?8jdxy4-Z^FcwxjdvNj}rus`>FINbEsumT!{jW6Qj$X|Fue)^T
zE2%yGJeODK!1)%n3C<gI*EC$<y2re!T<WH^d-P4`>?drS*H)M2atO{X=i1!8D#3J5
zAnU5qn`@tyZH_*0Y#sY~^^0Yj=XM|8W#YEy)I^65MvWN{rr+6o^5Ha%jS7m&_L~cS
z{&LN*>#~_pW%j%Md|&=v2d4d|8U8V`PQ?lNTpt4Mf2~~f(dF{WU)3-8q<VJbM|a!j
zNol_-S?gzCbM@25z01rG-09wQUrVk}dEwKeTyf{Q&rQg9;CjgC&hl#~WD91OiENqp
z?Ir7%mqA+Vm7|_dzqwcLhM&mF4sC<yTF)P(Equ{ra_GLU#lJ7IhU#+`Zx!8jxBJK1
z%`3kpPL2q9qI{(|-dVfygKgr!`BK_qW?EbMpC4MLsBOCTx=O5N_3tMBz?N3y6Y{T$
z9Ql>_{bn65S{G!{d~913zs^&e69Or>ybjh+e^Ic{uVCH^?c-Kl>zB+gYqrl5_~SSE
z(a$cCwF!+=j#*l`FVOFhDr8;nzqWi^=bMYuIN$y`^x?#b9k%U3M>X58n=R1h34iAB
zY~x$`z6}g}5{_`sP<nQ%t#ZA!SoujAnJ>pTUA*P5^!7nY)v9Z8UTl3PHzr@+yWoCd
zUwwuwYn9cDKiRLJHrxK(f77|hiHRwFcRl;_E16~6<iEXm_-A3~i{H<9;}`0$HL}-T
zKk<O>LaPmuo8vb9ITBKs_wD(ov)(h~s*c~CT*`IC#&Wi(?n&`QSDGe0=)JLF$&b}v
zO1X=Tk^&W!wKnaS|91TEwN<ChkKA{=`XtWn_l0@6Tdh5|wm68T=ElsPJbl{6SC=J@
zw5VL&9+zohv%!7Qt-bZXAKIR|f0o1ip3FYgxf^wR!!z1HWaW7nOl>Q=r2K#HlJ1tv
z()*GVMSi}yBE^-!(i?4QpV5|9>;6}Mt-}FMj^>is(~tN6z8`nuTCJ{&?=H58<*&RJ
zzIb^)Ja6k=yLloi$DDU@-hI1Pxbxty=)9&6t|{Gf>uU}!k|;cO^~WoRC;ijbM=B<}
z`1ZH{&pEI6-GMvP!AtKo>)Vse3s+=5e0l8*pSA%1q))Gz=Na24Y<#bNvs*|tK)pqC
z$D~mH?{W+Ozp?%I*8I(~Wk+P3IEBniwq4<SP<e;Jk?FkBVa}8cXJ-k<r{+>=#p@IH
zeG~2cVeD&?xbA)MKB?uK@((`ZYf&h0d!W=jVP(QWorR${mUX6BWggv-&GW6`=rtZs
zmQP26{rN&Z{IdV>`~GG#^X^uSgxJJ4X=<J~>i!%u=9CbutYn)l_i+K^yNwmi`Z*WU
zFI30<ueNiUU~BgN>yuXxM7Zwlbj*-=ayZe~M7rmY(d6W5?ayw$7R^sK7i+Zj37*6h
z%Jt|^eA4@_$+N{}`J8&%51u~u(n3Z*-tO=@#c#YWjv<dvPZz2^d0|4h`i-@Z4(H`b
zufDtNl8e4rT0&eRr`-N&6JIJd{@S^Du1(%Mh55gi&A-~W<n+4#7cSJleEW3c{<wWt
z9H+c=dpGsR<d5pp-|;)0)6lRr)KSl@y^|L2=2~C;@%FB}p`p*~)?~W+d_P;TzT@iY
z6iuPyOK+5YJGG$qMyAa4h2MP{L;V*lxx6NjwVI8Y?PNB`8b;RL-FY{(1Zpep%9x){
z^_=qf%Z={+^@@tBhBfJ*_I(j<e7kbJXXKnui{y3KgJ-8-oyb+X|5?Uo|7i(E>zShy
zrS<u3{$_9Nx>uD~{dHZl=<;*n@s2%<3U`*5Y_$0p?D_7wWPEF0;=iuE<H2@o)J0}@
z>84n)B&N5-zI!lXJIfvIE!sDZ9H?Q*<A|Akz?t=0kDT3x*N;+I4(2r_m{)AN5zIPI
ze%G3vQx%>5xJc_22sn9*cNb@zXtZXUT(6vSms9PnV)?@NdJ*NbWM4O*Y`(*H=zZK-
zo;>5(@^gxH|D6yr;fqcRwh{B6))AF+>-p;F^RhYr0(D;fUGnD1EbFlTi)(jzo3FpK
zw!TY*=g32k4+oZ3h?sR3mW$rr*^=mOt6r4A%GZ!DUq1c1olv^%jM?J*6emUa9o_7i
zEz5Y)O0iYMXjbRa8?ya#nprn*`mD9;^tSi^*LfLnxU=pkQLPr8+xg$BsJP_Yn>i_N
zS2k&BTbkd@@{BoMYw+UF+VUNnTkBXYzJ0bRKQt-F$?q+Pl~=Z2h1dK{t8M)a|30O4
ze0}1&@Um^Pf2sHcfp>9xj8_+(eR;xN@~%pYS^oXQCKIgo9D2N1_}a;EPd?`!2EBi-
zz0qCsPNj3*`^jkGzNX%jB~8~Lj^D7=W<q_?9v!^}6I5ioKdks0m!7JAI6qyZWWD<O
z`%NsztX6M4QSbTflFG@jh=Q+ItxKfmdjGMTp!mvQ^4sj#l=nhnM)`Rew~Mcyjs9Ez
z^V8wv6QMIqdD?gmiG4~|{55y;BezY9uFF1O?QgSzW#8<kl1Irgwg&b)te#%v+W6vo
zWhZC1jn2lO(&-bLzMNIq5X)))Y@SduTiL{3f4yU@EXR-NMhF!DbBw<H^SIER9ED%8
zrN&9;-fZA_J~Q!pRaIWx)%`Mw`_tsUv&`Oj>-xnzuM<@p+TT|iG_5%JD$(?T7Vnou
z6T**%zUo@KrYlV1TTjrR(<fG}KXYQnqJQFr0*6yULn~+_FQD-f@Mw#%8GPi$&=|3P
z%_*@s)h$1-MBmFJDk>;a+aoonEVU#vIZ@X?DJQeAG*urY>ylcWT$EW*l3%1?2wMCW
zqz~HQ3zp*2cgrj)E^*FCEK)Ew()US(vJH(4^}{n$N-~P0xs1#~TZBQ&(a|wP2266H
z%c1eP3>3`FK;AJoGEx9xm^@gw0*q&FZb5`erlw{JU~FIjp-s&cK<0qOKx`wBH%$!;
z6pW0F6fBI5VXC-5Dhw2iK_Vboa|?)!fdSM_rUnMFT>7qg$@wXndFlG$nR$+R#hGwE
z%8aj_9Vo^?(E~ma2*j|l(T7KgOJr1lzo&LcW^QV+Zcu)1Vjeieks`ww<ZEIg!_XWN
z8KxjjcrX{p+aL^4gJ6O9;6O4nQ7|<FO=BBy!MqKM8c?K|8G=?!f>a_fNZj1W2plaS
zb)X<bRtJ(ts0Nv70-hu{PypEtV#9(P#0R+mrW(XIH2~>=M2WG5B_tZjiv(=>!qd+s
zBq|CT2~PPrDHw48N+~$vz{~<`hJYp&h%Z2HhOj^+BKd+s2_%9Ab3sDJKmimsAax)b
z6h@H53=1I$4U&h15XdBuDzFGR!;qI)4UtA};fd8L(#<P09I5;Og%z$c1T-FuBgjz7
z5JNLWvc*}3fV^d(U;xgUAg_TiR1EA%6gE7;f)X7F8z>+rMUYxhZU>nMN~)0L4Pv3I
z0;vRJP-K{bLIh+lNEL_%1v7{Z!jNbHskN}M1lwk2XvhVUF;IX+zOk_}8D$1+&ku5u
z5#;OQ<rIY$3+O2pR2UNz`liN2hCbMb&~O0x9)v;u#e#_re^5pMg*!E40OU^WaR72L
zEY3h|bIjBRF21n%2$sgM$Qv4vRStoRQ1r^c)hEy^+!GPA=#gp&avCwQYGi~bRzYC^
z!XU#yp#@@tXw=*V3L#_+DRvCNMK4Gv7;_mK7@C5sY)~|UvKk13*r22j3SbZ)Y&cjI
z$Usom1Bqgfe2@%Cza_YK0I|Rpfg`}w)C@TRl2xsPTmbSgs8#{F3&aPpLH0sQTr$f`
zPz?c%Pk6ftQHz6P(l0SL6@MGd$tk}g+CV|q$k0N;!qiB?+{7?e-z_IGy;#A7OW(0L
zIW?~YB*>-joLJzInwg#f<$`Pi$$@lo>3fzW=42*2=B4MPDj0C-2bZMghA9{tnRDs;
zW)>G`=B0xhZJ?;+(g!u_f>TR0^d0pp_4D+T_4D;p^qut!^i%cy^<DJS^o#V<^^5g0
z^h@+J^-J|V^~?0L^~?2h^b_@S^^^3A3lfu4^^@~+a})IoQj0S4Q#8STb<502HC6y0
zWf+9i1Oi1SF`<N`S%e%u<_6{pW)>Eh;bUfDfgC<yE-~R_V1^z(rUoeClc%4SS(XY8
zph$f`eP?(Oxxxb}2pmksskxcS`8oM{`oa38`Z=k^#rh%osfDG9piqN^SXF9KzJ7jQ
zDoSX93vHy(A~sE7Z@<6;%fM8@+{9SH%+d%;U|AZW1Qv*k2rL6rT#3oh5N}{Xl2Qsh
zgdoWW6dInOq=W2h@D^62G-3#9I1rOY2)0Jx0bppMU}<a!$~c$-U~XcF8~|W0A^;36
za0P&|C3*mugOXiFVi7bqf%1|sII%!-6DThQfD?+Feuh3Ip#<xPfb$V*n$RyP&qoO%
zP&z;gAy6_QCV+4^6i`CO$Z~)~22#$z!Uj~<z(S`~KSaL_UfMuH2~x`FmlP$Yq~<0T
zWrK1ND8%$jGKx}B@)NiUK?*l;^+`;?VXcS3VWw+j1Sy>@O{tuoOpNfRr?mXiB7Glt
zA)QzPDT{pdo%E}~i7ZmTII{v=D#42GLj5#-a225+pbsgb+`t8SX<kZdQE_s95vbe-
z6;eU^?%-l8Sl>e*6ylIFJ`@`6Vfx<Sl0IC&Ah9SluLxA>pcMNVl?558dC<~dA6Bp-
zq6DHZCpE1EB~gQ#(@2p6O5@PD2`I`>DNRl-(r^#(QE<=5FD`+MOek3B8JcQx={pyt
zCYEI8=eZ=7q-wZW85tN@8W<ZG8Jd}x7@KHv>HFrV;F1c-EXhgL@Xbsv$}i4OD^Uo~
zFG^9+RS3w<PjPWH3QA3L&d)8-OUX}$S(9I+5fBU>7ctdK$;nX&OD!tS%+FIW)icuM
z(swK^$;dC#@XahrPEFLbvrC2SD6A+-P2)09FtOk=fCB|HQ&VG8g){|-n4z(exupVF
zRv`~6W@%su+L{j%go_y(8(Ny9sWUV(Gc!dKGcW+P#6VgN;Cc;AK?578Vur@XM(E~Q
zSek&kdmx2yy%y%ipmjK?VwUDc7HIZbm|GYbpo>`;S(u=UnOc~k>oqhs0S#`T*<lDe
zu^Cm&%o5c3LJ>1GHpXI}u_d}4#+D`qMrdv^G_o*34|@YsBhZ#l6gvzo3{BC)+1Sz)
zBm9glO)%oa*wVxjU9XwBxq%_NTZ|1rhe)H_Yi@?F&d3Z@oS~?*urLL6VNk`)jLgyP
zu&}VOz=$I=Gc$BCGjns$h!2W+X6ELW=y7RgZh?_@%?(V=(A{iqU}}M$*33-|K#Rgq
z>@YVm01f(~ikVtsgtNJ+r3rfcnp>D+#HG1~sX4meEDVj!jnTr?!q6DQZx*H&$mzbM
zC^0i9wTR2cMnOL~vno}=#6m$oC_leM0W<^_q@eGamzJ*pD!YQX^gUe^qBYEqPnqj{
r()>*F!b>Vo3@5GA#1x6;va{nVE=epZ0T&dO2F50)T&k+B{%%|VGy6zh

literal 0
HcmV?d00001

diff --git a/PmodDA2 RefComp/SourceFiles/DA2RefComp.vhd b/PmodDA2 RefComp/SourceFiles/DA2RefComp.vhd
new file mode 100644
index 0000000..62200f2
--- /dev/null
+++ b/PmodDA2 RefComp/SourceFiles/DA2RefComp.vhd	
@@ -0,0 +1,287 @@
+--------------------------------------------------------------------------------
+--    DA2 Reference Component
+--------------------------------------------------------------------------------
+--    Author    :    Ioana Dabacan
+--    CopyRight 2008 Digilent Ro.
+--------------------------------------------------------------------------------
+--    Desription    :    This file is the VHDL code for a PMOD-DA2 controller.
+--
+--------------------------------------------------------------------------------
+--    Revision History:
+--    Feb/29/2008 (Created)    Ioana Dabacan
+--------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+use IEEE.STD_LOGIC_ARITH.ALL;
+use IEEE.STD_LOGIC_UNSIGNED.ALL;
+
+
+--------------------------------------------------------------------------------
+--
+-- Title      : DA1 controller entity
+--
+-- Inputs     : 5
+-- Outputs    : 5
+--
+-- Description: This is the DA2 Reference Component entity. The input ports are 
+--              a 50MHz clock and and an asynchronous reset button along with the
+--              data to be serially shifted in the 2 DAC121S101 chips on a DA2
+--              Pmod on each clock cycle.There is also a signal to start a
+--              conversion.
+--              The outputs of this entity are: a output clock signal, two serial
+--              output signals D1 and D2, a sync signal to synchronize the data 
+--              in the DAC121S101 chip, a done signal to tell that the chip is 
+--              done converting the data and another set of data can be sent.
+-- 
+---------------------------------------------------------------------------------
+
+entity DA2RefComp is
+    Port ( 
+
+
+     --General usage
+       CLK      : in std_logic;    -- System Clock (50MHz)     
+       RST      : in std_logic;
+     
+     --Pmod interface signals
+       D1       : out std_logic;
+       --D2       : out std_slogic;
+       CLK_OUT  : out std_logic;
+       nSYNC    : out std_logic;
+        
+     --User interface signal
+       DATA1    : in std_logic_vector(7 downto 0);
+     --  DATA2    : in std_logic_vector(11 downto 0);
+       --START    : in std_logic; 
+       DONE     : buffer std_logic
+              
+        );
+end DA2RefComp ;
+
+architecture DA2 of DA2RefComp is
+
+
+--      control constant: Normal Operation
+          constant control     : std_logic_vector(3 downto 0) := "0000";
+------------------------------------------------------------------------------------
+--    Title      : signal assignments
+--
+-- Description: The following signals are enumerated signals for the 
+--              finite state machine,2 temporary vectors to be shifted out to the 
+--              DAC121S101 chips, a divided clock signal to drive the DAC121S101 chips,
+--              a counter to divide the internal 50 MHz clock signal,
+--              a 4-bit counter to be used to shift out the 16-bit register,
+--              and 2 enable signals for the paralel load and shift of the 
+--              shift register.
+-- 
+------------------------------------------------------------------------------------ 
+          type states is (Idle,
+                          ShiftOut, 
+                          SyncData);  
+          signal current_state : states;
+          signal next_state    : states;
+
+                     
+          signal temp1         : std_logic_vector(15 downto 0) := (others => '0');
+          signal temp2         : std_logic_vector(15 downto 0) := (others => '0');
+          signal clk_div       : std_logic := '0';    
+          signal clk_counter   : std_logic_vector(27 downto 0) := (others => '0');
+          signal shiftCounter  : std_logic_vector(3 downto 0) := (others => '0');
+          signal enShiftCounter: std_logic := '0';
+          signal enParalelLoad : std_logic := '0';
+          signal data_int      : std_logic_vector(11 downto 0) := (others => '0');
+            
+          signal START          : std_logic := '1';
+          
+          signal sweep_clk      : std_logic := '0';
+          signal sweep_ctr      : std_logic_vector(11 downto 0) := (others => '0');
+begin
+
+
+
+
+
+
+
+
+
+------------------------------------------------------------------------------------
+--
+-- Title      : Clock Divider
+--
+-- Description: The following process takes a 50 MHz clock and divides it down to a
+--              25 MHz clock signal by assigning the signals clk_out and clk_div 
+--              to the 2nd bit of the clk_counter vector. clk_div is used by
+--              the Finite State Machine and clk_out is used by the DAC121S101 chips.
+--
+------------------------------------------------------------------------------------
+
+        clock_divide : process(rst,clk)
+        begin
+            if rising_edge(clk) then
+                if rst = '1' then
+                    clk_counter <= "0000000000000000000000000000";
+                else
+                    clk_counter <= clk_counter + '1';
+                end if;
+                
+            end if;
+        end process;
+
+        clk_div <= clk_counter(1);
+        clk_out <= clk_counter(1);
+        sweep_clk <= clk_counter(6);
+
+
+
+process(sweep_clk) begin
+    if(rising_edge(sweep_clk)) then
+        if(unsigned(sweep_ctr) >= 4095) then
+            sweep_ctr <= (others => '0');
+        else
+            sweep_ctr <= sweep_ctr + '1'; 
+        end if;
+    end if;
+end process;
+
+data_int <= sweep_ctr;
+
+
+
+-----------------------------------------------------------------------------------
+--
+-- Title      : counter
+--
+-- Description: This is the process were the teporary registers will be loaded and 
+--              shifted.When the enParalelLoad signal is generated inside the state 
+--              the temp1 and temp2 registers will be loaded with the 8 bits of control
+--              concatenated with the 8 bits of data. When the enShiftCounter is 
+--              activated, the 16-bits of data inside the temporary registers will be 
+--              shifted. A 4-bit counter is used to keep shifting the data 
+--              inside temp1 and temp 2 for 16 clock cycles.
+--    
+-----------------------------------------------------------------------------------    
+
+--data_int(11 downto 4) <= DATA1;
+--data_int(3 downto 0) <= "1111"; 
+counter : process(clk_div, enParalelLoad, enShiftCounter)
+        begin
+            if rising_edge(clk_div) then
+               if enParalelLoad = '1' then
+                   shiftCounter <= "0000";
+                   temp1 <= control & data_int;
+                   --temp2 <= control & DATA2;
+                elsif (enShiftCounter = '1') then 
+                   temp1 <= temp1(14 downto 0)&temp1(15);
+                   temp2 <= temp2(14 downto 0)&temp2(15);    
+                   shiftCounter <= shiftCounter + '1';
+                end if;
+            end if;
+        end process;
+
+                    D1 <= temp1(15);                             
+                    --D2 <= temp2(15);
+
+        
+---------------------------------------------------------------------------------
+--
+-- Title      : Finite State Machine
+--
+-- Description: This 3 processes represent the FSM that contains three states. 
+--              First one is the Idle state in which the temporary registers are 
+--              assigned the updated value of the input "DATA1" and "DATA2".  
+--              The next state is the ShiftOut state which is the state where the 
+--              16-bits of temporary registers are shifted out left from the MSB 
+--              to the two serial outputs, D1 and D2. Immediately following the 
+--              second state is the third state SyncData. This state drives the 
+--              output signal sync high for2 clock signals telling the DAC121S101 
+--              to latch the 16-bit data it just recieved in the previous state. 
+-- Notes:         The data will change on the upper edge of the clock signal. Their 
+--                is also an asynchronous reset that will reset all signals to their 
+--                original state.
+--
+-----------------------------------------------------------------------------------        
+        
+-----------------------------------------------------------------------------------
+--
+-- Title      : SYNC_PROC
+--
+-- Description: This is the process were the states are changed synchronously. At 
+--              reset the current state becomes Idle state.
+--    
+-----------------------------------------------------------------------------------            
+SYNC_PROC: process (clk_div, rst)
+   begin
+      if rising_edge(clk_div) then
+         if (rst = '1') then
+            current_state <= Idle;
+         else
+            current_state <= next_state;
+         end if;        
+      end if;
+   end process;
+    
+-----------------------------------------------------------------------------------
+--
+-- Title      : OUTPUT_DECODE
+--
+-- Description: This is the process were the output signals are generated
+--              unsynchronously based on the state only (Moore State Machine).
+--    
+-----------------------------------------------------------------------------------        
+OUTPUT_DECODE: process (current_state)
+   begin
+      if current_state = Idle then
+            enShiftCounter <='0';
+            DONE <='1';
+            nSYNC <='1';
+            enParalelLoad <= '1';
+        elsif current_state = ShiftOut then
+            enShiftCounter <='1';
+            DONE <='0';
+            nSYNC <='0';
+            enParalelLoad <= '0';
+        else --if current_state = SyncData then
+            enShiftCounter <='0';
+            DONE <='0';
+            nSYNC <='1';
+            enParalelLoad <= '0';
+        end if;
+   end process;
+    
+-----------------------------------------------------------------------------------
+--
+-- Title      : NEXT_STATE_DECODE
+--
+-- Description: This is the process were the next state logic is generated 
+--              depending on the current state and the input signals.
+--    
+-----------------------------------------------------------------------------------    
+    NEXT_STATE_DECODE: process (current_state, START, shiftCounter, CLK)        -- added clk
+   begin
+      
+      next_state <= current_state;  --default is to stay in current state
+     
+      case (current_state) is
+         when Idle =>
+            if START = '1' and DONE = '1' then
+               next_state <= ShiftOut;
+            end if;
+         when ShiftOut =>
+            if shiftCounter = x"F" then
+               next_state <= SyncData;
+            end if;
+         when SyncData =>
+            if START = '1' then         -- was 0
+                next_state <= Idle;
+            end if;
+         when others =>
+            next_state <= Idle;
+      end case;      
+   end process;
+    
+            
+end DA2;
+            
+          
diff --git a/PmodDA2 RefComp/SourceFiles/backup_dac_inner.vhd b/PmodDA2 RefComp/SourceFiles/backup_dac_inner.vhd
new file mode 100644
index 0000000..c6c0779
--- /dev/null
+++ b/PmodDA2 RefComp/SourceFiles/backup_dac_inner.vhd	
@@ -0,0 +1,785 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use IEEE.STD_LOGIC_ARITH.ALL;
+use IEEE.STD_LOGIC_UNSIGNED.ALL;
+
+use ieee.numeric_std.all;
+
+entity DAC_controller_v1_0_S00_AXI is
+	generic (
+		-- Users to add parameters here
+
+		-- User parameters ends
+		-- Do not modify the parameters beyond this line
+
+		-- Width of S_AXI data bus
+		C_S_AXI_DATA_WIDTH	: integer	:= 32;
+		-- Width of S_AXI address bus
+		C_S_AXI_ADDR_WIDTH	: integer	:= 6
+	);
+	port (
+		-- Users to add ports here
+
+        S_GCLK      : in std_logic;
+        S_GRESET      : in std_logic;
+        S_D1       : out std_logic;
+        S_D2       : out std_logic;
+        S_CLK_OUT  : out std_logic;
+        S_NSYNC    : out std_logic;
+        
+        S_DONE      : out std_logic;
+        S_EXT_START : in std_logic;
+        
+        S_LEDS_OUT  : out std_logic_vector(7 downto 0);
+
+		-- User ports ends
+		-- Do not modify the ports beyond this line
+         
+         
+         
+         
+         
+         
+        
+		-- Global Clock Signal
+		S_AXI_ACLK	: in std_logic;
+		-- Global Reset Signal. This Signal is Active LOW
+		S_AXI_ARESETN	: in std_logic;
+		-- Write address (issued by master, acceped by Slave)
+		S_AXI_AWADDR	: in std_logic_vector(C_S_AXI_ADDR_WIDTH-1 downto 0);
+		-- Write channel Protection type. This signal indicates the
+    		-- privilege and security level of the transaction, and whether
+    		-- the transaction is a data access or an instruction access.
+		S_AXI_AWPROT	: in std_logic_vector(2 downto 0);
+		-- Write address valid. This signal indicates that the master signaling
+    		-- valid write address and control information.
+		S_AXI_AWVALID	: in std_logic;
+		-- Write address ready. This signal indicates that the slave is ready
+    		-- to accept an address and associated control signals.
+		S_AXI_AWREADY	: out std_logic;
+		-- Write data (issued by master, acceped by Slave) 
+		S_AXI_WDATA	: in std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+		-- Write strobes. This signal indicates which byte lanes hold
+    		-- valid data. There is one write strobe bit for each eight
+    		-- bits of the write data bus.    
+		S_AXI_WSTRB	: in std_logic_vector((C_S_AXI_DATA_WIDTH/8)-1 downto 0);
+		-- Write valid. This signal indicates that valid write
+    		-- data and strobes are available.
+		S_AXI_WVALID	: in std_logic;
+		-- Write ready. This signal indicates that the slave
+    		-- can accept the write data.
+		S_AXI_WREADY	: out std_logic;
+		-- Write response. This signal indicates the status
+    		-- of the write transaction.
+		S_AXI_BRESP	: out std_logic_vector(1 downto 0);
+		-- Write response valid. This signal indicates that the channel
+    		-- is signaling a valid write response.
+		S_AXI_BVALID	: out std_logic;
+		-- Response ready. This signal indicates that the master
+    		-- can accept a write response.
+		S_AXI_BREADY	: in std_logic;
+		-- Read address (issued by master, acceped by Slave)
+		S_AXI_ARADDR	: in std_logic_vector(C_S_AXI_ADDR_WIDTH-1 downto 0);
+		-- Protection type. This signal indicates the privilege
+    		-- and security level of the transaction, and whether the
+    		-- transaction is a data access or an instruction access.
+		S_AXI_ARPROT	: in std_logic_vector(2 downto 0);
+		-- Read address valid. This signal indicates that the channel
+    		-- is signaling valid read address and control information.
+		S_AXI_ARVALID	: in std_logic;
+		-- Read address ready. This signal indicates that the slave is
+    		-- ready to accept an address and associated control signals.
+		S_AXI_ARREADY	: out std_logic;
+		-- Read data (issued by slave)
+		S_AXI_RDATA	: out std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+		-- Read response. This signal indicates the status of the
+    		-- read transfer.
+		S_AXI_RRESP	: out std_logic_vector(1 downto 0);
+		-- Read valid. This signal indicates that the channel is
+    		-- signaling the required read data.
+		S_AXI_RVALID	: out std_logic;
+		-- Read ready. This signal indicates that the master can
+    		-- accept the read data and response information.
+		S_AXI_RREADY	: in std_logic
+	);
+end DAC_controller_v1_0_S00_AXI;
+
+architecture arch_imp of DAC_controller_v1_0_S00_AXI is
+
+	-- AXI4LITE signals
+	signal axi_awaddr	: std_logic_vector(C_S_AXI_ADDR_WIDTH-1 downto 0);
+	signal axi_awready	: std_logic;
+	signal axi_wready	: std_logic;
+	signal axi_bresp	: std_logic_vector(1 downto 0);
+	signal axi_bvalid	: std_logic;
+	signal axi_araddr	: std_logic_vector(C_S_AXI_ADDR_WIDTH-1 downto 0);
+	signal axi_arready	: std_logic;
+	signal axi_rdata	: std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal axi_rresp	: std_logic_vector(1 downto 0);
+	signal axi_rvalid	: std_logic;
+
+	-- Example-specific design signals
+	-- local parameter for addressing 32 bit / 64 bit C_S_AXI_DATA_WIDTH
+	-- ADDR_LSB is used for addressing 32/64 bit registers/memories
+	-- ADDR_LSB = 2 for 32 bits (n downto 2)
+	-- ADDR_LSB = 3 for 64 bits (n downto 3)
+	constant ADDR_LSB  : integer := (C_S_AXI_DATA_WIDTH/32)+ 1;
+	constant OPT_MEM_ADDR_BITS : integer := 3;
+	------------------------------------------------
+	---- Signals for user logic register space example
+	
+	
+	
+
+
+--      control constant: Normal Operation
+          constant control     : std_logic_vector(3 downto 0) := "0000";	
+	------------------------------------------------------------------------------------
+--    Title      : signal assignments
+--
+-- Description: The following signals are enumerated signals for the 
+--              finite state machine,2 temporary vectors to be shifted out to the 
+--              DAC121S101 chips, a divided clock signal to drive the DAC121S101 chips,
+--              a counter to divide the internal 50 MHz clock signal,
+--              a 4-bit counter to be used to shift out the 16-bit register,
+--              and 2 enable signals for the paralel load and shift of the 
+--              shift register.
+-- 
+------------------------------------------------------------------------------------ 
+          type states is (Idle,
+                          ShiftOut, 
+                          SyncData);  
+          signal current_state : states;
+          signal next_state    : states;
+                     
+          signal temp1         : std_logic_vector(15 downto 0);
+          signal temp2         : std_logic_vector(15 downto 0);           
+          signal clk_div       : std_logic;      
+          signal clk_counter   : std_logic_vector(27 downto 0);    
+          signal shiftCounter  : std_logic_vector(3 downto 0); 
+          signal enShiftCounter: std_logic;
+          signal enParalelLoad : std_logic;
+        
+          signal DATA1          :std_logic_vector(11 downto 0);
+          signal DATA2          :std_logic_vector(11 downto 0);
+	       
+	      signal START          : std_logic;
+	
+	--------------------------------------------------
+	---- Number of Slave Registers 16
+	signal slv_reg0	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg1	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg2	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg3	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg4	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg5	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg6	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg7	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg8	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg9	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg10	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg11	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg12	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg13	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg14	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg15	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal slv_reg_rden	: std_logic;
+	signal slv_reg_wren	: std_logic;
+	signal reg_data_out	:std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
+	signal byte_index	: integer;
+	signal aw_en	: std_logic;
+
+begin
+	-- I/O Connections assignments
+
+	S_AXI_AWREADY	<= axi_awready;
+	S_AXI_WREADY	<= axi_wready;
+	S_AXI_BRESP	<= axi_bresp;
+	S_AXI_BVALID	<= axi_bvalid;
+	S_AXI_ARREADY	<= axi_arready;
+	S_AXI_RDATA	<= axi_rdata;
+	S_AXI_RRESP	<= axi_rresp;
+	S_AXI_RVALID	<= axi_rvalid;
+	-- Implement axi_awready generation
+	-- axi_awready is asserted for one S_AXI_ACLK clock cycle when both
+	-- S_AXI_AWVALID and S_AXI_WVALID are asserted. axi_awready is
+	-- de-asserted when reset is low.
+
+	process (S_AXI_ACLK)
+	begin
+	  if rising_edge(S_AXI_ACLK) then 
+	    if S_AXI_ARESETN = '0' then
+	      axi_awready <= '0';
+	      aw_en <= '1';
+	    else
+	      if (axi_awready = '0' and S_AXI_AWVALID = '1' and S_AXI_WVALID = '1' and aw_en = '1') then
+	        -- slave is ready to accept write address when
+	        -- there is a valid write address and write data
+	        -- on the write address and data bus. This design 
+	        -- expects no outstanding transactions. 
+	           axi_awready <= '1';
+	           aw_en <= '0';
+	        elsif (S_AXI_BREADY = '1' and axi_bvalid = '1') then
+	           aw_en <= '1';
+	           axi_awready <= '0';
+	      else
+	        axi_awready <= '0';
+	      end if;
+	    end if;
+	  end if;
+	end process;
+
+	-- Implement axi_awaddr latching
+	-- This process is used to latch the address when both 
+	-- S_AXI_AWVALID and S_AXI_WVALID are valid. 
+
+	process (S_AXI_ACLK)
+	begin
+	  if rising_edge(S_AXI_ACLK) then 
+	    if S_AXI_ARESETN = '0' then
+	      axi_awaddr <= (others => '0');
+	    else
+	      if (axi_awready = '0' and S_AXI_AWVALID = '1' and S_AXI_WVALID = '1' and aw_en = '1') then
+	        -- Write Address latching
+	        axi_awaddr <= S_AXI_AWADDR;
+	      end if;
+	    end if;
+	  end if;                   
+	end process; 
+
+	-- Implement axi_wready generation
+	-- axi_wready is asserted for one S_AXI_ACLK clock cycle when both
+	-- S_AXI_AWVALID and S_AXI_WVALID are asserted. axi_wready is 
+	-- de-asserted when reset is low. 
+
+	process (S_AXI_ACLK)
+	begin
+	  if rising_edge(S_AXI_ACLK) then 
+	    if S_AXI_ARESETN = '0' then
+	      axi_wready <= '0';
+	    else
+	      if (axi_wready = '0' and S_AXI_WVALID = '1' and S_AXI_AWVALID = '1' and aw_en = '1') then
+	          -- slave is ready to accept write data when 
+	          -- there is a valid write address and write data
+	          -- on the write address and data bus. This design 
+	          -- expects no outstanding transactions.           
+	          axi_wready <= '1';
+	      else
+	        axi_wready <= '0';
+	      end if;
+	    end if;
+	  end if;
+	end process; 
+
+	-- Implement memory mapped register select and write logic generation
+	-- The write data is accepted and written to memory mapped registers when
+	-- axi_awready, S_AXI_WVALID, axi_wready and S_AXI_WVALID are asserted. Write strobes are used to
+	-- select byte enables of slave registers while writing.
+	-- These registers are cleared when reset (active low) is applied.
+	-- Slave register write enable is asserted when valid address and data are available
+	-- and the slave is ready to accept the write address and write data.
+	slv_reg_wren <= axi_wready and S_AXI_WVALID and axi_awready and S_AXI_AWVALID ;
+
+	process (S_AXI_ACLK)
+	variable loc_addr :std_logic_vector(OPT_MEM_ADDR_BITS downto 0); 
+	begin
+	  if rising_edge(S_AXI_ACLK) then 
+	    if S_AXI_ARESETN = '0' then
+	      slv_reg0 <= (others => '0');
+	      slv_reg1 <= (others => '0');
+	      slv_reg2 <= (others => '0');
+	      slv_reg3 <= (others => '0');
+	      slv_reg4 <= (others => '0');
+	      slv_reg5 <= (others => '0');
+	      slv_reg6 <= (others => '0');
+	      slv_reg7 <= (others => '0');
+	      slv_reg8 <= (others => '0');
+	      slv_reg9 <= (others => '0');
+	      --slv_reg10 <= (others => '0');
+	      slv_reg11 <= (others => '0');
+	      slv_reg12 <= (others => '0');
+	      slv_reg13 <= (others => '0');
+	      slv_reg14 <= (others => '0');
+	      slv_reg15 <= (others => '0');
+	    else
+	      loc_addr := axi_awaddr(ADDR_LSB + OPT_MEM_ADDR_BITS downto ADDR_LSB);
+	      if (slv_reg_wren = '1') then
+	        case loc_addr is
+	          when b"0000" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 0
+	                slv_reg0(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when b"0001" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 1
+	                slv_reg1(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when b"0010" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 2
+	                slv_reg2(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when b"0011" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 3
+	                slv_reg3(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when b"0100" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 4
+	                slv_reg4(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when b"0101" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 5
+	                slv_reg5(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when b"0110" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 6
+	                slv_reg6(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when b"0111" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 7
+	                slv_reg7(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when b"1000" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 8
+	                slv_reg8(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when b"1001" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 9
+	                slv_reg9(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when b"1010" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 10
+	             --  slv_reg10(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when b"1011" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 11
+	                slv_reg11(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when b"1100" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 12
+	                slv_reg12(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when b"1101" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 13
+	                slv_reg13(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when b"1110" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 14
+	                slv_reg14(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when b"1111" =>
+	            for byte_index in 0 to (C_S_AXI_DATA_WIDTH/8-1) loop
+	              if ( S_AXI_WSTRB(byte_index) = '1' ) then
+	                -- Respective byte enables are asserted as per write strobes                   
+	                -- slave registor 15
+	                slv_reg15(byte_index*8+7 downto byte_index*8) <= S_AXI_WDATA(byte_index*8+7 downto byte_index*8);
+	              end if;
+	            end loop;
+	          when others =>
+	            slv_reg0 <= slv_reg0;
+	            slv_reg1 <= slv_reg1;
+	            slv_reg2 <= slv_reg2;
+	            slv_reg3 <= slv_reg3;
+	            slv_reg4 <= slv_reg4;
+	            slv_reg5 <= slv_reg5;
+	            slv_reg6 <= slv_reg6;
+	            slv_reg7 <= slv_reg7;
+	            slv_reg8 <= slv_reg8;
+	            slv_reg9 <= slv_reg9;
+	            --slv_reg10 <= slv_reg10;
+	            slv_reg11 <= slv_reg11;
+	            slv_reg12 <= slv_reg12;
+	            slv_reg13 <= slv_reg13;
+	            slv_reg14 <= slv_reg14;
+	            slv_reg15 <= slv_reg15;
+	        end case;
+	      end if;
+	    end if;
+	  end if;                   
+	end process; 
+
+
+
+
+
+
+
+------------------------------------------------------------------------------------
+--
+-- Title      : Clock Divider
+--
+-- Description: The following process takes a 50 MHz clock and divides it down to a
+--              25 MHz clock signal by assigning the signals clk_out and clk_div 
+--              to the 2nd bit of the clk_counter vector. clk_div is used by
+--              the Finite State Machine and clk_out is used by the DAC121S101 chips.
+--
+------------------------------------------------------------------------------------
+
+        clock_divide : process(S_GCLK)
+        begin
+            if rising_edge(S_GCLK) then
+                if S_GRESET = '1' then
+                    clk_counter <= "0000000000000000000000000000";
+                else
+                    clk_counter <= clk_counter + '1';
+                end if;
+            end if;
+        end process;
+
+        clk_div <= clk_counter(0);
+        S_CLK_OUT <= clk_counter(0);
+
+
+-----------------------------------------------------------------------------------
+--
+-- Title      : counter
+--
+-- Description: This is the process were the teporary registers will be loaded and 
+--              shifted.When the enParalelLoad signal is generated inside the state 
+--              the temp1 and temp2 registers will be loaded with the 8 bits of control
+--              concatenated with the 8 bits of data. When the enShiftCounter is 
+--              activated, the 16-bits of data inside the temporary registers will be 
+--              shifted. A 4-bit counter is used to keep shifting the data 
+--              inside temp1 and temp 2 for 16 clock cycles.
+--    
+-----------------------------------------------------------------------------------    
+
+counter : process(clk_div, enParalelLoad, enShiftCounter)
+        begin
+            if rising_edge(clk_div) then
+               if enParalelLoad = '1' then
+                   shiftCounter <= "0000";
+                   temp1 <= control & DATA1;
+                   temp2 <= control & DATA2;
+                elsif (enShiftCounter = '1') then 
+                   temp1 <= temp1(14 downto 0)&temp1(15);
+                   temp2 <= temp2(14 downto 0)&temp2(15);    
+                   shiftCounter <= shiftCounter + '1';
+                end if;
+            end if;
+        end process;
+
+                    S_D1 <= temp1(15);                             
+                    S_D2 <= temp2(15);
+                    --S_D2 <= S_GCLK;
+
+        DATA1 <= slv_reg1(11 downto 0);
+        DATA2 <= slv_reg2(11 downto 0);
+---------------------------------------------------------------------------------
+--
+-- Title      : Finite State Machine
+--
+-- Description: This 3 processes represent the FSM that contains three states. 
+--              First one is the Idle state in which the temporary registers are 
+--              assigned the updated value of the input "DATA1" and "DATA2".  
+--              The next state is the ShiftOut state which is the state where the 
+--              16-bits of temporary registers are shifted out left from the MSB 
+--              to the two serial outputs, D1 and D2. Immediately following the 
+--              second state is the third state SyncData. This state drives the 
+--              output signal sync high for2 clock signals telling the DAC121S101 
+--              to latch the 16-bit data it just recieved in the previous state. 
+-- Notes:         The data will change on the upper edge of the clock signal. Their 
+--                is also an asynchronous reset that will reset all signals to their 
+--                original state.
+--
+-----------------------------------------------------------------------------------        
+        
+-----------------------------------------------------------------------------------
+--
+-- Title      : SYNC_PROC
+--
+-- Description: This is the process were the states are changed synchronously. At 
+--              reset the current state becomes Idle state.
+--    
+-----------------------------------------------------------------------------------            
+SYNC_PROC: process (clk_div, S_GRESET)
+   begin
+      if rising_edge(clk_div) then
+         if (S_GRESET = '1') then
+            current_state <= Idle;
+         else
+            current_state <= next_state;
+         end if;        
+      end if;
+   end process;
+    
+-----------------------------------------------------------------------------------
+--
+-- Title      : OUTPUT_DECODE
+--
+-- Description: This is the process were the output signals are generated
+--              unsynchronously based on the state only (Moore State Machine).
+--    
+-----------------------------------------------------------------------------------        
+OUTPUT_DECODE: process (current_state)
+   begin
+      if current_state = Idle then
+            enShiftCounter <='0';
+            S_DONE <='1';
+            S_NSYNC <='1';
+            enParalelLoad <= '1';
+        elsif current_state = ShiftOut then
+            enShiftCounter <='1';
+            S_DONE <='0';
+            S_NSYNC <='0';
+            enParalelLoad <= '0';
+        else --if current_state = SyncData then
+            enShiftCounter <='0';
+            S_DONE <='0';
+            S_NSYNC <='1';
+            enParalelLoad <= '0';
+        end if;
+   end process;
+   
+   
+   
+   START <= slv_reg0(0);
+   
+   S_LEDS_OUT(0) <= START;
+  
+   
+   
+    
+-----------------------------------------------------------------------------------
+--
+-- Title      : NEXT_STATE_DECODE
+--
+-- Description: This is the process were the next state logic is generated 
+--              depending on the current state and the input signals.
+--    
+-----------------------------------------------------------------------------------    
+    NEXT_STATE_DECODE: process (current_state, START, shiftCounter)
+   begin
+      
+      next_state <= current_state;  --default is to stay in current state
+     
+      case (current_state) is
+         when Idle =>
+            if START = '1' then
+               next_state <= ShiftOut;
+            end if;
+         when ShiftOut =>
+            if shiftCounter = x"F" then
+               next_state <= SyncData;
+            end if;
+         when SyncData =>
+            if START = '0' then
+            next_state <= Idle;
+            end if;
+         when others =>
+            next_state <= Idle;
+      end case;      
+   end process;
+    
+
+
+
+
+
+
+	-- Implement write response logic generation
+	-- The write response and response valid signals are asserted by the slave 
+	-- when axi_wready, S_AXI_WVALID, axi_wready and S_AXI_WVALID are asserted.  
+	-- This marks the acceptance of address and indicates the status of 
+	-- write transaction.
+
+	process (S_AXI_ACLK)
+	begin
+	  if rising_edge(S_AXI_ACLK) then 
+	    if S_AXI_ARESETN = '0' then
+	      axi_bvalid  <= '0';
+	      axi_bresp   <= "00"; --need to work more on the responses
+	    else
+	      if (axi_awready = '1' and S_AXI_AWVALID = '1' and axi_wready = '1' and S_AXI_WVALID = '1' and axi_bvalid = '0'  ) then
+	        axi_bvalid <= '1';
+	        axi_bresp  <= "00"; 
+	      elsif (S_AXI_BREADY = '1' and axi_bvalid = '1') then   --check if bready is asserted while bvalid is high)
+	        axi_bvalid <= '0';                                 -- (there is a possibility that bready is always asserted high)
+	      end if;
+	    end if;
+	  end if;                   
+	end process; 
+
+	-- Implement axi_arready generation
+	-- axi_arready is asserted for one S_AXI_ACLK clock cycle when
+	-- S_AXI_ARVALID is asserted. axi_awready is 
+	-- de-asserted when reset (active low) is asserted. 
+	-- The read address is also latched when S_AXI_ARVALID is 
+	-- asserted. axi_araddr is reset to zero on reset assertion.
+
+	process (S_AXI_ACLK)
+	begin
+	  if rising_edge(S_AXI_ACLK) then 
+	    if S_AXI_ARESETN = '0' then
+	      axi_arready <= '0';
+	      axi_araddr  <= (others => '1');
+	    else
+	      if (axi_arready = '0' and S_AXI_ARVALID = '1') then
+	        -- indicates that the slave has acceped the valid read address
+	        axi_arready <= '1';
+	        -- Read Address latching 
+	        axi_araddr  <= S_AXI_ARADDR;           
+	      else
+	        axi_arready <= '0';
+	      end if;
+	    end if;
+	  end if;                   
+	end process; 
+
+	-- Implement axi_arvalid generation
+	-- axi_rvalid is asserted for one S_AXI_ACLK clock cycle when both 
+	-- S_AXI_ARVALID and axi_arready are asserted. The slave registers 
+	-- data are available on the axi_rdata bus at this instance. The 
+	-- assertion of axi_rvalid marks the validity of read data on the 
+	-- bus and axi_rresp indicates the status of read transaction.axi_rvalid 
+	-- is deasserted on reset (active low). axi_rresp and axi_rdata are 
+	-- cleared to zero on reset (active low).  
+	process (S_AXI_ACLK)
+	begin
+	  if rising_edge(S_AXI_ACLK) then
+	    if S_AXI_ARESETN = '0' then
+	      axi_rvalid <= '0';
+	      axi_rresp  <= "00";
+	    else
+	      if (axi_arready = '1' and S_AXI_ARVALID = '1' and axi_rvalid = '0') then
+	        -- Valid read data is available at the read data bus
+	        axi_rvalid <= '1';
+	        axi_rresp  <= "00"; -- 'OKAY' response
+	      elsif (axi_rvalid = '1' and S_AXI_RREADY = '1') then
+	        -- Read data is accepted by the master
+	        axi_rvalid <= '0';
+	      end if;            
+	    end if;
+	  end if;
+	end process;
+
+	-- Implement memory mapped register select and read logic generation
+	-- Slave register read enable is asserted when valid address is available
+	-- and the slave is ready to accept the read address.
+	slv_reg_rden <= axi_arready and S_AXI_ARVALID and (not axi_rvalid) ;
+
+	process (slv_reg0, slv_reg1, slv_reg2, slv_reg3, slv_reg4, slv_reg5, slv_reg6, slv_reg7, slv_reg8, slv_reg9, slv_reg10, slv_reg11, slv_reg12, slv_reg13, slv_reg14, slv_reg15, axi_araddr, S_AXI_ARESETN, slv_reg_rden)
+	variable loc_addr :std_logic_vector(OPT_MEM_ADDR_BITS downto 0);
+	begin
+	    -- Address decoding for reading registers
+	    loc_addr := axi_araddr(ADDR_LSB + OPT_MEM_ADDR_BITS downto ADDR_LSB);
+	    case loc_addr is
+	      when b"0000" =>
+	        reg_data_out <= slv_reg0;
+	      when b"0001" =>
+	        reg_data_out <= slv_reg1;
+	      when b"0010" =>
+	        reg_data_out <= slv_reg2;
+	      when b"0011" =>
+	        reg_data_out <= slv_reg3;
+	      when b"0100" =>
+	        reg_data_out <= slv_reg4;
+	      when b"0101" =>
+	        reg_data_out <= slv_reg5;
+	      when b"0110" =>
+	        reg_data_out <= slv_reg6;
+	      when b"0111" =>
+	        reg_data_out <= slv_reg7;
+	      when b"1000" =>
+	        reg_data_out <= slv_reg8;
+	      when b"1001" =>
+	        reg_data_out <= slv_reg9;
+	      when b"1010" =>
+	        reg_data_out <= slv_reg10;
+	      when b"1011" =>
+	        reg_data_out <= slv_reg11;
+	      when b"1100" =>
+	        reg_data_out <= slv_reg12;
+	      when b"1101" =>
+	        reg_data_out <= slv_reg13;
+	      when b"1110" =>
+	        reg_data_out <= slv_reg14;
+	      when b"1111" =>
+	        reg_data_out <= slv_reg15;
+	      when others =>
+	        reg_data_out  <= (others => '0');
+	    end case;
+	end process; 
+
+	-- Output register or memory read data
+	process( S_AXI_ACLK ) is
+	begin
+	  if (rising_edge (S_AXI_ACLK)) then
+	    if ( S_AXI_ARESETN = '0' ) then
+	      axi_rdata  <= (others => '0');
+	    else
+	      if (slv_reg_rden = '1') then
+	        -- When there is a valid read address (S_AXI_ARVALID) with 
+	        -- acceptance of read address by the slave (axi_arready), 
+	        -- output the read dada 
+	        -- Read address mux
+	          axi_rdata <= reg_data_out;     -- register read data
+	      end if;   
+	    end if;
+	  end if;
+	end process;
+
+
+	-- Add user logic here
+
+	-- User logic ends
+
+end arch_imp;
-- 
GitLab