postgresql18-test-18.1-150600.13.3.1<>,i-p9|mMA1Eӝ)Ϩ.ޔhVw FZW9Al7EѤ$2-4ְ``֔k Zi#Y w9o\tjU2O(>>j(?jd ' E:E [z       0Àø)(U8\S9ƨS:ˢSFGHI#X%Y&\&D].`^KbL{cM$dMeMfMlMuMvU wY,xaHyidziiiijCpostgresql18-test18.1150600.13.3.1The test suite for PostgreSQLThis package contains the sources and pre-built binaries of various tests for the PostgreSQL database management system, including regression tests and benchmarks.i-h04-armsrv2BSUSE Linux Enterprise 15SUSE LLC PostgreSQLhttps://www.suse.com/Productivity/Databases/Servershttps://www.postgresql.org/linuxaarch64&-l#XOX O3P;W _ G "5u6Eb }  H8_\ f9df)k& En( ?6#CH^( |DJ0XHHIivGirB5gN-_( R AzsFj&j)8) qRelRI2h3G=GO~w AAA큤A큤A큤i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-83f01fc40d675d2a8925f4aee1c68ad4a4118b61e5b5ac971361053f538b6904ef281324e147482d6426b920a23bafd3fee151b57d59a913d611551a6a1935e6bffe1bc58eb7bac4f0eb44247336587d3d485f3d0055af0d596b178d393f85c2c73f7f96b087ccee92e8aacd16add78dc7520c39b706aab2a96142af98a6589643a5d140026fffcde4b72f6c99ffc208653cbb8f197b0eb4b5ebaba2eaf7450c309c7997ccf6b31745d46ddcdbb0e2283e5ff64823a22038bc51198a14359c38bb23338544b03ce9edd6a1c61841b6d88f92197d152c947db87644430a87a3707dbe59ca2db2c4b614c7a9911c5da8702d551a26cfbcd81b01ccdcfb2529b256594fc9d396317c052a5b89c84f5c25d44675b4c5f27ef925ce91e81ba52973dc987dff682279813b313d3700f5202e7189b561faa723108d070a697d9820ab241f59332622392237c33d997e605177db5d77dc09b370599005223b0adf901b5c972c72e1b7a2753042c08b6350191c2153a939ae18a5efeb460266049e244fb0313d461ed59f2d9a2f1a83c8dc73811b82fd2306f6a21d2e7eadd846696363c8807992f39cb915e6c26f0e9fdc3cc540bb4a259349e8bff6d4c08dccbb4626c740d44255d85afd0b39fed29a2fb35b4ca5e18bea981493480da7b74498eec9888d2a5972c8751ad18138164b99f561140923d09c2b872804c24dbad74c1a6cdb20215bf2ed33198292cec7bcd121ff035a73e76ecbda567ee5ebeba6b477a832d62f34bdc0a25a5ba36f2dbe62a35479d9e51a7326d482e418091ea2ed40e484d4ecca38ca21a8b2401f143c75d47e5b2a439704a7374faea0aafabe8bc0fc0e810dc5dff384080a30069434ea2bbf14c3b82c319f2546c0e4c12473a08036068a1a34dda1ae07ed7151b2603cdb15759dd9043175c763e17e76bff5cec9f3a721662e4737ee993c4bdcf80441e838625f39285458b9cfda3aa230dd4c6a1cd342b7c8db37e3a4098c5a25c24cd345c4d771af20cdc9790811d28fff024325684192db7f610a483fb8b260c0bb944cdcea0a56a5ff2f7dcd96a2412539c90d33287b842105164ebf3ab2193d865948c996ccd1ab6d8004b74cde361b3cbc4ae0f51c47c9ce25986d0bda41a670d5a1b4d3dc96c5f348f7a3795c2e0a04b202b818334d08c210da6a8ec420994cadb184c14216cf0ccd018eb63b3a30e76b43fc35d744ebbbf5cdb1910792ea944ef9b05c72a1641eeb97c30b88ecefefab65a46e4166f6767d3271432473275d4cf4c37eae53479c5026344e60228d578b1c01d26265fe1695de91e102b575dd88806078568f2c42b39fc9bd2defb4722503077518ff6c65a9202d4522ea24d57d7b5a3d56905550b4cfa5d77759b9f0572c9aa9a6264fc7eb8ff2558f28e03f18046596cf0e0324fe2e163b15beb0df4fd351cfe6223a38eb1f0517798c96d43526def146ea5378767767b4aa5e69affe76425d2d60718abf317ab404746b12a73b0a5cbf44a28f2ecd65e0c36861393d9a8a6e175b3ce450a66efb26ecd6fad3400e0981aa5875e80fde29671c00bb321a4a0d337fd9212c24caf79a58cd0556e2158524efb05d11cdb001afd4bc502f6c4e0ffccfb2ac223e03b41de6cf26ddee25e90c8ffb08b97976c76c0ead099e356fa3ea632692bdabcd9cc190155525165a7c5b126ddfd5ce178887208bd78f09556c797b232fbff2a6328497211e7d248dc6f744988fea2925e575f235a7a96c4e487103662822e03ecbd42a44498750e6f9853165c17bf43babe434435f8ad95b30df40474d5c457131807e405c9c9a43135c7e57490300a45010bb875e6b8a82472237f4652e21ca2c9c89edc9d6bb2bcfbb1176e44786f3bb0792076b6ef722e8b4ce60dcb00308b78453183694e79fb0b8ea9790ec5a2de3751d8bcd3886a99ff788b60a2aa4d902e8d7670801b1a529a13c06b180730322fc3d0e508b4159946ee3253b87f0eebee45f384c579c4e8842b5343b4c7de2c9a04c23e984b186a21726c118c36a397171029bf508eb3f07435f96de4a8bace4a5965e9b95a6035b3ce77c53229b9107b344357bf7d45a3bbf8e974e1c87af11386837880435b88fe283c7730021989df606776041f66254bf64bb4363283246d131d86a86e63e768bc1ccb3750e1e9b25d1b3eb9d5155ae6b3db5edd99ca294b242c496a491813dd34308c3e61f331eca46239b495aa6eef8d64a30683523e00835d1aed59fc922dca7abde9f61f686482c12771d6201f7000cd51d94f4a9ed60d667819601f51188a7df8cf8291482b54fa9e5c53851128cdb901eb4b82fc2b37033077e0c56c6ef1be6cf0f2ae591a6e25c6eb39db6f03955e527b9bd27fc1c8dee011e1056dea1d987ae6d14fb26497bd995df87e57f0f95974c9e2556469deff24ae9b680ac882d1c9621a4a5f31f37bafc031b640f86ad79bf7dc9c8226bd374145c055b49755a4b4487c8c3d9ee61989842d0033b2b5cb94dbc519414dd004dfe869a7301e873f40259b7cf47cb4a428b0e0d0a629417243cdf852d8227b4ef7921a6c843531af8b9845e685a6cf31aed14e1f6a7498926ccd13d80d1db053334d7291ab29a5f7c1b790b58c236a010d60c6a4f478b98e90bdb97ee5a4ecc00d7a6f5ccd166847a241ab89df59f96fb43bdbc225926d8a153eedf653c4c12d0b7f3da6966546a8a78fa356a7fc748fbe1b31f79b3b58d93fae43f31c2234369f772f7736d9ed49c19f9d373c40e3e9ce31103a7a7b01da95726a6fd0af4bfaf0530246550df6689e42ad3cb3f3fdf576db36ecd827052778f5a47ae603ec518a9ac12db7029caaa907d0ed33cfba878df2f1cc1ba6b8665af0d19719837bbd934d40fe6be41714a31faefdc583986a1413edb7cdec20c891bdd47cbfb2e161987ae669a501508e15ce912ae3a9b438f117073253dec22140d5e1fd33eed7c11c37679276fc04c94c5ececb3bfece17e71b79d37a3cd00fee98c532abaa221d44ca5df60bcdb0bc08105ed7b8b5a1be78a475b05e3fe73f9485becd0e0b0148d1160c9954c4cd7acedaf8d12df56d45c87ba69bcffb653167a5f2ae2b8e7c5d6df270c43faacddc4f67ab96f6363851b4dd7202e1dbc45e53008c633afadf3e3030f3cb46af9a6f70eba0d4559d7dc595ba4e992ba17ccb03ccf90abbc986fe2e3c682536ee43184196a9165943b53785a1c558723989b3142e5bc0d1cccbcbe5cb2ce5436284c9a8e3a0993f6b99b5f45ea404da674183e4174425f0b9e2f570f13293d688b0f8a8b59264aaf22e3ff8431666afca85d0f908a34e5d1bbe4985dadee7f3e301a1d1f44d989224983b1e106a972e650f17e2d733d863b30eea56732b97d722e68c5e5c9528262e5ad0f79d6a413acf7a20c06722667f82a2baf6e07efa2d8bebcb7f452088af3667907010b504307fe37fa96f47cd36085e47b5cc3b5313f277f392e1951e937fcfcb17816886416685940dcee907e4a0fd76b7649973701df78d0bbe057f1f70de99ba32a45b2fe2ed1eae9ec69176bdea4f584b83ba2f698fb4ee573628ef4417791a7aa2180e156fab84ac5ca2b546bdc990c8b1a307330786a930d99762fafa1e37b816457bb3ab19c74843a7ad84124f95110b042265580eba81e5be94b903b5402ed5467711c84147829dd093e176350d4f750b20010d18e686895776fdb5d64a9420e27030bfa4bc7bc0e5229e804fc05546d51f8d5e626b380e58724d56930ebffdd9df7c730cc0bfa03637a1087c3ba85b9e95ee14e6fcf0c6764e10ec9fdb792450c3ae007ffa6ad0cb8627ca4dc74dc66f180f4906ea49de440356442b29dc21f05b1752c8f3890ff2a5a96cc99cd1efe489e37dca57b100904c762baf0a3adad8466d2534702f9f0dbf391561bd85e99938623593517143e9f14136ec4c36f7a87a45c5621f843da9b4d4bd4a5863ca7c56988f1586f001ebfdf66dfc66315c77fb6d61d3b2be24354cf7d09438bf20d83a528a2b1d05debe0ea56f83c8c59958212293e45d8f96bec22910f13ccfdb28398e35e88bdf1df70c9e5b4102b731365c780b64d7dd280c0399515bd73a1830c9e0830d75a17a21b732588c94ac4f6b136fae3885b29a83e9c5bc61903deb3a8bcfdc3fda877d2b2e0f0ae23e178370e906c39b0605fd76eca864a3ae3fbd56aa56a0c667b03375e4ae6352e5d1841791b036a36f6dd998543db60a7360edda3f2414fd1c32dec1f8319e49be6eed959345d293e5e589cae534f8bcbe6ef74409bd7c4709d61fa1cfa38d8ea80e136d139ecf6a32b2fb4e4d87de670004ef5e808e9bf36f99413d3c86541bacf552ad4d867e34ad61a68a885da0eac5836a5e156eb0acfe5663889d14adfd21f925042b7d9de29a32fc8fa2573341f6143fd1b32ba93effe6a2ce9b26a92756779f71f76b80ee87e19fdb7167ffe97a8f0758617ac662c34dd24c3208fbec08dfe15e049f05b582798e296852b06d7f218cb215b553c1201b3c695d4309b5d5ec760fbcd9a80a5f1171aa522c27a21d650912d49c41f5d280f1ff8276ee1c7b266504d102a6f506b158a2ac9d73cfbaf66f55e7c95c995fc65df1214cb52f6a65b866f4cc0eec6a40d31894041577c4c29bb81a13bd4e0908ecfdd82e6893699d902f221d8db06b16a31ec87467bea48fe3d6ae0cc2e8133f88dc1124faffb09f9fc659b1479e30ea4132adb2c0530304c20f3fb69b74ce7065c6a746caea6e70879be766338b60c5704794bc52f0394bc9ec5fc2369af53147215f4aef170761eb038fa1df11d4d4ac96eafff40336a07d26f11665add3394ebce3ef0ce0c6e133b8ed86e998a39e74f32d8634091f2a1a25ac15b59aa1e9b04b1173784b8f99f9a11d1ea88005ecb770e95a35068e51f6fb53cd0f906e9dd1572c65356d21eea710a6386f84cf6331518d285f6bc456247599bab1207cd8d0cec44665bcfe020fac62f0cf74feb01f2146133c98f5d20f6d69e6a854cac0130b5c4424964145b3599d5d2a27489e5e45a3d036cf175d4e07a8899127ed614f8250bbb03a359c822f4b9a2439949ac2add7a81ab8caf8b972bc49dd60b95aba890282fff834efec404351a7532826bf93dee731a06c50ee95ae72861d99a7a56bd2376e9325bfec62226c4e1e5cb50f71afd937e8333f34188a67311cdb285bbf29cd1093981d6cba41738cbf1a13b0d06e7b336c918a8763da6b2e50615a9b306bbab13f568aad2b93b265579c9afc823ef6bd09aea304a193cf18172dea5d0792b08d97944f078f5f5b82b79d8d26991425ee959f9327cd89c23660c23068a9b934b3dc943f63f8fdb194b2a05f980febabaa86fb3bc91859dc974644c03bd629a5cbe259e14897fe77b4783aa58ec45c4db50b4ec4983d8dec2fe7a90441a56adcf6dc73d66b207ee29ec49ad3ac27cc8dcf9da1a1f44ae053536851c5c54c19b2024c96c68d0ba99cd95be674da449213b82421007a6ea0c7a0d3004321229bff46ed8ec2574b60cbcd1a79e14ca38a284ad893f756a65e6dd32d9cab80033008c5b7dbfb292539968ef58793c902b653ddfc97821285b56eade2ebdccef9fd0717b672750c5b1d81841c0227efbfe10442a7b89cb54590f23189786f7c708bd3add7180d17d569b8e396752472655e1dac75708c95564df6fdbe14be3a951d596886c4bf673c749e0f76f0abfa343216b077480c481b810ca5a973d20ced8a0af9e8836f48bcea1bf5286266b2e804146e5e3c27304bbac07ee7fdb1b663c9efc85bac2ded2d0aa89988070736b9635af0a1eed01860f9e35dc99b985428edc6361d9e2ca91be8f75515b8fd0d7e1123bef4534649d64cb689405c4b2b60ecde7ee7802e930cfaa324786169848f206d8835ffd0bf8a637702c339767f879e76ef63abf52152de18e610591d1cd693049f69e243654582f2df1649ee372e88804529bd14aff91e3e25f3b7cbb16dead0376ae2d16c285eb242c102350bff73c3bae1811b14e599cfb80f1d7e9536e6b6c149cfcb11e418a523e58266b65615f3576f66ee2df424805b827a8d95028d50703ea303353440b692b853656fd31f037f08e9855507e9ea4cdfeb4e1abb6a23ddba41e2c82e81c4c59c9c73de31e8c8629b3a8b33e1e61c904f6895d3bb981f2552a6db6f0dfef63ee9ac76f859b67db7498c060b823a0089a5d86237120d691b2a03ac2a21edb776f696e9445efddbd6c45c936b53be16ae05082c074b972686454f2d4acf84616c9efc7159b648bd53a8c1a751bfba6a57a67c5dab545ad5b4af7d6c1f99af124af7792de62956ddd82b919095c292c348e1a747b06a34a03bd04d519d5e4bcbdfd2db5ce8d4f9b0c4549496d2687683e0dd09186edd6a6198096bc3d0be3bebdf22f68c0a786c284f48448f174667125cafbf38330ec41b5630ef3c0c2c269b56460720656e89e9d8ed90f4ef84218508caebe82d12b80d4a3a689887d7cff252ab2f644de5d3e1699f50668ca8f5dac792a88927e7f2410e0b99fe096b202430d225357a113f420a46466b42a68952ed8319fcc9119afc1121fb22fc4a970b806200b02d24a0f5212130ea3083cfa43988a98727a0dd990987ef757e86f07d974efb6c94109e8beeab03d5f2451b297254df6b6dea9fefe97c5b25e0ea48ea7aa4c00ce13b845020a3dc81840f020dcc7dafcd6acad480d9c34070a0cf15da406c6688c48b5b5544d01fc8af85822ee65949c4d5acf544ffe229d6be56b3d2b594f7b18203f6fad6356cffd3699ecbfd1497e184c0bea1f8eb6ccec12d7d1717ff1b619bef2934004455a59ba556ad25f84ea61e3617d4f7da9fcf9f7583bc0c80d80b3929c289e04fe98b5b68ce45b34c180dcc3717a6cde6d9accc3c9f37ada978234e8fd755bae8f32e05bb869d8045204527ad7282ba375d3dab6a298f96314fcdd5ffbda52a8d5254b120a06e47281aa5cac3d7531b542bc5a98f513cf65552e0e3ed68dea56a55c0620c6d936f935fad08dc63eab89dbc60047e2f25f1d7c1dd04776d99b72d35b739ee676f7f78e083e3f3ff80016bc1af28c2b1ff6c901eaad186df99d12c43498c810ebf403df6a63be1d177376438b0e0c6ecae29df73fabb233df06e7961323d8bd7c85992860da1fc07ea229b3d2cd0f9e88b90f299b635ac8c1067ba22effd20050df81f00b96f0e7a604b3255fc35667cd1e66c00b5a42744af4ea16f25a2d0b524caa72cb7d3f16ee836ade031ab48e9d043bb10d2e0625b5dfcd7bf455c6bf4a15c6e6f076b414a69b5fb5d4c119670c2405ff82b6b11b5149295956a0b8b9c6e45b7091e60d9aea958975b891edc0a4709fa63e178d5361cd5a348e18324edd6eb30ac6714d13b415caf77257d447b101d53057ec448d049436d6e58b3353b2b2f70c3cf217485d17ebdb33e299674dcfb2a8a9573e5fdd3c414c5aeb582a31b1d64705eaa019c9e8c91a5228ba9f35e02d49faad7b11cc27d5c53f1fe76feeb573237cfce51398e58e0b39da4e65f9d55aa1c39d7c79e50d747c3da16e0190a9e90c8fd5233c46258e808c0c955a1895579fcacef37d2f8302ff0a2f3d740bc34037c17cd62e19b18e9b591990411cdff2fa89108fbbfa251c230dba7dd6d0d7998ebd5268575d52d2c4e759fb739014abd6d824693b06f5da803e6a6c4ee374125b3f7f8ad3982e48061bde174cb5e1c9789c80c8a9f7591246a49c7d45d8452050a23fa3d43c3723b4eb1f266dcd126a9bc3fa87506d2778d104ffc8fcdf3cc29f0729b016ff1abd9e43ba0d3f9660b487d16a68ea6248cdd8a3dabcd9cf1d88592662c62dc13e265b6ef0c9ef330390ef0e24ad9fe6e716dee72bb444b01d6383bd948a41effa066ba7ff11a0b8cc778808beb23f0c92b3e9daac44f22f136e364c70230e03adf1982e5142e37ca875608cb5dad138e39575a19b1cfc804685d617529ad2c68c36f58fd106a281952521a0559f83c04bc26e3016a074df0f1f4b4ce5fce54393cceba4d453db8b98aa21bffea6b820274e0852b53632b23130d577dec7f8fd8bc4f30d21b0da514740b2601a38de07db787ea6608d6b9f45ceb2ec38e25e819a558548f0f6ea3ab8311a37413bad4ea83b43cb626a941be813ec0df2912b98a946a107687398a6ea640a4c999194e99d7b27b41b920e4f4384c90d9f68f49e4bc0fe8a6f296423b0f4e7a4bf577a0ee4fbb44f8fa7e39cb19dc5fa3fb85b42761a974567d99ba302a2df1f9e51066447a8e4db05b35f59f32f2a68317ccaeb97d56a99c291ba2054aa0063a7636a8a0d8efd6f0c9d8b4c9542f8c4d3d95fefbdc2d33fe8af0f8a3e47a82b5f34b2c858c69a4caed15dcd3635c90ab29192f6cf6564121c95dfed82daefd83e81d4ed07d3417ec6ffc67624e767573ec7dd531527cc3015f5601fdcb933f66c3d79276964f7dfac10fefbbb5b1c8f464781fc9a50c3c9f3ada4295f97f8e66b10f95090986e7daee3f8f0b3ae4c4027173f617115c8176ae1f8994ace2aa5e282e9f138f145173d7bf4d394014f13cd76c1fee487756ab10f2554e55561e137a994a4d944d7480dd36457e15796c1cdc5e9755e241e73a64afbb4c76505fb59acbe8b1fa3f8f32b3edbf91b2555835863fe59e86b720b70ba3c31f160fc1f4285a19ddff76888b304b4016d6eee766f6aae6acf4dfacae8efcbfda096fd30aa56f1b76b27e0936d4731022f8a15714c2344a7d713fffda095d544039026efc4430898aaae7b35f4da5a72ac83bab67130dac9158b7b2dec450286f3e323c12c61b66f2298c28b131a948bdff080a48522cf4b46e586a192a6293f45e7c30b7ea2b9507e1f1461a3a6872d4a480df6f89d698d10c6e99e4a8cb88232bca064c264cc2b68fc5b4ea1ed8648a3990b215ac054c22679d0c36622c0c1c7bc616099775f43099bb6778eb8e39523b00b6405d4ddbbc5ccc21f25142227fd0dbb6d288e68ab926acfb345985df3c2901c2302a0f6f4c89cbf5992f99829cee74b0ffa7cd286c823a5bc8e66a0302455d3f3323752c8bc29d09feba84fe378ef3df821986efc7ed4cf34bd0997775562ebf4732733d958063b6621776880ffafe0be9af60d8fdde0e81965bcba3fdd604dcb268d74c77de271b89b06a3cf21201aad1e7927a69160bc9cbc40b90c195d7be39e9e212a0703749f015e369632e9bc1f673fef17dbd74009d064dcc950c7202d8941e0433606e63cc90967d90ce4a92d74ff735628f85f4712988c88a5289f990092d5013da6d4926eb1912cd0252cb567bcbc0a054680667c68d04ceda75b048a468571a820c5d476543d4ed6a1a898d01a40ff5095c8dc04cc5d561e0261f2cdea97039188429f44a3fe667233deab0d661c488ff653850b86841c8f7958265c5827b7c198e100db299a8de3058fa6e73e4c7142b236e6dea16c806b4268ab9bbc312e2c4952da08ad3bdfc510c4db1a2462e12b5999f9e657468ed7fbc85ac1eacc370e7309b093ebd8444dd97925afc0f2b3c30eeef2aa01f622d1bf2d070ba0f1cefbcb406d370c3e7f6cc01ab07acb1b4e7c9f40b9e97d7a8a7f530d196b476ac333ebdf27c4d1250869e80dfe3020d0711e79e73d6ee264dcfc9592f0e918607ee1890d42398d44b5254efae56908b5537674959ce2eb3dfe29a6207ce7557d5660cbbe9a02342114ea106d976003bfa237df0b0fc484141f1cb6041f4c9310bc74cf919cb5ac7eef0a698e001b26171e8459f7e1ba1319603bb0b8516d31d8f7798e9f70853e99672381f7f3c4558ff96ad2457c2fbe51e75d1fed4e6c01b6f4fba2332e40f7874531ef0c077171c8176e6ff9b7629a23789c99ac225d57cd42dd48b32fad2b063e43cbeaaad71581d1410ba642912f93dfeeb3b9dbf5c0afe360528176b97cac3d3a8bd67d2506f620b2242a8d2af2c61d4bd4a87c95846eccfc02d1e5d9060ded6061197f9aa62a5e8b06eb69b27b21a77a96277ad77edc5b192ce1eb66d9bdc87cf320e3cea4cb425cb2894def2a904b80ed132b756c75ef9ad199930e31c5b5f6e3f6700544d4b40e65b0c6f7eae55b3d8982705753b20ec3363665e2925f6d2590a12fcc3b4b1971edc20e2103f9627d9fd19bc4992dfce276417be70affcfaef37b116ed74205cd08d58ae8822b367da07a6667579ab594af470534f3f75822319216dbd447691890d5ea434c59aa88c9e7667d98283328b5db643ec1a371d6d65db189b40f49443ea61eb077a550fffb468359b0e7905b27bd43fe5e86cf4b7ce23374d4baaf80dcb8d9088298171477d787339e662131027ce2d3aa303b1a94b16bea67fd1857e3ead00e7a593535ef6c4f6ef497183d310f023f527e1e51558302d6678c1f026470c48315b4067a1d9b5ea8782d003b97a4478e001d1253c524df891c123c3fb535226c1b5eb0ec670ad229e273cf38813e2c3317ec9113d27e83347e54af4c3fe774e7749c25fa0c674af983ef34fb658df848a75c533b779445bab485abb8df1ec28409f9fda8ba9d3deebceefb7f2d58c67b63b98c6b9ac3ec4d2b7ee7e5381e5190f0267e5a3482ba107b7b4ae1f409904f4dd1fe4a182d01003bd66fe696843298e94bdbba7c524cad9c97aabf7905de8b31c5db44c56969e3b277467ad7d767ddb43cfe2648722a6ec9807417fdf3b7f8e3704333f726391f7b9faefe53613c8d4597fdc5ddca18dde733007685fc0d93cae52082350a46fd1f2e07815cf36f71fa819b3464da2b62220adbf09bbb1ace07ef0f8c03c6bbeaf97adfc94eec3cb7ef54036f2e7bda83e52d69a7e2f0ee6a0ae5cb2f5ded1dd8fbe10b2129c49e642fe023f107ea70211c892af0a7eea1f5ab1e575cd9dd729c5fdb745a4e4cbd7ac48be704c7e589d8c34cec97a3bd7440820bff117b584ef10f384b858851e9e1af62b79157e3592fc9b2b08892565dd572e996f58a4663014dbb7477736d5290aac508e8de2e1a19ad1c7d8e0235d76c1cea4721ee41d44119d96a33884c545a9512d1f995fdc3e937bdf16b4069fbec4d13b08dfd20e0de3a6a13ba1cedcf20b90198bc72d51d9cd00b581ca69b09668e36e6f104c2b3a5ac46a7c2b0a41d5ce79b3803b2ceb91fc66662c887a7f6667b8708f0aa98270b120a459af4940cee0f8ed4e64f86c79327b641f831d62e87c8605b3f8c5e23dea6603af888c6f1bfadeb2d700ec85333ac15e5debf28ad3c288e4d322cf602a271b722666fe86b567ff0053f6de1dcde2ee1adb201543b22b34d901e6222d11bb4fa139ac597c5edfe9e60a8582cb3cff94e4f3dccb2f7d9161f965d3370082fe2135f02a7c53b307147aaaa68f96e689c00a940bf222ed51ccb3f650fef1e8c6c94eeffe8a3362d555061cc671c71668fefac06e133db26645d49573506a026727c3e6de0b53cb7d1122ccc5d6c17e319ba6b688560fd4de21c88f97e230906b8b60de2ad9e5cb72a80a994f757b2c102d0b913ddd29a8ccc934bfed883bfd720c867da7ec6f4591d1136eece9ef6cddce5c6d061f886173cb93ff58cb06a1a12771666f04701f3e9ea36a4f4ba27fa8210fdce8f4cd936f5e4d8266eb3053d9ef05556b9e2c317188d101876bc86038ec2269ef2acc6c579661c311fd98119f4a76a10c50ba90a9d55f63962311cccb4758a6f3e003ade0e5997432cee3ccd5df7bb771e29a863248b706fa4710a98105985c1a716e9df843268bfef2b86802731823eaac778fec0f77e6549f1e0d7f9c563fbe75666aae1a868eb8640d49a9efd2bac918d2c370863a6d772ce0a2ce065cd81871d77c0c5a8ab805bb95a28642f0742012ea792f7a7ed01d830b5295ec7ec19699e4331cd8348dbb7b5a84cea6368edf1ec8de4e6b66862b1b48cdd87ec48c71c5b8efd999a6833440f810a0096cc36c6426754565c8ad953ad73c745f36c3136c0c1c2e3fbbae34479f2be0ae46d62615f27eda6dc1c4790bef0b441aafe8b2fbb789464f83ce0b7e1a43557bb832df55b4cbb98ffb3753beea2ba905cf49943368c626f65827556b8f4efce950ac1074f4351ec5bdc0468609aa646d379e2ecf09b921194635e8a459b4ff30bd8671081c46d95f63177c376626dd7f36331a8136fb674cdc316314f383ad878adf0caa0c1e473bff95a6123344ada6f7d0ad0304a3a534dcc81cca452194a06dbc173cfe4fdc7b412a6ce717232e1633d24c9ce5ab3a913bfd4ebd2a56db9b398b0524aa9c506152a76dfb21ada0784c57b3bc10015324714eb862af5321149f022618b92f4fa726208a973497fa38c9b9c2d56e00b170069a717aa2e49c482cc0e9c8f42b4411792fe4be6bece125030a67c4918877e51afbd8eaabbeeb6aa0069f8638df2b5e131bb6d2097799746e8a986f2450d02f7cfc01d8a3ecaeda1c7bd2d398f582358a9f3127e0fbd52bee360518a18c6a23c04f4dec817d7452b511eddf4351a6445693054770962507be3bdb3d35c834b86a42ca1edaff256fcb070063932cb7314f1dd05083e84fda8263b8aa9cde4855ceba9d5d74d13edc1d83af1279e8811d67ed0a40ce15b58b29554338b6289b2cb05a34041120a3f6d90b458d35547c05d764e9c8e6e5add94cb9f029e0bc80f9279542b288ea76e4caa390efe6488ad712bcedb389817b1db41861a63401da2c1ae0e1e515787c3eeb00d490dc98aef1ff7aefbee90a32ba103a02d9872fd5b1a790ca888911e2c53caf805e410c1b3f5c3fcb0aa26a9c0d5d5712ddc3c3685c2050cb3eac0da45aa18506f544ea4ca8cc8dab192bab06af397d4d6aaba6d2d4683e83e4358fb4db57212aa0f91740e18ef7033f254ca9d1688ccdc405ad3c467d3d10b125a85e62322f90140134dcb78085e1abdb35296d5966c374bdfdd853b57016efae8a8297ded51d9d37c193076c8fe9a9835ddfeab5f4d00f3801da5009b118598a1f36b115617bf10ef4ecac1ec92b17fd4a05d5ae52707b366747403a58355d183d9a357ba58c14ad4bb9fe9c627ab6cd7e57555eaccdac591f119855d9c026b1be5877a5f1917972b205f89da51ad43160846ebf2ff25ad44773870fd0b27784ebd1fd0d520833443dd6182c69b017c75da17846d8ddd2214849e613ad75081622af835e0449eba961270be47ff881e9ed43e811286ebd510ee98de123dfa0607c9d27b6d8aec7c6ccc90f39eacb65b09980f262709801d90b4eaba1e8618e4457209bccae235bb49c55db101ce143adbc16a32d44341aa78df0b9cd87b3e67963421c4a3867c6dbdda83ad209a412515a6a0e304b60b38aff59a9bffe8ef432cae0536c2ba1c1027574df41b257a2a66959df5ac33d36a4ba2183ed7f8f80cf2238bfc02e307877590d6e0e09646227852d6362e0f3e549b53a4714f98e71bb802fb2a16a9b65fa96d7b95c5ebc523f287cf17ac8b9b6f0780f1cd3798f7d4f9b85577c85c66ce94998642083e781e43586821f7f8dc342f6bde0ed03a10b117ad899c3eae674dd4367f7d04ee8c2a12abfebe967a8f6f3092d8411979a7667d5632a0c7d5a164533f604688d9eecac98521749e0d332e6f82482bae674e60be46e95abf051c4e0961622f4c0ff5afff2bce641cf14f95fa2236fb16eb4b01a2721f7fa111473dfd6ea3e8c3b89f146c32c89c86d7daeedea1a723e28f431193f3a984a28611b8e72f056766f43dfc9626301e8e8afdd174d6ae5432cf36b5bedfa6e068c81a8edeb4f4ce2d15ce39ee653186d29d04a191ffd039096dac9588d8fe60567577273cc5866ca145dcef0c5b1f9ed6103fd1b22f9b2d8434f020ab7610896bf42e08ae2b521547f7d2008bb2b213f3156ea05e2983d348b7cea85f78c685ad15085206d1aa09f6dcf303a76379158d2be119793047f9d89ece238fe5ba88767fa2f6e526c973a4bf4d040c96474e424dbc2ac39cc59b9868c945e344c5e38cd1b8422e6acaff7572485ae6dfe7542d3b7ff514652f8b721fe9f78605294b1d633dda7e968146c35b08744cff8dd7ce91a5ac511179b99a0a83075a2c9973c89c093f9d1d48c18243cd0f0a3966e5e0b0fe3be84cb9607947d2d1c97752b97b6cf5bef105c5ecabf02d5068d9c704e0be8ee3a808de75d4a8987d0dd779912d653de08d0836c5f18e10aeb00210ae901fc0a97481583e347f87ef37d2f4c46dd66703c5c7af854db954e1744094f5522b77c8131a9af077487f74b08846cf67acf436885858976b963ef0b7e042852cf68b4805309e6e9a5426dacdc0017543815bb5284b7e5420f189ccff95d468647181a9320bacb1aba152f099420501dbd795a74b60ab94c720eb7376d353b93abf58ad2a840e85aaca0cb6901ed6827532281070d9487e092c6909826fd20673945555369ba5dd38aa55fff26a3bf624cd4e49d0c8ea36927ba2cc038d2dc7d8b61742f0a332445cb06d761774c9c1437dedd00387370fab0c6717400118d2077e720c9d707b23414d57f423e57b93358f7fb91a114b291f597a9c24aa99e1f7412cc3e6df282bf9be89fa0cb5c217d741dbd3dbf7eabd660d6896e74a37bb8475f9c39b724b991dca4fddad07f226a4c2f1a80e308f6bf9591cef56a2a801812ca95dab280624e19f53f3babf8acda03fb0fda1b9535af3ed50dd6a8b0ff8d3d34c77eb7a7f3a6ffef4ecc7cd0924cebf4db8f62e4d1fec3008bd2847c22cca8799735c085cddc80d56c083aafad268a8c896d9a8f086dc59f875e4ab7fd5ab5e1ec112731f01f7ca6e6a3c769558f6dc1489e75260cdd3e479ed42b927183058bbff3163d44e6f8063b85fec115d3626d4d2157e1aa8521b901ff8c486c144fa3c02c5bd0b59a77840a72c47caea4af175104de544c030f8d67f50704584fdff05e893e27f98a33cdfc52a49c5bf3cf168e6cb927aae3557507ddd8a4077dff7c481c425449253e05316076248be7d5969db6baa4854bb5b5025667310e08a0550ee72de043be69eef47160522be530340906bb3882e2b5c6c09bc0848c4a03081eba0c26fdc09684b3556f74942c7694d42bc7c0755bfdbfa594feb0affb737d211c5ee826b2f1353de99bb13ff7994f53c975936b82b20a2cd6212acbee4d51dfed5a42f085ad0cd54f30f99b8ca1418d875971cb80957a9a7990ce65c73dbc9bdb76690129e5596a4c9e07a9f30863d3c57fd6c107a29402e4938c18b87f6d8eb6d82f71b7a98eeae88d6d22aea94c247ce735e607d023bf085781785fb6e2053a6004bd914c8bdd0e7f50e3a6693b27daa326bc4fcd8416db261b948c53deded8f9c4fcf928e60c524356a72450e88ade8e0f212c62c12c56b83ed8ba2db8865007e18e13c3df76a78d5a30268e172c7d362432e803aa830adaf5f0206b72eea93e6ba433054253deee26b99992f3d8513d3937a8e5f38141768efb7859b005b8fef73f395fdf3006ec22036067625e31c20ada538e93251f83905f6614a87c1fc1cdcaa2e53c2d26bc4bd82762e69884eb64cf453bf8fb226299228b7e7723896bb34d86863fd04183c7ca522ac283a671c4edd2e414efbb66c82604f3d3b1edc17a1e44d61cf3db4c3c570c4e12170d7a63c2592eaa545fbb57e93ac13de0902e8b4d8712078c402b5152272a5f502a79d413f90ad27981d599f2a7138df7e76301122f6d43217946702b386332a927363c780a61a7c85340c86df6ad3b6766079847a64fc911fe146edd0111c56e92e2714d7431978f43bdf802bde31cd76aa84d325f4f71425e663d3ea3494e36c0b03f08a0c54d22711a080303f7fb949ce42687f86e36b4cf628f1134659bf2e270f4f098d9049c46c6f863567bfb39f415bf6ea94e1c3a91ac5220e8759810845380ba93d5c2f904c86357ddc0743a586ed135123d1b5a8b26a24c282c8f26c076ed4ef19ac2538fefa8f184ad2784e84aeea2eca6254f52079da6a55c4d42973065126f0b8097f91334ec1042b16f7c97212246c6e92530e30841f3d77a4260a1925f9fbc82ab99ed26bc003f39f1ab576f719343b5a7f02d4beb3748c57a85ad2875e07c73e039def8d60bf423797f046ff9745a243694c419585e0fad555057f8c9002dc3b72fcf07044c5545756af5fe49fd09ceec95af730f9e380a3d80e758c4bfacd0d0ae30f07b871d2df70c866f25e19fa7d543e5b4ffec53fbd7fd4059fdd36de3872b7186b0ec795c05e601c79f5ddb6511e484ef76988ab71c9c9cb40bf3ba80bc9f2318442e0d9c54b94b21ab37524c422c09c476b21abbb339718949572ff3f840fc2a41da9c74801357b03863ad1ec5a0aa134cd6768e176129350783fdda3d8d0e701cbe1fd19968c6deaf7f1bdbf5826ee2637649e2c2e34e501b0a8b21b5adb5ed128ef18b88d60414f2e43ddfd69d14167c2f362a22d9beb992e8c4b19bc073652fcb36c8cee4df41bc42f49f70e4d9aba5d760db25e92c8308e8f17833df9fafd40d6e647ce84913f6a4ef6fa484a364086b825c532bab1fa8619cd780635ec8c97f83c82f38d3e8e8821ba19067532e78450f8678bd712a641e88be3326ba61bf32784b06bfdc80a22c29e923746a53fd69ed52234bc5bba15e1e706e0e919176455af7a14a91bee4d22f4767e7e78811431e9f42a275b12394ec591c65562914c702fb96897395ec1292c09fbbe9ec6d4e84881f45b3f776fca88b6be77c30f08331b946d6901545d34361d47d7b8285764e0e8f9960733ad49a5421e99e0f087af92083cfe866d875c32d752622bb5b1234edd9cb4e8f742008700f688602674285669dd135411fb6a9555cb0e8474f0c26be9ce5c0e9d780e76c90a2113ecf81d1383cdf1b855e1d4eba5a501ba2714e558a5d2b5b388edc41dee8d2b2949d6d165955b2cde85e9345f63856370429e99029c3f41faa0d89b4bbcb6fe7e466df6838cc91c9118868127b7ba3ec29183cf62f8a184a83c72314224412191ecba3f68aa5dd85b783374620e61670d18c10874c641ae663ed30984f7847cccd9b612c046bbd194a4f6198df2d14c3d1810a9071eb6ed8c3aff6cde97b0c1ee120d63f2b39d88c9740bee96a15fdab3af5a2287f2b2e470f806a7ac0f1ccfb473535c9257d6d64944fe7ad2787de5515b80fae535d4cf38cedbc52065b02f16d0d79a0276d679e440f7f49ceb73a72f32fa2cd671099fea4b74b2a40a845be26213739a20c450896c44ae41ceec3cfb31f8cae17cc95a5ebae595288315a55d2444c9e2b55cec980bd49935b81fc45c1c710cca1421827b292e549e28d06059f96aa42ad9f2d8ab08bcb9c1f42e35ac406bf43cfbbbf1dcbc50653c2b9ad55fa80a1b66df649c4afac15bd0f5f2e74d282c77fa49cd628dfc120627bd546ecaca0adaec1b5c642a73bf39d077b1873b7c8f184b6d91f1a4dbe118fb25ee91cf8f9a013c600e0ede8c26d0b5bdbd6757d68f7ddeeb60d500a3dedc29995fdeaec817e22a66ef7545cc842709c8350e695f6a0c8fa79ae737c3fc0abca46053fa7d7dbe968b52042319a0f45bb17b8f72434027de874092114dd035bf0aef3b8a4c880e6c7fed741247c8f8f76358e4edc74b24f17257a94a8e6d9f79ff7fbf8f3540782a7f80e42b2347d28a230ba98a0649d0a221a4df5c207c680796c4cf867cb2752216c39f807fcb31587d0c4006c12df38f6c2717ae1f021ae794de51bc9471467242ade3f0be14c025bb8b7eb9c2806c0cad66b0511d3bbf3791b4a3c0cae85c36d2f69ce40e51bb4a4b09b5ea0cfb703129455bc4f3e1dfdbcef369bf411e85feadc5cb0e9371e705dfdce8bd53d2cc4aaf71d94ef7aea7e864f21f9b684c962a9383fedc5e8c609da0baf26df878ce30b1b82360c35f92cf2b2e6e33bec94522d03e42b23e661bd6038c0936f12834270c75796054659ea634c667696772dd08552a7d440fa48ec47cccbcb8500fe8ae38f9f3a3c68d1d52f0c0ddeb219f996b3435b70df4590ae537d101e96ae0ca52b4b39da250beb5c3604c7c8481ed4e33dfb41ca4965279f4fd8136a3c6203ec6164dc86828165d102d9b0c2238f21dfe119a2882145e1ac70abdb09d828aa6d11120b1a14dd31a672d5c2b80545b5f1aeee245cba1471013722d8b8484b47d9aed1d2c0fe9b5fffa6537f9973cfbf4efaf69321685103e17d4d53b10d967eeb6698dcf2d83e8f6d1551fc1b00782b8056313bc59a0d2247113748384a6cd4dcdb15cb6a7a8ac2f039c60345a4a396eaac9156ab35e5ea75e88374c97ad1a1287f445e65c753bc1118ddf424b4b933a625927bc70dee31208819e97a70a066e016d13bd33e0b37da029a9f46c4b80199f8aaf5bde830eaef2cbd736b3d8efe3b696f02779be87651fa6652a76c4538537483997cabb8400b759d924e4aaa9e9592bcb66e7096af270481bbdff4bb751b4312ab0c8e1dc54c43f7ff36236c6dbb583dfc1aed628bdba130826f91e7f113b6d8707803e6e9ab007760ea0c3f43987118225f6589347273e9ffc7f4da426e1880b0c29aaab92dd359eb0fce0d4208210d8d3ceb65476d31ffd1f18152612a117fb8628566908a1625a59900324b5be291180509a2b5751d91c9269c91fc25b39175d029033a06bd3dee9a88fb5363fab3c09e526944dacc3012ccaf817e5e0830597aa9bd4235b533f827a9155dc70896b88bd653e68297a8c40ac8098a5e59b92485cf032c7e4c9cb9dd5670c077cc25f011839aa010bbe271c50103e68687dbdb3be925f7814dd1ed395bc428eadddca109d326ec1c5f99d2494fc636a664f7fc6ed82ed8a46d9f1802315ea09931d44bba12888aaa520226ef9903124403855b44cf9e9c469872cf634b2b3354f12259d932e7b192bdaa3b61f6d9e4dc00cc1612141a12e6aa8da0c8ac5291b534ec52227b07451647d96c86f8a751ad1a5fc6efa2b74c7fc794f5e2ad886b2fc4f9c68edcb463fc902f83fbb417e457a65f561ecc48c863f8d0082a5f743568cededf46b5a5770714e3fb19dc89ed3599e4d354097dc1d6aa14b13390f8655cf495ec43b067b8c726e97234ffb3296573a4ca4cbc4596b31facf122edb82616be36cdfc5f8dfc549cc4d262428044c0427b2d1b72cf75268f39fb0dace7e0b951746b20f4f7e82124c888a78479a5685c3f4f60ae36f2a29ff01b586d7240c9bb4652a82849609d3e96ca60abb7baf7cbeefa01745efed7fc39f3ac380a872a24f0a7e21020545064bd0c4136aae3eb58194c5a228012f882d62bcbaa714136b67aa7c6abb43213394222198d6a0632bee15fd2bc191b1127a02f3004736e377c5d32f52faa7f93a6d015382986913fd8e9e678f01fa6c52b5287a3d83646b6c43aaccec6e77ddd5c844ba333415f4999dabefa3cbe89c5f2f8aca444ae88d3b77dcf2909f82be7c5c166c0c44ac1235aa515483cba5e98fabd96f51dbabb30e9f6f5772da977433a074ae1aaa57c2c54b1d44ab3b9c2c2a8f1483002e89a94da1bffd20e32f9665d4cd10a22763768ca6fd2686b1219ac60b0a36db7b87c70287f63477dcd64eaa06867f2829f9f761adeb829708f93d4a336a1989a84bbd60c32bbbc19691598516fccdf846f5f06349ee2654eba5d4d29051b02ecaaa4aac19bab54590495f4ac686bafa0cf9a87aeea10223765a066f14d36ade578a5fe8b3269b5659f850246114139d46f382f83b1525aaf99a1636d2c859393ca9c9eecc6cb69295c59206adbeb4ba67de00420a288fa1ed49751aadb1040273151f9ad765c97c529f8300694c8fd442809efffc80c4f803d67159d1605cad80cf2f810174cc47b9d71b4d2386b0a533a0daa9e48eeaf3052d2e3a08fe635a7271af16d3eac2d094757e52adf2a991abff39e9b9bb975b877b8dd798bd18d0c82e32e38ca0f2c8da6c7ead538d93f3ba44ccaa4240ce6f81a5eaf1ac3ff114a860b51eee11596f525a983e4af1c03a7f0428e9a9e18b312b9034feb69ff7be2b322569695ed0a8207dd1ab790cfe5e37b002fdd3f9c0b0d4e4d2c67aa5084a397a26753082e632840cb1eeb939743f7ce083215b60ced1163d60d3c8ec90520d3d64eb10f10273d0837155a7e4f0b3994d40e197cf35fd613dbb4a9ce9847945b71665451db39b47df1344036ddf68ab250862609e569ffeb70437549a8244b482f8ab3f594bedc13c8d34bca18057f7bbb4cd60ffd9b640b2606d83a41890e7603b565c9e2acdad22a1601c21d953a95b56627d864aa410e2cb5d2b4983fe2aed04411e1acf6d3dae4a28cf38a6e7db15c900316feda36154a9f98948345be9c01e6ff335e1ccb88ef8f6a9ea586d41d8aab3528fb050008fece2f91d227aef0cbea55aba43746108af29d44d88917f7119715d334e0d1ead638c684889301106a5631251b64a29a19a9cd428968593d391b25e0a8ea895f3b2ab6529278b567f30c06a9a73672a1749249ada2d624b920c8768b7198161eac47bd8d8e608dc4a9fbc515720f3f015dd07d3f9022af4cfd2d639aae92ff57e79247ccc77de93ff40a7d6f2972655a3b9bdc61991bcc219711bea823859cb9ab5d23a148d1995369e383b75217c7db7fee38b4c34f36546b57143e39b926caacfac42494cebf178a8315ef1b8cb18c5cf51326668c08f0fe21358b19fb708639a519d1b1938cf04c181c2ab5b150c9b53fa21774421bacff5c4cc5a8936f83b75853787148494b3a47bad833f31e952b2abbfcf70875efb89b67d4c143b1dd5bf8adb623f24960d979619f1e697612ba5d25f949af72db66c76666345f9c68f6799daddc61a5558e2921c2d30f45dfe7e1eca8a0a62776329a86b54ffaa82c50db0e9a8bc130ea264ebcf36f7abfda4bc6e673092b147671342e3678d9348e26d8598c9140470181dbf79b07b1258b1c17a4f4b58531b5141f1a469f27fafaca32bfb3bd60c21b8a9c08ae8e6730514084fa475595261b863abef395b4496101d793206f1d555fee605588303edaad4130a300277803cfd4ba96a5b2f101644f39172a2baf2ad61a40f0b37f12c951d1c742d451fd56cadfdc3a74787382d2601f44b8498b527d7a59ce977c0b4c1bb536178302a3075275315fabcd95166e504b14e9feaef46597b1828a9f1e824a60a9a9a348a0a99c79acda71e78e9c9520e0a4544a18f83af82114f7eb2d230209547460a556b2c38115e08494f235a98e562e84f9608895afbe7b72fc015a39e23a4bc4470edf8669f16eb40440e16a4cc089eb156d5aa8567b2ead91b659a59b4bea5a82290532973bb8222ab0f0dfc021e3f55bbc777bc06e1fa5f2e9862b5250ce56aceb5d843d9eeb4b997c5b30d43fe7183aff92c0375d5fef2d1f58f78846beaedf452d967037dcecae16e39590061814b76baddcbbd6b7c2e33772da1224f0dd476297ab7e4f7c111d94ea8783c22d74d1b465f8575f2f37ae71854a9e8e1d4fd1f962bfb81a33b25e0ad18b78de1ed503a76fda6550881065cf33868437391561f086a15c68e8f0c2c8ece5a750ab34f4534a043740af120f1d3347100fd7f9d6098f7f501c602d9a70282be81695e4ed038dbde253f7198b580f2b33414211af17531128a79cb04fe724aa5fcb7953cd29450eddd0053cf10150e15995ce68f4e2f639cc16bd5e34659b1e61c5e005b488f306c41a349a55c768fe22a2882f0955ae8ae46d26d5baadcf7c3b1f83e5a2518e345aec6dbaa20903150b3878ca7339b4a2fe9315944225ef43ab08ed9e818bac4d43212539c87cf0b3684a4048b21c6e9b6426b83c567550af9e85bb535b2e8bba3cb5e83deb6b64360cf07e975f00d11fc4c4e672d2cc19d414b4bae5fc8e87838f89ec4fb2ee325994fbea6c8fe5bfd2d7a7e023179a6543089f74ddb5ec458c8f9ff219eab06f48f6ea13767c563782f80569ce364d0960cb70978640d3e28148196b6208f42e36c642cec3f8833157bf9ff9763f1dcd26f9a52eeaa800f9070cf1ed86cd3e4fb8dff882571547b4a8684762c7d164bc82c35b80fe866e9eff0ff23f4d100fddbfa5d52db0c54d705fb5e5160f004f4292d6889e30b2347e32933bec4b5d84c4bd699b2a2781d908a6bd848dd41724332525880f218dc1c524bac3ccb21e97bbf4cb3583fa433cb56a82b9c778acadc9132c88149372e509d04c91a05df18415514720389532fd9b5a67866953ba11c0d5a20c4cf49aa43976d2722d923851155f9937aac074cbe457b676653ad7c9c2dd29fa703da8c75f6b1629111b0609d28e44a57ebd48fec3f7f288212318d3c5b91d206f2311c66a5235f719c347cb0b98f79a201cd359655b9eaa3cf18df37f5f7c978da566c8dad8b8ded795fb599d7937755b58b44ec4ac492030a27b7c8f7cde28803755ad0c0a0d71979e4e0e7d3d7ae3414f4cd330cd771646edb1fae301af4c14252f392862c8475337b44c34aec86992e248fa5db135755d78aa3f8c4d0983fb43de444e8c23984cf01cadc95034db1bfc1239a848d6b6fd4b057e0b65faa38139da27bd6975873c070aab2ed6e173c1e0c1b9325dddd13b47c096af330ebf8eff0e7194765cb55ad0e282460d041856a11cf87a2b718168ef05d0a60bcac22adccf37793387cb8be535112b8f441089b96a6d6f18b1cef4a045dd7f7bdb25a3c6d08b6ee9a4fea865df6217a977fbc3f75a67b333283857dd2a4b926f2e01c3819ff17baeeb4e28d45e46c6bf5db711a79f8064be5c5f1c69ed349addfa94c825306fce3edcc998c150cf772eafb697f885b1f5e0bae0d97c0aa3dec9b541ffdc5772799aea058af475c2cb61a960864b2a357a0c0d300ea5c08bd1591232aae372722a292c674bcb1f2232aba3f57be7f67807462157cd02c17b1440cfaac38365d79be21465df7fb53c11a1115d5643c9c2c9b0c102b351b9e89558e922af389278055be0d04e448a403fd709fcec5f102557217cd094564304c035972b9d9da0f4ed0b8aaf0a974202d7b4ded796c01af152a797e1fc0e310343db769dd6e2af39fdf98b5b1fccfc9e5d7d03b30a81bd602673d36f8582afa3b72e880ea16d9dc41b8f82c072f4fcf95542ea8436aa377eb7203aa4b79164bd856cfbe48775a6218043d93d57d0a1e11de06bb7a68935b568037de85ab43561f949d3969506d0d8ffdd8adcf363fe041b9282ecefc67e886c51a34c45a462b4571cf5bc525cf520884576eb770a3dca47cc9cca15977691a8ff09f60f5978754d971rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpostgresql18-18.1-150600.13.3.1.src.rpmpostgresql-test-implementationpostgresql18-testpostgresql18-test(aarch-64)@@@@@@@@     ld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.38)(64bit)libpq.so.5()(64bit)postgresql-test-noarchpostgresql18-serverrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1818.13.0.4-14.6.0-14.0-15.2-14.14.3i$Hiivh.hҋh@hg@hhhhh@h@gv@g;g@ggmE@g<}g4g(@g@fLf@@fV@f|fTuf8@eCe@eqe@eKx@e@@e%@d,@c@clcGc>@c6@c5c,N@c@c@cb@b@b@b@b|bV@b[@aaza@apa\>@aUaQ@aO@`@```q`OL@`Gc@`/@`#_S__@_F@_mmax@suse.commax@suse.commax@suse.commrueckert@suse.demax@suse.commax@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demax@suse.commax@suse.commax@suse.comobs.coke518@passinbox.commax@suse.comobs.coke518@passinbox.commax@suse.commax@suse.commax@suse.comfvogt@suse.commax@suse.commrueckert@suse.demrueckert@suse.demax@suse.commax@suse.commax@suse.comaaronpuchert@alice-dsl.netsarah.kriesch@opensuse.orgdimstar@opensuse.orgmax@suse.commax@suse.commax@suse.commax@suse.comdimstar@opensuse.orgmax@suse.commrueckert@suse.demax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commax@suse.comfvogt@suse.commax@suse.commax@suse.commax@suse.commax@suse.comfvogt@suse.commax@suse.comaaronpuchert@alice-dsl.netschwab@suse.demax@suse.commax@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demax@suse.commax@suse.commax@suse.comada.lovelace@gmx.demax@suse.commax@suse.commax@suse.commax@suse.commrueckert@suse.demax@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commax@suse.comgmbr3@opensuse.orgmax@suse.commax@suse.commax@suse.commax@suse.com- Fix build with uring for post SLE15 code streams.- Use %product_libs_llvm_ver to determine the LLVM version. - Remove conditionals for obsolete PostgreSQL releases.- Update to 18.1: * https://www.postgresql.org/about/news/p-3171/ * https://www.postgresql.org/docs/release/18.1/ * bsc#1253332, CVE-2025-12817: Missing check for CREATE privileges on the schema in CREATE STATISTICS allowed table owners to create statistics in any schema, potentially leading to unexpected naming conflicts. * bsc#1253333, CVE-2025-12818: Several places in libpq were not sufficiently careful about computing the required size of a memory allocation. Sufficiently large inputs could cause integer overflow, resulting in an undersized buffer, which would then lead to writing past the end of the buffer.- pg_config --libs returns -lnuma so we need to require it.- Update to 18.0. * https://www.postgresql.org/about/news/p-3142/ * https://www.postgresql.org/docs/18/release-18.html- Update to 18 RC1. * https://www.postgresql.org/about/news/p-3130/- move libpq-oauth into the libpq5 package. it is a plugin that will be loaded via dlopen() if libpq encounters an oauth workflow during a connection.- In the symlinking loop for *.so files only handle symlinks and not also files. This allows us to enable oauth support- enable liburing and libnuma support - prepare oauth support. but it creates broken symlinks at the moment- Update to 18~beta3 * https://www.postgresql.org/about/news/p-3118/ Security Issues * CVE-2025-8713: PostgreSQL optimizer statistics can expose sampled data within a view, partition, or child table (boo#1248120) * CVE-2025-8714: PostgreSQL pg_dump lets superuser of origin server execute arbitrary code in psql client (boo#1248122) * CVE-2025-8715: PostgreSQL pg_dump newline in object name executes arbitrary code in psql client and in restore target server (boo#1248119)- Update to 18~beta2 https://www.postgresql.org/about/news/p-3103/- Fork package for postgresql 18 https://www.postgresql.org/about/news/p-3070/- Upgrade to 17.5: * bsc#1242931, CVE-2025-4207: postgresql: PostgreSQL GB18030 encoding validation can read one byte past end of allocation for text that fails validation. * https://www.postgresql.org/docs/release/17.5/ * https://www.postgresql.org/about/news/p-3072/ - Add postresql-pg_config_paths.patch to Fix a race condition while generating pg_config_paths.h.- Upgrade to 17.4: * Improve behavior of libpq's quoting functions: The changes made for CVE-2025-1094 had one serious oversight: PQescapeLiteral() and PQescapeIdentifier() failed to honor their string length parameter, instead always reading to the input string's trailing null. This resulted in including unwanted text in the output, if the caller intended to truncate the string via the length parameter. With very bad luck it could cause a crash due to reading off the end of memory. In addition, modify all these quoting functions so that when invalid encoding is detected, an invalid sequence is substituted for just the first byte of the presumed character, not all of it. This reduces the risk of problems if a calling application performs additional processing on the quoted string. * Fix small memory leak in pg_createsubscriber. * https://www.postgresql.org/docs/release/17.4/ * https://www.postgresql.org/about/news/p-3018/- Upgrade to 17.3: * bsc#1237093, CVE-2025-1094: Harden PQescapeString and allied functions against invalidly-encoded input strings. * obsoletes postgresql-tzdata2025a.patch * https://www.postgresql.org/docs/release/17.3/ * https://www.postgresql.org/about/news/-3015/- Apply postgresql-tzdata2025a.patch regardless of whether LLVM JIT is enabled- Fix build, add postgresql-tzdata2025a.patch- Disable LLVM JIT on loongarch64- Upgrade to 17.2: * Repair ABI break for extensions that work with struct ResultRelInfo. * Restore functionality of ALTER {ROLE|DATABASE} SET role. * Fix cases where a logical replication slot's restart_lsn could go backwards. * Avoid deleting still-needed WAL files during pg_rewind. * Fix race conditions associated with dropping shared statistics entries. * Count index scans in contrib/bloom indexes in the statistics views, such as the pg_stat_user_indexes.idx_scan counter. * Fix crash when checking to see if an index's opclass options have changed. * Avoid assertion failure caused by disconnected NFA sub-graphs in regular expression parsing. * https://www.postgresql.org/about/news/p-2965/ * https://www.postgresql.org/docs/release/17.2/- Upgrade to 17.1: * CVE-2024-10976, bsc#1233323: Ensure cached plans are marked as dependent on the calling role when RLS applies to a non-top-level table reference. * CVE-2024-10977, bsc#1233325: Make libpq discard error messages received during SSL or GSS protocol negotiation. * CVE-2024-10978, bsc#1233326: Fix unintended interactions between SET SESSION AUTHORIZATION and SET ROLE * CVE-2024-10979, bsc#1233327: Prevent trusted PL/Perl code from changing environment variables. * obsoletes postgresql17-jsonb_jsonpath.patch * https://www.postgresql.org/about/news/p-2955/ * https://www.postgresql.org/docs/release/17.1/- Add postgresql17-jsonb_jsonpath.patch as a temporary build fix.- Use cmake(LLVM) < instead of <= to also allow building against LLVM 18.1 and newer 18.x versions- Upgrade to 17.0: * New memory management system for VACUUM, which reduces memory consumption and can improve overall vacuuming performance. * New SQL/JSON capabilities, including constructors, identity functions, and the JSON_TABLE() function, which converts JSON data into a table representation. * Various query performance improvements, including for sequential reads using streaming I/O, write throughput under high concurrency, and searches over multiple values in a btree index. * Logical replication enhancements, including: + Failover control + pg_createsubscriber, a utility that creates logical replicas from physical standbys + pg_upgrade now preserves replication slots on both publishers and subscribers * New client-side connection option, sslnegotiation=direct, that performs a direct TLS handshake to avoid a round-trip negotiation. * pg_basebackup now supports incremental backup. * COPY adds a new option, ON_ERROR ignore, that allows a copy operation to continue in the event of an error. * https://www.postgresql.org/about/news/p-2936/ * https://www.postgresql.org/docs/17/release-17.html- Upgrade to 17rc1 https://www.postgresql.org/about/news/postgresql-17-rc1-released-2926/- Upgrade to 17beta3 (bsc#1229013): * bsc#1229013, CVE-2024-7348 PostgreSQL relation replacement during pg_dump executes arbitrary SQL * https://www.postgresql.org/about/news/p-2910/- Upgrade to 17beta2.- Upgrade to 17beta1. - Allow LLVM <= 18- Prepare for PostgreSQL 17. - Make sure all compilation and doc generation happens in %build.- Require LLVM <= 17 for now, because LLVM 18 doesn't seem to work.- Remove constraints file because improved memory usage for s390x- Use %patch -P N instead of deprecated %patchN.- Upgrade to 16.2: * bsc#1219679, CVE-2024-0985: Tighten security restrictions within REFRESH MATERIALIZED VIEW CONCURRENTLY. One step of a concurrent refresh command was run under weak security restrictions. If a materialized view's owner could persuade a superuser or other high-privileged user to perform a concurrent refresh on that view, the view's owner could control code executed with the privileges of the user running REFRESH. Fix things so that all user-determined code is run as the view's owner, as expected * If you use GIN indexes, you may need to reindex after updating to this release. * LLVM 18 is now supported. * https://www.postgresql.org/docs/release/16.2/- Upgrade to 16.1: * bsc#1216962, CVE-2023-5868: Fix handling of unknown-type arguments in DISTINCT "any" aggregate functions. This error led to a text-type value being interpreted as an unknown-type value (that is, a zero-terminated string) at runtime. This could result in disclosure of server memory following the text value. * bsc#1216961, CVE-2023-5869: Detect integer overflow while computing new array dimensions. When assigning new elements to array subscripts that are outside the current array bounds, an undetected integer overflow could occur in edge cases. Memory stomps that are potentially exploitable for arbitrary code execution are possible, and so is disclosure of server memory. * bsc#1216960, CVE-2023-5870: Prevent the pg_signal_backend role from signalling background workers and autovacuum processes. The documentation says that pg_signal_backend cannot issue signals to superuser-owned processes. It was able to signal these background processes, though, because they advertise a role OID of zero. Treat that as indicating superuser ownership. The security implications of cancelling one of these process types are fairly small so far as the core code goes (we'll just start another one), but extensions might add background workers that are more vulnerable. Also ensure that the is_superuser parameter is set correctly in such processes. No specific security consequences are known for that oversight, but it might be significant for some extensions. * Add support for LLVM 16 and 17 * https://www.postgresql.org/docs/16/release-16-1.html- boo#1216734: Revert the last change and make the devel package independend of all other subpackages except for the libs.- boo#1216022: Call install-alternatives from the devel subpackage as well, otherwise the symlink for ecpg might be missing.- Also buildignore the postgresql*-implementation symbols: this is needed in order to bootstrap when no postgresql version currently has valid symbols provided. Once the packages are built, OBS could translate this to the pgname-* packages and accept the ignores; during bootstrap though, there is nothing providing the symbol and the existing buildignores do not suffice.- Upgrade to 16.0: * https://www.postgresql.org/about/news/2715 * https://www.postgresql.org/docs/16/release-16.html- Upgrade to 16rc1: * https://www.postgresql.org/about/news/2702/- Upgrade too v16beta3.- Copy postgresql15 to postgresql16 and upgrade to v16beta2. - Don't create a unix domain socket under /tmp anymore.- Restore the independence of mini builds from the main build after the -mini name change from April 4, 2023. - Adjust icu handling to prepare for PostgreSQL 16.- Overhaul postgresql-README.SUSE and move it from the binary package to the noarch wrapper package. - Change the unix domain socket location from /var/run to /run.- Update to 15.3: * bsc#1211228, CVE-2023-2454: Prevent CREATE SCHEMA from defeating changes in search_path * bsc#1211229, CVE-2023-2455: Enforce row-level security policies correctly after inlining a set-returning function * https://www.postgresql.org/about/news/2637/ * https://www.postgresql.org/docs/15/release-15-3.html- bsc#1210303: Stop using the obsolete internal %_restart_on_update macro and drop support for sysv init to simplify the scriptlets.- Include -mini in Name: to avoid conflicts in the source package name and OBS internal dependency tracking.- Update to 15.2: * CVE-2022-41862, bsc#1208102: memory leak in libpq * https://www.postgresql.org/about/news/2592/ * https://www.postgresql.org/docs/15/release-15-2.html - Bump latest_supported_llvm_ver to 15.- Update to 15.1: * https://www.postgresql.org/about/news/2543/ * https://www.postgresql.org/docs/15/release-15-1.html- Update to 15.0: * https://www.postgresql.org/about/news/p-2526/ * https://www.postgresql.org/docs/15/release-15.html - Move pg_upgrade from *-contrib to *-server. - Drop support for the 9.x versioning scheme.- Update to 15~rc2 * https://www.postgresql.org/about/news/p-2521/ * Reverting the "optimized order of GROUP BY keys" feature.- Fix source URLs- Update to 15~rc1 https://www.postgresql.org/about/news/p-2516/- Create mechanism to specify the latest supported LLVM version. Automatically pin to that version if the distribution has a newer unsupported default version.- Disable LLVM JIT on riscv64- Update to 15~beta4 https://www.postgresql.org/about/news/p-2507/- Update to 15~beta3 https://www.postgresql.org/about/news/p-2496/- use %version requires for the contrib package for now as 15~beta1 is actually smaller than 15.- Add proper conditionals for lz4 and zstd- Upgrade to 15~beta1 https://www.postgresql.org/about/news/postgresql-15-beta-1-released-2453/ https://www.postgresql.org/docs/15/release-15.html - Refreshed patches to apply cleanly again: 0001-jit-Workaround-potential-datalayout-mismatch-on-s390.patch postgresql-conf.patch postgresql-llvm-optional.patch postgresql-plperl-keep-rpath.patch postgresql-testsuite-keep-results-file.patch postgresql-var-run-socket.patch - Add buildrequires for lz4 and zstd support- fork package for postgresql 15- Upgrade to 14.3: * bsc#1199475, CVE-2022-1552: Confine additional operations within "security restricted operation" sandboxes. * https://www.postgresql.org/docs/14/release-14-3.html- bsc#1198166: Pin to llvm13 until the next patchlevel update.- bsc#1195680: Upgrade to 14.2: * https://www.postgresql.org/docs/14/release-14-2.html * Reindexing might be needed after applying this upgrade, so please read the release notes carefully.- boo#1190740: Add constraints file with 12GB of memory for s390x as a workaround- Add a llvmjit-devel subpackage to pull in the right versions of clang and llvm for building extensions. - Fix some mistakes in the interdependencies between the implementation packages and their noarch counterpart. - Update the BuildIgnore section.- bsc#1192516: Upgrade to 14.1 * Make the server reject extraneous data after an SSL or GSS encryption handshake (CVE-2021-23214). * Make libpq reject extraneous data after an SSL or GSS encryption handshake (CVE-2021-23222). * https://www.postgresql.org/docs/14/release-14-1.html- boo#1191782: Let rpmlint ignore shlib-policy-name-error.- Remove postgresql-testsuite-int8.sql.patch, because its purpose is unclear. This affects only the test subpackage.- Upgrade to 14.0 https://www.postgresql.org/about/news/postgresql-14-released-2318/ https://www.postgresql.org/docs/14/release-14.html- Let genlists skip non-existing binaries to avoid lots of version conditionals in the file lists.- Upgrade to 14~rc1 https://www.postgresql.org/about/news/postgresql-14-rc-1-released-2309/ https://www.postgresql.org/docs/14/release-14.html https://wiki.postgresql.org/wiki/PostgreSQL_14_Open_Items- Upgrade to 14~beta2 https://www.postgresql.org/about/news/postgresql-14-beta-2-released-2249/ https://www.postgresql.org/docs/14/release-14.html https://wiki.postgresql.org/wiki/PostgreSQL_14_Open_Items- Upgrade to 14~beta1 https://www.postgresql.org/about/news/postgresql-14-beta-1-released-2213/ https://www.postgresql.org/docs/14/release-14.html https://wiki.postgresql.org/wiki/PostgreSQL_14_Open_Items - disable postgresql-testsuite-int8.sql.patch: it seems it is not needed anymore, need to be double checked.- bsc#1185952: llvm12 breaks PostgreSQL 11 and 12 on s390x. Use llvm11 as a workaround.- Upgrade to version 13.3: * https://www.postgresql.org/docs/13/release-13-3.html * CVE-2021-32027, bsc#1185924: Prevent integer overflows in array subscripting calculations. * CVE-2021-32028, bsc#1185925: Fix mishandling of “junk” columns in INSERT ... ON CONFLICT ... UPDATE target lists. * CVE-2021-32029, bsc#1185926: Fix possibly-incorrect computation of UPDATE ... RETURNING "pg_psql_temporary_savepoint" does not exist”. - Don't use %_stop_on_removal, because it was meant to be private and got removed from openSUSE. %_restart_on_update is also private, but still supported and needed for now (bsc#1183168).- Re-enable build of the llvmjit subpackage on SLE, but it will only be delivered on PackageHub for now (boo#1183118).- Remove leftover PreReq on chkconfig, we stopped using it long time ago.- boo#1179945: Disable icu for PostgreSQL 10 (and older) on TW.- Upgrade to version 13.2: * https://www.postgresql.org/docs/13/release-13-2.html * Updating stored views and reindexing might be needed after applying this update. * CVE-2021-3393, bsc#1182040: Fix information leakage in constraint-violation error messages. * CVE-2021-20229, bsc#1182039: Fix failure to check per-column SELECT privileges in some join queries. * Obsoletes postgresql-icu68.patch.- Add postgresql-icu68.patch: fix build with ICU 68- bsc#1178961: %ghost the symlinks to pg_config and ecpg. - boo#1179765: BuildRequire libpq5 and libecpg6 when not building them to avoid dangling symlinks in the devel package.- Upgrade to version 13.1: * CVE-2020-25695, bsc#1178666: Block DECLARE CURSOR ... WITH HOLD and firing of deferred triggers within index expressions and materialized view queries. * CVE-2020-25694, bsc#1178667: a) Fix usage of complex connection-string parameters in pg_dump, pg_restore, clusterdb, reindexdb, and vacuumdb. b) When psql's \connect command re-uses connection parameters, ensure that all non-overridden parameters from a previous connection string are re-used. * CVE-2020-25696, bsc#1178668: Prevent psql's \gset command from modifying specially-treated variables. * Fix recently-added timetz test case so it works when the USA is not observing daylight savings time. (obsoletes postgresql-timetz.patch) * https://www.postgresql.org/about/news/2111/ * https://www.postgresql.org/docs/13/release-13-1.html- Fix a DST problem in the test suite: postgresql-timetz.patch https://postgr.es/m/16689-57701daa23b377bf@postgresql.org- Initial packaging of PostgreSQL 13: * https://www.postgresql.org/about/news/2077/ * https://www.postgresql.org/docs/13/release-13.htmlh04-armsrv2 1764600567  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~18.1-150600.13.3.118.1-150600.13.3.118.1-150600.13.3.1testregressautoinc.sodataagg.dataarray.dataconstrf.dataconstro.datadept.datadesc.dataemp.datahash.datajsonb.dataonek.dataperson.datareal_city.datarect.datastreets.datastud_emp.datastudent.datatenk.datatsearch.dataexpectedadvisory_lock.outaggregates.outalter_generic.outalter_operator.outalter_table.outamutils.outarrays.outasync.outbit.outbitmapops.outboolean.outbox.outbrin.outbrin_bloom.outbrin_multi.outbtree_index.outcase.outchar.outchar_1.outchar_2.outcircle.outcluster.outcollate.icu.utf8.outcollate.icu.utf8_1.outcollate.linux.utf8.outcollate.linux.utf8_1.outcollate.outcollate.utf8.outcollate.utf8_1.outcollate.windows.win1252.outcollate.windows.win1252_1.outcombocid.outcomments.outcompression.outcompression_1.outconstraints.outconversion.outcopy.outcopy2.outcopydml.outcopyencoding.outcopyencoding_1.outcopyselect.outcreate_aggregate.outcreate_am.outcreate_cast.outcreate_function_c.outcreate_function_sql.outcreate_index.outcreate_index_spgist.outcreate_misc.outcreate_operator.outcreate_procedure.outcreate_role.outcreate_schema.outcreate_table.outcreate_table_like.outcreate_type.outcreate_view.outdatabase.outdate.outdbsize.outdelete.outdependency.outdomain.outdrop_if_exists.outdrop_operator.outenum.outequivclass.outerrors.outevent_trigger.outevent_trigger_login.outexplain.outexpressions.outfast_default.outfloat4-misrounded-input.outfloat4.outfloat8.outforeign_data.outforeign_key.outfunctional_deps.outgenerated_stored.outgenerated_virtual.outgeometry.outgin.outgist.outgroupingsets.outguc.outhash_func.outhash_index.outhash_part.outhorology.outidentity.outincremental_sort.outindex_including.outindex_including_gist.outindexing.outindirect_toast.outinet.outinfinite_recurse.outinfinite_recurse_1.outinherit.outinit_privs.outinsert.outinsert_conflict.outint2.outint4.outint8.outinterval.outjoin.outjoin_hash.outjson.outjson_encoding.outjson_encoding_1.outjson_encoding_2.outjsonb.outjsonb_jsonpath.outjsonpath.outjsonpath_encoding.outjsonpath_encoding_1.outjsonpath_encoding_2.outlargeobject.outlargeobject_1.outlimit.outline.outlock.outlseg.outmacaddr.outmacaddr8.outmaintain_every.outmatview.outmd5.outmd5_1.outmd5_2.outmemoize.outmerge.outmisc.outmisc_functions.outmisc_sanity.outmoney.outmultirangetypes.outmvcc.outname.outnamespace.outnuma.outnuma_1.outnumeric.outnumeric_big.outnumerology.outobject_address.outoid.outoidjoins.outopr_sanity.outpartition_aggregate.outpartition_info.outpartition_join.outpartition_prune.outpassword.outpassword_1.outpassword_2.outpath.outpg_lsn.outplancache.outplpgsql.outpoint.outpolygon.outpolymorphism.outportals.outportals_p2.outpredicate.outprepare.outprepared_xacts.outprepared_xacts_1.outprivileges.outpsql.outpsql_crosstab.outpsql_pipeline.outpublication.outrandom.outrangefuncs.outrangetypes.outregex.outregproc.outreindex_catalog.outreloptions.outreplica_identity.outreturning.outroleattributes.outrowsecurity.outrowtypes.outrules.outsanity_check.outsecurity_label.outselect.outselect_distinct.outselect_distinct_on.outselect_having.outselect_having_1.outselect_having_2.outselect_implicit.outselect_implicit_1.outselect_implicit_2.outselect_into.outselect_parallel.outselect_views.outsequence.outspgist.outsqljson.outsqljson_jsontable.outsqljson_queryfuncs.outstats.outstats_ext.outstats_import.outstrings.outsubscription.outsubselect.outsysviews.outtablesample.outtablespace.outtemp.outtest_setup.outtext.outtid.outtidrangescan.outtidscan.outtime.outtimestamp.outtimestamptz.outtimetz.outtransactions.outtriggers.outtruncate.outtsdicts.outtsearch.outtsrf.outtstypes.outtuplesort.outtxid.outtype_sanity.outtyped_table.outunicode.outunicode_1.outunion.outupdatable_views.outupdate.outuuid.outvacuum.outvacuum_parallel.outvarchar.outvarchar_1.outvarchar_2.outwindow.outwith.outwithout_overlaps.outwrite_parallel.outxid.outxml.outxml_1.outxml_2.outxmlmap.outxmlmap_1.outparallel_schedulepg_regressrefint.soregress.sosqladvisory_lock.sqlaggregates.sqlalter_generic.sqlalter_operator.sqlalter_table.sqlamutils.sqlarrays.sqlasync.sqlbit.sqlbitmapops.sqlboolean.sqlbox.sqlbrin.sqlbrin_bloom.sqlbrin_multi.sqlbtree_index.sqlcase.sqlchar.sqlcircle.sqlcluster.sqlcollate.icu.utf8.sqlcollate.linux.utf8.sqlcollate.sqlcollate.utf8.sqlcollate.windows.win1252.sqlcombocid.sqlcomments.sqlcompression.sqlconstraints.sqlconversion.sqlcopy.sqlcopy2.sqlcopydml.sqlcopyencoding.sqlcopyselect.sqlcreate_aggregate.sqlcreate_am.sqlcreate_cast.sqlcreate_function_c.sqlcreate_function_sql.sqlcreate_index.sqlcreate_index_spgist.sqlcreate_misc.sqlcreate_operator.sqlcreate_procedure.sqlcreate_role.sqlcreate_schema.sqlcreate_table.sqlcreate_table_like.sqlcreate_type.sqlcreate_view.sqldatabase.sqldate.sqldbsize.sqldelete.sqldependency.sqldomain.sqldrop_if_exists.sqldrop_operator.sqlenum.sqlequivclass.sqlerrors.sqlevent_trigger.sqlevent_trigger_login.sqlexplain.sqlexpressions.sqlfast_default.sqlfloat4.sqlfloat8.sqlforeign_data.sqlforeign_key.sqlfunctional_deps.sqlgenerated_stored.sqlgenerated_virtual.sqlgeometry.sqlgin.sqlgist.sqlgroupingsets.sqlguc.sqlhash_func.sqlhash_index.sqlhash_part.sqlhorology.sqlidentity.sqlincremental_sort.sqlindex_including.sqlindex_including_gist.sqlindexing.sqlindirect_toast.sqlinet.sqlinfinite_recurse.sqlinherit.sqlinit_privs.sqlinsert.sqlinsert_conflict.sqlint2.sqlint4.sqlint8.sqlinterval.sqljoin.sqljoin_hash.sqljson.sqljson_encoding.sqljsonb.sqljsonb_jsonpath.sqljsonpath.sqljsonpath_encoding.sqllargeobject.sqllimit.sqlline.sqllock.sqllseg.sqlmacaddr.sqlmacaddr8.sqlmaintain_every.sqlmatview.sqlmd5.sqlmemoize.sqlmerge.sqlmisc.sqlmisc_functions.sqlmisc_sanity.sqlmoney.sqlmultirangetypes.sqlmvcc.sqlname.sqlnamespace.sqlnuma.sqlnumeric.sqlnumeric_big.sqlnumerology.sqlobject_address.sqloid.sqloidjoins.sqlopr_sanity.sqlpartition_aggregate.sqlpartition_info.sqlpartition_join.sqlpartition_prune.sqlpassword.sqlpath.sqlpg_lsn.sqlplancache.sqlplpgsql.sqlpoint.sqlpolygon.sqlpolymorphism.sqlportals.sqlportals_p2.sqlpredicate.sqlprepare.sqlprepared_xacts.sqlprivileges.sqlpsql.sqlpsql_crosstab.sqlpsql_pipeline.sqlpublication.sqlrandom.sqlrangefuncs.sqlrangetypes.sqlregex.sqlregproc.sqlreindex_catalog.sqlreloptions.sqlreplica_identity.sqlreturning.sqlroleattributes.sqlrowsecurity.sqlrowtypes.sqlrules.sqlsanity_check.sqlsecurity_label.sqlselect.sqlselect_distinct.sqlselect_distinct_on.sqlselect_having.sqlselect_implicit.sqlselect_into.sqlselect_parallel.sqlselect_views.sqlsequence.sqlspgist.sqlsqljson.sqlsqljson_jsontable.sqlsqljson_queryfuncs.sqlstats.sqlstats_ext.sqlstats_import.sqlstrings.sqlsubscription.sqlsubselect.sqlsysviews.sqltablesample.sqltablespace.sqltemp.sqltest_setup.sqltext.sqltid.sqltidrangescan.sqltidscan.sqltime.sqltimestamp.sqltimestamptz.sqltimetz.sqltransactions.sqltriggers.sqltruncate.sqltsdicts.sqltsearch.sqltsrf.sqltstypes.sqltuplesort.sqltxid.sqltype_sanity.sqltyped_table.sqlunicode.sqlunion.sqlupdatable_views.sqlupdate.sqluuid.sqlvacuum.sqlvacuum_parallel.sqlvarchar.sqlwindow.sqlwith.sqlwithout_overlaps.sqlwrite_parallel.sqlxid.sqlxml.sqlxmlmap.sql/usr/lib/postgresql18//usr/lib/postgresql18/test//usr/lib/postgresql18/test/regress//usr/lib/postgresql18/test/regress/data//usr/lib/postgresql18/test/regress/expected//usr/lib/postgresql18/test/regress/sql/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:41842/SUSE_SLE-15-SP6_Update/bc05a9fc4e1b9eec7a93979d2142076d-postgresql18.SUSE_SLE-15-SP6_Updatedrpmxz5aarch64-suse-linux   directoryELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=fb12a63161e884246783bddedb49b41e23242bc4, strippedASCII textASCII text, with very long linesUTF-8 Unicode textISO-8859 textAlgol 68 source, ASCII textC source, ASCII textexported SGML document, ASCII text, with very long linesELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=f906a7e4a1a638b3e940180f13a215531377a352, for GNU/Linux 4.3.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9956898cf3caf053011df067fdde5a868478ecfc, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ee3e89bc43efeb48feaaa5ff1164986144d95376, stripped RRRRRRRRRRRRRRRRRRRRR|Q SJt^#tAutf-8711d027647f43ecc72a73e8edf68190b951ae9e0197f1b60fae5e75375011ba0? 7zXZ !t/bSHx]"k%4E0#J:fWb.񩼎XfZp8;v_FwNޞ=g׼|uUcg(W*fUه,ml:nXNu&E̩p#/l_K4ll2J[*3%KJz)NZpGC{_ϽkN!Gs/}ä]E&T֔}5|w,:hT:8nr 1IǪGpT6đ^]qOzAkкky82jMy[rBλ]ԯwe ;a"g+n>sr)qu.2PS5!.#"rEs9R`%2G!%3B2Փ𨵜!E>Xv*fɅNm-eMnf6C[<҃+у <~twQ|5i|KWIk~9pΝDjl_UH?#\Yɔkykxy;4^m B&0%u5Doc.2WS \=/1cl2˜d!Nu79=3j%ȎN4s:`rPJDyiXX͌AM:nZ ƕ1dyo쁬EVKJOE/@37L2ܙ28wɎ$ 1,oIpa?߃3Aޒ4f4P<=V JF}~KT].kk3ҏL&еwN7T3x!+v쮽-F3̍J3*s!~q& T48Q1<~ݡI޿ v¦EhdSI=AabN$ Бs6v"cE xvx l,d5zRfU CFcܿڞ񑟋=iXYIt{<\;ˉZ Q@FoO6p ?=өxgA`;SM~vH.1i )tQ}XzMM$G9D{{UyJ}_ \M;7|iЈ4ZJn#G/BG&gʪ`A-*hXDۗ 1Q y;sŪFrHr:Z̔RںaFK¥Gb<šFQoI'F99+508^=zv *Vσ)r/EkN~=+[$-qӬ" Z[(S@SئM]N]Ik$b H5Έ2u`~JȀa%=+XYjNH/ ?(Q+}v3;ڣd(i!繸.ϓr%x*.deOK؝ICz9ke i4!1 ;W!=Tˆ= {rifفpNʄ#xAD} |/ dь vů̅Ġpf=tsʷ#]!/ | krCV2T'2 bT6qx~L$bg_M"|}ts*}*D o5qw:$欮㡵|T 員`'> ]^:0+ӾQk0GV4y ƅ!%{GfyAT:i̅Q[BW\ނNhZ /|׿ ~uFUVtk/c ITp+Q.{Bb"a+!Q7(ʺW`5x؛Qس,U*G+j|>k,&BV2npwaA(>[hB_$ }^4}Ȼ*HE8"!r Y~YfSƭ|IiCNj)ԅnA8tީX== nC6vtͧt[a9%CUW+K$L|ұa[i٠[x yuf}#2b xs̀"3CNsWQDя]p,XR3JYQ;D9':shv7o="a&fiDer;빠c cڅVN-7>!.MQ/j̯-s}&DY|60e^TX ng>拆-]7V(/qQEwҞȇR uuj .k$b;ނϮ &n ޘqPԦĖ7P*rW`$ ېkv_hån.j`qOv%(k+C9H5` mv@"\ _d1@5 bݡ{Kd4T#P&6B߉2ypw6M8DejyyjM`V$QWlZ;b@w47lH7,;mVW7E a$,v\)9)$ϳ4U(QVpG,FHhN˴;jNN,uB_jok)μnh_Ӄ*Bfz]Wbpn57pʒ)jkT3O80F xel5#%v\TԳ³n^Õ.v"anevtJ nT_I1Bh](SV$*O~;NadSVs CpɴixeI [Dd@`@liP';ueX!c<6pkoՈ Z}Lz8c% E>ǫSuϮzMPlg:EL 5*!pf ci\P` @_"ncדg?#efHѫ n}Se @{LGa ok“p,A Z+6ReP.3!ړ8)t0]߯ "o2d ΁a*] I7ogG5d}ON3p`_ zVQAEvbw̠Bm, y! :u4ЄB"}Z_ImxS^"!Թ$$ZDV,ՉWlu4 Z2ghUױ0B&V3r!VpIi9-ΰ}bMՐ(9:rm >cý SwO<$Tzh"ihq oqsLLUgk%t5qi"8Uw G- :'mY~cCq `E&tig. ",L7^6)ǿGN)_w7" X1J(;Dhg2%kK6Pn~k( J!"TvZ9 'p5'em_,QC^`E IzP(']mLXD0Ӌ -F#TL1tIp}l"DsZBuj"FYxH vAilzpBxHœiYeha^"Wb"Zv\;/##̧쭚P P)Eэ!8x6|~FW u 2[g7#k,ЖG^a!ޥ/:]C dٰn>SjofXG쬫68Z:'2&ȁÂp/B %WS.1u"Dr/i7]SJ"Ki$Ħ/1hrn}g>zlT*HI~4f3a+M^3^oLm>v*f`_UeeJ Tk Ȕ 1UG#Q6n\YIs_OL 씙|EPWf7h**)lI ɊEvEo~ɠ}3O  A<}`5s?}mU~R|ñ.Y[JG_SRs9uU' _`yp/т>[f[v dXN;d؂iymPKY!Y3 ,M[ :(z5gaG gstU1bV|]⍝M'Srd  d;4GW*=7?8)(DZ*]*wd3NvQ8s b( Hxd(oОG*lW'$픝9ФLƉ{&)7]PQ\ӉQS|0T&[ '4"%TJ_X0`B_rLX)&IcTciKs?uC|3/9][x7R]/z:ym73=Z'^ū,ȍygʫ~TpݯGMB{DŽdZ]?2\; ];.xÉU6=!\(d1?8Roȷo0ӐEpiƁM~tXbQ}ҹb]ޓ^)Eb@r˒R *N -4UM ZF2BEOh6PLXvg#G8P xmRNZ/?'܇| ʍyJ+M7_cۊ(1Mp=36KUcߍGG׷[ٌ?48˞ DI+'ÝE`-nZߓ=wd.qgR@dr!r#Lή9dyg &ԱEلwhʙ[M}PLg/vwж-θ&Sab<%Hʏ,-z!1FAz!g ҽ J'+dmաfS^ްthEbF]Y2lw.S,Նnͩ\[hrB~z#P~E:BsB/{2cMVpxZL;.(Gw^?<#FetT7bUї%"r,- [Ɉ@k}/4N.}8&fX#S MwkU>'i_Y!؆pcV^.6du~+A :>\=g$gQ̦( G{,"9{}w9 5@AYS7)>9܁70*|@5KayY‰e <Ӱi{Z yC1- ~xUDꃻ65bsn9 JlD ?8rT+QM!i::k}{Se|֚227+1]6f(blk(2_5>ZfT k(~Nkn{QxI^9z@M5|Q/p 8s׆aiUh_S¥ 7Drͬ(Vb5N7ZLb"%y2\EXGG- Q Nk+,a|[cWj&S N)O!BWֵA 8БbtͿL /^_r)*vy> Nz+*,BcАzdؐXwS?`9aȡu$0$}NQ^)j7ajDďH̎|!) ò* mo1O5ǺwE8GO@2ypq[G`H6OUjUb~'>3VPo\,߭Jz5``HUϱn`UZ{36O~fL.q7In< ˺uؕh\)Tw*2ݝ1ﳎd'G l.c(2 B^nBy~Y.dm; @ʽq.SoWV\RCφ 8z%aJgE02>\.$~j>uG}bQolg &͉U,xY. ݚ53^hDiJմ.Zz,uC^T`42$#ΙEH|]v0îHb6p^u>`3A|'3b. #""zYLNYG>u"d6a=]t(_eOΛGͻiR^~j%X NF_3`+Sp_Z3  GKFۈ.6*0A5W; DXkaXAdRC?;m$eo&'6%{A<َ.cS:gǢƏYF1_ίxk OȘ>)U<껯msxNԀ\ t^଱Jy@5ܙ×RWqyo'())L(CF{_Z6`MK'퀞#U/3Oy4 _bG/Ec,+p¼%NW;Fk O Еjܶ{:C@iEfhu)H7u5gg@ݲ|0-Idnss˙[^T/MxQ %91PWSAQ4X}$9b}ZKJйޤ<5d1-;>0Ჱ73ffvkh8]W(¶3 XQ4uy(cy=j:. y"hE$Cl5`MXSy߈3Iw5.Jҥ>Xr=x V;ӡv=_?M _ڢ!aiGr//7;-ofX07p+ TQ7J촾6?qڍٵVu@@3"po1; fF#3zz׊}DDbo&+Oښwㅂ QGVޡRҴ/}ٺHtU׽:v?(FNwXX\m.,@YVIrr`$sHf1ˆ@f:6GJU|m9_=q` 2ƮфU l>~?}PώyNiǑwXHAT-J(0RQV 0K%{i3XE-S@╩?^ YSd Oߚdu|LVbShZjAͽa*'Zj\-xn2"7+UFD{!4'jύY ܋Yxu^T+H>xLͱwmNQ:!u? B{0u݃=L0J7rsݥNEͮ?<#'IGI\6hXhw,T-u֕Ev1y^'z*c1)pP)*2RO<2>tvJ)@Τ՞ j(߇!$gnt}6Q 1=&o^:V[A_Mܥ*h MzTE; ExG/cMm[A s;@7 DR}^iEeyett^@^z(iιqU+6% <4gD-!nMڹ)pkV@HW˩DIA6]i^񩺤 [}%tB-k,͎m1ު'꩐+R T$Dʉ"h;&10d2 [~+sbiV3wn /yxz(MZ$ޢ`λbT= OYƸMelX3imT pҮ;RrUP61=Yj%Ao2\tzx޲^+`F*7J lUNJpy} p/'ar씔Qo¬nK∽~{FoOh~-p^C|]D]b5\J3`=7 S% 0-.LJel=:09X󠊚]5˗橅u`>h1r)knKB#:\,Y.ڿ ٭uP fMEWF}t:9?%͚%p{ Bd屆NaVr%){YEPqnkKz& ,mnc_;4 fx5{OMT(գAV:\[$ak4K[\,_iM&"Hqd{< _TdBnZޓV3q?^2+TC0a.xMF.^*d#i:HV#+D3<8d>Y A R4w̗7tϥ[mln\* QpM7Sq4AyAʡF hX ac@Djҷ&Wcc"2,Mg\+Vx4-XGK*nw7u$"5A:ր;ДC >rj+jF${<0Y`}{;qɚH,&%r~THUK@c/S0 o i a͛\mrq4,cݒIr>H[%L]Mmc+ƥc oGEl\JD$67-yF~!%nM\]$$a}֙nkoAgoF-S׉Qt*%܏mUsōIZ|g\x䪇woK]Tc{y}X{E9T6֍$H\ lqE3XBfGL璪ۈ8IGQ@~ 9ؽe GLaD%ӹy8i&G_PE2&{^b^qkStLr(7Xm6 4%FIvnjJ>"JǤm6 YF+ DDc#޽vq$uk#Sj`3FAzIs)2^Nr#2 ᒒNĎf g7UM?W`,`h0̈;m bCO4!Q(U4CCKn&v!IW@<{ }Vw8ͪwe?ȩ]/2<ʺ C$]6C01l2NlINiRRTRƚJZ 3cQz"q= KDŽcNϢVYƒm^_*q/솦u첵EE'TM h+qky]Xh=[ԏ3FPK2r߭: h+j;"~O, J:}h UŗZ=Z&1BSrRp!c$LS{ح~L;`xmA.!j"wN[NIVaYٱ&K0:;/#4sZ(bD*)Ĩ'DMF`||Y k[Cq?88f:̶HlgKqPE שITo|f_ jPC%Ͳk7:YGɬSaW!uIq#+T4c+(X3(FxgXg+QH&J)Fj`BjB޻:܀"bap=+f׍^vlW\FM8=_Dj* `}-՜?ې_zM=:%0xXw$ Lq"?g uW;`KpI`s(#ٙzG}Rܻ˸Gqܐ7c?xės{o2 JԉՠU8Ws(QD4ӂdnA|jm=1n0M>Q$f9PAKHLpK`yFbc"3W )Y2.?t{8ŗ`Q(6<"x RסPh롩Em[@'ݴI-8`IfgN8V;&CweDZk cSԯ߽3<eM(le8*/Bحhy\Rv^n;^]Mdq[nE ~3KEc@Q?r>c-g~r@7fQ|6*(ҩoDiJ \H{iܼRC C6B!l(ޑ‘@n)@ +3%LbT"## *%,5q ͽ 9A`JDi Cn\1Z}'_Sn1֐ &YH Sh8r.KM#C릚Sc/B'^Og:Q McO6jֈ,!jQ//]Mo4H>̻l:`t)MƙOjf29+ ̒.@>4&^p|$?jAmɰ0EUjꏟDi ld` ʨۨwɁdl5wy~poE+O .>)@ރkwm2y6nGg"XX,${kz'/Uo7X8R+3TxLYQpA}s׭Sȑ@m nY`P050\a~2eəEm^˒j~wodƇ`bMO3dRjEm=bE|M;܆%-rDB|$x17~#1C82 +ǠMc`?8Q#EE''H @_;1oλm YbSWBV{^ȫ`O녂ϕ C(zf>@29K|3^n+ Зn]L`!-@ -h?i7)ݠ 琚SC@=]bD˾D5M F/wТS) * y+V"c+{=wi0rJr1_Xd_WQWiԟ2ՋiNT! B+ ꪚbH[,=aɇR4BHYyڝJޜS1l~+&Zi<-j }0c,7u&@f;˯/.Ok-*l V!BzN2e;ua;;T_֎졷}kL6:\GP hBeAC\ J4pL飅?~G $RW_LO(\rZdc"M~!.%Ǯ4uS7L?d<;FV+ |BXƺ/,)]PIO)MٟgeTCU8V+^K lG,9J9K(#!Dy)́jkYCpEW҇`??fWk$ʹĖĝ'LS NEI Y5@1@AFc2ԕh Нrb~ ByJ~ q .9m@C)NXv|/%&I!Ƒ٢$:p c_+kXgcRH4n /*՚$\9AIӍQ}h1F,`b7h" \) 0˜W=|An7msBZ0BL['sLANh9q1եVE4 yFPC0VO57C@Sc K?G:=ŮY3 .{"qH.tͮ[m2DTf ГVle+õpTaś!@"d=NO5~!![Sz7y rj=(y}fYd$a5t#-bkBgaۛE?cC֪I9B>n!"fM^Zw0/ďMsV! L{C\Џ'0ļCE%_~+dHq$+wy|ZZ DYqS3R1 # @WUv\@;Q\Qoh;aWcn5,R&#sƵg8S>3}籿9Gc~- "x& l 7s4oW+Je|0rr$yn.MhB! YQ݁1$KE=+vI֛0 xg_Hcލr>G<&{6do0ZiH8bL#oP`[hJ:$Q"IMȌuQ7y yqY'; DxJbJg{x"+.=2G@ Iԓr>+9BBld?l84Zm D%&AZQErX 4zWw׿$ubՐuy g&䃝-q<>P&FvR]u!7esrI }g=uOkmc^Ps|,)ە? |MzϚxfT_h.,$=%_|z@fq?捕+H<4MT 9[+9I@*?$dK{-SK)^z-$F[kZ,KuJ,۰f;;p]ajE*r-G2:3X&S6?6x_H,=Cjl6-y/0I ;;σk dTDeL֍i#0@V mHx{]tJDg1.IA6.ʶjnr$2$Pyˡx OI_We1DVj9/`kCpOF1fD\^H6aҹlǂq^9ϠZp%/N%EԢ1D;|Jz>^މٯ?{<ſ208l8x[K0 /fOBŊ9kje7kMAIx:jCVX6" Гjb=Ө\:lE &{7~2Ajvl kv Fm`5g (ǽqx 8DK%n\ @ YZ