From a5252f841c53f5a7db2c69b313c7518e0c45d86c Mon Sep 17 00:00:00 2001
From: LTLA
-
+ M Matrix class, typically from the Eigen matrix manipulation library. However, other classes are also supported, see the other run()
methods for details. M Matrix class, typically from the Eigen matrix manipulation library. However, other classes are also supported, see wrappers.hpp
for details. Engine A (pseudo-)random number generator class, returning a randomly sampled value when called as a functor with no arguments.
-
+ M Matrix class, most typically from the Eigen matrix manipulation library. However, other classes are also supported, see the other run()
methods for details. M Matrix class, most typically from the Eigen matrix manipulation library. However, other classes are also supported, see wrappers.hpp
for details. Engine A (pseudo-)random number generator class, returning a randomly sampled value when called as a functor with no arguments. run() method for more details.
M | Matrix class, most typically from the Eigen matrix manipulation library. However, other classes are also supported, see the other run() methods for details. |
M | Matrix class, most typically from the Eigen matrix manipulation library. However, other classes are also supported, see wrappers.hpp for details. |
Engine | A (pseudo-)random number generator class, returning a randomly sampled value when called as a functor with no arguments. |
Custom classes can be used to define modified matrices that cannot be efficiently realized into the standard Eigen classes. We expect:
rows()
method that returns the number of rows.cols()
method that returns the number of columns.multiply(rhs, out)
, which should compute the product of the matrix with rhs
, a Eigen::VectorXd
-equivalent of length equal to the number of columns; and stores the result in out
, an Eigen::VectorXd
of length equal to the number of rows.*
method where the right-hand side is an Eigen::VectorXd
(or equivalent expression) of length equal to the number of columsn, and returns an Eigen::VectorXd
-equivalent of length equal to the number of rows.adjoint_multiply(rhs, out)
, which should compute the product of the matrix transpose with rhs
, a Eigen::VectorXd
-equivalent of length equal to the number of rows; and stores the result in out
, an Eigen::VectorXd
of length equal to the number of columns.adjoint()
method that returns an instance of any class that has a *
method for matrix-vector multiplication. The method should accept an Eigen::VectorXd
-equivalent of length equal to the number of rows, and return an Eigen::VectorXd
-equvialent of length equal to the number of columns.realize()
method that returns an Eigen::MatrixXd
object representing the modified matrix. This can be omitted if an Eigen::MatrixXd
can be copy-constructed from the class.See the Centered
and Scaled
classes for more details.
Custom classes can be used to define modified matrices that cannot be efficiently realized into the standard Eigen classes. See the wrappers.hpp
file for more details, along with the Centered
and Scaled
classes.
If the smallest dimension of mat
is below 6, this method falls back to performing an exact SVD.
; z?QYlfc#Hx|0+0~CB?O<#XrYFIfPet%V4*ewfxyvoEK78KcenRwv7SP;iW-YnE%mcE ze02Y<1MRkiU`E)?jFL#sm29v00aR~qFEKIk%Izt{g}M-`br3u? z_ak&Q&MA8~RMOo#^}em(G;7TqUsS@luzH@;H$8V`8P52DljlqO7X%?nnw@MNGyG7< z7|#TYQ!#qgpnpzUHdWYhw^bpziRb%
RfanH5Np 63eannasQOALJ^wL zNE4UoHXGq3HOh$6$Hj|uO#@5o-)4e=<2TX#ZbZ;S{1t8&k=fr7(meP
*0s?sz9xetFFCrTwWUcUXUCz_~{Q?t&S ztBetnyg;+znlU-VrvQXwA?|;km!Z%7Qm(OIO_;p)iwfSmd}6yU6muxwtdNZ8*gHDJ zb1Aui-6!p_f2Vv9ANJ9RKg{SBL2w`-@3yoH{e6+5-uqD@46BeT)DLV!73t}))O8t* zSp _GKZVbpJBdYQM7S zJ`pmY5(j5Q6}l*f;cp-77w8~6@i7qL|5sl8CwsIdlVMS3IA4O0GfDh6(acTQkLNhy zwF&=|X+FwmM>T1o q1#CedRkPo;+FAcQ1hP1qH z$ !H~j8LKk>u@dr&97mPnXdvQgt#y4vRKKvu7Kz^y~ zt}tntl8#eCi_1P=L2JOo!y-c=XyI?U8j9?3%X->4P_L^G^qNAYo-tX5Is7Y@+6Xvc zU_GCq`#sxR+BqE6sp&CoMEBnE`%HL9=Z$B0{^HVLdUt~ti;4%E3@@@Qd$E=*98L*Y ztNOH<6A3@(22T#<1GEMh<`=y1I@TrrkDe5l$BDMNFyEn{U~gdEyf|CXS27ZXXwLxs z_-ED0#`|M3F}E~ssu`+(Zwa396g}fuvf3?f9$6``5q$s8)6Wja%~}@XYY}eV%%J{m z;r>0**taJri0?_#qLGTRr7($pTf!SA^k1{+gg*BaYzb<~XequfX>eTOK6xv39b(MH z5c;}=AUCP5>HNBcHVkc}D)--=Pmq0%8q}K`Zb`}WphK9-PB3`E2|LX&oyXduw(M+p z{8a5_e2Z1ogZA$W(o1TRdu %ad0f5G+t8U6pCkOo=C4<`2dQ!vg@eO1Wk83bcU*#TGVh5ilBm)Z{hM)iMx ziA>=5>2$qYQC_67{2RTKHs|fK!d&(G;mXR&=c*7AHc&(qF(%3c1Oy0~ U~W6)25Waj)c6HaDJ~|e0n5~lvF>~?XVtW;R|@oi8JJJi#l?Oond)X zniSJjg%90cZT5I{CVC#pY;lbi${`V)9#0Q2Xu0fjjV^4ftE+HL1blpaUjzh@U3u1) z22=P_cwDY9Zk&I5djqbh?^P@myI4G2X*`}SSEN?kGEH 1{wiesIt4P! zf@|@A_y2#{k|b&_iA}*2UN`@spmJ_n*=&@jr>9>&KC3&ikCf@@>5jWuF-oPMbjiAN zbIFrEo}8L)w{XF0+fG*7XKSodN3`rS)QW zyju``v3_?vXFN}qY;UTt|K@a^W|%7L J8S2+TBGYPEkZc3RRPkGs_ zBXBVk>6#xHmzI{qV(DA=Zi}0r;_ a$pU9cXV{13~M$xh6(tgZW_l~Sy>${)?aG~l;<5cKNDn(LJS0( z$GP;9$0Sa>w(f53imPG1=K pdt}}G0z58 zl2*MAFjm&R$%5{cR_{WB`}_Oz?G%r(zslt(=iA*DkD+`|AAox!By3{9aJ4h)Z7>*b z^>}C37fs_beCofp3ZgzUGjoGNm<9<*lWzqIg-|t4=cLWgPxX_>eaV}oY&W|(DMr9e zC>51KE{8E~E> 4Nm2or$y@Z@44)$1$ g2ft*j+;@6{=vbOV)b_Wn8gieNTJ+kFC$3B*FdP&y67T>IbZIbPHTEV zm*{jNZ4D*$S1-Hw1Az~H?(!Z7M?^~MwMD}zJP0kQi=)N)vu7~s7FP 9W`7W=$xd6?w3 ddj%$ch z#hSzZ=tS&}Cm%FjPvIiSB&(bc3yPaegmsDm2vr!5?*Iwtjeu6AwgmKQu~L&O2NiHz zeXum32AUU#dGCKi!@|?sA1D>L2^ydh^8PL^E++XrXrc~fIGnthmy`Snn1CfE^b*P3 z#&OZ}mzXRWLZMqbqZwk!+;KovGZ_xy$;ik+eV33hSZZ*3fq-z{g==BC-u0?~A6$Ql zhDJtA{0rb)xy`mjKVYXl>ED80A|h%7h*DVp6+*xh55}WJP^?t?(;wJ36(Fu(gJo7y zdY`~%u>~}2!$})5#8WwLx*s~@EMyUlrv6Ax{Tsl$a^;p@rTDVjH9m+l9S~Cu*Gn!A z>Js+znvwc;2SI^>pV--BK~nt$QKGuE4ZKVyvl)7LR6L_wg3Q5svsp$0w+m@sRQx^= z*RkvG!GNik+nIN5yel>>W=g!gU=iM6V03^?fpXl6Gh_$Ll)dQ_SILMe _`4-3CZ-1r_2}mLDsxdF@PRL}4T913aPD2ks8QTA2!!tC 1K zr~Bn+MwctImc$kNgBf%*G_ _jtk6&ZjkD?U_yu}C@)q<(gZ3jmI>(S=s>jg14-?)mzQJR z2>ipV5m48_Py|5U*lZ2-o+RyqfCM$P!hAlOQNM2_^)oCmRS{bNtYULm6PwRfXy2Ty zMn{l(b_QXcFW3x^7OJwrz`!^j)oxQ89?f>jO;9V9K#`G=0eALg%T%E%Hjgv22t`9f z!wnb?K*KcQ2vXO(-5h|-P|q6jr|0LesUFWyc$~KW(iwuIVC8**;{;L>;*O}-+XDlS zmiy^u9qN~_?;C9FUQcLPBjD>j-d`I6i!M4gnocvMxtR}G3|-UHF{QfQDoLq&m9&K{ zU>0i4?n&UGR)=#eV2sqo_4Cd_b>Nu{0F&mbEhPE*q0rIMAznF@SR#8Eq5F-Orzez1 z4DBG;V47l=vtBagMrW2r=gT(mYzEz~61#l`sARV*WraeOZ^uiG6pBT75cmVORrF<+ zB*st*-*BF64)wT(%OMM>f_^bESfI1RecJKXc4x$k({7L6Zch%}h1P;h*U%F9j_M@} z%7zyLfmYiu#OSfmzg2lQ+e2WplI;)Yl&=tGX~^mi>GI3Ct~$HA&NgE-%RqGnoUX=t z6A7fE-qt`I3O3`f%uHg@0y8r+YE8GxD3V$8r3Ma2l 84}H5kvrY&!KDq`s)G zsFe-feaA-u-xAwh889~?z~&0?JQoUF>ldDH) H4Ve{|AXQZ%*l7f|t(8XOs*K7aoF8<#C)XU8aCp%5wdZFq&Zj+z=CGA6Ya z$OzZx$Lo&n?sMR0GyYg$hpMwb6w%Wo9vvNx=ByqWk)o8# sN^>7y^#5)8l4}Bi6 z7zH{-95$r#`EsQLkUAv#B`#aJ++ZSKK8VocAq+TdW$us85Kj`|+o%czSwUXu7$2%t znPCfs;H3edGLlL$1Q>o`@%sSL1Z|KFfD{vjs#x^XDQ
SqE81P&y#(6A-kZ+$MnL3ZP`Qpns`8t%?V#jjD(ns9FO+&~P}N z5hs8SAm|}PAA5}&>4E4; UWxe-&nb!B*pVhD;t{(@I-78FGyo1ic&t7 z%Yl}z@!}1U;O`IA)B|U?SO|ds_Kfq6&d(=+^|0BSpb&l1XT~`{9E!h<&h+*1IbHEa zgV{=M0ky1R;(1YAr9dGb*yX37Ym-qqWcvhaNZOYQL_7!!?Sbj>A-DmC0lv&?nZr zV r91E2tb2B{4Fhu_ff*!g8-!Y7qyAh^c0(RKu> zHpH6x{n1$<8Wb{^fRX?m37A-yW1hR6jA&yLk;qhl@pv589pRbT9F{9kfORVny#%>z zv(bZ&O2FM?Gt6V?#CvGQ$}~%}4cy>p(GDm;jWYo$R4A6zjEFZlTBwCk7%ID&6I5b5j9^V0BieSMUchdZJmKy6f#Te>ikzB$-15^=EI;eBhydR5oa=B8iCdn1c z4@rQ_cY%rsDPKUNRc6VnP<*SmD4qt#2L3$@V1EdqfE<9N0mi;L5XTfpyADWV2SA#9 zp}kAck#xJS+B{8S$pa{n1scX?fP8?kGpH>B+~aIY)#7v~BUGl**$&i{VL-mDEG>IR zorAn9Fl{`6eu7YN05hLK_qp(mPc)5c8K5?h3!qi`_sS0>x7O)eC)kD6^>y7SJns90 z^4gHj(NS~=DClNI>J$3`L|9u{(W)c_bUj HZV(|(~e-{6q)8R<0Gw>Y^ zqR8%8*6GPfDhPt;?p-HmXO%Z{^n}MbVsScl4a-2E16$nD(eX7VW*49~miG2T(tjc0 zZwmu!;~w_*aIP`~R7bT&=O`a!tTWIL9nX~}0 c7jin=yU%+H_6i_O|Jf}p_r-|7 zRZJ%9kA+z9HhqrAp vh1XtkpA*mockY}L#7qw~!x^5`%>02oC;Lb<1fG4p~XV-tG z2KYQcpmcyFwJH){zkc Dy@4rKx=`{CgMLRV;Fo**CxK)^pF z!~l@Mfq0f6uosL#lbh*M9)OH4dlZLN4ymIDI)BOaTs%D^L%I4#Qr5&4Xpcfj6dLc1 zCwRO}sZJ+K%+gp*ZLM^Z>n#fYb{Q^GH|X>NN?-}ZNqx~is9uJk6ML}Kn80E>HPYnf z0v0wZ=MobWY*Bv&_bw=Nee@Md21G28wCZy*U16k$R=wdQh3@@YMY U?n9b3x+8^e)IwyUnWn6q+s1fVqyO!5hO)HWrX+@5GE0Yj;R2;Ts?o7ylw+^ z?sVlft^#6!1h@P ^iby~B0@S@H+aDg=z9&f$0nm?1yQ%geLm^Fa4oL6-#+3mO`FAcb$)S_<&a z6#u}$bdbo=PGd+5E*Cqk05^bKOaqt!=I+gEK4*D GgVE z6F6<4i{^v^kvIgYB0$apjg_X`9TFX#14(Vr;R41I#EOEPOaX2}^fk`YV}ojynJ@@i za4iFj4yYJEEKS!iG` AtoXcm_^FY zz!3H=2y+xvfOux(F981asfTK6*dbj`R6KSl&!C_neey(bQlebD-B-;*6-)?3&&Eb? z#00RXfY(J2#Do|fks&D!cJB|4S#uBR=#*|=AeVMiqo-E4hR}hhX)z3F0U|Q;I *M>qAjYA0ehJZZIRj+3SNTLUd>I2Aq4uYk=WH@;Ev%~6T6*mnoha)|J zoIuz^Z#bpQfaa ;0qe~GTq6+}a1P6E)A>~tg@Tv^ofC>hYO4{F zylHB+*1vIB`o sY_Yg6 zK&zZyUT%VI{{5ceCkPnK16(6N$bkbe^>4vAEGJi2TM)7L_3O&!rcbXPFr)lH+p`>y z?QDspz9zT(6A+~U-+*k3zFzi7$p SJ^ zkU$G~5Hc1mL_QY8j+^{wRr5bSI2ZtrK#S#ag-9!EV9%Uy55EOv0a&q4z=3gG^}%|H zgtP{X&5z(T(0sK;IXE8S2{7*nQceLuGM~J!1FY}n=0>XAKpY|=A+_iFdOMhHDHTLE zpph|#DQ?l=B*__|xDf4fHlrIVU8?g9U}T s{R}s20Gy=mk|1NL6B5TH1cQ ztji~Jz=A *&)6qJ?SR&z^LuNce}sZ%!<)~RITWOB)|x@?k;wtSD#d> z%;Iv~(*67pQaqkGAZ7rlSKC0QN7qe0{8@E&wzNF?kTr3}hGhWe172VW1Q%$m`}XRsfz9mb z>;zOg35A6P#43dG93BS8#3+U=lhIGl{qplG2Wtg`i_gK%e!~ZN(fdCNq6u#S3<9== zs;n{A006GEv=kea0E $CIF$*9X0ZB*)tTUQ(8u$fPr)%E`99O(h^r69# zffdMhTB_(GZguK#2et9s^D= Yr5oEqkb#?WmbwqeLyZZxsmPk~e eCB z1}+Gj05wRHEKoC|$1;IY0?xCU8b^LtZB9r?AX!Q@8}E%E0~|FK(6L$C?H}_gZ-GZ( z0Gx1Ov0(OCeW2?;Wd`I|4QTXnw{HgBO&8t9^wpV%v*muEEdaZ9Z3Rk_?cPKH#6YTd zumB0oVYi0?dH~!&F26_dMd|Mq1A78aEh${)0l#h_8i+Oz;QEXEAietzS_R-;ATyLm z>OdHPEYfq12wy1Mespqm V$trc zi+*0)o!6jnR~U`{1Z@SSOZ>Wozf0Aw#=_$J9C7$rk@7;(7rp8#LJ3^u7JxhS#|+NS z&QgAcvvHHVv!b 1Jthk!Rjp%ANsH+X8e% z%FPdJY@Y46EygD&C-cum@0NW5DUlbNxd7Qx$VrzKGugB;q;zx;>$LqY;_sA4wYf+^ zaO1r7hx cfjD=T;(-Sm(uLN(R#Q`> zrkVV*@#{aGbW2cy`l?;(g4RC&+otrt*Am &)1IKqPTG0BheJDj7N zoC-EJ;Rdg9q&YvE>O_6QEYy+aR7iW8+EI#Z3hsT4(4j@&X;NcOkNv~6=GJgcM%ALr z?LWQQ4!75JIh&fR?k-oxS*kEYBH9GeU*aqb(ng^ujPzkD;3HYzW6TLt1%G+$-ibBJ z*g58_{r8}ORZ8rN%Lk4GWjtuZNPB6KdU9r@aKPzS8r{8R@B$^nDQWWTO)d=7=NJMQ z`IS@u3MV`(SaN;hcQal;`RB|Cf=a=p$S#{TbNQHH;UxNRR9Jy4wjj!tkpqcnVUr*5 zKe0G+8si0$ihj@2Kid`32phq9r*p@bsmQ8Oam(wdtT)GPdab=(DH7fTUd<-cK!#rU zt-!O_TZtMf2enG7qdxrViDwj_3z)Btj_d#vs!)kEDfpM|iqg$N%ty~(V6w)G9g!2A zi6@6Z!wXfEBh)yis)?p0@r=+CkYh }J=81Wy=Z1wEjOf#* zcT-^--p}NX$|5GhS4)00%oOoacv8gz0e=2Nw9e-oV)+rfI-Za%5;$Ycuij5=h=Z;< zN%qVN54PaU5sELG80omj8O@GP7rGE$rS9V5f%{UX_?GHvX8$jgzSkBbzN!*^yV2$L zPyN{2@5vH%79!`x9Ts#&a^F-pR65uy_kjbkN$}oj{MQdE`=4$T6euWAC#x(79rA=D ziX%j0LMrXJ9VkJkm_nYMZ(0w5EoXhR{?$d`?fUi@;z2XL35}_ m5^6_v=Tum(3&ndk%z4dd+kp z6pPFk(jtmbzf}rQcph1ZaZxxG5>SY~T-_G-(>MBqHE~(qAfCdkP+0f)q-4sgu##${ zWS{n-GxGav&j)=6g!NCx+%!^VU)G`Zc=h}RGrmha_M_{^9cyErE#JR0v10A-H^o+Q zU~Szo%*dFY=OhSgwA!~b#n9CL#G9UD;(V>>|8TOQa`?t#CD9j&zl_nLj{!=;!6{GS zWTOp=<(l`Ga^`?V={%y51wFQNT;x$ GZ$|l!l z-6}Sp^E!R)oJfrs0UG+alkxa=^4}beQB(2DB%d2YG0PC%9x@!uG16HplDA-63X4mL zx1@xpF7e^GPl(9Nh!iHtXZ1bQzN6G@a7ZtyC7U*hDc!%AZ?R{#tMIZg$CtHYB$FaB z8N_RO$!==7dW4uS+-@W+b>5XKPnb37AuhsaGGYR&Vn>y V3@^%wUkw?;W#n`EN*p{p-_vzu9WA;K+V@^HZ%L z&0cps#H pdQJY7_ZRNg!p!*nZ_$rNDJn?z@KJ xn#{h^U|F_AjrwAb?i47j$quy7yviC+)5K|(@TgQby_q+? z3;{IAcex%%78RXRFDL0wkypN56{5xDir5)!?C^g$>lLFbroow`q9>;}p*Onem|S$5 z%X~`~IP6GcPpVgK&-m1d0cQb~IbWR=^ipcl{Jlyki+f{ojy9h1akp5kWY4|e3v!B- z-i`;%`o*Z;k#|}3YIFN+`tW^`F`K{c51qcW Q(Yi+#Q&+i>{nlSG_nueXA9 zxV76`FT#L+J}ZA0eH5En;K(Jv@fl8?;rSf)w~@P0sR#ut?ZJ>nWTMYI|53TFut9zr z#^qLAFGVGCn!M}zzm)RHWAw;b)MSn-`xsdh##xsmhUppCGmK4ZMh~2eU#X%~b3?20 zcO_&3Lou(UhUchjbj&6M7dv`;2)EMM3XRWCiF>tDuiFSjM54#yrp+{833=yXji?G3 z4(MyRRE&L2b5Rl8){hG-w7(<9#*Y`Dnb(nb?^22U9&X~-^^{qUE9M%I{(Fj@;ylaK z;uFlopNn(xnN%v$gq_T^0-1}hg+7N@ozEC%9X)eCUVA^ytJ3{(gp@H7Jbm@V 1uPeoV32YU)-L8_bu t2NsWY#RW1{WiV?Uz=vD6Z?J37js9eAOnoa3Q zbZN#BA+2YGH7k2qvt0VlP}gHjLxc%koLq|Xa`%D^je@^Hc+^}P?ehLHbcA>CdY(y| zf(N<~2d1<|(x{SkmO;O8A{difSmtmdH@GfQ772OeLLjZuz)VlFlD&TVMe+12@e$R} zim&jYu$Xh0&E((}aFcGGN}I#`5wA^{v#i$0mZT^qa*qR$CK7`SRH8j*Z^qC^0ZP2md%Q(h5*u{;-eEP;~zw;e*X|W*;E8 zF?3^B7l4>76)27K1DpArzEqOy ;DfGP}PmdC&7zdnMPo>Ot}^g(i^#maGUh z_gb3<8R-&Y;YyqJ>0NYESR0veql<5Zb__Yi$jVuZvWZ49Ma-!_G94MS+1eSA@CzBG zj%zI{spfklvJ~(0B#2{Ty}ZsZU^Kpt!q50_5xL&@V)uB}dJg=R*?fiKYdFeTpi+-9 zpwCRV++=IKg|boJLzh>XGo0b{jlwqC?s98&?h}!7F5)#?+nV74=ORI;EnK7L+m;2@ zYNeBu&y)mO3(k)SBk#|TSMt3BLXcr5g>ik&-Uh`VQt@nsZn2r;`}KftG5NH_R@Swp z^V> 65#k>crq*mC9G7vJ$F=no0J%W50j?&SA%H*5FH9jYu3Y z9eMHVS`HV9Gka~Pw{mW?%BvMA8#;Kzti7ckeNoxX(7U7N()oSK3-&xQTUy#I?I2DI zd+`v8NsZ5hg|@FPnE^;bsdkevk_nqIFkAZAlgkGhsEo5zGN%%4MTfez2)@GAwK(nf zfTyVaYsCg@m5m`ve+nO_=Vs9-wWp=`={3v(%vM+jUen4ks5jDVuqeQaFM`@+N+@d0 zgo=!peq8IUh7Zd)4fuu{JfC`>ehcG6#d)5*j`O2?DgEz(>e)0{uAi+fN?LEWj-RbF z!s3El^7zV~#ZC6F(NO7&a@nN5R?Y23nAyIR8^PUyse!(aR51O0vi{4>z1|!zz2_%! z-p?>xTSPK*Y?f5C5vZC%Ex#=0RKM`0QRV(ynvHH*#Fwzi9o(^3Z!nJEO31bPD7rRm zAM$7#^WfMFt0HH~l}&L9nl2vC?(7s+1r+VzRtqY2d%fbvXNE5z`u$0{HPDA=;-zY* z;>2&&VpG%32oWZN?^A)puLKP+V-!XcZ_<08-XMlhOnd1?F8M2%;#H_H{YY6RQSBx@ zk_eXzYn=(M%WnOy_)2}$7FGl{r*g{>4mT;-EOA T3e6rdOVUim{WbwF0hN!6S|7SP%$>q;&l?e zXRjDTQJRtMP0BtRow2KHWTZzF=UYLcClf9`=_lB$3Kl3AMOHmBIb1<^;P3iK;|k8~ z&Guz7r!s9F4-#fZ!?Q;l_Wz6)@xAH|s*q3!#PY1lv@5IYtbP!p722LckT0mi7SG=I zG~GLq#fe=@PHZ?MB+GGYp&O@F$1z){4 t#3_y&!*XQ-OT2lDP_@qO6`!|U>4GAtCwXWW3h?7~r}e7%;B@z= zXK=pMT7N=NeTX8CHcz+w3MwDg3dw!EWG?qs+iF;>s{q4+Ea~rAr;COLAGzaK3cJ1+ zk136gr)Zwa^7$7dB89MB;`O%1VZrUx)?J0u!!Q;)sWx97Drqij=S0p66`0|tzP`v^ zstPVU!EREBv1Or$k417cRSMcFTw@ {?0=r& z
)Uq(t&f zN2RHigIEIMuegdIEIgcd{^p;kox99N%u(VsE4H$Fl1&Wmj3tXEX{+%aC0m#L3HEGM zJC$aBFXo!&V|?*M^!!YPnTNsazmqjI$60l6{<++(kUmxest%gO6V|A*Yeh> }V_#{3_o-rXQ~8o=QOm;8`MBjHM@7v9&?Z(2~qRSH@& zZ=3zG-h-4i8$~%OW@R~3uu@=1s~&H(?}${%wI_vjA?-2Cnb~Fp4w17ze`u`O;($BE zIACcNnp9KbY}eFxZj+Cs-fNhZ=VS>O0LO}t5-P@^BC;j-EES7(MPY5<>=SuMUNj8# zH7ET|Mj&``1x5I_{mrgk6xXqn3!0n?ozVW%czQ;2xgEEUyn$Wrr|qt%RGwEwD3f!p zF!_VkGEd};{N@#QW^goRlST1@8EFNqXf87h9HW!>0RpeGWRprh3Fnstcu`d(7zz`J zILs^XeUNS~ww|BDdzr?=x%iqnkb}HUxrMI^wXno-xSvX`)e|Ek@Af=~E~ON_RNNlC z)aB#8-Ma` KPGmB3d!W_(U@?MRZux+lgwdHLVHQjF3G`WY-N{P#9Jw9aUs{cwogB*XEI z4Os#EiY$t28_Y)8zWP9}bbIAjnXzM${TGsS#aC%AS3UG59FgOka@yt#DvNlq5ndl# z?6PjDdjmK$ZRNi;$!@?j^AymN<@k9`8dYA&!8wuWWL;=qYpzxDbKBDyiPgBX8`M+v$SZjpT!J%8YvG-2F?iV%!a ug4vsj7Q3f7QJhTl6thD-9}tPNGBa)dja#6nbze^B`0Ra4PHX^UxJ% z@neNYB=EQ#&grXm>lSCCUV LhN-F2fOPQn0O?$P5J?iAuqB}r^Hp6-YcbC#GQzB=llFhPl#{-lmfDt; zvDOO)k5LE e7oc>y%fDZ=Y=MDy&mX>S6q2{f@n!= zcc=0J EE4P%dftF&!h?D6*+$?1q&(4zQLq#3ozmG+gVY^S-<4^1PHe{ zuCT^`$Gh=|`#R6b>_T5)y{Ry#b@R^AcrHtHOe8jWBF(_~UnZvClyr)yRV2W;3UtpW zyEp6^=LSN>u`=@*X5V%zNwcbbkBp5&lU~h3Q9%>7;NPI0z%;dS$Me&rGL7J{``#A0 z)5tz!+6#g;%UraYpE}~tyU;DiQNOL7S?twEd1twTxPsX7wiAijqWq7JN5aT;LqoFc z38#o%qW!5(X+4{>LMH0uT+6$;*>Yk53^7=ov{_#-2V|GV-9RrYyucP3!Ev&@W38qr z6NC~q4w)8<7Hlp0@XR?DVVQ5G3;>B6{(O}!+zre|3q*i^_3+um*i+Z3irOgepw#Ze z^W%K)p3@5SfJ51xzh&S9|C(|fwC@`Yjr|IlN^x3R_u(YYce?wrX5xEN&+p1aV%Rtt zBq)+6;*rSR`I)Fb@gD*Rayo7Go?qmKW(>fDf_m=@`F8={s1eGHbZ1^<;3UVERCnf! z8K@% DfL%0+1 zJ=3xvx_aY(zR3|-_(#63VHEv&qEy*Mhxhymx6|XD*#w2zzr}0_=Gua+V7Em85RUvl z83U< B9Of7IVej*cTyERBsQQe>zWk?3%>ex}`eajZO0ZPqk@ zB2&uG^d!EbfzSsVn!{WDN(mMPDqct84(h47(FHBEZ0HU56OYBFAn`A~jz2-UY70qS zKR$e*p$TN;7iQ!crqw$*l4f|VRnbWRJsLMVdr(whJ&Jw;gNQYcU9V_)c=Yj?Y8N@p z2Z1lIJ9kGB`$(WOKk|RrQn1?!t$u^lLA<39Wyw3-o{?9*cbyy zL@Qmm<->_mp86Sd`+rei-R3xG#x+YTEpdZ zA7}xzVfiCczsi+nZRQXjg6A5NU`Yyl8Jh7BNmbKp^4a< Uz6nICXRGu?Ge^UA=oDy=O^?vvoc4px#ZC2PG1t;Twf&>4x1X^v z51@V{zAHEmgRN;U-IkykBhQI0{dANE&2JyMl2j$k_lAVf?~;OxVz4(Xc@nNE{LRW| zgOlbH2HZ{M$Yx!f0;%Y-c!JTqh49 w;h1?nW8Ww!>bLMY%IIbo>?(~D;t(=d zExV&4Q-{c>ERPYN@U&4+1R~$~{LQCaQj4Kj ky{z)u^PP YFH0~Bh=j#nC6Z}j#nG);;hRscL?0P*bdj{Dht2t z{5%TzLsv;ND4>rAkzId+1H$GjRH?78GoCeB-)erNDvDz*Bc6<9?V+6T8sqonzx$@E znkI#J)`)I)C{2V$$E?ibGjD78jaj+zPo!-j+Esep4-k~)Kk+3MYsU7ZaxA8B<>CV7 zW7nm%gPBisa;GzjYct66pTrK5{Ig*rEFB)3&MxkpPbv;|6Yd@BX*el`ACcG)AIMS( zPtZ@e76kv|*VrX$!nk?C))*$SPI((ZKmSgcDC(qPh&}dLT3$b@xPoC_KT6gB|7u5q zCGU{W;-Gd5rWWFfS&IuU%-_~Rr^5C}j%wKIu)PR_HLmf2N`lApQYxiz6EQAz12fb7 zmn`J-E( =*!nV*KK0TJjI8(|(MpwB(=k|x LNG*^>JPmWta5?yHCM?EjEKTN}~kmlW_ zT)#Q$z6L3(uGuQi+X#JJh&Qw4p+RDa!-h@(E%xH+y1HZA^rQVaYIG*fcx(2LktYJb z`PYn=e0Ko|Aw*_x$uAIZd32BlJH-|JUPnu{i#&z>n3Wq#^a%(k4(NGwY|J|kA+*Tz zuASf8-A>!u$hC1qF}{fnwJc~MAf(2A-CJyZ6#3&+RN<&+Eh_io?F_$w(&wutZFOk_ zW=yt^k8{tL?^kqJ5})@+Yl4LeIc)AYpHtpGZC`hZ%i$K2tW8BkYo678UkH6Fc)UiM zK&~#$kKr34TuJu9As>C-wxRuziR5ZQu;4slQ&XR&UBgnE0>eVnF}=VtE(n=YfVK4m z2cs`Kw63Z}_haicbJZm!VY4Qyu!%RG$-F+pYrk%*VZOfz?!xbpm6vSXrMA^P+$QAh z> UfP>^DJ(a*Xn9LAN(l>HEE`1rj>kWU zo%?`P-Mcd{2a9GWO`Yvm0`lua-G pde z#U$vB7g9@z#25Vu`rg%WcJ`_@BuC()1u#Dv&V}uD#1;3INb>&uHsz}>9%~Sj(A4-3 zPI|>nITqdf!iuBJT7O!EeZ(p6_Txx0oV%83bmw|Osrk|oS-BSwtnbKg+`_&fF?GaI zb(tWpkkul(*w|~LEi=Z4_!|uwjqqt2oCbJh&wV&4yC-D>_QV$10Xj5jzN1X?mm $o$(e^k+5Laq@?`5F62>xw>{(_ajJ1$u42qGZ22BVd%U~>J3DGbrdORel zFp{xlZxD~Mr)MalEKMp)k|jn{e&=@muHWyk?;qcP=9=ri?(07H`JD4P=W}M>uQ#I3 z;IxZrcU2GD&E@#E%uHHy5^t0rb@16KX*?H{Z#QBe+r*8(2`k^Rk?>In@%e3-bU `YOZ2T#_s $ql{Imc?q*dE&92PK-9e%om9RHEpk4l1I3K2 zf~SWrhJkZn;+$-+ cT(VvL6POCF|{B)g|Y)%MqTHy?c_SR zTX g_hsWG&167woHWa}@U$K198UKy+H z=04})($jr8v--&M)P4c++S^nZH>>EVy*=AZ0XZ(x;_E 2OWax>`DCxNKHYpa?#Z>jQ* z$; i(}(C^?0Rb}g&eY)s`r>Rf`#*1J~%^SPB}#=N4;3yg)tI(#iU2M!L%g> zAn~+Q`q$SVB{C9kokKP1xs`HeVO&>_=p35Ju1myzWZu6l?6Uv%9cP)>G=UCc-9rVV ziSK_1^nhcv3_*x2FSsq8>zQ~kwUk?dg?(AXSRnMZR4B2UF>d}M?~@03_^W5~X-jvR zMG2vJ`z5GJmg}+O0T;MQ67ukQ*~3BxX{&MAwS8-6-)o$I|N1IRStH%+4%(?aOw-Q6 z!Gb`enCfhO`By(h68*@j(qee0h;DPly;IaY^JJ2Bj8^Ew$OQyW zJN!2P@LQdcY~LZrAq+zEPOiqM-G}>dtZHj;OR3Ar1uj= zWH=Z;{}-9ud=;p%3hB*Qvd;c|{_7QM8f3D>8sl+yhxMTKvLugArLLatQc4!0>VoYP zL>Wd_jWMm)@Gdz=-j3%A_Z6JCzjHvRrP{)6Z@(~;&7m$#vW&MNPP{(NA+)(=jPW8x zF{rXKnrnJJEUf9%@{HWGM;Rwega|u+@QM}cmSdvm!;fik?rR>cE>UA9xV`x@+1Dn5 zan93C3KB`cpX#TiqZVc9`BZ FIj zee+BQ+BYSfy{+W(ChG@>#wV=H(9%GhzJMP*5KpU6t$$q=tc8tHTMoQhWMqf>_-M1# zj9ue+(PCo6Qc19R{|&Am59&Dc*qO9$bU5F?8A0@XSCAmE(K#+Ow-ZvBE^N>!CeTg& z^efxWtzFXG`Oa(OS>@zc7aMd8iBBk0o~y>y4 |2WR|&9muap<+Y>OF;cL>A>816Uv=OuT<{-a8UJ%?xp09GBbkM22 ziIs^BALd%}nDaBJ^>)MPL#gx6qy76FjvS*uBZI{>Un|-+pp#~9?;T*CRmU2(4R5pv zEf@yBDCGW3y3;Ap<=zz(=@$I46t^&59ZiUdK`8W6HMBd7L{SO3{%7Bm_yse3RLM71 zA9T4}6Ndw4=YJfbw{-sy!jkoe!^r8eN8?8N65y~pM42=cMNt<+E2$_-nkRd-T8k8% zO1A9p^+_0Tu!{&sQQEKYWNhd28)wI%PLzXf%FdR>X*#1N!s>_^94uZS#py1BqcpaE za_D_0^Mms3V(w}nN?K{PXYI6UHGRr{NSUlpSP{0_s*W~Uu@x+gS05Qs$NYL`!PKWm zN<* nTk+&A^Ad^UQGNMCpdgM&{LR;~PyANzN>p`1hE+yJ zhxx@?$BS(C+S IZ{%Ms6c|{~p>W?q!Z4PvIUY-q{)x4fsschHQ%b>#C?_~}QJ6KHc1jQoh=LVo= zn!vxPKQb4(t3dJSY(+Woc3K|q3FSS0R!k};WxOIFba_M&CM@yhRgJ`UOo)|LTI8%6 zchTu|6yc^&SZ=XVPL*AeK*wbYeok8Q%yhwcHOyT`12^(YGR``3;fNaEe#8e#z^MWp zh2LZ3E1zU@hVS#PvkK3(oxX^!opsFlHjORr(J>xc_@Z11O75l%8 f4X1k*hPKAjWjXE=7yAc?a~AL7+5*Q`b{P+DYpLH!oJw3z;LST<)S^{CDorOL zO!lUzth|bKks=-@qSLq;b(m}WkXyA=OdfegyYNUu6)sZ!7e8J+3F9iHoikX{NN-V9 zQ{#;pNJ4 Pee2+PHv;S zyj>jTwvTIk9FKcmc C;+GW<*8(#)>osbKP)UOzhVIFSm()?cS`QnUKYaw+roN zEn&CYx7hI`e=A~x&(jOrw sEvJk%uG_q=Oz&iwb&U_7Jw{oaA`*$tTymbEoQ?JCr--9D zNr+Ev;1mpt=z(fTZ9&*)nV8-BX6^lHLQ=Y_6LYDL>*|o|8X6t9Kt|d7^Y4%1pu zT-}C16CLvxlF5(QW2)^fQm^yS=L=t#;7@mYs z{s?Va2=M)6Hgsw9RCW7~IuN@OZ;ohaY56hfSzp^{fK;9c!0#!VP^Zzi=iMsB&*JJT z5cEhXP?90avIYhQC{F@eF^qu$JHSa#uKcvJv=oNJ1 m*Uhy-?R7wm-OkBbtyNY5atUp?%>WK zj|jjV0)8?NaCVSi#4W`Y-8Vx+_8gE99xyZYOEShWIe@+sg~Nwye7g7Wt1GkS!tH3# zcx>YxFgWldKnI&H8_Or+GuxR2LRenmr-won08=my5ud&sd0>N?0;m?iYy5-Je-9XG z9uA0k1%SsVfY))jV6oqU3kQTc0hw*V3Sn4poCEkEngh9M{Srjz$^H6b4Hz@YM8Gh7 zA9Hpjyxr=7;U~L5@{tw}12eoE&7)<~()Xm!$9-+Uj7ym%^QvlVmzR~LN#J5i7HV5t zQ9#Mf1L3B8`-524goq``1@GrdTlK Dh2VND)K|0l~1>Mht;KsC=VG&-bn^0Pn*85U8I4g;FdmAz=+P z#GglsKLdNmM~#h**y=4-ye2hb6r+FI#bqp)vI3kHGBYzB;v7LBMJ}tnhT)Sh0j?FI ztIO}lW&*!7NNo=oNMM)}^n(B)5IsHL8E9=p!p?@@c*_#CO;tmK38JVBeA~d(2GD)$ z7dS|{DVrK@9eTb~PEipJ=t@J@fD@a?uL6*j2M-?n^1e+!FE4LwY%C`~e gcsS0xrW&h k1`~+A$Nr~}s?Fksl1mD|wjRNNcQJ>pm4hYqq<8ZF0RG!MmjD0& literal 22655 zcma&O1yokuw>AFI(n?5!N~0j%WzZecUDDlM(xG&Nba!`$fOI!VcZ1Y_KkxgycZ~n| z?zrDK97FMp^PFd&wbz%b6**MQm8t7_i#(EFqpU{x` _h%ti>O4D;y=sMb^7Ol z;AcmX|GreYVndg_)$+u@&tdiZ;<9ALGqgk2*=}QGx^#1>!H$>1BB|ul3-DrRlX3Lw z&WANK%pM+(_qWxiQ* -;1kqQv;XjEibG05#hV#Sfb TklQ|ME$0aTZ*u!Y6jBIXy;SQQ1VUXzEXN%on5_aE+MbCPjyn;-md!=nqOP}1o zEi2zDDuV>IIE3P9d!>4I1+utoN&ZgZ`KtOmwn#aV+3e+mNSMx1=QsTDUUzpV=+52c z))<|x_n?vTCbYK;)> w?) zHaIxgerGv#;_C>rWA`&O@v+{K$hI==?JI$&(W{? z( zDU$y$&DY;46_Py0qp#HJETx_vA5^Q2U;O;}Q?>N&cPh_kVd3#gLy6Ygtz-?WuFL(I z)6>(n&3NrC@j^rfUG1}bTQ5hAdi!80ZTAmZi0HG|3s$PqZY)#*GF@G#S7(`Cf)KN| z$0Yr}$g1mh7!8S7z1u)C*wHp8t6rI;&lgig_-KgB9_LcMkpyspb)}lY_ZJG8Wm-7_ zbsP)~42tJxnHqDI?#-sS6?K-UV}WGrtE=s+j}KfR0E5b<-8G7|yo*b>>(Mfd_-J9o z%>D`k0t}#VGwZpWj);H!_(9BN>;Lz1A8r+VuIadSunSWFt-Wf5e~>(q_v1>dhiaoe zZAV838X;?t4;&KKix(Zc6M5hrVRWtz<|Na23A`N-=f|2|&e3=TQn~B`Fa_?v 31&R4it2qG#WpjYL`=LTC zO07_lwy4hpyB`3f+M}bb?JsMBqoX5@yZ!e?+qD)e($N9vbM=O(EKlcTohxpU4Q0)~ z$whA?5^gz{;TBtAIjCd8NIoa9i?~0JwuuerH3^|kor2B01XMO$SHxyizX6K5j z^9B;NGqC2kw& fgVA*EcmOWPT1_L`eIFMJc{|cqlcT#5PxF zwc;_=7}9Kb4kMu{9!K$a@5^t^dPw_~W)o)|71NODNFeEYQ#cWQ{L1ygip(_(+|BlH z5)2Z4$pxj7osHv2uuikKTg0p}<1gP+V`AV1Bf$sqQh96~9dkXG8WoFWeOkK$&(BLW zZ=Cjf>xejPS4Uq%z<20O*+>AWrjdr$l)F1`UnE(c=fmGgfZTIcU(b)4j<-x*&bLRX zU%!U&=2&r$ru$N;^6Oc WM20+D+{&{e;r=FQxWV6 zKzG>)=fGz(#gUVf1N*tz8c%-~Af+a+P^4YQ;F-!jR l`s?qLX^Ho8;KvGb;S=jNPgawaw1ioe`zD7hIX}cORP@b0bfSFl zw2|hUH^Nyzen#?kPEx03-1=dzD`X*3OQ-5xl 2w+>X* z*sZi6$01NW@)D0{7^Y5l@63wi7taxo4T^}!1wq(VQ>rS`>j_aT(@K@k5r2V)*Ee5d z#?tJ&x4%DFX*hUuciaXo%NEy5y$)XlG3YO;8^aPRr&8D_P`-7$Cd)=7o_V!cZ=ca7-_Z0t|p z&NgjqY{WPYt=gU 89>Op>6?5C{;qbGW%D$eWd{}t8?-~<$%y6wSRV-Bu27v($ zNF+2@N=#gQeRZwN+08|+Ku-vwr>7sx?Sl1QMuxXYv0^@ApTpAn;KoKgmQILGM&_~A zGZpc2&+u64X78=@0h1#8vKc_8H)RM&Nc$NXP_#|Wx; K~gH Kp7Wd8hOC4Q4*M?+qwWg+P&j&bcYj{r*syVO8X0qo`tkky^XloY z&aSSR#p_Q0Sa&ITgs5zk*Z$=Ni&O=-^ps*!9xiQ+Q50-Xv&~drpk%E_rbMlV`H+|% ze)fY@A=us5A?bbtPQEyASjPV$5YJv8L{Jn!`N{LnBhmlmlJu3^^;c${Qs^@d)SaC< z*Vfi*F+K$m4@gHfV&liH_$)?B`F)){*XH5)HEjcZ;FYkM#Z2ExwX5@!((xTCJ<1f5 zrdi9xG}AL4R?n7FCeP@{o`3ILf852rFBItQ1Akq3d(T#YC=6@i$FVbCiy;JkQbV4y z9Feh~&suGS(5%*)j67~6?5})$-F;aoldvHR3xiiYtI));`^GIs(x%D*vj^9Yrv^Sr zbJ0unq^<2GiJdI`#=KOPx}aV371Ql8_lK4Jm$hiZ|2#ZPAd6C#`c@Yf!}eQs{o7`- z!fBLY{C3*gMEGd2)=?;={WLIu|Ni~Hp8!9P?N`7HWTLm#Vy3H9^Keu0e4A)tsVpLR z^A=dp@RFCv(Fp7E$K{ C(?G0V@51#b#7blYE z=CI?mjVf ;Lsm?bQ}r qnNP$$f8)*ks}Ch{RwW3IE7EZDOHtRH}L(?v9c?V@G=IP7q*h`vnWoUJz-EM zrgeUUzejyXqsxJ!8C8fLrbs2JDwQQ!Pr)^om!bF1A{b&a$dcUH=n`ea7`{9EYtkx; z?d7A-!|jB3z8*xzrOA$O0}s`mVI{9*(rANwo*~df{sf10l`V_DFFTK*@DY|o!Rx2g zsHVxXY{;|{b~1B`6_m;Q^U2;L4HucDErsg6Od=~zbNKz2uJE}dwRJQpw`cTpZNw+& zwqMJX3GT i1ODa|6bR1M5_N0zAFw%@8GlQqC4>ax9DhwJYls4d+j6It=nn6x?Z>l z{i|GXUNR8y&Y&m6-(Sn>V4dKckd$McNO@Xl7C!Cgs0t4>qbvMD5R(Tf@=W(Q2{zQ{ zkf2$Kz&P!`j^l)P6zdrrv3GdFd1}GHge1c6Jk?(HglJ_i!A--}H`o6WNqn~Oh;UDE zN-!cmfmKW^^sk=VN$g<@_WbdZ8z>WjIW^fzM0AHAf{%ccfipaM>uR&|pAWVW_;INc z!#6);MSKa%G?#GwN=N*WhlivP66HMtBcKD3#p6V5j(_+rq!mr^4+uGaD$^0Wn`iA< zM15l4iW^H2Z61042>+Y1tm)o^L1Gc (tW8KU9)<=Pl!%+HO45CAw5L)EjgR zUktf|%VDZ3jQH($8LScY?_;lMFm9e3!ww;m!g#huZZ5$vKvv)`Cz{#u&Y!^~dvg!$ zH(8VIW4Q<(aZ*C})~$~IR=WXB>kj6I@Ai1AJwUOHz^Am`VaTB{oN=Zu_i*V6k&*nk z6W8U#e{I4Hi}R7%nSggFLGz=2VcUkcc2$FhuD)%9HZ+4i&XWAQ^4I=LKmJ|Qe_zs- z`8aw| ^lB>87PzT@QN)Q*7rcF3tU+5gDv#O%5 ZG?05{?KP#k^i2LIv*fX}=;)aZgIdXjoq<_fw@88|EBkR2+;@;^3xpCW? z_Mg^&y#K-o;j)3 dPzdv`bpO*pYMnM8{_4=~krg?P$x=go~?0@_3|0P-j)f &|OmUtdOiiuWTy>FMcH`tRSr2ijQ}EZhQT>>-)Uj!Lu9{wLsY zk_n6*XU*~`WMpK}8-SWL$N%}@y7mq41~3--NKFk5 npe1CghAfJPhB^+Mq`nX`#W(aiXP$CO;-ypBc z83pRgcRFL4LM}LlYw|d?Udzoc#oBHB6Ek&|OG(FlzbE_dQu@U#Wi?t(I#HcnT$pUu zKNoEa+#Rq0nbOnw4fWjK18}Mhfu~!U02fW^O|huI=OY5x#Ke+CN+qLec3VRPTJEPp z(kYxaBjIg;H8nXJ@}|s|sMpOl*il0;FfbHLHMsgtfin<6%J&QPeRF$*-L~_?<&0ge zO;7jJ ZKVz1mJpzYq9b7!gNAP|!0#4P*Bcj-0px zF-S7CT3o?mRV`Lhd7NgezGA|_z<}3EOXG9f;_l7dJ6Y?hZ)jk0y)cGYF4lK|*O+T| zVR5@U0CM&95-$*;-2(%=t z=!>)ii?SclZnO_37m4^|ng}TH!Ajec=clTIvbIM;U`u3t@U!K$lAC>G&}>{iv>;Wx z17cR^d~0|pnPcRvQJ!u^U(};{Bsk>{V%67?tsf$!wDK+MRU2TL-F Js|6V(ef(;d& zkX2{4TvsXb;r{;S;d;dcq)6lL`Fb5Rfqulq#FS95W#NN>iG{wTulIc5-uxBYbnN{3 z)cRsaE-EU@Ha7bug2jCGPpM>f$YQfgw6@p7)Si>!h;0;+`_sd9HE@t-DGR=-w$`k0 z7>|0-&Z=NxVFiH#+L7HSq5$SVBDh19^mwi+5ExGZm}I}>wLKFpUA!JH@s=7Ls(4#% zHV~_fhBIZ-`2kb^HW>f@D`Ds~Fhe3#J^dj_7{ogFH>WpucPyUw&P6P1Bs`8MJ6VzA zO-@$ObhKP*G<2b7XOF|vcK-otj>+ZB;CBjFbQMSLbCb~w80gnP%%+QV!F#&{i4Kp5 z2)lL7NI~KM_;7c=S5#&T#4P0R#jgIX0396)qxP>vRuim;yX) GJT6}NAz>P|d&BJZk`B@3W@ZE12@-ewSx^wNJ(9j1Or54Pkt-EO%9qp?h wMq5LP2g@xB zXGvqm2B3W4k&sv{=2?quKK6wZ^-UEi(?`w}tA6?nY?>M%#a>`xeFOlzP;0TV-V@4u zy=Vt8(Wk8S?=R-`=_F8{&=mpGtys;Dc_9~E4>@kViwGy;IJ;V~TCw9&weXUQo2z&a zz!`J|{>K}A=uWw$*I6v|_WvL!U^WQabo xp?UW~!(61~^q&HXFU1JUm~W#h%)I;53>X(Y@QA9+QE)Jl cZ)Gd9#nqtNMPa)x#|_D~kXa5WqV8sa|IZaB=VgBzot_NF?wK6@Gq1cszc3 zj6^_v3E6_Lv)ld+kn9CMeh_dwNnQJ+WS#b>!y6s;)jS0i@}z6bl>r=bdi-Sth0&wK zI0`&%-Uq>h9+08~%Gw@6V4X1a)@!i9&TBsZ&BF>>CdlH60tIS1< $d^SRChCVk_XQW9vh zN@0b0r`?+JHQgf)p!~-1@d)r1&A9AFKqXMUdxu6%O-;yQiPjFRI0ArN; +YW!Rzf>`%pwxZg6E^4hS5L%6{mwQ5>)j99{ z40OIf?SpxSjQpCJISLfTM7@nZB06FBbcs4WQ;Aj!p@4uuqvK&nWF)4KkB<^HO=5|J zS$KLn*-V-CSMX4%odEDgeXD84HMEh>?TQf;Be&y0P+Ob8ix)54|L*2NB$HT!ty*sp zy}Z1DZQKRAF#S2-?Vspk^|}ZE toVOCc-T*IaXCe=Cb1?qv&Bgzx{(v$Yu(k zz$4iFaJ3MZs;Bl=sknV=Di%ZzZWN3m0O-ot+p|s;et{c87W?&qiGd-ayqvK&f@E+; z+iMuG1n27|CjtRaUI^$e 259k0r*aRa@hzPF1#E>AFfB^)7@h8*7f>hz`$oW6 z=cokA>2RS=efb*1Lax$4Y}x%>3T&10ZcaSpeEUn5Fgi$uKDXl*5gnaZ@0(9xby^js zfm>&lD9|(r-IhqctAw10LaUWl;P@?>-a+3JP$d{U)CD4|X5jFlLUB4rB7Q6MeQWtW zjYKS+As5$No0kCaaDjDa6GJ2C3&uL@>+7)J4JBJ!TV1Z^W;+4Novk*(*5R*ca=oMj z7?Wc XzMN{xfhOcV;Wd)y#w=hzCI9qc2GXHMb4` z4s`msv(3Tin3&Hsrc<2%|H;AD-zq>{;sG1NXI!zM&9P)>V)}tj#LftYOIJrr5&$(= zG?hV4bJ}g80f@3coR8)A_ F;Y!Gy4;elF^0~8cYG6J)*$U(jX@FBbo z+XVeI@9Rh!@BK+vv06>Y3v%JnBIWn@4-Zhk9`xTn9maA{TAnv+NFX{02?BNf{i3Aq zCmoV?1?F>=P-FuQuu!Sw7l=QzrgSXb7v`nM%y&il+B2n^Vv>@7+MXWXgXLw}ZvLva zT1mTJc8dhaE#Ks5k;H1EXYv_f&DX>E8dkGuGzgeWK(pfwIr&7%HOQYe(0I2&&oH>y z8N0ujkWsoz4}%gdFi60$va*tB3jy`bWIoHNp`nqlRHD`>4_GLoT#f0Mm-K4gfTEA= zjAbFCqu01U_H=;OX p>8!>7OW zx{ewzjLnpYXW)Ifm@qD3NqGc24qjmStR7gayT7}~r?YEKCIYsGlkINL3;`?`Xf!Z` z$9xtNvH|ch*a&ibXSs!kpP&Ec@89tp3B18WAxskP&mTYfPN~iU21L*Er}HS)X}N+z z8!*c(Ficd+Vu5NtFoA$ 8KG}u zZ=VgeEv`?Tc2E?<>;4o8fSb~tPcj%e)r1*VOPLtfq!ib-(G2d*&eWJG14V5hCJRF5 z2c)LM{&Wqm^zhQsQdEZTt+Rl`o?_9)15~9WBX 9=Ja}G9s z!g=Vy&gf4#Xk-A2ywhxq0rj6iC6!bTs^*Pd*oe60buiSY2MRN8glx3~iLAPfq6W;( z!9a#`VrGIWrN9XTs4NO9Dm7Qcm3kXL05D(Yvqr%( STcec=oqMmakZ(q`v{PwXw6SqR YGgL$aLEHgGpT<*#xPU_yZH{XLm;-o; zG&VMN5851%hCr#^_z8u+G$c^a-99`_-LxX?x1an5faql2tn38|$uJn%(dV#J%cNxk zDh1_l(7q3Za8A=jTqjr>kb~L#obgk#oM2C(1F~ppnPodoKqvKj!w3$*i3O0r6BYU* z(&_xEMVBvMf)W@h=iLRmRh*+*MVOo|hE}0hzW2wQ&5FRlz$q(&A%`$9fCQ9N6&>~2 zmci)2Krq-uxaqzikS|+0MML6o?@YKxbL0MUMx~BXSE~JnYW4rX-roGf!40rW>fNqO zb2 P*4;ANp5`(X@J5SQaY!saCqB!h3y0-m2IxGCtsX>x4FZ`&U!q9negXq_s8;-0 zWm5_!|4q9sL<^8pzQ9S<3OxjR_1bP7Mr$zmhO(k2$3uu6HC^-oyx{S23o;5yCTK!v zWc(>W&8l*H7~m?{C_x(uo0+h+H6uX8+G^eh(9%G}S#&$$K^1qOZuD_kuX=B`1b7KR znIATgqu?5Jb)c>d!H~ZB?x-oT^cu(>kSloF+AHs7YQBz;f`HXKpS}Uq nYMiU2Iz1yyM^9J8eiNt1}Sep$c^3QmOH*}tMP1Ps^|gvXc96qE7~U0`D$7* zF|oL$Rj@&o=5x$YjR4Y8R8+J)tcL)MEx}y#7brvsja;U`Ax+BuOj(u7`4+L2I=Bnu z4?~`GY9?rFlf|mhz%Md#Cg38c9S~I-95B5Lt!(DKA_y0jK&pws;4l$U*#*>uS~}$w zD{Bm(&hmNEB+EeVN#qUR{ixme5&~E;qkb>i-ef@+^mq}lCxGJDuH &$K&N;05eb#BUpMJ444wIMkQd~0AJuGabg=$ldqC*^YpmCzlWavkV;}*0|24) zX;!gFDIBU;U%dDrDT(H=H>nGhQ=HmpHMjjvI}iZCSwR5DgI50xL^oeft1Hz=(Xv(Q zFyyuZ;swnIDE9~IA};qnApswd59pv4s=EQ7TLm F$Mv F#|H;PfMcU4@VN6n-fR?WG(-Vq0#)$f+nj+{ z>T=Yuy#vB3@Nj_*aspIDGH?Xo3 =ju1 zghS57qs4SF0oa!{kmX<=4goTcn3(veVY#zVB$5=W*r1K}=m;Z09Tr41p=2#yLsQcQ z=-~uj7iM6UcXxNI>|M!gC38E_fp^~m;F$@$Unn`MZ){ZCYg=(U=7U;?pD_78w|PE5 z@Od2H0XL!U;F<^+GaD9mPEKC|RhI;ZQ$Q-)9?r9YaQB#%wK$Hrn1P=FllK9=7I2e( z`+vQSsfzb`8|ENc )pZkz%&s$I(r1V-TCo$dv~fRe$#XtP{IT*yIjNiHh>J< zrs+FdTfHJ=9^JqaNEGmb!dLlZ$<{afnF&8%-vGKCr92WN>bJla%>ZOgH9{i4W(#m0 zpfLQn9rm6>4+o&&g5LTXcrt*1TCaB_qanh9uz#Qx($F9V#t084?+FCZhWoR@_rThm zs{|d;$`;%QPRbOwDuO4MbF15e!y!;ISi=O)pKJjJ3q9xn5(yg{y9;!8V^B;~(ZS%g zvGMRkK=YrNngrYP92fT+$oRChv^mf8b`3LZQc`IZ6_wWT2x1(Zi-xkY +N^30A1?p z>hfEtvjS#CG(#LPixdFtNtlcS8U%eVt9W+t3cw;PE5}-BFu`z078 !<6exw|-O`T|-$>Z;6`%Dw(5?goin<7oCfKp3ms=TcHr zORy9fXGC&Hx0$I=p(rq{-e_+kv0vJu(|;z}3WzL0X&qye@}aH~y&qWbZfn2J #YtgGF`$-U)WWfiF(Ea12s9p<&$VCkwJCXq_PDG z2?@)=XwpQ$x6WTZJ)3EDC8Yr9a>*@$i}0q4s3H3ukHdIMG(6keZ*A1xV4C~-Kr0xF z@*VxuM}xqBXX*V;pfwIuxiyBa|7U>vOxFn|+X;G#031rgn>JmcDX9+ZFsKh7w^1un z@$+Mvj@hwa&|&PMq~PjRGCmPG7##_G`3R$S?){%LF$h`T#!b1!iP$(ZSgE36h{F;f zB6*)J(+Z_j1|N`VJVeaaW8S $m J&U&SQ%r&A(i4$y>`E!X1op+kUsYs+=?w#$F9G6DL z!q3?gkNGlvC~&CI#Z8E-J6}&(h)Ie`AM~4&fN?HK^uUG7vWT|(!6?tXmLeVx&zgOg zDo 3ofE)7acn z*Q$JDn4|4w`#_H-SA+9&GP^Gi_sfJ~$hqz)P5u1`PGrjm8JH1bOEpRkG1ICVN6Nt{ zB{dxvlB2ED$2lG~`9~uxt}ADU( ;g#WG#H<6ij=NXlos1g zn}gOVSqb5U?USOprC>w$X-Z+^$230LA;8Uyey)nCsYPzSNmQ@db1zZ+3Ky2>d3#1y z8zEwFP%%8e@B#bhnzVo0p4Gl{NOb$L1Eyg%eF%!6P)>d(+ZUe@!e50KY*EMw>2|Uq zPfe%~{JRB~c+RWeX0cXUq!CNFe}3^6+vP{ugX0+cDf%ur183U}?T%yb;-vEbO;xy409fR%mIN1`iFgU*jaao7Q zE?|3qCiob=W~|ilqhGF`UZFECSzBE!{F0tVe#hQ~T`w1@oTN|KXf~`|8 {?o>8ja!o$*@swI4igyQ k(5ga@aH53Fj`+p zy}}<}5Bu%PVwef{qrc<}N TVZjlKkM+ra@3hWCnz5Uec?h1?d6Veo=A&uD5^lzSzRBuTE7F@%r7rWYo9CGC z=%{9~mPwv4(N-TfT`@;^f=TiIoO3~s9fm$P R9V@d!4%fN;`?FS8i$9?j^o|8WORYi;=0(OEZ)6C#Lwhq1;4@@v2 z7P^{DA}I-p(f({m(J9g8a~ug6ydfn0XnAw(c?E|W3xl2s|KY!?tYtgJy`mg-hl$>z z$J)q=EFxm)ri5f1JUfKPI_|SDR}liEd$yKwFQ(T8QPFbYP^y*gGl;SK5Fh3rO||;e zX2qgRMW`&NW3gCY(6|;|I1~!ACfDfs_*y1B)rfmOD&wrs_Qd7z%|_A*`{m fJy@RNr;BSro0`EserVRHL!-GbdAv_lqEr^H8i6X#Sm=Q5yW5#SdW=bX z)&y5L4_14G6kJ}y>Xqw>#dk7UU!02`sAc~?WO%fqez76EXGH?R{^XN *g@7xIQKNGsun&{{C3 zU}JnhbCp$si80bT(;Q2msU}}fsLm@TrSwzd+ZVyc9?BivyJKT-&0nb7FneZ^X5y?7 zivM`58l@5nH{|=$8sYkCJh@y*nd*mZNkRcm1a}s<+j-)W`isZCIp4_9$9Jbo3xXz> z_~O^XMZN9xt8NJUHsXucZS?7bYQ!|>vsUz0TT<0R(G&%abk?DzLRfEctEn3DmpVSD zmO~uqs$6{8cYCRJvNDnbqy>>#^VrPg5T^-JZ*?2eL*D0G&{X>F_!^O~O73AG5t1Xe zex7)Fg2)ajtBBDy$2LA?8JReDE4lnc6I)9jB|H#NRZmMs9^@=nh-Ek$2OlrP z7_*VhX6kBwEbhCGmYHrb+piD77Lz}m1?Llg+M5_b%8cuY#}uaekD8%J|HP#2MZXZP z7U4LJ9*mX?iNhT!Jh$+sH`WjnQ^c+4-Vn1mvi4bSH^({jCNW-q
uXNaAZ#RbX~bj~(lyNzH1mER#)PLjwCDUK3x zBEJg>r#v|Sx%c~K`0rcR7O@8Tul&KN!6(WR7KGKQW5$&6YZekwlOJDMM_XEs+N;h> z&<`ClN11iI(g=~UV!~~D7twgim-l4cG7M=8ZEH^Uw8OjmlnBz|pbQhe+Y~A?@!bsy zPE5eW$&+>WCenTPYQz%$)#GJcyfT~L^!9-1N^T8uPK=W28cRF_pQiN~u9OeaC05Qe zVO10@=FJRa{Aq;&&f42Q1L%$27I0lSyl||-Rd8@tLKixkdx*iOEBi=Hrz~4 +QPVNmAXzd|66ndVXi2A=M kys}?q_?nAhHfZ$nE$5-SN=n#XTlt@ {Z!QtzUk*ht4jvW40qAl}v9t?$F4UgX4|6@RnmWXu^#qI{~>ovWT2n zYyvd1>*fZ7fgUl$tH*sC^*`E0StsNs5!rRt9U5TTACixE=f>ghCU`C2V|-O7-fMd< zytKhZ0$&JYtVA8(rjklQBV@)kH%#P1 KCmsCs>m>W zdDiGZodz*Z&5mizkG1`@|CDTVd&Wo h9No%nM4f!u}r>>h>;qpGn0@ zlWVAD;er%SLIWIxhdBn_3aZ#Ks;r}=m0XNK6(h}SDCv%tPmbv%q!_R|%86TyiX-sb z?T*_L1*-fBTggs`(drUZwxafIagL9d3{f>^H0D>CmyoJ;2>Uh$&iiI%`}BF6c*h5z zBVw1)qs#VK8aEkg*2PMOUGBhMh> qGm{(bT9lg(H8xgsZw^K;NoX>YN?a8CUSDQ2=J6BtMsVPDE0! Rto^?H zXs@|M|E=i1-8X@inTz%iu^twQtyr0=>o2o|%spMpc_;(e!L-CGDW0^*Jdd-bvPKws zrWLrqugZnYroTMJrrN&WF;5bujB+MUfUp0l;`d`F=udsgrz$5qLJmjAhyC|u1VEFC zJ=|kyYv(2G?4-xYTVjaUq`IDFR?DyC{ZY3#60u>;MDiHd8ppiXa#M0zpC=ZGH7LSI zjYdwcDVyd+2!k-dhK5tBR4&Tk4)S1AQWxO)w9vFjcPYQVQ^PCz+` ^Qs%UqF_#BDL{8ZGTo z&IQ`^p7?P@qOwC^qvZ*8#xJBuj|vU;#v!Tgx&4oOaU~no>Q9c9NeH}<1Gtx1T`0Q- zu`E_@F6eS DunlGpAdAgXpKE{`|)TR z8vbd}Nq5)_$oEMRS`r8^S@lZY?9^ e_w>bf@^2>|vm7_-mBJbZYq;64ffJ<@D|)Xgo1jh%fPM#^{`8HN(%E*l zCW6`-g#l*br&+%A$jHS{^<|9)`<#cro%b@FvFxaeI9J>7Z@d}*RPOT)6{uEan| a}&aYDqSBGwKZZq>1@ x^NP-fF-qkr?lV*&yML+92EJ$By!rzTyYlF wVg*~wZih5L^aY&i=X*ia``4>J8UpM)SZ6yA&PtQz{S>&!DgYI z5n%)t9mjks =Fk z9|R`@k%1i1OlP?G<>1^c__rSJ-WL1D%M}iWNyIzOag(~ecF3O&C?5NLM2e=&2xshT zgoL +k;o8_ibkLI5ALh#Cai=T>Lh9hGtC4{q*k%+fe=D5IJyQs3>R2MV7 zrwey6ZOv=YcI+!jwFDVLNb7bl+814=+42ziqJzE__seb0`&L|99QpGrSwa=aBqUew z=)?sh0Vzd1O M%3^_p&7nxU7oVv)g*Z`x)60NHNj7>T_);JIZWZK+ac3QS+8nZE` z% xyhw^oL@I`r1lY`XsHxeQ=BATIGR01L29vx(tHr-4~s{08@;F2sg|`?E%pp zIB$V-hN<#-oq#?5K6-|a?7XBd9TGNRlLk{5?a*SfM{)V}QOehhqVM`uId$mGB%dDM zHPq;f%ArL+L0VLZN9;CZFMB3iQ5(UcE!B?KqhKs7AI78l;N^BrN^0mqX?^duoG1nh z|55%mg@5Q`TJ5N9p1j;=WE!z){wBd1P27ee+!Al&x+N*6l3&BIp?IBACN*#CYhx)E z M&5X*BmQ>yX&xZ`l&vdz2uYOJvYneciIy_E1vjcPzODE OrS|`o=w{G#?mcFLGlw(Mr9QK$AhI$G zDQna(OtYu_QlOU5*iqfGW0>!=7AF+KRE^a7*;(cl66V~R^M08y<~Snt1`{u0_v_+Z z-)&W~=#|&6NmA&suvhScxKRDZmyY(0*lt~mKRuY#n&29qzPduujjBM>(!EUvslBKyC)j0n6szj9 Pjmw_A+C`$EhNE zerlEyvC4hq&gmd_+Nd4zU}^%RJ#`j&TVF$M=>Xjv{v~AOZ%f@#yZAxUjP1clgT-vP z;$30zu_Rkx(#5vE{wT$l0@uc0v(uh$VsvNc|Mb>snN}tRJZL$=q9)l!Po?<#d%gHk zhv3QFb@=E}zF{IeBS*5=jh@?9ar}G{)txo~Ej|#TEL+^BT)!!9)5D2MDM$=XzFSMx z+(@S`Xn^^ $yxpSud|!KQL$ zmbUg~sa304KZM6Mo~zvB6@8CBZawOPo3!gUSBG~Bvqh!vb*a-y+pd-1%}@Et@HxX% zpIsve!#=r$-!!vzm+pN4I|OU45ofYpUXSn^-R&DW2B%NC(5t?;2JFGKtnnPGB*H3! z1cNv9x-*LM(Ok&LWkLOX&b$vsX`FHjNOrTPdv`x`^N9BQb>vT&QP+%oQnge@nW8u* z0>%2DqH3zO!SNTZhlP*?$-GUEukOnky$La_@I0?eh-De^XHiowJp`ULo#wN k;qsuaO!{J_?VgN7 }cVu5!}uvXbj=GuJz=1K3jK-{chj6f2Yu-)Tk9{Wi!r zt4#PE(H)QTeR)YCt4=n~q;=9LYa$V&WIH2zJ wyeaS?yXR>^|Jf^q&`q1@uYEwbXqbu z#+|prh2w;pzF`&nLKjpzo6JVgwDXAn-A~uTKQKkM^hZ h;jJ!`(kx&`sEwQK~yS%+$LGO8<%JB)|l4fXk~FtD%Ga-DQJ%75Y#3T@E?M3 zu}q$+(F#kVjDA_o_PIP#qTCo?A$ob1gCx#|C?y|@@ u~Ear({pFELZ?qbTPg>Gjc-XM&}!Xrm8l|G m0lC^BERFXibb{DuSlu_@o)Koc2XDLYy$}17rY7U zW*8E9dx8g-_@=qZJlkIcd*uHs GlFtsGX d(s5d^7$ZAW>iP{3e bt1oZg%H5I5T5gXf&qq<};8$cIVYbuOy{?7LXUB)@eY|PO zkLzBkk8(SsQcJuf2kW%UI8v<{a5UosdYe_Hdi+Uh#ucrZt4Cvu{2S|-RdPMf#xLJI z=aeZdd@jiX(F3D0NXK`y;oO#M?Qz&sNnQNzE4tl|I8&ICI-C~`(x&K00AixL;{F5& z$0@s$+x72K*|M0uW#YC@_nZi- 4tW~jg0p~G@fvDh57wM zm7%PXT({A(guY5Y@yZbVt$}YKkpyN<9w_5$V(*NRf@SPt Cp~Hxl6tCUVrwVC+#yGu7#sVuY#& |% z8xz$j#?wCjEXnNvUV4Wbm9AhJnAz?fInoi5@9SBsXVA|)M{T9})-~Q*KI ~1Tssh1i;nhduG}V76LrRw@ndc?T%bx) zBZZRQ-7L{EG*%jU)cTU{9mSIeoWkt7^rj3%B#&7=XsTYL1}9|L(ofSPxvP$gTjsJm zZ)*hyg$*Q+njwdCK@ s77fQofgU1v&m6rDJuTIc&xeq0fYVqHkM zq`S&3Zi$r>F@VFkg>O%i8>n|uipWKeUE =)?+R_vp@;4f?53)*TP@+-n zSPp#Z@Z|gVI+QD@mxsUd@{FT+S-H`~g87k5DyN+kg4vV5J&RLzGyRnwB}^B!zjW?f z%sw(&9fS-`{OMU1d$EyX$VRZ&V{~Vt9&s&~ItGI?C!FXvQTBOMNYhVdE_vUsYBo4? zOv&5|Af^k^n@e?!xjq#YO0U v!(b2aGWmpL9X_}QO5DxR6@x6?BU3V;0-Xn0aHe^88wmuEOS!(62o zu6WEGXh_J|ay={Rxhwf8PE_9V17SKe8&<_oAN*?KO94-Hr0IiwXpv->&ULOceZt_X zj`Lj +|0!wSb8i@O*wUl$N^wIs{6N z2I_Dy{8D?2lCHkKhOBbzH3|=GmEMQ} >L|M+MY zk;SnLkT9cJQ!rt^*-%D_v{~Nb$c`=j_{%|Ss|3N^lkZoaq7kCf$s1DnZE?_#Jwtv} zptd_rE@Xug39i!j&c+zXj7YjUn+G)nFnYK4oSkuEUx#h4G94RtR8WHd^E;qfMSDT% zGKrK+c<5qsm#l2!;P{7Sl}?yPkDilGHl3VYfiJnYWoTUYvv#uJs6?qdkKR^J`Q>#9 z`_Rj8ag<03OF5bS9JIFAd!xo)B}h!-arI7*>^Xi!go!S&F9hH)8l8^N5t*}EYgZhR zp1&~sd(u23D|!8j*k+ShPZf#e%@`7TXIFXXMwQ{h)i@E %xeYFj!#J^!&|4 89dP)n+e*+9yLZuuZrhe`GVWk?FoOx1U{%e)iw4&5hstuEoU=CwR*8$s@@nm!Kb{ zh(L_0uuFY}JnsHz_p`#r{ScGs3^IE39Mo_OuLm_$ByzqgpQepiN3hK};7TL1`LNe4 z ~YiK_GLBuA*M44hO5mLW4V?7=e=Pb*=&hk*2cp$R0ixF0ptLrT_-hOr? z=k9qSZ22%;X~!J %oYJ0 g zocxNnVx9iIa`$7E%yKtydZ;xIeFrv}K;3>{#@{mHnb^K8-igJT?FyGp#a%ONWZ^4g z@Q^e_oFz3|rbdiVyl^}*HD=qXhf=4ge{K_(*5?)x5B@P&3hJ JE{EY=Wkxd!|_(@*=otv@1uw)7zl#`6oyfu!-~?D z!SLrJtvl)o2da(EfS!sH!sp1r3c5 T6%zhQRWFpiI zRH%Tsf7ZFQxU^ISc%L9!4}keXbm7)DE{e)pQ+rFu))UtvGWr-2ECaddMO)i-B+6wf zx4OPQ1E5#Kzk>kz0k9&$a1x0fNOg4s1HT{%03+%JLe=j=sc59aNoamj2EJ=kIY388 zKeG|g-PhMXKM=ABvM<$L6O4^M`RP+*0s)RKPdC1{cOMXDDXFQDu5#E1;4wN_tZ @VNNHhYv;7)t>?lD$skj0|6+6zy97?a|SYR8LTT;u~k!m z+|G2EI?!y6s&Y{Pl|coAJTEQnFhhw*IAjE?;-O~_jgO8L7uQ3jeg(?kN$ GeVW0&i_hyC9+kNLL}w66jXv0Icf(=y}tn$p)e{fC9we@Ys};6N$n# zuPXp4%oi@_(8+!3l=+W9P9f#@5DEiKEt-RO@W2-V_!J=6)Fr^Os$oD86w<|#NOKXa z!W!D&2J?>s?R0sOr5pG-U^Yd>t^@ytv066)faEy?ko4F0;kfE*c?iyL2Xw}V=UUq@ z2L=bxxq)9#XB(XZI^u!`Gk^%u14qiPMQ_vKTnHR*7x|kE@OQ>fz#t$u=zF2=@3&Cf zfzC8&`V=zx{zEmlhRW7LG@wL^5>2NfS t8$Z8KKZWdzxfq@MKIChUjL%^0B{G`-~JIiHV^0y$K{dI zbcyQW!c|p~(A_gYliIkl0gUWMzc(S_yfRj)U@V$LfMS6JvH(N{p#w;8;! X&h7_F@WAhduOG(7&H~{+ ^ii(PW zW-Q=p06Aq^I_=`+wJ`xuM4{WuBFSjva8%j9^}Bbj+T40?1w=HVOR5G~nSfuk-KIS* zcNwdc083r6e+@9cKv-YVxoHCOTm0h1)uJvkT59Ny;s5Of|D!ql|Cbt!!7cV6r800s zz&&_QMzceO&Q8}?iCqtBc8L_aaUL{Ty*Cawp`P<^ zmxe*l$}w_*SQ diff --git a/docs/irlba_8hpp__incl.png b/docs/irlba_8hpp__incl.png index ed9c41cd8e61ccca2b9ff8206775f3383213445c..6b46c75f62a9f152ce11ef6c8c461369989733f4 100644 GIT binary patch literal 43699 zcmZ^KWmr{R7cCr8K)PGHQ@XpGLr4n<2-4l%-5{OPol=4{(k;^6-EsGMzk7e)#|OmY zX79CTj5*evV@Iee%e+S-M1q2XdM_s{sSX7N1A>BrmP3RGKB4Q#6bAl+|EwS*3H1i~ zlh;|A1O-J7B_}DS>7I4`&%;}D=jQ%mqAe+gi>bihKagS_q~(ym2|~*7pDl)OLJUzv zl!fzaX8HE*Tchuhc-5!M&$1vo+;=(^zs%rOMb)tFO)#+4v~*#0do#^XA6^pTLG?78 z8BBXGo=r-ZD^G$JUo0Ib8Uon|@J*xtf8V}>BAlUs3lv>AocAYR6JmcoPqaF0)l-rL zvCn}ui(uG*|18JC$iO_nA2VUXU@OT2z5$;ptNm^MW;I i<42WdalWe~ _xEAC`su@AsqGOK|HYdw`|AD~ygt;kI3IpRH#%9jG-O zjIFP6J6+K|buCf)u2pstQjTh>xUEBB4BQ}C?d9?2!d*~?`DypN9UT)B(^LD8A3yZJ z9j~+{{rl;r{mCnAUVDl^nmxhvZx|u)a1-Z261U*a7}l=)z$n(P*6C%=fmxJPM2JmH zl2cMb7LJO|M^mE-I76Xf;L#Cb_gC7kRI2|>Ojz6=FWLNUj=4Sg>-2K7u*Hk|@bEB} z#g}x}{g%V;a%g{0oaQ)8otFHs#rwfgU0t1_s#D_R-_JBYr`=lfQQYO`ZwjA3Q^anu zeHp{Y#KOuD^5T|~k^;;ekR#+pK{3e8IiN}UozM)juPMNMOWl4VsvId_dV}9V{T>{A z+g`4$WFqAHDw)P&kS^fHf<>zgYka&|XS33pVEeCqs@=tUAckl#lgk=vvBi!|O-=3h z@86p8UNV^ d=o!|vAnx+_oWOa~q3buFff74UY)GWx7*I$e7?Oci(P zFd#lE!88E&qVM+4MTYrku0mT^7jUn~aou3+&AeXQ^W|vUasB8I?HW=jWIPtLnG&Te zpW7uSgZAVomi8ah%L3}+;-EAGR|2S`g&K>i-9P5$K9AS=785z ;~xO~fAf9B{?`>(kj%rx%aN z>%Hlci$W^XhIaQOxVXu!Xue7>&4&aFOM{!xq4Du(wyZCeSua-a3vk<%!T*A;Y2IJ| z+hUJ|ety`aGR6%!T*ES4U7K8sm~acTRGcK(U4PSk&kg76)jD=g;Zlp8(bB>% UgHi>TcQ9Cv^wrZ(z zHdZQuDMJ`F2$CzsMK&=JcH*YAvRj|i26#VW7T1ZIf(a= z)kGvvlE=AZwnUlrGsru9M+tgSA4$5*G=W`b%y}Z1%TyCT *U0Jw+Wc=ax8>w|(V@uQic>^nWbfG>78%(Dfkl?X ze{QaY czN-JI@J+2k6#cpT;#T{yLw=reyus5^ou4=wpM4{*hK5EHRq!M- ze30Pvqy!L$s`~n4|J>G;MpK!sR$AH7M4s7Pj^>MjxP>Hu+p0$x5W8Df4?xlY36@5p z?|S#oEw}dd@#g3%OyoHrJslqj2??LuMrR4J_hKZPJ*DsVfMWn3iyOwV$)s|!7eiUQ zxQ+iK9xq98aqmG70f?FI;c=3WslP|d7`a#4VJV*)?OZ@|F`q?%nEpYxHk|~sf1IEF z*u5_7_}!hgypqyf^S8eMfF&ih`~Jz~`e?VB)!NFdRrRS~*CJcW*?IU!Z~j`%r>02P zljVfm+zB9QEvE{kmV)Yz+94^pxTvEnaPm=qVdv?rd(h=yF4OvZ3oqtRjmAgwRieWk zuark`7lUN);DfS!9}l7lxyqR`7TcU?fh))v%8TAE+|6mNpKebo4LdWhubsV8*-Nr) zAYK|P(@2?x`V%zyDOro55q=r5(J?=zCqw=6+z3Hl;0O+92LZ!Zb&;u7cf%UY&3_Jq zs)x-T5mrU8a0Np_IJJOJ5hnbDtX=eW=nT#G-w!oPLN0#q-@hD)KQ(;?-*yge =MDf7?sXwhyGuL$#d }G)HQcl~56HV$G;#&X+%#Bu?cM|9S4e zj4Uhm_WibrbRxuZqMu)-`q)#`Xka929jD5%Cb5KEDXkmR$AR5VcQj{`?YUU%B|ubi zo7NlNg|D&m{4n9iqMgBBa`|5o;96W?BE&Q3;j4BO78d|7^N9 JG4`B84CNcKOCv!lVZBXJE zwbI00YC8(aJac^vG7lwSl%sDWvFro0!jMv-$d$mYSJ<^CBjD0HiNlYiPd@1oG$|L! z=Z-l8AAp0D3$w&f=^O%PSJFvZ1xHd4bh8hnm-j<}s4Oti!cxKE0L2-aKgxdU5yZd# z0p1>No}v W}AVj-L*w ziO^G9S