From 92c2e93b0e47c0932bf87075375c397ab22e6299 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 27 May 2022 11:45:50 +0200 Subject: [PATCH] DOC: internal: update the muxes doc to mention the stconn The stream connector replaced the conn_stream and the sc_conn_io_cb() function appeared. There's no place there to mention the endpoint descriptor, but a separate diagram showing the relation between stream and endpoint via the connector would be nice. --- doc/internals/muxes.fig | 121 +++++++++++++++-------------- doc/internals/muxes.pdf | Bin 12445 -> 12984 bytes doc/internals/muxes.png | Bin 35415 -> 32209 bytes doc/internals/muxes.svg | 163 ++++++++++++++++++++-------------------- 4 files changed, 140 insertions(+), 144 deletions(-) diff --git a/doc/internals/muxes.fig b/doc/internals/muxes.fig index 2c190154d..babdd55f1 100644 --- a/doc/internals/muxes.fig +++ b/doc/internals/muxes.fig @@ -1,4 +1,4 @@ -#FIG 3.2 Produced by xfig version 2.4 +#FIG 3.2 Produced by xfig version 3.2.8b Landscape Center Inches @@ -79,7 +79,7 @@ Single 6 11925 10725 13875 11475 2 4 0 3 0 35 50 -1 20 0.000 1 0 7 0 0 5 13800 11400 12000 11400 12000 10800 13800 10800 13800 11400 -4 1 0 49 -1 4 18 0.0000 4 270 1410 12900 11175 Transport\001 +4 1 0 49 -1 4 18 0.0000 4 285 1335 12900 11175 Transport\001 -6 6 6600 1200 10050 1800 2 1 0 4 35 -1 48 -1 -1 0.000 0 0 -1 0 0 4 @@ -92,7 +92,7 @@ Single 9525 1261 9525 1761 2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2 9300 1261 9300 1761 -4 1 0 46 -1 4 16 0.0000 4 210 1620 8025 1575 channel buf\001 +4 1 0 46 -1 4 16 0.0000 4 210 1605 8025 1575 channel buf\001 -6 6 12375 8100 12900 8700 2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2 @@ -168,7 +168,7 @@ Single -6 6 11100 11700 13050 12150 1 1 0 4 20 40 49 -1 20 0.000 1 0.0000 11400 11925 225 150 11400 11925 11625 12075 -4 0 0 49 -1 4 12 0.0000 4 180 1170 11850 12000 I/O tasklet\001 +4 0 0 49 -1 4 12 0.0000 4 165 960 11850 12000 I/O tasklet\001 -6 6 11100 12300 11700 12600 2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2 @@ -199,12 +199,12 @@ Single 1 1 0 4 37 36 49 -1 20 0.000 1 0.0000 1719 5173 583 250 1719 5173 2302 4923 1 1 0 4 37 36 49 -1 20 0.000 1 0.0000 5325 5175 583 250 5325 5175 5908 4925 1 1 0 4 10 11 45 -1 20 0.000 1 0.0000 4488 8082 612 250 4488 8082 5100 8082 -1 1 0 4 20 40 49 -1 20 0.000 1 0.0000 8400 600 900 210 8400 600 9300 600 1 1 0 4 10 11 49 -1 20 0.000 1 0.0000 12333 7025 417 250 12333 7025 12750 7025 1 1 0 4 20 40 49 -1 20 0.000 1 0.0000 12392 9240 808 210 12392 9240 13200 9240 1 1 0 4 20 40 49 -1 20 0.000 1 0.0000 3167 9240 808 210 3167 9240 3975 9240 1 1 0 4 37 36 49 -1 20 0.000 1 0.0000 1800 11925 225 150 1800 11925 2025 12075 1 1 0 4 10 11 45 -1 20 0.000 1 0.0000 6600 11925 225 150 6600 11925 6825 12075 +1 1 0 4 20 40 49 -1 20 0.000 1 0.0000 8400 600 900 210 8400 600 9300 600 2 1 1 1 0 7 49 -1 -1 4.000 1 0 -1 0 0 2 2550 3300 2550 6150 2 1 1 1 0 7 49 -1 -1 4.000 1 0 -1 0 0 2 @@ -213,7 +213,7 @@ Single 6300 3300 6300 6150 2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2 1 1 1.00 90.00 180.00 - 600 8025 600 11700 + 600 8025 600 12225 2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2 1 1 1.00 90.00 180.00 600 3150 600 1800 @@ -345,58 +345,57 @@ Single 2100 12600 1575 12600 1575 12300 2100 12300 2100 12600 2 4 0 3 33 32 50 -1 20 0.000 1 0 7 0 0 5 6900 12600 6375 12600 6375 12300 6900 12300 6900 12600 -4 1 0 49 -1 4 14 1.5708 4 225 1365 450 825 application\001 -4 1 0 49 -1 4 14 1.5708 4 180 2820 450 9450 connection = cs->conn\001 -4 1 38 48 -1 4 12 0.0000 4 180 1230 8409 657 si_cs_io_cb\001 -4 0 0 49 -1 4 12 1.5708 4 180 2820 2850 3225 mux->subscribe(SUB_RECV)\001 -4 1 0 46 -1 4 16 1.5708 4 210 750 3600 4200 rxbuf\001 -4 1 0 46 -1 4 16 1.5708 4 210 645 4575 9375 dbuf\001 -4 1 0 49 -1 4 12 1.5708 4 195 1185 900 825 (eg: checks,\001 -4 1 0 49 -1 4 12 1.5708 4 180 1200 1125 750 stream-int)\001 -4 1 0 49 -1 4 16 0.0000 4 195 600 12300 7125 MUX\001 -4 1 0 44 -1 4 16 0.0000 4 195 960 4500 8175 DEMUX\001 -4 2 0 49 -1 4 12 0.0000 4 150 1080 3600 8100 Stream ID\001 -4 0 0 49 -1 4 12 0.0000 4 150 1080 12825 7125 Stream ID\001 -4 2 0 49 -1 4 12 0.0000 4 195 1845 3300 10125 tasklet_wakeup()\001 -4 2 0 49 -1 4 12 0.0000 4 195 1845 12150 10125 tasklet_wakeup()\001 -4 2 0 49 -1 4 12 0.0000 4 180 1590 11175 3150 mux->snd_buf()\001 -4 0 0 49 -1 4 12 0.0000 4 180 1605 3675 3225 mux->rcv_buf()\001 -4 0 0 49 -1 4 12 0.0000 4 195 2130 13425 10575 xprt->snd_buf(mbuf)\001 -4 0 0 49 -1 4 12 0.0000 4 195 2070 4725 10500 xprt->rcv_buf(dbuf)\001 -4 1 0 49 -1 4 12 0.0000 4 165 3465 8400 2100 HTX contents when mode==HTTP\001 -4 0 0 49 -1 4 12 0.0000 4 180 2430 13125 675 snd_buf() will move the\001 -4 0 0 49 -1 4 12 0.0000 4 195 2490 13125 975 buffer (zero-copy) when\001 -4 0 0 49 -1 4 12 0.0000 4 195 2595 13125 1275 the destination is empty.\001 -4 2 0 49 -1 4 12 0.0000 4 195 1845 7500 450 tasklet_wakeup()\001 -4 0 0 49 -1 4 12 0.0000 4 195 1845 9300 450 tasklet_wakeup()\001 -4 1 38 48 -1 4 12 0.0000 4 165 735 9534 4200 encode\001 -4 1 38 48 -1 4 12 0.0000 4 165 735 11325 4200 encode\001 -4 1 38 48 -1 4 12 0.0000 4 165 735 13134 4200 encode\001 -4 1 38 48 -1 4 12 0.0000 4 165 735 15009 4200 encode\001 -4 1 38 48 -1 4 12 0.0000 4 165 735 1725 5250 decode\001 -4 1 38 48 -1 4 12 0.0000 4 165 735 3525 5250 decode\001 -4 1 38 48 -1 4 12 0.0000 4 165 735 5325 5250 decode\001 -4 1 38 48 -1 4 12 0.0000 4 165 735 7200 5250 decode\001 -4 1 38 48 -1 4 12 0.0000 4 180 1155 12375 9300 mux_io_cb\001 -4 0 0 49 -1 4 12 1.5708 4 180 2835 12075 3225 mux->subscribe(SUB_SEND)\001 -4 1 0 49 -1 4 14 1.5708 4 165 1605 450 4500 mux streams\001 -4 1 0 49 -1 4 14 1.5708 4 150 2145 450 6750 mux=conn->mux\001 -4 1 0 49 -1 4 14 1.5708 4 180 1590 450 2550 conn_stream\001 -4 0 0 49 -1 4 12 0.0000 4 150 660 12900 75 Notes:\001 -4 0 0 49 -1 4 12 0.0000 4 180 2175 12975 375 - mux->rcv_buf() and\001 -4 0 0 49 -1 4 12 0.0000 4 195 2475 12975 1650 - the application is also\001 -4 0 0 49 -1 4 12 0.0000 4 195 2655 13125 1950 called the data layer and\001 -4 0 0 49 -1 4 12 0.0000 4 180 2925 13125 2250 is cs->data and cs->data_cb\001 -4 0 0 49 -1 4 12 0.0000 4 195 2940 12975 2550 - transport layers (xprt) are\001 -4 0 0 49 -1 4 12 0.0000 4 195 2520 13125 2775 stackable. conn->xprt is\001 -4 0 0 49 -1 4 12 0.0000 4 195 1770 13125 3000 the topmost one.\001 -4 1 0 49 -1 4 18 0.0000 4 270 1410 4500 11175 Transport\001 -4 1 0 46 -1 4 16 0.0000 4 210 735 14625 8175 mbuf\001 -4 1 38 48 -1 4 12 0.0000 4 180 1155 3159 9300 mux_io_cb\001 -4 0 0 49 -1 4 12 0.0000 4 195 2910 2250 12000 encoding/decoding function\001 -4 0 0 49 -1 4 12 0.0000 4 195 1635 2250 12525 transport layer\001 -4 0 0 49 -1 4 12 0.0000 4 195 2730 7050 12525 multiplexer (MUX/DEMUX)\001 -4 0 0 49 -1 4 12 0.0000 4 195 2895 7050 12000 general processing function\001 -4 0 0 49 -1 4 12 0.0000 4 195 3255 11775 12525 stream buffer (byte-level FIFO)\001 -4 2 0 49 -1 4 12 0.0000 4 195 2835 3675 10725 xprt->subscribe(SUB_RECV)\001 -4 2 0 49 -1 4 12 0.0000 4 195 2850 12225 10725 xprt->subscribe(SUB_SEND)\001 +4 1 0 49 -1 4 14 1.5708 4 225 1335 450 825 application\001 +4 0 0 49 -1 4 12 1.5708 4 180 2595 2850 3225 mux->subscribe(SUB_RECV)\001 +4 1 0 46 -1 4 16 1.5708 4 210 645 3600 4200 rxbuf\001 +4 1 0 46 -1 4 16 1.5708 4 210 615 4575 9375 dbuf\001 +4 1 0 49 -1 4 16 0.0000 4 210 600 12300 7125 MUX\001 +4 1 0 44 -1 4 16 0.0000 4 210 945 4500 8175 DEMUX\001 +4 2 0 49 -1 4 12 0.0000 4 150 915 3600 8100 Stream ID\001 +4 0 0 49 -1 4 12 0.0000 4 150 915 12825 7125 Stream ID\001 +4 2 0 49 -1 4 12 0.0000 4 180 1635 3300 10125 tasklet_wakeup()\001 +4 2 0 49 -1 4 12 0.0000 4 180 1635 12150 10125 tasklet_wakeup()\001 +4 2 0 49 -1 4 12 0.0000 4 180 1470 11175 3150 mux->snd_buf()\001 +4 0 0 49 -1 4 12 0.0000 4 180 1425 3675 3225 mux->rcv_buf()\001 +4 0 0 49 -1 4 12 0.0000 4 180 1920 13425 10575 xprt->snd_buf(mbuf)\001 +4 0 0 49 -1 4 12 0.0000 4 180 1830 4725 10500 xprt->rcv_buf(dbuf)\001 +4 1 0 49 -1 4 12 0.0000 4 150 3105 8400 2100 HTX contents when mode==HTTP\001 +4 2 0 49 -1 4 12 0.0000 4 180 1635 7500 450 tasklet_wakeup()\001 +4 0 0 49 -1 4 12 0.0000 4 180 1635 9300 450 tasklet_wakeup()\001 +4 1 38 48 -1 4 12 0.0000 4 150 750 9534 4200 encode\001 +4 1 38 48 -1 4 12 0.0000 4 150 750 11325 4200 encode\001 +4 1 38 48 -1 4 12 0.0000 4 150 750 13134 4200 encode\001 +4 1 38 48 -1 4 12 0.0000 4 150 750 15009 4200 encode\001 +4 1 38 48 -1 4 12 0.0000 4 150 765 1725 5250 decode\001 +4 1 38 48 -1 4 12 0.0000 4 150 765 3525 5250 decode\001 +4 1 38 48 -1 4 12 0.0000 4 150 765 5325 5250 decode\001 +4 1 38 48 -1 4 12 0.0000 4 150 765 7200 5250 decode\001 +4 1 38 48 -1 4 12 0.0000 4 180 1035 12375 9300 mux_io_cb\001 +4 0 0 49 -1 4 12 1.5708 4 180 2580 12075 3225 mux->subscribe(SUB_SEND)\001 +4 1 0 49 -1 4 14 1.5708 4 180 1425 450 4500 mux streams\001 +4 1 0 49 -1 4 14 1.5708 4 135 1980 450 6750 mux=conn->mux\001 +4 1 0 49 -1 4 18 0.0000 4 285 1335 4500 11175 Transport\001 +4 1 0 46 -1 4 16 0.0000 4 210 690 14625 8175 mbuf\001 +4 1 38 48 -1 4 12 0.0000 4 180 1035 3159 9300 mux_io_cb\001 +4 0 0 49 -1 4 12 0.0000 4 195 2805 2250 12000 encoding/decoding function\001 +4 0 0 49 -1 4 12 0.0000 4 180 1365 2250 12525 transport layer\001 +4 0 0 49 -1 4 12 0.0000 4 180 2445 7050 12525 multiplexer (MUX/DEMUX)\001 +4 0 0 49 -1 4 12 0.0000 4 195 2655 7050 12000 general processing function\001 +4 0 0 49 -1 4 12 0.0000 4 180 2820 11775 12525 stream buffer (byte-level FIFO)\001 +4 2 0 49 -1 4 12 0.0000 4 180 2550 3675 10725 xprt->subscribe(SUB_RECV)\001 +4 2 0 49 -1 4 12 0.0000 4 180 2535 12225 10725 xprt->subscribe(SUB_SEND)\001 +4 1 0 49 -1 4 14 1.5708 4 180 780 450 2550 stconn\001 +4 1 0 49 -1 4 12 1.5708 4 195 2010 900 1125 (eg: checks, streams)\001 +4 1 0 49 -1 4 14 1.5708 4 180 3720 450 10125 connection = sc->sedesc->conn\001 +4 0 0 49 -1 4 12 0.0000 4 150 600 12225 225 Notes:\001 +4 0 0 49 -1 4 12 0.0000 4 180 2220 12975 675 snd_buf() will move the\001 +4 0 0 49 -1 4 12 0.0000 4 180 2310 12975 975 buffer (zero-copy) when\001 +4 0 0 49 -1 4 12 0.0000 4 180 2310 12975 1275 the destination is empty.\001 +4 0 0 49 -1 4 12 0.0000 4 180 2220 12825 1650 - the application is also\001 +4 0 0 49 -1 4 12 0.0000 4 180 2700 12975 2250 is sc->app with sc->app_ops\001 +4 0 0 49 -1 4 12 0.0000 4 180 2490 12825 2550 - transport layers (xprt) are\001 +4 0 0 49 -1 4 12 0.0000 4 180 2250 12975 2775 stackable. conn->xprt is\001 +4 0 0 49 -1 4 12 0.0000 4 180 1635 12975 3000 the topmost one.\001 +4 0 0 49 -1 4 12 0.0000 4 180 2400 12975 1950 called the app layer and\001 +4 0 0 49 -1 4 12 0.0000 4 180 1995 12825 375 - mux->rcv_buf() and\001 +4 1 38 48 -1 4 12 0.0000 4 180 1440 8409 657 sc_conn_io_cb\001 diff --git a/doc/internals/muxes.pdf b/doc/internals/muxes.pdf index d0c6432f8207e6be4514c87f46c26ef458385a2c..54f8cc77fe640f1ad7f2a4bc81a22cdd14972202 100644 GIT binary patch delta 10112 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 delta 9558 zcmaiabx<8&mn{T$C%6RHdoS*AaR{y#cXxMg@ZjzQ3+@^;xCGbW?iwI?u*vt$)O+*h zH&w6yINi0*+P&A=wNIT|UEON&#Uz1N(GBe3?xg1AZsKmCVq#_CCM-(DX8tcs+Q#19 z!d1e_-pN(Y;omcsCiZR?e`o(M_MaSKfTVYx<5ZjbpNs9ETZa5topLK z19L}tgF3S<9}mG)0*BmVgHdK3=U>F)q2kTeu7!gj=?TA6O+8t$Rc@e2qjCAF`0YW(N%Nc(5B-6J|o-U?&xu84k7@##%gcqX>P0@c=*n~4`3eVgY?g?}xvKl`l z0GF8{AB0n@e6O58^4uB4*o~bFzoP#ZepNDF6zbfM&4@t*tjr%MA_E2JZ9X|oKXx#+YtGt*;##?2`;E06{VZ(sK!C$j72<98)0 zX-!s8mC(shv5~VPpWKR*3*cU(_8bXvEUFnv2a2i4{xYBR4}o_hLcx+hGhJ~5ABTa{Ke|~#@X0~&^+D(rThgCXYV5M}P~?6~_Mp6h(?o`3y5c)dMe??;+?YyNZdcygTw+DzZ$b(Ej+ znI7tUhRwJTf`J`-3=WI?kd;=XHWrzrqC8_B3gmf<0~S$<=pi$PJjkIG5{Mv+ zk((%sCZp;a-7Ztmy+b&_)%a3cX;i<$6~0km*4|}SLc*JGU!e5390ARyV87^Izu0Kj zGnMU&v*rcr=f8ki^h^w6u4RMdDQ3Sxjqwl}f&$j^={C%bvG_h$5W8Btdu(Gwcp(o_!8v5uSM7IrI>x*ex} zDzU<>r!fijMjIC=MXBiTgiO(gqCz?oxW4~rQwA%_Z{#>kumjP;bj%&^Ox^6Dcc%So zXHDXnat9^28DTuQ8WBGAxr)dHb>7rAzAlA#@bi*hCANBvXsi;2^KHxOa@EV~C~l2z z?sl{_+^Ibrv?-y8Xje(9MdD?j2GQi^qSqer|AzFT;s$%%l$G{`hpz0EN%=E=?imon zrkw>|nIf=%{;P06-Ez{Iwg4JSYq=kWJ+DTsk1dc?@?K_^A)mf|4y;z}i#jfDfKqde zqHdrnOukpAsGRO5(}#RT_}^5%FN!NV9vu0Br-HYRVr=Ibq*E5}>F616Q+jkPk(Iq3 zQB#U6-icsY5DWj)#IVW=PaJ{OP&UhOZ?ZI>{#NPm&=P6|S(#q0S$4?GUN8B3JCY^Z zw)~5!$d!3SrgL@tSIGgtz9@?+Mty1e<2)_j6wH&!xdch<#aC1`7VD=%Yq5D(f`Yrk zG!G*i`b%lrlOUji)VK#>a%ZIqhe@}*#F(&96D1i}x|9qh*!M#enj{9@iTha^LqY-) zG}&1bffM-voYE>H9KsmOJ=8m@+T=*Y0>f!Fpa`eN-b+HXxL@UkTJIQqgrVc+WG^8X zWm*`Fo8;T4&ZX@VTEQ&7a5@rso~)6hW}qI+b80dKLCC;(rjI({M}liAEUqd$mKQGu)jtz}^7R#tOy_wm4fPPW|uY87O`OXzY9fB9(b zK0}sJCs*hb>G_K}H~~Ifvo)d4bX?J03mjU3E52YSI~i!p{54yG%Lf%UK2OYQNT`UH zLYh*6o7Cuv2=ODFdE!F^XziPViCNX_78+~61dUb-zl1|CO^hsFiF6L)hMYGqbVg0V z7R9C()b>)IErt>^EUeQU1X6{gzh7E5wsZfE!9z1;31@y^(+E~gEpBC;{XEyB=U`p< zh@|yV)-TqlFkpvXWoK7^-Cc{ZrXu5v(YT?IPTSbPQo^_xwH|PSH8Wz^k-)1j^^H=p zKsrzQ)m9-H@GZ*oBogdnXz-c_JuC1?9=;WQ4PPCN+NS)Rw&63m)EUCMxaFAY)xf?R zgQ1#UVMU3ZSQzAH-unUF@^gADkUK7tk4II5$`)C*mZr8aH)pmT+1sBG2W~^y88aP- zuJ_q3!%WBC9&1EBtXJnUg@_tCw0>T3Qf;eWq3`q8YmT4-<~t<1pyGl{=U)$Yto|Cl$wB!w?6~aj?8X#gz#_ec z9&7iQ5?z-aZ4RkK8g#c_@%)-;WV7MqDXpy5GQsKCGMiS1(!do&Z-)apV(0d!!yMH0 z3^76MZ`^ce`26CBWjM}u&^iy{38}QZ_1IW%B`NFC=F4*0L=<_ltD`88wa*!uJTi-K zsSwK0bIza(4pXtDV*g;!WfQu!pI{-VmwAQS>*tcCkhXTL17nGey}|D?j_=~P5OLUM!={G-^r;ztPqoq%)afJq_r2$|8i1@r z`?2^n7TA@jve|{~0~ST@C^0CF{bx4wZ29{Zx4B5@~1=y${e$sf<4q zb)Q}RLP9@KcwD8Jh2AfjELOg~th>W$)uFimIlc6hDESmeRVF?wT55Kdo0+yKweWSx z&fb6^#0z!Os_6)sTTlv(oSZ+(Y7fce1g!=bTKZup)RRp)1yraVB`rLCmC&FvVHO@z zW@jk=MdCs0BWD>mgjp1res*ndBaz0cSYB2PRKH6@%}gV>hGuM2Rp|T~LwU~@7RCcX zoQt-SAa!)UtusPk?J3ItgBeow39=&DOjF|6BrZ>peieLi6^cHjSmJ;;Kqc(BRG)V= zt}qPhW0HXHIZeYZU>sSkJ=jYWUb+_L!t?;Il#OsxQsjR02el%6IY4U*OC`(U5=em0 zQ|?>}?IN)cg~ET0%&OatB!xBoz#+%<2Xl-bz%4!)a4QxRX>5&U3y+>R9~}f|c!Nts zT5t&MVHpbp)(Faya#I`SD0d!3Ygij2eOx@hJkcnucK*0p<)={pj*ZfU^}>ZT+i|0J z)^V4xGZE;7kqR)u$&sKH5LUOsy3v;_kr`jEqcWTS1ogiZ*&8!--s(0^E`CiQGZ**H z`{dCADu}pr4uh|=GyWDEz0EQ-?cY=P&{O<_7jXay&M0M6(3htefoWK`j&dV;un^$t zZZE95`-LjGC}K-$hltgw#0T}1UrWD`r28luy<~2P(?6lGoU%YPQ1ZIg@NCqH$Y;7!_yA1pL79nZytrGoRApNmwu6uy5x!s85joS0nN z#o-)Q;V)%fVel2HZVE@J`6}7)?7y?0nD}Ds2A%Y*YF+j90dP6+2| zG26!L%S0}^Vm&DA?7tfEnW$!e+zyp;KwKMFkPrIdHhZ83G&9a7&UN_p*rcZFw23EaSDj2CC4_%r*9XM|5MgILNMV8M z4xKdr8hEul8{q&S;lt`K)NDEZOGuWe_!`2OO|&?@e2b={Ca^o0Djp47;Z4#6_E+4@ zMlH=?)KQ^fL#(zU(5Tf)j>uon0tOzTKil-JOL3e=Cj#fBn2o-m6jV!?Mk9$$&V{taHnJcmpas=zf0R9c~lE@6B|j?nwWqq_Jrz3L8D*j zxUW&nPpMNs`~Q^hvp>JF!c~PDi+tY4_9NW>jk@xotu#K|m^&hZK+Z+KcjgO;agw)i zto9ed=OstRe34z|QjMs_m)sUgp>Zy@ViLM>{F+dy$YGL^q?>?D*89(AtuiT8!tW;f zD0)TDvb$nhv_OIeGIzD=x=UM3*JfL44ID|nFFNx4>IcA=KImrq5>JQC17#{akFgtDgS z4Re3d(2cNbeIr(j6-P0*$R;<4#E9&t-AnZxqBswq9gj27xAOndQbs>S=;-NPe$GhLb0f1Xs*4ieOkI*yYvoKpZiU7fYB^o zkc?BPbhVqi%rMDi?e2t?fHD_Qif$A(BiIXpnwY`SaZTHSiI5)s_p+c4IKq7AS6t%f zg7&cQ?gQTVe$3UrfVB4^P6KY<<5sLr0~C+8H?+g8_okQMUY)K)EEnGp(tnvJd$?)a zEt$S8Y9k|0vSlCt-7Hpwt#P=A8&JZl$U#*F*FC;rp1DUiRsZ-+*zDz4VyBOu!Vo)B z{`V@5(vt|SU3c#e_LXwb%p;5v#7#c-YV%y5~aLBGGuugHOCDoOlpJyze5FJ5DZ=s#&Ubcu5Ed%G-BQX&gzU+qq3dUk5xBStRjfo)UIRe~R zIO2=E9CQtLYT0)Ly+K|-ldnk*P}0~~WbeYi*Fy~#3S27Dl4PpQ^KSHaT1xKPlNRR< z-~Xm)XMdXQ!KW0JMuk-*g1McoW!GT-- z9vS9`XfPN$?J(H>(`Yd3*k|6dI%kfoTz}6tPuQ(=Ji{1)Hd~ES&$t#Y$xfD+JD2`1 zlgU4^x1e2t-=WRl{k=W>LTcx$uEtO!07r^bwOUi(T6lRo*a(#<6<42bhacb;vNyX> zK=%IPchuMu+Y|Ap@fVw&otqoqecPT+mIpWAE_b4p-*%y0e_&8tQe&dG6+F6qzdaq? z&)xa9yxhHR*7G^J{$_&Xjdv0Rr#?k=tnZt=oInqPh!ggjKtt%t7v>pFSBi{SnRI%0 zM$ot6vSSj^Zwvg zdkXUX==|o}Zx44;UrSaW=gK0Jb$#T_jnLy1w|@ z3n+zv2-35WR4|`Oe=|v5rPf$`Yk8e~ba?ia^3)p$Y$tl=Nb#$bvc`*dZu`#mentlB z`}*8n-xX0b+bRTprN-da1HN3^c1Qf#yeNq{C3lH%d`SPv$@u2$#T#&Y_U7r;a(aG# znpejGeB0XWFz)dyQE8lZ*JY!cuU5zp)4ed zC@62in$vCT5Sc^6Ul&fj&CQ?{!(aCuEET>UkIww(0BGeB+Y5)04zq?;! ze;lYA6RCj3!4?(xp#rC-zu(yaN?SH<6EM(Avwpn%%hJ#9_T(TNtJV`;!Kk}!*%lHy zF3v^d@D4$riDL`P=?<&b@WM+}4J+dEdYd7y?`x^MSWU`yWX!!qR?y_pb#P(Ph~d*yRuzf6~D#Xe(txiDfB zV%%WNF&GfU+!YK*8YB&CiS`~g@jt)J_x_3;h;zYrgcde<^(bvFb{WwBb!#^|{On_A zY7*+4+s4q6A+Q#5zearyt(c*Sh)r7Hj!gnquZl*gWe zxGm@#Gz}~fJ-bB;7e+#{Fw+BXb{4amV3M1Cl@R@bPonyYJQsC5$x0fZH8PQf zA;Gxw!;cRp`XM(~=fR6@Zd#tP+PHdm{P?Q)6%RU*p#(DT6S>Ox_$zFS-2<9a+xb#f zX6JO<4%Q1}r=G*Gp~EDA4qi7<_h9kh>*tl!T-_FLZcLChCep1DgMoBeeJF9!@aSGK*|6z&*GW*Vu?L8Gxsq|=;t!an5-LJKW&mY>r*j5 z{1;O|dVLL7m`FtlaJGcnwFD$UFDPm5N4xl#yYTq8G}CADW7bZ`Um45-Y|g%eA=q=_sck)hU}%PUQnO|HRyO$;-H8Lyx|?j=H-wRrZUZuioO`ewRtjDWaoSXP0e?MJl(^e}o zm9I--?kG}bq$~;-Qtx<(ZL7SI%JY{Rg!B>9Z0j{sNZ1seUbaSnp~$N>IrkWDJnD*c z_$h5Wc4RRU(3SjPNgc!*skSHuCOVIls<|d;u=lg^-gEhi#FYMgzEJ~i*=C9FGoNgi z`R(9QX%)r&^PakvZ)WGuQmfI&E2MY(*BW#^7g~{6(8-FkV=FcAX{E?>?qIEUhu6B0 zpAZlA@X}VJ>~(&@tpO=_UhOL-ys<(+^3!|LcYNH*L`1BJ++0+=JY320L_@F~$vDKU zB)n8WDkoE0R3RaNxQUyEw3DMdKvPCiTSY!Ol$4>dlT-_q67-j&22l4fb@y?$0BHOj zKq4Zj7LMls3Iu_YLF565{~6QRL>>hT%b6@nNd%P*sa}G=O)Y#!Xwi^L{Rthjj0m5V z8QCO(Q3GdMH&0hDfWly5c&@mb#~K`iUMv-ZidhCZ#m;%BR@pooJiBn$eA0D{QhTu` z7IA;i2JxcfKm7Ib<$L$Vs!T8$d4l8zm&FuIHWs-by18G`J~J^h<3mYVyg!EGVD?3; zDWF2DyLEUuf=3Zd-ZOc+RFP5NU*ii2_Z%UztR;Sx#3d9x74Du-@i7~Uy^d#NHf-*s z0(1{p^|63^MWVGI(W@T@j6z&waThO_WFcg&0c2lj&D7+jliuON4 zgK)%q$7W5VOrv*8SmTXUlUg~-n^-ITuPUHt#FcJI9-MAg`}?K%<1>UMCx`5@H)uq= zl&#jCQW7!%R}Y9lVB?=ek`1hHVZ83-3vaRE_Eoau}|e#E<(Q)^U` z_?;ORMp%Rb$&^s~!g5BUu>502{0T7=M&j~BJb}+Si7c)XGe5}X5_r`Luyy_SWF??Z zNsM#?BT`7B5wV!k5qg-)#n;8BMclJSgxm)ukRt!FIaq}Y`G(NPNqi*yU4(LWY%E{UyW`t%{H>_YvB z;LZAhEuWEhn~-oON2A{jVx-Xkt$C;xg~+^rMFn}w_Co5=+DY)2Wxg~9MMCQx=gpOc zXS__SKnV0?KPD^jp4~^7TN-{?tHI+gwZk&%HGsBid-3d< z8B*ueR@=65lNlM#qUPdvLq-sW6Vhr2RpXeR-8l-6W{kubbFsL(`g^vNyM?MsrxAePJ`C1?1>T(RF|SLi4oIChBV(d3;k z0+4HL+nQsC=18{&F(b>>ZDT{)7PqC)6me`K?4cJ0*ou{2XGz9t zm?=72>NOTobS>|%@v9iT#p-ku5w{26*5n|c=)L5_<#Ap=tFMLovmva#7ZZxqGlogT zi|>)ihgp0LOqhGHtJ8UC(V4Zti4rJo;;e0?8eI3Q^?w(q4S?y(@5|4{z?5{QtKr{) zTSRHR0n17ZPm9=!=G2hl(}-mr0JD?ov7vM7Xb;yvOQ#u z2$zLtTe{-i^$Ism#HUJ-(j9yDOJ9BJ$B+FW;nbiS3ER0_}RKX%|^CG5q6y<>S1IBv)VgQwGhi1HV$Q?shdP?YG>e9hYsP7 z)V22b&mE6Yx2>3=@?sjGF&bvxr?QfL_B zV6Da)>8r4C4C(Mmk@J73QV%|r5M&yTr5MAOg;NFJ(j~T2QgS3T{DgPEcO$P}!aS$pi3^3qX! zEoZC`i??phWzeN#o8`76=FFtyw2zdeq2;KZZGbLUFcDsCPDnFrs4Mye!h-DAQqx*R*c>-&wF_J9Eu1UdP>{wPVWGyr`1|`4u zvkKcp%sw3pcIioP8}Boz1aNMBTvgYEcW%1J(bxi8jwk_4Vlvl^x0|s0 z^q~!Hw0)qsoMr^o{H$*LSRRfvo`#<%#%y1?sw~uNC3!=vva=VEzA4ITNrbP^y4F2s>yk z@PO+$0P51^3!XjtoC6-R@Shyy*VD@p~n+HbX=t${m=g@Xe zDiaSw%@ zS^M?`G59EPD`nq%k2c|ULO4IZyswP)WklCrNxt?}X>&Y(O{ z^I!ny0W}D{Pu;r(U3{&vQYom>vOKYc8yL~5rqYn$+*caF z*R515qR|9>2`Rk$+3ciQUBk9q+K=`)y+>R?jK*>rty%n&v|>Y8Nd{`Uw`D^erBVnA;5O4|v$nJxXP+?3fGT*H>@0Lv!iJwu%4S981#lBy1r=1aB(sxvE%%kmhOTX^pu6%gK zQupWQ+XuVexo*}UXoewaQWBicZ{z2#HT8I4=9QPNde!}z+eK2^C0x@tY#vbQbOSB? z-fKr_=l6FzcL_+Y@sL&|!yIfxeLrBXdq9CXe8pGEr9Q@@3xGy8J?dEV$m)`$_F+Q$ z^|$Q>w-o7v@%+n`pOP|fEJq=Y7)jSnaS;Cs8DXN=*k7AjeJ z5nO4v-t>R0Ob-|v8 zKr!km(f>*#(*-?ufCHfCKBV_imINfP@L$Nzg9DkpT+8bp5`OL2-3Ic(L;&(qC{z=& zvUxi`rH9n>s@jI#CF^=bo*QTRwFl8_1FcE3J`7OxAg}7_VTUbTBSsT1B7D`mwW<3+n6R`~mRW z;QsoTX>fCQwJ>q`KlXtm*_s6a%hi~{5(@j*lTfl5;(^$J9Bdq18bE#lAcp`KFAETq zoWRETzv5$T0!lZdB*=OF_0I?#q*C~E`F~6iShnZG?0g% z`yUGda`W>hQ*e;|^?ZUHl!kmIe++5sze3BBJV6Y^Q^xu!v;=EvfE1*Dj?53q=Y9DNtO47b~tsTb$tT?hZvlaVfO8OL2l*DG;ooHVQ&|t>)VBC+-ZLtzp?^Y>O4#h0g zw3_bRoWRMIll;2A&e#MZdw`U`Z{k1L|HF(P{FXBIdoBvG-@kD;vk; zlv9I>Jc7MQ8nw}G)NB^6EGDOfFR*feG~u#CQY$w;yr`rA6$FB_OBB>W7B->dqb5L%jDSzUEdM-<+*pEuID(62i%)c^czr++20 z>F@gD&coyO@8{>|Qn|fugf0vxS#4J&Bq093-wUL)3}VDfG&eaVX|!#?8w@aSi|ub~ zBqT~CIVo{#%t;`Nh!b(CNy%=jXkIvOlcMe=axXeR(*UBfAbbu(%5( z#KpxUFvan6a&nM>jEri)jeW!Z5T$V(vF@dhjl7sxMti%U;e(Ow**?jCiX8>E;M ztVYUs0Z1A&&Mm!fgCnaE#tR~}BwLeCE0k!iWtO^9WgHp;1{)(~Z_Pv+$9sEc2{=^< zuNb`Hv&$K^&#xqEi8yvTEq&$G_l9I?;@;yBqa%f!P%%C+@p)YF^41;**Cq>E9@YSG zuPrnUbG#|fJYGs%oFrh}_Gn?~?2VS}`3Dr=CY*0)DHpApHJ!niubqAvU22)$*pY=N zRTWPCsAdj+ufYaZe>Wpo0GAMZfeFsZQS=|3Y-v}ne5z*Gqn}ze8jx5hM6sEb_f?z` zUWNtvfH``n4}S;(7?R{BHvrc^)-D|+W{c@DqR;7uLjfP{tQCQ|&f-YujEsrZIRy5{ zKWG5Ef-27s+?DK($MIj^rFJK$TGL($=#~2@p}#Ye zij#g#r#-s)_y&H&4m$k^SrzOQsz25rX&+`POKJQyJaGRAA?%15d`hZ}_$0eVkiSX@j>-Su0tKlIwD( zeeB9sfMad483?!?qqCYzdU=gSouUN{{S~pDpvy-^|G@M<1bxSAulmnFLnM95qLp|& z1Zi}tgj*(PkqZ%#2s5u_e4Hx@aXT}Xe;;mK5mCH|$&8rCE74wGByKD(DUBRf(_J>_ zaY{dK30Wj-9u!{PCI;0>RH5Fhhqn0p^TAI_mtWQitFkY}+5zSJoPH?t**MJL_3|6= zLQdcOHR@cDrNaor>nt&L0aL#pF)AS1*^i~pmu?MuvYWY27x{CfxE=0w($dbarZFhQ zQ?lgHcs;Iqaw=FGg0*B(_wja1f4gm%u$q#ojL^Aa1uZIa38k?4%>gG#`wl=YJ=G#y z1S%7JoTn7}^2lo*i~6EuDohdLbb;3f`P^R}y88~5#$-y4StrUPL?u0~-9-L(a92tM z3hvPnp`2x@%f^^9aWTbnJ4p}jx~DuENt06G@|r#Niuw1&B^yQ_V=tOsKC~aW>M~&j zoM-Ax5UcWNS_5&6_MHca)uE(~b0tSZy3@ErIG`|grmY9%$!co1w5_pGMo?`U5_sD- zTp-T=*1?4U__C1%tYlGj!nMbXqd63VedWN^joFrf(hwy!Xl)#%oI+M>3mg$C(ATjo zOgZyHXoRK>DSD=Mj11Qn0?DZtRFGziOY(8 z-ezYoX^m8RzBo!58eXUoZbCNp;Gv93H&-Fyb-=m$C57i&d#XIvm+RG%Mu8KyAFK58 zyx=;%4-3c}%99?}fus|XcSCA_+mP@ic%!4~YgV^T|0zXg_}Qjjn$Ox%?3%)bo7GAp zL?9+X^y=izGW~$hf`o{cZBopDuKyzJwYC@ay~yo7q+Py@Wm*(L zcRx6BbDWLro6hXh(o1C$5x z_bP7R6r;TSuum9MH(zPg)8LD4$I86&QEg`<@`m=pKq1$FEATj`wm zT_|lp2xQ7O`n=XF2w+eKd^7TietYQqx=oMu=eqAL*AOj^6OZLU$6ucJRa3{3N1FSA z?vR{L?K~RCv&u-|$>ld?UnaXP`ni2VlbN{xXGSym%Yptw2TyO|fr60|0=_jzJ?#>ew2Ft8i9DG%G<0~g zG`KE0ir=3)hC%Bx=4Zo@)fOb)nTvHbKCbR=ow!GcgF_c&3V2~No)xSdKD2DK%!QRZ z_bTFiO(u??do>vwtlYhGSk)_Jok|bVcH@Sr-M;{I{RyAB-U6kp$=#5Eymvho0YGrX zYEt~*JZ-4jQbo^MTg4k#kacMC0(=#sd$TwJnqz(U{+BHij}>IGf#bQFfw?e-B=&di zpUAcsq^)?QNBe)#f#P<_l->=oPjg_^IK^0-c@pzMIO|s=OGyZ>pRT?5t8x%c1ip(f zO%qIZOnMaa#=(ypqU`9tGS=Zgz1$M86=$>tV!=3;9mwZ|R@QOGPEJ=-_Uru%XhpgB zfAdlG3P&>;$0!$(j66}^sHsIrcwnk9J|{(8#e~8NuRgv?+}-yQETMrA*Z#k6npu@C zqQh*&P55hIhN-t4(SXJe_p-HloEcwkRx76UXLjIzS@h}5G5aF8dex$0rndG?hWa9* zP%*JZmXD%Y3osd=f$Y85C0q7%9vHBjho^85naYplV>wH;u4OM9M;7eu5v z4UX7tqThE(|FbeT?|eG;cq1~p73?keS3LqR-|!y!9UJ70h=0OeUaTOU)uKq)phB^y zw5zFOa|JAbONXf*IJ)CaBWrof!lkn!9ojoj-#4CPzlau^93_KG*qYbujE;3em(N;9 z&9>y>GFjX7hronZC7rm=ej^+b%v#F_Um~u(d<^VCuKxK$%9shV{ge113N1*w2w=a+ z|My&?H4KR`Oe4(C4)Ga@*lzO9oow!4Hp-nwsfqj%ZvrOc>Sh^=VRuJ;d+D7UeEP(7 zbo&&04h zIfLWz*gsV2P4NyxSdUyYd7vS3;dFMpG(87x9`d1KK(7S_n9&cjyEd{yWftj1GAS@8 zo~xpS;y!on=Ztz;$YW&j^ln8jZROsy}rh)!2^pZ!*O%PZ|+EC ziT@&J5L=%|Ns^dukl&k}!iMhEF!+V20cHNcUEuJQlCPXB5uAPx%7t5*aP5(;Na__x z_Is1aTU&+ijVo0Jfi`z80r0hd8rVG&L#H)8OMR zuBZMFHg1s9$dG>;Mvcp{gqSC5y`br;sw33&$v%ShR`rf43D^VF-;ZzK3mfliMWiwW)1}=e`8%MM9@@kl#Ha~ z0H!YGr8A$D3S=6yBNlc8txJ`k|B5Aq|5vIRk`f;>(YSD2jg)Pfq_X!XHEAM2T*|OX z1{A7y0U5hBS6@5(C+v6$%k3XxS0Z$1Q+6c#&5XGNk=Olgn!pqVP?X34e~%M_6qi0Z z#hkG_cv0R5z7FZb5ZpW!H@z(Aj;a)B-xwj5vTJx}Qp1Xl2#Z}>E~yW`Sp%k$-t8<7 ziWkK$7*&?ems^zFUrz}Y^VX1AO5^R2c&~`rR;o`7;u(EU5N3W*s9K+8GUGLn97l$L zwNN6M1I!AZ<7enh3(;r&_B9FEn^&mkN+?A@P^B9CONiF2*oM9QxDURqP^c(TNo2cd z#}!t^KwAcZ-^P@#OvRsv z8WmW1I;EoJ(38~J(DVE;09{5?*wpWzMp^TJ72L=AVj#e7c1)uP6g~narKRh8KgM`H zxg(=s9UD55@sDEl!J#7IYHehm!O9|%Oj6<`YV19Foat80M)?T@f?-jej~YunypW#g zGNxd_8;0~T;ayBXOS+wC8u?oSV~IVcm0%1WD<<;^oTzq>EnjULCF$oLH| zb$UUTt|sSNE?S}eP~veePBDz;@A3A`nHMCJk*$w9pud@O=xcz;g!Y(!U-T3PfELw(y<&f`!PvC(&{vKW#quGAh zZKBSZ+BArb_cRhA;EI2w64LX*FXIc8Xk>Kzr`-?8=TYu~nkT_>b9&QG)Q@gK1R*LS z_Pl9WSRmjNdTVl*1X;&8gnr6`;XEZ+HprYPi9I|4SRpQpJXZ+w;&4l3+FyVXXq6*_p-!XUr84~^aqEuQ-GP3N^V za}?E1tl2wN_{p!*Tu;A!1p+I5_m9|K=dUu>2UD1Ko@~_v7NP)qN%xGJ`F+80S5^V^ zE=5r@1UoyQjdWuH($7d|^4q;}=igajV|~y~!Xzq?9;NiT&en|0AKo;BH>SDsgOA(D z{JjvX;Ks0O(l_8Ht2he={4-}C)e`HGQ9o0A@e<99F^a+U9>1(0=+c5EqiB~&12IsE zSSJ4jpTaIlYAe#lxU<{V4i!%csSlz%*4HvQVNqxF1)FUlUtowB$MWYagMg@7bBVop zv2}*QkGL`=2{IdXWzWkJL%uEv#@#NH@APf{+0xgIPc&hk_@-zu%{JHjW7-`{Ig-_} z^pgIW>FF0$JQ!yuvRenHe`l+Njf|Ctu&osB-Dl>hXzAaJ0)H7lPo}Aip0}*fqQI12 z17DhWbWHHZ4;|BYW0xwDbi<3x|9I<jiuHue?$2 ze`4ro3#3vh)rggKanZN(J=bs?A;B09NNVUGr>op|WVL2cZfuch4ddo@)SKAx_LwCA zw${lCcfP0|W3kZcg#+0?97r~&3MT4zk(jr(7LA@CR`%c2uqoX{;iJpk^uxv&EM{jw zy=`QGRZU&1-dDNJXOS#aS0R9b5y9{dE`M8>cdziuYiwG%d2D$bz~C_pw%bFG5P*2M zclGDrqa&NeFL_W{r(7(l?T9+b_NG~-)qHt=gzjPwdp#!nH7dis^v&W+_x6k<2If&z zHS0gmi|*t0=CWpx0SU_l1Lnk9T`XOkNTbo5|5865*fJBUtCLr@@Rs@3r3K6gFFDYS zZ#&`a$JxS+V)N?8$@t6q#rTPKx+NGbwEBW;8l&rHio_R}Lb<9cBLFI^g40$h@&IE3 z|ED+=QTkI|LQvZ9IK|T`D)1_?hVC7Ne~U8j!w_2>R3#j9Jw)zst46Cs0>9g3WBq&i zl#lPDeT#9<%IuX{Z(4rb5mKF^DWd=;@6fN!ge4Uqd2hv_!*yo@|Z9?V_Ps|Cvm)YO@y4G2Vdd zHlM?QsC}4#Z#JY>QRpIMXj`jU3q*>>8sb?@FP&DB=f6a6=8-G~vVzs!7O^K1<(v3H zyRoR55;VqliYPy3witanbr;t~xxxXy8R1H?MbBmVM<-^VAn_4r&B1*cET;AH^RGAK ztm)!8ON0Z<$=5Qkt<1(es0x{Cc+rRkl=i9!HGzRc{OYiiJkkqSmd6r;Sru4KDVZNS zod`WaL1^^!M2byeU$DZ}M7CJ3xu>;AXo*Q0dHzk6yCL~+D*R)1yRqGO^_FS&#)}u6 zYazNXfhLVCY`Bh8jSfUMKz&ZcCy(eyGha~j=<(|S^zY<6B*a*tj2e|!oAD7>T8j@a zq%Em=Kfawz(P}%Yr3HDAU130e+hbr>cW|Z7NrEpJ;+^O9({PMSQz*YErbJXm0g@%@ zmkb@x(GaU^d(X7om<}?i@fs*NBK!i3Ra_gjMI{7dvDky`Dp79Kw!V8iMCH@o^5dS2 zYo@_S?YFw5fLZY4Ft4YWioG!cfXkTIn$HZgFxD~h`z~Z)7mgCWX)cQe2@IDmzPiNN z&m;Lyh|;5pr-y)9#%iz}6?cYY(fq1IEm~4Nt6jQCuZ?ENCvMw$cMg6dW3NAr(ZFS% zAUb=~t6Bv1AJ1POf@MBVG}fOp?a9!ONZF-{SimQT_zdPRG2a_eHHup$CVy@;32&=h z%d+}5C$u8LLhE1hqxl>+p#u&JW!r$$r{X*)_BqU&lhe`%2-5mffx|P=LSBMovdKU7 zz}dLpA^}6Z?7tMShd`Gt3toU+Y<*e>{E)yye(Oi^7t%1w{uS;CO4CaqTR1J)F7p-% zl2StXm!}T;xKnb+?|3_KjwFo<@<{wQaMPhnwWnYdbS(Or2p0e5@P5e82@7l$vR9-z z=^=ZEES&O|vV3(mVvx71!{0)L9~D%$aoOu!v%xg+pr1msd4e%umw!gV{q~Ru=;B$S zMhtA#SBT-d7MRF1&gJ`T=cB>ikNne5BEU5>|_d$O;VD zZc6~}lFHo5Jmx*Ij6WIHJ>ul<5>9(HyjG*Fxi&JEVOU^H<-ls5{!RV&aMPG}S1Jjx z)e|C?+5@P@0&0K9Z1sv3-;{adIo|E|?yaI$BwQp+lFBw@+yN@2N}Y2A_~3~7z&o0D=dGv=2$r$TSs-r$xw zBl^-Mve31J{XQpe|KQ4L&A@4x1b+Sri(WkJv%JU5WJvK3(U9#1iVaAPyeyUas2` z)Zip0s>rB+*i7lK_PJd+6X`<2^F(4p{p-H){8;PlwZgd$Ny+hXeJWn3gN$iQ!LW@fk8hxid(YE<*lr$E9@_>I;dj4yDUuN_H#?r3T z^L-!^&>SB5$*1WEI_>K_f)5w@YeNp6YDtne-cPr>hiKMhatnU)-0pLSSb1`M+aKc7 zjKAWSbuFKK`(?x_Ab-@)?rUlK)3V2}s2aMm(Mxf?)Q$%Uy5~k@M=0MU?@@c^iI2 z<_enG?njq6`p?3RJ!z)}_lwOoUjW*hJijlKD6&l)SfQAP6d1RY=h*!E(fj zQOnSnxwa&;n&y7Jd1<9GQF*SP#G2ZI`7`?!#`0Z8d)9&Zu_HUk29O^wITUJ5&)>w> z3&%FmwjMqCIi4DO1mh42w|b;=PMew|8KL7OaCr66AGc!hy{zYM=E=hRS8|Y_@JdYO z+3bOlu@$b0e81mqv@Wnr*8~+D-7vFVU4C&uTXuflNe&8Aiao09;{=&l^0%toO?TJx zj=m#q8S#{aSnWqV?w9@&?;e179sL^fd5$QR0Qbp3U^BMW=I=fv1eQ#7&Z=H3D$6el zIWL&5$d^(Gbj`;o!7t^_g?K@|4d=_aptQr^D=}<;XWvXZN1Cn`J{EsVYoN2}fOCK# zW`hd_n}!hoi~1>NH14B~FF3{v8>LX_Z;}yfpvbv%AsAVeN2%}D0T-y`VfNolMFM&N z0)#+qkfxzI?pjeR-{FV(E?9;i>!tF-MrVb|#Gb(kCH>o)tk5`-y+dP&SrAot%njph z7EHMvgl=jx;w!lrJY=KWQQ8k|yD2iwrLh?7Yi;fu3(~h@hm4_?+hedSAa9!n^n={T2gQ z-$1R+5iQp&QeKD(LJhEwn&$$0{ZKjYMDw(}%3UbE=C2P4?-+fzH>E-7)w*!> zlqU(6JqqZ(jsy_8ra2|_Y%=0)lR$Q#>uD^2M@YvRd8rd;`a@8M8MfesEKb~img^zt zkBW&Omv1_F1-lc@j*ME>Qxb)wbE7TOati)M`)vDR=(};QGpWYgrNM?tPs488XyK25 zs2|~z|B+gh=I^FN6?Rz-3HSMK8U!`A&!w{f+5<fvpt$$!&IW3xJWHFiicCZI7=%jTubch3tj8A79Qdql!ugSRI`Z@KXig+Y(Akewu zw>PCan{vQ8ZbZwf#0J`3Lw@t%2bIVf8DGqTx$#D< z215czKczA793cbpFLVEt9JSop{FFD*uzii@yFvo`TORSb3mL|7XZwAs4!HT({b#Sq z4~n?}EYBh#7RLWdM-nEnf)AH7nLhjkC@LWXH`?X9b;DsWPtPK<66=IyQi#{3ZP-*D z0~|iGoLW;*)H6j3<1iZE`20V20iJBL{%6>wpa?+t8A{Y{A+O|10X|&KWFiEnq@jT5 zA27jEA>nPU+#JOY1 z$82avaTSh;j};r-I;Un79&m^+sv8f&kiHl zw(0v=+Sj7IAdrkDT*t=9c!rXC9IJ4htrQj|l9Tu8s$zqVSA{S?X?-eGlP`B+$k``Y z`IMvI3*R|mepfMr=ZrWVAA=~Tr^jt-mODun(JT)BKsjI7pTHK``1xPv*Q>}mb%nym zvc%YO@^IkA|JA4Wr;`#+{$ny!1&{upPYX;^cS_(+^h*A~L$AGgN_35}=|9N&!| zjt`hnG0|+szq5H!&!nmvzJ*Ql^KlNEZ1lFortp)~TqvQO`(DLWgPO%QlQxC`( zrWn2kr#utI9O%LM(m>?8QI2axO3y7~U|OsT%`Tb?RjZROw12?TH0XDxi7~>yqEcQt z8Lmhj&fMq7ml8b2CMj^vZS$PH)UaaYc?gqr=F-M+lED4#y3|)&)?lSpf5(E>8TeDQa#QHQt zEUuBCPgByQw1p`j2=q-{NG>&#Om?HGZ?VIDtGGyc$FN_*qxMEg)y1?!p**U!qZo6) zYqOmxKvO2?&C3qU5_>}jT~o9JeqiO_ik|`2&#SB;6jScWzR#G9wbf&j%j?A9{NqG>fDD7Yu zL1Wv_I?f9G(Mrk--MQ-I{2E*!HaLf%M?!b#dt0vgR~+A}|lrkibdi1bZooK>)_et5!G0MRPCHi*6B+NsDv0V!LUAkLJii-i{UwCUjh z<9dT}#X{GJtFp|;U@J{`P2pD4rN6d~{H?ct*wgMcUT0i_Yi8PcSZXY7f%lg#@1&AC zkmXgtbvsO1si?mO+ecr3QGZr3g^ zs8`2SXCVGadhC@@Z=fbz#Rp;kpn0@7SWPa13=v}rhF&D8!e0R&N-Y9E<|gxeD9dDN zrEF>2pMSgY-Hzin_#Sp;w zk;dpSC!*_^DIRKIzTEg*XAu-;3Xe51em02hKpwz@8NGM-30o*=c$YvhrDH|006Gk| zYTut9A#Orobs!F&dWY+wo`*`mEIsq>a^kgXb;s?~Jpt^q3%Y$!lfW0FpgR5W!x^Fb z>5;WytH%9#cdvHL1#mk>Z?IjZ-q{<)Yd2DpLd%A|`+e;$=-GqsQS6??9m&z=Xu3#hoQvC)A(m;tHOq z%?KtTbO5Ty@M;fu)1c8GDQj0n3WfM2Pm~bQe{L89)!LehGb=ExB^@<>k|PEDKr9S- zENUH-23ghH4vFpgvUIvt5K#V8j!B;_wVRb4xLk%Q2JkWQ8?@u3*^ySrclRd~sLpdL zpt@u3uv`lPlit5Ikx*mwUAU=dGyu=7c5VTj=y8yJx%v_Nz{uT$(4xU1yZ(?8&aZgL zNBOgv6yXUi=sm(>1)btu&uFL1o>4WAJwxjDes*cUF?sn&rA}&vt|e;(06$;+P>AP9 z(UZmKg?Z&a@BdX-ZUpq$$iWTUXLpt#4-Fiy5jLg=?3P7r<-mt+pHi_lLSFzG>FS|~ zgSumo5h&yD3J9t%tmT*jymf&Pv_z?+R#9 z6>_6@mie@EB70hvd^RukL|I_Cp_9l6oQ$bBZFIw-R?Tj8b1kh;seB5RA=C33u8Pmv zK~Tz9#IVn*SU~U_P#*1gr-`jdyxGDQ3|rGut72$oTsvy`1DOr(iyg}(LR36NnHUcQ z|2OR*i+0kY+{hL3rL4A$zt-Jt#-!OH*33m}(=urrFu(Eg_q6XX;cpy^o3iJ>f~8l( zk`J($<(C+byM;=QE=C_*qTE;>KTcDzPomDJes*XY(rhPh?1)=tM)M`nP7iTM%_xh7r(d@<1l{^; zg^qov0Q#MHXiunU|Dm{)Zagi#o_w&OLv9zaf~ofS7nC<$_GrPDeXRxEah?x;^`XiOi!uR`Myh@pETYz@x8uhovcoJ#fj)Y@9(Q4lWd1a)!1TOb|ta;8;IAJ0A%O!$OmC5n}fligJsgX8<$zi!vXnS49$Idb0Z7 zW40vj`nxe(3b+T?u*z1aya4(V(XC97@53#Oa$9|-Q=8vwvXPSFL5TYu5XhL%+&H=2 zT*Bu+xqYH8&Nv>KdQH3QhX7;{M9Yu@q6WhZz>I*p5CCXKb5M?k`Ck&uqqH@I>^Q6h zm}BMS72=Itgg_v(!2&*GEY5H!6?ZbZ6rw}`BmFpL#K<+=3$0m;c%{@`_J1B2`imlVj`m;5zkIVl!2xON~u=>Dk|*%2p#s{lB_#%ftOBZzlPj@ zUr$!P9jS&1hx}=b#|P@(;^00ZHUITbCriGFXPNeW zmzXavTqBLMhEW9V_Sv(5$d>r6()ZB`Z^~a%3~d(owx&x_x9YU@f9rCj>LcuMH2&*F zbOxF!=Bsx}Av1Q-!vnhIdq0#-r|Wo!1GF`QT@ffTh5<$z_UI9o>i?nwzn;qDekA!x zMr8cLAXaT8aJ4A?KM8mPW)u#ZA+u7I>=?u|h-K)<5Awl>QBHl)gM3~^egG+B>%hfP z)Vk1R)<#gkW_@r^{jAEVY^@Oa*7cM6_nMHi>om`djmnpa`I`&dUfAp(44xT2Lx-z# z3eP_|jw9>BbRE>sEIbcS?othIwI4yh+XJJ!9F5h$emL%N5S{i~KDq74AEJ>z2}cQ@ z>ImDaagD4Ws>Jp~yl)kpFN5oP4_SA-ox^BGyF`Dmm z26N={DZT({_QGo`em!|8D8y&SktzLc%UM6cx)i}&I&;Ij3E2L1U_>9BH8`lEYz0g= zq9T|Oc|o2ubJ9((t#`(KrjpdW5kalIS@{Oc5x})$IkL9ZBmyF3@@LA|*H+r2?_mzO zWc-yr>oya~5Ya)iRhg|;2Z;3orbNhg2cM)TLhI;C6<%HTmEC+Y>A@qg&^)#c{M8+7 z^^h_W1Q^jncn62OrpAYTz0;dQC1HN5)#w@R`6SY(AK1<%;3DD9@ctFZ%{bJ>$e0{V zD{DQIw<9}hclA$v>5(D)SfH%IJMzm8>(y8Vw<*zI;!hI#kQ6~5yq2bj@7|$h`5{dALMw3WtIvko%0gGw z@Gl$xHWhc%>5=lAQL&!$6HkjCQ_r@7zm{<=PU{z(GmcaShOfX$of02%i+(yhuj(#8 zWvm>cjy&KThkR9Ur`x4l<@VXBRkK&FDw~<*(mN`TeA`CI-fFnaZ8@yEUH;JcK?`Fk z^>Fc9*B~AwB?@}dP$PB;`Mz3wpC`JMa^GoRTsY@Qk~mo{0C%Ww|7D<6@oZkOpiL<1 z%VOZsUdw!Jtok${364*ry?nO(tNZ5&0zTDc42H(44my;My{R?TsoHX3`F-3qe00~6 zC}d#LnLRkYh{dGmPBXpVc;&jD?{%g5^DqGI_=XcNtmK<$A1r61mAPxfTQOEKRlfKJ zEpcN3@~7AMySJP>JL56!bbt|G&-y{GnN|?Wt{dpS;Wi3HTVdKCgRLbAQyn zfroc9qI1g#Di=(o{eh@zOBta6%d|+OglOzLbvhn^;DytJm7P0)MSyk~6q0$h^LIhw z=UQ^ChM@Ax}J4o2#J zd_I+fIN4JDdH6YjvQ^6yo%3@q%R%z7=ZWXd)TiTQX$R?w$fM>opT~avwvcIT4WZ!} z=CuGzYo@jZZJRBc03ck-^7Ri4^b<53#7(f2h?FoW#dBKh$xy{(SB2+nsx7AA(@V+e z*s1n{^^<pqPHvSfOQegS~g7AKT8~mI2 z6o$2&N^Ja&wsWnGjGJHdB~UF{Uich+KUB~58rLR@%sm?f0W@TPM=t8dLWaKRe{(_?Hd;)15ip+3-9XI+EvL7ET zeds+C$0;qkl)jd%i`KrCcIg=foY7JHQ+4SFKL6|p4xd$~K-6}i00@M^YSB{%tClGD zm0{C0LD|i8v{*@`AzBB!mUl|XS5<0aQNy1AFM&$J^-EvxvGG~Fln{>a(LaFK z;))k*vqL|h9&G1Ct5Sw#xwWaInFDxruIud|kC zSKr;w_pdx*_0%RB-3qFi4prXV&K0fic*@}ImOZ4p%w~#r|3XM?usTWbud~`E{5FW# zcXcti{4he_Z*XR6y`xxu!x@K_c;bVcut4AU&+jxcK%q13hZM5eE;y~W|A?3M2wqqQ z;pl64G~p=Wll3>zqQM}~0D3{!fRA0sTBXQwAMiThX%LQ`hbM=!>izq3-y%}s)^xK{ zuYha6T^}`;EW;|OWLPUUDxOK;$S9(sf2M`f1K(Gw#$B2cHb-i!OSjXiau~liP4t;O zzVGhe_S$&~gRz3pn;j>F8%wpm>F6$F0zD-rs+FrB3*+Rt2GnAIk6Oave`_?_tRb>& z+AybI7n}tD;c!y+Yi@g{>Ysh}|3hy0@j$8%Ag@@$q*L8F91z7D7wg~#Z zY+<9^fSLE{{@7r*vb9B_lz*&2072)v5q~Gr3U(ThHwv1xrx=>vSE~5On_3zGX-rrO zKgOUq^crVH{m5th>TMh6LlT7pVC2sDH5G3pWvaUMl9rCSd zdRVhMf-xocBBOz3%HOZ1p{tnCo1BGs+p*!sN&cfs+F;l_g~N6FTx)%9IrKdj0+FvJ zVw2U%oXi@#yegfJRJWLa8aZf72JP7}60#G)!g3NR%IBMb|tl)o!Pt}w0TGbI z&~eNCjxZ)e;b0JL-pIJVUo3U~foyQ^{B}`GNA=#%?3e<-Yz)>A z^-BEebn*uN3EtPd)Xx=gWX~3yq>1kcpd#M~)4=airg?TW?lWe@65nrgPds6mVb1zw8=TuQEXkmYn$7z$yr$4iGC9B0<50f z28$9IvV&M!Gps2snXT?+9jg z9==ykKlK|N4YGLAFP+v!eyLB&<7)$eihOtrO^s6(CMPnGN>KauF1H((cp*l9OrR_b zW%N*Yhe1Dvi@2PHliShlPYbU;m3Zxr09P;QArQyCDIbO8V-`{}?o^7*tl>GY}@>(ncoQJqfBB148ia*NYNW1%GFQ`|mHICy0;i(@1miinIMM ze?S|to=1DW*naCdp@WYkILYVC{*2UcFwB{KODKyU|7@A1+J9SBR3k5W$EHO1Y*87^`5Pth4l*~5tz@JK5tRM;lZN&v^V|LGR`<# z=YcCJ=vOPbnRnYL=YhmM=6hnrrqxyNr%cyK_M0T^*}aYAj$t zz*HXV60J6f`&r?Ht!vo~9jH%QI3*~V`aI&_KDq~iY!vbJ!ZA_9c*rnkNJ^42rjE*U zXwB$BdC3gZ?2JC#Z}}VF%vG(9Et^j)o=fA%m3sE78@H}+-e+=tXzo>VjDZpgrE4mm z&cbZJyI;!ciO<7>HPrWxdL2rYtD0L3TUs|eBy`#atK$ROF(8c2lj){ZR0mTIQ&1kP zSm<=A8#px2#_+>oZwwIS{Dk3{w!U^S#ooBM&i%H)C!3oLU59?A?mjaD%H!bU3r-q+ zui^LC2|#o(5mF%qu50O!xou3mJ$|}F7>d67+IOlbRZv(kB{&#Jne|GxbyY=o$22j0 zxW@OXZB#n| z$hsPobe}0K-V9edK?WAS!h(Kz+Deu@UB_=OfmpR(Pc1NS$v<3tS=~NicYXW56-#0N z=I{C{_%fCSc*Npm*1Ec?aV^9lf|YjlIz5Z-GxzkHCzMW5fab{`za2FdS~6&9+ow?sa*j^qK7Es{ zG9eJIRTs3lIxrB=iZo<>^#2}92s95hEYBvuIBJ`jZJh)bPxa7|=id89BmIYC zS`ON|ujXF*3Jyq~bWy>F3Y3+p$E5CoU@Il#sUR7;e)Xfn9JD<`_UHx}B4%_T-D(s- zIA_pDVOdMQJb{k#ft%@Tim=bqGCedt15{ff)zcpMT`l)Q=>!7^NdCBtQxcx!xrev} z_15#ES^Xp0w}msd8vd#MbAftCk-wTk0^1k=l0gI-7#<}$=V!KY+AO2n8T=-)?JK?? zOz+vLTw0ji>6i>aG+9PZFQ}*X;gLjWdF=j^f?X2Txo(_5F*#pKeRfvOU*)Q+Rb1JZ z?JY6@cL~MA6M@@r@GJq=)umIyp`WX}VQTxVK9jy(5}cz&62j#50j|A&ig8AA6!AUyrHDu@68_CwiXNIg(@qwbk za!KwrHfSLZ%v(e*h#I2|pXYg$4Z|B!Lp|};N0|rP=cmjcD~J!gC^)I6meBk1JGc3Y zRw0}b^gW{MdTQ!;^dtkv*QegQw*ONV|M@GT<~?B(#9ae5Jons`YyyTd^Cren088a4 zPis-x)xCMW`NEa?HQ23d-q9x+!f0Zo%pDx6$*=>#7rJ!G#aO+9F<#ds-iY1T%ju~i+v@i(A>Ely#&RSmpp z`2KQC{r7v`aR?)#u;hxljtglzuPA{{6WXbtI8?_kb~y1lE4VgrF@-?Uw6ie}jMh3& z(%oWvF6j-$U51%F1KL;rPgidp71j5}4ND9HLy8Ot2ndM8P!bZ70tx~mIrI!jgOrp= zGlG@*1Gqe-sjBT`|SNW`wRplXDd8X>!~)V zhEo=fQ_)R-MPM*Phka_ciR2(qhgt}7wpcZ>nuh-B4}%u$HaNyE5TsnuBIn$v1cUKz zd3DHbXK5zX3OoY6-<_rcUvdILBL0gD@HO8QLG{ZXwi7Fy^rTk|^Xt7*>JKJQOETDs zz|TLHedVv|;fommzBfJZD+{LFQZK|XaMyK}Ilkh6R4;0e2&nS-PxES0NQLRVMZp}} z;$q(PQM=syy`Tb&h9ErzcAOAhkMQSpz_3kah^3C2Wh62w;VKV=g0`k&RL^qG)>5Wg z_Zm2R%DAI!r)II1}arI8byAIVmSDHv4c zS0`PZYm{l%8;lo3=ya!8BesH@N*?r;!|R?R-)D1ouZ8dPX-o3lfG@hU zqUneXh4tJ5q(I?(tvvRmI+aKf2XF0$yg&~AG3=snxoOs2cFJ%zP)ip{G@&= zl7yoaspjz-Iw zB?2MafPMpIYpjYhl#R_g>2Zt^FL%|pN7S0{)^_4nX3;`I+1U7`drchUlDc4#jw3Yf zErEXEXE68=ik5B!>V@2XocBBXD@Rs`Pf%4a?XQ2#Zl@wI+5(ayIC6O|mtMV)LdjLs z1lfNP;wN|Hlb~|CO{0iWr_{Rx79=J4%rGF)Cn9}AP}((N#v8WZMq9s$zwCW+q*U91 zORa$6x4pBKx~P=p$&zawAG2sH8AQ_<{!^V-X+hYorU!zS;j3lm=-xhAH0|2Im!Dien zI|ZmpY0PpSRG~D@9du?q_n9Zx4>{&&VukP@5xz|s3+4+t?{|^h$V#!SxRJ?TNzih* zPS*{o1RA6ThXV(_CJ2D|1216N{5!<^Ji+lAd;`UMxL}|HYw!ku_Iu>Z3x)cI4b%jL zD~1yt#q#&x0un(s z3Bu?>#!KYPibSE_F$urwZ$Y*z!awM;c&1@)@^?P7n)yFQ_0+&%KTEA67;ArTzR6Rp zy#<;6X)t;XwxM3W#{CNDIzc-1kSHJ{pk%TF8c^q zcFz=J2RGOqh_=KZ^2an)wzkme<#hAu!0g53n`gb7Qoyp=6j#qsyf{+MCG z%Z^rj2rloeKd2F%7{!A|w+!bE1Ip-Q(b$M+Ff`~8@W^l%r*Bf9e7~wFt3mf~zCn}| z!$PVY^-hq4;An?nWb{X&lX%am>vPek0Qk#8%R`U1Ok*UJ6r(;}`iaK7JO52E$J;~@ z#FSSZj*4b8R;U(%DAUu1l6C9uk7aTLez3tVRuDwAn1!Ms602`TD>e(W$YA#UZT*lU zG^fiLbxmexS3@SSd8yhrl69D|kB-vlZRopsw#(lz^%qf#kGpx$>Z48S+uw|R+?=Ut zoZzU{=K10X5GhXolMXp0GcPebnZ0ESZe%wBq~?`K_1w-0o|&w=nOh8SL~F?l6XUz@ z4PxrkX7BMsO7XJIucPJ?G8dc20|_tKBFDU6@&*60T|Og#ykF4xykUwk`3FicJ;UGkD~@oKiPhRS4D+NhTD`Y4uS+k? zZRWO-AcO%u$QRB4n*}#Jhh)? z#ln~kfPrDzGZXkBuvXoyxt>TUO_=210j7=nP%Tq;7zZ5Q#W0E)bq;YISHuA~wSb{7 zih3H*Q45eXT_cX=SKbS38-zd=W#}fN8Rpx|1jT&?J125I4=PYtLq-`It=h4k7r2@1 z&1b3JDOdXSL&h%FGf82F=qb?PK8X&Wets{Ib%85{8LfT`92{BMXq z_(_Mz^hbU}J6gH3Hv4_#t$Z84L5mpyEVCcUg$7~u`Hc+ktb zu$ft#aZz!v-w){@S=ddEMn8v&;sw&Z8cl57uTYbc?I>-_(f78$i{{_raYjHlM|v=G z-luaBZXUQs(P~k9(7n91@u@yPq^zWCHTB;~*kpd3nHDWkxA$K&<)=XLGPQD7GFCWZ zvdXa$IRCP_Jc(23Rh^ycZ&6K_xEJdKIKJs2qy-Qa$YYDp_hD_XXlSWkVv>; z6+2`S2jjS~^gj_QCvg9pkM~tAGvs&+fF<1mC&l=hq}_}mqi*cZE-!2DK-{*M*T65e ztMwo$Da#|5_XsE@c+%3y2uL9$^bJJ;$T=^uY3EnMGYh4YS374G_H4x zh{eq}qA?Ph8_UX-;y}-rq^N<(Ax=w6b8uiXF-iM@Khp?!sG2jJ+SC9wZphiaX^HC1 zQ$TUR0qdc5&(6%dJ3Hg}(sFJ;^8+byng#7Jfu&Ds=mi><|C8%}$ff<|PNKl}FN+7j z$z%Db7$65nlbokE0-yN7y@vh>&|7wnhd99ea+@LO?$YspNTmnssHS6`07YTQpX%z% z1%_*;C_OqSAL!FpQ}<@B(gfDlP!w;%vjIV{m~G^WFmUm@mFGYj!qfo@nW9yC1W zh7S4x=DMir8;VZ93z7~(uLq=N)+Loa`23R~|Gfh>`_;srAka8f{p@FN8&gmG!FHDUiv+NH+u&D>7-76d%*uxM%=NsbG2(;McIp{RGd zZn_wDXF4@gtC%*M+V6JGNsVjFi@9q1hewO3L|sk-^5Xln(A;Nd#+as}zsoP0L2wi~ zcsz1@NwjM3P8&*794GqE5x@xCcAmwdCR!nu1)ng@CrRd2c&Y8)xeOF-Nk z*(65~4)?ZZdxzPT<*=@mNutaf$6J?eGs+?u`P&@B2$zbgo$pr4xGw~QpQM;B1{g=K z3`N-=)Z&08+5=i}yh?ppq3SDQlnD&qhQ824)sI$-h@C13-s>9lRsMmazHiz9CH&dU zNpK>M##5W;a_qr1F|b`Fs!tx8X+s#})}jW8i_X$*Hiv)5eiCp!mc{ zKPn+K{CDw(_s}{@RlFxrj;Rq$sia#1ZF6(H_jCaM@R z@tA;s_P#%ezNqiSb9Kc|YGRp3oobe!1;*8G>v}N{mnCHtqV%CP4Bl0T2avo!eS)KSf?VENn8=oZA-5fMe4 zwi<&6m#r2?(BeQZdr78`JQ?s-iz&#kiZ2a&gj@%R~rv{{D&a4 zh1wvWYU&t7bzLbddT{)n6bT(6QO8}Ai733)OBGRbT}F9$>>b#eE`0+bz{D<3&ugL? zs~>(T;On03sAUC=IY$-lyT%K72(y*a<+| zD!O5%nFs{Gjv?@4^%6gp)9J&~V{pJj`~lc;wPTw8Hs7YKPMf9v*TRDixx0t=V5ilY z|8>0#XjGeb?SIYTe`%8ItaHRdS-8z)6`V(H^Zh|4ysQ6`d7$d-?{FY32z)$j`V54& zj^W}XB{?v?O)B_kM^`{)VZObZ@X1f~7C0*K5>N~ML0CwV*cxvEJ7Fs>)Gi3w>0Jrp z<^YC@pod0D0ulTEQMAgi#~-u@)OsJWIQ+N8AK6+r`HxipA%8$Hzf1sFDu{MOpRI?> z9UUFzb^B(o4Vah!RJjE;yaP5#1zlxz{0D!EYi?%YB|H~?oAcb2bq21 zPRD`C;6Tpf;Uq+J!#HjCe%^wnCzF6*c9MNr{$>7Ya+l~|iNEMU83geiI+0{*5&&Vk zjM?3BA)?ZMa|+NJz(YNS?W&*Z>&))m{O7o%p>DVnD%pM;=*cZGeT>AIKs?jegX&SQ z{I%l`F9xr(o}qABAN@<+Fk$z++^xx3c+_e6=)CbFg_L24gh@(k@9OeTs}FgFH*!IG z^Je=Xuj&?*Vat>B<{b`{gKdCL$`KGUc&vF}+QWipVX{CTJBCc8p%2sc`?D^_(*S;CQbJ5kLUbA~+ zC)rl=m+a_mH(dj<<@GcOWHznHsM+oP+=8?e$Jy=zl&Rs8@t<7krThrSjur6)mcF^C zNeq_T#O{9o!!H*25RSOhf#w&G z3t|rrQPAD@F-@n>?0>C1k;v6i7B)Yzg`>7F$s<771XSXmcwIRu_%qLFcM_*t0`i1 zB5iv-mckUpXk}tXffBzAycUJVv#Z}&U40@qTWr2y@g#@K-lN)7X$zjW+az=Vq^pZ2 z&3p}Z^=wSu*>3Z88rkVCa|7_*l4(O;fgs^0fFFrbB0 zXPta2&flDE4oI=k%zk03z}h4iT{Gw*_T!`PfpKJ?O3*NAK~lh3yB=L3>(^&pzLu{c z$3ScVjPth?30V4%pNxrQ?!wZ0>33l;V{uy+D@#>;`&da@)x|!Z6i1tYdx{@YtqSj= z9r>Y-%aiiq`K8xg2!j_KHxLkE%Ca6 z5SY6vafnaD^-IG2^G{s^O)b=D=4#%FX1QA*J>OV4cYV0N!0MD#X8u&A`e({8!e)K} zBl&op^*8F+6%BCTFS_*dlbr&bpsb&A_a31x#f-28Xu-{Ei~6v&s0Yfrk}+lHK`Pkn zWROWDCSBQ=_u_^(rkxSse>Ff10eh&`v({B^kqcBkcVraiRD~V{ZJWezc>m?Ie_r{V1_>%H7z+AeTQRK5qgSTuq;} zkn!7CJ7%wzg0-Gq{8z8U$+zcvP{YBLzvc%~Wtm1zEl;80ce{hV`ev5hBD*u#AVq)s zg^ab{lED!?P&DO`<>kVmvCDbNA7{Q0WKWG?L=uD$2O`p=@V-)VMap%}Tl%7(JHlnL z|4^gQ8{mDW%>xQ>c2g=SKO8ks=E(D>1?XK~YQrmNQ%c?h_QSv3ol2ym<+?DBVK>0# z03~<^cQ)a@Dmd;jplUYBy)^KX&@8rI)abxMKG)!~yH*T1_KQBck?w;4^)^gpHM(gR zo8oNP=G~krn|OE&l-`xG}0Rmn&DZpK@dQu3NA}y&Bwo@0)EuFCH*?w+QRJ0rbl>Ao>zg5x|6Y%6F z8bbS5$RuvYQxZye6s!r-?LcniD>ppvoN6(3A(zU!<7JAI-Lye?|M{Qj509{PWJz!c>1 zA5<7w(c}+`$F}vL1@{rH{NWj2`?V@oTX_h5ai=Jxi5WK#J7RS*RZ2pjHeiWAh1d`~ z5&-RCDTPUoV*V8Llal>8kQ4&ZaUsKkVSyBi!cT-_AQBdStf~Iz{w;q@0tD8?5``=j8B9@m((Ftn$J>bu)F6itz=J%NWR#1ZJRJy?(tHkV_53gLfak5 zvXf3*C_g(bO~oy6PJ0WxsT&7$lT+CKpe&k6`*hG)5<>tEh|azRe$?KgXzIoW-2~1% z{;6+jwUI1w-|JrD;3z|Cnjs_vB!KGz_pt4RsgcH}7HP7XmIMqM6@Q-)T&twY z9UFddT3|9Cto2ky-IxIUvMv0kkJaLKON+6_$UKBHx$m<5DWRI-T1Ps#w_;%u z5$Iv49*4PcufE1OMDUUM0Z<+`sbHgTPDn>vC2;Wcay4-~V!Q)7eC4ti^2Ff$Zr#Zz z*y(d%nt1;!+86ht`?{j7;5D1YrzsQ~9Xwj*f~Huv>&2aQ*q5>NHL$^2_j{Y<*vx$m zOvgjUpaK$iA#WrQ*1K(xi{j%nQ5BmGa05dNAZENUN-#sXpJ zU+vIXU~J`O$WNwj%s}jBZdp{#&7=GQLwytSbpsxzD@Y&uxyMU|^Q9~efuQ-wc3fz(xoR7UfB~C1E3gdz z0jjG4sbh8?(qO9E?dyxyd7%8|KN3wTocgI_W&m1Ru-LG7c?ThgV(S`cJYmnk#%54; zReXZ4e*gfm9lJ&FFofe_z!n>@*4s)XOPC$|e~pByMvj7Pa3N}RAI({@OPZrNK1w2_ z68@6A&A0-le^X1kAQuFxgy8lMSVk^aA+d{_tAU#e$isiw1wk&@1uuIu`NAk6m%jik z`D)~4T@5x*w*#u9Wn~YduP{G{yk!l%W8Ft!qerq_zBe)m8A@5=S%<71 zP@_(=O@95IwJIlh$V?WEz6G98d9!dwQ1P9cji#H6Ct#+J(pW!vzs`vUu+Fr+Wiq#) z0(+)q4;V8EmZ6Q|xJQ7Rlbm7DQBrvib||4-lpPr?g#M9UU1SKz9?p8$1XH(W-SI^4 zz9MA;!u9NWVAT~p=;$;@Jp|(R&F-z!5SWq46P+$h;P1EFBzHJo%>WUdQ7WlkUM>>8 zwu8Z8R5;K!Gp+q9I>>Rf9k2avTo(u{!!m~3i$5Y$*pgnZcn;s90J@{70zf2h=w}wE zo29AEmzeas+bT@~f`)rNh{d)3fpxc0yEaK0$o1bvwqQWQq|b|$TkTyO0YP7aJXGm% zOYC6k#;T4!1Q24kra3c&?gL{@f;&WgLBd#sA$o(N*dP}xLjZm)*|xF1j(xfXzD>AS zQ}j=VZEBH~t1HUE3iB2e+HrMh`hl@-32)g<@Io=$X;aG=bb5k%+k*?o2gWZAX!Mc) z6QA3?{QlBDp{9!-Kz4PS<9iL{uqqJ0AT%fR0{hSGd6K0uJ;ha{0io5nCQC?s>= zWy!KhPQ(?Fvv}c$%r|WoK%sx;HwUoQ-3iikBY-Yx(74fIt6_r_eEJgeB(Rez=I}06 z%)K#W%Eui%NKr88$yO7S?N9&K0Om2kx1?k=X?-dMUo?erh;Qwh{`>dV9~y`%qJpy1 z_>vmJA zTmu#KFtyp#UzdX;-;HoF`~FgF<;HuQoJTDIFB*Mbrv-vPk@=UH22fFtN8`nnA zEcumLt=X+x^p;A%9Rc|-Mc&8#svZNBB}?;X)?5!sYUAB#TLMxryh0&^WsCAWvygSn z3$DPer=uG|^u43xo%bz(sMb1|%qm4aGsd6xfYIw%G-OgSF_f^?IQu@qZAvbZmtS;p zljfuz*#xwVE##tSzS%#IvZ~UR7U;LB82QETEpNMXPG9bT?=D*SI3HNlWEk`}p=HQN zNmYq(ILbWqX9&o)ME$`VTOL(wTQ>>w8hPyriIH>8ao`}ZNema85fU5^jR?(vdc-< z@jVh$!+F3T6#aarMR7PriPlYQ3ysxs_4=$H5M>P0MjSC^b-$kfp^q>~?A`)quhRXh z`dZdrhdy5T?qA7&!)3&vzX&Z;e5_ZKDEJI=KVExfc@fq+ZF1E1Db>1UCU4V8MhV-= z`e6i~wKC-6ePHQ*M8>tl{MrgE$UfSB_f^$Q1jf!#em5$c4KaCE*6M>nr{_H~gkwJ& z=G4VxFSnp?tb-|`TED}MSd@TCQrAE(QjCzb!lJa7mONs4zhnYykt46g@ddjFbj^B( zpQ1;vMm`iMpPp&v&-6I@6*^$JcPlmjWhRz6DT_lQIiE@8YnkWRy&8Xb2e2OCEDyur zI;vLLwy#G1`v97jJ7SrdUH)Gp8mxpbiHL(?S3O5uhg?>Dvw|b|(fXY*V7=iiPs4J7 z(*kvYRIZ=e0h0PTJ3%>~@0PlK%KG2iTF}^KvXPwO=9llczfzK!8=N|Yd(91hsl%zuVo*fKfYu!vVhT)CG;&E28-4K>^0{%erI z#bL)+z*2F3$43)&i=^q+mtG#tdsYyAhG%2t-w*QTBz%`M||Pie>{#{DSLStC_UHaH+-Ya=yjRTUN?t~~g}AL)v5Oq}_d z$NTOxN?Z*+AS5@3mZ8bu%&p20$^?P!MGB!00exIp=QdYOEexuD*!R^G@ndSbaA>v)*9tcy4hyLkbq$1&*j#XmNN!qcxAyPH5oLe} z`I(3EM)^A3!c+8;h@P_DbhIMq5sD5OdMc%GhH0{sM2UkQo zDX>oXUI;blb<5m+^G?Q{rb;lSy@G$pPW95b|9n(lX}wZ8sWPV0XAHJh>hP*e1F*2q z23v`9LRRv@tgv_^V>ThrglriZT~Q)Pc0!@O)Y~VDyVf<&i0t&T=$FS3sDTDjXyy+v zo;~y4JOKp4Br;@YzwcDLy}32CO=|f$vT!&v0txi2K(-Bp<~J~EB36#sg#9;$`p3UE zhfww?vu|#ta8k(m=FCX=#6)w8ohx9W{TYGGv#?G3Jk$5=o>v*Y{GmaXk{890C3YJ6 zgOPC!`m7Q!<}WfH2PO9RZW8IUzB|$;?KRYDY*XP$x(#>q;(dUT9W z9MbHaSNua@)=G(0Ht*%}yMW-r^d-1rfI1vek28N>V&+>O{VeyTWwAmiCimurvTMWN zYBc>*6(|W`qD^&CHeE3d0#Q;N>oWehR>)X)d}*D$=*@xIvSDou3TZHV`?JWqPRE{> zq}stpZ{FU+{f5$v8~hXqK$@rn^GeKuGUGQVP3}W3dl~n-eOSdba-x%Y$XbK9=79-p zjT+G$Q9Bwd>DPA)S#qB+xEeNdMYA+q4ZVM--5>U-O69`J6AW&VG*tQ{n>;o60#}p# z6D~N3o8ar!#i{V3?GOc;ls|u9niB7h2X8*V8Plpc@v(Ef@Q|S86$_Im!FYt z1BcRyCw1>%C{pvE`CMfzqxdibpA-%=9oELIAwti?h}L>@@S%4(T`n(w1eBQh2uEie zVFw~}iacEkco_&kCe_#uQPz5Z8q;eLd(p2OUyb$(t8-;#-ANTrlBGne$ z(%0TX!fxMwk^Z&|eOpG+7F!zmdrmfJdP+z34~FqJq=HBAf4w5@AX(9$C7Ak>d^U{U zMYozFz8A+jjXSI9L`-~hTXcT;c`GBLUwa46^o@VXZTf*g4snrjSV%qi1n3cJ;(3G0fjtVkZ=`%BQ_qiF-SN5NZ*V%DO?f~$K5L;KrQW>i{SdGj|A9~o8C4r zt!ayS*ukdcoR!)y$P=N^k&!YZG{xB<^#3v9A-vn|?XtUv?&b~Wl{xL5++5I%59dSbf_ zZQjxp84l_gn0uH>82Y;ne#A!x4sh|5gNBf%miY9e`DBdApnPw?P@0D)^P34jIy4KEL-EQOM?(1s zz-~M^()S@E{*4{dE1VDbI=|7FISWz6MBf4@5Qj%b#j*ChTw10rfD!z62z}55YpMbq zTr_`{ty=Zf0h0@$9_;_FXUJ!MeVl;VRaE_Xdbq%WcGQO&Y8e~KzihGcFkfwNnW2Ap zBrV1yhy&>lL)vzSC4Gp}bGE%N$GPbRZNep9$_hiO9T?(*9k#zwG%&uG>fj5ra)&Ph zP=N3{if@X4>Rx6kGP+0_kMi0(ocAwCt>28Ymuq!Y$LGF^@fox*E3K8lvv0ryN5y^Z z>TxXx*~E4aoiEfxJvoa1#He_uK5*Jt+E6)f?$lyV>&WqIjo>5(a7uZKeW}aDx0g6K z^BFODy0NgCO@7q2B~5%adRADQHfz!-K|mST)Ph_>a+tBYf5|FBB3DcwPfz{)8O97z%WvE{OfPXLCYG?1VnLlirD)?N9mf_@8nDs3946A}Wq! zYF0Z#khI{l*8!E<5SeD|2o69{)*kS8!FuBET8_K?0Lf(Eu|Kr{=G<8Xs-=bWX^?-H zeU|@c0c*6i*>^5qQwdoP!SzfCMFM_yAaDya-w2xdx7P8$Ju?9CiynVQ*zwOw>{o}6 zvzQ=5rVJQF{pviRggRp|(Tq6OIp`Qi4eio0aHrZ_f( z64JlA%#lPneTRNT+@<=BH#0?WL3hQ@=$&0 z=R=Lme9vQPc9vhL{aw!0dQkG-zX+KBin`?4p4SU>mbOx6bP^v?z~AB#-=hI8WI#X( zEjW4u7r3`89R_u50erve>gt>L55LgL1D}Fmq7FKockjj^VQ^sm5-ZzMH2Z;ocS5kX z<@Q||aHp9lunV#MyC%c^Cl(d`5 zFkTfoz-J=WjGWT)xS_xMlAx?l2&xs1p3SpPv*;S+dgX|KP~&pozmeHc$&|xK5|CJ> zSi`!~5|5|G?;7IJWNV^GLE25ozgnj=noY=iFe?YO_LdV0Y7&}M@T;CIhOYCzB%?e1 z-`Q=0KNo+F{$R#M%ljca#e2~R`nG&5u`g~0n|JycG~N{j5AwLTZd^Hc=bHIU55v55 zGlk|?0ktBLIp*JM31??-*}LiaKpx&@)yn%!_mtn|UUtBu-1HR9eEV-5gTg5m^TnM7 z1n;3M9?vtaxzH!2uEjHNiF{#KD}cLK-B+|P7`Y%-E7yhGQFEb}dwGJo-e8QlO1~cW zHtvuZOA}u6M2ATmeAwM6)rxj{u!VeAq~L7hTV`qN)@5`Zp)NZ^BXu$TibN=L2HyDM zQP1`r{9)jbzW$oxsCi3v%u8zi(}uxd?X=P5)TQ36 zl5tAb@1VycmNpUJy?K)FTxCckEuea7f7_zpje&g0uSl(*#B*D!>D@W%eE;a)rDCgM z>GN@4TZSLLkjlgYUnA65HYb=4ydya$vrw8-&>-Nt)i7pApPTT(^;v~?uiB$FT=x(| zBJcniL@0TqXRz5~%vJsBJ*toI+@WxmbLgE!!a~T%%`ERVtuLezaS62`{0*ve;Q_8c zsGcmx>`pZYGzRyVE6{JgB?DVNg^zBC3n2&uOiz7;QWB>An9buU z$C&%FeqXtN=Hoil2pJ2^ZFMyPMo}(0hJ<|vLc2OhQ(R0mV7{lkxO_LtyKM)RQabt# z<-u_<32T>g5fLAXeQjt!_!d19)%Aq{ z8}PORbD~Ak_;YKQGc^Sr%Ti0HMlHU6Q^p2LQZDg{-({eh0Kc0j-+4JK+FoW~O1`6i zJUeLfKo(cIY$jJsWBTlQKQO!RtA~X#>Jb2_jO&3HdN4!ud7;I$pJNB!(P~>@NN5RH z>A`_ZJa{0LNcl<##@c5QsJ~mdl`f3#TgZKuWFJ%Y05#K|)|b|v^5zn%W|-%A96Vk= znK3)1One$rvpXdy`*#P`_+akiuj6`q|B>Cw^r6`=`qclXw(x!Npv@k~Z|`_wNvasd zk8c>>v)Krb5NIv@u$o@2gLUm(US3#+fIF@*^}dDCuNPXBEjB-%gUxk5Y&3p3FZRt? zPqE}_2EvuYPnuKS974Bi3mQum@4xN;9a&<@&H3x*ntqr@%4;s+Qj$bCbMBYJ0%uE% zLL)N5;-*_)B=g$RDgW<{Ex#A(2vsTfAmxd+c;+sn8DYN&20kG# z`v;yG4r-lli^-6@rFiDW;W;wRegA2;*Y2)fz?sz9@88|8w8)(he#Fg^Aw#j$dxNSf z)=on%)7};OjskdwYguyIpvPK7Vro*DAI2X$P3jD)aK<{p&$_ zdW0-8@WaI#AD~LN+~v9?p>|vZL8OfD3Jn3LdV}gBp2jAE?-oj{A=5BeAZTZ60BsI% zxP22$1UvQjMyxac{=<4Y@d1dc1zf{-2rA|rMGExva&yTT(XPs=H%N^(GMQ|fz!8Gb zIt@r!&0yX3(w)9$Mz(=m*E%i8T^eJN&o+r@Pj=yN6jD?f-I6~y{n_u)Pe2}gi!S0_ z2~!*7dj45&;hPUTB)dm_Aay-b>}$R1)KqRyf##+-+l zBCft(vsCw-m`jaHCj}bzB((OnI_2ceioN;_%A0v!Qz7uA->~%jctq8F#x))FuJaMQ zXRSKe+MA|QNss$$(>S5p!QXZPt!-+sa?|ww1ff>G^^s9~AJjHWiLN~_hx2OtI8(>U z=pkZ(MsfHm@95+K6gH>A6;UfQvyBH%zQYd6GBhVy;WGMi-XaXHR*p30E-)8;GmL8Kzq1Q}Et_(3)Qy@_v=32D_+PiW<F z@`%jt;KI}^e=1R%hdK~YHe9U_6q&D|L@LZ2h;JTP6jl=YU|7exQBJ=?u!;TM>1&03-5uN4bJ!*uM++4bFq4eq3}RGZ zI|gvk)o4|Km_fyGs08UUTK!%tV#iPBv-#EF16s9khEfBl6^`xFK*e)5bpc3XML1?~ zA;!m@JK_BEj9`Z%Oo`#zNq{Zl1aw=oB?Vj4Y@?Pg={c(JjB4|KPmtJS;;>J1)h~k+Ec^@e^j-d$6kChgMa*>zlO# zd#nC+ckhVv8{QIQEsa>u1NlDq!~T4vYH1UeTUP$@354@s4cue9(BZ zt>uC8V47TBNF6lM;8J*{IG{Eff!6!*1?_%c}EULp|@x1jlS|+DTP}>Ml zlpnVw$p*27D;Hi2udMzE1i8njlng1;E{}Zy&Rqg`KG1P9%1<7bzAv%4cf#xNB*rI; zGM|vvsrZCK?R4F@?{2+5zAbdyO>%Qhz`2qtM!yO7taNJ;^g|-VvBWBA$_!P>i8mx1 zZLMa`O~jP8V6hOpa*@6euylmf6m)P(CQ?@Gdbzsl&&v%&m3>BkTJ0TQImGDYZ;^OV z8V-7B)7U@|+2EE1oj03)AtG)uv8`hItGm6&>uX8kaE$#=2Jvc-z53Ed=y(MHH~tx> zKDKvT)iH*h#im;>S})Tch|GH`O0$*>ig8v9 zOf~lpVpwe{xTU)9jN&=2LZ82g*6Ww)b!CXX{*L(}0k znED6@Yj#i)t`I^2xa+qiJ3peBXFqbdNc`k}*rSTmks__Y2Cn--&kYXarmYsOZuU8F QQ}-<;1vU91Ie5VT2l2`_;{X5v literal 35415 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 - - + + + width="942pt" height="755pt" + viewBox="254 60 15690 12573"> - - @@ -121,6 +118,9 @@ + + @@ -133,19 +133,19 @@ - + - - - + - @@ -157,7 +157,7 @@ - @@ -169,7 +169,7 @@ - @@ -185,7 +185,7 @@ - @@ -198,7 +198,7 @@ - @@ -211,7 +211,7 @@ - @@ -224,7 +224,7 @@ - @@ -237,7 +237,7 @@ - @@ -250,7 +250,7 @@ - @@ -263,7 +263,7 @@ - @@ -276,7 +276,7 @@ - @@ -289,7 +289,7 @@ - @@ -302,7 +302,7 @@ - @@ -318,7 +318,7 @@ - @@ -331,7 +331,7 @@ - @@ -344,7 +344,7 @@ - @@ -357,7 +357,7 @@ - @@ -370,7 +370,7 @@ - @@ -383,7 +383,7 @@ - @@ -396,7 +396,7 @@ - @@ -409,7 +409,7 @@ - @@ -422,7 +422,7 @@ - @@ -438,7 +438,7 @@ - @@ -454,7 +454,7 @@ - @@ -467,7 +467,7 @@ - @@ -492,7 +492,7 @@ - @@ -505,7 +505,7 @@ - @@ -521,7 +521,7 @@ - @@ -534,7 +534,7 @@ - @@ -547,7 +547,7 @@ - @@ -563,7 +563,7 @@ - @@ -576,7 +576,7 @@ - @@ -589,7 +589,7 @@ - @@ -602,7 +602,7 @@ - @@ -615,7 +615,7 @@ - @@ -629,18 +629,9 @@ application - -connection = cs->conn - mux->subscribe(SUB_RECV) - -(eg: checks, - - -stream-int) - MUX Stream ID @@ -661,12 +652,6 @@ HTX contents when mode==HTTP -snd_buf() will move the - -buffer (zero-copy) when - -the destination is empty. - tasklet_wakeup() tasklet_wakeup() @@ -680,25 +665,6 @@ mux=conn->mux - -conn_stream - -Notes: - -- mux->rcv_buf() and - -- the application is also - -called the data layer and - -is cs->data and cs->data_cb - -- transport layers (xprt) are - -stackable. conn->xprt is - -the topmost one. - Transport encoding/decoding function @@ -714,6 +680,37 @@ xprt->subscribe(SUB_RECV) xprt->subscribe(SUB_SEND) + + +stconn + + +(eg: checks, streams) + + +connection = sc->sedesc->conn + +Notes: + +snd_buf() will move the + +buffer (zero-copy) when + +the destination is empty. + +- the application is also + +is sc->app with sc->app_ops + +- transport layers (xprt) are + +stackable. conn->xprt is + +the topmost one. + +called the app layer and + +- mux->rcv_buf() and @@ -754,8 +751,6 @@ -si_cs_io_cb - encode encode @@ -775,6 +770,8 @@ mux_io_cb mux_io_cb + +sc_conn_io_cb -- 2.47.3