From 5ded34e6681734db88ef22f2da25fb2ec9c8f18f Mon Sep 17 00:00:00 2001 From: Steven Hugg Date: Tue, 7 May 2019 11:31:33 -0400 Subject: [PATCH] updated climber to use oam_meta_spr_pal(); updated neslib --- index.html | 16 ++++++++---- presets/nes/chase/game.c | 16 ++++++------ presets/nes/chase/level1_nam.h | 45 +++++++++++++++++---------------- presets/nes/climber.c | 39 +++++++++++++--------------- presets/nes/neslib.h | 5 ++++ presets/nes/rletitle.c | 1 + src/worker/lib/nes/crt0.o | Bin 35648 -> 35690 bytes 7 files changed, 66 insertions(+), 56 deletions(-) diff --git a/index.html b/index.html index ff3b11f4..3cf738b6 100644 --- a/index.html +++ b/index.html @@ -51,11 +51,14 @@ body { +
  •   Making 8-bit Arcade Games in C +
  • +
  •   Designing Video Game Hardware in Verilog @@ -399,10 +406,9 @@ $( ".dropdown-submenu" ).click(function(event) { - + + - - diff --git a/presets/nes/chase/game.c b/presets/nes/chase/game.c index 97389517..fae09315 100644 --- a/presets/nes/chase/game.c +++ b/presets/nes/chase/game.c @@ -105,20 +105,20 @@ //palettes data //all the palettes are designed in NES Screen Tool, then copy/pasted here //with Palettes/Put C data to clipboard function - -const unsigned char palTitle[16]={ 0x0f,0x0f,0x0f,0x0f,0x0f,0x1c,0x2c,0x3c,0x0f,0x12,0x22,0x32,0x0f,0x14,0x24,0x34 }; - +/*{pal:"nes",layout:"nes"}*/ const unsigned char palGame1[16]={ 0x0f,0x11,0x32,0x30,0x0f,0x1c,0x2c,0x3c,0x0f,0x09,0x27,0x38,0x0f,0x11,0x21,0x31 }; - +/*{pal:"nes",layout:"nes"}*/ const unsigned char palGame2[16]={ 0x0f,0x11,0x32,0x30,0x0f,0x11,0x21,0x31,0x0f,0x07,0x27,0x38,0x0f,0x13,0x23,0x33 }; - +/*{pal:"nes",layout:"nes"}*/ const unsigned char palGame3[16]={ 0x0f,0x11,0x32,0x30,0x0f,0x15,0x25,0x35,0x0f,0x05,0x27,0x38,0x0f,0x13,0x23,0x33 }; - +/*{pal:"nes",layout:"nes"}*/ const unsigned char palGame4[16]={ 0x0f,0x11,0x32,0x30,0x0f,0x19,0x29,0x39,0x0f,0x0b,0x27,0x38,0x0f,0x17,0x27,0x37 }; - +/*{pal:"nes",layout:"nes"}*/ const unsigned char palGame5[16]={ 0x0f,0x11,0x32,0x30,0x0f,0x16,0x26,0x36,0x0f,0x07,0x27,0x38,0x0f,0x18,0x28,0x38 }; - +/*{pal:"nes",layout:"nes"}*/ const unsigned char palGameSpr[16]={ 0x0f,0x0f,0x29,0x30,0x0f,0x0f,0x26,0x30,0x0f,0x0f,0x24,0x30,0x0f,0x0f,0x21,0x30 }; +/*{pal:"nes",layout:"nes"}*/ +const unsigned char palTitle[16]={ 0x0f,0x0f,0x0f,0x0f,0x0f,0x1c,0x2c,0x3c,0x0f,0x12,0x22,0x32,0x0f,0x14,0x24,0x34 }; //metasprites diff --git a/presets/nes/chase/level1_nam.h b/presets/nes/chase/level1_nam.h index 83f0e865..b47299b3 100644 --- a/presets/nes/chase/level1_nam.h +++ b/presets/nes/chase/level1_nam.h @@ -1,22 +1,23 @@ -const unsigned char level1_nam[305]={ -0x01,0x00,0x01,0xfe,0x00,0x01,0x08,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40, -0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x0f,0x42,0x43,0x42,0x43,0x42,0x43, -0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00,0x01,0x0f,0x40,0x41,0x10, -0x44,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x00,0x01,0x0f, -0x42,0x43,0x44,0x44,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43, -0x00,0x01,0x0f,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x45, -0x46,0x40,0x41,0x00,0x01,0x0f,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43, -0x42,0x43,0x47,0x48,0x42,0x43,0x00,0x01,0x0f,0x40,0x41,0x45,0x46,0x45,0x46,0x45, -0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x00,0x01,0x0f,0x42,0x43,0x47,0x48, -0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43,0x00,0x01,0x0f,0x40, -0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x00, -0x01,0x0f,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x47,0x48, -0x42,0x43,0x00,0x01,0x0f,0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45, -0x46,0x11,0x44,0x40,0x41,0x00,0x01,0x0f,0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48, -0x47,0x48,0x47,0x48,0x44,0x44,0x42,0x43,0x00,0x01,0x0f,0x40,0x41,0x40,0x41,0x40, -0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x0f,0x42,0x43, -0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00,0x01, -0xfe,0x00,0x01,0x1a,0xbd,0xad,0xad,0x6d,0x00,0x01,0x03,0xb9,0xad,0xad,0x6e,0x00, -0x01,0x03,0xb9,0xad,0xad,0x6e,0x00,0x01,0x03,0x0d,0x01,0x03,0x00,0x01,0x11,0x01, -0x00 -}; +/*{w:32,h:30,bpp:8,comp:"rletag",map:"nesnt"}*/ +const unsigned char level1_nam[305]={ +0x01,0x00,0x01,0xfe,0x00,0x01,0x08,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40, +0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x0f,0x42,0x43,0x42,0x43,0x42,0x43, +0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00,0x01,0x0f,0x40,0x41,0x10, +0x44,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x00,0x01,0x0f, +0x42,0x43,0x44,0x44,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43, +0x00,0x01,0x0f,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x45, +0x46,0x40,0x41,0x00,0x01,0x0f,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43, +0x42,0x43,0x47,0x48,0x42,0x43,0x00,0x01,0x0f,0x40,0x41,0x45,0x46,0x45,0x46,0x45, +0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x00,0x01,0x0f,0x42,0x43,0x47,0x48, +0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43,0x00,0x01,0x0f,0x40, +0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x00, +0x01,0x0f,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x47,0x48, +0x42,0x43,0x00,0x01,0x0f,0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45, +0x46,0x11,0x44,0x40,0x41,0x00,0x01,0x0f,0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48, +0x47,0x48,0x47,0x48,0x44,0x44,0x42,0x43,0x00,0x01,0x0f,0x40,0x41,0x40,0x41,0x40, +0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x0f,0x42,0x43, +0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00,0x01, +0xfe,0x00,0x01,0x1a,0xbd,0xad,0xad,0x6d,0x00,0x01,0x03,0xb9,0xad,0xad,0x6e,0x00, +0x01,0x03,0xb9,0xad,0xad,0x6e,0x00,0x01,0x03,0x0d,0x01,0x03,0x00,0x01,0x11,0x01, +0x00 +}; diff --git a/presets/nes/climber.c b/presets/nes/climber.c index de14496b..1c99ca9f 100644 --- a/presets/nes/climber.c +++ b/presets/nes/climber.c @@ -36,7 +36,7 @@ typedef enum { SND_START, SND_HIT, SND_COIN, SND_JUMP } SFXIndex; #define COLS 30 // floor width in tiles #define ROWS 60 // total nametable height in tiles -#define MAX_FLOORS 24 // total # of floors in a stage +#define MAX_FLOORS 4 // total # of floors in a stage #define GAPSIZE 4 // gap size in tiles #define BOTTOM_FLOOR_Y 2 // offset for bottommost floor @@ -365,7 +365,8 @@ typedef struct Actor { byte x; // X position in pixels (8 bit) byte floor; // floor index byte state; // ActorState - int name:2; // ActorType + int name:2; // ActorType (2 bits) + int pal:2; // palette color (2 bits) int dir:1; // direction (0=right, 1=left) int onscreen:1; // is actor onscreen? union { @@ -394,11 +395,12 @@ void create_actors_on_floor(byte floor_index) { a->name = ACTOR_RESCUE; a->state = PACING; a->x = 0; + a->pal = 1; } } } -byte draw_actor(byte oam_id, byte i) { +void draw_actor(byte i) { struct Actor* a = &actors[i]; bool dir; const unsigned char* meta; @@ -406,13 +408,13 @@ byte draw_actor(byte oam_id, byte i) { int screen_y = SCREEN_Y_BOTTOM - a->yy + scroll_pixel_yy; if (screen_y > 192+8 || screen_y < -18) { a->onscreen = 0; - return oam_id; // offscreen vertically + return; // offscreen vertically } dir = a->dir; switch (a->state) { case INACTIVE: a->onscreen = 0; - return oam_id; // inactive, offscreen + return; // inactive, offscreen case STANDING: meta = dir ? playerLStand : playerRStand; break; @@ -435,37 +437,31 @@ byte draw_actor(byte oam_id, byte i) { // set sprite values x = a->x; y = screen_y; - oam_id = oam_meta_spr(x, y, oam_id, meta); + oam_meta_spr_pal(x, y, a->pal, meta); // is this actor 0? (player sprite) if (i == 0) { player_screen_y = y; // last screen Y position - // set special palette for the player's sprites - // directly in OAM buffer - OAMBUF[0].attr |= 3; - OAMBUF[1].attr |= 3; - OAMBUF[2].attr |= 3; - OAMBUF[3].attr |= 3; } a->onscreen = 1; - return oam_id; + return; } -byte draw_scoreboard(byte oam_id) { - oam_id = oam_spr(24+0, 24, '0'+(score >> 4), 2, oam_id); - oam_id = oam_spr(24+8, 24, '0'+(score & 0xf), 2, oam_id); - return oam_id; +void draw_scoreboard() { + oam_off = oam_spr(24+0, 24, '0'+(score >> 4), 2, oam_off); + oam_off = oam_spr(24+8, 24, '0'+(score & 0xf), 2, oam_off); } void refresh_sprites() { byte i; + // reset sprite index to 0 + oam_off = 0; // draw all actors - byte oam_id = 0; for (i=0; ibwL^v zN9p%`(;UpfEz7K{XjvP@%DYRX#AfsR&guLOmCuUW!n^i%?Y}RJ90IBSO`TP_-jey$JPwg!(8#B}J%) z5$dxD)i^>mk5H{5RO<-!uLzYAq1r~M_7SR6gz6TddPS&y5o%C`8Wy2OMyN3nDmOw+ zicnJ{)XWGqH$p9pP)j3JeuP>Rp$a0@<_NVtLhX)F`yxEweI3iXd7nw`@y(p_ngoKtCwCFgIE9Vw4Bw<{8T#Y#SM& zrsM>fsLC8P=xJFZyD*V#a`i*nzX`U`WzeaVq^>K$V0d^K40~Z z^epql4M{WEgRl{B3Juq#74px~vB*I3E;8vJ3uyBI`M`nDR#K6chb9{H(ae{4^rxV(_3BM&&0&2&VI%+ao@^G zWLi-YqgG4ptGT8lOD)Or#AF#16XKw=wA5@<&=S}vY%z|uzqYJKG;PKprB3F=Co)mcMRE#{3iw8+RK`?-jvCGO@or>2HG*^GHmW-vW--&doNo(&US?;&dz>={_e!2p{ev4To^{8V{%AaCbV?VqA#J?l6r1ieMU;J8?lf)g);mtI?M_of z*|+0P)8_8H;}pB@G)0tsd+s!C?%q32vF{F3pbI_A$2qzP8_mo@h>zdlc%YRb^0_x2 zy=uB#;}a<&b`AYrwrt^m3%ua@v;}=%v0!F~-j|pl=S6$pyAcmsm0iGaiCyd;g3AqL zmn{qVOog7ZYQjR?44vHsxvY8Ifpk~&zzMR$fd`z_N2qfL5`HElfn#JYZ2U~N0DcYG z1v*oPAd4C@9CSaaNOC6YCtDHnN|){!=agg?jPSa{t_;b;U?9S$ zap3SN-GYfG#tarGLQ#f1^50{{NA%G-5M#HT1o^d=HfFFLE;GhX!z?+3BIe1os4>Vi zRLx*KNXNsVBI$x$@};3A%VkK+I496D1VRPU4?-6e3#B03&Vr|W0eqAsIVeNA916z- z)1*U)$$&@y+y1d=eOXAr`l=x3VPJtAMm~oX)8(C@kp*hrp_bX-qh&U=RFKuEfJ~XC zNDB$FcQ&7~DK6|6o-QgVEVCFWjtx+~%Qa(l>ixPN7_l8JApz ze3JB{+wYQ043JTVV;lxTz74D>k|{80e}eQtD=Cl}xGSzGX2^u_Z5{Y*0)&&~0@RI_ zG87Go5oH>8RM?QAh}PnWE4 zv4R}4;GQJ8jl9OnP}MaiD#tOJWBI`A9GqBEp7|9<9%nW&Ap2W6=$xEZd>AnGPcQ&ScOK2QY<;e%}18Y8t8 z4Kyw!S72O$6vC|+6|-eYOg>APPX)OG4F$3oxt&o=mzse`gDh*(Ba2{ow$zBLkp`lM zwxFTVncK#Q3Vj}CR3o$C>F|oP9hN%H2VEW znkoGt^`OiP6wD1OqK_78APSW(7h*hi0Y%7=gWuDY9YjrI<>)NxC{H$M88^V3_A*hu zHa(_a4(9mNRd$G$dkCc3%T_JGI(nTC7`iW7)A@v$+M;*M(==3P%>49?AD_Tbvm|Z0QAxuEOW>mAt)Vk`-l0?)Pv^GmRYl~P2 zERdI2eSkt4Kz$L(Aj1KwwR4o#&d{1KZNbNi1?)hZ02a#Vm^&{>JsL5~8} zDP2+D1#%Jcc?*g~MVQ27yVEXi12WE~CR8e=u*1p);#!AqB?qKo?!jXMywAb6@BfCX5j zo(v0IIUb|nxGG2w^8)d7@R9^;La?o^+SXQWTM)kS%WLCa09Ry6Hx7wJ#;8C{2yDyZ@|&9=6VNT>efW1jltgUQbO#RP8{bx#d z#23gEIHkN|wxq^55)U@Evb_+SgzlQnjEF_^a67w8%hWe$XFD`%TTDCMhPGEMStwW; z#h0W#lx54nu!5k*2SNcF+95S`LfD6a?g{LLshOsAYO8yBwpIU7*|Hc6m%5g(J96}ID>9z6w+kNpctD5vC6N=KdEgr z3K%bqnS60f$rmFcTdszAK^0yF?=2}tW^c(s*!-64gEw5M6~*3&-XzEY)CX3bV|vh_P|Go$;)28;wJ|-WGSiWo?P{17 zd~vw>2lg+9wWDOh_dFFQupdUMqp*jo$j4B+BVOEujEmbYtB@oY6)5979X(&jN8QO%NjJEMfK8lOKXCPXP znn{p#*oBG*(xiuCrthq8c}O4R91cgieO<4T{#bb*?k zrO#p2a~WkWlufZ_Xv`*&1_UshRjE~qbyeo z=A&c@(oegHep+pVW2Mv!gCUh6H^0ZxH}Q;ugHNON<;lG8iW2R^V-E$K#~v7t&qDzU zrEAF=K~Mmd=!%#E`Iv436rvN2F_NPN@YwuT#<*#vy7w0HH9}l2u?e+w>fYWleNJx_ z1-fF|>q->dm6Y#MkfPOp5c-b_F-Z!L?-)6P#-C-$7wC9J`twn8e--H&^zppS5lZFb zKP1`645u=S)AtXSE5^Y~NzxNyHDm{jO^_SGLQgx)7eRA*HGwuPhu}0B z5pG|B_7Uhgvhb*YRFWJ)>ans}#rlTD0=xPKVv8V@tI4W6^KB>a);fkYkceS09!s z)lr6CIfu9e=@g}?6BH#$8}QSmV|Yjvl&>Sq$dKhF{aBQl%VAEEj5ADgvgAg@a$3oj z{z*-FrX*z$qfP4!Qo1s*q;HCf8K~O&hCLii^82cX2O~|oq{M1tX5i7n!{4LraM078 zgFv1Pgo$YmZgC_T2-EUq4;sSCD$)-=nj}|H_IrprgjfTAh~|mw(t*9Tl^~l@h)gL&fuDFqwzEI;5+q&C zoE=q)*;V@FitA6v>=w?V2dW@Rb{STC4m}p> zq}Y{N;IZ0gX|=~j1vlO-q{Q8VNl_UfM|j<|@qC|bH|Q#s^C(nVBJZCJ`p{318Cudl zTGB?G?E;p|0X#OpYf+Hx0c2GmLt*?SMI5JM?-QFVc+9W|s@NlHPWec=N_uJfO)&nN z5R+sg=51IAn5*rfDeJx|9#f8Vf)0!}V;)oOk#Dvv2#-X9T3EoL<8{Hw3*K}wkEVgh zEM0DeZ}>p`7R^DWO@dF7qze>cKj3?ckcI3sBrW#&p;Z$&A`K}Mt)A-k2x& zUg*bMPERAP(Dn=?p;2OX4-m9tv*F~M0J-MSb9&MKJ>r3KOllGhZIWU{KVQjr3x_Gq)g@-=s8 zBB8ruLXT-^zP3FpwNgx|YE0-)K`5-VeoW{eC80OjcLupnbK^7=_2`D9F8|7f1%VmxO}cJHjV-$@u>2u zi=t7q6&*!a(NpvlLyB>V@rq>>%PQXWUsyo~K>yu}_bA@0c%R}A6z^AjK=DDvA1Xei z_^{$5ia0t8ZP8dk+M)eCruY-ZpDO-L@o~kUEB-?9mx@m)KB@RC#itYlZP8c}OCpw3 zQmm}_tm1Qu&nv#5_@d%Vioa3(t>Vjyzf(j<4Q9%sOb|Kd0a8(avd9MX^b(AWB(}&uxDSU>>Hrj~j9|D}E+V86h&?hqXL9hcYXjds7U$K#PBb}HB#pz{2dc;~5qd?2b9)31?Eo$Z zwHcVv;;6^-upvRP#HC}r8%V!O+Mz@R@^e0H0hzKK)5~F4z(@9-kaA{N(>QMIR*)g# zNktxJpGC4z({=-WO^EHKBYcVVB=9dQW=a~S0ljhV14G!s78W}&qUN6V1eAKPWlIW* zG}v{a0|K!M@LS-gs(x9^OiEOtc0}@ zhNt+-_$wu*Kv{we@Z#HqfTT}heb5J@AxJ()gl#;|JM*C`T{86rg-nzvM~)dhp@Ya{ zV5G}Y48hujx6qFwNrGI0uChRwS5pqcJj`A(GEWO1)9Q%Kb7XXQM1liZFlaQ4NSE0d zDVB%@1IgLQKS$byM;d`F79Aja6;q6etm?Q5|K_B~JXN(dX7r4EQb*61FfPsUBoh{- zOQ-O7JUGkI3CXf$aCpdvn+H}6Mo!D5EW82R16Em%6}!Ny8$^@!oXp^m@j(oN(1b2% zrB4QZQ;6;5FhmPv5foh`>RS1HqObQ+F=K6C( zH{3(sY3G_L@b{Yy?htRVbnz>^Z+;}$!b=zP2(OQshk40y%|p1Fbo45wylfMb?;JCx zT!bns>)9wx8D0l?7|i23R8aNneSe-k)NkwWbJn^2oE5eSf#-~J@9XSew~a@^OYZYC z#bl$ISgCLU%%1Mc+hC1U7M2UZI^oM|1KtSbZPamfKaq(c@UoQmAu7X?a?;BIYq+xB zRn|%gc*B&3M<&Gf+R_?gLzOi`S$8RCh;qs)XS6Sid`Jyeo};|l0c()564cs3A=%_Y zY@qV6z6<^H!@L2?YofeWP9WD`d5x6!ZNNfFQ239Ph0>_HzRJVFF{nFg%UTav^iker z<(&@mdMgjd7$BGG26DZWw^4cRUGxJ;+f#Wsk_5Rw2do~-;_9F!TYS^TyFnLsS8kGW zmpL+s{_Li_7nFC<4|rXb_qg)@EhBLR%yd!K50o`46!1DL56=-~(#?~{A=XJ*e^%BM zqpXfWN@Yzm&VD!7U1*P?-I*F=X$+e8e!9AY^6;VwbetAH; zRMzhT&Ogans2n^nG+k@5?q#1SgKTt$P}Pd8CE!@{p&VoTZkY!9epyQTAB<(cX30L+ zjP%tNO~~XE35R!WGsRbbHzt$MElb`tZ)t9ylf`G7B@=yf-PsO5N?rEK`ce!=LGF5Q z4m#l3ZYL*2jH`xS6rAou)=nCF+T9H7mzRvSUi}r!DZ4vnzTeRUcb#&BdFKi#;jUF~ zFgHyuVXjeTRd%3q%r^7A$u<xTbuVjArpt2VZcTgO9QRVpQowdYUNFL0>b2bOB*l8GfRV%4Oz`HOOTD<{{Mrmf9Ks;9kjPT5!z z11qoqtBOds8KYWQ^^qq0Mp-vK(`cv-p5}-*n;@3rV_~ngd26X!T3dNga}w&_TB5w) zE3dtWl~wRChJ>{*Dlf}e;4D&3edV0?up|rKLgl@zyy;lD1#5w_o>Ep@g9T;q<|~g2 zpO!4feS@XY*5(nl7~4W%-oh%NLB-5dK`!lM*yWhcb|)0$$11o_nMG(@J_P5gAa@0@ z4Pu+EPMOxG;T&aRKOM~T#*FnYA)AJ?mD^9bpI`$DtXay!o&*H9xY&DYZIac^|54UH zOc{_eS>4xKS>rtU7#y{viE8rxqpGm`2hJMDObKkEc$#NLWev3Lms0G%v^JkB^I>Jq_5^u0R&C{#Gd6@1d0?q! z_bF?;D@ovJGEX@hJ)HV$ZJHsM` y;hjljjP?Lu za9nK3uP`*m1ICIPV@3v)*IDIJ@a#~Si&Ja%V=s47h8g<4=$*|Lk8h6G=2A)>b$g_-; z3_Y!=v1eHc4?eA^(Pud+8Gc$(SGL3)ruOWJ|-o@R4Zzn`V%P`s9I4Y)t^eqP}NFRy*gI? znUoAxt*FuJ<5D_YwMxgUKbO)0t5rH;{YA-;)hZpc{xULXwMs{=Pe^#!YL$*#pA;Rq zwl?2>&Aazwy?e)E^no7hTkSwUQ&t+f1_Ca>8Jh4tjqTjCx-Z z>nlFuenmm4VYRbz7CEPjX6-3&y^Ak4kf(X? zfCfvZy7-y_b1ofQKUFfgwm7=}b; zWu9;_is~4M^-<1x9KClS)Qm#Cl(osWz-UU(1xqklwi)fUL>` zcKW*m?9n*& zjo81H=#$M@#jrEI&R$Og{$EQ|>270>P-uX;=vMC@x{CeR$?hSl{-{()=M;a%daw1D zQl>s6ryK8}x83x0X2?2kdE;~p=eSvJntj~aX}<^IKSv6-+Ix7n|K@c!M^-rb_=rXar_kPvh=V0-@((Kf6d5(MAF2vcZ-QEEkcig)r zIdBcUTAs7o8;&{lOn18ZYmd-of0q55Tkcjn&FgEX*u8M-yt_Zsd+NAn4*N5mN9W-b z@-};5==Y<%#dfXs{%1SgZ0E^hd8og+Y;VFD#bNF;8R9PVHaoNZ`FJblrkUq=^(NsE zo%FU>Iw?4jmhHE<2l{)RJQvo~qcwaTmCN#8M}M|+)$DM( z7E|y57xx~_Tzdq|_BNS3S;k!n(>~Onk~PWX87}Tu*u^H)m!f|pm#3<^mErUaP4EZ# z=^;eC#R%S4+~{x@xLMv{@2b7nAPT$5!E4Ce2(fQEqeDAcYF&Nhaei)+n1!KUEYTa3 z}h%^asCq+X?z zb`#hGa?aYLKn5*qB5-HUgI_IRiKHQrGA z@DFJYcbDv)QUewn>-X4x;JKhju6(y>-{%za#^Y^R?D`n%clcrD+O507`~Ua95nkue z7JI0B+1p?Sxucz<{znV!*Z2Bs{Q>ghm%A9eer2qeAE*Lr7ooJq`tALsySsMJP^$9= z7{94NMzM|kBXrm**~jNLkoDqyjKPFsAP(JFFZc-vr8!UCaPmSM2DnDAupEnQst;x*4%Bf0sL0>F;I?zBVVpaz6ujwO!ZzNk5EkQ5XIh zcnG^);njZz%Uf>A!asxMun7^~5n!+^_Q0^Fe+niUtBl3fe(VS^5N~li0NVl##97=U z_|Dz{BSIE85lS`)$nh-QUby6@pkvk*!)LKXi2pgP;hN!d!J;8N0s%N7lfJ|M{HC3I z#xM5I`sdJ(ED3cDVY(|m-9L^Y>^2~@-uVoDko@S!Fw)A2 zBWszzMR;9qKf()MLqp~3NBpcNl>Ny@?1))bmKv1q?NY7R?O~c|0>0z`7huD3t?FOo zxS!Y#x)g7!EA9oI@$&=Kam3V?O$$m9pgOk8~`gQ4 zvKQP_YVR0-h_>*lE(bc+7A@K~cdABq_uHwxll?4Vlc-ic1ZQkjMJsG92|!`4JyT_S z`1`ejPpSH`-X9sch1)oAM;mhwf_TP)-hq#JFs`e&Ni*BxV&wthwl3bMgwSR!L%y>W zyYiNGKxIdH6=9sd?ew8+I$1^8p_3(C*+v5bOnntxK$_IAHvIWEW+bu2CGR<_gV3t}i$-xo^xG83ow#ef)&vsZA7O|jak^M_X zE|LuOMV>!dT{zeM1C+~MSSo#~h%yOZsId9L`>sfoWUQggrNZD@QG1YL` zy{P_tnd&$2HE!ftgMnRm7l4vi?JKH%w=+Q{iREpN7(u*5~ji?~Ku&%)(*pD@`DE%qw=3##mGF@##jKP`@>T05f2bBG&6}>djdvDk!?@ujF;NE_i+fPkIoLqEqG^i!MvUuX zm*IUpOnD3azmS(-YGu z0&JV0mUr}TtHm9i-!VmwS)h(t?zW~$=kPKB@5^^^o8j^@?pbhe;)QU8;x=h%RybIj zMbbR`kBr=dny~`@O%gNQ0`TlL~d(XRDl)uvHsY#F6m8fY2 zS4oj*k@)G}siVSs|GwW=%ZMKW8 zB?zWF=QXmwiva@^+>#%FZB=KwAGFb^eNJ<#!aJn+hrJ1;nq_0@6w;|CUmdjDyQbDo z^lzx!{z{>C_T!XUfDd3YxY>Du!8KU!W^lWQB^{{UsR@VrmsRmLbW)VMjkgO}j)m?{ zz3z5LsFG~wy4Ju6|DZOF(H{2uAUDTORXu0DVcJAr#bz4V9sIL;=lz;Gmtc0r=3Bcd zqk7n{(D!4_cr(e&Rp~x{4>fJ6w^o%8^cHDm8~o17U*OHs>n0B`F2i&jq5@*m8cG{r z$rW1r`|VX^p4UU&d)S_)*E2TkgxLE-v>3x2Z1h8Xtv6J!E4|g4;{b1`UbDPkGkU05 zqBW4>w$;?n6lr1C+k@1ux&ADTzUn+r=@F(Ci}(0p_1FQolL}4s7wDaKNRzI$Kc`H> zKFzk!+o;$5UQd;s?Y}8@C~k(CZRVN9W|_%1YfXXKWV&dZ8S7#tAC7EqwrgRB_?X)v z;}zZ|wR)1bPp>1rZ1ws;Eqb9nT$L~KPpGxM+^KrK?C?mGWz}c5g$+a~>hED~57z?c zjAk&_FH+I&Iz7NvPhWk4RihC*@u3=&#JQ*`Cwdc9@|?3-OTX1^tC{bye?#H*_+A|2`UBp(kAr08T;tHN~muv)*@KdRww?qa>(c4lbpZ`Rmt zJ}=ylfJx8S^Yj(I-iDGLp89#f13*T;dNHZba1Lt!96(gfY4&QvzFp`Ck4I~=^Y4f#%Lz!mpr%<_G@Ak8k;Tu%C!sX+5Jd{%?} zaZaJ8@9N?a4|RXZ)ufr;0`=oLdz+SFhx>P?Iwpg)ob&uon7EU@RTF2rPcwEYmZQm@ z;-#p&i@ggPp5XnBsvmxg)?oJrBG>EqVt?{TB4Kgr&M?p zUr3-q{k%WnjxW32>@s`JAya6MnbYR1xnQoE8|Jn-r^PNIQH&@JcbITmmoQC-$)k$^HZ#(S9GosZdeaI^!CZH^N}xYWnnw%{Rv1WWAM%6xCK=F!#9 z(R5>+?HaujOVmvB>0DL2-k+>lUvyTgA1>N!5o=jJw3$zEQ?>LLUA!TP9FD2)j$wfm zURa0aG1h#o{VJ2~?bo(_T|<+-`Dzo!u@L#ZH7)CB_g9lr{Dqq5O{XfKX}M;inQU%o zhQ)3RO7^tpsFt4I7tE;`=Ml)>hv^xt7_V9~{cp(|WM5Ea1Khcqq?b2Ht@=Z2+V;yK zTFUwU3U%}v_n?;Yrk$eMjc|7;f0sK(oio`kPb0&61`DJsPIg;ohIII7i*#u z?r2rM#K*_N@$cU>^^)9D;dAalb^8$Kf|`C3of?|V4zt_rGl$JlbKIOU=gdWO&D=C8 zHg~C{e7fd(&cj>*C7W-TquzF^r-y^D`k?GTW=wCMfkb8*W`A>qBZhjJ@v6PR!(kDGXWF?cUFKK{-5EtW|=1b+bp%MyY~vY zThP5xs*9J%LOn82O`PLrsp>V}Nev&wE(WFgxSudlAzs#_jl;DX(lKE{(g&;1;=6GK z1%k`5vBK*yJ6jvs8(Auv;SW`t#@j1Z?`D6xUf1~J^t!^|tu1D+`y?OXhm^U;pQ+wE zp(;lCwV3r!slC5xLUT^Yd5s$9_fii|!j=@HS8)dbO`)@LbKI5`K8?vM&HaS0>SENa zrEljQ*Q^fso7Mb--f+FH_ReTA+BiR>!U1N7iVydGNgI}_%nsZ~RNNI`2jkFoojY8G z+Ip|E42Lx^#+#ugO>j17St>xCm81}R7YI!c4>8Wa{H?T;+b17WfeI;ft)go2|mVe17!P!V4_q?sc%F0e8OLg1yMk z?xrWE$!PWX95+SH>g4Rzk{f1vbce8im^>g1^#aHa}zm%NFZX=iVM zhEx5gD7zRld`9U1sK0=GOwt+tw=n}f4CP|(e!scEC! z16tx6_64o@LLXl`fONj9ZR1YT>v`vh#_sbMtBHS|sq8Dx0yV0ik5zqGGsMHeLL?rk zs%N>!)tn7>Wtb-RbxkwGJ*yeEbxvy9(f$;@cJn*x^`duHb&d0KwGcI*q~^iqfHs$W zEzw$cwiYJO*{HfM+rw4%HLU4DINKhk2267+v#9wvs)5T!Oz-L5)BajjveBKT;deJ_ z(YE@BRp&-0L+fachqLx5OPX49$t_Z;{r+%OJ>8wD(i5F&%3tl{I34ZuuylaTI+`qv zAL(FX1O71kD>jQ?Y*F2Zygn+O>fKVG40o5S^lS&;0zsZ*ROeFvpc=a0#UWB8{$Q`N zcln+5I?d<7Kg{#I39591cU806Ve`1Mg+q*p?Csyw9EQ0+VX&XU-^szU8{Uy%aJaon zb6D@COhDa)T(?PABsT!Bh;HcOiiZQ zD?j69K86KMI?#DsFF5DT>pE|`HilyRj27y+i*p{}FLs`RQDU`Gv$Nec%I)H;*B+rd z#}iY{0<+32(T4w93YXcgDt5Z-wG3N)d@~u=@GPkOe2r$e$E!kPw&JUY?Ckcrc!nZ; z1D`@caFqEEU9ndyt{GkagQ3a&N-{R4(ftK&Kgy@0Vfccu9F%* zhOGda=h;|off=8zRi6*^Z))^eca(q~6yw>bxA*$Si-i=C{^4qB(VO z3zR?D$14ZWJ;+U<)!e7Eu4>E#f2{eo`n8*<+S?fkl$6WGyIKe z{bm>E)u6MdkChZ$N7~mkkHPLX4d-(~7`CP3_y8Ta%*FZ(N{d)1{rgRA+f%(4G_AR% z-s-AF9p|E-M2gv1=V!Bgo@!Q0MP8QU;1Z(J?Zv8erQ20&d7@gr(ZkdivE%IZnn}a4 zdimp{WcD$+8ac(r=QUtQZK_V7&e`~rQk2++qYx_Tb=T`nw-%%KZPzRsifNl@Tt>MZVftMB-wZ`eL*Iv%E3}%_SOpdPzLVT*;C8uqy ze8apB=0lhw2W5m-X7y`YhU0z@HTahMFomYe9%b+J2dLV?&Qnx7#O%^e`LtS`;}25( z)sU0i*Ha5R(Zx|eNalDMn(IFM2?ht5E9&d*_5<`odAvPQrPUW-e%1QxZ~pnOfB)y( z6iLO&n>1;Qekw!S;SIMA=q@_qOP`(b*F3u7V=3Kn^1mm(0NESwCG?ek_@dANO#TPq zTeU;5M>`B7zAThzBo3mClF|4AR1Q9XFb;3CjmMji6S2yhCzJ8fZG1Bl4ta}RzrEt=6VGO&IKMch|y{Z51F{iX7o9#JTeOtUNm7U>UR~7A? z4|$I~fE_?cueP7&WthSHiqLRWy*Ew;PukdG0k6L%pX~mge&2+xCngx}4%WzjvY|Y& zNfTVLPiPY_bdTuupo_P*AlujPs+KJBFdc>XQ$3V@!|S5#h2BEV`$g(si$k=yT#>JM zISYR<#c#17i{MrH6C2Grt-xFluK_@N2XBeyw#pr=Edj@|G`!eN*Kl{|cdY($XEe0c zS*WoqTzs(wh5HHh&PDYxn-^DTo7(7~RGFjh2h5-?Z)*Ij#X0a+bHJQ5m(6T7eY5u% z)6c=ck{!k-_qbL^Pj{|HZ}nCyzW{INFtg98uA7~sjdG3Jv(Tx*G39hK%gi;4%u*a$ zSYy_kjpjbcq8&i{ZZs@f_tG}CZU^3)VP^B)&6-(z_s5i)$xlQf$qB92jht9OXta%Y z+sM@lx^3gH<{;EVv+nKujUw&swp!^pvyRX~=QCb9+mrQ1UazL&3-W$qVy)_R6BE4# zEm~E4x@CNW`Y$}6@LuJoD?RTfCbw?Xs!U>H-Fj8))O)vfVxr%uX`@z+8-46H|Dxq* z6`khIn%8#;t=+^X^&2(yze#S=7-f2 z6U!s;&f67B;wY&>jjT|bXU%u2R!dC0tCUga-CBu>Q37=}1=7FvPPOWZfjDx~kjj=s z1%l92=bdU*>s1YlsvR0u;nL_pJf6OJyK3#))$5caS-Z{~iLX|z^~bszdaXvCsLp`)7D z|1|k&1We23PRka_pZfT?at(r8iM5s)7mhc?qKd#^O^D^OU z%SPWM``;Y7olx!C?2DYG7oUl4RB1uBxeCN1a!HtyaBIwYOhOe7#Qf zKgBc0#M_iQYl%v%zJE6 z@76}n)yvjGMxTeo%{(xJLqqQv)0h!5gQ zIF(AM4=TmgMgydSs4+~{E+y+}k+p#DRjpI5#J`CMRMIFqnW4BkRcj%6_3G6^iOuRa zNo@AXCuM5A{pM@+8#n&AeuK}Qdez^q4Odj7D{NS2*Q{R4uT}m1da%}kUGEbUN5gV5dle+p<;t7OnKog>j}zB~ztx z*#?c1>$j*~zj1P_R>^T1pj$&qfhd#Mynf@vk6SeQ^s`p+N^4BK8m?rhM*XG@zphiS zZroS(8?~zYb<+mV#y3oEmE52eYcZ7Ay!jU_VcCX_S~hQ7|7%oe(*}2yCQtmNe#=&O zYq&{rtNMv8o3~&#rpmJ+R?hqHy#BfpAAqSGl@CjXgD5j?Zb~I6b3lLmX@rf0amsE|zvbrvx8>I@ zTO~J%Q~TIrgNlV}nAAcI3_$87-RsDu#0`jXCjZlp!PQ%3JNLp5@R;ayClUuO* z8YZF*v`Y38TcFZj^7T^bg}B6)$*q)*3)Iwah!U#q=3k)NmHMPnzHIHhWid4rz0!ipsBoe9^2!ylRWq z7)ag!-^NjUi0!CWtCkJyMlJpkViV${%T%d&7wA{D{nxAiapUBg-wD@<3mOQTxLu_Z zZmH+&DwQjFf3EXpz3Smh<+4@a`P!(D+Ra+DiUevlYli0Auvyb&m$gwzv9cOm3ymS3 zme*?5s&4W>%8;zlti?B=HNF}WDf7ML77+m^f?{~{n={xb2?G!uV zJG^JV6MpVH;qT`0!gu0d{7(2KJEa19q{kdSo4w#EY`xD-l<*njp|OV zcWc)4YE-XUt$H0lJo0c~t5LO1UB7PCw`Ots5=tJm77(f_Az{`3T7M?+2Mcl&CIZz{+b~LFR z!Z-#ekeWo8OqfcT&WKrrxr7A(o*%XhuJE=6Z(H!T1#esMwsjwV58%g72Efx+0)9Wm z@8|eEfgikVJ%e9m{NP=SuW-GL-yiU+ieEMS_^E=o@Z)C;`07|){NBUw1N=V1FA=|w z@k_?>B#{G4>7kwQaClCN98cZXYeE=&XCe2r*jNmWDrMCu)9g>8sP>b zZj+aSd(}!Mv>~LiQZsOR*}~s^wyaD-Cqfqjk2PC3{b4yz;`b}a_avt`p)XSoAT@~8 zP*TGQBM8}q(FB~xwybf4@yu`nsY#^rNKGM3Bg`PoBFrJoBP<{+A}nDZ%SquBEPP8? z#o!u7tS5z&vzE1y!7U7KV{kizIE{>t&=B?z_7e6n0{eaNE#WZX2zmHZ(C{sTnA^d@ z1RR6K{ulvUBbHT6k#hw6WoWFGG1*m8*Gb(Xm0|$Y*dB zscB5MmQ(>@6C<{e+D_QT;2u)@35OUwLaKntib$OxoMuEZsq=(O3|=91op6i66bICa zz(}kwq%oL5=zzzB)sa*e0=}7nc15ZWp+AEINo6?5atNv6gprIGMJk7o%isi3d4#D9 zPA4^-$!3w7OIW~&MWmJzRxr4d)EdHi1~-tJ%Ve8LZ6oYt#BNgi2nQKFOzJ4%ID;oi zZDX=Dr!m?Fd3cWrE+JebTqay4T&M6YQYq|1(+C+Zg6&D+s~z041J#XG4^q8J^(8fc z)F8qT!Z1P>VI*M`VGQNQ@vVbg!g#_2!bHL(LLOl z5erG-Qx-hs4p>geC#)i@Az*<9{-ZEH9D>$F-WI|(!VdCwlG;t!OW031NH|O=Boq;j zQ}_fae4z>Mq~>#^E->OEsmtVDBZU(ImUWZVZ9=Mth_+lFP4^INN9aJnYAiZ5LT8F} zBd-Uk-lX~x`ZIO_VIU)hkT;Cf2vXSuY&pWkBsH5bmoT5a zMWpa94Q@oj3c^alYQkE=dMYg-wUK~>^l&1nZ3OJU!il7IliEWHU!=gJf$9&FcZ5(# zI7%pD>~T^j2w0efPYI_9X9&di@_8hfTJ;Jwm!1VU=U{m z;bI0mF^DBcJYN~?!C)^^eM$9a!~jx*2tx?N2-t0hiwPqc97PzzU=FEqgz*G?pa*_t z#AH%a3DX&zL24EO3$pMysriJ3gvI17AuMHZISpD#YBhP-*n#gET+fJ&q_7PRw==k% z!JQ25Vh}sI@Hk;V0Y@XyfEjUwaz_cr2qy@q2xll#ObQ=}Kz~5Ez~Ch&yUO4-0zSC` zXA^ER_BN>$44kbtgtmkXLVH3cp%bACp&OwG0Vl@Mo=Np3^d}4?3?>ZKW7c~9iop?t zY{F>+~kg%Arl(3vBR*+grSk2%XQtOyv z1A`kG+)UWY;5Je_NbMxGo3NL#pKy?Hm{3S4A{?ji2~wvBX9#Br=Lr{?(G^lS!VB+` zx=FZANR0!e5z-0m2pxFjJ~IxMxPHLh3rHo1{`O zrL)?^gGwjWj#MV8PJ}KDb|>`WnWEn0^(EDh(4R1Xyg`H^gkgj%!brwulNwEG3?YXw zmN1SH;|UW9d4ws1X^fptY9?VeGoMFl0bvn?OGzy!wUX3o!dk+5!Un=7!WP0d!VbbN z!XCmt=CPmDLBe6GI!fvo;RN9n;S3|rk-9**M7Tn@Mz}$^MMxO<(q;6MrwVsHpy7$J+i5u~ySqX{{LafI=NiG)1D6l$5y6f;Q8 zCd?x&BySO^rIcIF;0i)Md8PHw*7D@+`8p?=a431zho54{G<`8lj9M6b}ggn9&!ZgAR!YslZ z!aSx}$P|khT*BaTQu*YqWN;0G>lj>5C}40SsZEUCN@^Q?O6YoV`-4gNjEKixf{No>n|tu0nxW zspW~?6^AS4DK1jnpm;#>tYYe2Dz7-47;l*k5^o3&00qCxa;&E;&#GYgSU5Bt7D2z%If_`TofK6&!Q`hC4V{L$A>eBSrWnKS2{IWu?e+?jcv zy!-7J4ezwXO0X;|2A?MQ{1l&5e0Dx#Sq-1HtdXGI=Pc`zZCTg^kPdnlnGT^3$K)`$@z1*Sjst zSLyT7p*z2A0p^fakRX##hict4N zsQV(+gApn&Lj5X2{U$;^9-%5nsHY>;^AYOB2vsdY)re5FB2?`NRX0L4h*0lGsE;C4 zLWF7@p+1XHO(Rr`2-P}5wTV#wicm=rs(pm&7@@jEs2&ljPlOr}p$12&j0iO{LXC+~ zxe;n&gqjkeW<;nt5o$q%S`wl1Bh=~$RS=;zMW}5NYFC8X7oiSCsGp3tO@$ZF_b8l#mIg^F<(Za?kO^z z^`+h4B7#<10(flsZirN(q?YNHfnTXwvU|y06O`1uraNwdEJ-SfN|eqd*D^8R$p93s zET_;l4bfz?9<(#aiLQT8%Rvw;kRI^kA;m1IQN~#{StIDh^Po6Su159ZtB7m9bOQfA zSqV&(gJtRxw8TLZ^x~=TB2P9(1#TnC(#JS~zO z#r}w1k!(dIiewVB)|Sbh_R&Y+FKCvVqj(m%`BIG{>)cY2bx@rutEIFfuZCcPq<~*b zeq>3S3{>(8>_OK!l$RM}Xj;6`L+ zza*Xc(D&jb2R6Fl+Epw&cY(+?*vgajL6c$LVS$FEA1CXeEJxa-X>u2eIpd!}Q{>?~ zBWNDVYD%R+ZNgBKyXgNcx%mGo+0BnLtxm(K+@)f-I_7Uj5c5ck3r0IS5+v0Vl6_Ix z+-0{Vz5I5hOI=!VJH>KW-j?*L+mSAHY0d2v%Uye0((7(Vnl3H3GcoVXT`%@>d%QCi z_e!2p>5kr5v1~i$q@(ko(e7j|Hx7>D#t+!hu%D?TmTQ+yc zZI{@2yCtIh+kLxbbNAeKiM_X30z>G9@H`XmSs2(ZVDK!K3_Quo5&77gh*32~E=w@d z24a^n?q$hVKBh4G1`nvM82gH44vN}}adJj<^t}`LpjFvL7kwB*>mP$l5;}X9%nt>6 z%Bu_W`4Z;F$py7>i;r8_sGxbbcncse2UfD=WOxw2SMyHt$za7vG5pAqE#Y#(6J`s` zNt{eT^$KNIxGsDwV*(93g|aHl!;=EMRcd=`SVzE{idn!4Pu9cb0$GZnI7CJWQ!qrR zS9sbLNcX}B949*+M8IkLAa(9U!OvtAaE#1>kDtkQJXdmLD)2K|39Kgb!LKE|L8nP3 zOw^K0&;#U2lGE89w`3XWP+N`#&*3qAvK@o16ig3ebY4bd!KAPU{7RK6nEsSFfjKzj zr$BRpG-sj7W#)>Lp(s@z`0uIW1N!J3im6d{oIK8gUCK;Rf;xA>3@!stYE&^#X22|} zu5*wXoPFRyIu;HUNl#eGmjp|e$zVpkL`k(mr-UAi81JXnRqE;dsUJP+JpyS=a3Ln$t7*5{tWva(!n2JY8P^BPdc@R#J zvrv~K9T3^Ma>~|wb1(1BQ^-w`1K|qrd1E0(siI*1R79yFjrdZ`f;74+7DRU`tf$Dx zaJ2%9BN3hi!O#GU!&Fypl*L@NSTS&slM_oS(q3Vdy+XBj3=cuIr&58vW6+%)}qRap? z0w$p#xaof6Pyq~P$+YmW5h$33)`+=J7OH}4;ie3-uAw%yWpNM#Rj?Q_z&KS#Y707O zOh|6RxdJ(Y;9XEepDAN!0qszR}nS^Albb@58tU*0uWiVvWZWu!zjgzy;z*0lF zd4fA-y9VrJ8IMl#)nTtphfY^g!dZcM3M{8c|M0UVs6c;IIzcW$I!Aiow#u+%102bd z*}51q8`=31j|$;!ei6*&$xW9lA2;DnzEnj9UI%NEe@ItE4#7sg^yDp!5bRM^#STjp zlZQo%HQ?bz6BTKPPLl+k_elod@EzHsbu2&!U{(PHd&m?hG>U~%h?j`cH~d0`Crt)H z>OPqpD3~8KL|?7c5L7BfE|rNG7Edvh?fZeDY#&-0t462MMtGUjI&OqJ9c7|MZAzJO zIe3|#qO!xZ-oqf(QMLsYVALaHcrX_zKz^PK5=LSW%H_x=jpnGR*Va*}1lEJ5qh7_b z6RLixm@jiRNVB0LQC9Hwh$s&nS;40XLOVbm>L1LK+2+z8G02zU;NK^)ES}5Oj}#Al z%MEwfpVGynQSaeLVKHA;Q#;z=56tcqrM#0W&tkixcXWo^Me;Ag1SJ=s2Dky>du>@C z3}bUR(5%-E&@kJtbs}9LsK8*_v!pWwuhijkqiuGsMc;#TDw7OzNCR)0H;})ScuyGcj+wTEJa+Sa{>>Fky9)i;ek)oHHjFy zJFScpK`f`Ku~gtGA?8W%sN1nO8oyZ5;8rEYd|3cafqX;X0EIHSjLx89lc6U^20=1Q zip%5&HjBBW;>XEkbe5I!G8MLkw^tR5<?T`J-OrrWjZJP8#dl$%M7^Y)A%70eG?__11;k9WbxO`L3iKP}`2B(4#aw-~9q@(EdhEEy55LEzg6 zF2A{Wox`w*`}jNxF?ke*v!qv8G%(VOqE?(NhrbDOMtj+;GVMPL4VNa}kY6B^&`m2U zW=V3HKqkW!df6d}O_c5^5>iZ&e&K$0ht{cI(9gDNXV_7upYA~4E0$5HSUJV#B?Zc| zBt5JkXz_F?Ku0^Qj^>4980gO9$Q_bC@G(VRjP4UJTIgo`9d@(*h(U@BEfcPx2ymJd zV9-NTu0kSK#z0A|q`(v);Y#i3dex?`>177+VBDJ??mAaczJ<&O zUL$JP=?cwtB?Zo2BiiFkoa{w=WXa+(BWO^m#dw|Kg2X=cv3;4wY>(3HSHra8i^APM ze0#v#QIhuqPlY^=!zhK9CS657j@l*20N$e_MKBX9*TIUF-e}`k*$g^GI+wXyI-^~( zs|KU z_1fuw5`N)R8^MCbPgr^&r^At9zb&6H;Guo}I9Z0iongstbPFbXqrrO0RXe8iIm~_o z4xeKMW!=!60=Q8idy#Jx3*}nL-caC&n!Bd)8CfP~Bf%?>uUQbVOcs^Z&Rzx{b27`6 z%T!&9%iMd55jf0`N?v&b%c@~3LR}!cfkzY*q>Bb?PMLl)2aS{}3sLW=Kxz4fs9Bs0 z)FEP^Hd|&{DUCuVq*5ihY>w7E8P5R(_&j=Fp3DocDAB*5f#z`pM&Ku*0)^6}WQ`!I z340)?K>o%s0SaY&*)XY*@p_l8E)%BJ8s7HWFvMk2wxHHd!#k+Vm@^2nS+crJe_f4= zyYip^j?RDRTM_DZL=o!MU zk%L0a!V1=Zt2~5wER`e;R9S0k6FGbmjYW%iic4jWw%GS%wM*=QRIyw~Y%oIw!lHJM z@5yR296}TZ%0&~ay{{5_2P%LvIg*AO@&oA*3Ucn!oDSgqUc#(E7@UDJ-wvd3;0NXB zLuZC+g)T!y$D9{O=*>kZ*|Q z^>s2DtQ46YZrwn5HUtu6H;QD*+LBR5vx4SX3lCzYE3k+3f|Mbe*SE?hB=Cw~a(6`) zxul-$LA%DuHb<+Emvaj=IlY5`93ZDRs+uT6%XmK&>ND{=0*eVULt|L3R7W{RWsx3Vn;oucNT_ZdUWm2SlS#2~19z8tv1KN%u6d4%jAdrV1r%Tv0 z2Ac0{d(jbARFi>-(L}k5y5B|A2}A+nkth9vH!3aC51!$jJIJ1mM4n{8nPdlVK+u>0 z8`$>e9K(;3ZqQ#_HlyKjNaSv=w{8X}M+#viOE#2wx^LiMkR;cU)kCUqDq01MTha?9 zie)17{+4KB9La?YrnNvrG>=}BE*z_^IN6L!q{#`se7qz(IG%a9cht>UQMH(*wRk(o zKB94%7gdXST8jbDl_O19#TKPCY{3c+4?h}Cz=xHx9D)UM7CJ8}W=U#z$`yV$VL0Gi zcgWS2Yr%r8hT|H_B*;-r*SIyGMyi2>Rr_dzg4a?1?09Lg;4*z7a4*(2kZ zW(7CiOq7h19(W}x2ju*&mv){XlI;au#d02%Do^D7lNNpfpQSbJuQg5NyDngv?8ieh zYVeOTyC0?sWF(xws5naIar7x`6+9a3i6-`l+G+Apa;5aw@|)rORUszGBs{IL3@{VI z#qv4Z{&PI09O(`nDblUXW2zhMX33)PJS1p^MVvTZ6P&xiO*gE}qiGn7rC??q-0*?; zHM)aFn~a!XeHRMx`uzh{7zOjG(y8q8BPtM`P%=(#*^K`!)v~Y5^Lrok$H^+>#{y~P zQkkb;a2V$jYMm-W%UaQ_pp}OrIGLz3DwicE{+|teLK}Ddam!n1QkpCTyQT_ir9E!o?4*6f9B@@uaMG@yGLEDOsqO0gB z`iddN7{yq{a*E{@@AxmQB!i*zPQ|+v?^e7=@kfgHD*jmUKEnelQW6tMa+ATuDe=ceeiA2g+yi`v&k`HZ$BQ#EhSUZ^TNlYC2GG|S5Epe_X2ab`E(A;qx9%IklVznBnDex zb>t$VUsJKZ;{8DEkl{Hq4i7udOygp_TJ6L_!m)x$bh5;RG*t{;lB#!97Dh2VBL7c_ z*CA`WSc^mqR&UzKop}D;lCIE`F2CdkT2H*icZ2&KIq|GiO@54v6(^^`=Gt{}cpA*~c@g~Zz#Ds=V+lTqE1*FL`yk2IYB+Pd~$=P8|+1%ExBtyb46%+CHS%hO1EZZIQ zRmG0d5wR=~)Eg5hVw&7S!M>L4!4!6gB{CQ@YVK&~qSiw!TiT&YLo7#*>mg)UhHKiB zreyoF9W7TR`%vEk$wS-=iJWj2A}n!o!_k@3ZxCzH%2M%i-O;0YaMo(2QwgD?ea7d{Pj z6h-3XGIW&(!abZXhI^O~V`iQlKBUzR#c=UJZw(rBXhahX<_koGbQ#SJ#Oq^J$sIDdT;Z1fdIE)kdER`i2lYN+CoG zWC;{qCF)A~LX>zkNjj+)+u$hIr*M-ZbYp@>dXkMa2K_Jlh7=$(MP3S=2;Tl*A}6Qh z@yNke}mS>PH>SQFlscWaywb#B?>Q?b)H5?jf((NwN$4 zLbK5w<_(gbex-NKPX!xz$zmSlHO@T1%Q)BEkE=<>sA4M0CNZm=)5cVYP~~MEJEbYd z>mU!4d0cUFAO=_ef;YnN;O}?Vy91q7wh4jf{PUh3{w>>hl)LOcJwr?udWqE*^Llta z)0a2F8mTO-7Jzlsm(>Qm5z50h8F>9L%!a_rRNjYZ3ri|UKL@Pg%6eB>SSD3ohVroE z4zc~Vdg}MAY<3|wNO^c$hyJ-? zUb^y{DQ}Gv$PH9p6XpFoU=2{#$I616s;Y%L6zG?5Zvmw}1xe3b6cVsBz*+Y5H zD(`?F@VYDSVdZ@*nK&kBx+&{N%9;@hcwLo;1p(OY>B+Ak)S!!{0do)DQuw>v5itIyzFb^=}p<^5ZE2g7oy%KKb- z6T`d|<<(W*DNj~XUwh@frM$g(jFXqFyw{XBBFt;2yz0tZ5DMhlD(`va9kl~qlJf3X z-a^;xv?sDZf5!$bugvQ{m}AKN51A*m-`^))7}$T4gAG^IZL}Y-{zVqfzku~Z!1*UR z3zU--3RrE(x|>6y^e`BVpsF=li^0Kp15dWmUaMpzhWN6Cz5O4|=fH-$#5H4lt#~ss z`AEVUVcSgeHR4Ul zwNAqlygBxE%zVF#2ku(s25*;3q=dUhxxpJ~!xH9dWmf0dC?{>R(3@gI!7AleQSNU_ zm@Ad}kTUT_%dlv^a_>}bH`na;XSh(XT)8^>%I`{;7)nsT;I;ayuiQ4~y-&!*OdJku za=zGO+RqFC~4xf_g6$-veZ7%K#8Enum3 zE{s_6EY?Qan7=3o=Ow_IXv^nq%txvRZ%p8vv9a(4R^S1S)_}LgU_}HxE%>dnl6;dm z(gsg0wpSjW9p~LP=8YxlX!;vhrU-AJQ(mUAz*(rAhRP}S zu<#1r0_DA+ys2281#7;t9#>Y9!Ll)U^OVQsO+3q8vl$DXZOnt}F=i`Zw)L_0kA|76 zf?UAIM9VR~?Ov$H&r}dg(qI;%Z}||Mqk>%fw`7KGwmIe6n8ve}Ia!%kj2Y`)hndE+ zl#9nPL_fwh6Ie5qg*gmZTQSQ+RT4GK|54U%k@m2gsNrj)tXxn229A2tOgRff*h6b$ zKGAZ2R@OB~z6M8&y`!8fE_PYL(sHjVYitM`n{CWHK^tDyq3<$o-w=4J>zuOwfqi~( zR2RNY1xG96GzB=S3L6aItaHqyPQGQc-Pslgm1Qy>@&SHb(SKz7smz9M%!A2IGq6ME*-boj;Jn+!Xd~urn$1P#SGS98)sbG zn69F{hRR#(&TvddXbz0m%~3ADg@_qCCVz-V-E8Hh zXy4oJ;QNZ;jZq$!-62i-h4(%Hr&oJ3SZqkhY?xl99Qj6+M}Z z%qFd<>7fmsZsDGBz^5w4x@M<)mbWX+=#j%S(8UX+=#kD@e&K(~6pA zR*cLut*D9S9g&%))mKBHQ_V_|xuz90*}O9{+q9yln|GDWH?61%=iO2|>8;G8?s`rlY@*lKH3=H6i__l*~x2wrWkMq`#7qIjI#jDScQ#ltkS9JZz6M3t8{YuXvyrcytP1^-*%{KTk4pp{t^yhEyzq)=1B*$sLp{{Kjo}PR2&F3r%)ed zZLuvdzF_2ng_hB_8RMmCOiJhJPex7Dt2;9%DC=9WB_CC zw+*&Vw|H0@Bu_oKQ>E4mmJm@ekz&DV!)1omZ_Kxd12z^rFo9`^z8#*~=z}iFGt=y1 z8#xK3Ir=1d-gI}0IU9;E&Cmv)V>^T03_A-ayOI015`D7CcXI5`UN^6|0spV1rMQJD zJwu`G=B9tc9^_oYHtRHZKXrdpDy1(KA7EM6`b#NOpOVvzx62#v=eP$=ftMSC#D}F4 zIt!fbdb9iq{sKGIOu?5wAn`$|gw9N`{tNE=rChD!a8tgE8H^qNnWmSs-=F7>ay!{4 zoZWVP2>&@!vo+oW`Svcqtr_Wc32n18+#&87bJg2uhPjj72WI$3%@}!W2ENO;z`11a zlToI>bJXj^`Qm$}1~qn595>lHBuO|rb;!m&_il*|u6Ea$;;iw8n|3nWon}7h8QSE} zv7b-!w%aLQe>2tYjl<=A{8`>(Cp>e=pY8l?77iQlu+u{?j`o(?wLANbce$gTM^DL5 z2AZpO0gfV$bQj_H;9_s9GsjEPQ%J~HbwQ-6vBEA-AP^QU9pY5~6<`CPB#@_o!pIXL1p+h6Nm z@`hqLVub^VcPPOXNv`t8cJ)?xTbv>G2xppH^SAg56E(7yv_ zDTQC9u>KYVHdXFe@8NeM@UKOic>ut%L0sf3LsM-(W8JdG<)>2rE>B*?JRU zi^gm<>1@hZ$mCtY&6{$^fQnHX9p-|GtK692E5mGEOGhnBg$LzBF2a>5;8 z&vJ1H$XL&KRNL3D)G^c^yFuCb4U?|&$0TQ;ecUOqXPb8Bh?C|&1j(meO0M!lH@un7 z1$>i!f_Kyz7Q&mAv7U06hdazzRc(^k!XdwkVdB%6Vz-Mu&0FYf@D}@5yskEm)f=m_ zFmsuQ#mEV4(>Inyw7As z%Pm>iXR-oz8Ny5cOqRzc7gp_0!zE*tv$&j(C4VMjEw1-t-JgjVi<b7<6Lj@IQaA&OPlHV*okppYs=m zx`*(hD_6Xoc+t1;J((UZueolf!|O@sobtzcee{~-?V~>V2UZYq`M8HqsYPg0UT!3_$YJpTS8hJB9*F{msJbGW$VZ zdK>;WpVf?FzrYu?Q8ZJ1N%3~7!fSSh%8$oSG+?TUpVL{Rsuwyqy$IUONvRz_M;>!Aut~yzp+KeN;u( zU>nNf%M*B`?4@cLuc1h_^ZThg108)?=L-llKY>%O_%BNfPga!|op;IVrpB(i1zKu} zgYOqX^AgvFu2pU#Rd%*tV?}qejiIY4UUQM`ZsuzI3jEEguao--OX4*Mnb)Mh>PvU7 zs{T9=vt+2chUVFJ|dOhS|D1^{9 z2lq9u!@S;_?&o091?g$_IgQ+9>;hUAIwN>X>?D;v@19g2$M{3FFHdnfm9aK!b+%$h zkHS6uw=tqv9n{}Rex|S+)TkIj6t<|gs2bQLo*WKHw7B{;qwMy;XPU>tTg$nV7W(wsyTd>z|S^KrfD6cXc6@0IX zd9%E4c}ch5qWgbkE8UOxR9t@dH}zfVDq~gqX{RY`@DN3%n8KgT|={9J#qUX%S3TDGsdStGQ~=i80kyG*0rTlFvX^0f|goK9Ni zoOe#sTb;Rjo#NmH9lEF62h`J+**XfGLk%ozl~#MD3eI!N)4`W$q0&;lk!Gv)YtDZd ztjqEgFDr2pf%@jySk8dxvpeNjgVGrUKcxT1ECs#t-Ir57mc zZ18IrFgjB`nCM`^0^GJ{l=jVIHpWZjuFx_I?Nkjyo&@?4dB~{F+i)2Hq%Y-rz|@| zW~nQSU5vI6X@cb|TweTyrMGLnSK41vb6*=jCinQE8cZ&L%>&(*Ntic4H z((|z!PwDn5J=6O)6a0RUWgSw1wf57rze<*>JLz}|vD|TQu)2K2KB49FRqIB7nAR%U zo2J&rIrFt=Tz3*!sFRJgJSgiH?3Z2EGDUt9=5@2n@ovsg-U9zG#-(=<<9G9hrxh{?~@rx!2yu}|S zEZ6w#^p>kvZQYaFFS@Dg)BJAg&t>nR=5}@e#o`z7AgA(F?}8RS>8;c3RQIO3o#wnw zv0eBbJBsc1l9j#79;UtxcWSd2;CqXxH-2jf*qZXiGD58`@)xPxH0Ncqw{w{XY7W{J zQC$na41xm3Rr4|Ll1lD$ae@n;YbM9v4uW)*6(ZhBXYRbpE3pI^&_vM z=1-Sd7JjDJvKDK(=}tAV9eb=9Z}QAR4Z(1Kf?m7$J@k6j!(a(rL+vqIWHg??v~eAW zp~%m)S7=O<-Jg>^OHOJ76uH~g*t4)D{&f`@=C+{eEcI=cdsbaean5PxKo|1{D7Yn$ z@Ul>T1npSN0(}y{^#LtEYNvvGoffRcGRBCz6!2lDjYU)lwlnz}u3g?$^?ibWU4!^n z3U#pWWjA=3f(vjYio8wEvrMkRcbb^DP)l#~nlpjL9+=soiiY_WDK`ZNwODK`#xgEz}jVd4HEmULc{jSQN@8Jv!if;7qdk&}p zzQqc}Odd)bVOtPc1O1LFGS};+ZE(n*s@Kyt{Dj#1L$w+i&IlD-;|g(I?|2zz7Hh*KxtJrN^pize*>(0{^=pnlQ?su)&ro`VY0c_Ad`Kg<-|eD8Q~ddQ zJ08@cYwXV{6Sr5*7J3`>y3gyava|fx#SXQ|zwJ1uZhc8?Pc~olRQfEpB@?xZD0cy)3}@pBR># zb}L@`*l8Mv6B>t&_DwZ2(O;!HQrtu8=dBv6FTc*2Zj6@3*;_G(c*M z-GG;N_Wdk7O=hdfwLaaohG}BH{}%K1;a8t1+R3R-J$K0X7YJQntp3klEsaid1X;`IcE&zLSA1uzJH7zc6W{yljT0Dsv6t6h2H=}&>G;i^!FVMdD#Nhn zHC!^W>NXMw2uIi4Vh(hwsw2&Pg1JlO zy6TwhVVecn#ol>MkN5sY3lBU*XLhLitM+>JVySaPMYH@QZHsAMq25GIShJs1U?b+K ziSrI#p}Z7O#|IK9u-KlZ%=ad#jqZN7mK)=2 z)9e-YM$P_oj;dYfPg2ttoD~|43-%glw5(p*yT`k2H3k=4e3KVealR53j$(-xQCNqY zfel}0pUPx;`?O16)6^snU%x{M%&Q^tc^j4+U=LK6lKcf~^M+HMPt061!AvsO)nKvP zl9Ijc*{Y?tw_Yvo#cLvzjnm?3{&$oaY@b&x>Fykr?c)trcmC9dPW@)6R&SoaTqC^N zJ)qUQVJE4b5$<;7?{vp#R3>55fQ}~Ssflj>V!bg(sPGK8gBIRr7i*#8?r2rM*k7r! z`ZuF-2|sy8x6ZnQG~Pp<^XmEuuO9o#cC*XuHHXX*bIhDJXUzq3)!Z;iHh0IQVv1Tl zi-Q|fG0(0*y&Y6fFDFl*eLrJPUmmf9u?}Xsw#QX9d5V>Qn%6PS!=>`yDcarsCnYb) zGqm8vQsXJrxY=2!mBVrl1bUhM>gN&ff*RkD zWp;SS^?vTC;h5~>z#1&~cE+owsqg^FLH0HE^0fOfT(F*_J0UEHBWs_77g}6b+c+o% z_7^{8s*f3`+6z1!RzZ4(ovYHtP9r*e7~?b96Ywnqrc=zvyd1)SMjd~fsV?^PULto3 zewCZT-Mn~aJ~&7{o$Y6;h1K2(O&{=2s)c^;CoFUXPYAj?Tw5gtFH$IaUo|>@XJ0M2 z3|l-@dlXxN>}{`Qs%WY|OkEpiuTZ_4{Aqe!?T^*#a(|b0pgrzEP2&)u#_zb69_81e z)n8KaK+}w#oRD*xHP-K=F`Vdb(GaiXHUyfZt8%m5Run#sXDvPb1iur2yezGF2k)4g z+V5{t&kuOR^}5PCtu<)p{EGI{&2|+Z?)`>7ELEB9xTC1J2Y!Q$bLX}0a20Cr9n$L< zZ@PLj-dV5Js02+`t`=SA@wc@tYqknZa$e&!aH^SMW}5|Ou~}wTnYCs;b{;9TM1^KJ zJyh#;ceGwRdKt>kbkZ~i=e?cUNL^h1hKYrRV?ZBe6*>656TB0sm-+4hmA~b6)Ee%$ z@$GMjPSTco2R9I^l5OMI6|Pe~oKC~F4|e=0)K>NFaj?RINWRsQjr*(78s*t;lKRud z*`rlF>=kO!k^TpG2ayBPn2OTuKQUyR@d82(_3|_fT~zX-H$jbd_0l!n)_$QiElWWMo;GI!jW4&B;zV>g)9b)!tH_6wUtZ`>)CGwmNs_T+H zTxDOu`XYq0u+_}#RJST)v_f9wWuu%`-%t5#RLKT+rl#NBs8!qIA5xvz7S$%2?cp3h z>XNM9Ty%?6YM(z`RZnwgsPqJ9s`6L)8&qzHheZq+>tZrBf24z#CAgAdf6eajNKL+S zZdL;ay?$Dxt#?xcGu&OKMP@kzRYg~WpHzSYW7NPB|A2bE&&4rTX!>A}vUmDj^*R+B z+_cjR8~(hm_pYej?KbzGt=SsdzWxohl;Qq@G6M`=@o^n)uT<6RT$}@i!8ciAxJsUI z?tp|fM;)7tNjbzvn*kbvJQqL5g3Nn(`{byBj{a9H+g-~RI#<-SqdwN~QEr%hA1gmp z{mb`$$uP~s?3#Ha><-GF<8{!o`<;>6ps(V0m|&tdW%tUjc$tr>0E-NA9@dK)sU_EX z)3hrT+o!cM$K16lw#aG9QpfS5&WM`TPF>G(+i7Mu2S36H{WUq2m}2Iem1eQ_{y$K- z+&0y;!(FHK*zDt1k|F#V^%V&Zqsp&WtMT1lH8Qv2AP&d6y)GW6NZ-IOt{^$e{D)E5 zqwUswhdz@)5tO?U7YYW7Dn^wQuPI(1$SX=bLsOYN<34y&bZZh`WL_!l)j*o~vt z+%2@OXbz5&=%nZ_p}ia%ZZV-ab}w z;QUDYsu~*NZq;-?7pmc4s+ptmOI@t}pvuTa75{!i`}Y*@SuKkrG0f|(^&RVCz=XzG z_A^wlS}OChTs|Z-#a^W9R=C}@ttY7C8$2xFB6qC4PSrQg(aW1ZC$pc))y&EEcx~}G zs+%nfwB%NAnR?RC!&glpe8XL@*TLRit?n-WiiTvjb0@N`&YF1%M_(vB+2sbW^$qEP zHbyJd?5Vb@ce;03!!yobuH|PtFC)xyH&0Vr>y)+F!AV|}9OmG6M4;P4acj7;MmXE_ zy4vZf*FMful*}~sS^SueWK;A8IfVl;tWTQx5U${?;0SHGnpf5PV}37n_@?^+g{I4H zW$*CQRqYVxajG3^cIs$+NLqHR-chRiOMIun>#nRe6U^cUHrg>y6cGCvUOZTIuF!dt^H^HND79(R5Ge zMK(f()0*1iEYRHLZnh4izo6c^Sj3>2=ay^BZtzd2%n|nkdeY>esjWH zGPBh2P2NK+KL=Ae4ssjaW7;IW-8q`Q#apHP0=J7A`<&`};0sm^?P~RBfm4f9xoKvm znPV23B{;3H+N?7h%sr4rUx4=ASYDxb&u>-lw)<06={$Fn8tdr(j8Zf4=d`HyxHjzu zPUc~3G)|N#SDWXSjUUs6OfNOv*ZCVoI@;~E;XA6f1I}k;cC{zz?X*r^-7S_MA77_t z{rGsVQOnkqpJ)}^sNu8E#JyMbi7L;y@riAkv@RDPU%x^1dJW#K8z1jC`JzedrcFL} zTYTB-v&v43<}Dh!gf?z`vxZH+@V`xL+5F>HtwN2OxA>-U!`2Ne#K+gG{#H;vKE8Z7 z_4%3WCQ?Jyj z7nOSJ^?LQ*uJ?MK*M9fpXU&@>KKa>~pMLseqvp+8G-;aHvelD~8a?~WlMP!nYw|^- zCmE;~4L?nM0twTqh105K;-@}7tr~un=(K3vvI?Op;VHt?PU~hZst~FYo+3O=`HvfZ z@p-xMwN;aE6a8;nv})0?QDQkzXZ2%|h*Nm@Tqh6?P-FM?(X;81W5^q(n|7I*X zXy69#)-O-;ZM0YQ8a3)g5{ykC^h&+AYX=1>pczQ)e{dzRZ7XK z<=$hDdbcht*DPNLhDft&cSI63>r{WacFkC-4dj%3`L+1E4eFI6w|?Dvq(k+!M)B{L z5Ff;paH^D0A5@8{iw?*DQDc~@TS_+2Dr*Jbt6r}{NqpmxsG?a6GE*`2s@FmBnl)>L z;+r>Y7T^4nPs-JK>-AR}Hf{QG!$zMw4Qjqs7on)ZP}uO!u3fW^U#I5#4dAT|{HSHuP&Q6jzw^i$gEnDlI3+GI= zDyCZ1@{O7%Hf&k9VbjFctrKH3!LWvu0#Po$MZ>1?AGd7s>1VBDmDZeCbzI3%t%hGT z{-$1o`Y~TOY|^^^H(xY*Dz%>N_*@~g~7A?MH4a+xf(yB$%hTot;zi4zvY4P|^ z8n$YEr>2`Fwr&{TszpnhG1Z<5v2osi`_)&K_yELRWyKmbZPLQ6*6Q;nEy{h7*b0M@ z>V`#lj9B`C>z@V;=naTQ&70n#IkXg1tYTO)oJ5`J^A}WtItTQ}pGMdy7^CcF4O@L4 za9e%Ts&!(s81;`mHfUG~Rw(0gMNNIyq;X<=%fwc#;Rlp6Z1JD8Y}hQZLTUPoW=;I~ zR*hOVZ`#yDOqw=n9TU%6obd?-)W@I3#(#xkP}Q(;xq$q-WfL?bs?#{W1&Wqesx?~g z)5Ml+zQ*zB1FaLi_?Bq2=Y73Yc{V1#Rbp$UV*)h|8>5D*yTzAicBMXP(zI!qi53jo z`|^vHO%p3=aTWTq1qS=XyW&4-ipN4wE?|Y?nS+9Gu#0XT z;#GUJ=0NJ+|8|brL+nR&TDNLsH);8g5W5f`U8Y*)J3zmz{l7uOkDDge{$9FPOwd8l z#qDZUa7#UHSF2jZ`*Xe58`KP6s+O;Y$k#=C)NS6fbtF-{d2@8%#?8M-blDnJ6sxMk zb3N;zt?MWLqa4Xv&0Bs8TJvk5kTTy(Y#9+?AqbS$a-gZ-RD0%o{(iqcRlb*B z)lRbGzQ=p&d+DdYm;SzuXTO*K-1pMY+ewu;B0c2r+3W>RVf*F!^&LJ%LLb(w_jcXt zuhn$wyj#1rSF2|A8a3ihMpzg4$(&HDa(HD77)cD?%6dEdcXu7f$0 zgX5fzjgMn29BHx~AD<(KK2}G9?D-Bpu5I}te9GZd5uZEpfo}g^T%pr{ z0H2?Nj>GjAxIT=}Z$SSRpT|Kz2_2O|SH<-yT%Q3CUo7%p0R2Z?tASq~^eed5!1YyJ zU&Hlv7O!W_bU01pmZ23JJeLbNSJ+d{N0MBBOtpC9AHUjsm- ztvGysiO;X`c@!T+*?JP6s`wzf7QeRj0zQAjr#e10@ZqlzynzpYp@6?!P#>T7@c96r zkMN1d=VN>l@%aoN{^G$G`1}K(*7$sl529%O8=oXPoJ>e1bRu*ibSLy8^d$@+3?d9A z3@0!~)@VWwVH{y1VKRY{u^1VA9UGvLF$?e#p-YvE5j<-tVL4$1K{viulUhsA-JA8K zHWD@ywi31zb`o|IblYqnUr+Wkd63o$N#P&_wzmk!m^{IZ)1-8j=PZ*Kn8c|PY%G$x zO1RF9TjV9-UbWg1+7Xi3sHr%&Y~e3CTNb_tfmji`5qO~4!hsIU`7J(=LB2OReF^

    )D5K-kEP&7`&wb~3q})IP#NCJ&P;V6h@n#|fvHQB3L_;UbflNnIn{ zWHQMCbv$qq>kG+DrV={gF=2Hk)s4`T$=;;;5e70jh*YWrlS4@jCyZpqC{o#kTqehp z$|Fo+avG`OEH;zW9Kw8NEF`sru$;*iq*fE~ivs95q~@^LCQ@4oJD9PH)Ly~?CJ&K1 zLO90c2~t~GEZJ#_zCqp@0=~n9+mLXHaD{M2$Km@2vZ5ur~s#qap#em zOPJ4$1*8@cmJpT^@(C*ms|i@3LHsDZfv}Oh&4jIl?d0tswTrNau#a$naEMSyC?XuA z@NrTn30PalT}J9WGcJ(2MBY_W*oL>P8>DU#+Iq-n&qc}<56KRMP6VupVn8EwrAQC* zdXef&sy|^MbJGcfm@$;R3{oRVWf8E`hY*v8wK0U4)C6Ya5hfF+k~f3YEW#YZJn|Nj zT1;3gQm?IrA|dTepx4kZ*4ju48N zdyLd^0+vS+Qv$w$jldF$DRP!@o^X+HnQ)bW6E}!1;U<$wJ^-gu&~1H~Ol1~&NG3-S#xR*pYAj(KVFDqK8Tbtz zbX&qSCa05{Nx-5kB2H=^VF6(gd5Z~4m|RAOR*+gn9`;fYdnVU0V*@E{JR|H(Zewx> zlRKHjJ}M$k*hj!Q1ax3#9H!h6!coF;!b!quiWHMNOA6NLCrf01Q!EAq33kZt{O9;zYVmYZ5gjGzgCbgC&)-$<* z$xVbUOl~E$ozxCey9j#-`v?aJhX{p)BEm5WA18H^aGG$2aE@?+hAxxBVO>O*)D6Nd zLfaTXG9iV~fzXM^@6%#XtSgh)MM7Xn^&<2k^dk%)q!R{Hco?bSq(+h&MHs{6SW@Fi zO(Zpm6n1UVW0{;mY9^`Kgt>(IgoT8~gr$V#1RTx4Kuc;hVJ)G6uz|3NnzxeLPPrYV zc9Fs+3WCVwKEeUQAwnTDju48NJVwB=5=4@KeKdrVyfcJzRDY4wWm4Bj-5`~OS30X* zET|Mx9Z02->O$zoWKTjL9^~muUVl;p2m=Y}LG;HxM>5xtXw)$!(-|klIOVH(@VfKY0g89U^s@ z)Dgl_!g2CW(AsIjS@O;kE;8d1c~?nYBXyJ1E#|f@4@l+#-1ekW2^|S(gf7hJN~$}d zC!sf?FEjd)8bC-d52Zs$4P!F}a@922z^{TbSHR*hVcoN$q0B9#VTN*ek?3pm