From 0db0aaf29a7b2df6f378bcb47128bcc814dc73b2 Mon Sep 17 00:00:00 2001 From: jizd <1322860695@qq.com> Date: Wed, 20 Nov 2024 17:07:14 +0800 Subject: [PATCH] =?UTF-8?q?i2c=E5=BA=95=E5=B1=82=E7=BC=96=E5=86=99?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/bsp_iic.c | 194 ++++++++++++++++++ bsp/bsp_iic.h | 47 +++++ bsp/dsp_can.c | 5 +- bsp/dsp_can.h | 5 +- main/main.c | 2 +- prj/MDK-ARM/Objects/HF_BCU_APP.build_log.htm | 15 +- prj/MDK-ARM/Objects/bsp_iic.crf | Bin 0 -> 1059877 bytes prj/MDK-ARM/Objects/bsp_iic.d | 72 +++++++ prj/MDK-ARM/Objects/bsp_iic.o | Bin 0 -> 1165084 bytes prj/MDK-ARM/Objects/dsp_can.d | 69 +++++++ .../Objects/stm32f4xx_app_stm32f407.dep | 141 ++++++++++++- prj/MDK-ARM/stm32f4xx_app.uvguix.Cola | 70 ++++--- prj/MDK-ARM/stm32f4xx_app.uvoptx | 148 +++++++------ prj/MDK-ARM/stm32f4xx_app.uvprojx | 10 + 14 files changed, 668 insertions(+), 110 deletions(-) create mode 100644 bsp/bsp_iic.c create mode 100644 bsp/bsp_iic.h create mode 100644 prj/MDK-ARM/Objects/bsp_iic.crf create mode 100644 prj/MDK-ARM/Objects/bsp_iic.d create mode 100644 prj/MDK-ARM/Objects/bsp_iic.o diff --git a/bsp/bsp_iic.c b/bsp/bsp_iic.c new file mode 100644 index 0000000..00e69ed --- /dev/null +++ b/bsp/bsp_iic.c @@ -0,0 +1,194 @@ +#include "bsp_delay.h" +#include "drv_sys.h" +#include "bsp_iic.h" + +/** + * @brief 初始化IIC + * @param 无 + * @retval 无 + */ +void iic_init(void) +{ + GPIO_InitTypeDef gpio_init_struct; + + IIC_SCL_GPIO_CLK_ENABLE(); /* SCL引脚时钟使能 */ + IIC_SDA_GPIO_CLK_ENABLE(); /* SDA引脚时钟使能 */ + + gpio_init_struct.Pin = IIC_SCL_GPIO_PIN; + gpio_init_struct.Mode = GPIO_MODE_OUTPUT_PP; /* 推挽输出 */ + gpio_init_struct.Pull = GPIO_PULLUP; /* 上拉 */ + gpio_init_struct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; /* 快速 */ + HAL_GPIO_Init(IIC_SCL_GPIO_PORT, &gpio_init_struct);/* SCL */ + + gpio_init_struct.Pin = IIC_SDA_GPIO_PIN; + gpio_init_struct.Mode = GPIO_MODE_OUTPUT_OD; /* 开漏输出 */ + HAL_GPIO_Init(IIC_SDA_GPIO_PORT, &gpio_init_struct);/* SDA */ + /* SDA引脚模式设置,开漏输出,上拉, 这样就不用再设置IO方向了, 开漏输出的时候(=1), 也可以读取外部信号的高低电平 */ + + iic_stop(); /* 停止总线上所有设备 */ +} + +/** + * @brief IIC延时函数,用于控制IIC读写速度 + * @param 无 + * @retval 无 + */ +static void iic_delay(void) +{ + delay_us(2); /* 2us的延时, 读写速度在250Khz以内 */ +} + +/** + * @brief 产生IIC起始信号 + * @param 无 + * @retval 无 + */ +void iic_start(void) +{ + IIC_SDA(1); + IIC_SCL(1); + iic_delay(); + IIC_SDA(0); /* START信号: 当SCL为高时, SDA从高变成低, 表示起始信号 */ + iic_delay(); + IIC_SCL(0); /* 钳住I2C总线,准备发送或接收数据 */ + iic_delay(); +} + +/** + * @brief 产生IIC停止信号 + * @param 无 + * @retval 无 + */ +void iic_stop(void) +{ + IIC_SDA(0); /* STOP信号: 当SCL为高时, SDA从低变成高, 表示停止信号 */ + iic_delay(); + IIC_SCL(1); + iic_delay(); + IIC_SDA(1); /* 发送I2C总线结束信号 */ + iic_delay(); +} + +/** + * @brief 等待应答信号到来 + * @param 无 + * @retval 1,接收应答失败 + * 0,接收应答成功 + */ +uint8_t iic_wait_ack(void) +{ + uint8_t waittime = 0; + uint8_t rack = 0; + + IIC_SDA(1); /* 主机释放SDA线(此时外部器件可以拉低SDA线) */ + iic_delay(); + IIC_SCL(1); /* SCL=1, 此时从机可以返回ACK */ + iic_delay(); + + while (IIC_READ_SDA) /* 等待应答 */ + { + waittime++; + + if (waittime > 250) + { + iic_stop(); + rack = 1; + break; + } + } + + IIC_SCL(0); /* SCL=0, 结束ACK检查 */ + iic_delay(); + return rack; +} + +/** + * @brief 产生ACK应答 + * @param 无 + * @retval 无 + */ +void iic_ack(void) +{ + IIC_SDA(0); /* SCL 0 -> 1 时 SDA = 0,表示应答 */ + iic_delay(); + IIC_SCL(1); /* 产生一个时钟 */ + iic_delay(); + IIC_SCL(0); + iic_delay(); + IIC_SDA(1); /* 主机释放SDA线 */ + iic_delay(); +} + +/** + * @brief 不产生ACK应答 + * @param 无 + * @retval 无 + */ +void iic_nack(void) +{ + IIC_SDA(1); /* SCL 0 -> 1 时 SDA = 1,表示不应答 */ + iic_delay(); + IIC_SCL(1); /* 产生一个时钟 */ + iic_delay(); + IIC_SCL(0); + iic_delay(); +} + +/** + * @brief IIC发送一个字节 + * @param data: 要发送的数据 + * @retval 无 + */ +void iic_send_byte(uint8_t data) +{ + uint8_t t; + + for (t = 0; t < 8; t++) + { + IIC_SDA((data & 0x80) >> 7); /* 高位先发送 */ + iic_delay(); + IIC_SCL(1); + iic_delay(); + IIC_SCL(0); + data <<= 1; /* 左移1位,用于下一次发送 */ + } + IIC_SDA(1); /* 发送完成, 主机释放SDA线 */ +} + +/** + * @brief IIC读取一个字节 + * @param ack: ack=1时,发送ack; ack=0时,发送nack + * @retval 接收到的数据 + */ +uint8_t iic_read_byte(uint8_t ack) +{ + uint8_t i, receive = 0; + + for (i = 0; i < 8; i++ ) /* 接收1个字节数据 */ + { + receive <<= 1; /* 高位先输出,所以先收到的数据位要左移 */ + IIC_SCL(1); + iic_delay(); + + if (IIC_READ_SDA) + { + receive++; + } + + IIC_SCL(0); + iic_delay(); + } + + if (!ack) + { + iic_nack(); /* 发送nACK */ + } + else + { + iic_ack(); /* 发送ACK */ + } + + return receive; +} + + diff --git a/bsp/bsp_iic.h b/bsp/bsp_iic.h new file mode 100644 index 0000000..2e24c59 --- /dev/null +++ b/bsp/bsp_iic.h @@ -0,0 +1,47 @@ +#ifndef __IIC_H +#define __IIC_H + +#include "bsp_delay.h" +#include "drv_sys.h" +#include "bsp_iic.h" + + +/******************************************************************************************/ +/* 引脚 定义 */ + +#define IIC_SCL_GPIO_PORT GPIOB +#define IIC_SCL_GPIO_PIN GPIO_PIN_6 +#define IIC_SCL_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOB_CLK_ENABLE(); }while(0) /* PB口时钟使能 */ + +#define IIC_SDA_GPIO_PORT GPIOB +#define IIC_SDA_GPIO_PIN GPIO_PIN_7 +#define IIC_SDA_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOB_CLK_ENABLE(); }while(0) /* PB口时钟使能 */ + +/******************************************************************************************/ + +/* IO操作 */ +#define IIC_SCL(x) do{ x ? \ + HAL_GPIO_WritePin(IIC_SCL_GPIO_PORT, IIC_SCL_GPIO_PIN, GPIO_PIN_SET) : \ + HAL_GPIO_WritePin(IIC_SCL_GPIO_PORT, IIC_SCL_GPIO_PIN, GPIO_PIN_RESET); \ + }while(0) /* SCL */ + +#define IIC_SDA(x) do{ x ? \ + HAL_GPIO_WritePin(IIC_SDA_GPIO_PORT, IIC_SDA_GPIO_PIN, GPIO_PIN_SET) : \ + HAL_GPIO_WritePin(IIC_SDA_GPIO_PORT, IIC_SDA_GPIO_PIN, GPIO_PIN_RESET); \ + }while(0) /* SDA */ + +#define IIC_READ_SDA HAL_GPIO_ReadPin(IIC_SDA_GPIO_PORT, IIC_SDA_GPIO_PIN) /* 读取SDA */ + + +/* IIC所有操作函数 */ +void iic_init(void); /* 初始化IIC的IO口 */ +void iic_start(void); /* 发送IIC开始信号 */ +void iic_stop(void); /* 发送IIC停止信号 */ +void iic_ack(void); /* IIC发送ACK信号 */ +void iic_nack(void); /* IIC不发送ACK信号 */ +uint8_t iic_wait_ack(void); /* IIC等待ACK信号 */ +void iic_send_byte(uint8_t txd);/* IIC发送一个字节 */ +uint8_t iic_read_byte(unsigned char ack);/* IIC读取一个字节 */ + +#endif + diff --git a/bsp/dsp_can.c b/bsp/dsp_can.c index e003f6e..687e151 100644 --- a/bsp/dsp_can.c +++ b/bsp/dsp_can.c @@ -1,10 +1,7 @@ +#include "bsp_flash.h" #include "bsp_can.h" #include "bsp_delay.h" -#include "bsp_led.h" -#include "bsp_task.h" #include "drv_sys.h" -#include "drv_usart.h" -#include "drv_gpio.h" CAN_HandleTypeDef g_canx_handler; /* CANx句柄 */ CAN_TxHeaderTypeDef g_canx_txheader; /* 发送参数句柄 */ diff --git a/bsp/dsp_can.h b/bsp/dsp_can.h index 4fa47bb..a3ec8f6 100644 --- a/bsp/dsp_can.h +++ b/bsp/dsp_can.h @@ -1,13 +1,10 @@ #ifndef __CAN_H #define __CAN_H +#include "bsp_flash.h" #include "bsp_can.h" #include "bsp_delay.h" -#include "bsp_led.h" -#include "bsp_task.h" #include "drv_sys.h" -#include "drv_usart.h" -#include "drv_gpio.h" /******************************************************************************************/ diff --git a/main/main.c b/main/main.c index 1c48932..16dc100 100644 --- a/main/main.c +++ b/main/main.c @@ -43,7 +43,7 @@ void poll_start_task1_init(void) // uint32_t userBaudRate = 115200; // 杩欓噷鍙互璁剧疆鐢ㄦ埛闇瑕佺殑娉㈢壒鐜 InitUARTs(115200); // 浣跨敤鐢ㄦ埛鎸囧畾鐨勬尝鐗圭巼鍒濆鍖朥ART can_init(CAN_SJW_1TQ, CAN_BS2_6TQ, CAN_BS1_7TQ, 6, CAN_MODE_LOOPBACK); /* CAN鍒濆鍖, 姝e父妯″紡, 娉㈢壒鐜500Kbps */ - + iic_init(); } void poll_start_task1_handler(uint32_t baseTime) diff --git a/prj/MDK-ARM/Objects/HF_BCU_APP.build_log.htm b/prj/MDK-ARM/Objects/HF_BCU_APP.build_log.htm index 9c81e31..0f3bf5d 100644 --- a/prj/MDK-ARM/Objects/HF_BCU_APP.build_log.htm +++ b/prj/MDK-ARM/Objects/HF_BCU_APP.build_log.htm @@ -22,7 +22,7 @@ Dialog DLL: TCM.DLL V1.32.0.0
Vh &Z!seb&RG33pe6aB=KQ*HE?*7Nk&=rkOS+}rljdS&FEOXoEvn{jH8ry2NI!^7u zXW^ce;Nxi{tAAz>KJ_2vqCJ~F9s{dkw?#tZ`+5lw;nS`y5kYk*+?&MF6f !tK!oqOzRTJHWpiMHpJkDL=d_qj?OR-TPBvN_&Pmu(d`Ff`-FJr- zER7C}BFfbsmt#`%DG@H4mg~VjmE}_R3t@&-s-DT$=h@VLeuS;sFBbUa1jK8zT o$&I@|?OC38cb&D`Cb zV)M|qX#Z}WP3=E){i{nG_eWZza=7CB9(?M1=QN%E$hc8Y+Ai#@?aijqK9sUu*wjvD zZNjGg{FJt^sr@IZoZ+Gvw)$1E*L(1(f065BT+VqwTxowW%cbr|QrM_7-ZY^z4ENwu z{{lCd=(HIppvyLQO@G`=fCygrF9>YI-P**AO5Z!(9dW69#JQ@+9hLTWc8*C+@5ryG zIWF(StV?QwNzK#Z5>fWHY~=sx9(?M5@#qtD-*X;QR{jZ3>n>o01K;$xvb!I12ss^b z#<7VK^;|bmbg1pC@a6IDHFLZ1sWL(Q-KE8d_J=MS_0WC?AEumxod+a_e)dvAM7lC8 z4ax23-fQ;idD2^Y@TvcfOcBgow|nkj_t3(wg9lk=Y^rA+nXc*~#+5LC^Oz)wnM}RbZ8w^ud b(eBi) zDdh*smW!8=A vL^hc0y}|K3xA7~f2f&SvEN`_(H))$1uQw1X*0^%mwzzaNqC zhRMwVX^aOq{|teQ47n%P4=l{7FA2)Pd&m{H zb{ufMTNSM520bK+`2^=%DM`GLGiE@&{;iiNQN4?^Wzos$I=^bj#`sltAvP;Vya!zG zR+dxS*9vaa(qcq=M!vN1@lo6WQD8SNDMhT8^vVI|8Ya&8_hXPF-Z%60fp0cV;oZCr zZcr-&S00-vQP<^L4xT^5W;u=zO6WgxOp?U(wm{=Lfu$Y&(!mY+Qq)q!y1AE>tr2gP zubiTiBGzk F?k#3K9UWJTvYkwWiRFY_s)_f9u&Ln_){EM|+~D!C+yYbW;IVMrkew$GmH`*2v< zwr>j)9Cx0r2C`QCi~EUOVa?ETk)h&C&N7=9oK>}j!&N3_*|gIG4R35(5r(ZwWV;gq z4X=>c59Y{Y%PQ;J8?DYPD&=Gs8_Q#bbBFMii31CJ4_&_%GfGa5@aCJn2%u!PCS;!J zDnrSPsV`yRtCc7!yH;kj9rGh@y-_ho oOV;4FK{^U49+c_9z2;?Ugw7A_kc!bTf+ z7W(k0^y%h1O*oQ@N5XU+cwaIzX>M0@ZhSAmuAM3lQq-KAqa3Q`8Wc mMl zIJt>|mER)5FflcXqdK?|Z{HmBxO&Nm-(xwamjJ&X<845C2pS(#xLK^N*iXoN5-trT z^wC~INJj~M1jDF&f8lKXd3e@#+)8glQ RhX(*-_|$YgnAb#^XYomxcNlqlh5ac!?&zifx4MTOE^bM N`pJIM(9stLF9`#_GZ4yA~Gq z;zK}-*u@hrzGJax@p8;}Ji=ZOzJ^vM$>9^S#y-z)-fmO;8=c~dN*bXjzTRrQQ)}={ zyQJ|5okr}Pyy7S2_J6d_pOi}3dF)y%{T?m-$0!9!0i~dF;k6eGg9iP*TK)w%KPN5c zy=&GSG~UkE5u$kYuQou%#(&T#T%;BG(^Q&c^SiMSXPOnZwM_H;K-@g{p^_#253D%} z=g{W%AGFOIao-u1Ie?vG3)r@;_XBInt@jc*u(a(DtT`>h9NBwlQ7vE^fs;I3#r)SO zFQYg=<>lp-w!rRPv&I_qT${st;~dVx)+e6{Pgs8Mnv)Mk=3oqZgypU~=-GlhLB>O& zXA)ArM-Oe;Jl>nmBUf-GkN2)A#!pHicHAd)IH;Hu6bbyZkhu)X^u`tdbQ`j6tUq zt5vQ(xn{M{7BRDqI|SEh|H#6AR>Sh6O#<;*2XTL?<@uw@!@kqbA2^5@fZtQ#XN^z7 zNAkK174Yx&P3k*(_K1gJ>5WNs9DArbg8S1wMK%tPU`({*e+s2i-8_QeuBS|O!$y8? zu&2z13e54&LnPDMHiAc4ds @R6yP^cJZ?WQj5yhRDsmQ8q*5#@@wK z*$A1Py=8`I%@S3yk>y3nBhR|bs=f1La#J@O|s`x5I_)$G^ z@H0~)!w`9Cq7Rtin~`I9V4&PRU|Ez;-+#x2mj)Q;0A^d$IJlcq8lRn<^!M34r5Pwa z14EVAx!&V|@e(&5GYoZR=;w)4>UHk?;Yop#0qV36KH2rH1RA!{v3m0;o%|zADtNYx zXwzIA!6!9;>Z006f(N+jW7yZXad9Mo*D;!yE^R8OQLo_w56fEpA6yYBL1>8`BltFE z4POn(3Us zt*S%V{d$BBUrsbU2}}{{m ihsZe zCS&PM{mU2T7jVzFB#p6HOY_Blk$!RiiUq{7cud)+>{?vF7oTnHWs aS;O{2c}@^NXCz_QXw(WYx-C2zvhaCLA-HWhDA_aeE|FYdz;q4LJDPW_Z(*7N^}yUt5-8-e3KI0 zgS<<9tfy%Gs=3`)D?#t+F?_%a&zFuN!A^6iIzGH}CxW1Bk;X~=%)v<#M{$LvzVE>9 ztFfwcMsd=GV4bwSHZg*@ba8h_mHZD4WA*ylOvpG@&!N@|SYv+gA>8|Xq^6z`B{6$& zpsrxSO7IS@Wr=yZe{HJ+DM{i^JaCzr2nkHlrb-iVrlI&BVL=SGMt>U _>TN_C#v=%xO%r%h>>Qsk3BsB19Aov0_QgodJ->2yKPgr3 zIT)b~dC$RsauI}zfAVoI!bL_rX5b-%QkCyIsEItaMq5K_HfK`@Wf cy6lqx__GnL3;d~suOHaIAN?s^ zkEuMpcPbz4U(U~n6gHzD?O)LuMWMPQxQc@7T<;ELCR(b|Ny=x`Yg66Mb@*iNzL5jh z*~Hby%*vl`F**8l|MC_R|G5SJG=>Q#{??F!#NBN=C4 z=z#DIo7bbr{rF%DZ{wO)rzn+{>d~bU0HuNDvtRlsV?a^gOi}F;5+f+WhtU723w&Sg zJKFCZ%Bvds;L-lIi?+%NE&(d}^N#kfTl7j3S9JC1K4@5=3LZxCvO3=6*zTD<-h|m7 zp{6# U>UA@t3rH#pkAa(ui7$rq(0hw%`w4@tq#8LN>WoAw4A(LY-k z%LzyOPg)!g>K4~4tf#65t$k=sx~h$r|Db;v+;E8Hp&s}80qO{Z2Wf#OSPKU6Bn-&v z(XSsk!zwtR;K8Bc411=uT&J xZ_cnMpu4R$l zZta2$2IR{4rRsZ}Qp`fDg7!ynBk7e+#IcuVU5=%)BYq6ZAkkl#WNuN(+-j4>Z)D>J zo6%d=u4wU-e_Sz@L~mKEx`Ku;(xixc;f*3New!~c#sjv_SAjd$p5;TGriyM^ySl!E zpZF~kaln|mp3P|IFGG(aSzb3 zfN`FA9fU?F{!X;GnF?LWKZQ>N!p@q3!`)xB=V*YaH+7**5$S>J+K$#%r z%eF_lbM4B>22*;iPnuAqJH5t-#LZBg=|)T+ch_1x5X2GwPTSV*TDuCQaeO`M5?eiY ztz8Y;1hz3S3Ya=GM2wUV+q>9ztz84jW}|@ua-T!AR8-yj z&FprCg6-Yj@M1&+i#cYazg n}{M1Bk>#5#-vpcW6*YCkPhWg9uG#u4vF7oxij(2 zUfM(O8pH^?^41b`>v)?6JOXnMLmv=&Q!)O@;GE{+3}ZpTT>od|QaC{QYa{#wPj~~s z{iXq{$LnK|K3F2xNM1;RY((RTK(@}(7cVox&3pR2G&kXW0 uBfY2q5pjq(4(*}1nXq_4K2|tU7EfRn3XBLvJQNGUk z4-vJasDJM}E@WZUOQXc6k@!SJV_3W0&nQ%z<0I3kscWNjT8wGbnw~_gcdcD(I}^UN z>9t0Hpsz#@Vq5F@j7f z)~ YZKD2g~B31Cf`NZy*sjN z{_2XYhgb9jIp+lcVY_(?mg=MyPjet+7UkkBis~tE7{EJ+h<(qr)p^6f@-_&U+9J4N zVC4+HAL2hKNK&oSsbVH)TGkB%)|CelLz%%2l4IzDt2kPmkgQ+~OpvSaFw>aCz#;Ur zrU5Dght$%Vv^Q;_|2m;IaLAjAc?J%7D>~Z1A-t7)t}e&ZZ8=uEL$)AK=v|Pvs)8KG zlMu$vTUn69=om~{+$se*>^+7<5(;wI`${K)8q>qLXKzD3YtOK?=4EMXOj55NSjiV) z_^nUVPriC!)iiG-w~7jMrQ}{cuzDKT!N$;a6xK}W&djoxe38w{s|VB+@B*JO4T%l5 znqH08*v8|??p0z?ChOaD_|9g(8YndcQ)``vZ$(aRmhMVt$=LtqfmLXQt>z563{%8! z9#}rptQWt|Ofrd+AjDn+zNNZ&mF$}b)|l=TJEo?D-aN3f-bB;KevzHxV6C%0zSSDE zGHsAa{O$p@rZ{4)Q3QWI;O>DH(>2WRerStHD7=epI-t7;INLttgS4Si4GC3Lnx8K0 z9<*7xdtfEz#5m~pd#*!oRNXA`+;l#S1@9eLhHARpT7=)|hkw(i_uhf!EsWahd;#?3 zm%3_f>=<>W_V(VXeQ;nIjNfC?KZsHU+KJBe8NADD<`}%lp6KGvqGXG2KZ^F0Hr zXC^06ha8_w4|31I3Ps^ggArR^M{sny9a--gScB#2N(<9Otl66JR;X1)eO*KyQq K}``Zx+V|J~CZ;Pk`%rzR-c2|246>o_Fd7^D&cqE|T&nSph5;+Ys*`nkSiR!U* z)xmqHRWCv!Dh#7+UjQ&8s3)Y%8p2kZ>8^oGv-nZC7DBg>Tov-(h&&|Zt9-I?&EcZ$ zlWCktUmlS)_AZi@e|tIHfaPSb+DC8~2ywAr?PzLiQ<@vG?rge-dj{|-TODm^KjUv* zifhrZ8ddfWbOjqYwd&5#mRQWXe_$D!*RNYQ!f$x~GyUH%_gU85`_bvbTo+f}kC6dq ziZP)wc?4z0EI^-Ud-?kZR;f=5w9tY~&k0&>61%M}EImaue8qd6pWqI7{!yR682n#+ ztv1#Kkm4_V8#?rxKME CC~jC^>DzO9b)6Fx+e=+sTgym;Npndu#9=P$P<15$l*8=A(u zY} )8j*&uD-)51 z@udz^IWJzfY82}cu=F==vwrcq6*v$)h3L&w993_=yfsi%A9O*7Y&s{HkGmJ1`-8wZ z<{}@OSH3W#H9g;p*LgAbc0c3X@Zf{yYITCW AkicdlF2+6kiHAVKR0ZKKWS zo$FSc9{DU=+`t17c&~Atbepf~>CF!=C?y)7$ Kn uEI)0Q%RqbXfxlfQS}@)2ac-zTtj{#r<=q8?0XL8XpO z? L51Jzr81rZ0&>~V; Q+su2C2G%j+IQh;G|n9?P!tsWYi-*mg?YWv zhPB^yc^#}{(qM}7yJ8q? =VGI*2m~ zX2S4YjA6RCx4 DXoY0V!4^^j2~7r#I-D4 zoS&j49}l3%u#8HppI4$%_IW;ru@3d=*7{-fC_dviQ=xc;;;KTu@*EyU>-J5Vp2gj2 zCC{&&Ms+ ~)$SWEh^Ln~X=H?);ZZ|>;Gq3BC!gYk!Ca*UmuR!iFuYYB;r6HKt#}Ptx30`{0 z)&=f7jmZ}4Hp #n!1Uok;{U17bGlyR&|@O+_^`>pF&;+?qJCcd?4Hn478Kj7M9 z-P^>wb^U5~FszOv0f2JOzqGl&b^V$NlGtwlk6Sr58JRe+Xlo|34`8C-JJzq7sMm2% z+MBK@T6<=)Q;b+6?m#a1=|!A5Fhzd{j39|dxTshutLnHQRAyzoi^{4pplpf&Yj^f& zlb-{eVw|6!vt8#9bmbWJT3M!7w>m%N4n!jq<8%M5n!Yg0uLx;{Hi#9u26`l pppT&?Qj(@nghy9+fe;_G#a`r_>OLIx7mj0dr7 zDH O#@Uwid)8$@TdG zaaf2vFytgR2=TmtxKW6Y3W%G8_(<1wkWfV@|Gki^(|<6eY6JM`JTYJm=hCXx>~u+~ zC{hu*YOO6*>#~Y?nyUfKj;eFl9TEf{lhMMMBx$p}yn?8$Ixj#NvIq~j2CV{Rjq#j_ ztWmCad7DL4t@FmcXR%@}sk(GO?rg(qwsyjqfT$DWp$U`aYF#Ha<%l@^rqy}IKudzC z)wyIM#5G)dRt3iGTutMFD@D8BDYFuV$RiUP5yZ_x #YT~+^T2GSI)tYOntbR&8U2?oBRozUXGBf*74am8jat`MobN2w zn 5=>opEib=Sdg&Xd&{ z`&dXF6@-t5)G?vn7gEQC`cENst581@Qgt7HZ%EazD16uzIMy&kf3Kr)!B`d7UguEK zx$2g8mMcaKe7a~Z#DxyY?kS2W2f%b`R+3DuIhbVX_VnvXrfyf>7rMPPwaY#wsi{5p z$w{Ve?N3TFbwA0IPLj`lq^YgEAke7l({DQSVg3wLXFklIVQSbge}<_uALh?6b>_qT z8K%yBm_NhRng6w9R&?f{=voQSW2jd0Y}ZOi!|@NHKOv&?^Z>`rb3!`K;Rt<2NJrrc zork+jf%CMZ0y*Cq!UY6HyVO~3x1%dv-DVrE3vx_61ud$5h%+S(cS3 ze&H3FKkJ z9Csa%K7gvM@xJ3`13x^3 O)HiDMP-9brq?_(~TiBb*zYVG|0=#hH_ >fssazP`lql_*{|CAI2BW z{ofmKOx6Fr5!ZSA- &CxK{kB z`^`uVYh3mX937-#qsgi;KJ$%cXr`_qNs?R&XH C1WST7s#8_C3v227_6+Cut z+4v3nESqJGH9i0LW?Z5Qb5z0E;gGTss}fd+VG)w>e^>E3od0_W*QM+fEC{3Uwu`k5 z4Bs{ePuS(OIE =Fu@$>Gfy4whqXI$$FDluxL9l~^x%MaG z9CbNJ11cxR7Qf9oLkhGKJ2CV^j6uxyQ}hZJBUAJ$Ry|X6e#|{ZAI9o_ioOA-uu}Am z*rZO;H(>?R&ktL ^AZnVRuS?6LzC) z{UO@GohX+*1P5r^mW{XoNBV3G?nZq)Rcz-zjyi@_Gn=F(BM88W%`(U^R$#3Y$*_+F zJu7ENkT%|LFHtAj=vdu_Z_Ig`vy<>Eeh{raJHw$7J5+YbgOehDG-HRnMEHm#hp)1E zQ+TI?l8=$brscujbCMh)J;oWWk)VS%?=I+zO&1xcPp4VL`l2gsjYTb-GqA5`88WZH zsK*v}W_X0_x?1w}a0odz&cfZ9W)bbJCF7`tqYQDGO>dXCIDekx5NcVe%%FpFrZzaD zx!CMuMb;-&KId{w;_VB1d#8!PGRUce9K^_)VO4O{Bg3kqDl)7gY=dT4!&v_+ +P^DC~26zx_&sk;#C#$o}Dt53-#d{GdQy1^a zSuU+Tvs}EQi_f@}l60WInPU=@4={*-tT#ogG_mPi>KAZANfqih(k#O9R+PZ0d--%5 zXkjQVr9!Yl+^bA7Dj1SWIYMWvoqB7INfV~ZkV+Hp6+|vw#WyLiM9Ig*- FRey*3=*a4`XkrP!OQ#>HCga*2fI`Op2RF-BNK<2Px85?3tj zN=4NN@~BkbkJ2oHJ)8g=ZR5SCQclss3fdboJi^^o&MEZ@Zza)|=wxH7RK>I7%0+Q2 zCK0cUD_1jdBq-_!s_4mgcFd#LZ_cv`dw01=v^H+NMh(#c4 ed_6vam#8}U&l)hg`G znpB0opU7+S8eYcUA!YAJ@@$sxCv)v#sEB%hmz5#dn>A?&_I^BP?@+f|d@N_su(J2w zJe&4@B4_U~Caan99frMGlZIjM$MTxhyhCkJ_I@~L?*`Q#KAy98L-AX=R5!rhtVtVS z??>~RT*%C{hmFeKd-80S@5gfXZp5kfO!;nvy;+ks!ruGxnpG^cX6)Uh?ESxaHtqdr z&fZNp37oNa6YR~Jv {Q zRa}`5#&x 9nOB8FJQeVECV`UKJCow52jE{3OezrN7Kr zI*gZ!)0T2f$XUZ7;TKuGDsD=oEtLV`p)8k{{!hlz4S4V&Z7D~CoHZN_exB8<#tU+` zealer-x*6cs*&p#8A~_fS>m*%90zjNa2W8u1{?UrMnnZUpOHb}#~DjEDNEyJV&nUp z{4YubDRKnJS;GM!nwi*g+XPE 2%<@bz*E4g*io1fwY4BkfMe%EJ02hlsp3FEg#RtUJ-cIh6nj z51DrL2l-YeIYjdI^oS%nc(Ni4i|_(!w|#L%iZq_HS|;&+J6xf{BdDT@PAZtTTLxNi zv_0ckm3Vu`v8uuGWLWN4Lxq1lIbaRrRpn&Pq$=attu}sG^&`;^j7e`8omw(y9POgr zC94D1^iNlNHV(rxGv*Itt9CAz)-aZ`lR1+Ca#xPYI=d=eXB*HVC3D8nF=IXl$Bg+K zkh6^W8<4X-xwM8$izK>QWI&B)%$CWVMeC)e{5PW0Oy-QEX~ujGrWx}&mS)V~h@9=t zr8SJ@l)z(^eX=F?*d&K};?roJ?~4xJ-Lrf9YV2S!Od>Z=O44~DGbPV^nJGH2XNDsX zUO PiE=m*g=?y*g M=(fkfU_Vk^r?F9Z^fxd&<#~;w7RZ(Md%|!bwF( z!bwF(!bwF(!eMk2^y2)QMHhcbXE&5%vbTF$I6hfTYzGA+uVtW~{7*AsGUQklJcyLh zs^VRw3~LCN cypoj6nRI&99FsZQlFk{o*OIAm4LM^zJHCwh?D;b0v+LWCOKTW! zJtcD{ou79@jlr`iV(I-hr*k$GZ}m8>!JPT*05j&Z2h5nyE^s)VGxmX*1}B}Mcm2%I zne>92(m5NBH-${j*bipRXGfSZpFLs5e0GIH>721Ij7~j?88QX@U`lIJjaK{&hKzse zoSD|bd#u56G6Ob<{ir0PQhYdCn!+b)x)<>xz6xrh)1&-=jpouFqSK>}i_@dQA}Bam zv$LpYWw}Isbl90YU7Xa9QL#>EQGX@NCF*%4RIQ8SZ80j=<}B)&SuRl@RYKLexFrzu z2&1j8h5SaEMZD L^Y zP2oUn^w8Or@NnQw@Vt*u(@UwNc*J{a8IL@iQV%*b>hOHB0Pf5&iP#Mryw$`h`k=ZM zgD2tz^Q&1dK_3XK+v#GJxMZjU^{%R#oC}kfLuEr16P{TrOPu2rGyf>VBjAh5Wl24} zJX69$UCXHVnhcM4Z!F_c58ZzW4^<<0@u5hmYneL4haxqvbSP5SwE*rYmoFQFApTal z2o+O(nMZm_Is8sY7Or6aTc)lB^c$JFt`^soZE>L9&11i=1+!W u9PsK4k9c>M@u-IZv4n@x7rfVJc*NuDOHu*rOleRL7m-Tt z!Wt96?Kvh9f3sYKN)sQcNc**5ekIE#=+`rKJ%qiPlA)|I0rf7Do7@SLn3b}jiiuBg zmC6!zCWwES;Suo0a#>OjmkxrVot@Gs7!_PgN;0Z=jW@{{D*idjZM`M;wp1+O-Q!oe zwM-hfF@iKq9H9xuK|FD&AqV47%CRbODCJnyIFxd%p*WOstYOqfSdTDcbZoMAiOSiw z9FsX~m2;*vaWSuyGl3k$&Cm?1f_oZlVFw=Beu}dsWD;@M zWiDW19#t|C5AX@%6&W4@`HHz72n`_h{Bv7|-Ws2jyIa?m@f44EzhA~94-QhYZ_3 C^@9V1`G$Ys>ag4-fg<_G!|=MXfP8j`5frlZd}oZZb-<@b1_d$kCB;)ds)feBEae z?(43*^;obw%r6G}##C*aLOYz{5$?HBezhLDzY<=1QseE<@Q8P)j7L2 0fwegOw9teuv?S{m#PX%@lmDuY1_GpbT$v};Z2tgg)P2sfXo zT UiuhgdhZP*h9|lOp tD$+33*-_QfXpks03M?Y 2KG@g)S67tu}kV+HJS(hML z$O3t0j!DQzl_8ZTme@*=tO0@a=4Q536qAtN+$>;XZdQV1^$6snb4)@$Az>vo{oBws zE!2QOZZ1Qz24tWAnPo`D#C5Wgl`Lcl+8&={(#ofnA(bW`fhj? PYK;PKHOkKS<(L@CEx);UOKVj_Wf#;ypi!SH)LHN`*H$y+hSS zG&-|{$Rb)aI%^h2=aO;Ikit8V;SuhdvT@YIWA7 D3?^^Qh|TpS)KqqfGUn}X`SSz`5sOH}X8l921aSt6W@DpaZU zOTr$fHEx*1e0E%@nu)cR$WSs+sDimF%O$9H#@v}hUA)tfK;_D!@*eNzkkeCKqAm{u zLdgfYI9*XjWw8nB$}E?t>k_C+*FUdLYw#tQF1ii P-3Nyv-Jtw}M9FPF6@$INR|<2fcFn`KC)iSLn?%MyzMVx_k-Z?b^E3`|0L z$5H~OfAiTeIQJLGXq|>NAWT9=>ok^$b()fu?a6H#(p!2p=?RmN-Vu|4i6bV#_&$aR z1MNiCexj8e%Oha4x@UOt>Yk#{Y!|#J{;)jaMe&E>#qkH}Xas`iZ96hkmPb5q+tKG? z+c5~XsDl=u8l(5*fl(ogX#X5Ws#?pxy5VaK;u%!Cv*0r-cn>wnsA4`_va6%*x;M?D zU7sl11uZNsmB3mW%-ifTmXSrUPnE&I!t)dX*a&WHjkIP|iFv1g2xeFW^G^SGES&x+ zfpyx_4SGlKj0RZ*`&?)l(*Y|UZZsLYDW45X*)S@YmIlRd7@QC#8AJZNX3i=JSG^N; zK8pr_Hf1m`;3QJv3B06TJb#z8i>L3r_e4zM?Tcj6@Q!jBlSRAUUA7A>JkMIPiyDLY z^h=Ua!7G$Ox50v(9N8vIiqFmPXuu1?X@=3mWx*0&yP-E3qG _#1vh>s4lY?(OP6_}_PE!e`HnrPp`@(391TNqxvZ=vW7JqLefA}#WW z=e p_BoZ9`LhyHZ4Aq1FqtY)C{m3GWkrNP2ex(fQN94C<30)Wi01#OJ(fX z$uhR=av2+z+zBX^v11dsRK}KFE@Q)zqxq#WcI;#sTXwmO4NGoBmde<%lVxn#DC5xK z8ko!5&Nbf0uuOu+`xu6aeT=Ac1*GX*7cx8oULTGp9RflRAMY;Xna }I;L~I zBY_8=e>lhL*v|DCiSkfPS~wQ>gh)+wu3t=O+0Hdu4^a8CoolonV442oTjJ;)BxX9- zXkvtZNi%6>G%>Qwcw!_B)49ew7z&b1LdH87hKU`FxO0Ues{7 3I#4h@)}ms+l-H zS}sM~xq3HsETrvRy{lmX(|;*YcRfhVbgpAjdZQi9q?MDAm4=BgBZO8ehUr}6{YT3r zWW4`qnAm@eJ69NDJ6G==8J7nex&Buva@D%nx{4fslG(GJYso(yo5q&=K%-suPopWF zYso(yo51BhPy_Qae8ytwTuc6GfMqYX jboX^}^~*M~i!(Ziw6phHk}+Y{Du zOd?K%eT>yaWK)K;Jz=y z6E>psER$BwL{=ImK4}nIsTkw< z&>Ta;XXTiL+?s-fCVHKqClo7fPw2f0#-7mQ5;Qt2=D5Wlg j7YkC49`_gtcfeeW`!=?QPk@QC-i1Ri6;C`M~> zl5Ts#xI?f^BE}tpVWL9_`xr88Pq;D1B;?bhKE`PJuZink1em5L^sZ)vOhS5BGXf^A zW`tI%X|w4Gqh(z5OGuAQLPpEDmWePa?g^n~d%|yLxdi=w7!wL8b+MEm_bbf1jR{N6 zWG115%Gi=KS$5f(3`=^#k~29r4K8(i4`-*s%#*Dr3t=83ztG-h@XrrWzeJo=1}~$0TSp3A4<25=I7`yxJa7 zn9->$k4w<#RF>nSs|>o>@g~~B_=xPec{kzNomd_by_@hp4<{F*j0>J@MtB#id?j&S z?_yQJjJMs48REG6(& g!WsvMIQejp9G0neHzA;mSX%rOZ$pN8Cs z3l~X9amp)lOhWEYLvF%_nk1yWdN`M364HB6&u^ET@t|H3Ql1_3Ub6GGwy1H+d&w?f z`p=U44E^rk)51a3R5`e`vlb4jj*F8H!BA~E;z3)oT%tZJgId9Hgfyx+(dI0dsL#xx zR&i({jVgY$Da$45Gcu?{m|Uhg#T@xkUB87#Y;bFaotSs(90eESIPkW^CPn&FnO) zIMi^KOVkT8s2k%`owf~#PYq>I<;nA>Wl%R^`7&**xK%aFrL9{ssGISsR2o%0tCHms zb#n%F3y#huQL8dEWxN1fqGr6H%2PpURPn8h7gS|<%6LJQM~c#@;#(OnsLBYH@q#MP zBc)Nrw=!N(l|d@w1yvqqN~4NzWxSv&<5b2As>3-isETi8ya3!DUQpeT^Mb1QR>lj! zC2GbCsvC1&P!-?GcmcRX&3Hj|6TBdd%-Re?+H$7Fdn{1(Nrp#6@3BCihsOfL;Y#aB z^M7`ZNks24X&;d<@FyXq?RRrbLS7M#)7lt5+@FM$h98|1AJ kecojE40^xnGi3wm>W+u5Wg z m_Zd^8qA;$m*&c*#KoJQ zkU V5S+K;4KdsA*L3smEoxMD-r&4Nx}~AIRv5 zTRk?*C93yOZh*QOkL{;z70>$BESIR>W3>V5mf|1MdO9-8c!7@0GG2hl%zNR{PY a zM $%*3 Fat_wH8J#AdR%>avkt;n+pJdgvf;7nTv zSX^v*o=xDjIp8X;p=N-^%a-NY1n$oP4;8oPG{w>S@@xXH$pH`J^9dP?#n(>AvkAO9 z2fP7aF~|UmyA^phfmh{#H)8&s0Tz$@Wu8sol{w%|xR##*7N`54Je$BPa=@GMNq`Kn z_}wq^YyvOO0dK)w>NK#9>~apGL%W=VAhydnhz{;@4x*#GoP!{|%Q=XS?{W^J1H7Dr zAi~Qz2!c2UjyVU>F<#C=5ai_?1aTaJa}J`zyqtp|&dWK74)k&kq9eVWgCNw)If#z+ zat@+{y_|y}+RHhJ4)<~nqT{`sgCO90c@*%e0i;&%s1lBs&McG85igw?CYH{^fX^@_ z;CpJ8OVAC`P-k^ zqQ>(x%Pq~%3`d5acz))%M2+WXmRp*i8IFuS@%+qji5kz(EVnd2GaMOs;`y255;dNm zSuW;h;jm*kI^cUa&n9kPG@dzaeC;L!EdKSgJe$BL Jp*)+w-nZz~+KesZVZ3;n0Ty5T?>w8pzsOm<0Uwgi z0E@f*IL{{V&vU>V@!jVPuz1{$@@xV>oCDs3&opO%#p!;SXA}5mIpEFss&WQc{O$*N zHi3Vd1Kxu7Ez`g{;LACP4)}5of`BjQAUfd7IfxGUat?xkFXtdS;LACP4)}5of`BjQ zAUfd7IfxGUat?xkFXtdS;LACP4)}5of`BjQAUfd7IfxGUat?xkFXtdS;LACP4)}5o zf`BjQAUfd7IfxGUat?xk&-?7S>YoN%6`YEb*z8EOFKc*ojjx6WkMVAt(!;u6xR)z* z88yC?;SulOl6aLOx?rc%k-_4NNj%xz`AQP6T0~DqYdjevzL3O|eVu ++NS|FcOv z*%UpJ#M^}9qbd8O+y6|4NBh2%#M_KZRVh5_?W1Qqwe7N~_QfRLmiRuY*3t3Ro1)p0 zZtSub`nG6;)iC47L=2?($Q#p;GI9B fl z&^M$Z#Z~S~Lk?k?IccRh%j oF7w(P zlUDv^8ge66my?j -0vZ%jjO#v^A*E5&!BXZ=j0 z73aA#4Y>u++NB_MjFfKbIzmb}b;L*Mrmmx-bW_){QM#!kGK%g<>%8f>DBaX`RFrP& zh>6loT}MRermo|mbW=w( K38kAl;-GX>*HKWqsp}Xh-P92QrJK5r zf6`4|M?dMNj@TzYXfI7&M?UGMuH&9`Q%BU3Zt7L>o^(?OlMb0~>ebD;rY_!dd)g1g zd)|=rp6V8?ex R=Kw-PDIFXzJmJTk#^uIN~!r z0>%-a=9MBop^Jra#AkTKiz7bGD@A-lm!UC^_zaJDam1&2rHD`H5<$ihpWzWNj`%dM z6!8gN2E{nyGd$wO5ufIjB0izZh!{tFhDW?O;?ulR#3yta4W=@Q4>je41B^_=GNF zVI1)p9`WLcPxDF JamQeor7=)5#8cui&@u@b zkAa3+8Ur;$oFyIuEt8P(7-*QKF;FwaU*a*)G6@-vfreQc12scjCLRMVlaTQkXqcrj zP&349;xW)N2^o)phFKZ|H6uL+S|%amG0-qeW1wcF$3V*@WIP5MW@!u*hK?Z9O 86edG7k4NWO@v=Oj?<4>WCoYa8GNA_oSP;jv&)b9T8+4?rBKzo^(^!5oEflBZ7>> zJq;<|lWyudf=oAcM38Z~ry<3A(oJ1Qkm;t52r>@$G^BV>x~c03GTqb>LB`>ph7|9K z!#&H)H+4ji@yteRiTA|eo@M5nIwHt8+|yd(J+DfRB2|eXUmrz~Ml*g81>YLrDxHoX z)4jTmAk$495oEfl>j*O4)O7@zZt932FNj9fsuw}V5uf3)B;$xr^GXq)(8a&wh|lnd z7e{=WSBm(AF3ufCe1=E7IO5a1Qp6{8@$5L_Gd$wO5ufIjB0iyuTgMTf;Sn#6_%yE+ z@d;ggI*#}Zk9cv!r+KA_Pw3*%al~hM#ET<7%_~KGLKkn2BR<0;UL5ghUMb=ey0~&2 z@fjZR;)qZ4;%Ab^g)V;l$z)p>H~!}+g4B9AS`kK&Le~*wJO)}OEsV!N!z_(~nvos@ zEt8OO$6%PHjzKfhW1wXcGVT}*vor>3MtTgiOhU$EpkbEAK+Q;xftE?gcnmbm(io^2 z=`qkU2^o)phFKZ|H6uL+S|%amG0-qeW1wcF$3V*@WE}1pW@!x6jPw|2nS_kPJ;N-G zftryX11*z~@fc{Br7=(#I)aSHK+7a#x~U_AjK@H&CEgQ{ftE?gbW=wJ8HamXOS~rz z_bii;>86edG7k5&mUvGb?pY=w(@h-_WE}2kE%BZ>+_OwVrkgq<$T-~7TH-x%xM!J! zOgD8zka4)DwZwbkaL+OcnQrQcAmeaPYl-*7;htp@GTqb>LB`>p))McD!#&F+WV)#% zf{fn3(*qBJM4pelEjfzl2=aAN1gX>85 WFmKD=FWI#?!ACvFo5I?0w$t@xN9ORDq=>AAm-gQA~_0p1rx3dm|Yb`kbU3& zzN)VNLY?PY?sKkj;}E4 zS;wc$IX>AgVQn2>VbrsZPnmOkvRz`@I=;fFXC0q1=lEp11hjR0g;CEsK4s4F$##im z>-Y+zo^^c6oa2-263W)`6-GVl_>{r%E$>0fc8TLRCX9OTFb-1d;Un~=gOu&+AZ-q; zkcu`37U*)If;b0ONJ%>|6zB#91#u3nkdk&_DA46V1#u3nkdihB7U*)If;b0ONJ*Om z3v@Y9L7W3Cq@>M(1-cxlAkKjmQqtzY0$mPN5a+-ODQR *)Ir)DSRp0jt_}xjbD-9e=&?DlLQ2M69S+jkJ*_3tW9?prl#IJN z9Hg~-T1%qG+Pw-X8FzI!NNe}BmPC)WdlgbL?&@%m*6wL7i5_eBDx_rG)!`tm-P2kU zJ=X43NXfXX!$DfRr?n({tlg`Sl5tmugS2)}Yf1E2yH_D4 ?)vC)*{st>Y_ RHF9%sD>UE-`H#Ut!d qq%Ha5x4pO#D7JNg(sP}f`AhjMA3tT!#*{%-K=D-T6XmenJE(a=zb6|y( zv;#wdZeUOl=fDanX$OV^T@F+b=fDanX>(wKE(a=zb6|y(v^lUqmje~VIj}-X+8kJ* z%Yh2w99SVGZ4NBZ On*+6$M32pZ6;d+p>Tr =&^RMLQ2M69S+jk zJ*_3tW9?prl#IJN9Hg~-T1%oQ?&|s;WZc!^Ak8|Or&Us-=S5)_Q3v_M#zB^vcJ(-w zR0kP%b#;(&SBHa)ySh5axT~v!jJrA< oa2-265rPG6-GVl z_>?)vC)*{st>Y_ RHF9%sD>UE-`H# zUt!d qq%Ha5x z4pO#D9NQT?3!~oKjDu8$)ti?NQnssuv^lUsD%u=apv!>@;v85ZCGEgapc@zz#5u4+ zO4@;;K$im*#5u4+O4=M)pv!>@;v85ZC2bBY(B(h{aSp7Ik~Rkx=yITfI0sfpNt*); zbU9E#oC7PQq|Jc^x*Vt=&VdzD(&oSdT@F+b=fDanX>(wKE(Z!w2WfL)g_MlDIvk|U zfm%zV$L7EaDH(TlI7n;vw3bAVwR;s(GVbbdkk;;LEr}j$_bQ}h+|}VAt=-dF5 JbQu2q4gVg;U*d;Pg3s46ccXf4;aaV_fjJvuz z$hfPkgN(a69ORzKxVw#mw2rSZ9=3IS%ADhq?GoSC@fAir>-dy8$0yq*xUJ(WjC$7b zDRYibwo7DN$5$Bjtm9MW9G`5Lu(pn`FzQ*yr_4D%*)B0{9baM8vyM-hb9}O00@^yh z!l-8*pEBq8WV=MOb$o?U&pJM3&hg2131#c}3ZtHNe9GYXmJU+3OBQ@x!l?IF;~=%( z@U (wKE(a=zb6|y(v^lUqmje~VIj}-X+8kJ*%Yh2w z99SVGZ4NBZ 7iqQ~033Mm IyE+`? zuF0x -dy8$0yq*zOCacjC$7bDRYibwo7nZ$5$Bjtm9MW9G`5L$hMBJ zFzQ*yr_4D%*)Cyi9baM8vyM-hb9}O0V%j>s!l-8*pEBq8WV-~kb$o?U&pJM3&hg21 ziDv8g3ZtHNe9D~TlkF19*6|faJ?r?C!SO8}q->Wser>|2_ZH(IwchYGCW>XdI!K!X zE2N^$fd#r8s36XP6;jd;3 OYxlI4 zM31$56;d+p>Tr RHF9%sD>UE|F~=Ut!d qq%ADhq?Gnw_@fAir>-dy8$0yq* zl|{jC$7bDTCu%I!M_rar}n~qu!g1gVcIhFK`*fvRxgd&4CqC(dNJcT@F+b=fDan zX$OV^-N2wA&VdzD(hdv-x*Vt=&VdzD(&oSdT@F+b=fDanX>(wKE(a=zb6|y(v^lUq zmje~VIj}-X+8kJ*%Yh2w99SVGZ4NBZ =&^RMLQ2M69S+jkJ*_3tW9?prl#IJN9Hg~-T1%qG+Pw-X8FzI!NNe}B zmPC)WdlgbL?&@%m*6wL7i5_eBDx_rG)!`tm-P2kUJ -dy8 z$0yq*xUJ(WjC$7bDRYibwo7DN$5$Bjtm9MW9G`5Lu(pn`FzQ*yr_4D%*)B0{9baM8 zvyM-hb9}O00@^yh!l-8*pEBq8WV=MOb$o?U&pJM3&hg2131#c}3ZtHNe9GYXmJU+3 zOB}x@Vbpt*agbVXcz}sw*{%-K=D-T6XmenJE(a=zb6|y(v;#wdZeUOl=fDanX$OV^ zT@F+b=fDanX>(wKE(a=zb6|y(v^lUqmje~VIj}-X+8kJ*%Yh2w99SVGZ4NBZ OYxlI4 zM31$56;d+p>Tr LBB; zt`0Kp>Tr;@tB*3{yUcrT*W9R(=hCjZQJ`CMLxIG&n}k^xQ<&yGcatzH^ph~_y!6v# zOLkU1-Jh&YV`t?n(9O!HKw{iZ(^4T1+)mR{pqr*efyDUBOn0b|lJ>jZ0^N7J3M9tu zha44B(tgNMp!<+RfyB6dv#&x*+Bf?ObZ_=4kQld*dMl))ebif^d(^8yV%*;QtB{iR z-d}<4-k$=Aacc%Eq@*>21;Pw2SH@JJ2J>+#rRY=4dYiQ_)^LthC4wHCQmQ^VQ5~^> zbF3 XQ=H6;^MKRV9udol>fPL!!FI(#^4|gwmr@O4TPOsvE4^9IHw+Ju; ` zRU+%5DW&RT64is@`f)wApGg#eQZ -w@IQv=O$000A@6a0$txGi2|LTJc$DM(Ig6ViJK$} zbcXUI3Sdc-D9}}Ik|@w+ZjvZ~D@~$67rIHJK;N!Rq5#G;ivo$Qha@o~a~wZ9jxDTq zbG^8pn$si-)SV_#0DGE5f%?-V3e=z`Q2>Yf3D!8t#OmTuot-R@@#^fPLT@Jp$Qa=4 zWPy})c2c3YlL92UIy+e)C7qpA= !Id3-wu4iA0mjqLotBWzj-?7F8kv z<+5m{RCQUjP@hGWNKCmbS}9ds7A@3gQ6&;qE{j%5RhLBz^;uL&l0_?}s>`B<`Yb9$ z9jeQsl~Of{0ytEcMYW#9RuTp3P?IQtLv>zKRVB8PC{Tx*L;)PC^OCA6v6V!DI@BZz z;82~HR8@(sBns4_CQ$%~>b#_?N^B)jpbj;O0ytFXB~?{oD~SSis7VySp*k p*kriDz_jv8du|S?xXD1bUJ1IcM0B0u)q@=Tx3cZ~aAOnE2 zlLb=J*-3@oP709dcXqNsN;*5K(A!A?68g?g7D!2FClz`-DL~@h*~tPa>FlIJZzlyv z&^tR>ASIohROs!b0Eu{KCkv#cvy%$FofIJ9?(AfNlyr7dp?iL(y;)-2KGdj?lJ=oS zfq1B49IEU~9jeQsl~UAY(L#L|Rgz@UN~!9`k3#+Up(M$ol~UD>ABFlXswByxl~UDZ z(L#L|Rgz@UN~!9yXrVrfDoL_vrBroUv{0W#l_XiTQmVQvTBy&WN|G#EDOFt-E!1aG zB}o>ol&a247V5L8k|c{(N>!Id3-wu4h&oi4MJuIh5(RLmE{keCi7l5!E2U}@1#qa& zOKLrdE$1aGrD_rdaH!5pYCVZ9=OrtpY7zx-sLo4jJ&7&nB`c+B5(RLm&P!@Ni7n?P zE2U}@1#qa&OKLrdE$1aGrD_rdaH!5pYCVZ9=OrtpY7zx-sLo4jJ&7&nB`c+B5(RLm z&P!@NiLI}X^N%{zM_Pwk>JCF(PaSF!1?o_fD1bvvqCg#L5(Vl|lPG{gy`goeGGn|r zRA(m( XD1c9cVtEZ66^LInF=Xs-;pU0@5mU3Dw66@T^6mBqArUT>a(bl zB#Tx`RX2VV>c a(blB#Tx`RhLBz^;uL&l0_?} zs>`B<`Yfs>$)c4~)n(B_eHK-cWYJ2g>au8|K8q?zvS_7Lby>7fpGB1 xhz^KRg)-yLv>zK>q%@mFIg#7lPG{gbzV~INo+YU zSt(VMD1bwCUQ+8xY&kDkDOHmwfJ1d&QtL@zK>q%@mFIg#7lPG{g zbzV~INo+YUSt(VMD1bwCUQ+8xY&kDkDOHmwfJ1d&QtL@ QEnH9crmNd@Qb~ z4mF7ab*M=cz@a8lpbj;O0(GcK6u_b0z 0(gdoiLu$KQmu`Xg&0{<(DL~ zUE<%ab6yzr>^kSl(9a@0iF~{2rPPu4PwlFg%Fx3iJ&Ad{29nfSPwybvHIS6KHIQVx zM7y04zc3!Joe^J|n-O2OOPt&JQ46D #_aOH|u0=?bHs{gO_Z`;tz!OFY{z=?bHs{gO@@zNA~eO)lHjg4(xW zDx{))3#LH#7K{Rk5&ITQg_N|9EedpxEfh$Y*x#8IQqum;EYSVVR3MRJe`i)mN&7pq zK=(USfdq^Fomn9z?eEM2-S12V5-;|5W`&frzcUMTzcUp`$k^YR6;jgv&MeUV&Qu^# zV}EB>NJ;xUvq1MdQ-K7I{he7MCGGFb0^RRS1rj^ l@w7)Y8biXqNsL71GIv^$E zt`3WNk1!zhJ<_ qGjutHWP@aV#m(6L)oeLLYZ^n9IAzk`g^}SJ%h$aaV`4yjv_O z(Gz!deKsF=b=b;-SW==V?&|trKJM!9l>4!yL{Hq+^{IT^)nO>@{8`$GBzoemu8-v7 zt`0Y8Csa^LiJrKt>l>qSSBI6fU)ZUnM323tQX#v#y`@s1yQLyPZDicl)kVf#9VRmF z>gplmuC5j`?&@%mcQ=k|Y#gL@e1-9_t>aVX9G`5L>}VZdVbrsZPnmOkvR#7PI=;fF zXC0q1=lEp1M7DK&g;CEsK4s4F$#w~A>-Y+zo^^c6oa2-264Tc46-GVl_>?)vC)*{U zt>Y_ RHF9%*~x3+a-?e+zEwI&(58o z409(e9i(hm2WfL)g;caTut1js6-bQOfuTZ5+JT`!H!vuOb6|y(v;#wdE(a=zb6|y( zv^lUqmje~VIj}-X+8kJ*%Yh2w99SVGZ4NBZ Y?sKkj;}E4 zS;wc$IX>AgVQn2>VbrsZPnmOkvRz`@I=;fFXC0q1=lEp11hjR0g;CEsK4s4F$##im z>-Y+zo^^c6oa2-263W)`6-GVl_>{TXvSho&v7IfeFzVUavXo)AtfhmL?dl+H4y=%h zHU}2ya-f1Z2UbW)J1`XJ1_lLj4y=%pc3>#b sfdbS)+8kIRCF8CR2WfMl){^M4Ij}-X#$6o_(%L<(CDCK;UWJs5yE+`C zwR>7iqQ~033Mm LBB;t`0Kp>Tr+;#zC$d2WcH&VLWW>_>?)vC)*{y zt>Y_ RHF9%sD>UE@5pQUt!d qq%ADhq?Gnn?@fAir z>-dzp`B7!N#Ic (wKE(a=zb6|y(v^lUqmje~VIj}-X+8kJ*%Yg#aLE0QxAtmFk z4hLy-pw^P;u{p3pO2%Cs4$|5^ttHW8?OuhHjJrA OYxlI4 zM31$56;d+p>Tr pvxwe -Y-enY4~inR9%yUE Y?o-Zj;}E4S;wc$IX>Agp==#rVbrsZPnnw$U$#pe+Zpi-qn@1+ zUm0e^Uph$Ht`5@XzzV5ob6|lk2P%kjV1<;l14DssU{Da}zzQj82ZjP&4pb25zzQj8 zb6|lk2P%kjV1<;lIj}&N0~N$MutG}O99W>sfePXrSRo~C4lK~+Km~CQtdNp62NvjZ zpn^CDR!B*k0}FIHP(hpnE2N~&fd#r8C_o*g&4CqCGVbbdkTwTuEr}kR11qFt+|}VA zt=-dF5 7iqQ~033Mm qq z%ADhq?Go13@fAir>-dy8$0yq*rmf>EjC$7bDRYibwo5=;$5$Bjtm9MW9G`5LXts{8 zFzQ*yr_4D%*)E}M9baM8vyM-hTLVe9OB~xZkP4%oT?0uO)<9Z1NZGCq(&oSlsc3Ux zfi4Fsh;v|tl(Yjwfo@<>5a+-ODQO3W0$mPN5a+-ODQR @;v85ZC2bBY(B(h{aSp7Ik~Rkx=yITfI0sfpNt*);bU9E#oC7PQ zq|Jc^x*RA#9i+{H6;d+p>Tr-Y2Wl;e9-9Lzq-5OH;UKNu(^?We*6vkE$+)Y-L0Y?~ zwIq71-K&t2aaV_fw02KxN%UB|S0N?it_}xj?Vi?>=&^RMLQ2M69S+jkJ*_3tW9?pr zl#IJN9Hg~-T1%qG+Pw-X8FzI!NNe}BmPC)WdlgbL?&@%mb}=NaCDHSOFpH>zw2L8? znr<;90qP**uC5L;?&@%maaUId8FzJcka1UsgWNR^a<_4i*6|g_Gie>4GUxbYyTrG3 ze1%cZIzDC2@yT`xZtM68qn>qq%ADhq?GoA6@fAir>-dy8$0yq*tgYiKjC$7bDRYib zwo6P~$5$Bjtm9MW9G`5LfVPgWFzQ*yr_4D%*)Gv+9baM8vyM-hb9}O0LfJaL!l-8* zpE9@VrEHftwyRziMm@Xgr82B~xpa`ST^*#&ffZ8G=D-474pb25zzQj82ZjROz@Q+` zffZ8H4h#jl9H=19ffZ8H=D-474pb25zzQj8b6|lk2P%kjV1<;lIj}&N0~N$MutG}O z99W>sfePXrSRo~C4lK~+Km~CQtdNp62NvjZpn^CDR!B*k0}FIHP=Go}n*%GPWZc!^ zAZ-rRS`s}r2UbYQxU0iKTDzyUBzmmftB{g$SBHbNc28?b^jN!BAtmFk4hL!Np4O7+ zv39RQO2%Cs4$|5^ttHW8?OuhHjJrA OYxlI4M31$56;d+p z>Tr gpilt_}yeH4bvGagf&W6~;4Z9iKAi_+-1pw{?7lQO`O)WzO-*b_s6l_zI(* zb$rU4
Y?pwx zj;}E4S;wc$IX>Ag(QF-GVbrsZPnmOkvRy*iI=;fFXC0q1x6Zk2mpHcToEJttyUw{X ztaH9}kg{DJq|Jd9QqktX0$mPN5a+-ODQO3W0^Pu%AkKjmQqm3#1-cxlAkKjmQqtzY z0$mPN5a+-ODQR @;v85ZC2bBY(B(h{ zaSp7Ik~Rkx=yITfI0sfpNt*);bU9FfI!K!XE2L!H)!`s*4%Au_JvIkcNXfXX!$DfR zr?n({tlg`Sl5tmugS2)}Yf1E2yH_D4 4GUxbYyTrG3e1%cZIzDC2@yT`xZtM68qn>qq%ADhq?GoA6@fAir>-dy8 z$0yq*tgYiKjC$7bDRYibwo6P~$5$Bjtm9MW9G`5LfVPgWFzQ*yr_4D%*)Gv+9baM8 zvyM-hb9}O0LfJaL!l-8*pE5YU<$RyAUE=sP38UVd%>1TWZ+L)-ec7%K(&oSlsc3Ux zfi4Fsh;v|tl(Yjwfo@<>5a+-ODQO3W0$mPN5a+-ODQR @;v85ZC2bBY(B(h{aSp7Ik~Rkx=yITfI0sfpNt*);bU9E#oC7PQ zq|Jc^x*RA#9i+{H6;d+p>Tr-Y2Wl;e9-9Lzq-5OH;UKNu(^?We*6vkE$+)Y-L0Y?~ zwIq71-K&t2aaV_fw02KxN%UB|S0N?it_}xj?Vi?>=&^RMLQ2M69S+jkJ*_3tW9?pr zl#IJN9Hg~-T1%qG+Pw-X8FzI!NNe}BmPC)WdlgbL?&@%mUl=9|n8XW@dff1R8KmU* zUw8B2!Z2Jh44-o1*j1NL>;4XgF9>U?gN(bnI>@-I!$HPfT^(fH)zv}9T^$Z`ZL;b? z;~=f$D~yM29iKAi_+-1pw{?7lQO`O)WzO-*b_s6l_zI(*b$rU4 Y?pwxj;}E4S;wc$IX>Ag(QF-G zVbrsZPnmOkvRy*iI=;fFXC0q1IKHKWl Whz0o*Gtv6gYQ7qflLE0QxAr);7 zEYRgZ1#u3nkdk&_D9{ZI3gR4CAtmj=P@v0!3gR4CAth}NEYRgZ1#u3nkdihB7U*)I zf;b0ONJ*Om3v@Y9L7W3Cq@>M(1-cxlAkKjmQqtzY0$mPN5a+-ODQR z64p`&8FzJcka1UsgN(bnI>@-ItAmWYIvk|!>Z442E{oFGH8(2cxwLC;6zJC6 zP#`hxCSjKSjp0HBrKX>RS?6t^48EO}Pix8AG !0*P_^ zsJB8&+DE+wx<|bVB*yK%zX~a7@BJ0%?)@o{7`JAyLP}aQSRl-xSv666vxLuMQ%cb% z+cm99-QmVbJ&7Q ?s6^t(t!-B+Ro&Wl zh5EJalt?JKRlO>us$12oP`|2|5{V|as#m2{b*p+6>eseYA_3*rwyTt?Zf(0l{n~a) zB&OWjc9l}qt!-DRU)xTJgq2&{u2QPHwe1S^YuhQ2$Z~7jRZ3O2wq2oqZ95@qKa(f` zrD_rdFrc3p$Cj>XlSF|oYLi3(Jg8eOT-z$Kl|;cxGE@=;u%T{+M^%;BN}@oQwn?G@ zPSmY!r>YWLNfhYnHc1q~jJg#bRaIgui2_~VCW!+0QMbaQs!D7nQJ`zwBvAlM>Q;DE zRf(-63Ury9Bnse4-3pJYDzTMBfv$9uL;;McTj5bvCAQoOkCieC+zO9{`V}69s5wod zK;3B)1+b?{6sSK +EEKJbt&PheB^B1xS8%cCtW9Iy XD1c9dyAt0iFJF! zr9w*D8!iRnhKq5iBB{4PT^6mBqArUT>a(a4i6A$AR7zDheiZ7*4<$(!t(2;6{3z6C zQ6)(ht(2-Rix%p$sFEa$R!UWuMGN&=R7sLWE2XN-qJ{b_swByxl~UDZ(L#L|Rgz@U zN~!9yXrVrfDoL_vrBroUv{0W#l_XiTQmVQvTBy&WLe!xqQJ@Yri2^uOmqk@oV#{UG zO4-&V3gA$km(+R^Th2>XO4TF^;82~H)Or$I&P!HG)g%hwP@R|5dJXO4TF^;82~H)Or$I&P!HG)g%hwP@R|5dJ g;5JJbq^<6?!` kH>q%_6ELtg5lPG{gbzV~INo+YUSt(VMD1bwC zUQ+8xY&kDkDOHmwfJ1d&QtL@ zK>q%@mFIg#7lPG{gbzV~INo+YU zSt(VMD1bwCUQ+8xY&kDkDOHmwfJ1d&QtL@ z0vy%l<(%DIc-cAaTpm%n%KuS70snFX=0TS`fP8LW>XD1bUJ1IcI-Py?kDe3H_ zLidi$C_wV4eMhE3O4@g13dB1y#-WO&I#icME2XH*qJ{b_swByxl~UD>ABFnyLrIcF zE2XL%KMM6(R7sLWE2XN-qJ{b_swByxl~UDZ(L#L|Rgz@UN~!9yXrVrfDoL_vrBroU zv{0W#l_XiTQmVQvTBy&WN|G#EDOFt-E!1aGB@$UKi&jcimqiQpSyYHRRF_37rD_rd zaHuYeYCVZ9mqjb3Y7zx-sLo4jJ&7&nB`c+B5(RLm&P!@Ni7n?PE2U}@1#qa&OKLrd zE$1aGrD_rdaH!5pYCVZ9=OrtpY7zx-sLo4jJ&7&nB`c+B5(RLm&P!@Ni7n?PE2U}@ z1#qa&OKLrdtt1NcDSr|LaH!5ps;b1+1LORoFQ7i$I@D5k_^-I0I@BZz)S)I(0Ee1H zfjZPA3e=${Q2>Yf@y% u#wVKb0HL zK!pFL&>zN#Qg6QQ)3w$oHMJIBw?OQ~;pM|q7f)T9)E?e^jnXp8J+Ap0rC~V6+vsjS z fxpJTj(jcN!iV$w==vXAtT-`kL#@Pinu*>*B-m(l(g;#62{iO%(ZT+2a9X> zBzilrurV3oL~R?+9XoeH+VG Z8bd2HGpv=YR^v? z k7cu_&)i{)lVcR1d%Z?4Cq#2T>K1 z5nt`t%g6YTHoPohJVQV2+A!6_y%D=7(c4L)if1T}s@3HcqAFHf QZ_@AwWsog@ zL>zA`IFT&gMD-~hPGR5KO1!Oxn_YK%9jI@~AisF+rNcA#KGgq}(d|UP2>0-%*L{|% ze0rcVyr-ui$8fw~ggZIY+sO(m5#B-Da4WXq w^M`}T0&-Y>$vT(>-FMg@!P1Sf4Z9n7kn zv>!X740rQ0!NK6Wcb*jL;O$Po9}IVePZ#IqN0i}yelgfjqcfPkIvuXr&0B+$))e7h z-W{B@xd>(j^#^l!a@hmE?}#$o&G!cf)9By>xO6}D;(YHBWw@Ug=lhv1&RqhHv*vhS zd_)=U=cU1Z8XerT^T(sS9?y%8D8v2yaK4}Ec*fugo5T6v{UY4UYl2QNs|@!`73#74 zuYM8k u#%K+RYIvmrtIrBfxnX&@T20a0mBaW}Jn>@VBmZ>E$Z_WxWEF zzps;@6^0MazjfLAi-+nHC9Qlkr4;_SWrCgS4lhXRNgnw~N~wDNM0GVhzqt@6&Yj^8 z%M-^gT)O)3)HF7IcaEw1!o~nDYY%sBc3IH5N%OWLq1 $^CYWsP>1ALDtrx7W!?y zzkgCUUpR4}3+K;HdhbmsCI8BwSgDIU|Fbz$)hjO+(K}|4ns;u@SzB}X4PWb;D*5Rd zq~vFM$*CqB$ZRfkU#EEwWM}x^gp9-Yc(GF_&!NhDVlcul)!Q=V44=^6{ H_hF^s)y4TvH`KK7*9}BriGD#AE==6A8)FSIL3@Zj31RI&&hW*6 50^ROI-n))~u z^DmWB_tfF6eX|ay_N~pZLv5{(E9cLQT)NWo2X;$Pzqu1y&u-Pgz1cb2me!v=gG*U< z@U~t7>i@CnK&)645F_)CB$Y=`Dc2VB7cF}x>K>L0gCAG{ENAAvk??$2FZbQyaBkHt zBIWbfoaR9f*O&u7bE>rXjCAmi_6qQfe4LSQ6_Co8XM~VlQN^E-V@iLM39h;J@F_t} zo-GxAMvf``9f7da9zH8LUOCe${YSk56n{@}LW%-zxh>;|hcxvcRX^V06hC9)r>XD8 zdpTXFaZV6+%g{Q9ZYv#=|KgzY!fpxf`iD#}TWDZjl;weu@=6!|n{+tUZ*C5(sgL_N zUYnPzXy2y8sePwFTk8+64vt%{R#AUcw*>W{7@V1^fmaTegAR44OI~*Ho?Zd!zt8lj zRsqjrmmvmNLKy#ay>Y^fe!>TMVLbkjGmB}<0^#|vUgZy3yE2vUU{2Z@*lp=>XD&*1 zx1;^C1P}X_W)F)JxO=kf6r|J8qWX90aH`+Mbc&|_@LNIMX?#%aRfkjiAkfzO!|Q`H zqr-!$KeJnc`p*r{Ox1u*Uv@YinT#>IgMaE3p#Hy`e$gsm@LbvhIdK?fE}j@(Ybu_) z$m_1VZKk1`a&v{;<=u_>DiE{GEfeDe&Z=ZH&(SPNNXcy^35Xy5k>n}qmtUMgN}dQM zPo2PAjDh57l{}t7N}h=%Q4_ MVCqh;xhOlhI>!|M3gb!U+QZ+Q0RiaD{ZH}sMQQwx zcS}(I6=uj-XkhlJ<&dHDnrYaeJ^0IB0qTFiT$fg1_(lWqa=`KXT{ iQiyRu5kTSoWFAX|CwSaOYD zAoCCLbH^@Ud=f_36IbHd;xsP&N=hmEKbs%oi@L*wW>8-c++g^vl#Ro0rfh{9Cv!X$ z&2z`EKGb-)caGWCtD1ON)*k-6IdMyb)}G7ZIGhdkd0}qS$sDsu_X(OLwTJfxdsX3` z#c#XPUWFsN<9u_Wz!NfJJU>Qk%1fG?3v(?zC7yG0*?jW2+>N|8VU+u-=8j)e4= PA_h$f0R%Kh1wdOLV$JYyqrs1NB2wKYGGQnu!0 zL2IVEcn8MsQB?UBOvd;g%sgh*qsM8R#+NHH$hO=lxQ^#g6VJiCy99!9})=5TSBy4Bkm zzAU(CR2wl4`!Vyv=@XX@CFtW47c0QIDT$5C0sTl1nG_uEX^+NYPIW&KGN94Dwg? z%1bI4UDXLvGP wc D2sMr$iHK z;Qgxlf@a-_(fVYxdBjhnp!8}u9&KI^$D+-f;a<_^E#Alow0GfJgUx$*6(QKXkN5F{ z%?J45`5AgY{*&jU9Cz@GC)z#^pBipo;bB`;evRQK+P)b+Io!U*QwY;v@nq=o>C#_c zlTu#BH`)GL>b7&d%TZ25(x@BTlu^-*ZNmK6rgeg`O$o=g`Ki}59x7Q4=k2gYa`N0s zy*K%Y9J7s&w*gmc JHx?)WcA!s>V7=YbHw7e-Bir zy0~q$$ZS(Rj>9VZOF5?QuPsk)QyZ?_pIXF=>b6fN(dnj&LMhumnOsmjne?i>VDfA5 zUs6id|BOxo>*CR#SLI0;)qhASRsSteo$3zH4(jowi|Rk8l&b#`s7`fplQFqqBKyi5 zQ}@@i3%0_KFn O_a{3hMEsi)u7@38iW@cuf?8 zmp=o%V4@n11{0-fI2w>*G)OL($o_JUsr#GR1>3>B6W?5(bkS|T{90TvnZ@@Lf>S%y z#f#<()hkO5lW)6BuWcwBYkKWWZ4R3VPr9g@9M({(njAJ$o5N&(I0K?;x o{H94%s)HOM*!8V6Yh!;$B zO%7`)Wlav7sm);%;RTZ~Jxva4C{;}ko2kuV6X69DRg=RSN>!7?W@>Yo>!^RKw9= zqErn>15%sACe`VJiLA+CEvBx?VGXu9Y(l(XqHA(kLn&)=*i3B>n+Px1X8M6)a#%yD zYI4|2Z4R3VFPNxCgO^aMMuXQxZ4Q(D;S7jsI2ufps^MrrYIE46I$bc4H94%s)HOM* z!8V6Yh!;$BO%7`)Wlav7DRS8S*1+U0`RnZjFPZ!jdt!%E`J0!wW6qwL>*EeUq|K8r z+K=gQYCkE|p6cT!T%=74BHEAdaB6>Js6ExkorwA2-+WG{izwpTUID7N&&;g?Zc0Q= z=cN?&r*}BTpA$BHs*g8pBW+$z`7!Yg9Zv0U3ALyCxX}}7^KyvxV>_JMPY$)G`dDlv z(&pt5?I(0NwZAFUp6cU i1aQ7|~8Xb%+%{+m4#f%OUE|=x~a+uaC@q zWvY*t?;>qp4*99^qzIHh(&pt5?Z i5hq=ZHlsqo(t6i25@-oZ`<7Ps>yvFCs iZd@-xNs@&%{1>E$iAxl c{xPg lRFoj+9r3l+~&@*Uz`)sHo0@bscmv+%WdvdHeF5; zH@S0Jfa)f9E(+M(sgRdb)J^VOaEhDU*>amZmGN@QPaKmw7o6HAcedQ-PG!8DqHS{L zf>Yb%&X(KUS@w%_BHGEQGI44rqYAmrovJ-uP7yb`b6J4uCU-6h*xad*ms8YD?p$z+ zo7~xQn>&^9a>@@NlRFoj+9r3l+~!VYyquyP4~W949S?{Tx4E sGHom;1oBxv*pO0<`MseV~3Y79Gh+vxaY6R zsOg@+3d8f)#l6^zPdc{)LHwB%|1PD}{Fmh&-ns7ZZLZ!()lpRcCZ$yUXQ!%lhvrk$ zQ}?}e=JJ_y&^#1B^04{5EEp9ZJ3k?B8NN8G=d#%@cJ-kNquygey%FCGM|$#W<{=5A z-lIdk6=qh8^yJ6xgA+!*M}>N8%&8XXNuT`sgi-I2q230w`$T#&WIZTh)O$pzx5exw zk)C9<2PTYq4-fTr@s(brCx++i5=Om;g?f9q(H7~++;Lx g zD|ss+tW|D0C6JO|980cYn8R8UEX@Zf?Xhj9xA>Y5P!_QL0Hp;IFU{i6OUPE R6AI@0RYylJc}W?&_Gu zH16tHjFghwSW@12h`TzbFnv=noSZqg0|!=LIIE}e%()RpJKDa&@2P0}8b6z(?Hk-& zkG5~|lqA}|i^pBj_B}kejJEINRjFwE0n&bbOT0a<9eiXFf)SregkXi~e?qXvD~}=A z4DXD=79W0vHFk%0#9(iDdkpsReRwE!fYCex=&11lqPxWhh)(ma`K5v8Bu>5XCt}1% z`Puo^$)*<4&oU97YK+~Z5=OZvnk%gJ(1Rj93A;xojCxN9^|-i2q$e@=h=ft^@u41< zwTSd2T{TmaPNztYX*~^x&D5kVLr;(NBv)BuEP9fvtT9&RjInH&L}iU}VLV=IjFmZK zEZZeZSz}xn^{g>g=8UmymlS1 ?2Kf0CMxn?XbyGh(0$TPb03 zw+ynC$70D9hPY5tBIO{1l)P6gxo#)VXb)V1Wj~gbXt5?)4}9ZHvI2=0>l`X%E3I=V z&^ZSM5;E2~R7gqd913*KL4ib#bq*C$(mIC%ok><8fn!Z_g_N`=xj<)<6-ew@lUyMs ztw}D>nPdTK?BcEtNXfXXBVWc{U5#Db)d49PcXedixT~wNi@UlmK_7Q@ E{%T z-DiZ`N6e_ZG)z2Er_OQa&uIG^xBsH;oA!%`8e*r;ZE@QzD!+@ntI_to_KSx`XWto9 zY3Biq>C)cFc6@^ImoXTJzlgyKUxtQK>*3F0uo?a|23vg58A|OA&3s$U;f;IvemJbL z?+mIQ;DPgRdgXSK14MU=4-lQ^&&&{bc!^&a=v_9Oh$>{)zJY0Wf$ij6(}60GT+@8t zwS<&xzVBMV_WQ0DNUr&4d @<{=Tx0Ln z=>8 ghwUe6& zAB!dTFl}8ZDY@oD8DuN}E0)|JzB{fZx#r(8NXd`Jk_YV@ckQvMReQsH ymmBM6XLJRo|MZu7 PZ~EHl +uGxmZ;K>JL)Nw!SfG>n=V*k5wh6 zem|vDeM6$Uhwt@cRSB!#ODR=fpQ!E+UzyaC$ok!sQuTF->H#J;3EQehE{Otla!C}x z$|X^tUM`6OHFHT6AiXA0pmr{a0`+rA6d*T$jTw_px4HSo8RS{LsTr_JO-v`S999*` z$kNQ@GxhNbDcQ{Avw-bPJ}r=8 1l`@nxlaRKOa)aNRVZC;{n3N)v zlyRh)gt3*B+ m3vs*C6tswq?r?-m6SUu&71%W*v<*i0vSQB7w=DQqI^Q!%7gZ^ zqgGOL^SjOHQu@0568tkWDpiVmUdvIb5Q(67rIeTbPZQM DB3C@9O~=7R$fM$xAzK2P^9uB;v$uoA*Y$p*zR9)cQc`} zD}Vq= kKzV!TvytD&Pv7+9 z$cXj&UIEHCvt`?pa{%{W=QFlYeZh}(OK=B2WyZ{={kZpdw@!VD+?RGsa1TG(*~5rQ zV)J8=;Qirl3GU%1I(t}Q(d>K=62CvxEx|qfcxMl5%y^dXK|=TkyCt}XAM5O4gV!zc zJxCP4q+5b}Xy#XQy=9BHFY-M|ApbzO1o!Z=&N1v_CboPJ63gG;Ex|qfNM{dwSbr_w zgM{;oyCt}Xmv;8Bk2$LHJxD~qs9S=2_~FhT4u&zWuYRNxaq3Ar5eHw=i8%EporqI^ z(up{DlupE{Pw7OQdX-MZ!LRI@w=^ysUcR7C