criu-3.15-bp153.2.3.1<>,>@`N!M@eeemdC;S2 ۖe5}fO5츿6=Uh!Ϧf:=\szS ,o{ZoBy!%wbG5!6Hp]kU7Q@,Ioem&EظV9vj+͈ǓFΤ:3>?d   >x|  B    5u 689 <@@<CC$*C*H"*(Hg8Hp,9I ,:K,FGHҼIՐXHYP\t]H^bc6defluv wx\y0zDTX^Ccriu3.15bp153.2.3.1Checkpoint/Restore In Userspace ToolsCheckpoint/Restore In Userspace, or CRIU, is a software tool for Linux operating system. Using this tool, you can freeze a running application (or part of it) and checkpoint it to a hard drive as a collection of files. You can then use the files to restore and run the application from the point it was frozen at.`Ns390zp23'SUSE Linux Enterprise 15openSUSEGPL-2.0-onlyhttp://bugs.opensuse.orgSystem/Consolehttps://criu.org/linuxs390xZ SF&b#ZH*! , ^  e [' -{d'&B; [ 2 7 +DC  B  3 fY  m)O1 l  5w =- 76 = tS   R H8 7K:KD@xL1( + M3   NK E ? ,2@ I=`nV0N v 0PJ ` 7]0Ju+.| !},(R  xCb, AA큤AA큤A큤A큤A큤A큤A큤A큤`N`N`N`N`N`N`N`N`N`N_`N`N`N`N`N__`N_`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`N`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@_`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@_`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`8@`N`N`N_`N_`N`N`N`N7db8abd80e15594e81721b5d4656cd952a78fa72c82f9ee555b25ad1816d09f487fff28342b4462f374403ed46679496cb7c4b3d2c6703d61b67e98e55c5974663cba8cffc65421018c72dc8df867bbd432a3970710ffd542427ecf35ecedf0ae964d6472193502a3105ae95f5dd780823bbd81e3fac1b2e019b7c59ad6cdea68a5c6e1d5c7649017429d3ad1db6693fdbe4280be758ff9140fedee604402039f1c390ed488ce6a27f481c233026c7ab3cb4eb87b2edcf1053053210aa1863bc1f2b23fd01846da4eddf9889073cc379ef9c9e79b4b3d14429ec026e8483c0158c7b5e827a35cafafe7fe2aef9c50c7fca00f5ddef752b1b94a38b11beaf71844eaff2dd86e4e954ff3b92f3c5de202981789f466d4fccf14db45a9ba5728a82b4cc40291045b1b565ebd358a4da702609949bafd5f3bed8b57812bc8cf564b223e14f2bdfa65ab8746943ff33ea476cf4689bad447c15175cc449fefe9afa1db0441abfa04e23a1088c14660d2ba2df8ce7a382df2ef9be62a5c64e18ff542cb4f0fa22d91a0070541b1d03e113e69ad6b6550d8003cf516cd5b26485271b0813a6859471e6aebf68c11c1404ebf46e2c6a73897cbfbab13794d7816f30339ecfe7d19dde1097a1cb37d41e9334c362e6f0e157448a020d86ad9e2427c0bdf9c086a0b07ddf8d99ff61a8809fc43f1b14a1a6c3049cb632cf357d8c08cafdd3803ec582885ed4be0971cb47ba078a8ff520b19499b242e812f2a212a2caa3761382db6b02474ebee6715c3741d2189e12cf5b7e8e8b40285595cbfe11b8275cba3e1284dac84a689cb9968587d2e44a22deb0e2a3d981c184f26ea7bc15d3a26c4d6480e8f3c8c034f6039c9ee9971ac55ff5185358f0f3096a1f9061e639f3ec7fa5340dfa98ef0b9d6f3c45c3b536d8bc758fa31e36feeb5a0483b404d17004a2c9cab766e7945a583742522b6b60ef79b54fbb1ddca06ef028a776eac61f659afb0bb6ed2608cd84c40546521471a262b283a7c90b37b132801eae49ac686e20802af272c7d1a2d02a1ef0a5c6e7f9aa67e4503bf175c02d6ac2526130c2452c90285f155c2a3e2ea10ec9f957d255d88ca94b1c0894acb1656c91075d58ced76d407a7b648cc890c58ee23464d815d53a203ccd7d6ed1f3ff0a6acc032f66a8e48c3edc8d9f7b8d6f9f2325ff6d60b5ab6d4a68d9771e865a94d1791c8a690f1e297edf3bd529628d62140ab08aff2e0775e4030c224b55c0a3e6c8703b2912c3ca651fb39b193765b36e06d04749341900155f8efdf4d7dde38852495abb18ecee2f7a690ec2bd0ef9cf795d914c597ece0cb12a26df2e43d498eae9a7dd7d885dd0ecff94b664acd89b66f517d9b3c1eeb011819d23e4a25b9411035401ec0d76bc9f329bb60c2683b5378e0d5025a542653adba7bc75b95a88e5e6ee99fea27925388a319223ea1fdec36c8ec9514bc26bfb2e92cf598ed129a0dfcd0fd574c6fdb985d72405dbe7fe579be8f29bad246509506d64b47390c84b185fd0efa2657aa5dcf4e93254d7053ad576cddfb4c87ddcd3523c38d9e25abfb1a7b4239ddf13ddf9219deee00fda5637bbc564163230d4eea08fcfb7f553f17f42710b1f69addc3edf92f18b73a55c609ee2c1935fc98ea30baa0e0719a06e3e523aaa5c361845b29d2bd143937fee5a9c92eecf8ce1aa29caa2615f1804350a3b351faa9fdf2c7dbccbde5eac86c3ef7a4533675192c4fa113fe3f46f1a855a96b0f26f575e6554ae8bf8f9b47d39d2999f0f0e81be08aaf1d1827f99fc87250a1d1e46806d47ac559b8e6887f7cde86fafc55d2911965b6b5ddfab404568ca76c36ce62635fa24d38748cfc2443698bae7a9ef5a1e1ccf796e83bbb0afba69aa7758401f515060ca72eba8d153b19ea77bee93ac2c92e5e71e5feceefe91572db8022e3610cd1cb14575a7ee3f8e03c34b436b1f1913e140c3a5d81d867e67922fa776aa4085b108f06b1c859722bf5d8ab272d18ec2694e66fbf67a3423727f248ea1515a3fcfec484bfaa2648b2f892a372ef8761eece4974bacb7007310bf67ec0dd479a9460f2a5d67a22c81c2c3c4eabdfb8f6dd4faa744db3d17731c9ccf3fd73993ed73b3ed2141c9637e87f67fe80f71b943b6025757c102159551402adaf1caf87a9d5202650a9011179253c44aa79b1c9e64fa82961a1b327b7efb5dd838bb937c3756db86a731e202c8678fb385319a0a77386150f0fd122da2a71d9a6d4dc7445f82f2e8aaa6cb129cc90c9af5d7ea3814604288f5d15ba6d6d2902e568581aa84b02b486acb1f2f50c2901fe53d6497cff468f410d4cd1addabe70ae2c4a62b7091bd0f31670b883ad5fa86496c5409beee18a129ad048319758d21c710e0ec310f2183ad6c7063f3074530313ec04fffa5774e3f8a473e61c0c4547a0a34a327b4f020fa23fb55fad47825173e5e827c7363bea27d8241402ca3446da74960008823d1751f83a150cd5fb35973dfb7defaf77ca588a8c1e2bdc9744159296d614b86a6859611adf016696c2a3bc4d573beece227896bc32cf97d05a0878c0317e9b7958cd1919bc0503839505b5139298d3cf7c5faf1b0f38554d495a99a89717063b4607baad4bb3b2e5ffe989f90c1e38df171887dcd0ab9f01f6a2c9b282a3fd287261a4eed2a55ae86f1a8f560543b883765d76926304f29d5c9bae25937f19791379e8ee77ee0d3b2ca9ab45635290b3c136baf5f5aca3582517b190d3c3acf819b7784b5feab20a73c17822676ad6e7456daab1e775c8b50fdf8ea80015da76e9627c720ad75ac70a4750ebb4c07eb3a2db77e0fd1e1c3889f6d7942d77b023d6512d5a63a6a5467e911e0210cd8b7a518fb76c97e7dd38868807fb1e93acfa9369fc1c10bb011d05d773c6d3b1ca213ef0d9f55d8a69fd735694f8237a5a0975832fd2b4a9e7f33badfde2d62dfa15b2730321c11b237645a630155533d7d2abfe12a539daabb429f1b0487e673bd9453eda643c6a8d8d4c9750a2569bbf0f117809948858730e1d43803cefd3cca9ed14ebd622b26aa06fdccf4e093b7668cae75533c69ebdbe212fd2cdf7cece7a098b4b0ccd6826b51e4d624cf3e690570be2a8d30d7dc432f5a86f3d45df36ac38d071708d0d0f6ad071464a1db8d447abf4ea61f2591919df1a2708036651b8ac407699e626c4d523a0b33df97f145aa1994dd2380b916d2707afab696ecdf42137a17f6b7d9937a30b31e79a302d0cfbde5df05e418b52c3ff44c5153ec5897b161cc14bb107d9fa32517fcea6fe7cfc4af2100cf8db997bebfaa6a645c9498bc8065703cc553062885c63349a3238e0c06d9b53e68bcac8bde4be50f043c0f23cf9458d5f7ae582ff1fcb46d35e26b0b5d098789f10605410a355e82642bb857e90b287de5fc57b2754fb0c943d3d8ff5c86c59257853196ac17779081d56617804902afaa60585b1e1ae40e6a81be77c0bf9c25ee724377bced72da267a7c3b64a46ccacdd5856b9feaf13595af6330e00d4787afdb7e989d54af0c78741989a30be76b7f054442266d77d23c6d1dc8ea04473c1322d61585fe16d3f7598cde739d0278f52a84db5d5fd5b2755f6a11860f231473eb566d55ffbffacac5764be11fe07deaefc4f03efa5e5ac1ae2ca96c8ef5ca87ece964a10d26ec13a35c3645e52da61116f404586ef9b1e4c06026bd77feace64533f99b53924f64ccd06c849e5c8a3dc2231d8405df1b43a7e5a5d8b61f161bb0ed1705ad0ccca70e8a59a3108549ece933f21633b25af54eeb50bc1f73dc7bcbcef62eb231cfe419115c781272f5e604c48b6d7a34584b8e826fef592f7b74ab0d07fc556f78f65adaa0bab24a221e45277ed889f4fb19d708d63b706d9ebcf83d167c292ba3556de7b15e2a5e2545297abf75a2258d48141f19340e456a3ce51a0efbe8548c8a70d70a8e3751ea25c3a99dfa92b21ab498b218370f3ca7329ac77afab39a39346f52ac2e4a3c14af6559e51de3dd828292f2df279f68e8e79fe6147cf624f3bb92888ddf7b8f887c011fa4e747c450e29eb4bc0153871d64aa04addd527f3ee43aab4b1fa483ce4e3f978dd05fddcbf2d26501e60e4da51e695ba389e5b8adfe35c807e340a9c7c57e8b8cdd3264d9200e7bf4bff69c6bb4f2fd970ba40871dcc7f91aa9c45b88eb8dd9810f56723f44bbbaae0e84d3e3ba90fa929bc609b7d241cf22d98e182f194172035e85603e886e3cba1c98f8b2c45ef48fccee33f80a69759afb4e847a141e1475c8ac75e910d0d450b91d73a76e8b976b72997d1789bab71cc44e5ebc2a4d262254c66d60623f59edb6153d60917f1ed4a9434f7a1eefc08dcfaeee7866bedae303d837f3dcc110a9a603ce92978d04708cf8bff0c5f2cf8e90797fd90500bd8bc90689f80327137833ea0d9c864ad687a8a20f9d2c5f64370ea96a25749a078556bd860dd0691d05ec295a6d5ac7702db703043aa060a40fcd77180e7bec90846362339ac26026c22f0aa5c83f3d7f9a1f69046a6f5901080e09d521ee3ec93d85f27c80170d03d58672f634f4a0e6eb2437adaa8183b3377391a1513a9d8e195f5ab3afd1a00eaa39a2463257b202a50a0e2bd91afea79bd58ef798595626dc1378babc79aeaff4af007826ae98ebe01b22b51c4b75a1a4e2b31d90cbaf5019b3a173101139f041a5e879a10b5ca4debea27e9376f5eb459e43ae109decf7da70c47ec324448ca7ba49ca0f5f8ccd6577885a05f08df5bfed7d9978d6005579d1ae57fa36ce96cbb7c65fd14ebf806989a839f650b5e9f285a65271e1fae9cf0cac96929d3755698e00d47916593969e500af16052ee217d2834de86eb01e31224fddf07a6389b938a88014715243535a632e33841b724e8922a583977a848632f88e44f59a80afe16edce676cd715750587163758c9c0208855f8ec48bcf0f15df467252310d730d8cde99180accb685abb0cee1c5d82e4151f40fb1f0e1aac5b1f52838b6bb2ba8932bc49eab1d49f0f6641341343038576517ba89fef2c9cfe02bb7a79fd3edc8f6d3aae4e807ea090358a99e42ae7c9c5840c162f27585016f9d384901bedeafd7465e88444ad2c81d84855009e8abbe386b1587f71b10fca4eec78d65cdbdf2289c4c77b255d2a19489547200c0bd96e88c8c7ec66a691a45698da8441273536e1a6072f131f3779dc153c376d03819a3b12834a7dec1e3e7dc37a124272061b00afcf926c027d5febb59b0a86ee3e69099a943c19954578cae9614f0146d84f3ee7d6f9f877e6e2c626bb2d07e0026f729d1a96257509f3ed126782feb857a9eecec227956d0ecfa89374675078a42f0f77b0f73e92c847d99de2b9728657e405a129f4b7833682bcabc03aed72e63f8f24ba84d32918969b072462e32c5ebcb6e2c791c12304e3dc5373e9bc1ba6911e07e7306f3e0c11378b9095c4c312e70540176d3160474290d8fecd3f823ae434fffc09364509a6a927603b6a2e8a2ef7c90c34647ce4ca1a61637be12ac6928c8858717834b9132b649de28722063724d7ec6a43ff1e2dd4afe24d2bc5ac064e80cfe13297e7e24109becd14bb2004e2eda2b95393a7c6eb3b0e1ee1e7dd2a9573eaa5f038ee191598867501f4d60c7f7beaa7312a8db94e7ee5751dfae32834493445a5a92501e23423da86a3b851df925239170b88694b2c90a8e6bcfa7b55d088e39d8ad037a919ccde9146e5c5ab2359f28caed7aa7331a7ff5d37ec415f5f5c8cc2da5d9175e8b7b05ad8f74736c1e3e56dfedb739ea0ec6b5e1481060fe8360d753e3447e8e2ff175de5bd129e5f51008252e382f723936ddb5dabcf4e2ce785d4b967b4f42f82cfcf4a6c2dbb21e9a252b927537e2b72c8395bc1e235f96fe817d72de8d552731f929451e7b458f6f881afd10d9a0f113c0720b944454e839560107f448f503e0f845e582845324abb5d7446e764846cfe60ac54d00d172e7c21f28d7f38160826903281cb4340fa59226228733fe19c7788a144881960274ec3f14da00ac1ef7725f997a793ab02a935b4f45d518b31481b7ff4a370988692556e9fadec6de8f9d8570abda945b805753192f73439894a9e22a0041956e5aa92a73a58d155ac0a367d909711c39870015833958e9b4c8e805f7eb34737a19aaaf365dd28423aeebe2160965eb93b22a24ec62cb4af20027515377c8a8d2dd709021abc7173ea8b6984724dac12990ffb29fbd51afb213334c499ca45e846fc0f221d62f88beda6ff50d53d80eee511de00ddfa1bc7907e093161b57f7bd0c21ba0d99971e890b326bb9ac6e9cde3fe5d5fec1fec6da2367d3bfbc8d37a29429db7412605d377b1542ecef0f3773a02e1b50aafe0414a2a7b9f9e73d8edb7d29a08afb5579956bb86f85d9886aa84b2bf2f6fe2f763562a549807b7c57008c173f59062e55af2d56bb8c7c4ff7aca71632d7356b90be5ea1e4d53ca58384acee03d064b7b0d522b6950853ebc5c7ab24ccd275b6198045181dfe7ad6cac21d2e5180482a56928cf7f959bebb7806f9d1cf5ede95d3906239120dccb38087ed98d8f1e2013ccf375b4beeed0ee9d26ca91eeab15d90b1d93663764e335bf3f544a3e770b378e12f115979e0f132d82980f4ec0b7de58e00d18aded8026ab1341eba88e4e2550b34106b77b2a6dacd452552383972dc6af41d038f71d82225df8e3a1278acb6bfeadf6e02ded41412b35d561c96dfe6ce8b677d7e193c84ae84c9417cd7f3f0140445276c3a0a9a4c3d584ff6fd5baa01fbb1b8fce182d2db29e4a37b23252f83c1259c0444b55d33de5154c125ab8ebad21348bbab71664537b2eab3d1baaa04e7affe188cdc0151729d87e0db146b26a418a4f64c8d0fb25d0207fda19fbbbf72a0d0e98f70682983a8c429c756495edbf74dc4d029e45f2e4578029a7a8d75a393db11da685f4cd30a6757dd73209f337a20db5448f2bfbdbc80cf7f992282e5ef4164313ae49a03aa848619017514d36bcc107549dd62b2e1a6b23377a5b36fc8ce32940e6413e86fe2989f14ff0637e4aa873ea46f69bd236814906004012e38a0375ed7f54df3ce3476ccc2c5e41c2e3f5524fa9f5228c9a58b59ece10df91f7f434cf5eacaf3ffd2a909d99f0cb488bb5d02fd320ebf72480753451bcc1408e79a1233ba3df284111681ec06ccf3401e5048d14b588ef78185e52e9126161d5df05980119bb35cf257ec5568374822e0c7a87dbfb0fe5c7f72a75523ab597d38b0cc03c15b1613269dc4367b347a85cbf3e1c90a7058c480eba1a8a918a48b67721b62436adaae476a568f5d1bde9d52a1d7336867e2511a71b0ab73da79beb03465d067eec2c1516049dfa52ab9e3863855721a90316bd1c2b9ae15a8a57742f5854db20c710a176f85b383b1c184a0bbfdf5921c03568a1fa9d90e18a1a1a61ea58ec2eece16b56a5042cc72c1b4f8d4455ae6fcb7cbdc2f585af22a28823de4173cc70bb0426c1d629c4dac8ce5a92aec2c15567b418bc80771dcf34b729d53548e610704160ff37968c7408705a237f21573deaab9a57544f25d2560c2a15c884698d9242be33d01584263c38933d5a5e3a7039acriucriu.8.gzrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootcriu-3.15-bp153.2.3.1.src.rpmcriucriu(s390-64)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    /bin/bash/usr/bin/python3libbsd.so.0()(64bit)libbsd.so.0(LIBBSD_0.0)(64bit)libbsd.so.0(LIBBSD_0.5)(64bit)libbsd.so.0(LIBBSD_0.6)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.10)(64bit)libc.so.6(GLIBC_2.13)(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.15)(64bit)libc.so.6(GLIBC_2.16)(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.2.1)(64bit)libc.so.6(GLIBC_2.22)(64bit)libc.so.6(GLIBC_2.27)(64bit)libc.so.6(GLIBC_2.28)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.2)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.5)(64bit)libc.so.6(GLIBC_2.7)(64bit)libc.so.6(GLIBC_2.8)(64bit)libc.so.6(GLIBC_2.9)(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.2)(64bit)libgnutls.so.30()(64bit)libgnutls.so.30(GNUTLS_3_4)(64bit)libnet.so.9()(64bit)libnl-3.so.200()(64bit)libnl-3.so.200(libnl_3)(64bit)libprotobuf-c.so.1()(64bit)libprotobuf-c.so.1(LIBPROTOBUF_C_1.0.0)(64bit)python(abi)python3-ipaddrpython3-protobufrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.63.0.4-14.6.0-14.0-15.2-14.14.1`8@_0@_k8^^@]҇]o@\![[ @ZZZ@Z>E@Z7Y@YYoIYV=@YI@XXDXXf@X@XN@X)@XWڍ@W:WWaC@W;W @V@Vf@VMU@Uc@UlI@U?v@U#U@T|X@tiwai@suse.detiwai@suse.deDirk Mueller tiwai@suse.deGuillaume GARDET tiwai@suse.deantoine.belvire@opensuse.orgtiwai@suse.detiwai@suse.deavindra@opensuse.orgtiwai@suse.detiwai@suse.deavindra@opensuse.orgavindra@opensuse.orgaavindraa@gmail.comaavindraa@gmail.comtiwai@suse.debwiedemann@suse.comtiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.decbosdonnat@suse.comtiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.de- Fix the build with protobuf-c 1.4: criu-protobuf-c-1.4-underscore-fix.patch- Update to criu 3.15: see details at https://criu.org/Download/criu/3.15 New features: * Introduced criu-image-streamer * Added MIPS support * Allow checkpointing out of existing PID namespace and restoring into existing PID namespace * Added additional file validation mechanisms * Added support to checkpoint and restore BPF hash maps (BPF_MAP_TYPE_HASH) and array maps (BPF_MAP_TYPE_ARRAY) * Initial cgroups v2 support - Fix build with nftables package: 0002-Fix-build-with-nftables-installed-in-different-direc.patch- fix filelist mismatch after libexecdir change- Update to criu 3.14: New features: * C/R of memfd memory mappings and file descriptors * Add time namespace support * Add the read pre-dump mode which uses process_vm_readv * Add --cgroup-yard option * Add support of the cgroup v2 freezer * Add support of opened O_PATH fds Bugfixes: * Fix C/R ia32 processes on AMD #398 * Fix cross-compilation * Many fixes here and there Improvements: * Use clone3() with set_tid to restore processes * Clean up compel headers * Use the new mount API - Add libgnutls-devel to buildreq- Disable LTO on aarch64 and armv7 - Add '-Wno-error=deprecated' to fix build on armv7 - Exclude armv6 since criu/arch/arm/bitops.S uses 'dmb ish' which is armv7+- Update to criu 3.13: New features: * VDSO: arm32 support * Add TLS support for page server communications * "Ignore" mode for --manage-cgroups * Restore SO_BROADCAST option for inet sockets Bugfixes: * Auxiliary events were left in inotify queues * Lazy-pages daemon didn't detect stack pages and surrounders properly and marked them as "lazy" * Memory and resource leakage were detected by coverity, cppcheck and clang Improvements: * Use gettimeofday() directly from vdso for restore timings * Reformat all .py code into pep8 style- Fix build on Tumbleweed: Add -ffat-lto-objects to lto cflags.- Update to criu 3.12: New features: * build CRIU with Android NDK * C/R of IP RAW sockets * lsm: dump and restore any SELinux process label * support restoring ghost files on readonly mounts Bugfixes: * Do not lock network if running in the host network namespace * Fix RPC configuration file handling * util: don't leak file descriprots to third-party tools * small fixes here and there Improvements: * travis: switch to the Ubuntu Xenial * travis-ci: Enable ia32 tests * Many improvements and bug fixes in the libcriu * Changes in the API and ABI (SONAME increased from 1 to 2) - Updated to libcriu2 subpackage to follow SONAME 2 - Dropped obsoleted patch: criu-asciidoctor.patch- Update to criu 3.10: New features: * Support Python3 in ZDTM and CRIT * Keep names for UNIX sockets, that are unlinked from the FS * IPVv6 support for page server * Set page server socket fd via CLI * Large pages support for aarch64/ppc64 * C/R of Per-thread seccomp chains Bugfixes: * Failed non-container restore could kill random task on the host * Failure to dump namespaces was erroneously ignored * CRIT didn't show cpuinfo image file * Tasks that got PID-reuse couldn't be dumped iteratively because previous images were missing - Update to criu 3.11: New features: * cpuinfo: Detect compact frames and handle noxsaves * Add support for configuration files * Add support for external net namespaces * Punch holes in input files when restoring anonymous non-shared memory ( --auto-dedup ) * C/R of + epoll: Add support for duped targets + tun: Add support for multiple net ns + x86: Support extendable fpu frames Bugfixes: * mount: Better handling of mount points propagation * nmk: Make collect-deps to be more precise about targets * lazy-pages: Don't mark current stack page as lazy * x86: CPU -- Rework feature testing * files: Fix O(n^2) restore in terms of the number of fds * fdstore: Unlimit fdstore queue on start * mount: Fix regression where open_mountpoint failed on readonly fs * page server: Handle partial splicing * ... lots of small fixes here and there Improvements: * Remove all magic of service descriptors when it isn't required - Switch to python3 - Use asciidoctor instead of asciidoc for formatting manuals: criu-asciidoctor.patch- update to criu 3.9: New features - C/R of + Tun-Tap devices in sub-netns + File descriptors which were opened with O_TMPFILE Improvements - Restore of inotify watchers - Restore unix sockets in proper mount namespaces - Print CRIU and kernel version also in RPC mode Bugfixes - Random memory corruptions during lazy restore - Workaround the iptables issue - Don't use standard descriptors when tar is running to dump tmpfs mounts - Fail dump if dump_one_file() fails - Fill kerndat with zero-s before reading it from cache - cleanup with spec-cleaner- update to criu 3.8.1: a bug-fix release FDstore was initialized twice (re-initialized) causing e.g. - -shell-job restore to fail- Add python-devel to BuildReq explicitly, as a preparation for fallback to asciidoctor (bsc#1075764)- update to criu 3.8: New features * C/R of - Multiple network namespaces - Overmounted tmpfs mounts - Unix sockets and epoll descriptors in SCM messages Improvements * Rework service descriptors not to cause fdtable enormous grows Bugfixes * FP state wasn't reported on Skylake due to a kernel bug * gcc 8 warning fixes * Resource leaked on error paths * Attributes of sit devices with value 0 were not saved into images (and were restored into default values) * Tasks with pgid of a zombie hung the resture * Ghost files on RO bind-mounts of an RW mount couldn't be restored * Random memory corruptions during lazy restore - cleanup with spec-cleaner - switch to https urls - list binaries and man pages explicitly - remove rest of static libs to fix rpm lint errors- update to criu 3.7: New features * Pipes usage statistics * Run page server as non-daemon via RPC * C/R of - SO_REUSEPORT option - IPv4-mapped inet sockets - Net_prio CGroups - Overmounted shared mountpoints - Non-broken and breaking leases Improvements * Show criu and kernel versions in logs * CRIT decodes socket families, protocols and types * Much less pipes is needed for pre-dump, which is especially useful for big mem migration Bugfixes * Files in /proc/pid/map_file could be opened by non-exiting name (with 0x prefix) and it was fixed in kernel * CRIU log levels were used to configure logging for libsoccr thus breaking its logs * Overflow in various IDs caused bad image names * Compat (32bit) syscalls lost signedness in compel * Corked sockets lost cork flag * Preadv() syscall was declared with error which resulted in dump errors on 32-bit processors * Musl compilation failed * Ghost files in / dump failed * Crash when releasing context for ghost files, due to free()-ing shmalloc()-ed area * Lazy restore could receive partial page and crashed * Erroneous closing of lazy pages connection caused restore to hang * Lazy memory fetch restore could start before tasks are restored - Remove 0001-images.py-remove-shebang.patch * upstreamed in 8e45ce4905d186abafb7c20abb3b00207fefdb53- add 0001-images.py-remove-shebang.patch * fixes a lint warning about a non-executable python file being executable due to a superfluous shebang * upstream: https://lists.openvz.org/pipermail/criu/2017-November/039907.html - run spec-cleaner- update to criu 3.6: New features * C/R for files (except for unix sockets, ttys and epolls) sent over unix sockets * C/R for threads with different creds * Ipv6 over ipv4 tunnel (SIT device) Bugfixes * Some s390x registers were not restored by native sigrestore way * Overflow when parsing autofs info from /proc file * Dumps of anon shared memory with sysvipc one raced with each other clashing and corrupting image file names * The "dumpable" flag was not restore on shmem regions * Trash bits leaked into image when dumping fsnotify on some kernels * Lock/unlock of iptables from different criu processes raced with each other * Closed TCP connection with non-empty send queue blocked the dump * When --empty-ns for netns was set on dump only, the restore failed (Docker case) - includes changes from 3.5: see https://criu.org/Download/criu/3.5 for details- update to criu 3.4: New features: * Support for s390x architecture Improvements: * Unexpected death of restored tasks is reported with more details in logs * Merged many images containing info about files into one big files.img * When helper utility fails (ip, iptables, tar) its name is printed in logs Bugfixes: * Compilation failed on newer glibcs (ucontext_t) * Dying helper task could deadlock the restore process * Install-related makefile variables weren't configurable for distro build * SIT (ipv6-to-v4 tunnel) presence on host blocked dump of any containers * Potential NULL dereference when dumping net namespace * Dump via page server might not work across different criu versions * Failure to restore a subtask could be ignored by the restore command * EOF on page-server socket wasn't handled - Dropped obsoleted patch: criu-correct-ppc64-AT_VECTOR_SIZE_ARCH.patch - Add s390x to exclusivearch- update to criu 3.3 * Add --tcp-close option to help migration of Docker containers * Allow to override build time to fix build-compare (boo#1047218)- update to criu 3.2.1: bug fix release, * Restoring a stack fails on recent kernels due to kernel changes * Restoring on a host with LSM profiles failed- update to criu 3.1: New features: * Each boolean option now has the --no-$option pair * RSS explorer in CRIT * Multiple plugins in compel * Run-time check of 32-mmap BUG on x86 * C/R of 32-bit futex robust list on x86 Optimizations/improvements: * Start time is improved significantly with kerndat cache * Sigaction image is merged into Core * Unneeded stages are skipped during restore * Restore w/o namespaces uses host /proc * Restore w/o namespaces doesn't parse host mounts (not needed) * Single-threaded tasks do not parse /proc/pid/task/ in vain * BFD engine is used for more /proc files * More verbosity in libsoccr * Fsnotify dump w/o namespaces doesn't walk mounts tree Bugfixes: * Python bindings left zombie in self-dump mode * The last_pid sys-control was reset by restore * Threads caps were compared with mistake * make install put crit/pycriu to wrong place if DESTDIR was not set * Fsnotifies C/R w/o namespaces restored with errors * Inherited control terminal restore was failed (but dump succeeded) - update to criu 3.2: Optimizations/improvements: * Invisible files restore is de-serialized * VMAs restore performance is improved significantly - Mappings of the same file re-use the descriptor, not re-open it every time - Not-COW-ed mappings are restored in-place and are not mremmap()ed - Empty RO mappings are mmap()ed as such and thus not re-mprotect()ed at the end * More verbosity in case TCP locking fails (#292) * More verbosity in case VDSO magic mismatch * Restore or legacy epoll target descriptors and fsnotify marks is unified with common case Bugfixes: * Restoring fanotify marks from old images (<1.3) dropped the mark * Binfmt_misc mount could be mounted into wrong place * Compilation failed with gcc 6.3.0 (#315) * Waiting helpers could race with sigchild handler and would result in restore failure * Missing VVAR page in 32bit tasks wasn't skipped and resulted in restore failure * After restore consumption of files is increased (was fixed as side effect of mmap optimization) Deprecation/Removal: * Deprecated separate images for fsnotify marks - Fix the installation of python stuff: criu-py-install-fix.diff - Fix the build for ppc64: criu-correct-ppc64-AT_VECTOR_SIZE_ARCH.patch- update to criu 3.0: New features: * Compel library * Support for x86 32-bit arch * Version check via RPC * ASAN support * Force VDSO trampolines via fault injection * C/R of shutdown-ed UDP sockets * C/R of bind-mounts made from external mounts Optimizations/improvements: * SysVIPC shmem segments are now dumped as any other shmem (taking holes into account and sitting in common memory dumps) * CRIT show decodes socket's states and types and task's states into strings * CRIT show prints unix sockets names in more human-readable form Bugfixes: * Unix sockets' names appeared in logs with mistakes * Contents of SysVIPC shmem segments was dumped twice * Dumping of any memory segment more than 4Gigs failed * Migration of unaligned SysvSHM segment on Armv7 failed Deprecation/removal: * Exec action is removed, use compel instead - Create libcompel1 sub-package- update to criu 2.12.1: Fixes: * Content for external bind mounts was erroneously dumped, which could lead to dump failures or huuuge images * Unneeded collection of host mounts on restore could cause restore to fail- update to criu 2.12: New features: * C/R of external TTYs (for Docker C/R) Optimizations/improvements: * Sanitized the way the -v works Fixes: * Checking features via RPC crashed * Resting pipes in user-namespaces could fail on modern kernels * Shutdown state for UNIX sockets could be lost on restore * Dump of huge (over 2Gb) SysV shmem segments didn't work- Update to criu 2.11: New features: * Added "pre-resume" to action scripts * New --status-fd option for better control of page server * C/R OFD file locks, RO root mount for mount namespaces Optimizations/improvements: * More strict checks for extra CLI options * Report errors when probing locks * Restorer logs now contain timestamps Fixes: * Regression: v2.10 was broken on ARM * Use-after-free when restoring ghost directory * Array out-of-bound access when restoring VETH device * Page server exit code could be screwed up * Clang over-optimized string.h routines resulting in random crashes * Parasite failed to send FDs via socket on Alpine Linux * Restore of huge file tables could get stuck * Restore of epoll in epoll could fail * Errno value could be lost when reporting failure to restore invisible files * Dump of sched params didn't work on Alpine * Restore of huge memory dumps (over 2G) failed * Installation guessed /lib vs /lib64 with errors * Migration between xsave and noxsave didn't work for wrong cpu feature being checked - Update to criu 2.11.1: Fixes: * Page server start via RPC was broken * Fedora build didn't work * Ppc64LE restorer switch crashed- Update to criu 2.10: New features: * C/R of SOCK_PACKET sockets * Libsoccr -- library for C/R of TCP sockets Optimizations/improvements: * Logs cleaned up (removed bunch of useless, fixed '\n' in perrors) * Action scripts errors are printed in logs * Removed several iovec-s copying over the pagemap code * Restore degraded linearly on Xen guests. Breakpoints disabled until solution Fixes: * Py bindings fault on restore error delivery * Fd leaked on file restore error path * Fd leaked when restoring invisible files (gets closed with criu exit though) * Link remap restore could fail on kernels 4.8 and higher * Impossible to restore after restore error with link remap file in images * When going daemon a descriptor could be leaked * Custom setting of mmap_min_addr could make restore to fail * Sending pages over UNIX socket could race and fail with EAGAIN * Error getting ID of /proc/pid/ns/foo link not propagated and could result in bogus NS ID generated - Add libnet-devel to buildreq for dependency- Update to criu 2.9: New features: * CRIU can now be built with clang on all supported architectures * Ignore missing sysctls on restore with --weak-sysctl C/R overmounted mountpoints Optimizations/improvements: * Batch restore of memory contents from pages.img files * Link-remap type for invisible files is explicit in images Man page for CRIT Fixes: * C/R with --empty-ns still handled iptables configuration * SCM messages inside UNIX socket got lost after C/R (now dump aborted) * Empty unixsk.img file appeared when dumping tasks without unix sockets * Install procedure wasn't PEP-394 compliant * CRIU blocking netfilter rules were added at the tail of the chain resulting in unlocked TCP connections * Dump/Restore spurious failures when open() returned 0 descriptor * When dumping shmem lots of zero pages were written into image files * Ghost directory with more than zero ghost parents caused restore to fail * Shared mount could escape to different group on restore- Update to criu 2.8: New features: * Ability to configure CRIU build * Show statistics on the screen with --display-stats * C/R of Mac-Vlan devices Optimizations/improvements: * x86 can now be built with clang * When dumping files useless garbage was sent with descriptors from parasite * The clear_tid_address and regs are printed in hex with CRIT * Big code rework for compel (part 1) * Removed duplicate error messages from opening /proc files Fixes: * Restoring cgroup NS could use old path prefix * criu check crashed on btrfs mounts * RO external mounts in userns couldn't be restored * Unmounted on host binfmt_misc could cause dump to fail * Off-by-one could cause criu crash when dumping shared / bind-mount * Mount namespace' roots could have flags changed on restore * Dying tasks could erroneously be tried to dump * Swapped shared memory pages were not dumped * Errno value can be sometimes spoiled by RPC * Restore of netns with newer iproute2 tool could fail Deprecated: * --ext-unix-sk, --veth-pair and --ext-mount-map, by --external - Set BINFMT_MISC_VIRTUALIZED config to build- Update to criu 2.7: New features: * Option --cgroup-root now makes sense on dump too * CLOCK_BOOTTIME timer supported Optimizations/improvements: * Output of iptables command leaked into logs for no use * Helper dev environment installation script for Debian * Man-page updated and prettified :) Fixes: * Unmounted binfmt_misc with rules wasn't dumped at all * Malloc() error could result in crash * Device cgroup restore could fail restoring empty record * Some entries in device cgroups were restored twice * Potential crash when dumping cgroup bindmounts * Sign error caused dump to fail on btrfs partitions * Shared mounts with the same mount path failed the dump * Threads were restored with unshared FS (cwd and root) * Shared memory changes tracking disabled (regression found) * Restore of autofs can hang * LSM profile propagation could be lost * Mountpoint with lots of options blocked the dump (too small buffer for parsing) * External slave mount (with external master) blocked the dump * Mounts with STRICTATIME restored with others flags dropped Deprecated: * No reg-file entry for TTYs- Update to criu 2.6: New features: * Ability to leave process stopped after restore * Memory changes tracking for anonymous shared memory * Deprecation option/environment * First error message is reported back via RPC * C/R of More IPCNS sysctls, xIDs of PTYs, TMEM on PPC64LE Optimizations/improvements: * Use service FD for transport sockets on restore * Ability to turn pagemap-cache off (some kernels are buggy) * The criu --help text has become better Fixes: * R/O-mounted root could block the dump * Restore of cgroup.mm.oom_control could fail * Cgroup fs bind mounts were detected with error * Unaligned futex-es in parasite could cause dump to crash * When compiled with gcc-4.9 parasite code crashed * Failure to freeze cgroup didn't result in aborting of dump * Wrong ns list was parsed when dumping userns (invisible since nesting works only for mntns) * Non-inheritable non-tty as stdin caused shell-job restore to erroneously fail Error path in criu dedup could crash Deprecated: * Per-pid rlimit, itimers and posix-timers * Separate image for epoll tfds (target file descriptors)- Update to criu 2.5: New features: * C/R of fs.mqueue.msg*_default sysctls, Unix sockets with overwritten paths, and Link-remap files in removed directories Optimizations/improvements: * Micro-optimization on namespace ID evaluation * Restoring shared files uses one socket instead of per-fd ones * More verbosity when refusing to dump a file descriptor Fixes: * Restore could fail on openat() with ENXIO when multiple mnt namespaces get restored * The criu exec action got broken * Link-remap and ghost files remained on FS after restore failure * TCP window could remain clamped after restore resulting in connection lockup/slowdown * Dump could stuck when injecting a parasite * The --timeout option wasn't taken into account when freezing tasks using freezecg * Race in freezeing/seizing could result in lost tasks * Memory leaks here and there on error paths * Double free in xvstrcat (crash) * VDSO length was mis-calculated * Symlink on --root path could make restore erroneously fail * Potential memory corruption on reading mntns images * When restoring on systems with low pid_max limit restore could fail * RO-protected SysV shmem segments could be restored with PROT_EXEC * File mode of mapped file was evaluated with errors * Restore of cgroups' mem.swappines and ..use_hierarchy blocked sub-groups creation * Impossible to restore cgoup mem.swappines default value * Zombies living in orphan sessions/groups failed the restore- Update to criu 2.4: New features: * Generate core from images * Ability to forcibly drop half-open TCP connections on C/R * Ability to specify cgroup ctls to dump via API Opened/mapped files' mode is compared between dump and restore times * AutoFS mountpoints * New cgroups (perf_event, net_cls, net_prio and pids) * Memcgroup optional properties * Devices cgroup Optimizations/improvements: * Pagemap image entries are cached in memory Fixes: * Configured kmem cgroup limit restore failed * Mem cgroup oom_control * Cgroup's pids.max was not C/R-ed * Failure to write cgroup property was ignored * No init PID in pre-dump action script * Sigactions inheritance didn't work on ARM * Opened "/proc" dir blocked the dump * Working with iptables was racy * Sibling mounts detection error on dump * Devconf accept_redirects devconf could be restored with errors * "All" devconfs could be overridden by "Default" * Name-less unix sockets got auto-bound * Mode was lost for PTY device file on restore * Newer protobuf compilers didn't recognize PB files * External mounts could be remounted with MS_PRIVATE * Build fail on Alpine Linux Deprecated/removed: * Per-pid file locks images * Per-pid fdinfo images * Ancient pagemap/pages images - Enable builds on 32bit ARM- Update to criu 2.3: New features * Ability not to show payload for some objects in CRIT * Pidfile is written at the end of restore * Ability to join existing namespaces on restore * C/R of Data sitting in TTYs, Partially write-protected SysVIPC segments, Debugfs and tracefs mounts, Overmounted tmpfs, IPv6 devconf sysctls, External block devices, Unix sockets with mismatched shutdown state Optimizations/improvements: * Relaxed calculation of AIO ring size * Tree-based search of tasks by real pid * Less mem-to-mem copies on restore * Saner devconf image format * More verbose explanation of why task cannot be seized * PID is printed in PIE logs Fixes: * Too many mmap-ed files blocked the dump * Potential memory corruption when working with IPv6 sockets * Overmounted bind mounts could cause restore to fail * Overmounted bind mounts could result in badly restored mount tree * Incomplete restoration of RO bind mounts options Deprecated/removed: * Greedy mode of pagemap (non-root) caused dump to fail (disabled)- Update to criu 2.2: mostly bugfixes New features: * "Post-resume" added to action scripts * Root task's PID in environment for action scripts * Devconfs drop_gratuitous_arp and drop_unicast_in_l2_multicast * Serial ttys Optimizations/improvements * Lighter link-remaps restore on newer kernels Fixes: * Race when restoring userns vs setting ns' maps * Tasks with zero fds failed the dump * Restore of TCP recv queue could fail due to kernel mem alloc constraints * No errors were written to logs when launching helper (tar/iptables) app in userns restore * User-mode dumped no memory pages sometimes * Bind mounts considered not as bind sometimes * Two mounts in the same directory blocked the dump * Off-by in on /dev/tty{1,63} dumping * Forking of cgroupns task was done with screwed clone flags Deprecated/removed: * Greedy mode of pagemap dumping (on some kernels we do not support user-mode) * Removed the --namespaces option- Update to criu 2.1: New features: * Checking now classifies features to important/extra/experimental * Ability to bring some disk files into images. * C/R of Completed AIO requests and fallback gre and gretap net devices Optimizations/improvements: * Code coverage collecting now works * Use native rtnl library for netlink messages processing * Using --output - now results in stdout as log, not a file with the name "-" * Signals are printed by names in logs Fixes: * Make tar generated tarbal with bad name * CG restore code lacked rollback in some places * Error code from raw syscalls was treated with errors resulting in wrong criu check reports * Dumping task with HUGE amount of file descriptors failed * Task could be stopped after pre-dump if respective option was used * A /proc/pid directory from dead process conflicting with a new alive one could cause dump to fail * Zombie from alien session/process group caused restore to fail * CGroup fs was wrongly mounted in CGNS on restore * Irmap scan was mis-checking devices numbers * Use-after-free in irmap scan * Btrfs bindmounts detection was mistaken due to 'subvol=' options met * Propagation of mountpoint's shared groups was lost for propagated mounts * Unaligned allocations of restore shared memory could result in codedumps when used by futexes * Temporary mountpoints could result in spurious propagations * When aborting the dump criu could crash on use-after-free objects * Locking the network could stuck doing the DNS resolve * Several build fixes Deprecated/removed * The images from criu prior to 0.4 are deprecated * The --namespaces option makes no sense and is also deprecated * The --ms option for check action is deprecated- Update to criu 2.0: New features: * New code layout for sub-projects (e.g. Compel) * Unprivileged dump * Dump/check cpuinfo support for PPC * Explorers for CRIT * Added "post-setup-namespaces" to action scripts * Added timeout for dump procedure (5 sec by default) * Ability to override LSM profile on restore with CLI/RPC option * External bind mounts can be fs-root mounts too * Skip netns' internals on dump and restore (for Docker integration) * Advanced support for external files * More C/R supports Optimizations/improvements: * Align parasite stack on 16 bits for correctness * Compilation with native libc syscall wrappers and helpers * Parasite code injection done via memfd system call * Make vaddr to pfn conversion with one less syscall * CRIT shows device numbers in "maj:min" manner * CRIT shows mmap's status in verbose * Docker files for builds on all supported arches Fixes: * Absent readlink syscall on ARM (use readlinkat instead) could cause dump to fail * Wrong argument to timer_create system call could cause restore to crash * Extra tasks in freeze cgroup caused dump to fail/hand/crash * Unaligned restore-time object allocations caused lock operations to fail * Opened /proc/pid dir of dead task failed the dump * Unaligned stacks caused criu to fail on aarch64 * Changed device numbers on restore side could cause random failures * Fixes in mount points sharing/slavery/propagation restore * Race between mntns creation and fds closing in different tasks could cause restore to fail * Hard kernel limit on TCP repair recv queue restore could cause big queue restore to fail * Unconnected dgram UNIX socket with data lost packets on restore * CRIT didn't show IPC objects * CRIT didn't convert IP addresses in images * Logs from PIE code contained corrupted addresses and sizes * Not loaded netfilter modules could cause dump/restore to stuck on dumping netlink socket * Shared external mounts were restored with error Security: * When checking for namespaces' CRIU entered userns with host creds * Deprecated/removed: * Completely removed 'show' action. Use CRIT instead.- Update to criu 1.8: * Ability to check CRIU features via RPC * Pre-dump and pre-restore action scripts * The "info" action in CRIT showing stats about image file * Python API * C/R of read-only bind mounts, IPv6 routes and iptables rules, ip rules (it ip tool supports such), ignore_routes_with_linkdown netns devconf, empty bridges in netns, FILTER mode of seccomp, and IP_FREEBIND socket option * Lots of fixes, two security fixes Service run as root could allow users to violate ptrace policies Service run as root could give users access to privileged files and directories - Remove superfluous dependencies - Clean up spec file, as systemd and logrotate supports have been officially dropped- update to criu 1.7.1: Fixes in mounts, notifies and userns found while testing openvz - update to criu 1.7.2: Fixes for IPC in userns, venet C/R, socket buffers overflow and unix sockets name off-by-one - Add the package dependency on python-protobuf- Disable systemd service as a temporary workaround for possibile security issues (CVE-2015-5228, CVE-2015-5231, bsc#943105) - Update to criu 1.7: * Improved cgroups management * Support for seccomp strict mode * Support for stream unix sockets inheritance * Support uid/gid-restricted mounts in userns * Support deleted bind-mounts * Ability to specify maximum ghost file size * OverlayFS support * Support relative unix sockets' bind paths * Altivec and PSX support for PPC * Small PIE loader * Temporary proc mountpoint is mounted with nosuid, noexec and nodev * Less memory copies when preparing restorer binary * CRIT action "show" for less keystrokes on common use-case * Fsnotify log messages now use hex everywhere :) * CRIT output doesn't mix fields any more * Many fixes - Drop obsoleted patches: crit-install-prefix.diff lsm-prototype-fix.diff 4c5b23e5-criu.pc.diff- Fix version in criu.pc file. 4c5b23e5-criu.pc.diff- update to version 1.6: * PowerPC 64bit LE support * Makefile.local for 3-rd party build rules * Ability to "enable" filesystem on dump (--enable-fs) * Ability to skip mountpoint on dump (--skip-mnt) * Prepare to deprecate "criu show" command * External mounts auto-detection * /dev/tty (current terminal) support * Netdev and netns (all/default) confs C/R * Images v1.1 with extra magic at head * Support fusectl (only ctl) mountpoint * Sub-version format is now as of git-describe * Apparamor labels C/R support - Fix library path for aarch64 and ppc64le - Fix the prototype for lsm.c (to fix build errors): lsm-prototype-fix.diff - Refreshed crit-install-prefix.diff- update to version 1.5.2: * fix error in mutli-threaded tasks restore with --restore-sibling (Docker and LXC cases) * fix too big RPC messages error for service (and swrk)- Fix build failure on FACTORY due to comment-in-comment in google/protobuf/descriptor.proto - update to version 1.5.1: * fix crash with 4.0 kernel * legalize swrk API and add the ability for inheriting fds via it * cgroup yard destruction and properties restore- update to version 1.5: New features * CRIT tool * ability to request CPU compatibility on instructions level only * C/R of empty AIO rings * more detailed errno report via RPC * per-feature "criu check" * inheriting FDs on restore * ability to automatically move veth device to host-side bridge on netns restore * VT terminals support * more user namespaces C/R stuff See more details at http://criu.org/Releases#v._1.5 - fix installation of crit: crit-install-prefix.diff- update to version 1.4: New features: * Dump and check cpuinfo * Initial support for user namespaces * The docker_cr.sh script for Docker * New API for writing plugins (old one is still possible) * Service workers change their title to better look in ps output * Ability to feed socket for pre-dump and page-server in swrk mode * Page-server can auto-bind its port * Ability to perform several actions during one connection to RPC service * C/R of opened /proc/$pid/foo files of dead tasks * C/R of /dev/console * C/R of virtualized devtmpfs (openvz and future upstream kernels) * C/R of empty mqueue fs (posix message queues) * C/R of shared bind-mounts See more details at http://criu.org/Releases#v._1.4s390zp23 1624002206  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3.15-bp153.2.3.13.15-bp153.2.3.1  compelcritcompelscriptscompel-pack.lds.Scriuscriptssystemd-autofs-restart.shcrit-0.0.1-py3.6.egg-infopycriu__init__.py__pycache____init__.cpython-36.pyccli.cpython-36.pyccriu.cpython-36.pycrpc_pb2.cpython-36.pyccli.pycriu.pyimages__init__.py__pycache____init__.cpython-36.pycautofs_pb2.cpython-36.pycbinfmt_misc_pb2.cpython-36.pycbpfmap_data_pb2.cpython-36.pycbpfmap_file_pb2.cpython-36.pyccgroup_pb2.cpython-36.pyccore_aarch64_pb2.cpython-36.pyccore_arm_pb2.cpython-36.pyccore_mips_pb2.cpython-36.pyccore_pb2.cpython-36.pyccore_ppc64_pb2.cpython-36.pyccore_s390_pb2.cpython-36.pyccore_x86_pb2.cpython-36.pyccpuinfo_pb2.cpython-36.pyccreds_pb2.cpython-36.pyceventfd_pb2.cpython-36.pyceventpoll_pb2.cpython-36.pycext_file_pb2.cpython-36.pycfdinfo_pb2.cpython-36.pycfh_pb2.cpython-36.pycfifo_pb2.cpython-36.pycfile_lock_pb2.cpython-36.pycfown_pb2.cpython-36.pycfs_pb2.cpython-36.pycfsnotify_pb2.cpython-36.pycghost_file_pb2.cpython-36.pycimages.cpython-36.pycimg_streamer_pb2.cpython-36.pycinventory_pb2.cpython-36.pycipc_desc_pb2.cpython-36.pycipc_msg_pb2.cpython-36.pycipc_sem_pb2.cpython-36.pycipc_shm_pb2.cpython-36.pycipc_var_pb2.cpython-36.pycmacvlan_pb2.cpython-36.pycmagic.cpython-36.pycmemfd_pb2.cpython-36.pycmm_pb2.cpython-36.pycmnt_pb2.cpython-36.pycnetdev_pb2.cpython-36.pycns_pb2.cpython-36.pycopts_pb2.cpython-36.pycpacket_sock_pb2.cpython-36.pycpagemap_pb2.cpython-36.pycpb.cpython-36.pycpb2dict.cpython-36.pycpidns_pb2.cpython-36.pycpipe_data_pb2.cpython-36.pycpipe_pb2.cpython-36.pycpstree_pb2.cpython-36.pycregfile_pb2.cpython-36.pycremap_file_path_pb2.cpython-36.pycrlimit_pb2.cpython-36.pycsa_pb2.cpython-36.pycseccomp_pb2.cpython-36.pycsiginfo_pb2.cpython-36.pycsignalfd_pb2.cpython-36.pycsit_pb2.cpython-36.pycsk_inet_pb2.cpython-36.pycsk_netlink_pb2.cpython-36.pycsk_opts_pb2.cpython-36.pycsk_packet_pb2.cpython-36.pycsk_unix_pb2.cpython-36.pycstats_pb2.cpython-36.pycsysctl_pb2.cpython-36.pyctcp_stream_pb2.cpython-36.pyctime_pb2.cpython-36.pyctimens_pb2.cpython-36.pyctimer_pb2.cpython-36.pyctimerfd_pb2.cpython-36.pyctty_pb2.cpython-36.pyctun_pb2.cpython-36.pycuserns_pb2.cpython-36.pycutsns_pb2.cpython-36.pycvma_pb2.cpython-36.pycautofs_pb2.pybinfmt_misc_pb2.pybpfmap_data_pb2.pybpfmap_file_pb2.pycgroup_pb2.pycore_aarch64_pb2.pycore_arm_pb2.pycore_mips_pb2.pycore_pb2.pycore_ppc64_pb2.pycore_s390_pb2.pycore_x86_pb2.pycpuinfo_pb2.pycreds_pb2.pyeventfd_pb2.pyeventpoll_pb2.pyext_file_pb2.pyfdinfo_pb2.pyfh_pb2.pyfifo_pb2.pyfile_lock_pb2.pyfown_pb2.pyfs_pb2.pyfsnotify_pb2.pyghost_file_pb2.pyimages.pyimg_streamer_pb2.pyinventory_pb2.pyipc_desc_pb2.pyipc_msg_pb2.pyipc_sem_pb2.pyipc_shm_pb2.pyipc_var_pb2.pymacvlan_pb2.pymagic.pymemfd_pb2.pymm_pb2.pymnt_pb2.pynetdev_pb2.pyns_pb2.pyopts_pb2.pypacket_sock_pb2.pypagemap_pb2.pypb.pypb2dict.pypidns_pb2.pypipe_data_pb2.pypipe_pb2.pypstree_pb2.pyregfile_pb2.pyremap_file_path_pb2.pyrlimit_pb2.pysa_pb2.pyseccomp_pb2.pysiginfo_pb2.pysignalfd_pb2.pysit_pb2.pysk_inet_pb2.pysk_netlink_pb2.pysk_opts_pb2.pysk_packet_pb2.pysk_unix_pb2.pystats_pb2.pysysctl_pb2.pytcp_stream_pb2.pytime_pb2.pytimens_pb2.pytimer_pb2.pytimerfd_pb2.pytty_pb2.pytun_pb2.pyuserns_pb2.pyutsns_pb2.pyvma_pb2.pyrpc_pb2.pycriucrtoolscriuREADME.mdcriuCOPYINGcompel.1.gzcrit.1.gzcriu.8.gzcrtools.8.gz/usr/bin//usr/lib//usr/lib/compel//usr/lib/compel/scripts//usr/lib/criu//usr/lib/criu/scripts//usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/pycriu//usr/lib/python3.6/site-packages/pycriu/__pycache__//usr/lib/python3.6/site-packages/pycriu/images//usr/lib/python3.6/site-packages/pycriu/images/__pycache__//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/criu//usr/share/licenses//usr/share/licenses/criu//usr/share/man/man1//usr/share/man/man8/-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.opensuse.org/openSUSE:Maintenance:16524/openSUSE_Backports_SLE-15-SP3_Update/f48f9c24cc35888080fd31ed2c085453-criu.openSUSE_Backports_SLE-15-SP3_Updatedrpmxz5s390x-suse-linux  ELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=e3f109f9c706bd9f36bfe8c9acc954dbb5375304, for GNU/Linux 3.2.0, strippedPython script, ASCII text executabledirectoryassembler source, ASCII textBourne-Again shell script, ASCII text executableASCII textpython 3.6 byte-compiledPython script, ASCII text executable, with very long linesELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=64163c4629cf10a91ecd0ea3e21e24b90264561b, for GNU/Linux 3.2.0, strippedtroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!RRR RRRR#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#R#RRRRR R"RR R RRRRRRRRRRRR RRR RR RRR!RRRRz/=RVvXձhݣutf-88292bab2d0f1cbcb6384c5a44e4f0cbeeaa8096e84728388d62b32b8eb4b3771? 7zXZ !t/UaAD]"k%]:~M{jY:|Ʒb0ӝRzV% έZ%! =y`Yȉ /!alЇG ?"՞<Gʕ[= fNn\3DCF{DSAmʌXZ"p=@u:u}9e5EoW6&V,$~7e%4ƅSwRi d# 0lT!?*2(E"7hU&-xæá%3U!eĔV-waÌzuP:cF{QNUBc8lߕkI䛵)O[ĪcxG-ѽ쒥^ 0?(bv9)y$XڣXĿz];kv#0p{**MʥUesQGo=7g/L s0`7}nc4kXMYR6be7KgavR-3ŘV֭}EYqI_HnϘ}x8z3|.3F9e1H,͌Ū.MGxFҧδKҾEX6SR~_1W>ѵGU ] s8m΅-J*!x{ )T4y:#/6Ip*!l[WO\QwdX N>az髩F >NCuZ,'?*ɃN`u=3Gw+|C 1q"l, T^~<-N_ %tdi"zsW],]ܙ^#( ?Zo].g.zMiE㡢 |-B1<ٛ腇:'=-~wLB'4E!^N :O>CjD+=ujpm$C"8j|2{NmV6A| >^56>saLț..l?eOQs`S!@ѧދ2'BNڇZEJ-QgtoŎ}w^2TC@u HNT+<4r1_sr@"Gp=2# 0T\j{NWZ|Tx9}۵q:ZUR`mZ{!\\X=|G Ȣ5I?m`Dz^!Z}p dxMZ(\b;ȖkZZZ.-Du3ƔɳցES)yz9[Z}gyֱql-c"ufnPY*λёYi.5Sq{zfO"D;3l#a{iK 0wlJ8E껰 +q?5Ba`hK09y` E'\H.B>,WiIAM\FS!Wqfmv1y#i͗4kx|:0Ľj#0!}4Liւ/l]Ÿ w`TFEaݥ7$ОW[ǎ+&r-@A+v˧þhRw~ fu|z78?߆;ӣA{%'Ґ"b[(VfS:Y0e :lWZ}3/DaT!ib{A+IDEexcQ8zΔ|vHP|v-K[ ksC*]NT҄QU}XMeu6J cB[~%JK;yX/2pKZoU7~TNI?Ԛ"<h`ɎsX6M%2u*t/ Mnx >߿_ Rg0(caNT4pn XS*R ώ 7_ .Gt=,dbNcѺd9OTBԨ 5ul%vx!ؖ_{ v"]kg"땇FnlL,uǨ"C\[_ |çc5'WsXck&!M.=I\i`fkHZ*nZ#MUc3tUGrY^PNj/g~I7 5(eu/Ay&bRU͓R& .Id;|qbr{upx*Pb`Jsw >ns)߶ ť=TR$/$EA'`jfx`^c=Z\E;"}4064ER7d[36KrpwR&4_Gъ~ ;]LM;<"JdU}cO׼D m1۽ Eo=4?=m=FvB0IsrLbFLBvKnTF%KeFζndr`Vk? )+@etinmC# |.ei)J&!֏GQ-LMxPm^BɊ^m0/7V E.웡U~L\1'Ԍ$(h÷MgY00ӈZYs>xp%MAx"YA^W> s%x|()6 _UX` /r"4-D ?K#gb(]ci~#4QL9Ć;dz^4ᒯ- T\Y ps߳jvu&*?2,/{zmi_frFQoyM)j\:dؗ`j9Q:uTJX^C @>@q9==3x:FNJ#!d澏B1Y|3\&?H%A-?l+| hr@%Lun*15ȝd"yqrL8%!:H%[L>Aj&%r Ws?+ݼ=\3w`I=2cᲛ)k>ҮCM8N^ 1G'LAa eP2<gԾP׻y)sQ}O}B4CL1` >J/" Z{{HMTldGEh[{AuWǢg7TeX5RΒXwϔ-#=rcKydF.qy:˱_sVšb=^2VusS[{pkÓ=]S,o /4ՕT~D}B&NaEbS{x; {v9V&l)*2_.@)Ug:PY‘i'0ɩ! ]5{!Ls_6ģ6|0>ݷ4 g"Cs3ځST^3nc 2 8m[(!>y"(&WQv]yXͱzy-}?Mm^SԥjwF@qVp|IxF8+Bg'xsqUP;sAEe'1u.VK$IeM|8'@n1 #wĤmكsQpT`S~ۧژHoH-M{PUWŘ `g'dFL;;hm|/''JRl9\&?4p/F D Ehz":_l0G{nA9i!)M9ĦS7w} b"QQ᫴Ά5+\ r2鐵MsF<4!lX-A`(K~+q[YAA@xG^z 4&m@qA0I 9~ Z;2?qpg%3Z-;(2YB O/!1/h5pf]>@Ҽ<=!qWP2?gtT";lwZ0^peS[ p47ewpC;!İtpTGvd۰h/ {GioﰛkL^D4 Ɩ^l];A> ߂'8 & 2 C@G%’Wv+bbFpUb4lJj$hjDy:O$"̋O_{ԄKKOT7 \QP$ 6%{E  7lC>B23T/ VwCwP*̧ҠJȕV*ϱȄ|1wd?GCS&Xz8"ǰ\GPCS#m ҂NݭHyѲJLB AGj- &O yy=ǒqO_grKaHaǔkz7M-AQ!o&'"0 s#e]Ē=P6[|yL?F|G*_?  q"$?:G/^ߗq}*Pezե'1 7яPm17m+z$hqi Z@MbzG%zGZ U + ]8yGD)Wng !BPu,`L}!bviȊn8qsq1׶*TAciJULά21bĺw52YUt7Kj9i1"茠7ҬR5|\X 11$jDt kB;hH*)SP3bu}6fz⤐tqaƶEp%Q#f1wٲI@q_Sim/}Vo%{x]XYux#h׻=C Վ_= J7mɂJ/pԃLO.AseܖФb[bCD&aauroau؍&8(.Մ'M:’UPbVϭ>}ΨK ) 8)&6ZqŇ4ʜ9+X[3ߎC2NH)6h/T81;  X>}\8Nіu D@4jp:Lo}"쐒]% Oj @\kCdSi{}?TdyUF|rU-F1JMWZ3!Z>74] \J|6E 0X?D ]_vI/!.N9Wf<a@`C -B|($.i"a8P0&zr?N?Q0zIpv*J!S"!|ܣFV]^:NזV{ ռ:2f?uۚgf:%Z)ZR]?5/f#Cjra K<̅xN`ܝu3}AVm7 .[,A8"р3 ntb-4B%q"s9:X1 1޺uO!'vu4ޛ˝*ܒr]MERpPy)rUִPϟ53oo%γҔ0򦰟`BD䳶VЙT{5qDtRz՚[G5aԑS:gLWi1N%sPtZYDf稤lc\d) mT,F}`>Mo FsW껭9*{Ataank8NTsl] ./9Ղ%k2 "ge/-Iʊ}j6~=krڮy6^=ټFu";fޤ4;L-h( gu5O+ X.yjtIiHx,>9ع!>څ4 LS!bzyâu`ȊoԺjVrhC>jN·kB=[ &Q͡﫼ml)ϴ5<6è򗝃 Ѣ5Bf*V%md+$$(gpgV΄~kmFK~S%҈R*g XH/uaU'j=p<xkZDX]^>\'XƞtwU&" c%^@/Qϒ/3ǐy|F(9e8[+*[GWi@C ,Jvk7չGHw]~"a|f'W20 Y;)o1oq}J qy[O-ms5a)7<4@=ql%,ȵz&dwS#(/LaD;'d4)AD&*7 IzUݨc̬p;E+5KU>TuWf߿.SvS[AyB9EdƉ ;3sSc#Ӎ/+^wlh`nE*A`O dilgP[;y $ZW4x5["pӜžҜ@-ľB!?yT'XȂ x}agEc*Le4:uS/~ SXZb˝~4Y&hVEb R˿>^C  - #XwD@Ey2VP{H)\޳f_wg} . ?4-z}O7{Q cG=2?^R%=@+E%d"\)hq:¨%EA;07QYM&-n=incyut>sW965AQP^IbПn-4 "mͺ*o?;LP!ݦ>^;&xD3$$zn_벚okp/VvkvNѼR=#"lw}09+!R}ߝ<ݔcHYv^?q.4]W@ZPmqfFj4F5t?3:f^ޅЧA > h8!H*#m̉+H/I:X qk`mzm$cD$Ihg*W,[FӃ|@+HKdor@_ηV R d౯ eK m[gYd'gjlcg| w0o[x~ǚJ2S9-v1|OLؓ2qp=m.{% D՜yRZdd{6һh" K榁1h\c}RTZccdziAipкt#e<3x6cLLӶʿ&c#^?Ċ[3Iyrw"goI Pz7d]1|kc[{zuF!b{ZMD,A*^U n;)a:< Pm7`s2&ƾO̭bZhK#Z!j.1cˢ[!#|7[ 1 )C"7>:L &1b. ;︉pb rD JMKy0dzBP/g0v&j*&Seh5חڤt껮Sjӈ\O帄iS8dAkWo Ex}Q3 ?M:I_l{amnmA@ɆcBz>_X]i F .t7\q6=%H|NIk4 U?ETVY"5"k_k'}[>;/) A~}>Xm:Cw--()߁n!C VzMdGVCĒq7nڧrR6ؖ>8Gid!8 p;; IBvsCꍤZ71[`fnJŐum:)&C~j8L8Vm[Z">Etzphnuk>\Vհ.@=fPkXD٭f=ryf 8t+ˎԄUUHN-8ZZf~ o6RK):Ov*aD }6᎟&GU *cDY!B9-}mVhhHA$J!ꆱ5$mM#/[ʑH#gdׯgpkvz(oʆA:FP^tFb Ĺ~(r6j?%T>h@Du! sЖ] 25"$C|~zmu;3>QP!ed^ƭS'Fk΀;wȏ@ێ2*s_c,_bŢNYlH̬bHC41 SFܨH]-w=|YQ^K0HnmL<۔dk։0_T7r0ȃo︱t͡Q"O(sֽH<(^Rv^S8kdn,)oJv A[AC @Qn$K/~ f9G*J u*N ]Ϳ]ml⓵4 VYmS_#|Gxg.j%oxg1ҜgδYe*5Tw9c4=2>(ڌSom]{l^P)Hv9Z$y!k-8wB6K)VCgn޺O5G'Y71TXS0Nt6|Цy6D"s`ڵLUdNv؎d8Rg?VVRDI⹊/PSM. }C1DN;,S^RPpT[P4$ 8V8\V)twO傶qq 'M]I*X슷( N]M=" BM)[AC@ة:r/|f34.`j}0MkGN]9?~,ۻP&W뼪u|ݻ`M_=TST>5~⊢eZ`Jʺ(W WЂ~v X%IPRs9wv]~2?D@"X))d R#!~dn5#' [F~Teo lf4-NXV8ϼPlL!krŠcnچ_ +dTE-x0~~ j3ѱ_1o+ga׉jJ.pyX;{uk$kFl N&GЎfچ>LxVVSЎH24k.9)®1ږ3׻jV L4(<2^$ͳ~X][嚠PG/oFGl$VB;‡i沅ӔQNf/"pXEg{ N1.:>n@*vjC]Wg|j7 q8PT#0(`;I%:n`T"GQ {Ǹ O%h| $p yp3l 1_|y8~uGI :rhD``uƪg HN04m#q*R)u<|ٹsBՕҒ!VfH ku8OrPw~Vt LnЮh!;ͥGܣ$ ]7 6x*6]T~. :JJF&X@㉭Q8텔M?Tq+;\Ēvlۉʄqnh>lZ3R'!w02萟p'^7HOս3~#p/chPe~ Y^E6}qA=GooGWr!69\ؑ=7|L,"Y~Ab/:n;ZeUШV ʼ뺶]a%iAWfm.r`PD뜱7JT]vfmѢ̴Bx|~kzD>SټjX\_jR/<}6yLmB(\2>K4 Z7ZPY`Rr cXbjK. u"Tg3M IC%'+%B7k(`5a2Bn~ ,3 Pwac DЦƱZ3H'MQ]踫L'^\$χ U۾VwP\G wB "sͩPG"xORxkg6Kr@o1C6G*ƊC[0e-&k@QMoZ{^z)zz%Z3_Ys#z<}~.zGʷ7aűogWKY1G.[KXHEA e¿&aϿP H9J=v& D*ge&;!号[Rг-V!?,KQ,~y> fӷ2ewX ǜf%V=>"%I*"R;4EJX)k i=!⍖_LM"A(Pp+Ω Fl[M=4ӒwFv^ym 58e BX+S Xa!ێ !jCD~C_::,j]⠶Mm@~Ƿ7 x@dvīA>6F[trEfcBNrun#;º`>ߐ.hC49j5uA-uvߟ9LhVYTOQL%C(WDh(9l$$|bjK:r{:%]]>@h&gиSZJ^J㼼}]+gZ 5*LdUts̼2O1ZN9tCj%g**n]}]3~ΆZP0l9,>+46RKfp9PI$_Jt(tŝ6eCB4ҩp]R893hф'Sq`kfۋ+4TєQ?0T0-\hF{N