From eff1ef12e708ec7e9e38298d5b7044f7a8d31540 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Wed, 21 Oct 2015 02:54:58 -0700 Subject: [PATCH] DOC: Add NAT info --- 0readme_ethernet.txt | 8 ++++++++ doc/simh_faq.doc | Bin 104960 -> 107008 bytes 2 files changed, 8 insertions(+) diff --git a/0readme_ethernet.txt b/0readme_ethernet.txt index 9a6e34c0..119bd162 100644 --- a/0readme_ethernet.txt +++ b/0readme_ethernet.txt @@ -202,6 +202,14 @@ Additionally NAT based networking is useful to allow host systems with WiFi networking to a) reach the simulated system and b) allow the simulated system to reach out to the Internet. +Note: As mentioned above, NAT networking is specifically capable of providing + TCP/IP connectivity. Only expect TCP and UDP traffic to pass through + the interface. Do not expect ICMP traffic (ping mostly) to traverse + the NAT boundary. This restriction is a conseqence of host platform + and network limitations regarding direct user mode code generating ICMP + packets. + + ------------------------------------------------------------------------------- Windows notes: diff --git a/doc/simh_faq.doc b/doc/simh_faq.doc index e3b905ea2815282e7e0ec1448a1a106dd48bf1bd..50016c05efdad75256a20da4f9d11ab75919a861 100644 GIT binary patch delta 22763 zcmc)S2V50b-th4=bWjkaNl~v@P-CGNOGGJ(6%?#kP*G3>6bx$Ai(M0ICVF>Qqox^S zHzYxgU9%CpiDeUGB#DWMaWxua5}%DezjH75f-tbV@9z5qKVPQYnK|eD&&)Yz=8hD- zYgcsKZe>uDlcM~`RfsdpDtP?l$rHKu1WI=&pHi$6Ur-xaHFbU@#Gih9Hcd*LtKPF| zq-I;ar1xhZFMlE4VDm@5az`PWrV7#8N{D@|kFjQbW7GPYrk8X=thW&&zqt@89PgtR zLTqD~X(>W*7%_vX{Lz@UuJ%DQ*7O-9#QW@NJyeLXEU)JPo@%m{yVJMjSrU{WgCCY z>o2ttVsKp{GW&BR^M_2wk~Sw_ zE!4UEnBgG-I>kdRYv`{ocJs2V4K=R)y&6QqQ?3SeAm-Mjjnq%kvgt%v(siaP_cvYNLKfEf|Mj6-M z(T#p;ZM1Q1a+65)A0C!aL*Rp)QXTU5B(#otnzD5}{%z;e{c;!^)R zof?kIojOHVm_9wfgHGq1nxCQT+ciZuDR*p!Zd~pZ^?I64Z(PXD$)2uD&(6**%-5yF zCbdsY(iKceA2%**jIJP8H;(nX(HRAW85udcg3JtE{`CBUj7j;rmVI+|aq+P^83k>0 zy*Y616kRT#PtoN~$<3RRl~IsBWjY`9mCFUWV{)_eTeZ;@W@e4a)D>oBXLC$l^Kn@@ z#?0vQvvS5~bL^~1Q?t_xI8=UC!PNAEtlXUZcEtyW9JbQy;&akRvq^|X_U~lcwfmjWK1{cpTHdPZhp+W?FE7tqgc}@%Gs% z&T5`RnyM^q+}zVahz9UMLo`A#?q1xtamB@bE2a*+*ts43p11n#(nh^HdS*^-y;pc; zcIxUa!X1>@o-IYco>n5Mr?p6Cn&zO4V6x<-y`qR6n>&o3*IJp>!_g)mp~7K~S7w`0 z&ca(BL~XOo&u2^zMU2gq8=5|qhqZj_RPm|WV%ZDs;fli?8+NcY?%-uUh=Vx+^^0Xq z^v;6JJC+xuF;g96fkLntOK=iD;Q`)s5@HjY*Ab!x{zPwf1K*(3nQd_zel9}v!;3hJ zN2Z>`^!vVfp?LQ4xr$z(4}2lh^G8EOqXQn? zdGKlJr@Pj^xHfm!;K;$dBIT@zvBYI3f%MEg<&e^WDv~koygRg>Y2~-!hsxLKS9_{G zSGm`h>+KvA&&-OCa#uBUl&eiU-+S4++Rh)WYSOgI0Yy+xACc-nJqw#0Om$Eis~eU! zP**KY8RjXo-4UJ81u^J@zL4QeLNX>H2f4^YJ_@h|FF=NUDVE`FY;jSCzMSeWYr%9* z{67^ZS@kO~;wekax~^_tt=Rh2&8w|D^OC>1b)}QOdcqnJ5nfx!^j2)cPVB;IoPj)_ z&fz?6=<-K>r5}s{Xh@=nHE}UNaoB$g(K?upHOX znp=tmxC~b}29|gqw)Gh*{EFY;!ev9u=D&6Zw2vX)F~Ma_K( zr5%drP>5-mj+vN+ckv!%16P7QxQI)*j4SvIS7BYh0U@FFlP#eg?9mj>>Z{|{_wv7N zS4+gstZ%3h?|-?E^B+>%!K;lJjNM_SF@-TUm8!$18QE@*7HEam=#CzcjeJk^!gypN z3llI2IarSkke$J+cnt?}2w$HpR!6>^Og;+SjV-Vo@BZso)PFr5eQHTw zGadzGeJY;Abj-kJybam$Z^bs8Kq*e*6wcxt>=_g|Kn@U`JcvgfW&+XD!x)d_j(=!8 zy4RAtW;|Mw^;T$&c4&|1F%xnCG#h%X#X7u#^>_`hLog;%Uj7wrK(xeA41*j84#x=0!1I`iS(t;l*oj?`+??X|&wJ>1 zrqgHEQ|Brg;@LDpZ6*c!1N}Gzwn1Xy1pb*or8E-@0No>V7oIoi~;uOx} z9NfI=q3d(2A#XW6;E7;_cpH1@ZQSwK7_tAfhi+fn!K+orKkcDI$aW~g5Q!)Z#|X%~ zsZmJBEX;-;MVN!RSb&9CgvFp&e!2MM%O~}@`T-}4L)4M$>Qx(%%vu-XzlmGI8e>$g z82|NNs#Pt?Yo0%{Y)kMaHsLL7##U^@O?-#%aSK1dp3}quj&OoAT+p-uznY;rS|AXy zh-+Xxe>QT@Rby=a!}CYoy36TbdK&ak&m39fvb3@gWAQqyeYnCy4AS)9XpT);(KLIh1z9O5CHvF_-BA&^blaQtxfheMlI zlXu?05dJX=f9fYe?Ruzz`pTivzM^y02l$pJ6#v$<=>7klR@_x)e*`8%w$8c8 z!ve^bdI?^@CdgKM3$~&ZvIRebv-ldaHNT1PAiwCRW!DQEW^B7zRT&`DqxA zRglg98W?aGvMV@>WB42B7R2YchR2XSgcZGmH9A1{7SEy!#v`*~BTB|hHkRN8EW>gf z#7jpSsjf$y)J8`=7 zD8eurGJoSR9vdL@`Uc*_J;;1N#4ku8&$0|dFceE6%d;FS8dG!InURItjdyShvY>Zx z7mX>L4o%Sv;~)bt0TZzjG8ivG#Tv-K`~_=q88S$p;VOQF4A=u)JEmG4iE_MlOruux za)Y1YOeAG=-B2H`AtT)m?U4x?^=wSSyO1@o2YYb~vNrDEE}BydvSwPLHAX|$(pY3* zBB-(YBA1ywT)=gdsjnVytR6q^r9QFoDE{ntb4A}wR_m9z0o$ewoO$nP4I1%ANJo6t znhWF^qKl8vt}Sf~uEVJv+u#Bo!M#1baS+!7zQs)x1q-nstwI>IBMHgq7RqCx(2iVS z%!~=6&BkYN4X5G4J+z9Tgt&obk$ho?d02qX#e4tSUD3;YKP=C?U8VdRD8u3A73Jte zSr)dW>wvjTR+Y+iqEgvaMmc?W*o7buKPDp;Pqo z!-KdD4+7E&d3X`qPzF~56M_`TfEA!}&>RSuBVu6=-~r~Jz>naWgBe#I(DKa492M(N z&QbK{DEDWBg;<3B_y*PlJOUH20hdsRz}H1P$jTTCbA?=Gz8;k!E2afx-9hsCl79- zOEh23;(OeJE$53J+)y7o(54e_Y@ru=7blwZ)|ln1-}z`VP8x1Qy@7Bc-D z<2zHoD8{?bk`3s(a1P)J{9F9;U!Kp^9f?Q3egpPy78?|@#^yv z6@BmWbgnUdhyc=&X=Wk|6VRA+WSY@1rz<#|3%nrn;E!i97&({+nWrUKj}6$4-$kXL z2b>-s&rycU56l^UkNJ-w^Xouf&3RtPydU{4fnzKeJL+I~9BnUF;4IF;HlDyD1*yfu zFTSqm`?A|&EWvwtAM!Br5RDOnj_8DKco&Cp0p=vkhfd|N3*p$4@ePjkq7}xxWLkVF zg$5G0(K3~@J5@X*W-#+SPM{Q<1~M|hdnkeDAg1_Wkh`fvWBP}!pc#rbovzQKbxaum_sSUcLJ{r=2mV9@)% z!+Bhe=#iYq7@tn&Z~~=>AI(4pgE0h!n1)Aclb?Llb<3UA7d~~?e<~{d)Vy$|(pKV9 z<%Op{`L`GJ9O~cRsn&hYRnFW$T~III^;gedbMtqpC&rJJZ#w1vRldoznKN;03&p90 zsFUERUcaX6)!>6cv_CkEk09$Ol=>Nub&z#6jCzuFPveyevjqV+D zsspc_wvKf2%KX%0rSUx~;bnaNrrJdzp0V5}Y_+_jlYZSt&H2X3My^p`z2H?h*!+f; zeEp~BOK+>qo7DqfcsssbX_uysvOuPne9Q-UtNZ}!#tRMHn_5zm*Pv;`;BWjKw^)|g zEl#+YPrm&W@F&#e1RR2N4@0nUL~*w-4k`%?nGfKkje_|E?#g^T zdLR+~kOX-WuNlW^4f}8$A0lXcaYETXB}bmr+i@Lr$M6j_MqnjYVK4Tf3@yjfLSQY< zK*`{~9(^zmd$1QraRu(AGXgSwQ@X_$e$*)pNCMU6U;C=(z7FmmG@i6!n@Jmw#?WC3 z@^J#CxP;4?nMM0JfxZB-h(`t<;dj_hEbf0}hoYBdjAL1T9x{=W4e=O+!6?Ko>_$>H zPh&9`hj9eIp!*~m3GByh)X5>9n2s&jibs{Nn2H5AR#z;^1!Kc;jfP{zx4)>{Zw}Dg zl5!Z#Ig+_C=cI2g(MS9g#>}{kzt=s%Ta4A%-N(KMotYv?zf z^@y8EZ#aw6&!QVT#LOqSid*oV&2@(WM57D3qxWp}?03&7g}m0-pix6(U-Y`WDDR8p ztBj`pXS=*4>VE%|zO{^txdbm!iougPe_<|7Hl-OwZe^}B%5(l&rQByxf^TsX>CZ9n z$Gh;RRDF?#mG~U8q(9m0IXlXOp7FXc*Ji)_ue1J!YC8#p6181riP7hZ%-u^{B`1fu(16h@e6?g?3 zu>(7C8nPbjL0uTD;xJQx!Y!+y1BM|D)360w(M?ZsNG&2cEXNsm&!I1lRVQ6^R{ws& zS#A51vl?^PSJfG(f$EbxZ>#6-2KVdDA(D`cp^!@Cx@w>mLHg3 zLG`ZTb5YNG4mXe3hAZ%&%V~twD1*;DPIj!r=eUNS(7E$`#_KqY)3}Yc3%Gkl5mw<- zJc2#N^@JBf(0ie&eJcBLn0oE5%dm#MS-Bh=uo0UfV^oHTv#Lre;bc-P zm2k~eC{ERs4M8?aPPKz-6^NK+bd8rML6K_LRS(BiZ$ z8N)ZQwWB|PpB+78M`rqv)2eM5Q%) zVjdRYOD?E=`(7(bj;mpnmz)+-NCU#;sF5o^Mz=L|0|D9j}b;Ukpd zd&rAOzV4WSd02oqu>-qs9&ub?Wn4IYI&e|pJ#6aRh?%~G8i5lz$*>yoN_KZnd15GQ zqdY7*-&V0z^i_M&2*Nf}q;TSmp-+9PBNmahd=^#9XVEo&7Otmc7E;S+ zp|yM#_S9$k$|VeE$We2GHAg1AmdJ#Qnj=GJuCFmc`t({pt2r_eqUOj%P@zv3kn)=c zTJ-o;KCJv%&5?-^HAg0*mdG#|5YGAI}>?$+MC{?508^+5*wxPz<^P~U`7Jn3i*}9aG>va8te&l%GtD+=s$@Y z;XL}o$@G^D3kvChr!h3x%%G#Fh}#)D^~LBl*WetcY|;NrW^EX~tR}-9$gm)@e?F4*-z1&jLI+QTDD_78SY7jmyzK(GJH3df|B7|z3B|dutz`gM~07);pfQf zP85;fmE?B<`5jAMH)hl0j3>jNli~4X*p|#5#M@-}3o^Wi3@;+HzZf%2=J*M0V)|c_78W->}F5xSDkF3@Vov;#WYepO!nArrMXLxdjUg(dBn2dZp zhq+jSjd%-hV;lD15U%4Z+`-S7OO%$tp*=U5a79BjB65L7UVvY6yT|I0ZmkgrFm0F#~fkp21%}N^u5OQAEs{U#{@P zE)-)A_Tm!$2B&BSB{)i5AIC*pMj8H&-(b_3^91q>r%A}e3@pI)E<^@lrC4cL!o*%N9Eeg}4ShN&4tkv+9|*xBEI}zw;yxbW z4J!_dX4d2#1{)rX;%j_^6Wk}*`SAj-Kc7Lq7IGL38xv40&~a>h8Nhknlv>9Lv~A8Q z)`Pa}3)E>rFwhA}7yuQ2!2uk{54aC^nifyU7Zo}q7nAV7d)go;bVD3un>7cr%{qw35UqKd3xBjkYeXU%v4}@M48Q^`#s@fn z8~7IT4Fns6>-iOlEXX!(J!Bhp5trda%kGS}7>gaa3YWH=*Z2{wX~zO+yPBgTI%6Id zU_W&$U&nZsrYZ*C;THHG@WKvySANyUcI?12Vcb_je*1q7KjR^qgp&xyVFDV_M(GfR z4tNX(7(zB#E|5)@7kuFl`Q7}p7=*!?gq$eqe=algun0@=3N~OHc0jgy@8JSIfjw=V z1LQjbU9kWQ;oE_h0`H>)4jnnCkk*N70cY?rWLs#50Z8pk{hPmqmyO{fZ0f>o8s5Pk zoW>>i#?b#F4H;O3W!QwBIF2*;4OTRyJ&=san1OZJh^^R-Q@Eh#*CU8-}Vm5D5<#Y_4&Xz?j^;W>@ECH7IK-m|cB9`|62T!H!9)Cl zgbW5@n2P7{0ruku+=kOQqJVfLV49v^)A2U8qR)6$M6OEP9|d*HifW4eyMf^uKAodcn*cwhV9sg5Av!1-%G;YSDB5VAwk)Yq*aG=roheU>@e{ z`E>|Ka0>Ffs~>P1ZD!H#BO8;TM-f(H75;`#@f#k&ZZ;8t2fPrB5cGn4tSLtV%ds9C zA@4f6mGSE@L}4v1;A6NH(Pd%)QlZB_gv_D)gdV@4`&>D+C|S`>v9l`qbDZLD6)qng ze(B4FV*H5HO4z_&IElt?o9ey4b4Hyf^{W1JHSFu5{H|97Kd#2#a!zEH&pNr1oB8Lh z+~)u3@d&1)m@dkcTP&v0vtrs#$W3il*0k?NThqQ9ZL999l<#Zxl0v!5f1XY_&%tee z?@|{JE3CGkiB^*drP5xi;sy%D!c; zrc9T)R?W0+O_`SEH-&nayD8ya?o|`EtCs7knJ)4&?OWtkbzl2`l4)JN`AI&eTqpTd z&9wtN8z!eIjY`@KRpPBme0wYV>MKr$OCuE3MxI%Qw2?~4syrLTN&bBx$0tvmC{BG* z&(M98l2~$nq@q(4FT=f2io4=zuuWH*ddokuvaorIxZ|BF9J7jqeC37rR1A^nO7l4R zP?JHk@kgFjPhylJMI5lEhk*Q1_-CFsPpvppjX!etUrT1DE1Rw29K?_3t!~(u>Ne>1 z+64LE6y;Xl;uC&Pai?{m!LBDq0Pbx8oG~D+9*L3-_x*UoU+3)jF0T#WQZBB1X??ax_l=yPFa(w1SvBO!I?^I z;sfK}+{{qM`ph?ADgzhAv@X*)rp`>0n7S}cV_J{tSf;Y9*-Xj5C@>tzR0h?PyY$VS zGATW~-PqiMNruK*N`Mk-=$54fhQD)vdP6>r0pED1bou#1#W;U-UXJ`*eln`^$Z{$} zBBxh!O4es7BV5)@Q$DXRqas(zD9Ne)+>$%fl)F~eA;QB@_Pi4A_w<8h`Mk%prQ9HB zrp5*ll{P5S+915r2IsXlkRg_tkxA%gX(SO^X@fki4MHkya9C@D;7S{~&eljG$g+W- zVN~@E_|CA>2D`L2h^p9NjlNn6@|mK!lzxUJtqm#y>1WuewLwK7{R}^9ZBP+NKSNBB zMjk2x>1SA}wLwK7{S0MV8&m|+&k!_6BZ-PY`WlL=Zy+BYo8#bXIIp!qMIe0*y1CVo zkk73vj*zFdK}95e4TrThsEDMm!F8TS5*3m3HH^~QpdymKhFw}4R7BEu&3ug%Dgx8TYYi&>wNFRf4kwy{~k@PX-X>Cvu$p(hQ)i(&M6v+k#*TvP6 z;QbX#pc)uPX>Cvu$p(g9Y*6K!{4fzw@^G54ial$Xx?IsKvkgBpv0K8%Ylj+UtYFn6!=n|- z45h>{btOxO3_q__a=V}RwKwio_3zBGpBT(5##co=U$>Wv-r{5aT@;_;IN$PJ<8Kak zW$v&1z9J4Awysj5U7kKz$^BKzSlebHU1P(-CGk>S!zO5Fw~i$|kOcs%y$R+PVcT z!uks8Y8`b{#ZgCT8>QM(D%xtR$nW*ZX0suaeEa`@e}{NHGqXFNo%wv;pU-?gpP5-n zJ?xaa!)bn4^`oNT$5n{qtSWetmzO8sJ&YsU;!i4e>(W(!yBaRP39;m_7hjgvrK-6O z{^|(3g~kee#>rQRwIqM&BR?p_uib>GV<*HW-jA^t;#Pp={gReP0)_a%L5P7NLUd<; zSv7_Dh>wh5KkP<~WGR0%mUT2Y`1KTGC!ajmONc=QAM{k??cB@VEXd-(TD zV?Cl(L5Ml=LR7JCWZ8?{d9ci4*@UI6Uiq_@bW!XjvbW{+wkRRW5_S1HObB~%wJXge zuAR(>{Jb@tCABRo_t>7uo7NIqm)0m)UsGqf4mE>pFD*N=zP7avnapl?Be{sSZhdxX zEyT0$7rs`jm06*)X1Va)XWB>c_c`c`ZpGdjaHY$7-sor*NQur!L4Rf=l zj8;duHFPOBf-Wp5Q1MU||N83JZeG?;=)%=UZn1^0bZYC$T`OBZp_iWsuOA-ftY$W> zt!}8|Rk$-l{?0z}_f{*q+jbVAhPpQ^Ow%wwO`d;awWqt6n{}s=@?Bkhy|bDd>817v zsI1z1*tSMlwi+y3V?6u{vlgum@#tiIr4Lj0dGs!P6|M$&wzD2ruggDfSfEbb;8~bA zyp&l^x>f0E z-DU_=Q>t{b9>@@$pP9g*ICX$e;gJkFHLPlj!cXYcH>(B|zA~t5tM;x~5H3T6{Jddd zfQK63<5Rd-OK5Y0e4pBDq?+c_uy8+7>Or5E3SUL5fz<|EUqytebE|c>?k&QS$J;d; zslmR5RS}UNMnnB*XEk+pl-%N3kf(_Jb`jy+rDd1U@Nm`5)|w&==2O0Ro0J*f|BbPY z0t3zO^*Lx~_ItHKkU2iJyNjyK4T!E%R*0(bK`4&82=N(?;W%<|4ZmF4zgE4pU!AIs z9om0rhbA33wE|oMyb>>a%oh=5(;AmeQUOoG+IMb%Q=nI3y#yDv^So+`Q2po4 zt`w@2O>=0Y2*<<=v)#*hsm6H$>NoSM8{Gs)buP$3HI}}RIjN87n1Q4C1^2M3oDi!~ zy}S@Xc$ZEx2iI_foXQf&+c(ewD2iuFxXW_4MLWp2 zcR)uB!*C>F1V$kRGcXgfe$p`u>#!af*nki5QAN>69Ao7;WJR9D=lBsnN!i=7-<$JZ zO7>6N3Rb(@R^>b+B$9~Pl})oBKAr*6(g-y|k+jCwS2mIo6BLV8v{qb-)KtlJt~Os3 zVhkr+_QPdMv>meas;~D<)fZNAevNc#XD^Bz-A@MR7H;D%et}CR8aFCc5{-o`D{cry zeKbHA^e~_;+Mzu_8Z`b^ zN)>ChTQAw9h(>-PXS2M5noPmda26HZm9GOwQfhQh;%+NfA z*o=GV>_q}p@)n{mrg^L3SzXk;oi65+OCpp$!#P+IMqm_Dkd9f9nRy#?umKyf2_Iq$ zw&F6rg3R<)e2u^G&{9K5%=e$W8oFCbv(c=fhZN{wGxaF$eOB!7tj)|5Qo-i zhxRZc6|zRBx-v{mV`T+ay5_gz!CVwPcTxJWl&aH=(n<=n3aham8OX*N$aZ`V=W!3Y zxQ}1)8-7PQ+IM-#_U_`QcG@0T-qOA04^)NY%hwCb`Sx>s4g>aGDYd8-Fn1RUS`l?n z7xfT|FodHkxAjf4&y}zjH+kI@L8P01zbcP1YMo%`s`qj00g2sf)Ik5 zXn~fHU1S_uV;~0M`U$hz@7*rG-O7{_iT~aa_8&*kc%hW)(P}$hvP6S11j8^K%di}B zaCjddU=KdVUhKm`e1b=K3^|D8Ri;Z4j3U19bIji=Cpw}N0|7sHOQ7P4<)popOi6-GqOvV(XVJfC!I%Z%MR$~p;A_E(69XIej zZhEVoRt9QJ14C?gFKTe@^UtFe@$YU<{QulX(!S=Fw`@wvm{#Q6Wprezt8>C6UD%5Ie3hEzJbiodAKzf`|u_HMx-AzPt5dF!;cJCW0v}; zlb5)d^L8qV@g@iV0rni!0giBjGs+yt`)m;uKEzlA@AP1M;=!2n<15FY}APsWRnSq&D z4LJa$rhOkfW4fKvGZ__0Rxe=ngq}^+IpF138c_go?e8 zgW7%^zE3pc9a2NOSE4uK7mU#3)&j9Kpot0UbjkmE8o3I&Ma1%d3eih?3sxg7^ zMF0XZ00S`uLoo;MU@qoiAyh1e31@K*7x1;J@E|Vpn4=o-nYWs7Fjd`iC~l+-hYW!% zwk)bFo-C3qhRnLmt<0g!mCT7ex;&yhirn)Zl&j92ZVbjY{D7b!_Ju@T#W%nXE zbU;VEsOPSfzA@(|EBy>~wYY!^5p)>1gOG-l5IG2pd--COwH#5DW$FtIU$BgCZMaox(ay5i3XGe6xd^{HUKkCwN-PQW1 znyZm0%{*gJSA1Jbbv^B(-uc``&4Fufrv%!X0y|V< zerm1TXm*hbS--oZXhgV<#?d_O$M?7ig?3{H7gWS1ywF65+Gve7=J>N)6=O6X-G!pN za^>TmuzuY7vABYdj%9fX1DjIM*ow>-$p(Cz(H8JGykqG3F&#^>49l?znfN$Hc!^`I zoJN!8LNrC&Se})c7oAU1jBN^zbD8CR_;Vb2%t088A*jZ2)J?ENLGPCI|9BfGa1u%@0*o$*H@|Xejbd!a$EITjwqZNuZsabip*|uJg$>BW zUYvsU5Y}DCv)id~Y{!fX2inu=!Whr6BXy_4#E%H>L2K_J>WbG{8IQv_g4I2lU|<`} zaC?az^dVz?)JTn>wqnD8uE!1{EA|8p}1UnI2**j>EeR8N_s~!6$ftR&BWi z!BQ;41{}j5ux32ANapXfS67|#HP5^{Q8C`3FxNWJ{^8h(SR~MRUx;IXpuBfy|$fjxD%>s&e0`fhfF&1CYnG9&249d4oF4eCE$UMV)-X zg^s{S?Re2gJ^fR7*9GJ!W(XY+h9MPcIEVA7J(Q|NLqy_hyw3hsVQs;_kFxALjF}0B z3^RAVwM7}Gvi>gCV;6Sg65NK-Fjr}Ue>2@frrS^L>IGg z6rbS%{=i@ObPT=RSXvQ|5`@}1kPaUFq5(CEkcePXqB#Rx?9)%%#nhBQ-zb|Yl1?p@XN18y$r|h zQ8ZUr3w4TueL}`%=8qN>z`jT!PO#qkHHJ`piX3>3<5>r`VjptRl!D3v$73*z_yCU! zPg&LFbbOIPKbr|bEj1@MaJWpi8JXCR1CVjM4r}b16^Y*o*7r>yEu!Aw!6h!CB60Oa zU#x|Ua~8634^JkV7u*k3)VFh73hn#)B zJ^?$BizaD2ki{1KiKwZ}a?u$}kptgp%yiHOvv3?&aR(98xh%s#jK&zu#RlBM-*|+- zME;NYt3SOJHRh+j>igF!cJ`B79B5>+p*6uDs854SLMFDs+5o+1eDiP>*2dU9oeM*( z#kzEJ+QY8OLPx!N?(ce)+*|RU+`bME@0#Q1WU|d)-F~u)y5*1Zirw}{!|dGjB0_`< zorpptYkD;|Z$zbM-ZdrIDI<%$xvE0(Hy2k{Mi$#=q}*q*ccV0qbjG3BPIacRa>e$l z6X6q@UxD!o>z z^ctnoYnDncv`VGdDwRR2R0hpb88k~}&@7cft5gQ9QW-Q#Ww4aW<*8P!rsSnO)1(br zC5q505$B9X?MGNj^z?B|*Ayk?nZ_R>44jT>%1#fZt+NuC)y_{@ZfEKrpj6u#sNAY( zTt~lDfv>K~9wYxh%#^i!OI>~kS$^wPeyvh|YfyeCPJYcxez9p#WkzdvX4#NmCXkQH z<Cev{_)sj;rIhBxO zo~0XUMTT0V4ceMQR3*}spenw`{=6Q5pH%cJ&wYjhUbV7jK>>Tibr?? ze;39(^uh#u2;*jcox)w*gDdqczZ~Bg@(b~6A)lfig$oT=ej&L5dZRBUAq~^82G{XD z9BJSIsE+1%6$wbi`;gyqJ>W|HKV~Hl0h|d*NX9!jgd_MK@+*Dv>wK{=A`Pps2_NBe z#Blap<;-Z?i0e0O!|F~fu^s8dC1`!P zM#q12EU6GWVp#IFhQ?AhmK+&5|0#K=B}YbIEHXyhWQxJO#GNvvm$I$o$mmOnjBH&l z#u6HvUX=;XL+k(!sEtg9j7#=!u8BV8Y z?8=1;vxVJ^*0GoPwT-#J*1>f7iCoSOr^kdji7{mqgBC)W6I{Z1hF}M-<*srK_cep) z4P>O6{2D2njJaf1Fh5y9h8vRMM@$z!CBv~~*0CldG#P%C%zlaLWK=#L39irkWH^ot z&mzMyWcW52-b{vXlHo&S*tIkHBg4V3aEF7ux{}vx$R)og$?p;Jsw6R_93#U`$?P!< zA+rHw){*%_BQoqkMz5nALqG=PPmSu92TNbq;$V1*48Dx9wHe>A6fKnaxsPI%z#4!?%|*U zs=|ke)j%^DIe3N>c=|EnhhWHuARprv?!#Wk9c0vj4&UMi#_AcF;Y0ZS;T=H%P#g6T ziDq~mQ*eY?-*Hr6+UbUmuoY)uJkKwuXrAL?KXrK!**J@<_zABzwcNfR#&QH+M;fj) zqvY7poZBvtx4w7bII=ORCFw9Bj$7Io)|#lIRXZkZnAMK@pU28_tcHJkB7q?^py7C} zGjkPejHhwoG|u81T*IiYL<668qm)SP!*mh$uMj!BiBzP+gsHDGC&o+tm=7VZpOM4~ z9EcV=0ZXw4o3I`IMl#Pu5=LSM(y za``4z3VAk_;oAgRhngu)isE3Z*i11IjQq<7;moose8G7y>SG#a;0TW5F79Ea9d(C5 zdwMgd4%`aGx44GGj^uz2W+FS2Uqz4)u=k>B0Hs4(Ao~W-X^rAZ5OJ-+hfq6&$8q=y zW$1|_5QPrtjCoj$-8hIJa2J*66x<*m@J1sE$(V_BWMCt%Kz1VK={#Hz`U2%|z)EMt zVZd28EKe~EbK;(kze0I zKDy;#!7b#!*EOiL%o=W8CZ(t*nmxt-I)9n6{m0-_R;jakk3?` zA`MgF)rf8q+hK-7W7-sYHR0JFj^m3avi&!uo$Lbu7VqMt)^rGd{y9JisG3#4;vhe+woI$Z1Ji zfkPba0Ku)PYn;Mq3}{2og+K8SQ`!8E50UW^hU1%$q+?DpwjiItTExacge~FUfg0U7gW3dnW zQDy=oC3MhZJSM=59gt&lE*ifpg0xQd@~2l6po1bUz+24EmkFb3~nE;6tIa#GOs7QY_i5#$9!6Fk5l z2<76TK87O+TOl6~U4a*on~Qn4f*z?<88T9{Dz#Od?6Tb2D}i>#GtQi?2rNgfU=Rl5 zW61kve&spIkOFzX>v zPD0++($%$ik!4rNfm_<%m9xGZfsq}hG^#tnK_>PEDNb4McTw^@6lc@> zgB5i__nL|`e{jRoDNo*P6%@y?uJ96Od`U5ULN;wbR)V} z+I0S3Pt&_|x+K%AM04IF$gV%JeEQv=vX&$%{S>D`sWfT%SJYlKHBMIeZ(41-kXAU~ z@HLGdt#|~^xtt~cewaN8<>%#6mQpTd`R((cYnl`0tWy5%uQtl! zROM=A87TSj<^{_^sabbZm0#@an+k7J&NL;W+SB)G)gp7{*`xxTG&2wNoGObJ>EY>{*|Wfo7MD-uc9#dC@sLEaCw#>v&xMJs_VkglecS_y1{ zbT!@6N?;45t10FkjXc-_>1vv|*YaGHBNq19%Rsvfj-A$P!c;=xu zkHWGZ%vbK)xyrx#$wW>tc@tA$`jcnK`R~5Pt8~ng?*_lCtQ{=V?%>tGuoGF>h27W# zxqUCoeb|o!IEYX1DGouVd0gN#ULPxXPriRrt}p0+Zt-Gegmdln4e`JW}HL@S=4Ul!krt89y4?Hit0#Im)y>BFT;bj7E4mUVxrGRQGFQWq7eZxIm{ n+CmrIFw_tpYY2^vj*AOz5fL5NDzcTKMR;>V*2ERcOuPRAB7B*!