From 0bd529e93a72e268373279305ea9c5d2cad95073 Mon Sep 17 00:00:00 2001 From: Bart Jablonski Date: Tue, 13 Jan 2026 15:34:42 +0100 Subject: [PATCH] The macroArray package [ver. 1.3.0] The macroArray package [ver. 1.3.0] Changes: - Four new parameters in the `%do_over()` macro: `check`, `rephrase`, `trigger`, and `unq`. - Minor updates in the `%array()` macro. - Documentation updated and cleaned. SHA256 digest for the latest version macroArray: F*C6C2B5507B6590365222FC764076E294CCE3AAE99971D9CAA942F8BAEBEFAE24 --- packages/README.md | 2 +- packages/SHA256_for_packages.txt | 2 +- packages/macroarray.md | 24 ++++++++++++------------ packages/macroarray.zip | Bin 56259 -> 56263 bytes 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/README.md b/packages/README.md index 5ed871d..49dd072 100644 --- a/packages/README.md +++ b/packages/README.md @@ -80,7 +80,7 @@ SHA256 digest for DFA: F*012375D87F66EB3A7BF5DDD0CC5AEE28851733EE33CC63231DF9045 which = 1:H:2 ); ``` -SHA256 digest for macroArray: F*9B51F1B434742F08166F28DE40D64F16E9BC5ED8D1926AE7148A48116F7BDBA0 +SHA256 digest for macroArray: F*C6C2B5507B6590365222FC764076E294CCE3AAE99971D9CAA942F8BAEBEFAE24 [Documentation for macroArray](https://github.com/SASPAC/blob/main/macroarray.md "Documentation for macroArray") diff --git a/packages/SHA256_for_packages.txt b/packages/SHA256_for_packages.txt index 121b036..a656188 100644 --- a/packages/SHA256_for_packages.txt +++ b/packages/SHA256_for_packages.txt @@ -1,5 +1,5 @@ /* 20260113 */ -macroArray: F*9B51F1B434742F08166F28DE40D64F16E9BC5ED8D1926AE7148A48116F7BDBA0 +macroArray: F*C6C2B5507B6590365222FC764076E294CCE3AAE99971D9CAA942F8BAEBEFAE24 /* 20251122 */ SQLinDS: F*606A24A2A6B06DAAD2D443FA9A9819D9564235A5CD8599FD15586F1EFFCB41BC diff --git a/packages/macroarray.md b/packages/macroarray.md index c03acda..af8be65 100644 --- a/packages/macroarray.md +++ b/packages/macroarray.md @@ -10,12 +10,12 @@ - Package: macroArray - Version: 1.3.0 -- Generated: 2026-01-13T14:47:32 +- Generated: 2026-01-13T15:30:15 - Author(s): Bartosz Jablonski (yabwon@gmail.com) - Maintainer(s): Bartosz Jablonski (yabwon@gmail.com) - License: MIT -- File SHA256: `F*9B51F1B434742F08166F28DE40D64F16E9BC5ED8D1926AE7148A48116F7BDBA0` for this version -- Content SHA256: `C*BBE7D736D7DF66231C41EEE321E9FE8C50D174C6DC43AFC09F4990894A5E7CBD` for this version +- File SHA256: `F*C6C2B5507B6590365222FC764076E294CCE3AAE99971D9CAA942F8BAEBEFAE24` for this version +- Content SHA256: `C*9119F3A4C7C4D859C7FB03373AB4FE6551CD7BDFA42BA9B4303D36C367BC8855` for this version --- @@ -782,11 +782,11 @@ The basic syntax is the following, the `<...>` means optional parameters: `1:5` rather `1 2 3 4 5` since the firs works faster. * `check=` - *Optional*, indicates should a check for a macro corresponding - to a macroarray be executed. If the macro does not exist wraning + to a macroarray be executed. If the macro does not exist warning is issued and the `do_over` stops. Default value `0` means: do not execute check. -* `rephrase=` - *Optional*, this parameter allows for an alternative aproach +* `rephrase=` - *Optional*, this parameter allows for an alternative approach in providing the phrase to be looped over. The idea is to make writing the phrase string code more convenient and easy to grasp. The value is a string containing triggers (symbols) that are @@ -798,20 +798,20 @@ The basic syntax is the following, the `<...>` means optional parameters: you can type much easier rephrase: `rename %do_over(myArr,rephrase=old_?=new_?);`, and all `?` will be replaced, under the hood, by calls to the macroarray. - For easier debuging the `do_over` macro prints the rephrased string - before and after chnge. + For easier debugging the `do_over` macro prints the rephrased string + before and after change. When the `do_over` loops with multiple array, say `myArrA`, `myArrB`, - and `myArrC`, then those arrays should be refered by `?1?`, `?2?`, + and `myArrC`, then those arrays should be referred by `?1?`, `?2?`, and `?3?` respectively. See `trigger` parameter definition to learn more. - If both `phrase` and `rephrase` are used, the seconf takes precedence. + If both `phrase` and `rephrase` are used, the second takes precedence. * `trigger=` - *Optional*, a single byte character (symbol) used for marking macroarrays in the newly created phrase. Default value is `?` symbol. When one macroarray is used, only the symbol should be used in `rephrase=` string. When multiple macroarrays are used then the - symbol should surroun a number identifying array, e.g. `?2?`. + symbol should surround a number identifying array, e.g. `?2?`. See examples below for details. * `unq=` - *Optional*, indicates that the `%unquote()` macro function should @@ -979,7 +979,7 @@ The basic syntax is the following, the `<...>` means optional parameters: **EXAMPLE 9.** Simpler multiple arrays looping with `rephrase=`, cont. Create multiple datasets. Array `alpha`, `beta`, and `gamma` are - from the privious example. + from the previous example. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas %do_over(alpha beta gamma @@ -995,7 +995,7 @@ The basic syntax is the following, the `<...>` means optional parameters: **EXAMPLE 10.** Simpler multiple arrays looping with `rephrase=`, cont. Create multiple datasets using a macro. Array `alpha`, `beta`, - and `gamma` are from the privious example. + and `gamma` are from the previous example. The `%nrstr()` is required to mask call to the `%doit2()` macro. Default `?` is replaced with `@`. diff --git a/packages/macroarray.zip b/packages/macroarray.zip index 88d9e4781fd30104562d5aa8d1a380693c4ce97b..eea55b4b0c9610c4fa1a865551c2f6142d7ad9d4 100644 GIT binary patch delta 12570 zcmZX4b97x@_wH$I+iYyxNn_i#&C@itoiw&>tFd#!hK<$Ox$XO1eDD3Of96C@ zuC>S7V`8use6$rDK}i-I0s{a5zyL;l>k$kfz(#!=?I8NWU`Blz^r}cAag#Wp#ekfQ zsRe1YWle1Y_Ogzw77HBd$kGkT=e3uT#kVRh$9)93hdH=VHgFKW3$)FKecMQ1lT^0( z{2c~gP-cb{7sIjV!A6}J7Kd{5d8G&kaGb&lhjaI{oD6haLlVp-QcLq?pze~w%%cl& z4tEB5+lIhfo3E^w8W5#U9T@cz;LVnS{cMEE9PbpyD|0&wnWK_PYPhXF$sVZ`@<+Pj zmqI+C62mW<2dp$b8d+iNjY)bqKt7CAMRmN@$N(F-f>;!Vo8vbMOLPr2J5Hu+o~$>G zw&kJRN2veyzEKxu5CZnE+xDC7B-BY%h_pb*bxE`jA>p3E^l}Q76mwaJdA?J%z6kSN z)OA)0Nc&o9vrN6!U>cPjm3sf&cZ<}^Gzo$6?XPH7rn1?GjusvsJhzj~8O77M8?UeR z>u<-mFmgei-K~y4dji)?jtB0XSXaUfUO}d9P3oI<7smNEaVG*n?G-%t5qo7!43EGO z0*4hWw>7ErL9B*_^kG~*eL0`_{dqgi{E;;H1HTl11@u9V4ACtL$Dd)Y7A#Wk8372J zgBM|MgVO~Gf@D%3hvU{!MdiSv zPUeByk=f*tL40w^;vv(G@4RQ2yK6Zcj2N%5^R!+{*YW|a<~E?+)%Vz{>XZiq zjc9Y9?3^9*PV%ELwRbF$$$LMG%ZXrpM+KglrAStK3^j;9m~>sQd?kbV0*yaEX_U%z z_Uvh(CH>d6MNIG2>iqn^sxPpst1~%a1B+#BP6FoBUVbGr3v+|-INb54_OTb&J6x=v zLM1WN#{L%az0py)q)#H~dZ8ygv{2Zz(K5D-iKZAt$#wo%i%m4E_HC-^2sIAlWsE$@(%#=<_{AeS}+NHsF4NsN#Ud!aP9AvB0WQ zJAFogZQT8rDA<+8g4w7SiFi}gEFINbuhB}4UrZuMT0fVU`4o`8=DS`B#t&S9yKMof z2|0fjvrVZHLLt)vza~^wNegy=-jlM=nR04=nlvzj&eCYrV4Fnd8KYOtf!K{o9HjdR&6$akk%V%3h^Di1Mxj!Xz6OcDz zg;2aH<$Z}J00mBc^I)4#zLl>bF()WFY4R}{%j*zuJ@alr*#{vrnbTKzDo2Q_J|n0) zH1i1ZNWaFmn2v`*enL=ifT{9W*?1r6yAnWC$8eLMeo?B+qSzr(Y9rMY;bs}RpuM9IL15R`GFTcoNF4H?{^L_S&?gfw|IzIl+ z{yoT-nOCLllCEGgtIh75r>I4S^l53Fbs|~V?SM}0sP1)g5Q7N<>`KmBg zqopQRxw4Ch{BIdw1SRkB4S6qnyf*JH7e8YAa>Jp33((FHTN%O14Oo`ZS>8}Ho>a8q zJz~(Dv7dEETh2g<1v4I^)LwToC!Na%K&3OzbL^_pPH z7XQeQG;WNw#OI5oU3tiq;K3%yF0T4P7`HYCM@=W0<1*N0_a6<#`VN z28+_A-6&=lls3@|3XZbU#+r&_3Q>Q?qdu9HPfR9Sk2?Uha%RprJtdEowO=c+cm%95*htEST2>LP-fGGwNV5VvVG(s7;Y zPy<6HJTI>5aanxF&c=%k*{MyxwZX|gbHMoX1QRomc{RJk)=p<5Ed;1{dbj8XM{|#? zB1cOYFKzt!>Cl?@_0$mc@@n!&y0we_>&xTG{=#-^)NhKK?)l56V64k+neb@ck?-|) zHiIGfa0BlP-Yy6riHQq?U>h3wLbgSc7hNq{f$DFjy;qBlK3*#saFHJ4E&Dsf1G~8- zH8Bam5v7|7QnGwL;qVm<0L5elQEp$IexIuQwOuaf6RfI##Tm0S`}(|7KS^wtDD$pK z>j1?xHMsmh8!f6#Rx5a(n+5B}V1>?-cM?Vyrk1n@Zkx(y4Op$^ANs-;iqd* z(21kuQL&El#dYHMXGn1lcVFE+1HZJwBwjoK`-(bsm0~NPe_3JY5nu+o+zJTutf5l7 z-X+LaG8sD8>jt7*CV!$f)=MENo?3@g%5(^KM)E;0BvoRmU;l(@nhZ(npjRwhJh=|5 zblbM7ekrFxqmaMIU<~)PpNFBX!SDrk-Q(*V=mRfm+*34Rwi+dJ#S9Rcp-w3%J?H@d zBDWH1*46kxC;y=@_lJJjU;3KMKL~~I1<-7`p474xwy3gXJ}+b{ru?)hAtiSz$yFFh zGgO!ksAc^W1+_AD+$ChKmAG z^lVX?)T3UIa_u$Bnrb{Qa+qCM}l7Utt-up^tw120hThx-dH{C zq-Og?HAB5frF^F)M-a!J)bdfC-!}I183`0xkyS07&&T&Ou3(aL{8f*Yf+g%tcFXPB z-we6uSkZ1a^wi=C-@sKXsG3$n_gRK#g#-ya z6sU55Ee}kX%Gf?CsX6J-Bv0(4uISOrxyl%VtJ9{BHIff?FFgwaC&2xa+q7Tm=YHI{ zi9X=6#M864m2$h`!&KVd-xBx4s=f}(V1Dl{yFTK?F)?WW3{~?+Y1o*S`a%Knr(9=X z(!rqA<4LrOM-AnBY&D#buwGK58_9PN*Ykl~dnAf{z`KjLTu1)i#hYW%m>&+jTsuo1n(Q9eehQE3}kdzn=NBfd&u`kIUPS;foj1Q!4+9slqKo@ra`{QOeY&H z=Y0_338{CQ&v0G^PL>9GWhv@XC`@Qyk6Q;3z~%ezj#nAuvH_DGRHL3{W>S_Vhh$;> zY>!#J5SrVm1G@J&DTFqop>q%Xu>!pqgy|bQWiGOIFN5tK4Ccq9GL3u1M)3|f*moL2 z@JwCZZjNuB##_3(*l&j)ALwe;WNfx90b<+y}!~W z7>@_-X#cJ;*96WB-@3O&6cJUw$zx#Sz6gZfnb)ksFQ@&8ph`=;qQQ(3e7bS*a^dCf z=6Sk(+V^8F@x(l4fKubp+)HP7+!hS_0?#Y7)`&~HF!1vr{t7h*^ce}J$llKx(6-{iPP{VwkhmuIs{+coc%fZ-^o?M-^KA8 zmTRFMk}eEB^`Ko!Vc+ZCHuCb`Xr4Z zEHcs>d!N5-x8>I&WL1A`4DrqvluGxHEb@W%J1U_m9=3d#vcbkqS)fCKN_T5ZheANd zmvVA%-M^FDb+V3_CEYDVpZR_pooO!R+c$rBA{_;0P)kmMo4g49cW}X=$Fg5*BAgVC z%K((O4H8BPz5MoJ41=i`5kV{u7D}XoCWHKxhv|b5rLa3cW#b7-y#;B?2U*D~3Y-}~ z(z6+-|V<(aIoZ*>}0*yT%wvbA*U7=I4#k36N!5k==wO z-|`20CP)4PdsXJX4o%VhCQ4dGyvO5aPXHYKB%1;`&h@fRW06T-p5jmsk4&wk5@QV! zh%Ki-(iz%&SXiW_lpZO|HqdyQQaIxsm1$kT11#~dNXb0xttwhlS{2--zv@t3-|>bzA3l6 z&*T!Ad0+Z*vqrH0dtV#h@wWaGv}H(8BNrqc5c2_T6O)8_^nK!07emDnRbHmnR%GjJ zx-Kp{7)swCr+w_ZO41>VXS_>ffMVsvEZCl%W+ZTH)P6bg~Qj8kC(YzYEqMzaB zXx{g1DfFpFG<+CH*9V$Vk%oZb7h%*S_Ceq|Wbuuz9uyk=4w1aFuZWMJ6bHVKR-U%k z$L5`-8i%boJ?7V5JT{g^crqrrSF#nCt(tNQ!Gt2ZaHqW1VWgDOC5SdpFAH0g7B(xDO1YBHawHgG#aY1E2h$q$z?>&Q{-IT!Yc@V)20D zvU-*wtAdzBv_*Pl@+ApzHY6`Y5XN7Y8nyIkiS!vBaeA$}Ph7k92^7TiPQb`ZW3Txm zPNbKw*tG;Vfqq-=t;*4+YEZT|e1uwa#6c4^s=pE}$bHp_c6zv>h4d<~jczH=wM(av3*Du*x?Z?6T56ZM%Uu&QJc^ z)B0|2!oCA)zfQJozT3e%I2@|3cjs(v1f;hUCKZ5dkT5{wY>`URHS;5w<}Sqz+Tk86 z)uqwj(nwjK=sK9dS%;T11-`_)^%3o%;~5wkDab%HgXNKwbw{#+b;H=Gvf~5a-uvVy zf{0ptIwW>+?#L<(l-g&`9(1TAXFPPmaQN{;p#o1Fepjd>GKn9GB1hh6?Hg+-KZIjg zAd#${X(T>kcxp$Ui~4xOM2v$ksZE+|8CoN4Y8Y+$z;dt~4}x*|!E&<(7J_kCK-7$3 zpJa|_f`2jcsFdaxx>^*JZo3C&^8AU$Em}hN%R3_L zIZ_*dthsJd=YP9KnNNnMEgz3e_eow#-!ArC;L=b^iNaU4L-Q3^dQlSeV21xz4M%@E zcrMiVw18(>rZscvZ#e!Tuh&HPw?+tqrcjy_2G9LoDW%Rq+ z7r7&Qa$=l^$d1<@W3&%hoM0C=#Ax2CSg!rbf*iB<+TP%>oYnE!OD|gBkb)O@24R&&z@>y%BS*>{oOQ}&N&w04Zf8md zn%^1Sl4&sIasHXTja6rM-dMRL5E1LwCEKm>XDMd-7Wzqe43O63yJ zNa%Yog^x0No^P6uxTzv}^7wornHqXXn1b->`Mv2*5fOP@Xx65AC@^E;jqU=Z+G&|N^umkV15XbldD zqjMPN#Atzpm$)Kgn$Z~I8ZIP`t_;eqKmZeS#{Rx*M4lcTONg${J%t9PGpTH^)Y0Al zwE64&?Uy{U&zpm;2L zH(g+HDk^eXJC5ZPBh=TYQt~bcpi>roqe5R=KF-UJGfPFqIAIodNCkOtj2?u-KI;XD zVI;A$>?tgByYI~ojMnEUGZP#Rm|Wk%1?cUU`v`@J~uVr;l@!Kxqbv8sFZCWIC zU>goD3_^^ytCJjWO;y%(pj%hth5EN3EeXkVNoQZnBVIefb>$vki{B`*z#L1yfRcN1 zM)>xFVbjO!bwv1Vdn{xV0`X+cN#AvPqG^7909qK;GXko2pirK-TNm@iA=qcpyJ>^D-(erJim6!*i(q@b@P20;8zdVEQ^m=RPD13qcty-2p0^ zntaJVs?moMnGVJxkVFS!N3jrhSC5H_;<(@g9bQo`3-4RS1N6LGC;q! z0Bo`W7+ECY^6GOS7$=-E%J?q6=O=%oI|j+8U@9|Jg;XMFUe&Kr69Jmdj4#+}ngW%K zVv8cq<=>)g*}iEV8-;I+%dfD+@&z1rFuglyu#}ZS%_@Qp=@-|hC5OX zk!2u-q3Q_bYtAC1>xNOsnB}695}bH?G0(|=X|s;3*~%Rh16xE5Sh8c{8%a_@u40BdwKk{@PC zj}OYA4U;{uICGvzWJ9KkjHdE{{?at@7@e=>RPwoMZY`|y-1&315>s<3h=VAP)f8SA^y&xZYJQk@Zwqli^>{;(;nI_-TGOxH%V#<>PA345rB7vF z#<_wY=g0CJCmPr=qkZ?5*wO<3J^ zZPsN$uj5nAp=0Q)*}5uQ@${Qj^WNUM)+1Q~XegEz4tC#5`hFpNNv7ZV<)pUM))Tjm zOdrSD;3{d9jgSBHP{g_3k?_p>+qh%1`_Hcoo%2H=z8f)VP&77;Z%j1l-0%f+Nuk+G zp_^KOX?e9WMs(>D2pP?N!BUj=j`V@->DP$b$S%;A>bRtW*K;N6J=$(T|yE$By@+U2sdH{}2R z$2X4BL;O=wn_||0{##k2yPe@jkTAhNbtGyotysn&!8h%TM@ zkqgr!hD4&vV78NLoRK1h6WDF*!C^6dk02(8a*^6We>Z=ErN7C!7S%ZukfE*qmdb22 zvq=NC5m!-FHEGyWQTg4CmylZ!?*q*8uyDb(Z=Fh!_u+E0*HaLiIfnn!93_QUw^OMz z1gHi=C|Onri%3qx>BHcVpw<8ycwwXK(T6B-M9`tx1O4Ha1Y96rnz8ntlW?QlZTWSJ z;9ctec)xq@C{_BX)an{U(vcc3zD-5uflffgSDxlT&`Fm*0!HlXbWY_;@LkLGildjH z$J6L|8Rf!KfLN%+I2t+dz!%0oItQNolMN;N8w(nA83H zzTfQ&favGQ%oUq+u@GcC9Qp&>V`4^c^cRueP3~kBV;ci645m3tht<2=s{$&Al2K!MA0&p(s$W z#F&{6fkB7;9>1`1ce%xGMpIjo#akNe0nCl?Z_PwvWTEXo{RKKQLl`_H=;dEk(a2 z2_2q;ge2t$>aIX|0cB=tsNJv*?>03HlDCIr^RBZ;*zUZ15Jb%eNpWns3}u zf~Esw7z|Fd8RD#X2q+^{?*1ZnYf*N#Y{C&~Dj;?U?k3KSNLI8%m7^C+Rcd*7W>BG) ztPGSXgouG>TyT|`C~3h!X0abMA~lsskqjH6c2pwWB4%~*H`4Tl}n6%{6c_W5Q zSiPvBimN$Y$bR)jX@pfKK{!%aE<($}Umf)oP5M|7EO0NXJnlMkIw6pzU8;rqaK#wh zZA8JMZC`=TjMo*&2_i-GcY1s#tL#aYz-5!wZor$I~LRj&0bLN>OX!@#K-v zi4*u;bde5UTJ=675Z+Xzmeggkmy7J=)W4$w^c!YYMyZ6|KYNslz7*w>Q% zsQIl5_K-gZgb?5Nt(G~f;CK$fjb1%Ac#_ysitWU?Xy9?*WfvtsPf)`>w)b>Jk+x`- zVHSP*7Ko)R$7AS4DVqC=IVRucA^~B!($T+q)h1)GPwC>4KJ-|HNq9;5{A0-k4KndH zE~}1mc`TnDya_PP;CwP6a}g#g-u#AWPA%9OWlqvzhD^D#Xw6GNLy&HI@vO%}mx9Wx z>EQS6xt=hypxw7-LkuhH1jD^al!dX6vee`n4XB1A%Zi25VRipy-g6F$KT6g#j>2hF&+M`Xc`V~jp*`}h>Wu?!souNFhZdv+du zV$JhpQJPj2g1I5^tMr^VnW&#yQhiXZ5e*yR?!i|c?mm%Dcd#PlMFDQ;qXz%3^l$`P zeV}k_Gy+Q5p>ps8dJM+ADvz=)fH_E7z8^iwjgt*3(HH)gdusTZxOqUR^UQX)f(IGn zSZ4Zf*#;nj=#Csa^A%&%$m&`a5_fEBk+3q8V~oh#YGgKG zsF93&Hki!RutDxs)2D>QgACe!k4oxePr&4OktGLpsi`A?EVW{}Fxr)CY&LZ4=7HS# ztVP>rb#aNp7`tBdP!|SM1+P9>hLL)3BLWB1A!%}N3^cf4Z6cl)_xdS zr{2jtWjruVwoL^7gAQ9VTRFCueQ>?9YA)1yvIkyW!d$j zclY6~%V9EuI6E6==}w+f3+>1Er!i8^VQB2KB(vPL3tgnnR_f|tO@<;ycwn+XH!Ins zLIzaH3Z_BCOyrB{y?34H#zrLy^JPM0`{IH|tGT#_iWr|PA}SR}uzGasS2M)@ibFAK zA@9WMA;KJjYhD5Y$BgJ!vz4sez1Zj~Ub zi>=1{gi;dGSMXRcY>?{nB@nDF`4hc4b*SD|B5Y6i@9J;cV5-g#GdMTyB_wEUaimT2 zl=;1ziFDE$tKTKz-L_SBlQ7u&6z!K5PYm2XczF2>CyTxWfeM+atSg@;3_uqru&QEq zkvt|5$&gf1N~A~(*LD;};=g-TjBFzw{amkGTfuQ?9NM>UlrJr+e1H>!E4|}>dim8h zYofU3ayeZB(3#D`TKX1^9FcXQo6;DhN&|P3-740h7vBbv@+3!^r~>O{LgOQznR#WY z_Bf+tIaH$}aYTQiuxVBK)?M$o*!IJs=tIm+=I(}EKeC~opsw^W4zR;8-p4>fkYyVq zfX0_4M#)!Bg+3-+eSqVj&uN4Be5d7e;X#w)^FKKkR$CgdBCVE1H?e-&R%nAGo`}MS z*k&-U1%&U~Wu-p);mckIfj5z4+*VyU{2YCicvJR_4QubVJW=kQz@f|E@i-vRS$|=6 zt`GRhY0;r?Ra=)|8)UN76H2c#5kT2+T9(+*Wn7!D~0^jDYzt~DIo9I1IeBzvY4Af@9Ml&9)Z7SX72V z(5XL9+ztyNQPCtIzuG*y-JcrUg1%y-B(#r?(EFxxELdhW7qteqWf|opApAPJHjiu@ ze$kg-yR2rFa(g&u`%cZ}hip)x5lua{5Vh%D;ICAK6-5yT&7O9H`GH)8OY&6*?JpF z?_etn@BDglUYov>m^A*K@TRe04!vy*KrK<}Swd=EMxW7l_V_q;7^YnbMYSl0N!G-jyApO+lwMgs^b|Q=;s&M&r9NL6 z_X9uK{q7Sum8`OL8Fl}5Dqk#9o3QHzK3t13RQX`L&#bLJ#GGF+&xl_AGa6MN#3Fl+XvOAa4+=&U>w;RIQYy zl;u{7wzPfM97O-cPMf7*tyu!>Y$i*yR-^499k5Fb*0Q?6NGJa=DUQiSOZ?)dZ zxzg$X+8Xxp-NZX!ILjmSvNPTh(5N9)A5=`5z?gr2VA#yC@Z8C)5XVGrEhNiyK}GQg8=5IrRJ)!| z*nyhxmTuaCQa%yvJMp^zL?psx_$&q6f!tA7GBc@9zajKJz)D5GSP>S+9}z+w>2vx8 z(@~P<`o*O=Bv84Va@5pKe!mwoaCG*sA};EhpC&^odZHH$vKcuTG# ze0_CSuFrKWSnaA@cE11WHpG?se(52uq7GWPRL3q#OdEmcb9M|~&YwiJ5>|=wLp%RPekfawWt4GWK*?wu?H&-JP9| zly#E*8XG6~MRJmJIcf0Bvh;DEUotRSLvwwf^z+BxCNVG0!>@QEuJnOLoKbZfk1to9 zdt9|~VG4sKZ+xwB`XhF!6e1k5&jpZ+TgR6_ngW`jXB?JYoc26|1o^{=9T$E0xkHVZ zdyREvwj4GdaSnov>VnFNJ$!u%71pka*O!I$1qUY_@oL()+X&OuP+v?9mWNXiEw#Ng zzc60#Jl)Luh8uY=U;u$pow>Jy$@8xsy$kJEOcg}Mi6@r+G^y!XKDlx!Oa{r_@plV~ zFY-+7_j)(6QW{LM5<_u@jAXRM;-m?d4gf7Ox0xWd@xX!pZ15L=RsU^X9FQ2C;Ed3Y zntnMMGwUQ$sI%(vv=#7daTmG<1BMip-h!MEJ@u0`wNZ6t%@2qx1>d~Ri=`QmEYpa3 zgmj8k?5E*h@{rgey99soZelw3Esq+DVddQuF=h1hYeTz2`-0oz&u+FQO`9}#VI}bj zrxgeYo7!peircwefp7JK{UshZ6LB&uK2mIy8v*l7->oTVEzCpxcI zz5ADH)%5P;qf&r*LT4bE+Nkd4VQfqtkJ|e82H$X=jw7HH<#KJR$?O#yQqwitd(*C} z?6SEHfHE=dURJgKc%rZ5w5Q`@;qIrbY8B?gW_On^Uw!Yo!q2ItSkrE3uJvUf%ZN{o zv~Q+y%U5g2lK0?VR~2y|-9LS2wP-esm`-Y`K8!2h%DRBV&Q^!N-z>U4qq;pEwRI`| z?|O9&OPkqfir56V&?P~hCCyvZDT7`Rs#gF)(n+K5l&&5k&K~ZBOPuiK6%cQ)xj7%> zch_0N(rb=XYw9>+rN9a9%mW9$Xs-neobqn|Kq1`udQN#?RPXm+75qeB1#49vg_B}* z`R884XR3hwtd^N!aSak_kuM^e-_6dJTBYYD6VRZuX=6tAI%QHkJUo^!c}7ZGohou7 z1diFgLACF=Dz$~b;3NbTw^Q(`5?;Ap!2=0Gt_!!8q_97BLd)@M^LlMRnp*=Gt6hHm zK8~5tDgzgqL%T7?E&i=`H8y-kv8v$VNBb*iyqgwSu36@ptB}kXEcmgfV1`i?0rNxV zxQslsI~XauGa?#-_|5h}CazL}x@`x}xYfz>8?h10{{^Ibh7^)p8zC)zCaIL z0Km@J$J@-<&6v^E*i}jP6Bq{I|8%=2F@Xp^-6qL_aJBxb`KNyX0szqelZAu-kCy+f zW{DU8aB?yCur~MnpIZJ?#+!u(046E_cG3T5{KtM%Qa1>j_^)z}$&AQVL2qOL;&hh~0O103;b`5Fq_qYtq#U!Kb(+#8vu#82;Y`q!<8z^)Gl9ixCRMMaK=myBef7Tp-mI{8 delta 12557 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 P#sS>^2}s+*U+(_^PpG?&