libvirt 基于C API基本使用案例

玩开源分享,需要有干到底的精神,今晚随便逛逛技术论坛突发有感;
Ruiy不足之处,需跟进了;

最近变的较懒了,干活有点没劲,也不怪干来干去收获不大,缺少鼓励!

现在玩的技术大多是上不了台面了,想过没,你在使用别人定义封装好的class(JAVA,C++等面向对象),感觉简单不,那就类似于洗衣机中预设的定时洗涤程序,伟大是人家设计者;

想要有搞头,那就自个搞搞class def(维度于CPP,.....)

C,CPP中你看那个软件包的devel中包含的header file文件,技术含量在那里面哈,你简单玩的那个简直上不了台面,伟大也在人家;

仅仅只想想简单玩玩(敷衍差事,瞎忽悠),那你就不照了哈;

Ruiy哥曾经试图阅读C include下 的相关header files,至今精力还未能投入其中;
Ruiy哥追求的就是尽量完成手头活,不妥不拉;

1,virConnectGetLibVersion

API call obtain the version of libvirt software in use on the host

it takes a connection pointer and unsigned long pointer as input,

aaarticlea/png;base64,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*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" alt="" />

2,virConnectGetVersion

API call obtain version of the host virtualization software in use

aaarticlea/png;base64,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" alt="" />

3,virConnectGetURI

API call obtain URI current connection

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAApkAAAGVCAIAAAA6533jAAAgAElEQVR4nO3dUZbqqhKAYSaVOdwJMBHGwRDOI7PIwxnauQ8xpIAqBI0a2/9be+3VjZEQtFMBI+UcAAAAAAAAAAAAAAAAAAAAAAAAAACXl5xbZsoBAMAL+OjW1aUw/Tzn4kz5S63N1UNybtXKX71f1dYYAABeYAlujc75B2L5VwzKP9IY9VImvbsVAIDfMh3Lpwbl6/4vlCEtl8f9ues+hE3Ohf0Ht/8Q9+1lJf3xdxvLY9mevm0zX/4a7P0GUflajsWTeLTqIq8VAgAwZTqWjw/KZSxMIgzLKBj3AOn3+Bf3LXOFMtqFJvINtqe61Ej3wnkQjc9Pubtfa1yexM9Vq4jlAIAnzcXy8UG5N4KlFSPz9nkDGcvb7eWvI7E8NuPmuxE07nsP2uFMxXK5wXU+hgAA/A1zsXx8UH5iLG+D9wNNis1+70p7q5LRbGI5AOAKJmL57O3rci7di+G1jG1ezLF3xuWyiY/Nsbv5+8njHnpjcwFh7TdvFkU7O7GcOXYAwBO2L6Qd/+7fbf3A7evqvWChKffi5rKwf9Ce9quBJG43y9cH3pgzt8rbh+5G0CDmDHLvdOp3YiZfBvJ8mLE8BEcsBwC8k9fGpp3yE/GdLgAAvtj4t8gAAAAAAAAAAAAAAAAAAAAAAH/YV6RKAwDgrwvptlDMC1KlrZ/+Xvir85cDAPBpPh4hPK4uTqxWPjgoZ40XAADeZQnjsXx8VXaZt1sm/czruXayj0t5syRWPO3Uo+YX92It1bwN688AAP6KODGEnsplkusNY7lGzAaK0DtYT9ue2GROAwDgD1hcmphgn0qVZuUdfyyWd5KSqRv0c5KSexQA8Ccswa2rCxNBber2dSvv+Gdjud9/AADgy/k4kue0eMZ8/vL8gXQ1x77shYN3m1uxvFNP57KDQTkA4A9YXFqL/OUD0+xTg/K1zDsurxrkDXHxXjhv84X36+nnF3fORQblAIDf9MH85ediUA4AwLdSB/cAAAAAAAAAAAAAAAAAAAAAgCsLyXnnYuJrXQAAXMG2huu6ji8AF5Lzi0vtYiverU8G+Lx6zXw9Prp1vVLSs9h87+3Jr+Ev2qo3AIBfJ9dwXcKRy7wrrkYsP8vi0kPXBD6eEcu3kHl3BbwwsM3pXbQYdcZvW6wHAPASI7HcF0u+HuNgYzwdkltXl5K2RKyoKlR7rmL5VnkUzxKPhr3yNRaxPLaNHJGawXQQi8tUCdjVFWKTKMzli7aMbVv/3YuDZQ/b7faBZOwA8Mvi3Bx7TG7xWtzXxtMh7VvKR71b1z0SLS6t3Vi+lYh4mT+q9/F4opxj91FcNywujYRzNRYuIvr6ZiH4NvRGUUM7x740sTyUJXfXoltEI9vanHYtAgD4ITIwdmyBdiaW55AnY3BvT8OxPDbTAFu1ca3nD3pZYxZjxHzbmTFuVmO5leE176i/gb83sF6aOQB1m87hAAD+uHgnAmxj3+NfG3EvE8vvZ3yrhIH4d3dc/vFYvjAuB4BfE9IxYvVx/1C6awurQRvpDsfy6o73es9qLN9LQjqeW8yle/HReBg6lFo7zR7KX1fjoTxkjyLA+7E5dll/m5m1mgzox3Im2AHgR0Uxyh6xza6Xsbwer+9z2vnGNC8+lL8F6SC2j3fqkVWl4KKoR06nx/Ij88nM7DsZEeWNae29aWp5dU/cVlUsy+VTUrm9VMXypdxM3kwXufENADDOuxRO+vYXAAAAAAAAAAAAAAAAAAAAAAAAAODPI385AADXE9fxldLIXz5E5lbp5ElzTV5zP7nwC3nNAQAuJBfDeEJy8pc791D+cjWzmVX51JGQ1xwAftotPdpYcCZ/udxsPH/5fiBKthV1vB72XC/r2BidvOYA8LuWnIRkYqBN/vLb9s/nL7fKq8ake3MA5DUHgN9VZSAhf3nrpfnLrfJQjumtKXRrA/KaA8BPGhqXk7+82P6lsbycqHg2lpPXHAB+wPAcO/nL24cezl9ulYfyudUcO3nNAQC1PNwemWMnf3n2fP5ytdyL56r3vpHXHADwFPKXAwAAAAAAAAAAAAAAAAAAAAAAAADGkb/80sazsQEA/oSc4Gxf0mXAD+Uvf2necaueJ0VtGZkvan9GXnYAGPNIHvKfy1/+urzjD+jnTVeb+kXtr5CXHQAGTMbkH8xf7p7OO+7LjfPKrP16tsK8gRfNU/Om3w5bi5Rf1P625eRlB4B7Hplj/6H85XsNz+Ydr7YczLmyii3z4XfGtePttMo/2361heRlB4AZfii52K/lL3cn5R3PI+Z2HtuqXy3sxEJ1UN6p/2rtV1tIXnYAmBPvnBF/NH/5VCy08o7nn0fm8DdTsbDzofhXtF91N5YvjMsB4JgBd24ZS/r9U/nL972flndcvblsNha2edOdPSjv1H+p9jvysgPAw46bx8amKX8qf/m5ecfbQeRg/dV1SZs33Yqm39J+WZs8KPl0eZMdedkB4CnkL7+gSGADAAAAAAAAAAAAAAAAAAAAAAAAAAAAMEbkLJte+xQAAHzWEgjhAAB8r8UlMkwBAPDFvEvxSGEelvvPAAAAF7JNsN9SpTFGBwDg6yyhSI8WEkNzAAC+TUhHQtDIuBwAgG8UH8jyDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4l5COzOXHwux3RecGt3wLH9c0v/ZsSM2TLnZcrxKcW90b0twuIX1k9aElpHVd11XsXCnay0ff9ABwVSEdp/QlDMfyKddcF9bH5rw+6ZrHNSi8Npb7GH2O5UuI713l37qGUMuffyMAwIXIuG5v5Nzq3FqOXxfnVufS/tBalst/vR34uK5rSnFd1zUFvw2k9qGzj+tOjqb34VY5Lt9KU7o9pp2rQypLX3hcvfbng6zHjfnA1hRClM86akpBmVpoxb2Rybnk3LIfb2iOyznnRaHsirSXhOYp9463OOIz+iHXkcLixC+5tqlYztAcwB+yuBSHNw7NXPQW3hbt0Ynxq4/bWdzH7US9HMHK+/0sXIdhJzcTRXuwUB61BmOvOq5u+308QtE2npUfGiwhVYG8CHP3Ynl0Lr+soTwW67hy21J5jeL3C4Lt53uXL9sr0PT9Of1QvKbNizkXyx/8iAYArmcJM4lV1JiXY4Z/IpZvp/L9pHucso/xmTLQ1mN53shHLdIPx/ITjqvb/rZ5ZXCSFzRxdgRpNVLOscvjWuz5Bt90TtfxEsqjPacfisf6L/5IufFuAIBvMzTBfmz95lhejJzaM/LlY3m3/fdimNjg9bE8D9arbdx0LNec1Q/i6doMC7EcwE+ammB38zFv2cvvfM7aieXFzPKzsXxqjv2U4+q0/07z9s8b9l+qD5+PqrY56uqwqjvz81C7E8tv7Xx2XK45rR/yE9Q7BphjB/CLJibY1+afExOzUdw8lc/7vtzYtN/FlMJtJjb6201sxy1R67qmGNMes4o7rI5Z27x19KLW4mxdD8VeeFxOtqjf/jowb4WxCHJykroctbZH6Zwr793LgTz/Wh2XvCEuiqfM3uv3+n5w9vQK974BwG/4nq8iaffuKY6b/f6owX5wfCcNAH7HcGj4DDGCHRg1WkPU7zfXD8451ooBAAAAAAAAAAAAAAAAAAAAAAAAXsrHPX/5+NJvQ2k9AADA6y3hCOE+jq7+Zq3FAQAA3k2u3roEN7hsBrEcAIALies+xz6c+ItYDgDAZfhiXD7yCfiWr+qljQIAAKN8FPHbM8cOAMC3KbKdEssBAPhGx+fl62haamI5AABfju+XAwAAAAAAAAAAAAAAAAAAAAAAAAAAAMD3eSR/+Yf4OPGldh/XmxQuu7hNSKvEV/YBAPP8kR7Nx9E1XK/Px3Xdo/cS0nr89jHG5YSPomkhHdH8qpcfAICLKdZjdy4Opz19hTySTmGRv7g9Hrcj1604hWXfIHp3Z41ZMRQuo31KabBctnWts8bJ+YBbbF6q4XdV0fHbreH29vrxjvXq0Z4T++HYA3MKAPApYly+hIkl2V9kkdGmCHPNo9keSrafo3fORyuwhLQW9ecwvByPFHvRy+sAnOtp5gPujrPnx+Xt8dqs9pzUD2WDiOUA8ClbCF9XtyYX0odjuYxtbeC2YnldaMXyZrx+bCgfkk9Xy+WgvBiq+mh/SmHHcjnCX+5t37tSUTdVis/qBwDABX12jn1zixrNoNyNx/IlpJfGMK1teQvruEbG5QPbE8sBADYfXX/C9l18LD/ZzUZjeX3H+zHTXFYgQt1kDAtJj8DWfotdF8WdWK5uPxdKX90Pe631TQMAgDfyR/Ly63wnbalDZTupvc9pm/eUFV/3Kj/cbspzYfS5yhQWs1zZtfzMW2+PeIa6cROgle17x2t5cT9sBde4CAQAAPOmvvMPAAAAAAAAAAAAAAAAAAAAAAAAAAAA4D22POXt8lzHeuyXWSumFpxb3RtWij8rzTnfuQYAnG8Jbo3O+SaWl/nLr7t8V3htLN/yjeWUo5FIDAC4qCaW++iOsLW4dIWheXRudW51LjmXnNuaF/bR+fYv86JQHlraS0LzFJWWrmxbulSuFivXY1+1POJWnnWn1AEAwAPuxvKP50mLzuXriS0ML9rP8ijyeD2VY3e/XxBsP98b1m8ZuqvsLcWseyenSJlHXM8BQywHAJzg+rHcaoCcY/cili9iXL42sXwmd9ctapefmfdjuRWWjVgOAMDztFgucmddYI59NpbnwbprPlOfjOUqYjkA4GLae98WF/eSS9z7FssAnIfanVi+WZ4dl6uOqLyEVM2Pz8Zy8nwDAJ6xfSHt+CeGvyFd7DtpqZkzD+JXX97pJm+Ii+Ipqz33PuXI851CiPvH3VYecSvPen7s8xdLAADgMXznHAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDbWPnLrXIAAHAhVv5yM685AAC4IitmE8sBAPgOxHIAAL4bsRwAgO9GLAcA4LsRywEA+FJW/vJOXnMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC82OKcutzDbPnflZxbZsqBP8HKUx7SbaEYln47i49rCqNnEx/XmxSWkKJ/adMet4S0N/S1bQyp6LzVudW5xbn1x2JVdE7t59nyi9BfxyWkB8873rk4Uz4oiZaOlD9mqp51/xe+7S/g4T/ZB/rf713knIui09Q3w3j/P3wIsj2nsvKU+3iUxNVdNpD8VT4ekXELlh9/CdTLiSWkNb9RZKNP52NVd9r/mKy/y5dq/47DW0LmdQblZx2v9To2L/h4fa8blF9nxL+K7t/i2cdN/RWe+67s978vY+dZu364Hv+SWJ4r71wEL+ESsVyOU+UQ7RgWVtEvpTRYbhAjzkNnYJ1bmMIif5FVVU/filNY9g2i37a2m3bO8R69ua7la6/0c9MRe0X1+XYJKYXbXkOQEwvd/Q68LiHVpWk/eVRXuVFceEdxklvFP7llFEOb7YdFxBVvXIGn5tfVuOb35QBq+7fu/6/aVXosT9XVQ0+Wy/0msVlu9lL2krp953jH+zlXpb6O9tB8ew+pf4hTg3J1XCuHbu0OnozlsuYo9u7s8WUuTKKn+9dR7csS9ldvsNyV/VC9Cm2/yfeIfOU7knhW9baqDlw+ZI2b2/6XTRqJ5Wr9nf7J9VSPWv3Wac+5urE8XmD+phmn3v6SQxJ/0z6W4eH2yCIjv1V+kqLOZmSh73E/NW0/R++cj1bDTjreomVybG31s1PH5e3Qab8KKaYSlhyIzf3ee12UQVoUZ0EvCqP4WYaTY79luQwkeRS7lH+4d2O5M86vXuxrEX/foRlYyedasfz5Qbks8eVJV26Zj6WzvXq8s/3sjNdx26HxkVQnlo/H2qr75VHKbR6u3yK3bC+01HqieOPkgGHtbi3rz6f1UIbMpVvum7d/rsfqN2dcRVlkCA/iuVWF1WEO9r9v3raD43L1mkDtt1xPEo23+q3fnnNZsXxx6RIT7D6q7WvGr0cQlA/J0GiVa2bH5bdK96jThiQrlteFVsPOOl45OC6GwkY/3w5nLpbLR27F5n7vvS5LOyzXrcava/Nvq606hdyN5ampR45x1NimCuVDy9iJ8JRPymPTCblJ8iQ9tX022899o6/6jTd6sS3vDIyqIWbl+VjujbjVqacNaVYsb1+TpD0Uy1jelkfjbd7pNzcfy9V2nhLLqyeG52K52m9OG3xb/dZvz7m0WL4Et67u7IHrYz4Tyx9zxK3mPDQay63ZxRNjuX6OnIzlxhy7a65jOn3Sa6d89KFYnozybDaWd0pmY7ns6JFYbsW/2XJJvfTpTODeHZfP9nPfZCwfD7RWTPJluwZjbadctVWrXmgNxnIrGJwYy/Xzw3mxvP2Qqi1/QyxvmzEVy2N51J2L6s/Fch+vlee0nG47ZoLLmCFC0edi+VavGrVHY/nrj9c6S1r7LXYtiq1737bp+VxtboR5dr7zuozeCCX/mLwILcE403RiuTy7DMbydiLSNyen/IFnJy6qc+ynDMqrs8iqPZrGtlePd7afu4w5dvmZlCidvH1dzkXnd4rcOLxmXO72iGh9ajsSy53RfldWK0PvVCx39lWZtV+56zgQ19eybfINsuyF7afj43Ps1S0cr4jl+Zqs2ler356T6HnKF5fWovwC0+zynq/qQ9emPBdGn+d1U1jM8rM1w8h2cjl/fqzOOL/heKtdH3vQ91s8ox6La5WkGI+KjJvf1uNev3uvy/gQTZ0Ad838lxclbp88X8TneHk6PYjCTD0TW3PR6oS8bE9VWxvLzxqUh6YT2kOwGt9ur5bP9rPJmJ3ysX4H7hXPRll1Lj2J1ySJGG/NOVsfufRV9waM13+3/epnBLlQvhqLXd7uun934yZqG6tk91ZvBHlDXNzb80D/x7Jwbf7m5CFY9XT6Jzd7LcutflPbA1ze+bcVPvQVpalZv3eanWWLxvaz5XddZzLOeMHVwbo3Gm6VAwDuOQbqpy4zNHV94MsL70sJ12ub14YSn/T4WjEAAAAAAAAAAAAAAAAAAAAAAAB4PSt/+baG67GAzAXITKxV+QPL2rwgtcpneLFywVIu05GXXVjK70FVq3lkVjnfEQKA6+rkL88hfAm9LGqft7j0wNXGo+mRr8mXS0nJpDzV2v/OeOh++Z/qMAD4e+7lL/94LM+TBMo1R7sG7YB2TdDr5Ed/ID+bL9ePfkUsZ2gOANdmxPJ4sTl2/arikXF5Pcj8lvzoFr8nAcipoGV59lQsN/NJAwCuoDsutz6lfr/TYnmd/ORa+dEfHpc7kRekKt88F8tnc1ACAN6pG8udc/EaQ/M/FstPlAPw4ly0Y7mVEHERYd4qd8RyALi0JpaH5ERIcusl8i28do79e/KjK2QAjuKD88X42T0Sy5ljB4BL6tw7FudvKHudWOZTX9fbPdshleXD1xztEPOL8qNX5HfPNqv2qCxss/jGbvntqC/yWQsAAM7xFatpdBgA4HL+zFox78CgHAAAAAAAAAAAAAAAAAAAAAAAAMDGyl++iTMLsLycTHsCAACcnb98E5KLwaXLxPJmfXQAALDRYvktPdpCLAcA4PqaWH4brztiOQAAX6GJ5VXOlSss3+njul6hHQAAXFEnfznjcgAAvgCxHACAL9XJXy4fvcjcNrEcAIAvx/fLAQAAAAAAAAAAAAAAAAAAAAAAAAAAgAtanEtnlOPl9Pzli0tiDZkfWaDFxzV7ZlEaH8/5Eny/PSGd80376Nx6QjWjVudW5xbnVvE3H/Zy+e8u35w1lv25D5xN3twPuKt9ffF+0enn/9nyi1DPP24J6SILoj3MzF9+paVb3+RDL6e5ll2/PT4OXm6EgT+td77Uaf8TWsv9Vu185iT+8MhgpB9G+hPjPtWf3/U6tu/n97T/OoPys47XOv8Mn1Av7udjuRwBr+stIVtI67qmEOJRuo+DQ7r9vmw/7W+D/ddyXL6VppSqMXbeuhl8q+2RQqrfeXJom/+cUjnSlS9pEoWyXB0Zh73aPPD13fKOtO9udU4e1fa32p4L2oNy98bf6gnFGvFb/WA13upP2f8j54R2+7D3SS6X/aO2P+2dML5fX9afd6G236q/s1+rn9X9Wv3ZeX2n2mk58XWM5fsnH3XbD3HfbOuBtP+wiDZ446hT86vV/raf+++r3LBTBt9tuXpeiqLZS9lLs+ex8X7OVannH3vstJ2Mv2W5UTWW/9ocu/ZahlSFXhFA95d4+1lG1qWd/l5C2t8N1aMPjcvri0gZvXwThtv6o3gfx/LPIG+8NKfj6g/mbrkqivO4bFho/oA3XmxQVT4+OLCOy+qHDrU/Q7nHu/VY24cmRPm9bdbrkvZDGBkSyffGIk5nnfZb9avlVjut/brueKs9ogfaaTnldZTXfyN/R7EMJLmpS3OdXRkcl3deX/V9JVve1vb8oLxzXpJb5mN54Dw21c/OPv/YH41+eywvH11/YYxuxPIqSB+/+mi9vHosF4PuZ2P50g7Lj/HB2sTItv72Mn+zNv9G5r1PmVWzxuXykvzhWG4dl9UPd9tZaa8/+p/WWNtX1yuLOCVZr0sVX/usv+NO+6361Z+tdnbOH1Ox/IF2Tu139nVsL3bzD/1+yCG8H8tTU0/ezIptKut91XfKJ+Uj56U0uX022899yln1+/RjuXPxF25B0WN5PVl+2Vgu3b2e7cTyjjfE8oocN7cnoKlYrrpgLJdPlLF8pKorxPKp/bq/FcvH+2EwlndKZmO5+r7qeH5Q3lIvfTpvgLvnsdl+7vubsTyko+R2f9yfZ82xi8Ii7p4Wy/fffCxuV5+ZY6/+VlfjIXndelyTlHO8nZd6LpZvU1PDfxx359DSE7HcOi6rH/rtbPuz6v+7fy7W9sE4f3Vel6kY5psxUOy2p1O/+rPVTmu/zujPjfo6zrbTcsrrOPt31Inlciw+GMvb9nde305cVOfYTxmUd85L+dE0tr31ek31c5cxxy4/S72yTv7ykPSk5n+SdRNaSCnGJG5BO6Kutnldfnsk3+MWfd7keNccTzrinnlTnNhAlgVtoilTy6uJO/lRkzpnpU70WeX7YY1+yGTdmLM0jYzafq12ykNWj6vTDx3WBxDWZwEqdftQttOae8y7zpU47SmqYLRTbY9Vf2e/Vj9b+3Xaxp3Xcaqdfae8jtb7v+2HKBq57WXRujRo7VcPR22/2s+d91Vuav8q6rHy/nnJdRvfbq+Wz/azyRg7+TgzIsFlnfUd7vNd/isUx81+GFaNS/BdLjt9Ofu+isb2s+V3XWecaJxQz1orBB91DI4vOcFy3esMd/8TfbTkoATfxV/4tbvg+0p21yUugP7AWjEAAAAAAAAAAAAAAAAAAAAAALyZnr/89tiPpVf5Bn54KQwAwE8w85dvDxHCbSF9oHMWsZ4RAACCmvP0l8LFtmBtCrcrmOMixmsL3JYJYdfVbauibM/dfq5mO/T6t3rSUdv4xYH24nxXbj4AwLnaWO5dikeM+Ynw4EXA9reQHEV8XUK9Xn0bepfgRCK1sle1+rdwvuc1v5OtTiKWAwBKTSzfho+3wh8Zo2sXNOta/xPpT6ZjuRKqF5didwPDL7wgAIAZaiwvx6B/f7SnxnJ7sWBiOQDgSrQoEtIRluIvhI57ndA+tGdAPcbrxzz54tL63lj+LXl2AQDn6uQvd87F8t6uPyxq97KpDx2PqF/YE7fFBfE5hV5/3jgetfVjsS+T9crER+TZBQDgq5FnFwAAAAAAAAAAAAAAAAAAAAAAAAA+IzmnfrvLKgcA4KPU/OVbXq/875cWE/POqQu3quXB2Lhf/+rcizp0Na421NVlVGnfzKpn8Grm4RzrL+0fKexHGstfZbPHj/csZ/X/Y56sP4r3WBx7v73Hi/otlH9Z46eC97+v8NdZ+cvlYuNT+bu+3xsG5f4tsSoL87s75WAfXvh3sH9mr6JGdvRMnc+3J3vpDNCJ7WzJFz26iSy+X0oeY3xx3wJ3dVcCV5OI/FHjg3J5PZ5Pu0kMRKqH5CW8DCFyOBjFU6LYfiSwWeO5asnXwaDexhK1/rC3XB2XpPKJsXtcVv+oQnNc6iGPnFjlc2PzUlr9uewbVGP6qj2d94PshzZsD/a/LK+6VK2/02+d+YC2PzuvuxrLvdYtuZLc1Oq56vtE7X95pLF81tTraB1vVZ7KfpZnx/zCWfWr7em0f6ofgE4sl8k//r4HBuWxfChpD3lRLueQZXkQf+G+OT8+HIPdqePytjyIQ0haVyRxLNZxWf3Tp74vq3h5t54gzsXtRILaD7E81fbbo74fXBkAqmsRa79quXz/yH116u/8Pbf1W/1pve7VtYV8rqw5t6G6RIh74zvvf7X/U7mvavQx/jpaxytrWO1YXg3T1feJ2h61/Q/0A36cHcuLJJ5/3NQn5dlILK+2CeIvUL2oj+UJcfy6+yOxXJ682tFGe/Zpj8vqnz719oX2JH5XsndqxQC1c6ZieTVEHtlvpzw0R9qpfzyWd/rTet2t45X7jWVcbOvvv//V/pd/pOPXZJ03c1WVtxvTieXWAKBtj9r+B/oBP86O5b80wf7YJ+UnxnK5/WO9frVYHrsnPln+wVge97nK1otiuS/LB2OPVd4G8n79H4zlvmlA1bZUbqmy+r/z3OdjefXEu3PsnXZa7Wnb/1g/4JdZsfyHJtgfG5Q7LZZvv3bmzOUcu5x/lvN77VhtxKVieT43VcfesvrnbiPzftUxmR+rx9szH1Ox3GpP//0QnhuXy0DutfdVW7/aTqt+qz8fiOVu/8CluuCrZm5yucXqf69d1uT9Dr6O1vGq9wFUP1dv49lYrrb/gX7AT+rnL/+lCfbHBuVOG1PmG2SiOH3HcqJMvbel+jx1fI692ngtz4nyX//ltOqxyoOoNh/Isu83lQ1YtKrkvKvaPx2xqUQ2SZ27tlSv8ng/jLenej8kUZ72qmb73zXlMva09Vvt7NSv9qf1uiexWfV+yLturx7kR+z993+//7fa5Dv8gY5gJAUAAA+HSURBVNfRev+MdE7e3qq/089q+x/uB+BHeeNy3iqX7gb7cSdWBVyQOlIHgM+Q18XPf1P8xKqAa+oPdnnnAwAAAAAAAAAAAAAAAAAAAAAAfBU1f7mTy8j8ytJvAAB8ISt/+a3cOeecj7+z+hsAAF9Ki+U5fi+hl90cAABcgJZbJRqLtAMAgOtpY7kvxuWBZcIBALi0Jpb7KOK3nd0cAABcQ/fzcmI5AADX1clfHkU5t7EDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwGd9S/5yH9d1JfkqAAAlK3+588cacD5eZQ1XHwnmAACo+uuxOxevkfaUWA4AgKE7Ll/CVZZkJ5YDAGDQMqFtIXxLuBLSJWL59qF5Ips6AAC1e1lNmWMHAODaurHcR3eRCEosBwCgZuYv96LwGt9Jc8RyAAC+Gt8vBwAAAAAAAAAAAAAAAAAAAAAAAAAAPyI5py4/bJUDwLCQbmvCtKnSrrZWzCwfP7N4+9R+fVxvUlhCuuw36EM62unjI/2ajzSFZcnVpSC6YC9pnnKj9U5Ib3yRl5AeTADsnVP/kKzyQcm51bm1uRqwyh8zVc+6/wvOXWPxZ13uoo+f4NazO+qs1/1b9osyN3lcxVqtZf7yywaYb+fjEZ+28PbxrlYvJ+TVyRLSSIIbox75RB/3N98iAnJ7JbR0wvXb1wJ8dIcvHZRfZ8S/uiMN0xYsP04N1cm5IDb4eDjvxPKPtw3fRuYs99EdJ8/FpY++nWSQ2wZq+cy+je7EOO92BHnYNzJkO8aIxeDQfKIcX8pfOvvV29kdhotGldE+pTRY7sqBbTmglPMBt1jZdMTRm9ZgVK3fqmcslrfd0onlIdWRVTmuE/uz1xvVe7N4aGZQro5royhvd/BkLJc1R7F3Z4/vc2ESQ9vgevkU12YcHPYh6WC5K/uhehXafguicBUXFm23bx217TTvQsZXdb+ddna0/eD2a4tqv1b7nf1+UF+v2XbKi7CqNvV1t/aLD5HJ0OpY/umpsuL0Xs3w7qfQ7Wd53u2N555uz1FzM1LT99u2056qDmkt6i/C5O2ROv4p5UXLtk2OthSRS8a85vrCbKdZv17PWCxvw7P9OtZdbx3XSf0pnq8FbDuWj8faalwrEiQU2zxcv0VuGZuQrNYTRWCL+//W7tayfhkO8zHKvajlXot/uX6135wWutoDzFch1SVFvLdfq/0Wqx+qEF5dvrRm3w+z7aw6cCl/rV73zn7xZotLazGR/l2x3IqIg7F8dlx+2+seNNqdWLG8LrRa3gxMjw3lQ/Lpann9afN6zG7YH/p2Y7moMXq7fqOebizv9Lz5Oi5V3DeO66z+PA5tapp9fFDum7HmsU9jfLZ5Ppb7cow1Uk8bua1Y3o7Xk/ZQLGN5Wx7LTlhFrO3cxDAby9t2WvvttF/V6Qd1v1b73fz7YaqdbQMW+9f+fvFG2z1uTZQRof3Tc+zuxbH8qSZpH5+OxnJrtvbEWK7HnMlYbrWn+9Hx/VguDv/oMTmyLjb83lg+HmitmOTLc+tgrO2Uq3Lcao9tMJYHo/0nxnL9/TwZy9urqHyAqSnv7Ndqp6XTD+p+c7WVB94PxPK/zkeR51RaXAzHNh+/Ies4m7d3Xn0olm87VvcwGsvr6dojjpUViBA1GXusqGPtt9i1KK4OKO+hE9XUemTwrX4u7q0b/bxcmWN/aX8qO5HFa31TwuQn5a6cg/X7kMuXA8FXjMvdHhHV08FgLHdG+11ZrQy9U7Hc2TfTWfuVu5b3uFn3vlUfw8ty1TMxUvZD9TF81J6S2/nA++GBdi6ifmL5xS0urUX+cnlezN9Vu8R30uR3mELcZ2Ktryy1k78vuRppoo61395Xq+QEf/nhc1OeC8X8dgqLWa7sWs6BG71zPEMUV59DyEkS68jUemRxCnXRXrJdr93puH3LquzF/WnOphg5eR+Isurcab63KIlbk7w952zNCfelcuA4Xv/d9qtzwrnQi3nsxS5vdx3v7deJGtqxuHoPWhL1VNcH1X477bSo/bCW+60up9T2T70fnmlnvhlwsV/3h99vALC5ynfS1MG6N4a5Vjk+jtcFAD7hS9aKwfXlYSUvMQAAAAAAAAAAAAAAAAAAAACorrCME4BrsPKX+6gUfpZcOeSZc9hZec377Tnru1LRXnTqFfJCEmuzSJVcQeOdi0E8/3XsxViGw9pd3ngp18WwVkjpL56iifv6TE/F4sWlNLnSlvX6nkj5++K7fMBLWfnLl+DW6Jy/Uiz/0OnAzEvab8/wGib9PJGbZwLnSP1STjIlV2+Sq2IuX7uw0zIcvbyxkqesob3CmKn/9tYJzw6sp4fm6uv7Bm9f1Af4VUt7XrlMLK/X8kzB3VbrvC3pWq2zOZfXvJ/HWltCVG2PpKwtKgZtMqOCtfKhXGEyGvXcDqpZXXOkfkvaN5NLZnRCVHtQeb+pbKfV/s72nfG0HArLnB5qe3JtJ8ZyNxzLY9MJnXF5OJZUTmlg0RJtaL7NtaWkLM2sv756zSGt5SrEcp3/ib+vXN103ncA86J2vrxILHdOPxeIs02zPPpUXnM7X/VD4/J6EFKN5+QcrDpulpmN5Rx7lftCjpXVbAxW/R1516mMtZZjgXcjybM8dqv91vbOKGnnCYJ4SG2PWo9lJJaP16/F8lsdVbiVgdm7dR1agEwdmoe0/+1WwV59fS39/IQTf1+3J8zmfQcwpclffvMNsbw6iZinnrqmJpYbebEeieVtqq8yB3I1Tm3rtzIgtiEtx7+zYrmqEwLl0N9qw932W9tv2hjZmWCw2qPWY+nE8lPG/cHMW7TdpqKMpzuMoXl+dpz9TP2o+dRcw5O5YgHMUPOX33xBLK8nyy8by6W74/JvieVy/qDThrfF8k571HosVSzPz5I1tEPt8fr37VM3E2EcG5c7bWhOLAd+iZm//Pbw9WN58Vl1EXdPi+VKHm6rPce+y7NWKGPDajyUw0MUccKXc+x3535TE8vb+vfDGf0+gC/rzB/hy3amgVhutd/afqPOsc+2R63HsjRz+G0NS/k6duo35th9vHVG/sGF4g8ujt/l7t1aBuz5WK69H46/lGX7U3smlk/lfQcwzs5fLmf61rUb79/CugktpBTj8ZiRtPteXvN+vmotD7d5U5zYoEhSXt6DVm2tllf3rOWw0ZnTzjeCVTPAav0+rlMfUgZtv0vTyFg2Ju9dvR0vNoXV9rHsB3kIU+3p1GPxYuOsKgn7z76pX7I+L2/H5UH/cxwRxI1y+WN4n2+yuxvO9ffDcfvn7SbTFJbpv69c1UTedwC/5K35Lqdc/is4x81++BO8OVc/5NXvh5m87wB+yTE4vuQE3XWvM9z9T/TxW179fmCtGAAAAAAAAAAAAAAAAAAAAODLbLk3x8sBAD/Gyl9ulX/QWfnL+57/Ltmp+Zu9sWKpVT4or87C1QAAfDkrf7lV/knv+Yrqy9Z4ebTilw7KGdkDwN+i5C/vlr+TlS/cyqNcPEFeAVjlO7lkxgXyN48PyvMgO5WrmsrVS9u9t7Hc2l6WV0+RmcPCvXoAAK+k5C/vlr+bFQuVPMrFGHhLTb5vqpbLusq84x/O3zw1KI8icG6x3DdLtlfHW9XT2b5aKl6tIe/97n4BAKez8pdb5R9hx/I6DLYpHtY9xHdyPzhlJcuP5nyc/aQ8dgfZakbvKpZ3tq+yw8jGtBvf3S8A4FRW/vJeXvOPmIrlasy8+5H1tWL57Cflaizv76+N5er2vpuSVD49zwpc5AIQAH6Alb/8Tl7zjxiP5XbUvBdNlTn2D+VvfuD29TaWuyb9ZqW9LFC3980AXdYgG5A7r79fAMBZrPzldl7zTzHyhVt5lNuHxB36nTn2Nth/LH/z1KDcN3Pa1kPR2D52t3fiO2xp/3ljTaRb9QAA8Grv/k6aOlj3xjy2VQ4AAISX5B0nfzMAAAAAAAAAAAAAAAAAAAAAAACAv8HKU76t4bqu11sArmElLbE2zqu/FEu0Xozazl4etrO95Lt5Fr6zBwAP6+QvzyF8CXWY/14+HmusyZSmH6ReTvTbaa33fqaXrZlzmR0CwF/UyV/+2VieR6gpLPIXZ49T9fzi3WG4WCa2jKIppcFyV67iWvaaHGffYvFiLE17b7pAjeVK+6vylI6x70wed7P9J/ab6wzNOzlhAQClNk95vMwcexG9mhGcPk5t84vb2VBCWov6c1BZjkeKvejlZn70ZpwtY2ETt+12WsdrtV9u6WMO29N53K32n9Rv4vnKcRPLAWBEN0+5nIf/nCO6tIHbiuVtLlQ9IDTj4GND+ZB8ulpu5kf30e7BE2J5p/1Fm+wUMHfyuBvtP6vfdpM5YQEAu5E85e2Q/f1uUUD7WHU0lluzuCfGcj0WTcbyezeCzcTyojTPUkzmcSeWA8CFWXnKQyrvg7tEykofy09qs9FYXk/jHjPHZQUidE3GJCsaWfstdi2KO9urx2u1vygXIXw2j/ur+03ZiSw2PtQHANzJUx7Xy30nrR4umvnCO3nNi1To5YfGTXkujD5XmcJiliu7Pvag77d4hnHP2kh+dLX9dd73cqht9tDtiVXRi/ttNr87AADou8p30qbWDgAAAAJrxQAAAAAAAADAX/Cf8Q8AAHwHYjkAAN+NWA4AwHcjlgMA0GHlL9/E9QKLvn1VLF+cW/d/AAC8nJW/fBOSi8Gl74zlIbmPLBaWQ7h37uM9BwD4LVX+8luYX64Ry//nnHPuH+f+EYXOOS/WoM1rzRpr025ZZPZVXoupiG1yIoXbNuvqfK4nHbXdvTjwzsnZjXL1W3J3AgBeTCZDW8I+tX6RWP6fc/8655z73/7zv845F0V8XUKxdLw6Li+uV3z5sYIXFwR+32xxaU8it4T7uV+J5QCAD2nyl2/D1vzvw8tr5lj+TznH7otGVkPnB2K5cpjyUkbdoNSN5QAAvMad/OWXGpe3sdxu26diuWwRsRwA8HJW/vLDlWN5mWe9EtJ+geKP8foxT764tJ4fy52I5fW9b+ThBgCcr5u/3ImZ9s/PsVf+PQqjMccuZ+CPQnHIIRyHFtV+yBvHo7a7XRGM76SRhxsA8MO+6vvlBvJwAwB+2V+I5QAA/DJiOQAA341YDgAAAAAAAAAAAAAAAAAo6PnLy2VkRlY4YS0UAAA+wMxf/tDSrT4SzAEA+Jwi7wixHACAryPzlz8wx+6I5QAAfEyTv7zQTS1abRpXlh0HAOC97uQvd85VQ3Yb43IAAN7Nyl8e0nFP3BJGx+XEcgAA3qubvzx/V00N9ipiOQAAX4zvlwMAAAAAAAAAAAAAAAAAnvV//v6e7ZtkvrcAAAAASUVORK5CYII=" alt="" />

4,virConnectIsEncrypted

API call 判断以建立的virtualizationHypervisors 是否是加密的

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqUAAAFuCAIAAAA3ffaPAAAgAElEQVR4nO3d0ZmDKhOAYZqyh78BGqEOSjiXdOHFKe38F0YcYAYhcTcm+73PXuwSg4guI8SAcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AXJuWUmHQAAvImPbl1dCtPvcy7OpP+otbnDSM6tWvpP71e1FQYAgDdZglujc/6JeP8Rnfu3FEa93Um/XQoAAGrT8X6qc7/uP6EMezk97u9d965wci7sv7j9l7hvLzPp9+PbeB/L8vRtm/nyz2DvN4jM17JPn8Srvz/+AQCAeyLej3fuZbxMIlTLSBn3IOr3GBn3LXOGMkyGJmQOlqe6HUlnIT+Iwue3nO7X6t8n8ft9hkAAAH/HXLwf79x7I6BacTRvnzeQ8b7dXv45Eu9j0/8+7WrHfe9BO5ypeC83IN4DAH7fXLwf79xfGO/bAP9EkWKz31NpL1Uyik28BwB8iol4P/tYvhy396KbLuOfF+P5nf69LOJz4/lu/jn5uIfn2NxkWPvNm0VRTuI9AOB9ti/jHT/nT5E/8Vi++vxaaNK9eCAu7B/8p/2OIYlH5PI9hDfG56309qXT8fwgxh5y7XTyd+JTAxns82HG8hAAALgdr/VxO+kX4vtsAAB8ufFv0AEAAAAAAAAAAAAAAAAAAAAA8HE+Yok8AADgXEiPyXZ+YIm89aLvzVfz3o8XlGltAABwzscjzMfVxYnZ5Qc791fNkyOzJYoDAPCsJYzH+/FZ9OW67+18tHmb0167jPdydv2cSTVJrbo+/RP7BQDgu8SJrvjU+jQ5X7lufWxWrhvf41qmy0yqvbflmd0vAABfY3FpYjB/aom8zrr1VuxXtYvlqBmexvvZ/QIA8BWW4NbVhYnAN/VYfmfd+rwa/UgnO2cey+2fi/fj+wUA4PP5OLIGbvGOmc69Kz8gD9qn+4Od7FR+Nu+b9KA9x9e5NaFzDwD4IxaX1seX8bafgSH9qc79Wq5b395ZxLFOdmy+iZd/lw8Dxj3k99enH98vAAB/kbXOvZV+6l2dbDr3AAD8Btn5/gv7BQAAAAAAAAAAAAAAAAAAAACgEpLzzsXEV9oAAPgU23y66zo+0V5Izi8utRPWeLe+eBOQZwCaz8dHt653Wuwuiu/8LfaUQ66ZvsBPLtu3aDMKAQBwkPPpLsGloSATVyPeX2Vx6an7Bh+viPdb+DydaTAMbFNV0TI8LVGYXKZ3MeJ9fHYiJADA1xqJ976YfvfoTxv98pDcurqUtOl6RVah2nMV77fMo3iXeDXsma+xiPexLeSI1EzEE8QEPancTJ2tN4nE03hv9fu3eJ+zOj2AZQ/ta3OzEiZHCwAAXyvOjefH5Bav3Rto/fKQ9i3lq96t6x6VFpfWbrzfUkTszI8O+Hi8UY7n+yjuLRaXRkK+GhdlhPblrYDav48ih9jcOlj9+za9Kkw6G0tYxPbqXtr7GADAHyWDZ8cWjGfifQ5VMk739jQc72MznLBlG9d6HKK3EtBif7LuxFo9bb+5zbOz+q+bjPex3KD/6cnSjDGo23QOEwDwh8STaLD1oY+fNirfJt6fr/RXCQOx8LR/f2G8Lwc8Xo33C/17APjLQjp6vj7uH5J3baE3aD3m4XhfPclf71mN93tKSMd7i3F7Lz6qD0OHUmuH9Ku4uxov5a5/FDcB/uXx/Kwaz4/NYEM/3jOYDwAQY99jQ73bSH4Z7+t+/z5+nh+m8+IhgUcgD2L7eJKPzCoFF0U+cug+lh/hj47nV2R0lA/rtQ/tq+nVc3xbVrFMl/cHbboX71Wf16vi/SJ2lwuQxJY8rAcAmOZdChd98w0AAAAAAAAAAAAAAAAAAAAAAAAAgC+2TaETX1z6FgAA/La4js9IF5KxHq5/Zt36grHO3gi5Xs4ttOvl+Nemr2edewDAS0JyMYwvaB9XI95fRZuXd8Q1swAt2lR6LXX+/MrlVcQ69wCAJz2WxRsL4L6e7/YRX41++TYJbkrapLYiqxC66+FumUfxLvFqnmd3jUW8j20hR7RTzcspdVO52VpOZFu9FEW6tc59lf/pDQTr3AMAnrHkhWUmOuxxcj3cFJpX/WNS/Uf62o33TenkOnv5jb6cPD+K6eXTSMhX46VcyaZa/0bt30eRQzuer66LI1NOV7VhnXsAwDOqVWWUGN7YgvFMvH/LerjWujvq7noLw0ej/33JerjVn/6sg8469wCA1wz17+v16+xVa7N3xfvx9fD2Nw/EyNP+/dvjPevcAwC6hsfztw2D1mMejvfVk/w+ll8OUOP9nhLS8d5i3N6Lj+rD+LcNZFmbIf1Q/rkaL8n1bUV5hsbzZf5VmVnnHgBwpdxtHxnP30byy3hvrVufH6bzeYw9B/Igto8n+cisUnBR5COH7mP5Ef7oeH5FRk35MF37PJ2aXj3Ht2WlrnMvd9c+9+eaeM869wCA3+NdChd98w0AAAAAAAAAAAAAAAAAAAAAAAAAgC+2TaETX1z6Fj9EnVcfAPC35YXt9mlxBoRkrIfrn1m3Xi/OfD5yvZzLdNa1c8169v7ZSW/8pRE6alP0fFD5s0WbgwgA8JRn1rGPqxHvr6LNyzvimlmAFm0W28F4Fn5+kjt13v5MLeoHlb+yGPE+MoYBAHMm47av57sNORutX75NgpuSNqmtyCqE7nq4W+ZRvEu8mufZXWMR72NbyBHqFPRtvLT6zWFfd2cVfWVfbpxnz+3nsyUu5fy7cvJdte8btWj6QeVvSx7Fu6r1CZlCGACGPTOeHyfXw02hedWLvS0urd1478z18Xw83ujLyfOPe4vFpZGQ34kfVv9YXf9GZpL2EFVtebqOTt4sb5kPv9M/Hi+nlf7e8qslzOVR98ISQQAwzw8tKrcF45l4/5b1cK11d9TdnSwYPxUvy4X+jj9zz7sdM7fyVxM78VLt3Hfyv1v51RL21/91A6cPAFCLJ61mvX6dvWpt9q54Px5T9jfbMWMqXpYDFUe4yr+PfF6wmYqXnQ/pP6L8qtN4v9C/B4ARx2i7c8vYovFb6A1aj3k43ldP8vtY7lmN93tKSMd7i3F7Lz6qHzuUmjWkPzsenqUytkXjgbjZeJlzkB9pW537Tv63Kr9r1v91Z/GewXwAmHA88DY2JLqN5Jfx3lq3Puft8xh7DuRBbB9P8pFZpeCiyEcO3cfyI/zR8fxKKj91VtetV9O9WPN+1W4d2s7oYP7VvUu1sbMj7qeUX+YmD0q+XT4YGHlYDwB+mncpXPTNN1wlEvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ApirbrpeWgBAMD9LYEwDwDAd1tcYmUxAAC+nHcpurQP5ofl/B0AAODDbIP5jyXy6OsDAPCVllAsixcSXXwAAL5RSMdisZH+PQAA3yo+sUo8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfI6THTDvbz2Mi/VPRucEtf4WPa5qfBzik5k03O66fEpxb3S8sgbyE9JYZnJaQ1nVdV7FzJWlPH73oAeCThXQ0+0sYjvdT7jlHr49N2z/pnsc1KPxsvPcx+hzvlxB/d1UG6z5DTX/9QgCADyNjv72Rc6tza9kPXpxbnUv7S2uZLn96O/BxXdeU4rquawp+65DtXXAf153sle/dtrJ/v6Wm9HhNa89DKlN/8Lh65c8HWfc/84GtKYQo33XklIIyRNGKeyGTc8m5ZT/e0ByXc86LRFkVaU8JzVvOjrc44ivqIeeRwuLEHzm3qXhPFx/AH7O4FIc3Ds249xYCF+3ViX6wj1tL7+PWmC9HQPN+b6nrUO3kZiJpDyjKq1an7qeOq1t+H49wtfWL5QcUS0hVsC9C4Vm8j87l0xrKY7GOK5ctlfcxfr9p2H4/u8XZzkBT99fUQ3FOm5M5F++f/DgIAD7TEmYWy1HjYo4r/oV4vzX3e8N8NOtHP0/psOvxPm/ko3Y3MBzvLziubvnb4pUBTN70xNmeqFVIOZ4vj2uxxy18UzldxymUR3tNPRSv9U/+SLpxNQDANxoazD+2/uV4X/TA2lb79vG+W/6zOCc2+Pl4nzv91TZuOt5rrqoH8XZtpIZ4DwCGqcF8Nx8Xlz395HPfTrwvRrFfjfdT4/mXHFen/CfF2z/b2P+oPgw/strGw6vDqr5xkLvsnXj/KOer/XvNZfWQ36A+wcB4PgDoJgbz1+bHiUHgKB74yrHBlxub9ievUniM+kb/ePDueIxrXdcUY9rjWvFU2DFCnLeOXuRatOh1l+4Hj8vJEvXLXwfvLTEWgVAOiJe93/YonXPl84Y52Oc/q+OSD/FF8ZbZ5xN/vh6cPUzD83oAgN3nfA1Le95QcTyg+KUG68HxfTwAgDQcPt5D9IQHep9WV/fzzdWDc475dgAAAAAAAAAAAAAAAAAAAAAAAAD8EB/durp1dev4FHtDS7UAAIB7WMIR5n0cnWXPms8EAADckZxJdwlucOoR4j0AAB8mrvt4/vCCb8R7AAA+ii/69yOfyG/rlP1ooQAAwJV8FDHeM54PAMA3KlbCJd4DAPCtjs/v19FlzYn3AAD8AXz/HgAAAAAAAAAAAAAAAAAAAAAAAAAA4FLJOfWrm1Y6AOAH+LjPtxPPN34vHye+9O/j+pDCbScICmmVvnFKA++cemF10lfnBhdoWMVPlX5VTU6Vx3JheQalvVq+74pyn3NcX1bO1TlrUbXvvt6+hj+WxfNxdD7d+/NxXfcIv4S0Hn+9jXHL4aMoWkhHxL/rLcqsJzr3fiy+hpfD8KDB8lzlwvvujx5BuVv/427leYv+Iqoffb39AcX8+c7F4SVxf0LukaewyD/cHrPbHvCWnMKybxC9O5nvV3SpyzuClNJguizrWq8WKMcVHvF7qbrxVUbHX4+C29vrxztWq0d5LqyHYw/q2MR45z6InrqMr1Gky3pey5/8ktrPCHvXZHtJ7trK3yqPahU7jWVuVr8nJyZRpNAclzyo6o1t+dsTMNX+ynpIWnquN6s+n6hndb9WPbhuP3K8nIP1kPaidsqjnkernJ3yBLHTeNZR7lxv1vUwVc5OPqksaqW93jrnHb9P9O+XMDGF/g9ZZEQqQmHzaraHm+336J3z0RoYD2kt8s+hejleKfaip9dBOufTjCuc9tfn+/ft8dqs8lxUD2WBlCof7Nx70XbI8fPqtiA1IdlqQdr9yhiWX7Xyt8rTkcoY7O1XndhMNtMyXc1fbiAWtTzIONTZr2oVWSWxu+reIteDWp9Weuc8Wvt13fDcHtdsOUdyrs67VR7rPKp7tOoniQ1GRsWt661zPUyV08pnLYvaz6f//4t32ML8uro1uZDeHO9l/GuDuxXv60Qr3jf9/mND+ZJ8u5ouO/dFl9dH+xMRO97LkYLlbPve3Yy6qZJ8VT2c7X24cx9d3Q1qOytql2gq3udDzruz8rfK0+HLPtNpedq9yPSWFe+rrufIflvWAEbQblzal6ryjNdzf+BkPN4/UU6LNy62Tnk62Y5fh777LrWc6vXWuR5my2mNZ1Rv7OTT///Fu713PH/ziCxN596Nx/slpB+Nc1rZ8hbWcY307we2/6B4P/7JfSfed+4/L4n3av5PxHu3t31qnj8U732ZPnif0fqFeK//v9wv3lcFGOzfXxvvB8vZXm/962G8nJ182gDfyaf//4u38tH1B4d/i4/lJ83ZaLyvn+Q/RrXLDEQ4nIxzIelR2tpvsesiuRPv1e2n4v2P18Oea/0Qw0znvk2U46htnzV7Pd5b+XfK0+GbT7475XF2+5vEBrIPt20sx3tlOcPL4/nHdSKykocjw/NUvHf2ebT264x6yC8tTcpUOS3VfZXXXqrK83q8l+fRj43nO+16618PU/Heymct6/b0vHT+f/H7/D6Yf6fv4y11OG0H0Pfxc/M5uOKrbuWH7U16Tow+Z5nCYqYru5afwevlEe9QN26CuLJ973gtP1wPW0JbkNnH8mM56Cc/wlfHA6txQq9tnLcPYrO8o6Wbv1WevlRGCKs8bbpaFSPPcyWRnh/rs/bbp5ZHHde16vOJerb2q9ZD57imyjlYCe14/ml5+uXslKe63gbv0qrrzQ1fD6f1qeYj/1ybZ1zUfDrnHcCHUedE8EY310oHkE19qwIAAHyS3AnmIXYAAAAAAAAAAAAAAAAAAAD8hNnvcAMA8Odt69y386se8+ffay6EqQnaKuvV3/M+nabj5vm3OuuMXej3jwsA/rYluDU655t4L9bHu818upsXO/edeH+v+5p5F5b/ViMln35eAOA+mnjvozsmR1tcukuTO9W5VydrVNdp7qxjLeezXMp82sTZdbVlzrGcVcPqZ+dEuV71u9ZHX8U0ru3YiVX/4/U2eF7ktavWDwBgcxrv7zLb6Xjnvoptcp0Va51m605C5nm631fW1W6XjfqI9dFleJbz2Kv1b+XfqbfTdXSq9bOt+gEAfEa8H+/cd9bBXI10Z2Q+u474E+tqq+tVW/l3sp2K95esj+6M+uzUv5V/p97a4+qvnz27vCkA/B1avBdrpt1kPH+8c9+JN511mtV+5Ow64k+sq/2566O37/21eN95ooR4DwCW9nm9xcU95R7P680+lm+tey0/7g3NsPAmr2MtMx9cR/yJeO8/fH30aiy9Kowr69/Kv1Nv6nG1ZZZlIN4DQGn7Mt7xI1rpkG71fbzZx/LV8WprneaNur741DriT6yrnfcib6ms/K31qjvl/+n10WV9rmefFzxXb+pxqetn9+sHAHB3rJt+W9Q/AABfTv1GHAAAAAAAAAAAAAAAAAAAAAAAwN0txpcgZ9MB/DnblDv1/Hp2Op7m45rC6NRvPq4PKSwh3WCKQ90S0l7Qny1jSEXl5Ul52omTvps1mfBs+k3o53EJiaYHuNYS3BqV+XStdPwOH4/ouQXUt8d79ZZjCWlNx8TLP1hMH6u80x4e3rLqbXuH0a4Z8BPu07m/6nit89iccACXsOL6neK97O/Krt7RvawiZEppMN0geq6HTgc9lzCFRf4hs6reviWnsOwbRL9tbRftmuM9anNdy3Os1HNTEXtGdZu8hJTCY68hyAGK7n4HzktIdWraw0M7g3+eYjeWcylXs+zGfbN1X8Bg+2VpZuhVFxSq/rRmIfbltERhnz042NMVxX1u4dbrnXu5X7kyQS72UtaSun3neMfrOWelnke7i79dQ+MjZQCk28f7pr/7+G8PSfzf+1iGkMcri7w7sNIvUuTZ9FD0Pe7N1/Z79M75aBXsouMtSib76FY9O7V/33bB9juVYkhiycHa3O/ZeVE6e3EPD3LtAbmiTixDzrHfMl0Gm9wbXoyVlDopan/Xi30tIqSFMqJXyydY8f71zr1MkWVz5Zb5WDrbq8c7W8/OOI/bDo2Pv4j3wCvuHu99VMvR9IOPQClfkuHTStfM9u8fme6RqQ1bVryvE62CXXW8spNddKmNen4czly8l688ks39np2Xpe3e61bjz7X52XKrlvM7jfepyUeuM6jGP1W1MuNib1nl9nqnPzaVkIsk7z+mts9m67lv9KwDmEC8v84R25q2ajTeWyOZF8Z7vR2djPfGeL5r7nU6ddIrp3z1qXifjPRsNt53UmbjvazokXj/eue+pd4edT6YP+3fz9ZzH/Ee+AF3j/fV0N4x6lzGFRGu3hfvt3zVyD4a73/+eK2W1NpvsWuRbD2vt30UkLPNhTBb8JPzMvrwluzRyvHnYATUTryXffrBeJ8POPdrfdNXlgsAy/f6crN2PP+Szn11n7Fqr6ax7dXjna3nLmM8X37+BWDc9qW74yedpL+RHFwvPwRu0nNi9HkMOYXFTL9a0x1tB7Lz59nq6PYvHG+162MP+n6Ld9R9ei2TFOORkfHA3no8n3h2Xsa7etZzZLEZZ84pbh+oX8RTaXnoPmiP7Kn/ENa4tzr4L8tT5dbG+6s696GphPYQrMK326vps/VsMka5fKyvQADA21z/KORTX8/6/e/pDar6zaeisf1s+qkb3Ng/GCd8ag4LAMBPOjr8lw66Tt1D+OZbYfcR7lc2WV23uElivh0AAAAAAAAAAAAAAAAAAAAAAADck7XOfUiPyXb4XgwAAJ/NWufexyMlro7prAAA+HzdefKXQLwHAOALdON9vM8cmwAA4HlWvF9cYjAfAIAvocX7Jbh1dSxNAQDAt9Ce17vDGrgAAOAC+jr3i0trkc6QPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg021T7ljz6R6T8NyAXKW3Sn9iaqCQ0nfMFuydW53bp0py6/7j919Sme7E79tmmZXulpA6SyoBAG5uCW6NJ/PpLqG3et77LS49cUfi4/pFswZ655KI0Emky1MXy7eoZ9VM/6oKA4C/qbse7h3ifR5sUO5L2vmAB4RURy8f14cUZNc/pD09v2MJaV3XlNJgunlQR9ZZCouV3slqC9Lr/udPxHu6+ADw+Yx4H282nq/feTzTv687qz5WUfsRXkMSgdbHNe9+OV5Z5N2Blf7DtiCdQ/WPxPvt+L/iExAA+Ku6/XvrU/Pfd1m8X6ruvY/qES4hlV10H/eAJ186Uu10qxSX9u/dHul/Jt4rgyIAgI/SjffOuXiPLv6XxfsL5SC9OBfteJ+0t+R39dMd8R4APl4T70NyImy5NbbveYMfHc8XsfkY3S+H5MVtwV3jvXMuig/yF+N390y8ZzwfAD5W53m3OP8Q3M+Ja1nO9fEsekhl+vB9SdtVlYPox0vl2PojPSdGnx/zS2Ex03+Y/N7dZtVelYlr8xO76Y+jvsnnOgAAjOLrZZOoMADAR/qa+XZ+A517AAAAAAAAAAAAAAAAAAAAAAAAANim3LG+bBVnJrH5cXIpGwAAMGgJbo3m/PkhuRhcuk28b+azBwAA47R4/1gWbyHeAwDwHZp4/+j3O+I9AABfo4n31To6d5hK1cd1vUM5AAD4VMbn987RvwcA4GsQ7wEA+GLVuH211H1+9Sbj6MR7AAD+AL5/DwAAAAAAAAAAAAAAAAAAAAAAAAAAAOBWFufSFek35qP7MxO7bJPq1DPqLC6JeXj+SF34uGavnH8fr5kkoF+ekK6ZiSA6t16QzajVudW5xblVtAthT5c/p3zTsiz7e59ocX65HnCqPb/4fdHp7f9s+p0tLiU315iq7ZhbQrrJ5HSqxzp47Xy6d5pG95e86VSZcwb2y+Pj4C1JGPj3+81TnfZ/j7Xcb1XOVxr6p3sYI/UwUp8Y9676/Kzz2F7Pv1P++3Tuf/h4p7v4Vjs23DC/0Z+P97Inva6PhfhCWtc1hRCP1P0WMKTH38v2236K9z/L/v2WmlKq+up566YTr5ZHCqm+qmQXOf/LpbLHLE9pEokyXe1hhz3b3IH23fSOtO9udU4e1fb/3LYX7UG5s3682uhYIwdWPViFt+pT1v/I/3u7fdjrJKfL+lHLn/ZKGN+vL/PPu1DLb+Xf2a9Vz+p+rfrsnN+pclouPI+xvH7yUbf1EPfNthpI+y+LKIM3jjo1f1rlb+u5f13lgl3SiW/T1XYpimIvZS3NtmPj9dyndfFDcuvqUnoMcxctrtWO2f20rVG/w/Swarz/a+P52nkKqQrP4pTvp2/7XV4LSzvUvoS0n+nq1af69/VNpIxwvgnVbf5RXKOx/FfJGy9Nk139U52mq6Jo62XBQvNPvvFigyrz8U6GdVxWPXSo9RnKPZ7mY20fmjDm97JZ5yXthzDStZLXxiKaqk75rfzVdKuc1n5dt9/WHtET5bRcch7lPeLI/1Esg0Qu6tLci1cG+/ed86teV7LkbW6vd+477ZLcMh/LE+3YVD13qV38kPbYWN0QWO2Y/XHuneN9+er6F/r6RryvAvnxp4/WqdPjvei8vxrvl7Z7f/Qz1iaOtvm33YXN2vyMjLFfMoJn9e/lrf3T8d46LqseTstZae9R+v0Ja/vqnmYRzZZ1XqoY3Gf9H3fKb+Wv/m6Vs9N+TMX7J8o5td/Z89jeEOdf+vWQw3w/3qcmn7yZFf9U1nXVd8kn9yPtUprcPput5z6ji593Gwc/41da53vpx3vn4l94bEaP9/XA/G3jvXR6X9yJ9x2/EO8rsv/dNlJT8V51w3gv3yjj/UhWd4j3U/t13xXvx+thMN53UmbjvXpddbzeuW+pt0edC+C0HZut5zNtF/9vxPtjFCM/0/f1rPF8kVjE5svi/f6Xj8Vj+DPj+dX/82q8JO9/j/uWcjy5c6rn4v02fDV84Z+O16UX4r11XFY99MvZ1mdV/6f/Ltb2wWjjOudlKs75pi8Vu+Xp5K/+bpXT2q8z6nOjnsfZclouOY+z/0edeC/79IPxvi1/5/x2Yqc6nn9J577TLuVX09j21vmaqudT3q1lUH8i3hvj+fLz33fJK9w/fkSthKQkfivrwbmQUoxJPDZ3RGZt8zr98Up+Li/6vMlxRRxvOmKj+SCf2ECmBW1QK1PTq0FC+dGXOj6mDipa6fthjX5YJctfdUSqQkZtv1Y55SGrx9Wphw7rww7rcweVun0oy2mNc+Zd50yc9hZVMMqplsfKv7Nfq56t/Tpt4855nCpn3yXn0br+23qIopDbXhatSoNWfvVw1PKr9dy5rnJR+3daz6X32yXXLXy7vZo+W89nQhLPlqTjAba4B8OzFs3op/k40/vBW1z1Hffr3f5rH8cDihhW9W/wWW47DDp7XUVj+9n0UzfsS774uJrRMF81Jwt+zNHJvuUUCve9F3HnTxigJTs3+Cz+xufuhteVrK7b3iQ94+bz7QAAAAAAAAAAAAAAAAAAAAAAgEtsU+4YK/r8sSVzPoGfmDsCAADnXJ4rV5s/fwmE+R450eKvWcS8UQAATFLXw/1LIeWx0HF43OUcNzpem2y4XCw4L4y8vXf7vRo10fPf8klHbuM3ENrJuc96iwCAe2rjvXcpHnHoT4QQL4K6f4TtKGLwEur1BdrwvASxvlJVq1r+W8jfqncJJ6sUSsR7AMC8Jt5v3dBH4h/p62s3Pak2FTgAAA/aSURBVOta/4glbabjvRLOF5didwPDXzghAICrqfG+7Mt+f69Rjff25M7EewDAp9EiTUhH6Ip/IbycVUL70r467tHvP8bkF5fW3433d1hfGQBwT9tjZcojac65vOTvasa8rxG15+/Ul45X1C8rikf5gvhMRM8/bxyP3Prx2peLPcsFr1hfGQCAr8f6ygAAAAAAAAAAAAAAAAAAAAAAAAAAAADwomolt822nlv+ucOkbcwnAwDAk5bwmNytjfdyXbg7xHvnnI8EfAAAntaduV1dGOYtiPcAALygE+/lgi7vRrwHAOAFdrwvFnh9Px9XpokHAOA5dry/z2C+o38PAMBLrHh/p8F8R7wHAOA525fxjp9UvHqzwXziPQAA347v3wMAAAAAAAAAAAAAAAAAAAAAAAAAMCU5p06pa6UDADaz7efHtaveuTvNE3cr25Q77fx6x1Q896o661yq6av4ecV60RXfL0/SEmd551bnfm0B4+jc6px3LpW1tDY/I1MntPWc9rfP1v8v1wNGXPV/hKdNtZ+d9JubvUex2rHwVW3IEtwalfl0H+nOOed8vNUse+M3oe86Vda/R788cSwidvLP/C8eeNj/PWJzExPLzV65hp7rYQzWwyc2Z3f2rvr8oPMYtev5d8p/n879jx7v7G1Kpx17sa94Q1q8zzF+CfZqub9t/Ca06lyGPTHtZ3Qt+9O5E7nd3+Xc1P5l2N++lhuHZr/98lQFblNyOcNZ/vIlGeeisVPreK10S9iLEZvxie29VXshyyPT+/34ttGxjsuqh07hrUGXnDjYcLTbd643tfzWdTW436Bd0u31aV236n6telb326nPzvkdL6flwvPoy+snH3VbD14UMoky54OVe2+v3rY9OS1/rufOdZULdkknvj9omsqqyMVO5dUy1Y5N1XOf2gO0rqtOO2b10/xwSe5GWy8nGpPqv9XUTah6nqpmpW3a8r93P3/ZtrYhTdXp37f/VzLPqqlt8/eiML78V5EbpyYf9Xg79aCWPLf11i3XUm4vN6gMnl/ruKx66FOPURY7DuRjba9eb53z0rmurP3mKk3ivVZ5rPzV9E45rf267jXTHtFsOTteP49eXJMj/0e+CRK5qFWF9ON9v/zW+bXasU68f71zb7VL0WgDZ9ux2XruUG9WrOuq04758mzK9K+J977o399jxfnZm1Mr3kv9f0u5WRvv8/+hda2PlCe/1F5kVr+kzb/tLrSdErXrph5vpx6mqP376ta+MtjuWMdl1cNIOaX204f+f3Vne/V665yXznXVsgYwOuWx8lfTrXL2B07G4/0T5ex4/TxWn6nFs/+jXA95R/143/Zrq65tpVPPnXbMcknnfqRdimUcnWrHZuu5b6rd7mhbqo/WxHsfRYy3Vsv9bbM3p2pzn+w/bxXvpapfMhXvfbOx9a7T9Fn9cQinNVLj8V49rhvGe/V665yXu8V7tZx/JN6f/h/NxvtOipuM9512zHL5J/dtu+T3Xwa3bzeYree+9paFeO9OPr+/R7yfvTl1dv/euuauivdJpMfyLVPj+bJgXnsp51+9vfrwzDIb72M5uniqP14XtLKNNz3qcXXqoUM9X7L+++Gtv711vVnnZbY9kuPVvvwMVS3PVLzvlNPar7Ovf2eMD0+Vs+P18zj7f9SP97JPPxLv1fJb9dxpx7zWmb6kc++67ZLbnypQG8N2e+t41cI8F+9dU/lPXFfeuJ2Kwy3MbRxfums+qo8ifbyN/zGzN6HVuJAX2yeRvr3XN9s7I327LoPINpZZOZFStR1qeeQGVvnbcTB1cF5uLz96VMfHBo+3KtL4h1U5h7YjktPTvgurnq1067g69dCh1mf/c4eWtb16vVnl719XFnW/anms/Dv7terZ2q/T6rNzHqfK2XfJeayun3zxtPWQU8K+F7+fa1mlac9zKfei9u/V//ep68oZ8f6qzr11MeRD6BR+pB2bredTobyJfOK6svppag3gAtYdlpXecdvHK/pj73cw+A8G6bbXG06NjOu8y9R1Ndt+PtGubq76KPBaI/d5s29/uorwe1Zxq3hDd76A+k8YQHXz6w0ddz53Nyzb1CDKBxl8BggAAAAAAAAAAAAAAAAAAAAAPsvNluoEPs425U47g94xFc9tvofl45q98n/v45quWBKgX56QLtnJY2KIX5MnoVibycnk7B63uSgUP/3dWL57K41dn/Fs7q6tvTn57tPiUpr8hrd1PT9hqt04GocUlpDueZ8iW7DTVnUJaa3cYOLVZ/lolP+qdnvIEpJah1b6y7tza9RmzPXHXHs+3mE+3R+rgjPmv2q/PD4O3pK0c3y3XgmuI/lLeRGudoK0zXKPmaVmjwt9r9Tn6cWQG5jQ66D7eP5d5+kuvno9/zQfj9i5hcm3x/vOLccyHOKKLd/UIFdeuJXyUevm/vKpsnb4kwXpz5/vXHx3d6a+D03BORfSuq4pBHkj/dh+uxNNYdnvSR9Hk29Ri+t7S01pv30t/1O121+1PFJI9dmSE3vK1VSsCSeTSLQmCH0clHivH87fkvbN5HQenfPflifvNw2nO3vCDjmukCe/sI5raWr4uXJaBvMf+XexZkm1yqPWQ9i3X8q3RFEti3jXWpYzlPtVrxPrvFjXZ957WZlW/z6kYxhxJN6rXfwtk7RnVfznqdezKv9Tp7DIP5zVbljtTLc7L9qUsp2x2p823ZUNUNn4yHGFR3S227G8nzbeH+9JKcf1fcsyUnbKqZbHbJ8f225/LPtGZjvfOS6rfsRbolfifdtuq+W/7Dw6+7bJvJ3aSvTKIES3f7+Ee0yhrx1/ceu8lCdrr5btd1nHyvW9hLTXYPXqU/37+uZsETHAl02n2q+SM3fL8dJQxhLZ567uFfr5d0QRU2VcVFnl2d4S9rKls3Q5mfAi8mnHFdQFVSpLU+AnytnRbtk5vyrreK3ydOrBlcFYXSgm11UoI7E8xdZ1qJbTuj5linZ2QhmS5dDh0Hj+vqX26dmeVXVDoF7PluJ/v+lh6f3gtp3x0WqMj1bGPT4eOLJW2x89vSjZtslRliLKyPg00b+XKT4eIfMIl00HUS1/pzx6+1xWXS5zp53XjsuqH/mBjDqeX59yq/wXnUfxfuV66aRfHu/3ML8tohPSfeN9FcjlLZ5VJXq8F533V+P90t4mFgtxyJfUdtZa7bJK9yI2XBXvVVYgtMrjmhjf/31tfnI/1TIV758oZ4d6Z2CdX5V1vFZ5+gMzarGDlmc1K7K8bNT6tMrZr16tMOqzQLHsqYc0Nnep0cXPxY+zn/ELR4uvNhJqvK8TrZan6fcfG1rtj5pejy6K/rE9wD45nq8/m6T3783y98pj1dKRkdig084rx2XVT7XHtgGv222j/Fedx+OQ9aF7K/1lZyvevn083zkr3tdn8LbxXjrt3//BeK/6oHgvnfbvOxtcFe/zXmRFVbOBj8T7kT0O11sqo/6T8V7r4l8V7/eWQPv4dDTed0Zor4r3eutyYbwvcpX9+/NbmdfifT46WeBOO6/He+MjceL9VoJevL/Ll2Cs8XyRWJyHy+K9GEWT9T8znl+1s6vxkuzXHvct5Xi+zEd+bi3vCap43+a/H87oc0S+zDN/ZGuVx03G+2CENGu/rnNcxnj+bDk7TvM/jffW8Vrl6dSDs4sdmg8ygn2vqdanVU7r+syvaoMc+eN5+Yu4Px8dz39s3NwrTMZ78/r3sfykNhuN9/VQ7NFwlBmIcDIZJ6xIYO3Xddox7biKBNGYmZ91GuXslKf7qUcKoWqEzXZePS6jfopmWX5OoW7QKf9V51HZyWm6/Bxk1vGlu33ofn9BJL79Uezi4YhihCmkFOPxmjzz2ubtQM/+fE3+a9+k+HimGdc6eQCmueCCMXi7UdOr56dyk5rKdNek52e4+vk/Pr8a7giFs/3K9JyY95666a4cD5dFtfarHleVSTVOPl5Oi5V///yOZOXPyqPWQ5VJ+5/afngk35KajdvyW+fFuj6dGe/b/r0Tz/Gtq4vDH+G7cjAgPxbgc4anIb9z/TfDc0a7YbYzW5mMAfF2e6v96bVL1a71psk4CP2xNvlK2b7Vxaxf6rafWnnOvgbY3JEY7bx5XGb9FB9TxPYjfOU56589j9PP6/moVNhf8avflZzy69/rmFU8coIv1R+H+Gj+tZ4I1/99KSPev3Wu7v59vKvmjvlA4hsjd2zE7nsv4s6fMMBH81qnX44Q/HVc/7ekPiX4y+38N8+3AwAAAAAAAAAAAAAAAAAAAAAALpHnqmiXyLvPfDt937cutTPKaa3T9RNu8b0UAMAl5AJVcS0nt0zHNrcNirM+ZV3qfjnH16t+3m3mnQAAXEyuee+jOwLK4tJbu/h/bl3qs2GHk/Wq66ko836Pdaw75czvqorwtnWgL1j/EQAgyEXw6nj/7vXx/ta61HY5reO1ym+sY22W8yjBvdaBJt4DwCUWl9Zi0P5u8V5GoO9fl3o23nfKr85QaZZTZHindSEBABfYnstrIqMI/+8ez3+U4u+sS3328NpMvC9S82jHSVwl3gPAl/FRrIErLS4eH/Xe5Hm9P7QudW/d6NP1qkX5rXWszyLrndaBfmW9ZwCAc2I96rwAtWjj8/f07vN9vL+zLrWxvXW8RvmNdaz75cxvvMk60H96vWcAAH7WXb6P94fXewYA4Bcw3w4AAAAAAAAAYM5/xg8AAPgexHsAAL4f8R4AgO9HvAcA4EV5Xp3q+1A+Konv8VHxfnFu3X8AALgFH4+IHsX8ektwa3TOf3C8D8m9ZVK2HOa9c7eZmRAAgN0Smnny7xPv/+ecc+4f5/4Ric45L+YDzgsBGPMEbysD7TPuFqMX2yBHCo9t1tX5nE86cju9gfDOyQorlyZgXVcAwA3EduGc+8T7/5z71znn3P/23/91zrkoYvASirV/1P59cU9THZ0XNw1+32xxaV88cAnntUG8BwDc2OLSqi2Cd7d4/085nu+LTnzVBX8i3isHK9cCHqiNbrwHAOB9thFsvdN5/3hvf0L+rngvS0S8BwDcgo/FGHjz8r3jvXMhacMS7vHSvkTt0e8/xuQXl9br470T8b5+Xo913AEA72E81+b2x9mUR+Heon0U/98jMRrj+XK0/0gUhxzC8cheVOshbxyP3E7jdTC+j8c67gAAdH3U9+8NrOMOAEDfN8R7AADQR7wHAOD7Ee8BAAAAAAAAAAAAAAAAAB9vWxqunUnGSrcwnwwAADfl4xHOYzm/npp+lhsBHwCAeyvWkhlIbxHvAQC4u2hMkm+lt4j3AADc2OKSOmhvpZt8XJkmHgCA+1mCW1fXxmgrvYP+PQAAd+SjvtatlX6WG/EeAIC7EYvB6+u+V+lniPcAAHw5vn8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHjG/wHtULz0zwi/YAAAAABJRU5ErkJggg==" alt="" />

5,virConnectIsSecure

API call 同上判断virtual conn 是否加密

if succesful returns 1 for a secure connection and 0 for an insecure connection

if an error occurred -1 will be returned;

aaarticlea/png;base64,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" alt="" />

aaarticlea/png;base64,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" alt="" />

6,libvirt Enevt loop integration;

libvirt APIs use a basic request/response architecture that is generally synchronous

libvirt application calls a libvirt API (the request) which doesn't return until the action is complete (the response)

a libvirtd server can also generate asynchronous messages and send them to
the libvirt application

7,by default when an error occurs,libvirt will call the virDefaultErrorFunc function which will print the error information to stderr,

  virSetErrorFunc API call can be used to set a custom global error function that libvirt will call instead,it takes a viod

* pointer as input,and returns nothing,the custom error function should have function signature

typedef void (*virErrorFunc) (void *userData,virErrorPtr error);

following code demonstrates use virSetErrorFunc

//compile with: gcc -g -Wall virSerErrorFunc.c -o virSetErrorFunc -lvirt;
//by Ruiy
//stderr 0
//stdin 1
//stdout 2 #include <stdio.h>
#include <stdlib.h>
#include <libvirt/libvirt.h>
#include <libvirt/libvirt-qemu.h>
#include <libvirt/virterror.h> static void customErrorFunc(void *userdata,virErrorPtr err)
{
fprintf(stderr,"Failure of libvirt library cal: \n");
fprintf(stderr,"Code:%d \n",err->code);
fprintf(stderr,"Domain:%d\n",err->domain);
fprintf(stderr,"Message:%s \n",err->message);
fprintf(stderr,"Level:%d \n",err->level);
fprintf(stderr,"str1:%s \n",err->str1);
fprintf(stderr,"str2:%s \n",err->str2);
fprintf(stderr,"str3:%s \n",err->str3);
fprintf(stderr,"int1:%d \n",err->int1);
fprintf(stderr,"int2:%d \n",err->int2);
}
int main(int argc,char *argv[])
{
virConnectPtr conn;
virSetErrorFunc(NULL,customErrorFunc);
conn = virConnectOpen("qemu+tcp://root@192.168.1.143/system");
if (conn == NULL)
{
fprintf(stderr,"Failed to open connection to qemu+tcp://root@192.168.1.143/system");
return ;
}
if (virConnectGetVersion(conn,NULL) < )
fprintf(stderr,"virConnectGetVersion failed \n");l
virConnectClose(conn);
return ;

8,virConnSetErrorFunc

  API call can be used to set a per-connection custom error handling function,if present,this per-connection error handling function will take precendence over the global

continue upGrade;

if (conn->handler)
conn->handler;
else if (global_handler)
global_handler;
else
virDefaultErrorFunc;

typedef void (*virErrorFunc) (void *userData,virErrorPtr error);

//example demonstrates
//cimpile with: gcc -g -Wall *.c -o execfiles -lvirt;
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <iomanip>
#include <>
using namespace std;
#include <libvirt/libvirt.h>
#include <libvirt/libvirt-qemu.h>
#include <libvirt/viererror.h> static void customConnErrorFunc(void *userdata,virErrorPtr err)
{
fprintf(stderr,"Connection handler,failure of libvirt library call: \n");
fprintf(stderr,"Code:%d \n",err->code);
fprintf(stderr,"Domain:%d \n",err->domain);
fprintf(stderr,"Message:%s \n",err->message);
fprintf(stderr,"Level:%d \n",err->level);
fprintf(stderr,"str1:%s \n",err->str1);
fprintf(stderr,"str2:%s \n",err->str2);
fprintf(stderr,"str3:%s \n",err->str3);
fprintf(stderr,"int1:%d \n",err->int1);
fprintf(stderr,"int2:%d \n",err->int2);
} static void customGlobalErrorFunc(void *userdata,virErrorPtr err)
{
fprintf(stderr,"Global handler,failer of libvirt library call: \n");
fprintf(stderr,"Code:%d \n",err->code);
fprintf(stderr,"Domain:%d \n",err->domain);
fprintf(stderr,"Message:%s \n",err->message);
fprintf(stderr,"Level:%d \n",err->level);
fprintf(stderr,"str1:%s \n",err->str1);
fprintf(stderr,"str2:%s \n",err->str2);
fprintf(stderr,"str3:%s \n",err->str3);
fprintf(stderr,"int1:%d \n",err->int1);
fprintf(stderr,"int2:%d \n",err->int2);
} int main(int argc,char *argc[])
{
virConnectPtr conn1;
virConnectPtr conn2;
//set a global error function for all connection
virSetErrorFunc(NULL,customGlobalErrorFunc);
}

9,virCopyLastError

API call obtain a copy last error reported from libvirt

error object is keep in thread local storage so separate threads can safely use this function concurrently,

//compile with: gcc -g -g -Wall *.c -o virCopyLastError -lvirt

#include <stdio.h>

#include <stdib.h>

#include <libvirt/libvirt.h>

#include <libvirt/virterror.h>

#include <libvirt/libvirt-qemu.h>

//dummy error function to suppress virDefaultErrorFunc

static void customErrorFunc(void *userdata,virErrorPtr err)

{}

int main(int argc,char *argv[])

{

virConnectPtr conn;

virError err;

virSetErrorFunc()

}

10,virResetError

api call to clear and free any memory associated with an virError object;

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <libvirt/libvirt.h>
#include <libvirt/libvirt-qemu.h>
#include <libvirt/virterror.h> //dummy error function to suppress virDefaultErrorFunc
static void customErrorFunc(void *userdata,virErrorPtr err)
{
} int main(int argc,char *argc[])
{
virConnectPtr conn;
virError err;
virSetErrorFunc(NULL,customErrorFunc);
conn = virConnectOpen("qemu:///system");
conn = virConnectOpen("qemu+tcp://localhost/system");
if (conn == NULL)
{
fprintf(stderr,"Failed to open connection to qemu:///system \n");
return ;
}
if (virConnectGetVersion(conn,NULL) < )
{
virCopyLastError(&err);
fprintf(stderr,"virConnectGetVersion Failed:%s \n",err.message);
virResetError(&err);
}
virConnectClose(conn);
return ;
}

11.virGetLastError

API call obtain a pointer to the last error reported from libvirt;

#include <stdio.h>
#include <stdlib.h>
#include <libvirt/libvirt.h>
#include <libvirt/virterror.h>
#include <libvirt/libbvirt-qemu.h> static void customErrorFunc(void *userdata,virerrorPtr err)
{}
int main(int argc,char *argv[])
{
virConnectPtr conn;
virErrorPtr err;
virSetErrorfunc(NULL,customErrorfunc); conn = virConnectOpen("qemu+tcp://libvirt.org/system");
if (conn == NULL)
{
fprintf(stderr,"Failed to open connection to qemu+tcp://libvirt.org/systsem" \n);
return ;
}
if (virconnectGetVersion(conn,NULL) < )
{
//this is a vailed way to use virgetLastErrorerr v= virgetLastError();
err = virGetLasteError();
fprintf(stderr,"virconnectGetVersion failed:%s \n",err->message);
}
if (virConnectGetVersion(conn,NULL) < )
{
//this is an invailed way to use virGetLastError; the error message will not reresent the error from virConnectGetVersion
}
err = virgetLastError();
virNodeGetFreeMemory(NULL);
frpintf(stderr,"virConnectGetVersion failed:%s \n",err->message);
}

12.virSaveLastError

API call to allocate and obtain a copy of the last error reported fromn libvirt;

/*compile with: gcc -g -Wall virSaveLastError.c -o virSaveLastError -lvirt*/
//dummy虚拟;
#include <stdio.h>
#include <stdlib.h>
#include <libvirt/libvirt.h>
#include <libvirt/libvirt-qemu.h>
#include <libvirt/virterror.h> //dummy function to suppress virDefaultErrorFunc
static void customErrorFunc(void *userdata,virErrorPtr)
{
} int main(int argc,char *argv[])
{
virConnectPtr conn;
virErrorPtr err;
virSetErrorFunc(NULL,customErrorFunc); }

13,debug/logging

log messages,log filters,log outputs;

priority level:

1 debug

2 info

3 warn

4 error

3,log outputs - where to send the message once it has passwd through filters,the format for a log output is one of the forms:

x:stderr - log to stderr

x:syslog:name - log to syslog with a prefix of "name"

x:file:file_path - log to a file specified by "file_path"

where "X" is the minimal priority level,for instance,to log all warnings and errors to syslog with a prefix of "libvirt",the following output cann be used:

3:syslog:libvirtd

14,integrated example

this example daemonstrates many of the concepts from the chapter together,including error checking,

while still not a "real" program (which would likely be multi-threaded),it's a good example of how to write a libvirt program from end to end;

15,guest domains

domain is an instance of an operating system running on a virtualized machine,a guest domain can refer to either a running virtual machine or a configuration which can be used launch a virtual machine,the connection object provides APIs to enumerate the guest domains,create new guest domains and manage existing domains,A guest domain is represented with the virDomainPtr object and has a number of unique identifiers;

Unique identifiers:

1. id:positive integer,unique amongstrunning guest domains on a single host,an inactive domain does not have an id,if the host OS is a virtual it is given a id of zero by default.for example,with the xen hypervisor,Dom0 indicates a guest domain,other domain ids will be allocated starting at 1,and incrementing each time a new domain starts,typically domain IDs will not be-used until the entire ID space warps around.the domain id space is at 16 bits in size,but often extends 32 bits

2.name:short string,unique amongst all guest domains on a single host,both running and inactive for maximum portability between hypervisors applications should only rely on being able to use the characters a-z,0-9 in names,many hypervisors will store inactive domain configurations as files on disk,based on the domain name;

uuid:16unsigned bytes,guaranteed to be unique amongst all guest domains on any host,RFC 4122 defines the format for UUIDs and provides a recommended algorithm for generating UUids with guaranteed uniqueness.if the host OS is itself a virtual domain,then by convention it will be given a uuid of all zeros,this is the case with the xen hypervisors,

a guest domain may be transient,or persistent,a transient guest domain can only be managed while it is running on the host and,when powered off,all trace of it will disappear.a persistent guest domain has its configuration maintained in a data store on the host by the hypervisor,in an implementation defined format,thus when a persistent guest is powered off,it is still possible to manage its inactive config,a transient guest can be truned into a persistent guest on the fly by defining a configuration for it

once an application has a unique identifier for a domain,it will often want to obtain the corresponding virDomainPtr object.there are three,imaginatively named,methods to do lookup existing domains,

virDomainLoopupByID,virDomainLookupByName and virDomainLookByUUID

each of these takes a connection object as first parameter,and the domain identifier as the other.

they will return NULL if no matching domain exists,the connections error object be queried to find specific detials of the error if required;

int domainID = 6;

virDomainPtr dom;

dom = virDomainLoopupByID(conn,domainID);

15.Example4.1 fetching a domain object from an ID

int domainName = "byRuiy";

virDomainPtr dom;

dom = virDomainLookupByName(conn,domainName);

Example 4.2 Fetch a domain object from an name

char *domainUUID = "";

virDomainPtr dom;

dom  = virDomainLookupByUUIDString(conn,domainUUID);

example 4.3 Fetch a domain object from an UUID

for convenience of this document,the UUID example used the printable format of UUID,there is an equivalent method which accepts the raw bytes unsigned char[]

获取VMs域信息API函数

int domainID = 6;

virdomainPtr dom;

virDomainLoopupByUUIDString(conn,domainUUID);

virDomainLoopupByName(conn,domainName);

virDomainLookupByID(conn,domainID);

16.listing domains

the libvirt API exposes two lists of domains,the first contains running domains,while the second contains inactive,persistent domains.the lists are intended to be non-overlapping,exclusive sets,though there is always a small possibility that a domain can stop or start in between the querying of each set.the events API described later in this section provides a way to track all lifecycle changes avoiding this potential race condition;

API for listing active domains,returns a list of domain IDs.Every running domain has a positive integer ID,uniquely identifying it amongst all running domains on the host.the API for listing active domains,virConnectListDomains,requires the caller to pass in a pre-allocated int array which will be filled in domain IDs, the return value will be -1 upon error,or the total number of array elements filed,to determine how large to make the ID array,the application can use the API call virConnectNumofDomains.putting these two calls together,a fragment of code which printfs a list running domain IDs would be

int i;

int numDomains;

int *activeDomains;

numDomains = virConnectNumOfDomains(conn);

activeDomains = malloc(sizeof(int) * numDomains);

numDomains = virConnectListDomains(conn,activeDomains,numDomains);

printf("Active domain IDs: \n");

for (i = 0;i < numDomains;i++)

{

printf("%d \n",activeDomains[i]);

}

free(activeDomains);

Example 4.4 listing active domains

in addition to the running domains,there may be some persistent inactive domain configurations stored on the host,since an inactive domain not hace any ID identifier,the listing of inactive domains is exposed as a list of name strings,in a similar style to the API just discussed

inactive domains is exposed as a list of name strings,in a similar style to the API just discused

the virConnectListDefinedDomains API requires the callers to provide a pre-allocated

char * array which will beb filled with domain name strings.the return value will be -1 upon error ,or the total number of array elements filled with names it si the callers responsibility free mempry

Example4.5 listing inactive domains

the APIs for for listing domains do not directly return the full virDomainPtr objects,since this may incur

上一篇:C# 获取FormData数据


下一篇:你的程序支持复杂的时间调度嘛?如约而来的 java 版本