From d54f69361f8c49560c72830f06988b2180eb8fc6 Mon Sep 17 00:00:00 2001 From: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com> Date: Tue, 30 Jun 2026 11:53:54 +0100 Subject: [PATCH 01/11] Add pipeline metro map Add nf-metro diagram showing the full rnadnavar pipeline flow: - 3 lines: DNA (blue), RNA (red), Realignment (gold) - 6 sections: Pre-processing, GATK Preprocessing, Variant Calling, Normalization & Annotation, Consensus & Filtering, Realignment & RNA Filtering - 45 stations covering all pipeline tools from FastQC through MultiQC - SVG rendered with nf-core theme and embedded fonts --- assets/metro_map.mmd | 118 +++++++++++++++++ assets/metro_map.svg | 309 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 427 insertions(+) create mode 100644 assets/metro_map.mmd create mode 100644 assets/metro_map.svg diff --git a/assets/metro_map.mmd b/assets/metro_map.mmd new file mode 100644 index 0000000..3fe8230 --- /dev/null +++ b/assets/metro_map.mmd @@ -0,0 +1,118 @@ +%%metro title: nf-core/rnadnavar +%%metro logo: examples/nf-core-rnadnavar_logo_dark.png +%%metro style: dark +%%metro file: fastq_in | FASTQ +%%metro file: report_out | HTML +%%metro line: dna | DNA (Tumor + Normal) | #4a90d9 +%%metro line: rna | RNA (Tumor) | #e63946 +%%metro line: realignment | Realignment (RNA) | #f5c542 +%%metro legend: bl + +graph LR + subgraph preprocessing [Pre-processing & Alignment] + %%metro exit: right | dna, rna + fastq_in[ ] + fastqc[FastQC] + fastp[fastp] + bwa_mem[BWA-mem/BWA-mem2] + star[STAR] + samtools_merge[SAMtools Merge] + + fastq_in -->|dna,rna| fastqc + fastqc -->|dna,rna| fastp + fastp -->|dna| bwa_mem + fastp -->|rna| star + bwa_mem -->|dna| samtools_merge + star -->|rna| samtools_merge + end + + subgraph gatk_preproc [GATK Preprocessing] + %%metro entry: left | dna, rna + %%metro exit: right | dna, rna + markduplicates[MarkDuplicates] + splitncigar[SplitNCigarReads] + baserecalibrator[BaseRecalibrator] + applybqsr[ApplyBQSR] + samtools_stats[SAMtools Stats] + mosdepth[Mosdepth] + + markduplicates -->|dna| baserecalibrator + markduplicates -->|rna| splitncigar + splitncigar -->|rna| baserecalibrator + baserecalibrator -->|dna,rna| applybqsr + applybqsr -->|dna,rna| samtools_stats + samtools_stats -->|dna,rna| mosdepth + end + + subgraph variant_calling [Variant Calling] + %%metro entry: left | dna, rna + %%metro exit: right | dna, rna + mutect2[Mutect2] + strelka[Strelka2] + sage[SAGE] + + mutect2 -->|dna,rna| strelka + strelka -->|dna,rna| sage + end + + subgraph normalization [Normalization & Annotation] + %%metro entry: left | dna, rna + %%metro exit: right | dna, rna + vt_decompose[VT Decompose] + vt_normalize[VT Normalize] + ensemblvep[Ensembl VEP] + + vt_decompose -->|dna,rna| vt_normalize + vt_normalize -->|dna,rna| ensemblvep + end + + subgraph consensus [Consensus & Filtering] + %%metro entry: left | dna, rna + %%metro exit: right | rna, realignment + vcf2maf[vcf2MAF] + run_consensus[Consensus] + maf_filtering[MAF Filtering] + + vcf2maf -->|dna,rna| run_consensus + run_consensus -->|dna,rna| maf_filtering + end + + subgraph realign [Realignment & RNA Filtering] + %%metro entry: left | rna, realignment + maf2bed[MAF2BED] + extract_reads[Extract Reads] + hisat2[HISAT2] + markdup_re[MarkDuplicates] + splitncigar_re[SplitNCigarReads] + bqsr_re[BQSR] + varcall_re[Variant Calling] + norm_re[Normalization] + annotate_re[Annotation] + consensus_re[Consensus] + filter_re[MAF Filtering] + rna_filter[RNA MAF Filtering] + multiqc[MultiQC] + report_out[ ] + + maf2bed -->|realignment| extract_reads + extract_reads -->|realignment| hisat2 + hisat2 -->|realignment| markdup_re + markdup_re -->|realignment| splitncigar_re + splitncigar_re -->|realignment| bqsr_re + bqsr_re -->|realignment| varcall_re + varcall_re -->|realignment| norm_re + norm_re -->|realignment| annotate_re + annotate_re -->|realignment| consensus_re + consensus_re -->|realignment| filter_re + filter_re -->|realignment| rna_filter + maf2bed -->|rna| rna_filter + rna_filter -->|rna,realignment| multiqc + multiqc -->|rna,realignment| report_out + end + + %% Inter-section edges + samtools_merge -->|dna,rna| markduplicates + mosdepth -->|dna,rna| mutect2 + sage -->|dna,rna| vt_decompose + ensemblvep -->|dna,rna| vcf2maf + maf_filtering -->|rna,realignment| maf2bed diff --git a/assets/metro_map.svg b/assets/metro_map.svg new file mode 100644 index 0000000..9c9bd06 --- /dev/null +++ b/assets/metro_map.svg @@ -0,0 +1,309 @@ + + From acc1ac5a529f834a1248633e46db9503511d7b10 Mon Sep 17 00:00:00 2001 From: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com> Date: Tue, 30 Jun 2026 11:55:03 +0100 Subject: [PATCH 02/11] Add CI workflow to auto-render metro map Triggers on changes to assets/metro_map.mmd: - On push to dev/master: re-renders SVG and auto-commits if changed - On PR: warns if the SVG is stale (will be updated on merge) --- .github/workflows/metro-map.yml | 48 +++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/metro-map.yml diff --git a/.github/workflows/metro-map.yml b/.github/workflows/metro-map.yml new file mode 100644 index 0000000..2e92632 --- /dev/null +++ b/.github/workflows/metro-map.yml @@ -0,0 +1,48 @@ +name: Render metro map + +on: + push: + branches: [dev, master] + paths: + - "assets/metro_map.mmd" + pull_request: + paths: + - "assets/metro_map.mmd" + +jobs: + render: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: astral-sh/setup-uv@v6 + + - name: Install nf-metro + run: uv tool install nf-metro + + - name: Render metro map + run: | + nf-metro render assets/metro_map.mmd \ + -o assets/metro_map.svg \ + --theme nfcore \ + --embed-font \ + --fold-threshold 18 + + - name: Check for changes + id: diff + run: | + git diff --exit-code assets/metro_map.svg || echo "changed=true" >> "$GITHUB_OUTPUT" + + - name: Commit updated SVG + if: steps.diff.outputs.changed == 'true' && github.event_name == 'push' + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add assets/metro_map.svg + git commit -m "chore: re-render metro map [skip ci]" + git push + + - name: Warn on PR if SVG is stale + if: steps.diff.outputs.changed == 'true' && github.event_name == 'pull_request' + run: | + echo "::warning::assets/metro_map.svg is out of date with assets/metro_map.mmd — it will be re-rendered on merge." From 28e4966ce60801f2c914dc8993505142380bf532 Mon Sep 17 00:00:00 2001 From: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com> Date: Tue, 30 Jun 2026 11:56:04 +0100 Subject: [PATCH 03/11] Replace pipeline diagram PNG with metro map SVG - Remove docs/images/rnadnavar_schemav3.png - Update README.md to reference assets/metro_map.svg --- README.md | 3 +-- docs/images/rnadnavar_schemav3.png | Bin 380564 -> 0 bytes 2 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 docs/images/rnadnavar_schemav3.png diff --git a/README.md b/README.md index d815c47..3bbdb0a 100644 --- a/README.md +++ b/README.md @@ -78,8 +78,7 @@ BaseRecalibrator` and `GATK ApplyBQSR`) `--tools` adding `rna_filtering`)
-
+
eKbmj&Iao6%;1hosWI=tcJw48A$t zyav;ISI`B6)4Xhdbl11#5vdzfeyKT)lyob-u$^|-X;E;sR*7-2cdY$oilpn)0+nuu z&d}r#*GC7=(;Murk4+lq$^t*QK9JHt3d?K{e*xP)xTCe<9E2so(wR7~93D$8JLVwO zojSvvDPn39yrb-=rF5-2-f4XOjLVavbc^iCjDWywXLqYkksLpavQ`cC?ME(}+1Zae zfXH+=`qCj4su@ #nMA|i{=jUx|p3M&=Sd)?#10NL5+QQUQ?_nSoD*cDI$Yb#xvfN()9ikr4 zcX~fYUvWr;YI_VIc=za(*_29c %fw!nryAD6bqsN^6 zm@VLe)_oDb2{G<3xnWN}?U5op_nf>{Xi~@9kP{(_&GO$0`c8c+w0h69!OZRQB7T@g zgC**c-;gDZYoSn8Tf|EZc^mI J0fGRyZ@GjgqmX1XC6T&tL@ch|(K`yrlp{ z-Vlws!_6SK66et~eWhCI{H3EZT@h>TtTtK#UZWcqOPpW%q!$-GweUW+z`Mh4T j03V8%Eh+E^FcXw1~BXV1AGnWG!2RC?o1Yu)`M|51~`z{#kp18((r``?-7 z-!^%5^^qdhMzKwkegWEg#?JI3&oYtIa;`K(G-jPdz5!3S$YGd@-%e7=)rsMTjT+*0 z2HKe$eTd~*Qj!i>;kP>v>pYc~sj_OX$f&f{L81WH*>I%1R{_)fnh4i$A#JE|E{sZ| zPf?FV8Y74|;?g&{FPQaS?pP-KNXy7V*5IFI0F??o+G$>L?O&JQd!XJ38FIwhJ*IhU z?k^324;of@xsDVZ*~+$hg4Jr8Njf1D2uT%ml0~vUtqC3uOuDV1qFycP*)e1PrYAGw zRwWYBXd)q>O5YDzIg{NR$23pJ{iRdsjcVY7-34BYF_p5oI_)ujIw-x1kzPpFiB^f1 z!4YpmM-N@DT>6b^p4w =i&6{w4QBiu+ z8d7*}>SZ-c$t_w9pJ28aG7-c+T4ctg^X=nlLHAiU1_}+I9NqCRlHu? }f2*)NfW`TET@O;~$5tRT^gb$9%-QNoQIsLK}FseoO^GUz0KBu|}TGz8) z%5AwdLg08+GCy`FdUU;>X`T>NXm@QH 5sds8Zt+%Ovi(`zigMyHjbxAwkAaL z^YNWXIN-wfuPcOUo~t8u0&RYLCr6d{DN&7l>pnrG3)A+_Wh^iOKh}M;D96+YqGRh+ z;oj5bC7p+xg3SLiS18pyaKJcw%x9L`ApYT2Wr6Y>Z_vZ8r)S55{p#Z7x;K@2Ux=-4 z^jALp>Uk#*Z(m1465VzenCrw=yB|0}k7eppI1um>7p~>0^oBiC MCU161o9XaPZQxVfELnioRw53yv6V_LwM3zL$<&rL1)GtE_W z6d|6iGY6|pe(4sMk$L|)>{!Dlv+IFlqUUDDy&9DzTdoe@y7@Z7hu2M8dE!cO`lLbX zXb~w+SaV$Z;JG8tti#TC9++R ^S{URu-3k)_YOZ+wn(YDo46PrH`1B}9 zT1^)H5X6BLNu(UoVyeL8lgYE);A))|Nwgd?9@A3*z8W@Jv_}y2Qir;OZjGvJ3D0e7 z_HAXNRO{UI%0K#!FuazJIH1$bnXZXB(|j64zTX2foVlz9yjzOo$j&&Snx=>~2aeZc z)zlQo;Nx8O3K8GJ6f<3kZ%6y44qWKr3_i8yV;?1CSoug<_Sxi?;0fRf*E hj(K(PJ--G9tq;C^GtzByUC&ef|#Eo ziK}_?2UNFbLJQ_0o&1u`LH@Fwa~`^#KD0$Vs}-Uevz4HfvS~`!&qH?L?d`jL?V5nh zcFc(%?YAS=sk6VL(V}rG#0WQ=rj*8(Dj6*3Qc!n#?J3ix%1d6~WRTeh@@?PSLt56E zsZ+19ZaoFZ0uCETE^(GkKl)tY8&zgaJwGy;cQ&!MgIg{2#pFfC!Qrr~1U?sW&ik{{ zNJu_VHN%>K5Cw0lMFz2CJn(_&<*Jt=DNMDZ`uG!W%E_ZBy0+w8p;^f10uyXN$*e*L zf|P@F0_)|Zs03ts&eE*wD-(IbtR68vGP~-h9i8KacumM$9Q!C7y}Fk}Ho|F>EH@e> zd?N5;=SCJ2J7VOKA|M7FSv$VoUV;q8CmW9*Ty43V6b)<7O9oT}!yCvdtSl#8UYdrt z|9ZY{I9K=`W<|Co!p9}PcmPpd-aYf6X^l%N-XiV13HuIO&kvw#Pc-tw_b^W&tX z(a_i8SrHJ}H}85B$bH> a!jD?%qviDm0v7s*QHKqq#OrTwdsj zZcYNV<~AvbE+kdLZn)rX7_WXMCLvX`dby7V^BZnw4b~xfHB~mW7^H=CPc&yF8tV<& zPURXMFW4|;8|Bbr&UhRQf$@1Y6TIkVDl|;tGE=SQB$~PM$@F&G1|GVIN;=j>-l8um zTaTFLR}PI$2qB1nG!BT{F&z+;l9?HYQ-|e}Z>8GP3$rCn_7Y_(3S@8fx;rte%bA_r zC4-nEixkP@LPK+t5d_Xi8Y+LdBNcED{SEVmlCXuX#vcCBhYP5M;VF_Uy3Kmkt7AMk zwJ)St4ta4~cD1(-;XQN5?AKotA@)hTHdlV!pF`~?cxItr7U- ~&_#C0-?3vy@zNVJnY*(dI|$JNgUw zJngF-2N>6xdlz}RCRJ)XBG%k0ZC3kODXTMSGb#ZUxkvIdyk@<` (Enf~Xm&Q~lK%8#Ti_m%?6@FbaqZ++IgvMN!89E+<>G3?Fn *V$u~`_nAUg!8Mto2P+4ADxEJ^f3y*X%IC(qS)C%V^$v-B^-l5e~ zjk=Xhn-H}@t%7vFZ i_ GU?oihiC^d{PPg{BC^zqn rLb^@TmPq)QnLb4Q%- zCV!3*Iyd8RV&fD&YZvEufk|m-m0ax9j)!vhg!3C|iDg`9UA3v+Gt{A-C%JutCirWg zeX5QzV`zKXqUqM>x*jXNiMX-7+8UB05yPG&;%g&|9J;}9bL{f`5HcBW&u>N6> c>Bj%*xKdNY3dcKba5h_PMnr6kXhqGLIq za2u$2=}qQf>B)v+$d;^xea?8qvN$p{fWFs+*iR=JJo&1Y|4h6T_;o!+a#y3zH=nzg z# D!%Jt%#ivM*KB;8Sh#(GvR7%cdxQztZ zm)`2{-4a=%2P_?}-cPBWF_>&hVWbhXbvkY2a(+lmf2B0qS?LW-78#@*_zmF-azLBA zZnU3OQa%?X9^y3Dmr5*yueDXb$m6j^p wXYxKkwYG!fXlnN=cBUPZ_}x4I@`<)hMl)TRs_8iwSOIKEKef7E-FQ*SP7wr)#q z#BJm`SE2PS&zE=sw!^4i1gNo1F1-S>r$|!igZe)+3vMvGPI~T`T=x=@`SnwA##Wd1 zfxCvPqh>Mz)9cpv@ngwd!QVOL+Xx@iWR2TZ88<>J68sIv)*1pH=&V=`HJt3~^145B z1VMz3)MX+I%@8FpTBDVKo4UPqOO=67V67$+Y!iy+#}8~}gHWEBl$%*ZmSuwM^2{h& zmd;&*n9??!f1Z4ZGcLC;v6Scbto;et3U7R^s5 f1qNG`-|OeNr#y ;6W2#p_hb&VUDG&pB*DZPEtXOOSQO8^Zmi zJw-Byb_VsbA<{&2PNo5$-QB!V<*@BrA+~NM(%7KZ+m`A>U*b%hzjY>>bT+ttfc{eh zaXGG5>ZC)y!P6Ex3A ngnmH<+k z_7NN@Dd|*)Z2}4pJA}&cYN?=8vrd3v8otaLoCzcGHXNB9Z}hGkGBzo6JU;g^3CrH- z-|X#{E0w9l;DaEpswInA8cC4U+qOb0gr8FjK0Ks%n46tfdb2BoJVv`mL&+w1C)k1X z?(7~#al7KfR0EMi+S&CNMwEVmXAmQNK)UN^wVhP@5CjfD_VRNHULh|D5o-}r@$plK zyxk*vo5~yO8pS1J$So%5+c9$LT)knJR5?LmswQHz_fq2>$(Ho9bt^4sk>${euWIQ= zqjW4aV=7yq(Bw1nAgNR~v=bn}v{%ke_LpbX$j}7j=%vjK=Jd&re)qcrJh@~pxX-;K za?3rM+QB?znjf|ao=~X;Q=KV+6Kyc)9?t%;Mf2k$x*0S4{Nw_^;|}>-k2kIim}PR9 zdG_-bC7cPbV|u|oeA8oi*YD%gnNh`4=r=dPxuBiXkXE4XihM|Z{Xhe#%-tN>O_5v` z4|?K#?dEF3%` B`lk~x|GQ=TATZ@Wx6vA9ZdE|c FoPZKDz61E~&7Q zh5Jqphthx~n`0;Wa)*7%3l0WRPS82OKW-(fP2u$d=P%D%LKFiZFi9%RN~>A7%efv< z>Y1x8)a3QbM}EDohrk;>m*Y2!We+w*Xmye!tKEaf)}T%YkcO*87`x_k-&3%o#uxOZ zP#GnY3*G0PW$xHb)_gnq>;il|LzzIQR#dQV_VSTYkVQ !!y4qV6r+qTIUo@u54E zmKYHM2?0gA6jVY=x (4O!W z&=0e|k(r4SX>nRDvI8MR2A-AlMG8wF5PECv(U4tcNkBq;B6HS;E^_8 WFRguh7 Y3F4EUHkyY3!u55D=TVynZI`06}3TnECYQpvvN57_Ou&r zv~{;2pNADHTu4;c5;J1@C5|TW!=#SN_RbZ}&_+ev^c>U+nrYKh2{PM8pU?r~7Z`|S z#Yi$O>cH<^e!UQ}zBt$nXC-^YFH1xO6|ooc`433$p>OdmEmiBMVknJfh6o zPuE`z_bfdu7V#4~Md)v(LtimYGHuDSFD1!=buhw(JnLktc{oKAKyn|MuB7*6WxQRo zqYGUX;UG@BxhON8eKYhe*&a1?5pb}mQ*v$AnLZ0D6Ycp6$qu`OZ|g31k=D)IUY>_K z{;V+Rvda2Oi)obl5jvbda$sig#ixnl@JR#NR^^MkE=@lVey_#N|5}T?0KoZ#g5a6H zE+byPPN=asm$dYnRK1x OjFrQz=wItrG#vx8q>V}EJ@@SM`y-vsl*e^XH|=7izaWK zesYpc;2qs?SiR5Zq-ham@ZCvp|50b@33=Hq*lBSkI>hraJ=tkh<%&|X z-T>qX&A;poFO=*UT!W0(OCj&>?{mUMd7z6FIjZ_;Fpy=|R8&pZ`(zcy6vXP6hnOX} zhSJLg_%OI*?(8x%ZOi!Z=+C4!wEoEU)qi4X0YOGPwEcL_E_bqn>YF TP!Ok{saf|mK%J`XpWX)8 zLv@Bx?EgT^-@l4#!Mr9ux`rGo1&s2OaWvR^lQC+l9{7P}*j|(Y@Poa8zL#xu;4CSG z_)LTr*F6SPSsM$fNe@Ra48tSf`vL;$5G>aw4oNezb;pQv%J~gkuy=NTqecz&8u5Zk zT^>2yfJzG&lji72>Xu}JEM=^k{;`0{X>Yu>L1rlIx1SygRwf-Hyk1Cv<#x%H8_+ z>gB)Is}mtd$yBhA7;`wK$IO@J@Qo}&!<7aCBZEQTUt;jrIoo+9n?PA$K##Gf>_a&o zJ>r=gcabKr3c%v_g6J72*J YX+k(EnZeHG7Us4p){^RuZm z_k!-cY>sXF4yHTtok1gH)>cJJ$*1XG11US2X{O$#4Nvvb4liDr4Y^-VqrRU`CN8QC z!E9!jP-%huU8fhMNfo^G8mn`D8@tm|biyF)YmtfCNh+K%-Dmo}VJx2ivtTL5k}7a; zun(C^9tkn)^s2z?wV9NJ3%oXZ%r!c*hy0lfnZkuP*%RO67sqRM<=8a>F!UmQJme&& zas_hJLP5oO>^yTVGp*7>aDO4KmuOWY;S4lUw@~6v$}QB&5ZZRR;2aq)wUCG_Up$>o zqXmyI5zKEXS{Qzb8DRFaVaH%crm4~-^@AMa)k<-}M3*lAuWd_~bljRl=F69ZM087x z@GnWpb^#rrRH5s_T<)(l@hYc$!o4Q}$pl?&26Yllc4TZnF32Wy{e!R*weTc=d|PtF zm?Wu6dn}spV67ClQ#klM9H+CAY4_TE2ksajmj`6Lc)e*d$AG5G|6|)j5h={er@kJ3 z+LrxUk{#?som>P~cVA=LvnaGZE!$Z*FXQ;^Sr>AEJjHfeBsWMHd1LeT?%*+Hc?{X! zq>+jS?41En(Ht6HZB@-pG@f_^nE%MKUo(evy~OTkv96aZ`%BCI7x28Kg%1sg>b2YR z^dym|Wnfg;Iwh~WO0a#d3x5d|2s@@Nk;(qOI(?u1SyhdS00mN&^&8bB)@J&K0k hXZO t>d`y0Hc` zLd_b`CldPPcG)I M_%#Wyzrwc+cdWB@obi?ebVrnK>_4&i5Vd7LF1%4bWomYOevto} zP-0A)fGzPCZ%|RHhI`8md=;%i5|knO_8CS_Qvf?-=C2F8iN3k}L@gjMPAMQIO+f5~ zJcSq?d&XCApgr^U6e~?&&dy`jzyojI7Lh!J{C+)YDMp@gA%cgY42j5>9K^LY+gqJ) zrEj R(8cT- z?hajk-nC>`eKqzP2Lz*8wfE(nwag}dUb3pKk8}q?(Yrf+rCBalFXtI7`}IgtyPl3T zhr~OLDc<-*uOAvJm+|08%IfdH{5v+_r22GSB-ct;@P_OXNi5R0O^Q^hFRj5ne5qV9 znMc9z<&Zv8y7a%|?{ygz1mI7ygBPm^qrTLn4A*b7c%lr& q%ub!KUfi;7vGAn>q= iuOdtX5E_`thOqWuMAL^%2E|9zIB6{nUi!Ula8(I+=}1G_#B<**f4Tv%*Gg z@Au)_`wf7+mBb*OLmyD$m;e|&A3E|(b8`^9$8Wnn-Fknw8@H2g?`8kJWxC&yP!!|; zrcGecw5U8zS<9cLkTpZ=Vn^sUijpRiI24cS{jeWBbs1B{L@>W0R%oyd^SE)sY|XF7 z6Dq_nfycPVJo|{S=;!vOq?l7frNzN)**cXnM&}kOe-Ccem7kqCP4Zlo-V0B)LF@U# zQW+YH9<5hnO}S?SQ *Z%uy-FuL{2%P51?_7Fd??H`p3}^z z#v-^o-1>2qJpg2nZrLqFam2tEZhUS~usBbrT<;ed1LC1=ErEj~1Pva4A(m!1Onzod zq2WPG5RllKY$-EM1^5!$I6%?|MvAB5dQM|~cs}nbzc(XwU1X@7QYMUIq 60~Jao53Cj;9fSQ8&a zpw~o(!W|@^5pwzQs?T+!`l2C|5u;KhM?x%hz&5<`Y!eGKvO0%c{O^25*Hv1CZ)+VH z!)BgBHQaxDz?gq}K(!)5Dg)dm(DD3a=xIMzU|ayJZ>ZQA`2dh&dD_k3w)u%gRdpA| zeFOSW^qOi $!x{B{gB}hq}QVJb#41DMGr0KG#-5>`$#qu z=c-a5FuzL*Z^26SF1E%I0NY>%VwYE%MoNx#fp))9Wu;v$4^!EH#3?t!F7;!Is=7*Y zHxHw~nZZ2kH2~;P*0g+=*=XJ<)1SpjBqyQ;F(zqrIRlvmaQ>u8PdNZW{02;6>3+Ps z9*<5bMWv8&u9h2dhDGGM&j7RtOu4^gH})_=RL(T+$A&J=38oV$G`d;#12!nHQ5GdF zpK0I9HfM=QuIJdmo*I6rzkGZDD|^73fP=G%Ze+;Gt%7z3u4l)#ce6E-D(Zp$l(A(P zK6z<-X#!=;zDVBsD7X~R#WGG)A2YYigm`Ei&DeOYRHR`~`aN!Wy{|kf<^Fv{>15k( zbhQ(CM+&urCmvmpMw~h$ulkCCXq2JId*@x~cWl94|9Z;5DT$)E@$6Cy>LaRtI9Nj$ zJ0&|}fLes!C1I<9M3GN?=BqM040L*_*8&cWH!Flw^=M6T!dMRDBb9F`*BQCgg3Ngm z5bHe``0d!pGV+QWdx`@2(Nt%23o=cCKHBYU#ZP2r)I}eB)2-}-tU|Y_)o7~_h#Vfu z4`U y31k@C8G+}R~>)4^aeKzs^hnVJuQOQpCoRl(FqAybv zE+ =v#L~I1O3kk0>jTqNHB;>rv{VLL>`KHqi?^0d$(ry0Z zZ0Rqm^)Z2u59xttVpfw~j^42e0r=m+>_n!(-&YY&`Q{tBgahX79hvhMGC$$_`+sTy z_6qL7>Pg+~=Y(_DLp>km*(q7}>jyTJPV#?uf02%VoYm}d)%yL)k?CUtyMI&48_jhi z7BWG;meA0?;QvC0sbrQB86 H}UE vX+1}Y>c)dxAYrUhu^U(Ef z!IDY76l+SJtf Ex73%r6d!+k)h ;9NNrJ1hR zcl)DJAm}m!L a3jl0Op+Btg3jYD;#sirPv(yhL0<@ ?fEzwL1)c0bxlG-p+51_kpm&X|PtAhx$saLwKcyxE_ z7nb_J-p0i(qj_2B)HhSEF*2-EGa+jfhe)Hzy9LSjDgoj;%|zEU=C-C5JcO`GopA zkNHIS$hqYGlxccLX_I2Ek-=q&$@*x}*Edup?3@Oqeu!igmXI2>Dh=;9dUIx*<|`V9 z>OjB0IUl>(j3nh{a32hG38+pJ01TF+z2>~kIjCTAnrtLH$KQe#Ocl)x#{Q1W0$!z_ z?Le0>P|JS|@eTB;9r_kXlqN8xIa5CgG~q#%=_yj`XOz3k$}7Ksnx+wvOcD6{er{z< zTc)j+Dcq>2F{&d7cuC*TfkRWq5+7=ifF-G0im2V$mq x~$rekYbqPWJUXNofsn zlzhe&d2GnEz4MiLexC+$)PU32CeifM3ldigJcRRDQ+2~VMRwcb4eBydpv 5dp8<<7JAsPY;zME*@GQP`U2{eCouH)<^AN;&J?DzmW@_k?-6o zp7}VkSAuYc>o=Tt<7}?rx^Wq}umI9Z-n1vWf6ZIi*6r6`^wXc1Z?D+wKl`cENYPUj zn>ku4wK`~AKABhXO@8L(C}dI;)NoK#zS|2lL>S6 iZJhJJ4BX!i-_P zctTiP12#Izt?nkcc2=H}kxe+(r1D5fUOQ7FptmSO^+_S5L*!>`q#|C6mgsgSDBh5D z1Pz4;>I3b4wOB}{1&bQF6+kLwG_$nX)=>76d#nC|R~vhJPk%O?@k}IWR;j)boFfu9 zQf;9qx6NAtlf!B#R?x7vBC6naC{aoH6GkEDO?`)Cxxd&gd$Uoa$mJ>{Pz5xIXsY4u zDfd0|rAYS{WzYs#?bZ4q+u!9zFzQ|g<5^vP4y658-Aci7J&WQu{APBLroz0RtAJ>? zT=~@zl{5d%=Wax6)JWP=N5dna2*XgfQAh_X^J7ux*z+dN-B$-YadehZeY9nGT4fyd z!yz6n77?b0*M>Ux4CWmfhgPQ2-IZ@VpAoovozu7?#F*L#^Y^4Y(W_0nlPX||={OL( zh2@i<;(5bWa<_(uNuLvi%D_kkAVfCA76V9aILn{q*+DJ)3%1-4YfncRH&y4Wg7*1A zS>=Fv7Fl#8Y^%jQ=er{fQkI6)brnQ1G%AR&g!|cKqK|oki}@)zXusH$-3h83Vh4>$ z0Wm}hPzY(U$R(YL_dG1g8E|3sJs}>J3)k7Xp^M?aGbm&jj16PXb*vcZor?2#+?#RN z&ZjkjPSXX~x*vv?bBB#FM6X30#jLZtm%77y5XoC0l6M!|n-86uw)Z7M63)n79_5(2 zJXrI7WGM7l4tXL48}o^FJqVvH4F$;?oIOzG`PlBFbB}a!co9OX5vvvVl~C9?km1=w zUzC+m?es7hM`PeQ0(u#EI_wrBRlnrQ6 -_;N7I&-Ip7 &T%E?17_G?#I^d>0OGrg+EwGeXTce5vHRRUMUMckN4F@Fg41(fmhi;{i6YS9`d#XUf z19BS<5Nl&Vl`RML5YT6iY|zPuswqDGZ!vAoFhkuuQ0LncY#ROeOnxW94K>;XF)&d3 zRjivh!d!-^Cb^LCdvZpsTamYN7k=i7Oe>`@X2!7;>>jx*Jz3mnMuv>uK;SwV$+)CF z@y#SLF+Kwi+uCI|S}hidlyqND$rN-Q6Q9ej*g0T+yGN>#R;--Q&9@uX;GhVonlu6R z?huAmoR)>+i3c=alAbVN(W+SviS|adDMIOXOsM20`T0AI1B|O0;T2$o#B56;vxe$5 z5RRXNU(B4TTIRw>`Z r8siPs+w KBVW=+ubL($Wc?aE+PB<&-W z%RMiuB?KPlYj2Pi;=LdVU96kwC=yX&xngA6U%gx{+-Yz9B$+BK=2TN@!3bS+!8wTd zEGC4=T=DM(T~6;xev%UZ-F@8uP$(#|j7epwon~*;sml-KYRdEZIpOglGt<@0$V;-i z+LaUOSo@C6k&>h(C`jxX9a+*US4iN?@R1 <@F;i zOmg>DLlvbK1roVDk?h#GgPtA_r4&zIJ|)k`@`kVmc47g`w0E{6+GjKya4gTZU|Gcj z+`%2PZwRGz2Cw_O{6nh?OYoVTn>&|P*DMa0-59s&KgP(dzE Y#a@w!sU^($cs110oRW)!1~ z@_h9AQ(9gC0pYp_9BLuUo`hr1uQwFNpn2}4hj28S%GcIlO3s1jz1ptWpH2Hym@`j} z2DTHeKh>{Z8He6CeD*)}zOP=<&%|Roycz@jIG(MQ7I>EZ&*71BjKi}U!UKbE3&6Z% zKnG%#U}ME&*{rd_cUlO~!2s?7@&}O&IxA_S8aAsNxUO_$& ;TNRP@n;B`Bp) zj*_TBz!)f-pcE%0a+Fq-M2a#kb_)6X`F_0|wi9E#d5mE2zj304XKS_Wv(Nm2F-^et ziWo4aN`&fh!a$R5Ocrn2?M@|HRsfNQDR ;p%o$~`I*DX*=w#T_H zcBA$_{b08x`fd(#O|ig>cl!z9bJz>zp>S%^J(;&Z`CHfbtMK@mGtaXT$)nzN@id=X zFMVaoRvffPzoD| -_vOHxaVxcXMQDlDJFn79LZXOK@-!U_0vwltAz(E0?+MJQ#%g) zljgW}JP25^`;cw|L~=`ug>UFw{`~eCP7O}{_mNa%*nmw>Kiu)YKre>Aps=M-i_*H6 z+PeJBSV}GW3gq`#Pv{G=10-2|n}YVso|U|&M&)6!@|l?qI6(i?mqGNgFSGKaSz2_d z+>YZlkF~fmETKbZN$bw;SVI}c=dd4~i!wfmX9zx)6|9zf0f^l8b)9{o*AN|&ligp& zz? rup>JnceA>ZxTNu&|Cjkam*@sgzo-!bFYWy~ z)=s^K{ ^B=)sdku=Ziw;bN;&>~pv+R}G|+Y5+!3#4 ^aznXZEkMm=_X zv180}hDP0q)i3h$-Bi*I-OXfcGzBGUym4;zV;1NOc~qy{`HeaW_1`tq_JbOYv{gw+ z(_ooMt{5VjBj@8I1POeNQPEk1oM>H;t=Y}OQ&Y~$y+@RQ5y;X_NBsSvYkI}Xya+N& znvu=*;-uD>pd+X|XJaA1QBTvh7D8V`F+^)I3Tw$iA>;Vv7@wn *G3$m59Eb%*2d^YT2~FRT&gHk8}aH|0!2b1 zDlPQAJhoBHmmj|zwB3Mb)qg6)I@}jvZM|cV40=Ex{#W7bol2D8ockiq5aR+ex218! z=VzlDF_ =s( z3faE#Ek!=fy^Ei|AbWNYD1>9~%`oXFK5p>y(zUAblGwyM&uwQtXY>dm+j|Wc5P)%s z*=lV&MO@QXbCbkO9CNB&%bEvpi75lkg@?tOQ7H@R>pehbXW1CzL*ocQApE~TVDUQ7 zC4F>|{Xo^;pj5P=ieKRk7UZ54D3mcOOsY=x5dIXahk<$-CC8z=Ha(el>c}-4edwZZ zj>!u{St9kxK(kN#%n|4P3O>0s7@cAKYd)0+={Y1NFs~mMAiIA3@H-%?Pv=^Yevc&~ zxYm`H){w24hozNWIHP&nPc_Zb)m25m^LWnP!~weQyg&z4%{vYQiWB@*$dWR~;qUIw zlMRHQj)yJf=ts=!7|FQRRZ)P+-w{g#W8!tvd9>yO7fKbFj7jvts4K{HAS`hCfeWYS zubu ~4rpfvl|uQ(Z&e%VDFwsoaA=F2Z#!JW^V8@4AaQl^S@& zw5sr;fr&YE@jJ{(rF8>Mo`J!`#ho$MZy>YjF+Yj}n@LAQU!)>?gjXO4I{H`!v!!IS zRZ`pUK)QRzf=mZpA^-Ou_Q?+Jmuygb!^psz#pNF0YQM)Huo38pVR=HH!35hB$_aNQ zs!d!0RCcQ7iGA@#U;{~Uy;!I*-ZUVoqWYFFKx|zo7D=tztBVr?BrRB-S#n{ Gyjgu%&RBiaiy@Ql4~`Zh Q8P(yh7#kW5x zk7<5>dEh*AFeNlPcghcEOB%|ky7o{%`h2c7$5uPP1*3^g{h+DRVm~p0)IYDKo$Vpg zkgsqczaZzPoP*1T0?<-)oo_i}@_hE}8$alR_$>M~v z)?PUze|45SXkXZRyY3T;#IO~!orT!R5boK_d67g4ygu}FXJ5l5ZN=aL)s#U*s$m`G ziDCbqvX~Z4Q5)kNZVPbH7#^}ml^mz2`BwRv@luQyW7v*O+v^;9P7vw{9=@ZHze*=s zAxsnK)ySI4^Q9VZ`BpIvTd-=yLHzO)IRbSA-$3tfW2w6Wh$D(o_v36(VaArkC{`ex zh-m)N?VE$@exixm|ItE{YQ&GqPO6SOxxee0x3b{SX0RljHp1*de(B9}160*>{88%s zk)H7uh>HZwGIn48Ze4=9>TeY#woJ$v`T`In`^<*I=m-V>UW=2nEJSEH-n4g1QJ$Q4 z(;j^%f0nr({6&0CL?_^o;k-RW2l?h-t!6K87H%M)$US<;8dx9Dis>F%&m0`KSe%qX zd925v6GZv2$^WOUf1`y)*??3`(2iL@BtDU S?H*p}tlvMj?H`^ck2m7 NK*7QrqfK2qM|gdghHi8FcZc*xdWj z@8pU0gGA(iqv!v8L3iB}YoJ!RMqY~M)_sbphHpC=*gQL{(vKg%6z2FRh4Ke #CUsqc~+gS_`s#>Ta4Q42W_Q~pMA{`unjGlbn9S_tC!`)^oC z?_g8gJ8yDb7=X`-dH)Fz|8x&VuNa-wKbWCWF3h+1v#|8eFV&!nyk`y9uU(_l`)8E> z^Dk-mgz{oS?VZO(Y~$B{kCGa+!(r-&yI6@jd1NH8+`1*B_|N` 9E z%8)_2j@<>oshj^_r_zBIM>3~2;gERjnvH{3kKfL0!!ei6FG0v>xiAU?( HAj1*5imu;qI3yx0Sa?6nS_Hw^Kat zX@2F?M9s?IXNr_acfPM|*X>;FraxQan? #j4!?SRI*Yz&@pbc=^_Ot_ZWngcnc zU?-mt=TKzT^GsybHNyciP<9o4yP)ohn1ScZ`7;U$a`5>4zB0C=fYv)-Y}j{4378^o zuU$9EREoYW|F@s_C$nY+!*F8^dmQ6l$%CTqyl#e+2XCecUj|Cx7+)=TN9LZfyO>1h z6mZ1%Td;c*|LyF5Uo3|V!d3P6%l`WVw%|a)|MC7%FyA2C|9C%{9Cz{`!~54uinfO- z|KojYX Fe8YO}0f8Rbh{Q)!a|DOkM!{!b7>uwv)1q2>+23SAzxAoS) zdKoGE*C#_iL(MBEx|v@8HDNp~N+jV#fz@z@o1}fX78sg8*j59EAJRAxTj5L+H~eRP z5~Ti|Pbm3w%~;X4;C-8UZl}EJW_u?!Jg|^FM9)LF*ye3a9?=;dV(wr%Vv6}h-umkT zhUtG!uwh>EjT@E}Y_UQZAMhX5Gz9hI5{y2-4>vNQaVoEF?w7hDADwg0+QurCNE~87 z*3nrowFIYtE6*j!{dFS=G=GjJAu8`}r|A4s6Rh$teGbZ4Vu9LvQ&SNU$no3qL(8mQ z0D8>}N*^IVERgTEj~&-w(G>XqH7I$CzCVm=$UL(ktAemDkgve!SQwUqGYd(#vv=HJ z$d_c5|JR4k7`ybroaImM8pFPAR&R`zr14uK_9rJNbz!jT%Az9Mbv!&gZ}i!jGV18a z9p>)t&LHXf`6$7$sm9;Q#H7w&j|5W+$LNdRf2`PbjsK4=;QG$i#;WPM2fmK@n4sq9 zXvH EvYj?MTXC2H>)2wx>z59i&b zx6Q!9dTrU*&@k)gJut-!z7y+6rroZF gumAO0o9*drs46wEJZ8;FHon# zeg$F7w>23~U#3@O^+OW|gSpt++FBw D^Jn5)@(H)bdnNu%2gJ((-nvTu%?4*6?@Io)P|?9#RCBO`-4BtC?772{|6+f79U z6%`8+XGurl9iMO5w)*;Bu&bmBw_Loj% zd<6yTHuPg;u#WZw%S7*TzY%&e2vbtBjjqrs&eLg3PS&HoYXC1k^U6~y%C4!2`1%#2 z!Q1QC+S)=#x4J6~M&jL?W|;3TwKtsMSGM%?U3!ovZ%s|@Mb6O0Uwa|?!QNk6OB!q~ zGk6&$a+SBNurxyAq+7+;YHjEnDq{8G= WvF*UBi=r>JJwZhb@P@%xBGwMlJ(Gk_6jiT zQd~bgVdIsT+vhmLl6!+PQe%H=0SZF=+$XE7dkJeZB<)3&Y;WjRIWY?ejIy|=zd;P= zTTeAcX3IuW>r0iJts-QN{VwYzaBSTmb6|fTL@Gw#Hhc?~jt1gSs<9kz-*g(UDKz7; zv~%6;JAD|K|Cd{uwogmG3nr`Qi;iEekb0rLLb!K+eYf-86pNJ9DnE?}vkujE4f&5% zuxX6`O8K|PwEhBi!5Acijkixr(~uGU{WY0i4PPJihi`R-)+FvT&h)+UJaiI$Pk+G> zo4N-6GXm3I2jL?~Bu#0VQLV$w>X?!D%wkYH67qzr9XRLSwz7|?s~ozcBLR9ryAuP` z#I5yeZRexOy!Y*Pkb{-} I=XzZX6Yb~uos&9{^<=-2zOcG`_UP% zsS;zID%Xj=AT}si_rsmvb7%qPFadMpAYsPk3ab`5Hr8>FVCeacvs9=4g~5(@XV}`b z(* `MpE9sT-}9 zbiOz-AFTE-{VY&lO}J~=a9CQnzD|RShx_HnCs7lD^3_iykE1)~*`oRkADI21@tk{? zuYN%xdFRjBV@v!4?B#H9Co4+koJ}yIW^4Vx%yaE0lr$H ^CvXmpZmq2D^A za3V;DyIf61@1UxJ{@nP6g)b)T+zw0rZ9@+@etQ)x|M=ETBIEN#s7i{Uz3%pL zUlM=)#<4!H4J;P8!!PKq+7Rxkv-PpEtNkM+>Cd}fzy09e2SI!QeX=s|D{XskuiA;H z-Kd$gq$IpUOhM_l6P~X=!*X~pg`AwORN|pFxNk8 tzngU$g#uo z{MoNvMYvydXZR1Aqo?XkwaknrIA17 z`o;y1Tv{7>$QETl !`~t`3AqMhZt0N^-s5T|D+c(=!$+q#JesG;Gm~zZ?7xL z;5#0JgxBUNG>-}GIct#yznYqyU4f>$cE4w9*XDn<9R7-P_$NvL|K-zPW^AVWD7mZ* zqxloQIBOex(*Wxylgs`CsyPixRb&SQqe)MTf?vH%l(cZly5H}FCTGDWcok>;#S_@P z`Ew|Yr7FZ}Yl0r^JE|~dZIM?5*%^`9aIrntb&apiI!gGV9kNzrG?=%<_Fv09|Mg3c z2RriZRLJz{IG$bazxEv4{Cdy@?V8Uf4}O8-lC*j9i&d5@ZwDzO;KuL{&g!n$#Z};a zKE_b#7%nLN>?`2pSOtA{PyR<-zuQ z>Jmn7Wfj@UM|7guw)CR-QQQUG{h;u$7*CR
Jt&> z$8r6)ql*FtC`vWk&+@+=ZOlqcHBy?~d}ch?^sV}tc4?DTZA)oQ1bVyv;1llpLG{ke zz|>BY%cYyYvH$AYOsfycmsPyo1gzHs-v&qyX|`^D$5g=>AP - zoL@Ca9^ADm6i9kgel3d`e>9~9rw_|7VMs=XJji4KxFWHD$b=s)k>yalK&hJswa-Q| zeBL &s1WlSyc5y|;aNQkv}Bve1xqLO z5O*G<$2+I~yGRva??hBpf95IH3itm=jvjm^ EAekq&?aMEYzl)s{89 z7(FHEs;;h{_8%~$xSw=BQ`6iuJmz-kX6!guVCla%?EihH^u6XczpX;etMfNzmJ!!5 zZ^^#b{QfS8^I09=o>!g8V=^bFM9CHMh-apQxx3zYS@)IPAE6sQU%cQ+4SBJJM}QG^ zvFBQtpBecrI6$uA;tug917y4X0GJ9|$jRtV|_aoZFfB1#5mRHhv+|#zcRTkZ?*U6MQDNm{P?kutW zP0s@}5hz~vy;NSYMETo7klJgU!(oC+Eg|G;r_R8^GF4~b`rMj~Ov 5$cpi8F<;&k2PHt;y_5UXiF zgca)fnq}}qQ^TcY$S9Z+ay {Z1b7Evw?~ z+xO!{;?lxGt(en>FTC-Y1EAN_$y$}HS1F|9(luPU9d2tVathEo-#C$#c3Q3Fka&Q- zFnLPCgKellLV_U mVi%zU7P{p zouisj95euW4O7hjD{bjD@YNmu7v3|?2d`=^OY2_2W}0w{Uey9<(gs5o^Sa#0?R9nA z-!CdN)cMFdwKujg5S;LK-hI8$$Xa;9#e#Uo_ceKWQ)S;mD$ZrZZepUL1=R6cq1=U5 z(iTRGtOrz80e)`|!u;?EFBo-eS@ @9{E`(Q}R)%>4EZn*zP>h?C2tv! E`a-!=2r5F0F{2JLU= zf5>&+qH&!_H(q0pku&Olli6#vx`bcOpRT;sZ7cPfPgjIyoX(oKKC|~3SgPhGNi7P@ zTV|3_cno-{IMVW#PejmP>gg-u@zc)5q=ECVyfqK71bXASlVJUYxwi4fzFQZg{2K!* zJjNA1BFJJccO!3W(MIKiA+9n~UAMC|Lta#dm^Y6*x x2n4Y3m#donwuZRw@@D|-(VRa3mnMouhY|e(kBI!A^49H z6e%&$B+^vHYCpBt>OTN?rz;&7LX&N~ H)}vm&kA2!pxE&`CU5K0 zI^|d!ysZ7s7t({dBZI2(yLDb7F><5@!8$=q(k834SzfXQS `lNNBXz3@H-2dq&LsUk$KWcQkKii( z{!|8Li=uG+a&QL3hz*;tMaRM$f1rXSc+f_qfuL(~;LgrH4Cbo(*ZW0O7&!!A+eXc6 zptr?UTIEhh-;+|bVYjM*6EtJSu9fO8d!_E)&@1JUzUiS@W_&f*L{|$tI?C`bNrf#Z z9|=@0t#-|g4?Y}Te@pmQJ$ZZEDBai8D(Vwr#<7KO966QHc(IlwFjXq$wLOBq(K^S} zhW@E$42(AKOSw|~u4KV Al^P{@sgfpYe!AIbbZW}4hGup^|44=-C@V#|2 z&M>gg+fP{+P+V8tynmpHh8((o(X$WCL72%6R!PZF!EdMnfa*BNUW*)4=mV`}IR#5F zT?C|&P@1#a;IksXfeAaxMd(NV05}TKBpLt2_b0$;Tl=jUiy&ZMe)gquvaN!e6;K{B znZDTF@QkxwxhDBdq89r5m{m-T-{&3V#(!F;7ouR(3m2TI6`PENf;ZKlqv?VPHkIIE zzY*KGJU+$G!ovsG3a7%3D7G2{S3mi70|2K25#sZLrKR%2&FVQNek^U9Di9?xumo#F z$TF9E6T}56B $$#wDJs;^lqAgHx0mNl|z^cHjE2`3J2V$SBr=KPnW+7sSA8 zfldDSJT%xId)a-tLoUrJ5!^LW!deqTG^(>gQP>uH 2H|9q{B1`T@lpjKNyWGf z x}9BvmP!j?np<2`j;|P8eK^HCVnk-mzJQ;BYL574^!4BHx)j< z$ vR 4e3V!JtfI$viD3AlRnIfCCY);{Eb(iHQ2Ct-p~S|DB@AFUQayh}CDOE)FZ znurW=CkU*0B_TZ?Qq*HNN94nJV%B-t@cb8JW*qq|Ze%3E4r_eegyge2hj{%{f;QWU zsaWl=oU2cycdZas^bzwMoJEQ*Z=I9{wFbLVg1a>8nR)ORh7~#oRXoxY(Bp4G`otmC zfuo*%zaL|tGcJDZ6+wfdmGDy8>d4HnRHDR{(W~QRn2^RmqNij|y~CECRtdvESm*aI z6Wmh%`*izUU()>C2gWWd^Ho+Iq*RS-H)dHZXSv2&;2I*(xZ``8ZGzx`rmk1wrBrcm z(Z>|W+0h%@jT+Ri`mWC=Xq=r@ME4ls&D}gVGAfm9LtiPJd3 kW+_JanBK+hmv#FMUvmRQFH`v z21%PNaF?Tsw?slz336k*m$Wfz!PamD_IUxYJl4mTo2|xoZ(_HMSzhn `C-|G^_j2Fx z=V1w9_JW9t#HZr&3m=k}877FkzaE%DE^U&lJY9t6#~&ki$)BZwfU0`szI_6Rf|FZW zgE4!Pc56sa41i0cUhs)mUtaZ_2mVc5(KAkUJ;1p4cC^3jXDcn`iL%q+ixbgYZFrBa z%;)zm0sC!s5O*+~nc#~%0)4m(A{VNz+|Zn+LK ZZ8 zAe+!As0CKyy^?6pJl6ML`{?*XuqO*`Y(j|V?cy6y)kF*NQ+K4qahPupE1#MQ;+N5T zbNEL)3ow`KIpA>PBR3<}{Sry$Nu{ZJ6sBd(DbkjLonF*~11VyAJ^fZ1U-vLkz~K3J zq`+X31)777$qTLG=q+A5g>x>$ni2stGG^W9GL0`9ijFygw-KTfRm@{fOg9(K7e-WP zZLM0?G^h&$dLpqjF8xClP^N{nkt#F{v>}q6=i&p`KP;1pQGX!ul%gz39#^MedCE;~ z_8m_^i-d95#IA2=LX=?ONWrM<__;3r1~)UlmOM0sU|?9GR7AgkJIpP5H;^mta8HmK zKB8)Y=3YR3 #IbTA_)i^BoJtTIEk{*9aAL24u=4MwU zosv7HsCB%l(dY4TpY26w0ABX{m&;maNsoldYM+CzKjAQKn+xIKeSppU(&O&3%H)S@ zOfK%~m)PIwo}(2wrwpFp=f+W3^w#IM-P5=h@r3njHfyl_>m#Z|XZ=IXcW8Wyiynaw zLzqS1>_S_5q6-R=Yi#^{miv;|MIf5h)jQrkW202Pk%r>KgqW@slatI?!u&c92636I zbmc>dIEw}$ri*9MglHY*<%L{@q7cRWb9sbFWdU~w&Vq>AJ5Ji;z580rMwJJeUJQBf z_waj(wZ>cg89E0IP0^3$4c_>s=I#56XqloNr0;whx|do|9%)EbvvV^ziffO@sj5x# zZTu1E%p(*1H)i9?pOZC8{pQiZWF2>q4$_0>iWVB$Bm}MIcxNHg+gk-M@8oW5ZLp*; zdL{L& 7QJvPb=HhbPdFmD-5#&ZWrEv=I`z0nV0=00%6G4l{gSGLFT(|rV0 z!QiDRtc}m+vbn-uhJMgqTpRK0k)m#f4-imw%yCo#SP5I?kTyS7Be~9*>5ggLLzD!? z^D|ng@Q5Pk^C2Bqe~KQ4XM=ntQq}O(gU)vok{(+46>tD$-o9{ma5-jazHI^pf0A)B zAAs!419zU9aelkGt3Lk?umDP*2gT#pqs%nB@tFTCwmo3g$@=ZohBO}NJ;`hQY^P=$ zM&4F<`_~u9$%8nhj@G0e_6IYv=5f{*5VGffABm;qSdAWe<9B_EF2o$wpk55xE!c=- zzzZ1FxCFoWL`w#{JYV~H^hV=S=(PgZ@W^vd&BVPE>~n=K^6a4Uz6qV;w@qE YBQqmSPwxKdcZNkLm|D)`y!=h^bw`q_@>68$p zy97Z&1XP-(Q@TM?YIk*oM*&d~QBq} jye=0w zd(NDh&wS#(@0nrTB5o-Y+sAIXVDviZwA{`)B61LP>X+LHHO5@!7tHm-pVHIUzTUPo zsXsUO @L2a4n?b z`htcgF6UN5;5kUn?Evb75P;8h2_z++7x7JHH-i#}NvzECyi>b%u5d|1QwW|6W;5A= z!28BnD3y+uy86vL)=*I=yi`{?Y90h6ao8QcLx=`;MBZu5iNKwhJ1*D64IX8bvSh%} za>Z$RUf}JmVP;s^6)cDgUG&k4HZn14b>~vXqrpo))x!NWK+t7dn)hidYyzzCdP{H! z-CQIsLGC-Jp9F93El)kDdNdnxZnUNdl$HQfi2z{ 3IxPE5R_IqvLHqY@amcO7HZF=6*Hq#*O40i+13qgmd9lbkII&Y9m zmZKI99u)ensurL@7D0r#z$Lzwd1nyvHjQ|0vz #a_GE%t4-=GHQot;brf*B ljfoZoa&QQ5DN%x+gp{0D$AVPOGg~Xuxyr6@bvEJ%A4J_&& z7r&_&t9YLE5J#L_58iJxxXVt}3q4R*P{0PM46Y0;Zt~R$+i9xbygO0xxNxBAq&t&S zIsE(a`b=`$Ue?u$=BuF*Uv}%}@rwtq731Wh;tdZspU7<1#Tt%d3@)qtzb<^bGcGep zeC*fq@BS)C<<3R29Z+?Y+&xfr{I+|R{9&3I3J^24uDDi|Ib8jHgFiWfV8j=5`$cHu zGV$qCDcz&DGHs=zS^7~b03YIA$u+gaFtlLty}~7))50x>7Np053#0>C04r|(Dv-qE z`n|okb(!q+Iep!sZAU~_6%qbU9^ydj79ATcL4Mek%B!I8)TYpSabyFPWY=WblEyqe zKdG7LzQZ_IIX^0VB3}!TTV+Pb=M&ZU=DAa3#~05aH757u7tCtwgs1Y90T2eYuX8i! z+xl+i`35Q^>*x#FDBjK&Q6)HL4U-4{E@$N{orx9G#Qr4NL%n;fB(w1bB>P>T zVZ34co<5p6ytmOD?`XRI56IDI4wUA?rC+MmQH<7RgF0^}FYyrZY>vt42mgN4#sX-v zY_(LfPO+eBQ{eT~ISmGS?&Jt~E=c;9^P=LntX@*B{rjY%Gur2K*Xn-Ox@CAV6w~#y zSXStzf^B2?LI)F1cY@Pm*XyY$oKFf=;9piQrCn~7P}|GwN>WmN*qt^W{K__I;8Jgz znW8A*>rOSJruS1rcNYuf7B@{Kehi$^1W=`0L1M-KG(8~=p?s)K4%?eLj6cc~v}uha z4S7PAcrS6aL2ZSi* Wo1S%J@ z^Zece7XVHe{tnImr}7*4@>^&$@FH1P0RN<42w~2CG=7tU|Anpc<1OK>g*z{LlyxZ{ zq;Nce(R R9&R} {zu*R?;)AFpTe$IhsQt~F}bPI|eGa2*}@%SKS9aS@!dIDR|vGdY@9 zxlO^?06Jw8*|4-M+!Flm;nwlx+y_HuEm#rSW9IjyvKLK@!vXwX3DSOfMCqM;cxN?y z6ByUV9lrZ?TMW1AH)!Y|$dqU&e^J+4F42sIYkyld)fRl7p-r*&f?Wm*3Qo#8x${r8 zgiBlw-@av?OT$XvqCz)bS7JW7pW@@|yw Q(%r(%i|{ktqZYJov&~rTb6TBPH#y?gJ0g1tFHMnr!;9_RSm%DW_-j z2jesi&kCKvYq@Df*<26fVimsAr&)8e0oWhycQOF&r7{$R7hziDoob?G`lB0c=w&Q# zQ#dkFtud0>J|&0%Z(wbQ6KUDuX9;4HaL|~EUhATJ3HPC7&I zD<$5%rdL#i&+o1W;`;4aO&@ER*6v78sR8r~2hSmO`iG(AiD=FVt8i&DA?^3 XNTmZvoqx_DQez_AMw*N|OpiT9rI*;w)aPX5|>A3!0?R|g8S9ytPeCsj0@~<7! zfTV+$cO1)6Vjltsu# FF)_4f7_Fn{6d4AtJL>0wVP9`b?N$m z%4Jc#Nx*jCui`>CNsZ#y=Yzus=6|&Sx@q^&hHr~F4$L)}lJ7a6W3t^K@&(CTBjT2z z{kz=)4&_-Pl8IBqwuZ%36qMIg^(Y1SQLY2-x9qny+1ASus9qyXFO1D)H-PhivhN1) zh=F3!3 ^W4ILLZ!RHOn>1D*^ z{qH|Be7)#Bbh>zc((PQ^cJ1Z(EvfhB%gS05uQ@^WC`z$ZF=RMdh)M)$At0I>;H8r9 zO_!Cm^L}jmGIkwYejjVFqp68SEnODR8>2g8u y-rpBZHxNxy#Hq8FxhsDT?Yexwj77hN_&rO?Mq%u&)6E!xn$WSiPZbX$Y4L#n0 z-1N;W@iO349^{_xqR-+`?}actF4&EHVc70m;dQh4d`BEeO4g@ZE+g-W0z!xXk;|1D zkoU2$KVc}wd$C10xB<%X$YqB014FT5A*;26oBGyGkWQtHwyA2QR5004sDix0SAC{~ z&K;Q40t#{;CvAh`ujT<6$V!+U4xk@U(j0S*_I2%uXswjX)FGr!Dm-isey0Kd9KB+$ z rhr8VZ_r35(8(76qhHE53g@hs5}MU(#XOVFazUfEY>Elza`4a zMXaL>yDk%8D!c`bv;1fLPG&ao^%E0mHkV}06y-`?gIl$DI%_w$vmzX+SR@=vy+${* zt5k7a#SPsd)m7C|tMBM;CP~QrCE=2gbVR>Df5 FES{%Rx!)eip*7el3VzC7OI2$r=cC(}MRNp1ex^=oJ=5QXSH1x`Z*Q}VU&&0$|j z^rBN7v$!h$I^po}@Ki8v{Z6)>Z@^sHc$pU+IbEhC#chS#v(2j8UuQFxSJpZw*CK!} zZBk<8nt%t j6Y_ZpqfBfH!AHNgr`u`pc5G1gqP^Jq}lM~ zkml8$QSzjE@6_($q^)2pLx6q#u(aN$18R;(IK#fSk3i9Iv*eCRTVLrN%M=d+>LGU- zpcy*lovWom#d04X_?X+(u3V^{{KK{Vdv}3RQLMY(C*po?(K<*uXPPeHkLhL)a1Xjq zBfKIe9YMi(sU-ic^tq{5^-;q|Ud+=`y;q@><2!z;FD0$fm8-W;;-8hRu3YJUX 1AYk1pdfzGM4s9eEnBZRT-2or=A#php_ Dc6w5@+$$l{axoEF!=DAYxAI-2f$7a6X4Duq=(gfCEkF3jm|6Z!m-I-ban zdS|LbXT)n=Vrh9?PaA5*tm~YoHXEv|6W9GVE~ Y4Ei$&t)$09MmZ3ZF zKF9MD`Ngy3NGqP%eJ7Mnmq(y}+i%U!uXA^Ims 9zW^zac z kz9-k2W7HDAFlb(c6O%X4!NkQZP2qrZ@Z}#pi?_E<3Eye-i;Iv<} zp0=Ru#=g4JD;He4%8$)Wj!%(o)+*6 Y5lQ)UI1{~JYg^BC&Y(nRqdT?{~*)4sV^)P(lghj&)#8x9ynu#tv1ve zUm@672+;da^j4lDJI#RDgA3KRlN$AHusu=C^3y@qu?v{*K;Cv`u{*&$2zqjIa(u5% z;wg{1n)7{oD74K0x;tOO6|w0bjoMJ!S{T_=DCq_=yfcCKC}B4F-P*J7LwF)C|HQOt zQTa-a2r|b>Lr)`_C2deZgOp!b^uD +`?|a9$0G&&tYrw?8>L3f*2v zwL99IR0-u2wZPJD88qRa1=V&4B*nq%;a?E`lL{E@<*mPB&4EkZzr@@~Vc}#Q3F0Kw zK*N`MSdeO_$gyd(Zr$214WvEM;^IpP#Jo*yXO#|*J` 5bpYm) H2>!(Rk073N=@9I|_))ze>W)9R22Q9j|80Q$mdba?&DVe#uSiti?c3A?T2qg? zy}?|)Tn|0|IA#gt2iF&e3zk1rqtdDxaZ2G8QYB>0Y-6=vqoH=;8{^YJa!Qm41jL8h zXNvv6U*RzsRrF}ptfVpgGmYZR!CU1(S9|N_lU?k7=-PDsW;;t(^h)YOV&X@e(seNW zIFNZ44B(z4^F@+%W^@kT Av_xI7vT6u(crx4F00fzcLT03!pcF%J~} z+z@qn`x(EjeL?Ae@00oGee^*_LUSxERsMCw4kHS#`u^|JTS*^c+|M7n!4eKT3kwRJ z=zw~f$Eq&qXCqKnU%lF>ofWb8+HW1WdB%@ds3N;pE`yja1&pznSdD6k$y(iQW2(+e z!P} `>fCfMG%w3a&EWXrBS8ELK zPkN8dt*;BeqMya;^=OnEa}IOnDAeB@4Um7HG8*Yke`fTbYi0Pu7Bh)+xSTvW$M#4- z&j=( V9JT84|pxL|6* z1?4FTrhlU38RmWWmvnu=)bwh{(ZsLzID+;N8@;c}K|Q=C20a-OmuxBz?u^^)vaazz zk{|VP|NmY+G5vS-#6}tj2Z$Sx!4L&`xeYRKUN^6)cU;1lf0!-G8bt*j>_pT22VMbf ztV8?_L^Mx7MOUEG1)?tAxbW59+tXc@I`X`QO-* i4R!cQsO^$wzOnuVn%_&o4iU9=){T53BAtERasK=_^*;aB`iYuV*Gcx{~8qN z6qk (mZ4*Nj zSO{T3Gj!pBkL)?eLkUa}Q116SCz$-NyTAWl66PVo&g#+#=9~yUMC*PLFfKjJP0SSy ztrzz)$U+DuL6yYCmCFmn)pU7a$Ozxa9{qO@V3EI<8=UbK!*5p3#?1Bsm?+`!R9Gqq zOm4*H#Cj+`jRmmsNYGLPRzy5TzD7a|oT7`6ci;c+1E!3c)bHFg?a5853QNF(px=PJ zf+|e@=pD#xZ&Flr3m)74p!OFm*!UZSet)0kufym^U0$WB&^2azSKxKE|Cj2=V`aI} zzwxhcG5IeMGyAiQZGgQ0Gv(;*KMj#vP(F8Nj{~MbpIWfLe>w2}hd`e~%Tdt Sp$%&)(HjvNq>KVgkJDo`cs9Mfn;YIp76kXH~%W`2M)?K&elYMxP3-Q zUAP8zVgEt;>6*7p+n-BpozKO@j1#QDdqMb2NtWXN`_}(A&@`MsaBBIUd59vy5Mn}Q zA3IMA(EcLh!9=+XfJ@FXrLGlEOwTz^utw>3N3uNnpI`q-6rJ#`xm=7?O|^{w_n(sl z|8-{?`}jwN2yXNJKkr25nphg$eFJFWf88tX+Tcw~^(c*-ynpUIpym9>aa1_Gz{Y{c zdu!bM-(t95S0Mv_FLD|%eZkeL@IQ|B&%-68|BQ{+L#HwHtlQs4|MzEog0qDJa!fSw zj_E6LYLtIF< ~=qc`_d{@SA1k|b@#&g$HI;c+)V^OZ ztyoukLvw)B>+bfm?}F>WB#E1|LUD>PZ9xw)rpI s+YH3kp*I>n8qtL}xPrneXmEJ$ZnON6vMT7n7eyWrGt128`a*dQ5=^ z*YbpcC$@9P3D~wQ2Fzh`lJIKKGso!fw7ULka#c(RlqTQzOF>tfd;5CaCkbP(x%;W@ zF9;5n y2cDAPGf=* z{o1@91(WBFHyb90uW 5|1bQ0 |%r-V_|H2&XJsDkvS{6P?}2S$evE@J{VbQhHhYwosg zKp1LyO_Id>OaYraRZPB0rkjNB4+YldCtP(GG#5&gMdI6IeH=htk$(e>BONhRdVKyF z@*XJq1A%x!7t^X`mVL>z=db=|Imz|+q `G6l^o-e4I)}d%_Wb>&H26jB&zYz!?FOPbNl5vpshZ$=5vhYTR ze#nR#pBhLaDA;Dc+LT{=7?mQHLqD5|5=RC1pQuqafZx?Z!S}9yhcu24O&wd -`o6H46!NcP*E3o{~6|`jZ z%+O@y`a*iahvn9WjUjqFdtbiejlSz)G+_x_M~dGzsX;fnGKf4YB7S+HpmF0#QwWht zT;n41ZW%+3B730X7T?w&c!c)N+4-``sew;fTj8M>=*g=t>|qa&M+e;}MKC+mC$MMS znEn =2XhPr5kk>Ju)coh;7Y*}e!iq?&Dz2xm6__Y$OEDWm iM z8p0Zq1I 8F_6c7Xv1r*|o-O@F8M7_dQjJya-c?m#QeU zZ?Us1Juj&6F~DzD1j3qwc7xPqjFSI^0|AeZf09AV% jj;fXpGm3uN|(ECHJy5sYsMA4s7U%G0wJ6ZR|G?ct*l1mQdOKp6h zS`MghM>1%6STd|fFj2jb(vpj|p=w0!{T}uf%A@imxs#QSAey$Js9m~5!YR@mFu#_# z2)N-SG=Ob>1oaptGd`By!D?@f@Hb$aKSc#lpH>&Bbh1{9YSiSkb6$3eyt*YzW-m&> zE$MVjvXv|dkAc8vNA?UvoQ@f{Zj+JW*o(nMp$shvl~p`R4-$hrN1oy$91^W&M|H0w zVz>xF$|E;+> llboSr1v`-`K~Y87ZrLln)}Rw4G-~qtjSySj*rV?$-l>AN zlN@a`Tt9lyaw4tVv<(&QFZ4g2HozE-i4UYo?R~mxkzOmJg(v$2+Rq-C?{u)5U$kxB zM<&Ri30_pL9;m?Iwf7keHK`@+MqBb61QeZI8K_iNZ!<=Y?hnc}(~&4O$Nzk&MWHCa z9C2=$`{SG}1hbilEVbO2T4~zuVP5hqtlLz54tH#f?4pD9GV`iVAaPu%B`=)y3+X0y zrAP2y{Pb{H6M1BG9v$m5xxFjlb+~YqdI{c>r)AR1;RgnojdPi={(5L90lc%`SqMyH z1Q%wLMPH*No6;>9*-^o?ab2DEDHPB#UcgcpzmdNPgFG6Krp&mus?{|J2k)hx7HXPe zd#Ztx;y{U@vO8JRAHBc%K0ZJXLzxykPB24|(TW*;mstsi_NjJ}dBAa&F7chT0U0Gk z>W==eXpApamv^ux@``u)?tQ+!O6+C|86&&wq{@20(cS9(>;Y8hd5fosRlJ8qqAB6q z;eEH;m=Z|dwWNwyrc9c%Df0IAU`P~vIgEopnK>%x41bm=d0=~ZfA11${^X $Apeft@JtW=jL!zQhV&2ByVoq0` zfC!Ae99{YKf(Ls$%uzlm(!MwAmb} &~$SSq$e>{5OU>ys81I&Qfsp} zGdDiKX@GD4NTWwqcXn1WshEof_q^a~#<**iU%_c4Z1WV7xYd0$Nke0mh=;(e zc*2b!w% UHS+m4;IGdb#{GZscf4^~BhHq^EBxv1GxKy~XNm0^_sX@ELGU z`i@y~LM@HE={FAgXwH`B$cV~14&C7;vyv=re$!@7e+{;IQZ0(WNzNUv;cW9kdvRZT zhw_P6qbbr&4HR>q=JYF$=;8J eYg~lV52LPe>%rk z=Lq-7)2HjYOZ+VBH>D)Bp`Y8RsWB>|R&ZMK(#cePn2peXH5Kdcoh3YsSJu}i2*QL; zsJ1Ugc^-4X-C$6Ie;Wk!L`nq3zi~ayg(oucs!qG-72Jyy<){Wu+yjE2Luxg(nMZXd ziy(&{-b*LmC-#EiA{coy%vH2mwr~>%M|T&EM4d9ueNUOE1u^5T!lE^*mfEI5jWd+c znwfXXo-3C`f=_(SZ|vPTu`D@ApGvNv88MsG#TJ2g8CnP{l}o;&Fq84#$BOXq;2Mg^ zw^j%|@R&Zjy|vPdUM}&_eDMLlMFodK5CjX9IZ16=P@Ch-rtm60gb(nr{EtrA7nyj! z2l^ ZQRxcnu7V7R3%>2W#^UN~h+!6{tNEy0&&= zmb&JVX?q}(@iVv7Bl&mnKRJyriF+o#w#DiZc6jSgqf|Kd*@i3k8I4PQo|~o&(H6>I zC0;W`_-hSA<(9LMKf{a3IPX9Y;`k7gzapTmO3#c-d?V5@T$88NkD;ZtvW|JH`L7nB zZNoCtjgS~G>9LCTx{64Ky-VBY-X-r;K?GC0p zq2qx|yt*JMm3c|Rcn0GG&f-w%En><=;!Oz+rN+GsJCp9}fGl%@Y{xB}Jj)aMCQB84 z{;82t!DYMs4TdiBfgh@gdrVb|ZGUz|0h>acQw)A5^oz0*Z-B!cs|cfpb0N0}{B7tO zK2glAeT*V^n4dURPLSfbR!MP4f*F{2mH0xs*pOrAIUi!_dCT3&p;qq{SzX7v7(F)Y z5;qLr&TaUGRpJ8DV{NgPGWC9na!A{Kq60kz*Sro{bHdpYt{kuksxX4{AZR2cxC%eD zpC2D^$@oiEj5Z8!Zf{|S@Mj>lkM)7A$G%$CW_PSwVcpS*Ygrw+%fQ4N`If@5cOvBE z9rx{|Qz}(0%E0v*3ew>Qp-J_R+@&HKVT=cNi=gb4TOgwt)}km8guF?kU7Hrj*j@5& zjy|z_2#0iL@sbu~)z7f-iV@H{IuEzptCudNoEA=yvJQT#hG9JteW+3JL*W`jOFq)y za$5V-3I7xNZIP;+pHf@nd ~ zkf2*%C? mQ zl9lpPMxFYC_Pb#^Od2c2`LV;E5^tMj+GLQ~28yHPjJ#7+Q`Qil@%Rdzqu}AHJ3c?^ z_#-Ga!>?E2W0{#W>vZF0w7*RV`s};m3KiK*6bsuUxx4oKL^Z-xp*B_abUh2R)s`q@ zmv~XPb#qsoB!Psx?C5G*MZ)gkt)!bv+{VE}<%Ji6We B8C}aP@Y(SWJ2~KRiyCF-?ee{MY~8`?M`AbhU71>&J1xx`J+`Ly&B|Dc&Y@cd zof1dS-HDETVj3XP><2SFJSx|r*JNJdOuRf*s`i+8bY2;%gWZbOt z%8T%-O~v|H5sjLr_@CYmOIE-NIjlLWtLr4Y7WNqnX+qx(pSW 6>jInfKf22sk7^)7}5u<>G&KT}g|7dDnpe`I@QCi7!d8QWj3E zlda!;ZcCm_!U8I^RnHt3 oG-e?bui36?C^+$5icg2l_(Dd@r8Z z%y1nLous@T<+Y8IBq1X`ySJOeS2E*A`ERM~$UsLBH9QPjpLx1B`t?y|No>UWqo4%q zp=;LBjW|AH(ca2WYRlLteTEh%m-tOy()v|MDGLG4lxYEN40b_h>YHE+6Wwy1m{s{a zHmm*_D3Hq?B3i}B$S1Z7DrvemgdBqQ898LPqM%R)jX{__L(2mhv@&%hzJXDx`b*hl zcXhP>Cj4*SnI!k&4>S-TQ|{1jkn>WmnPN`CnCWF)2Wx~56@~)>86h||M%REF^`@yt zXKJZ#h9^iCJn_wa#_YTlt{WE{`o8%Vx fa&<2`FpgML*31wWEDf|?Rt z>r-|)s*=idFS|!>H4|XtYhb3Iba6V_B?2Dqi7dQRx|9*Nrsyzf|L`KHIp!OPH(>S_ zWEGaXe@-JD1qNA7&`h@7@sSE1r#t$2bYx<+Ia@6C>WArI;gV}t&U=Y}n+M%2(kXqQ z=I8-7?|-SKYAz~H>@!SG7@58MmZUZo76|i!(Ri*qMd3*vHv6qNncug!W2%y%E2ddG z&}3`3NynB9xq6pJRL*5+{ ~->#Lb;OM$OT)X;>d4^w z*2(Vi`O8jg1kty4q%iwn9wy$+>aHm43n3wH^$sPRC8#1D5z!b+{yc2WqW!4qSj~T4 z!O6`TH(J4_lK08MMQ)$*&?XzqI`4A$@a*g3+KTkeW9Ic4;{V_}kFrm{VPf6foZR}7 z>hi+Gy faM zOc7GK3a+FM;LOc3yJwl|u{|>A)-*)_9{c=`K2lXjs)%9^5oyRa|AP5#L)i-+=< !`R>LwWqqS&&753f!jh8ka)^S+qspFjmU?l089VWU{AhPJi;c zpKig;Jpdnw!zAP9l!YerP!B6lSW=~Z&3O#bHH`kC`VV%A&wVK!{a!1jslTJJRLuI( zWinx>sgLnL7b<<;f05$Rwc-P5=eY**uq&%azHIYUpQ==kU&QubgxroQjsMvogP!kX zt@n&7=|N}N&gMry-F%T?S+<9rMnzfT>(jfy(X#H*BiYI8%_Wo_>Y!W@b+BWbmv@P8 z22D3+n;#f|6-uxPGB>J7HI==>^a}a!kUQq?S3KW*fLF_)gJG}7%Ou;;-jv?2t_FSa zh8iutz`0c6%Vf~uZ$25VuSq$qTkZH%l!PfPKB3Pdj0Q*1%b+2vG{d-g>+u>{G%x1w z0#~pa;1$!a4GZ ()mYyy%vmw57L%p9XEN2dV&$k(DUhs+m)#_^v(Mn(vt zt IC(pX^EmvQ%p7gRJcd_In WX>p9E~?PRSt{#O=o5vVPw$Fz^9tq;^-XxfA~~RsAh{h z9aH*y7vVcW;s0F2*Z{I48gueJU4{IBWjUJ2_-kQ({LgE~*eY?@JUEer#e7l*>sjFv zze hkmlK&kBjhWf5WfZ4FcxAJk|8@D)K=?2` zip^$W4<-Uro@p{Duo$aZ3S;oMWSdunc>yY+mq@bc>f&|dQse*Ja$3;ei32 9KDyy=|4X*iwo?Sh=m~^AP=jW&lS`=ojJ6C{B zzvGuMr=IL6oYs{?b#P^ia6n@pn)nk;oPAhr fnq0$_bfpLyHaQ0I`a z<3u)AS7N0+3f>aI%O34grY>5dl4o)6?BB~UiQjydB@L6imwBUJ5<#?nL6gz`Eer|` zl9Vr~J>)H+;MGC WYlWht3s{uO}DMPEvfzX>+?1kH%mN642~owhhi?=fqXz? z%eCjCIIJY1ZX9(QM;W{7U7C!Lx#Z5vbd%Ta*IBnRIJ*R5_YExQFjyMWBoCquN+4NWF7q&`Sj|5J=yQ z24!jGJpo~*=C4oaPp{XZXI};vy;xT#YsjaVo3NS`f+>#d;b3$M1#!UVk#RobT6%Qt zb>#{2%kD_8nt($MtpJ3!&^q}vBDWJR>2l)Nu?N*%jd<;74~?UjAhhemz-%^zF@dPq z*od_+-=T0i=^72&4cY