From 1aa26cec8e700fb6e16e9f47fd44a547d505a19a Mon Sep 17 00:00:00 2001 From: tselit <90185897+tselit@users.noreply.github.com> Date: Wed, 21 Aug 2024 16:42:38 +0200 Subject: [PATCH 01/42] Create TestPlan.md add test plan --- test/TestPlan.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 test/TestPlan.md diff --git a/test/TestPlan.md b/test/TestPlan.md new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/test/TestPlan.md @@ -0,0 +1 @@ + From daeb026ec4518deef1e6f962b7831fd446c53d86 Mon Sep 17 00:00:00 2001 From: tselit <90185897+tselit@users.noreply.github.com> Date: Wed, 21 Aug 2024 18:14:52 +0200 Subject: [PATCH 02/42] Update TestPlan Add 7 sections. --- test/TestPlan.md | 61 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/test/TestPlan.md b/test/TestPlan.md index 8b137891..a8e64362 100644 --- a/test/TestPlan.md +++ b/test/TestPlan.md @@ -1 +1,62 @@ +# Web Monetization Extension Test Plan + +## Introduction +The purpose of this document is to guide end-user testing of the Web Monetization browser extension. + +## Audience +Any person interested in testing the beta release of the Web Monetization extension. +There is no requirement for technical competencies. + +We focus on functional test cases, and the goal is to record and report the actual behaviour that was observed when it differs from the expected behaviour. + +## Strategy +One of the strategic goals of the Interledger Foundation is to grow Web Monetization awareness and adoption such that there are 1,000 web monetized websites and 100,000 active Web Monetization users (by 31 December 2024). + +One of the long-term goals is to grow Web Monetization adoption by a factor of 10, in the next 5 years (by December 2029) such that Web Monetization functionality is either native to the most widely used Web browsers, or readily available through browser extensions on Web browser stores and marketplaces. + +## Objectives +1. Validating that, once installed, users can configure Web Monetization settings on the extension. +2. Validating that once the extension is successfully connected to a digital wallet, a user is able to. +3. For web monetized websites, verify that the monetization event gets triggered. + +## Dependencies +### Digital Wallets +Web Monetization-enabled digital wallets are provided by licensed service providers who are regulated by the laws of the countries in which they operate. They provide digital wallets that can send or receive Web Monetization payments. + +Wallet availability in a specific country, or availability in particular currency depends on the wallet provider. +To learn more, visit a specific wallet provider’s website. Below are the available wallet providers: +- [Fynbos](https://wallet.fynbos.app/wallet) +- [GateHub](https://gatehub.net/mobile) + +## Testing +### Tools and Resources +The resources and tools that you will need to test Web Monetization depend on your point of view. +The Web Monetization personas have different perspectives and needs for testing: + +Persona 2: A website owner that wants to receive WM payments. + +| People | Hardware | Digital wallet | Environment & software | +| :---------------------------- | :--------------------------- | :------------- | :--------------------- | +| **Persona 1**: A website visitor that wants to pay websites that are web monetized. | Any PC with internet access. | A Web Monetization enabled digital wallet from which payments will be made. | Any operating system (OS). A chromium-based Web browser (e.g. Chrome, Edge, Brave) or Firefox | +| **Persona 2**: A website owner that wants to receive WM payments. | Any device with internet access (e.g. PC, tablet, mobile device). | A Web Monetization enabled digital wallet into which payments will be received. | Any operating system (OS). Any Web browser | + +### Report issues +1. Use any screen recording application to record the steps and results of your testing. +2. Log bugs or issues, and tracking their resolution status in GitHub (link). + +### Prerequisites +The main prerequisite for sending or receiving Web Monetization payments is to have a Web Monetization-enabled digital wallet. +Learn more about [compatible wallets here](https://webmonetization.org/docs/resources/op-wallets/#fynbos). + +> [!NOTE] +> The wallet signup process depends on your wallet provider, and your country. +> In most countries, the process includes verifying your identity, as mandated by the law. This can take hours or days. +> Once your wallet signup completes, you should be able to: +> (1) Setup your wallet accounts, currencies, balances etc. +> (2) Obtain the wallet address or payment pointer to use for Web Monetization. + +### Test data +| Web monetized websites | Non monetized websites | +| :---------------------------- | :--------------------------- | +| One valid monetization link tag | No monetization link tags | From 9cb1e63777243cda24676e74297a53c08af04cf8 Mon Sep 17 00:00:00 2001 From: tselit <90185897+tselit@users.noreply.github.com> Date: Fri, 23 Aug 2024 14:46:02 +0200 Subject: [PATCH 03/42] Update TestPlan Add risks and test case diagram --- test/TestPlan.md | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/test/TestPlan.md b/test/TestPlan.md index a8e64362..42ee57c2 100644 --- a/test/TestPlan.md +++ b/test/TestPlan.md @@ -56,7 +56,38 @@ Learn more about [compatible wallets here](https://webmonetization.org/docs/reso > (2) Obtain the wallet address or payment pointer to use for Web Monetization. ### Test data -| Web monetized websites | Non monetized websites | -| :---------------------------- | :--------------------------- | -| One valid monetization link tag | No monetization link tags | +This is a guide how you can setup conditions for testing the Web Monetization extension on websites: + + | Web monetized websites | Non monetized websites | + | :---------------------------- | :--------------------------- | + | One valid monetization link tag | No monetization link tags | + | Multiple valid monetization link tags with wallet addresses:
o$g` zZ5L))6ks-!8cMf*S#Lu?QsRL4lju0GbuPwWLY<_$hcS1lLmXyz%HPHyP!2%V4|NpF z2^B-a&1G*ar_8T6rhZ>IS@WuUph0oDf=Jyhi%e}6&-Kct?sHD>31{MP_g8cbG}q94 zy1L-}RwD|`e!E2!?NxZKl)W<$PDM6;dfXMn-U(JDsKcm*#L35DZP>GHC!=G~^fQEQ zCDa_k*Q$n|#69>HI55hvXz3#S5L+9z1FJi3C!(LFN=^j9K~rR~^~SDIWcNT3o8D$< z-zbA3KW-Q!-Cfaz$S9>vD>c{w7eY&lEKw=J3Nx}KCoQ{}Vjnz~T2H#LQAqmiQUWj* zkLS-{t7mmzuc@A5A}1$Muz&*`Y_~Fu4X|rbmTf!IhH`2k&n$D)bmNmd1(}wpynE{S zjODq;Qwh_r9bi@IH9$<7&aPNO@;pNfLTKxQ5n3N+71ZVM3++n(g!*YWqn6{&`H*eI72-A%GgGM{8tWJNaS!L8_n9$fq8r>&;sTH2eji~Q;Uqh0L9c_uPXQ)=A52&^Z z?FxDQ-Zp$~fwPu)n z5kF pH?qYWJdpwk9WB4!^1aRd*k$bhBYFQ yH6k+Bt5a;U27g6R$ zA&lFOose#q3$ycIO>@$Kb%DJe&|4k=CKH>nSDR>@AeevV7^a_4U#9N!56aqJzPP@D zW8c_nk|D0RfBOV`dTih9h*6ku3 BzF;fYluW{;cN>fv({y)@guK=sVj8*O6nG8n$Yu$ zpkqJjURYzw!fgBTv&BfJ`F$Z3S)V|N8L%lTyFf-}32uJjBB0-+gQv|NqIVOg^_)q5 z-jT40cub-uuyJ)amfCp4mx(FH)ws3#Y+tNqnY~!NNSiga6+O?R><)1{>WKWj*;hPC z`6I+FEGqL*;NV~{zREdEMq$yHAsD)P?*$nOc9d_%%isT5<({VF&6SqmZbqX%7|VES z>x{hMDTuKgZ3%Qncx~^A*7$uY?nwLIA6K!i(Ada2@suFVKBD2nWf!25RSnevhUwAt zT$FGuj0qT?Ur*570#ICt+mhIsS!dz#6(D*U#8R|*7daW>$A?s|#SFe+7M0@cHG#+1 zW~oasCoWKEO@CQtl}NQB8T)rrDP7dEPwVQCscp*-Fq|Xl2^s++%h-Ov3kH74@(vo+ z1a6ysBst8zZy(NNXZn^y8iajJqqSv_9Xvn79W>vaP{>0`SN7Vdk}NepU}eJ*>JMu7 zcHjHusDtUhI}7_4 {V;CNJ@yt*dAC!gC)9(+pv zoKaTqLa-^~Q!a{UPd;mx9$0UCx@Arz8{?+0bxNNPQ{v~nSJMogAkWHd^j{||m!#1# zi89cz=M<-cky*^D?~Wnqn#dnEyfa8jC0T*mAfA31aTT;gf`S|mA5*2oF5ZBNm>5Ag zKd4|Z{{s2bEjl{+=rxx3xa$n7vu1U9^-i ?Z>#Kz@VEc3lyx?nYcRh zx{O_c^PYQ8P1U0tf(Tc1ayXX-H!=)@{j*#i+Q@VR@=43u(lqh U)s$?Z<|uE&iZ4)7LYaopqug3Ql{_rEAt0-2+$s~+4T-hCmynnD+Qa9Y8A1La z!z7cRF31VIkP%KVtY>%3Dzx?8&1Gi@%jAoNMd5$-O7QZ!X+6T;y0U^#AUs~y9707j z1`jlhg$O!URro4@3l;$=UxF{TrO-XI7d~8JYC*g2zmiKDl{!`yTGlP9jL7=@iA%)g z;(8uD5N_n?O~f?QM3X_dmFkUc;peAtCuK$THFX(5b=bA`v5~Q<>dsyKPomoW5999o z!+!tH;HTj>uWg=V6aWZRVj-PSe`dh)wDAh`dj7Xt`I8Ak9KuiFl7bzE2Y?^7EWz>> zo^VrW14Vc=j1qUIOpE4lnY>rmIi;Cy_f~uONWyA-Y$Qn|#;)mh*qXZjJ59;7u>vTQ z^7a}tP9BIY>8 1D!#ih=Tx%dZq z1 Uoo1M)NI1O)j&myb}YqkR6j^;1!gnZ98 zI%(wXbkgt7yKdgQne`cjd9UPz$hMBNd>P;7*&rukniWmQjlt0%MO<8bb@gIy*W%In zE4?hqtH{z!+e6eam|LdkwR(tY|3 ~rW?FJAz)C|Y0?=$GA49UCy!FaGTTO=C zSbw;crFCR~o?^yJO^ lLOq@F1%0tz6V`qlE2mw($zU+d+M47(q0{VCb(QurvNC6-@RfkX7h$wi6v zXMs3Y0WIxlAKKH;PZhM?5OHeli!sIB%+$bD`-#_CRsoDA?EI%YJJ&ReG1&e*neLc# zNPU-hfPfPS`kg#gVEbE!oF6;}G0AUWoCmnGYJA6l`TIQ&7G%erI=ZNLK~TRJlo2?= zhJ ZRvqH%iYCqPOY{CBBy@6$8l)~_M6|vxpZAnN>1Q#0 zu(bO$N>0(nV)e%6Lh=t=M$UZ?SP_;}1g4*3_ZO@TY^IQbZ=B}G4Ls +ffJzx9$Gg@8g_a-(tLtA;YgutS!1+NO?FxS5!|cYNDz79;*Rj{|DIjs z!uL^MOGz&UyIE0JGeMu+t!s^}3#bhKc&JifRO)Z&@2p+M&GmVu0ZE1oJvSd>FX~1` zx7CoQE}j3(iCL@s1nl>yi8i$YoF=y@nD^NMQKGv*C~rsdeW}rta|^ogV+vvb)D# zlcUISi~KA$@iG6x1vL=Kjl_@H>{^z^NU277&$~KOXb(jbnzhyJuKTA5G}=h~w7;VS z4qGeSKr3eXE+gY+R~jP)j!5pzjLVB6CgN9h8fc|`IA=2Idx7JU#mgf0;OF-QQDxDt zq0G*BO3ZhsC~=Xk=o2Z>dH=&6^WoIE?SuXF@IRPMhppU z$&|SzQaz(>7wz5|Xu1=~y|$nof9Ekjn7`vuAPI=!!k=`1TikGoahNP@{h_%gdu`ML z?K}`MAY7m~(`X@Ywr(0+to`%906qWixBk-{p~n^SIwo_ZB hAr@Y3Tx#s>s(+wH!{1Pt-H5v7gw+# zZYsBepMTSpMZs^I?A5qK^w$UVWZd56cLtVH_Vks7EDLp;+5LHoRQr4S{j}a1w(iz% zy4w3q6Q8-4!1;vgFhadIKjXGz>@OOG9_o5$@ThRDb9*l*qfsj^-RI4({idrs^S^Ba zUJk&&GpJ7QZ4~LpdS7&-w!Y4e;Ofr##4@?FLysW6rm4%QcLv}5rZ2Gmw{5iNGYa;f zSL(pptx~-=KkG@wGX+E%?P1pgXl85Owz$A4YwzH1y1MSGQ6;HyH)3X9xuQVmE)dA& z#zs}T{K8iK83J-S&Vvt{KXRcg_vyu{43k)ORFk`BqRE}Z%4vHSIB(Eqn1wuV$AdWw zP?q#Fh1Erc8|#wU!HLI>_Koj Ld)p=R Zyp?;t82z=IU`CtIy^bP zmU(jHbjTMB(Uu>~bP_SvZ>=liMVPiDu$(rGmKT}tV^Q4Yi gFFa4ZJ#i&wDG;@U9t-O8VIyN4=k6OV&9q}R5yyDW{Mmp>a6;ZW88cK9 zo|o0k3ON~Egu-pD!J!TGMDol`JLJ7;9Vg#24ZJf>#Gw+1uq$m3 cQVlN=os{U$0w&Y$XD-p2(4^AL^D)NA>l%&wA30OP^*%X z;|PDZ5oQ0otLc9={{L8q^#qp|-4j ZJjdqQ)a05ICKD*wN9ZP$Ff|;d@Q%-8=$O94_W@ z06F9N8CQuXEaD}r9FkuW#I*=XN&53JYGChIe@A}sJ?)CRI;CIIMaa@SIK%ki{e~9E z=)95QoXn45{^O3aVL|3c$+ky#gfH0s-KUfS#}7X#g)riF#FH+jcC;e&2qCTn?v*PX z(M^#F$U98`wbnc2{JZ*}Qd^?JU#h6q)I@xJ5 N8_ozl zNJBTn(587ObtZvsXJ`@k`u4(fV>9s->_O}Rv8J3J>vP+6J!Lc $jn9fDAQX3KVH9LFFo+;B5y%!x*HuN=#3 z<42YzUF@`K@d;t0Pddolq*~R8w`sqjc&=z`dw8@nmK>|Tl&U%M5SJ9%_mb6sI^;?R zjw{VQlL)Ed#nErQxSnaIaHC^B=DFEt@*V-Q^2IVk72f~Ops;fbgC$`vG9iL_;Hs;= zcGUQUU-bT8l=}`xUccerg8KYkpY=t}z;g3&y?Q(9L|qU5{a+goXty%>ufEG8WU3yj zKAnAzg0VYrV8f g9MYs$g{;k?qe_s zstw`|R+WZyJY`b7Htdtq-2;uR_yBz1Q6sWzqlywQj=M%1l$UhO)#vM+K36v->xW!3 zh6xOFQmQcQ(o6iw=x$0YXP)T{H&kz`5T!HhSf7;>Sd6Tnv2+aUF00
F?~{C= z&F|2yNK{Qd4%4?qN{yZ3u`u8w9kI<-LJOIwAt(KG$8&6^AR}eAy!5sG{pB}^QKR&^ zx%Ta|Y$$&6sygyD=&S(Ou_Td5;ev&MxYICGo$KC)R`LUzbsz@mCi)OrM#!MCgKIB~ zorXak+s}C!>M_S~=yXk3%ohzx9lo_6EJn#s*;Ajk%nmj5YF7XQ`?tODa7IM4Xs)P8 zy_PdOh3i5xtC|V%_0iFJZ$3Kt*MB9g{zLBlX9?Yt`|^IKx+jl6nXw<>sRP50Z}0N| zsK~mu8`6kgHBtG{@Q^PmjC*NIJ)+|}ML-d$sRnaxXrr3+r2w7@a}s{=51JF(Pkrl1 zb$jdEWk1}xZ$$eHzTYX9u+{Y#DUq-K7;P0Z8^I2il6&WC_5)UPj>l$|#I+_T&etyv zh*fJoMju3V)+t3}*s@gC%qj%@c4}7V%E|A&At1uhngk#vrQ5Kksw0lQ@F1gCkRn(| z!6`SOdm6z}{TT%D+HTG@3O 2P*|!HEtGs-+MBa z@RXxBBY|68dcm)RIg?Mb9D;E7Wh$oPzP|!e-Ur)04fbkFt?HjGYbLNCfD^Bu%T=Cl zgVLPB_v+0~5SyjlDdrV{uN~VGRLUr}zu|UVV2ck;=rF#c;b |&+& zttstcs?L?!oBqU>Hqg~}`zUmR+RfVk08E_rc{CLs5P==Y<<>?G6-O5kDK-1?#WyCp zwu@<+1isSTe~xZaIWWhTg^6@KIEFo6c T z-Nmn)l1(}9Fx%z?d8vF{>hwTpHJ+`BC~XWE?^6j+3R(z1@;tsAbH?Jj14?h*_RCHy z#d`xx2lJV^(c9rK2FA`I)|4@!VwqNPslh7;$!jGpq;SLiVaj_sleeGm581av zDNV$R*`R&XC9~S@N5DI|`7I(kq30MoD|HFR?Kg}F^2$G;`f9D5zXq0LJ6j$jk8$h3 zKbE*klrShxx3u_qYeq f!_BnVn)bzIkC4)3oKCEl_C{FmLqsHQ8!v)RyvxWhu0g>GO=8bkMSp zOzDoJLW~-I$PZ (_gx%qbg z7yHM&>SxH8u^}|{D$eK%1*xjVnYTJ= Ym6sgOq7X)dZxo>#`_!I& zNXAH;ni(v9treB~36_jEE&E1AEaAO|gYa>UJIIRI9KFPsh}y8ka{byM^)>rk2HArQ z?-w{LayenHNb$~8%ZZV-yn3z9s-(x|qpQsulvHsbCPvAJA1t{snO(KoFwqdjKD(K} zl;(N={8DSAXiwq$z{gGZll$}oz$;Q0Mo(-UELNo_d%ZKT^4QppYJa%JdDU*B+Ep#(hN?CNqQSc(1kXL8_v!hPsv(tM=6^D zznSWcCdr!lR9L9QTq^$ hj z*BU31ha _~_xu8-rrHz|IfmN^bNpDoEILTibj(edD z6Oi&((NbrLF)GcvMpl#&`YhTZJy-^Sgs=LJIM9Wso=NzrwI6ov*d(!c?hW}?&7dEC zI=5?vcCf|&_zT-qhfT~JtBg^kB@4FV*F!?*L}>*T&*sR@i2RakU!TaMyQjrh4~)C) z7j5~)%uvYB-7fC?yCRY!J}Jxdy%8U=&9RR?{?6dEi+j_YA`$)F@LopQ4$zJ3N^06o z1}?4|SoMEhCU*~^Wss)2^Gel{PL&QAXlCyyXD2(3KU#RGZYV}>(&lOhxAh3@XKY^W zGt$@AjdW^(F;v$((zLW#3`)9}YZYO0v30GNL2urLA^An4RoY5gZh=QoZ;Y3`fVLgG z>ikXLI|KR8@{Rr1ex$z=a{RoTcK7mL ?wY#Sq?*f}*py7Kw4J4#S)IK4 z#hvN-hOTgb6L;ZE!z|8Tm#dSu;`@XPYBDf1Y|k@bXx6M-z|iKYR{nbL)bC0dnLNii z^2e-0o?+R=I%HF$f|@LvB4X#kl4K5G-0hb>Nnq?)QhF85B0}pnXI#n>ZA0pXFZKtm zmtJ+@3clcXX(3*}42Xwbi35EszBBp5&Lx|MqVFf^-Rz1b&Pd4Hbe>u*!1Sz?nogQU z${lFii5$nfq4947?g8GAvZY+;oBZ9;WKhh$Iq1{lG8IYjaSxd3;_m0kLYDa+Lb)#@ zl@%jvF0I6+iBl7lBxRK=*N+_t 9X>ohMyA+dwVcmf;~zVFj)fVQa9^asCs@Q*$mZecoJ}YIhYtM=Or 2y`xdlXFGTJ z?-_Rj7L(T=CsmlwYUv`05)t&w=Ucw6=+TBdX86^{G9)Dx$~cy9uC&{J!z$~KT(TE{ z&`uk$`4J~mghL^n-c2R# x#+P{fXs`4CsB1o3GhTooOoxj*a|xM&R`0n zDkzs104~n&4D_w<489)zokVo@zdJtow$IPc5B-VmcTJ-+9?&3(5Y+Z?NhOi4w}eYp zVQ04ryxgHps#OzXzXtL@C^QQJ&-#}Y=H0%Kw+gr!>~lq1jrixMw`EcpHKrSGUl1$$ zF;*qpMdcrXd{!5}u`kK7;H`c8gpO8VBomL(OH$6UDg3Ygwkuh)qwTigVFFxyqz-Z1 zEf&yr)!h<$);td3GPhPjeS>hzFnt WP~z*gPuJ%XUvDdRg& z^9nLj5gn}?cOGg2h1*f0nrrV2$fEcG`JGbld^}vL_bzT&z@FQt7Q7!U-KUpcfBC#` zxRF&=5~qV48? InA!MK;+N_C_|`&D|jdS)c<48-mhCVRL1>(m;){B{$1b=LOFUMD%LF{EZ6BntH# zxvj47Ap5sJ z@`B^Z8D3b$Zh>HH#0eS&tZgXTkN@_ieHv=6kzP#__h+5L6%}%PTD)EIrX#YayK?Sn z*EiSZ8^z3Y8+_l0 mb4lkx9dL8?&Ox*`$8_AC$_U44#>N{6XDDV(YW#S_7queKUU?D|LZ?`e z_1WFfJ3T{8i#6jMK;z&)3v2zcKa|wnv3+KE&p1D|dO<>GQS#QM-vX%^lj*N#qNJSL z!SUt=TmD%W^~k1t-54i^--~b$@izrJ$X>d(FKtpK86(cXk7Xh()^cvwOuh(bpam=_ z*T=Uki7|WVjCrp&RV}01Z1GOs9!c+Vr;W7>1r7^5{0MhL {~qZmf470r5RYn=5%ofd8QjZ9 zd;w8`(q0_VP*bc48_roEI~j1A{UyCn;$p!@6T zXEt`h5R>}acC)DCJhUc$9Wy(pPt5{gA&F|UfBc)qO2VAN_{2E8+c?h?(CS>8_g6-Bo-L6C6$TX;}1DT`oFC}Iz zs%ts|cdVNi_gXaj%8$=b>J+)Xy|(O~&V{jnWv45%t{tmXa{sK44lFzt_;^8$_s{Uz zsXKR(>hWbJ8=^V&kRJt(+QLLAdDVG7U+;Y_gFM3KTy_KQMGOJ>Ff@0zpFfE324y~X zaCEY{m~_8MLx-&k#$$*LkWQ-y;&>>d$VjgE2F4Z9 ~IOEJjR@)_uj)a zZ?96V@dJX`R1g_}{0feR1s>vChb)79eAQ+$<|$UDCfxbkrh@>CzFc>7bb eiglq0Wm@7HhVhkiXuxi8=@kCQ zU+EWj=UhTSbZlBuHFr$={>~Qkr*?lxnG#auJg|be;&?$FX7YPFI5>&5Bk)Zs V7CbEDw=imY}X{V?b_s zEsjB4$*K6~%0lTo10)Zs7HMh&fb}H@ODuRWp!tQQ#){`Nja0nWQ_J=__1*I^K~ic@ zEHCYqIU8v~GYhRLQWXlE9P+IT^L%b_a1d^Y?DkOYPT%#(EOIY=YQGEsxvtkuYxz*P zv;L#_tR10eX;7eSwn6-fWH^#bM3sTEa*&98h&LWJzoc~gl=EYEd`wYqQ__x+T={mU z5U@wi<-;dj5Z$KZJtq9MagPVQtSplUoPmBga8Z9O*dZ w-G#2wu@?gF(6ltj$0ii)?o4u|%e|_*0JahQP zd%pMnzqQTp!Z3HsuufgQw@Tg_981KvC#%Nl-dm;tn0VDKp<2=qhTr~le#4cN&qI%1 zRznC+d$)=BFDzag?I|}wkMq4pwf}^}qyKL>{C~a=kjOlu8tbvu#PZWmbVtW*FhauI z65`RTY?#jr$>{i-nO5?1- #wK7RKi5nU|ihD0VE~I*sSnWI~UPt(jg6?Yv4$9o%NsV}i9PH@w zB<$fGFBH+~4RyIqN~ziQ08;xjnf%1Rs_YMx)&nu{wuHv|i24qtnH!a#UcE`lyxUzM zB*Z~XfYSs Zm z?L!$@($Z|kq~D%R**BY{FoeZH^Fi6Ik&nKU*j2(bs7dIre~rOBpFOs*N`wS4Hg;_% z6#0>>Nu@Khl&Y?h-MC&nc$#)n5U7{GB=>cm$51ARC6lhA$^tUv${kee(8s~htKIQc zqm(K4gH96X#H}XsbH6XdA$GYJunklWZuG3;Yo*Ei>G p^vfpw(zn$fdta30!`y|vBh@KwObnj~ zm}9{e1!M zW&** zVeT&~#0Ti|;m6Px7uY PDP8F|1Yc3S;m`0lS(AqW%Gpd)H zmVa{wz zm*?i=-3jju?2dL;3tKxs&c#j$C*=jd7ZSu9b3ahEZiK++akyyQqx$6qH}9m<+vFR3 z5Z`tR)+MCw!VB=ek*)aA!Rvh+8svSxNk^5>`3uENI3_Ny>htrbHu{YYV>gor%1n;s z)sQ6b^9CjNyQX|egEpj<%Gy77>C&Y32y=X1;%n7r1-y5pFu85Ffger+9oEnCotBK6 zLnsA*5DXC>AFwHNp*F}y-z=~ymR(tXptMQv!1b#KC
bOgCy `KyCGY5RVs1=lk-z# zR-lUJX~}vPVNaJJ4TgX#@)M1?3I_ncx!vErd5y5$DI?!tpB+roX5Y6ZQIX{D5^QO@ z2kstty%Bbr1cn-0_VVgO_jHuqFOtYUt+A2%1Mjcw%dYp-HdsWxU#uV2AMSQ@sS96R zu+J;*eV=Mg)6sUr;>kX#p}qRnPpT!Wh>zoZl5{0daC4_-w%7O}P%-Ss?z*FIPt@fe zM=F$4=3*Zw7WorY(-t!n*%@_tE#~D zy4Ea6{snnAiqaugZAgt*^iMi=m?e#P_)*Q|M^B#*H!Yz;8|h0B1z;W?>%v9G>#Jrb z+IF_rqQ|(ZN-%JCW}kXnczNI)kZ$Jp7xvV!^Y}jxr?ml;;GIGHiMiOI^y)Pi$PQ+& zxyt8o8i|adzJ~av?&s#`pOZH1vQvvzq7u%{3+!9rhTsf7Ee>IEi~Xk@i;tle#y;&K z+lH*%_f6@saqdh(?q}oYvYt3@h&ko?!lr*Rf_-`_X^5!u(7>pf0GV(Wv3CT|Ws@<* zHnd*iYu_rX+&x0P(RSQg<4abAXYLK$S!zhmLG &F7fcQ!#&Iy{EqiJediP`UYKf^Nt;-&p*#31y;- zIMcJh0Z-MIICB>nqhe3Q>Bc*TK|uIv&Rh9lm^cOn7o-O4_@`>P52xk;UfBq>IOBrY zX|v1Ik8w=e7CfHWl8f(}5_&Bf7FxJ#%<&{ote+WRSKb|-X;5V+Z|u2epiPQO>-=AC zE8^b5w<(eX+Rqw)ptTD)Wt$0eDLp6KTr$18lu4~y_0rSyJo86n-1es~T*=Lew_Bak zI`X LK*)3tVKP?x?en&>~BK{e?9qdUwWT!(P#$h7YjP==b4W3M!$BW zZCn#z74tk!heiaNz2XiqPp6jL;Q;kNxfwPek*08wWqHs9WL3U{FIL$5Qj}zmdG_)J zHAPx?f!fWf2ySqJzM)L+3qQa!J3a~kAujRPHkMX4ni@AR3B8X7LNUeB)%Y7ee _?g4>m!NoH_ z$?;9O9{f@uj{i|(AXl&fG{zFLtHS~{ncJkCK%di9*Bj`fc4d{b?(diuV2LWP3`pJ? zPyo=)8~6Eg?@LLxEaKW?%@(e`CdvZG{*&|@72e3y7bBI`9|3QuH-nSM1SoPDJ*jMn z4G0kpf{I3f^Ns2H%$qNh+5`ldQldGmnQ0tlQTm_@#3$0<8FlB5s!(2;FzB0s0@>k} z3wEO7m@#idJ^a1Wsl5akw?)B;mT*^A7yx;t@J*gX`6X{i(Tp{`rY2adN_i$bi3H5< zQ6EdSKIk8p<;*X#N{eaJ53{^%YV(I9K5OSb96P@WnTQwSdDXx|0;_Q*c%LV2GC(}0 z&h5*Vu9qR(bMtcDR`+1rT_{wQJDb}-x0jiJ76b9=4lCt0Oog7?*sSiD+gF5n=G|&b zyP%1v`e|DHR=w)1zZ$ks|2WRF$7K+3-m|SCxht))tW|3K;%1EWWWX77+M~q~fVE6f z$S;pvySUs;OCBnt%IKNYOoK~*`kyH|1n5BnsSE|tWWO`mI4+9hIgR=_M-i5z_Px37 z9j53p;Y&SrRI?>AA6AX}WE2n-2#tpGhl0OBmAx;vI`o&}x@E|-(7*oE-Qj=u@noG0 zuBsYsN$g^>RO cj%CSPowdAnLI ztNH%YsfQr@my+>hv%?p6Jl*Z|$(O>)UmeE3RY_d~&Y?H6lwtcb3*VF#qfKK?!x%mj zfF&o@lV_KnO)M8g1a81{%xbU@9NCAtnOr~{ DZ^!Lwg37qDsw_mIkJV8nXZeV8WqMGzW?@MpHSUvYsBhLlp zJ`rXPLqjP&koN~8PP$tQ?UQ`om#!5l?__dBisE_WW8f(YPFm$M8tcDsd$&q(vROQ& zHtFnjecKcN6Da$c&Q~^SXdbmik8OSF*L^KnMf{xP$wx#u>pvD1NZ{#=z^I6Bupyvx zLNOFR;A5V;^HL0Ks7YJN&LA{>?>c~XA8Ahf^IpoWD9t~B{ZzcRu@*|B7w*F(1D15e z2X|WOuXC+T`CC3SDyYusK>*Z3cc=tFq%XIo<)CkO<0%#8T(YjTJW7+ R>eLPWqW^$ME&0+$ao^$K@eH#?fGAZ>Y07%j~?NxU1-4Epyso= ;YH~mD|2E4D!N)YKP$)6Vt);amWRYVn)~3&qH
gSjHTx!e=R`dvP)s02|=*xLdsw(MLLAhX{el64ANmR&T9jZ;b zR*a=GLF>A g NvblP7o1 z{=hudHc*KG(|R`L`;isD2WY_Qo7wmM5eICVR_o(g;Hz_t5&P>AAPfcfXe>X5(D1~S zbzA&M (-b*)F--gxb1@7KGG2-BRjn#v?q9Q5>(AkDE{Uf<-Uz*)Bb$g?J~ z;r#9Huh6*}_>PeyWe#w=`NB=5Y}y67w>4i7t!r67wKtzBehWlJFx#RaBY)$*=tM3? z%lG19-V9_}f8Y8eK%gSvFnvfyg5-nVS&Ksh?BnUp_~grENU_!F4G%Hnha=L`n$%PH zk^{xSCT#(yP9ls9kyzS0gBv@Q7`m^?9U65lH`?qk7pYkOjL#vp zfDllokc0$6m`URIQhm<(?ppWj?{xR-d(OFku~tZScCz2>_xU});o%{@&&aP06H3Cw z=_Q$_?$s i%V)PeE#rF3eV+t}Ag}V2KnRvKpOYu=LL5k!{ExqjEYZc2|u4UhXwO5sH8O-py zPz3N7c`&8a+e!=X`~H>pQdUZ{@61mP6L3O7hqizclFs@WbVl<&9lIi${yNTjEoJ(M zje TsX zG4>e-@`oENgvCXKYggB{t2x`vbLI6zT0FPRFiYpL>39F&&Hw-W)Bjr{DUMoRs;mw~ ziLP#qCdt+c!hmqbH>Z6g1kfh5Cf_~UWY<&aQ*x#`uEWR-(j!WW;3V7XVJd=Y$LthW z1=&_xAm#EgOs9>}8n7_X%-N9++efGAZM`gqxM$`mqs~ve2V~Y~hS%;iZrR=FMH#+u zb?6mV)NbilG;~hD2npCDBJvXb`P2a?`QklLw^j=r%hR+k)ut=_kJI_Cwr6@9)!WW` zZv>BDnn(4Q`ki7#sXC<^Nu8#}@vO|$?lO&=JUouQ#M0Som6JQUha%t%qWG{EzguA9 zOIVGYcITs<+s-nmcJt$x-fvz&-8$sm`ZW;S{Fbjy3*cZ=s4;GFCXDBy9v}8S^1=6Q zm$T9w2NbRXqj7%!E5-C+g+}W5z--n I7kBvqHyg1j4qNuG~0fE&s4@t>wn-b|1sa)Ra!XCnBpX7(>dv){8L` z7NA#d6^DK+&MZ^z-_PFuuy6c3kL^`OR_DZ~-C7Ujv%MF)pR!N4`rYbpfDF|KS6}}U z65^;yzIF#EFJ@2+oU 2Ku zbRP$ZmM7IZ@8*R=Ek|^_ DsV9Xjtpj$ZY+<%eO6p>>Pt3O0y%Apq=xfJb4CF35FANB>wuqRG zHbGrS;Amc3G^3H06{0KUxkaL(0Loz;GOHLmXWS4 OSsFndKmS zE2JF${<&?EkzYBr!Y+5#_b;v8uct_4Y7oV9T70YN44>Un)qvWHpCGIvOg@r~jcH2n z|8zcjVA~OM+g!F~)VE2W@P(_ak;jH3rK?FmC-JDoGB&n>K*Qm}M^ZgKjw>%FNno%8 zCql_{bhK_Cw~&xofbd2N2~ +phVBgg06K zgoc0k1@q;+Ye%`>5quQF+5TPc>AB}rUGjXqO%JASBGK-(M&)SiOe$q~^$dPf0tt=X zpbaTZTEs!1Zu+T*fa4n!e0?zg8LR7+??xA+OV)TO=3#$iN*Iy6Q_8j0YCyd(3H8WQ zS;|=30dkD oCZz@=EcVMCtx&$X**_V(P~L=T0o3<43w2|F!uU($LVzt(R{q3r-beE*XJ z7SSaZU}rAi!QOEK6o2GtrRb}evfYmHoU`al_gPfy(yT;qx5+TMS_LH*$)ob2!O@S# zXNRw{V}LtnU{)5WwvXwRR^ Q I{hyaC`>OByyC^A!a;E(U`iFL;k `h%~C&8G`Zu@o*Sg_Pum7pHvC8iDl$#ecU@5{N9J!{E}fVO zlsIunQn-!QBU|4TxfU;)zVm__Dyzw-g7Q%7uD1Y5ulEJyGIFl~Zu6h5DE+X{jPS!c zQX%1{G%>_0fuxP0_8kgHlnE+3K~D2d4dHIJ>uISfouAB*8kA2m&AiG+%9nO+SVV%f zdmLRe?JkgA8Gj!y%1A#L3|&8nM)#DPKEs4nr1vf0DFk9tdTkjzBWYEkqsLho$YHt< ze+IEeBGw+!^C02{taHu#;a92iJq+zL< 7&6c(mN9lnEl9pc21AxqJ4pd6H`EO1>h;RO(cg z hP4$~~ctWM$-Kk_wW+ch@M-4dqiyfiOcV=EIz7-&Z)-t7>5+kc~dAh$Z zIo>aIPf~W&`n>J7AGt_KK^mhPxf-rTv-;QOeYbXt*4W!O?!2N$YL$2k%Icmm 8bOfTJPJ(rndw?B~pG%L!wB2mfLJVxaO0A<{ zw#MT<*Zqkp?-5tTF)WuCjy$uQ Em5~vIN(fZ!Q?E#lJrO8kzotcWSSH5M^t#ZA}C{9N3*V!uPFlwpIG=dt85Mgc{Hi z7A+^4?mDi;=-$hkbyI=#7hXNCv}t`Ej2j(#bX~f*IaQ!3uk3BzW*$Z=ha5CI2NZXA zY_`Pw>#VJI{ljU>{<2f;%A@WhXVXbT wZM1~jc$*G=8zHc_dM)O@|0B5{-M z d?798m)1EYvSCw?*AJ?1g)KmKI0Ih5LxhpC*TIa&AdDn_gnt+8gCA-J zolZK}lAPv?7FjBd H_ zs^q(@Qptwht19xw(Qo3OF`kFBW@_c$XM)Q6HC`WGHzRHma3*h!C*<7c$##aM%m?CD zPwfkn>#4584lNP52h=~J&};k2SMarE{uIq*RBeclytE^ VSA<-%UsK`ZszbCa|`)0HP-339&jt{AFXh zcKVa+K5}93t`=Dq`@#ZJINeMy-F;%NG @q_d{b^Ys0D&{ IP78rqc0fl z#J|b(LOvj5h1USAU@dwhbMZ^Hcq6K)e`$JbSL;t>Hh!3v&9}y~-7M$5PC`#l`;&QW z-ssI3)N1l^#P+EQlG=?~xam@X)_~qgjyBJOqjEG!UPTPQM=Y)gOszV#Gs6D|w~v3> z)Bg{$We4oWKiiT{bz*sKfCkZBZ64RCj{u0yx4^lP-WTEv5S?ulC*Xvh@9D<4 `xoUV=XUm#va#y%lIR2$7pt9o`PupJXAZ68TdhezLyNBKmss@~3!+(*s z^~y9}lxtIdL2rQ#Z^Zh{e$8$>B8{cppY*v-{*8O#t9A%9kpanW_us3UAvQbg3st2h zru9E`2ZRK*^J3yC^Hav3@>? - zRRXdhGeCx=hheMv*vhpE;`ZvysN?itl}75=z%1^s7!JRihG+FnQ~?MFrrA8DThV>& zoEEmOq4SMc5QH~jUg<-+mv%`e4gyqI@GPLhX1JinHP#(ma rTm&s{QU&Q2GUiL$a7AND!!(FR %MWXA>?820QeWtpE~rs{sto zMs0BqY2{Jj5%N=IKAS5tYx%@?E1w(LTan6%fp&9J2f%{`lG*HN-HvZHvpdkYG~{}l zU7%So$OWRhW{Osotpngi+m?Z|-urtj)b?K5l_eIlA9^$r*)F%2 i#zWg+ag@mB2o7^)=SNxmvG7yuz|ig6T8<~ zpgS;#@&Nm9#x!v>WuWk z!}3EG48VZ(N_oA$Gw-9>96u-YnG{7slTY$G5?6u(0?kK2pjnWS5+J+^=dmzRQ}|HZ z+uqRQK6fvSy=`*!ckp(4*+?%S&?^895_u7>H4%7Hcl_X^^TkPR4j74Nas bB4mCDU1$?tH)8l(6bdO*F%#XU-*R1X4yhT!0s_Wac1UP zR7x0U=05K>(dI1es8+&4iV&3=DH#Rr@hYpdJ<`k=kY-jFI|u~cQ<*)=w%P3--nx|( z3_OA~ptVKcOn!~E&aY#!FX}Q j(yZbI5Iah^S*W zu771fI q zW<=kdk)#+DN|?x?4a}m%N*fnEPQpFvds8nX YIef)(F= zT={j1lY=*z(?blMn4x5LA?FQ?L`4O27ca&h>$ vd4|Jsiijz+Q 8Jqvc TXD~qaQio4qom9qgGqMJa@l&hb RB!-f2Ww>>|x?e~0S-OW?($J+E-{shW~6ap!kLS0-x zRB<&j;Z0A`tVuN|Y9M*j!kQ#?t3hWTmfO1)&g!2SoPN(##lripBK#tCg8OjBl7tSp z!BV?lO4BzjcGseuJKdtRe5QA3Eh2g2;cRF`b_sIEB+Ty4fE<+-60}Er7-jBW2%E_Qt{?1 zHQYq*Q%>7j(L@%gkP)zj)$yQ>ti>s(V;ZlF26m0Vn}csDbab+wcQTE0=THJm<04Jv z%zc6^M15CLMzu;W-x#PU+FBfZQ@!eUY4;1#ostH&IU_~qcL0r<2c8j@pr*!x)@e_- z?J*APRZh?|eq8zDojy988k NM{4RADMC++q9HPVI1C%`Bs+JwjFkI6NHb zeme z&sv+8)JDSvWg8~@Uhu-fvO;-`&nKg=kD zZ6wELuY)CM@>>$hrq13nZH>`=JLS(jtqx7|U4x1gBKr4)r39*=d+4Mxt1Svf7jA^( zx)bqTVBJ*-93&2U{?$Q>kmHPn0gCWVqk(lKd%PZ%y)fG-O0{-Y ki&&r z&6q)9%0@IZ4xe3I5hR67Bx$l#G`{>_t)2h6P37N@^lLi^YVF5u#_+E%{`*7!_}~3A zVv*&UBTJ2W%>H5^*)KsQ^-pu8l3QWJB|-&|GrIS=SbBW1OTPJ+OYMuI>ID z@Izad?nEgbGqhu4AiQ4CAp^b>pqq1&+N{yIpx$uq7J(9(dZS;OXq`{Qlc2Y#Q z*OT*7PZ%t*+ONgL*@%CEWJTEuweR@y@-bhp@-+AjVJi?8Ch&9~hDQj+={b3x++k`2 zX5GKH>`x)-A6ZtfQqN3|MtDts#5Jd<(r!#1StMnp`UE;ycxbHyR_w=wEaA|T9o+Dt zb>L$c=cdTQfQ{X^Y2nHHyTjZoObFb+2wMbrnF4G1Wf|&o*co#;2MNuDnxdR-!t0nK zKf?R-i|>b2>NYw@(p_#?nu2 #~5>=1kxOWtdSD=x(I5wKDqA_Q4c-*92h4 z(Apu($$nUMyqwCoe&MN;CG2vFdpNXe2k&kVE4|c^ Hf@;^%7)6>^ISKtYlg+fWtdn=uo%u6T9 zlvXX~=@U*7 =vg zweQRU+Ca1-qM5w~c8vN76!f)9Wj-Lcs@ly?f)$D7>)hM@gE+Yco6k)eoBXhENxH}0 z^3=6`8euAjVz??$m7y0#n)%2;TfrW`H7^N`1U%!Ri4MyzVU6v#VLI515Lk14I8Yrj zzBQFn0H$d&2L8B&GIi|$il&QYEl>$M#2#P0;_9H~MVLJg8UQ9pGeBq2)9=eN;x%bG zTl%*o-n`^aV!KZ-2@hS4C`h+mvNgA#AJDyT&SJYkzvoNhVW$ws<9!LUu9OKzP`g3+ za!AYzZX+iJv2GX&q^pR zjO9=#H~2@4`Oj;!=TSj`>oMJuMA8tkt3_a4#rH (>ZSUx%+(OJh0skk+IvQZ5G>kYR&kVasQvLSRzk7H+VruHKhBjP~n9i{(Hs`lr9@ zMQ;GTXrMXb9xXt<79ZJ04vMu(cFBYJ4RqY7$V6{OG2P7R&voym?RP2s$8XyIs#pAK zzvvli*lkeRtAlsBFpfzU=&21B @&*x;rey|cVec99x)9Z)R z+i}#5(R5ufgDk09V)V0i+RPvSRcG{19OqZr8xT;}#f-JaK@0@<<#h>{MkcmXcSgCx z^+2|EPR!oE*8Djuj%wX_Zro9n- +zxEVGE5IE~MKFbR4t zL!bmMv~^6xJ3S2 w_~0``nKpp+fN z01l0Y+8&)J|C``3@jnEQ7fqgYl)Vi>-}En6ZX(+!BtJ|aFsP5t1@RWX?b&NP;mhxq z<^2{;kJz`|;5t8019aj>rLPpu!YMcVWbF3|oCRLNr7R{jlJNtnc%9`c*Ycn#-n#ew zhu5pLgQ*3?kgg&v!M)Xt^|O7tD;E(5CuW;1@jJdXW8?PeYp @7K ze~`_dBjq)RchEfLCpG6KiIHcI9 U;G zD3PbtTaAM*yOILRT&d>vbw84DKN7|*oVsKMXDNO2`PIY-z@p7>`Uu;w>a8y4Bc*)r zdW4e>h6I&i8g{RVscq}+CAGeQFn8RmLF3=X7+)%=3YLj52}U3g>lBEF`YB0?@YeWU zHKMQMTyiKXPrBNhO=54lIv3IR^g5-NE@ibvGXCGPbatas01~nEqAPLA#*b^|Q(gxy zy&fAc-I*GATMzOy%tb&Y>GL8Rhi)|lq!?(nZQDCXDPs=a?TvWf>=%zvnLd~$ap!9s z#*`BU xsSVw~CqJXbV=sGB93I++r4%*RN)D+kN#-UBKkUPdD81_S z8ziG7yeDs`t}}Dkr!` qUuC{?(l!^QtT< z%k 3!3P*AVp}(_A3cX|eVPCIItH`$C`<+}igs&Y?as8@%{L!}Azd6SK zl=?kow=_RO$A=v&Mb|8}Ez-lZp!9=8X2PB$v9z-np>nilBCW1zd6-L_+QV61z>hfL zG3ToqYnq^FG+l8jF0|d&?CaWLnQwOODJDZUx>@p=@2(D1IkZoHOxYcAbrIU)CQ95D z7OZEfWP7l0?uhu?w7Vsn`uDMHB!a%HJ3v~GyYj*z%{yrJ_n@{j<4m=^!;;XLwTsCE zVcQ9W6-Khm;aRi%=;5Hs)+j08tO!Yltb09`MVuq${$d#Gk{z`BH@g^Y`^oVBa#LF1 zA_C|e^&uR {-UrSUe*&D?n`d zMH>0{R;5&V|D`6D21l2F*r#1!0;lum&s8PuGy+-gjgIW=(qk{qw0iCuU%L+9TA0?! z8uW)1db|$oY&6y=$sZEO{#4-b2;uPd`9%|rX9|P %Vu#dQ zQ~bGgLkp~PDf^w&a%)tGyWVCToFuZZES@D7;cj8=+a}6OO6ax1&p6wwYu-Rv?lQtJ zEKYFA07K5uMDu@GCI7eX`~L(FmC8n%!!0 Q=I6 zyLVk|MWQNANx?KL6Zd>Ukub|Q_LBjTzVk}*8g~=qa_01AP8aoGE&_tTw$g69iWeD# z@z4WurA>vdl)Bh&+M1Lf4gk#$LqmL7q|>R}6bDbl*4g*Y3kgkve5fhz7I_}_JZgqp z1)ZX(Y!%xNjTNh!^^`qFEi)Qf!5$I#mu~KTR(8dH?;0UI-HvNvp*MG*bneka!{ys| zFC2;9t)_lY#6Cusi&Nz~8rwQWjwXzj&agq>*Dyhz^&`e3c4a_C`r(N!xm!onY}kBA zF-BDV{=7hT)RMqgiJq>DyC*3^|7D@KldIw-Z4E5dh)*Yc@1)~fjK@bv*qCZTyX>>l z?GO7V{BgJifbc)gNOnck2uT4yq%xXg3I=XU*?w%uBAT#3U2Jvb#8Jbl>=#1s-L*_( zAfrdpy{HX9Caz@mw{J6#PT2iHcs0*)Frd~9=|6SOfC9ZkYS=z{YJMcH@XdyYXL-zZ zukF-fJSmz=YYN!*ZH)L%CgK)2(`OmO3%&&0Ya@ua7d7ZEqiTBM6Dj|MtZov&8G`UK z2^ws0(x$zzaOu>kX#B ngZ6lgKVk>WcVyIIt}#dMExG zuEkn*cFCJKL>MdGL5c#&5Epd?16bZl$s@=w>3n85xGksVAC6^kB<)FM#XEMHU7Qx< z>#ix$`~Z25pVLfqtgYd2sj X^srGfvsT$764@5gb1{+H|#Q!6^2eDhFVQ z-Jke4;F$}D)|8#>t;d_BVfOOYp6=e VVZ |j6~l;R8%LGrY!r>8qHGC!I2BHsV?ux6X#%9` z?YVxGolQanK+*|wAOi8O^TE=>iDc`Fa^e>d>_StVIhVk0h4q{o%%^Gb+5;*_Fqz1B z7(UT$0ow#xz`3DWW1HbjIyqYGvrJ#C^KIP@tp4LC;XKQT0I-E$hwB_rvr4DhmHfNX z?NQHC0n1R+ZAp=SGOb-siq(;D?{GC5b-q3uD?p!pmJRtO(;yu1MIwfo!Bz~LYdZOk zLS5Qe)=)!@d(snt&|Twk+815GSN6cUZQHjs8XF(S4P2|QDon*3zV#TT4fn@~Q*fOK zvoqh!*PrX2oaGTQLVWkjMB9P-xWWuRnOZ$F8Ys?czD=)<5}WDZOdRh6ym&av9PVi9 zc)Z)3{^(-t?{_rW-iVa&GCwurNt!Lkli?@a*Zu5o-TD689{+uGo0Egy9*{KKew(%7 zga5GaOHf}}CcyZAavL4vKi$PEeyH#NZD;U(e&q>lq#WOW^sAVijLs=1UW%_y&Sqyi zY|{7LKjByUulUIO>3Iaf=P!07d3SRd_{s*i^nCSFa_QQx72bDj;-hhVluuL<{xxs@ zq{fZTgy~Ofvun{l-7{xb6Ab_>^VKRwcQ_TqJ#@3q@aJlX(+dM21EmCGlQY0-Hf%H# zx0dDTWJDCoUChzU;-H$DDKa2t3=gF|8C+UTBISU%49^8vFeGo9&%D%tWArXul&;t2 zlk}e-=&r}ZCyT}Pf9*s&Z)ur_ZkK7Q5to+}xxDi9|HyebTTWMx_uDB~^aA@n5>gD5 zc76UyOVuyTKkOUHt{w#Lkq|L{kc>32)kSYt6(dkr)&RRAu2w#l+|hOZkJ`UP_ld*f zbI@;hS{=q#tLl8u-@~`_3e$SJ#mFjU-qh&xwpG4uN$H1ub{C%RA3E#iS4oSHXZ}XQ z*9kBR0U-~21WS*hIJ0`2+fd>L)uG6??HWy{ThzkKOxC7h4Xax+rF8H07O~6 c z`24UaDacTy>Ec{)WRR-S_6VlqMe+UI=fLeU26?gVbIt7?zi>nOPptX1&Z_MfL+-EN z8WhQh<|0q_R$yUn4;TY5YETVw9p0_pnI}tE5>Ky3M{GV(?G_s`CqZJ)LOafEiS~Uu z2r#R-*4iy9xD3)5eEIIx_`KpeW$J|^0e_@^Rl=wm{|t1Wz3YACeeWy#m)eKzv(t_g z;4>M$p?>9%&Scx`2pO+>ssD6!EGJod{FiJ8t8Sqa%q-~va=ldo(n!jj87V7?lqhL@ zmcAX%gKc`=29#Wadi+a+Ad~0%uxOce@j_={=r}?IBIUp!b)_ZVq@kxE07B?ktxNSU z_;m^XAr(H8Y?12c=DE%^o9ypR$)k1AIZk!qp_2Xzx_Me(3CCS=Q5Xeij2$hJP6-mm zXu{v%nbF;ZxXKFqn(C|lxXtitYO?;X0`wnLb6sC9jKUKCGI$#AlTo|OX6-Lh_Rx@m zfJ%!#nf0nt-c4c18h#U9&arh8@H+it5*fSw+I;B1fc~Ij^VI!jXuxHOecwvy9q3VS z!mBWc+#`jWEUg6b{>rTg2ZLn~SegIaJeR+X6yUmcs+&7ns|P&DYeOW|yxHe@6SK>R z=yU`7@d5qZjBpUk&~psB2G(i)U#c?8>-zLNt_}b2=hx!fO`=)e;Y!lgEydw}@AR|7 zy!RV*0)Loxu|=sn*7t}$t`^~r*@PBxfqHDPeWI;C+7Nxhdd#Q27>4efQ|-{XQJ%dJ zdwlt0BLt*>tYC3=c~BE;xqOs_G##3K8^ilpFSTMJiiX-UD2($i2r`Nl131KZ_pCi9 zq!8 s9HqPQ6z8jkKXG$toyRG*|Zt{ZVb>?`ic8VZT;={WTD+JIAP{aJ|yv|VFa ztvINvwhG^VZt>-i3i}9)x_l>><#X-~=^fj@ERGj&XFXQu{ t$sF<)|||APe5$p<`@ak{l+FilRly~YR`v#eQ(J1>g^{!@qqde zh5Qw5*Z!#0wl_OX2*}#@{x2G3r9)+y)2&E<#a}39AYdcSs&HW1M^)9S>^R?-T%&X| zGuz6UR5Hu7e_qf}xa1hS>-$-Oh`+pP*O{gHaw(4$8Ew!%5 Qp- zdRt4hCz1~E;+;T7?6;pdSh=$VlJC9?3WCpfmv}ODGLCBW)=AHS($l|;{%F%MDEDU$ zibFG3jG B?>QO%OrjgD|7Lo#UqWKEdsRGDsA}BQR+sUlu z2VvS7H?oDEO0{6@qd=)Zy6!gw@wE)X*B);jL*jS7x6(ek5q49m;X6E*D_BpgX z@&+!a5ky{SKcORcTa(sZ*ZYVYCdcm0M ~t@`+{5`DV(b8&)lNV}@>wed@+Lhj5osU@^MG&KI| ze72r3zooW(y8s%JU_Y@glVDfaXXXCIgS5_E>Zqd6uG&S)ReVF9);ZwdKc5Xzs2QLO zMb+r>O4FyjQ3q33`3bMhbSfB6;H8_Ur3$~e$s!diS;(j6I4wgWq`?t-;68gb-IA(@ z?@7UP4>~DK@Sl&s`8#^5L+PdWNGrDA1oKse6kkiBr~;yHnJmqq$R1c^mV>A-R~wQT zH-UFlK!0jap#f1$Fgp>yU~reuvl*$=l?Mr82okx;+f~y}h{5~em-7#_Qprc|3yZ4T zWO&1NS?TkUokoP#1ciI3#TXZGtQJ_+b#xvNR4mU|<$u_Buo>_AJn2EH1L{axBkDv( z1*8%My&t`>SZrCzpxRzK;SIs!wKKNm=iY{_l~noMg*5)O1_>RCdhZb(y39PLpEcKN zJ%*_j*89u)d>?i8eHZP!9v#!MW}c)~fq~+?;IzdCKjo;>NR*nkO`vTJpVh8Li@u#X z*E)1Nu6DHoC5C&mi|$`)OaX>qtD;?%HC34SSx7*&G!gV(4#Zp^D!MMS9;YsRxqEU7 zK_w_eC}@`UQC&(mdENo|5Kcx){`6trr{Y~~vpGVi|6H3C^;2WbTH)3F^QRSTQjQ zvrtrrcaYdJLt&iRiE4A?(r{L)|3;PbX1W!C(-gfw$j;AC7tfycTXTGKf2j~0 z?q+o}_T6xJrf+qXnpDWYPdsnfXeuujGv;H=C4d8eGgIbtadbt9x2XbVX{YIonRFFo zO6kC2R_cj{#lmtyczc`MTc518YYR1ksxT5YI5~ssDpnaj49f`PJ(~4~Hud( @SS%p8bVNpeAWLmO2bs5j4k#b~8n zUOvo>i`@wxmM=+?@4e{-W7+8|wXN@A({ 4)LJ{~;pnG1cYCpr;=%A7xAzpNrz8 )rQ;f^O&CKwW*z! z`W){pY{toHs5#q@<4J$#ZjNOrzGTvxeI`zvCp(oT7Z`RjSZ*kD<(FHU_@jMD@|<$e z)HQ+KI$8KCI^bY`pz$<*tm1U`#6sxgEn!-{Ww({X5#EGt2O%LeBXAvkC8K&lvdNcP z$VNLlB$sEy*D9X*BIFvaE6bcML*fmB)I@9s#_70VGcPfJx_NpwTVm{Rf`F?iyi0+2 z^gmm*zJhl{xbC)GFfpD>3MdX{ngLResJt?)$(QIyWP#w+y4f4~q*a_-ASVG*V$KeD zUmjqQ5Gpi&C!Iq2w5PPM)ZXtb&~aMKV{L0`YR3lF$)_@mcAA{%aK?jIjDb3zMxk$& z-DaPT>(cE8=@tnw=`$4UvD9q2#DcmehU0tk!^%oAUsXvx#mW6-XiRQFLPvV8sw4D% z$dL%jLQo10Q-58+BivG<$~V>efZNS|Q?iH)E3+TNSgBMl4XUXVQ%Qsa)9IpE#%# L-i^TnDW8A(Zqr|dO`D%$V0-z!@eF4V3KFp~EBe*O2Z?f*H?`=ac6 zHpZI@&5Xfbgg!5o4R;d0eItLQhYZZd_)^m|O_bqk &U5V9iKB3Xz)4}(-B_ivBaZxA`3UOMKFaZsx~1(aG-h+5oH@o!gFV@^IGYv zf#l^GM+@UOw1fJ^O@k<(*TmEcqL^0!S!04=(8mqUWeb)`1;jmrW&JsB9phYSxj| ~uCG@IiW zl~$LI)LS>iudXpsqZRrz$Gdo&yybF_@Xh+@BFQ~eCDKc*-(qj2<66ULc6v<-Ju(kp zUt%MUZD~I^!odWWbktKV^(w!Q!+$)}EsSRC^pa1{F3tn~6 ~pT{4f`Hm(Wn{@{4$Qd z6UsqMV*lfhTv~SB*JwzI@6b>mvmTU^T$M@w7CMoDD^K!KkFKqXuznOOP`_gtZNa#e zqAj*Mjqh|FFl?~abU%Xb@-4>9&i-66a6T1_@Y>V}0r~HN`otvtag%S3INtcrmhk_- zqVQwil#Ps@9yTEyP5-)#`OMpaaXGYDx=2!JFJ}!oG^!k@OUlVCb;$yT}B_V!A4# z)y)kVI}Tv 4WWwtnJDI7D6ULzyWT}Q#pl73I1FyZ~X1Oae W)Yq(bgf*l(PULVCT>=pYi(neutN_q5fyo1)FBg=?;e k75*U)!<`pYm7>+cuTF-w@9CNJ!@0 z%y*~jU-~RmOvap9%4!rBrE;622dPn4TiuR(Xo7+FT^Cb5jy^`%&kfP8|7TzK|KR^0 zb0^MR=c75Oz?m!Lby2bZMUUu=WMZwvRSJqB*%xW~H&Hh+zS^|=3G`>-YRf)rkK7z~ zQEtanoglFTFx)^ZJ?%3A;Ull3DbI-&br^!1nq^}~U9i>px`jSb#^%IIn0i=s*ROuA z`XBry{2izE8*dbvR=wL%+&(qYrY2!CtQK1r>yviVPH7^x*!hHUf?3QQf`lfd34Qbe z?7K5JL!#L4S5nqu?bAOlE@*3b9WplXWlR*uZt6Z)EBBenO^wRI^Ao9BB`ota^$vvD z;uQPYX;=5=_5D?pQFHg^s0<>V;?VEYqiSl-kqtPtlV%IE#U8swNX&_M%tS~@%oXlV z*#o&<=K*msB|B(HpR1xhhX3q3do9hxpH(lg9r~zrz&;}+Ge4R&RaJxUh1w_48~%ju z|BADN jxC^19nYRbePEw)^TNCb0 zyE>hy$=1>>PSgCfrQ~YD;!myhW34AlPt+DK6wZmNtP>mT!icsfL-b3SZ{MBPKKGw| zrN_o)_^0|q*uQ-GhyUc6|2O{o;M@RQ#dG^2>JN%zha1^se9Ymjf{`*xn?p?WcSF~& zhwN1DruBA{spp{=$oD7?6LlQz;|%*G)PUtKG(jxhZEmU)HLV}@XEwiZNgn$gl0ow? z?(PdD8c6)AiUkXL_6GOx*}rPr`)+>qj 3lDIACVFb@ Vs z eUpj3bnG7UjixT z%rlrU?7)iV{Fvc-Ht_dO8__|hTkR_*q1+CstVIJ}o#T)a&J0Vsy4!Dde!+{B&Ni 5`^_Q?K!q;iZ%adweRl5Th&e+bw(e;Y|tu2JNRdF@cWs!p9s{}HD6@1 z;Rp}M6VF&?1Kk$Du$GkkIOS+_Lf@2~=up+fM$a_&&`sf}1UcMbg}rNSS__Z1WA7Y# z#6hYej&BW`c_L)L7C9vre3Nh&RwwXo#nuatM_|gbbbg%%zAU#QOo$Ozaio~`LJHX- zpTR}GvSLeKEcrk1sGN 6SW#NK3(+D{wR4OKh2YFfiW~sIcYB>hE>_fP}Tla zSqrAf!IWFDF|;&ZlEL_9&9x8hHvW`dJwF%J-B(K#s)~qqQ`yw2@}PG5xg*R= zGTZx&O^V%WG+ 4t( zCLZw2yCCHy -s_!CG=W-0Epb=t0lXbuDdr)oAl48eT%yS_Z!-^K&&KMMXfw zeb(w|!9F(YouD3Fz42(=!F+PGMGrE?D`6z~^*oqZ)2e>Tt_ca6b(N~cqzI!XszR)@ z6|rVZfA&4uDA>GlICo@lzdze@w5*=XPUyBsscTt347s`fz&Gb2$Bo(`88n?D>rM?I zCW{oU#a|6~REj%(iqz7rp}C*0VZ~>fCGbjVXzrT^PlP!qTzs7E36CqTEe^j|G!r!R z)!E;tWwFJLBSy0?Hllg2M@Y1W#;7oAetdtz?57KegqgXCMo(`G1mc+K^g?l m!&uDAig15JBV7|%3Y%+%-T>N##L=c7&km%TI2}X! zBNy*G?H+VxT*sEU4h#(Cc@8jkM42Qo)-kiVepeN!Oy`{wK2hA`Stt$gBJ!^l9=`a7 z)~~5qZ5BrTY!Np%EjVP}ul;@~f^)uZMgVe-En}YraiV$0T$2%9YzEGrEHqn*UO=+M z3uE;L-Nz?sfh9Rsr>n>*%?McOMX9~(_Db~*jm_&%4A^yEv+c309QlN6J~=SZt|d2W zydQA4Zhjz{Lx*J3Uy+0G9|vAPrrl=|q2XIohWvl1d)Kfe)4gxFHFM82Q