orthanc-devel-1.9.3-bp153.1.1 >  A `/r!M@eeeO~83-m U=xbBJ`ҪPBlpVսd.$1|fӢ2%|j:s!QPiJ%%S?R3`]'Hv.>9oXy]~/Ǭk#3΋r{6h^3s 19@#s}M-9jKŲdl_g0IdzK - 7i4 轄AT 4N@0sY-qjW^#7e9630f4a1f8baca623f55f552e551f3e0bf16aeb195f8e0c33a493cb85f68f9ed6d3d3acf839dd652ba5385c42c8726f3104c04<`/r!M@eee{yaZąF ="@-++CT;8unxQex6ȄwCNC[!{!&^|hRaa1ZZU ks@03*%dNx\YͮA$)ya/:zkQw"+5TlPπGl@pjm4Byzt8&R=Tdj;UxN$ )6V5{lrS7K GK_S&>p;???d  U  )HNXd j p |  .P\(#8,9:F=WG=lH=xI=X=Y=\=]=^>b>&c>d?5e?:f?=l??u?Tv?`z?????Corthanc-devel1.9.3bp153.1.1Header and source files for creating Orthanc pluginsThis package includes the header files to develop C/C++ plugins for Orthanc.`/Hobs-arm-7SUSE Linux Enterprise 15 SP3openSUSEGPL-3.0-or-laterhttps://bugs.opensuse.orgDevelopment/Libraries/C and C++http://www.orthanc-server.com/linuxaarch64A큤`/8``686f716ce06853e2f1c6c5b80192c19d9a4d15f1cea59ee5883c6f6130856a378719fa8151b126c10f4d3ca673beae24e9838fa9ad66591e25bf795962b33f9frootrootrootrootrootrootorthanc-1.9.3-bp153.1.1.src.rpmorthanc-develorthanc-devel(aarch-64)orthanc-static    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1``7@`_k_@_j_@_d@_D@_&^V@^Ǿ^1^@^{G^y@^t@]@]W]R@\s\]o@\Q\P@@\G\'@Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun axel.braun@gmx.deAxel Braun Axel Braun Axel Braun - Version 1.9.3 * New configuration option: "DicomTlsRemoteCertificateRequired" to allow secure DICOM TLS connections without certificate * "ETag" headers for metadata and attachments now allow strong comparison (MD5 is included) * New CMake option: "ORTHANC_LUA_VERSION" to use a specific version of system-wide Lua * Fix the lifetime of temporary files associated with jobs that create ZIP archive/media: - In synchronous mode, their number could grow up to "JobsHistorySize" in Orthanc <= 1.9.2 - In asynchronous mode, the temporary files are removed as soon as their job gets canceled * Fix regression in the handling of "DicomCheckModalityHost" configuration option introduced by changeset 4182 in Orthanc 1.7.4 * Reduced memory consumption of "OrthancPluginHttpClient()", "OrthancPluginHttpClient2()" and "OrthancPluginCallPeerApi()" on POST/PUT if chunked transfer is disabled * Fix issue #195 (No need for BulkDataURI when Data Element is empty) - from version 1.9.2: * New configuration options related to multiple readers/writers: - "DatabaseServerIdentifier" identifies the server in the DB among a pool of Orthanc servers - "CheckRevisions" to protect against concurrent modifications of metadata and attachments * API version upgraded to 12 * "/system" reports the value of the "CheckRevisions" global option * "/.../{id}/metadata/{name}" and "/.../{id}/attachments/{name}/..." URIs handle the HTTP headers "If-Match", "If-None-Match" and "ETag" to cope with revisions * New function in the SDK: OrthancPluginCallRestApi() * Full refactoring of the database plugin SDK to handle multiple readers/writers, which notably implies the handling of retries in the case of collisions * Use the local timezone for query/retrieve in the Orthanc Explorer interface (was UTC before) * Fix "OrthancServer/Resources/Samples/Python/Replicate.py" for Python 3.x * Fix issue #83 (ServerIndex shall implement retries for DB temporary errors) * Upgraded dependencies for static builds (notably on Windows and LSB): - civetweb 1.14 - openssl 1.1.1k- version 1.9.1 * The "dicom-as-json" attachments are not explicitly stored anymore to improve performance * If the storage area doesn't support range reading, or if "StorageCompression" is enabled, a new type of attachment "dicom-until-pixel-data" is generated * New metadata automatically computed at the instance level: "PixelDataOffset" * New configuration option related to networking: - "Timeout" in "DicomModalities" to set DICOM SCU timeout on a per-modality basis - "Timeout" in "OrthancPeers" to set HTTP client timeout on a per-peer basis * API version upgraded to 11 * BREAKING CHANGES: - External applications should not call "/instances/.../attachments/dicom-as-json" anymore, and should use "/instances/.../tags" instead - "/instances/.../tags" route does not report the tags after "Pixel Data" (7fe0,0010) anymore * "/peers/{id}/store-straight": Synchronously send the DICOM instance in POST body to the peer * New arguments in the REST API: - "Timeout" in "/modalities/.../query" - "Timeout" in "/modalities/.../storage-commitment" - "Timeout" in "/queries/.../answers/.../query-{studies|series|instances}" * New value in enumeration: OrthancPluginDicomToJsonFlags_StopAfterPixelData * New value in enumeration: OrthancPluginDicomToJsonFlags_SkipGroupLengths * Improved precision of floating-point numbers in DICOM-as-JSON and DICOM summary * Optimization in C-STORE SCP by avoiding an unnecessary DICOM parsing * Fix build on big-endian architectures * Handle public tags with "UN" value representation and containing a string (cf. DICOM CP 246) * The numbering of sequences in Orthanc Explorer now uses the DICOM convention (starts at 1) * Possibility to generate a static library containing the Orthanc Framework- Version 1.9.0 * Support of DICOM TLS * New configuration options related to DICOM networking: - "DicomTlsEnabled" to enable DICOM TLS in Orthanc SCP - "DicomTlsCertificate" to provide the TLS certificate to be used in both Orthanc SCU and SCP - "DicomTlsPrivateKey" to provide the private key of the TLS certificate - "DicomTlsTrustedCertificates" to provide the list of TLS certificates to be trusted by Orthanc - "UseDicomTls" in "DicomModalities" to enable DICOM TLS in outgoing SCU on a per-modality basis - "MaximumPduLength" to tune the maximum PDU length (Protocol Data Unit) - "LocalAet" in "DicomModalities" to overwrite global "DicomAet" for SCU on a per-modality basis - "AcceptedTransferSyntaxes" to set the transfer syntax UIDs accepted by Orthanc C-STORE SCP - "H265TransferSyntaxAccepted" to enable/disable all the transfer syntaxes related to H.265 - "DicomAlwaysAllowFind" to disable verification of the remote modality in C-FIND SCP - "DicomAlwaysAllowGet" to disable verification of the remote modality in C-GET SCP * New configuration option: "DicomScuPreferredTransferSyntax" to control transcoding in C-STORE SCU * New command-line option: "--openapi" to write the OpenAPI documentation of the REST API to a file * New metadata automatically computed at the series level: "RemoteAET" * The DICOM meta-header and the transfer syntax are displayed at the "Instance" level * API version upgraded to 10 * "/tools/accepted-transfer-syntaxes": Get/set transfer syntaxes accepted by Orthanc C-STORE SCP * "/tools/unknown-sop-class-accepted": Get/set whether C-STORE SCP accepts unknown SOP class UID * "/modalities/{...}/query": New string argument "LocalAet" * "/tools/create-dicom": New flag "Force" to bypass consistency checks for the DICOM tags * BREAKING CHANGE: All the Lua callbacks "IsXXXTransferSyntaxAccepted()" and "IsUnknownSopClassAccepted()" have been removed * New functions in the SDK: - OrthancPluginCreateMemoryBuffer64() - OrthancPluginRegisterStorageArea2() - OrthancPluginCreateDicom2() * Refactoring and improvements to the cache of DICOM files (it can now hold many files) * New Prometheus metrics "orthanc_dicom_cache_count" and "orthanc_dicom_cache_size" * Fix upload of multiple DICOM files using one single POST call to "multipart/form-data" Could be the final resolution of issue #21 (DICOM files missing after uploading with Firefox) * Partial fix of issue #48 (Windows service not stopped properly), cf. comments 4 and 5 * Explicitly use little-endian to encode uncompressed file size with zlib compression * Upgraded dependencies for static builds (notably on Windows): - dcmtk 3.6.6 - jsoncpp 1.9.4- Workaround for boo#1180359- Version 1.8.2 * ZIP archives containing DICOM files can be uploaded using WebDAV * New config option "MallocArenaMax" to control memory usage on GNU/Linux * Explicit error log if trying to load a 32bit (resp. 64bit) plugin into a 64bit (resp. 32bit) version of Orthanc * New configuration options contributed by Varian Medical Systems: - "DeidentifyLogs" to remove patient identification from the logs (C-GET, C-MOVE, C-FIND) - "DeidentifyLogsDicomVersion" to specify the deidentification rules for the logs - "OrthancExplorerEnabled" to enable/disable the Orthanc Explorer Web user interface - "SslMinimumProtocolVersion" to set the minimal SSL protocol version (now defaults to SSL 1.2) - "SslCiphersAccepted" to set the accepted ciphers over SSL (now defaults to FIPS 140-2) * New configuration options related to ingest transcoding: - "IngestTranscodingOfUncompressed" to control whether uncompressed transfer syntaxes are transcoded - "IngestTranscodingOfCompressed" to control whether compressed transfer syntaxes are transcoded * "/instances" can be used to import ZIP archives provided in the POST body * Allow concurrency on the OrthancPluginRegisterIncomingHttpRequestFilter() callbacks * Allow empty request body in "/modalities/{id}/echo" * If meta-header is missing, best-effort to extract "TransferSyntax" in "/instances/{id}/metadata"- Version 1.8.1 * adaption to new systemd-macros (OBS) * New sample tool "OrthancImport.py" to easily import compressed archives (ZIP) into Orthanc * Logging categories (cf. command-line options starting with "--verbose-" and "--trace=") * New command-line option "--trace-dicom" to access full debug information from DCMTK * New config option "DicomEchoChecksFind" to automatically complement C-GET SCU with C-FIND SCU * API version upgraded to 9 * "/tools/dicom-echo": Execute C-Echo SCU to a modality that is not registered in "/modalities" * "/tools/log-level-*": Dynamically access and/or change the verbosity of logging categories * "/peers/{id}/configuration": Get the configuration of one peer (cf. "/peers?expand") * "/modalities/{id}/configuration": Get the configuration of one modality (cf. "/modalities?expand") * "/tools/dicom-echo" and "/modalities/{id}/echo" now accept the field "CheckFind" in their JSON body to complement C-GET SCU with C-FIND SCU ("DicomEchoChecksFind" on a per-connection basis) * Archive/media jobs report the size of the created ZIP file in content field "ArchiveSizeMB" * New function in the SDK: OrthancPluginGenerateRestApiAuthorizationToken() * C-GET SCP: Fix responses and handling of cancel * Fix decoding sequence if "BuiltinDecoderTranscoderOrder" is "Before" * Fix keep-alive in the embedded HTTP server by setting the "Keep-Alive" HTTP header * Fix access to videos as a single raw frame (feature broken since Orthanc 1.6.0) * REST API now returns 404 error if deleting an inexistent peer or modality * Improved forward ABI compatibility of Orthanc Framework (notably, no inline methods anymore) * Upgraded dependencies for static builds (notably on Windows and LSB): - civetweb 1.13- version 1.8.0 * Serving the content of Orthanc as a WebDAV network share * New config options: "WebDavEnabled", "WebDavDeleteAllowed" and "WebDavUploadAllowed"- Version 1.7.4 * New configuration options to enable HTTP peers identification through certificates: "SslVerifyPeers" and "SslTrustedClientCertificates" * New configuration option "SyncStorageArea" to immediately commit the files onto the disk (through fsync()), so as to avoid discrepencies between DB and filesystem in case of hard shutdown of the machine running Orthanc. This slows down adding new files into Orthanc. * Underscores are now allowed in peers/modalities symbolic names * Fix compatibility with C-MOVE SCU requests issued by Ambra * Fix transcoding in C-MOVE SCP, in the case where "SynchronousCMove" is "true" * When checking DICOM allowed methods, if there are multiple modalities with the same AET, differentiate them from the calling IP * Enable the access to raw frames in Philips ELSCINT1 proprietary compression * Support empty key passwords when using HTTP client certificates * Fix handling of "ModalitiesInStudy" (0008,0061) in C-FIND and "/tools/find"- Version 1.7.3 * API version upgraded to 8 * "/peers/{id}/store": New option "Compress" to compress DICOM data using gzip * "OrthancPeerStore" jobs now report the transmitted size in their public content * New config option "Worklist.LimitAnswers" for the sample modality worklist plugin * Add missing tag "Retrieve AE Title (0008,0054)" in C-FIND SCP responses * Fix DICOM SCP filters if some query tag has > 256 characters (list of UIDs matching) * "/series/.../ordered-slices" supports spaces in Image Position/Orientation Patient tags * Fix possible crash in HttpClient if sending multipart body (can occur in STOW-RS) * Support receiving multipart messages larger than 2GB in the embedded HTTP server- Version 1.7.2 * C-FIND SCP now returns private tags (cf. option "DefaultPrivateCreator") * Packaging of the Orthanc framework as a shared library * New change types in the SDK: JobSubmitted, JobSuccess, JobFailure * Issue #182: Better reporting of errors in plugins reading chunked HTTP body * Fix issue #183 (C-ECHO always fails in Orthanc Explorer, regression from 1.6.1 to 1.7.0)- version 1.7.1 * Fix decoding of DICOM images for plugins (for compatibility with Orthanc Web Viewer 2.6)- new version 1.7.0 * Support of DICOM C-GET SCP (contribution by Varian) * DICOM transcoding over the REST API * Transcoding from compressed to uncompressed transfer syntaxes over DICOM C-STORE SCU (if the remote modality doesn't support compressed syntaxes) * New configuration options related to transcoding: "TranscodeDicomProtocol", "BuiltinDecoderTranscoderOrder", "IngestTranscoding" and "DicomLossyTranscodingQuality" * See NEWS for details- version 1.6.1 sqlitewrapper.patch removed (included in 1.6.1)- sqlitewrapper.patch (boo#1167431)- various security hardenings (boo#1167431)- ConnectivityCheck Plugin enabled in build- version 1.6.0 bugfixes and improvements (see /usr/share/doc/packages/orthanc/NEWS rpmlintrc for some rpmlint warnings- for i586, one test disabled (fail due to rounding issues)- version 1.5.8 * various bugfixes, see NEWS for details- version 1.5.7 * Documentation added- version 1.5.5- version 1.5.4 civetweb.patch removed various bugfixes- civetweb.patch added- version 1.5.3 * New configuration option: "SaveJobs" to specify whether jobs are stored in the database * Don't return tags whose group is below 0x0008 in C-FIND SCP answers * Fix compatibility with DICOMweb plugin (allow multipart answers over HTTP Keep-Alive) * Fix issue #73 (/modalities/{modalityId}/store raises 500 errors instead of 404) * Fix issue #90 (C-Find shall match missing tags to null/empty string) * Fix issue #119 (/patients/.../archive returns a 500 when JobsHistorySize is 0) * Fix issue #128 (Asynchronous C-MOVE: invalid number of remaining sub-operations)- version 1.5.2 temporary fixes for civetweb 1.11 removed- Version 1.5.1 Initial OBS build spec file adapted from Fedora project obs-arm-7 16209139921.9.3-bp153.1.11.9.3-bp153.1.11.9.3-bp153.1.1orthancOrthancCDatabasePlugin.hOrthancCPlugin.h/usr/include//usr/include/orthanc/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protectionobs://build.opensuse.org/openSUSE:Backports:SLE-15-SP3/standard/2b300fb2181e2a1be6eb55a2f3b49967-orthanccpioxz5aarch64-suse-linuxdirectoryC source, ASCII textB7VЬ4ۃ4utf-84bdeea4a946e1c8fb15082cb794cb56595713d83ef741d95d864a566cc13d0fd?P7zXZ !t/Ϧ1] crt:bLL ᶅ2P!U9C )Q!L&rt!(d?@@:I'qw^+g"ek ^<翷?+u~:KtoS%&З)mۍ"6(?X\z4P)PW@ɬW}DMZ6ҨlҚN *I.&e&VP?"apJ8 |~[-`m{[6Rfgo4VS 6h7 Gʨwr昱߾Hby }y{$fm4\<VNU,C#Phg? ]Vd shl3TS5B7*N={WoiVz(Tr]bd`<fgcxQטtk~_['TTr nHm"=ӝ?Ύ%u]R@ǼG2ij-Tp%'R.45ͣũHWr顅B[9l4E+IRGMs'mc6VP>tIszL-LdO+)۳c>ߨgrE.+U@QI N ,L>B?3, 'uf@qop΋`};d>#%-Kgq8ˡu)|UIPk5GI$\dliwU[dq$Y_02~Gsmar|^O&w}eN,7ֻLo44 .R}ZFAmj7ERMW]U^P4ӎ,º ר&GݣV vV ]%QoL$,&2y7OCEu|GF)2imDH晘”grX%qp=v$JFy@ˮQF.?\M#zixqE7 !g#y.ΗHN'V9h ֠܅0o)hzԤ fOdzZUW+?w  sD7nq".ݚSg:qU]b*޳dbOCBQ 9)O) ,ؤĦ46xfXM>=ϛ~A)ܺ^baf(^Y .`hUq/4Tiiw+r %mS~#vhğob[C3i7q۽{QV>~gO U @xO˶HB^sD-^ߵ@ZKԆǃ HLKF’ '5BXai){g%t9g,Bc!O jy%ɳ7(H",Rtޘ1yNy&Sg('.i0:es:rZcZAbg~,ÅK=>l]Sg@%W8D8~C9Ğ8bλgg`$Xp X# ҪUgCIPUJvutu&ܟKԒN &s," ~NxV'踽I$YI?T;# pbct AV\&I¦ܚdSzx4Kuiپxs.a%̭jX BDa'Ѿ3542\*,#FF+JZ/ⳓok4cI={VA1k1u̓hueP d&)IM*!pLQhԌ0jѾ~,WnV{KVDM9SuM㼆PX%XAq*%Maa]Và,bd7G8ĵQo!We s0zxb͸k{}$¡h Z 5lHR@/BUȥcwŜѶCεDwUs\ ;4ԁ?+r4XWPb q6>OJ*͉KB2zҰ0 w~v#\ꁌXM=d]`KuĈdc$@fYL[OV!kRLeGYٴ< 8X|Bq+vt 1 A\){hez3y,t-;@t Qg.c;կ[qdL*ړ.I5wsabյ E-dap묷Qk>\yxèthq"x Z nˢ }Vhx&Xo9*ng@N b8*sOύr_bCR녖[* +6h^fW](269uzViF噼B<bX5'2l h5^i[&8؏Dܧ3n `Q*86J )&BxLmSY_n/) Hآ˞ L-:xjGUWyzj+z"0(/z;[&=ft҇ h^ <`T* BF>^>vTlJ9ZH[&)e>z6]-[Fbhd.y"\8vNp|ͨ5sĴMaϽҳ)_~<{|rDzK;1 QmdcSpD, 65ycYXV^y%'uNl^|IQ~&O{J#G%N'?ni9<5 $.WiegUV;VûV4d?9Zo>܇f-[l9izȮyF^wS#ȟ##^?$$Z29?&&YW<@&ZfQg-ѩ;K;iBA]_P 482)BVhۦZE,2̞SZܞR <}tDnWkv$%p^g0;̸b} Db+~Itd]wb6I5MhX p^A95oQ\۸[ + Bs3+qZ#<6y9~"96l;iGj6C؁cm^#S0Ƙ*.JF`14AoanMHXgDLp$ %=3$$W{y%W$n]pm:SL:uԚ21~UWw8D~c65İ%/Ef ћUY.)eaiĕVC;vaW (mn WoT8b\`Foaֶ̒J2w5d`= 6 NPjD†scU !bY3%sea[??)~C0AsLlA Wt}goOj2Ǝl<]'5w<Ϝb9tޡL"#!KaS-QY (aGq\WcG1Yƕ5l3 I~g1ng7-W6ɮq+)0[\IL.N=s^k,5EcR1a7ʲw&cd xOJC!d:"m|4ݘxMRE2p2_ΟssN_F~,Rj}=}$W}/ <jӤlL)3K>N$$>aYLo,ۢÚizxHgAPi4L=3F!Bo~&:p; ֟GRMT9 !Aq :p`[ߟQ!Ki2IHs'R%rRXܛ/>UP]h%(DrݍUC*3AUM_5H C%hƋ?roc ,2h%)c@]ù IX_(.H! R3пT궆6whvw'`^ :ʼ1w.GOZ@.^ױBdpCN{߾[p-VfK^'P&K24yVź W8E ̱[NJ=VJ=&%l(n:JmFua?='7Fj`|8^:mh&püx גxp0[$KH)EN0|8mFGo`\lCLčfXNMXeD{g.O6,<]neb 'kV+LiZfwډ94 M31xMBn5!S7^Q"EQ 4Ä*п<8иܮD/7$L\&Cޏ TW:I4Ql-i6ViEQёW(je(|CSPE3嵟x$XƈP9?Ao*Cb&F&u}̷fcF'|J]0"盪Ggp qdDLY0]1黻[ ف%*WҰ7'3-Xu{T6jSFˏMl3֞(&4GzkoNcuo^N2IHR glRҏ%Zߍ. l AJdM,LI ѸN^2Ph߳33hF* Ny!vD.yg߶*8@q;!5BTLsWȑ.c9>=V $.*y׉Mw芫ۂܩK/!ORP%Jӡ#ڕKzc|ZxuJ0npyP9Zd_"DY:;v`7K>hOċEԐ@ߗPK7V<R$7=RI wm{1ՈZj!qiMN7Jr:5 ҝIM ߉TXrCs/Y'7_.&"O~>c?l{qgAdDzE_hWo'w$$l{'JnP_C4#t]2ʏv|?6JyXBWx_4vƽ:fcgi,_Ҥ]~hV&oȃ-m GsPc;"sdAXM9AbS69#Yv,k.GYzD~嵻Q<}׮EAH}o{ܗ.cB͘¶ڧ]g(A>9(^D?#"3Byu#=PbL4vO+oQԴt/38"jlGc,)y$I1 #U覭/܈f Jomxs|uƆ2x,xv'MUo= ́Hgn5psssC[-g2U8&w| 6B’^Ǭhc"͉vrJ:J#E'62juT"S^qƈ _+I\d.G}&ݲ2ۻ,)`XрD:9}М4YWqOEt 83tʕ5W_WigspX%ge=ֽ[Ysl-߮~+=&kŇ&=(ii ߜvfQ^-v *ōl& PDqn@+:uOJLZ' b=1+ovvKrtWLk+i5/}SVᑶ{Et`ɭ+nj3vxhZl p@CNyXR\!9S).vPjy<: ȰYu YQ߿ 5:wy!ExH@{܆/nT~Q7Mkʗ7I9+S>AR9HP%u M2,]2:m*[>&BOR gQbqN]zњ?ldwQ0wW YWMMB ?·(@'Z1`㣺NQSW=)v/c\Ll(T:Gjo pB?0#U:UJ8xȞa/ h}@IK~œQy^9u93.JNPUc0aY 9<$FO{7EbhO%"V7X ն9$7\1KmP|#n:HtP%)K1eҒ=KVǰGmPtq+ tD~F`Ӟ_#j?Lvq}8Q00ZgrzSЌP|Bz0b>"0͠8:pt-'vPR:3;"j7 9}ga?cwRG|w bf29nΌZՊ!NҀkN3aZ._=&5Q ,Y0:F@Pf!#8"g/Dv!QdR5!2.5X,C< ![<#⥉IZA46IEJg.7#>FCdwݖ:!96(ͮ^η}phsVVP);-<_}Sww(N$pOlKg2B>z(`lidpY7*N  h5`Dq>G!D@?x!Xc #u(< ɻ]\H@Ue}4!=lπ2&\؜(l$ +b]94@s=Nv!śY!k_P2Fa ko',Vf{y_W8I{&|n#V"KpM X/\5|$ Va\*I}9V"\эJyFvH)$#X+5>L_sYTF2^l8cdl=JЉ}Siw9$5QκB^Z^Bj)̺_sjPި~ĜfU[r40*3W:8æk}:t*.|jxr϶[Qd52)k3@D@`4vjA }A慣JSEˡtq~ W}l*tk3+L 3 /k +?)J1EPMD  `wQMs }(G߫ v?Scbe7_29Ouir*d9ʄϷ`R2.}NlS-(B׾JZdl0wA?,v ׄ᭙jL#'0R +. 'ۤj NQ˝O rc#Gɪ*lZ*#yޕE̲zjabu?ڄזi{[V\Oo镐J9bUD4;,WCłV|Ja L~˸H2$f-vYsS5=Y{c9@UX~A\+<DaNZßp ?PΛ _q`F(6?!Iuq܂>1T QW.|W esLb$ILS-eYI;eE'HR UR@X ~֘Xp%ǪG놖b3ȣWB_":/sʱ6ju5|jP Ԛ^(;%N8]c{ԨCfxj۳; o+toK|9@ HOi/OksaCDJ01RpP2"6^&+p-Mϡuc -Vى9>rV6KKp0 X674.,xz#m}qpxǎ2ts1S8=53#.ӝ=+`8ަ D*e,*J1cwȅZw ^:z"KcV[Q5Ye{!`mPSq@R{ ՠ'k~ 6c4{C3mA(%p[Q1pъAp[jefYݏށ(Rf.o⟓F52>BVV3yp*j5D@!2lA1n.b 沄ۏEмP<Јx`s{bCT& Ӟ:"ςO;5?P/kdTrK3(`^d4_a8f#CZg!>1 om0LʢP0 +':33ksNwsսv@Deb'8=Jo|e cDԕ2I(U@hhd!0nl{=ɠ#eVh PkZJ@FkEi{`Fe=܄0y =c_3H\JZ4.`t&\.6BwtB-#J98(ncQiSU<0p.r4Qd&ESH\V*|a~B'v;#*1-"atv9rǵaV¬ћz-UI]izMFG(+(^CbӯB-eEM${zddђYЯj?$T'{BbഛvwUI@DX転۶nj vCM eWxr0K|?pN2ix!/^ovn?~k ! ll9MGn~vn>yuעEҒ{Y"ˀɻ-`>tf8#< Ic3fvJRMsOt 7nޫ GP(8bXo`Xl'R^E;y[ؤ? ,~'宲hSSW.n?75!(Fv} 8AΘb˲40 BݾpHKzz{im<5h:KުQs,4K$rKjLMPBcµB3 ˏ!N#j qaASTu06'(*OyRƸj?3 "%bxn8$s2[Pd+0ʞYjk~q\bo,ʪQE__7V5.ed|"c#7gO;ٕ1Lnn¥ؙւOb^NiXhVڳbrJK9Psq@kE.XInHŭHv*8%~+BMgxGN)XC% L A>KjgoRq?tW%dtihXGwM6;ٰ{"NN,! a40Zvl"錗0>,'AF7~gEl$n)%TMB>Vm<a;Gҙ$uyWŒA9_yv&*>AwV$қ>MN|ab`evqtbp0l0/Zzi %XQ'p:aaY8@% ܰ߂M~ߪAtѭJ(6T &D=]<=n&>ml0# +&,# $jݟ?Wݨ\m9&J0um{[wjEOfWa]j?VaL9QCg)T`=9P\ O~^Il]݉gtB},HxWu֏Wp>v=e)/\@)w:/]g4U~=3|IV?)'jV4*j%`w ,۬2dM ,msbSOm5`InppM ͍L)>[3ӗ:мL`OT-F>_Yz$_ԭ&K~%5"SbKMh-7[C(C e<ЋTsH?b^Iu4Lڔ WotH"T%W" ا&CL  &p qa*+T3/Vf8!0K{xkkJ[^Dβ p'ەKRÕ*0,TNjGeyZf8.*Ao-yU靼~onlC9^ N?GQPKzKԠDYɢ!\*pHO8ӭvQwxt;v"wƽz0zQ@iR-D{ kgd<%+Њ7+tYe !m^;{Ⴥ}!3N5N}LkUQZ@Z<(٘GgHsqGSSZ:FAȃ{o~byߗ;G5U6rM7\̊M݈)mEZ=Uɼsw~) nR?evf/Z%N?:qaTHzHcQ.zr#1}~RS`7:mģ{+;AFaL9 ѲxlUJ!v4\hhnL}J{[00#jh8$UfvĊ˹R})oDcav+^'׹X3”]+ωsYd冉NSu2 "{iܜ y>)AI>S.Nt:6jaDIDy$\8q;LRDH?.lTh1C%ogʛjs_kA%z-uW])^g{4ap%oGW oVY]fuZ}ͽ,'D0s'cIi]B,t9OIL2 b6Bk1Ols;mt"p^҆Tܕ4TtĆKP \ߕI# aJCE_ xj#A2PHuY~ )?\T fFљ5#gǯb%w}1;KDPJO<8%I.:1KtG z6}e0U{OoþD|I!>I\/\Ϫj>X2(AO62cs kM)LoHU])b]̞g8)D|`܏qUZB v-Pk4֗g;njꃓWO⪗3Aы!X76 ƞ}wqw %|4KwAe=Ji\fti9:Z)O".+"L'd ' Vhol=7\2: gm7R0\:VQ6 `Tr΀6wŎ-q3Y~ҟ|]>  hSdoL\ i:g=l/yjKJ3) r:2Q6"r[f tC7(O#TcTp /_{?t?hO.2B;8U nNɱ8Xt}WCD,lo.C +(I$[\(DI;4磀kBg榍R`;Fñ8ml::L[N⽺Lef[Mej9r*y{ CnkY'(IcRuتi y\N35Ofl_]X!qUM&#O|5i0.bs~Dez5S׶))-}CKe? wԭFFEb*u H6 6__rW\MXԥoPJ|A.ECaӶvc=Hñ9E巵V%u{=Ϧyd鑘L*eÃ`\u:o :~TK>kPhQAa뾎EÛZUgxW%nZny" 3xn4g!@ϬXGyNQM%<~_V"μ2Ώp:N}HRm;wi} fմ ^D]CnA374&Q:iH,?fBO=^F OTqɰ`ܸol ٣#\eri%{N|o9R}݊P'h!8Arȓ#7q-5}i.dW W<ߕJd"70zN6b,d&@#ʨZ'1'M=>a#UWnZOfK}XA*ivF=ů)eԐP)n5j bֵodV6W)[e#L2z_";1V k\3@ipu-{`OR|^X)u'D"=1ԭGx+(I&1a3t$(, R^M <>qar񺟰UEI-]y]-(2X˓V+ `y|[@\Qym R5sX<8>O{_clk7?bGs_:/[SدtK-ݵМRڐ+xZ[H6!r)TZor8Nf)֙g&<#F!/ڰzbp=N}hE=o}F˱ jVX..JZ~WuxҕsuW{4#Z4rd/hz5,롒TU#,1sy]bEV!Nո LT%:xU4SZp,]:>|ZY*3Ϊ(ONďavm<?i-##nZ ]Lǩ]a',j.\ܟ'G3( xu{ p#tW|Faz~+pi$EWR%?uF㾝8avz)C 4[PPDX>gp^7:[` RF=T$I{]mN ?lL<$g ,b}'wGէ8G28*$-A#?x0ҩ5y\8xdž8wJ*T2FY_}1a@TW7&T{Z5הgYFR >^Kz@[Gy1`bwx]:}~K+xћcwl~&E71{嗍~ʇ[zǹٌpX ZPه98h'jA &2%ۉA;&53~tϷ赧.]'dw7a)-A ;iZmb/DIA!իfxW22"׌uye&efӢvHJԼuGПިa i0:Gi5]q3gy{B{i5ax\^VtV&>THo6 A]< ȻҎ+5G˼K [)2=._ׂz;Ylg'qY@35:%T]e'i1F(?U갾 +z;ܖ,fÇGOQ  'ߛ+U>p隝\>][_"ۂ6S&Ihs;OA*\/ؽާ G1ɏ"oUn,ߟအ^a54#Kx~n_z%Gi[H.Ā_Jq3c m+qn֨[-J-)+:g1 1MN OWU= *ĭ|侐# e hwӯFn].@uίj>9ƅal2j> ;Fġ @ĸv }=ٵ nv"w#'O~HC8+Oho{13 שL~m -}nmQ bzdZw8_eDn%3jǭj2,o];v"rZKۚ6*ⱜ#YZ8 );pQl!'(ZDZllOG`^#1&\ږx0y#*N-9 74n[周GׇB;>U; Q k_+8JV_#3f$j%Ƨ]JM-_`~GŔ @4(֕^a(KdÏ, XMl> "cMUy\Zfr^!=G5@Ntv,#'xIdʙQ;T-tg ]_uYuV^Clr/8R^鋉tOezB 60pwsc&\cS2s5`d'5QD]TBM$Wܺ=߄=#)ER~WfUxvmw+74ZybEQ#$R qy[UT*|}z@,\$œV"lKyN5C&P~2Aq*Yw& fk]ACH/-/s22{*/֡s=CF)cΒ>b)ݙ. chHCrZ?&aL L/ *}3·waLn01XVl+n< [biZO<ʛur GliuNO[cyGLvR8x2s-:GJAc_u'/y6#Ւ*b vgBiPK_Ȥ욟?sKA I'PEEZ*e9 Ыa~O$M! '@(u qL;vOdTb̔2 _?y-6D (A+z#q]j)Og6ӏ4q%FK|eԥ~_wQ.z_ ڍU ,Hi-ͰTv>p(hp$Ej&$^Y/}Nf*8tse~ca~or|_؁ q2pǣ W,@5KXKGNLsA¤7Y<4Ea}swy6f  wwFˆ7Y ¢evf]Fv47:7sC5*-KE<μ]hDy`N9<O9;h|"l-^iH)un%Kpw[Pr^KՓ K񀚖23׀ar.ᘕgdeb$>{pKߠpiniȔg^zZ NF&n(}5Bow\T'k -z@˝ t"')3[d-XoEl\Pt#ގɜm V̺4Wn\~} !k^Nc:c.ieۇ/01j 4cD ݗ͠} Z:YeKS?`D^'aQM ޵}pxXGQ1q)> yf3>_FJaw Qh4b[1fs4~Gշ !"8yY,Έ _phgorD\6CVg8-:ad"AO! |wJ _ڊrj9:.)˧E)]J)Sk$2/ Am4Nn?e6XuVS0Q+[H.1 FkM Y):/eKH8$T*Bwթ`i\WLF{JCBqgU6<@9u/<+q4K?up< Ҿ璅{Bn/Z[8lT25O}0G6i_na3d\2V]U]I *>Ǫ]$#mGb5@$ZZvv=e_v\^hǯ2XT702k˸pʆi3="m)Qǔ 2Iz|lWnR-'A68hrY'a4lvmo4s_UB6wb6[qr d~*Dqze]92qcC lQG< x:鐧^XB.e/QItv$ BapH dQH>ި*J 8HMsqDC~B32꤆h)5g;U P/{t,yoNQL uPrzoOswx80tRQ G R|=hQYBz?؜!}X"K\%~rB(ޔdgaz:<{kabE) UoUj(z_ss [X+mI.O?6:3B,Ջ6b]B:xTޞ ,݉a|~tzSIEY.*e˵6p!R$w*^%#=w @06'] Vsvr4TM_X-\7wıU_sCc8th hy)mW2zprƌ!F\h eO'%_6i|dxVFϢ#D%^YXPDYPKHdk)i|KFr4 U %\}yw"A}nKK3߼N ]l1?)%WY+b*WEYQ^naSݥ%+Y>`Zg$>Љ}*Ak:LIW’- Rr/!C:D89T%Z9i̓LztyMQGB?7`Nc+u@7&AW۠%\56~ [vF$ǂםE.Tmh8G'8u/>4mߟ'^_/_q'⤽dWGղ*:aɫX7oˆJ9c&ɾZ!7ГJ$OC IS'HpđU]z" p=$ &3)(kuS2vC ~v.&Oז>Q~#!VMؠ}t6:cOEc*orrrT exNohf2o{m,c;}<\Lк6}k@'6_;ٔ:dɝ%Z,F ~Şa3(qi)%=QL*ä́tey? =603M 81p515gJn^%e`d\@t0j CT!:P˻Fs1p0]_sXw6MQ"S3A3 frpg[S-pVe/L]jZ0,5bkvIX @d7ZS>g-Q,Й*ݸJ +ao־S\%=c 쁧 oCͥ wWׄ;՚PbR)Mzr`]e8/AD:>=i~|bY Z}mڻP]좎rٖnGj`SWtns܌݇BGƫvwAyZz&rnfG˓ Hٔsr`Yuz䌯^9ʍTj-(\7˵}u T>["s;;/nPZn!.)~)<¨J 5Ӽ_sEZKV[u]'UC.aL,@ ~>Rj{# \<& V %3O[39}訹ȴ{8}>GyDÏZOWvxwgV6bD>DĨ>㭙5^h," :n{e~cC:'2JheR?J'-΃P4:ud% **/qX5ΐG#OW :5JGv~jddrxDUЦb^DIv@ZL7{š4LW}jf)Mĭ -io'+is%hA%?V?8H2m"p]]zAQLpAV0aUЬLHԉ}hv_+DxWt('{kbb$CcmF1b'Ekd* iڛѳ&.KLpci?zWWi/ajʧ6mC]a : "#G-Y q|uo?#]uПBLgvg]'!C$<ŵ~5&l+s i \ ;nh<܆-P:mO*o.mJYZA~1U6]bOާ 6B%Aj$RJ@x .RcW stMwkRMI\sZxd׻@?žMTN u؄8=>5-iH0uǜ V󸺯Y,I=T(l 3V,WvXk.É8SM?kǸHrj xoQĩ1fэd&9!av .!\?WFlWkǣHhk ~TWhKZnB]wxʺ:V(Ӳ [sfRT|t™DK-3ĂaKN\v 9bJnSȞJ-Kђ6;vS/uyOM _VdtCz6e/W2Bhbfe2[BK4l(?I}$ >?aM '"04 -s=:Mv/Hw6U.i(v0GQ9fT%y3 &3^#ĢzO 劸T~t` oX2摱fHpcc`[1Ѳ'aq=Аz$y7x__Jۺb]]'7:h2 @ق8zH%CG!8'>G8XMaoUSfGF()+ƭӺX>|H*4輮Wi|ld(D+L Ka;g'lW9-@ T$ w 'j,BuY]G}}4S+R<'7dҘ%)uܚ `6!?Uav-2g8f]ܼj*,4+"5;~>#領pFY`C(o/sFz05 k;>+o+YIt1]wvjwr,=K($M^(A5F*K%lۭ]`5xT"]Sh'۟M[術xac+XPTBAkC!/IU 3i^B]}shv80}@$ HONSok#'ۑ8lL~tUr1;$0;t#ha.ˈcN68+ s@整iǺ0 Z)dDHԦ`wBHE<,04{,0l|?jU=;y(B-@ M0E%b> nx$#ajZΑh GB1,icl' 0|y k ;ݨ~_MtOq'%~4x#Cܱ|Zbq]]@BP U.k4՝\Sr¢V#\HGo"R dO@j LŚ#/*pu~aF=Ha|lB`xN4`9]$͗2=VczlM=(#Mv'9_hQjhZ؋A?SRp xc<72!6-]-dC4$j[CE9Jn.+yx8qtg([oҎca0;;GIןPrRڰX`+< 8P]x}%Ν#(2kE*{4]ݟ^ɗ6rN-*n6÷cx:ܫ1pk3O$Ⱥ/aF&GX hqR 36taqj.'="Ue RxS9|7{SUP H4~]P+CT7v($,ué|u p#ݿ}KmHg7]1P<>Xm^K8L:!BnNt XHۛ+d * ojoJ%W6^Uӊоe8+Mձ#bw?}Cu)Wr䲅I,'kG)|ear\h|X]E>>B]JDn(Q:ڲo\X<`m# ɰ3.7;ȇW\_.-<{S@ RDkio#JꜢWjLu}1X! *~]{wG/0E|GKZk[za:3L]}nz'U$. rehmQ/ƚA8 %>-|aIc1Tm%֑Da.Y(fL-Xͫ]E3P!0Qly]yg l$0Z w#՛ Ʈ vj'`<"|_}5W<|u *haܭT8rlX%32$T% FjOz0J(7Gz#- '{^ *+=5P=T;)/ x<353Wȱש nCo43,'7lޜ'Ǝ!퐔,xvz :|3׀ydN.эD&4S0QV~tѫ#}c)nE3c_1r@앥̕ ))AE .7MA1!N/Anlk{8Z$u.i(`x"wԽcFtFhϠ\(??y#Lu4,lYk &7M*uB@L`={p/ZZ(D[̷ uD8y&Dg|1Ln!$3;l/f<;CefJ8˘l{y38- `ƂJzʓ@MtʍgSv'4%Tp}VF ~E,H`< Ig[o(;]vJ2 ad!Lε"}x<2=p؃*v2N m6WeZ -ͷ[T-#|\2X*;:Lڎ/Du19h:,7Rgc(7seשU6l5T_sCa4z^δ= KBǧ&'DN sʟF)Ne'h-7b6J,['QAF n[yZ,9ks|&Z.24n[nYp\m:I!s&gJ ԮXZm0_<ڪe.}S~jDrtKR!vHi$垐«:}A*HkZP~2G[$ $Om㯙;->'їݼ ~FW{$"9U~YxQ`=xr/#XU=W_bf[کRT#bmk 3,rsoVra~J,.'wZU x"nDˇМC;,$, bڂLG\\_di?$CIc |MtSٲ2@Q1uxnGWA@i+Q .LX#e[mPjxK졔lb#:㯒;CuDZ-JC\XWPWH1&lR°&UG.*]UZa-t7hnяn-v$Q4Mf+ytBFWC]I%y4*΀3/ h*- .-pZ<6E  P 1aP#r|)ReTdϧ.DIdϺk2лh_im0C%ůXɏCP KJމaƀB;Mǰ oKQI|QFe'PΩXù02qe*+5\{Oך"ˌh|O~Y Ai<^e7W綾zrSm͓A߻gv,Zw?žOwOJۊE&2N Ƣ#wv*B14Br n D]]7Ɲr@Xwlut1kʼ?#z9ZF;*{1n Xn_CҴh]:vó ee&pL~^#7L9b,כмww[\Rv'SyֆԶzu{=fYbK.wP{`˗pm++ #&wٽ],bƪsg`.o2@㫕@](:\e9n):eހSh/ :<˭(S:{6X!/P?¤"tQ=Oh]W̻M\vʋ݈.oa$O߸aS;ȕlHdoF3nݼڼ<| c4y8!R[: x#@PR#X?0;ľ)6js'RIooRlb;o,!qzUc+=!dz^hG\`Csͯ0,N!%?E:2Ȼ0 A*d@NINH6 8/RhlhT+̤;l{͉oV< SA6^Zj,ϓ`Il2 ` X1;Z )F1\Q&%^:E8 Ab/RNSɬ)ҭIPb53*k q3Bgb3Px"W]r:iPY%u쮀anXub@ꐗH4vdW5꩟36$ mLj ]0B? qA:G4yީ٥|4h@G{ϟ1_n387ct҄@Z(w@72ԖFFJ1mCsu[N P't}]mHa_Ӂ2-&)K ;QW5'5|^Arջ ׽9WȈb/N]E͒5PuH=bakDžAvcha5P")_bkTVIIO~!g3z !Gw}ߺq@H6:i.mѲ`5ɞ)^죅4$E$jXJAVqnkbFg7 |SwEU݃{mAk qA_ab5B?jZYjHd 'oSQ rNʏMqeӊvo}cvCP+ 2Kl{Hv`@xBQWh sTEr8:EH³^wX뙽^CqdALzKtfew ܏Gǐgq<bo=\tYUӐa8pMzwJWf(qux>CoApHYTo\=xĜ2g&@Olm; |A^W` !K)냷"^ӗZ>ZL'`!6v،YG^۫ONJ_W/~I?X:[ myq"r .dQ6Ԍżx<+z{е n iɪ__?ݔ~><^Jb##Nn1o6MT69LyΌc荁FxFJH?\k5\NJpS8BkJJ*d1Vu$_>j}h#`7jgG&ҳGgxٞ :s*'e~5ij$RX"ύH!)uÿPh/t!; AF{4U"EMOY*eÊ{,/zz YtCk׈rG~>Cf\DZZ)>'8C1Ē v^dF10IҳçCh%ûht;ԗ\t,cpLv.V&GNao|{>lx〭wGEY#jD0c)V,\M|6:z@ 6滝̪Y,vs +bk0/ꀜgצp&ʲCpZqj +1oAGzO]O6gKMJ S2([a[nLwm}F∲/Rp~W%-}vvRz1޽L\O#?ЦaP? {'$ G "#P=$y B:2;>Dtӿ&戎ov 4F/q^C#_xG>r X*?$(){k&#.}i%E"$58(FE1eU7Fa콭o ̤!irh| Ժ5?7#Li 4:Dcrdx$BInj }w56k.^Gesu9?9?cєG,%aOw "Ji%Mݞ0 _"UӋc\+ n0dgf)C7F_AJz *}yPT/=9Y:CB}Ӎ.x{FuFQ>o`kÃM|6a:~%T=-YEĘ\zLXߎm؟wSA pr%Wm"z]|e;ŗk-pؕX!(*q:yb[W8||WPFO@*\!\}nkuOt4{Q8"j[&uHcd=cx~?>cᢁxd "}7j&JXN%/YB-ĭ[lJ71{˦!t{zIqRې쪖e<0f';cHd6dZ?z8lTvZYKϸztHrRŮLᡥ(!YߨBf[ޝbZ,t6;x,*(CSO F,@)0Q^j.P~q'i9ͻDBl٪;:(QDENzvM>^uŦF2U'uV&ijdz7Ўe \irY!~Eub5[kuНJP^@iAz*ʙ0i#c%ah'9k 9S",r7HZ-={qe?Fn&uZ8"M^5>/Q/@B|Zꃦ:,䶥?Ĩ}É <@Vt4InsO4nFWapJJ C6 YBYr2ID6df`xo׏P+%yN:[@}Mfyl/SVG SWjU%Lcw2%*u'k-%Jm(xox|KA0V^}NG> (3qtE%#y)Vk=\S _Η,JܐkƯ0Qy=ݧBZ1`'Zp1mnLh0bi0``s<}R]-Te2s2^" S)ծڗc<lv`y rLeOH(ĝgZ5p1y}ОNhÈ$$~UܧQznv3VXwHnsVV yBH#Zi(5}rWǂtӞN'r1Ci^(M8hhTǞW!t%tb9--'uP*NQMӚcj0 EUZIU4醗O([!^7p_@th.sۤ(}wY N'nS0-NKvnL,?ňO#6lv _`JnƎ3kz=.EQ1婪k>+wwx;kʮ~ɚUUVr0kq:+dP[+GМ pJ|YV7~11:I Oy1%'a6QqT09큀EID(HrqafiGܦM`~]jRKv!D{`r:vhrg_,"ҋ[Upŀyֵo8^%)jxf] ߼Ҝicg_м>^Ss8^KStF˨%gaB#GUɿ@0FΨ%_`AcTdT0 `dad?w"EG |n XCNNAO6VOGg)Ŷ9DfL}Qϙu;>Z0.EhS+t(fXwl@ce|2wG*xE`0~K5eFtH: 4D ^)\rd /d98֙#SD]qS"ohCNcRpQg bى<,β-E>b@%_)^dni;kKi.=Z6f*x1i8k)6^WKc QRy^?=^Z1=S_Z=w 5  Ñ}XiYN/h~ c T\CC-eY}dYwX:J:&(ZQ[;aYvF36ҹw9wu6p+bup!" =Vw$Į[F7c;teN7tJ5A+:B=ZApzړ zXknK4GS,a^_gR4NTR桓氕$+(mQYP![; ~AF]`{* OWm5̗Wd9P.®]-V\zX v')(98B~An=OaއÙL.Sc`±Y/k LOE|ԧsCo *eehԚ(zp5g vn-v%ĪnCK2bu|B . 'Иw/ysFoZAkrx ArfK,A(/TD7]0#cR6yN}fvĔFoxF]2lQ3cU!gpbԑtwc:Yt_qWmN5Drx wU2h pdA%t.+П  YZ