libgraphene-1_0-0-1.10.6-150400.1.10 >  A bwLp9|gNChf_?vR{XS@cAiCw"M9ʑ3vw%:t}7I}9>~8.M B0 Yz 4Ṻ+9KHԠcNCG)REm=@41C3Up s7T=ni`%Cj9S)i0}J N"sgWvm'1=|aU+Y.Wt e8 FaH877a9d96522686f2a5533ebc1ef8d00776caf76703e4b18591266ec5001e7bda9d6baf2f7a2f891e51ebf27e5e71e380811d50e1ЉbwLp9|CWybf ȯ+mG ']q0.^Xq+6.Cb/`oPsd#Xɀ`ٰEl;)h۞7'9tON },kܼRcxUFd qp@3?3d ' M 0Adjt    ( HXl@(89H:>0@0F0G04H0DI0TX0XY0d\0]0^0b13c1d26e2;f2>l2@u2Tv2dw3x3y3( z3T3d3h3n3Clibgraphene-1_0-01.10.6150400.1.10Thin type layer for graphic librariesWhen creating graphic libraries you most likely end up dealing with points and rectangles. If you're particularly unlucky, you may end up dealing with affine matrices and 2D transformations. If you're writing a graphic library with 3D transformations, though, you are going to hit the jackpot: 4x4 matrices, projections, transformations, vectors, and quaternions. This library provides types and their relative API; it does not deal with windowing system surfaces, drawing, scene graphs, or input. You're supposed to do that yourself, in your own canvas implementation, which is the whole point of writing the library in the first place.bwKsheep18SUSE Linux Enterprise 15SUSE LLC MIThttps://www.suse.com/System/Librarieshttps://ebassi.github.io/graphene/linuxx86_64Ǩ5A큤bwKbwKbwK`lbd1c0cba986cc2451269b26ef0c151267f4522f599a44362b0a8ad699af5bdd68cfd9fd7b2be592d2c0910d32dc1d8910c08dc0670b1d9ce417a82fa9eb788df9libgraphene-1.0.so.0.1000.6rootrootrootrootrootrootrootrootgraphene-1.10.6-150400.1.10.src.rpmlibgraphene-1.0.so.0()(64bit)libgraphene-1_0-0libgraphene-1_0-0(x86-64)@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfiglibc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libglib-2.0.so.0()(64bit)libgobject-2.0.so.0()(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.2.5)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3`x*`@^^U@]v>]rJ@\["XZ@ZZ@Y@X@Xf@Xv@XF@X<@X6@dimstar@opensuse.orgbjorn.lie@gmail.combjorn.lie@gmail.comdimstar@opensuse.orgbjorn.lie@gmail.comluke@ljones.devbjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.comdimstar@opensuse.orgro@suse.dezaitor@opensuse.orgdimstar@opensuse.orgzaitor@opensuse.orgdimstar@opensuse.orgjengelh@inai.dedimstar@opensuse.org- Update to version 1.10.6: + Hide GRAPHENE_SIMD_S from the introspection data. + Nudge ray axis when intersecting a box. - Changes from version 1.10.4: + Add ARM NEON support when building with Visual Studio. + Build fix on ARM64 Windows. + Drop deprecated "python3" Meson module. + Fix detection of non-intersecting boxes. + Only enable SSE2 on x86_64. + Use the compiler-appropriate alignment attributes. + Change introspection option to a yielding feature. - Change -Dintrospection=true meson parameter to - Dintrospection=enabled: follow upstream build system changes. - Wrap -Dsse2=true meson parameter into %ifarch x86_64: 32bit builds for example do not support sse2 (likely boo#1184678).- Pass conditional Darm_neon=false instead of Darm-neon=true to meson, fix build for armv7. - Stop passing Dbenchmarks=true, no longer recognized nor used.- Update to version 1.10.2: + Disable SSE on 32bit builds on Windows with MSVC + Add more documentation on the conventions used by matrix operations + Fix Euler angles/matrix conversion + Various bugs fixed.- Use %{_libexecdir} instead of %{_prefix}/lib: follow the package installer definition.- Update to version 1.10.0: + API additions, mostly driven by Gthree: - Add graphene_matrix_decompose(). - Add intersection methods to graphene_ray_t. - graphene_triangle_init_from_float(). - graphene_triangle_get_uv(). + Fix graphene_ray_transform(). + Documentation fixes.- Update to version 1.9.6: + Add radians based initialisers for graphene_euler_t. + Use pragma once for the header inclusion guard. + Remove unused function (#159) + Add multiply(), scale(), and add() operators to graphene_quaternion_t. + Add lerp() operator to all vector types. + Add graphene_plane_transform() + Documentation updates for graphene_ray_t. + Fix graphene_box_get_center() and. graphene_box_get_bounding_sphere() (#165) + Ensure that we detect empty or infinite boxes in the. graphene_box_t API. - Changes from version 1.9.4: + Graphene now uses an ancillary library called µTest for its test suite; this means it's possible to build and run the test suite without necessarily depending on GLib. + the conversion of the Euler angles type to and from matrices and. quaternions has been rewritten from scratch, and should not only be finally correct, but it should also cover more use cases—namely the "proper" Euler angles as well as the Tait–Bryan angles. + the ARM NEON implementation of the SIMD types has been improved, fixed, and tested, so it's not marked as experimental any more. + Require Meson ≥ 0.50.1. + Fix graphene_quaternion_equal() to consider the orientation, not just the component equality. + Fix graphene_quaternion_slerp() to always interpolate along the shortest path. + Re-implement the conversion of graphene_euler_t to and from graphene_matrix_t and graphene_quaternion_t. + Add graphene_rectangle_get_area() + Document restrictions of graphene_rect_round(), and deprecate the function. + Add graphene_rect_round_extents() + Port the test suite from GLib's testing utilities to µTest. + Remove internal floating point comparisons. + Improve the NEON extensions detection code. + Fix comparison operators for graphene_simd4f_t on ARM using the NEON extensions. + Remove the "experimental" compiler warning from the ARM NEON implementation of graphene_simd4f_t. - Changes from version 1.9.2: + Add graphene_rect_scale() method. + Fix warning from Meson by dropping unnecessary argument to. configure_file() + Clean up arguments of pkgconfig.generate() + Add equality operators to graphene_matrix_t. + Add getters for translation components of a graphene_matrix_t. + Use darwin_versions argument instead of rolling our own. + Add GRAPHENE_RECT_INIT_ZERO- Update to version 1.8.6: + Bug fixes, bug fixes everywhere! Also: documentation changes to clarify what we do behind the veil of the various matrix multiplication functions. Hopefully, this should help people using Graphene especially when it comes to integration with other libraries. + Fix matrix multiplication when the result matrix is also one of the operands. + Fix check when converting a 4x4 matrix into an affine transformation matrix. + Fix interpolation between matrices with a perspective component. + Documentation fixes for matrix/matrix and matrix/vector multiplication operators. - Changes from version 1.8.4: + Mostly a bug fixing release, with an especially glaring bug fix in the point transformation function of graphene_matrix_t that was found thanks to GTK 4. Now the function is covered by the test suite, so it should not regress. + Another major fix is the ensuring that we have a description of the SIMD types through introspection, which means that language bindings can finally know how big every other structure using them is. The SIMD API is still not available through introspection, as it's a pure C convenience. + Require Meson ≥ 0.48.0. + Fix matrix/point transformation. + Build fixes for MSVC. + Introspection fixes for bool. + Fix the InitOnce checks on Windows. + Correctly parse SIMD types for introspection. + Build fixes for the pkg-config file. + Documentation fixes: - Clarify matrix/vector/point multiplication. - Clarify plane description. - Clarify the units for the matrix skew factors. - Document use of graphene-gobject with Meson.- Update to version 1.8.2: + The main change is that we've now disabled SIMD optimisations on 32 bit Intel architectures; there aren't many of those left, and in general compilers have been less than stellar when supporting SIMD types on them. This is especially problematic when it comes to using Graphene types inside other allocated structures, where SIMD alignment rules break system allocators on platforms like Windows. To avoid introducing weird bugs, if you're on 32 bit IA, you're only going to have access to the scalar SIMD implementation.- Update to version 1.8.0: + No new API, this cycle, but it's time to spin a new stable release. + The major news for this release is that we dropped the Autotools build from the repository; Graphene is now built exclusively with Meson. + We've added various fixes to the build on macOS, in order to maintain compatibility with the old Autotools build. + The variables in the pkg-config file that expose the SIMD functionality built inside Graphene have been updated, to ensure that they can be easily consumed by other projects; instead of a single string that needs to be split, we now expose boolean variables for all SIMD implementations. + We've also improved the ability to use Graphene as a Meson sub-project; this allows Meson to check out, build, and depend on Graphene when building complex projects, like GTK. This is really useful inside CI pipelines, as it minimises the amount of separate steps needed when setting up the build. - Update options passed to meson, following upstream changes: gtk_doc=true, gobject_types=true, introspection=true, gcc_vector=true, sse2=true, arm-neon=true, tests=true and benchmarks=true.- Update to version 1.6.2: + Mostly fixes for the Meson build, to ensure it's a bit more idiomatic and conforms to what newer versions of Meson expect from a project. - Do a minor spec clean, use autosetup and license macros. - Stop exporting LANG=C.UTF-8, fixed upstream. - Stop exporting i586 conditional SUSE_ASNEEDED=0, fixed upstream. - Pass explict enable-gtk-doc=true, enable-gobject-types=true, enable-introspection=true, enable-gcc-vector=true, enable-sse2=true and enable-arm-neon=true to meson, ensure we build the features we want. - Following the above, add gtk-doc BuildRequires and package the now built documentation in devel subpackage. - Stop using sed to ensure we are using python3, fixed upstream. - Add fdupes BuildRequires and macro, remove duplicate files.- Switch to python3: + Update the shebang in src/identfilter.py using sed. + Replace --identifier-filter-cmd=python in src/meson.build with - -identifier-filter-cmd=python3 (using sed). + Add python3-base BuildRequires: needed to have the python3 interpreter present.- on i586, disable sse2 for the moment, otherwise the package fails in the testsuite on the "box" test- Update to version 1.6.0: + The Meson dependency has been bumped to 0.37.0. + Added graphene_frustum_equal() method. + Dropped the -Denable-debug option for the Meson build; debugging levels are handled through the --buildtype Meson option; you can use release to disable all debugging code paths when building Graphene. + Graphene now automatically builds binaries for Windows (i686 and x86_64) using Appveyor; you can find the builds attached to the release notes.- Add baselibs.conf: produce libgraphene-1_0-0-32bit, required by gtk4.- Update to version 1.5.4: + For the time being and after requests from distributors, the autotools build environment has been reinstated in Git, though Meson is still the preferred build environment; I still expect to drop the autotools build in the near future. + Graphene now correctly identifies whether the platform has an aligned memory allocator. + Compatibility fixes for printing int64_t to terminal. + Fixed the cross-references to GLib types in the API reference build. + Improve the builtin detection in the Meson build and the build of Graphene under MingW. - Switch to github url, gnome url is currently broken. - Pass export LANG=C.UTF-8, workaround meson issue. - Drop sed call to workaround Mesa issue.- Use meson provided macros to build instead of carrying the long meson command lines.- Trim description outside the main subpackage of interest; reflow summaries.- Initial package, version 1.5.2./sbin/ldconfig/sbin/ldconfigsheep18 16519853981.10.6-150400.1.101.10.6-150400.1.10libgraphene-1.0.so.0libgraphene-1.0.so.0.1000.6libgraphene-1_0-0LICENSE.txt/usr/lib64//usr/share/licenses//usr/share/licenses/libgraphene-1_0-0/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:SLE-15-SP4:GA/standard/5daae300efdfbd8b7f08433d0a2dd3dc-graphenecpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7553c48c12b09d2b08897a75667e6f5e38d254ae, strippeddirectoryASCII text PR RRRR RRRR RR7M`-^futf-8774272ea30dd0f167960d13f834cffe54be8ba82789e71392fa95e33bbc6830f?7zXZ !t/ۘ] cr$x#F2 ' e2Go8Fc+e)?ɞI[KJgJ!~hJ,V8eήeTkox q)HMMc_\bY֝AmzJ_oPm5w4Fa XWߧ9j n2GpNk8BR@o+j/p{͹nHM%ՕĊ8~L,կ|fU;hfO],--#VH A{r}M*>HO/GU]dȬfK?:Zxt[CMJG­;CrQaX[zM~`8 ?Jd.Z}* ƉDRL<3IPDoCgaU<jSO 8ZՏ<ʄg jW{h)gI؏=딏źkLc0Λ׫Y\L0_J@Cm+DV-YI{m z.3ojjLJN#{VyZ/lA2H=\MfBEdZEΛa{ykQs*E;{'ogb7`^KXhA4(Wq+ z 4#ٴEҎ[y#EN숢gu?IȖZ 2cSRhFUs?c &l!I j E֚QiR4Z;]_>8Gٱ5Zf=Z1kgg%Z;ZJɯ Sddݟ<86dI@ Ov}%p ?Ffl|=Mga9R M7^L+Zz?sY z>f݄֔kY|tQz'ehzY:)_A1 S%$Df((Vry7vw`T^|iJm PG}r|zau/7 Ov^U2[)]"%~^rlKF6Vמ\;41Nh)lvJ퍁lmR:W}<$`^PLYMaXkqYN=D#a0?a]@a'(.u<]bdnFq}O ~ODkN= S8^ad#rd{k@]e\O=ΐ~]goeKTqe%h٪ V\J ۾C&somp?zB%s5A2Ƿ#EJzPY8WrYG P7+%ӱy2lr)!sPf h(Qzt{j͍d6.2;-+򭷰vmČ~ ǣy\5e%6P 4YrRu8?GiLP&R2je}srUK-'<&O؜neք$/:Ƥ|xقuԨ*Srv&Ĕ~|Nτr} ed.a̱o ? %wY5[vm9)\)QX_K.vOD]Q0/ lVSxZӀ#_EFc?8=x߱_i \"J0?D:Ɲw6aaoR^s[6N|Z%MA!0ʻNSRewn#GA;]yaH[l;,s$3 t d$S$fLU#• ("5{d\R)i[NBd쏳 M: _^q 6Y]6v?cӘUof'Ox#$i5$j 3AXayZbǽu.m.BGp^NI )gQ8DYPQ1:ĴN3dE-yH>gTv,:8U!߉S[(1 N l05bT&/U@$=3*!ue|US 7IUEqY&#đɡdW?Mͼ]Sɀ>h>ImCŜH4.(ؙtw^m#{g|'Uf),2dOJ˴Ҝ!PIޭpt@XouNLZqqs;d+v0L4K Ige^f'>jx9Nh8F~ W/&ys>2ńs\&f!Lj[j7KM,jsʸ(:*zW_## {+MѮ=@\Z҃%';S>xΟ+5Dn>4E!9ō`Iypҥ|RN$$9ޣ\Zl}V@zvksms9z : CíC%/u.a|$9brՙ.aL۹Ss S&%IDײ 0Jwt=qÉY< Xϖ_z;E<_aS^(Ih,hSS%:1NOyk 8W;wx%YRR>\C({hSFBҡ[v5@{W܏.kMiW\ۢ<,mkm1Ȋae'& vл^LzIB_FC#&i/hJ߾{6kZθO$z ~bT6^#" !EsfT?JʸMмr0+ѽAu[wo~T2 !?ȭV"ʆR kަǑ=FAJ(M#—_яzt<BƂ*1"XT[I=U>q{%S8Zz21rov0< 9]i߭hTWIcMT} iF#]6`'F6 ꣴ}>++4"*Qజ{Gi3݅`|튝 \V'e,VF&" |/ܙƴTCѽПvoP /AJKrv:R!a/)R{ޓ[!60Q ./UqV6 &Ji;W*^zҼH)$fl|S\5s=l0~?8Y`(R 6.8*HV:!3>d5|o4JucNt%bzBԮ1%k\]%;גpf5FH,V'npcنO ^rdA!]ř.CF ߎa.\PSpdN7S_͞K6ɨ?'G<= ߅.>ZLQicEȯ\+\ו= DpCmAW2 Rk}wG.2w{3 G5k'zFw`C5. =c^>YMM% {hF>76}𻨩9_eڦo& 7;l)ze`{s4x]Xx@=?_Ђ]"EqKtjQÇj0Tk?h!־Fy^po2a 3ҹ&K5X.pѤli :? L &[@~Y>"3ݎb*Τtj⺑nBv{G[NӴUYU׿Y݊*$d8^U< 0+|r[4;h .<u'+mDGYc@ft-t[gs]Y„Ryv׽kRַ,hfA|%N!#j3mR[dyk%]4?׫/en9|d[?4~HN%CDb@_bP& v2FK6@;cw|X*Qջ%w.TL-9w&'vO2N?+*0#fnU -j*;a~/H)i.ր 謝 mkiu sQuH69Q CƄ&XBٔa6h dYOr^AyU&{'GOߨp !wj5)]vT6J)QIXʬFxY\NEzL.>r*,4L-68̈́92bX&Rteٴdmn৓Fkۡލkqhc_Y P^vM-R1K]33Nl>-k j2.AYP5V!x.X-㝥)-:̜4W n)҉aob )F|.:Ot" \޺1[ф=Bt7xy1@|jNȖ_rl#gL+= XLԨ_Oc1^Mgw)e bHRkaQ`MEzM%,ъm,..cVn/bdd%BN_qvn@W4Ч ȃC:%rX8OHCf4;-ߝQi_2C)Ge4UZjϖv/^mM{9C3Mxfl iFt pe 7hub \~^*D: '(82GO|~^&ʯVf7*C>KIŀ>y 8fa֊dݦO>lK&6X-~`Z 9b"Q># y}|ٯK#ݿrb|1hd6f/|~tBl`y/v򧦤/&7p=YNJ`>}2™Xl'EZUJTg'89^d+SvGG8cQ̐N8>+$҈a|a}?<3lR)hHo<(YӽfFo8Sw>}Acko/ݭT`4?a rX(4 "9Olv‹?YPjs"Љ46ɳY- >_PBDdW ы 15d@Mݝ%|K7ڹ8y3|ӄH ('U+޵ kxGr{6aY X:T`U?!D2nZQLAwr:S}Gy2_$x aF,llztJ6jO$f iQ x]^ŷ /1QE0ѤQ6l%q.5f8f3v;+c-gI Ѫ TǧH HPl9nW |uᚶdDN*m(}bZyoo]|@u<Ytɫa,a4\tP+C0nY?v.%.DUDJ-IЂk<~NF0jӅyd>_^k]k 9vє'A,X<2c3 POQkǨtăWcq4,CvH6@[Nk{{ƥz-8ݝu*gզ1|륅:AXKM7h5PB꾦#`5d?BNϽQBdyaEMObεj|_cq1. t=7 XdnWzr^*'u;ًl{Rgmƒ٫Pmѭ C 4L]On-8 X愃S='l\yi+sr3̇34~%ΪG}TӀ$oQLGM1m]DZ5DZ nF_q>  :DϞ.NһKByF4}ӁG"bL3AjmGƾe j64Oor I/ +;xZĠ \3љbnuV.m~h9rgkr'"7V*"gTШ m/` !!Ƈ91Ł9T.?PF6cw)kLE5 `H|gjQQw~,wa/d'>1TMqse3E6`;DAPǝHĆwAx@K+ b_4} h>-B}?)ɶ1h:yjxM[ʫ'A|cW((׉Z1ZIR'/XwtbY.дZY2=1AI'}+6F8Xwl:cnV(#3{{{:n=|aSPn1#Fy[yES++.M2 ?D"jWS~9QIځ̞bɲ`̙Y&4%IȘyT ?eY/!~܊C]oNIy̑sSl 3/Yb79C⠘L^ڲo>`.O}$5%ЎLH7Փ䡆$X̭H첻1->)>bb⟪2Od2ഌt|0!hxFl{YuIupfI!7tv\oD̓N^ =yJʏzmX^]}=! LL@"6]8HGR5 ^EY?J`I^b]v7@!]\1OA&NNUFbBܯu:B¦ZEXGŕ!+uRWel8_=:zal& vWJ|!8sn$YvG(jw&"t2\[4w^3@]t4 ls7_s b$w`!nXGnN65+A.;tK|s9EE _;E! :JGvIM [R-)dNj_F8>p1зb@QJC_qϲҴ3UvpVw (k m:A'oµ=\ +N=5.fQ*'Y(;hPh0v湧*{:HCeH٣8SiO5ۗHB؇ ZZ'"jO$dfhR-jup'7'>"OS6TZ>KJq[-Js.~okHQčrb94?/sKGBܛ!4ԪNw"D.g,lgx, Pt^q7^ȤzQ ,4Ƒ2(FY8Eh6[L:eZ!Wܾ4xLEa{ۼׅN:i\Tn0'o`'@,z="n0EDM߻J- Mc 7)PEҽg#31fw5:fz-VXsAС.F3\\I]Nӭθ%6ߤ}gMt\aA-da=EʂJX-l\Gvj'Ru3Q[ eg N~^T`̈ Ċ?J"t#i8XC,35@ǁ Ulƪ>z.K‰bVPJEBUFc"6)-͠'tc9nHv۠R:\yf ~K#_*TJi:/ڽʣd@T k߇)Z.C|)m5Mq=ˍ*۠n(V2f**᧍?,B3S\-W:e݆?Fœ߱hđ;[HEl]Iə3lkΧ)%)o="7a:1mkdFGL=Ȝ8zL ԺT$RdTyH:z4dBViQﵮ14~ݎ ?eiǫmW8CnuX8)ץm^0"{\z t]F.4ipQ2c}h^Bh`sI`P3kFEEIGm[̱͝:[h#RG*+AU@2!Rl5}Q@7UG5>5v [&ZϖOq<_/T3˳ƙ^BYf?页gF̔H!LV $`afX3/(4) k$S; ?,tcTM>cx&y ?=N54`mx=l*hr6/slGxfb}i-p #aI+hPeH2!Ov>)d&05aIq&~YQEPmReGpwz =-%a*)lg{_!:ѐ.O$yk`!^(5xzA9xn9QҖqB"@9l[bUcԄLBc"iր$xdopq DyUJoz`6@lA>$T%x W[ zbN=Z[D"{c-ew,\ {HϤF9 RbXj!eïFd:C:ʒ-6kzA'ҿcV6RkURɷ$>u~b۪nt\0VE3.8 h4#$Hr)/5U鈾@cAt;HW"{rX 1[?8~_zAH@h6iIcr,idĝ*gʥExzS۶ x=>e-HυUNLۋ$>P3yD0Tu8H4AKyQ35?y׃ZvX}ke(J61i< /=xmF~˄Dy:J7JT#j1%mV}PT! |OM4G(D{()5QwԽ _3xf+;iҏ~#SrqMȠQ5v5#n_ۛljB 앶+W9죐XuX\i+}  16^kAy.NzOhq>QpRkn?㠑+%Hsi=TaIl>6GIGAb;mr|G!%-Ϸ q̧Iw%,g9=jN[F|)|ZVxѤ;sf&/P%tkQKw-ìv|,aݒH,=QD y﶑?>wM~cWCgSB ˛.%Eo+AdbTѼ6m^8Xa4} 9{kM%dIgΤ dIy0Pbl> max/? QH#ef-S6##E U+7؂{ 2Y}XU>=-Q1;2R+ɓ1ڊy}3OB\kˇW A:jXNfcJCWsbo4E P# I<"uǚutHr }W|ON%|t& EBD2{̔׵QduiTX?N}zb@ D08>~bɗl{ voJsDX#k-Ib{W*N0P>mD*H -f$5SY6xA.vm\6B^=%悇1,WWq24FLZKSjf *O %*Gk5o͛`1sNL1&@q/eb*` n- / QXcI+?32U }x5D6-l/(puES#݂APly%5(SOv}#/=uА "F;Bčسg7CjjED3AS2D ƠqrBV\Kڮ$L?g#:a`Gf(!(O*0ebw{hiQ \>-5 G7oZ!;ofU9eFIZߥ'a~s;S1{mH>̜/+ $/)&;22A ޝ(oifȂI dhK[=mEF-ǎu"?qT ʡfeq <釶T%!e?? p҄Ғ` "~#}nSnR++Fd%%@cڪ?Bu/;XXb'|WiNe];ͬɣ5D0yq3D CS'vgΦ+{xN&1Ew#lҖpv7pgnj}8MUJYNmzeQJ7j-E.# Ι"9ͭ[g=rq0{KBq/ϗÏ~\lO$L<+S _d@S{b7 -R`/n?x`)̔`L S;<-tU{ֳբ_W4 f&W79K0-kaʧynRs|g祈RjyA]1^c=SJˀN,X3YV3"%i'TuDJՅ]eڦSNxKѺf[d='LW3S_pSYtE3Pa{ƿZkc(!kAq\,^8jϭ:o6kl#Kgd ;g&1_]q4չ T2LJ;V+j.)ɑw<=P~?N? N'$~pCؤne{̥q~T [6z%;Q ,$l]ںT+pnJ/靪F}F'QBIdh$[ȳDtH<@CM3v ) ˫"&NGDOѿ9GIX&ɜ7q5gzȜV ny޹tn% [ *깿X~3"Eu(@youkOV!8vn@c/{.'?r.LKa#pI\M. تbI$ isxJC4-R^KP >Ep<WF-D8# '2[}|<Oq"\3ϵeA$S蛶Y1|%fXDG811tag~1rN a22+-"̷P6wGmK˂Si䆑7Tk&м2l%;1uA%v&Omb&E@\K(~a5\5aڂ/Iv ~$("mdQ%ہm0drW֌#w"tgM68=ʈ8t̸9dV_󴣬=KJ2_.1x)L`4M+;efMn'@W$xpjQT^qi2cޏfr`sg^(D~Uśo|`zG/}^R:ھlw&Z[&g]P\wq[!یGZ{&R_Mj׳3IZ䀒 vn\ % M}>:or0 mP%܃2q )^W p7/4w$堘nYx{L4L>vtV{U /?amΕ2 u]vƷӸҵG3f+'Oݦu8[­ M_XKf?-m9;8[Z |pզI"!6KtA+n^02Uo>`(sFBhs\&42xaQ=xUB \~gzZwk\_lƌu;Pzr`ƞV|"REQC\s͇l\,1ﷲ $>m70@Č=!Y"WRs`" VfKC4~?eZy-Ӑ@Mt$#131IsB}+dk N({MsoET ̜|m,; 9]LGY&AӅXo:d@T^eU0|2 BY?qpXa=C:0ܫJ2t@9@s ]^!Ԝ }nƢz'>d1Yc !1_ʽH"s ."0?Ɯ1*fly  a#GΤ4PKW s6eljyAr&o?ր~ &Ay"+#XHE 8'uj㼿m"LjQb ӯDU{[@xI;D3d}D7dpG!VIՆl![seϢUCѩ̏3MGf(O,I4C4u U!G)پTa#mg8L5)#<ݴ"cيw _'P.)&OHz%DZVL]npzHh77C Nh ^&m Y1}e>ŀ*hKj G,IjOBVdlA}U=& a##"<]o]# ˁV[ lgk)}G8R)5d# cn9!r$pR$d d U3ӪE_#cmf<zJfLzbơ4ϳoE!{^J?WÂڣX ܑ_1tζgel5R4\vKc 5QYXى>)6ҡ>mvfK ^ ThM1 `4B<NJB9&K9 +L$W[gmx+# f:?.jR<p˽"sA;Q)hY){厓 ?tڱz K8h^ "2yFNeg tzϣ$G H!91ZhÇl6qVǰf H1rl>ޯ8E*SI݆3NA7rm{b_p <>`bb,нad-G<XXtdV36`]?ao[k`u.5ٯ|; ~bR\Ц#Q v0R3o΄z\an?{p2V2 j1vEYPrtM7VϊyuKt&%OUq-:nfU7J~7 $@CZuԐQW63B~"وN1& 7!}*$- INTG|֋>v4z:Ω, C^bhbSbk X3@FtabHA`3 --1FX(;tClE@s:<ȠVP-[ief.u[/0θl$*Su|-\?SBƋ1wzC4/nuj*u1âbd)Y OYDi߾4)V_,?߮RpPgvLXT##$EU;Vc\="jME}PpN1͏.,'.@Ɇ E*W?n_ִ5e\n9Dgkv)6M+a55L̓S.kH&lBaupPa)DC:&#c[Ng ;#H!L3YVL,br,6+%N.ϙ$+0&~`k@QU'cWC1)X,C\E4GE ^Ga: 3eU yWo~.5lbl[b-c28sծT?IA,4;$keSGg=zmo,t% |A,6NԚu*YRݸZ1ړݟw!5:?Sig-< 5"^ \MBCΫ0tR[[ԹFpWH­˫)k7 U=x{0qH16]yIU /gnd#7Y q(Le-f7RCUWVчx<@V5(3yo` B*ܪqn7/ySȄ|.d9H#7U|~j0hXi'3oȧNAhQ6аpY]>K('6\ g3\؇7GerP}d 直gڝ4P0=Lhy9UlyDl V+>/G8+JؕݚrPf&:@ X0P?ޔ.7ټ7&iҴ~[A;Қ?Th8EEomeP AkHѸ֬k A0rQhMe8sH^‡)4B]lDE&|9ւuռqb9g6?YݶɞFaX-NG1+^kU(2MMG 1[[aa(=ѷ~*p_d.4]b]_al!udOvIl{Yd27P|Ԁⅳ aPjݛj@u߁'hX$6l373Ԟh{E,O` H%3YK9m@c*6ǖXQ/1\6*){21,664CqY.1eS76 YB;nI-zfpa=~}B~*E3 'O_`jHGml{  ȿ"eofxAݮgQ4+J[Sy]Wh NIXd7J/<˶|&?ԺiS Wܤ&C~<͠v\űRCWWkLHU1+2*Y jd$ffQPþsmoM:xe]8ռD:P!PފloJc^"~_qSiw\XOaRIx}f>N>WΨt:H|d4{Ƞ< GMVW&pukwON*|{CWy*}azh0IdG] ;E_\n3wO`Ń Rw$1dښ0҈*N\q~'mW(gy]Pp&U̳_243{il\HѰUc/uz! ]4 xq6C0¸[Zyj;bƶx.j6"\{N`k';̤% {q RE\P+Ǜ'> S58ȷU!0(mJevK-; gvD4c- և M>AOhSi+N! "ģ+F20vĤD|.d"؉Le2_PZw@*,߇ܧLΛHBQm윫zXnF`ڡ'VV/@ +S7n%G3,$ 8-`6Z/.aLe![Adi4qb WmB цYrdf#/vգNiA0CHXV9dyBcW"5 SM`-*ԕzm{\p1vi; :!7cZ䪦^dB|)G?-]P~Ŏq7ʅd$JgM@=}kȪ}%)4f:wZS&*/D@%H >ȮB;Pj"˖C :w̅ɠ=C ] @&'klyTIF|畹zn]Y.Z|Xr?q};2j·0;9g+Hklv 'EգTBQ@9E o&jquj"PCtLؾL{'F~GgԠ)RR|(a^+*CKDC]p8F4UL S?V1I?%ǂn &(C"s|HUq=̚*$#=(:ѵΨ+1Ӊ_., 1VZbU;℻>.Eq볃#Hzq<晥_H {Ÿ#䇥{ lkr.'1fTJ58$hpkiLw7 $z٧ryyE|1| [)p2~|ik\p$Kbݭf룈:r"O㉨Ym$PbZc2*`n8*!",;E. P|dZ[j l:YD CG䍾͘D?Y6] 6B{nR";Pu@t35OU2@7uc?\4O56uJn68ɊR"Bg"uD˚- WubWOswY }"'"G(oXT$H!^6tir;>TۄS:,eK4!@3Q3;"<+Etڠ]ٗ-gb1- >í }"gjy'H"p. G2rFY?33.$1jՏ+Ie@($З7)q94ZUsp뱹Nc#q,AXe%S%BClۑ*Vz<#B= /=}Mcڨz[@y.Q/Mfy+[#D?S{Ku':늲Ƹ{4$oNQ곝õHՅ/uޒ;J<砍7!g{Ǵ)2`a΢)#Zj,i%1;&q0+U/qA8)0ͮe Rj iPn3xg`^ u{k W(hp\dUo_5f#i\M5bɩpo.uLZSTM#J*Nh~Z56Y ͘XhﰑsՙI;Ӽ ϩ~E/1Fލ6ns}]gliQuP-hnF X1"M)JG$Nt A?ٔTQ ) ?D'?k<ᮦ>j$v Ӄ^k뿹*Q,B462} ;qF5CLo}ZHeOA8վђٞ֩(I=*.F(0e h'YWo?B,2u   ͨr(R2bQM1Zm@'{9ލ2EdQ{W(#7l2B<7"؉DM*x$4)襉lm| 6Mx\pQ}fٛ-s~ ULG]EYʽ9{_$n^"V2lVl,̉5hlk6C]gD /9[1]`Dq:pWӰF噲m&`HxPV8w\={TqFډOy *̋Nܳv uh$v(WcGH&5Fu_C6a5e`6PS {!5+§MVH81󅁟k[6`b)]K*EYG r`C52Z]sUs_(!|0WE*T`yRD-)T#E%-*匽$"VTEoъ{SRu%@'$:83Z^V"x07Gq퇘SGR ی V9B Vݥl9k760 Ӯgu澍sRxAuΫ]\[=eACmMfek`"n|8,t 'ԇ(>`,%šl$-%~g8Ee%]|@4>C#!gwDa:"?w+:].4+i|jYeZ*ZYGwI/T`лw^8<4oSZ](eTd1ywkd-/;]elrEkC1ݱ)z#4rVmW&+L %T)[EHK2d%0`TpdFzٟM5 EY7\RV\!=rT <[Og*Сb2lY(\v,9Զ厽B~Q%Ʌa+cyaa?ƴn(;M[_Gk #WWr+ YݻkрH;gopQ3cKG!za7jYmqNThW1x! [}lESZ"84 EAeFf\=_wҝ+S|6TU3n=e/B?tبrVnDL^5^#tȣ#upVCdZYyxwzU~mDCM!t, ?\36j4#h<$h0"}UꢎuayΒt(aj+ '"ܭk}FuH `u.+m*{;޼oKBs{JT;ߍttkcXOs pufu4]j%.j%}9$ 廞Fg"I(7mי D*/dW杅:XZȈ3T7|ZMm8o;~2 9V @>/BVU@e=8΀ Z02T`a y: KP`ERn[eӿ#X5 , T =5vŸ|h ͚TjM1! -Qoq ̵Byw IryԿGBZro0QṚnҨB Z Rla0#Ҧ .v/eGTFpJB{ٲ纘ya.͆FKUc6S;GfYPp\=t.G\VL pey̦0 HC@7(gc iO!'L5ͧUaoxe W∴U>I.γ'[t2Z)!,< %f,:C ri DBᲰj ѐ wXQo+t;{}$!hH @q)W"5Sc"2Z߳ T)]S1h"6vSMM~>.&g N (aUx i"CtB"Z@śy He]ўdtCzStȾ;TΔ\tRhW S,ll{2LI]BL@'4Oդ=uC-ĥ3Ƣì.k% ^֎Gn2 R/ĮEpIk.gcдK(3ZG-pכ睵k:USiP '97' <1^ }M3&^IN^02*&64xq!ԌMd{%͊ cX[ + LjYVLt<i#G]9)`P᩺L^ݫsˁ}=W芠gUI B" ov*舰jHʢMĉaU C12$M&RОJaˆx1Zۗ:D{٠x]'Cگ7)~"$H@ѽa(.ΠmB5Sކs t2m68Fl?$ . CWʬꯐ/l 7LPyjDʼ Cdj* +RZ1 0&U=`kj?jRS(h ]xe"|"4"t P+`%K)OߛҞPǭvHo!p e(MZ^߻8r(XNZLP7аBoFb{f )`ϙc,f<@R "ϲ!jo [#;pz] :)zX%Z7WF;SSqװ6,h2(hZ8xVVh*36t|ohпD1"~quzrhi"S^f:&r}f!&x"Ex&kB%ЦF. mƔ9[G~]2 fķv{h~iOw5Phcn{=EbUYc潚}N'>|zeao_P'⃧.Hx2ib7RW MMĊfeL~ul|j~uϺes2٦f [*!wX3'dc7?M~`7 \1`>9Xso}:ujHVK-xE\#WP!(ٸI R=5x QSn=OJw7) 8WJ}:Tc4/g=H |5/W~ nNJ\,;2 > ,,NwmEa6%6zEkOƚ;:]9p}s M0 ,HgDZQ((sX V 9CfN &Yޘ0Zpc>G8M`qm ^B>b!PNn n3*- >..P:I8,KHn#w⍏ cƬJQrlH̨C:h5e[zAd$/mC{s}R&vٳRsLU8߅*a-ycoL9hnI,lxMV-*v!'^S¦UG6- HrN<13Lхnw?zyđgpo M' RYqY ˞DƷ|W!!7B /0 @|}&T̀|K)||7jyuRH,xlYNI_##nҡו]{L6S3՚_>7f5>'e;|eoM+8 O,+n8@$ʕ{AP@jpǢP{.lbbM;~-_#] FpF}kk_|~|70봝nadZy?V"A+\y7&Y:B^({;2))&d$e׌[16\Fi0HW`C(_s>?$|Aۡ.p $&}!M̀yx{A]++-o .["] 2 -P1^%<se蹾𥙧oȥf2/3IO: gdS(}Ծsq/q*_rbpVߗXhp_"U`]L8s0qW7ʥT,.a_#I=-4@aAR/ۃi/sgABL…3H$;J=$ N&)^:-u݌% 'z:ԫxzy-N#)Wq,P4~f)'>+Uc}'.KS̪_Ggbl H27]x(T< O8vL!A׭Ŷ D)'/xJpC݅_;?gNHnZn{6=䪀Gc/Z_O klX1@8 ̊m~Pw& ;վ y8Xlà4# ?g-(l{^ 2K̒Uyvf!,s42B|v b{s5VǨqN#((Bf$^s*pGD%3&R)T} 1 *C%aЫ|>Bd\~QDj6ޜ(ᄠXJ|ՓK~诓ݰM[3p+kF2<'$d| }8 F ɏʵwG7 %@uvV(ĠU3C }UcA$L5#WI+{5 ^n~LM?$S|Nj! 3yM|!C m3$'y/ܤ+)nU&TAB܀ܚ +̻EƅA1~ >@zbF1 S@y7eeU= !YIJ*$^]yjF*]mE1pi ZČc:0:br!ZiD75xLI?̟烘\*]ߓrڍ hadf2Xo_'Od7- Ȟ$nHz#XI^U-ks7ך&6eMks+,pleB`#DӅ׌u+ hDW1@RI&(N`ё(O࿧7fԄ;Z+8"OYHPl8pWp&A,kFWK[3EŦnڜo4=^H7Vޝdm/Rh':~ŹW_NHbڭ) Yf 爚1>ke 4~I7݅X J|X|9)JƜ!?ǗՐ6K1%%;ւueն| N1Gw6AABۦ"ifwG=W X/ ! Zp'?>O-m!M||H' c]0&f`>vώ KgF˭u xȠi6vb$c?%wr5_n/{ƆdG#du}B[>&YÞmwC~asԮm=;OygKV$_4M*~9 3|։eܴ=G0>Fv(O'?hfǸ}8{xEseG󸨔,\)3 Ip˰6>o~}(~kFxpK?ԔbnXSi&g{_ *$ڨ\/Ԥ:+^rQ]z@jDk puA=5Qq63}o:Q@%<?Θ\Ն 9Ѧ3D3o;c~aܾR=uve~"\ ,@<)!ro8GZKx<#@^Vp*#AdVsk96J  3F+ b9b`FEE1H/r]&"x.,2jHJgzF8SUp0 ?.q|Ac̷6ɖzeRѯFg$"0iX)_> JU x_zU`8@QN JܖJuY_ii%ߦRzZMMֱܝ`o^ YZ