From 48efc7aa5627ea9637a1a7200eb01c21dc6ee962 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Sat, 19 Nov 2022 01:50:20 +0800 Subject: [PATCH] `no-array-for-each`: Skip fix for some edge cases (#1979) --- rules/no-array-for-each.js | 2 + test/no-array-for-each.mjs | 4 ++ test/snapshots/no-array-for-each.mjs.md | 64 ++++++++++++++-------- test/snapshots/no-array-for-each.mjs.snap | Bin 12563 -> 12642 bytes 4 files changed, 46 insertions(+), 24 deletions(-) diff --git a/rules/no-array-for-each.js b/rules/no-array-for-each.js index 8df8ee66ea..eb863f86be 100644 --- a/rules/no-array-for-each.js +++ b/rules/no-array-for-each.js @@ -351,6 +351,8 @@ function isFixable(callExpression, {scope, functionInfo, allIdentifiers, context !(parameters.length === 1 || parameters.length === 2) // `array.forEach((element = defaultValue) => {})` || (parameters.length === 1 && parameters[0].type === 'AssignmentPattern') + // https://github.com/sindresorhus/eslint-plugin-unicorn/issues/1814 + || (parameters.length === 2 && parameters[1].type !== 'Identifier') || parameters.some(({type, typeAnnotation}) => type === 'RestElement' || typeAnnotation) || !isFunctionParametersSafeToFix(callback, {scope, callExpression, allIdentifiers, context}) ) { diff --git a/test/no-array-for-each.mjs b/test/no-array-for-each.mjs index 400965b490..1d16ba62cc 100644 --- a/test/no-array-for-each.mjs +++ b/test/no-array-for-each.mjs @@ -523,6 +523,10 @@ test.snapshot({ for (index of bar); }); `, + 'array.forEach((element, index = element) => {})', + 'array.forEach(({foo}, index = foo) => {})', + 'array.forEach((element, {bar = element}) => {})', + 'array.forEach(({foo}, {bar = foo}) => {})', ], }); diff --git a/test/snapshots/no-array-for-each.mjs.md b/test/snapshots/no-array-for-each.mjs.md index cb052a94d8..0337e67e2d 100644 --- a/test/snapshots/no-array-for-each.mjs.md +++ b/test/snapshots/no-array-for-each.mjs.md @@ -3537,12 +3537,6 @@ Generated by [AVA](https://avajs.dev). ## Invalid #196 1 | foo.forEach((element, {bar: {bar: [index]}}) => {bar(element, index)}) -> Output - - `␊ - 1 | for (const [{bar: {bar: [index]}}, element] of foo.entries()) {bar(element, index)}␊ - ` - > Error 1/1 `␊ @@ -3553,12 +3547,6 @@ Generated by [AVA](https://avajs.dev). ## Invalid #197 1 | foo?.forEach((element, {bar: {bar: [index]}}) => {bar(element, index)}) -> Output - - `␊ - 1 | if (foo) for (const [{bar: {bar: [index]}}, element] of foo.entries()) {bar(element, index)}␊ - ` - > Error 1/1 `␊ @@ -3569,12 +3557,6 @@ Generated by [AVA](https://avajs.dev). ## Invalid #198 1 | foo.forEach((element = elementDefaultValue, index = indexDefaultValue) => {}) -> Output - - `␊ - 1 | for (const [index = indexDefaultValue, element = elementDefaultValue] of foo.entries()) {}␊ - ` - > Error 1/1 `␊ @@ -3585,12 +3567,6 @@ Generated by [AVA](https://avajs.dev). ## Invalid #199 1 | foo?.forEach((element = elementDefaultValue, index = indexDefaultValue) => {}) -> Output - - `␊ - 1 | if (foo) for (const [index = indexDefaultValue, element = elementDefaultValue] of foo.entries()) {}␊ - ` - > Error 1/1 `␊ @@ -4966,3 +4942,43 @@ Generated by [AVA](https://avajs.dev). 2 | for (index of bar);␊ 3 | });␊ ` + +## Invalid #268 + 1 | array.forEach((element, index = element) => {}) + +> Error 1/1 + + `␊ + > 1 | array.forEach((element, index = element) => {})␊ + | ^^^^^^^ Use \`for…of\` instead of \`.forEach(…)\`.␊ + ` + +## Invalid #269 + 1 | array.forEach(({foo}, index = foo) => {}) + +> Error 1/1 + + `␊ + > 1 | array.forEach(({foo}, index = foo) => {})␊ + | ^^^^^^^ Use \`for…of\` instead of \`.forEach(…)\`.␊ + ` + +## Invalid #270 + 1 | array.forEach((element, {bar = element}) => {}) + +> Error 1/1 + + `␊ + > 1 | array.forEach((element, {bar = element}) => {})␊ + | ^^^^^^^ Use \`for…of\` instead of \`.forEach(…)\`.␊ + ` + +## Invalid #271 + 1 | array.forEach(({foo}, {bar = foo}) => {}) + +> Error 1/1 + + `␊ + > 1 | array.forEach(({foo}, {bar = foo}) => {})␊ + | ^^^^^^^ Use \`for…of\` instead of \`.forEach(…)\`.␊ + ` diff --git a/test/snapshots/no-array-for-each.mjs.snap b/test/snapshots/no-array-for-each.mjs.snap index 9d44859e01ad0f70ce64261cf374b316be817051..4d8097a8716495ac4175cf0cc12a1477cb49cd37 100644 GIT binary patch literal 12642 zcmV-oF`dpqRzVD_Bu4*nmY*K>;Z$2r4217DQ37t%wUOiqfQrO0icI#a;osB3!#7_J$q1 z*n7i@UJLebGRZF4Y&M(S?5_U4=fBVMTHZ{OGn1J!XJ*cvc_KiN8Yoh!`Le4eu`90a zzP9c7uz`i^U-OgT!u-5Ph(B+Tv4J7ge?P?Rs!| zm>&jN3yi=?fbz#bJ-VwOET}p<(X{(dVJ-?;uW|@dIrn_|Nl3fA>dVF5tFP&she9?R zKu>?*jruR+-O4XIKhYyOssMwmpge&S0D8it+VRF)%_~H|x^t!LAR`R2rWFWm0nl69 z)4GQLxo!LE6t3_MZ}c36Y}1MeqTh4Ky4BaeiW= zA^Wfzg4F5c5z}{Fr8SSY6+hY{y0sO9tVMMKYXRyEYU=IzqW+MviHakgX|9y z=`|4KpMK@-?_9PFpR(ZViQ)$vhog{nsfi$ln=dzTGHC5S?!Qe%^&%J6#UQ(uL=OW5 zG3s&o=;A|DznJw62w!44dkO~GbtKx>LXZXqm8x`_@p*fXdVR98C#Q#Fkj*0DR2xAW zdi?bJF!);RoI^M74rn*^I0o4TB%0O%DSi}KR(y-~Ub-Oo&c7S#+hdSjLZbCQ2x2_4 zz-jZcyU%=Xo38l&;?yb>vdaKW!Wy>ed#rNfg;#_%_Zs|IhCx=}kic31lRNj{`s8Ie zcZ^y#sK4`vp%`TUBQebg)W2c*g^R<@Z!UAa+$QXluO157)^$PMH59b9t`XF8_4s-( zE?w&2fkJjIex-D@ztG<$Iohf9v?XpqwJ^wjB9T}RLCiM3TjFh2TG;g7=Qo=QW`c6Z z*=F^@mHg|6Ba$~AfAA}CUi}frn_`e%N}@{x1ZiYbaxWFLT`>Am+C)SB$}KU-W{|LN zh#-yU>9yMYxU+Ry+Pu8o#f!>gkWD2aFh&sbfj5o3uSFcLH}q_qEhitmK_Pntph+ds zfxsdw$MnYCU*11EFbjoj4-;^u^5Noz{cfJ}ib_2-VsBvt3fXd|;5(ITXP?@2Mz3G( zvNBtl&$);}Hh{z@01G2;qk+#;O1(Qjz2vZQ>Q)r8NkCs&OnNomu5jXhKm9LAw-s^6 zQOH&?16NL(eyVFXD&_0CXTv;Oe6qnHTfv;b&!z}sX*aCeYqutc*Cjr#J8x$EQ4F$u znh|&a&^#%4j7c|h!OTzVn$PUK^Ct?~WJ?5TVN$Vk>g>Gka|MT68FxR?425jX<_Kby zax2BCny~2$)7wJ>-xN>AAiJDIPzwaHZW0#RuUb&Xl&UtZvU~4~L?K(t3PEhjn>aQy z7&JMubITB+Z_+;)Wc^9p#8b3#THpV-hY`ANa^|iI`4>^h_O}LC=DbVw-)eWH+OKj3 zCDSL~#UQ(wL_-?{X<1)yU+}U8Z+g3XwyN80`ECrd3rTcs2~sQ^d)Z*(>yQBh4ThSb zy>?=d-AKaS7SxX(me!VaUOpK2CRSAO=}4djjVHS_Kb%Sj*PTu}bxdZz~sByQ7fp z?*Lj(C;zm6?^meS`JnM6SDX2BP{`iLue>nX_sM+2+#P`%uD&QunS?>swiSU>0FJ>K zcAf3+KDjrlN^xa}LtQb*)@w~*J%H1O{T{znvp>$eV3I2Eb9}OV?SB|#6G>Ee0y@oTZJVp38}F@V zZZqM`ww9Mr$Q}T2zS!y8yxFsin-?E=^PulU6oc${67g+;PF*!QX5_SQ)y<~FnN&_1 z6@o$bI*B39AjRjph9hqcztP0>ZKJ+zi$Onzvw0-CxFATom;q~hHIIwgTk~0}&^H2n zU7X!SqHjBpV%L1D`7LwKPc(ShF22r@b{J&;CDFb;K;0wHs$H8n!8B{pz|NL2Z86C1 zB@x{LK{`AZ&Ny1L5HttuyM$(wU|X$!{UwL3eNWEh#;ND&k6~RSY_ed_4U-Jwe?w%vJ71eSQ~)&uXZ1T1$OG_P@9+6&zLEFUD@Co(92pddLDs~BKpucshYm#py$csF zc-Y)9+Wjr)6L7YsCxP_8Ar{!aijU`bE(CyXDdv%sfdE0Yd>=*~5 zQ^3-~*{%-~vt542PPfQ+AEU{d>8``Mp7 zYCRo0soP=K!bwgud6XC3g#Ag8ijedi|3bH)E=FTyy zk>0Enh3wMap#2QVUw1Irc2Vxi%DXz<%K&ADv#t9eNWX{?hg_WVjn|w{a{cHyWda7- znIw$;fM%=l@0s?W`nB7ff44^Wy3Wrr$j&3-?vEe?E8K~>(YEXNHC@+CZBXFd1cU4w z5~uru6dm{7yjP{ht~n+%g)`R;0zDzldiFz*L7k^}S+%H7rC~`e8h&nawGswd$AJW_ z13-$8?n`@YbgepiXy3J7hC3#rkX-^0V4q;ob6kmO$lb(Bx3YXkp^&v7j39%3su{d+ z+PC*zC3{nk<`04~$j&5DD-fh8K=j2GM|ElZ`j)>i!A&27Y%~eOAwV0CYjt1p~(z$B>n z5C+-CK?Di`hNOC}YqKRDd-2-MV7Kt%bPTe+f(f7@2ol^PvwE$Y&QS}GdEBq*<~t09 z>>m6|%iE_{jf{)ZGhWoJXtfiteR0-QOkf8LCM1y zi@M{_ppYFHjv!%XL8}JU`mgf!s&`t>FiZnIAkN;vuOyrL?AtaoV9Zc&7i4pGITW&k zA`oQ61ec%=kx!y4jjS#*$@&Uf9?qU55f}+l%zn0PV89$j4ryp80eH)vUA^&s-+lY7e^BqITEC}#+NtELm|5ZzjAR+i=>Li*`0!Y z)_RvjyP%MDiUm(T82S8(S=h)cXOmqFzW14kL3SL8s&OF2_gyaiDm3Wn5LvEL_C{}D z3*l@$iJI}ira;g2d;aA1w(*O(gL3SvKa$`V>i%CZ&Pl%2D(Qu@%?N@8?WpFl_#BYF6-OA-9 zIp5A}`1pR#^6A?U46;|p5?GjsAPMoMOHj^}T0ckgb+XAPFFG>c=g6AK4UQFG5V} zjHm!g24^pl7?1)ib^RP8zs$g<@xco`KDP=2Z3Jfx#v#arhR@eDp1X36B)$Vod@0`0Z9Qrkx#Q|9m%4d=7-V~oC-4+t^7O>bIXO2YD*oK>x4a}X27_$x z2?WrIAjRuycfSVSJFyP)*&36a4#wp;y9Z#}LGkj2ZEjq%Ih8aKt>X`B2F{vJBCri$ zdiT+%Z@08Dz0j?6=BFMH zj2m4Nu_4FF5QXf5>EMdqW#7>+B6EKs=?>e>jK5%zeM};H21qe`y7e2=;f>b|i&8%S z9DE6b>~#_;GZAD?y5nmnpX)haT+Ju8oL;&LgX{wmqf!xMZlAAu8^>esHdU|I=i+N4 zFpk053nW5kffW0#Y9E^5^v$|az?hDHZ)c*AEy1rm`(|%z-&{Y<W(V)v?3fvX`#v_-op;6T>mcjwVrg4(M^K26QvnlE3BX^iG})->wAK5zg)< zv0*Mqv7<(O#n|TmTApn4aasB|&^O`iTN0DgL5lBA`IA1JIr-ylX=qfFZN?~MTh2p} z`8Au~nNc~-&N;x+FTP6)(B5%&ItiosAcf;=WYC>m8;@=&UG*R{`UwWvktC`t04XN< z^)UGswRnA#%#5Wb!=9s%-GN^@(&}9F{K+ReH}d`dd&8a#6tb-sg70VEBf2m%E~kp1 zxZ)9w^_TuNI@Qi`^)Ue!Jsd-B8GOSOTt03eBJPRtB9nhYV?iL3TF@ z;Zl&|%A?|N({Zb&%s4a}i+I}ugX~rk?#sX%3^wiEv*rHWo!=`zHF5TDfI>D8zfv0F zKA~ct;Fa}v=XkrdU57!|XgPtM04og#$2&K4TbMU=Pyf-GpCU2HHd{g94nW3GmlhLN zF4RBfvFJc-N^Q`Jakl+R0=ED%j*rXisdqhD7*SL=;F0Bc46=3^1PTB$m#m%J^;q5C z7Y?o1vReNM7}4Tv{Y(Nm09g&+=v95Nx^qDK*Gibln@kL{jj{+_0mup~*^<(8&69u9 z-^{j&U2_71tlcUC=K)s7x7)a_e#y3AkKW z*>y32?4U|+!-Q5I5kHeL$UY)5XDt|+*wy~}HFrR*wsR9qAMQ#X zghICMI#B1`?k|s;y5PzrkJI(8t!*|Pg={{4C3fu9^-&*ATYX2*jZH1;h(Xq9J%KF% zn>yXQ?`X5SpU3W^?;|@L1W(1;MjODD5nf*{Od@iNg2t5I+f%t03fcAem3Jrne;65F z{r)u5z0T6}0Vrh6H-ang7wp+^=SyCN>~9gFfer^y$gTm%zLfvgv|8y*OEmcVSK-}R z7-WBtNZ*7Yn*+M$T4AZ7lV6j zxfxs$y_om;bH|hY4_DYxGpwZ$g=~);aAm)Bny@e-`_!gBJK}eqNkt)h7GTTOh~%Cn z-BvuDHZJ4(fP--uWL`u1r>hz%qi{pa-ccr;c(XLUji=ywl!^Sc&6^e zO_m*AO>gI#+Yp1S`xXL)0NYZw?=QU^xhSFivHGdOZkJHV`fdeRj&|D6YrJ88{j98x zH49&YaTw0t1=udmI@zH7xg%TeWR#?Njxoj{+i@F#a{$}VmUAgM9-KIo4@_6&)EJ3xv|f&YpveulS(6?H40pWOn5?0$gV zKBc=`r;Petp?$xjEdy%&Kp|_f6ZD8ac|F`O&Av0PyJ`Q!&1(3gkbQw)xiTrITIh?N z2@NM9xnJ`aqL9tl1+;P3e}_(6J7sIy)qjm+A2m3NLe_gXg6#X+>fOu@UX_v-=gjIJ z9o7ehZ2BGqIbix_X=2m$H~VclHE6-htu;`{KFdRpgYE*Xb9T|=(_ukN`xU(hRu0bE z?-nMHp0*n~mWA)mlqfFoZsehGcg7<|hTey)0G-E|DIR{IDX z0ys7mv7P3$c=KdIhc|i#V?pnSvn}@%cnEOpUCjLvhBe-AML(CUSaKKGvN&scfWRt% z6O(N}wNBS-624yVftgR(R1C5v2ML_OaiLFW%A?W>ulimPIbS{ndQhA#cZfg=K*6Q% zU($v=Nvqf27yDQ)1L!N9eNJNfVPKd09*$l3>{a&F&5b;MG;t7PkiAD@(h-nCc-E|= z-mJuBug4DF_*~xrgY0n^@=Bzf;H+5zfl~nI*FLDWdf|@|m;9#R z^TrZDE5_OGC&87+Qy0y>T08zq+KWkRzfKx~LG}O%(J9ah=hsQkul`~2lB8~%2aJgY zV_2Lm2Dli0`uEiOfz?mEYCHe6tqs;@ zgCLiJ%003Dwb{8CWJi*ydKUBW?R1$y z0lRD+D30!+@Zp5t*iNV~)NI+8K(m=C7-YS!5_k;o z(CNJKezybndLFDeIo>T7^gTEmd<|R)dtdw_^V-XaR+Ah&Rt+!0AbXgE@H$Abz2Z%W zC4Sd^1AoWF9TLsKAiITxQxSqZ8M*N1@yva8B}SX^7jAd{(k;FGV#fe&RTXrW* z5kD85sMkg4jzRY34FZ`rfi)&9xm~j`q1Vpv(gmyM1?QrWt#=Dt*>Ao1;LT%ot44&b zwiq)0J_gy@B--5uEotQF{FT?r*A~6*>f~3g`w$GW7f7Vu0V#H(-v&Gkp1&L&H9Xz0 zHt4T$*7Yu^>l5>an;$4VJMnU^agV(ZK>6crI*I1@5ahLkXw$;~#M;j#%OFqUgL!CrVMsws{Dy>_PSN{AT9Vi2iVJs#Adr2HB+~Y##xO-KccH zilP@UJQ5D~OFiDv2!-rXfOoOR&c9RIb!u;%F<(^UaRLU}kjDhvo&fvUetn0A@84B; z9huv!(SkR1P{{s=U%B4J?^8gg!HT)Ff)WNN8)A^{`jo(3fKNU~4@afyCp{H=xd|`N zGr}O-`Wb=C0H4z&(J{n3uilRG*ON#iyDHUM@D&K8kye+yDPiCoj#BXCWn7srd= zzS{E-2H6QDJ^++MDnWk+v;ty)ChB((*a?yZ(J@ic;+VKGt~Q}jF&?7eVHOsN5-!lz?DEkd2eggkkv0w;z#-s7;qe6!W!Xjhi#G(*ERH$Hx^wHp& zLS!uqZs- zLS!WfvZSjnA_sPq;)KcYvMjraB0W#xv8@P2dZARmgo|Qh1)iWjCz5SNPY0=?`?0Jg_bPK&H;h6K^R{X~>AbRwBNNqIV!f zrxdgF1=P+#8j~ZIm9%Y`AOx6@?dgdlbeFkIa%Qr(Q zlo}Kn6(V-Ek@WelHl%J-X16G~Pj#zhlSCycc%rM8j26CS*oQ?)Cj!Em{8K0~G6Ry6 zrCK|YYJEyXrkN<8%3{aT&2zGKwWNYBXjrg;3Q&j5sbnCQ_;l1PS14 ziv`qVIo>}Y}Ndm=Mw5^)95zX+3RLu@@(O?Tg zyQz=`>EK2-FN|ZFsf;aCYEDs%Db2J{Mv>@EaJi1u1x+K!=?)jV5hOR}5-J|Ca~XY7 zN<*S}6?~^<2%FUlTG22cQG{4-EJ`gXjeImYG3h1JO}<1F)=!H>%Gfp;{1Z2C6coS| zrUFnPaF;e6C?^OzzD?!?`Pt|BICs_0*U2H z%lZtatOsf?(+UJ6+5oVpCCwn2rdEBpRelRwIN+8s^B8KBY@R1cEj-EHZ1XJ)kCW>G zwKLzO%{HH=>-i>C+Ic@F*=W-}yvsa@rOdU_(oz{qT&}78fwtzRf?DO!?K5gqCB43e zJAEs9ub;_oiik9Bi%1_GWMN60Mi5!bcm1*-M8qg8J~b$rTGgoi=dN_*C|#*w9x&2I zis)#Tfuii92kkLh8yIr_T`ZIEA3rLLxGX=ajd33{v0 zbVJ1AXlH@61}SO2jDr^~G+$*>(VOrXB~uJko5f0ie{r{%q4AQLLydKS<5^X_R;FLr zYVRuye~&7?T$x#GM-oJrA+@z}O4@C}enTd88=2HN<0wt+L{HonCN{$jXo@wD*Iir5 zO?Gy)o9yfr-sB*?sTKVuD5oA_$fn;8&!A+tUTNZ>{hqsoeH-x$T`KH^Ht?M8C7G2Y=yyWN^*}ws|3gacA`GBCKq|BYU1$d<>I2%653qpi#*)S_^Q>0VqHbj;ucwMJ z&=8eO?-GrWS1VN1T*@XKl{XgY!iMsuLL?>XKBs0vxq(v)AqTERjpx)lsCV#c7&2pK z(=8K z)~(fBw$eZ!nD~KQ+Yt^9yb4MZ-ARDRrV^y_G)eOCMZJ zmUXU@3>$Fwst!gU(LkKqsAbh>r{lj*5wdb2Ee!ot_A)GbJ-@dOW^7(>yTR zT3HQnwSh{KWwCe^)vgEWR9!IEL`5D+%HR_f*BkV%aW?Mcuu|cKy(aZ8YA0Wc_~(y>+Mc3EomoFB#lQotki{e{^Q)4* zMO~v%(<>^ZM(3gNN7FRE%05CGGG27KpdwuuV3kC)L_qQ3k?kB2P2(cz^3x zXI?SX*;ki$idQ3>SIu>nZ$k)V ztgp;_ka@o>meQfAGv~!yfOh1^6{x)1L?B?E|FW5z)M5f9%1b7p%+6Gdw z4AD~Ay#Ew!Lf|cttL>)oKkE2E z$-1I74r&^mY`$%;J!dT_xzM5o zbGcGIfVEew3{uc4%?NohTy40RS$vC9GNDUf#So~nGC~`)U<(zkjgX@lwFWU7u0sx7 z^fy~OkCoNlsw+&sIq+msV9M1Ow@@=>$<^%&_;yUvDK3#@^r7~0swPUC`@SZjP+F}8 zq5yWauA6;L>=Mxxdsh`~Ora>ind9Dl-Rx>oA`*RiVFBwrswTEI@oopRm23dVS16sy zKgo!4)R;cBF`8!GLbxvnS|p0NRutVV2eJx8ZxTaQu<2l$5#lk_B|YgrZ(?8@Cyv1H zqh4j$hrU{OYmn-R%Mh_ejj?zvVVg4rUn}X=kx>XPVtwOZ!)%>D$m$fXe!Mgc2b%vNN)TaKI#%vi# zX$54EM5Uf&>V#sHPE<zYKh7$1z{#JruD?y0j zCF_x_N(HbM)W^^dG~g}2W@8F6MqyIumZ}k5s8|UOX8bf%9~r3|0&5Q;DUYU2+Y9U! z^bIo=#9WuWKnsC7nZ@E1uUZs4CNfyS;3KQqy46eJ2hfB`GDSy|cq$kr*hECWIY}y8 zB(M!+``$8dBAJ;%*iRB`3>^Dl{L##Md#hYGtlCTEx?}3As2v}b*IcK(tE^KNN8uLL)}!gWF3#3>I>11W#eZ5^1L3P*<}v8&ziOrG ztWL(=e`1}gxqQiUvX`S63WT${%vY0*V>Q+_AB&fDYkdNH)!-Jql5dH$Wox9ZTPdYo$gE5$i_LQ|MGf3@KP>ezJfTGHMEVVQyWC?4k(xD_mnIk~{3Lh?3 ziRfQ1kV#1@ngik6Tsm={aHd8SQ&^yk5hpZXo*dnrHGJm6Y^KVha0*$cXD^_=RmiF| z)-u&&T!~{BW8Ssk*u_OMx@B6xcs8b519Zj-See0p8>VMFGCy1SahZw-|JyY)_@|7c zR2%*CHqUo(8vbi@^v_o}#ZnlO|??$`ma#B!k(B+vqIo{d4IwHp{8Q8C;CG#0Yyjg$=puSOyphE9+#xF6S@)K zpv`-!MashaxcfXPHo10jG`U#c{AU+kq$|=y=oFu*IGsie)_v?X%H9UmW3OSG)!OyI zJX9p!C9NBgQIX=_;&4%%IK)$;H;HG!xmTu>YunIdXPaAo_{W1t={CQsb+lkisapKP z`f1oVLun*WT~0Rim(QEL_AaX#_@oG~Bvn+$OQqcw)1%ZK)@pv3=%>$Pd63h>=rr9< zHFI1R?M}}(`?flvtiuk=Fk`yzIuSOZO>_oX#&-T2XQKR!a%2e zjl07Pk$7#$e>jFO#P@9-W!s#RvpST;?}?X<-=j{L8@?F|Ry+ohF}0w9<|;LhTy5kd zWpgvPqEIMfvN*JV$Qj2DM>nt0z)Xq zZU|eXYj;;JBGUB~_YH|cYEYKHV|9f^Ao(aU5=UE14EV{7$7#7vhK-ae9L zrGbMlFW=X9S3y%+$QsFiNoZa+k?49QQH9*fpIuKe7gRsFUbb|0>&E`oY!>Ji(H4cC z^jbb~R1-B{cA2a>3w5 z;Kk4sdAsUQP%>mu)l;8ulE}hR|75!V&Ek~Fyn?~7Y$7(Nmkun3KqAmf(c+l6 zF_hRl_!A|xC9U&f-r8LDl(Hz?Wlzwk+K-`*a~S;lm2AZ4y}3X-N6Yjm^*7CHUg>K( zhy|nXg_5IDH8QqQJg5m$A%`q07M%S6*8C+)EZm&{Y?YUgY)LEiHH1G!E?4lU$tW{X ztTw&urd??SI@lpG>VZ&l+CxNb^ME7+OVB!_CF~;#xwjL>hlrvCLS^Sb%HBjRB)(xteROUs=w-QJ~ zX$v@KRQ5~>>8uZrV@CPrf%^ubve?kwaB87HF{jT4pT zNO@-^f+Z_jw!s%O_TXCFimH|su1<_=naJyZ)vg$J$>@2Hp&dj-`AS?)BGRm*KDVu^ zBF-CC8O>=e7Q71ERGGsY^E*?4F}$(1qJ*%Ws?eHY`b@=nKt{KE?(4{Wt%Qpzgns7| zFqBvPcjg!H2?D=IgAqypSR{DqaEn?;xSe9i_syZ|v|gSY__A2Nh&8@{k>?gZ+#i6_ zf*6j^ga(fkn&7Z8y7|B)n!OH4a9cH2E6JU%{F|_3X#%28zo3Bdb zPKDbIr3FbI_eeb_3)ZBvqaTxHwjn~Jma+}eQT|gF{@IVj&~UNtuI(X<+!^Eatc`bib|0dDN$11${?_w#Ly~!BN^3xWkvFW7)ZQ9%&}R1j1I1Ph3wSXaaa7DZ`NM5Ud#vuEH#6FM^eR6R2(sQ?#)N1R~ z`)F2(F9ul)jKEods;56ad#D%4t2Hs+)bl4l4~1;cDhN^|?{d}YNS6b3vV@*>)($>^ zLUs#)uHNu}8o!Qpsk-EHvU_4g0R~xKRRU)KbomMOV~uy1SBortaI^OaBMh>p)d*|{ z&|TNBt^S}(I}bIuveGBC*((&XEvqAlUcXW6*WCGXVA1orS3CV22%e6!<4F|ZDJH$I z(XGLqGmqZQV8tgKQRwmbwU1_sh}6 zQwF>#nQB;C{7<)|B^YFPkr=CoAO_3U};JgN23R~e*5;o zT%8mYvQKLxNCQ{*sKM)X))wt7dA40}ZwCfhi#i0>0W=uV(#xZ`@u<<#@`UvvZkgB#1ZdiuS%=~($3!dH<@e%qxhP~;0GNa{?KJpQjpmDQ^6MTn_^|?mtezo(bpR$09>4WI zu-dVE#EKC^9Y2i5Ap0+g*+!uKjmf{VG}Qd=3g;W0LeBZ^^8b4H}2q-Fch-Urr>*3>0+DG zdv5<}gJZquwCC}hj9aECGz!^xGjQds>8FM^6Oz8Je>ujZ%_nONva#j_!dfASrOlYyWiBm_ua7Tkm@zN* zBnH`2B>Gz*Nb7{aNhW>FdGkK4Z#}Qao}VaW-&i6@80XjiZGOvQ)BB_S-;~V2AX~Eyfg1pATZDuUsU5I-W-aRuTLv5oMPKX)T^{fz9r)$*^QkUfWAS@ju zwSQGHD4&!35QD6aHG%m6?HcPI3S5!-W`LVVhlYK!_F<5%){ekIfOd-~-!Mon3mP`u zV6++9e-8%PhV2RL2C(gG+19eb>*r%f?0DO@)_BmbaJIS)fm8sypdC-#YX7+0z_N5{ z=_`|u7-a8|2(|?&?)^KV)O5aMe*dvEJuP1h#~{0(L{~cm=@2;jX}$Jl_BHENe_Nxl zts4s2a{wJ(2c`b~xLWNVM~$aDTQ6FOLbhKAaHZJf&?obaX}kS5-YTw0nvOv>hlE2% z1hEfXZPUZ%;qylmYL?WnJJuV6>|7Ftoj|IMhu#0P-nB&d==t6Ky?pv%kR3_l8J=RF zvwzk*yBa02FFK{~8V2egXP4N6D@Xe*_?U6kB!%Z||2%8mzZhgoNhCP{*=Dq^)2)fk z57sufo_1kpyXz=q+jd3}$7`2pKF@%P65)57#^v%#H9z<7qU7ES~X0Cb5OwyuBcn5ctwU#9SV z!ob(X*+yLm6aaMDyU1!$yKR?~4PJMNZE&Is23eD?1o8m7HazjN_U+_pra4Q7_pprW zj6v428-XVP-HP~gPu6X>r)OLf`xBp|f-%UtIup1G;M{ic#mJVnr9n~0mIn=+&=iGi zm+s)oU}VG9O{4Cu!z_9mmTUr7aP|m*>(u!{!C|=;j=jrfy{NBSj6qh%g}{7(9@`w7 zWKC^W-}^~^_PJxn$5nx>jw^vY67g;b;(jxv_0qN#HEKnyZ0%u}q=Q1Xb`MaO%?F)- z!N(Swo_p}MwOuvPLU4962@7|SV#6ShXN!!yZrv>Gc;Unde+;szBrH6DPSdSh;c%}j zOEaIgHjH$83&sYVol3&6CrII(5mDWIalx~!{@F|CR)38_Hj+e*ULeJ?wZ|tG>0XL@ z_R}Z!a1|j2*-j*K0D3jOR@3Tc0}ub2 z6tYddz?Hop&ZpmcetAxO;;@?UI*!L6JDS8>fPSCb@C)m%(a+ju^ZxzfuP6%H(S5;{ zUmi~`T}`^%)wtQ(=Qq=8V~{;eVw5+Kxz;!OM*7V8WH9Z3`Nft712D+ul4#Zsq$tbv zu5mGBY5Thuerz&`17jr4P9TByM-ZQdt$PNcJ^v9#r`~T~KQsY_Y#P8oL4isAmt7Zp zacv|5^25&G9+x=F(=1-j7ezI^mB__ zIv8X#_yp#R1SvkcE$_R@xz@zdgV*&m+?|X<_Fn)$+c=AUQ_4+)9>(k3%ki0jL3V^c zfzJRVy=xm3I~+RrPRG{Nz4eno46@#%2;2b}S%ByXt54|FyzJf}ew>RQ2H6e*0`~y? zGcMO3etltbg2k8liP($AC}dLuz?Cc2w??D{pQ@b_ZBVh&cL)aAA`-EIpdD3zS?Bz$ z^j3}evyYerlpMn#`-((H5J-{IbA6}nu~>1Li@`qrwK*7M8wd%U0SIi9U8mk%$B4zJ z+#lC<@fm|cHa-|!X?Op8?)aDpUE?LK3fDLQ-56(!NW_f>DSDoM>h}6;FaL0}wEl*< zZ&1koz^}YL|0yeAzs=qa4_bZ9$@_&tw(A%IhXH~@st?<9R^Y#UOTYFJ=6Odk$kq%Y zuoOU8aB|Kt-A^y#vOh&!TjHIGLAJ_R0xJQ6`|tYH*QRmtgaBI?U&Fe$QOGtN2d*Rx zzn*=EmuNfsV`!r)Z*F0boj^h_6r`A)Y5ptk=h9Paj?8S6b*&}_*(?&n!$3biSM67q z8l%S*ls}EKXgKu(3R#nI1PL(<$Q@Dd-x_ynJ!m)AFcpl9IJ**H+%%_vZsE@(b;j2b znB;r~{SIe!A_!yyj9c(>#qjR>bzWQf&S)_t&mMzpjYtCP0mfbS=(YRn#b)L9t}{*< zR+OWV?KB=}a;ANZuDKKscgQZ^bLd1Z&?9lSki^a?km8<;(dV%ZuljU$h;RzzAHX16 zLLxXCLBeYtcF7ER^so6V(_h9nHfNxa{TIJ-ZEc%`>c(4K1HIRIl}9?EkewI`Kfq$ZjOzHW{S2mT+RmwCM03O~?DR|JoLO8Jt~9!Z{waojz3#Bsktb(6s3BwyZfj z5e%{o5(wM|h>NY58qg*E%H3^lX`}1Z0=5v&E=>gW_)m^)S?=pQfv)}y-Z(XVj6$|y z5-43nSWbtO^dl3h#Adc^>@^pIY+n+G0pe$U+?RUU(|{y@E!@~= z18Nz*`&Ow_!vnq;WHU&#NJfwubK@SL7-Ta@xJ(Br%4$FS>i_7> zddz!ARAM@?&T;k&!0e;Ktfrm*xov$eAsKBj2(%2G^`AlDJ-{5#iRbUPvo?LuZormF z89gE}$j+Wgz;hPRS+6d#TOToPTQ#?pyskSg)j=V90bpK-%L4*noWvVYBt*bT;Yc1*?~Yd42L^SMBis=hD8{9MuSn2F_K8@D+aqL96X zU(vncGqE^4?-!D8x6{n{3kKQd^9bw!n7?37+c&0Tn{VJ3CVl=n@;U}t!xREX0T!m) zmpORf+4jZRJh|PRid+n`y!iz70i+H5s=H|__HJ{X+5@kZ838K>XZ05l*Z`1r*sA`q zX%64oHuIa*-S_Q06teA8!IhWaY}?zm)=PDN{i4kl0ch_yyN^WhLIg>_mREY}c%LoH zbG!eV{qoFM46+AE^hyKYu9jaPgYEg-PtI}mX!>>)(2a2RD~VU>AjNL|*y_=(|F%5a z>Env@Z(sz%S?de}rvWm)JLFIQaN+Eaw-vz=Ep{5Ckd0V`AdBj@d@#30s*R(crEhGn zHlV-b>^TxcGC>OaGGxSqy_-&MugHCp9r+xC>`oG%i$RL%zI{!;MJ(OWB7606lQFMQ z$o`98Inm)#but8=Im_(^m&}MSxR6JK<3%Dx1ICWbe_0uvlq|z*jfy-EtV0u53s!Hi}A5* z%+3phCsRGQ4C;eIHfcGyGCg>k<$!6^zI8C@u{CH^GYqnyNo1`6DQ-S12{oOPJ9F-_ ziCEa%z8GZ7NlecIsSGwB+`s*C+Me$4rbAW6; z?2wfNJ_4*V92x7_)MfF3(ffx^%>ERPL3Z>i0!>!~U23#bn`x^S>z#66awIybKIp|b zn@FN@Hb`-LN_IcpJBj?T!iIj&ET>|S9Z#Zq4j93ftxM~Ds^NcEkFDIkM(;VWXK{8o zi86qkrf+m>Jz3MkFa4_yX7VN*gKR)9f%&rjf zGMhX?$7KxP%0297A_m!J>j_*1*kDut>({(t^*X1;nLgc{I0A+2qzzysaCw{+F)Q=t zbocX(Zm(-K2Zii6{7UrXTN@%ioVWUpUYeXz*d2rHkc|Z10c>`C^w{2d%@Fr}h2O__ zI|`nPvjLmHmG_zZH$M1spxTyiVZr`(M^MN<1=w;u|E+25ig}i3;Ps9kC3yP0{(Z84@upyq9lC{p@m2)cHtMgMtDgAlFE$F@j!hh3jzac6enn86 z@%eN2vqO(p+g&%L9Up~k$~FYqek&}oUwNOEPiIeAeP`Iw7!0!CNi5C-Deih6^3JUG z%X?u(zt_Xf!I*@zI)4+`0M_X} zgDkR>zrS8h(2jXiY|mTsHx85uGVg{;qhVELPVSsveV!`&g<&yC1@y+a>` z?1lqiG;!l$J+>4Uoev3EKBVwH&`WUk1BvK^KnrWqX-l6Gt$V8pp!>wkJ7g9H*+(R19tA0` z4h&9uR#B~V@Ku51jdNhk!`V|Lx*bE1g6p1NQb#>cZ8X#e`&eZ)kT5vAkwmZK2y)iv zc=Y0zrCV-oZRY-?g`E(C>}nEjCqN4RMYHa@^W#^PO&+=Fm7W0x*%>5sPJ$F$iv0Jz zzL>wt_C|f{ugNbk$POb>0&uQp-7q)n>W`B$9-e)@=0FezS-VpN4g#F7FrJa7J9)Eh zTC;90CvzTQkTp0>U<1Gfg9XjqrfvRv)}wZ*NevqTse!YfNhF^^kV{RREGFKLy1(e= zxzgOu!QdG<`;^3-0tC6d?n&)6i+_x}?mOp^7Z#U-Lbm2vaHVM0lC)d(V{fJwPhaif4c4edEJ&g46-&C2wVcV zX_}X$-y*Gg{Ugm+S;r0uL?P>Z5nO5I?iJ&qU+4a~df6k}SX@LQTMlq*WRvCn{pJ*y zhj(Z*aN&i6C}hW80$2P~3Vj~78(`3Gz@Xiyc)=)S^)G`ftJj~=y<%VT-to({_mO_3 zC}h(BZrkPG>l-=m-O8Q)N{_nb1z?aZB{Ay?g4}gp)u8p;L#?iQ7(EL4uk2zK$i5?y zd6mGZYe1Ghbk%Db=o5ay@=o~nE z2)}a9_EFoDX1!(&+h+c_p+_qWve*p*vjCoyeS9&!RwvytF~_d->3F9#23hnbfsFu9 z+x30Z+vB;jpw)^m{$}%%Fv#lMBCr`E76|sDfwNA91o8o%pQ#tKeP7&6;VZ$JM!ooM7-X0KL%{zog1q3D->-WmuK%9U zip(_`fq5uo@8VYux7~X5?x}{g!h+XWjGFowgKXb>1bzU#96vFC)$OYF1!cV*d~17- z!XUfwJ^{}MAjKZ^+pwpBi?YxOW77@m_eUZ7A3#a+fwAUCu3SvMk!RfZ;1f{)IP3F} zz-xdqJHh6s)q3Ql=0@v0ycw&5LDuyVfjaD3>DELKclH9$qw>j4ex)IaKGU*+8LkNcaVko^Vl)qRz2 zoSD&;#|djYA4)+sV36%!LZBGn>#iHqV@@{-tPz|)`F47vHz;IBy$1TrmV#rk4f?z< zk3UhGad|h;d2seQz|WA*XHN0vxO+x6IXbOXKy?hVT}lbu1NeEDA0ATwp-Hb3Zily3 z@!x?$HlqyW>S{B?FB@EzV|QHYz1(>#3xjMSiBWGrTk}dvTd=sUPtfM_=4=0M0`wM~ zT}qH!NO+KNq7^T2Oh{-@ zlrY>6e+oZd^j}AwjTH|j0e>a>SqsBsqC$kx7M7NHX#$1O(H5elWI9WUS7KWcvhcE> zDXt9qlkggm^%m*Mq5p8LtRS+oLV|e~!4VObM6HDiE9*=cDhvY^0;>$9pjJ*ixY-um ztV`6gfY()&8vJGB1g_eFtBI0zl_shy@GwdnA#bGCN<6jnDilg5N3eg)eTxIk@Dfr8Lb3xO3cz>+Syh!WUPsuL!|>$37DO71yk9@~LXa?cmb zmry};G|vOH=XkQO=;}hT0ICiU9dH8wqa*mkk5*(slofs_F&=?5ounUVPk*3;=z*Q_ z2Qm#-9(YfILPH|^>qOaCGV9%ltW&C4`~vFWB_`EZT5Gt z2b412K@lfo5SAkWRLF;3TQ&da4U8Q~3 z$QUo4X8|k}Cw!cV2?>uCI`KrBE3N2rnTqbOzCz2$AkhbaJ}v47i8Qh5tytr?Xb%l; z2{n(QMM;)&;#-OV=N!tgk$5l}PpO`7cUsoI`zQl_5|VagkAx`%U}2e8z+CVE;5 zV~tC7wcpU!T$B*23Jm*<(p1ic?(U@VV@F)LGUz}|Kkl7b0Zxkr- zO3B*E`Hek7k=)WMs25d6;R`V=ieKe|hTsoT{Md3tAN)L(kjDIYzDO-_1dsM3o~?j6 zrn$n($r8P^0n(-Ai z9q2c~eCiUKBkitE;=AnWcR9$ui^zIxc$5%)6+u9#&;qtiTXDv1=^3{rGETRZ@GIhs z+tM>`+fn9C;(XiE^KI)Ox(N=o0{WeuMR(e@r`>61L*B_3_%YmRXDhzbj(#W1xh`l& z_(rvoFY&An;;QaoBQ2*&Fwha@OeYhakW(*| z)mS+nH+Wug}Q_2 z`9z;ktRs;3ki9{LE+Be++rmPug5nZD?A<47;nd}B*!_vFI@yVN#^Hc=>`!$U zg8q?nnLPGvL=Jo6S&rE7kidwja5xu4IPK{Qpg5B=qo>Q^%QMY8qaEe70B36`Bv}@x zCs6fzkWSeJYIQW^@njynBVq=C(KW`}jWjD|E)b|w?xHr*wTOQ{vB(g~3TDZG#z{zR zabg7~chy*iaeB&`Lvp7zNh2~^-dy8)?HY!vWtleW`zRqeMHahgo)4e+k~5VsU#n9I ztQn)XRd<$V5)Va~(hCBUnHL1;57YFL0P4v4Q7H-@=!GmQVWl6J^9sLIlHPl6ZPhpw&XWeI@a)V;Y41*j}X`yujQ=ybxXXR>FSy=EC@=^c~P`~jMCN0z9d~ok@7yK8L>BRgnTt%Q< zl2vZWG_rLQY^hk<<4GwC01^)Xl|Uur*Ah+sb5-S!X(gA6{%|eLbV<`zyxC5EhGk`! zyYx^j1_!?JRJ`w$*mkP?K31{IGt<-5Zj^DYnxS-yOqp#D@Frrl4Wwc*(NfsF|72}? z;Aj{z=S$YsCUt9Av;TxWcv9N6@-BL!8Ekp;>e_YDlbtJiiFph&K9orw+PuyP#(AAY z4Y-@iT^*Fa12&G5S(sRrX>hK>-c{rmVIkl-1HIOf7YK5#vYW>LsN(~r=(5&0sA<@~ zYA<;WgX%ay+1SYLgFan5J^(EFp?AzMGDA?oc2-Km=GynVDl7#>7uvL8u2-rDu;!|j zAs4hpGfp}i&en>kSzN19G@(mh#o#HkGD0(2u*I_0Mo240B_l@7ZOBd$`OVhPqa~%c z@&c1<2|Sntn0)c2SZJHd<8`FK*U6fgihA*UmmF z_8id#dv7IlOuoR+QNdUN+Sx@VCrk9QvU&DsbURfh>jbVk_ETwgZ#}*)>c}JhCFABL zCbAoy43mtsN?9OhZ$0BnE0<~M4_9k#D8BM(5id}*PiSZ5lQl#19x+-8^%bTWC!9oG zy%cYuCv5l_VHkcN^(w;_|25iMZdEP248d?zn0AOJ%n+v7Hh}_A92-Z`s)4R6?NMjhDwn+_OGa<25zHot?9dnL)K8v?cge~5 z^#8Xx?*BH&{r|8z?iF=&oC15}RFWnCw>9qnw#NNYTjTtgW|TD(tD7lqoksL*IjcDw z)NHO*z!0cTEq-8=6Q{9Y?hH~63T zd#$YcwrxeJe(Rh*Ylf7Frlgs0dMnwNSrv+*siok0F$}UPfF5yO`4H|(L|k9PE#i7* z&r&qtI@hkw5C@0a)&I~qIKwHufDCjg*E>&@aGK)DU(wxMo%GaD_Be?FDp-7~2C)r0 zSUYj`>{!H5Jbns;6)(_=7bM#aU_7f(0jve}G4w+zIOkuzaUmHaTgi0wRf{Z?Ed)n0 zej2LZk=V6^b%YSrN6VI7dA2gfhIumL=8ImSfncl5*-|LxxFC8`cp#6#?^wNUtG~<- zpbnK}rj}+4l~78sWJJ0SxtB@} z$JAF*2RCD=J z6!roYZ@!}5psG_X*D`7CKorK{ESeM6%FNz$RYEWZ&;z8(_ZiiYJ;oBIRjET=_!38` z{1HBBtU028J%1)4DQo_LYj<%~c(RuoAx&n5GDgr)e|;+GwyowfD;6*{7MatxT0Of0 z9iT)}#j&HQ9`JI!w;0Q=0q-qEaz@uo3mDH9RmnJJocxq9ygM;H+n)K^@{b#pZFuie zkKs+Rqm;9}IjiTp6*9dwX?b&%jnQo8C}@=AUMqNBE~8SzH3O~WcWT^)LGmU6dq>4@ zP^S(_^~_grj!twz=0=rx?M%!uo z(o85ye8V~CWezb5?^E30K(@-YS3#AF_07L`!9%7}1Z3^UlA~;3P(GF% zwpFFA4a}w@@h)-O2#*LC4iJV4VuV2+BDqOC1J1oNo&4L0mUp(f<)^Ce`L-!%*q6NlWj_mVr--;6hSKalBkSY%x7bRkK$8W}>eihvh+q z7Di`lcdA*zWl>Lhx!L#5@g<#QSj>z$+8adJG9?{flkrFgV)0XZF21$RHKmR7vn zDn5c6kM0Cd-)8<^P^3t2rx%X~QqLh`i8I$@qGopu;Lh#L-n8-!aQU9Lx~hMF2D{r+ zPer9)BI4<9k5nt28`?~;m&6yLo&%u#_8S?Ssu&IgP(5;@I-22ft%zhMNuZp05Tk@A z40M=RyF1J%k=KUwhhz9cT;JARvd_smdqiG5qFBjzM5=`C;aZ?T**1`bss$A^XR&(Z zY%Lx6TQPM@yuU=&6E(7u#jd^Wyh`(qbC z+KJC5Crk9QdMIAjO2IAoBSNXNgN+CP0|*nSfKRsQ;8l zCG$$N)UveFyMm~35X51ih>Y=Q6BM#$Aw(XIQr-fJg_Yy30r!(_MT;X%$n$yes66vZ z#(qM{M~E#g56Q!_7@nt@Eh<6@TSFmJgX=5Dv&^$A;K|DM^`1(|2@6RT@ec{K%a$d2 zuZmZqw9+ThQwB@r&!LyBoqgKT{?uCpx<0U7rXM-%qZ;-i=Q{r-u}E5(e@&gR!?~vh z=qcors5Tj$!YHGixeIB{hJ@D0jzZ=**;2>w{LZ*g41!!e2l$DD@xwdWCPU?h2IBhR zsf!DeC+aDx6>-jjC<+esH~{7~4*65%T=O!Br62f94``K((!6+j+*#;fz#jCcvWorH zIrA;fltiFVrY#>UIIUwVu#BxzDHv9<)2oH~+-wh&qE7G<63EI@{iL`5 z&FYjWybNSof!M!UKx|#tlh&{u{wpo%WwB%|l5v~!ZR?loXXL-(ED z;V$?uIN?FK^Dq~lnwU)zS2jX;2c`K-JOGrPO31AnHAj~}qK!-{_@h0;k}r02`y(PB z$jpuO+4gLnGp(uf%IaN5P?K^pfl)b8YL1k1QNmb?qG26;DdPyP!L5)gY2m8GSeA(V z{YUM}V9y!7>`}BsXeeJvkyB{Y>nN_+R!M=v8zmXlX$@Aq65Ax1!|QU3>CYHmS5r|c z*rNJ(WSBlvavqS;v0d?XWUgAmH6=oiD-y7hQ~Yt}7jOwezF&f&$-GthNE>-qEtCA`JAN(AMh#N-hJ+TVy{knbC4cQrC0x{x{Q%T z2enFG`)%^kR_WHnE+Hi6k4Ws*WgtNgr_Tpuq pRy~r@L?UCQsJVNzSE74JpZOOk#{q_Z=$|Ut{eNk>Gf7Sl0RYU5g8Tpg