From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============4747765617792902585==" MIME-Version: 1.0 From: Kumaraparameshwaran Rathnavel Subject: Re: [SPDK] Performance Date: Tue, 06 Dec 2016 18:27:53 +0530 Message-ID: <525F4BDF-6656-47C0-968F-5176B0887995@cloudsimple.com> In-Reply-To: CANvN+enc=f+mp=t22bW0b_urOEPx7oopi2Uni_VFJ9PYq2X7Fw@mail.gmail.com List-ID: To: spdk@lists.01.org --===============4747765617792902585== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Can you briefly describe your setup if you don=E2=80=99t mind. It will be of great help. Regards, Param. > On 06-Dec-2016, at 6:24 PM, Andrey Kuzmin w= rote: > = > = > = > On Tue, Dec 6, 2016, 15:49 Kumaraparameshwaran Rathnavel > wrote: > The setup is the default setup of NVMf target with Direct attached Subsys= tem. The FIO plugin was at the target side and the IOPS from SPDK was found= to be around 2.5K and the IOPS from kernel was found to be 100k. > = > Sounds like a setup issue to me. In my tests, SPDK typically matched or s= urpassed kernel stack in IOPS while using 2-3x less CPU. > = > Regards, > Andrey > = > Regards, > Param. > = >> On 06-Dec-2016, at 5:57 PM, Andrey Kuzmin > wrote: >> = >> = >> = >> On Tue, Dec 6, 2016, 15:24 Kumaraparameshwaran Rathnavel > wrote: >> Hi All, >> = >> Is there any benchmarking done to prove that SPDK is better than the Ker= nel driver? >> = >> We did run the sample driver provided from the SPDK and compared with th= e kernel interface and found that SPDK is very slow. We did run FIO. >> = >> It's worth publishing your setup and results first. >> = >> Regards, >> Andrey >> = >> Can you describe the setup for the performance measurement between Kerne= l and SPDK driver. >> = >> Regards, >> Param. >> _______________________________________________ >> SPDK mailing list >> SPDK(a)lists.01.org >> https://lists.01.org/mailman/listinfo/spdk >> -- = >> Regards, >> Andrey >> = >> _______________________________________________ >> SPDK mailing list >> SPDK(a)lists.01.org >> https://lists.01.org/mailman/listinfo/spdk > = > _______________________________________________ > SPDK mailing list > SPDK(a)lists.01.org > https://lists.01.org/mailman/listinfo/spdk > -- = > Regards, > Andrey > = > _______________________________________________ > SPDK mailing list > SPDK(a)lists.01.org > https://lists.01.org/mailman/listinfo/spdk --===============4747765617792902585== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0 L2h0bWwgY2hhcnNldD11dGYtOCI+PC9oZWFkPjxib2R5IHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFr LXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJyZWFrOiBhZnRl ci13aGl0ZS1zcGFjZTsiIGNsYXNzPSIiPkNhbiB5b3UgYnJpZWZseSBkZXNjcmliZSB5b3VyIHNl dHVwIGlmIHlvdSBkb27igJl0IG1pbmQuPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+PC9kaXY+ PGRpdiBjbGFzcz0iIj5JdCB3aWxsIGJlIG9mIGdyZWF0IGhlbHAuPC9kaXY+PGRpdiBjbGFzcz0i Ij48YnIgY2xhc3M9IiI+PC9kaXY+PGRpdiBjbGFzcz0iIj5SZWdhcmRzLDwvZGl2PjxkaXYgY2xh c3M9IiI+UGFyYW0uPGJyIGNsYXNzPSIiPjxkaXY+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xh c3M9IiI+PGRpdiBjbGFzcz0iIj5PbiAwNi1EZWMtMjAxNiwgYXQgNjoyNCBQTSwgQW5kcmV5IEt1 em1pbiAmbHQ7PGEgaHJlZj0ibWFpbHRvOmFuZHJleS52Lmt1em1pbkBnbWFpbC5jb20iIGNsYXNz PSIiPmFuZHJleS52Lmt1em1pbkBnbWFpbC5jb208L2E+Jmd0OyB3cm90ZTo8L2Rpdj48YnIgY2xh c3M9IkFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPjxkaXYgY2xhc3M9IiI+PGJyIHN0eWxlPSJm b250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1h bDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVy LXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFuczogYXV0bzsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQt aW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3 aWRvd3M6IGF1dG87IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRo OiAwcHg7IiBjbGFzcz0iIj48YnIgc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQt c2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFs OyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiBh dXRvOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06 IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdpZG93czogYXV0bzsgd29yZC1zcGFjaW5nOiAw cHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsiIGNsYXNzPSIiPjxkaXYgY2xhc3M9 ImdtYWlsX3F1b3RlIiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAx MnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQt d2VpZ2h0OiBub3JtYWw7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IG9ycGhhbnM6IGF1dG87IHRl eHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsg d2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiBhdXRvOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdl YmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyI+PGRpdiBkaXI9Imx0ciIgY2xhc3M9IiI+T24g VHVlLCBEZWMgNiwgMjAxNiwgMTU6NDkgS3VtYXJhcGFyYW1lc2h3YXJhbiBSYXRobmF2ZWwgJmx0 OzxhIGhyZWY9Im1haWx0bzprcmF0aEBjbG91ZHNpbXBsZS5jb20iIGNsYXNzPSIiPmtyYXRoQGNs b3Vkc2ltcGxlLmNvbTwvYT4mZ3Q7IHdyb3RlOjxiciBjbGFzcz0iIj48L2Rpdj48YmxvY2txdW90 ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46IDBweCAwcHggMHB4IDAuOGV4OyBi b3JkZXItbGVmdC13aWR0aDogMXB4OyBib3JkZXItbGVmdC1jb2xvcjogcmdiKDIwNCwgMjA0LCAy MDQpOyBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IHBhZGRpbmctbGVmdDogMWV4OyI+PGRpdiBj bGFzcz0iZ21haWxfbXNnIiBzdHlsZT0id29yZC13cmFwOiBicmVhay13b3JkOyI+VGhlIHNldHVw IGlzIHRoZSBkZWZhdWx0IHNldHVwIG9mIE5WTWYgdGFyZ2V0IHdpdGggRGlyZWN0IGF0dGFjaGVk IFN1YnN5c3RlbS4gVGhlIEZJTyBwbHVnaW4gd2FzIGF0IHRoZSB0YXJnZXQgc2lkZSBhbmQgdGhl IElPUFMgZnJvbSBTUERLIHdhcyBmb3VuZCB0byBiZSBhcm91bmQgMi41SyBhbmQgdGhlIElPUFMg ZnJvbSBrZXJuZWwgd2FzIGZvdW5kIHRvIGJlIDEwMGsuPC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2 PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9u dC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDog bm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiBhdXRvOyB0ZXh0LWFsaWdu OiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNw YWNlOiBub3JtYWw7IHdpZG93czogYXV0bzsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4 dC1zdHJva2Utd2lkdGg6IDBweDsiIGNsYXNzPSIiPjxiciBjbGFzcz0iIj48L2Rpdj48ZGl2IHN0 eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6 IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsg bGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFuczogYXV0bzsgdGV4dC1hbGlnbjogc3RhcnQ7 IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9y bWFsOyB3aWRvd3M6IGF1dG87IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tl LXdpZHRoOiAwcHg7IiBjbGFzcz0iIj5Tb3VuZHMgbGlrZSBhIHNldHVwIGlzc3VlIHRvIG1lLiBJ biBteSB0ZXN0cywgU1BESyB0eXBpY2FsbHkgbWF0Y2hlZCBvciBzdXJwYXNzZWQga2VybmVsIHN0 YWNrIGluIElPUFMgd2hpbGUgdXNpbmcgMi0zeCBsZXNzIENQVS48L2Rpdj48ZGl2IHN0eWxlPSJm b250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1h bDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVy LXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFuczogYXV0bzsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQt aW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3 aWRvd3M6IGF1dG87IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRo OiAwcHg7IiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1p bHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQt dmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxldHRlci1zcGFjaW5n OiBub3JtYWw7IG9ycGhhbnM6IGF1dG87IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDog MHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiBh dXRvOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyIg Y2xhc3M9IiI+UmVnYXJkcyw8L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNh OyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6 IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3Jw aGFuczogYXV0bzsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJh bnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3aWRvd3M6IGF1dG87IHdvcmQtc3Bh Y2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IiBjbGFzcz0iIj5BbmRy ZXk8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2 ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQt Y2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFs OyBvcnBoYW5zOiBhdXRvOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4 dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdpZG93czogYXV0bzsgd29y ZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsiPjxibG9ja3F1 b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjogMHB4IDBweCAwcHggMC44ZXg7 IGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IGJvcmRlci1sZWZ0LWNvbG9yOiByZ2IoMjA0LCAyMDQs IDIwNCk7IGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsgcGFkZGluZy1sZWZ0OiAxZXg7Ij48ZGl2 IGNsYXNzPSJnbWFpbF9tc2ciIHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7Ij48ZGl2IGNs YXNzPSJnbWFpbF9tc2ciPjxiciBjbGFzcz0iZ21haWxfbXNnIj48L2Rpdj48ZGl2IGNsYXNzPSJn bWFpbF9tc2ciPlJlZ2FyZHMsPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj5QYXJhbS48L2Rp dj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciIHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFrLXdv cmQ7Ij48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxiciBjbGFzcz0iZ21haWxfbXNnIj48ZGl2IGNs YXNzPSJnbWFpbF9tc2ciPjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiIGNsYXNzPSJnbWFpbF9tc2ci PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+T24gMDYtRGVjLTIwMTYsIGF0IDU6NTcgUE0sIEFuZHJl eSBLdXptaW4gJmx0OzxhIGhyZWY9Im1haWx0bzphbmRyZXkudi5rdXptaW5AZ21haWwuY29tIiBj bGFzcz0iZ21haWxfbXNnIiB0YXJnZXQ9Il9ibGFuayI+YW5kcmV5LnYua3V6bWluQGdtYWlsLmNv bTwvYT4mZ3Q7IHdyb3RlOjwvZGl2PjxiciBjbGFzcz0iZ21haWxfbXNnIG1fLTEwNjkxOTY3MzI4 Mjg0OTIyMDBBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ci PjxiciBjbGFzcz0iZ21haWxfbXNnIj48YnIgY2xhc3M9ImdtYWlsX21zZyI+PGRpdiBjbGFzcz0i Z21haWxfcXVvdGUgZ21haWxfbXNnIj48ZGl2IGRpcj0ibHRyIiBjbGFzcz0iZ21haWxfbXNnIj5P biBUdWUsIERlYyA2LCAyMDE2LCAxNToyNCBLdW1hcmFwYXJhbWVzaHdhcmFuIFJhdGhuYXZlbCAm bHQ7PGEgaHJlZj0ibWFpbHRvOmtyYXRoQGNsb3Vkc2ltcGxlLmNvbSIgY2xhc3M9ImdtYWlsX21z ZyIgdGFyZ2V0PSJfYmxhbmsiPmtyYXRoQGNsb3Vkc2ltcGxlLmNvbTwvYT4mZ3Q7IHdyb3RlOjxi ciBjbGFzcz0iZ21haWxfbXNnIj48L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUg Z21haWxfbXNnIiBzdHlsZT0ibWFyZ2luOiAwcHggMHB4IDBweCAwLjhleDsgYm9yZGVyLWxlZnQt d2lkdGg6IDFweDsgYm9yZGVyLWxlZnQtY29sb3I6IHJnYigyMDQsIDIwNCwgMjA0KTsgYm9yZGVy LWxlZnQtc3R5bGU6IHNvbGlkOyBwYWRkaW5nLWxlZnQ6IDFleDsiPkhpIEFsbCw8YnIgY2xhc3M9 ImdtYWlsX21zZyI+PGJyIGNsYXNzPSJnbWFpbF9tc2ciPklzIHRoZXJlIGFueSBiZW5jaG1hcmtp bmcgZG9uZSB0byBwcm92ZSB0aGF0IFNQREsgaXMgYmV0dGVyIHRoYW4gdGhlIEtlcm5lbCBkcml2 ZXI/PGJyIGNsYXNzPSJnbWFpbF9tc2ciPjxiciBjbGFzcz0iZ21haWxfbXNnIj5XZSBkaWQgcnVu IHRoZSBzYW1wbGUgZHJpdmVyIHByb3ZpZGVkIGZyb20gdGhlIFNQREsgYW5kIGNvbXBhcmVkIHdp dGggdGhlIGtlcm5lbCBpbnRlcmZhY2UgYW5kIGZvdW5kIHRoYXQgU1BESyBpcyB2ZXJ5IHNsb3cu IFdlIGRpZCBydW4gRklPLjxiciBjbGFzcz0iZ21haWxfbXNnIj48L2Jsb2NrcXVvdGU+PC9kaXY+ PGRpdiBjbGFzcz0iZ21haWxfbXNnIj48YnIgY2xhc3M9ImdtYWlsX21zZyI+PC9kaXY+PGRpdiBj bGFzcz0iZ21haWxfbXNnIj5JdCdzIHdvcnRoIHB1Ymxpc2hpbmcgeW91ciBzZXR1cCBhbmQgcmVz dWx0cyBmaXJzdC48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxiciBjbGFzcz0iZ21haWxf bXNnIj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPlJlZ2FyZHMsPC9kaXY+PGRpdiBjbGFz cz0iZ21haWxfbXNnIj5BbmRyZXk8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSBnbWFpbF9t c2ciPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSBnbWFpbF9tc2ciIHN0eWxlPSJtYXJn aW46IDBweCAwcHggMHB4IDAuOGV4OyBib3JkZXItbGVmdC13aWR0aDogMXB4OyBib3JkZXItbGVm dC1jb2xvcjogcmdiKDIwNCwgMjA0LCAyMDQpOyBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IHBh ZGRpbmctbGVmdDogMWV4OyI+PGJyIGNsYXNzPSJnbWFpbF9tc2ciPkNhbiB5b3UgZGVzY3JpYmUg dGhlIHNldHVwIGZvciB0aGUgcGVyZm9ybWFuY2UgbWVhc3VyZW1lbnQgYmV0d2VlbiBLZXJuZWwg YW5kIFNQREsgZHJpdmVyLjxiciBjbGFzcz0iZ21haWxfbXNnIj48YnIgY2xhc3M9ImdtYWlsX21z ZyI+UmVnYXJkcyw8YnIgY2xhc3M9ImdtYWlsX21zZyI+UGFyYW0uPGJyIGNsYXNzPSJnbWFpbF9t c2ciPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyIGNs YXNzPSJnbWFpbF9tc2ciPlNQREsgbWFpbGluZyBsaXN0PGJyIGNsYXNzPSJnbWFpbF9tc2ciPjxh IGhyZWY9Im1haWx0bzpTUERLQGxpc3RzLjAxLm9yZyIgY2xhc3M9ImdtYWlsX21zZyIgdGFyZ2V0 PSJfYmxhbmsiPlNQREtAbGlzdHMuMDEub3JnPC9hPjxiciBjbGFzcz0iZ21haWxfbXNnIj48YSBo cmVmPSJodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NwZGsiIHJlbD0ibm9y ZWZlcnJlciIgY2xhc3M9ImdtYWlsX21zZyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMu MDEub3JnL21haWxtYW4vbGlzdGluZm8vc3BkazwvYT48YnIgY2xhc3M9ImdtYWlsX21zZyI+PC9i bG9ja3F1b3RlPjwvZGl2PjxkaXYgZGlyPSJsdHIiIGNsYXNzPSJnbWFpbF9tc2ciPi0tPHNwYW4g Y2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxiciBjbGFzcz0iZ21h aWxfbXNnIj48L2Rpdj48ZGl2IGRhdGEtc21hcnRtYWlsPSJnbWFpbF9zaWduYXR1cmUiIGNsYXNz PSJnbWFpbF9tc2ciPjxwIGRpcj0ibHRyIiBjbGFzcz0iZ21haWxfbXNnIj5SZWdhcmRzLDxiciBj bGFzcz0iZ21haWxfbXNnIj5BbmRyZXk8L3A+PC9kaXY+X19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX188YnIgY2xhc3M9ImdtYWlsX21zZyI+U1BESyBtYWlsaW5n IGxpc3Q8YnIgY2xhc3M9ImdtYWlsX21zZyI+PGEgaHJlZj0ibWFpbHRvOlNQREtAbGlzdHMuMDEu b3JnIiBjbGFzcz0iZ21haWxfbXNnIiB0YXJnZXQ9Il9ibGFuayI+U1BES0BsaXN0cy4wMS5vcmc8 L2E+PGJyIGNsYXNzPSJnbWFpbF9tc2ciPjxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuMDEub3JnL21h aWxtYW4vbGlzdGluZm8vc3BkayIgY2xhc3M9ImdtYWlsX21zZyIgdGFyZ2V0PSJfYmxhbmsiPmh0 dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vc3BkazwvYT48YnIgY2xhc3M9Imdt YWlsX21zZyI+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2PjxiciBjbGFzcz0iZ21haWxfbXNnIj48 L2Rpdj48L2Rpdj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XzxiciBjbGFzcz0iZ21haWxfbXNnIj5TUERLIG1haWxpbmcgbGlzdDxiciBjbGFzcz0iZ21haWxf bXNnIj48YSBocmVmPSJtYWlsdG86U1BES0BsaXN0cy4wMS5vcmciIGNsYXNzPSJnbWFpbF9tc2ci IHRhcmdldD0iX2JsYW5rIj5TUERLQGxpc3RzLjAxLm9yZzwvYT48YnIgY2xhc3M9ImdtYWlsX21z ZyI+PGEgaHJlZj0iaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9zcGRrIiBy ZWw9Im5vcmVmZXJyZXIiIGNsYXNzPSJnbWFpbF9tc2ciIHRhcmdldD0iX2JsYW5rIj5odHRwczov L2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NwZGs8L2E+PGJyIGNsYXNzPSJnbWFpbF9t c2ciPjwvYmxvY2txdW90ZT48L2Rpdj48ZGl2IGRpcj0ibHRyIiBzdHlsZT0iZm9udC1mYW1pbHk6 IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFy aWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxldHRlci1zcGFjaW5nOiBu b3JtYWw7IG9ycGhhbnM6IGF1dG87IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4 OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiBhdXRv OyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyIgY2xh c3M9IiI+LS08c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ PGJyIGNsYXNzPSIiPjwvZGl2PjxkaXYgZGF0YS1zbWFydG1haWw9ImdtYWlsX3NpZ25hdHVyZSIg c3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHls ZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFs OyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiBhdXRvOyB0ZXh0LWFsaWduOiBzdGFy dDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBu b3JtYWw7IHdpZG93czogYXV0bzsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJv a2Utd2lkdGg6IDBweDsiIGNsYXNzPSIiPjxwIGRpcj0ibHRyIiBjbGFzcz0iIj5SZWdhcmRzLDxi ciBjbGFzcz0iIj5BbmRyZXk8L3A+PC9kaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2 ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQt Y2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFs OyBvcnBoYW5zOiBhdXRvOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4 dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdpZG93czogYXV0bzsgd29y ZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgZmxvYXQ6IG5v bmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xhc3M9IiI+X19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188L3NwYW4+PGJyIHN0eWxlPSJmb250LWZh bWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9u dC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNp bmc6IG5vcm1hbDsgb3JwaGFuczogYXV0bzsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50 OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3aWRvd3M6 IGF1dG87IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7 IiBjbGFzcz0iIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXpl OiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZv bnQtd2VpZ2h0OiBub3JtYWw7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IG9ycGhhbnM6IGF1dG87 IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9u ZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiBhdXRvOyB3b3JkLXNwYWNpbmc6IDBweDsg LXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5s aW5lICFpbXBvcnRhbnQ7IiBjbGFzcz0iIj5TUERLIG1haWxpbmcgbGlzdDwvc3Bhbj48YnIgc3R5 bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTog bm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBs ZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiBhdXRvOyB0ZXh0LWFsaWduOiBzdGFydDsg dGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3Jt YWw7IHdpZG93czogYXV0bzsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Ut d2lkdGg6IDBweDsiIGNsYXNzPSIiPjxhIGhyZWY9Im1haWx0bzpTUERLQGxpc3RzLjAxLm9yZyIg c3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHls ZTogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFs OyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiBhdXRvOyB0ZXh0LWFsaWduOiBzdGFy dDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBu b3JtYWw7IHdpZG93czogYXV0bzsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zaXpl LWFkanVzdDogYXV0bzsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyIgY2xhc3M9IiI+ U1BES0BsaXN0cy4wMS5vcmc8L2E+PGJyIHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhOyBm b250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5v cm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFu czogYXV0bzsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNm b3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3aWRvd3M6IGF1dG87IHdvcmQtc3BhY2lu ZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IiBjbGFzcz0iIj48YSBocmVm PSJodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NwZGsiIHN0eWxlPSJmb250 LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsg Zm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNw YWNpbmc6IG5vcm1hbDsgb3JwaGFuczogYXV0bzsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5k ZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3aWRv d3M6IGF1dG87IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IGF1 dG87IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsiIGNsYXNzPSIiPmh0dHBzOi8vbGlz dHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vc3BkazwvYT48L2Rpdj48L2Jsb2NrcXVvdGU+PC9k aXY+PGJyIGNsYXNzPSIiPjwvZGl2PjwvYm9keT48L2h0bWw+ --===============4747765617792902585==--