libgraphene-1_0-0-1.10.0-1.53 >  A ^Ip9|fzP#H WCT ރ ^e PUR٬T :m`VȋBA(2 A~!f80oT b|%qTێصT8޲毦96k[)o˭VS>޴~AϟoYPkE xn!`~ǯQ'qWXz6ٶNI?(z"~knSAKo sov?khJW!KJ+ir(3ec33397fd6a6b918b4d02b0b8b0bc350ca9d0cfbde65280de22bebc37dcd3dd57d24695f4cbe58b0fbd5981744ff1e13820d4f5ԉ^Ip9|XR-֞(pYвDgC#d_bWJe+h(Ù&8*.ySO"ł:1VKD0"Qg2#q6O jNQΎL6mG{ Qx=S<LD` V"m?e/CxW8YlpȐOݝU'0;x`k٘8U`??+qoL]$;EOuTK=gcN\H>p@.?.d  F ,=`fp    $ DTh|<(89T:_>+@+%F+4G+HH+XI+hX+lY+x\+]+^+b,;c,d->e-Cf-Fl-Hu-\v-lw.x. y.0 z.`.p.t.z.Clibgraphene-1_0-01.10.01.53Thin 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.^sheep17SUSE Linux Enterprise 15SUSE LLC MIThttps://www.suse.com/System/Librarieshttps://ebassi.github.io/graphene/linuxx86_64Ǩ5A큤^^^]u,e8de299547cf49e9c302575934ab1ed46e2d83780cf345a1276c9e3d92c051eb8cfd9fd7b2be592d2c0910d32dc1d8910c08dc0670b1d9ce417a82fa9eb788df9libgraphene-1.0.so.0.1000.0rootrootrootrootrootrootrootrootgraphene-1.10.0-1.53.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.15)(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.1]v>]rJ@\["XZ@ZZ@Y@X@Xf@Xv@XF@X<@X6@bjorn.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.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/ldconfigsheep17 15914083041.10.0-1.531.10.0-1.53libgraphene-1.0.so.0libgraphene-1.0.so.0.1000.0libgraphene-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-SP2:GA/standard/80e506afaeaf1ef06bb8321d49f984d8-graphenecpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=80ece555736d953331abc572baefa1f2588da349, strippeddirectoryASCII text PR RRRR R RRRR RjtSBcWautf-891bb93067500a17d0974e404e421ef7cd756e1697f0d0b829256a86ff43870b8?7zXZ !t/ۖ] cr$x#+9&AA RLkMV}24_q iT c+QIZOT;Vu QaN/3T1 :Pe()Z9 "V2. 4čJ/Ғa BHbr~iL|2d0X A7,0[],NCey8_ HOJvޢ,QޝNVi&kDW_nMESbuk>AU ۴6YnԞ)EFGrwBK;3|h'wKϔXbT/#]g*w۝]gѳIekrHJH̐ן;Q)z"S"n`r""0/߉o<{p-t8N@s=?o sw@l`ZXj';!q-ZajO'^B( adL-nf2V3TV Ԃ_=(:f 0-DH#x&IK }6ѕz8q(SX4o.if3 L.W^ Cp7z'bcʛIc33bX!KZ֏FfJ״xtw Z Mknr RzGWAʡ |4|wl#_--8R0}k&Hy~ue&!>Pe=W8n^6葴@ lju?qB~v%oǔK^ru9 fۧ~RPb>7]7 1Pm c2~~W5}s sڼUǑA޼:W80G\ -575#`Z4z&)fh[S3f9!LzS11h3ˎP>)-d3= Qc>d~5d# DZB)\Kwm+ \ʝU}Cc"r  nm{ax0)ࠊdb?Qd4ɉ^#e= N'D*_kU> N&+eVNCB܀LDÂ8JoiӉ w*x5)dy)ly/='"v\<; @eDT!Bd/32flQ!hCQ]28~,T̬1tnV00c4GhȼFzLqsr&זقG-WqIDQnb8atEf]98[`ֿW\GK1eE p=4'ТJÛ^5vw)-B+>%ɘ%TW^/ o$X-E<ӯ+y Xrt@9;(5z`Nb=JsH]ҍ;p!XwLIm5Qaμ< Mg0Fu"KK;l0Gw Ju`xL‹M V Y3Pn/ln$_DWP^]~ Ԭwxw E͠%a M!ҝfvwnٲU[3L$W3l?_؃K֣f0E?$amBx=tށO}3"8=< n-x{bq? :Qe&J ' ^1'7Gd>1#/_oqg]dw Jbu-4ztͱ*@ ȡk*K=;g #r?" fc#VGZiuJ]ƷLEhJƸUmr8 WB07-kwUº\X܋GܻqQo6ehR3жssIth|vnCcTmtoH#N*]* w{XzJ7IxTfӮT/Q> OewZTT35o?ufqb!9 5V4 f7 @wkjb V8a(77㺦{Ԫ>qߐ]EN3+Ƈdͦ.rhv: 74~sr|ګʿ|L&0wЍNb: A{'H덨5d_-iQϟvVuX2z&[[v2%rTWJUvuy:M_)\:՝j)jj7Ą 'r(=T`1ە1,6_)ԭm4}CGras N:k>YxDb#@]#*̛NJg/ *vZ]ѱ Τv/!ИdOwC6?R,#c$])`6[H|~Jݫ;XDΞk@ȇ"5su]|12ZȧXNc4*JF2^>Oe7\O{+&l0hi۔uڜ gǻ_a}KE&^hm,^B>.p=Pb' KjN/ԭ\hn1t¤,U9[v+f ZKE)puozѮDU<| 5* o}1xTˎ}]6Xkʚʙmlɸn "m dUK\sw#BȢɀflUyتlv+4C\z2f'YxLޚҋr< o~Mo5@q{C,G p1 RќL JwΗ{W{GZ7g&ڐҡMeبDbA#1|qE Ck~G[`uGo!-<lz͢8@szlDe ~yATbkm0"+'a"v2 V!=c on8ft4U`4>M=nFuSFd.91pKX|B*~Xpn&HY?s>_uĹ߅ya l\ΨOM_څT'A)U #:.d1nв t.",oG= Ft_+3̹ bsM9k#,)͏և u"K= |&#FxmL>NѬFOIE#\#}lk݉ވ=aȬq?! t+ :YF_o;H$ps.#3l'ӈ4 a+JN? BMeC{BxmS{W:بDlj/Y WJҹry͑J̩C*hKV2+a;.ׅDAdle(r!O~un8|CåJ8s E^E__AE'e'PĐ2ntѻ4v=U ^td7V[2=\ 5X!Na<vd*XPiJQ/ԊH ӎ 7)ԚٺlX;Vq)_&-ៜ& R~k߲w:Mn%/r~'9 }#P/H^{>hT<4WBYe!jrx *}t Q=vR }s!}-iD*gu< $_U*M@+z^EKV &5Diܺ +L%62l(\r m.b9XpYOBsʅ|Nd/bcYnK}gҟ~Jbɤ|nr;{[ɇW']XkLK>{$ʟ?ÿCN@8"sr_fYu|wS?'^yD8-&*w¡Ub]Dj|!U(xWg7F)qbno羿ڶcpSqИ[oǛ=m ^#8K&Sz=xtAs>x<*TJUpd42:#+,D@_ړmlGE>Xؑht p YKW3 4tTv^=XZљj0JBceV ecV`^ۧo!m?dGp qլ-]Iˤp#\QyN:Wcr(X;1a/rNK,.\EwAV?c>fWΆ\e:DʞHԸX6^e}A}TY=tqO(~$#Wfv߿)|r[G8հɟ/"{#}I > ŖV&a=Q!rNO@c=&7#V|[5|&`Ő:ʭbK(9&1óy |19f(@2 .MS&5}ǓG;$ݣ) ;w^6@A?֠4TBl-2PݓdBy?pw|`H)͑7F !nP`&sITĚX_?)@|1`_-#/]>aFn!&qd)j\o oQQMׯnFvuaƳIђOYsϋ׻uO2Z2VȪM-ERN <"V'-}~2~Ambܮm_lf&J)H3IKE q|S*Okw?*HE-GCә|MH[2+4F,XՉgۖT(VMh$'$oi׍l 5a<㎮G`&w%Y ff^KP,U6]VjbtD`aecq˘S0MBms2[Y@]]v(lI-֨eE`NIɧ>M}[Ud4Ӑz fK+(%ԘFMd4s?/^h\6paϡ[iQwGgHTw~ \T5W*;/Ę'D4f.(cŷfgvhCq^NR:Mgs*xgt|& cA;G1$7bTB,ȭ) lh,u}R?pED1rn06kT ߳Glu=ύ;'< '&,|HW&i:gL YZ-i4SjxδC@2C&QWm5_ dlL^G3.'?>/tfڢ_Sat}(ÁUغQkZL5֠ѐӦ5f@m\_K.eU>9eUrpFht/v.k:prkXn,e}ӑCDV& KJW#7#؄~K}f:eNWrn3WՃPQiӒƤHB}&EfH=t|3:8QYI3ngg:K[&Ÿ-@:[9O FDs |o*TV)hYGQfORPDo1Vu'' rp;[$i/- v'poC206jPxEc=J@P{EceD1p7BO/M.Ӷ%#qp]{')<- #|%#<#X>DG8Sl>!1n!nNm`R޳Cl m~'廘8㇕Cy;eŜ)wAkÎȸe=B{٤uK3>y 5t6MZQ/jwCN#&0^rc kY9P1D \#" hRGw9m;PS?w)AcZ{Nwc#n;?I.7B? Fb/S;Vx^hI - ӦդKϦnbWd`ΖA뛸hyoфgd{LgS}\e^鮠ƚDYc\h|5.ȄǕ*x|(n/,렦Pc#dP"7u tY*^:'߄5_J7m9-@gAB84a":2:Vq ;Wػ(𘈨lg*L!7J)=E&6n&QZ8Ж%123M_>j_Iզ7Լ_]0S|fz:D QwjpGp2 S寊k q<@!cF 0TTĵEYn,@&ry슞pD_Og>DZ~?~Uu'e;&ϙ9Ľ$k« ˷s <@ Z"d󤚺 xMLZcz TO Ù8uF&,DWh$I0ђ<;=vC#$& bk3HD^Gٷi)ܚy"jܼuGnOS 'rƉStE#.Z:ľX6@(diYk++s16ʶnbhݣLG;cWXⰐ4auH1F~?I~ ҉ ]0l)rSw9v̳ӌ#O(4Le^ Ac~dAQ0lgG qĸq.cx8s\&Ml R$T A0!oy߰GtqC2?CEy!"H̙X$p G}όmx<4sѦ^xLyI7WBLeK-`y.px[$~}?([jKe0αt8afO.WʮTW~ o7w,{Cf*m/l8O[ ȉ=*[J\Vu ߼[Qb 1qpRXy:u~-y5.Ǚ)zE-4œq5>*ҶEvXe^ݰG4k5fe+̘TV{\s>3Hk-[ @pg(]y} d8bIo濬tR'8QP[w| P3Oxdy~ruϨU- ]SmO!<[!go?L+Sn՞DJ+RRB*+/ 5: (9+qZ3V¢吮,dp\D# .; [GOp,}"`I,sFer@W~cJFB@W}K?v=GITk~1Qъ q[| Şs?N Ȇy:)heocrY-cL1*,)b#U!S 9{6A|oV. ̒0YQ3 J-δv짛)ܾN}m"wXgiyoҠ{xia;[_U_[̷28?n uDJSl'}Dyt@ ! Qtx Sޕ5dA3P+?jo>; iϭgɄ$tRS'hkCXg x[F/b`plN{=N{*9' =o]2RrhcxM l"'kFjce T4R^7BPx'cx}ǴQxM t]7Jфc˂jz1:tUl)փ1Bk\MLMl9D޵1Qz \]TPl$#[* 8 Hf<2o=ꬉ +< vy#g7gS؆ uMsNL:WrԵU1ۖN§~UZ/"&%9&Q H6)mҲ\N^t`Nױ"Vu ^EoP[m=Fk1 dAC!Z.#A–[<30XESOG>߹HNdF8Eܦ/@G+\tO:Ԇyk\wg EZs+lal1RQd(O޹tb$W4#Y2W"1@ȼTp*yݴyנA(w)wa9tqw1]:_-F c0Ԭ9Q,2?μq'X? Fּu7\49)a6ɱ@Au6tb{ucJ՗ua,IO|%M2`TjDLv5ELIr,Rp:P4SC`YNQV|538fEjElWXz1~%/# ikP DYs@nc/H3w!TԛU(xi!k*$U5 -{@%8E=|wɧiw>SmIC:8!]b5"\=+l3V>5_[}68࣓*>`O3tp9({4idYVMl0*\+XףBw#-/qtJ.O%'>) KxEQY#Wx⭨F9I>֏p9p$b"/i`St. 2uõߕ'\0F`O5)-Fe8dkPoQ<@4]!`fݜ*@ Sya aXP'Ì.mUCjn}"4= b/Cb0ëBy%Pt1t9y[;3F;Y tL)ߛ;e0M ;9%=8 W , ̀x7dߚ u`xمZ"m-hg^4et u$v ׺af 1mS64wIhôy&^z8:afx}gd'VU_&s?LA tg7.ӈ i2([(e(Ol,b~j 1bz ?x Cyh11a"x>][.-|UEBxi NS Ic ]q`Hkb]@f(`>/jҊv/K!+QJi:Y[n+$xP{4fL|# y<6'-qMa;vZOTr}WH;VeR)J_Zbvl&!a_:cj:xp}.NXo1M: / %Wms 䇯!%svɉ5}s=*O,D>|_Oپ8@ͿIiҭy"X96؊OŷU \^c·u ݛ rYn:.`qs8؈/Ɲ9M1YfyTq27.i3e1%pޫq:0[^c,LQL.c,7^ yqx&MȺ01ns tF>>XYެ&cRšn3b`1/[@ijϤ$tA5͓M qvvpcDUPqz+{Gu5'?_a [X;nkyKs~+*,ͦEә²RM++ƣe-Q8Jc2t5oTG6dtS60 frNb2ʽi!`8LliE6(3^̧m]َnʸU쑒q.i+SˊtHmoP1ͪl汑hm+ۨH.-g"8U7yr ;{j~$~i 峝xViQ>EbMPT P6^*_ W($j5v 1fK3KguAYt20 -K<@$06v9Keu“(!sd1уpszɊ1tzJf1Rn6z~a;32]ilÚ|/lDp+U+uf1۠6 +Rϟdݗ'i2-ZSB2dAg[հ:3TBFq,Ih玫 hbK`U2"MƖo;xasBpd&`h~ M~Z,Y*߻L90Bw*KKW5'YHS1Ĉ)g@RTWi1.G)?g+Ꭱ憀%˾mj4xh%A i^wY'+ӖץK[7H #Gbv';&vb {y3l^?6A0fAt y!*ڿWB"fB8_rY 6qbD_ ).SD.Sm̟V9ӶY'<O=[[IEצF d Y-LufDGy S} ~~N3t6WO`wB/b'G^ږWksI.n!fr0=RU27l7ccNhq氷?o υZ'S^ޠ*Fmi8EU(=QI3Z$)L 3O;b/"ra^{ vmzN fk; wUPJňpJ3x_Ŗ8;PhD,7qc Hƕf^K畗/ qauD)f nxgvpֻ0܄,w;= &ϊ+l>9CQKˈSW0y!o%5(6BvU AIOprmN()"%Ib&I⎼cvE߃g*W uNmɻϑnkKsRolc7]fTk2F8T-dF?-*Ӡ/KP3=j:mOw˂MCO4?BұA%gz N:=` Ɗ5+I7_]2՜en7vq0X}۔c{{f6BKW' < Z3+x 6.'WƸ27B2`Z2-c&k$<$Ys6GbG%>>=|ϒ<}Z#+ML.FfJM/]tN<ةRirN<5hRVeU}i+$^hӣs:\#}LUԴȞ&C1cHxd>a4˟E'׶%L6vnf +RGK8w3@Pq5p]@ԛ&P-Ӄs{9\Yu4pvdq9mRQ4ݸޮGXژdz0-1I3N\S`!ʶNQgؿsW˷qiAMu] L |g6}`x|! LnEQЪ3I?&#bͪf7PXgu:Bկ#n/c˯Y﹧!b |HlyqYhhˆ!S`Ll>}z)A9Q'Fnb\ P^MJ:d@;;YB'㲨cMJBN/:'hL{9'ˎ}8.;O*ljX}H%x@?T?m> TyaХLXcVC6\wKꜱMfoů<>i@F>/$0'h'֌wTkڃ|[O`brȚ ӏ\GB92nʄ!3!Rp^ m#E›%HYn`6$=mmcWx<ؐڍQUaOZ;^3%7wl~ n. Vm_ }$z/:maHll'&?2*[vzi׋IPQ|`L}BHsthh ;1 G*`B|DAY 7.4p\EU4غ-&?;@&vtPTQ l &viUݠ{"6tőjR&FR|!}ØEiـ8ƫ=DݏJ"fKo2r8dрN'{ z#]qO-e8{B3w:"&_LY% jL̠s<Έ3[s-IG 'zZ~G2c¶bM49_M+%,@xu,\-U8X^Fj5cpS0%e↯ ,b9&< mώWJ ;q6MD\G23!ꐼppZwh9nU v[y<+2ܵFI*Ѡգ5~Pq(I9H',$:$_W ש:7i򱻑e=eU@4Әt^*"ϰY7K0^Yv4-3Ź'\TQa`-5|3,2LO j bIAMlOo}@GS E*j2BZMKtCYuN{x*^~*#E>'4f" AL^onSewF!E(τsk;RԆOz(_?FUy> +0h] ]uWR] 4K:A#"#y-'/X^-~ !hp0f7I:+d);ֽ1^$fn܂UenXW`̙<^zX|"tt) eՁi8B\)%CYQI׶ovLfcnvN=Z3SGw,;*G_nja?$,*ćjsnoEX@(VA. ln. WBV_st@&-X'st\T6hd u)̖Un_OK"BG\gޤW.<8¯ bl."9>iJ4`6ngvVʌ϶2L*2[㇨Kdl>E\9L'hWSI.ũ<Ŕવa_{>HbR#L(~,kKnEL*͹x  [@\V !A7L\m^.Kz.cp`CkvjBu] Єէ DqxQ{C:tɟS?0=F syX6y|gB5.:h~3J}sIZӰO91~}$;=ςYH-JH +ڶ9 u,>NOUt*uai>ijEɇkbPu|w))i~q9H<ԖI(ZQ,sVϑ,{S P;(pAe :o;%O7'tS}e/Lm>p,&QCTjo5I4-$7VW;6 ˂"[ä]Q"0WRæ<"C(ņMKݹ9󚊨Rf 2(oX Nu@ؿ0z4ӄd (9Yi~EzZT۬ 7!`=~{'m,f%RBOE2~CC-+baķvlHCMchkfd=0.P4Lj,[@MQ1 gеQ _@ 'CQ5rݮu+{:{N|AatEYjEc㶌g F%8|' 7ViǵS2 u04i6jWw֨޺Q3䒨S_*Nԕ7P1gAD-XК ;R"~}" P 9cبf)qR/يֿME14RAcJWs{rH}*Wyoi 8e㘷ϝ"\l"=^dX*^[_Ze0Aۥ:ȯ X lFBP*,I1~B PjUley 1NUhgںB **n~-'ɫjoi-DS!{BYT_ ь5@$1ĀEx4x! l 5֯!<ڢ:ؠD&-Kܱk\X}8Yip3qVk Sq\3jҢHނ~#Qo`"/a;W:i6!Wט`G~L,Pihi%2V&e*ܮr| Q0|_<㮝ٸxzOK*IC*gW{0 8NE4؝ j!_۷R \:cYĕ?lHa_%{\/haJ2PX;!l@)upOk8bT?du~c?e/'͎hȼm}rAo0(bss a5CDZ,ZY4<H?~G߽[?mUVAg2̜'C#d陼]A1ULTX4;F*hKb$mDDJ&yިiR4?D-ܵEN1AŢ<7@B+ ī|^.vش˒pPE,crLLG{q.??E *__'oN*gQ[v>5 )1 p/\&҄ߋZp\;Rc! e 2Xح:2jϊ/hg9(Pg5C1|W㘙AM˭lDZHQc Ize>WY[BQAܒrOkA[d9\3m._#R%Dۡ/n>՟3؂q%jւf3#5m=%iim}3 e{8jҫ{KaJ[ ܹ [+5v?E a Lu.d8htzmoeo~J`9Fa:=;0sMBkÚJ$Ycmyق/qvv7X. ;m ZE! ?dXpS;Hܶ0bp;3ihh&ǫ$^}nU|%Ȫşn "G/oDF%sNdAHd?Q8s_m1Իaę߿2eGkM(?MQz4@d$~)*2h:#0rʧ;!\=tR>ʈ 5aP3FD'Q~D0,S$q9#~5uV891n\Q$Vg%~MUTmeFe$,P/g {@ qH9~#]dȊ5PݣY zr~ŘmKJ5rKtIqu_禺AH],y2‡]\8yhҔV,T LUʃ!~߳!͗D4?7S?"L9kS\ŸKiOD6UꇓRP4NmAتrxW6 jx[H"=;FAL" B5q7tj \=-Q yַ oE\dMLm}#ǗA赑,N75 h.H9Ky![jy޾'1I˕[H* .i RkWJvN/] B NY Gb^+ܑzbl,wV6~+4{80y)a boA"&ab ^e W%vîtQ,,Li(64%$Yq7f?*t jUE5Z"LfX5M | 4Z:|~}{5k%J$mI߯TU*j3)0Fc =+44]hqTנɊ_ӣKMxQ|!k{aP(ȕGyǫW}",ٝ=AZ<vۉ-Ik.S̭yd`3h(Hh]6{$)(tWq(.t Q<%TږNV29jѶC(g8~ȶ[l**(E@1ryOb=O5ӳz9/:;8P\ʆfH9u[U؞ZL%XSk咝pjXp8)$M=gjtW/.jr_t92 Έ\2ӼU)R>U%ZAnrTmF ?:%7pZwge̐qmf阰z/ȣ W? HUjZإf" F>4g #ݧM EDh 'F1mVǓݪTnsP*?]RUlQR ~M5cPLJh]Jdcs 73V(돏@'W:s/P+<.if-6XA.Zl%≨x,;(ĺވŬH1FPCȕN5.Ug%hO}UL xtX4{z`|xlJ.WaQÉEV5'% ؿ1`HD 5,UP%VꮟI "' k)'\zMO SJ,i)pdߣ]k_F#3vO B*avjo>gvmjҍ6 Yc|96рjT/(Hrq>"97.¿0}<-2+0RLE/]8ҪQϳO YS9xP]sQQ)}-4? 0d*ߓy AƥR\ɓ!+VqBpg** 4/,jD7zao]sKe)d"Hc^1 5%\ډ$ԉ\:1v٫tQod|ݢ}ϲK(n~/>of;4~P$ݎOϑm;hQƑ |>HjEn2B^jx;&c3G5]lIx׷T伹^ԄHdz=2aH6"0+2'}AbO>5y-hA&-g6b!<0ܢ v~2֖x%lfFak0L󭦒}{!k1@n_M!`q\RLS چB@}ګ .lqM,Z5uIJB{ǻn1N{G\G^=]CO3c"ҨLғbT"_J x.ocFZ,۵d3v-w)ϠXCOƏ3!?D#>T e~I+rA!dt8)p>LN/+ga%A^J牑_JM7߯_PCC)=3$K `~ ^2= -}q:ORo ^NA`~ZɴQiP]];jFV7K:u^ &%Lj|(qFEUq9Y5AQz37@H X,K yWHqF).vY0ْtwJQ!L"X+OI \y\X-}zn#4C]< fƱAƓ@8o нn`0dȖ+=Ɩ]dm XO& iZcr `iG3^Gi0ӏE$:_z1aligj#)}wT Zui (d~ 7q~ϾݿXXzqOp[?c0`rkNjm[yr4$8z<*d}!c<؊Sg'7𳿪*WH&A𬏤.tkKؘ ʧ%)y؂|!B.e5-BTjrTT50ʶtY_ʜZ|3{M@iO-YSE*kiXoϱdlu~'y cS'sKAĤaO%Ĝ9oH $GLJҝw{a`A[wȭۢmPȦ)Oaxd$ RषuOѬdYiH,,Yd3I@Wnؤ! @Fa ;)+\bpI^ƪCЯF'=g&Êbax CϠFH|`"IV"?!vxvBA%^dZ%Q7hͺb~zFʺN]Zh(CYh?xdӌ X-3{ RA=hEbLHdGqKJWG1B4:]O.IAۨ= C(ܰ{"Fړ/pcuߌ ~kޕF\k"x5\-4i”0Dq; f ފކMBIyTRj~V 'X !PI5鐽h'3Eǰ${k)I..`tblxzUERB!%7gArIA *a5D*Sᘸۤ;<~皥w2d:N Q8} Y=՘40Zl+('ˇ94ƷUVM)Cu3m/RYtcbዌڨȣ0`m:B63Ww%Cm""%$/{'ZcDzڧ+Xsd:kcz7RBmTZvY 7P4Ky W<;9ʍIC-_%eiqdۅExeZ [/O9Jgj9h*yBV2%#hVɤΖ]36deJ\z`XiRiV"X>.~kނNp[`ۋ~;WF zB%j]Q1L*ߵfIn(Kc}ŠO$B ,_qjg@P{6jY3 _Y*vZ*=6-@f >Ǚ͇})9y4&c0<)- a}/Nq4IG/ΦI4l=[l!߬5LPa\! "$BsztM·!#goM:ē|Q_M=Gb]o=P˒sS8d!zԀcb|IU`soo)RET=4FrG8|'I*0\O5\?9NvR%vEyߤ[?Xn4 y=cn͕4gדSp̱p(†|i3 H{x͎)^-EN& ⭮>eyסɜnsJE}ktxo[O# 3ll[nP/f)Ymg>LtM^aيm$i Kz͉.؉,<[f908j1sx]&f7Zg-5u˚Uxf\N8-x։Y*}dWJl2²01CDL>l çѾrClcw?OܙՁ)Rۼ}q8y&h9/i\/:|TQ'y9 V/kcZqGA(1Yϫi;l !Dm`Q&]ok# #ou_wN7$3qN@2Nm/jt=d<` ϼ.2DH~y❨w,U1!ny('9aCvYt IewJf}T.$COnPPΗ)Qz[=Hngz5aڞJ܌4ޮV(yTo{eۖiUlt0;+a Xu0Hޜ]8p'ҁ Mᲂ 6,C%@:~d\– zRb4U@>.I/^i녍"Du lǞ>?*lA'Ӌ1ڙxO.#q;\Wrud̊0F0 ™!ӿybz'30%rţ>}QK`>v4 32Zue7L Ns7C kT1M ''D2f@{cY i)N~jqdP w\ s\Q /e@(ÚRnX~ن'=-5L3?g"/d@AD͠JOurI1 "o3r=k$3 |ɝs%kS y20 / E|Op*Ƒ˲cro/J 2ߍ'juxP}t$9Lb@%d`* >o"Vq_hgf%s/n F-Ibj|l\MO9 <[G2>D5Xt0~h"Gyd4#ʢ8jgR ]4Y6^+j pZ% ,єCE0%q"iJe_ IU?ًz_rh;p78,\LstaTZ3mW:gmMLM.Qkilx eKO˸ ~>`LbfnSGo)qBٺADB縉ңi֣KY# Eak sV>gSSTe_o͢TOw; d&_=Cnϳ=.ͽRy#9!2w@GWƤBJ`8l5{0cTumb) ҶFANb(i'qW Azk\ؼÇxbZiOVfѨXmNdٙyHղ6 < 0[a 8$ww0T 7p<)_+0m41t4v1y̎+?]fUnY/I NWJSiƯ:eYZ[q/q9 20?Bҩ4)g5l0Q# Կ[pq- |XT1c(}ƨQHC}5(հRd*&'Oc 0<O^wsxhnهG\ʧ곕%+HP{lD$WbdҶmQԚU9\H)TgOXEY(*k+PVq52%Ioj]+>4Q\}  $%?up7mWl@ZNDZno˩Fdxwz%޽lrw61LceN/bΠ TXNsؔ@2ƥl)ZcX6mmEJz\.m0)NSjm[+\U9#W*AAFZj q+pTI T5 ;],`u5Ry[P''/kvxIo{J9܅[~} \~Oa _Ho4o=o1gf{RIisӥR.Yhn%*&KP ?Q xUn ] |+S*p!!=w ŭ>sOW|`=DOau ÒܙҪ.R7Te}U˓ M\r@衾Wx 2(JezS|e(:&*=[ cs"ЖFAu@2ɨB*p=S^Ys"ϥ/r(д -uuH_~@ 3aE{nrK~[E^uAd; @6$qU;;:MZ8G.e}6kID b?'pDE.Q̏~~[QCz:Ί׹M`ՌE&_ })%1=.X1CCyI\z TPh#!bBb^}J:%^y,y`فe )+Yv/z7'/'Ǜ \9ڤppuO{&{ v:qp ւLSl^wD9; Uȕsee6Qnj˧V ݯ ۂ-ۃg&soJdhr(q%0jL[.j@XK=ΖwP5ˠ%^')a3"^٘܉1 q{̩3KFrv/N ud8MOTs9q#"M2v1߀4zhHjz; JT:DLwnؑ5AJr}gwyM+5n q" /e}.Q5T/K Cxƣ]I<5yy[ Zs^j%.*+ӳ^EOQ-e*. <|qk9b'LdpFY %\( 옲KHxW(>p2o`ִr:O;VeD4Dk*J S1б19 ppJ촀ꩺؽW'N3|LQPޙ:} "`E;hvg{//|{C l3核NJ"ﶍ|!/TK%hTĪdx.*%1ȝ,`]",8΍>9&Cvi WW Nʩ='ŰևQnRԠb-_$|[{NfN-s֮QJI3è~Q4JJcE>Fl~5ZjeN_p~Eo{ms&@pnW]D,odP&HhdݡF g)C {2"{M##l,Ij &! bŲga) ݧó5_>::Z,My  <y,n )k[]YE,‘$/ qS=A)D*h 哞1PF*E9^:>SgZ `?| sa2JD^h(Yka}'9ftauIu4=My!kr-Sa[,WcW^9knx}zl/@;S2 dkaSዣ%: ABz!# h_)DJˉ}h*|P*dj= ܶY]α ׷jS5#,.Fǁ}ObFUv9Jމy^p_~C9H뮥mEȏֱE5 ,r"ȞyS$[z SՋr:LrG@1(Ke<A fpWhqֳ3Pb HA0NvĴ ,+x,(q}0`X%혰7RK}wwU9ٿGZ Iۜzq_z*bXȄ%cL fbq"V ' Qƾ6QNՉ׫J>a(ogdz!V0n<lTkHUx S!(a߻M+8r {J9Ʊy(=pFt|zgzyo&o37*}&Dd #z~aKvZE) W[c50 @` &Ot rq캯oZ^[Cʦ]yu|XůRqH'r;&){ Rmn;hC̵z6O`,BR%>-hta7M}v{O'T]muvc_#%M=4ॡXf.:A'P\`:¬ @6>zse%DžWJiQl%5kL]Į78# ۅ'OS|襪쯄/r]{=Y_-䗉28ȏ{QNsm:.k8s v8T$JcYӍ+lw/ 5@JT*UPpȸ(HTe̡4XsnQ?M^ )5t#T R }E-4b?Y\Ϛ,ZMl'3cJSF4ś"|,x fetO.wqfP)g u%@҇3%*?c=]|=-k,Df[` [/Z3bs̘\S aCAe~HR\5lq!5;teG"R|&!|.2UX΂;j%4΅΃[Tx"*co2`lӒ o*&bLU%Tg֩ZZI.w`JYr+,K08/! BlJ{M%_ Ӟh:x_¥ 6'*j"B#.tr*՞nX)O/)( |9ֲX\څL^z,Z6)#7 |+k#W+2v1GKL?r-Ȋ%u,`)zLUB`dcXg6;?e7d~B.i]zYSeo͊U s)eWӬ˷Grt)BE\}C1Sȸd{69_2lа.WA$ض YDfs : Y7aF*LEQv\]9 Vy]JJbzESJ@vyNAu\,t.r8@,Ӽs39=.yAn3EF ߺ:PVuK-ʱ9΢O MafOvMSyV2rk DX~,: ~bn~s,Ez?~W} B18 Z5 :K UGƐ;>/;"ǡps>m}6W]6ܣEG1ZaWOIy3+qS6MqAh'Ciif%1vu(>Uַor ve([GɧWd1nd&ca6u \]=O0cۻsR$Xx}v8[\evOUZ%S͠_,}9O l<=%#Z2 ;rb@ 2QVC$Rq:"* '#dL0`F*B sJ';v@"zqƟjQ7NWhpL㣫ӵ{/uAٶIxBY<[A- 8Gs[ L몫>q.Śq$`غruʣg+}Π]m8RB2jw͑$8umόUkP&8`x#ֵk{\H|<+mkvS*7I ~KsxSس^G%DN^C&d#h#^!.I18n%!W^?IL/B-Cw%B9%~Rb9^1Dͧd_ NAD }9cWIc FC_2j@ef ~nA]kW1.Q!AP Y#0$lC'*nX~ o6H{g x=)f1Xj|ƣMѪ%•cs[ ;3ˮ#l,y~مthЭܝ- YZ