o=QIM7K-NN{7&`KAev@q2qEbq+m)&4<4{hW*xk%^v(<4VUSp3}WS~_pCCMNAnk<
z9tM>Flpu;tzCZEhV%w7Y>4B;7?Ew4myGC>a8_z8dBWGtVX_3=mD%&R)YrX>472os@
z3>dH|ht5+z?3H5r>$L3Fe5+Im%_qGkj<6x}6eZro^Z046cf8{;gt8;!qOfNSAc)ba){@r$QdHFf-yWO>b
z)^xt-1jN-@w|2U~rWw(uvB0HMbiPTS7|uS`*XMCjcj8L;`l0c(jE*UFCy=9UOt#J!
zqoG0l`R7KxDrhwN7SNG^QjnJBE!aH0id-XAiQv+*>KCzSH;M=uDnCmXUmrBo99L5V
z-cl2$I5g&-IqR*rj=uIMVwiizZfl|StnSYr<7ti&*%*a46b{|iXKA^)x#4cvkHo{S
z={)?AI6z^kH|ci5xznF=BEXeLX$}s624%{$Q3TlSxc7=>F3x?$F(`
zvv<@y1Z_FF?On9bH^ZMm>p`zL@HRL8(~))^?&w*Fv5AES!&;0c;EeZanDZ
zMEl&@@H2sr0+z^6V3T(?_VO}Rb9^y>b>rhlrm-lBCHBo+qxs3ed6n&vFGU{2nlZu|h9o#T33-&DT#$eFNN^wZHSL(c|Ff`{|+m*W-Vr
z7?%!z1|4je&6nt95@nYrgzuArWR9LoyM4(?vDkH(?St%_1;bz`s=l{Bmd>)^S(hqQ
zeShxIiLfgLABP=m&Go2Duc#H+;cjJE|CyenCz)7
zm~pW`=SP!VSAAo;N#=lOotpU={kqtyeJfV5W=8qB%9Y?!^|SaYl`>QT14BY!g#IZ_
z)@x8WRkyD~;yv3!!(qu*kGSp3xQ_!6?OyTu`j_k!X_VAA9^rvDoj}*#QvZC!_f}-Ho(jV4v!K6M2
z>9Q>8Ow-oZOkL+9DUHD0a20Q|X6V*ql5eoe$_33I^KbcqXSq8T+(j%Z6cE{DFfZ&Z
z@MiR(9yxN=!rG@R{b~{wQ0qm$PZg!WhWT$d&^c8sQ@jxb%DjClU>ny55j;u8LUDX7
zH`B0RxzKX17N?g8EFUEX@fPXc;QnvRWsrvQW+13EPh
zB^CrOceBb-&_;M3bi}qheo_(_74=rt(vm|Aw9S*ghC)lninNnr`ZRGd6~v(5#r6TR
z*B~E*+}l=!nTD+4b8U+E(T)D_&Z8MorGT>1Qp3{4Z)yekT=$Z+*Cs0V*c^XcvaHg9
z!sYMdb9d7fdUUbK6mb~sT$61}O!p+vI4sZ`^TV$)`
z7;IPvY$gF_>Upam9ZPH^nmIrM+rD4m_ABeZ&e}Gl3GbzO1d?(eXdXIgw5Wv_^+mD9
zRS<#RQT<4~zjk=v|1o^q#%!N&;9|xBZ!LV$41O6P-3!?|q2`T^aI#bmVC7|ea~TFH
z=~+6tiCLfpf&Neq7_(t)3k-)FTG5PXV=ey|O*4;IWSdbevNfe=b?R^rWt|RL$G^W-
z)z|T2*Dt`YklY=>wK)%7gmRTqgE+i=So?N!r~tSqML6!W!njeMVBIY3LkCgOMcG_p
zV>)2^+wfFB`I8bN;Asvcd3zvIwNfbFH9|lt=eN?aceI*3A26V-2Myul{&{V&wW6X)
zy^s(Nw2c@dm8{s1eBV1pY0Ekib{(YituW6N$33&v%Pg-B6S*7T3nA<8hc@*=0vWE@
zz6j09I}bK0!cHk!yx+jp5-+m^K;cn8p~b+@$?(=i^Pov0
z{?6Kj*xGwHU~nA1#sEG*qrHs055=>FFc`5+j0{7HH*h?<^a6*F7_ZuXgZIPWf^n)M
z`$P~Z^}6;AF8ut~O_*2Hk0<(k^(Pz1yRwIW7}<#Z%Bl
zw5S>M-KyLWjc5@>CSzT@lsY7Y^9NR5GZuA91B^J8cyG&y?j#Iiw9f|4C@&THaL?=!CvDmg%lF9a2jQlG
zSvEbvEI==EPwFC;KNe3*O8$mcWsEDf(9tquSYpObIaJ~m`mhd=39nfjUm3Sav6rsk
z5(LDe@k{_*{&C_i5E~tdDr6imPHD}?fSrXBE-mVObujxQnnQ#k>+a&k=(8oXDcoc+
zTA>FvdQXf|>+>-Hnr7WjK-O&TzL$pW&M8gb@kM^=CJZAhZqPtf;dO_WJ=DLv+;#b-
znHfVVb`L>N(`kqQO;}A)Y^~5Pbvkxm%=1Z6kOkwAS&fqjdK81{ewIN3qXpKFr>Bj<
z6gOLHL|~rZ!x`$s&t}PP#Uq$Q3VRL$I^Ie`6C-W>CC+x=DIBTozC^AGI752GsGCt>
z4LDZ^?Y|*>)gwcI*DXn9SBpza>#JuLT@`TcE@v`(q6siH%4OLFAFCnF?YR)GnAFjR
zl@yyS8uPDv)=bN?z6wJ>HH8>J4Q`y139L2_?Az?(_QdJftWd8Z1as2y
z&grYd-CuRAyS@jK#PaABIoaz|OB-w_r2!9uU^Sm#Vn02@A{BH~|EEj0NJUL!M*%d+
zIMQ-xNx1h)HB^x`1m}&(^
zO9y3D0q8H72wCf&n`6JpsZev&BI7KRYnmG_j>%qv_c172vJi1t75PxbN{vUShWL8Jtkl
zg`dpwJsNW8k2hh%DCmUs3iBb}8V1vVt78e4=%cFe`T*dCa`gGU8dUvxOJGohLT2w+o>1;X+^RUw{Xt
z6J6qLPyBl!3Py16eh8%rOhjXPCJER|HhHSU)eDG{TcSE&9OU40b1D>E&JQ$-uC|lB
zq!#5;M4AD%WS|c>DFc=|l%idqhPC&=@%9e{JQck6Z?feT515yRK3va15ZxMj4!IKL
z!do|I{fSWMIXicgWNh9kz|XJE`rbrgF!sVuNj-Atm2px@+6>GkUki2}KcK>ShX;e`;&1)KMS5?P&PFCFcUR>8ViA
zmPglRVB_22GO8=Gdk60nVum5snVX5fiMM*pPW`0?&
zI-kLVs&iCw&&d1@*DOjM(Gu51+QBa{Ja~f7F{_dx7i`|x9
zNOz7Y!Lr*}qd24vK)0iJN~_zOb=6fBONN1f)>Uf#NU_4mJ<
zutc}iZ0{#9kujKv9E0N5;FinlUL4iJTDQ~(@$IcUKI%EHPVNpgwa42
z?6Udj1i+LB0QYN6)$jTKO^rND#
zEDw5i;h@N6fOZgn-=9^qxU$`trzRlK#U1Ad9HjE
zOUL4RCf#6l!w_7AA|dP3e6=s5asOldZ^B=18v(Mwx6?p%%QD{%=
zdEXC7+Y{RPRruD|$HJNJttq^S#{E~5X96z)96+uXtUW0Xd02e`bV>1FPIQVLD)!#G
zK`+GG0w==jiuN&j&|&-V^(Tct0K%7f&Y26KKbEGm(A5%vDLjq=Cl2!>W&~*7>8|Mc
z5$@Y)@I_#AvOqfpEYYD5g&OiPI$B>i=%Pw56dBZt>xXbpBx$b5MtZ;u{bYVUX{y@|
zOd_=KzizeFcLmW?`*KM{bo^cd-nxm4=(w@RlJt<1YkaSBTQn*sKIg`EOD4RKqjD_m
zbRfnhC+zCOdIgYLC`m|&g8BLR!JczU>XpZH!UL4|M+mUVRxcFeXJhxw66sO*Voi#y
z1HN_n;;7Lu&F4`>-ccWyRUx;?q@C>fyOSey7Cg3R=_Vx=m1u2wxr{@$^W8UuRO)t9
zbCf52$bo?&T~ELHdEdUH&KJA<^#9k3$5(R4CKUF?XecMXk4ZKfGETDDVn=^GUSJe{r5c`wyZacL~pG9dxS66
zo;0!pxKKiJ57<%
z#H$@jN{{9)I=wt{ogL`4VjzyA^wxh;b-uKpS&p605Qblr<~ODWXEc5*EcAuDWxtHf
zyAyt^;o(F@GWJigJzZRdDZDDrJLLH7$G`augfgVa_E0K!vO<_I8otpJ+41Dv!AZHa
zQ-Cq=%FD!Fh*U(LM_UH=&NKNo{h8<5gmNjRWrkb(7VpvaMPMk$jggOJX9pi`Cg=9_
z*p!!%-^dkf>vaST^#8f)JH6YQb%1w_ZER%s1g2o;l{eakWfMpx=a=Y7jPK-6*vUSe
z3+DCtM<6)bc7{Y4{Z})97U-cRHF!?)$F0kNMXR#e7N(+3S)ibyXI0ofpL~OmJ3z^I
zC*SkQWjHCCSz78wU>p|l@;1
zakSO;w8vWw9vAa!zu#!B#2+#!lZpj$QFs*36wHfB8b5zL=y#Nas`WG69Opp$7;3=N
z;DC^<|B@>xne}MZ6^nE-GefPiM0d2==O@p0UF=}Y<%hZ@;%Tu@V1^m+sjCsOp5P?A
ze+tx*dpQ?c516veEgKhk5&d}pgIGzIX;x(Nz_nz4U(T0+rL@&S+mLzfl2C#*`QP_J
zjLa;ig?_8TO}vJ;ix+ZD1n#~dmf!g)hh7(D&Gp_sj>x(Ahg`*4#va_v^Q3Ip`ol^y-VJC9x<@wWm
zr6{zHrFtQRfZX^jLaix}w(B~JKL|WY_GQ+7{U
zF%xzZpf;jZZs3w-krEW@V`-l)oW*EGc9FSkQUfb{8Hu51aC?6^_GxzNY|EmK3((l_
z>!0$l0)ka{?nZyAQ(`>m{yZ=N_SIv(g|}AVfIhk7_JEA>nY@Vgzg(aablXNG6R3-s
z04Pdz{hG)!a=2eumW6~Z5BrUG3}$FqUR|5#?RmAGNANb#NMbMs=C!l)Ed|@Q1KyEP
zhcC5T^IjGA8o7cuvB8-Zy9DXJk@wcWbj@xGCWz;rJ>0Sw;FtiE0oIeT-|`jgpMCh*
zg%$jtDekMS$o_aL0uA6&tugFvd71}rAEtO_Lelac%OZfT7#lyGQpfK5OA~Bi9V^73
z*-`(Qx2h5Y+9QR7bW~#%1H6e0<#gFET){_~UA7myxYh*WZAG
zVB6g|!;NZWNusmS9adub=_jz7wB{#*vSR38mn8|nHV;JmlvW#6xf!xFvb-~U%cJRjALk?7w3DIxpTG@R|`>h50&KC8r)+!UV&AW%5XK262k7OkW-Vz9Pm
zpbtLm992Yn~S!PUe#pwU^95asp-E$Q*DY
ziR?f!FfgE9vxn!s0v7+%%j_v@=XM3Iw4c;S-iyCAJLqKY+Qr+B@W{T*1OfXgP`F+=
zw{AwM8wBvgjJc+vLyTO--}!O;!*mKJQ8}x?+#B`cD%M8#M(-%r#C$b7gEzWoxA}h|
ztn`(SApS;0FE)k4j-K|>!lC|s)lfad8eb2?_v0^Zu^hc8S}AJ?wtJJ(QzD9IlX8R@
z5xMDEPmu0hF{qL;hbIWB-zqGvotKK}kS(#({=pjgGawo4NUu1?gUS;mxTq^S$VVSq
z#DFZV%fw7nz&>sOn#j8Y`3zyMXPF+U^FiGk$yfd|_$%bJ3I^x|02JMC8c}W^Brx
zC3*wFO$~c_Dy15O>sB;{?)5jQ2_7nX?0B9I)4ll@1IdMtZwu4^Hid$nZ)L%$ZMgDN
zb4si;k+Y+?-H2#O-`xf
zV9$c;yeiC~^%qw=K5qe3V2!POhnteiY_pn{INYh{s-L5=6qT!g!O%T0xi9>EuUE>j7b7={fX=_wVg-yP
zbi>ir<>l6QXk$JOcx`-`7xK4Xb>=0WO$f3sd{8;o`APCDzpg4rWY&TaAQqrkhX%$O
zk#AIvPFLts|ljwwX76s=@n?1IuhS7WL(Cc^eW~z7Kv3Z4(ayam@O#s=h**
zRU?s3wgv`6_MOi!oiB3g!MCP*PeLg_yfnUjZ&Yepw64G1F@X6l1xV%Lp1%vCzr?!N
zYaIV*a`Ta$-}PkRexUe-tow_#)eDIEN-z5>>o+&Afw;NEXFZ39^BCH(s!)@%voYX2
zK$N0XF(XQr^xct=QJRYz!LnPPlzYC0fQeLmG4C`-xzlAXPG`r&-fWq?RvW_qOrpXGKTGf$gLzPhvI=AP`H4y!Kso82^
zx3xn<``Gu$vvER7j3PRGdzhLwFz^UScKGv#SSf6@>noH$pfI=GIA$i!NPHN{!9E
z*me;~2~BE2owj}+G8|!EDQI9>{HCG)p=9>g9$5xB$WVUw)PdkLJ_er~=FTfCZE#M~
zoMSgi%j9GcKV?0wBWv@0Y!j+dx1-)7PcxcJriRmYuPnbOUkClU3A~}Wy1KeJIe`oL
zB}Tn!#z3)qk9$yBuIymc@K%%fO3VEKjm+cZCRrs%LK5IG7W5TB4OIaCHXMmtg=b{e
zTIV+=m@a9Ka%iVQY|_j6k7CTXz+Tf54;EaAI;lYKfWu}CoRdKof*K5oL6^nH^?Gsb
zx+~H~C>WH^WhuGze8NQ&Bz~N{Sxg`HxvN9zO9J6nMaCOFf%#6m`pA
zHDh%R&2H_yrIdcGETY8<`VJKCh{0emBkosYkT_%gTs5+Fq5`>@XVNX1$j%@;JsGG0
zg{*FT<
z**qnY1uXr2dPpb3zkM+*OjC2k-C#TmylDze<8}7D6=80COzkLL!`Yy@Pmr0X^q&|%
zNeXpXez-RD4-8B*NB5m$nt_5uS-ipGV|f(CjKtfklQgY};4WS?PyN5&ze?cN<@`aE
zo^IyxZ4C$Y@CrES#u+3oM&Y_ce0AlR8e~tY`Z)hZyLBPo>oDCZ%3eRxz9O
zZ1R*&MJgto``-XElTM(crPTT5_rd=D%Es){x0d-yXNTv(C(VNmj?(crfx|uHSpzWA
z8`<>?z|~O`f(G3Y&z!jXh-_{7Ia(^|6=z^3V|AK
zU9Wf^uficy1<-mLy84{gL7{CAIhP)&HfYNY0q_XOfGMh;M?|;cGPDHnZ!UTx-Q03;
zcWMd2jRh90^FRqQU1PJUKW^W~SG|z3W76ZK;e@yWpfFq^f~&N*of>$2cwz46K4)@G
z3LO(Y`#-!ISzv&1+@@622r~qA;m*>Uke*HomGrm+om&rig{Td8n%Npf=|%bAgH8~>9)Y!ri@m|9((nhiQMt^F!===<@k
zX&z3QjxpRw#srG?a^+#7$o7T(t7O)3TJ51t!p2SnZ2X=owT`Pwy5f4fBkJ+2l~){eR}V
z$*o&Bmo@ykveL@MQVKFVqzGt9%}JUq4|ANaP$=AN(>`Us10Jx2#`!_dHiDMPeSuZ?
znWpSLKpFI}S1e>Vbht$WdNAr~uDIg27f+_v>@q>N5u>=6r)H
zOu7F`a5J+#f4fpee+&w}m3EV9D)%nT_l?@o)Z!LMDkk1Rk>OvmDN;pgjc6GAw
z;J6W-MKxu&MuHTCU2;}uUzdYC?BZ2k7Vg)ou?dw?>^8n&|f|+EgZ;~O%
z6T>x|(B#S{1|o!PICoS{N{kvO+!4`+pV_aD@M4q;?e((mG
z>1G{P&^XiOR&L!>A{yU+(UlqjaH!^zl9jp*cP~f8HGs^08;_FoZQJ>s${G7ZNXZeA
z=$FuvU&sgUC0f5h3?$X?;vY-9ch8P?+EI18KdS~KgWYZI4uUMfdEsW{vk8#inRonn
z#a|m29-rOY9Hm>V2)^){;q}alZ-stjaC2=fu#F($5c0`ial=!4cJXe0Zgt7Z_c}
z8F||8TYR7WfAREOH3ugp?vZw@o&&X;s3)PJnO#v`!XOKt9a`EY?~JBNkcfKoFXY7p
zcXTvE^}JLa6VAVeHr~=O>yq@WXR+a0?1LsK2n!qBRmkf1`opf9OxMl)j~2Xphr3fZ
z)mX)e+O&StQwgCUA>;bZa0ZkHZ|Afr>U)@v?wNt75M%_
zKGHTEWE~a%>bkic1=N}XPR4KW@l*9N;BlTnwvKeLQ)U6pZrRZ<^CJSO{7%Vra?FCn
zj6fiYB)thu%j^=xu;&SlSP8m%@Eg8ZQTfDiGKLdb)w2!X2GS1Tz*nsHf%dgk3J}MO
zDjzdSxfh|1h#x;X>_}v%deL!_%fD9{NWI?}+S%bWflNyO^}e)bri{tlPo>_XdT_g%
znVB8;WS}zf$w?7kzt^?e`E~|nStX91_7{~P5PhY9QTh%=^@6sv!Hd`T0BgUS+Y)IM
zsshzcwL1j%*Q^4!U9>MWo%m3HquhU@0|6S0+grsMY$mF
zTjP&Kn%w$1EHe#($t7g_
zSh~;k(1wdsrgRLD(jTg%7GFi-rb4qyPXv(g(3(;<3#0ncogO&;>;nAs=~FLKPAGjxB+}2;DH5_R@deM0WerOV#frz17ABNv|K#7UGllUzCQMLL9n8>@7=W@
zpVVpCX_+Pd3U`X}*lz$;m7WLL%f|^#6<(5b^>aYS7?tjt3KT^?vZ-6MwZ~nXxCiyJ
zhQ@k$dR~04tMdub((0BOs2>@k1$|$~*nH8b4GwT!X-k08fM*lTmw`GsCC2NBr`L;-
z&Nt-B%G~_&H3UKxfbDjAmfD{ieOhH{X(^qod`WCV4*Jein#HroU{&Yc(295;>8THF
zAN9C@o~c1mfyw>zVQV9wTrNVdTomB!h{>JzxAK22>#p(VqoqF(pR4Etg^M%!(z~~<
z$68OR$fUkxU;xeBuV*>g3QHxbpVN#Mp-A&+;kiwD@p0N?=wK5U9oC=6qd=0Qn14iKy(SUVFz6mjL_7Y2c#E)sV{*#&acaeCW-b
z?BVkh{D7#Pe&qp)Bfc`r93WiLdJ`I!&DwL%P@|QQiPJRSJ0pt`#H2jSfcJ|WhZX}l$5y5$b+Iv|xZF3RXE
zfh&ct_KQ4I^XrOcp$i|weVPm-g88dHDK90GSB89jLL77ArKO~*x(g5%*^8oPc#3*CQk#YycY
zXXc)9l2Q*X;Et`)TMj*m6_N&fPWrN-?BReXJiyM)U;KT6$JEUsnJUsr-xQ}
zmSet0;-=cel$+0(9HnXTT}!(yfyaMS@_|1q&f1l_<0F_gIn7?loz@-@8hR<%Tw@ng
zK@K`@-V!n7`seF*IW~oO`{3lQS}29|2)Ijc6kMgRcJN)&p%)T3|H`XQ~u!g1YXv4uDVzqJuMpn1le
z1?{c#=Th)FuVL^;@)A=%8u370e$&WNOv~Z*bx>h|JHN`0bEOb<&-Z2kTQ8c+qGchS
zO{l^u7=L}B`??tTf4sikr39a=J?_DPX28)5e>H_9pfi=<20wYM`z7F~9|?!9_XNP5
z_jvA$b2
zI5?<$u#MR?9+zNzzHvQSL#I%re2lt!`L|Y8s;6dX2JVg(_$
ze#=F#x5fi_N28!;31|&9I@+2$qUaQJe!)zX{2izg2`=`jyCA+w{PJjh{-v@K%z^Uh
zDg*jwzLh%f%<&q*^?TXHKFyVfp02yd$!?oWh9`1{A)89xiDPx&gJ$)+^_Dw!4G
z=;TD{g}|O+nopc#)IPo0?*pKY$+Ld$G?K;AVmTReeE%0_sP$7#P3Ue4mo^>GUZc)w
zwGIo5(TLsU%*e>!9xqHYO!v!T@#d)-o^$Jc5+&&K&Xg(CWP8FqxW4b#fEDx~$$eH{
zxrXZ|T7Kish4dDc4{2Us0&TfadXCRfk73Yim5PETX$8Tf8jq_xO
z$DSSNW%tw+d2Rg&sBk`pC1awg`HO3(t^krjvp>X-B+F0b-d#`QHL3<~I`t@B3U50i
z-@m$bN}0gA3dFD3a+36DyP%NJZEKPB9^ijIZ6CgWEo=DAL?*tESOrz66N=Aoe}l_d
zMnh6Hk{m+YuRP~ym60CPHId&0$oHX<`h2JVx6{*ZD3$>G*eA}Mk#MiuJGbUT`(*y#
z2A53=7c%_FbCgqfdTqV(?HSX6qo7<|Y&=s^fA&wftLOXGcimU#jlD_b{((d_&wo|uk2}!)L!0~WMXzj$j
zlRc)NKCA!gidmvsDr;${=$|zoSZ@PQH$R*BDgD=yGB1&(3+~GcrSAu)oJe;2!tno%ppIE=^8WnaSC{F_>z-~~(8eX}
zVyF3}IbqhdoANT&WegJ(-YX^nJ3qOcuYH66eNR8XWWK4+4JOd!$DeKm{*I>N_5YIo
zx^3opy#%ru!_}p1a{apXcjL3(TK2wX1aG?tcS$jSdhSB8eEz2Ii>k%J+c;_zJ7>L^
z_72zrkIxD>KiJ0v-g%)dvT|z3Q{%5^OI5>;ddBcGfF=}w>?-zP3>2wbo4fM
z@E(?eeH~4j6*1+nv-ze(U7c_jvVDcu`-_{^?%briH+jJuNapD41qzG4oOfXtGjO}?
zWtcLq6L}EV*0@h-TBLDjb?(aB2~(9%FoO5M@Ot}9eSazJeft|Wu=A%o&I1il?F-`G
zBn@`^oQFcuz^3!UwbmPW_g;f&VmJIGzpCUIC-?qK+ppwqElcW^0dFqZH{nQ?|9#*8d(J!O%-r{VUEj}l`+TnJnsdjPp4DS#6=DSdfZaeJ
zV@A6w(7q66CfaZ58CWyz!r-W7qD6a(W81+p0syNKL0j9DWTuA}Gtkjigd!Cc!7w=}
z0O-d&Gg34#=l!)uab?ZpShf5EF)B#=F5=?4j0iC@e
z-%2zfs;Vd_a?0lrtA$wDp-|0aFk8&eIC@}Wd-=x#ZFZBMVd9;eCIGk(G2EC`-U%@k
zX#c_roICnzvj=wC3;;_>YaJ+Fay_#q%v*BcYc*|jl+RC$h4`J_CI3arfA7uuml-=gj(
zX%sin(E-acS$AM4*?nt)#
zD-YTP>3~pXgejwZ3W%2ohcKhpS)ww!F_1ycse67DKA
z-@=W{c~QE`^k5JAt|rFk^n(-ps-af}LuVnZMBC$9T(BmLRkWgAXfkLZTB1qEK|EL=
z!V}ga9;43+(n)x0X0Koto*;4I?bU3NEfM7H2Rd@%YH!uDIgjZEYpZ7nwrhUO6LG#V
zoN3c1%#MEie#?pVCG$Hywh!!1l9wYy&}kpazw-U$AEv77y@51*6+8@YafQgWHls^@
zWsk+r-1n|^SkRD
zP3&kd?ewbf+Xg_nBx)3$A6g#kz&=voKFgi+D=Bjec0RvY8Np
zB|o7ez7K=ao)=$>Z+&ZDruZ>+L5o9@?JcVpx1Y)u*A`+698yJxM(8lJC~{w2y9H+2o
zyH+?~Cwr&=3~~lHqr#VXvyk6h(n7YYjU3##Yo`vdz~`yUrrUeN2y
zb9Qi6RR|mQs&uZLa`x$K?YlJ3F`qe~GM_VlxL-b>lW<3&6S0H92t^8QBf1Db%OQzS
z>KmT2i{;LjW-lFb<@xmBonvmP(a?Bl&Bw>7LaA`XV}(`3Q-yQR>t2xC$D+F1CK5bv
zd$^O-jX$J)R?|_%?A%X7M4Fg)$mC$wACWf`xQX2^oj?bmO-*TL|?|WF?InPDVDGxE?GUTT0Ztsp5%xlPN
z`+67pF4^UQYwhdjqrQDD4JTXd^9>@}g3JqK1`++_G(zs2HJnr~SYGJ>cF>-=JQKJY
zxXQE|#c#}Zj;h12z^?>0NVMr7cRWlSd}ey))KiP6&QG5Xh-ow6CPLDtBO+?3OJ@|c)(~~XZ<<8-hT@hUo`nWog
zy7C{FV#?P$=hqNFd3^_b)t6!GJbwLt?EcpNxqhN6!IQWpi4Ek;YT|6Gb*su0b&F|}
zf7^STu=#H7=}N!?@ynyn;}aS}6TBrSCyd3Q5NQwdi4*lA*WMP-#&vn8)VX@=aY;zS
z@=kv>D7jFg`W(!_o^qlL`DOBWFR}*-&g5$696kO^x>MEl{7~Fv_K%Vu^FMOAIk=4^
zP!gB!vPp32*2k>GoTmCi2JMQx+yg3{$!K!W&rgEm$t%fYRy9NTQp?Ze&nG<#m%nU&
z-F&%O>KD9P)g`R&VJL0*Tx~oscx=arjm&Q^tNg;0l4(2n0b^%p{JF6uF5Fb>maS~e
zqY4Rv#oMFqN7V)VVydEVycYTFwQO6a=jFFzdQ-1`CSlT|yYFTnH_JIQNxu~Ss{c;??gTp7Nb^XPt3zeIT=Uz@+c3-ItuCkv62#T~k3vyRoL
zhgegxj0l-Fj~6;p?wdbcl~Y1(IHmiiBZ^&0`#-Ny53la7zPf_80@?J`_j$|}y&$x(QmoM>h4wl`+jxoP6@`urUSJMEPl-(j<5SA-3O
zbA*Y+l@W4=O`Yni+7Qy)nHlhA;%9JiwcLn*zMbyt?`{=t?QV7V8}Ao>GN~et?3JFb
zoWEFkj?&99dg7Z;?WoMKUr^FuQR}FGjgfcAki9tzayxxMchEby
zW4EgQY;IBZ_uk;Sy|F{whf(ua=D%^yi^#fY3Ma5PNAYl6+3wn?8PH8@tuuM>a(
zr2djuxoTCrIcZsZtwtB8clc`iwX-`He;ID~?+wDQR>wu&QVWjXa@cWOR$25pJVqM#
z369=^D5r1V-6>s(pU$o7)_Np**8Z&V&e223t2?o;DLJ&inPND7GZO&tmjZy$>j3bJ
zHWd0504NXun70K0R5AbvcszJ{UX?b%;-PH|RlV45dbSdpzvj8QnE
zn;h1jXor{cb@QNE1AwZAuLlS0FKhy&A|;!31LBp^bMU==*!&
z&Hc|>;QU>1NPCcmx|pgjisrx#PsWP*y1BZOP`+xQ-+ocF`-5S5kl1e%vWpr>>mZ<*
zm5HgCHqi?&hLnSXaS#YhObIFH09QcZ9dNQ@FbE7T4~5D@kYFebg@B-7N@9P1K(ugP
z_6{gBjPBpTXisV&Cob|*>v
z@qodTa9#utGJ)tWcHj|fN2HL|K(ti{}#N;2x?xepvMeCWoFV;gIDhH8wb2}*P
zw>61uhW}3*|E)F2!p{RQZ-yrkDPA}{&0OL?U>$E-%fkxV2x5&t)?|C#>Xh=TyMZlTV35ooHx
zx?+ep%7IG*j2ehSA=sl7FffQR5{5v+(YhEk6pDl*w3HQ)5DXlu08!Rf{^Q`^K$=TA
zdm0vr#y}OcwGg^!9S9Vvqou5+OoPC*F;E?4q!tG92W#L?B4gcg_=BJaSi(VE2LukH
zq^JzWLL3yq5C{SXMk4HxV2C0dp@egAu*2bCzwsz-FFck^^s*olUH@p*z}1yPB6}SS
zi@^|ba4~61g1bG@ha~ea2p)qa
zc6c028370V4YvOm(|-uVLLpd1I|n>%UDKM5L?Z0LSSZpC3{$Xkz}aDyaf(m{ko-Rx
z=@Uq_4*UJRuFdhDf8V(hXfbFD1BJyMtWh-(2}?`-An?K9zq9_sHbe=Jhd~vfU>H_G
z0qlTBIDoNAa4c8}4!5_1L-BY8gwh|pj}xBe^1spsQ$)exe`xzF42kGK_Q87LwH#@3
z{v!<2KWjq_rXZ*AZ&~~W!Z~5x9r3hHQ~r0E2b;_Pdolkr>HZb)zb)q9!utPLjQl}0
ze~~2rm!kf|A5D>D0@)S+H-TENOfen>Um<`>W4=k~*fHAMxtMWZT{2NNq<U_}Qz2qJR<-e=X00v{NT%al{R98i|9K?05A!B=%
zP9FO1iZF^|v%}4iIio-WRgo>x(@sEWj1eaIuHF{`KO1=mQ(1oT92JSHNOw5kg7;*JamITcR6{Qihpd{2re
zCh)cA@k=Sm^BiK=udnbG?Jo6O>GCaEIq2NtPe;l)@bU+11RC0aGlR-x?)ko)($EYY
z5bCfwGH_WsXT@-Ce`ZAGez*MXqy3Kp;GQ|Wf>Y72?Hp6n(n98yyUJss`3d1m+dqQ(
zGqz0YmyTJnbtUc}x=1(W^V49;R(hlGp}tQ-$USwR#XH4;R%Jg__rD8XcJb)44sUE&
zUG`nDQyy6{DO5=4c|ZKjnH@a+lI~=D%#!Y7mA$6b+JHUFXl6`B@Lh{WeONRhWT>LX
zd2;%;(%ifJYah0R&*gHE9}1Xx6e669tjc36`C~9UPlaC{YB1EZD@^0&j)giAiK28|R#sM+
z%o1|70#DrQtnspeB4JC9FcJ)b8WdcMIh73h|cxxz>|43A`yrImb
za@Xj9zA7*4ZqdM}1dI&_|2?QH?=?XnN-Mi#TpSn0e{~V#UVP%+)#rZEP{B8ziVV~@
zQz6O5t#|cL-qAnFb*@EN8`_EzMQCu{tsIa8eQWMYkSmX7`@!A-XnOsq&@iq)aoIQL
z=nIhm&+korTJ(Ni?1H!>t;qv{!7NlN_3iAc)#Y}j8z4{(%yHx}SN1oi>s)TX97N_v
zyKnSG^=ixnq$)94U&S@QU+;fyiMspkN$JAZK6q^7Gl~wVr&X};vVj}cgw9tCe#xZ~
z$wt-~+r_F1Q8S%P_r{2~3*sERR@B}N_3@o?SxC6BKGbyP;oCL4!0$V^a_N#4_$68e
zoo|uqCG!p^nz6b!1l1P5S_)L<|3n8&_a
zWZ=BJJ}x%S0j?j3d2x07@oS?L4Q5ypqdv%1GW_hs2W{F58Q|siuWh-LcFWTf%Wa);
zzK*^m2u&z;*r$u%RzvF8jJ6}{`#NXE4?oihcby`ERRTB9P=U);DQudOQH&86xS^G|E={9dKv-{4%D6>J*
zi3PM;qMeA>#_LP%Rk;~MSFA0W`t{(B-Etg3_g|a85G`@yP3mn`Mb}w1O`?~T7!Y2^*~s)g*gfO$%goVIVgU>)z^9
zQm0Od$9W$oqIyV84u+w`(|6qqWi{o5wL&=?uwr&4*2=%s?%mMs6-1tm8wk;M5uFodr0o4PR-hz_;Oqfx?s6UxNZ9$wl^3uH7XbxQm;
z`AFn#vS_tJ#w}TUW|Wk!bjxAu{WTIs1KdmuYo57JkDD+_v&1_4I|*L~3}L}PydC_X
zv65@IBFC^Q)?>%@kCH87O|3Yx$J(+eoeMs%1h=chr^>S)n|dqUv~XA6ud*&+{lfA&
z%H5&oRS{EU<`W6EQ=P`#Kip2RwQ)Po9BT8K;SwEed%Jg=Bw75Ry7gD3P`^aYV=G3?
z`|!kwaOGi7*`Mg8l81#aMwoUHT6)um6=j*sG~R;L3+(O&sdTgHAqY8L#kGq(&q}x5
z(sBxpZqx5H6sAUA{VM40U+?(VSb*-ro9WM=)mUR12jHaWb9q+T#KAm|F9H>2wy}jn
z{M@QnTsLJoU1dP@xFff}@t%<49PP@MzW^qy{tWEC^AJqud^D*y^ftAemnR}$)Sg?^
z^26KuD(GDMo7e#>;zg!L;cF@#?EYi%%Clmi`zGCLHKtdEUO|ISeAa*CgVqbUsliMc%#i
z`=Rk|r{le-#=5_x>mUoOr(YsE5JHi%WMK`eQNM3SzHrm?>94o<1>|lBjn^51+JT{f
zSEd*SCXY81P?lP)G>r?1)8BsiNuTaEv#L$-58x>EJV90cpm;iG!OXCD9*yBb%T`oW
zXfktzhLyG|agMCkvRTW-x#}1nbuxI@WU7|5EgrdPlwVyQeeP?^?Nh^YhL+wJPN%vA
zUqeO&Wl;)Kt@33R?{!Xl?N{L5+w2FQa}>=vv8r~443fWvi^P%
z6@Bw;U7N;|GRMr!Og;E|r&N4?Kx$l42Y%$a=ju7O$R_zKgLT*POw6_UzRE_nD48vF
ziYsQutNa>n%}%)D5RrwLJszeBys-HmF!%GPhIEeU>H8Neb?-f3<7H*EhrzomD;EPz
z47V)J+7-nyYilXsS}(C3E{RqwfdWW1+}LEs3F_~W_!lj|OnzFJ@dpV3m*CkAh
zQH(556^fW*_D!FiU8U|*X1hR!Ijz?BQb7UnB~X_9iGk2$+X$dRjh;>Ax!?A$Zq1+N
zw|>{m6M{={=3aM<%WLqu3j$(j(r4Dnqo^U^|pjk29R&qz=A
z1;Qo4a7Z|g1!%PO82yC*L{I51aPXUFZ*D>6We76VF|~0J-!zXF?}^4s3&fu~J-Kx7
Pn#w@uET#x;8~(ol)-^gs
literal 0
HcmV?d00001
diff --git a/docfx/index.md b/docfx/index.md
new file mode 100644
index 000000000..da3c1be30
--- /dev/null
+++ b/docfx/index.md
@@ -0,0 +1,19 @@
+---
+_layout: landing
+---
+
+SSH.NET is a Secure Shell (SSH-2) library for .NET, optimized for parallelism.
+
+[](https://www.nuget.org/packages/SSH.NET)
+[](https://www.nuget.org/packages/SSH.NET)
+[](https://ci.appveyor.com/api/projects/status/ih77qu6tap3o92gu/branch/develop)
+
+## Introduction
+
+This project was inspired by **Sharp.SSH** library which was ported from java and it seems like was not supported
+for quite some time. This library is a complete rewrite, without any third party dependencies, using parallelism
+to achieve the best performance possible.
+
+## Supporting SSH.NET
+
+Do you or your company rely on **SSH.NET** in your projects? If you want to encourage us to keep on going and show us that you appreciate our work, please consider becoming a [sponsor](https://github.com/sponsors/sshnet) through GitHub Sponsors.
diff --git a/docfx/toc.yml b/docfx/toc.yml
new file mode 100644
index 000000000..575116eeb
--- /dev/null
+++ b/docfx/toc.yml
@@ -0,0 +1,14 @@
+- name: Docs
+ href: docs/
+- name: .NET Framework 4.6.2
+ href: net462/
+- name: .NET Standard 2.0
+ href: netstandard2.0/
+- name: .NET Standard 2.1
+ href: netstandard2.1/
+- name: .NET 6.0
+ href: net6.0/
+- name: .NET 7.0
+ href: net7.0/
+- name: .NET 8.0
+ href: net8.0/
diff --git a/src/Renci.SshNet/Common/AsyncResult{TResult}.cs b/src/Renci.SshNet/Common/AsyncResult`1.cs
similarity index 92%
rename from src/Renci.SshNet/Common/AsyncResult{TResult}.cs
rename to src/Renci.SshNet/Common/AsyncResult`1.cs
index b5ab54122..bac2c4cd9 100644
--- a/src/Renci.SshNet/Common/AsyncResult{TResult}.cs
+++ b/src/Renci.SshNet/Common/AsyncResult`1.cs
@@ -6,7 +6,9 @@ namespace Renci.SshNet.Common
/// Base class to encapsulates the results of an asynchronous operation that returns result.
///
/// The type of the result.
+#pragma warning disable SA1649 // Normal convention is to name generic files `1, naming this AsyncResult{TResult}.cs breaks docfx.
public abstract class AsyncResult : AsyncResult
+#pragma warning restore SA1649
{
// Field set when operation completes
private TResult _result;
From cd2b1b1136a4cfc5eff1c724f6a157f2d1f351d0 Mon Sep 17 00:00:00 2001
From: Jean-Sebastien Carle <29762210+jscarle@users.noreply.github.com>
Date: Mon, 8 Apr 2024 15:01:23 -0400
Subject: [PATCH 2/3] Fixed StyleCop warning.
---
src/Renci.SshNet/Common/AsyncResult`1.cs | 2 --
stylecop.json | 3 ++-
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/Renci.SshNet/Common/AsyncResult`1.cs b/src/Renci.SshNet/Common/AsyncResult`1.cs
index bac2c4cd9..b5ab54122 100644
--- a/src/Renci.SshNet/Common/AsyncResult`1.cs
+++ b/src/Renci.SshNet/Common/AsyncResult`1.cs
@@ -6,9 +6,7 @@ namespace Renci.SshNet.Common
/// Base class to encapsulates the results of an asynchronous operation that returns result.
///
/// The type of the result.
-#pragma warning disable SA1649 // Normal convention is to name generic files `1, naming this AsyncResult{TResult}.cs breaks docfx.
public abstract class AsyncResult : AsyncResult
-#pragma warning restore SA1649
{
// Field set when operation completes
private TResult _result;
diff --git a/stylecop.json b/stylecop.json
index ff7c9dbfb..ba2a35715 100644
--- a/stylecop.json
+++ b/stylecop.json
@@ -3,7 +3,8 @@
"settings": {
"documentationRules": {
"xmlHeader": false,
- "documentInternalElements": false
+ "documentInternalElements": false,
+ "fileNamingConvention": "metadata"
},
"layoutRules": {
"newlineAtEndOfFile": "require"
From 8efa73dabfda21d6d25b3d5f415df2186982f150 Mon Sep 17 00:00:00 2001
From: Jean-Sebastien Carle <29762210+jscarle@users.noreply.github.com>
Date: Mon, 8 Apr 2024 15:40:40 -0400
Subject: [PATCH 3/3] Fixed other StyleCop warnings.
---
src/Renci.SshNet/{MessageEventArgs.cs => MessageEventArgs`1.cs} | 0
.../Common/{ArrayBuilder.cs => ArrayBuilder`1.cs} | 0
.../Common/{ArrayBuilder.cs => ArrayBuilder`1.cs} | 0
3 files changed, 0 insertions(+), 0 deletions(-)
rename src/Renci.SshNet/{MessageEventArgs.cs => MessageEventArgs`1.cs} (100%)
rename test/Renci.SshNet.IntegrationTests/Common/{ArrayBuilder.cs => ArrayBuilder`1.cs} (100%)
rename test/Renci.SshNet.Tests/Common/{ArrayBuilder.cs => ArrayBuilder`1.cs} (100%)
diff --git a/src/Renci.SshNet/MessageEventArgs.cs b/src/Renci.SshNet/MessageEventArgs`1.cs
similarity index 100%
rename from src/Renci.SshNet/MessageEventArgs.cs
rename to src/Renci.SshNet/MessageEventArgs`1.cs
diff --git a/test/Renci.SshNet.IntegrationTests/Common/ArrayBuilder.cs b/test/Renci.SshNet.IntegrationTests/Common/ArrayBuilder`1.cs
similarity index 100%
rename from test/Renci.SshNet.IntegrationTests/Common/ArrayBuilder.cs
rename to test/Renci.SshNet.IntegrationTests/Common/ArrayBuilder`1.cs
diff --git a/test/Renci.SshNet.Tests/Common/ArrayBuilder.cs b/test/Renci.SshNet.Tests/Common/ArrayBuilder`1.cs
similarity index 100%
rename from test/Renci.SshNet.Tests/Common/ArrayBuilder.cs
rename to test/Renci.SshNet.Tests/Common/ArrayBuilder`1.cs