From 7258dd890e01172c742da072142dc855e4a2ee85 Mon Sep 17 00:00:00 2001 From: amuliang <982632988@qq.com> Date: Tue, 1 Aug 2023 00:29:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E5=AE=9E=E7=8E=B0=E7=AE=80?= =?UTF-8?q?=E5=8D=95=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/main.js | 21 +- app/model/SearchModel.js | 4 +- app/model/SourceModel.js | 26 +- app/source/MyFreemp3QQSource.js | 52 ++ app/source/QQSource.js | 9 +- html/index2.html | 259 ++++++ html/static/img/default_cover.png | Bin 0 -> 148777 bytes html/static/js/axios.min.js | 3 + html/static/js/iview/iview.min.js | 27 + .../static/js/iview/styles/fonts/ionicons.svg | 870 ++++++++++++++++++ .../static/js/iview/styles/fonts/ionicons.ttf | Bin 0 -> 197664 bytes .../js/iview/styles/fonts/ionicons.woff | Bin 0 -> 197740 bytes .../js/iview/styles/fonts/ionicons.woff2 | Bin 0 -> 82216 bytes html/static/js/iview/styles/iview.css | 1 + html/static/js/vue.min.js | 6 + html/static/js/webtoolkit.base64.js | 108 +++ package-lock.json | 772 ++++++++++++++++ package.json | 5 + 18 files changed, 2140 insertions(+), 23 deletions(-) create mode 100644 app/source/MyFreemp3QQSource.js create mode 100644 html/index2.html create mode 100644 html/static/img/default_cover.png create mode 100644 html/static/js/axios.min.js create mode 100644 html/static/js/iview/iview.min.js create mode 100644 html/static/js/iview/styles/fonts/ionicons.svg create mode 100644 html/static/js/iview/styles/fonts/ionicons.ttf create mode 100644 html/static/js/iview/styles/fonts/ionicons.woff create mode 100644 html/static/js/iview/styles/fonts/ionicons.woff2 create mode 100644 html/static/js/iview/styles/iview.css create mode 100644 html/static/js/vue.min.js create mode 100644 html/static/js/webtoolkit.base64.js create mode 100644 package-lock.json create mode 100644 package.json diff --git a/app/main.js b/app/main.js index a6ad12f..2862739 100644 --- a/app/main.js +++ b/app/main.js @@ -5,32 +5,33 @@ const { SearchModel } = require('./model/SearchModel'); const { SuccessResult, ErrorResult } = require('./model/ResultModel'); const { QQSource } = require('./source/QQSource'); - +const { MyFreemp3QQSource } = require('./source/MyFreemp3QQSource'); // *********************************************************************** // 注册源 const searcher = new SearchModel(); searcher.registerSourceModel(new QQSource()); +searcher.registerSourceModel(new MyFreemp3QQSource()); // *********************************************************************** // 添加API接口 const _server = new ServerModel(); -_server.get("/api/source", (req, res, query) => { +_server.get("/api/source/all", (req, res, query) => { // 罗列都有哪些源 return new SuccessResult(searcher.getSourceList()); }); -_server.get("/api/search", (req, res, query) => { +_server.get("/api/search", async (req, res, query) => { //从源去进行搜索 - let result = searcher.searchMusic(query.source_name, query.keywords); + let result = await searcher.searchMusic(query.source_name, query.keywords); return new SuccessResult(result); }) // *********************************************************************** // 运行服务 -const server = http.createServer((req, res) => { +const server = http.createServer(async (req, res) => { let method = req.method; let reqUrl = req.url; let reqApi = reqUrl.split('?')[0]; @@ -38,13 +39,17 @@ const server = http.createServer((req, res) => { let result; if(method == "GET") { let query = url.parse(reqUrl, true).query; - result = _server.trigger(method, reqApi, req, res, query, null); + result = await _server.trigger(method, reqApi, req, res, query, null); }else if(method == "POST") { let query = url.parse(reqUrl, true).query; let data = {}; - result = _server.trigger(method, reqApi, req, res, query, data); + result = await _server.trigger(method, reqApi, req, res, query, data); } - res.writeHead(200, {'Content-type': 'text/plain;charset=utf-8'}); + res.setHeader('Access-Control-Allow-Origin', '*'); + //res.setHeader('Access-Control-Allow-Methods', '*'); + res.setHeader('Access-Control-Allow-Headers', '*'); + res.setHeader('Content-type', 'application/json;charset=utf-8'); + //res.writeHead(200, { 'Content-type': 'application/json;charset=utf-8' }); res.end(JSON.stringify(result)); }); diff --git a/app/model/SearchModel.js b/app/model/SearchModel.js index 56623d1..84dd558 100644 --- a/app/model/SearchModel.js +++ b/app/model/SearchModel.js @@ -11,9 +11,9 @@ class SearchModel { return Object.keys(this.source_models); } - searchMusic(source_name, keywords) { + async searchMusic(source_name, keywords) { if(this.source_models.hasOwnProperty(source_name)) { - return this.source_models[source_name].search(keywords); + return await this.source_models[source_name].search(keywords); }else { return "无效的搜索源"; } diff --git a/app/model/SourceModel.js b/app/model/SourceModel.js index aab0803..ddc0a8e 100644 --- a/app/model/SourceModel.js +++ b/app/model/SourceModel.js @@ -1,3 +1,5 @@ +const _request = require('request'); + class SourceModel { constructor() { this.name = ""; @@ -7,13 +9,23 @@ class SourceModel { return this.name; } - search(keywords) { - return { - source_name: "", - name: "", - music_url: "", - lyric_url: "", - } + request(options) { + return new Promise((resolve, reject) => { + _request(options, function(error, response, body) { + if (!error && response.statusCode === 200) { + resolve(body); + } else { + console.log(error); + reject(error); + } + }); + }); + } + + async search(keywords) { + return [ + + ]; } } diff --git a/app/source/MyFreemp3QQSource.js b/app/source/MyFreemp3QQSource.js new file mode 100644 index 0000000..f180009 --- /dev/null +++ b/app/source/MyFreemp3QQSource.js @@ -0,0 +1,52 @@ +const { SourceModel } = require('../model/SourceModel'); + +class MyFreemp3QQSource extends SourceModel { + constructor() { + super(); + this.name = "MyFreemp3_QQ"; + } + + async search(keywords) { + keywords = encodeURIComponent(keywords); + // POST请求 + let options = { + url: `http://myfreemp3.sharerj.com/?name=${keywords}&type=qq`, + method: 'POST', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', + //'Host': 'myfreemp3.sharerj.com', + //'Origin': 'http://myfreemp3.sharerj.com', + //'Referer': `http://myfreemp3.sharerj.com/?name=${keywords}&type=qq`, + //'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.183', + //'Accept': 'application/json, text/javascript, */*; q=0.01', + 'X-Requested-With': 'XMLHttpRequest', //此行必须填写 + //'Cookie': '__gads=ID=f167a79e430852c8-227b3bd2b6e70079:T=1690680059:RT=1690680059:S=ALNI_MZixvU2-9BVQv0qTuN2kVnZttuZIQ; __gpi=UID=00000d30f9e155c5:T=1690680059:RT=1690680059:S=ALNI_MZtwSz24f5LJ-tGCRKRuzz0AFH5rA' + }, + json: true, //将body解析为json + body: `input=${keywords}&filter=name&type=qq&page=1` + }; + + let result = await this.request(options); + if(result.data instanceof Array) { + result = result.data.map(item => { + return { + title: item.title, + author: item.author, + url: item.url, + link: item.link, + lrc: item.lrc, + pic: item.pic, + source_name: this.getName() + } + }); + }else { + result = result; + } + + return result; + } +} + +module.exports = { + MyFreemp3QQSource +} \ No newline at end of file diff --git a/app/source/QQSource.js b/app/source/QQSource.js index 304066c..ef4e2ee 100644 --- a/app/source/QQSource.js +++ b/app/source/QQSource.js @@ -7,12 +7,9 @@ class QQSource extends SourceModel { } search(keywords) { - return { - source_name: this.getName(), - name: keywords, - music_url: "http://123g", - lyric_url: "http://245", - } + return [ + + ] } } diff --git a/html/index2.html b/html/index2.html new file mode 100644 index 0000000..20f7620 --- /dev/null +++ b/html/index2.html @@ -0,0 +1,259 @@ + + +
+ + + +
+
+
{{ renderedStorePath }}
+{{ current_item.lrc }}+
{{ item2.author }}
+BW&-S!M2s?gTz=%jWFjv@$xf6Fw#f z5rjlYgppZcM%;5*HyxHL2^z{IT}@YJj$nzcHENGPF{AOB$uoU!aU)Q09$L@v+eo0`C2(CQJ{qk zkYduTVyRTAUd5yiN#dijivk}8&IV2gnYK=AuR)Y2l`2XVr5YTe0xBFvkz_m}a_(c~ z%>k30@llvwobL=i#^>XXFL9SccTIO9N!`u$x1T$P58Qb?M_U0BL=WhZg0P&F>N->0 zbt;1-D9MoDyzu60Z=T!i^vb1LXv=|##e46EwOaDgCqDAjQ=hGr%e`JFO$S+){%m 8oKilDFsUTfYBP?iL|P4$&2%WXOi_eED5fs8vP1zG zm4fn0u|m-VgaC?>a-ARoBX|Ojz{CKc8AxPgYLM~bJLXD8&ZhZ?i3f*FExrYpvL{U@ zHBNh`j(a}!d9u#$@{n$u1#HhrH%7kOF6X zo(|Dk9^vPrM_s^;lVM%(@ z?_sLTVW-piga7Xj{_o%aeV00|v;t%it<7e)A6Vnv2vI)pv@g5>OgQ5rgoFSP!J42^ zZ_LlOXKMATt;A3cvmi)=IF06{dI+lxj;k&xXEx5P5h75z5;VUijivM*OY#)&Fb >9vd3E-Y3|xmKxKZ6ITx zL6THI^2Em;J^h#_x^eAVe>ez(FwIgdp3Bac_JN~)_$VmPx22UTh0$Dlu34*BONl|H z1oePQX=y&3IS|avV!h=nm7$F@6?kKvR^H^|2@@8+9HZ%(U-?epV?wy){}B=a=DyXt zkJUSXj{ DiyYeC^WZBn*xnIATC&X-24z96k1HU;5(x_uap6@>gR}7)&Z7SyvE`8wO zW5V)|r%^sRkt*d%tyXW SooKOM@U7Dw}D=3Pph^0mVdu zk{d_I{s_Cmhiq3Y+y*`X@)Uu2jGm0N58Jj~X>xwfNlg76-8YZQz2!6 m)dT*;r>#D@=eTO~dK^ubb{B7g#50FR(T 4k8Yd0ucI`5H`lb3C8}5STU>7cHQ?fy|?9 z852(GZW;AkfzG?OX5qy7j&qF&0s#V}_uv^EU ^7DG--J|ru;yw^YacBUJSqR8b zxm;?s+O=xK*bo&bhG*(0BR&qfR zvwLAHI3+^02!xQ?DfDq&Mu@*xFL~ z3m^LAhaUdW_3PKKE-m$XU6;8$5A_~;DEzsYw|kd9SnvU(pb{ZaTE*qKUa8mX%}S{n z=~#QMy{T|?z|>o&R#){hR058*3zRqGD@-leGL{i=5~x;e+x?EF2NxDn49V6RxvO4d zB!fud!7f;sn2S6+GEpV)mLEdVyu8X25n!R$&C4eEQ7JhX>rh8OfiZ`a*LawgrAD2Y zZtHX;&aTj~?a yuOTmRu*F|#db$z_kkHsYd`sPcTkr^D7Y~vmVcCw;w)6kH z7pcr!lXDgmt8jij9H~x6e=!$cvi! %R zG6NN@l3O~hZ_Btb$;R|n6K;pv?T&EyjXi=x$v_-B8>yl6QtN8R+fRMv^E1b0msXd8 zlFdje?fRM5U;S7A=3js9FTSRb;yCPeyGkoU@ZOKFIQGkV|2d0%Ah?e)=Pd*j85@Vy zYPD9bluQtVtwXu&Y?21|l@1)T%^9gw(kMtHokiM(%3I?6Dakkk;D}_)O%QNOC$ZhW zu-kONsU6u DH;HHqSMV0n)JxgLg9aw5VjwSy#V|=HEnys}=*HFSXP!Tk z4YJvpR aOs@Vs$OlB; dDinl9*@r0iokbb>c*r;tSzZxNGsljbNx9SS>Qa!RYs@w? zm-YKyYYiw_+gJf2RF;4YYEHdk)THw41 {Ad cnJaHizKhN?7Gt&PoA)(o6AUMtZgM4(3Oey$Gnqhd(os}>_-3!lE% z%by-WTd%b1*|*?R#!LrHt)evLF}hXGn4Y}?g{wtgh*A(aAYd&$%%Bpa0dAx{R!WCf zg{JEVHVIP1ZkDB MDKk*x5L2px*e^Mhyi@jo>7aSK!B~x)oz44x;kM~-X88_ zFWPZK0RW_8AwncUC8(IPOp dqmO^=i6`E?vbeH* zGjl#S*S-f~;ZEs&4j%wej-y(&(yTV> Be^KfO`Z!a@?RP;U!NwgqTP7P74%3fH@by3cM1Jj0U^P_W~Z2bnCu@ajO>9 z6BXO#{zf0OfnrsO>j&q`t$HWz4a9lHtb~<#@IFf;s}a0_&+kTKUwEKg41!V8#anfl zWS0Z?6nqpO{5WwS1^_@pRNiqE1cQG6)t6tndUfIO;e)kOQZiwGv)^vFKmYm9Ypc(l zKflrGs_j>OU(x#$K1Pf>mKvpMrB<&r$|ljys-dYubw;&jZF@$|R9&f@g#lZ|NIRlS z3Wjn^c-s~`$W|4i+ pgA<@5Kmx?v*h7FI1VRWj;pFk{ z(w*M@Q{Se;B2flSpaMT|#1h+Jd1>j@mtIaxG+UpEY$S~9oy}kU+~*D-IrPIH{GdM= z1ffC1o#iRs2lT#$kHF|gqn5N9rAkt=WgJqODs^3(voj5<)}&HO!%`Xq&T1fqIPE05 zWy#zjv%I@B6~H1R_?Y58fN_-IFc(`8fEX+TATY^Ld0mM*+?TR_=#w9Q_|s3EUAlCw zzy6_5KJoWI`rdPAUp#c;zS-l4zVYnS9d-|X_@O`g%RhO2@%+J~2M?V*_QWs$!r{kG zI3<18U+=7t!Mwywes3ZyT&D_0n7k#q>3C}wrgmf`VU3(g#-dmL_uXgwx5Ece0HNz; zp*Dfm!(KnKCPaPqg;&;BH`=oYg1C&vcKznjV@E#!`On|Dv2^{$bwtQgcdJ{xcj iEHv$GEJM1NFlX-}kpa_}0Ju {^0@1*_T{qKKIwMvhC@*`K*ufOufD>^m~ zy-04z$*nOWD43@|nz*n?;TMjRBtcW06cp|vdFhFf24#$YTTg#?Xd8SWAosZx#KJyH zhj9>q^J%A73QHF+Ub%Q_v79v8voo3RMNtq2_Ln~W=>zk#fBiS#n8YUTpm(ENZw p%C%Bswxz8Nd@1bPXp@eaxkJ=wbEPtjA{SUDDpD2~Wm5!1#?dU4Prt(G zIpL`9hTfJ=<_VRHK)9U!7o-%)1A4@wEDYu58x+>y2vS3?96_Tz`_QomK6bjVv+``^ z%F5zjee lvosA#A z`oh<~@z?+FpZ?KuxAVZG5B 3fFWKkxwv#^@*v=4R&W zNj=h`aVF~67FX^o9XM>74PPo}#(0xQ$mSyXDC%UV5#Z-;&RYaAxA+Ak3KAeP66c1; zoN*!q0TvP_>1RW+3L_gft8@1qZXKS%lFE#a>rp4|eCzw)US41ArhRSA>iXK%rE9C} z>wt(v7Z=|A*0;a+!yi7ovbr`%(~VANaqVhvIC$-~R|o0f)WZ*b>$~5s&CY!E6QB6f zuYdXAi6gJP{u&0VH|RNb-aF?rt(4LV$8sP|JgLTP9*yN1-0Jba^#Sbq@hyD3cXHa) zjSB;>jMkMx+l~rES#7g^dgbDqSKfTHS*_0>IN04-Cx8R<2OjzG `g+l7(?* ztkWQBJRpmq^RDRm@0hl(QxiRIQRV^j9YoBdR}c_bL=Zf|#-K})wMl&R!4s{6?GzoA z00XJEl9>ZD8{PE_S1vo`TC=vcv7wam%s~(ut%bp}TwhsU?`*DaZ1ji2a=A)?{Xu_q zb>-2=KJ@yf3zu&!u5WIX>(#^eAAA1gm%IWS*&wgbsq%=yJWgQLwuyUt0d-Roa)*|9 z3Tn1JkGJvh?tSLezQ>%+gF@ScP*kdO9vmlev~c;##S0f2N$u#7W8KxYjJZ17{KA)h zZFP0^%$YOA6UogufYV<5`|$C0(Y8URNFkCUR9YFWX4 SxO^y@J3x(w zl*=4NE--AAD9)WoaWZc1d;tAyL|doEmQ5)n+H2dcb2nc1AJQ}$0n%k1f1m6<)pu2s%dy>E;Y)VFfm!5JbLO}q{pge>QaL7Rv zri0 dKyJipoG)7x% z8;wT0-8Lwi!8+SAtyw$Uz j#fm_V_BA8_F#*S#(HDepy z-ZdMid=CnKd@?f;sbD}5iL_EgM5s^{WyoO?mzvdbqZ(DqY$dD&<$46xV*qHt1~x7y z=PsOITDhS^TWvIq2`Whi5W^@6;}Q^-DhX*7grN=t&pxt2sEi4MH!fdT>20RyRA4c* z*VmT&K5fsn`|03!|I2@JXm);cbF;g-NeD_26@`AG@I$3sl?o%bl>!I1NFzX4L@e)o zK6fL$ybTM3j9m5wffWb>6XaFOl|aB4dQzTK&su3Mcy)1MW$8v-E1S8JiGpF8o<4p0 z!3Q2Z|Hd1uYij^NM9e$^%G-^rdy3wZ@KKl*1OOxo!@~y;&bHfrFbq;%O5-?1LeV>BM-~lz(?Vbjkm%e*v0E|*9%QM zHjgQX4@3YYCM8OP(v0MRI8!28#r34xY6jKVM5f-ZqZY?~9TOSUT3KttQhff>rB}|q zcI4RM`Gbd|xD*7Y)oxX*m84c~wi;m^RBDN~6c{r*JL3j}X067AwN_)J*CC@&+Z$J| zE-o#;cH!KCBZoISn=FvjYC5uO8*4sG#bp7a6;v!#@Q*k#YmHPkW7YKdJtNXB7UI!4 zqsP0~_BK$F%Nj@Xym-3>d}szOsFiVmK6NB8><-titt>2DJ9_d&I&?`?%Dk(#YL9;O z^eb <3S5}5QpLj1VMr1mDzXF6dd0^A2;7^ z-mOVC02n7CBpT` `Z5~o2~Ueed@8Jref9yNs8s31Rj+q78;T`MBq`cc^A(PF08?YxHGDH zKYnrJC-zRKJD;u$Q2?M!KBDA-Kb)tI$|agSB2hqwM#3YFPkiZ9?MG$@)wCZCdwTQy z;_LtXfBhHFeeWfmX-js{A22Y3-{syT+UwYeZdZ!ut)%xDd;sK3Flc33&1NmGluQ(O zvW`Nr2l(Kuo=w77IZzD7gB4Xw@ g^A5nDGM7=o42zKRWGY30IeCc2PL2 wro|~I#RFZ3#FK4~M z$&)9n4TilwdR7dCXz7N1YlcejPtGc@M(JZrFj6r))qFV7PK&VR>Qs z_>mL!T5H(JthSFn`dB%MUw-Xux8GCRj55*hrqSPdzn!D&9i;aTd Y@g>CyrLdo=>2xi33?Bd>s2Q{Z4uNON@u6C+YD`2rG`bvz3dQ?0 zLzU6^9n;oipG8vA5i2u&uV8f|rdnEv$npMK{%-{}rEDWHw+dJu=l?mzmAPkrW>p8CvYzZ;cGAAbB7jvjsV z*s+I?AARW9(No8cojNdgyk4JgwGUOR?KrAg6OpnA2&kec)>^Nwt^`rAynN%v($yPF zSBKfqv3v3tK2a%^4;?)Czyl}e4;^UD&7$Yc<(rsh8Zme770`L20T?N>@D^`p3O- T% zoXOGNRTUnpCbLP1!yyd%N?c^H5?TwKv1A_6Gl}HUrDLUe?yn^T#J9?3QP9qS^_{E7 zM7LiYnCL!mG%f{GBql3CNl^eQL{$nYP^d8o%-Y)8*|TS!|LJq2k->?Uk9_Qjul(j$ ze*3@r$6xs37an-%)cK3&7niO+bo#@UWUf|iRx9;dwO*~(XJ+RPA3k#U=+T4o2WMtx zTdmeid!|~ghC!4hNgT(6K|f80!oHl8yS@JE^76{^%5y*dNwZNqdi2Qb>>Mh{oIB8N zzxnz(pQg$SF r0w9Y4)IdteDBD@<8VoMJe!f;t+U-U! z+bq?>6AzrwI(YfjS9|>diwGjnIQnX@i@%HX9)J(6NNbB)H=506QjZ+QJ)dM$^VJs3 z&)J!B8k?auj!--a(^UFf*^;X;r`tSm1#H+^mmRKG=E^Y*d*lWNyy6Vq(D*E|x>QP> z6CMtb9ZBvAQ0Um1fJr=x;w`3`F}O@tlBtGlPq{v3N^{4Nv0;;@!fPSVE(i=m(yRlt zvBJ=E;KL*_)&_xDTU~zb?8{ddE(L+nmJS`A|J)Zp_bZ?Kl?NYwD9zGKmoNY5$3Onb z^UuHZ@|ne}OXn_JICuW_^A}z_cmCCL7hgMf{_N$23+tOJ!dVznwNjd$Y0tE0+U-VC zjzxUtocGRXEiCDvFWzgybTD}3<(C$(EX>Z%95^sf0OWaXbu}9dWsu@9wc5CmLTYTc z9Vhvsu_w%k<(%YU-XgZVm$L8>qXN_nhKYcH!5FI@@aEv!n-?p!_`tE*Ar7-N`^3jT zb@bSM&;Iz?ZojWI ?6;KQTNZzB?KxP1PBTMfJdH^ zI1DPAXs@rXtaR2l2Scw(2plR;=ur9GHsn}M8GQr`%O7t+4Ib?jZ5h{h*j`F%@-PGn z?j!f25LQDQW>M9I31BHRiPmvBw9#g#b7f)S(&Z~2M2vax^drCgh0m#S>=k|Y*=JsS z<;+jdym) #Ps@-F`X_lONv$M3mNu1_Vf{nfA>6_n(}fpI3@d+x4}zwY9aC zm6fHdi!RFsy*>eGtK0Qfx7+=l|K@jo{fl3Y94)_odEuvLmtT0pto12HZ7PzB_Z}uH z()`BbZ1IQyz#b-f%J2Av-fNWGbO}5GF=D1b2t6 Lt?>0nbeO1@+r84p@K=F1e0L3t9EwbhkqqMaOvUgT1^2rzRf($Y9rsaC^~JX+Am zz?=zlF{uOrDX=yvg+>9g7nd>vFpYB4VXm5)Xh@;Z4Q?-EFy)&)alYKPux^Ks{Q1bZ zlS+vRbP#J53K}+{j>4eV*;ra!=x%ISqoOE!^zp}j>8a0T;$L|Ar9b)eKY#kW-??&i z;l}dHdS`RB(-~yx&}GVy)}wMTxe*72j8RGvA%Fyd?GL)=&!0c{#v7eZ4~e2E3d1ld zm)ou8v7^V196oG}QAn$+t5Foa`1}j~Uibd{PR!JsR`B%~Ubccsm^i *k!DOMJDIMPX_TgBFkC06ice=Ba;juV 5$WuNf1fpuNx;izX^QoP |>RVuRPiI08s!PBR@gZ|h5?(08z_L+;9 zF0F5Nlr_EKV7 34{0Sof80IU u(j}L fw?OmKT ?1t~6FTv7qG54S !z;G zhO<>^L}?tPfz6Z#2K0aq$e}0{g|PPmj@$MSM34bc1gx?1<@j(E1c0iz8Y%Kh2`M#7 zrzJ{+n30{ZBZMdnf-rGD_xKsPF;A_olOhZV06 C-xij zOhqyb0#Kr?s1QwzL5zyr!otP% *(fRzqGx9B znNcb0JRdoHgcQB-!VA5AuiNcjym;~Q Z>Go5t?0Hh z|4x?hJLNtYfk|>zoC4Is1SnoSvjQDZfCD;v@oWz}kDNZew$@3?$;^E7=&{4kzwpzI z^-TZ*&>~bU8dLD`vvvNhqI*^ML15!xuGyZcwjvC9kkvZo2(=qgvrN^%M~1C-ibR0C zU@DLy3bF< SN7&^L`3vK2lA2!w=DytphWMGv-`hm<0R0*3QYFX#gd0EL-ZJg^X; zh oCVxCZS=V}J-`d{E-3DwQVMIO}w8E-hXul}bqJ)FTfcJbLu%%FSng`uvT}jSGv{ z`V2h}vxkm6`P640|Kuks&6>CRU;Ur|`s}$2zw)^+*BebDVgYNd4FU!j4%4-@)wQ+N zwe_`?<+YnPZZ2NCwz7OPNs>~MJoCdJAV?*t_Io|gjy+ea)lYo< !)7r75a2und@rq!x7$`a~L zUry~YICvC}G_Y>HK_>_T#7xW+KR=V3P-%<1NAdq?6P!re#W4agA_1of`GbvQE-43s z!$Ib}x7Gl8M#sp4l5-yn(&sD#L90+xp6L+88Rg?hE9J7Z@BJ{%>#U$q?wyfGRRNGl zv27__lGl1etu^L`>XFF>QH@!A$^Rnf9bg0@Km*!<2_%RdbEmU$9mQ#dryhQwH9xa> z^XfA{`Qc`7V|8Qw`tr)*W5<8 S7<|>s+y-^Fpz-3NE4$RMP zZf 2PrU`qJNg<7*3-7N2 LcuB{J!cKp t%}6hA(Gf)6@^){5&@mDrRQpF+;0H&f{ZyZLXA-oxw7rJ8b)`M6CA~+<`_i z+o&25O8x5f)#1=J8_h5@NUVyo0zx8Ac<53>&{~g0%v=}lh`iRTz24IL>hdrhh)_QH zC6`uc)Vh3 vfLdEJ45%-qfdO|v!9zka^Db0m&@lCE`9SmPygVj&wcNi zAFlU0L!SYWF=3W@RYZ|foFt`ErBY5R_4;h9JwJco=<(yTb9233Z*g(aD0SuXm76zj zUb=Yx!i5V#7_6_aGjkY({bBd$k>mf<|L{Nl>M#BBPk#8^AN>CRGn?9DQZ_3?i$TGW zaZxi1cx0a%d86ie$wgH0cqi|2r-fk;?qiRE#-mYks}sh@?nH{YJxxT}!r@Rv{Ins- zGgF|}pf5A@*?;u86HlDFwz*WEsjjE}zyA8)|1baBKVR=`I=7CJ!dP3hr-tJl;6Cmx z_#mXX6gBFNMx|E9Q1>Oyf*I3n=xST)RbN6N@4d( PP8b0fTnNS0;*LP#1BK?#CK z5@RyLPCC5N-B|DThr=NX2@n8i9YAi991WT*uZAk(9TySXDtCR5oV_hNB4V`Cni$z} z#>}EbDTR3<8tqLirHVsZ7F-D;nVFkw&CM-uu3x!%ZSm%fwN6)u(MLY| Kd3Xz=m%m6@Sw9&?DqpT^H zlll4ihaY}qerBdrDh~&PtBVVRLEn47zOnJ*OD|r(zJ!2;RIgNj<4eE(JOB0X;=n!q z@BU+OWh2^T9&(|)5dk3aD7mIqa10-X30Y_))WFn2p6~GVYn*<;Q}A)S8MM1w+Lqz7 zCwAPi@UrDcBbjJx4JlHpm-VHr>-RU~gQfc(e_;NR K^Tz6+C)N(YuMIcT;lOwh@qj>zIL9kQMG6F% zg}oyN1&9d3A|giXq!gEJ5E)aAOVv0^; HvahL?g zh>sLT1hIlpL7>QLunK@PpACRB;5==BHwrX~LQmwa@u77n8)4|?W~*}tXZu-iVd=`^ z&1*wH)Pecj=fCjihd)Bfym9``|L{j&{g?md|5{jDTDp0on+`;giNf{XCTT4q>~nqx zJ$ug{Ne5wMg8-3)**WLD+gRUNUS2tL^vK5M=GBEomt~boGCMna|H%`-^x4mRK({o^}z?tvi^jjMb*jws8 zCJt1$4?f)+8g9#X?3GDwdfVbXFuMK@kxP(Nz1^6bZwqHPu3h(mDbKW6k%R2`i6cRz zfBd6oP&f<%_8t&K_F}L;K$aIlAfjru)^4}039v5}7q(1&CTP}GC1$I=1`m=8i?j ?I9OeI-R5*jzh@1QKdGJU>^jl+dNa{^nX|bGg?=6N=W3W$4)r`o=qBE#$R~X!Ohw zkw_^55aoeb1h|Ob5GH`on3A=z(WM|Pg*LQ7WP>oUVPM11L{?X{DjQX{DhX62q-vy_ z<)B%Po8_ocidyBk90fK|NoZrE1EZtB##V>c239K+LZSbkyZ4N;?7GTD=Ui#Wlj>CL z-0D`gk|kTgmMr8X=Y%c5IB>c5VGQ?OFyRikkIMzaed7)A sXA$=wbq>P$3CaJ6)f8i$&B&Vs2^2z!ro_}x#phpo8SB_F{jUn$Ft>&SFhwi-Vj qe+VLm34}QwevyhKG^P4=4fa?=qdE)Z| z0DyHaPLqYDg&@>YphA6MWhI=MiId1dDFWKLdyA{=BM(1P76ne+>O|@A R#1}YM2mVqp`5Cr5UwlDbieS$M){VLh5wPA&`(>NPlwO QcyNJWxlg*aW2%V$c8H`$Hs-X99jpAV2sj15Kx&2YBn22Ya$Xt0Qs8H zgtgc$lXS$+Gq8?A&+Le3V%XrxGYAj@A#%(WdzMHD41~T!rb!fvj3|^+0D_pA7+8=* zk_aG}n22c-889PTTa-4hsC3e*$eOrlwyMQ#kudIfe|@>Pp0SllxOMlg9eeil2Kfy) z-hBTfhx)l&=@-X`MLIV(zkSCAmtDO3jMEEefA51IKJ~P7E_uNv!{IP60TC0CwT=Ob zvRGeV@AZ14(dgLm<=*=Ga5&u9*f{_B7kKY)yY&_m#xtEJ0{43BaTvbn^2@Jz+uL6A z>Q{R2ZoB37KmNl%y78-D+cLL!&6Tg}45)haSkoz46a9$+BohJ&V6kcSQxt1Tona)Z z$JfCo$30RSJvry5KoT?hi8{#C0{8?6Uc!X$`^1t313ZbI^F5mI)Bg9F+f+_a@QH~@ z3B|+=fI=*6Tbx~-t)z!QR+7eCj%0Dxi=G#44@cohw$)%gyY|oi;&1-?Zv=oNVrJ(o zJ<;sHKaQhb|DMnXGlZcj%gPdU(#FivQWUkQG>Hor!uD1@)3Dm)6l$!dEgs*EK*lp% zKIc7?(^4jJXtRMqVFKRWjZ#s$D(?^0eO^QucB8gX8U;$NOc1com~s@tF+1`=ULqK& zl$1>5ofjy)0ubz-ukuVOrIcbu?}-s4Gk_-#$Cj6KYYSiH;5`Zw6sG|IFtD{20ECor z7y-bv-~v)iR6nuo(*ghhAOJ~3K~%L4lu~sSrk=(Sg$X6ba><%xRLNl6nPmY07eVO0 z*+y@rx3Nw@aU7j_-Z_oAnf*r}zvscndi`Eu^Kn@QN&MmqE_(CZfAq9-&TDSlQu<1V z;q7-m&}htGa`EL=RUje}5P9b;3Utl^gErc_YWdhPYwdvp2OfIpq0&|Wuz&ylwbi3a zc7iZGc6@b|=U=(uUqAo3&%We}E8h2W@4Mnfm!En1S^xCe&;Qk5eEiX42hVPAmF !gO9>@@*SHC0f~u;Q6e)-A-Z#O^Ycr9%ml~*IzNlLRpK}PpU++RhKrY8 zxcylFc%*{2z3pv}KJ@VIx8I&sRT2azj{B^f{r9;3ouSh@^p{fX+_5`I8sJpwk_FM; zE;?H{NiuB6fSF2x%qZyO=;LX!u4hhlCkDhU5j3*!MXbb@c5>=m8$1=(7P%$FFo?-3 zsr5uR4nayla8*?}?>rF@xvJDsrfI6Ba?UZcsQcx}RfVlVU1Mt3P~SoYGv=i&Dwlh^ zIv6-)i&&wlQ&=%gh=@qyL@`F-MA#3Jl~Phl0YWQ{3Q_nl6e>g=fDVN+P6Xr5jPGZU z4~o@(F*0eoeeWsr+qXV^@W9; 1)9VWrr2 +8=-SyLX>*%A=1w^5?((;drAuHRy!L$C@Tw z2*HB9B9e9VQD3Z0t%WJ+1HBW>s_qM@p%Ptr141d)Xf^5(BTT}&YjN`%C-zyMRb^$J zx3w>yl;kGPVlpBOPITG)+t;Rro}58EA@!<*1*~~QWQ?gQ7X-nMojcP`+X)X!WmSa| zsTdzV{Mf$X z2 z&Lt?Nv{u`ewzT3FF-oiEuyabVxC7daA?)pLPl9m&p#y7Gp`&m*fU$m40Z+P8&p4qA z5uEeh`&JT<2Yrpc6^Pk(x^<@2KmcOLtaPBYv7X4W4kADtj7I&z(336lv31rv@4W|R z@-7aex!Ku9nj#_*Arb&E5D_?MZCNF8Qr|zB0a+jjLU0Tf@Uh 5V$`;mHm{zQ!D5|QevQ~mDZBgyO#@gEIT5okY?iWSwyaRwFj@zwvnx>t0 zr`2p}6HK~W1T(T1wScmy+jXXNCa#@jO>PB=C{YJ0Od=B)69!3W;y^`#i~<>G6l|4X zU~8+4sPybClLyZNK?)Yg00czfKr)fFzGU>JADe(pNJ3hnsM$`Noz}r4haY_O5y!AT z80OYq{p#0We&x&3_Doj#<>PC=_M89bM?e0TU%&aAM~*EouN)s| ndk`S?0a9-o5wT_32Ol?R8)H%BiQHe(rha2^5}4p!D9JbI!Tfy!CBYUw!q= z%* NEmBe03(QGw4Go4ne(Q3C^t!As$ zN*igM#3nFOYoTQwL=o09A5a5)ED;gZloPp0WSh>=1)+oqbQI}kYFeporn=Qo?NqlC zna0>^=w>Wq!;MIqK%o*!OGF^>fCNB*1V~abN&@iG2u2shqR}$Su+-4*Hdofy4lgg~ z)_D{ 5G0 l+(cG0uvt$O~^B6MN@9dG_R-t87)4rT4z(SVUnMXrq;OWd%fl;7|Ce zCt1_ `W{h7@EX)yk&1tTH|A={ny-25B`x)LlI(6a&2TVC$>)&N+t@Fm4E84bqA z{Oa7!#VCk}qw$WNJEJ(d@x~jU>D0dGN4~f99J-IE)8?CGo w_Vq0G3#{lArv>Q>DKXs((xX9?6TMh{(n0 z7ZbB{CfPolEViOXh=KBY(&|E4UO4BxCmn{$7_D^>nJ9^(C=B9IYpJy|M(IEciHuCh zjKl&+Vd1NSUBO&3Ib=peL5N-;BQw;qbWsQ;P>E)<<;mw|p_B$8PzV6_L{St8L?xt_ zDl|cCOcI36BxyIANfgG$w4<<-Mx7*V1Oa*HtVJLt0g)ISp$h`k0h@pt%}9r8xp(AP z?|4Nlv{7O7!WX^xw6mXASbxj6?)bY;fA;3v?#wE3EG%=F#NCCtrEOcos96>I{PQkt zHs{Ye^Zd@t;*K4=XS#Ep&TJevjfoHqpr}f(bQs6Y#icDjaOG9^-h1!0*M98!>#n=w zTeofBzV(dLPyN6LKJd+(zrK6-t}{+Q{bet`^3qE#HNxC?@4ZD)96NMahx(F>FTU&R zH(}{^%`LTcXp~~1N(U2c>WOUgx}q|XeXotm(_FJN-|9#vCH4BoU^vc7b`~ff }p zGBX1a)T3n4GgY>#Z0X25=Y>*H6a_)V%z)^~O
N{O#-;vo!v6mHGoi-4UQINYm1p{x;Q9gNI2haC#fV= zl8~hnMOoIV$|Mzj@|x851Oosu6M16xNIn*@&}_`lq%(048Yu-?s$4BWQ&&WlOq)$) zAOc?(47G4bm2=j4bRH1B_uhL3s481nhX8qA*vfifPwW^xBM6x7%*=P1fF9T*5Y_!| z#LP_219EAdR5DHyJE3G_mgVC-A7>R1BY>1Lj$-7gRIY$P>M#yb2nJ8!t%pV z{ki$2t1rFu`IlX?>+~~bX1jOZ{qXzW|G$3dnzt`3ZWV~mTSVu4>6}+eTkCqg^^NuQ zs;UkhI@)M7PCfNB0J!$rYY!he7=~soA7A^?Kh;WHeDQ_<>jS^_SD*NcpZV$keEAhu zJpcL6fB*Y`{lbeb{LmkM*p2d!{moxK|ID+O_U_CdIwBcjsoP1~V3{9Uwa%ZUXfO>r z>hF~&y)l9jm; `{22Mx$Y*QbtnkKY(22t+n;g@QS?6v#N4MSw>OR zZgoJS8w{kkM8rrFFn;r}xLHR2_Iq)Y)%r9dM&EHU01CvonZ|Jp0tK;QAb_eYhr@nh z%c;T?2$0}G0k-mJ-&gLxEo`3s(u)RIhGF#HpLp-#Lr3nr@4oeo{`Y I;64~2 zPU6M+#Z-r~C?hr<+3cFdh+^rbBveE@wk@TpbIwa6N25`Huu+$7pN8&(o9cu-9S{dm zqyeR1ziW1`9hp`fL`c9Dvl9Xo2*;E6+7y~Vfi^FJF|T+nd>(`m(G5g!kS#3y9uP zP2olslX0>j0FXdPB{$ZJaWC64-)W~If@Abhk6&jL3IVtnmy(s7>WdKbXgFS5?*R%a z6aYx6j1B|}AyFuS07`444FE8b(kcieBSeiANZlX|SX4T2EHV}>4Fme3$^ls_2$Fc` zuHDJZ?7<_4ZoB9HM-MK0;8v&8UEKP@7hm-QuYJR|U8jW2W;)kp#O0NKryJ*GKS_6t z$61=jmF2`VgTO>_Y;;f;8g1pAqeF)eF~hgMbz4!65nVnWOQpx-!5@F*L)TpMLswjR z#TT!?{ 9#|ql~F{sq&pOOmF0O+ zmEJid0tQFkmxUuAgkcy34Nk1JB~{aE$oH@ODTHJqsZ^)aF<~&pVL%|{<8hwnLJ3uf%2$rZ6SkulFP%ZS0JZa5h0YK~r a2 zlJ{_u`Uavvp#UJzfsz_v($q$bfQX)u?U5tPww26wTS^NMBmhBZU;?HjO$b;Bg+f-| zd+)M5H$mWth!6n0 Gr!1_tr<5EsJ8$*=N1&9shC98RvOvqJ>3ZI %V-%J@?*m`)xP3TOIGcC&$b}u#mFRXtZ0MD2lq>?%8Lbd%*=4Tzts|_uO-LcQ!HF zvmco-0PmSO9}hqA@oRtK7k=*X{rm5|>%If~_8mER_?|oNdey65^K-xOzH8p~LkA8X zy#K2=pRprOm^?WXrXU5CWr$Tyg;Y8#asnv;Q3)}<4ups#C*(SyDX$Voqp=WjROCT3 znVs!)( D-6R %C0 zLHJL9_NjOM=XW(bYK?}wckTL_|NW=m_jA9%z|OhNQBw4jnCZ#wVE^V4%=an!sDlHc zq!7?-B~cuxQV54B$8)+H+m>-cdDP@X#akC!kpU0N3DxWOHimsvlBOBT^ev~*{YfSJ zax@G>UYwuVy0pavfdoc&01ns!S^y7qo6BUT88L{7at1O3E2E+`m Y~|u4dFxfLdf`j1n%%kw<9O}Z@vq%-^H*=a`Jevfx KyceckI`|6}id_ZerL8pS4UHp{AD@DpDy;pSUz{>|U` zjo dJAaMro1~FuJlC z2}Ddx0xU}4!rIE(Nqo;@TD&?j^@Z4Ttp@^}B#G9Vh{` #^Wr@>WVeuMDAo7k_oIt5~o?2Re5&f-~G$Wu6g-54u)KufByOJ{pt69=tF;m z-hV&CkLR-TGTq>lk>mhEVi2gMElWVMt(s{eXI#1?*^=7GIAuH=a^1x2*wRg6CA1_I zhmNisTi=i-wyw@jCz&YY2~bJ`3ub|?+X)uu8e8UP10{?giG=6`TZv8pA=Z3=fKiZ` z$RpR19DslVgD?o=u+?mIT8&m3He=HWO(Qmu7D}>KpcPJjjL=5vP?}KbP%0y&2BleP zlEO(zC{ap ?);XYx2 z05U2ejdZ@Su5g@t7*{-UR3KQ-B?~(<-)?l;>x0q#4?j9C?6|DrR_BG6z4)@1T-ll1 zGRmqu?!4!ZKJus6e*6 *18exHFYx%tI;qm^)e(C@GH)+* V{{an znw!r|(>=~lth_u4Qhn;$Y&3bwetIgVIxP{Rz)8)82&N9D*XymX_i&=qu&HUXnPCg| zUI~E=#VDI!T##E+Z@_!rxogMK<)e@8+jpW-`zh!9G}WJH+`->*J%{e24#2V2X9Glm zQsd6u+mWE*qnWXq9|z~OcD70#I;Ff&>=YNRL~h^KM&Ur{QC{skc+|20F%cdX)9@9U zg3ye{1A!D8$j572y2+WRFU@w0(WI1@SV?J-EwI%lB$mBi{_tZ*a?6%k8Vo`uG=p%2 z-XjwtO4LRLK^Uj8l64D;1R*>k0XhW7SdzB{m1paybX--ww7#;ga+P(ZbB+)}8P-AN zqS8wX;E0;t=0>(2b+i-CF?a-_br45snxxIN(QM4jbUNKmr`t#x+C&hBtduK?erZP_ zDuU8;fzoLsr3wf%LB-NTKtdC!0<~4DR#` 7(iK7@% zI_sHG5Fj#muas)Hn+WWk%d0|5sfB1oiA3Jm*s$I*3YLPEKq;JaAe#I8qG!+7;=sUSZnJ*?*z%{gmkXNN!Gh5IJBu<1SkFSq@U??P8QikL?M)x zr|jJWb*9AtfKtgrhY#ghArRq&Sdp(asRV;S6b!_SD0c4LJuHiG%bX5FYb&Mn*=L{i zPoMqgvMNzZ=UGU6(h{3h }#h6%u-4v13{XB0Bs|d8(D8=t~D-mKpYmiKoVe)g}{kGveF6} z0XU9z6l)L)5Q?HGtI9dgfa5&N#$yJ{pae<=;mM-2UOSBrz%x#`*odOvAC%T1%He1< zH#c|Y`OoimyLnaI@VU=kf5SKKfAmnh(^(yiv<|`~zF_x`c6T;zqz^y(=%Wuk{EAmx z-D OMe&_do=Y4N^2N`U3Th3)k ztixClRZK`InFXN`thAKOC?joj(1_FC>PGHMCI*3Jm5=jr5+zX@j*D?=ov3A;oU_hV z-U}t_lyLLbnCE$tL}6%hV?339TB0T5EXxOj^+wuA(xmKLJOKuH*u*Tq?JoPC(u5~u zG0YSMu`z+Ow%*l s8!Q%w10A{YLq9}R veLRRQ~(p)lc)Sp2JlYw2GzkM>n03q+BP9FAR#l= z!=OkAS$C-r1JufAB BM8wQI)9HHetn MP@^XyAOLPEL4c#Hsi5T@a23|5s z6@~HcJ$pOd?qmD+-E#N6U;g^d!xEh1Fj7m4i>ID_&hsz5i{g;0Ezx_Aos|znU|Hppp-LJg*>dP;`{No?{*d2G=v2k$ufd}tj z5Yjmpr%4(I44#Nt08@=jU{%?&%owDUN-2}ZiEX$dFX~Nioy&?mPGS=VK@^sDSkv4a z%|>(7KrP34F~P|Y>PSA%vM^9e$sjUCSpuGDp7P|! 8X2mF3vV>F;oHs z127>X(IjyX;--)hc?A$CrP ia3s&&C~>eKs14oLV^ZB?zVL0+&EvYoFx#Ta?m9~QB_sD z*^-JXUuiAJ*+{32UAuPe-o1POvE%=G^UeF0j|WD3rQ7o}JNBG)&5yk6v~$kYopxSk zCJamG&pGFL+qP{@l0+L5n7~<%@Bi-aX5*nY>b9G{{^c+J%g_GIe|gbmm%Q)ie)iyjgFo{h ze&W_!Z+rQkbFz)~W+Ms1a5&mvR5de J?>$JVk|b@ -qC27_14yHSuHIsMNz~8M`cdzg;Yqy3=G11>&Z*4gCHR8*D4EjTuek& zRgUvKh=RZ {$T{gw28!Fq0>r#`?^&cXnD)Q4Etvva8s!sQtDQh`=CA z7UTd}j7Q^@;~N{jp{q(J%S?S3TWgzxq}7g1V3bzuJpg!Hm3hCFs(Lsk3xPsPr5LeR zr(|RSbw!2AQ+=~4iprBfKvy|W#2&!QvZ}%`>~?477rV|^WmygeIY7XmYt`hbraE!m zx<%kW=HYh$03ZNKL_t&wU*~1RVZOdT&{``cj4@FhXsrPt41zFJjaU<=%4i)`UPwaC z=scC)`@9$qvteg$wl%lZURZeO!3S@D@ZrNpk7i}%Je>W!GoOFSOD??p<+HO(ve77p z!+t(`@U~m;x&OiIzHt4Wcii JWV>7^GJMS%*KX=P<)W1~OL#;s1LRwfI= i%sAhL5a&AeRC zt5Rk{YDlHfK>)-6C?ss%+TO8amVJ$~$qC& er0klzr0TK}a z2S&HsaoR+bxdBok1ffD@7=_Y-^En!_=x1kVWT=lHUw+`Bed8?CN^YIq61Kaqd&@Pu z&V8X#i6?&O?z_J5 -GYmJE3T0oXk z0{cdzNyIZVGYbm~yLRuq;QaH?IQy)2yVYtn4<9=EvX{N=l8Z07<>qgE<};tU|Ngtv zB--e&fANc7y!GZ=-u EOC9^&(ANlI;~MwmL*xoMnQkj2ZT D}mMBc3xRK^%KIordVQ#vQ zCvF>t=}vOqGqVYTG)=QC_vGO@UP`IJ1ORn7f&k#XwazM~YU1=$UqT21F^HqI(SVx7 z!5EN0G{v|W9_gpEGb&b9;GTERxj*$&Km8lO{_9Z~j*Co-Cx{W?vqvs_mfgqZFg>hm z)`;zP8miEs4!ub+nv?Ag#*I=L4+sQU1KedJE$8N?iM$k=q(8E ~uN8=Jmnm8tFoz2@_-E6d4 zY1(XUl@f`Zlp=^iKtyW+fS6rr9eOlEXbp9xhrI_T^ejj)2w=%|+lmkZ84-~k5&{?i zCS>AP+-x>urIm9wj^fd1m^Ry|HQNMeEAKry@78*~n!4(IO|)kuVXMj$f>0hnC?%x; z6a)+cl@yHJ9}WjuVImtlbSPrTOk_ u($#9{-EK`kT*u{?u?W>SkN|ZW?8$~wK#%LW#p@fKpPz=7ZV WUtrkiFLX5`4{%FG<^%LGHPnbJ1-H!J@ z&&S!gsO@uF4Hm>+3Q-h=^G<_`;!p^|z7k4L40*cG=t;uM-%*G8N$UiEtWK<1Dmj_% zg9HHM@wlq0s;UB|PRtNLStS}kNa@MPaa{k85OQ|HXaTZZ86COpvC}R;=W$x8$i3=S zue#-?n{N2hml9>1bG2%;KtbLE0OGTQhCC TIGLd8v zItN)^tgNoC96!FkzM+(!nQ6CL%_NQkV~p0!-Y63oqosDP@+1*CD|7F?^Ns=7V^shH zR@RTQHAWz=JqUZ}obw8?9@nCT5JCtEjA(&LFaR2D0GNsL$Tibc%MigAw$uSOO;}rP z5Qf%zYm2#sw7y_OFd7ZBac(PHRidiAa~`}yl)(O^uet`)1S5{J+yRjg<7z`kWf00n zGmavqq?Cagk4J}B`bsG~F5@J5!3$n+>hqo#H_~Irmp^yi4WGO2Umt$#V1HalCBT#S z%)auh!l>b$v(7qT0Px;2cqKJzN#vz408~|(lu8H*NUJN$^9$RxitfDg>(=@tN#^Ee z|Nig);i3yK`oXup`RudLc;`Fc{;I2A{!gFz^rt@g$@}iPE6d0K@Q z>dMN5w2G4>erFQxcfFpA #JBHddX>_2c|ZEY=z!uh#v z+qZ9xQ=O(pDsncnm5ak!@`{-^hJ9-*SJ{pAewi0#RaUMfX7ZX{$XrW}6HU6`YKi7L z+CW!Xa+MGQ0Z}j_x(Txj6$$`ma;@g-p1nIH6ACzV=wOjoQ4}#uigb-eBTeHlGPU9* zGlXFZvkd@Yt+$oUvOLSO(J&v4vQ3L(REUZJkWok}l~7U;u=8Gd7>-7OK^U7}ujiG{ zi*ZquK^X1YyZ5|v&!r%EY~Ldv|J#4O=l*?1SB63eDFr!3DRyq#(VbfWRK3++tJOLE zwA07qQMWs5Ou*ptycmziSvER+_~^>< _BYgk?BWyPQ?=aMv9-#}L(06Xu9 zd1ZAaFY>v$ZmZpHwHk9wb$`F$`s)%}sny=<#(M80n|UITae^E6q{V;){0zmH?|x&P zXdB*iOcUi+rb(EDPvbrCB-WbuUTZytZy1@&DvQFXsET~8KRmj6=T}x=dR8l#3rd@x zeb)0{^Ts#*$wxknh!TbKep8P6*{b3`SCtnjWp{RNZg$pJl#*%Kuq)fC4U$TS4gp;) zT@l5>V52{`ke+e&PFJ}=#r?Hnuu(WGg=9JbVG;R?u$Y}|op$=p&P)VchT3F#1yjn- z>T2(i2k)1dMuFLT>YnyYr`c#Q`7o4-zN{)Cq(@#^8x4oWXgnVD`+1hJlk5Ts5-=7b z0bpWuljBahX_Qt<8xQs96=DEo462v`7>LO;0y1+=3<8u=>Jayyy4Y+6#+bFWjg{l; z-cxU5TpLhP6s=aP(M+N!sBeF99HxzC7=(G23l!aMx6|RWEUU_vWmT4Cp65kTRAptY zCuSuuiejZp=POjyXrv5QX)enmuSR2Aj4GQsZne7eJ9eLS(S>7Y@3`mQPk#Edk00+3 za&MjUY?iicx$4~Wf8gp@Ui#t}H#;*24 #aX@|KrQct81%+OE10n!3Q73{bFHZOBAKdh!lR~#&5jqj@w>y z^()`@);C{t(fL356Ysg|%Bz0yXMSOI-=VMFdUNA>=Pqc0vDR9Y-i YZkQCMp?$}&&VG;KDc$N&H$5 Iif#3;ie` ixy&D&y<$Nu> Wa{lR;0|JNG@FgwRYn=E+oz1NVQx}IhC!92-aOcZpxT_Geo2wj+R(#A$?gV0Lj z!K=y(SEH*Y#BJMW87gh0tL*C9#@fm#Fe&jQ;1U4HC?(Ez+q-seX|w`@3eji9SV&<^ zI2w+QE-xQFvOG7xZEki;+GsfPQfn!MwcZPG7LFWVUtL=pj|wT$(mC>;84xt0R%n=D zbGkJ%5&7CoYO=5+a%BZ#(!qs@gcF%?W@h04fu@MQV@T81Y S zK(G&M0n;#mBIi6W5r*}IHDU;AO%bi5IGLSQVHgP!hmlWHLPSqwtE#FhVm%o2*VYet zUm}wP4zx6ZloGAW0SS?dGOwIZn=`vlKfSwc$J)mFZTH=O(_QxrM#C%{l@%_`Z++ui ze&o_uymH5`J&jgNXjN2I6vexC?mGSSGfq4Gbb%_*a{vJFo=6CxwUAN*`1A4H(P%Un zZ1e}C)nkRg=;4PSBrmpa-8mj*tyX(+ap}N;$Fd?50NFUd{`%`~y6J0|T>QeH{;Bt# zaoU-G@{vFJlmGjJcYo=|OLy<-C>=E8Y_I`JFjNc`2mtm)S&g%P+6X{+W(UX~xY AnL1VC#9kUkt`0v)&6rgNOoAO5?q=){aIa0MJJJi2~!M7C;SdkXFKk zT8G-vq*vfcb`7v8vi$#jbDaE#lqe8s%1l8Na3XU5wws!mlu{>xCqQL%RaHi6&WgZ6 z6b7sJJ-T-Go`nleU$(>z^ |&!qLExnJQZW0;bD7YEsXqJMvn(GGT2^^+ymvgS#!=8IEN#jW0-#bnJD)6V?<&RC z=L}wkDm1}xIDTl~!_K<%E<8U@qH$iBl%yBrftY&h>&wflN0*Pg5>O}xWExD!#|+FY zpaRT=5-5a}Qb_?45tWqeoX_)&5RB4+2^|v=c_Ly0My_RPn5LhGftit )~Np6%gcmU3;B5Jm_Y}=MLn=J6IZ{2n0efJ(& zJ}#tT Q7R?(@85U&8E0(UwskZd&Cky- zEp6NAtvXi{yTM?XWy8;X?z1<1`G#NmrC)mIH9z``zxZGOzBAu@{P1GCb37ZRMk4T* zt&2hg%SU>ip(x7Xcr?p1D9N)0Bu}KmkVz`7q|_#qQ$_WONU0D)DqZ9C8|!@l5JD;? zopZLbNt)ECq)-wzody$3ITu0+Wu!J(mM2a3d*XTq=OMn+t~@C`nPM(=QzTEdR+(yA z>E<>%aa=y(?1)Gy$tSp|T$W`cN%D;iS5}5G5@BV-n?HZ!51xItQC^WaZTFs+UUk(+ zul-Zdg1pCPwWjp!OC_67r;X;~;+BStqRO=M@S^0jMrpLen3N=m%w85=T0jfZoqzs0 zdrn Cwakah+vkHTQ`}eK)Hnwix z)@U@8Ql3j9sB$qHx?@K+R*r9ES!SID;4lcIC{jjQ=fcngQ4oe9BO&-ui&mN_so2w0 z#RCwfK*0c2S%Q$-n3_AwL{()`gaD? |HMl~ySQ0OXw3S_lbvk|r=SozTc+&zaO!vzcnG18tIKBZ{;(EJLS* zO30kW*x_oFQe`u8c~#}5Eh;5Ml+172rIVQl4jjDcuDh(#ht_(eqVq3)@f&{d9qsN` z8FdClb?eQyUU$P+uK)6vkFBh&Z}f3<&@3Z}5<~&aMAI;SDx70XkS2{*yR)=#%Bg$L z-M)S6&Yio2fZ?#;>-8FqWTrb4C~?P~x8HQr*B*NC-hO`#h@5lVmbSg^O>ceY8{fLM z)%}-iKPHYHJ9TD8dyCB4BvlClqqVicvE^fVF={sBE&nfX?-^{_b)AW=wf8>x+ X;rIAV{TV+{Ot||M6J$BWUN55R ofW?Ief#FB z^?=A&tF&>*Do<4;`sdDG>23{yBmg1{oE1m}Ae0Otv^$-9%W_6J%Sf*)VuFwo<`)`E z`&v@b+G_Xu)lC2?K;mmH27dq6`+vl;?BQQ$NxCwIK|FNiaI4j^duq)@7cX8MkH)y$ zDG7TBQ=C<82myq+_rCk2xGG(-@AA5vTmEsp} K^Pl_tfBb_#dinCjNv2V$agx5~rp{Kb*sVm&ww9r!F1VMEd)@KX z%j@6z);AXy7C-i}U%YbVl5*6+g9qa{s8pgmZoB=FM<2 p7+ wXw+ZEcOl-L3An@LFN$ z385U}kygyu8xGSXorM!6*bZKoZ^Ye~{7sKYnNhf@&H=zEfNU-$Hrf@CY{3l1Ll!7_ zmU-B7EB^5^=RfkVv*y~H(xxc(0O)(ChCd_>194B;bFYj4HGgHsz>QQ8z4*=V9J>2h zc(lc?6Si8P`scrV`pheNn*8X}rT}l sAx&Q83r21qvY@0M8h!b)ijO3Yr+rOcpGG zC1kYLj+1G5an_P9aumXIT) c zudQwTU;pcGfBEmfl^O87AeA&3Ps@9
eJr>-D bcmDnFoH_H# zPIu?;zV`UZ{RiKD>nR!f>%HwGi}Q#wOZ4`j=T3F2wGh|ql}5cNCO1|uUA%Is)vQI~ zoaabKs>x`&zP2?O45joD0ADo|du!}wA3?kpGybaWD0y3$@-UPOi!Coe*OTk(TZ6$+ zVEA97yKL_i5TKL{+|7F2^p8L2xXeUMV%KvJ3 &4@Qvr*x&H&H z=6;@@IC0_^KlQ0U`t (s8$fn7t+v^-#wAyj}2*5DsmA1IGeyF*yaQgI%n;V;*eeL6SEvI6vYO?fTEKm@8 zM8sqeU}vzkwYBM>bK9LKBe&^D#Y8|LfF+Xev#WqWkH(YnILR_u6jT)Xpg&*$AZIcH z!4k-VEi+kEXbr$Zpb*F~!yfG|QN){bYh?^=L1ke@+ _dopp*5Y!Sq)&YN*-!uB zpP#?HhNz4w`qN~ZXSI5x+H6E|Wi*;-ZJLc%nx>U%wIoSmW}|JM=UJBLc~KO3mS%ab zEs>NiGchS^tm}FGUVmq&d;9IDHa9o_;1B-bi;sQr?z`{!xu5x|x4+}TM?dhP`|o?; zvBw_!?4SHeAml5TFVv) ^t zuA8DqS}?hjVIIeEQP3VVlmSXkrrpP0?7|mmui>qX2WEi+Ga%@~2$e4^bq?-tF`+K9 z-gXyX%WO*cdS$~`(;TmXjs38^7qe0c0};_4_Yst4Ww)}k>#)53y9`8@*b*Coa)tq7 zAm%U#2zb^M1E30OOJ{m{?fkc%z4gQINR-0Bd(V5`_pPseWA*HLmJ(*A_qRHJ1m>gc zaxHV+)k;MvmjMM~BdS+*=xLM$_=faSd9Sl1J#*%aQ ?7qt;B7s)nG6f4%Wt_ z?r=CNy9pe}%{A-76os~AlO#>16#5Im3Ro}@5(tp4aG}%?G{j7VDEAuk%f)If0y>^6 z1n8n5DvG=~eC+UC`>?esaN)=znf80z-89Xmk^q2&aj+U!;xMW-8%@`Br7tQqH r_fy#5! zDf9+IsY2It_b;@M-FAB=j*Gnb{D1zd&-|CaPRW@}(#&9Pd2wm^j=S#uz=u9`@BQ~V zVfZ(H{l%xAdgh@A-`;Aqj4>t02Qynsd6tjIlPpWKJfBV`{r;fa?T*Kje!q9)#*J>b zd-9f(FTecKbUGzs0MJI?xPE !AN=6imtXwM z@BRKWFFt=HiZ(|*C2CgKB+ru~Lu(7eNmfjzX`>M}TT!FYSe$Q7M|Nv{w6Qfvi;NJ* zld+P)p48J1%v`>1Ft9NcS1ZkCWo{vKJV=vbWp!gX8VV8e>(HdLwhFOlM+oUPHs*&O zh^2#$08nyhmu1S`4?pPZ05fSRo;AMB?By;Dr2Iv|9znp4W9+4;PghSYxF;3>pxJDG z_#+?w-B-@y_d>+~)5cpeAG{aZ0U%%{j2gAN2U2Q`jaqV|j& z 9&h!zp05(}+;`}Q5kbe6%GL=hjXJh=ZI z>#N->7q1Pw1Bs46m8Ysmb(ecLu;(a8dhABl^;HlA3kwUL=X=WYV!zR75?JZTB%6+g z>DK1B+w0{;k!fw2$RL7)h)N1TumUVm &b#icw&!l_ z>^%0BuRs3vZ&xbyX)lSwuvuxn@6iwa B-v#vFjz)Ppa z+S+zK?sS? TJP$tFgGy+&4cL1kV0LwYh!E<7qxlihgf6940!~tXWzKq$Eix zv1~m=6y+m^AOTAp2OuCT0#OhfDMYmr&vn|JP7p CRRcS@NqjlG*BZ2owQ< zC9&7V1^oJK%MTvAgujRY5(OCxTw>N4%ablW^zUs7OQ;|afHg)bwdb5=rHk4C03ZNK zL_t(2A*|6tN-34KT1m;kLOP_iG9LGf7ythBg9{%PfoByw`rh|H_UHfajT 8(XEZ>jRaID^6{6oKRJUtH=mTZ%+r)IO*k!B!{nqQW!iTa*AWL)tPB5+gE{gyjTa zg`?}uVDV6=xxZfN1n647?oFmWCw9mA&<$0tdjPqh2q7$tRgzt*W9}O}WY%QW+SUHx z(sn+uqY02u-AUK0;l5kq+wMLQ#c`e&0Bn$RB?(zrRt6-o($2;2+_-jropPnPDy tdJ>a`j(6%-zuqw8aX(20Qle(s9*q)1LA8DK)ID)y?%Kxo*PeRr(#rbIFqvu` zWpM9<@BOJy{L-BdJrp GEOgEzI5*V#XtSi&s3{50BNm}QUb6LG6 g$ic@btG(7f4zVl2v3Ku+Ea-J`{Gau=_hp9*YAD z3#~>}Z&ds!N^Oy{)&erE2ffi`XUZeCQ_@o#IB{MWUDzm$3axda2^dijvp{q_Px&aE zX&8IeYP`6x5V)Q-#Fp0AHdbz|S`7l-EF%=o9!Iex2sOHfjbtsL GJm0b`*x%7OrJwtYw%wJgvgX4?lS5;aewOp*{NcH@^D6|MtJl(u@(TG2gQ{4`7%7 z><5h>LFyD4l#)?g3H-p5N*M@^s{4^=q#`L8MOjn$9_CsAAdo;5Q1H(BaC39pyWrFp z 4T=e25Ud%b`4+;z9`P*vQz z>j(b+qwNRYf2+aVSS!jlXvC686fFxuf>;UX-uv$Et_^#WiBbTJSkkDzI(vIwBE5Rr zXaNY(&h(l|WN8{k;h2*k_Swq~7sA23DB@;(?>q1P&bOW&ttBpp$c(^*P?l=ZxFs6N zYU)oXJsvrZbbN$sBm)Q=elTBKJib4t?3>R&_0=c7H5gAKf4<_kq#imv?bKYaxztTE zCy*o|$umT@Os?aoz-!FS*Q&MNaPZBqe`9+%-CW-gZbb_Blb`(fFaP>)$*^XGNczcm zI{v%I|NgJO@P(INdg bjnC+#`pM-+lLe z_uv2E(L;xp_AL$igKls8`n7BAR_l`=|HR7bjnk)}efHU>`~98Goh{$-*EiPx{6GEK z)6YKfzx+@C>K*TX*Kn|L@#2fytJg!%1rmfv0zg47?Tx|aa(kgN-*7>kU%4D@y370K zmk;dsDuIhqN%BM0Yy|3{aIBM#i)lZd^b=iBk?F!{EDBlH#iam%FpgZ$^Fz6O;1(%G zo@oaqkdWwHxOC~p^;O>sO<{ >fkr=AtT}s z?a(kY%#?zd$&%|h*4S#THW&<;m`WsKsSv_IX@2?i+2z|0>ev* )^tEq% zBaWh-USGX6DBN2$A5uyH@Pe?@ZhNi=1R;yI6U6AcRtS&)5?(hmv-DAk;4L>uAjevn z6Xk<+YuLpVqR2daaG?<3hRPP!aU~>5$xtMrp32^h-u27dn=3m6 Zksr0%S z7#M*Spa6zmujjV~3E_F3wnb)>pjFGKMWtT3>!CZJ{PHs*(?Behnsq$_Aj{IXkpQmp z5mDRRXlt}7(rl1TcQ&qGe&S2lw^z4D-6?4zfHVnlTk<4S#XyGD+?m&nIz)ctM^v{| z o?}- z7ua&E)iha(goMIc$yN;WQD$JypZm_G(+jnha#^6dyt=hDoGvZxTbOT$aZuzbN~ 9|15m~acRuUnkBTxuk6oqC+oTjvXeRFfQo2N#}*cPS8C?S+7 z$ %~K$AHokt*z^mv(I0?diMI&^Q%PxCvUyw$kF3F z+oPwx`9iv*K`R58=*ir^%HdNBqD~mG^aM#;W?n%s3YI{MNgye9935}1^}3sV$-X0e zw!2YQd5OHIh`Be>gu)^k1SorA5M`2&Mrn8P(435!9Brg#SAi5tsS=qKIR0d9M7i}n z$B@Rd2M;9z0t$%|SpXxV1YpAeN@%n%ZD0M)`uWvqf51k2%J{BPs!-NA8M%f$?NuQ5 zjVp}`oUj@gu-X)U6vnkie>A>y_4+tT)57d@M~9Ey@@xO?ZyY^&n-^7gdZR!7^S}7_ zzw>)ve*7z28(RQinHadxg_KSSX7OA%j$=njL{ZkNQAm_RNQodyHa97y5U%S4z_hry zG#m`CU%zqg?D_Tejqg13Oc+J2R%3a2{{s&`__nvb?c}YudcJq|>{-uIp69*v-P4P6 zt@V}bSu(;>3#gP`V6;r5bkv*nyQA**aC>{u^_)0xYGlQvKba1uHZk+f`Ph#D#pd?* z`p(AX8&@3PLn%mD4O;lh2_4~q8#!Us&uj|P0Gd3XuCA *ymkXIGcYkrft|UzvJI1nnMexJ z9}IL}D5*+X<5^;L_mKfaYYZY(DzWQ2B|d4EJwc%yWv!hgQvj3%l9&NYd1nc*HSI1Q z+wata0!_VH?{4pW=lRp(O($?(Ki-`AK!Dd6Mg+?g$KhOiF7iVK=n^bqv>+-0xt?(p zDZ!Fa@M~p0Z~7@MiWDpukpx-^EEzm`^p2CA C`o%N< z&2Rq8(=VP|S>Mc(3>k%xD5a1}I<8a-gorAYTD{>10ZNhQx+sjXB!qHZR|vHSKNUg> zR8lExXnEiA@#Dt|OXJC8Fc`l4%FEw=@`*2f`R{UF%+Gg@9zAmM X z?XB^!o5Vqt3SdGM5>OJd6^sIeLR5eXtzsiA2ohkBtpK~%uuFijC!#Q08T@^JcGnOC zF_KiO)0vr%@ 8N-rGW?^XOXO <7z9M4Jtk}ZyK`u1@y6=48=LDp8>@p#RJXe5UAgWGAsq}O zCyZP_l=XI4t=C&~?XXtu9Bgf`j;@{GvQ)SzfDJICVituHigu?F#}#96QjGiKUNK6I zW@IHvAUcdC|E?&7f&k3-Pl)WnLJ1ggR`f+8o8?(0j;*zb0s$PQ%7sy8LtgcN;Z=B? zKwzfHc+}~1003`lhyfyBxr=ji*OG*cMu9+p%!-7_c)rqDf9~q7ciiPJ#J+S--g3(a zKKQ{u`P0w5#o*=5n2* tXKAE*WP@s9o1%HmosH zO2<`NYhr8BXx1t+1GBbtG`jm;C-&XiE^t)?Ij(QmktRYAf>>lA6B}AzsW@(^0|ys1 z+3VNWO(r}ona~0==%}I^t=Jk 9*N0vF9I) zms}}_qtQgCGE1&*ZMK#c7M40fV6_q|Ug)cIXL}OLx??Jm5YQz3Y$_%s)AM4iB5W=; z4&8FNzFZ61O|KqpUR~e5u@QhoOC+e;433{%n44=xVI4TkX`Gu;e|@lVb!)sm$wz6~ zV*_On%n|?@Eg*fLmfV|i@UuINfMAUs^n2B6%ytHNQ%bq6%Uo89aHc*8h(Ls*TpvOT zW=fN()> k|QhvKa#*4x|0c2R2t$2mQY1`^YF5IVlu7k?XEMb@`r09_l)jy2Vd@ z^rKHa@x-M|m*rdVKi)*}g1eYYL?MOL)-pq*+1S@vh}a3WYGFL5>h;|7w48|sz|0@t z-N%f_iGj+TmbF?sGN-&ysrDu(?mKw@dvBk=b&+70^Aw~almHH}5+G5tnBv;G&CyOF zWYB1Phi_fT**^E|cU^F03W6kowK82g)Vb~MlbXzn&!1bn)|J|q+NV^>!V5%{4zj^o z|J> qVkUcwmT{K7E )*w=@UGLyGY?a+6kv5B1xP8^Zrn(x zSrAoS87S*fhMdcdi{0%D17RJh)GROp gtJP}NcDvK*%+1Zsw_EMb+}!-aLKub{n;U1(o}DHM2po(CYpd7U zP5_ +Xk6|Uo9FEm!fb0%tE0s zMQ+k!VQxt%nH!@K5>xC9`sXiPSYKahwSznz)S~e2J8#p)*c2IQk3rI`W+E8bi$qk5 zok+1FFLIcnQEkn&8lzsXNOL40!G~@+c=EQRLh)cY9u8BZr-6&jdhO8u TGmzfw-4*-&LG79t=RJ@e*Z=5Xu<__Np_g&-ztt&plx zt -5^kY*~BtTeA zxi)!JsQ^1g0-Kk|>#N(_jfta_=lP!J=|bx?H)&4O+$2;JO@fd~%F-?f%?x-`qeL0B z^4_(~Qtq;3exKod7=-{Nk|bSFC>l4;ZLhBngKFq`PRY#D+Z?zQpa7cb0K9I7`R0v8 z zufKdPn5`vkHAp)Qx&wJgz6oQ!2ByZ1kjvhN2MwMQ7=bPVr zYI9>fj-p{=1kl3b;s-zaQy>52FP*skPMc+{Gm=tyZq<{E3oWH=yB)P#ahfHS*o8>x zqA0XxX3zDCA~)@Jo~22W7)_OUQWSbP9y0TIJZ?5x-EQ~t YiAbXd7Dr+&XOz*Jb!6%sokk=tZg1SxKs^e< 056&$wcyVaG>pSZslVzchlxatK_6>3j-)A5KixNbH$V^$1g;BU?0({?hTqiGH z( xwqwSrcA61gv>^pGy-~9G(f8?V- z(V1_P%|KWdmIZ@kM0M@@)%CUY`|iE_*s()Fpo}e;OsR&~ZZ+%mTBQ;NLEw45 8#KT9AwL9%( zIt5FUVbbpn`~9Kkssjg?QBrHZR%?5#^iFTXP$6AdSnixWbqhMMJ=hvgheFWy=4vg9 z8kPFi+P2MsCDi6>txmPq-#K^gV!u04#w|v6GS0Vpy`;$Jmlx}uPLidQ!O#Ivh8#c= z-(NZ9rZ+_ibeegs3_{2#ih>~6b5T&rJj>D~1$fma;7zX<+7-Rci^BK3zz<5sOvag{ zB_p7eC cz<2aaUk zNL57w6C*VX0sui$f@5 RdSib5TO?ft8B)?NJ*Zwu3}HI5@q~VPUNfHrLQ@L01yOLat2xp+e=0l z`d3FPy{X;}j35Lk32_LGnwoD_U1SLa$b~Ij$8~+LQmuz!s0-Wg4Zi#0%U5sQm?TCz z0f9Vu`(3~BoBwj(frAD>x=MKtA~Uj(NQjwE&z?JX?%cT-UU=c^)k}wu9IDrAd6pS# zh|F- q6V7gSwx^faG%p|kJc z;&9r(wsPr}bFYk(K@>Tm7er39xzd}A@`8+t ZcN8j*43R8jnLRkdZnbr{o;!Q{+>{MP25pS%xwTr2%W@!*?|Vcv91NNF zDwSm|ZnwU&y9>_`vMdY2(DOZ*K^ JJaT(wML98}_{5{9-aqobW5 zsxU&c-F)iVr;{WBA|d3P&7^*B^TB%;ebW{Oa2UMZI>EuChwIIjNs6jf3lJ}IR4tU! zg0VCo{JqS_?D|;{37yeoLfzZne*EtDpUmPed0AFW5J`{$Ex`H;g)OvTsdG+}VW%BQ zql&3_?#!yieBbfPt#|D=wrJEFYa81;!-Sc9M|zQa; ZUENu|k**f9gnj}EAOu20!LEWvtQMM4v*NpA#++Cd)s3}r zrQ&-51Kzm4vbMHaYqSd^Evxsu|Izn7`k`8*?FKO@F$;^zjEWFKNCNufKl c8aS)P6Nv!D6XKmC($e*J3~&YwMa@X&qt-8~!*fms{6c22 zclx 7=o}Og_|Y>;A{`N+8P=9YyIxHKj{s6MWRDL9Cydv z&7DGLVH`%)s4-uww8F+*nA1d4QfoxDMy=MYRjX0E-K A z!3^~TyQN;V)(RB$W)r0_MhhW`NFpXlG9Hf|rDnp1Wrxk~S4+DjgwR@NdDdz*g%CxN z3!z*`St{!|NX!UAD(U-P7=>Xatkf%wX1&p k;|SOAb97Q|4vNU;D7WE8rw zLV11=86l+OqEb>QK#4*Sz~B7s7ysS=`R`U&)`+-BlZ}nd_y5@Ym-o$2Ch5-3&SyXS z*(+DBGTG^5TCdmM{qFbe?Cg-$k3at9-~HYH`}xzS&zyPbVzR9B001BWNkl B|9!op}g#!PqO#^L2djuj3|o$55v(@EZ% z>v*v%d}_>98=aVi_5v3Kc!ASt&)1_4l7H>O*7eI _LT6D$9UEhQ23#Cqwe pwJ59@R~aGDWt2Qa!rh!cxH(zKRu(CYYxCiQ@4L5ipf%3B#>s8@05b!i z02j2dCh?Ra3tEd_w^yswY|ai=w$}z)C%4{yKn0{VNEwD<6G0@Cep-xA-E-UAzPbLW zf8oppo+?Q{OmTXa;{Bn6Kitg%Vc8|KyZNS%-+y2Ki1| kp!D{AKj?P5$t2B^%=LZOkM4il!v~KX*M>oOQC!y` zQ7Pd#D5Ve*Pyiw`{^1|~@nc{7vXFov9WR)Sr}cXK&O7f(rrBhg{N?BVbHCS DwW zG<)QcM}6NVvS0YZ=Pq7&3586igGWC2NV_#Z9;KB^{KS*r_|o5fG0%!dqtkBATWyK0 zwt1eVaTFSzuUx$}8TDh|(dm>(mlWrSf=WTX(t-e3B4bb&SQMNaK 7qrt#%-lYlX5>k{b3$!{K;qa~p(=;wm%wfhPnK5uzyaJRiZ?XIIWW zcfEfjHGT9< DO z;G@sr<>Y2YC0eEv7^7o@KrvXcTU2`WuFq CG#_uS=fwgPh@tCs+8qT_2~kC-#*R-y&d>?v_0p_9_4? |`=l^$0;paEINjSIw5^Yf8vU&0%(Z&qKqb-n7}0mh{Qn z_vh*M>a`)(Sc@#pk}Sy_@b_-n?C5XgcznZi{`zJ|eEmGW=@iqO8G=C)dlu)s_&|N( z`go@xQou=32#JVBp^aVD2!hykU0}tGvm_%ku{Cxw99tqK9hA!Ty%Q&n?ORwNqg}@- znDQ)f+<=&Y2+MAE03sql($ ?BGvn5ALM>)U%#8P^r(IC$=Yjv;J z9}Wi~0%As?UU=^Lk9_2C;QLpvT>Xnb`)qe-<;=_HqOdjJInb=v2}R`j)5%0RvdG6j z{^5_zH!3R^U%t>?cN~v7x7I*;vzP&elmd~ov91-AvOwXmXA0`x*eY_P$ZW1%#_g?| z=T#*wEp@7{bgWh6Dx-izjLI52T%SDGf92pU2X4Lh7`S<*TAfZO0%f&Qp){yf)MR}X ztOd%gEhO5|6Dbv!&R<+vTW` b;Vc#+Wcw}6iiKMW35Cvi6 z_@S&e+RAe@+t7<5C!Th*{>ETuwJ+I|AmJuvLPV5^CeO1Z396OSL=aOLg_TNW)bGNK zXyE%UQ3Q}ePR8S_m#!@BKhSJ8N0W(iWSLCe`{JuOCPV2{%i#;YQz`t6*p;=eIxb z;8!2}(s(?^H>qCvCd~%|Ak> Nu&6G?b+>(BYb(VuAWQUpi{Xr1OIIKy}uU0yOVry-d_N8xG5CfW=Hdeb@ zyPf$K$o%-d`~9|n(B?MZ+}yO5oHty;8=w3)PS@-H4}Y)w_g`-ygF^_0k>&odeK1&9 znXD^-y4Os&m=t{_zz6W9@Buta5{!`2QLd0^jLr&^ LRzA%VP_WAWE ki|4jR(mT!)2~$; zONS45p%a8Mu6nEtqD3if4wT9R2lrok>Dt=LW&j@Vl2GrxPK6M8UJUyEFp6B)A!cAu zQdTRKVO+_Q>GumFZgS?CjGZRajg1XM)^QwHN)WplIlhU&WVR<%0E$p&IvY;iAS45) zj^BFZ=#l52KdqF~TL18C^@lPadyy9dNLSTcP2cgA2A43hZfKNiq#%JPznA4I3lrtF zSdfBHOCOJ)I!dlFkP+yOjkTo%3xWh|oD9>z^L(XPsP1;J)u>fNB^|dGw@Rog`nYtU zQxrKfxzde-`i<+G%Ln#N%qVE81HmF^Xvp@q2hvKx|35zWKcayEl9(+B5Q|>zzRt0E z8G|d^%k!7Eu77v655SU1pcT>}g0MDp+&Bz_C@!?gwdqgBiI*-cF5Y+FeSQ$2@PQ-g zxfVbn3${Xu!dkG}S_RS(mQX2TU_xLig=3kCVKnOdzDq<&k|arD_89KUHx!amvM4e@ zD%Hzp5=+3_+dFBR60;w8gTYR>w+(<>TU(#`Pyf%ip8V=Pci;ExzxJ#1?YhpyG#Ld! z+-`P;!#*VwVzS7k{0T5v3pzDR^X(tM`^SPl?`#bVEeuNrbd@-8aR2QGZ)t|LJMO-x zzi;35mtWYqx@q&AKs)RsNFb#^Gjr(1Ceu4tx29%udwb{3J8x5tWD8s46{}YQ*Xx|9 zFC5=*llEj}H#ev5V3L!_SY|o#M7R7%ICgHaUT+4i#j0pSKkcFt2T$!kvUoJ~q6`a` z282m?XelGqk`cjGPN*RvG$p~im_-J(%btadP~^pUI5G=HD9KC!Ko%<1YOP+&(*$;( zf1G_`_YS OUyb_)q)@oRnI&guS7drP-RPMHx^V-Ax+^R1%(%l3 zJ5>3@BeM!X IPvQ00! @Rz%pQrE z1Ax#4NVhD@8kHQp55ZSuiKv$I+1crFaGfWQADtW>{`NP&`N`Wq`m4YERiaIlbS%w! z?LPV7XY(YAB)Gzsz5e>y+1NXXL}$5#agIyXQ*j(MfsJC7T2YUdPY(Z>{^BPaH+MVR z&7E%Rv&Kh{K73laoCy;{;A0dr3}IQNI<%XE@hBY3Z2tVyAHH>aduI@dIi62G{QQ$% zyR*^X*jV3ecAD8XT@x;C8N`8rDY{W;2Fh9I-YkMCY&4IeiXhtQuM66xw-JH!p$gt( zWg4=q#tNfUWsy?eF7slcNTbwjVXH7&V3jFTM2p#Uc6Qz$4r;R;Ldep1FdWXO6X%?B zB`{w|@LnvK)j3w{hJb+?0-hZnR(am-^&72LnkL@+5Lgic0JCsl5hi5g8Jq|4ElbZ& zCsmW~+VkY<&FTC&R0)IE!sr8fwp{MVN!KG2nNrlU_Q9-*UUY zB@6v8>)r?oBa_iVK@lpnJ|YsM#7JR_;7TGu4X8vEi(;<;gnV$zGB1yh5hD>yx(yTp zfjEjo;Mrs *Al_pug-%HZ8Dhog$Qc4k#F(8aV0LP2v z?Ah_~?r;{%*cHF{?|${pJMY-@=|%PNyT|u6ABczqNu0FW9StfL)x@-eag6!`9rFU% zfL}WnL^Kj>m{z6E^w#dM;zG3e${jyF`T5&F0RUzW0cX>>w;qEsk?OWv#|MWfB+QYa zB+=7R(d%crp|*E64jw*hq^-*Gt(&`#|KBf8PscmA*5;GRx=!cgvnuCEbR9VTi8|87 zZvQR8&G-4vpE*cg=#SO#N=Ei1mV8Cdo0`lalqSre*gHRXID5XJDl*6v5YZ4AW+E!B zb45kkAw&Ww)tnS1Y1(MCI-QQN%BxDpQ4&SKjKY9iV+4{Ut*@1o+I#%) sw;dnBB{jFEcAbRshKib~9_Qhupo;^OO%7tR$ zz${i1DitXa^nfa=rpph0_u2O3^y-gx2kqXke)ex3KRkT=Xn%S>fAH*!&)mmZ7AXaS zqN3-bV`uW-PCC5a1_5G)h!7%#2*gm(DQfY?=QJA?kQD7f%u0j>1%nOwELTDoEmiR4 zorpwOE6kV6#eCL_`iM#?<(xyrPPemM%nMtvUlp_e#Ab*WW$qV*M&hb+YTXRSi|M4% zXeg}_fryOOEaHKKcosL|`S|$pkJtVR2N7wxdF{sT)oWjjKMa8wz84GXcbJb$(WE*F z)9