orthanc-source-1.12.0-bp154.2.6.1<>,ldb!M@eee iᏧPDsw*g|tǫ8h 5%ts8 #ef= q3ԻdLL4m FK[mGDUO@VF #2=>k?kd $ W  4TZd`  \ .X   XT,>>MNN(N(N8N(9O\(:T9(FGHIXȐYȘ\]׼^nb7c7d8he8mf8pl8ru8vG(wMhx\dyk`zkhkxk|kkCorthanc-source1.12.0bp154.2.6.1This package includes the source files for OrthancThis package includes the source files for Orthanc. Use it in conjunction with the -devel packagedbhci-cnode2-e5)SUSE Linux Enterprise 15openSUSEGPL-3.0-or-laterhttp://bugs.opensuse.orgDevelopment/Sourceshttps://www.orthanc-server.com/linuxx86_64L]"R% 9q 0|',#FF%UW# ;>q h |  ) !'g9g$  [2r'  0n* =9) xs1DEs  8 |q${d C'  H%   I$s!#rj $ S~s0 @F !?.< H:k6"( D 2  7  [!s 7Z) E ErF-  Fj(eP2/r ~= Z ] ;[|kx x 8J*'(+05G  +]I- e|X.T.q:{+ i0l - |s* g A  P! }e'8Q aj   IYaNs{;+,0> 9 M:/ e, w j?! qONA HVq ! V=#Jm   $ ^ @5 WXp_6p  aX!?D>  s!#`   !k Wx? l+ p3Qs $$c *B : X _+ 4 ;FGB\r!O{.A0oD >Gr;|"O)^$' E%)B}|jȓnDd@ #9  k oxq>rxcB7#bs*s-Ϯ_~ ` 6E  [ & ;4Z?M-E,Z \ B 5 < ; ,#Z -h&%VL f L- Bu 73j  6Pe#H)w!+pC 0<0 :-!Y~z MZA%#Bfy.u )@aj] f< E  MW 2" L  {4M(4m 014 e`;*ggÐwf5 } o#1  N<r'"F7 J ! N&0W Wx`ea6eT JN U.1 & x& - QLJ@# PCs q  Z  /.] E7r  2  U%N d* 2 C_(e. '${y]:35XOO& 3"A큤A큤AA큤큤AA큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AAA큤A큤A큤A큤A큤AA큤AAA큤A큤AAAAA큤AAA큤A큤A큤A큤A큤A큤dXd9qd9qd9qd9qd9qd9qd9qdXd9qdXdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXdXd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qdXd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qdXdXd9qd9qd9qdXdXd9qdXd9qd9qdXd9qd9qd9qdXd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qdXdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qdXd9qd9qd9qd9qdXd9qd9qdXd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qdXdXd9qd9qdXd9qd9qdXdXd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXdXd9qd9qd9qdXdXd9qd9qdXd9qd9qdXd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qdXd9qd9qd9qdXd9qd9qdXd9qd9qd9qd9qd9qd9qd9qdXd9qdXd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qdXd9qd9qd9qdXd9qd9qdXd9qd9qdXd9qd9qdXd9qd9qdXd9qd9qd9qd9qdXd9qdXd9qd9qd9qdXd9qd9qd9qd9qdXdXd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qdXdXdXd9qd9qd9qd9qd9qd9qd9qdXd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qdXdXd9qd9qd9qd9qd9qd9qdXdXdXd9qd9qdXd9qd9qdXdXdXdXdXd9qd9qd9qdXdXdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qdXd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd9qd8dd08b9c49ba3baf9ec82a22daf5108b82f235a8cabe6539ca950a22b58e0f76e26d7a5b69b81dcf87f92685617b437f09ec77d4c990356ae564f822dadce690ae0485a5bd37a63e63603596417e4eb0e653334fa6c7f932ca3a0e85d4af227752bd9d164176c85abfa569fb77d7b85f17a41dc446c52312dc622f2bbabbec2e757c7d0cc9552b10eda3fd2322c9cd253cfd724fae07cd746fc2b63f1f289fe42b4a5989bee9b316571e36ad4e946f25fbe1146541bd9d3f63d31de22bd7c0a66c0426b33b1f1d7331e9cec5b7d01a1b7d05f721861d07a0c06c854b7ca13391a45b1d0a8603dfe2cfc644f9dab970b1762f92babe2aac6eb2f5d4572c4a680ba0b6cf6fb87ecf4b6f7a26b1d989a20bad8b724ef7767565351e932f54a29538f139cfb826e33977444f195351adcb3bd8ac8bec58f63ae1ccfdbf05fa1180084e38c211e8e2129b9f6e707f801787dcd0c965d81f70d691e2da5b86295b2a9e9e432d12930b1a1da6555a148d9ad694f47de9b92eab99dc8aea618012a188a2325a0112b6293acbe1b6eb7103a9a26ce7439087a007b4151859bf001a9e035e6f5e59ca7571d6a5d65d263b40136f54425491a212c3fb7bc5bba156ea841147c360115347098215f9b8b3fe9c27d731abdc69e7721e61aa6b406c97834f43ba23c2454bacc103ab130f1d27c739d8f125e1537b64acb69ed1e8e3f53cbd0c21e55bae7f26e4eda41d01b4c521e8350b76a87360ec49ea5566b7519d53f860665067b96c3261210ec3b0bd530d40f7a71a764bf5831f371db532766a8cf99e5b0b57c3b26371122478ca642d1d5104ec30473378f7b6f1054d88e580db27dd8152df9e0193675429f113ad8aa4183f4b4df470aaafef6ba55bd3b6868b11edf002cf42fdeb86ac739ca0403d199b14b42ea213d56bb90b67bf3c13fd6731ba5f4e97d7e10968993cada82e21cd3c6149975467b974c214cfc1f06da72f0c555fb369d4d53e868981c723363079f53a859b5c8a829699433a8507c90efe0353d60a8fd2401ce5e703862219ac3683a1e423d21eb611d24d39a62e7a17e4e33d228ea0bff1d13a0f493cbf69ea8d04b01a3578e2ef773dba65591d7fd252b6805a098e4ac664297b76ecac254c9b2e8e8a8094ccd5a534180823b48853d8b95801edd56fbdfc05c58c8ca336607f3dc609a0144a272f2b5aecdc11818e3107851a4d25f3e321b3d5705437feb73bad9d4d73d66195e4aea08e5bf8d38dc36399dc43e96074aa186c4eab1445cdf24d5b80cd2da925beec273686976e36cef99d47035a0cd949fcfb1bce268dd36361b62c29d74dad2b7205db34a58c61d31ca77eb59121dbfe5efc718ac1f1c05430d0ef84b2fc252d06247b8522793b2cdcebb6f9b983389054d144d720030c9652acc22abffc4fa0e305f752bf8bebfa88aef755a4d47885db64b2f0d8af5aeae255319330b8b7865e78e0d17b8df6554f6d52e76316130356e5ddcb1402b4a9cb5be79c44924f892d83378043330e090b48bd2ef01cda94fff3b44eeab3b4ed159bc894424d847951e78d87961b3aa1ff87fa4de192ed39c7212c7be4edebcc4debbfc9981c24f2ab29132a3adffce74a0a5071e1e7b94e9cfba09cf3729b1961b829ad0c41bbe77fb1497227183be851eaabb17ff5cc0449bca2a6bfc980b9cd6073ed6daf1582009022028f840cb30320a0c6aee105ba4fa032523f8a05c116f95b73032b6bae120467dc93ffaeb54568272a9b72e16a12950e53802d46767938293d88627217737ae899d0529e4d158362eae6d73f1c9876e611b6cb21d129fec80aab56c83cfb7e95d1ebcb9c3df4b0c0c37971fbb3bedd638c75ff571a8f7b527fb467180fa55888a8f1f18aac4a50236a0f339607bf09e9e88fd0c02242c16fba31984ad4a935bfb1f1333f0e13ebe6b1a5555ca3a47b9702afad49f77f5c476db3743244eaf724ba998d840af58848d946e83bf6f1837ace66437546773abecb609ecf7e6411b848d775c5e135d1b1b868e0ec72986ca4a1d85f1a680cabc8093bc73df3c27eeb850c17052a20a12762f80d0ada21a21e4355276fa4125141a88b7f6c5b8eea6f29add23cc306252cb1d600df7c5ed5836ab5099a4fcca59adaca423be733164ea097ca82fb98c198f7526c472b7a1f057bfdda99e832ad2f699d9de45082649d56b5e5274ca5e364db43b4d7b9de923103e6c8d164b1c2ccfdf7e115a88e7c92d8e9f2a8fc8a00c99063573f72837ec7cf1e27c7e4173edf7baf85b8f3ba19592bee48756a44cdb7bc915986436c62cb5aca9b486860db4cd6dc57ba9e1f134f3b74e8ff3b904805f7991868c04ac004acaaab96777026d7c3dadd9c9262d570164d1dd50546997c8b8c7102108a3ca4e1903887a038332c243637d04143298847cc181371697c8becc2c000d724eef1bab3f2d2805142ccf84b806b15cdd884d636c1167933a1271d9a398b6304369ec9fa62e1128688882d1f7860e681a184645e1d4cbfb49990ff38aa33d442f2ec7b7ac4284a836e82702552db730fbfe4ac16544b0857c089e137470e2578eb26312aae3190fb9afbae45fa2df9ed81dac6409d4c7f2bb52463f2cf83e2421c6a6c16070cbfaddb5e45f27ce7abb6f089008cec133eeecad7cb1ca13d0880bf7b5c53e32636762d11ef77325fa84109547e09fa1f3b6bf8d2a79b97a0ebb7f2883a4f79ae93d7e98a40ff34464662fd297bb664a3530b55dd1e8a3c3954d91592be9ce60b0c50e6a213cac97bd5eee9f609754c2f5d04ab5950f498ad2ba5a4011b3a31353a1b331a42bc4e32736cac44db1c5dc8d3e4464a1227999c89f0c4d2403b8a47f99629a8e668ba9cd894eb728dbd9d3a19f609a8fc119304175741cd160d0ea8f9958d24023a3285470debcc6c6844731b23d427cabbbf660ddd85209085354fe1cfaaef97adb29396714b7e597f0140b27cc6f62d1c2ad582b24b930e2a71df2e8ea109eef52cc3f333b0d3a2dea1567f2a73d93359818837c27483226972428d58675196ed9717dbfd3f6fba9b594e44ad3dd3596e941e504abd530b1c836f29a248a2be51dda3d47e547fbc0db56b20120deffd6c58bec911ddc6cf9be255914175cc7834fab4ad382b39d995760c9b914f213f1e308999e7cabd77d215d2a72d1f6ae747d39aa75355e5dabf20739d685b62384971d5198f45b5a64122aaa814e20dcc302178147d6a59260ae663efacd69d6d259a79a0f950223ed093757594300e73d683114d0afaa07ee12fbd7dda4429271a98427c0978f4d6fc15a78787a7ba2c9ee615ff1347e1d1bc05466e8a9fb1352f2493f43ce4ec19f04a4c412e91e18e289e7881b032204b5cb60cedb7005fd680c6732e4bb9522e2d18eb52ba69244a676450be567087811ac67a55b8467823fd3fc1c6216b279054a0e678a60330f284a40fc7068c672bc3f1ab1674f519acab63849f708a747330051f3035d8e2db1a8fcd052b8e0479306cee28cc2993e396bbba9897f8ff428057fbd7bbf86ba6143686708b39409aaca7537b03e7488ff242629b1942001e9a4327601ef562048089bcfc0dc84e7992012632b8a9e7d0b1ab46b23f2ff82430010ad0863bfdb6cb79da99883b400ed4013965fe21187c6affff904e98846389e22f2e2ab01d6b828eac7ca0031aeb217fea90d0387003822aefb2d912e709f7726c7e219826df99c517b8092b869074f3c355d9a6f7770e56c3d35049389f4b71a2341d27d8f2ebbbc06dd4cb99b38ae257f31d6efa2ee39ea20c21a48395a092fc30d07e8d0763a08f044f08be73378c865be073bc6304f545c84bd91934cf3495ea08dd9a2f2791edd0ab39914e841b8d9744004ed37b8e3c0a102417b669b9abd118532bbdab99d475da03d81267b553d78e46604474e68a098e029888525aba0f89b5a5f6ac22fd37e7a3f87da1ef7f36c52b37ab8a723c6490a4e595544bfbb16641de7973050cbb37050963974f4569daf5c8584c42bf0a5ef3afca3070a8e0f3f25eb055631aafe87f52b39cbd13f9c292ddbd6da57b99148b3b12c70026f3f5c015c3cf0102b10326f842936f66e6bc5b25fd450b7c506fce371a7effee5c9e6610fe2ce370ef6c2cd3991a7de72972577fe0fcd69581133f682058646d249a6a7ac49e641b97006ac85a0adc24ae8524ca58bc6e81438c62ecdfc64aa48e68b4da805ba5a4c7d2912c7cc08ac8a284d165590f75eb629a01e9175c485e1284ceacc743cbc682fe1d1128c159011e9fc1ee14ba81db5732d1a89ac9b9a34d5d37b817eac3b10fbb473475ad94143f92eae850c9fa24a51c1e92a4b47bfaf318b052d0f03905638ec490adf331e3306d812d0a51be1351304f628de83c05972f606128b6c096998e18110f7a92739a1e79067809eff65cfba3708ded437d434359f9d84834929b836d27190fad0e99e745e91163360b4f9c83244cf65937b577129b22c428b9474303ce34b5a9fb43269128f5e0426beefa714f067931d1af6925504cb9eedeb78f04bc30e7ebe186aecc51ed1c69efc64b9abef37aef906f5815f237a10838b6f74738c7f53fc6f43c6bb5938d0a19c3ec5d07f5110b21fe93f36a8a53374ee15acda085d0a3cd50e31d9f3af14744dc82be0bb7a8692b09d7d48c6737d2b2ccb9717ba8245d55ab42d7944aa975c6e7b7fff56d315465e66d7ffd4348b736113b77eb2e94b9023fb1862ad5943815da7ca1622abb8ea28b95538813c9de8055d71a7f5afc411b686f1540da0db3995ed2baedc01ad70c11180d2941a9fea535a998c716fbafccc6b0a6d264da144189d973da9fd94f94d7ce408eb9627eeb9542de6d0913267b83f470e3c0af22dd7303b37901c7ebcf3f9a2bbd484e92e3d1aa70078ca5afb3b3d652e3fe8692da7b05f0f7637664d597aa97bbeffd0309832496473089c3f2e30cf89196a51b33e02db7c96e0548e21457a6f0eb7f9077a418d6b8783577c8038a406533083d30e89a4e2e8227aa8028927a3dd68ef31a77793b6293df54604cbfbe2bb4d65355f21e19052b4a70f20e94288b8718991381b6a4c2bd2ff86e50867023a6adbdc63d0521303d4886079c989ae0019fe23c470394ece1e190a59ae875697ec58b0de398889217157055dd17be11324be1d1bf3e422af61575a5480ca30fabdee4f3ee5b5606758f94702c07f83a3d8bba707dbdff881cbb33a29372834e6c377e451d05808749dea01fc8154e1ea8d3f1e249b7573bd996efdc02023ac62f13123c3c844eb4c3cb8dd258fe5ddd7498da3cc7d86d06a035f139c7b093f9d9777760f7283ae185fa828b4d26575a9468341939b69bdd7d2e1e167df3ea8254075375e28991db7115f9d66e667633ced0837b66c6069c65a60ed2878721140ce8abc83a712bb64234d1aef45882587d08250bd6028bf19a2b21819788dd003f15611a3154d2fdae14706250e2fed831189edc81dff8d356b8a2f165007aeeeb20dc94b902ef4642e31922dea3d305d9c94b74889a3080b7aa6d89cb877ebbf55c6694c65da3b89252abb3dcecaa29511e100278c388a06e1288bdebe021766dcaaeb02e9cec79b276b77040a7df1267a6a1417caf10ca6a13c40b7967eff36926bb5fdc95d229b25ed78ac4dea7458533bb03a05d8b85fc0ec067a7ca49ffdf6ade8d8a88c1e4c99c6db51fc3fda3145fcdc215a3b73009335923abe5d068341e2a307d7cfaeb816b261d92ce87a07be62e3eb58c98d2c769e75a6e2b9593b25d78246aef7956cad162d548a2daa57ea5464a7954be9d5dc26cc7ca9d4e98e872b60255b8447da99885c7159c2e1f1bb8143523bdbe71784e60f98bfd67b66b39c27042f6ad12cc12efb0c82cdf100c6640b5fa959b8b866e252966113a98655408534b78dc0889a45f9359fc6d2d5c8e8d8443b81ede596f954c720ef48497adf676b1cae2a7afa834e4aba86383f7b697f5fdd03a8179ea9024a431cf9d8dc58fc0121b6a4b98f3028205bb253f956b1ddf791e9ced3cf44892502a01f6ae51061432841100aa69b6823adacec817b724c1296bda9622126e7fd5971fa96163fc140e4bf08752e014d20a1eac3f5adcdc408366f6d79c1895f2599cf08ea07e6637937b8b36f2b956aa48a531c79cdd4b2551682a7a3680fce8b9b635462ab52a612b0a20d9b99b4ce82025b815bb1370574c54a0c6855658050783fe102a3dd2258d7d2e8ac1c4b0f1a1acf6d608e8373bd051159e1f805610a1962f6c7590f78b0447b20ddef2a1cbfb8ce5449378f67c783dab4bb2502b414423adfb87e74f7bebdf371bee6f9d4a0ec209ee7e5b5026f379382ff05aa2ee37c22674c95aa2d726cb8d53a6c766634115b1947de590db11605b3eeeadc15aeee9bb0ca155a12d7c0299da656df26a8a72938fc3ded2e29de1d10d1b969c5fb84d92c6177abdeb6ca8a8cb66fca9c7adefa153f4b4f6ac6bb101e7a3d03f841c28b6f46acd760e66617745b50b8290e483fc1bf547961a1ec2cf38fc32babee9bed96e020bb56d2d293bd293dbe15e32146be13789adb2c4b3c3a6678357e2bb617bee065a3784b9b33f38f0323330cfd3fadf41edbdc52bdf7c06e2bfe5919beda4ace4223dba599f99cdeeaf9807d6df0f3acf0015abcae35aa99db9b5feedf6a0c8a61129bc28f63243efde68a7a70ed945223cb3f5d871fd6e79d78356b132adf46b0f1ef03f9fb0d8f56eee69e1dd9187542232e407e333740c9378f76f66027dd7fa28865c3539acd0a9da59eae0f212aa47f07a0bfbb4b041cb8979717e54388eea8f73d95717d51ca81fb5a32a883ce17e7653fe9af79a5e076bea4d7c3ac5cac81d9e818191f5022ec007c86fe5fdbb113d27173a4d2d07d36c66970334894d8f8c3376682cbffdf6bffd55a5c7980efde8d4cf2ee10b235b982a8873817948c8179ac1ef45b5cc33a189c50a63125121336164f29e648826e44ad68ca49092ecd8a00d974f2f8fc92c186a215c253463fe6ba2f6bfdb46663dc74805f66791aa7d4e80adb39453f5ffd8250c506aa9cd1c71be7d7c7f1da6ea7db6edb0c36ee984c0928d61444f204357084d0a711c025096cdfb8bff6a4ffd70b6414f45f56407d861eb089e8d1115c1483107b81b916b934968a533e360649ba17a31f8c7ff4a590dc1075bdac255ada45a907172ce26a981b79b2c9aaf6b92c03a43d2ed2bc2545d27587fa4d631b28ce660b182c3c8a1a07682add4231b2ba37a69fdb9de617da001ef7933db4ab57bf5abef39c51c3b657d6634071f1940240a67de508b10e2aff0753ea91fa6d1cd0527367cdc6e5f380533af8a27cbf2c8ef57aadedff5d1a9eb70a318e68c2f739a56f9bc00c9024a2630026f7f3973d142da656543def78f1f81c04f00799317038d724a13680e166e0da0fa132f1c777b6775e1cadb6cce9a7d7959bdba064ffd096d6879e704ce130aea3b0fff6341b724496ab4ccc38a0cdb4c8729d836b77e9ba4fcbd14a5fe2b1789fdcfd306a709ca9070100fac863be2a3e78b667636a25cbcd5786c199cb8612ef074bfe214ad1a41dcf9c358f329617c0692a0b5d29259ac9e1804e759de87af820d5be8216f7997d7b49a59de95b58eb705c09676b40d8cbc11700a472221b8d7db112dcb95207e26a9953f6e51a930318e024fa05044d18125b61ee503e6a757d1df98a18e38ac778260ad6d1675b6baeca3843094d06936499aaae2c85ebb0658d0ffb837990746b4b3b618a805d203b3d9880c6292f886d99f1d13a8d54542f17f722acd852d99feb91fa17e62fe01fc480b3c6689c6b40b1c3b746d49485c11047c4a900dfcb176ae55ce5065384e02ed556d95eefbb9745218a6d1b0a7d6d2add8eaf33df364d80241e9923dff11a04cfa8829db224deeb1966761f92a5e76c3af50d5a97c49250d16b727ce168f6b2f38def9025ae265b9096b20db02a5fa60377f77e4a1d37fa748309c13e0b4bd1fe25c78966138dfdc419cbb52f53518616a53717e837d35eddf58f4ac6ccda2a8f40869ef797a3032bc3db29ca01d083a118c481b3495487f7f89c372d3b4590f80ea60a5122374bb5e70c1fb664fbc1ae3635ceb08145c1019e319053978eee9a0f10d5a2766deadebef1bf62f14f9fd8814f5748afdcba852e408a1c8925204183bc83e9665ad40d63a494ec0fe880c04478e9df77568bd0134f2424ae93b1de20e9dc63c6b5ab6997d30de45742ee22e4d8823bf37b7ac77a0249648fdb7eed4f061e7d6954b7de3eb6556d590f499855d5658aedcc612edcb1ec5d20d82ce65df0d49e94c8ed751a02dfcb7949b4364eabc316d913e761c750e5e015299163042f6aadba6d10390521001c1826609f25125cabf5987be707741b2edb9fe2862e18e8d22c7f71db3ce27c7a51ca8d3ffb507b462d73b1a846c59876a8a3f026004884b8acfa42453adba4ce1d773ec9bbfacd8fc2c8ad79506624c3f89dbbc237419cb66f1d0a4ae5ad382fb3877a9b393e0284f34a7faf36993f83a90096ff390f5b148e8ed4306e621ef5b0caab2a3b762f582d380c7afb2e94e236ea0ee8d35ecf99915a3d51c4ad5f5bbee01f40510e504370d732ed3c2c05d6463022c312ff8dadfdc211e369007c76b95bbbd245be8edc54f276e070c2987a698424ba4eeb10b3f991aa54ee521697b1cc0976932ddc0cd9189bd32498cd4adb13062c741cce934d0f1e5da291d8a7f1b3094ce49616bea1ed405d1f47a92f46a93473733dfb9200c986be7a64b2ab95626772357e0777080ba744a330162079cbb6588835a78a3639491733983f7d30e30d4949d6b5b07b4a1d73a12d7b6e8f46873c02250a5b4914619e0f749c77955a2ebeb4c4731cb4a7666ad9df48778ce01e3232e0ecd743689aa43694a6c0efc76e811f31e8e3e5b3f0f90eaa89b76c559104ba9eac68f3e63acc11688a1e77096f8cf89d7802565c505c56c15604dc38865536ce29999c12bd5b2f32bb9b9479bdcec8961bca1b31998c687cbb87c6c0428e61525b239bb5018c93ede0a91deeab8942b80c71304ab4d797c51cc5dc86bef34c208fc26f26fa6ccccc14492ebeaa9b264bdde0fdd11dca83928028560fcff059d900dfc0f8201a1a5552561a77e57c5718f143748de8a57fc8e30cfc61465544ff544aecf46fa7531bebbb0c9b116d17819997948e4a0ce0dcc46d22299ef1bc31c0a1e1a7c1ee488170966bc48ff8adef63a16933867831a4c6f7af30ef82a623e555412e0ca77b9beab82302071a366b9cdc0a304c784002748f4dd5a1a4ad543d5f7f379a68c84dbc60e57de4fb84bb9948efb090df34950b55f0a8eaf6b743d8673603baadddf4380a807ccd680977ae1c05bfdcc551f428232766dcedc5f01e3fa2e0eaf7a7be2686e849239f0358f0bc6ad92e53d74c405e39a5390c2ff269c60828f6bf9c583cdfed1f61f4f8a084a791cfae764aaeb0eb86d6388c2ee48284eb624bc84cd85275315f3644d704270d8b2420467766227b87b15c284dde6c119cc5ffcbcb93ae053c0f199f8d8994180c0a8677c2ed7ec6389978914247ba8b0ad7058defe87a8e85ecb4ce96ccc23506452fafb3d991e21b23f1fba79b462c61af4ca20d5714412fb86fb249a3cc37432d8fc863a4813a4db5339fa24e5e5e4f9c7cdef257d360d40836d038b9c67c6dac0f1d96ea7938b03bc3ae77817834a8d1161bdd263d4b2a94ca76f99240b3e6e093813fcfa0e361e8c82b7fa4259d378ebfec63604e58f902df144566ba5fb68b1bc68159aa728735d99b1ba8f2d7d51cc8492956f424f086ffe31c661f12717df8474aee9ade6c2281da935326360e6c11758d6ff8b7b26564f956da1ab5cecc7af14ebb289ddb9d4d9489fd9a301556ce9aeb6bfa84d2e773e1c0c31f22aa1aa795b640a979bbec85f41708f9f8b15f8c605a14eca48fa290bb7f8e5ac6be3c3b496bb0c06f1cd1dbda3b36a646cc9066162388e101bc43e7ef35ffdc3d20ff327b4f9531cd7f3ffd213fa8874dbee69f55e38a35a6a30db8d7b4a8c00de82f8f46bee90522ee565ea6617df92af09269a30f7a3a6828d259ae365f2a30564bf8bae8bc24a2a9e419d7ded412c0be8360476601edd1e41ed7b14d3e86904220f0e00fef8228585aca59a79020aec4f13b28afecf1468541e32c5789c302ee98fd26cb3af443fd2fc9a30fdfc8773b8aa69c15a9fc40474cce3f3346e36ca07e59aa59bbbf74ad1f43b7c0e122b8b0face6957698c509e4a097c1f99f03f3699bcaed7fe6dbc327821634cad1e78749547d457f2a1b2decf980efb0876efef278bdeb132524d1cbef439cc08a1660e69b6548d2724f4a752f1762a79f09245bb5025c6a4cf62de1af690bd96a3dec6db6f11b05323dee00ba562e32f53359910e1643e596216fd7a8d0f1670b589f8f7855bb191424a7ceacb89e4f4313788bc5c33cf5713f9f3d4c1d3e4ae87c6fd940ac50e819bb6f259669a2b44f5843e208a363c8bfdc7e960cfbc5c1019814271cd65db648042fe1193126de5b25766a4f0a248becfe085219941187d305c6329f4bc813fa71e5a09ea930319e99c3a882f37c224461343ba0efa4a78a3427be6312081c1067ab72feb95a434f2f1580b17c769917e96e70b54fbff7ff29600ea4c909922386b17845c84105cc0af91d0e66fcca1ca7682a4f17724bea7a1564109c002a58cded45e57f003a352d2c4e2f9d862c5dee0875677caa2cf4df42f69a64ad8371349fc26cd613e935d28c655273f7731b14d6d9e6bfd195d2cd58d3a3c39173ff7ec7964a166bc49e9c6a53b2e120286794e6b5b093ad599bec62dfd54c66bc1263fdb2dbef039eed14363c34f1ddfb38d54d8a971c5a6826df903562d5a07d6be57ca9c88e555753f87073126623d85a1d9e6b0b5ef0bca6307b25a8bfcd05cc3888618eb4bda604d7f3d006a4ff2689a7be08747f5b9a12a5c28923b8aaed5d86dec3176ddd63f5e0e8dacd903cb56893f41e1ce5e3f4324365dccfed86b37d975f9c96a9d0a3483a3526724cc24e23dbbac7aba01054f1f1121033ad19a42173c30632b1c8409aca7656aebfef4dbce6a18d3ae8e714e3853e35ef524cc76f55798f163b4a3d6c849b684dc09f0d5080a677e6e69f092f2da737d7746b5d3691c75278d25036ce30fc3a387b9f5068fb2ee2e35a5e5431b840d95fd45a8afce932cb215adf6b43dc84467774ebd4aa0cf16320632a47a7d0c62f52a2b3e29349ddf63d44d921acd6ebdfa89592084fada1f3d8d08e59610e056681c7d447c03e2c4fb6c93bae743eaa7876afdfe4f00eab76d6470e23e8d6d0e9d9df827bf918e4a6835b8c4c786b9a01defa5d6ba64e4b708019bc3b32c00aa9a4700cc00e5bea3bc5a5820dd0cd354311d0d0dd299100be1188d13a670c6d43ff1ae511365a7ff5edcb9e4e067a08aa807a8d3eb13bf6f5cb32fce7b8c5a44dc929b51b653d6379e60cabdb1663e23821420a53479279b0b79e4e9f40108ef90254afbcf577ad10a6b1731ea3b1f50263443bf3f4abd6d02b7cabd06594f80effc03da8c5ebf22d0e819a671c069ed916e112f495d89fbba82b5e1a4127b1687282a3cc8604d93180d274f076aec707f0d574480ffa2b39e46b73abd9ba3b721448d2307cacbbe0c24428afebfa56c621f7e951c83fbeb5068ba5831b268ccc47b2beb11b7a1115dd35de4bc7b0b390dbdc79edcc68758548b60dce27d238fe7a4db5e400d0c117aa2f70c7a4513dd490fc120b03e9d4d09b04f44b63f8fcebc2412bc83572b03a58061bdad1cd80e7918930b131767ba2a411ce4f737db99f8b1ec5a1b0cae744350b734a5f935d5ae8a4159a7d9c631a749dc13c1071d8e5a07e2c5c6eb671f670fa2014a1b9c653c68ba102f16dde287a5ee6a5cbd053b74fa06759c40055a0bb1ced00e7afa69394d9d983d64f5dbdac6637bdaa280d98ede5f78b617d7bfde760510336d19105ae0cfcda42fae3bd96f9f478db744d287a3f4f13e799c0b295d0198f6bdcdc2c7d9c4745ca52841f1cead69311b56f87a3bd2214d33a748757c8f42105070e547740c75b0a6e7ea5d087ac0dac4fcc766a3f11f1ea22648c0d652ca543d88333a6cad2875fc6e05648d023342071fc42178b8fd772b5d1522e14e886f2e876cb45700833a7a37209d321f68bd9986c869e91a26361f292523a70245a79966f12372cf25b4440a62875955153ea38a53256e4772934434431eb223b6c8816723f72eabc65311c155b576454bd1b0110d1dfe8a618eea8a05da6fd6891f98bb8c4efe48b6680894800469583cea74da4d81a85823d1103a7801cb6ee00ad0fa85f39f8e043cf1c0e87ee0e6ca6938ba737ae89e9047a078282f407a66a4e205650a9bd1cfbf51a8e16db7b980de4f4e1208a67971ca1afc4320f74d83644c0e8b1a21b6316eb905b5bb839a762bf19c3a40d3b11ccddb817ded9423b995aed29dc6ea6e0ba5c5cfd68e0b886936f27d07a7acab10d51be9f5a8729efecd10bdf7f96a2419b0cef9911c50123c7259868d04166683784b9ba0c9042966812dd9f73d37f34aa7872dadfe6e62c7bb8e4ba31ef96efc59a41ad8823875f138e8449f3231823bd5e76ed7fc65116d46c758afc73c9900bea3e6149936dcb9481e8cab5489aed554e913fe28ebe12087ec73a306286ac23381d090901bc76861d754b9725620b46384b5775679dd39187903625b6e4b8c8df7e5e32a31ab2d68bde68c2fda1d4b6070f1040c423bcb530317b1c4133763ab7cdeb4a830f8b12f0213278733d97b55781872d74f9c7f38d199b8dbad60b44ab0a7ae7d994b42b0a45e6eae490d2bab18bd02349ae184781f0e050f791cb95fbcf00fde6b82350d75d5a6936d0ff363c3beaa6148920a467cd68372bb26e843db26801b4292379c5e544296cd17a2e8902563aeda89a938d219c184d90ab95ad82c6b1ba59ac2358f6fdf36d63fed14d14c48f36c4bad25a63f0bb811bf2469a38134ae1c5c285257b05e686d65826ab80a15c52461297abf18fa84c83dc48da20b1bbbddcee98ef355cfc381187be4a81cbfe69bd59a4648323ecdb7ff4d67926ea79e0007d6c57b26e5739432d09cd8e1fb62cbdd42c74259167926249ad45b009aa00f7bbb28ab3a1b10d5757bbc60ac2cbce72a8332161ad72cd15a9fd649515d11999fa2e085f2ff7847c2dc61a44bef0d95e62f557c0e6cb8e06c25cd22ff812027443d26338d164d4e251c285a025719419c0804268ea3e2c0f23781f0bfdd20d1a2f65c1f005803c4c68a673ba3832d25421b884d09458b070eda14d1162829d46a18839c02b49941ee2e221b57e813ee873eeb4f581e86b78b42b6c6fa95841877bcbf58aff684ea296ff8e1b088cd2696af968662056d2b1a6902c56b745f4c7b1bb19b1ad9283ae0f7ed92f9f810832ebbb0c1abf4c71fe1b8db61e1b26dcb8360469effd6fecca9154c223f0c98c54f06cfc0ae61596f4136d3676c8adf2f6c7ca4134232be007562061005e1a37e13eb58c940bfe02769cf6c0aa7d41e33080cfb04b4d1d5150128d36b5036e0781d6fb15a1112292ddc855cb38e08a798bf556fe6a5c438d8d75ae20ce63b92bf63cef885ba426e915c4d415e15211149db25cf22338885d78f1e2656e9cb912052c528b72a02b0e2d8de853c3f8c1d5f5ba8b174693e7c3ceebf941493df3a859064fc50abf8687a209d5607976fb0e90d570ea6c2ab12b7c00922fd4ab921c39737cb0a56d3660a0ad014838a84812acba13fbc6a3de242e9831a1213ce64403324932761d714a7ceab064aad2f5adb2137767be7a3cee523ef7fef4cfc1a692194c2168fed304b65943346b7871f84c26e736b0a675c7feb72e1794e4689bab71bb3cfc75fbb4bb10a5f4286f3f91ebdec7fa3a4b45e4e2b8441958fb958a090a13f7829c275375ee90dbfa562a72ac1756c1937a2515645ef43f2dd298c4b36bd6c6f0787d6cf3af88f7d90b96dd7c958c520cd349341cd22ad0a00f9b77f53cd7ec6ba90af5a604f364de5429c35a08a7a514a449519b1d1c1fe6bcdc1a3a4717e9a7923a74dada77f01771ac74790771cfd9f9b2ab593069d2b556fd8af7c626e02df3346139e294caea6666f963338ded44a0b306f54f60ae9062bc35286e7a473137b55f7939bfa9653fc625cfc68e33de35c77f9ed8284a5c84e8ceb8b8be035829828d22c11251cf7557138f0a824d613e2bf921b4e04aa736fba84c4ba1cf83920802b3cd834c8fac71d632679f4eb7c1053ce925c3a75dc69fe13308babf2f2378bade622de21cdcfb3964cfd9bae4b5902b912e6e618617b7f038e74574421b305958728e508b809ee398f76a0b26529de2056eb7d0dfb7f2595262679dfb3be4cc8334a5171c5bfe93345ce0e7fd5baef28df0cbda44d7815f55d8fda0db383b37f50cb05088fb2eaa98afd12d59183f5c1dc37555b43c7e8a9d9df45e4f46bc57a3307731a2dd3305129ef0b5b2c20a744f449ceecb1e408cf7b6dd5ecbce54a7559b56e5ba7c03220bf81db77bb00b38934a2b5d9a11b03ad9846d97e20526ff6351f1e12eb6b9d010b65064f313e9e64a150ddff54259e8ea622340c4ef0aa9efc5c60f491f145e0b58d01b76b83e70f61101db8c9cf08106802313e8b84550f62e17a5818935c06188ceffe874bebf3c8f0623c5d51a6c9cd07e065fbcb31dbdc26db0e63bc9f9790d902f585e60c84b99e90b36d6e0d7eb6bfd2980ee56b5951cf5ea08e25fbf92be4a250bb8a748406d824dcdf66f724d5235d0ca3cd1c7c6348e7e333c4cae28e934396ac32c6910e6b00fbf798b5c90046eccd80025400729ac741240164c2049987aa24e572216eb77d4bb86eca2d4586b426f2d2d0e4ef2811ee77212ebe0c7dad7b691484d1150881edf3e03ebcd18dbfe75c16fd8c18710d829d7987315643352095ec261c259d286614f226e6f003e9cf89e407168e1aa7e9ca24da5fde0a0690ceedc2b2d433f86eaf80f19fe778ffdbf773c0318e4c34eb3a60c6ab448d10894dbd87fab52d580aef0f2cfd9b373e88e0e6435280ff3a68eee55150b7db178d0523dd47aa57ec81507b05d9b3d2a7a5234df5751212b18954fabc6c56c0e9783b476721959d3964878137e8411a794bd8879120085372a53b74ff575e824ac569b72ba6498d4d56cf1cd416e96bc1029cae446d15541737877a34b513ab89f36c6eba20b3d90138e011055dc3d589cdf7d0d7ecb9b784477b14953266483ad5e80a70699d5be8089559d8bc8a99197246eb3ef8138e0450524a32ba386f77689bbb36555ab4702fb2e00954e61e366b1f462f444b73ceb0b742aa08330bcaa4de4329209d89af592f2bb0364f08c3ee2647d9329aa431851a5eff308202b7712365cce96c908839daf175fdeda900c0590bc185fd1849998015595df55c0c0ff5d71477810446547824252e1374f65b813fcd97415f52a51091baa45cc90c1892d86148b835d33c00f4f0f27338c8c78705357a7635561262ba24cc1b534871540c9a81c2e8c47c9ac6b8a6508ed3088990fda16a0c1e28918dda1e8675101c99b25fe0d5e1d30e2c7538758c9d044b2edb0de792d5c04b039327c3664e72f71bca229808589787bdb129f416e82c886168b4b11ecacee768bb925935403d9a05454bfc844c130a06cd1d79667a9fe1cd71cd74da03003649aa4c391c3da5ca81ce573e2941c04900b56b1b24574ef0e8decc31e52311a2ebf5025b2e011d651cd4e1296a1a4567788953631ff955c1b754fa0ab585c5d1cfff2f1d0158e5927a9b4ed7cdacc4d1cd2d3c9a9e002d611d0c0f8acc0b08716e6c1b1fe14a1c70750f1e26d7e29e9c8876038da8a66d0a004671a7f343f476cb582929d6adee7d26037f971b23359421868608aaf6a7eb90bf3b4bf295ded5c0418798ba787dbbca11903177470881edb9b3d31df0d007dbfe4cd5a0b75a3aaae41242b589f4ab93783e5369417886fc61db70d16f7440d0ec10bfd8834a33f8a9a2ea023745a12d3c55dddc36e97ce52142f102d2386861b9ea12a01f515d81e40fd4e35983f6cd8a9fbec06a624b983208987cd2ff8522f5e7d322486e47386d4a1ceb66025634e6675fdaeeeabb3a39cb19995c987006bb3a70f9d9c4a9918512da7577e210e231909c403f7f491ff1558c07b246522ae3ddb08df3a01cc06256bc06d27808f834f5e6587563397880e7d7745a63337f3e8540edeca33852bd0814edb07b6dd5a37653876dbb81141993888c520a503f9c0f096d51aff1e2ee77352513c66cb238f9258ffafbcc3db1144ca5682742c21da71e60758c744614589aa51984339f449fd38cfdf843418f331320b0c42f240a87c543f3ed4b4e236157ca261ce3550c17322b60607b98844a1d4464ef963e1a479c02ddd7104671f842b19c71c9cc1c4999ef978e98de0a124c8fddb55164c8d8eac552a05ebdec0524cfe0dc2d84d960b68b2d60b939dab5745f03c7a4a7364921fd4cc6fcf4f0c5c38203efa8fe114ae0045d36a8a465e9ee38c0e359f47d3624075e1fd8a2bd4c11159ec002b273b20fc473f3439fd4f16e8dea5291216c427978fec2e58a452cb03dd376824d7c8e954a8715c493b83137930255dca5f78f1c5d6146f5fba70b46f62baa16e9d6ec7682a0606217d601b61682f63fbfa4fa671c94a889afb00299050e2efe9b20032e8411ea358b4e409b75aa49a350b72540610c288491a24e3c50ed1fcfc09dfeaad00d6f0ae1e93e0cf22f0580f21b310624f7cb8acc61722ab69dbfa6645999e44e09c81522f06c9d0fe9b7a35cedf3464f0d509b94bc0d9f9352ba0165ff7890f826390987b6347bf666036201a8eb94e71df04ede900d7a96af2d0cb257ab2115e8ca38c49f601b7c7213f2c244e4cdce6a2dc46985e38b46818f8c29929bfa5231cbb589108e3124551989259e52ba84b412d0e18b51407f7349d9df3d616c66ea3be6556ee9d702fdb47abd1da41171d1a931dc7bd59f7f93de768288ce44089b1f7833f11ee33904972661b37fba94dd5d1e326e1289421f50a3ea52e61d02344076bc694e703a084934fb73aa32b5413a894ce3fcf8fca852f167f8dd3a55e879f2a02ff2d39c635bdaf995244dffafdb851037afe01b23f41a416c3c592efbcc59e0aa665f1ec24793f173a45600d8eda23d070297df15580aed37d51bd36d134ff7b53f5373e95dc80da0359c20aa262062a05a49634d9771fcb89512ca84735f626fb09c31cfe7a0aa9d0cf34cb19f68ba4b135d06f514d1ada967d145913fba5566da688e54850861d48a0ecded0341950a1e7e2dff8d0cd85a77364c1aa03bc79a300546af605f1324c3a967360f15354127a723ca293150e759b653fe3b7b30821f09677bab51de25a274cf657f6ef1c61f1ad8a8affd53316c3cdc88870ac9d486b302768bfc996f179f9ccb49c1a68e865348c32198426e03d7c66eec8ac863134fa1c9af87c625b9a3832c5db2ea326f38ad226ed066893c81c66af5792b4737e88a35d15b54c59fd86b77226f3a31a3dad5690dd7c38b964c3ef7653682c018c05eb61e0a43070be084e55de9a7c1ce5a362dff1833d0e8c16fe8cf56a95b98d9678ee132ae1386ba884c923b88efde5df6cdeb1e1bbb2cd480986757e03abaa43c378c33152966e49c0bb10b6f5582f28af2e59c65b9bfc8cccad51c4df38cfeff81fc2b578a6cac84ec0d76c4ee2fba614177221da4277890a11e9675e2c37ddd4a8af0dd728bd2f20375607fd87b7217a97f5cf36d642e45a0dfd5b9cc53ea30352d35024a95d392e8437cd401e29ceb28716209ed495aa8c64bf4572a9551ee65c215031aec246a65c5a656e65ccc2f3de860ea7a5c7dc47eb065fb02ee4584d704d3d31d386d9037471d1bb7d02ae47ccd3445559821a64d554c8c0d5c1160dee5ac51bd6549eb72acbd9f10b17f5cdbc018e22e0a680136664f2c0d43b8476300e3bd3fac9cc42f4adf71e0a5cdb41e19a0bda8854709351d7c6faf4ffc9d85f56774bc9ca1b22d76392e3e7dbffe6de58201eafaea69eac4d6c7f5ec51ce7f3fd108459fb7ce4897142d8442895de0247be94948f1a30118afd5be584a2aca43b822ae66d761d60d195d1053622de5e478418d8259695bd5d32b16a3a889c6b1ac6d58d41fe2ce016fc6bc9ae502c31b72acad027ae4880033a2240d4a32bd5651de12800693c65cc71c7a1fcb6c5bb32a9c04b1b7b9778d128e5cfbe7850152b53555d5dc474bbfbd9c77d973d3d02ae95c69f74421581ab442c83d8d48d871e796cf26a6dd8a6dea820e51c30edab27e47135b52894d2ea5c05f588c6a172fcf87d6a3d26599363598682c7d0cee780194dcf7211b64e18720e3bf21e2a712e452d1ea31161c5c728b1658029d1ec934738628fa2ee54dadbde4003c14b5742db6c8e7c46d798b16fdbc754c88fcc5f5102825fe47c4b353b4b3425fd2d10e061af90ad5cb02552dd997ab56eea1e3ad0ceea11eb8fa55f3e80f646b780a2886a24488a534fc0f91761e8a21d19dabc3bdcdd9b7a2828128f13efaf6f39b85658b1482c124366b635ded779fcbea94d5538ccf15e5ac4d86b9fb782c05ccd69b1875653942cdd95b9c5ce0286924c4dc40c3c1bb18489e5752277f6981ad3d410d73bcf31b3c42a552a72ee27ea7b4d42de7a14eaf560d2228694f96d6d51c148fcccd30571dc038637ddb74acf94ec9fa314690f9d41fa0f729e9d33e502a0b2e06e62f0d78bdc12b154c814bf46e7c1bba91d4f3c9e2214e58d40c012baf8aa43a81c942373767cdcaf6f816d371a287b57a14d1b46c89d7626b015b3eb4e0f8d0d948289bb5e8dca8e6e8a55f01835a0cf11efb2cf4b1d1d324d7a606e58f6c4a8ef9330141a6c11e2c71dae6f519541437ff426755291eb87a4e34890ec05bbe9d7e5cfda69701656b92b43aeafb8ded283be383dec48c4e21db41f1e20ac71dff94511f3238666cac2d2f322d6eac8ae8919e25fcdb41ca2762b2d9908b6bf6e8749e5c9668a9a63b4084d071004deccd85ea2aff1de034329a50287d21e9b11f5355d8074c74a8ea6b411dcf1bfc749d655e304f79a5c97ddf4d7fbbdc4fc930f7f75ec5a0057418e8dda47ad8930f21b66e366630bd565eb03452a6f7ff37499733d284841bfb1a186939cb0f3299324773378fcaa748bcc299af369648c06d3e79547ddd94cebd5c1dc862eada2e84c37c4498305f1cfe265c93b13f820a1d9fa3ccc468e78a7fd599033d760dc77739ca300b41985b5898a391ec865b09a8b37a99c20e17d8a787c8e70d559e1989d22b7071a43c7a473768ea9de2cd4dd8bcf00b1305ae2e4a0299f716c4e1d461c55fe0beb5a0b486b2ab8c06660690921bdca70c829a18deeec94826609e13a3aef11ba74fd44e37ce181b86f1acee02b9740a238f4e04d36fa32a78864965aebae46c6cbd0039adacda4c64ca3bceed22909134a9f4f9013cec4624933871fb7902e6d854cce906758a611783568603eb56f1457db7af772a36dae8b76afaa93e891551002931d0830e146a4a3102780832df783ae7c7779892e4cb05b9dc92e19efdd84db8a903d3152dcbf0076c6fb4f93ea53db9b05402dbe4cf53f56484431f116b75bfb425bfdd383fb3a47e95828c75d3bd05d18cd5c3987b2bf5d77a61fbfee8126d5dad19e170ea9e32b95028a3587014b5743627cfaf00491a362cacddcfb8cf3824f11dc9cdd85ac32a0e77f9517d35c104b98046af48768bf2ddcf9428ecaccf604e67a1a1f204dc23c096eafa8b1d1dacdb72444677b1d26db1b894da3fbc38e356802f88ddb40018c6d64a16b2ed3983ba6049a19b9b8cc8f78f3985cdf3c6db6b3981eb7aeb8136c1e4a73d98ea26bdb54ba39a159e7d7c44fbbdb651df51b5d0c3bc6138dea1c449d510948bf9bcc8bf906a8769ee60b10740e0a369955d2deec4b6a54a03dee9b2b65e829c42ac8ffcc5691dc86c9af1ffcca2660d8c86328375b71f469610fc6a4990e25e776aa15d756d511db185b090779c68cca724fca045ea810fbedc80a09ab28f93cce08ccea13e25721e5fd1e0ab890f927d4d4c287b7903156d4ce4eb886f54f1e847f1535a8a625a704980708095162aeccece8178b7bd6eaae5bc529e437be0234b15445fe2a213b2e2a5655e914daf4a3db23b59150778822a5a9e182898868ff791dbcb00b71412ccae7d7a367ee585662edef149711826d92e7579a534a819e8011e63d9a241be022a508acb97debc08090314ba6c06fa102d54bb07952584c31cec54cc6089d0e97ca6d741abef7389f4f8e0e6aa36f859a9bc3ca322483a2561839e86707d9ea87f06b4075b3aa5523cbd938596e61382d2d05bfcd3d4bbd436ae2dcd79974beaf851ef4e75af99a38f69af25003b3e54e18e233790316086d7871fa21d407b79573e20e2b2e9d411f59ed037a786addf68c5c37320e7115fb6095260233515fbbc251eb281c5d773b90665ba5ea9762d8c77e695a7d6e745451018fb7a3acb98fb23944d2ae4869d2be16d86535c0c155a9133627d72ad04fcfadaf6d76c8eafd1a207049a6f6802ae1c1a4ab06ed4994a55de94b1ebce9aa3afe22297c04441e5270c99803645c23426d09398f3ef9111bd1abafa0aab4db33a7350f56e7141cbb8646e47555b607704de0cc47a43a425dd67cd6a909018c27f6c0e22a05425fe124b192845e3fe9413503e00ae2ee0f0da3a2923c58003eb075c3e61815272e2a45f9c8495d964ab2b87b3e8a78c074244eb79a4560930698a14500e57381e8f8af0062bc99b952edf7ec31a9e8a69cbe5063a8d21ca4f55d2342807550e6148603f0304dbeb299eb7e92e55fcd0b22a76a49426c46f904a8fd00dbcd4f4e7b177338e82e9225c6888b8365943830640f6cd0b08344adeb50f1dfda88b38e51ea8306e4ca98215ca51bc4c6dcdd23745407467ce42d28f6865aa7e132937f3c62cc633078bfa7c6c29d420d65e32b1e376487060706513e8c06c40b2d18f17d70936a3739a136a54b7df39ea4205bb14f390ca0adcc6cb74232c64e1c86d5c2c246fcfd2c5fdca82127820f9f45a6d84df7b3cc4ec865ba1b29ea421b8b20bc83e29c73b8c0cdc59b757f00f62903fbcc58dc89097f69940cd610244034bf9a7a52eb8e560d54cd2850a1868b084ecc21927dd39f00dfbbc61d8f115c09913d22e3ae6b9d60a71f2d70a080386e0555ea9de52e502d0ebacd27bdfe5cd61739e805ce9b6616a12e2fb4286cbe1c4fec5616256927c067402aba06d23cc9a94d382902289a9c8c0bce3609547c2e5a5e2d4ade9eb66c5d49e1f74a95a4ca3a2fe6c0fb76f37a6a351ca5cd00bfae2661c7165ffd9f17f9f6af23086c229d20dc87270843a812ff5e0cd5c1a0c7d78b481f8b84463a14247de9fbf5737d1a04af289d8261029c20beea99751b8edd5f60e0c27fc24efcf0a53b1033dff0e693c3bcc01389fe2c197861e466c6db6d1c7713524d32c4c1578d26e6cc072beac3c5e1bf21922983de1d2064a5702a4fc9bea6482f77f3f56bc2db1c6b5cc1b8d8856b64dff5a76ef265c2a0a96558691179bf83a84c4ba2b2728981c2a1721b211567ade5be6cb9b6d13ab2e622cd44bc6bd3d1ec76dc016ddd5072fb3e2be3bdc475d2676da4c8a2c6a04179aee6e65358ae940eb73dea01a66026a0e2c281535171bd5390d407bedfaa21ec29d7b9b755db1d483c5fa09ddebf56fa89ca02ece5327193579e9e0bfa5be42dca509e4e7da3910884b61c116946d0144049c39e681e5f85ee4314df7708e3f21525f53db10ef9ef4a42b84e421c778a37e362a6560f92e5cbc1b38ffff41940e92e7fbb04d41726fe776a0f9e74caa0bc36c5ff3c59bd9bfecbf3947f174791e0ff75125be1e157bdc43870631179c0ed8a16669794211fd57e0e1a044273190ed1f4289342a163404759219a31a36a0c77da491d5537587828f4ae59302bbd2dae520f8e7cb6f090b691a6ebe877ba1155bd0306ae456d8ee5a76db316730669f2a914a55415de437eeca9e9e4825fe2bd0371e9026aa38414f1ba8fdc72c0fccb8efa2aa83098488901ac1741543b4be61071e4e760b77c0480fcb9bb7e83f4db58b1b9eaa79acb5c3c9e29821b3513976da9d08b044c04268ca5cbcff9ab63ba26f1bdc179adf01ec98b733b3cf9b37286f54a52018b21ef59697262c9f942d376fc0b2a96e5cb0139d2b0db95c5e036e5addf366dc3d08f1170dbbdfe613d04d173c1e813046b33540397117b7d6971cd6f8c1cf81bef2ea82eaa43265a5ff786b7cd74e7d5f4f2de104b586f092ca0fb88606ca88193789ed3273025bac0d8d2285b91fdf57ab615bb8cd08027ac1eb717ecfe55f3d8016484b089ebbab7e8efe1edea1a26bb33c52e4598ad74099a2ebb191c3bc4173ddc5f076f268dbc35eb26196757ad5e261ae629efb87aa4ef393530213cc3ff61cb3b02c0683d76fec903ebe7a38a986f510e4e0482a65d68cb337e40c8afada10ec861377e8769627af2b873e4a2a69ef63f74cce747aaea93954aa6367619ea582755736c237a196e76b30b6718d4fe51755ad2fe0f2a275417564fbed55a545c26a0d4352ccdd56b8ab7f458802f256ea6831c6bec317e7fadb7fa7cfb561005e6620584f8b3ff7fef2f590ee9793a150a19dbdf9f70fc0f001d18c77d59aecbca189283f10205facf07d884004d53a18e305997d7a6b2a69b624128cf2b6d527f4b2aba5cf76f01a222aa3d51e766fa279c1460c5712579b24b84750cc5a395288fcfd0cf42e3a60d6135e2f14db83fce05e97e5abacc2f9b4a45ab53b619988cefd45f49cfacc604dd499b93f53a96927cf7b2d965f421f48b882b6b548401f10ecf6a9281d310eebe18f9a8019a94998c6973cf3b7c42f6b2b1497e3b989f897897dd0f5600feeed50095df6927240859e6068f247cfc405fa954acbef2d41d7039eb0ad33d714ed2d9d6efffa1f7bedc1cae6c4413b2b49bacf56148e935304e824ab00d058a0610dc3f00ab5d4f73ed78f8b7c1112b6f7b6b3d6768685f464a0eddf57defb95b491249be0f333fc27f81e95debdb01e793dc53b8a325b7146529e8d7b6a98e7af9bf9bb79e84401d744b9787173bed9b6e6b0c0412ab97e7a62eea85d1339a6cdf9ec049a1007eef5a0cb5bbb30630b31c1e4799f6d0d19a9ec196ecaee54e807010ad0a1c553fe17f5d9466eac4f0f8010e8e85495bccf8f2c19c9bf222a967821a45074b2c52e87e7824725217c2d4d47b68dce8cb6805ad5b3ea4d27af92a241f4e29a5c12a274c852e4346a0500b4e2a0aff1d702ccd347ca3ff36e45f36c4909a556a2bcb2a099a32c4e31d5b8e38e8856e5491cefe03c3df8063c58ab71051bdd1447814c221e638ad637ab8047456a332ad2894fd7c6f7f69d017f3e03caefa0b4c7c11573903657b6ea2d6504da3e90a548c4e105101d2b87b646f6bed0e4befddf69257f57000945f3fd60877893843e26962970972d46aae1cd00455fc539f3d6c8a69cd7f6bc7563e6444c45daf26aa56e5b246af3929f87212d3bf87daffb061dea20c637d5c8c4e30bad4ffd81618fe4afbdf33906894cf99175506b413dd642d9ae53f2f81cfec5d5cf67d070fd3e41cee9b1d6c817aba817bfde9d08d7b56acca0b9376c18d49e134ff987aec5c014700fec09b2f672d951314af36b74d166382cd0d95122edfcc3e319265eb2712d08ef6b02cd0ad4f5757c90dac7e6ab5ba9d7b4353e43a375109296b8f42a86b603650301137a943b7a7e6a05c2f94c29d2d1d6a9004d681bcc6a09f7b8029d5f3dfbbe55b5c87a320ff2efa19eaef9f05bb3c5d4c055873ad50819611ae3a437d4e3dfb1683cbb1c497d81676afb6127910179329fdacb08b9ebc69731e212d4a1a962a2a47694eb83d2ff697df33606d2c808fdc4eae15023f68ba2880ba649f26dc5f16c3d0b68b841a4464f2b0a7bf23fe647eadc7c8bbfdb20d7a41158c9abbfb6bfa4a68de11bcceda2c8f828df27165e444bd0511fa6a2caef38f2ffbacb198a70ceb967f36847caa9b700124a5b7800d9077a1de3491b6eb5ca077f14d84cfe8908d4238b76c9d15704a59bb55dbb830ba3b15db117c97bed13b02742ff41a2fc6cd9c6a5e4f51bbf601885d21cca952c8ccccfa6853e7cf07f342bd573c281a7ee9cc0fd8ea6ee85fefcf1fbd338d7f09707621b371a04db6daa539392e43d857986608fc4e894b56b9e188777ab27717d58bc5cbf0c19fbae374d28eed606423ef619f02aa93190571711d80e50daffbe46fb491e898427b51dcd86e12fde527e61c3da123aa69dbbe1daebad3ffde9d2db82756c32aabfeb4655aae9ea58336cb3567406ab5141700fec93da93b7787d48cada00e54df84cf1aa424b7e4a07a3ea9f498291942f42b9ac243f0054a5e1960280289821310c90d9c95df66dbd2e5c53af096819b8d2cceb8b5d8c44a1669afcb836adca8bab1aa2ce4666b7916dc89661ff653516c9831aefb1236aba6c7b57a0ffc3430fc5cfd1b8db7f8eb359197e8898f19066b89ab10c26bd725dcaa307f31e8022a99724d7159f61669b2b0a13f6d8bc932f139c025bdbefac1470cbfb5022bcde09e233b3d28f4d781c29fb1fa15c1f79c825743aab5e880c79c8bbc59402b9622d03f7299d0e7bd64d194941f2a70b05352b72698445e87c31ef30fc69cb00b27f5ee632d8f9982cd3ff5a517a1196562df50be2fa3f6a0fa768ac80dd0bb0b7e35ec8a8d9ac6de5fbaff8bf64f8c9ecdf49f0b8a06232180ea5f27b965a63bb39bb268bad0105bc0a93dc6ca00d9a3243fb40e9692a02d7e98a7581dc2e7fe2012e91a89d285bfaa9fd267268c32634eba215f4f5288bf5afa405fc7a747e26f6aa85c8247af9ce86a1b6dde4c8ebea2dd14c555b199d6daead3756152fdac597c99aebad77a75b63c657a4c9c84114eaced91806adf576d8ff87b22e68bbb66a000a9d5aca44c22501dc3fe6620c693ca89019f4818af2a2b0454946bdc0c22e0169d06bf5b5be0459c5e7273c1ef2c39b2a35f33d0e592ba094f06e5160c016dd8b90be7dd62375b447625b68513137312b3f3d702c66cb9a89bd372dd80e4a0152d8626360532e963a6d7663c15dcb74a89e735a81a10326fce6ac91c2794e01fc07e1e50c0c9af6be29f6a6ac30ee4d8db463474bc0f139d947c5128ca4322b8305e025b1855a476bc5c49e8fc73ffb9812418da7220b4b3a228258efc3a6c670e9cc7f4e973c320cafbb929f7b5eac0d0d9e8e19826f78412ded7c8b8c550d5845d138867f3a4ed718fec1c6152deac2c8ac25fff75bb2e5e907521800b122f28df6194526da39d716900ba2eb060730a098c76b4040ca25eee371638e175228a5a3989cb23e36ee5e2dbadf700d99ed4dbbbec6e36968ac97199ed8daf05e4086b06759c75eb64549787d7e3da90f3ce6fd2a13c769b8e0b71a192b3e14fdd3d63024f7b0a9e737c7b9f60a50f835be8eedad96d7c1b2ca4372ba9bbeb19cd20c5a7eaac8fb0bd7666f6609ec5732974329d4184c4135f117902f9be8c59421e027cda8bf3358a4479c4b103eab704c70c2b1e697b8727560dc5a4d50548b0abc880ec393652b318d1c28107250e4a65a7e30288c814b4c4c4f7103bef364d6047f14e4653816536381340e22928faa0eec6d0ccff8d4ba75a1cb455133125c5d58381e701a0f55bf0eaf3ebf257b1c65e0f4a159705d625f77866f6caac1de58187f09624cb7f2a1a9d0ca594868a3ac2c87887814182a0915bac67daf77c23a0d9ecfb1f778fd622c60d67b3f9608bee4aba62e5d108346f0e11d44bc10266e0d74bccd8aff71c848996a6157f9ac9256e76c9ace4e37fba51f60c6c22daf4bcac2e91b4bd256727cdf26cd255b650a322d05aa037f0602a380017247b7689da1ff5e7c01eb418c70396aeae7973de57f04d548bbf3cb80d4b43f0ac52023025bce6cd26f7664460facea9bc74122d23c058c040632d97b5ca78e629e4efa00e4b46728cbfb55ad75ba785bbe9657a93805613b3cf916889ed48eb888efa2bff330aa3d8dd38b08cc1aa7983aea8b578aedeaaf8b9019f59a1965b6f2c12273302843e2735d79cd2408dd84925fbd41f765b66672d1745e662d43d69bc2fc1c920adeb67e58447cd2cba9c84e5d9242d67984cbf110d76f3cd34dc981848990909a2f67dce26144033c78f92638c6a5c7525f539d60bf0ef476c070e6e1f11a14296633af946dfe430cae59ccccda40bf24691db9e9be15259ba0e190355dfa0fd64c4f9326e3543eac7eccce5ae687121bc714d0c4116cc593177151a3716a2aba66e6df734179e5e87cd1aa840cd74251ab0c312d7cc6702accf7c748fd2c041d5251ac3549be9087a7f5cc927c6ccbf03c8a995c7a7f899550a5508a25862f4a652dea8a76e7ded9b19386435bcd27052fd14424f672c467417bce36e49e85544d65e7ff9301262b3c96dcd702ad0b41090d56b66cfcc4eba65d0e513dfce2d179b4d7708d6863490c18bfd9483f959f24c006c066f630dd9011b4c72710efaf3aa084cf98719a7909c9e5594e72843e63c960aac2e6ac904dc495c63adeac2d4c2e8f7965c773ce78e4c635205c33239fde708ba04b2ca8aa5f4ceaebbf41c466d9a5b7198194ba4461774dec0ba2a940630bcadc1f9964814a2f46240cea67393c21b080fff05ba9c9e2ab9342f12c4a66280d9b6f3ba3f288b089b6acce8d3552c41d155bc175b734daca6bf9b7157e88b3d5d45456284e1f3a4cacd67c18e8ba13f6627f50ba4ab5ff61384114428519ce9028e2e12625ceadbc8fe1417d30e81bf8bbf50100cf68e682c110f349a80076c93d32608fb84d63e81681ce7d1ee77d9ade47a4ec40f011646301c9748896c16a3130836e671d468835a8bb7e48c33f77ab3e8ac7852ecce18c7caa96aa51c68013a1ec9d07ae42b55916ab531fc248697422cf80e856fedd178443c35eb654320bba71da6cd1a6fc45fc9b4f5cdda460ee2307d7617b1ebf962fce8812bed13affe7f8c9ed454f56083cb1d5c621517fded45c383a6777d4d13a052b7d61b52042215270ec66cf08853ccc62123b70da6f9d16b357e061116e32e5907a315e3ab598156754a5a2d377625026724e9e56cf766e7d7cbff6dc9f57bc4716dc5bf0f35c92c0fc1fd1a60b8ebea0c15422cee3d03ef6e3c2472143f8521b1309a60695eb10fbc99ee62a87c8705089180bfe813b7b9d6f72c63806e3920a7a8aed9d6288d459989ea8c5f673ef9b7f9ca78b8ab13361c71d1fbaf3e381fb3140727262540577193a773d1af8ae14f18d4087b17d2c975514c9620fa7a0112b4a45e1946e0f81acc344189fcaf774e5dd9f66bf88a4d723dd60d8a6d802bfce66fb656404d40f9b13a231f02a89d844ee93a98fe7514492d6335102c2b569f44c99ebb4938318ed64a86991ddb25ae01e3ad626d686e5cb23dee377f71be0f402fb8191be190cd5198455b1ee8d3192ef7a601d4102d437ee715cfe996bbb70a6a270eb6b821767c2593544a64bb4e8d645cb63e366b873e168005ee7349054dab29c6e236daa36495da4ebe6cd0c2475b638dc24469a14de4ced8694434f70db1397a2c71a59093cb5ca01fe63bcdd932d0d8fa72b447f8f7df2e39a556e4ca65376696ad97bf42255d102c95878b859c3f16806b40beec86edb046140d5b76af52a13162543f62f7574aad3e7772b84ac0f4b6c5f6e9b9600fbe9a1ef1ada91680d1a1802f94d507d512838a6659b511f5097ee557115ac6c22ddef96311570918c7ec5afdf9f481bda73fc85c51102d6b6ce064cca80344878964c4f68b293a93dc13cab5b1573bbbb8edc6abdf42962a6f0a6b47e7cd06963a8add1c64aee580e126af937551d0b08fdfb9c809ec0dcabeb697ceac95e5096772994c5bcf209c54f3404f16aec4441fea8ea29133d53413b0b750d0a4ce4bcbf65dbc58f9b32e635dfac2580bc820cacdc7e6b0cc8a579bdf88a8f1418c0a3fa748548730f8938fb50a02ea39ebac99e78e1652a66ce8f9c7f846ac8e67dd5d402816a34b5ffbf599c08734078efb195739eff537d5abc6490c5376353878500e55cc0f41a8c7145558f49faa9c6dfa3e45e8fbd6edc7545c379c42ddba86a9fa65899c5a30c5d5fd1247026d08291251a5d71562e15618ae3c40a5f3067ba94569d79e2f7b76b43b4456914d0add99d3023e83183f1ecfe52be715c4aa0fa5595ee21ae879d2f98737ab1ccc1fa6efef011d689de38767f15dab537bc69dd88a30effaf8c0dc98d91cca6755bc7294d1dca454596c7057b68bff486796bd8e89d3637fe9791fc0b4345a8055a109def97922c0785f4925de64a57d767c59dae7c5723da3b16d447854c6b8673491e3ac9c9d2c31785bfd55241b49cad0e0a05ebdaada51ed8d2eb3b58536c23ca538ed1fc4eb84c522668d9bf4f971424738ab884c0f4a47b93c5e5c790c1e62ee657ccb0fbcedddd00e715f800cbbfd57bf25a324ce5642d79c6a07df0ccf7cbf02e08911e42eab4087fc966586b7747525594559ccfd35e9667f9bd73a7b7c394240b9f4214c7f9959b53113431312ede171428130bc318b28b59d14d61a8b3c2eacb0135e2eccdfbed49b53b422bcc668d20212b1ce326ec5827b83c367d26c96bb48bcea8e23601ed8129e67ed87f65102c515160b99065bc752da2592b53c93f96fe75464fb459a3ca9f7dd98091e583712665e31d5eb18f202cfd97cd617d65a956204022fc2a1ffc5ec775265dc301a205c30bc5b58b90296c1e50e1332e5132629b25ccdb621ecbd2d3296fbb3a46452f758052672f48cece0fb9712adbbb166a3cae5eba04cccdae6660bfda5474680bcfed6bfd4a1958f07db8076c17f783f9ce598aad6b4bf5f691ca42a8864c9ba0ff35bdfde4b5926d2dfd2a0ae817efbeaeb69a69e0802457a3d5c00d988b8af7b5005207b0bff3d8a4fafcad675f47e25b93330d7edb96d60d8be5dced9ec8c13086ac8ed7a3638118a708e66c516f13b9adb78986dee148bf069b2f3f43d0f374e202e92960d7ca3892c1c4c51cfbad3aa7abdd3eba2d48b174581162363022047903c8d011c295b991d10c0e2851ff134676ae73c5055809ac633307fd299d33a917135dd1f25db9e75bd0bc674bc5e0e31569ea6428f468fea997ee34d8be3e533e6de8ea3b11970b78ef344362494dd2913e87f502477ce7c32bd57a77f067163e5360f11c9b86b5ecacd96681b4203bbd6905a5e808b09c73895a49feb689b5edf21fe4e38374620de28dfe81b7abcc9b8e7a72f2bf07c495f1cbdc5a6275dc315ca90b37926779e6e6ec07fb7ce8cdcd00ae5c39768a4f70b468b62390c4467e389575c8aa9473a7b3d746bb4fad3c37f1ac83a8a214ff58927e1b02305165b2d4be54b4f91e70871a710c9270fb0483f899f8b33a7a258ea50ca716d55166dc24dfbe6772cfe9040cdd5deffaf1a48548922884d3f7375dcc86de4bddd79ffeee5a7a9a6d8ccf374868c77d64d9614ea14c3f98b756f8ee1afc8cd0b11b8b078aa82b993c048de8ae5a22e4eac2f8dd4c5641f901eb30fdde290d9f3c04f1b31e762a4175e9e28aac86d669c91d3c56024ffa949d39d56e21cdbd5e7fff1010371e827807def8c1ba25b2d3382a0843962f0c5377514d9b362b232cfc3905b6f7fc7c916f1cb9b124b4956dd4f69fb9db75a508077d362f94b5136640393d35db962ab6f4a79ff952aed89ed305244fa4d3f20baf4bc51f52837c7ae984e84247f1e4fbdd57eec1c2861a48466b6deb02c8a0d9820fe635f50fb1303d1186670c8ef36f4d3e9077b6c38566611c06d5f7b85b146e744adba9bd3ac86fc906f390a0035e9c69a3ee64c3d705cab5d167c17b612363b0762be92d4a6c4f819a5eaefdce7a64d85d3d1c9a113ce7d569feed534180c0efffb6c33c3f5b1219169ccf97809a3d4233c7b1292b842ab3c4d99a951c996154c081d9d0d35d3046e4bbf992b54f9a1a1806ad43b39820d30f51a857c291fc0e18b30aa5b3c2e3e8d0270fa7bf0f45ebe19bcbf931854d38ff2dd9d912ce7efff330e25efe9ef1c2bef79a81f0f5e1ea72c08491bd1cddec1c36cd09d86705071cdd9864acd79ffb8951e01f797c9e2e0467e0311b45c94234fd3cd2028826bb8e8d02eaff172f9a3f4685e579455ccc5889e9cbab804f064cb37c6157513aa1e47b892596fab8a017124cb04fb787b3bb7d4275b49089cb88d2e37f5290e23626f43d407bd5ae2701316515bf8c1a6fdb8e656681dd4ea500a58cb336c5a94524b2c8c0e3d5a8a284a66a608a48d7455c84ea58d544a491d8885bc17cbe5779a9c42a39ab9f3639251e2add846c756c0d526e57e8ef35c316287e948d1eee4ca0154deb570b5cffdbc295a672bee09ae44e5705d4309c79385ef88b8ad90491597dc69f1d75cc78dd65b9631302bee7848929d381ccc669d2ab8d5c3b48dbad3cfb4f1d2d30ab49062ac4d01435e5382d00c94ef4ce26587d0ed08fe503e26336c51bc29c873792ef5becc8acd4b812f09386a3573adef4f843be892ea17968854d756c81a143f125f7bf5d58bb3493750c36a4ef60b5b33f8fa8589a790bf5fcc4654bc1c12881bf5e58953e645b3d6d871f4e97f200c25080ec82a15691e2b5f379934431f6b318edaa516a94f062436949606d1fb379151965bbb9fe568ebfc27c7895192f94cb62f902ae0d7e895cd07463e6151c5979d2fcbb912f3b0eecb0a6e81fcc4caae51d63b807b57e322881de03b45e21d12de6dbc4f9a7443b8a722d5cf256dcce269fbe2c500b4da0f4a1e922e2a200d81d4bb6b90500f927774653e7d0a48e2c478fdbd1da50b9970fafbb52f456e0a93bd9310e19ee02ea1e47c18b97693509c0983aa3099cbd4f0873370ec3e4c83f71253b52c0af1e873616463856104cc40e22c15509aad0bab0acdc33067e0f30b991edb40870d2f1efec08ef7839f88dbd4aeb49d9ab657bd45aa79f0e6e8b247a576408511484e7a0e235a8790d1d6028556b3ba3e3e591db40cd3c77b1b1f4d518ad6b43500438f81132a6ccc37f43632d2fc377c95da2338af5bf193f09c43b1af06c99f3b8ace1a61f116fab2429a924a853928ac008cfe735ca49351c2e7bb3b83a897e181da854f15d7f21cd08096fced6637762568b196369b15315f26e7145bbf5df04ea0be23f9bbc1a538798e4bbbd8c1f3f1597fab8981b7a3fa29266bb86beb639f1a9d650e1f45f6f8db38d94a44c814472daae0bad19cc460488072de50199e4062669013505bcefda1b384b8cb9c46dcd4b3d906a26f3461bfdac61f236e3d58fae6cda43d399dc21a9ec40494c03d0908eaa4c2677bfa722afb7638655996ef90ae36d29c8a6c6010411ac79027b2903a77f592aef96d8ce483c392882856eb49e0b96a6f1c60ff4ca756124ce55b5008b21bbf46a05e6e5dc1b59b53708ee15c5cd9e128741c97e50e8b3d84273fef02c0a06ffb90b7e1eaf60b3c442121f7f1bfd965eff51eab753e4353743977f68952c6536526226cce5c3d85449889a089f0c009eaab6c8f3e978b2813bb544ef8502f70e79c5449cd5fff370ab18a193356e75863585a5710accea7f683f8145ce76aa4ba9ac123efc6f94f986d1dfa53db860eaae06f3b7056f4ad5a1f80ead3cd4abafdb1f587d966052742d2942105b998e689114aca0c416e8a7341a6c2fceeed0875dc05125b80d6a9f7ff4511a00ccdc82714befda9f72f56cbf380f21200b2654843b3fb4787d8927f977c05a8d52aeee939fd2f439ec61a0ad1e1f32d4a46ea2668e37f10a92e6b0b31372c65956ad174ab9af970a180505dda26e06889f48e80960b0c306bb8ae7cb3a7610852aab72212854081f78c8ae0fa1997d1827a46b017fc0e6c4cfec4531109a196c304f87deeb113b464712da9397d720b9f4b296a201250f43dd5368191210d0539bc92133fb9b238acadd229e460c2882982f28a7ae3e515526fa62753a095918daded06acc0efb199dd6207c259ada2fa892d404d01564d1960a8825d1fa159fd209c605a41f9d6d12068bf766fe991ec349dd24b1ed8494cf1b5a0c9535d1691fbc80aea89891a91a27063999bdf3b95d875b5d28941772cbf5de13129bbdf2c6b31af18b66def224ed7ca719782a0109641607f508eb90f8c05dcdc43aecd394eb9a42620137d9b1a63f2dc53f3fcdb1481f98865225a5367424b793b4b4a4d227fc401d0628e5d3b33d8eb242311e07aedb1b150ddc05512e5046302b593544c5b8fc13122e40c206604171e3356ced54e929b3a0e74f1ad4e01d15a94b31ef1cab3633c2180d1fc181fee4874fb7f13ea50795d405aede2bc3fa552515d063c93524ee10c25ad0a798343d6a3a655edf24971ac584128c3378a28a3cdc249305676ff6576471da494e84879826d54b87efbe2e108dfc38ec1fbee88ad74144525453f3a842b2f4112687ba91090968ab17f117e8a4ff5cdb12aad0b28ab5c082ed32cb6e2471bbc45c8aef9655fc125ff718488fafdabdfdbce777df0a27190c2947aed8307c6a6ce00eefa099f1a5a2313c2116b7e3bda5451523163b0146a846144d9d98a7ac6d9e6fa31ef6f64e4843339371babd156e9b7b469f3bf3eecd63fae4d979e9598d1f5d8f7c11a02956fb98427d222bc72548e0626bca4bcc427c3110ef24d709c798e5e71003bd5d0ed97612cec51f2d4bdbab54ba5ce3834eb09b93ce32a5690bee9eb3518aa4295bd1203ce6c11b144adf4282dee16e6199fe6c9ae1fd2f44e9807aed038f0ac218118b8cca77a8a3a8b0d91a64da95812d430601d86309a1e697b9e6a06bdba048d7870a830fdf44039d4ce25b3f0ada0fca02247139c7eb8505e6380b7e6caf6372fcdd2fa0e03178a0acf48184b9f5f7c6b86aa446770e49f4a8372f1ef3e3a7dd9cec0930b8bb60586355505062f90780ababca9d2d8bdc32b5473b538f0daca47e3aa5faebe0f1eb1a48854161f5a2d4b7fa26008ce194ea6e10d362f61a30e3560e347fb2ce51aea9e28513902428dbe17ce8f5485d7de3b352cdfde9a423250194d7777114382cc1250ab990cabbf9356ed3776f3a023762f39312fd8b6c9cba2c3280500da8966a51e7c65ac24d4fbd3d0c15ca8ae0ad79f9341f0d4cc74a4f0c90c4816a9826c122152c7b7c6feb58538fc94fbbb61e0b7c4f7930523aee50c3cc35d3422e2223a7b70eafd775b07b7ba7591631aaa7171234a1d38160ba1fb8e344abe773e30fbf236d9ebe2808c2d8b68ee94a26db25697b00c9cf723702147817f381b1c9d2b71fce80c74b6199e38e7598de849e4a0e7938fd5daf07bee09e904cb2779e165c4fa9b94f3c6810968d4d5b2ec9a521a9e25250b841053468dba1684e6090182f98c6ab47835c02cb9f1f2bf13cdd17c4b128e86f01bae4f38c65c11f2cc7a7744eeefc4dff6da6c3ce42194e51e22d17bae996eb297bdf22ac1ee7f89fc0075d75a818fdc31b40da4541e7f9ff05a936b1a5a0bfb5034640178268701003f638723363bc85a4f30f86e17d165e1c5cb40d9643b67436289dc110b46ca5bcf569ae0710a17abb0333e7af94cb11da82cd470063ba5c4d37d9489724cbb1f76b05ca4779737bfdb3590377e74aec21fda1fdeda5f63208344d5b2656daaaef506e0fb846a70e8650062341e2aeeeb9b0192c335449d7d01325140937debc8108d078ba7a7d354417e859468f6b0e27f52f7aafaa868dcd973f0b22563cc66fe8f5a9c84b01e4b1db5ef8fd461ecb748f46773e2a2f6481a1bc96e25bb06422bc4b572c78b974a0684aa4bd59f14888c48cae8ceefec8bbb59ae400f529784c7ba3f869c14d1e6369c5eee95ec199e6e8e28f4e98c037fe56e328ab573a99c0001d1d33730051531fed51120172c70511c14139cf66e5f8a6bbbae8c2b59bc8ce8d5baf21834ff319eb0cfced6b0f70e0a9bca2b2a839a83096006fe4165536051192095de54da63687f243851766b6d2297b528946a40321e5211eb83aee29062265f296d85cc80cd19eddcd23b34bdad8f05014e0649cc68587473a1aea83f0463b039a581cea90fbf50444b2000a914f1584cb7d44898fcc6e0df91a3319be5956f32134f9cb98ea973dac91312a85f3d8bbf98afbef94011439ce22fa148ffc387c9b1bd6f60dc8e630ab6bcde2dc08d84af2f8d975c5602f28157ac681aaa217527e10853740f20b8d75f881e33b236c7584ff93411544befa6398e293f8031639953293c7890d928e7babcf6e7a42cb1d6ea3d2a9c3346aea2d32c7a00347a7a944d64ba3bf8150365234480e2e895f31c848ae99e13cf8aceea6ddb05ed74460e0d61746466bddbfd00b5c9da14f98215d403f84add3e96144c2ddadb11bebb6b6dafadac468f7141c4ca6c8ce07345091903cd7e65574c385e41adeb9505ed18080e4beedf25f990354af83bdd4957661589cb4bfba56c7cc09da607b9fdab02d10aeb91c9f3125aa50d0f303f90bb3cb5d2d553e994af1997ad9db520c67b7d8682776750c89335dc7f05afe7829a99adb3416d085b090ae2982bbeec62ef7fde13de55aa30128203115fd61a8a8b64df17834e84452f7cfff753e5ed05bed2b9bf65dfdce76f2b960f71043955826603eb1518e0d61a03681f0d7393f17af36d5a67bae389dee6a17ad9058758409081b5ca6df48803c786a2fb5014e3e866a54cdc3bcb57f9817837496422d54fdc95fdb78ad18d405ec4fef27715ef2d9be7e9829fd21c299e2d4545ac5dc41a9957f5a23075963cc77bba376bb6376024f5a1f59f4503e85b2b945c5ccb98dc380ebe07b9d9ace596dded6f8e1c0bad02a4b069012eb01f82d4f85ea5bca25b4151044f37f4c5403daf5ded2a2f88701be8f788ccb53fb2e3e66d3ec909722a04c9ed3985c05116b2dae15b4cd905cb27b01318e1d0f6b9c1f6f020eaad072f3fce072d7f257947d367083ac62abccbb50e90ab73640e521c06d180f76402801648da09f5e2b629b0dd383e402c07335f94c8eee613a5fd0d8fdfb63a2ee5c7b98d813dfa2e8f8f6f613bf1b60efe95d58da22c6db16a4f8c42a77bc84cc0b6eb51833ee5daa40e6fd8e224639b444294c0ea9db63fcf3a2c10b577c1675a1bda4baa93d330f312cb823fc782c1fa13f4ac986523a0786fa008df0abdf5d5fd327d4d98e5a1afd9e084d03807dd9c65e8edde37a4fe78bb830881260b90fab42c64f75fb6525e949738614fa4bd483a95322fbf01a9b451315f0948e450a5a2771bf76eefc34f908544b8ee0595e0387b694eb687fd70b0ee014d60c9a002127f2c4d6c465e8643591d169d3c0e904027a2a98da35f461c1f23caa176584a70ddfeef5cc7219583d153a43fc9974dbecf4ddbb6623425ea2ed97001e9101b79979c983737ccfe3261513971f18d8940e38a2c470926c7c73318f2a40559acb538dd80f8babc9cf7cf1303341b095c33355fd4fbce6880ffe1528b4c0e2f4d94364aaf01fee6c7b0db4c698b5b9675cdf16bcee496c50d8be316f562d66b153179b9f9e5fffa516d6b672cb908e6de8ac97e47ba0ac1c1461223b2c7bbc87b6399e3a11a5abceb36c27136a0938429547dc225d2274a363fa71c64f2dd6f9c4020ba0a6fd54a6c322305b9d63193d6f12ed53113f601f8ed596a254bb5c4d5500509ca78a57f36c2990752a45603f8bd902173c502a818810e65285c1e20ab816438788df0ef4bea29b61cb786c915fa0ac1a4c68ba081683c509e49f5c7761f84c9732f5b4222d2fef7ba2f9820fa323cbe75355bc2ebc7fe355ed20896eb9a3e86dcdcd9bb588486669ff28876f16c05d36b62c9afb59fb90bf20a23891ebcb9a49e19657bc0a28bae00ac34ff5b27a95d25fd950e81e972a5aa26b6d4e4964dc7c0ac442f858b20431e4cc0da8151f23a32d465fcb33e73052534501314ba820f61a1f8676904abe743cae2218dde4341e8a5f8f684d5879ad54f3055dfe55b1fb5d21c95f2df09a109b31ae65a6785da198c75900e628a6b78c9f3467d3e5334ee35315973ab95bce1252e95da328385041820374fa11fb9f86f2fe49e41f88034c0c39f9b2b4368241b2d3d3d9edc4631f0d12accff528b278d5bc1a0c9575c01edeade94185ad2059bad531460ae5cc68b5f5cf3f7b5764152181e4fdc430da028a73f7d466a5cf648beec7349ab2f6fa1c91772eddd1a97c22cedb17b0070c1a1b5b1e8e49cce2493509168d54b2ba8a30302f12da53c031368f230a588e390c55f8f242f67748bd66fb361d72ffd30dabecbef04121d1ee178fa1a22ce3734f82021bd22cc8b0643ecc21f9e7537c73bc011ae1b842d87e17b17a8b1447676db53ac1055b07c621da62642fe4141c34c7edda1678d3049b6341052bddf25c49cc481e181854908815837b1ebcd1d31940139385da6021171ef56354c47829e1d76e079820895bb7a48b4c04dce166b07ae04a035e83a68bdb9b0f9c23dcfb18364f4223b81d8f93b633184662bc5ea0f4819310ca856987bb72c53450d7adeccc8bf06e6c3ac8480dafff8dcd1e183ac97a1482c8a4de9a2306de750408a1ab21d9a34a09a800dfe97c8dd9631a8f35e1c69a45c762ff6720e57b957ced27395b26ec34f2c7045434fa80458cd22f216000abea599deceb3b74cb499508c3603818f6796f2ed2b68e66a3698c62dc00b561a580fe367f4f998fd7bc182a7408d539e8758dc78637809f94449c48923a393c317cfd0809796e5ccbe45f3512f29b976dc3d399f0c50a08f4ce43d4e251e289c97bed9f8ba14149e3ecfc0f80e293190bbe4b25d578b7204d22f3d6a415ff967713f57216621af69d6427a77d0e84c64f276d5e1f9679d7c4199cb911fd1e3c86705dc1fa440fcc46ade2a021a91e3e0814427909bad4584689dbc4319bc8672bf039d9e138d9a240cbedef84e9579dbf4243329c18a4ed59a6023326c197fbb498b05ccd092a8c4fc7a1662053943c51d83282ba357070ddda19733ac6dbe5f8c5789ce180c4981e4deef25d96742b0a4121d246ec737ab49e89b368cb22a1eb87546c93cd115e40b4dbc73777ad4801fbfc076232f22b3ef9a68e1c41f540be49fc266aed846cf56a6feea7ca226b9c1d42b3854c81bb716e0a80cb7d91276ece07dc8f0af02443cfb5544949d36114f3857976a304fdf63a39e466d83be804aa27d698435e996df5e9212292e84017899c81c0fe453a934deda77cad0d2ae4d6143f4f6b1518b5bde44702c768d5c9303d27b7be7ddc435c0bad8c013d70fff6212651befd4503653af0d802e6e969fd8811423e2cf1b8454232b406f05c266b623b30e353030a33467a6ae284323193e3fe3dca9ec599ce0c2b85f8f52b73685c9327071c5ccf34b9d38bfff55428aa0180c02298221ddadf0340e5d443c6ad2b9832a82156d9aa6d4085050d2406ddddee13e909a951ebe1eeffe4c6f1ab36d27f1f20a885fb7518391218057980e750310874dae9af6d1c73e77036b7641fc25c2ad2744db73c217adf5235a22f08b3f5489fefa94261e2092c6f23ae7d5bf07677ec531008d5194db8128136d7eb24259eaf35fb6693bf7932fe1580913321eada262b7b2e032afa61910e88cdf0579b78d88792d33975d30d957b7788e2cec4230e447c15fd6a0304aef17b8a1e014708358c36f97aea03fc58146e0b1eede8b050bba77b431cbde76aa0636b263a6eb4cd4b1079401161c7fb3180199c8670ae8ce6f1d3c6af2f45ae8b0c3d4f596c895ffed14cb639b5d1096f7a6eed09fb9501a193d9af07a57a0bb00f9150cdbc63bca5584015f03f1f4ebce5cbaf7f027a97f67ea2d35fc7516858467be75d259f402323d42c876734d14fca6d2460234f05bcc754b6444550c1f184de9b1455305e63c3c588fd9283dbab83de3e7810a96409f014825f55305a7684e9cfb8558050d576b2deddb7685f3f6145d602e07e55106cd119d20b97eac793a13fb1ad5ac8351dac7149648f109fd24329f78618fd15b8084ea58037743a4e85c7ad1b40c679cef591039f6be16e6c2b927d642923bf79f227272a468a2eee873b606662e23b846b355d23ef8e8e1791af7c7c3ad61938ed070682c0a3bf44f6c2586dc1b6f68d6d4a0c4c77e3a9b53e506bdb03127dc4aa01fcfabb3dc044c40b9179f7d69550a402ce274fbf9b8fc4eb69d19294a4b23bb30b697a10627c1bb1d49c4f3a8f7a85d15407dc8ec77a1dcce284d5e39c0adb0fc639rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootorthanc-1.12.0-bp154.2.6.1.src.rpmorthanc-sourceorthanc-source(x86-64)@    /bin/bashrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3d;@d9@@cWc2bzSbu b=af@aP`a/k@`]`i@`@`s``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 Marcus Meissner Axel Braun Johannes Segitz Axel Braun Axel Braun Axel Braun Steve Kowalik 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 Axel Braun axel.braun@gmx.deAxel Braun Axel Braun Axel Braun - version 1.12.0 * Support for labels associated with patients, studies, series, and instances * Added a sample plugin bringing multitenant DICOM support through labels * Many other fixes and improvements, see NEWS- version 1.11.3 * cmake.diff removed (included in source) * install_cmd.diff removed (included in source) * Many improvements, for detailed log see NEWS- Build fixed for new plugins cmake.diff added install_cmd.diff added- version 1.11.2 * Added support for RGBA64 images in tools/create-dicom and /preview * New configuration "MaximumStorageMode" to choose between recyling of old patients (default behavior) and rejection of new incoming data when the MaximumStorageSize has been reached. * New sample plugin: "DelayedDeletion" that will delete files from disk asynchronously to speed up deletion of large studies. * Lua: new "SetHttpTimeout" function * Lua: new "OnHeartBeat" callback called at regular interval provided that you have configured "LuaHeartBeatPeriod" > 0. * "ExtraMainDicomTags" configuration now accepts Dicom Sequences. Sequences are stored in a dedicated new metadata "MainDicomSequences". This should improve DicomWeb QIDO-RS and avoid warnings like "Accessing Dicom tags from storage when accessing series : 0040,0275". Main dicom sequences can now be returned in "MainDicomTags" and in "RequestedTags". * Fix the "Never" option of the "StorageAccessOnFind" that was sill accessing files (bug introduced in 1.11.0). * Fix the Storage Cache for compressed files (bug introduced in 1.11.1). * Fix the storage cache that was not used by the Plugin SDK. This fixes the DicomWeb plugin "/rendered" route performance issues. * DelayedDeletion plugin: Fix leaking of symbols * SQLite now closes and deletes WAL and SHM files on exit. This should improve handling of SQLite DB over network drives. * Fix static compilation of boost 1.69 on Ubuntu 22.04 * Upgraded dependencies for static builds: - boost 1.80.0 - dcmtk 3.6.7 (fixes CVE-2022-2119 and CVE-2022-2120) - openssl 3.0.5 * Housekeeper plugin: Fix resume of previous processing * Added missing MOVEPatientRootQueryRetrieveInformationModel in DicomControlUserConnection::SetupPresentationContexts() * Improved HttpClient error logging (add method + url) * API version upgraded to 18 * /system is now reporting "DatabaseServerIdentifier" * Added an Asynchronous mode to /modalities/../move. * "RequestedTags" option can now include DICOM sequences. * New function in the SDK: "OrthancPluginGetDatabaseServerIdentifier" * DicomMap::ParseMainDicomTags has been deprecated -> retrieve "full" tags and use DicomMap::FromDicomAsJson instead- version 1.11.0 * new API version 1.7 * new configuration parameter * for detailed changelog see NEWS- switched source urls to https- version 1.10.1 * for detailed changelog see NEWS- Added hardening to systemd service(s) (bsc#1181400). Modified: * orthanc.service- Test for SharedLibrary.Basic disabled (fails with new glibc)- Version 1.9.7 * New configuration option "DicomAlwaysAllowMove" to disable verification of the remote modality in C-MOVE SCP * API version upgraded to 15 * Added "Level" option to POST /tools/bulk-modify * Added missing OpenAPI documentation of "KeepSource" in ".../modify" and ".../anonymize" * Added file CITATION.cff * Linux Standard Base (LSB) builds of Orthanc can load non-LSB builds of plugins * Fix upload of ZIP archives containing a DICOMDIR file * Fix computation of the estimated time of arrival in jobs * Support detection of windowing and rescale in Philips multiframe images- version 1.9.6 * In lookup and query/retrieve, possibility to provide a specific study date * Clicking on "Send to remote modality" displays the job information to monitor progress * Fix orphaned attachments if bad revision number is provided- Remove executable bits from Python scripts when creating the source tree for the -source package to stop it requiring /usr/bin/python- version 1.9.5 * Anonymization is applied recursively to nested tags * API version upgraded to 14 * Added "Short", "Simplify" and/or "Full" options to control the format of DICOM tags in: - POST /modalities/{id}/find-worklist - POST /queries/{id}/answers/{index}/retrieve - POST /queries/{id}/retrieve * Fix broken "Do lookup" button in Orthanc Explorer * Error code and description of jobs are now saved into the Orthanc database- version 1.9.4 * Orthanc now anonymizes according to Basic Profile of PS 3.15-2021b Table E.1-1 * New configuration options: - "ExternalDictionaries" to load external DICOM dictionaries (useful for DICONDE) - "SynchronousZipStream" to disable streaming of ZIP * Orthanc Explorer supports the DICONDE dictionary * API version upgraded to 13 * New routes to handle groups of multiple, unrelated DICOM resources at once: - "/tools/bulk-anonymize" to anonymize a set of resources - "/tools/bulk-content" to get the content of a set of resources - "/tools/bulk-delete" to delete a set of resources - "/tools/bulk-modify" to modify a set of resources * ZIP archive/media generated in synchronous mode are now streamed by default * "Replace" tags in "/modify" and "/anonymize" now supports value representation AT * "/jobs/..." has new field "ErrorDetails" to help identify the cause of an error * "Replace", "Keep" and "Remove" in "/modify" and "/anonymize" accept paths to subsequences using the syntax of the dcmodify command-line tool (wildcards are supported as well) * Added "short", "simplify" and/or "full" options to control the format of DICOM tags in: - GET /patients, GET /studies, GET /series, GET /instances (together with "&expand") - GET /patients/{id}, GET /studies/{id}, GET /series/{id}, GET /instances/{id} - GET /patients/{id}/studies, GET /patients/{id}/series, GET /patients/{id}/instances - GET /studies/{id}/patient, GET /studies/{id}/series, GET /studies/{id}/instances - GET /series/{id}/patient, GET /series/{id}/study, GET /series/{id}/instances - GET /instances/{id}/patient, GET /instances/{id}/study, GET /instances/{id}/series - GET /patients/{id}/instances-tags, GET /patients/{id}/shared-tags - GET /studies/{id}/instances-tags, GET /series/{id}/shared-tags - GET /series/{id}/instances-tags, GET /studies/{id}/shared-tags - GET /patients/{id}/module, GET /patients/{id}/patient-module - GET /series/{id}/module, GET /studies/{id}/module, GET /instances/{id}/module - POST /tools/find * "/studies/{id}/split" accepts "Instances" parameter to split instances instead of series * "/studies/{id}/merge" accepts instances inside its "Resources" parameter * Full support of hierarchical relationships in tags whose VR is UI during anonymization * C-MOVE SCP: added possible DIMSE status "Sub-operations Complete - One or more Failures" * Fix issue #146 (Update Anonyization to 2019c) - was actually updated to 2021b * Upgraded dependencies for static builds (notably on Windows): - curl 7.77.0- 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 hci-cnode2-e5 1688214882  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1.12.0-bp154.2.6.11.12.0-bp154.2.6.1     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""###############$$$$$$$$$$$$####%%%%&&&&&&&'''''''''''''''''(((((((((((((((((())))))))))))))))))))**+++++,,+--......----/00/11/2332222224--------555555-++*677777777777777777689996:;;:<<:=======:>>>>>???:@@:AAAAAAA:B:CCCCDDDDDDDDDDD:EEEEEEEEEEEEEEEEE::FF:GGG:HH:II:JJ:KKKLLLKKM*NNNNOOONNPQQQQPRRRRRRPNSSSNNNNNNNTUVVVVVVUTWWTXXXXXXXXXXXXXXTYYYYYYYYYYYYYYTTZZT[[\\\[[N]^__^```abcdeNN*fghhhhhhhhhhhhhgggggggggggggggfffffffffffffffffffffffffiiiiiiiifffffffjjjjjjjjjjffffffffkkkkkkkkkkkkkkllllllllllllkkkkkkkkkkkkfffffff*mmmmmmmmmmmorthancAUTHORSCITATION.cffCOPYINGDarwinCompilation.txtINSTALLLinuxCompilation.txtNEWSOrthancFrameworkCOPYINGResourcesCMakeAutoGeneratedCode.cmakeBoostConfiguration.cmakeBoostConfiguration.shBoostConfigurationStatic-1.69.0.cmakeCivetwebConfiguration.cmakeCompiler.cmakeDcmtkConfiguration.cmakeDcmtkConfigurationStatic-3.6.0.cmakeDcmtkConfigurationStatic-3.6.2.cmakeDcmtkConfigurationStatic-3.6.4.cmakeDcmtkConfigurationStatic-3.6.5.cmakeDcmtkConfigurationStatic-3.6.6.cmakeDcmtkConfigurationStatic-3.6.7.cmakeDownloadOrthancFramework.cmakeDownloadPackage.cmakeEmscriptenParameters.cmakeGoogleTestConfiguration.cmakeJsonCppConfiguration.cmakeLibCurlConfiguration.cmakeLibIconvConfiguration.cmakeLibIcuConfiguration.cmakeLibJpegConfiguration.cmakeLibP11Configuration.cmakeLibPngConfiguration.cmakeLuaConfiguration.cmakeMongooseConfiguration.cmakeOpenSslConfiguration.cmakeOpenSslConfigurationStatic-1.1.1.cmakeOpenSslConfigurationStatic-3.0.cmakeOrthancFrameworkConfiguration.cmakeOrthancFrameworkParameters.cmakeProtobufConfiguration.cmakePugixmlConfiguration.cmakeSQLiteConfiguration.cmakeUninstall.cmake.inUuidConfiguration.cmakeVisualStudioPrecompiledHeaders.cmakeWebAssemblyArithmeticTestsCMakeLists.txtRun2.cppapp.jsarith.patchindex.htmlarith.hZlibConfiguration.cmakeCheckOrthancFrameworkSymbols.pyCodeGenerationCheckDcmtkTransferSyntaxes.pyDicomTransferSyntaxes.jsonEncodingTests.hEncodingTests.pyErrorCodes.jsonGenerateErrorCodes.pyGenerateTransferSyntaxes.pyGenerateTransferSyntaxesDcmtk.mustacheGenerateTransferSyntaxesEnumerations.mustacheDcmtkToolsCMakeLists.txtdummy.cppEmbedResources.pyGraveyardEclipseCodingStyle.xmlFromDcmtkBridge.cppMultithreadingBagOfTasks.hBagOfTasksProcessor.cppBagOfTasksProcessor.hICommand.hILockable.hLocker.hMutex.cppMutex.hReaderWriterLock.cppReaderWriterLock.hTestTranscoding.cppPatchesOpenSSL-ConfigureHeaders.pyOpenSSL-ExtractProvidersOIDs.jsonOpenSSL-ExtractProvidersOIDs.pyboost-1.65.1-linux-standard-base.patchboost-1.66.0-linux-standard-base.patchboost-1.67.0-linux-standard-base.patchboost-1.68.0-linux-standard-base.patchboost-1.69.0-linux-standard-base.patchcivetweb-1.11.patchcivetweb-1.12.patchcivetweb-1.13.patchcivetweb-1.14.patchcurl-7.77.0.patchdcmtk-3.6.0-dulparse-vulnerability.patchdcmtk-3.6.0-mingw64.patchdcmtk-3.6.0-speed.patchdcmtk-3.6.2-linux-standard-base.patchdcmtk-3.6.2-private.dicdcmtk-3.6.2.patchdcmtk-3.6.4.patchdcmtk-3.6.5.patchdcmtk-3.6.6.patchdcmtk-3.6.7-visual-studio.patchdcmtk-3.6.7.patchdcmtk-dcdict_orthanc.ccdcmtk.txte2fsprogs-1.43.8-apple.patche2fsprogs-1.44.5.patchlibp11-0.4.0.patchmongoose-3.1-patch.diffmongoose-3.8-patch.diffopenssl-1.1.1-conf.h.inopenssl-1.1.1k.patchopenssl-3.1.0.patchprotobuf-3.5.1.patchProtocolBuffersCMakeLists.txtNOTES.txtProtobufLibrary.cmakeRetrieveCACertificates.pySamplesMicroServiceCMakeLists.txtREADME.txtSample.cppThirdPartyVisualStudiostdint.hbase64base64.cppbase64.hicuCMakeLists.txtREADME.txtVersion.cmakemd5md5.cmd5.hminizipNOTEScrypt.hioapi.cioapi.hunzip.cunzip.hzip.czip.hpatchNOTES.txtmsys-1.0.dllpatch.exepatch.exe.manifestToolchainsCrossToolchain.cmakeLinuxStandardBaseToolchain.cmakeMinGW-W64-Toolchain32.cmakeMinGW-W64-Toolchain64.cmakeMinGWToolchain.cmakeWebAssembly.txtWindowsResources.pyWindowsResources.rcSharedLibraryCMakeLists.txtDllMain.cppNOTES.txtOrthancFramework.h.inSourcesCacheICachePageProvider.hICacheable.hLeastRecentlyUsedIndex.hMemoryCache.cppMemoryCache.hMemoryObjectCache.cppMemoryObjectCache.hMemoryStringCache.cppMemoryStringCache.hSharedArchive.cppSharedArchive.hChunkedBuffer.cppChunkedBuffer.hCompatibility.hCompressionDeflateBaseCompressor.cppDeflateBaseCompressor.hGzipCompressor.cppGzipCompressor.hHierarchicalZipWriter.cppHierarchicalZipWriter.hIBufferCompressor.cppIBufferCompressor.hZipReader.cppZipReader.hZipWriter.cppZipWriter.hZlibCompressor.cppZlibCompressor.hDicomFormatDicomArray.cppDicomArray.hDicomElement.cppDicomElement.hDicomImageInformation.cppDicomImageInformation.hDicomInstanceHasher.cppDicomInstanceHasher.hDicomIntegerPixelAccessor.cppDicomIntegerPixelAccessor.hDicomMap.cppDicomMap.hDicomPath.cppDicomPath.hDicomStreamReader.cppDicomStreamReader.hDicomTag.cppDicomTag.hDicomValue.cppDicomValue.hStreamBlockReader.cppStreamBlockReader.hDicomNetworkingDicomAssociation.cppDicomAssociation.hDicomAssociationParameters.cppDicomAssociationParameters.hDicomControlUserConnection.cppDicomControlUserConnection.hDicomFindAnswers.cppDicomFindAnswers.hDicomServer.cppDicomServer.hDicomStoreUserConnection.cppDicomStoreUserConnection.hIApplicationEntityFilter.hIFindRequestHandler.hIFindRequestHandlerFactory.hIGetRequestHandler.hIGetRequestHandlerFactory.hIMoveRequestHandler.hIMoveRequestHandlerFactory.hIStorageCommitmentRequestHandler.hIStorageCommitmentRequestHandlerFactory.hIStoreRequestHandler.hIStoreRequestHandlerFactory.hIWorklistRequestHandler.hIWorklistRequestHandlerFactory.hInternalsCommandDispatcher.cppCommandDispatcher.hDicomTls.cppDicomTls.hFindScp.cppFindScp.hGetScp.cppGetScp.hMoveScp.cppMoveScp.hStoreScp.cppStoreScp.hNetworkingCompatibility.hRemoteModalityParameters.cppRemoteModalityParameters.hTimeoutDicomConnectionManager.cppTimeoutDicomConnectionManager.hDicomParsingDcmtkTranscoder.cppDcmtkTranscoder.hDicomDirWriter.cppDicomDirWriter.hDicomModification.cppDicomModification.hDicomModification_Anonymization2017c.impl.hDicomModification_Anonymization2021b.impl.hDicomWebJsonVisitor.cppDicomWebJsonVisitor.hFromDcmtkBridge.cppFromDcmtkBridge.hFromDcmtkBridge_TransferSyntaxes.impl.hIDicomTranscoder.cppIDicomTranscoder.hITagVisitor.hInternalsDicomFrameIndex.cppDicomFrameIndex.hDicomImageDecoder.cppDicomImageDecoder.hMemoryBufferTranscoder.cppMemoryBufferTranscoder.hParsedDicomCache.cppParsedDicomCache.hParsedDicomDir.cppParsedDicomDir.hParsedDicomFile.cppParsedDicomFile.hToDcmtkBridge.cppToDcmtkBridge.hEndianness.hEnumerationDictionary.hEnumerations.cppEnumerations.hEnumerations_TransferSyntaxes.impl.hFileBuffer.cppFileBuffer.hFileStorageFileInfo.cppFileInfo.hFilesystemStorage.cppFilesystemStorage.hIStorageArea.hMemoryStorageArea.cppMemoryStorageArea.hStorageAccessor.cppStorageAccessor.hStorageCache.cppStorageCache.hHttpClient.cppHttpClient.hHttpServerBufferHttpSender.cppBufferHttpSender.hCStringMatcher.cppCStringMatcher.hFilesystemHttpHandler.cppFilesystemHttpHandler.hFilesystemHttpSender.cppFilesystemHttpSender.hHttpContentNegociation.cppHttpContentNegociation.hHttpFileSender.cppHttpFileSender.hHttpOutput.cppHttpOutput.hHttpServer.cppHttpServer.hHttpStreamTranscoder.cppHttpStreamTranscoder.hHttpToolbox.cppHttpToolbox.hIHttpHandler.cppIHttpHandler.hIHttpOutputStream.hIHttpStreamAnswer.hIIncomingHttpRequestFilter.hIWebDavBucket.cppIWebDavBucket.hMultipartStreamReader.cppMultipartStreamReader.hStringHttpOutput.cppStringHttpOutput.hStringMatcher.cppStringMatcher.hWebDavStorage.cppWebDavStorage.hIDynamicObject.hIMemoryBuffer.hImagesFont.cppFont.hFontRegistry.cppFontRegistry.hIImageWriter.cppIImageWriter.hImage.cppImage.hImageAccessor.cppImageAccessor.hImageBuffer.cppImageBuffer.hImageProcessing.cppImageProcessing.hImageTraits.hJpegErrorManager.cppJpegErrorManager.hJpegReader.cppJpegReader.hJpegWriter.cppJpegWriter.hNumpyWriter.cppNumpyWriter.hPamReader.cppPamReader.hPamWriter.cppPamWriter.hPixelTraits.hPngReader.cppPngReader.hPngWriter.cppPngWriter.hJobsEngineGenericJobUnserializer.cppGenericJobUnserializer.hIJob.hIJobUnserializer.hJobInfo.cppJobInfo.hJobStatus.cppJobStatus.hJobStepResult.cppJobStepResult.hJobsEngine.cppJobsEngine.hJobsRegistry.cppJobsRegistry.hOperationsIJobOperation.hIJobOperationValue.hJobOperationValues.cppJobOperationValues.hLogJobOperation.cppLogJobOperation.hNullOperationValue.cppNullOperationValue.hSequenceOfOperationsJob.cppSequenceOfOperationsJob.hStringOperationValue.cppStringOperationValue.hSetOfCommandsJob.cppSetOfCommandsJob.hSetOfInstancesJob.cppSetOfInstancesJob.hLogging.cppLogging.hLuaLuaContext.cppLuaContext.hLuaFunctionCall.cppLuaFunctionCall.hMallocMemoryBuffer.cppMallocMemoryBuffer.hMetricsRegistry.cppMetricsRegistry.hMultiThreadingIRunnableBySteps.hRunnableWorkersPool.cppRunnableWorkersPool.hSemaphore.cppSemaphore.hSharedMessageQueue.cppSharedMessageQueue.hOrthancException.cppOrthancException.hOrthancFramework.cppOrthancFramework.hPkcs11.cppPkcs11.hPrecompiledHeaders.cppPrecompiledHeaders.hRestApiRestApi.cppRestApi.hRestApiCall.cppRestApiCall.hRestApiCallDocumentation.cppRestApiCallDocumentation.hRestApiDeleteCall.hRestApiGetCall.cppRestApiGetCall.hRestApiHierarchy.cppRestApiHierarchy.hRestApiOutput.cppRestApiOutput.hRestApiPath.cppRestApiPath.hRestApiPostCall.hRestApiPutCall.hSQLiteConnection.cppConnection.hFunctionContext.cppFunctionContext.hIScalarFunction.hITransaction.hNonCopyable.hOrthancSQLiteException.hREADME.txtSQLiteTypes.hStatement.cppStatement.hStatementId.cppStatementId.hStatementReference.cppStatementReference.hTransaction.cppTransaction.hSerializationToolbox.cppSerializationToolbox.hSharedLibrary.cppSharedLibrary.hStringMemoryBuffer.cppStringMemoryBuffer.hSystemToolbox.cppSystemToolbox.hTemporaryFile.cppTemporaryFile.hToolbox.cppToolbox.hWebServiceParameters.cppWebServiceParameters.hUnitTestsSourcesBitbucketCACertificates.hCMakeLists.txtDicomMapTests.cppFileStorageTests.cppFrameworkTests.cppFromDcmtkTests.cppImageProcessingTests.cppImageTests.cppJobsTests.cppJpegLosslessTests.cppLoggingTests.cppLuaTests.cppMemoryCacheTests.cppRestApiTests.cppSQLiteChromiumTests.cppSQLiteTests.cppSharedLibraryUnitTests.cppStreamTests.cppToolboxTests.cppZipTests.cppOrthancServerCMakeLists.txtOrthancExplorerexplorer.cssexplorer.htmlexplorer.jsfile-upload.jsimagesfavicon.icounsupported.pnglibsdate.jsimagesajax-loader.gificons-18-black.pngicons-18-white.pngicons-36-black.pngicons-36-white.pngnotes.txtjqm.page.params.jsjqtree-icons.pngjqtree.cssjquery-file-uploadcssjquery.fileupload-ui.cssstyle.cssimgloading.gifprogressbar.gifjscorsjquery.postmessage-transport.jsjquery.xdr-transport.jsjquery.fileupload-fp.jsjquery.fileupload-ui.jsjquery.fileupload.jsjquery.iframe-transport.jslocale.jsvendorjquery.ui.widget.jsjquery.blockui.jsjquery.min.jsjquery.mobile.min.cssjquery.mobile.min.jsjquery.mobile.simpledialog.min.cssjquery.mobile.simpledialog2.jsslimbox2slimbox2.jscloselabel.gifloading.gifnextlabel.gifprevlabel.gifslimbox2-rtl.cssslimbox2.csstree.jquery.jsorthanc-logo.pngquery-retrieve.jsPluginsEngineIPluginServiceProvider.hOrthancPluginDatabase.cppOrthancPluginDatabase.hOrthancPluginDatabaseV3.cppOrthancPluginDatabaseV3.hOrthancPluginDatabaseV4.cppOrthancPluginDatabaseV4.hOrthancPlugins.cppOrthancPlugins.hPluginsEnumerations.cppPluginsEnumerations.hPluginsErrorDictionary.cppPluginsErrorDictionary.hPluginsJob.cppPluginsJob.hPluginsManager.cppPluginsManager.hIncludeorthancOrthancCDatabasePlugin.hOrthancCPlugin.hOrthancDatabasePlugin.protoSamplesAutomatedJpeg2kCompressionCMakeLists.txtPlugin.cppBasicCMakeLists.txtPlugin.cCommonExportedSymbolsPlugins.listOrthancPluginCppWrapper.cppOrthancPluginCppWrapper.hOrthancPluginException.hOrthancPlugins.cmakeOrthancPluginsExports.cmakeVersionScriptPlugins.mapConnectivityChecksCMakeLists.txtJavaScriptLibraries.cmakeOrthancFrameworkDependencies.cppPlugin.cppWebResourcesapp.jsindex.htmlstyle.cssCustomImageDecoderCMakeLists.txtPlugin.cppDelayedDeletionCMakeLists.txtLargeDeleteJob.cppLargeDeleteJob.hOrthancFrameworkDependencies.cppPendingDeletionsDatabase.cppPendingDeletionsDatabase.hPlugin.cppHousekeeperPlugin.cppModalityWorklistsCMakeLists.txtPlugin.cppREADMEWorklistsDatabaseGenerate.pywklist1.wlwklist10.wlwklist2.wlwklist3.wlwklist4.wlwklist5.wlwklist6.wlwklist7.wlwklist8.wlwklist9.wlMultitenantDicomCMakeLists.txtDicomFilter.cppDicomFilter.hFindRequestHandler.cppFindRequestHandler.hMoveRequestHandler.cppMoveRequestHandler.hMultitenantDicomServer.cppMultitenantDicomServer.hNOTES.txtOrthancFrameworkDependencies.cppPlugin.cppPluginEnumerations.hPluginToolbox.cppPluginToolbox.hStoreRequestHandler.cppStoreRequestHandler.hREADME.txtSanitizerCMakeLists.txtPlugin.cppServeFoldersCMakeLists.txtPlugin.cppREADMEStorageAreaCMakeLists.txtPlugin.cppStorageCommitmentScpCMakeLists.txtPlugin.cppWebDavFilesystemCMakeLists.txtPlugin.cppWebSkeletonCMakeLists.txtConfiguration.hFrameworkEmbedResources.pyFramework.cmakePlugin.cppNOTES.txtStaticResourcesindex.htmlResourcesConfiguration.jsonDicomConformanceStatement.pyDicomConformanceStatement.txtFontsGenerateFont.pyREADME.txtUbuntuMonoBold-16.jsonGenerateAnonymizationProfile.pyGraveyardDatabaseOptimizationsLookupIdentifierQuery.cppLookupIdentifierQuery.hLookupResource.cppLookupResource.hDatabasePluginSampleCMakeLists.txtDatabase.cppDatabase.hDatabaseWrapperBase.cppDatabaseWrapperBase.hPlugin.cppSetupAnonymization2011.cppImplementationNotesJobsEngineStates.dotJobsEngineStates.pdfmemory_consumption.txtOldBuildInstructions.txtOrthanc.doxygenOrthancLogo.pngOrthancLogoDocumentation.pngOrthancPlugin.doxygenRunCppCheck.shSamplesCppHelpersLoggingILogger.hNullLogger.hOrthancLogger.cppOrthancLogger.hOrthancPluginLogger.cppOrthancPluginLogger.hREADME.mdImportDicomFilesImportDicomFiles.pyOrthancImport.pyLuaAutomatedJpeg2kCompression.luaAutorouting.luaAutoroutingConditional.luaAutoroutingModification.luaCallDcm2Xml.luaCallImageJ.luaCallWebService.jsCallWebService.luaClassifyUsingAet.luaIncomingFindRequestFilter.luaModifyInstanceWithSequence.luaOnStableStudy.luaParseDoseReport.luaWriteToDisk.luaPythonAnonymizeAllPatients.pyArchiveAllPatients.pyArchiveStudiesInTimeRange.pyAutoClassify.pyChangesLoop.pyContinuousPatientAnonymization.pyDeleteAllStudies.pyDicomizeImage.pyDownloadAnonymized.pyHighPerformanceAutoRouting.pyManualModification.pyMicroCTDicomization.pyReplicate.pyRestToolbox.pyREADME.txtToolsCMakeLists.txtRecoverCompressedFile.cppWebApplicationsDrawingDicomizerDrawingDicomizer.jsdrawing.jsindex.htmlorthanc.jsNodeToolbox.jsREADME.txtTestingIssue32CppCMakeLists.txtmain.cppJavaREADME.txtpom.xmlsrctestjavaioosimisAppTest.javaToolbox.luaVersionScriptOrthanc.mapSourcesDatabaseCompatibilityDatabaseLookup.cppDatabaseLookup.hICreateInstance.cppICreateInstance.hIGetChildrenMetadata.cppIGetChildrenMetadata.hILookupResourceAndParent.cppILookupResourceAndParent.hILookupResources.cppILookupResources.hISetResourcesContent.hSetOfResources.cppSetOfResources.hIDatabaseListener.hIDatabaseWrapper.hInstallLabelsTable.sqlInstallTrackAttachmentsSize.sqlPrepareDatabase.sqlResourcesContent.cppResourcesContent.hSQLiteDatabaseWrapper.cppSQLiteDatabaseWrapper.hStatelessDatabaseOperations.cppStatelessDatabaseOperations.hUpgrade3To4.sqlUpgrade4To5.sqlVoidDatabaseListener.cppVoidDatabaseListener.hDicomInstanceOrigin.cppDicomInstanceOrigin.hDicomInstanceToStore.cppDicomInstanceToStore.hEmbeddedResourceHttpHandler.cppEmbeddedResourceHttpHandler.hExportedResource.cppExportedResource.hIDicomImageDecoder.hIServerListener.hLuaScripting.cppLuaScripting.hOrthancConfiguration.cppOrthancConfiguration.hOrthancFindRequestHandler.cppOrthancFindRequestHandler.hOrthancGetRequestHandler.cppOrthancGetRequestHandler.hOrthancHttpHandler.cppOrthancHttpHandler.hOrthancInitialization.cppOrthancInitialization.hOrthancMoveRequestHandler.cppOrthancMoveRequestHandler.hOrthancRestApiOrthancRestAnonymizeModify.cppOrthancRestApi.cppOrthancRestApi.hOrthancRestArchive.cppOrthancRestChanges.cppOrthancRestModalities.cppOrthancRestResources.cppOrthancRestSystem.cppOrthancWebDav.cppOrthancWebDav.hPrecompiledHeadersServer.cppPrecompiledHeadersServer.hQueryRetrieveHandler.cppQueryRetrieveHandler.hSearchDatabaseConstraint.cppDatabaseConstraint.hDatabaseLookup.cppDatabaseLookup.hDicomTagConstraint.cppDicomTagConstraint.hHierarchicalMatcher.cppHierarchicalMatcher.hISqlLookupFormatter.cppISqlLookupFormatter.hServerContext.cppServerContext.hServerEnumerations.cppServerEnumerations.hServerIndex.cppServerIndex.hServerIndexChange.hServerJobsArchiveJob.cppArchiveJob.hCleaningInstancesJob.cppCleaningInstancesJob.hDicomModalityStoreJob.cppDicomModalityStoreJob.hDicomMoveScuJob.cppDicomMoveScuJob.hIStorageCommitmentFactory.hLuaJobManager.cppLuaJobManager.hMergeStudyJob.cppMergeStudyJob.hOperationsDeleteResourceOperation.cppDeleteResourceOperation.hDicomInstanceOperationValue.cppDicomInstanceOperationValue.hModifyInstanceOperation.cppModifyInstanceOperation.hStorePeerOperation.cppStorePeerOperation.hStoreScuOperation.cppStoreScuOperation.hSystemCallOperation.cppSystemCallOperation.hOrthancJobUnserializer.cppOrthancJobUnserializer.hOrthancPeerStoreJob.cppOrthancPeerStoreJob.hResourceModificationJob.cppResourceModificationJob.hSplitStudyJob.cppSplitStudyJob.hStorageCommitmentScpJob.cppStorageCommitmentScpJob.hThreadedSetOfInstancesJob.cppThreadedSetOfInstancesJob.hServerToolbox.cppServerToolbox.hSliceOrdering.cppSliceOrdering.hStorageCommitmentReports.cppStorageCommitmentReports.hmain.cppUnitTestsSourcesDatabaseLookupTests.cppLuaServerTests.cppPluginsTests.cppPrecompiledHeadersUnitTests.cppPrecompiledHeadersUnitTests.hServerIndexTests.cppServerJobsTests.cppSizeOfTests.cppSizeOfTests.impl.hUnitTestsMain.cppVersionsTests.cppREADMETODO/usr/src//usr/src/orthanc//usr/src/orthanc/OrthancFramework//usr/src/orthanc/OrthancFramework/Resources//usr/src/orthanc/OrthancFramework/Resources/CMake//usr/src/orthanc/OrthancFramework/Resources/CMake/WebAssembly//usr/src/orthanc/OrthancFramework/Resources/CMake/WebAssembly/ArithmeticTests//usr/src/orthanc/OrthancFramework/Resources/CodeGeneration//usr/src/orthanc/OrthancFramework/Resources/DcmtkTools//usr/src/orthanc/OrthancFramework/Resources/Graveyard//usr/src/orthanc/OrthancFramework/Resources/Graveyard/Multithreading//usr/src/orthanc/OrthancFramework/Resources/Patches//usr/src/orthanc/OrthancFramework/Resources/ProtocolBuffers//usr/src/orthanc/OrthancFramework/Resources/Samples//usr/src/orthanc/OrthancFramework/Resources/Samples/MicroService//usr/src/orthanc/OrthancFramework/Resources/ThirdParty//usr/src/orthanc/OrthancFramework/Resources/ThirdParty/VisualStudio//usr/src/orthanc/OrthancFramework/Resources/ThirdParty/base64//usr/src/orthanc/OrthancFramework/Resources/ThirdParty/icu//usr/src/orthanc/OrthancFramework/Resources/ThirdParty/md5//usr/src/orthanc/OrthancFramework/Resources/ThirdParty/minizip//usr/src/orthanc/OrthancFramework/Resources/ThirdParty/patch//usr/src/orthanc/OrthancFramework/Resources/Toolchains//usr/src/orthanc/OrthancFramework/SharedLibrary//usr/src/orthanc/OrthancFramework/Sources//usr/src/orthanc/OrthancFramework/Sources/Cache//usr/src/orthanc/OrthancFramework/Sources/Compression//usr/src/orthanc/OrthancFramework/Sources/DicomFormat//usr/src/orthanc/OrthancFramework/Sources/DicomNetworking//usr/src/orthanc/OrthancFramework/Sources/DicomNetworking/Internals//usr/src/orthanc/OrthancFramework/Sources/DicomParsing//usr/src/orthanc/OrthancFramework/Sources/DicomParsing/Internals//usr/src/orthanc/OrthancFramework/Sources/FileStorage//usr/src/orthanc/OrthancFramework/Sources/HttpServer//usr/src/orthanc/OrthancFramework/Sources/Images//usr/src/orthanc/OrthancFramework/Sources/JobsEngine//usr/src/orthanc/OrthancFramework/Sources/JobsEngine/Operations//usr/src/orthanc/OrthancFramework/Sources/Lua//usr/src/orthanc/OrthancFramework/Sources/MultiThreading//usr/src/orthanc/OrthancFramework/Sources/RestApi//usr/src/orthanc/OrthancFramework/Sources/SQLite//usr/src/orthanc/OrthancFramework/UnitTestsSources//usr/src/orthanc/OrthancServer//usr/src/orthanc/OrthancServer/OrthancExplorer//usr/src/orthanc/OrthancServer/OrthancExplorer/images//usr/src/orthanc/OrthancServer/OrthancExplorer/libs//usr/src/orthanc/OrthancServer/OrthancExplorer/libs/images//usr/src/orthanc/OrthancServer/OrthancExplorer/libs/jquery-file-upload//usr/src/orthanc/OrthancServer/OrthancExplorer/libs/jquery-file-upload/css//usr/src/orthanc/OrthancServer/OrthancExplorer/libs/jquery-file-upload/img//usr/src/orthanc/OrthancServer/OrthancExplorer/libs/jquery-file-upload/js//usr/src/orthanc/OrthancServer/OrthancExplorer/libs/jquery-file-upload/js/cors//usr/src/orthanc/OrthancServer/OrthancExplorer/libs/jquery-file-upload/js/vendor//usr/src/orthanc/OrthancServer/OrthancExplorer/libs/slimbox2//usr/src/orthanc/OrthancServer/Plugins//usr/src/orthanc/OrthancServer/Plugins/Engine//usr/src/orthanc/OrthancServer/Plugins/Include//usr/src/orthanc/OrthancServer/Plugins/Include/orthanc//usr/src/orthanc/OrthancServer/Plugins/Samples//usr/src/orthanc/OrthancServer/Plugins/Samples/AutomatedJpeg2kCompression//usr/src/orthanc/OrthancServer/Plugins/Samples/Basic//usr/src/orthanc/OrthancServer/Plugins/Samples/Common//usr/src/orthanc/OrthancServer/Plugins/Samples/ConnectivityChecks//usr/src/orthanc/OrthancServer/Plugins/Samples/ConnectivityChecks/WebResources//usr/src/orthanc/OrthancServer/Plugins/Samples/CustomImageDecoder//usr/src/orthanc/OrthancServer/Plugins/Samples/DelayedDeletion//usr/src/orthanc/OrthancServer/Plugins/Samples/Housekeeper//usr/src/orthanc/OrthancServer/Plugins/Samples/ModalityWorklists//usr/src/orthanc/OrthancServer/Plugins/Samples/ModalityWorklists/WorklistsDatabase//usr/src/orthanc/OrthancServer/Plugins/Samples/MultitenantDicom//usr/src/orthanc/OrthancServer/Plugins/Samples/Sanitizer//usr/src/orthanc/OrthancServer/Plugins/Samples/ServeFolders//usr/src/orthanc/OrthancServer/Plugins/Samples/StorageArea//usr/src/orthanc/OrthancServer/Plugins/Samples/StorageCommitmentScp//usr/src/orthanc/OrthancServer/Plugins/Samples/WebDavFilesystem//usr/src/orthanc/OrthancServer/Plugins/Samples/WebSkeleton//usr/src/orthanc/OrthancServer/Plugins/Samples/WebSkeleton/Framework//usr/src/orthanc/OrthancServer/Plugins/Samples/WebSkeleton/StaticResources//usr/src/orthanc/OrthancServer/Resources//usr/src/orthanc/OrthancServer/Resources/Fonts//usr/src/orthanc/OrthancServer/Resources/Graveyard//usr/src/orthanc/OrthancServer/Resources/Graveyard/DatabaseOptimizations//usr/src/orthanc/OrthancServer/Resources/Graveyard/DatabasePluginSample//usr/src/orthanc/OrthancServer/Resources/ImplementationNotes//usr/src/orthanc/OrthancServer/Resources/Samples//usr/src/orthanc/OrthancServer/Resources/Samples/CppHelpers//usr/src/orthanc/OrthancServer/Resources/Samples/CppHelpers/Logging//usr/src/orthanc/OrthancServer/Resources/Samples/ImportDicomFiles//usr/src/orthanc/OrthancServer/Resources/Samples/Lua//usr/src/orthanc/OrthancServer/Resources/Samples/Python//usr/src/orthanc/OrthancServer/Resources/Samples/Tools//usr/src/orthanc/OrthancServer/Resources/Samples/WebApplications//usr/src/orthanc/OrthancServer/Resources/Samples/WebApplications/DrawingDicomizer//usr/src/orthanc/OrthancServer/Resources/Testing//usr/src/orthanc/OrthancServer/Resources/Testing/Issue32//usr/src/orthanc/OrthancServer/Resources/Testing/Issue32/Cpp//usr/src/orthanc/OrthancServer/Resources/Testing/Issue32/Java//usr/src/orthanc/OrthancServer/Resources/Testing/Issue32/Java/src//usr/src/orthanc/OrthancServer/Resources/Testing/Issue32/Java/src/test//usr/src/orthanc/OrthancServer/Resources/Testing/Issue32/Java/src/test/java//usr/src/orthanc/OrthancServer/Resources/Testing/Issue32/Java/src/test/java/io//usr/src/orthanc/OrthancServer/Resources/Testing/Issue32/Java/src/test/java/io/osimis//usr/src/orthanc/OrthancServer/Sources//usr/src/orthanc/OrthancServer/Sources/Database//usr/src/orthanc/OrthancServer/Sources/Database/Compatibility//usr/src/orthanc/OrthancServer/Sources/OrthancRestApi//usr/src/orthanc/OrthancServer/Sources/Search//usr/src/orthanc/OrthancServer/Sources/ServerJobs//usr/src/orthanc/OrthancServer/Sources/ServerJobs/Operations//usr/src/orthanc/OrthancServer/UnitTestsSources/-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:Maintenance:17966/openSUSE_Backports_SLE-15-SP4_Update/cdeaec8e27717cc4ff985d75ff0bfc25-orthanc.openSUSE_Backports_SLE-15-SP4_Updatedrpmxz5x86_64-suse-linux                         !!"               #$ % &        'directoryASCII textUTF-8 Unicode textBourne-Again shell script, ASCII text executableAlgol 68 source, ASCII textC source, ASCII textunified diff output, ASCII textHTML document, ASCII textPython script, ASCII text executablePython script, UTF-8 Unicode text executableC++ source, ASCII textXML 1.0 document, ASCII textunified diff output, ASCII text, with CRLF, LF line terminatorsC source, ISO-8859 textASCII text, with very long linesC++ source, UTF-8 Unicode textC++ source, UTF-8 Unicode (with BOM) textC++ source, ASCII text, with very long linesC source, UTF-8 Unicode text, with very long linesC source, ASCII text, with very long linesassembler source, ASCII textPNG image data, 150 x 83, 8-bit/color RGBA, non-interlacedGIF image data, version 89a, 16 x 11PNG image data, 776 x 18, 8-bit gray+alpha, non-interlacedPNG image data, 1548 x 36, 8-bit gray+alpha, non-interlacedPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedGIF image data, version 89a, 128 x 128GIF image data, version 89a, 48 x 22UTF-8 Unicode (with BOM) textHTML document, UTF-8 Unicode text, with very long linesGIF image data, version 87a, 66 x 22GIF image data, version 89a, 31 x 31GIF image data, version 89a, 63 x 32PNG image data, 644 x 156, 8-bit/color RGBA, non-interlacedPNG image data, 620 x 197, 8-bit/color RGBA, non-interlacedPNG image data, 173 x 55, 8-bit/color RGBA, non-interlacedASCII text, with CRLF line terminatorsJava source, ASCII textC source, UTF-8 Unicode textRR!O *S5 utf-897b2efd54b92d9a03c7b811fa05ed26626991ad258d9ba5f9bfb28453c959cae? 7zXZ !t/?]"k%%{VBߒ8D_K[G8-9"HXbw"uYY =/f]}qaGxo?l8,y=NG)U`pq{$0Zd^.y<ܐ D m )|.bf%(Or\^˛Z) p^rHq wϪĔrV$,\"DZ"˺&c$axAVch:!cLqAhYz4D# w=7uU]BgעJ_˯n?DپE o@DUc]af Oq˛i f O@s8=)+UG: CfbaR{wpqN.%Q!:X6pcwvޞ|1޽QQ-=69wjޤ>zd+~i=ә_N-ǃ;AY{~)c<=5:>08PSmpZ뎔ey~F\4:w|Z/HG$5pmVGˆ>CCsmGL@`_$ySMf{{n3LX["j E:D5!:_7>bpJ.kJ ).Ոo5s TzFx~@> tn ´LgTn5$bU_)w A|^n "09] m}Y!DI J!/߫$7)uX*^`@Y@Io 1cFs݆R+ LߍW' ;RH`ݲܘG/NT4\¢h6nxbwb SxMO:!f*+s 2@WY僦$Vo=`g^*s5~X,ԚS hPD[ ZM^"^ȫHIhoApy$WgzMr$Fcݰ||pI8A5ZnDW{:j0P2Dc1r&0׊#f+_Wהe ?sYhhF M7qkxEb-ǥㆴ֯3qY ˽hn*G[n(D3'5'+W"M"efvWxJ#= h9s>'d#B`d<+ 4 ;| 妆_‡&*)&}C#'zv ?@CF0S/tPQRg# %  _Vܾ>=c+&8^PҠ ނgXp#) RkVtzSR>̵22p-=-<'tҿ?G.PaB,v K#{^]QQ5n2ڛ{}-N: /LsC?H7t9{]^cv1V-8q3m-˅P8n-ʹ<7sC0~)YaT?է}p~89#*I鯮E'i x}wc''*+ݨo/v¸烔_hnH*tie,] s1M T$|KD2ÓaK *ӛE!wU.'(]gAZes͌PSa͑!:.G? 5UܼX$EFQOwZ0͉6m&Ųv:y޼p}q7&HX/c@A&’?$!g>p3ԃM&q!ɀ3!W-Q—~H]AS$7Z\R,'%mn)Io'j'-up">Fד&!M?ԇO' Gצ!68bF+}9x]X3{6"00ntV=&KKX_WXVdGy>MY'`0/??.c=죬F>%ϳĐmLPE'Eɾ3֘:*#y>"ĦㅆʦdRsqZocטĕ6ᎢL-)dk\ @LD5W9icP:g)KS%<ӈm1^nȱ(Lnk9[eiCmw9?s\BϻmPƷB0iWH[&aHVc V<HEģqN3ެbsϏVE/,zJ^$ <$Pn]QQ?NS/Hx%̾BdSiƝ1PYlEXOxP3`%Dk梌c#D/o_(?J##J彰+NcHȝ;m HmտNkGWzj-edyj8T=I/8 /ָǰ\,n%jX1E=$PS?'<"60dSک"lmN$v7˹ʿga=o@d6U`Ni? kie&k#6'_H(sbh{` gsob Q,?Oݳ‹kjju]Zf*/R G4Rm\q\0R DK#RW բrҺ_=rܧgDBZT.d|Zv,,+w  HKO2u} E:%ĸ?#y 2oG*c )VwcO@$6pZ =_o(-p|,2CRҼ*WӮ2 *)%fؔiqЁû!nw9!' vNeԕ3 6nj $2)N|1BDEnLၵ񌨌KJHkIjxU2“د&8\Ck~<@.#j)dt~I\ ɫ I :g-z'}e$ڼCjy+(\o]O w6aV&4k_4]*VNFGnӵU?2q2sPd(-.il՚XMETF9u]w By@Y \0գ̕d)R׈4MhS-g>xZ,\ _יZUɧ5y$U! ,<Y͖IB}qWvo( 7IFW5͡雷hÖEP{akv~t*)Y~ pŒ'xW%~w;Ţi:A$A|cmRGR>|cؿEp3›%yxٔ$8nl4_Bp׃x#&6 -#c7޽%օirꦩֺG ; @) _+SO- 8'N;r@m.E '&egJ@9顾Fe6y:5If@fJ52zp(5#Ҟ )5g)ҠʀP CX_ \|h'tAwؘtD%[OX q%`N S*X\>i0¹ -Ͼ|sRŔ^R2S¦r` ٲ)Wޅ )!f|`oO2e)$C "@%e&_{='Q_bѐ6:9)\f*Ax`iW^%Z<|%D16K;$u>]Rջ^ ύLAwuJ*Mcc }tUIFvj25{&@?G%7Ij=tǢ~w=P$-vQ̓7=u;o7fP|lMOaB~bՋlYۚi)LA$;OHh2')+=B=htLmTL]ZLZʨ1"_yn]B^4P]Z$& J=`P2gZno~ց(qg5_eo֮q=r"l4n<6-= ]ThKxn!)p|nީ wxP8K.Kq#{qۅO3QlehE0dҁHydZ}YcAt CyqcC?K^Kݦ'-p6܋^Jx$NBc+fkfA>0:U]k) tdPkcڟb޸|]'qe.D"Z}a}"^9Áďt-R?l}~Ga^Hc)wNpKE ,vjhEygcP>jQWh4I'kȘT sG1iKͳ{U]"0N9=+WR./Y* N6̄zr؍2KW0:N;XXGqy)?"NF;Eǜo~W=EjiRz=x|4_YxL?Gܛsٗ5*(ζh_ą`>1czQ6A6~;+6bKڅ$>t]U^Vx>}mOΤMJ\]/z6Ck4]rWSZ!iPcDA{i!šƺ0-q2n{[la/ Y',a2f?B2ErAZQ=Mj.qk{J=7'߃?Z#4^f(9UR?FU&ψ"ɚ1#]1{[: X|+X|[,;ܸ_J{P"|0 |av us9Ʈc"J5k1u{>yo`rT x@ccZwֺ k "p-^x pVGR rf%s{KSr&vUXԴ8+X4IaUfåwylGwNJE.ʫ+jDXT?0'P5ރ]3hb|;#3P]A;.Qf<]ߚ'v`a]$}0Ĭ-sξY7'd)M Rɬ7c] iG:o NeOuSu-:,yl7XLxkK2q'{<Sq~Mj8.ٵÊ,'K{y` @HTUys WԶL8 q  = Y+/ U֜ph3k'9\ cƃcdvU{&# JiGXkiO+Q*-gx}"ԯ ncU&3`@O{lp, IBzj4!HˆCID,یLT\gƴp$A`+AGjw;d6w4x{wb%ɤ :<'Yρ ٮ{`=;-F ҄]}{,GVdEt7zQ{éPpv:~T6bxx:adm5j#Wo9Ao':Cp/"0D%먑%62ڀ;8-k$\[F2KBJʔ[c&EMa8EnE3ٻ$8`5Z,4A{J~1?([ UIw&=ªNJG(sץ< Ipa7xb. JB$Ȕ _fC`}Ҍ$\ ETy"xI $vPpK}G҃CfӠe70e{v!,yGr) 7R/z,M  8Ē_ HRuD~ Wh@%Б }+I Ru/G PDy&SD@Y*[o./P$?4h( Y{1ݷ@PDTc߬ @r)31FA\ԕ9c@ZhH %|~a1TQ*>/ޒ)Uv+rb Kuiu M/I>@%^f2m\Vhd=d!!붕uEe7W#D9*=Xu(YAĴK4_lYO?BX3tolS" Y&qۮGQf_]r)*{%౬h牞i݉5 c%SE$9Pr~1=+#a;m>B+8E$*b@Zn-j\W KktN<(H#"V}#k!y=M^3넕>C|#7"= gYm[#"SRt'&nTCE*9 :.R1B}*Vu sI錶S'bC>jcm\ a &{`j5`AH  {B wz:Ȼ7^3'-)#5? 8(+g=+ܣEfXA, ؟]y>r:$g➤c3?/NT /8W该֢5H ΂ζնyW>4_ġCG!iCӾ4fm}*E4pExR^ qS,Pww]'S"t6BS/JDq%mԵs~xE&= uk"qÍY8j? "W g>"d`Y`a ,`$<cpı?;PF뚽яVD!R37f< @\uX@Va"XʨJ\~o4\>^":L3*H4u8̚oub9Y0f(k EoK(( NcӹeyS--BjE3z_ -qHQ'ko=UI[yG-i+; >rX浯pk1".ܶ}J" zQ"Yѳ g|B|'qaS+5to:^G=Iog{#a 385D}h ]8pKе]:z\\ Y׻WI涔:uE0?yN!40!z f4!fV$ Bl;|eK:3k+!Aqvi20/`zc~ƬjsJ 2Յy,pI-#'nF,5IwjrXi\7,-#!]dƙfz ;ϋ۶Y%P<;6׵ 4]i?-1v+otqW^lh=_.Kxօ-:~]8>((Ԛ6*c5r֣\S&ʎ}T)< XZΐ\(FػÜDr !F0gm)O8^|O~nnQ|nFcͽ t4NAĐ2M13'V µҪp>pr<*]OdB7`.S[s K1[uI0ʼn A8[-^>+ WܥqBֳ081aD³<߬9$ w +baeo/Vocs,P! ?-M74ٔ IUjb1S[Sl;N3 0Lt$x :޲rgp1-Xuݩ1C)4 7?? f[>ZKڀ ݲ!G[iP|,>ô6R*V\o=!(gfPVq=V,NY%]]pl=B(Kƫ3۩YvpĴ=0fE~0-E;]3YSPܹ9x=:e۲LnCY5 h7.Ц̥f= $:+NR֙wK&`gp:R2 FVm_?%vi[mUU\4 9󍤀_~hms6ALGqegc.:'F_04 <ԆY/c*o D8NJJ.2h7020~bEYڊ6 e޵gI~Gk^{rccΚB򛧜P) qX#p@,NWukIڤ^n SS ]t#E:] 2Lf#McpJRXbhU8o^mP bsS੒m \悭m05C-J=Hz:xJ4].ee#/QܿK[hccL#Y#'#yjJ,ۙ|~6Ǣ)Q.s^f3+^7zso9}a²ELE8dɹ5{3ިi,⫯(iyxkZ)l)$v? f (`@.tns*]NtAW|H퀞 f*1.RH  Rj[ n8HڸGj )3 `3NJ"Q1nƿmYMEFhEz1Z Dq{pEb$jɎ]ذ\Fv%"e)?P/v$_ک;m4"epma')j9'*% <AR8 _ql9QJJP$Ad!!CI]eqFU-N4{')TЊ"|Ԍy+be}#)XR,S^k0(zbE8 YH59el7nLJaȵC4bE:"T69$#?`w][ڮW,&XN#=-hs3^~1;d},>HѧP# 'He^l}2H{LB*ωUVOB^Xo@7ޭJ4TzB% >:` Fx#nP'+^m'r 1[{SLNM/S?̝F6g]C8iJPZ,~6Ӕ ')*CgK07>HژߺԾkǑ~x/eȴ Y~Qt2YEk~lf$e\Q͜7 ;At`?;؁ˆhI!St$`9ԅW௜A/N?jmoBv7^{Q`c3H 0UpEjz@UkA1r1pL*ᣰ!Ҡz[fk|[dtZa[]_L^)/sY$ 9/l*ý\c.*FK5K|ƫ2s_ΆzҤIE[և'i"Cz.(&J5о*WB̬,.߲+(ua t?ӯcrdZV/5iOk x'fu(8A.5 :wDE+t=K:MhNZſ0u3O-B[ECA5'uT nőV:jv\R"I#5A97 V3W2]&SK 0C7iQaD 0̞xy1/uXhzC.k* ?k^F-.uH#mhk֤PƋnoBeW> uUJMϫ3B g RJ<8Eĵ@Y!kB@Ror2ja|?LJ8P׼>Uﵟ qx?~6쭳M#;w8Op(Y(n`lY"EojaۋNU^+7OvMЙޡRy(o/3CjP?Y| $eQrwy^5YL+Sy ޼%ZGF7sy|t`2C戴e+iAi!?L Ոm8&m{uR; Cc ? gط&ǑT Lu*P_of@2,-GEtkoJU؜7BnOx*3fbҿ:)܌z\zNx)Z2)puY9g[Px<_܄8can I\Ѷ{ǛU`pkFS#nn%TTEn-k!)aAPhvlxJmN'tD [m={tK}GoY~f 1'm "+tT F ç+ #И.I ǀ(#92"*#rܾ FA[`ZTrbSʷ\> l5UxcИfՓn ɟ1{8<ߎݕx4?gCLsWXT_uXtYXBA a 6Vv $¿}㈚ɱ-]m>WBؔ"I?; zU[,lI]1u"rrI& FFxq?pqh}<<qfkvYm:+^ixupzgToh#PT|UՀ^}MlKf$R_#u7Jdo3aT㍇Ծq4*3Eiј7{#ԫ%,$N)O7vb|߄?)v gQJXY+:fvkFR E8wyq8O7JC~PZ]3f@a:IdBD99-/7Q}0֔Q,R}:>s<BޠH(lhtL6s ԐdNxa9O5@TW"#c) -7K:/bj.,7@%dw>^>2࠷ѻKW>x/sBtwEC>x5fx#q:!6-zE(:ϒez}&gJmZt]G~3>2mae酅ԇXn!oCg6aϐNM6e,Bmfi"ʠ#SeaĘ/z|K7[ΠszO'nF҂/ tuէhJ$N( {"ت H+0b)bBgZL@z%n}o6ƨ0tݡ{IFT:yvm-c GmYZEgg2`xvT B{T=_V飼B:Wѭ<ɢ:m6R5?sS-.PGHMuH49 Yo27"jH1.j?L Qv)DE`caN_~,d~ypᮠ'o_Z>Ğ7Ԯn?->ArꮨAN%[fW[ժ}v;F0kbeAJmضvEF`jCH@Ɖ ZNۘ~Lz!YZ%-.,@6Ḑ eNj#=Q7NNZAQ|:ʂJ֨1ȟQJ;X H(N |@ΊuV8zŅzإzNHʫR0fgj>P8C6Z3wƨ=ndWoqdO:;!~B\襨v^V9= Y]xzBX,T"Gdż-Me|d{ɳ Z"mL*('5HWBNh~CӇAJyr`_(@"{3׏^;^;ҳgFw~}?@CC Dpmط6~P6z=( :HkҤqpҏs_-1HSB~Oo"fv'_cn05@{U'^I` 2 ^RJTc1SUGQVҖM=(BΐBӸsuUo@Q/թBwkt^;% s z1|k;(t+t.br*R1_\XG[9VKC\ɪ[+ {|w ?5 o\_Kڲ(_LFW6c_VmdĔg'O%lۀ܋tذ$n+\1oRj/]ᕮu?5u_qWjif?Jx>VZI >' @ gk7fmV,TWRtb_Fo=J +6w] Byrp X/*zPu=.fj:gŐaǴ2%KZ;]ЯO!jaaEB5}sy|T3L3x&իIcC4l:~/[&vzZx(e>1C~wF8el O[=YpScavOg ó-GN]WjeF44US;1<@{u^[=h/ ru\׼mG/cSAMZ,1?Qzѷ(VEP:׳Z*}K~Y M ?5 {,@(Y=s vcWpv;&|X A7%a=?r UVj>dV7Z|yq\ץomʼn2eڶ?>l$c/\ /ydaߤ0Lgd=>4z@TL5PWhjb(yr')84Byr,>r:uLgLJlkF,Xރ3#b>J׈<(w4w{m;;|B tcNLBO 6Vqg~qC/u_MSLSEɟ#I%еJ9cf8fh2c5BG.) 5 AUi(T)82ף]'v1)IJ$-ÝCƅ++x|~T i۬)ޛ5ڬFG8 /;t$JO)Ё|?洎y91i8~va2'ѵED=(8~*J+@}bJ^%$h~]\R$xҤ1yI͞`xT%C 8NҤeKl2{2ڍ*l? ßG҂`k4n2RR:OM^\-.$P7rG6-:Z0nU@֗I~&l(n $ 2Q HSݡq|Sg`wεX%֪Ihr:UD3{5V]q;h{7JIԯHzsK_߃=KDNN~^t[K6, L)J?_iuDsؤzcXԉ8A 1/Saz [3%:_uB,YĜVNre$/\%@]9h,?UA%;'0r,zdzlѕщs@rzDC;}.8c!e:6vp!Ù:fe)@өR}R(_K$)j$<!Ar\[tT-?{Wp+ϭ~6plRco̳ CqYK>+>[b4zKuZP$;RUEt>kjZv' ^ 9ܶJ/XbaOy`SpQDf--%G5I+ıliܢvV߆Ɖ$xH_G*-B{6NOr.a M xCeSt|XT9Y´i4b<],yb)79B(IKDnq wcd.xy-;8꟝8Y= ϲል+QlelCFȎ @`p z X_=>+o?^ 8KYL,[꣫>ȴWQ~Z_Ͱ9DICC:83ev +,u^_$.bd>kq wo'=c-}#*,6]pNOsxIS"B\V09O9^ة؞$Z'ɘP5l0 c=Iȕr^Or)Ku9 ɟA3ek,,ɡfx'qBos NiJ S8->?*?@Tok mMEG~`0y>F */ ߚkg)٣ gۆy~)PRDOPPȝɭiC4]ވ_z9>@}헎.O8t+4?/ޔC@#v)~#U7P=sZQw5.x0ղPsx_YjGXYFJltYuO}i{iݭ';7ry5 ;  9: ތz 1Ⱥe0gIck,J\Ui'T&~1RBL.ب̮AsfzC$}7<^yh[8u^kMK#Sz9デ=@Ha{} M 5>٠!2T?$eP& "yQB)ѻ[7Q5r7ߜ;ezc ;1 U!FljQ͛5Ju ͭp+cR`\NtnN7$>x<贓ТcM:{W%VQzV94CɁ֜0FK+j)*>C|-!'bズV >kEВzHT/2lHPA3(3u!rgk:TXjKԤ"@oEUy7Η#2Ym[2a^ޗPؒ8%s~ 3L{IK9ObZP:gi fuKosm9Hx<7m)eh!\۰A_4?g]J9 + $ԯ!CWV҄:WF*)h xp1IU+<0Qjn <Dt[smV ˸mGm P޲qmdHI 8<}H2r`'z3 9RbMZJuM+}=>ޢSoΆKˢoe { C{Rɔ&i99Y#e:mz &^,b0youAe?d5*%͋CVR@-Ye;waiJdPe?Eb)s 45Do|2YKÈ}ݝž~(.Sh|%RIs7O+7DK|$Qe (%8mE()&z߾?V <\P)b;N[NI؝ ϣAmtGqbѿ1Id΁&PvI3W4 n-pe٧].7vGe%.t=&}Ebv"lG$uj1"&\,YQ,]q瓘&~X]C1vC(<:? [P*h$i8,= ;3vg3gD\P;'򥽓%zfzn$5ɩpVh#%NB=6z OR>Vve1U-?G2\MK T^@9>ct5^5\ 6T)0*#*7ط202 '<IKROJߺ&yA8z2GLTQؐ/R#*,|AR!<>hXg FfVDePfN`؟ HͭO$y\ޙ=Db{×x " u4ַ?^}z<+Ff_XuuWe%x ` h fr/GU'gmpfL9u?#te|\aUa8pdVH՘;_pX߯+c= Z^Z|#<#- L<NFXxrfLx]"2BawC7RDx&ԺPu I3_G 7^"G! Ċm[YWҎo,8&=jl$ 0W 8 ,%` q޻ָY< pviۋ(Q.`c[6AdȽOW,1.8xl!eZw(l#HfY[Q^%oL-@=\QW_&3𦋁>~3 iG%8f n55cl'9W a}Ҫ0EBSk+IbBsK}3q׭~''QЫEC&`*!jWP_`YFֽnty٩/:tTLħ Ǟk Rw,ݴPs!!~u\Km^ڱ9gf;~0w١K4`mdv召]|9yVVe'H;f)~^B_e&Z|yYbϬN*;_T qWcU[O iO r ?w?\yQ.>T?w݅|UDW>_\m4` c`+s!򲞟I/@PMб?(08eTtjġ/yJ6,]Nss+;wxKwB1hsL- HEșQO 僫4B[,|Bg>fo y |y: ]f  %D|؜/z eܹ2Õ֍z)C3tdł3K|=yܡ+X/t)^j!dF6]ankNto4pZ1t1?X]Hr02O/?Fk:3%gL` fp@MŽA ,X  @> t\R ;b*t]۱~7Q>5K]UqAOxd|/FĈM~-۶pIl*[LDj`/'K)Pz,B71Esbo2وqT 5w>ka%\ϨEt1l#9Clٱg^I<|nd<iѦ)dݠ3Gˏ30iFhdfˣOio*+͒xZJ]CE$*-j<]`C C]le_^cEC,nHٺJl{R5nEDo^Л6X0qfjd,1 Rxu[Ī!׽̆u6,#3-[ԴeC?tT^<[WfDDs)1NryD DBlecwTT°/B<HJ[ 3 r}7,x6H^ػHMѵ쀭sOPN'}mpn0RXM$ O9>v"ည#t):%K6i _M%M"^OZ;o"K.)X>kg]|ҟapNnd_-!V;A"rŨ8­K\/}Ǯx/_76;V2tҥe(&z;Chſ`#( ?1 X4I ry5dqƬ[ZAQ & "2%H/qSAAu"W1!f_{u=g.}ԋQk(F2b (Z>0\mpMCӼ9yqǞLNF1%HX9 ,>(YgZNV$m:nƪs0S2rGj)H5 hUw…zY!*2K mi~6|~ȶje*43z$}3gqPSxE-4Q(gbM BEAzZQQ_+E3[ރ UWY W$ўY"}c;o3&M'.CE-WMs*G `.&k-9Å{\\ Ll%?{7{rqߨ`=a;(v7BT;RZGPħ+>+(i!L yrMS=l]xIF|OR9; Mu ^\*& _Z\^3'}5O4֋ci'ʊX)`,hƴ:Fs#Gy?--^{B/ #Yv_w2%l4Tx>9WZ-)cnf=+wT@;/~3A+f@77 Y.6\i}7mM%H'{MۃS$#!&YƟ×mB(yE\z`XG0Txe-.ު-x}vcU*Nhs2[T!v~n.a]bjd_RSĞ^ǩ%4)ͥB]wu^3QPl~o@{+z`Srm_zIA]/I6VtQJLM1҃)a%T& 7r]jnXF*F,]F.C/3]Llږ`&% %t!7 V? F}ʎDb>j$p&CM:KƔv5B8ϰv\BCWw-Q̠b` ҕۚKzͱiV˲ D.zJ[oróE1ZTd&ISbJ?Q-]t 0+s o_Kj KzNX>şSm }iy*l^-jS`L=xzQa0駾)KKB>LI7_n:θ)Yi]t qghIF6~tgrhJg;ZInD~{; d6-c Xg{cڭK'o*.iݏ>Ocjq[h3۵y0&zb ŝp&"g BA:4iSl~)Autx7ooO]M淽e'ٿuօ_WIռ. XBY=l Im}֊÷P'2 |3[" *Ď_Zv bXbZhH W R@$x?RX7skj=~Ïc/|f FNDRul҉^OX79eeZ#'CV5lm0 LԒg<73v#!q٣cycnEUzݛW0R=N/\ m5{?g8 ofhTRJ([ 3g}u \&fKИp~h:\*>~qYT0w7>w}y-񕛼bw#A1 PP/Nޭ'./ csWgg1SxLj)f`beі*ۼLH%rv*~lN?pnIKm֬.AK|2'57ZR_]'7yۅcJMzP :8\i]M Ly 8&$"W}րQo^\:#N/؊U,RYO4kܜ~ɉC'Z /ZXB N) #}]d!U- -M1&{At;)| ~25;+CB.dKoܢNxDuHepέ;MGؼ{=[4 (qy3v;崘;#fY;UkWH Ne#+aYĒ@e|*}PCxM7tC6ԧjI1N @e):{Yp1cZT z٠4_aUe=“vG*N?ptÇ<ƕܔmɗ'TԦpc6Ebd1o \FISAsANzcwdȏjG\BtjRH6Fe[Bj҂r~c $6nA RzN`3lGDNbdl/ @ w+xA_F l;n*1&zڣJ X1(oRfqX O<ތ4Dޠf>u^zԋ 6w`xO̐qJ{%w3=״w.t|x-)F!"LʞtN723^cqs?ey,x3 ]ca`4|ia^.Бt+^Y_9KSXk ĉMG !Owg´~@e ~m|UMKe9ǹ,[p dM9180` U|!wLb(?,,53A5.qU ADc. #ꑂWp\gc9E? DV Y6ǪGf|݈=aSDX!i7騺5D>[[J (4'2|rB\ť2?w%M%i/6X|d{ J,Fx7.{EgIի$ɠ;>G]=SV3_7WiT:#u*c V+EwȑK)Fp@zQE|P '~&5]dzsfWs!|Ņ?䈳RGhVDIXՕ!q4P<Q2hⴷazh6.zRO['>qD&Kx(/uAt Rx7]wY;O7I}k.[`yPX, x'D%fG?Ya6hbBbGSXjz0OÂIsAX~#NvLn3؟= R<& bxTOwOPR嵪6i%C8TF́qGG//7d ]ŭb,mL+֠ :c0! E$$&]qx&P2cmbT8bKaETD_;c nX̲i-t|{zfElz,+ tw$RO8Hj#j pCͳ> ׌w_Q0n>IHDM<^>? q_md0Z /z~TNfГfҤg_b:V\йųW.CCЈm[3Vo+>[.`!*kfijVILkrՐ"rܡ(E.vmmbFDH` [',}$~*bf dINĶ,BjOssT^f+R~j5?TDFs)j({p(Xb K(qͱo9IXyjz`&/j cĤ/|gWU$?'`)ʫ:ocyYLӽL.kC4Up N>6&InzR?"fpÆO]bF!u8V\(8Ix)DΫy?OqZ01yPWxvh9ߡe!K&VM0aV 1t{m')PyŴ[(^4b>x)UzߤYUz'vP8A1g;̀Gg3Zq'R2\j^jj[zߵ>Q"W;SbZW*5s|.L =l ɀ)ҝL;$42PܶjH-Gv3ഺfӓ%dY',pC&v5& C=ou%uY0,Ch ʚ5_An'2#򈯊ğȦ/2L!)bɤBnV#J =@ <)Ƃ/,Vxo*N\Cki@Vi#s#-fIWhqGV aSWfD[ TIʼ;f@#N!Beœh[lye >~C&Y5oBKwdo \}Q4ɬ+ 'z@ ʨS}l<ˬ+tA,+cک_g/3RZD!eOL0]lg.ԟ9Cf"Dᦞij!mNgEQAͩZ }5`4_(~k鎾nh\pHǺJF'J? 7ҋZtG0T7n\DoG7XyW$~x74T6Av^N^]q"~qIkTmRץ_;kCy, I5? =9U:=(t D^hc%o]Cb2fmk՚.\@b+l28Lei$7 }P Wryl$\$gIaWr\akYfXJq T`yޑ`˃-%2+ڬ²=[Ho`k3gi:3R>Y!7LͿ}$+X%4d)P-_y/0~:ULH'EZlOV{A$1Yg6[ij#TGi:" Ⳟ{|58*Й2="Y. S^շا4~*mgA.v9ZGRdQq.d$zU/@ h2G<}ĄW-#[%?X5&NJڈt8?ZOR=1{^W:j;ɓ8 X¼VR@̪SabZ0~ fw7?;N+ siJaayP'Y_fdWbK>*^HGf i^&no"ejZ ˧,f03z5=R6~2܈z"Ve޵T[:]M^5EhH{O?9bL$g?P !wO~):[ %e?K=q=ݡ( u,W HK8 E#Inn,:RaJ^K>Kpoy:St1 R㓸J2ƌ3ՄڌuS ;[D ~2x(gAx"}Ny=(@LSvO`P60H C$nDOhLAn]%h^`B@ QspwZ]:b ĵi5vee1MUFӱ>8^49b[ J MLy1G;SWSUߘ}uC\ z=#F6{sjH[ZX:肂t:E4vv ΓU2W"_߀߹Icvn~Aab\jMdŨ:N窩k5MO^vt4T_mřåO®\!UwIp厕&A2 ]sBLeSpF Rt:Xa(9̉g|d@>>jƇkL$kK+Lc}0@QW6vr720b)P-f ̓oKE[S3_y~6e{4cʓJtZwD1}~M}=ާ03d(U8kz RW=5ȿq% !OZHu:ZA{K$ǩTFNGh7KU(V^\p#A ^LwڢWŪ)=c>S@u.#!C $t!Q?WhQkf:fctP>tTGM"5&Bxe?Rbt+}˼ rRVk'tv^o̼i)o+}4 V?8Лٮ"CYz*_uy3UZ{[@NnT^!lYi F7D|qΏ$E̾gO A^viwНwQcp^]+PCͭΒAꝤz{.._q|Β1;5C!w@3RJauaVG4_Cg/2u_>m]D=¶)hf _&=?ecߤE(| GhNsw>uְjJjt.\\C^'Low \Y &oSĞe;2"9eO|pF F䤜غ KUpf$.%Vs{wC#G!N(F:8"|N KKаygM 9`1izH1p&$WS ` N'E@|MOc,2);,p) eF-Yc8IZm!&j@ mr}1=c[IT>{z[<"SWӕD3av\V POI*g5tEIRQ 1(^/nHArѐo/\nApІem=ׄA('^A}f@Š̪]x7Ф6}P[\ =;6 y[!6xQ@bjR# kZr!Z[a^14b6D:ѩ݂^'7x /4Q :/h8 ˜U>H_i!Δn\2/şD:\"IֿHŢ N^/+3YZd.S/#A<2'_18Hs 0AyR]qv,s} ,;34@hx0vHRBY;/"ff"*)'_AYcc \%]#M -#"rOsNlP$;g²92"ܜ+i / pPߡKvZ'׉Km Jڝte¯/JT$_O'X0Ir/MhWC;VB!_k{DvMo)9E5_xᝎ}T}/E₢E8Kk;Oph#$P^PP 4S}!pv'jUS:/ u( (1HJ v/]Rˋ[ΔUb?0%T}9UœF wSSzn$cEL ) ?$;'!E? Vʜ>Btj q4nJkֲ@t9$SHiƒ)3jʹA}EҠiD@R) /Ҟ“xF>uzO0($2ƌnFrmT2T3y?ߨ-MdB\SN=i&ιk&&F@ #$/U{@Lw٩#zf'෹4C4HW}Uuj %:6eG浿&#C,su}tsEBnF;~+m[eѫkI>hӠc!&3= N&Hݿ>Ddm:hL`B! De9]3tɗY[9 RҸ wiZ>C@<7U[]Uo^ǁ%RX=tlڿUy.?"fvoD2!l : yWg0)&-2* =?mS}aF(s;.% W쓠Q뭥g72u\?{x8;GYj>US_@/ytf39>haz?&PKm[R V4rf@~ I'ZNfQj2m0I[ P8`T%w+T;@n!ͯxqx*`EKe{!J~%?^;m myWS GBZ`M`].ӣ "ڼ˴)X)Kzs1v67nfWVKpvHJMήo'-1j>ìg<$<_+$z݇xH'4Cy4\ 9,vrP7[2G3W!I,ԥùiL#OO͝&UH z:ZKw LL{@)aӧiEܶ_#$i}Ȅf^*ts6M愨24˟- ^U;+%hZe|lrr3VɗZ}_<(aV\f;i|!AyYCp" ڸNWGT/8=zw}+Eq i3̛$6VJN1c}$CT 42]vtO=E'^vنcc$yc,Ypd&Da᪩b: !уTj"4Y;/erbƲ?p){tȊi^OUfrIsqss{_H(#m嫙RQQJQLh:NV$y*~sX B>ˆÿcue;wd&ƥA_%;`{] |sX *NJxל&#{ WHd6|Ծ`+,wd׳RDaɇS:`K^]ȍq1c#jt Òw;N.^ Fs榥YԬ;I"R:gq <Nj>jj$q^COi74bKD%l"1 -ܳyĈ;)05pb\nfm!wk u_ƾljiWa. Q[mS? $\)m7Xg܍Ĭ,pk8t ٵIZAh }+f{28>vn+q $ T|0>X2&a0cSڈ0,dQrCjl WՌ|,LWHR\{౭NOh=ݩp;eƾeV|w8suLQt`5Yw=3/^c>X'&{5aQinH]5ؚBz@졺/J#<|Ev2EOљ ɒOvp]/GRIrz4u2/™po]֫S=Hў Gb*z;ϢP~M_QG'"Ec!wpވtac62c#r~4u;1jE)M UF#F/BiEF:݁ˮϚm + z&[!"V2'5l 7͟"zhHν=l 5ZO{0 O=0U! V嗻`\<GZc*\˿ڢ'ϙnvoy"G`"eJkFJ=}Z5]i> + ֦rwQe`~ދ)>ꕠ 0O'1;7<[\momfb|o?UިA Cw&)PqYmg_+@dHg^p4Y$TGrK@]_vvrMbFG *F +B`,Jjn0bn>s$_1@[n*lEPIϚN 4p솯--'??sLfޞ|[߰'ªad$ػP7d8 dVP'Z ɭ.,K}RTdu¶ i / {{i,o( nEnE,G y1^ x׬.B D[uxȑeţF*:Җ{j_cjEq |  ?B2WhdU}&\!_9F%p{uy-P$# OI24;Oۀ|];1h_z,n1fJ=t͹Ef@H%>}Gnѧ iZ #$f@.…TysM['Xƻ?Wsx hsB=ofMf͛%䟟@>gjy>k *=ۨFB)=).88/DŽ/yⰪ<݃UL*x.*dD2XDGC]٦;M ^"E*QV;!*ၡTӟIuk5Kħz8 #qx\L# S)RR5:*%#uwfx3@ ' 9 p'pӤ{ }݇8}+4>9 2PAn Hw/q pik1^~(I&#=R7+&JQ{*.ْ>\*݊|ki eN'{Ý9yxo>RX;@YC*UJE-D@bj_I( .06 E;iG؆.t$Vd") n{OS4#vx(8Qe4 8L6ۻѡ/ ~@`)<騡|G2o'z<\B~&:{ DNas~8~+1MktD@e6tnյUٯ1Z{s%JaC}3Ρ&ch c3qrI^<|dq\sB:0>zx>FrVZ7|Kˬ+5N顋 Yպd~~0kxo#pKX?Mή87c|k@@GXtKEIu̅8Q yt1xu;6+))AU g.ƭȖT}s!'PYK.n(T8>A:5 ?CՌRo·Oqr0wGZ,^!Y:hl&=u^&ldOJM'pbŻs ws&G^7DzP[xG{ >`^a\r6pftB0*x`GRE36b"M'P %gJnSaŌxd,Z[!z3tk3]5Q 5y.7N35M'u|p}w]ZTߪ,NDA#0t/#*ٔں#ez$bw,'iKG仧>$ۙPj˸:+TcqTK@xEG>&t )Q!X@8K Lz[MKZ&Tfc?,$2.R`-O!:R308K()e7}VX;aBfq'aT7D's593JaQżs?sӊ_EF>k:ǺBЊY:\ͳV-xyRZc!p vb+v[s 487%ocF}:a`ފlzx O AP*65M)z/ecŒ:'}O01DzE,ˊ()0JĽ759 G5癋BO~6oX ";=aVg' !ìTde0pb.Ʉ}>C pr\(Hr| >k9{g_8/&>7T\l!*, tdOT XPP,~oypAcMG8 h[C8i ^9O:mL1y|N3a!1xP GE$/e ?o+&s%Er'`iq h刢+ Fn6wl⳼ӿt\}>ta} ]H~^א53dr~5S7u>qISJ.| tAi Φ]{yCWPb)xP)RP`YO&b#l;Hѻ+̃HI'[U0Vr-~aYAP2)ޒ 3K.&*YdLR^f>&O htQ1*.3J٧ȸb yO/#q}JdE8)@%kGF͉8e MFS@1G%*c'U쬿F!ЅR=!\QWBI퍟ggq`6L4 t rʷ~9+r܍Vo@;VRt퓢Uyve=IEG*Yj&25ɂKZ*1;aS~W;n`5r{ztkxPf<4ۜG9Lz%$·)H@Fe0P;?jς-*T:;SސD\Eti,"N;7z&[ L$'xH}@ڷ%пGht\,.OZ68' S(f*AV-'<(G*B|-b]k#7juY#n X4N!$Tt3^et02SXګpDlOPb<"ї$_NK8lyBި *" UoŘd,h$_H 7]ʟ 7uZ>!er6Z6dh.İBL co1 ^6 i\H!v9v' ,^)'.QVΒzb7ε,w*'2z@CQZ M,Pڻl9K!fA[yp1wd|~+A+YaZ8EЋ-b)P<G nva^J]Bdima{n2%̡=DS!x!Fe>W⏘8PX;ʨ7ٯ8k 0(=Zt?HBWQ%n[ld'܍nE_iDLTt20u{",nQ3J(rA޼9Ѱؖ]83"BQ}!GU@ d4 0i(iHlej|mrL:emmF܈iTsJ q!Pc ZHQ -C yͥM^,EJrf+֕ZrΩS8dk,2RJvj2S7)fvo(bg_x[d[/viUFȣ6@ ]`ogQr8]<xw?BHhd}-F a-7 :y:zTdg$Tyn߼/ !%¯*čp N&{uk&[dA0G2YDg$yRQupǮ&dNpwpRtu4^f. YVK>^}읃CWK*"Ek/l#.FK9({_{k"^3@E9uC0W9Akdd sCu4-03zAJ{V.:s@e0r([JopUi3s0ud%G4q'Eӛ߀xY\xԺa==-hpA]@א>Ψd߈95(7H۝(%=c}# FF3=MfVC'G\{VY=w|s / lM#C\$ Z-64COW9o3>'{8{te+)Kj3ɰC<D;uTb>$jQt y6BJ$au_oۥ=dkBAu4j kZŗeu'sn f1={"Fgndhv4d|aA\B$쀢M/(x$ĭe+)!ÝjGiJ*E`5\/O3[:(5㱙]cƥd8 Ac ] FfU}j~mڗIŹ6z1)<|Zg8>P%PWz;$VfMz^97riw=d?oqN :i-rC8HoT 7 x5¹1O!C8j'^ㅷ?4 (h*nEX+ fVL_1B ʱ+L}N,x9G/[X4z+\8+^, 6l76eh3O<,1kɘQ볻cB@G8QdT2= kBngE LEYj&̻f*iǾ(CH!J9I>QXh:L}SK"rB٘-)suU _8'7y*oƂ]0E|~.1ldu zʀ@  &˜%E7T;ݛXz!3{chthݵ:Rhэz@XcX"܏E _G\KY3T^d\i*z_Fpi`&bΞ-G~dH{6^A)PJnm/ZRt@~ANoh]fC1 _=3)ݑ2°TdOh[.ﭾj‘Hok)f1IX#gVm>OxGլ!`bå@53 ^gǜ@_MyufC򠩋J s)e)RZd1/q) ,:ޖ{mK8 sw!.K!>%Imٴ_8BuV=lVD 6"l}0jyP?^*gr"L )R<#Ӄo,ߋ*n ~~A/fLQ5N9A9pM'emڅMZFu':ǍoOet)_+7<$3A2Z:uL2L"d'%| 6hssKHpɌee8̽txhmU % d;rb$:AHw Oq'L(Y Qtl"^A@^ɾޯ?ɟtG6-]эL`FRF# +c4ȻkZ;'x1|]vdE=ILS|;eԦ|_A5K4i!bY6'O.)bvzȴM 9y0wWQaqƹ~CK1߯j};6l5pS "QBIwDH0cAYn) :w|Kp1#ڀV`QHYrെ w(ko'C%Դ{Ȍx18nR2*'.tA~DB$0iJb>B~Re6.D@ZCrO+[d 6ح܏fvL@~IEc5[>pFkY;EWċ/[(4Vr+g|fv?4ݐv uڞTf8W e t]c<ǃ>$ŗ"ZQKzf.R W4G=b?w߾{4oB[^AԥbwDz\ړn姦jWGZayR ~heMtQZL unwr{qs@0Au0^=d>wHG5s7'ui/gqW4 ߲fĎU_Yk,eW$W BfjV5rnSj>3$S& k!)Q]im:p3T ˞;w!iKܩ18+xHIPA?8SF1)Ti!S6%Sx!hq-gliHɁSUlS,%2xIyÿ;*pYSSCMD^^]0%/ mW^hF&Kb7/uqevh{ڦ0CO'&im/U9  VVK0=;#Kl5fo@ZtZMK] FB\ׁ6>) ( +yb1g=>kaLge@1xm&v/?'ޮ 5/oD"Ǩ׎IM\KL|N9r2A:_S-x/偲}ީK \g< h7LXרo]tDʯQ=?7th H4G] _#GNY?ޱ ]TRkVzlaJ#!? X㾝ݍ#@HFZ+Q)Y{[@ix(V*c"Ǚ|[}%Y$뜻+4 J9Iؔ9J70FU^zU5Q.s۽V ~Kь6>o:kvxeD."Rp 8foKmuer}y\wji*f_X[KB*A+~HfA7'6PeD({QP?=Lj )!3.P;xXKU0U |v'K䏬w5z[7cZoQING/BF0˻\!RO[_zӉA@ĐM.&!̻ 47v'rYD:L@ɞ*K59RzMUÝVKDMД ![F1`4nw[P"̤vksϭ2q(bc+:Ug֙ s3R*D`R`DE.[4ibIIZ:>ԔtxBBUjI7+e:tyabv C6}dHr™U@O7W]Rp7Y2͚fn'-#t,g犨qx6p3n);IGodLCܦhavE.]bT;.)HA5|눌~+߿憪'j39J8\LO;V,۹WOkΟ@C".x-9.*͜vZK^]Tk?8ΓQjTm07*N_8I7r%4v؎(y@ ~Ex؂"1?Y>J诨%w#9\nޱ7%Uo3R( h gO N+i[L^^eG +<2TxntVq$q6ol`E~~>3PBZv|ި3 M!ZTz *GG%Uh$Y-MP#kn"ƛv:dMUK4&J!pU B5bv9C)oyqVB-wԌqJd#mJD`"tFD5|Rk sc>t\ڷuzD7dXZ#j)0J-p_Z.La:494W@~h˷F7!.٬a>х>>" %.jC-IzE/ J[}ydDT/"Ff^ȏ|hcm"xuzWBp ^aEhOhUE%8/j2~h\1`e3 C2i 7(!.Hzn#Ί S3S+y QG];]J9Έwd2 4Z&3dqڬ7 =vI1T2Gфf=n(#0=^f/*k.`_K H^bk ϱtrKm9ʹ]߄%͛uИ"Y$|?2mg Dj߂?:.ϭ;@VI I2n9Ǡ)j($PohSL/L_8ދ+'zL r4E}IȢ\}"W,P\+J ޲,tzKDFk? vf R?UXJ=d>fJ47;0)]&4U}HmQqn P : P(+:CR{Kdaטv"kH4H&話Nu%Gx;}njƲg=ʞwOjqMKֲ,ԥvoс>(<њT҇ PN={0~..=a}Yi~I 6ݼGڽc.x2v< HQc}1t .+z%muT3G[ W"8W/26!B8߷C@V$p^S`p+['ƿª‹YP0(N)05:enƳUZ(q9Vd\J"Un^[-{KKuL{W$fJ*7gu+zK2pr3r}K}F#mKCn=uVp| NV8$m$U!]^G۷ #bXތ :K6. 4^ |qQiA[<4Jx8S IyT/1s["JgJ6GVՌ`p0?T|IE h%8sEۥ)Ap3Nw"Y6tcZ򋅉u|'GFZ zd9|EZLjNsnԢ$ o7Q?nZX[vԀ1U~H#Vde6#{yXs5yYFqD0wr*X.](当xE@y1$r(|wڲ^td5\#}@:nMCT.ݾ)"-3xIf_Ŕ:olt4x(򠝭'__cls!XZPRY!c.~;g@7IaqgXwάL3/xfi=(JySI88H/VrZ]h]J LwPcc4-$#b $?9#C\xF^F#1 K8hK܈Bhg\L6=ݪ ^<5Hk *A_ԀD o՝0I:d_De'gD'oH-C.XyliW®F 7-Ȏ 2ךDAj(G -8y44,n#Inڈ&GWάn^5gS5x G]@mB@lV]zG ~g4-uwfv&b[Ī,;d@#RJbsjjL3)kq@.JfՉ6jL ] dn H+ݸ(aŪZL}ydܨ13 UbjIW |^<YZil@ÓI^Ns98vqUe/߳| jõYA~.  qH!$b]"?uillSף;Ҁ{U"Ӝl=Olɰ!U[خi aҪN90:|7Ů2їjL+^k)6L`^WC"4#;۱I=@qD]dq2"zE s 羵Tnf0ܐBjnzl'iR1](kӧ{BnӪ 2^c|BPWs[VVf}dˁ!~k'U_S\"hrLp&H q{һ.},5BEbcy 8GH.: 9C4r ǡZ +xΉtx$ߙ垯 LXz.gy!;n$gu S̼Uv;>&F^U2V|Q:[gX=D,ȱL z<&38UI&uLiGb8jWI; :)+@XUlnjX}!lEʧշqqN6IQ8ñ̜vUUM""먋gQʤ,lUʶ޵J#2_&3ܹT0-@ 9{e/Hd `|ygD&%MFyʛBO$_()c8E)QTV4`k6?CyI 6zZSR6˰&rP`3Lț0H?K^Q#٣,[Xy.Be;Ɂ J?wMõvhd&;`T(87gF b*x^&6\ .<*pWKn x1{BTTe/7J'vN;JPuzQC*+:9zUR2iK.Pp8uAʹn0-DzJNhCltn`~z~aS2cWWJ]/ y3e>4I*EU-Nmp@j+k-Q=\!媴r5y=o`@TKTnmgc5bW|d4V0L XP\ó;=*=T3Y#`4'r{gCPђUH?dPA™Lri|WA1 V=jg2k!RY'Q,&FmQW32S.pM͛G޴RdMZ>ͽIDz1خB 9)mc]"'^y : oLx^MǨ݃`gJz녰I~"J^8 Ƅg%42jPo!LXO)\h'CDWO[T [Kw\V~<j?e'<2u`(j8i> E0ܿ "Uƣ-ҬI6ڶSf7|g60cg">j`ׯ7K2|@H o \RV}%ĺP? l:_CetK8]Xwn )}]+uW PwTN뷧7(Ff)jB 7|.fl,d9mmD*K=;TѝD.|PEDtav(%MZwP[C׽2 k塄ea;y{->~#Mt"YFb2u845K߇Wy A=?w 'e-6hBAz lM#ܮGk|ao8;f=M_4j䅈V =!q- sץӇ +hy+a"K0ہhHhp' "eQV~%bj* ,\|@W%!I],(wFe"rqG=d|;*;p7X^tBd !>et?2ц"=كs>],bV(O'h KtA#EJ3Iw9ixbd-(ykaߙNA֖s#xZ礜ŰT:y,؞f˛6 zs,vK RȎ|f4ϋ`0ٯdb{iHK% F$baZq졧1*qx)V#_g3Q[MPK)r%B =mqY \3}XXs1?+.[L!_ZdQhkœ~-=W ñ.t,$";2.J2!۲>p)r_?Zp@=$*̢a2"?a&O"I{m'#~V !ƪ_(֢oM+8sD:` CRzQv1%Esc{F s`Rq!^BУ^'ih=DX xZn$[[Dc^'Wg9r7a/X_DrMxp[ϾnX+$"C {jv'/;a*&2d'BM9mE7 NOrMS K S!xAOa­Al!+\ -FN#,6MV7_" N–qt b9M)|_O _E8̴r4sl]fݬ.z!%u8kz116Uf킩4>aaCJa5ܐgƒVyZEUei܁*9;:d-:NU帉Dڵhq#N[. 5CSYUH ؗM;n~\KT5^Т %ܦԥ5O$M ӝ:G,iI%x5;v^]uC{ĬV_ irptmfiJ",+Ó3EwW(]6Pe1pm'O]@NJ )oR/[f-D vQOfp+Ϣˀy!@ۣ!-ӗ =&d(N,~t H"J:v Kַ*GkP&H/{a?B8*4-EV]p]<߬a 뤹6\59#pZR&5[R h`?ڍKN$5ADVM7/;.Oʎ7cM+)5S+%2}/>S Y :>k2̹:wn:0;Ҥɦ-Hw092nQ~ %pg{MeX\&&,9 YZ