From 8078c32f2791a071c161b664218a5a5a70c615b3 Mon Sep 17 00:00:00 2001 From: Schell Carl Scivally Date: Fri, 8 Dec 2023 08:21:00 +1300 Subject: [PATCH] gltf on-the-slab can use textures --- DEVLOG.md | 7 ++ crates/renderling/src/stage/gltf_support.rs | 97 ++++++-------------- test_img/gltf_images.png | Bin 30717 -> 31446 bytes 3 files changed, 36 insertions(+), 68 deletions(-) diff --git a/DEVLOG.md b/DEVLOG.md index 4749c26e..21bb4cca 100644 --- a/DEVLOG.md +++ b/DEVLOG.md @@ -1,5 +1,12 @@ # devlog +## Fri Dec 8, 2023 + +I've been having trouble getting the new GLTF files on-the-slab method to pass my +previous tests. Mainly because of little things I had forgotten. Little bits of +state that need to be updated to run the shaders. The most recent was that the +size of the atlas needs to be updated on the GPU when the atlas changes. + ## Thu Dec 7, 2023 Ongoing work to get GLTF files on-the-slab working. When this work is done GLTF diff --git a/crates/renderling/src/stage/gltf_support.rs b/crates/renderling/src/stage/gltf_support.rs index 584e90f8..e4af6e78 100644 --- a/crates/renderling/src/stage/gltf_support.rs +++ b/crates/renderling/src/stage/gltf_support.rs @@ -396,9 +396,13 @@ impl Stage { let new_atlas = atlas .commit_repack_preview(&self.device, &self.queue, repacking) .context(AtlasSnafu)?; + let size = new_atlas.size; *atlas = new_atlas; // The bindgroup will have to be remade let _ = self.textures_bindgroup.lock().unwrap().take(); + // The atlas size must be reset + let size_id = Id::new(0) + StageLegend::offset_of_atlas_size(); + self.write(size_id, &size)?; } fn log_accessor(gltf_accessor: gltf::Accessor<'_>) { @@ -455,7 +459,15 @@ impl Stage { let indices = reader .read_indices() .map(|is| is.into_u32().collect::>()) - .unwrap_or_default(); + .unwrap_or_else(|| { + let count = primitive + .get(&gltf::Semantic::Positions) + .map(|ps| ps.count()) + .unwrap_or_default() + as u32; + (0u32..count).collect::>() + }); + assert_eq!(indices.len() % 3, 0, "indices do not form triangles"); *indicies_vec = Some(indices); } // UNWRAP: safe because we just set it to `Some` if previously `None` @@ -477,20 +489,25 @@ impl Stage { let data = buffer_data.get(buffer.index())?; Some(data.0.as_slice()) }); - let positions = reader + let indices = get_indices(buffer_data, primitive, indices_vec); + let mut positions = reader .read_positions() .map(|ps| ps.map(Vec3::from).collect::>()) - .unwrap_or_default(); - let indices = get_indices(buffer_data, primitive, indices_vec); - if indices.is_empty() { - *position_vec = Some(positions); - } else { + .unwrap_or_else(|| vec![Vec3::ZERO; indices.len()]); + if positions.len() != indices.len() { let mut new_positions = Vec::with_capacity(indices.len()); for index in indices { new_positions.push(positions[*index as usize]); } - *position_vec = Some(new_positions); + positions = new_positions; } + assert_eq!( + positions.len() % 3, + 0, + "{} positions do not form triangles", + positions.len() + ); + *position_vec = Some(positions); } // UNWRAP: safe because we just set it to `Some` if previously `None` position_vec.as_ref().unwrap() @@ -509,20 +526,12 @@ impl Stage { let data = buffer_data.get(buffer.index())?; Some(data.0.as_slice()) }); + let indices = get_indices(buffer_data, primitive, indices); let uvs: Vec = reader .read_tex_coords(0) .map(|coords| coords.into_f32().map(Vec2::from).collect::>()) - .unwrap_or_default(); - let indices = get_indices(buffer_data, primitive, indices); - if indices.is_empty() { - *uv_vec = Some(uvs); - } else { - let mut new_uvs = Vec::with_capacity(indices.len()); - for index in indices { - new_uvs.push(uvs[*index as usize]); - } - *uv_vec = Some(new_uvs); - } + .unwrap_or_else(|| vec![Vec2::ZERO; indices.len()]); + *uv_vec = Some(uvs); } // UNWRAP: safe because we just set it to `Some` uv_vec.as_ref().unwrap() @@ -1266,15 +1275,12 @@ mod test { let vertices = stage.append_array(&vec![ Vertex::default() .with_position([0.0, 0.0, 0.0]) - .with_color([1.0, 0.0, 0.0, 1.0]) .with_uv0([0.0, 0.0]), Vertex::default() .with_position([1.0, 0.0, 0.0]) - .with_color([0.0, 1.0, 0.0, 1.0]) .with_uv0([1.0, 0.0]), Vertex::default() .with_position([1.0, 1.0, 0.0]) - .with_color([0.0, 0.0, 1.0, 1.0]) .with_uv0([1.0, 1.0]), Vertex::default() .with_position([0.0, 1.0, 0.0]) @@ -1297,51 +1303,6 @@ mod test { vertex_count: indices.len() as u32, }); let img = r.render_image().unwrap(); - img_diff::save("gltf_images.png", img); - - let data = futures_lite::future::block_on(stage.slab.read_raw( - &device, - &queue, - 0, - stage.slab.len(), - )) - .unwrap(); - let draws = stage.get_draws(); - let invocations = draws - .into_iter() - .flat_map(|draw| { - let render_unit_id = draw.id; - let instance_index = render_unit_id.inner(); - let render_unit = data.read(render_unit_id); - let data = &data; - (0..draw.vertex_count).map(move |vertex_index| { - let mut invocation = VertexInvocation { - draw, - render_unit_id, - render_unit, - instance_index, - vertex_index, - ..Default::default() - }; - renderling_shader::stage::new_stage_vertex( - instance_index, - vertex_index, - data, - &mut invocation.out_camera, - &mut invocation.out_material, - &mut invocation.out_color, - &mut invocation.out_uv0, - &mut invocation.out_uv1, - &mut invocation.out_norm, - &mut invocation.out_tangent, - &mut invocation.out_bitangent, - &mut invocation.out_pos, - &mut invocation.clip_pos, - ); - invocation - }) - }) - .collect::>(); - panic!("invocations: {:#?}", invocations); + img_diff::assert_img_eq("gltf_images.png", img); } } diff --git a/test_img/gltf_images.png b/test_img/gltf_images.png index f70bae09d3a6934d5031dcbef04c91caaedbd6c6..6795f42569064ac9a29ce49f25dc18adb7de24a1 100644 GIT binary patch literal 31446 zcmcF~`CC%y`+u5CX-Z|Kd#($(_~o3#bGYy4wcT021^5{m>@nD| zVS~}>Q^$YTd|vzCYm=VlJ)ZOYj}04AN=_d?`UhHTaZ>Ba{?pI)pWdGR?@O}Z@#B$^ zkryv$4%Gh+Y5)I^w}k0mE_@%9JlGO|}~k7F~c~+Rlb`Ig~e`d%8Cc-!#T6P2@vVm7SpV_D3*o1(@)m zt+w5?MdhE!9wis_Yz!zn^r3)s+ao+H?qX9l(0jQj5c>lFNpA|fIQdlvFRd50apP3x zkrSuj2Xb>Gz2|mEt5@Img47eCx6h9vtU<_5ZI>l?R6y}USjp!M63T_D=mxcmzZbsQ zhgmuydt*z$_7Nc)wZ<=m)v?3s+MYP=_T{ZWB|Su}wR>>^a=fW-!D@@Q>_Nmrm7ahk zv;e6d&Xc4aU8}s^xV1(B#}2=;JH{aL#D~J0zi92bGZp2#vgmn9w$c+rrihQD0_3A>d_!a`>7Yv(8M1j#-@X|+|LpzwB?lUnKnL7$WC069gJ(K z6N>_`GMq-dSCqads?Qt1l`2Trgg!JXB03+1&d|-@vzJ7od~AOF=Q*?AnW)$N3-F~c zlpooUXXC=VRpXo+K2eUF+IDSl4|@x5K$v4A;xOINu4%g-3u@i z!JezxAOAw&ta>+GPpNU3pM1jVo1!jT{sB{aqJgu-4TSSUbwQI!kA}$ z^rOl<0q^o;tL&zHP#VKD%GKon+t1^2 z<(`%>k4*t9G>_YKfA6Kk6dJ=jmwUp@gX+ST4bdm(eWzVV?Frl#AhwXWK4+T{e)C%0 zrye`%x5JJOpoE*4E*h1VEp8x|+2?1JtuK~~5(wViH3L0g&WlQ@vOii^0P0*=wX+FB z*fyb%e$~ITVe4-{K039xhjW`vij)I+$)0If+YvZHw8$SHZw`@UHi|#aH)7b0SP!Zy zAK!<p*uv1j3V<(Qyq_3n-v85*VbK@eQZoS=&KxGFD!EFD)HkDv1I$a7vDD~ zDn|yeb99xZ?yL?_l)_jl1WChSt8WpUBnT&{NxId|K>01IWj7(UC$DLBSsR$kL@Pbw zpT2Gn5#2>Bag^=c(zaCUYCU#_$nxKSm;OzCHS}!u4DADmGSi1h)LGtUuVdECc_D;rs^3U;yMCJd=0<7n3-K@S8E+XW zCZ_Q9k;10X-;P0K+XySH_*@32J2QSfHm6Zm42cR9iJUDF(klSYK6im=8(Ws|(n-g+ z7sWF|QBIg^sS!P$acC!ycpIcMS$E^+Ek-XMfN>%t`2=KL-&=>!q<;H8ls0F6h${BO z_YPjvHy(r?K{4%o73J%9cUS-1(e~%bO}e-5)x3N@HI{*vWF9CG`Ve?M3&?k!B^Mi zY=r0`PHX}jty}aF_~7qGLrbo`@p&wjKPuzT`!3BCfQFeEwYH>t^P!9y*Bf@b>VH2o z^KL$1X&jFMLR(easd9Iz_)kgB+t>QJxRn7}27Ar!*3Ro*1C~(?W&&4F;b+(2ZU=2q z{X|@;1zh(f=jJP30mIMEW{;Hg>*zR{YpjOO3C`}DMfWVWzsxgVs1!s9XCG#=;*B!5Vu4?uCZm^+#Z7i}`)EHrWwri|EOM&$wENq<@BQIxuV1{{ z`|rLxs`RV~u%TciG@;WKYyo4=yo+}8+~Y2*vlZ6VjBq6QNxCPb&B$DoUM5=VS3JGz z>etydb!)&wZ(O43c-_%dPIet8C7Y&FnKVTU??g8=Vm>YM_xja3cwWlAokokMbl8dY z@ksr?B$_qCcyMtdr}^)hZBcY0x-vi22_iK|iSnV8k96gVmf=y;_?mV)ZmmzU3>M5B zWi0$gyV)(yvy1{cjKX%rdDnFh34Ce80Y@r)+>1#W)E3e4hY!w#TRq?Ne6w>-@3|=6 z0!Y79^qAa)^t!eueFk@=$`FeFy3N*|fc)0)&rC2`7j=cU%E0T7LGqEH89$tw7*jGH?TTCnfOrAHKji(B~GjAD`qO8LaH+sA{t(-C8@LV`%qsC))mZZ2N{HkF*Xd$7s=?)ac!Y1Xe~ zIv%yR!9A}N$k<|o0$;Y^exTIQ$J2B|)0if7HCPC?fT4-I`gnp`{r zi@%BQeycjRE0o*S@gayz;Y2`}zLi(W`-K>7%`IhOy9wS|eiQ~l8~|UAR!$2`X1dwx zDD-G%>yGkBM(v!#)$et!F39+}oZ;T=Q2gWIfaK|f0cLM{E@G?EqeBWsWTI~rEb3>2 z4JJ9u$94W5VEfK^H?nFt7a(%R!RzgsuiK>`!u+nj?#SxC_qzSXq-^lugI)GP@sSEM z%{G^2l{R#4VbPSeT!(*Nr*OKYRGX~I{sN|G6Qy4u1A|3)XZD&2fe%nG`Cih`Uv(6t zpx7e>5@r%uD&so|>Qdu4QFuiFZjB-QD=0jK;Jw;iWqbGf#=wF*1WaEMrt3|BgjU-UOrxEiCq!;rl%i9uZ7wfOJ5sAUa&Ccg~c{BJ6z

B21&Y7*K(N4lGruy41aaX-B@JKiT8}hA^vXoH8#WQ;j`b& zBV6k$b>ZuY>uq9fpxgmE30ha%3*}3;W-(_Y@b!NijyV5$q&6m>B>ZY~YcouE0hS)5 zzR%{G;6+(~WWBk+*UaP;@>|%OHjvMC0wc8~vxW>y#76Y|=a%o7Q#@h*P~ZVyGNeyJ z5uxG;e8N+$SH;5qJtMnA%<;>BFPlq0Oo%uiHyZ86kQYHm9;`ryn;h#a=(A<^Ig~iTzyBl>a^vi!PN?rdc6(v;W;;BVs<J2oV4D$1(4|LI zbIN58-CIke8^hjoz|#GMJ8*06>yL`6CMHYR)7zLx^}}GHXPEZ>+2|*uTYLY^!5BsA z8t=J%50av+Tv%9s(r)Md!z<1^?Qw9NcXyDw4PO1T?zSE6LiNC9K{K(&bzb&{ssOjj zEnyETwTY{>woUQKvKzgYDA?7e(uV^ke*2>n>U$CD_HB(2t{G7F7TUBQ&;!=+gE zkW6LklToHx4w`w#&Dfkc|5W}QlD3_kxp92lIrj=TzU5l$;ji>u51d6@^UMLOB~g)Q z;(+Ui38c%e;lK^fN4nc@oio^rd0`(D8zZhIpnoQt=-j;N;B5V@mS9dcWu( zmPM8S6hnEVpH_NI<96Sb~gl+l;_u1C?*o`mI*z3)kJIYS|P%mX}F zowOFN^(bV|C^*C>ke!SZ&9r{Bi2M-C{(&KH@fi0eWp^p7;@(h}$} zKNF(5E+3-#WGq%rF1$^%!uBD*>95T|TUbs}^}ap9Eo&7f2+2zS-2rWDQAyd_)#9`< zEh)2+H|XChRn4Wvpg3ViAc_pci4SqMna3JZ&@uM*CS`7iB*tMu*7l|81E&5dl;?Sv}{l6o*RQGJJNn{tv!lJ_`MIGJkCH%Ht0 zU~KUtf_G<3=)&dCr&d=e>M5Mq3wBo%5;Q$45%_}op(oATiUN_7DhZ! zJON({#K-4W?$+=p@8Te=Eb0E9`8U~HT+s?5&Vu&HBZhYzf;U@u4J8Yg4A&Kas@ z!a>Orfs|p(a-ZCeRq?5oRJlIBV~OK98o4(V_zrsDn7ENJk zM4yaa(Oco_SISu5fhf8qGA6o*s2sJVD6`@8(QJRWNawu|M&*2_a{fPo$YTfa1CJr#Cs~M!qpY$lpUcGyHo8ucm)D&;U%odsilNvw48^HQ#?D znHXVL1$Eg$xmpIXyu(0$EDnwvyDAOqoihO!vw@=_F<%ZKBcs}H9n`T9hE=qcv3-^t zsEMX!@<8a+3`AzDfvwc%Tw0^nsZs~~cbjn>0Kz(UyT_ieVatf9nt>)8Z;a{1&X3KN zrwOmJKx=nt$VgUAfX7Afu+hoMOOOZz;@Udr;{ez&jw;;_QdI|f&ov}c)QU7`ytFIz z5^-SlBz=*eOZxAOo34HY_xI?SAoM_f>ZZJ@KNynp5D~+I&EgCzj5U0I8)ErWqf`Cl zyJ)&-(wsPD1C;;vBM=dsxF);TJ=hlNhg!NzOmb$c!Hq+khm9`gH+ZxnKfYX??Bx^C z+WjW)tj68-fUB=cU;Uzfs=D2eqH--RwB>_B zro*-$y?)b!mGzA0%vN-xdwd$ToZgLY^Ijb6>9o4-lWDpte?#@6aS_2wKKTFqr;c!# z8Ry*G>G49jzr_c-_z(!fMYVDUF74*&wyqQ6_`9kFa>1zpf|(K+_prUKvm42!;Cgz_?;hmBtr;cSP%?M>hEbhgwr&VXr7Uf? z?S89=P%XKKAKQ@8;dFE(FEoMVd$r-thYS=h$JxTQ&Sim+LsZ_OiAdvRZ9S`n^8U{+ zEAz}lt{lj=>bb9DmCSWu;-tRr@Wxk1khiP-Hq7^0z#k&L{*r9l08R_1i`GCA&H^hc z&by)81kuuE9oPKAugo##;;iAH5HwQ|MN8mZfD61z6Zn`oQgY7_f=Upsb)hDS>w-BZ zF0OkBR4JE$S3N?YAA&cAK?eL<1UVW)%6s-xckF$m-LRZ`fQL57er5#)Azymht?wR0_*3gjU|t8BriL@vE3dN-YnM zF>4)ga%a|`;6e6D2=u3}W56{hoEjjQtYb;vVqVTiQIrmbab)RFAn8XFW>f0@=G|rM z626>UZY8=%T#Lu8A?Qa;Zr=mPk@KM#VGvgg#T?rEs2io?E%qA}!#j_;+hz9os8?@V zSKQ>-`f@H{dPbu}lk)+R2&!BfGhl}*hD$zyR=47~Na>f1f1KL^YH=F2*OuZ{zdy5L zWA5UzvO~Cjuxv$5Y=>eO=m{Tw@h7Eue%=W1fytTycn4lmFHtErAx-t)1JfNw3qk0w z&dC^hBi;xm_~M>8USf)=83KnSHgluYGDOofF9;@r*(8?-m5 z`$|fc-tmixO&G}9O`xj0=MQ7v`aufbL^fn!Dj#)UHaz_Kw_nP(>gm)Uh{`oB#qvYH z8M8z?iQN2kfkn$CuvL;S>!ixfb7S>wp|MM*1hx%goS(n`Lpu)2yADM9Fo0|gaBbiO zsi%Ee3$BPMeH_3Yb!Uw6<#+n{^l8uyVs?Kif`4L3U&HL82 zkkxIVcD8p?K9#!i{)6k}T-OA|w@l%dnxonAS_Z&NPwDFdVvi!>+L&P);{3nqO2(uqOn@>fqLH#EwI z;pDEjdX}P3fM5{}u@ctcb-sA{;iIitJ_#g?kJ^8R{T{zGvMV*pFQLGrVdp}UtsSTy5}F=+_5&S*7^Q4evk#5 z$r-_BrVct_#F;R__B=;+z%%1xsRkbi>{&N$|nu$4GK z)FrFhM!QoamxWrqM{S*J1mgSFs}XPbU1Co+ip0FtY+ZDpe17vDqko=gZ8*FwX~4-f zvM#st&9zkW(zmFP>1_;{MhQwTHO0>&*W_()FT^j%Hp3PJ)%T;f~+5;>IFdU>psLIZ}jD_LmjUgq`Yn;k|a-&osK(co4qF<5F%vFK5U$)lpy*T;zN! zXx|||$~IYQ`}g!Wv1d_HdxDR)-tIqNJ^1TO?Ro2w%gc`+pWW1N%z_;Z4 z?>glEr+1#+yzP|~^W6lO9z=Q>l$sTd;RFi*s_6aC%CoqicalERm2$<}Mq+UO*;ie6 zjeY=FUs}{?&IDPdE$F3g|Ct$9IL8Mz=YddOp?Rb=N2Gbw;t!6(VxAer;Xd|>&j8mp zS_r#F`f05*H`iGIy^e@V%&YU`lO!zb0E9hB60+ov$G5d_GJoFJx)K4;T3PyO-2AkN z^3&r-9wE7tlRcR+lCE*-+`HJw{?|q^F;yOk|B7gM{EK-a`9)@^BEB?b{POBB|3-7y zx$@k@L`yy(_fn0&un?Feu-xfSLiw2 zTC;SNEe^83liyk;G9ZLH3GLu3edK-}E$k>62HnlW_CS40vW;4oErDI#ooS!4+1091 zgyIS)t2`@{g?`qeI`-iH_iYxAQ(pkBPb+f*izy&Nz4rdQCmju$ix-d~7m1AB_vfXTCOBTjArvZld$@Cn8f5 z2W?f8p-LtjHocL(^tOrAc>G{#GW{dF)cmF4#RnKrD;Fi0lt4t+J*cTx7H07-_7VDh z7sAa9>f!>NnQ2a{wp)-2}NaB64qojGB??fnA0vgNf_g;l0o9y#s$$B!K-ITFkutJF@jCm zpqmKF-7r-I?m1i4H{SFg+oPqWQ!w?>wVWW4P!%pPp$Y!EyZjq_a;S9*Bq!4>T z*cnGoEnBSYaA3rWY6;#0b|H1$pG5V*HI7FAtu`mlOeson22e41Ig58kW3HVc%`GEg zylnuEQcy_qp53G7^-7VvKbr*2yKiT7#~6M>vgZBO1wv(Bny=8dG?(Wb8T>pk({%Pu zZ}oXzf!!+MBuiWm?7us;Y#|_%c;CdOZ*ER&R8GuGzYtnhMDRDj`UCd0V@@vUe4-pY z3|SE<*MO>xb$m3GR<%O^VD zS32kv&w>RL=JI-K^T!IGzxjs&gpumU~tdN3yLkFk+gu?cK> zhpF;oS-gwp_mUXX`FKUvSqwPw?$&ZUQO4UN)ip5;psLOGp7op8!=xkrO2W5T=7$gY=_R-2L<`R z!n;1)xobOt%q?f7-PKq+^Rkz4mC3Gq{sU%aP6$yg*jp|DAJi!mThk}w5BBI0$PpZ+ z+R8T9wV`oxq;_5C2#N6BTX(mA-g*8f)#yO=8QF+CZfhN`+uG{C_CTR8 zEk{#(pEPwn0H1LIkOL^pbT4BmVfGexGAztdEX&S0bZK|ol|OP3tM+bt#)B7 zgPHy0PeRC?H%R(q-lKKMjCQYQdM(hW)cBvL6i#Q=R1L$Df3&>2!uwWwK4oq{TSAK( zwRhURKfZ8}h)Z2UQNDIU>uSCnetztL!^=OJ@dF22SEI^0F1CfIyNYl`%)N<;W3V4b zZRO-~V^Z{UiXysnYAo;h&ygV=5kRF`0A&s(0pn9le=|Gs@=k!L03#p=%IK#&AlaUP_~_#IHW_C`f6V{%rn-ngn!2pu%0EbeJ=z{Oo}#VwHMO8l?r1T_$!7S~P1%@iGvKx70~xw{_KoK$Zi-o%59}#!UlT7YEQC zQi=&e;pL7*&pk9r8thh_#7UrKJ%Od-+pNi*RZ};Z-04AM_7WFAIESH89)=%DYjxu;Q(5 zNJYzxGExUCJz9OrU2Co+G0{JEsb_(uJ=Rt(+>wh@f;zj4fipBU$0G1o_~a!3T-*+7 ze?MR(AXn34eB)IwcSDxUp;0aOOu#-0{haxRWHjF$j~raI68pl%naa+lle%tpA;psj z>eM+*MeDqA#m? zV*ZVd7A~^;K(v=l*cn+50Dt)ZEk*?JzkwiiSK5c|xm%!$PYezSxbE_YUH`6cIiJ4u zuiY4MrJ+diQx9*v8@G7*efRD5@Qt605$ke%oA}U<_L1%7S$BZ4$3dKqsb>J?67~A7 ztss0K5~h6M89f=KUYPTq8T9v_8&0!Yc@-@yvMrt22Jq}P*z__O6{N8nQJ73d%5KNd zLdkYO%S(NDq9wxul66L;!iyNnuE14U6V;<{ROJ(Co|8w*(=XYY`5;opg5qp)jq@$6 zENf;{-VN8Ges<&OW;CI1a;DrZ`8Kea>|nZ2NnIvN)GJ)tTDr6-{6xonDyjwFy+a-> zE&u%Re!RZmqaLjh8~`js&fU0n7#=?{=YU(G(~&pt4}lG>5(eCa(gW^DcGFJxQqO_G zt33)zxBs?ZjxM+5m7#$IkCrfLhp%vbY#hr1Gu!f82dw3pQOpOt_6dcZdQvEy`VO0V z>ir|!)+}P+?TVu?g!upqel%V@r(A%;!^nDRa5OgvGWb$n$iO$nRzY03Rf%?k#l@0BkSYwe zposx>kXwzPhyHsYQc@azBPMRg#m+)*u#dDDE`C@Ppg}RsFD_VBH->E2Dl$)8%{`Ed zK!}3y3Kw5RDD3g?C%yJOd#Zh>eyZIaP6K0kL{S}{di7Xj^hTKSMJ#S+b0%fgI#*l{ zr4%6x3!ay9v(F6zEfQj)+Jn|RhHAo%uw%iHLMrB~4>O*UAQU`0k&y~oNKD4}<_Rw! zIoF;ixUw|Lmb-81v$jg%?jleydH(u-w+|Jw&6~u{Mga@`qds2K(sjcgi=%V z*W(AxE^SgzSHMcZ!d5~e*_xpNq)pk15LC)wf~(V8QZj%4di?n1HIwK+!ix7WGz9Pi zco6O*wr5z5>zxb1|C@kZ-(;}=`PoZQOO2S1r!6X~L&J#eK@@H}NyrLa4Ql_>C|bKc z2>&fuLdL8AXh7XdPwtwh_Ebo;%ETMJXA6x=Z_l5A&39K#RVAkW{LGn_Qi_vm71;(z zEU8E^+5eQrq3Pb%I=2z_7&$g$W0i6*TVeN)b25P7(Ns6N&mG9!3~gysPjwB(wDV%} z9(MRcmLiQW=A)IG?&4`|ANhQ-+d|bv^JNA`7kjjJemO%?eOM zADh2`<_rm@r;}*|QEswqJgFozgxY<`+~N4|z4upKxbIN}>{ozqZr%m^B6%$e?GiJutW^NH`co`T7Pph|)+%;v^~# z7<`Y8Ei&cW0PDM3Oa+|jny`iu4l7arY!h#Ka7)OXKQw0WQ2h=;EB^^YgPm)2-suJ3 zqf!u@ar^>;G&Q|KQQNh;Bro;-ulw=J)VhtK*q_Q)?h<<{e5XD1A8gtxGQ^|Y%hVh3 zU4f2gm+x&j5`HG}h6e__F{xccga?PU??hLP?z?N4xe>9_3>t{Sj|;`t_>`yRu={YC z!kQ(@!>8w?XC40Z;`X9S`D@PR7LE)Hi-7y2nA(H7ti=I%mY_K|bUQ4w%3h z%S&`qxAR#iUhzstmDY5CB ziCr*;^6Y$9FUaN*X#Lzhdq@8LO@}D?7>g73u^&LO6`7*X&Kzsjk{(Xl2g|0WesU(M zyWA?Xaz-DM>6SIH19iB;xy5rZwTfD%AwYEtr(({;YA&86_^3y zCP#SbmvcUEiON6yRFfkbdf(yvAWDP*imy@z?5y4#7PkOb{`FoAWgDGYL~i9Ar5UotM~Pi zlM0AnX19^T1WUK2{sdRP26Y2f6J?S^pqB2aR%yCti?h>NskUf2^Pyo(p|_?PT6iCWnMRkfb!F?KKfq_y5& zefeo0D{3#l+Q-w41Dna;l!r_j;^YUHPn>NlZ=LU}9(nLvEyd}7qW>vP7VS5uFqr%( zSUD=CLgJs+@#FXo@Wf0Irp$aKgxSaTSpn@HE75pmzISQ9%P0SJlgkiT0|rG7*yseh zx_C0^nc+}dmUecd`aFwoSJn|tRhl0wotzfuF)_H)FHZK{!7ZA=n7LUIw)cSY`e4k* zbBrY)DjJN(C;!^^*N!9RK@oEm#OWsim*RHH}jc zFD)S#k1kv?vhGv4(sDs)PAoa5-wtfsfbMc|uO)+*y4eapZ|=gg>`dMSOt>XjVif0< z<`5k0gIK>#rRNx;v-8P!0qF7k>A^&3gs0;{t+UR&>)G#Z0?)<_Zg)u_S&jVs989nJ zcyllU(fZU~(E$lNQ{Y51jVI|{5C39ARh<(K!XYaJkHdgZM@C2AFI3sW*1yBDGg}8x zPUkXAB$Ei7=$Kp#Uq9TV6%ZFw=e1{~cxOPIG^RgQ4}>0os;rHTe5$`EEfA~$U>|-c zOZF5yC|!4uXlrX9)$@1H4U%QiF`B+U8{0Z#t1j?^$joL2tjO|FFfGcSXQ^olUCsi} z=^0?!#)>yj$&N6UQkv^fw;f*nbvcqR%xrLC-MMk9pA{ z5Ijon%*q+7Dedaz1{Zrab!Ka99`qZ++U3?Iz6PPwbBiJORNGj*=W(10{Mt<>hJJ!) zSQD75$%A4%VPYHLrxIz&+dpj_%+2eM*!h@CJf#Awgdg9G2^djQ3}RpuY<4LiXNb1z zkDV~_d3SL)M0MO=tJ>l<;L^LMxl1z>tjQ^6B74GOp|UA1bxE9mUo2 z&l<6B&1VyOnp%9;oS^76AIfxRfcSo@@Ks#@h|ivbTAqNVO`j5`x4D;wy(top(7gYI zsPb%&{MTb5^zG}k!Wj{;{VT1isL zl)~3-`*i_6`&v22;E!gG#$T1_$Q}~qFR7evD`X)-Hf&qNZflF8cKXNn8Ce#YKTlsd z@u1?guRU!Wj(>2YFavG-waSpC(Ah#o=4HMen2 zuAwzT{1V^ck7o*N(L+L>5kyLOcnh}h#dfd8cq6M_#&u6cbb?zKl44FINGHhHcB$&{ zeypg-=i!^qI;AFiXL90?NuXna{6o#i8AmIt>iUB)^?9)J8=@@Y?4?Z&Hoj7tI@djI zG3YA7h>$XS8n=ij?Qf*g`)b+!SK|iN%<;M!k|wM-EsW{k3Mqx3?^}vke;NFe9w6aEn?Hu;uU@vle|agVOs1!t zGHtQZ=bq~7`nSD>&tRtRYno~|D`%^Kij6`I;YtC#;FV> z8!v}VcU9oFL7Q*zba6k3QgjYsO&7NI6u{AFP8Wx|=1MxslmjLt5()^H9wqkToUP;e zEt=9rvfsLz8s~?g&Q1L2PI_ z_f5nJn@y8_xYf-If*h=vptOO4oq~7bgzru8OI`lQA$(;xw;Q+||L*%PpyWAz&?oh? zzQvgRkiCJoU^sMFwyt|<>f^GtW%sL2e;n1yMZ|`$c+0Dvf>Qf3MFB+l)dkQLu`K!H z)V16#0H5!YO5pnTf@>OOIH@lkGqS?a{0}^?G2(BU{iAz4;p%x=flwU{lc!PhqpLgz z-hS`mB3eq|YtPx-sydYT2MBeq_KqJ@=Hvz!2BRzJ@?)%3|Mk)mZux2GHEo^K^n}ak zZ|T5+%(U^c?QIu#2G`}5Xa`?Vj+!`r9!U9Xhohy#=xFh5LfIP?S;my6?63vP*4RFM z)|$PkMXLdt#7sCg6+xXx$es}8NdbtY9qr?k1y_oS+#2XAp(b5)+CnvKdw9>UqVo_&Yz@3u?s?XyJ?h2|esJ`tNqeji*e%>H_hhl#f^kdq8cjmpAaU|LjQ9NKD^D(8 zw$!PsJ!d*j`9xEh+47(7%dlLiwAJ8qO=JaYvCZ&VX{#RBrP{TOB))>~45GZOvo5aU z^x=5#zv1$J=QHcvpSGQi=XYmaNH0_ODK1g^%f(OT?PMn^6)Fzc8@2D;_p}W=EQv&@4a_`zD~dyn7l?a=^6;|GSgB75M4o|~Ay8MJ zV?M9YJiX2)gwz(C^IjP&-{@r4;3Wn~U0XS}>!rlCCdgGsq|5$PBb?Zu^$?+&gL5yy z)?6x(1H(K$Q^yZ;cXWE*A3kR{xLC?Jg2}ynr%Hf*xb%aswP}RKYBHp{agS`?wuB$c zp8ihaEvL&AwpQYAs-6O;$Rl!-f=V3N#QWC8zz>1Mn$+qveSP&kMQL3Xffqi(>>epttkdT0 zG%h+?eXIIYS6fD}1yRH&q-tV`zthlbmZ&;cJIaDJ@RKQ?4zII0e2PVX6fte7y|IJC?8}E6z?;6fi+wd`?C@CZg*yU{z} zIhZ=jpz4e*Kk6GXX}!wAUyENuI%4EV|vT5^XBoL zt|nzmxu9-Es~`eB=NA)R6va#g0?0Ru%GsC~?r952njMBo`}FxMwojkpL0tV9-J~cD z6^tPIAITcnDTm;aZHTjfW=*8q^dYC)8O5A={M_ysRQ1^cQzY&>YxXUXp92@C@HC1@ zi=<*{fV#Fnmp)mlg_F*+?%J}GZP&ijNy9~|-2ris7eTUF;9I-+&yywasr~q6nIWa? zoH7V-AZgng@=ZXh2lfB-TNRb^2NTj9Z zkCeRdUS6A*{RhMvZ2RfXHi?aJ{mgA->4}>QF**!bsu6KL3*YrQjBMKX<=dTuQ)Gzp zON?W`i(Ro-Qn4?edAk#dQxM9!R=03QDEul(zO00r>h0h5i@x%6S?FZ$M%kRL1rnQV zFm|AR$C|HagN<91PldmA`Px&evX9Dvwn{2x6+~>B`o}o?Q4~}0hrp*~!WpR8}vVlX$koJ{Z$X%s_qTlesSXF%md@XfZ`mly8c zrDA?8YK9^$HEz`7`Td(7RZGZi0G*XzAW56i(?#V-p+rG0wF_UejtVDO}k~zLF z>jdEPXCjU>;Csut3L@FdS~0|>2TPB(h5WX0)m$kzr5czTJJwj4-*omIEl3Js!Vgzi za#NbnzSDsX*(d1S(v%nGRqUU1 zf+e3uCD8#0`eudunP&r+!;25qUG_8Y`tu}J zxs9;8x_VEMy9c!XJ78urs<^yi*l+I>2q6IyX!9_g23*-Fx8P$tO;+q9X*{ z766V~HhmjpTsRsXKj+7~3sirH%q+j(otl~%g6El~+DSeKTMhQ%y681qb)4+3zA+pG znFCb^0Q~D#z7dH}yIh_{#7iQewZC556{m?`@*VA)pk_hxnfhO7roOe;gQPUkBP$NM+aOOgnLZBaCT2X|5@zmQ=Z)GR5c2@^t&(5 z2)H_WN`uS|nK(KoIr$K@nQL_>mNF1M(KX(pwr)Zr0oSd6GP`o*+Go0{QqCQew8Ph< zl-)zCvNz?6b)9X;svtce^?=od>QJzrEzLmL%bxh8i3BBCSX4bZu;Knb@Yw!VxqF$` z=4S=^77L-%-+Fi3Li-EGx>ELxj?8*`6?^#1%gMp0m%5tS!Mw{_?A7x`dL@e0{+{bo z-xdjP+F@Cyu*CQNHHaQ!V0Xh5=U_RNhdr)1Vmh1$o#*di5NCF1Qqc$Eyc6%Gf(nF+ z3GhqPk>F0ak7j6Ytvc{V(!(pE{8W%KwtQp8%Mpi+R9+k6_K&hGjj+RzO$~LPwnJuI@9a%#emVIBW_A4@*y0uBg!u`LF^Jz*@XMWjb0jI}BVF~SMcL05);V~%crX1ed#riB#uqa~ zP|ZhjO)@KbT*0;^l0IJ2CBdqQ-su}~3q$a-AWUzO>^XZqvB7=M=*fmguK>psE5&Af zXRlT6$*oTw7~G%S2ori~oKYz9YA`dI@yrYAXiD^)`q_n&2C!6LodPwhO2`RXW`qLv<%|M2`!Lvf@|sW ze_+g-vtUY@VXfJZ2$>cpQY+0eTsHn?3#GSD5U)zIMUUh##Nlk2tvA~5j;86rrkf*p zvSGa_Q02p~Vgpd3wfw(SbW4!e02KRu{AkP(0a4x!!DuteMyJ2F@58G|C5L?LFg_dPWiU#Sm;-c*7yksdEOm4wW=8Izg6ATq9yUvdi-YO@x85q2cq4* zCc!waRqJ#oJRhi@frLlbMJ0CLcu_nKo?K+l+Q>Dj4xT^&maY4tc*k+5(B ztof8a2+_ElM|d2acQW(FNfpWeZUFXu=+fKYUVJ#=?+OeXeACBAe1P7no{Tu`Zn4$5 zNa6^Wyq&Y11F#d;0EwckOPVL?3_HSOOo-`zBL%QU50bCsEF~FKk+lOT{=al}t)VR3 zCUzRv#!qLHzXd6$YC(zZ-Cb*Z0qKMjT7rQkB>-?x0 zEZwqt90tw*r3p6Qba9vP%qJsT^k{(#p=vsk!i`oe(FnW<$9=@*=T?^nkC0c8gzonT z%?%CNc;H?3qUvJ3vsB(P^`0^BQfCyVehj=LUKAHK)`s@E8c??llG)eR9Njiw6fHRp zTG^nM^29tm0Rc`}Du+lzDXN=V_4dNE`8#aN8ZYe-&;Vq7&O{JokgllJZNyVXVt<`m ztav%0hlh5s@wx?T7?u^-CR)5};Jvtwxb!zLy*&%%<`~HQaJoPC?Hud}ybfZqW^HXz zoJ*bSy83f#AeHUKCE7;9YW5#N<9lugH<*EC-`ps=7UaVEgpB)sx%Q@Q+Fb^@nZcYw zn1%;|G9&(wCFH%k>!ITuvvjmz)&QeIW{t8M<&mpipEp8K1qE66`>Q-&-| z$*C1AMFpvCHk5+LU?o+`W(sD5suzER7av{VK^_89#rGncdFeet8k^frKHuYPdzc;z z2VgkMop;fbNQyZCh2n;pPq)&mLq2=~%AiJ%)H`y;9T*#xIknD+?G2wj!W0|;^>>zg zIfroHR(Sb{tqAXk-q#=L+qN5v7r#T;X2W7p;!uBPG5;H)iyw9S_iGze%1QvY>rl@I zUO3SyPya4#BH_Rl%?`n?9wFT^9X$idJm9}ww)*(7HFu4})F@6pTzT0fB1AgAj&6-t&1`*Geh6WmEPTMtduIGO=jX%c}=v99ZG{&+*ABL3#Y}xo*+nrVQ>H zf-(g+44-mK`tQ#4o$UT};Y!E8=164n0%}B?)a$V;v`X3qS8iE8rI0|NnIcd z@j#x4j%H-xQ9|MNg;nkRbC5XKm&Toi^ra96JZVMgw@F`yUa%8OJ{@Lv8{*R>_MRE( z=6kOnc(KdU+4i7bWHvf)mAjFe8qa$clfdm+wxGSS7!-Kp)IbK?a>V0_>Bn2-JPPVl zTqVpJ)kdqlvV*?IfSva~Z-aGx&|K_=%h^-s7Ze!ZBVD4a#X~R4$6s>0pZ0m|=6zs< z#eRDD{za81#=f2L;{9t{&lCU3@rG4vegZynOlI0jhB*@K2;d806-dn@h|hS28hrf_ z))B)!03!FgipF_%^aR-*$QG@-q0b3=tt$>0%ATUkon8f9!oaIoYHF?YzG=oL!B-#L z@|T3plnI&wppG%3j@E&nN2UZDK$0@bh_}<8PDjd2jadn5HW%zcL3Vl+-qZ_di{YNY zWl5^;TcR-guo!rrq{4y^$ZV25g*X_2Idy9W;8_~se4#Bc&N2cl~ zR@}@iWhsSTiZPbjpqgxIl~om%u8?c@))0e++6o*rL*Buc&q9?_lwz(X~+ZWhoaA z?P9@FN+PYy$1gya-jF@|7=2sq6);?-WA0x3>NNoEO$@mH4n%cbyo@HKpoX+4ixeP z+~`JpNz0r`>%9^mHq%Sw7_oF)FPidO2sbk~-OQ>&N8E_|l@WlNGfu8n@x&vh>aWCP zYFYI}f|aKWtgj>5(cS&TKlh%Q8NEGph;^j50LJY_N##mx>V|Yhh4+0*TK5CgyOf8{ z?3@R#@nm-fqw+Tk=a4-N8=~|RxX)6jfXnWfGN%_$Ghl{y+?5rzaQ5@ADVSEP*1~nh zO|XsD^;QAomCdVxa&6rE!st8Z$8u^45K)IxIUmb=)46|wGO`?*uknUC>%@{%;J&Gn z;!4k^uEN^1v4O2WwIObHe!FLh>sgQ0B~Ac{6t+Gf4K5lKwfK;B+t=oOMBo-Ex3mP!m{{|3v; zb__<@xb3{Nw-fF&`x6ZU$^WKM!a5$F&(5_qrzjn9w6Q0@4ZJ~rJ4;8I0ed_g&e;Z%Hm{oMZNSy-pVj$yO#4Nx9b&aB@-EId4yS{-yl&yrcbp&0(2%AV& zJyZ-hPEx4}hgSyN1g4_L`atBwS3M;6&Th#5VraD%t8`*zQc&HjQD1wLVr~sZC1{Nb z+Y5Y;SCl*|9hA~YoBh>YOhBtm5w%2U*y^Lae>Z6HoiVg z)EggxOaL&?xg*u8MZeF6BC>e%=>Mh}Ib|bO7;3oz>t@#8ee%$QHjS4~Qg`*|jqm3U z!L%6k3t!mXpp5(qV6?WB)>vrDpMBwHHaK84lki*>x+(H4A*6R7Bbl&rG_;7E3NCGZ}pl0ig0r+{=mC+b*BekoG><_-NS47v?kl0uB#SL z5e;s(86j$}C1p2|>9*PE$qV=VkWzRg`}c^d{+GdsMws*lcx7`tV@17XmAT}(D|a|F z`TAc~KaCCj(ba;L)U=`wB4k5!NfCU}v7K1}_HeI*E|l}qCx}zShaTIFtxr%i+A!x2 z;760L#C%NVUew#LVu??j4QKb{XZl6bjOp`I^kHWKz(26AKT>6noI<2BVGeBWQGY&_7_e1cTCGQ{mLWc-T|y+ zWZ^%8w8GHi+@sY2o^%C|((yCP#$d=Wl=eW*R*^rH919Bn_v6~To#upUU?LrZ?j99! zi(}l|{ufh(bS%B#ea1$1>#l?EsBLY)mNEN{CO<#wp4}He3&8X;B~-heFpj`!&=^)4~NxVsn0 z9$B@FPhL)93Kx&k`%Fg z6F+nzlch!uI<;#Ds{XA^Ka{X?e?qNbiIUs%3dso8D`^q&W~C{Xia0LU1~Zv#n*K$u)nh63h{Jd-6TV=ZpguSZs&;r^UOyD6eovS>o`0ZWoSfgH zXlLoO$zmJ^yE39J&t)dL;!wi*{SC9Ng6{iPBR79L#brdz*gBMy{xxOv}_O9Wn|o@N_-8Q?<$TtC@oUDjjp6$LBo;roXd5 zGSUXfAZVUL*lwU#;VosP;=+@eM9p1DRNLi5L59I3GO=G8NgJR1I<02D^Mi6P?{>5^ zJnCP#bfj#=;>@i~w6Sx;j)K)hM4a9GcX8P-?1}>;Nu5Zonsubo76qGlaPn}HY1z!%J* zbA7JAIjw54E=d=I)n?-5eRzInRE@a2G zI2G4j9Ul~R+4<&_Wo`I;i)Z!FsAQdO%KZ8@gU8#oUN}dXvJN*$$9}F`5WuCoLlm<} z9tO7bRM`R3#uQ!9CrV0%<4ljP0^B>Xv>L7onoOg2w)w^IJDyj0mY>Qg-tUe?wFRX) zY`#|N7s-<`XCu-VE0}{76z=I?AwPw`>wB_ggQNzBD*o5;%5aKfJl_iUUCj8_!N^^otVR6$&)Mq4c>LYtsd&*e zM5hL$-;auBuDKy-TARrv)kh#*1O*CH0{qIM{Tmk7l4p_PC}AA-evl%Mz<*{e-5}OI zXcyH{HngzZTxRZiU~lxDg&go`!ByLOl*a| z6aHyC7#rC)yqrbBb_XhQkhr~L^-Zz-K-PR0!0LJzDfyjC^gnj|W~3g9D=a~MIIR_} zZ%JBK*H0$P15qE=j~2%)JD*Xj2uzw)#z#Wp%g$6duzAD$eCa)pn?M z))J`C_J++n*ir@BcY%yGtD9PGSUVxa<9ej<P4?b#{UL8Fixl3<*6BUAetG+a|etxfN& zTQICR2*UxSlc+--d#||v1iWDpz|Nx&Rz$`z6D}Y zXmg_Sce-qmvYqRtP%ELf3OXfyFyx9r=76h*0(Rv)IW)rY;fKD*e+#3 zBV~UjD;tJca6W(K3;SN}zUCu5W`XY{;>K`xgI8bnaAkNx!Y~FWO*pt~aqaz`W_9a8 z3x&AuGM;1E7tirW#D^ogYS=D4AjT{5x&=Y?`X;l&BpOO`QS{`*FUgmhmGfYnea*&K~UreQEnVJJr+rZTg;I83gf1OypuEENv?hV-SE-Ro(oaS3BjB$Wm?%!1j$QG6OINwBMbWcR|XRkQyRlM5!Of z{a8ExjSUo*hp&6MTgneOYN!2J|7bd7|62k!y0>$s0(p0o0j)s6p|s(v<|{m!GmH|X z`-t!AS9Tk^A4~s|+io|tzcg;k4YTSj4YeAnc)}9o%lD602JN^qc#3*6>-7)s&9>p{ z?Cbk(o=pE749i)yp>XeGu*3qcc2qA1nlh|<6MUq%su~bcft4Cf0GC*eaKbJ3kQl+v zp2`0S$Qr-N^xY^;P{&ddXNuYaD5=d|DqL-?7w$k(_d6!PaPyfz0P4o4tDIz0lq9c=>y_S^ zeBa9TKt0yG&c9X2B$Xwd27GyEcc?z0ChL)#rtT0_RTOS`8=t|y>m~M{zGgkndXm1^RRD$*+V;J`1%Pr)b3}|0mWSe^YSHf7m^Fs?h7M zZT|f;yL_|JHFWfLlZ`(yLeDNblp>G)3^z*d8qxOg&`TxgEgeV3sPAIPi^l0vFYmhr zLnk`_J8Hbm*ueZmC+9QjUD;U?s(T&?Ehdk;1rMs;Ge35|G%w@l2T*eH=>=A;sV3s3 z|7y|G#uM#~Y=3D9o}~Y2Fs2db0hk;tj2=C`o@2fi(1)yDWnygFq5RlBZEx#$P5<=) zANEiJw?2$4uz^QppJYj`fbK716s;wa z1CUsRmg@}c?gl10hVAX50m7}>x?v1h`%I(O2rb$douI{4fsW&owsgX~XVE_b$=rFMqlE+Ra%UXbT#yUd2 zc+R7|c<@#R)sn2KLBC5eTE0MnE+6%p0|!|bnNwG_gd~?oPqxs~N1;pCErGlyEDs|d zkHj=bMy~VCYc45<{=mg&d{hvWpv1G^iOe|t%KBg(O<6!;@oKe;@rKQGwvZ`&+Il@2 zP=Bq8hRn#+Up*4ZXe*IA~HNdF<3c%-}pXp;)4x;S!>@46TW zlJ67~y~218;kUn}_4&24TADXiGB*dP@8LN#+-ynz%-S&COoQNbOZ_!~=W5|9EJ}=z zuRY@a2GZ&goHW$WYZv8eoblc!aE%?YyER1iw^fnsGe*n{PkGlr6liU15IcDPuG>J0 zu!hDD-e>TKk}6ev&R9roRfj=+jH z%SAS?n%ru}iZmVi4X~+Xaa9S5aexk#99?wX+$a!Gt>)Rl|E%cUJ=Z}0BMvd}nl5#K zEvzwdEVX3BNpcA*_ZJKDVOZ{^Wz!?%`DpPor-v3SnFEVh#gyFhYM(rN+pX~HRx%Ibd_RY}ZZ%d=055Z7p#j5>KVmlg(Xd^G zBDc0EoihT>Ha_~7VHfl2DfS3uA?4C*8B}!Lvh?ABYQ^GKmL?`ZFa+msWGS{M^ap9# z#LVlO)i!T102TV$8NfIhE zT^?^iwHYKx8;D6+6}JClmycStt9^BDj$ZG!tYyUUzk0Uog1sxjihH$iWO@f)(>xNXz(3ZwP_Ozi4U- z(cpaTd7G+wI7!oI!)87Xt}*-Y>F$sr zsw(%U^-DQG_>!P1yIOR15cV{gYgs)!u18)97+$!|(ypY>`F7ZYv=QRLG43vW`^?eF zv=uYAw4xC~C3F1WRk=Ctu?K~3Jlhfh&NJUp+9Egp-}I}F_2gw9>n_blu`2-G=ZsVS zwW4@tns!(KIF6%;Wq~%8p2?QmaUiC5Y&g%J#Y;FepElFco12zmy|y51n(qnY|3 zK2*xct>Q471+#C%qw9D@Krr8$Mu}8ia?XhMJNQLYRQJ`@aX^J*1Iz{k zc;qPug2I{D>qP#QCf3aGT7`3FkV+`9CJ6&DO6)zt3aNSSW_M1CYwkL|j_`9F2!&gZ z`oz;_9^(L!*WOlXHtxRp+MK_-8bf#PDvuZ+1cJ;<=}KRU18&(A*E>|9Pm%rQg(@s* z%Oruz=t^CT*&phM$UfSzIe@a>G4f#p|Bc|6K8Qt^}md$hX6I+vizg3N^DhC-3mkul8Y z<$%37RlybOyndZUO)oimki1^C8IQEeZ<*5|icbVm?xoB#zl29S+sdaB`hnOlD=VT# z_}i980)(fF*h@r0_0-t90Lr<<>iTgLv0`_^JECs*0jdJ5a8TXa8*zdC`NE9I&wRtR z&U4uy&0q9L^zsGU)S8uG?Z zMJ77|ur;)bwNgQeNJs%^Txz!UwY@oI^0o=bWVb>AUO_YG0&(SWT}0TQ z)7OzNTSW|aTJ%9DzG@WcYN|8+lbz>M)m#>+@!ZZeEuwB(x>Eeg6-MP8dht4OB17Pb zoZb8{N|_7IBkFEPOU_f$EL)~XT!5oB#^mZlV!Qt9y0)p2awy>K{C=UGXY!Q?`Bw+; zp<%xdl;;AbIMwLwZ2P=QnTn|Ry0BuYAkW6N3MQ*I`B`M>Z`LeEd-uqzf`KjZ zSrZfAhVk)Z<}dL(+&D++A_Hm?ZJU{!D|nlT!nEbsMr0-p?OC}V}BlCHy%(F zI37>}ON}au7bGzQe$lP;&nFSNG&4ND?h>8@a8A2|1H~S zwU*57fZypz;bCw~(#fU?4@f78^4=K8z~uZ!DgyTG;- ze0wfg0Le$8SLzVLqdb6Ne7dbKl<(TQ!u6@E`FGg8Rr*$_=n?DuHnwwztkRV$9cxxd z@^fje@;xtJNBT@~kJkFXN>0zUB961=TGjf>sSaRbaL}JW&r)nv$SCavUy}NtQuS4b z?w9Vlo!{MI={pw5Q#?5+e)OmQ{qc<|!z*F7?>hv7cAmid_K2<_`jKH}VIU22;mpR( z>nqDF$BeN&fHg;=U*~>Ud(-R>wi}$oIYAG<;E4ppAN*6~IZMKDm8E0qozjhg?))z= z%RR$-MX#hsz`9?pC&)P%a98>JTrw@@&}xJ0H_SSI&I-_wDVzojc;N;x8YEFfZt5in z#UVkm57GqC2b8o=JpuqSRm`${1_mgMg5+3CMMuqFpAuV5u-_qs?g8v%K=Rve<)4wY zowp0*T+ZgY8lza3M-fBJr^iKYa;Q<4e-s! zv2KGURVS(05C!JO7MuJ1vU72|_?`BuJ?N0+eY$hhZ%;6|gY=JJ|Q~(CfYw zn@Lh7V~=E%vgBLIFnMA^ykxuUHx4uQqJwQ)0L{1?siHn~g5;`96 zB5I_L3zjWJMKSDc1zvH7#kOk+(Z6*4_(5TmS`#>OF0*5O-(UL}Q(o-JUV9N)o>z30 zo#&@$x2KN#1AfA8ZBJVPSK1N^sQ>zI`^AJUIsC{N&FtO3rq-P!CokD3AJB9T zDc`m=^B}q#1o29Jt$E(2*k!&qTzC0G-PY#%>d1l^#Ve4;z@1b*QM4{ht9nnP$ZI?< zJHpg{BkUj$uIJ2$+lXUb);r?IZxOY5zAh74une^xL79zAdIq*GEHu2fo}zk6?DmcZ zzuM#7{PsAE#eaUD$#=yS#aMFV;M(0c=6-*FXY-W@+kw~VP_Fjds2=0HQEt7ctlyn}MQbL^aHE-1p3Mo3S5tzZ!sQ0et1_M`S zpbwR)zGYhhDRV+~QZa8WUk~H7^G#bTFiIFo1Og4*X4u@>@dQMy8GwvDU~xY}QRh6i zKC`h&;-w-qshsdBK--`e9HwYYkuG1l=P~^mzFkCb zX`Wp3vDS5!Jwp5e^|`Ej1S@iqAzO4?QzEa#Iyr}iyb>2xuDyBsGr$}z7-AP7qDa7- zH40dUsSw~*Gknnv0L5d;?4x4&gLb7r>rxv(&Y6{037*A37|hBhYa_7icW{4`IRuc> zB{~HhX*mYcsvs&a9M69&C)k~B08?&lyNSvKPI|nv0u9>xC2Y0_THuW+w_4F3Z z*e0377h(c9C?HPr48k?liNu~`^1BCs=ESBEc?~-|BI5PrpdRMh2tF6*9c(I$W~4krHwGM0Kf+YQ6}T{;7OK zCv|N4``R|E>ScTJdxClj?qcF(i=DT~c+sx#)orzD+_Y$S;rg$gx$WcY{cVN7&LrdH z1%u=w@u27B2FCbzWdY6mq0x%LF8kU53lq~~sG`qUL5>|M`^UUq_#!rZbD(;C>|WaJgCO*2Kg^U}>ok zcnT_EX!U5BJotaLqRo2LO^dIS_>8RVnq9e9+p1d;jZxmI8y!~Vtsed7?~t+08JDw1IlW#GRjo&5fb-l zy>p1im5W4_sy@I@_f22%aU}h`RtumWbX0yMV5+W7z7gGLOd|^91oG8r6TvB&hM+m6 z9)@ez)2rKaf^^?t?0O$rf*~A`2Qc>=J3Ly|{R{uR?WaW9k{5KgU%(ju?ho9(F(JB&ao> zIW_r0{84zx%iSIy&sR3uav~tM)XTEp@f~aR)~!irSV8{+6uJ3ubxnp=d)iObo-oZH zo%q3d11&ZU{XI_5#xGxMkaP9wY~PX>mjpb%%4{GI6=mfcf_WwZrW(nuKubh#tOkCV zWG`cOi@Ye@p0Uabz;}BeP?56Kbr{7LN86^*6RY($=Fp%hAfhy50&uw_vsG&?iwg_u zs}a0t?1E|Q3Rwn~z6gl)@f++36__Zp#Hvt#i*3HB!P)Kt*xc@~*O+so*rK7;6I;m( zG;O&fE3q1;dk>k3WG$dTTPjE}5^D%jE%ptl?1+?WOed0t>*d= zvb4KL=#!LPGX`|*Efm#M8?UoSNHzq8B>%HLlnISmxLOamS8#W9iu^VZ67l6_bgg zJlTplQPoH6Ct;=FSM~}mtnJ+Z^!vR^rYGQgkU~HFa!UIR!_18|+LmdWF`5f3$x~4u zUI(Aa2C9>=fg?j3Tjz%-p1VjFy@q8y(UZOOjL&t=)#0nP-`69h6#?yk6&cCbGI=Qt zGd$MPjFRLCeHgK&pm6QEY@oH^r8qLinQTj(00f8xw#zH00HLB6AV^xu3qrpr;da1u z0_6n8ar3uZ1Z@wUH`nXc##yX<9>t84kZ>8rv?**RK{;S_^_Ve=LMIg&z(=Lug5PYX zoq`BG$*;RW>iJM$Mqwv30mi8nA0CctZ= zi-u62LIvC6w4AX}vbbfq`B#SFMaP?V%$b=4t~qOdD`N_G1cw!R#$zSh-|~XfXIeBa z36c%;1qcpP%-f%Lwz;WPrlcTD*D8ihG4>YCwaHV%#<+#Wt>+N}JY_9Q z_W;+`RKFeYk#*g!0Z7?NKBr}JunyOWPo_OR71VpM>@_E1LNYE^Aed@nc#*ky(f&*) z2qz78VfoPDK3eAn@5D-jQ29k4Krob3(Qrxf0;GC1t@6NQ8OPCec-0Oc?o?QDN%}iC z^%oYiKRX_JYJM;~o|Y!BeG4k~H5Z!iP`~5dKpO@DOO7x@o+zITmSn*~Aro$gFniNp24SuVfd zDcu1S5mo%-aJe0jZ#r9jlaBU3aAutnf0v{6Y6RXE5R2BiG5PIP~{AXHp zi}6gcAFi0v7Belt3fyf|Mol10#GM4)IAyv;$4zBQ>*05^zc?(@ednwR%^%?d5Wt|D zta&0poH@o<8&VWs61uH?R9nQ-XF%Yr1(vOuu`?K8+c5b{ibb))oNxE$SI*v+&?l^I ztupl;SjN}#FTj*_tL>}aE7*6FTLY4pgL3y<7==kc;%9ud)3YJ2;EmT8F`$+2VW}%2 z@0xGAMA9IMt+?XIiQ7%0#E95I-r>6Jd#;WcfG~ha`2@*;TGMta2#B`?wYKr*!-Tti zWCqp4S4-EgvEI()J0$R3Vc%ZQLQGnhsxfF)y?miD*kW$pxh+0Ax4_qOXUnAqD}qiF zz+WyfH!i((=a)0P)pNBS&gcC^P)u?BI^p$Q=Ki*(QC7FT#8$wNGwn~?1reBI zp-YdAnkn%oy5CDSNB2Z@SCO9m^)r9MXZFu~;HGn!qGB7EZUQN_!6g-$XRS*gp^a^><6_jx&NiS>BApJ9`eFtUH3)d|zEKo1C^_}_6(1&Ym+x6OUY%+DlJDulCh5|9r z5w?L&vER|_<8GN3o{}A;l87VYeqj?S%WiFg?hNPxe{>QX9f>dqqyb|f7FSoNt=IrlGJi>)K^0e2U=RYeMt?4x*cf+3u6|eO7=Yk#cj$%R$XjA~Obpie zTQHSdLETZvo_C$~q{4)ij)F=hnaJST_{dDp+Av3t1Z4>@Q>?gwRR#&qJc;9{_hd zq4$LNwc^EBR%&WoOuWzQUZB_7?0Pf^NP~6AZe?dXSPld3UNv{J1!vk3ApKU67N%AZ zWYbf9e_ii9{w5-C~@R=-vCTyvAkS-q70zid%w?>voxxfna4n97rV9eS$c>~nmZ{X-OR6=U%OO2}Oz?Q)U*Pdyzq=zPH5{DAOg`Y3&>#|p>ACu5Db`44ikS!~V^yoXEf za3d~#f*|Ib-v2mLJ5PE0(8@m!XpejbkZPvqW>lG68&4MS;DyvblfGZ1-T2ZfU^YWz z^+mzm6;RbSinbOvG`4rtGWmMKbRW;=0z#09ZVp24*C7C(@CUYW*vw-f&FGUI>E&8^ z`oJ-_R_WKsIZy*ivP5g0Z*Tyq!V;)>?IJL{h zu5{t9k=9zE9bQCEBGUVs4mCA@{Kau)V4Bh7DUk1eAKM2}^U=H6$HRE{+CTZ-2}&EU zP%ywN_E_0^-@kU=I!>)^2aXuACjP8BHoq^T*%lD#r->%~!h~CG`!VT5gjeJFGgrrQ zDC$>q_9XM92ud0$tZh*YP&{c>@&j$kug2~-7N-3S{xNjF{O3i}x!9n1tYRpAu0^eX z{1{jT9Y$;GYmSFx(WkY+`z`kOag*G$!<6j%e!-W=sz_>XKTN zfSk+_<&~i4vKe2Qd<{%)sg#bOov7PxjJNH|) z_mp+}wtunr$awj?->gU5>&|4U6t0aq(ZW zi87RG9{Gyl(YHbdq^35oCCERK4~GmbDr^QW$^gYFm`fhJ5 zAtqoRq3J(h@#oMHtDQao2(>Qkl{ci>1bTL7vrBe_^^4bt32)0)+eQbE-5m-+sxAXZ zH3pVX(SU{Ue_(9+g!l;i1#&*=+dT^Is~HYs(B4HAKox^o37Yu=YxP&yLAxxr`g7|t z!@|kAsbz;}a#F6JrIA>364$M?|9NL;XKH4RS&^keLR6jg5q5;#rOw=`ij#hx5U<_` zlAD10fVqabXU6{LDZ7kk+2>)3AcpgA=P$ZFzvp3>xu@&OnAttGeH$r&1k;PY1Kg`# Ob^4_LiH2k0S^o#UPALum literal 30717 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%0DYbP%xHmFG()Lm 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

bNqqg~GEP4H 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 AD*ylh