From 9801659ba08a2ae9ca96ff9fcb67b81d7a4e924e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=91=D1=80=D0=B0=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9A?=
=?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=9F=D0=B8=D1=9B?=
bgfx::vertexPack(const float _input[4], bool _inputNormalized, Attrib::Enum _attr, const VertexLayout &_decl, void *_data, uint32_t _index = 0)¶bgfx::vertexPack(const float _input[4], bool _inputNormalized, Attrib::Enum _attr, const VertexLayout &_layout, void *_data, uint32_t _index = 0)¶Pack vertex attribute into vertex stream format.
C99 equivalent is bgfx_vertex_pack.
[in] _input: Value to be packed into vertex stream.
[in] _inputNormalized: True if input value is already normalized.
[in] _attr: Attribute to pack.
[in] _decl: Vertex stream layout.
[in] _layout: Vertex stream layout.
[in] _data: Destination vertex stream where data will be packed.
[in] _index: Vertex index that will be modified.
bgfx::vertexUnpack(float _output[4], Attrib::Enum _attr, const VertexLayout &_decl, const void *_data, uint32_t _index = 0)¶bgfx::vertexUnpack(float _output[4], Attrib::Enum _attr, const VertexLayout &_layout, const void *_data, uint32_t _index = 0)¶Unpack vertex attribute from vertex stream format.
C99 equivalent is bgfx_vertex_unpack.
[out] _output: Result of unpacking.
[in] _attr: Attribute to unpack.
[in] _decl: Vertex stream layout.
[in] _layout: Vertex stream layout.
[in] _data: Source vertex stream from where data will be unpacked.
[in] _index: Vertex index that will be unpacked.
bgfx::vertexConvert(const VertexLayout &_destDecl, void *_destData, const VertexLayout &_srcDecl, const void *_srcData, uint32_t _num = 1)¶bgfx::vertexConvert(const VertexLayout &_destLayout, void *_destData, const VertexLayout &_srcLayout, const void *_srcData, uint32_t _num = 1)¶Converts vertex stream data from one vertex stream format to another.
C99 equivalent is bgfx_vertex_convert.
[in] _destDecl: Destination vertex stream layout.
[in] _destLayout: Destination vertex stream layout.
[in] _destData: Destination vertex stream.
[in] _srcDecl: Source vertex stream layout.
[in] _srcLayout: Source vertex stream layout.
[in] _srcData: Source vertex stream data.
[in] _num: Number of vertices to convert from source to destination.
bgfx::weldVertices(uint16_t *_output, const VertexLayout &_decl, const void *_data, uint16_t _num, float _epsilon = 0.001f)¶bgfx::weldVertices(uint16_t *_output, const VertexLayout &_layout, const void *_data, uint16_t _num, float _epsilon = 0.001f)¶Weld vertices.
Number of unique vertices after vertex welding.
@@ -2092,7 +2092,7 @@ creating windows.[in] _output: Welded vertices remapping table. The size of buffer must be the same as number of vertices.
[in] _decl: Vertex stream layout.
[in] _layout: Vertex stream layout.
[in] _data: Vertex stream.
[in] _num: Number of vertices in vertex stream.
[in] _epsilon: Error tolerance for vertex position comparison.
setVertexBuffer(uint8_t _stream, VertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices, VertexLayoutHandle _declHandle = BGFX_INVALID_HANDLE)¶setVertexBuffer(uint8_t _stream, VertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices, VertexLayoutHandle _layoutHandle = BGFX_INVALID_HANDLE)¶Set vertex buffer for draw primitive.
C99 equivalent is bgfx_encoder_set_vertex_buffer.
[in] _handle: Vertex buffer.
[in] _startVertex: First vertex to render.
[in] _numVertices: Number of vertices to render.
[in] _declHandle: VertexLayout handle for aliasing vertex buffer.
[in] _layoutHandle: VertexLayout handle for aliasing vertex buffer.
setVertexBuffer(uint8_t _stream, DynamicVertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices, VertexLayoutHandle _declHandle = BGFX_INVALID_HANDLE)¶setVertexBuffer(uint8_t _stream, DynamicVertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices, VertexLayoutHandle _layoutHandle = BGFX_INVALID_HANDLE)¶Set vertex buffer for draw primitive.
C99 equivalent is bgfx_encoder_set_dynamic_vertex_buffer.
[in] _handle: Dynamic vertex buffer.
[in] _startVertex: First vertex to render.
[in] _numVertices: Number of vertices to render.
[in] _declHandle: VertexLayout handle for aliasing vertex buffer.
[in] _layoutHandle: VertexLayout handle for aliasing vertex buffer.
setVertexBuffer(uint8_t _stream, const TransientVertexBuffer *_tvb, uint32_t _startVertex, uint32_t _numVertices, VertexLayoutHandle _declHandle = BGFX_INVALID_HANDLE)¶setVertexBuffer(uint8_t _stream, const TransientVertexBuffer *_tvb, uint32_t _startVertex, uint32_t _numVertices, VertexLayoutHandle _layoutHandle = BGFX_INVALID_HANDLE)¶Set vertex buffer for draw primitive.
C99 equivalent is bgfx_encoder_set_transient_vertex_buffer.
[in] _tvb: Transient vertex buffer.
[in] _startVertex: First vertex to render.
[in] _numVertices: Number of vertices to render.
[in] _declHandle: VertexLayout handle for aliasing vertex buffer.
[in] _layoutHandle: VertexLayout handle for aliasing vertex buffer.
bgfx::setVertexBuffer(uint8_t _stream, VertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices, VertexLayoutHandle _declHandle = BGFX_INVALID_HANDLE)bgfx::setVertexBuffer(uint8_t _stream, VertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices, VertexLayoutHandle _layoutHandle = BGFX_INVALID_HANDLE)Set vertex buffer for draw primitive.
C99 equivalent is bgfx_set_vertex_buffer.
[in] _handle: Vertex buffer.
[in] _startVertex: First vertex to render.
[in] _numVertices: Number of vertices to render.
[in] _declHandle: VertexLayout handle for aliasing vertex buffer.
[in] _layoutHandle: VertexLayout handle for aliasing vertex buffer.
bgfx::setVertexBuffer(uint8_t _stream, DynamicVertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices, VertexLayoutHandle _declHandle = BGFX_INVALID_HANDLE)bgfx::setVertexBuffer(uint8_t _stream, DynamicVertexBufferHandle _handle, uint32_t _startVertex, uint32_t _numVertices, VertexLayoutHandle _layoutHandle = BGFX_INVALID_HANDLE)Set vertex buffer for draw primitive.
C99 equivalent is bgfx_set_dynamic_vertex_buffer.
[in] _handle: Dynamic vertex buffer.
[in] _startVertex: First vertex to render.
[in] _numVertices: Number of vertices to render.
[in] _declHandle: VertexLayout handle for aliasing vertex buffer.
[in] _layoutHandle: VertexLayout handle for aliasing vertex buffer.
decl¶layoutHandle¶Vertex layout handle.
bgfx::setVertexBuffer(uint8_t _stream, const TransientVertexBuffer *_tvb, uint32_t _startVertex, uint32_t _numVertices, VertexLayoutHandle _declHandle = BGFX_INVALID_HANDLE)bgfx::setVertexBuffer(uint8_t _stream, const TransientVertexBuffer *_tvb, uint32_t _startVertex, uint32_t _numVertices, VertexLayoutHandle _layoutHandle = BGFX_INVALID_HANDLE)Set vertex buffer for draw primitive.
C99 equivalent is bgfx_set_transient_vertex_buffer.
[in] _tvb: Transient vertex buffer.
[in] _startVertex: First vertex to render.
[in] _numVertices: Number of vertices to render.
[in] _declHandle: VertexLayout handle for aliasing vertex buffer.
[in] _layoutHandle: VertexLayout handle for aliasing vertex buffer.
bgfx::createVertexLayout(const VertexLayout &_decl)¶bgfx::createVertexLayout(const VertexLayout &_layout)¶Create vertex layout.
C99 equivalent is bgfx_create_vertex_layout.
bgfx::createVertexBuffer(const Memory *_mem, const VertexLayout &_decl, uint16_t _flags = BGFX_BUFFER_NONE)¶bgfx::createVertexBuffer(const Memory *_mem, const VertexLayout &_layout, uint16_t _flags = BGFX_BUFFER_NONE)¶Create static vertex buffer.
Static vertex buffer handle.
@@ -5168,7 +5168,7 @@ otherwise prefer bgfx::setViewScissor.[in] _mem: Vertex buffer data.
[in] _decl: Vertex layout.
[in] _layout: Vertex layout.
[in] _flags: Buffer creation flags.
BGFX_BUFFER_NONE - No flags.
BGFX_BUFFER_COMPUTE_READ - Buffer will be read from by compute shader.
VertexLayout¶Vertex layout.
C99 equivalent is bgfx_vertex_decl_t.
C99 equivalent is bgfx_vertex_layout_t.
begin(RendererType::Enum _renderer = RendererType::Noop)¶Start VertexLayout.
C99 equivalent is bgfx_vertex_decl_begin.
C99 equivalent is bgfx_vertex_layout_begin.
end()¶End VertexLayout.
C99 equivalent is bgfx_vertex_decl_end.
C99 equivalent is bgfx_vertex_layout_end.
Must be called between begin/end.
C99 equivalent is bgfx_vertex_decl_add.
C99 equivalent is bgfx_vertex_layout_add.
[in] _attrib: Attribute semantics. See: bgfx::Attrib
skip(uint8_t _num)¶Skip _num bytes in vertex stream.
C99 equivalent is bgfx_vertex_decl_skip.
C99 equivalent is bgfx_vertex_layout_skip.
decode(Attrib::Enum _attrib, uint8_t &_num, AttribType::Enum &_type, bool &_normalized, bool &_asInt) const¶Decode attribute.
C99 equivalent is bgfx_vertex_decl_decode.
C99 equivalent is bgfx_vertex_layout_decode.
has(Attrib::Enum _attrib) const¶Returns true if VertexLayout contains attribute.
C99 equivalent is bgfx_vertex_decl_has.
C99 equivalent is bgfx_vertex_layout_has.
bgfx::createDynamicVertexBuffer(uint32_t _num, const VertexLayout &_decl, uint16_t _flags = BGFX_BUFFER_NONE)bgfx::createDynamicVertexBuffer(uint32_t _num, const VertexLayout &_layout, uint16_t _flags = BGFX_BUFFER_NONE)Create empty dynamic vertex buffer.
Dynamic vertex buffer handle.
@@ -5508,7 +5508,7 @@ otherwise prefer bgfx::setViewScissor.[in] _num: Number of vertices.
[in] _decl: Vertex layout.
[in] _layout: Vertex layout.
[in] _flags: Buffer creation flags.
BGFX_BUFFER_NONE - No flags.
BGFX_BUFFER_COMPUTE_READ - Buffer will be read from by compute shader.
bgfx::createDynamicVertexBuffer(const Memory *_mem, const VertexLayout &_decl, uint16_t _flags = BGFX_BUFFER_NONE)bgfx::createDynamicVertexBuffer(const Memory *_mem, const VertexLayout &_layout, uint16_t _flags = BGFX_BUFFER_NONE)Create dynamic vertex buffer and initialize it.
Dynamic vertex buffer handle.
@@ -5535,7 +5535,7 @@ otherwise prefer bgfx::setViewScissor.[in] _mem: Vertex buffer data.
[in] _decl: Vertex layout.
[in] _layout: Vertex layout.
[in] _flags: Buffer creation flags.
BGFX_BUFFER_NONE - No flags.
BGFX_BUFFER_COMPUTE_READ - Buffer will be read from by compute shader.
bgfx::getAvailTransientVertexBuffer(uint32_t _num, const VertexLayout &_decl)¶bgfx::getAvailTransientVertexBuffer(uint32_t _num, const VertexLayout &_layout)¶Returns number of requested or maximum available vertices.
C99 equivalent is bgfx_get_avail_transient_vertex_buffer.
[in] _num: Number of required vertices.
[in] _decl: Vertex layout.
[in] _layout: Vertex layout.
bgfx::allocTransientVertexBuffer(TransientVertexBuffer *_tvb, uint32_t _num, const VertexLayout &_decl)¶bgfx::allocTransientVertexBuffer(TransientVertexBuffer *_tvb, uint32_t _num, const VertexLayout &_layout)¶Allocate transient vertex buffer.
C99 equivalent is bgfx_alloc_transient_vertex_buffer.
[out] _tvb: TransientVertexBuffer structure is filled and is valid for the duration of frame, and it can be reused for multiple draw calls.
[in] _num: Number of vertices to allocate.
[in] _decl: Vertex layout.
[in] _layout: Vertex layout.
Z$&@3#G~?RMTku(C zr|5tQ@@pi+K6wF`i&O=9fOPF1FeFXsgP{B03O>}r&``zEnCSqDim4BxMXchbgnTAZ zonN}LN!JD`snqS(3uzR>lj2jbn%Y?$98WDJC23&@YD>Ca&eKIMqjn04gahn@fv!mw zkZp08PDfX`e}%OYX>;laijcsBtf;gmWi51Ex>^IfO!u#w?9L2miju_Av|oYXk={8_ zSy_aVxiDM$fdYUw*(WE#oWU?ydNN7DWO^!j*b5ZBXgGyfM)?eDPM0>Lr_$E}4oQn% zpu%95)$FL6geZoNha|*ua2X1A-PV4fFkynp1V>+Kf5uhqRMv=WHQlk!sV68sp%dv& zT8N46Fy~OHP=|{wK5`3VHE0l2RSR*NQWi#>Bd{&Bq`_b}B&$$crDW$EA(jCQ?15m0iN8X1ZxO2TNsK^CM=$|@@B zZ~B2!e|b->Gz6sDsxINb3|Wq&x *RU-{i<}Wx_5+QP-XcKITcNE~_b@9H;3%M~0YPt1&`MXxV)210s3R~> zROp&}xXq|!&*oQKr4ogTU3-<#VhKOy;miaqe}d(`KoQ;}KjF^M1$u@6tI*-1FmaW^ zmwq#f-qEY{s++2aF%q{7$%&_nJWkO?$$p?nRgoG8D>O$S!+=Uf(~ 7POIX7OGd3`st~2Sx|+jQWUIn zf1)$63BV#6iTG9b1ND;19WshqGa_~&t&ALhqN 3-hS`%sZ7S>&W}{zV!MQ-Gw* z7GY>Nrx$2MHf`x5QYuVp{D+Fl$4pC;4q3eI2TBhJATW%WRW-9fwwfaVDCk?MSwF`Y zNh^~_5MLe4Gh8(teAWgjH61(X*?iJ;f3&t>q%57SLO=oQ>P5)R3DIwwCg!L@XrRNE zmd2I;)Ah)P{GPExJ2ekzrcrlJg-UR}(LA$##o#_Xblf0c>6 z-{@z!4Vf&bRYH270!gq!&Q+1sOS;q24-^g#O-5u+#R8FiM0(eWVf?6m9PbyPVR8zD zVjc=x9aRp}NH>uZr$~E{re82osFXE5^hP^Z+DS#50xVN#X%MIOlr&mI`UxRUv5wJI zqk@zcF{OxbETyNU^uA%GO %h`k#kKbaW?yT>y%<1edd~e?1^JIE6f!B=W@9YU&2qy$65P-M=@u60 zNBOVDp=k?gj&8D Tjf~Xa3w?$^FC+o!Rh;T_&WSNnlCuIE=d4xAq2a$pz-DF#D5nZC! zqG=z6Y<{F*2uYBzg;7oH+>VG`%F{J;G7JtWkQa2mi&1eVTWXN)h+c !YoE=KZD1}Sf?4*$t*V-2%)p30{j#^F=EM$9wXkbLsS zv}aUGS#l{5nfOR6h!jc-s!o#B<{V_AM?$@Ta>7F?9R&OoZ9339>5mk}>&PKfkuik* z!EpRPV!}w}A`o-I7s_ll=YQaNMEoZO;#c921Ukng!Wl~FF~8(CI9P2W6Q1ff8+xD3 zIA?7tR)q+ATQ}zrg|bHHiWyxcjH2?qk~O2MDpX9PiNo|2j|qpqbdwzex=)kn3^{b9 znn2aVrH=6OrCK94fJT78VZi8t2%7{Y+cqPKO9;0$Qt=i8c2>?VMr_}j320TC@@J31 z Gjpg#rdcI zxh?=7m8 2eq+O`Y_07$XmiH2kYHVgg|Pp481^SV`L^Hr-}&ZRVh?@MTi!~ zy*v%$dNDd{wLf!o L-BtYf`C{hZU9|4J*H^kMX96+Iwd4auVz@fE0@D2 z(6unGxI|}j=0Ym8!(atEI&*qjqoqSe<(#s(Itpi{nGA%D_crF}C?S NtNo48@fe zwMHt?W~3XGw^LP#P^-4IZ)&(o8U}Sz2|BcS(q`V)dQZjLM0S-MN~;{_-qs={8L&ae z8?K@{ Je zZ`yKQ5eGXshmy6>J{y0fd8YNfrulmZshvy0_>54wV&?E1i{$iRszSuwbPwtd685#w z`6#K3<%Z6_BR7y-RgRe#T_4DVoC5K`)O=Et9N`H<1BPe;QE+KG26qd|okt&HW)!N4 zUSNJ O+|%z_>a3aaV0^BsR=@`>KFF0sI2AeF#u zp(lEf;V~VW?poaKc+h(V$XGRPI#y#75+$AKtr6iAl&S}$)TK&6^*?iFg{CzV%xmSd z<|+DKkcL)Bk;l Y9qkW7Y^de4QQb6mqM;#KlCFcl$tMY%;4_)yy^0 zEreN0QX$O}Bh`281BtvIx`ITpYGm0+ZyjBDMJ!2oF=XunnMGwnMehpT<@S|p6R9eK z;1D+TQFVITOv=P36 NEAK13C*wc2#eN~y2?I~*=Q 1BZ&hOT%Cw&^Ojq-viRSlxcaB z9#nJCa^)t*NH}_e4%563B&MX{B}yJJYh0#>P$&sPHbjr+^??k^gopqIj>fsdL;_fh zh=8QAKHGmjeHo}mWfcqx8kFK5fAn+;#0KqEOnt06(yJg41!{#!R2WN@O6AfMx|ymn z_nAFW3rhzpV8~-JPB2z8mHR}H;8X17&gg|<3*j8S34>fTdqK+qF(ynSVPh}Ik^)ti zrvnSL|1Y?YB^k>5=w@XfNLoxQ7C}HZ#&A#XQr3T3;BHHXiuP)Fa)C*S=t9z49(2$* zA|g;?GMh^20}1~~Sr=^|D_$AbO4q;;!cfdE`Y2IC97;)! `D;mXJeX`M7e231wBzAUg1-XP*| zw3vS?gt4&ig{rcUd9r;*9I2Qww8N1nuO?6oC|E==$H-goK9H5_9n)l_ojfWaiZD<> zC8-7q;zZR45)Q{($O#)>GQ3VC9TJFX9Nm5H;~^2KR;s+pnU9QRP0OZmm5ff|`qXq! zXI%aqUysTsT9yst-h|T!N;N&);Vo_6r3!xyLYRU<7WA%F(^5e*HkvL3k_`$&5IzKW zW?AXdwDE9Ms_9B;59UhI8-mOkOq!hGYq+DU63FVgtW61C59Uz!5QK9`#i{;2U8JZ< zK t<~@Z-XnB+(~!So6xG zaY_mFw03mMB8%daj)D#kJC^jo%!5ujflW$=O)3IPi?~o}kxfZ*Smp(BXUc!Y(Je3} zZX!{EM~N@B5Xuca=GACg_C#P>GU>TQ&WEfgc_e>PmO+^dx~9tz$h&M1!zLIVBNNqM zhm&)BXyyS4DRVN#1g=#Z8)H#Y)03M<4C~K@4bmHj)JlgCU}rK^9{$V=P?lN;W}c+A zGMSiTMH-oW j z?2Sbl39BO 8oEE_Oq@bRrUG)H? z%EN!G(nhO6Ts187 zi16H5sx|7R !X-n#sB9eA zpIZd$I#EHvRHBH8pJ`2&*7y_M78-WU9o)9cbS@9+QOcT1|5tiAi<`<#QUf!OQd8NA zYBF7AVj4eq+7*AL2iWqkS*k-GY )-gpzLq{_mY9{bHyrYlC6y^KII4Qt`N<*`nlrpJs!hQg>4pP{P0 zFgR8Wy8`LGM8m76huM*`u*kEszS2?w62&lVB;zCgKsSH?SY()L88#gmdPMj}w@K5m z3g_v$K8n~R%TiEnW+t-#|7*Lp9a(N0_@1xGC+JE_|B-h?qA244Cp&??PU62$Rj&
MGwdGSzOrA;lL5BoaBF|7-h)^y{xCR9&V00$QLG>=3z zyu_sB%~ph znt`KBAUj?|&Vn1D`Rr`xt4m}HnD3oZiXwjz0mf&QUS;CjS>uV-*_qt}BeYn;(1Dy` ze@M|Db~1dM0BcDz&_jn?@hSzeM)99H9p3T=hFZ~9hFfb9iBds=j0CFg+Cv_PQ{=U3 zR|(llQ1_8CPK3oXo)ov_a6DfCO9-7w)Vp_T p$aZU8VpUpb z^U`;UPrWnzb>v-B%Y#grd^=K%{eN2umW)zY CCDS}HPGl yiqt^DYC&XBpvr$yS6=rjVxKS% zSOG{EB?8C~xXJ*ZGr2Q~wIR|^-~0{dys_dXI2I)9^SBQ#Deu~lW{qde|M+-rJ@U9K z>IGxZfv3sDB8-i2Ee`mjxr`kT4n1N_+_Z~^%qFMobFleBkaQv7hI?g`cWqZgP-u~4 zaeFmbo@<85Y73oy__}}jmY=&QY)ZCN6UDN(B*D5s0+7~8+gjCg0Ls~%loj6_t{ssl zBg-*qCvA6^L~XtTUl%J@T%u^n0E!`PK+&VNvFda; U z{`L+uyZqnxnQDLk_W(@Ba+w9GC{|+uAl^|UrFeY7|Fy3DGi+3uHt-x)YRZ~Lqzgb8 z%Vy$R_j@Jz-?Bkf>`WdlTe?h?qz64wlRFpq_V5`tbUBvLBBNAyg%e4=)Y_@freyhj z$_ByGYftnKBYY6D?2wxS#RAP0$Ej(gB3(vQ(|d8{n?`?-RA0&ESREeKYDcb6Bo_7n zlo7+H80ls1K9Rj&uMr)1k=mF|Bkns^^ygd&F(`>;a1Gi6850`322%T(;_mu6M(7iC zlJ$ yQZxvb;Rr1mdD!c zcewN)i-}pQM@@UDbbU-nKnA{ND$nfE4gXQ_anSV2qX3U}(n_QS|Bjr1@+U5VymITH zX+*2UH^&REU627&B`pvuo3CDObwvN-62Fe0A3wc6dmLlvV(Gi)%}sb@D-3u@jF6Qo z(}#cd%Fr8+7kFp@e>2+;(Y9fD0Myay@)w3q(nWwucO^06q6T2uaY?7np7im`&@& W#2)s!`U^vo2{Si^dqF-1%(B?mM4eT@Wx$vE!q64x=$R6~jda+p zA>{)YWZhqM%)}RlmWuVky*r5w*b_IUS`B}iqi`MF;$!*q&>DnXLrL0f 4h{ zu+kklF)|SA@s@JooneP)2rHyPu5`iQVpG7(Rf;4y`ZZ74Z5tCkdV+V&$uf)7GT?uo z?xi^)M?7Vhv~QHM-2riQ2Q0NDUP33WruAEL;kWF11Fn@zFL?!4+jCmuu44j6UAJB= z+_Jm5hnl!&8W;IvGK_a*pa~x=K)!4DE^X;=2a%G_Qf_$?#Z({~s~hQtBu{OuI( `1LRU0lh!I22xCw&;S4c delta 22361 zcmV)tK$pL$$pOE~0k8!Qf21y5I_-TU@ku7ba6%8Sn#0My16BF58#Q@GqCD%q+r*gf zT%zsuBqAmHP2ZCjPc;5RN&Q`S`3`K>WOHQtyYEO_hLU S(f z)_u33huf`0&$=i3r!qU1XM4Rk{u-Z87w$}$jr*_9VM#Sl{m4 $mB#Ljf=5M*lgf*X5{OmC@I7-1FGU4m)vZQJ-lab`)Vk@!SV+C?Pi( zx?x1>#Jul;+u?_7e|&M>T0>P&Xl`X%0om7|tp}%h*X0djE@lb#m%_Yyl`gM8oSc={ z<@3pTm*>sqQMs6 WdG5i1-BaJ=ADrI=-j6)POyA8@wLIcX-#>W7c^0JowcZ)X z6|eQq -r mB61?f1P%aB!G z7}SUGGaHgUe;Al4`Fa+&2}cinIafqx8Tdu5S7qE={weu-7FQiD+R_oYTCiqI;K!qr z+ pWMh*)#q?R){IG-&-*Sj_T4(Bn3?=NP?rZ+!#3-cJe-?q^@ z``cpM4i}?^$IQgx(l}xEx36ANkTl~8ADz~-)STT@KaT(QxCaL@OTUUolU z!3%nRQ~lNYdmKvr40C;^}Oei3Bm_3g)0>1gS@+q1uIG*I)9 zi-u_)`0XUymv1@mhtAnO!lOLI#yrGhJbXVE{*HbXgKn049(BQD&jbE=e%4P`3CdNV zzm#z}?Wrdd+Eu{sFD@?o;VL3s3H$ZDXD5Jie--Gjm*xD&cl~h9lz2V#{&7EWcT2ts z{ =cfv#PCYsKbz0bn^7jLqvi=Xur4M9tGL=Rq3-&3&UMRLcSH@1M5-PN?nyyRMh& ze}#3@o(rUU?ZRlU6;ZurC3GI}J`iY=av>m?2SvD0{-+1%gzf=oSzN{L2wIjdX5WB* zzPz5MWWR(zTR>;&R)c=LDlOwA=Lna<_EM lEs9FNONNTA@Do9Q)7f#=g7toWeb@ zn>RSHct2iVHyF&@k(ncW082LR^rS&Pe|tl*4C&3q+2!@PWiqmRs%3z0N8yh)(THLx z(u0bQ4Kq=Q cp
zQ!NGjN7u-9is$cWmZCw+dNtfWAbtpczkl2at`|sGL;uzv`nToKU!fk25vISRd4Tpu zI2lj#))o!8r& e^|8!R`-Y1 zYhcY!eRY9o*8to8^4is~KOXhA|9V2a61r_~X#sj+b7=wkEj#Wjv?AKoz`U hCh>#m4)9kAE{ zSgZx!>pOT8;`PvdyTeSWe^-Nd+hSe&vf2XVAqJptC+i9Edg#90Y^Ky}!PO>mtM$+u z$*tDPEjH $8ulq*eW=g#pf4ujK#*teCdeD2` zxivlPj{C!|(P8(oKkS-e`;qh4ob}aWcT2yHf$6PqKd!THKlV3pdP2Mw`d}02gSF7d zn?N70h5on+^g1o+Z|L-dcrEn7CeR0Kp+9Z{y{lo^4cA50)4y|`r{_h zYqiAh>mN4I5+Yv*zt`J+nJM)n;G4+4x88}--yduSfA9$W@n-PHkHCN241TTN?DcnP z_J;fs_=C;h4<3R4xEcKV&QTl8*FCis+HC^u) 5|RN_e()uy^1H}tHUxnJo&Sn zb~@iYi^;_-`3er{I+kC;Wiz f8Xa1p-a7QiCz;wHc%?7Nfmay%ZLTz Zx%>weMmzu9pS61kfA%=%ZM4}wz*^6D(mh*gvR{JM zf%k`t8;Lh-^E}o=zQ-5cW|){ISPs*C$#a%?)x??tPcJu~T%6OTqYoE9j4sZ{dtX2I zV KM&W!eH%SL57)$f3q3y% zx0?I3e>TWgR9-AcYvA3#+r@IU7T&!(T`Wg?jQ3WQT`Wgy;Jt-D@2cq!zuvshyXkq? zd+D=Oi{aAU(enG-Fr7-REF)YG+r75Ta`c5#Gs{_YFXFVE$%8UZ%h`0TZ?mE$^W|<< zu%IfBli&1b#MwQ{5`GV!40~kImzR8h1h`??f0yI08utYzC7o`>1oV$GY0$3aY*wq+ zJfqI~wW2jE6l{UX!b2(jcu{tHhtq*)*Aic=dT_DI*Ue3?&TC3D-!BDu_3FIi)$chh zbv}3TdmgZ3*|%A|`Fd}2a9xZ3&C54m{O{&(x)!S8Gv6--Y0Y3}0T&aPIoR8a*sY*) zf9@{!0%Rw*Ig7U7HRs@d31ityL`9UVK~-;1wF2~b=Ar6VTzf;j0{XX-ddf?b_n@;^ z96Ke~vjodwUcCxAcPmOf4<|vl|K9A4VR7PA18(0xdC%GO*Z0a1<7)1&UVREz2j?wC zn}-x-^7-?S<($@@PvNcdGm)q1Nq_+bf4MXAPbf*etE|yDbM%CA|NYvMSW9@J-J=_V z-fi!}8?oO-E{`_!=Ox_Cly;%Bk8XSWXi0Y;#iO`ZkTz?vOQ{+R#}376wIRC{t*bfN zp-kN^%kV;#^M0Ngbo*adV16#+U++sHw@zq(N50U+$GB}_e)Qmdw;|cuPJ2VVf8@oo zrA#(e<|cmkNn)Sjo06~8k1ye>7qkRnw{gLTThNB?{I33ea@l7ZDI&a!4Ay{e7#OYM zb5j2J<<{}8kMrH_xBCyM8#B*4q{XcB9`9|bp`ohr9iqJ kRaViCzb*5vt-Zsti(zFp!X zCcmerj~3nCdNZ^hZ^g3}k4h=z3iAEKW$zNqKZ#0DC_N^| d(}ME{-MA7`7sXd4tO(W WD`JNDBPh}fuDPat92 zW8niy*s%6^v*H)$Y0(f^f1VFtMkTbYEk6W1?fNveqEGK%SG+l=JAFs-Hu+ico+ACw zPO;{P7x8C>c~sgLnFf-n$CKgDRu8EySL2tK>_lm<#=k5qYJJyz{m+-C>`HHb|Lb)1 z@6Wue|MeH?>X}P!FO3;qbDG}re$HLJwT2AR%~zxJ7wPBiwPdJ{fBx$PD`?C=Uz)Nj zz4`sG)78H}^RE7@1S|Jf#b4SooZh5xnr^5&ow2#ONW4I{e>8Vre+}ap?|yv0zRc|c z3-sb_iHeSUHBTdG>r&7Yi8)h9<5|o3C0yOrx_I7#wx%RcB 0 zecz3k7nk2Uu9efLfBT0&e|@++N`FHZ?e=bCNB{LGVB-mwb%3K1#^vDygB^Eo)hhb^ zHRmE;cy7q^@Mkl9L+p9;Bqw ?!_2-HAzp-dmO{Me zn(Cd!$)An_=%-9yM0pYA8H;lGwd?G8Y+3SqkZF3a`6jq&S=il1#B{rZ^h5Lh%&z+= zm#gvU;@b_`f7O$8)Ibt+j+1(Aqz&twwk6Wm&Cj+38&s*MwF{p}mD;xu2Un%7h&1Sk zHQpKBlIhth*A^W)|KrPZ9*q$hif3qf#y5nGOK-zZuq_HUM87p}ZV%pJ+mL9>Q=oaH z@>Zs%4YJL42DiYnZIQSy!$}$Zri~W1jCOz3VS)M2f7+Lt+qnIj(&_aTQ2+b7jJ~xs zXr6Ya*3 DBb( zUGuxz8pE#a>lQn;E6=Yx z5?|LA9p&0TM=;3?(1=Se#iZ{ zxr9S@V6S8SyY0bkh&X5$_PB7c+a7F;3wAAD&pQU+qmV=DVe^vTPNnN{J7Z@9Ec=B9 za+yr`!fh&3zdLNZ6>!7oUlA=Ae9Y&7JlX3d;^kOt8s>6u!f9KPS@a^eDI2_?GYS-Xuj%W$*`}3{of0uLW zVa2w?wLOvA4&Og_&+^-jS^gGApRc<5@Q0M^dD^ex)9K08cnxdPsnO?mCry>#2a}{x zy9W}ZUEK!~ y@0)d-Gj-S(|<2$e<8HF3qUVue@}#V zvuO3#N3%1RVO|h7K%BYU@`Ct+_=5O?xE#^Vu8_Y#zCgY}J`2d{zRe5d3*-yrUky^Q z`Aga_pf8}$6LkKj|1$ m%P)>5QGwjFL*f+#~f7GyUhVO>f#|~-EMhv<|s2j5A5?XG?qO%{}j7=9S zbaIu#D0j7Q)30ZWb>TOcVeydVN&t8J`TYZ+b5>^g@UD5|^Do7I{uQUWAO0gb_EG-9 zhIj~J8at!ut@ RWBdf2of_)XUhe{Yt`x?X9r4+s}l zAP*N-- Cv#r3j5*^MaUFz%=e?)LNfiP=`xnB7w>TU))od9;K< z?? @kw_S&nrdN5VEedoN{#}kr$4mY8=Ij02DghJ|`J-}L!d3a<{P61{Y *Ur#!^>(SX^I~(c7VV?BZ(~(UQe&n$gi}nnk+Bf6Qm~jpwdf_@5`4Cr+2+ z(SIDPKJMTN#<`cHcp5p|qt3sKoZa-Ty_V9`bPzslEs^;&f?l?jE!omAHrIgKLFbH0 z$ZZ)rpCMV4=kV);bav+J9<|9fV%9!iH)40zR%^JK7p;W;(0xaZ7~GNUKUe^q`Ad@h zs-&w%>DPk)f6sNf8Xu=oDd)#uF1i*yv=0cEEtwqtoK|xpzjuOfLgO2nTjAVe8M6o9 ztJ1MQ_2k?AHM`i4y#6_%?-B59k8x`Vvo+4mK6h)JTiwKV7}EiSj=L#$-`^fvc!<<` zLTC*pe&4ch>hHe4tI@gSOznF!-3D9ei5Ffkyawd8f8^}-3$qtycg&Wb_xj7QTY2RD zh2?k0a`nA}7oK+qn!@CRmM~~54r*JR-IF!CpJmz>^WM{GTLNsPbnT~=wxx7i;q0EQ z(Y=*!E6g`hx~&MXk w!y!TzP-6Xe@%RN#|JiM zX;z$#e~e2R^jgf@h~3wdtCKh|zqch`f9`m?@AmU0$J=lJYI00x5%G~LFY93&UQcni zpWjd9`9<`*t&ll&dSor^7POBmA6%m5)zHBuYQGOTv_x&YFoTQJYAJ^ksP)PXSMyYB zOB1{>cwz8-8LYXz`NHyr mAJw#csFlZFYqNb8TroGGbb8Mbi9) zL$Dnoo>PZxV $q}zWS`gUliziK;<-^Q-Fk`7-= zf4sCRWw*Y3kzjigtl5(J4;AF_XYQ6@zHofu*o)(H(B2mr`pM8Ik{#04Z&RKv8r;dr z|F{L2`pnsZnfK_6#+qis>dSV7*{-r|N2aZfS8EB+fk$jx;%s-!wk1`cQTru~{@rq* zcl!PQ> 17HZvN;6 zvbz&lOa0IbgPk(id#Cn4{an9O_=^Agt6|d#*_Nf{zD(jSn0(#^latmx&;HYGf2-Uc znH*c?^+*?vcEaRy3_Ba9tub3RN~d8=XU1EqcrTFcQ}y&YoE7*ziu*M2I!-57SDh^y zyQkQHSm*dz!mat?KZMidwU6|rt-5l@k?B=MZ98phF8j3|wtw!P<+q)&9EWkkHKEDp z_r=ean&rti?e@48{_26`+rlsBf9d43WwK5w_SY}B-F!uH*wqpiUB ^bxC&>Nr%j8l1IW;LFKcTO(5WFJX}H09N3-sY zrDu(OTiN+9f!Zfb>DAS=Ju&{XKbtNsY1@A5-HwgetZGO5qgs=cWA2rxe|1FwUU Tu)!W!N!)I?m6jXL`gPI}>2zemcKCqu;dNM&0dT zZd=IjsY8b|9+Ttb)89Scf1%&DkV6jrwq+f1=tm`-J%!&GnDcY$nSOp_Hv&ATeriq+ zcEo<;J{o_GPu4+$^X}U_EmauQJk|1|2s0n_cfZ{@os>V`oR% )>6~dOc@boz&wH^s{9>*dWck zliV>xb`L3U#a;63@)~}<7S^}Py=@k4#`%|v-1*V*8IoHL@7?Wh9zIKP`!~%k+JMp7 zVsi#y^}gYq_8F2}fB1#cBDa6tyO+9QH(tr_ivH^;m)0D1Li50q9R9rIb?Cd#d;6B2 z%z7MZ-hkVvoQ2CB@H;AL+^D%kvfSZ3ewFKmWp9@6xqcnezvIMm9|b@zw?$9NxYxzY zZFYHYoB52HHx9svzIbven(x7Gc_9A$Yw>RE{clg$`fpFyfBLpd>}sBBlcsNS?|cw3 z+U(FEA~aioL8SQe$tC#qL=v=Kj5LdM_d)(w{JRpqS=%;XbUC{C|8~UcEB-tPt1s8% zeDTM5*MbH&pYP8gT*tGMjxnB@etehy%fr#dXS8FQ`Y(Tyc!iG9a#H;33bE`t-4~V{ zvwQ(>1Mjf|e>3p(8bG2ZE!;Z)b)1?!+3+2|RdHH-eT&T3vbpJ{=Bp3GcYoWO-|+HW z%#Gj^s>bE0T$Rz+a@<(pX!tG~O0wtCL+d$CK73}Qv2B^!$6>n?tmD;MDSxp3A75Nv zoL+qX_U7XJYZ-N24%Q1~`|r8_F#oIRvdiJuJD#`Ie_Gb^ry4qwpJ?2g&Ib=DQN9{K zBT By1w5>Dz38n34lAciD%Zu+t z(yNQnfA?Y!uEwL2{JofiuRU%{?MU3~^rf3a)st`c7f;qqe%rcyvI6V+GIy?hY^EP~ zc`o|!XY)%ryBK|YVKmRE!`0QN=hWvk>K3|kBet70_pF@lysbTXZr0Gr3c^9-`x@J6 zZ@)4E+i3Sq9cA&h>pH~(+5WOp%(OBx_cF&Lf4k>*!adwiUtrg-%F5Hr+ 193* z-`XmNKfTCpX5%>sd~*4H34D1nPG7z+k(-Y~J-x_(eqZ8#`) $XnK=`OL9>OUT<6hq5naSVmNuHPd&H3K*62H+YJ~QFl9OUy7zBwm+UgBRhZrnUC z>6;^!=OzB1->>N3z7NsA-jq0OIgBRfh$fE(&(?W7{QBTGGuwH~IZra$tMS{$hl>Z4 zq@>fQm!z?UH_}=V|$D@-t-3EUs$vU=Z zd;oFNGnv~Lq4inuAw*~#{{cieY1{%FMuyAl@pF*j{l(}koSyt|$xkKC$MehX^HR*x zOj*}Q82|hT=N?mY7%5t3=Ri_4PS9bbXr80Ph=I=<=joQ@_@kWWrA4pTaGs^ve?Pp7 z6j$+^)RSAvu#YZom3gZQZj*VrygE5;yGgNC{;j33w#mDPx^KY#?^omeDqp0(|JMxs z-}ep={(e+y8I|)?{uZxKPV?M{^o!}2uj$8=^Ur_FrJkIZt55FBCmt9N#tIQc=8-4v zm5WMo&!fmWSLG&Pry-WpIllkrfB! sCAM`8E;apf1&%RamkJ4 zLR;<)i=xQnbEsTcA(`U2K_XRTbva?Ms}ih~lB1DTdh5_kX}SYxEuD~3SssdKLaCyY z7SgfGjj*gcka0T7%9QgpL5FmeStcDVQv$*^^pOwBdy5H@s*_CXShI}P39F*^GIj@w zN>{ED%iL5eImR3V7)n%*f2Ghc*LabVTa274Tow}r6Q+cOe>B%JmCisyD3P5gnOh^H z&`Dv^7^%@&)}pVv19?%kFe(?rl;MU~%sLhrb5MgMWOtw{Q*gQ@Z#fx|;$4Mkh5?yd zts8)9R)$Fty|6iQR-v2TyUc^Eux*`zpo+o?RlN+bK%8rsCu8uVe@dMCy8+17!b?fT z1)VW(lPiiDt1;1>imn03g_r`<(mI *kpzkA$L2yFw zBwefxKpAG%8gzKbQm4ujCcPIXDq(Ewu16Ba7SqZ?F6wtF@oyH22^(#NFX;|cVH!)2 z4vHufhbokeKS?i>e{->z2B1 x#}tW_1CIXa2!hEa0?>VxjV6cY*t$ubWWa)<>CLQ~Zl$T9 $P zwYpHcf16qd7o8ED6_rCoGNYKZ8d?NX4#i|GKu8?WA4*~TOwgKf!L< 0z3>1J!_-IF$+q#}IxP9c(d$dor1Yb)RdVTc;Rism469 z*;NhK&4eo&V~2>OJCG>wK#n8EidJK?fhN^#e~~9!8x8Lcq-t?cJ?=2~5hfc`IS&cx zkw7{rx(5*+`iHq+5I-QDaG1278)Zv2Tw2)O?m!N~xg^hzAxfff$RjK~uXV<-26qJC z6_DR$D?@~vlu#mcw({9&1SPV&J@O@n5OuPMLJ7zD7!Cfh5qY5I-8(x7CwYO3W)ZEb ze+-c^{s;LQ8i)w2`=kxZBB|jOR$l}U*CA|0yO0Ay6?|=w$O%mQSRAGZGw33CS!79& z$y;e`_u-G2Xc)9;g)YcO5qLS+Zp1kVOkJ_vn?^Rj7&u((t6 GkqnuM$%tvJ*Sh J}k3wXe8D^U5u17ht?2^+AQ9d&qy;W0 UxEc7AByfX)r>1GQ}(m8vJ8Hq>he*jVrOl?g4vYJO%3_ z(}?z~ja4A5MJR$FwTP^{9u?($;*>Q;B-sHukwXa2Vzo#CG5xy((V8<7QUo3u0f`sT zLYHmLoN~a1750L$j@&U(e=Q6n^t#qa%g6Z0(L!!_po};+Bdrq2We)eo(DMvlDJf0% zvNI5rhsMVukW_Gsl9L`*q)Z~{VjEIX*jIS3h#^AoW>XFcHUv>$K}stTq%;6I4~s@o zGQ3(qyp~)==;b}FXf*i#s#8{~BwckWNulqp#~eehj>y^D?q&pfe`7OTPmS>0Feg=U zC^a(L#A#i-L82TmQ=!es)DVa|q*{)$lZvF `8M z_PLx-x9;cQZht%dcyfdOZ}*?wAkKX8_99)MmGdz@MsSWV$7OULPOs*_zWL=X=FK1f zc6yS^`Bj z!@gV6T=-<3W5VbbI9iT;D6fyFA7CNyU<{!iauw~f5;8NS#uzb4!&IBFWJE4)Gh&yB z+$B2UnF= 6z#%cVrYa5)*v&2S{IG5#3m#Xf4T{aHg%*>4jxe`q*)QD z&}6tV%c==YSYBBMKPWx2SY?n!DDKej*%pTIs;%#nk_uTd0uL25FC6|~MCmQEE`$JW z{gn}yaTzRwU8@*CMcxFBvkVDIZR;->5AUONYb4h*zBSNw_A zCNpvzsDuzrSO`dz!tBwN@+^c}$}@OP6>}{vrWPzDk*r|g7;SDU#3RO2+J^QOD`I3# zSPJ=xLgWUci+rRg+Qd)MmF#U$>-Ul$U?F S0**gW8 z6(MEjOd$m;jBJMCN;}@xMr4pOA=Z&maE@Hr%2FuRfyqgjmQ7fmmRS?rx`cP)vCs+_ zR5vC}1*_YzqQi`i78#T-w8QO@hhru 3k?U zf0=RQwoQIp!Y?8_)`(54r>HAumI@}3wb3C)X~HV7ELAh-40@@+i3mX(NccT^UNzY- z#Z*Lk;~`(7m58EY3z>wJ@Mu{z%}0e?RMCE+rEPkk8KscOBX*?#C^q?8ML`= lV@nCVQyDJ3$wrO6f|#^sKpB+MWooh`~B zeNvvo?(4$Zu(Gzo(;fwEmhcgy=j$X|f>X1uN$*ufdMPbLsRn%~Obz%CHv#5LMc&k3 z8W9Q90pTUWUZjW+&q2>ZwTRJSD4Vdz^>D eHu|dGI5LqOtdM;{X!#F z0ek!ziV$dZPn#rRuwi(LcTIY)e>2lCg&ICY!69m3!Qp}y$(2m8$#3h5+!(V3y;NWy z3>=U~)|aac!ROG_Mng-NHKNmzb$f?U$wdS#903m$B{hwsL7pO*f@#mp3dRtxGK;ZD zIu%5UP5lM+5-da+DzvJ=TW9?1xnrR?gK5-+70DX= r$+^^uj0VPDa0X3{i0)Nx@ )e;63Xgs9M2-=-5bMD%fjWU?T?HCfYIN%!u|oV?5Rn(o;a1w>d&JC$e*)0)jB+bxtU~xp z;XQ&*q~Nj*t76i?Ibs4rWgUcL_@nVKJGF5f5ltp-WK9)Q8TK$(BM}Hs7UZjK8%Kxq zh0e}Mq Ya-P>3ZP8xX0 zWGXFu8+hA_yd6r>e>8^>H4Du$VlebOM}iFdig85ltmqhilTY&^!yPh#&Z)F~S-FJO zW}G1=&f2wMNf<3U^Gv6eNtj9cAB$!@J46~yScrSMhXczFX_3cBN&%&v>_G9Xo5qpO zb|sAv(4|TaO=nu~W)2S6a6~;#Sn&F(c&<#WRp=@leu9qbf8^i>d|Q86VQ70NAPNtP zwzP%PB>)|!3?W?`7A$mSjwhqD&&Z8JbY3|4I^^D|$$t6D0;eNCx<(JrP3L}~U}$XQ zNF8Jw7Tq&KDkPBM(s9oqjpPU -!4gf*CYCDNi?p}Rt!4mX&n@ON$N_s}BB z9yx_2DptvJe@2$Z5%5s-shj#MC}_N=Gw|A3hFN6cKA>#S3(aF&o<;}1IV7RQD(Mj! zO2ihn6c6WwNV+LD38Y%pAr>)}HWXoFB`a1+lNFO~`b876#)#A^^JuiIXl=#cO1f5t zEUOL6BbCjt%TS0^jr1HLoJCj>5G%IDasm47Fo_rpe|*)njiX?six5&Hb8lNiju<7Qe{95Zj`@U?!yu9q2nC8`j7wuROkq=; zgG5SMnGxH^TB?r-226sk8T3B@o9tH-vha+^7Zz0-K>>fDQ`MEFgvhSR<|K)vr3x4a z=bWcYXVD|0Nz9|ya@(F^vWX)luEo-|HKWi(v=xd$JGn_T>1uKcX*(ui$j)kx2qjwB zf9sOGU`DsCuO=5=%E+$Zt GrsJ3l?C?P}3aAgv%+Zy3bKz?ND zM6Z;N+a^1a=+1^mF6#psGma=f&?zt*oCSVU-)F>Mbe*&s^tOteaw|jE }h-4vfx;% z3??GO6&1{Ofgq(xCyJ%5CWcsCR7H0?qeJ8sBwRKEe&6J4OUzmuWW~tMO0 d=$PC69E-V+tA{{YAAW&@blkNDX^{+~cEr@SYby>j~ zWsGc6UIEHUTVxv+LaxFMoeg2|8^|S*%4i8Wg|~j~+`jl)Mqf|Le;>1lP;Y-XJy!bb z&7b~uRl+EJnFpKxZu;Tz^zRSD=km9!@#s2@r}E*SfQ;?xYMmTQ3Fw?0%zTl^FAAI? za%Ao$GFe1mm`Aj2H3VkhtYqmCyH+lk6~;?J_5-<{bhMr{2vY}FjVz6F12`hhg(a_~ zWu&`wVtvHan`uDce}aj?B20lP5$2LYx13-{5jW&vS_)g?nW%ylW2{u!ll_9bMI0bG zbhm}+cpTCfI)L4aXj=2e(4H!sAS|_rnjyB()>ls_9~tY5s~ufB*Dz#SxC(D(5v5zJ zkUJR9+j@2u*CWS*uSG1aDON{L12u6xNCq?VNG*ePxJWJ$e`3=rRzyrJlqQ)CykHFo zIZSVPbEYfhLRn1*j1hZt7KDW{wpEwBJ{VnxTY}34K#&_LFdge*nISJ$@Dz_75PFC^ zI*H8$q$F&BS2w505dcYzi$mYYQP9Q$t_|X7EAK*|DN%B{WT@+qsL06>sFifd* z3S#ymbv4LPe~?!re#vwzR@27kFidmgDX5|m)G6 &s0=8%36@}sU(a;bXTI{%vsB{SbuP|e?QY|1?_eP{Ef(2B8YRzNoO-0 z{3C_UdNV~c8B(K6l?&*Mn$`H1Gb`yYtQw|!O`^U3s4+9WtHM)Jk0jCVY_$r0n0aa) zf)*v? 6=!gNxKOCbj5xzfEyiI`2s7@ei wlJXNgG z!}!xm)$Ew_m>!y0D=d;`LkDl^Qh$}hSR~p~f2sj$Dm7fFN90{o<&yR<>4H@crsHpy zr5_cA$f*VdG2GUSyjRfSWmP?*LOP8oqZ$l27>Aq$){yFWU 8Nbe}6jZMKrmv8>K3At;QS29sCzdbaWnrktk>Ajaw8Q0ERoF z(>73Us8UrhB*mH_x$TQ9EuD0VK^wZ!e=ZeR7^scmo@HdctT%4VoQ?%6L*=#<6`9F_ zGjxnp+~(33SE(!=t;7244B{@Xp> Wf5sFsT+o?63Z|I!Q74^gkHi)eTp#Syle3fYRewq{ zlR7%uthADmj^$|SmbNI?)81|fn}HWmd6AQI<25Qn_jAd7BBAzBwz3g8sWL4@(4BPQ zJk^zfok&JVMupkjX5d9vX{oBKD~xWhA$u$Z5rH&REnI8_E@FzvTf9q!f2l-=ZY5QZ zL1wHfRoLDPJR#exhDW-Yz=W*XBKb8Gxx<_`t(86mS4aqS%3K6dBaDWid!q_DZifHz zE^P)*HNt~8NMJ2OU2fwN=e|k=rUJ!05Dxo*IBL|aeT?~;kLHpaAfzwTzYH5cXxdtMA z*zbu0rX&4<*NwnE&n6~UoS~X|1tA_WE0WO^s%A6Ep>1?FQ#&q&@l>4}hLzUwMRnQe zxDj~7 xzu78}pdY>+wI zsu71oR)dDjTsfmni2@