PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KPHRpdGxlPlRoZSBQcm9ncmFtIEV4ZWN1dGlvbiBNb25pdG9yIGNvbXBpbGF0aW9uPC90aXRsZT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9zdHlsZS9zdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIj4KPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS43NC4wIj4KPGxpbmsgcmVsPSJob21lIiBocmVmPSIuLi9pbmRleC5odG1sIiB0aXRsZT0iQm9vc3QgVGVzdCBMaWJyYXJ5Ij4KPGxpbmsgcmVsPSJ1cCIgaHJlZj0iLi4vcHJnLWV4ZWMtbW9uaXRvci5odG1sIiB0aXRsZT0iUGFydKBJSS6gQm9vc3QgVGVzdCBMaWJyYXJ5OiBUaGUgUHJvZ3JhbSBFeGVjdXRpb24gTW9uaXRvciI+CjxsaW5rIHJlbD0icHJldiIgaHJlZj0iaW1wbC5odG1sIiB0aXRsZT0iVGhlIFByb2dyYW0gRXhlY3V0aW9uIE1vbml0b3IgaW1wbGVtZW50YXRpb24iPgo8bGluayByZWw9Im5leHQiIGhyZWY9Ii4uL21pbmltYWwuaHRtbCIgdGl0bGU9IlBhcnSgSUlJLqBCb29zdCBUZXN0IExpYnJhcnk6IFRoZSBtaW5pbWFsIHRlc3RpbmcgZmFjaWxpdHkiPgo8c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0MS4yIiBzcmM9Ii4uLy4uL2pzL2Jvb3N0LXRlc3QuanMiPjwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KPHRhYmxlIHdpZHRoPSIxMDAlIj48dHI+Cjx0ZCB3aWR0aD0iMTAlIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIGFsdD0iSG9tZSIgd2lkdGg9IjIyOSIgaGVpZ2h0PSI2MSIgYm9yZGVyPSIwIiBzcmM9Ii4uLy4uLy4uLy4uLy4uL2xpYnMvdGVzdC9kb2Nib29rL2ltZy9ib29zdC50ZXN0LmxvZ28ucG5nIj48L2E+PC90ZD4KPHRkIHZhbGlnbj0ibWlkZGxlIiBhbGlnbj0ibGVmdCI+ICZndDsgPGEgaHJlZj0iLi4vcHJnLWV4ZWMtbW9uaXRvci5odG1sIj5UaGUgUHJvZ3JhbSBFeGVjdXRpb24gTW9uaXRvcjwvYT48YSBocmVmPSIuLi9taW5pbWFsLmh0bWwiPgogICAgICAmZ3Q7CiAgICAgIDwvYT48Yj5Db21waWxhdGlvbjwvYj4KPC90ZD4KPHRkPjxkaXYgY2xhc3M9InNwaXJpdC1uYXYiPgo8YSBocmVmPSJpbXBsLmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvcHJldi5wbmciIGFsdD0iUHJldiI+PC9hPjxhIGhyZWY9Ii4uL21pbmltYWwuaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9uZXh0LnBuZyIgYWx0PSJOZXh0Ij48L2E+CjwvZGl2PjwvdGQ+CjwvdHI+PC90YWJsZT4KPGhyPgo8ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJwZW0uY29tcGlsYXRpb24iPjwvYT5UaGUgUHJvZ3JhbSBFeGVjdXRpb24gTW9uaXRvciBjb21waWxhdGlvbjwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+CjxwIGNsYXNzPSJmaXJzdC1saW5lLWluZGVudGVkIj4KICAgSW4gY29tcGFyaXNvbiB3aXRoIG1hbnkgb3RoZXIgYm9vc3QgbGlicmFyaWVzLCB3aGljaCBhcmUgY29tcGxldGVseSBpbXBsZW1lbnRlZCBpbiBoZWFkZXIgZmlsZXMsIGNvbXBpbGF0aW9uIGFuZAogICBsaW5raW5nIHdpdGggdGhlIFByb2dyYW0gRXhlY3V0aW9uIE1vbml0b3IgbWF5IHJlcXVpcmUgYWRkaXRpb25hbCBzdGVwcy4gVGhlIFByb2dyYW0gRXhlY3V0aW9uIE1vbml0b3IgcHJlc2VudHMgeW91IHdpdGggb3B0aW9ucyB0byBlaXRoZXIKICAgPGEgY2xhc3M9ImxpbmsiIGhyZWY9ImNvbXBpbGF0aW9uLmh0bWwjcGVtLmNvbXBpbGF0aW9uLnN0YW5kYWxvbmUiIHRpdGxlPSJTdGFuZGFsb25lIGxpYnJhcnkgY29tcGlsYXRpb24iPmJ1aWx0IGFuZCBsaW5rIHdpdGggYSBzdGFuZGFsb25lIGxpYnJhcnk8L2E+IG9yCiAgIDxhIGNsYXNzPSJsaW5rIiBocmVmPSJjb21waWxhdGlvbi5odG1sI3BlbS5jb21waWxhdGlvbi5kaXJlY3QtaW5jbHVkZSIgdGl0bGU9IkluY2x1ZGluZyB0aGUgUHJvZ3JhbSBFeGVjdXRpb24gTW9uaXRvciBkaXJlY3RseSBpbnRvIHlvdXIgcHJvZ3JhbSI+aW5jbHVkZSB0aGUgaW1wbGVtZW50YXRpb24gZGlyZWN0bHk8L2E+IGludG8geW91ciAKICAgcHJvZ3JhbS4gSWYgeW91IG9wdCB0byB1c2UgdGhlIGxpYnJhcnkgdGhlIFByb2dyYW0gRXhlY3V0aW9uIE1vbml0b3IgaGVhZGVyIGltcGxlbWVudHMgdGhlIAogICA8YSBjbGFzcz0ibGluayIgaHJlZj0iY29tcGlsYXRpb24uaHRtbCNwZW0uY29tcGlsYXRpb24uYXV0by1saW5raW5nIiB0aXRsZT0iU3VwcG9ydCBvZiB0aGUgYXV0by1saW5raW5nIGZlYXR1cmUiPmF1dG8tbGlua2luZyBzdXBwb3J0PC9hPiBhbmQgZm9sbG93aW5nIGZsYWdzIGNhbiBiZSB1c2VkIHRvIGNvbmZpZ3VyZSAKICAgY29tcGlsYXRpb24gb2YgdGhlIFByb2dyYW0gRXhlY3V0aW9uIE1vbml0b3IgbGlicmFyeSBhbmQgeW91ciBwcm9ncmFtOgogIDwvcD4KPGRpdiBjbGFzcz0idGFibGUiPgo8YSBuYW1lPSJwZW0uY29tcGlsYXRpb24uZmxhZ3MiPjwvYT48cCBjbGFzcz0idGl0bGUiPjxiPlRhYmxloDIuoFByb2dyYW0gRXhlY3V0aW9uIE1vbml0b3IgY29tcGlsYXRpb24gZmxhZ3M8L2I+PC9wPgo8ZGl2IGNsYXNzPSJ0YWJsZS1jb250ZW50cyI+PHRhYmxlIGNsYXNzPSJ0YWJsZSIgc3VtbWFyeT0iUHJvZ3JhbSBFeGVjdXRpb24gTW9uaXRvciBjb21waWxhdGlvbiBmbGFncyI+Cjxjb2xncm91cD4KPGNvbD4KPGNvbD4KPC9jb2xncm91cD4KPHRoZWFkPjx0cj4KPHRoPlZhcmlhYmxlPC90aD4KPHRoPlVzYWdlPC90aD4KPC90cj48L3RoZWFkPgo8dGJvZHk+Cjx0cj4KPHRkPgo8YSBuYW1lPSJwZW0uZmxhZy5keW4tbGluayI+PC9hPkJPT1NUX1RFU1RfRFlOX0xJTks8L3RkPgo8dGQ+RGVmaW5lIHRoaXMgZmxhZyB0byBidWlsZC91c2UgZHluYW1pYyBsaWJyYXJ5LjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPgo8YSBuYW1lPSJwZW0uZmxhZy5uby1saWIiPjwvYT5CT09TVF9URVNUX05PX0xJQjwvdGQ+Cjx0ZD5EZWZpbmUgdGhpcyBmbGFnIHRvIHByZXZlbnQgYXV0by1saW5raW5nLjwvdGQ+CjwvdHI+CjwvdGJvZHk+CjwvdGFibGU+PC9kaXY+CjwvZGl2Pgo8YnIgY2xhc3M9InRhYmxlLWJyZWFrIj48ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoNCBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJwZW0uY29tcGlsYXRpb24uc3RhbmRhbG9uZSI+PC9hPlN0YW5kYWxvbmUgbGlicmFyeSBjb21waWxhdGlvbjwvaDQ+PC9kaXY+PC9kaXY+PC9kaXY+CjxwIGNsYXNzPSJmaXJzdC1saW5lLWluZGVudGVkIj4KICAgIElmIHlvdSBvcHRlZCB0byBsaW5rIHlvdXIgcHJvZ3JhbSB3aXRoIHRoZSBzdGFuZGFsb25lIGxpYnJhcnksIHlvdSBuZWVkIHRvIGJ1aWxkIGl0IGZpcnN0LiBUbyBidWlsZCBhIHN0YW5kYWxvbmUgCiAgICBsaWJyYXJ5IGFsbCBDKysgZmlsZXMgKC5jcHApLCB0aGF0IGNvbnN0aXR1dGUgUHJvZ3JhbSBFeGVjdXRpb24gTW9uaXRvciA8YSBjbGFzcz0ibGluayIgaHJlZj0iaW1wbC5odG1sIiB0aXRsZT0iVGhlIFByb2dyYW0gRXhlY3V0aW9uIE1vbml0b3IgaW1wbGVtZW50YXRpb24iPmltcGxlbWVudGF0aW9uPC9hPiBuZWVkIHRvIGJlIAogICAgbGlzdGVkIGFzIHNvdXJjZSBmaWxlcyBpbiB5b3VyIG1ha2VmaWxlPHN1cD5bPGEgbmFtZT0iaWQ2NDI4NTgiIGhyZWY9IiNmdG4uaWQ2NDI4NTgiIGNsYXNzPSJmb290bm90ZSI+MTwvYT5dPC9zdXA+LgogICA8L3A+CjxwIGNsYXNzPSJmaXJzdC1saW5lLWluZGVudGVkIj4KICAgIFRoZSBtYWtlZmlsZSBmb3IgdXNlIHdpdGggQm9vc3QuQnVpbGQgc3lzdGVtIGlzIHN1cHBsaWVkIGluIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+bGlicy90ZXN0L2J1aWxkPC9jb2RlPgogICAgZGlyZWN0b3J5LiBUaGUgUHJvZ3JhbSBFeGVjdXRpb24gTW9uaXRvciBjYW4gYmUgYnVpbHQgYXMgZWl0aGVyIDxhIGNsYXNzPSJsaW5rIiBocmVmPSJjb21waWxhdGlvbi5odG1sI3BlbS5jb21waWxhdGlvbi5zdGFuZGFsb25lLnN0YXRpYyIgdGl0bGU9IlN0YXRpYyBsaWJyYXJ5IGNvbXBpbGF0aW9uIj5zdGF0aWM8L2E+IAogICAgb3IgPGEgY2xhc3M9ImxpbmsiIGhyZWY9ImNvbXBpbGF0aW9uLmh0bWwjcGVtLmNvbXBpbGF0aW9uLnN0YW5kYWxvbmUuZHluYW1pYyIgdGl0bGU9IkR5bmFtaWMgbGlicmFyeSBjb21waWxhdGlvbiI+ZHluYW1pYzwvYT4gbGlicmFyeS4KICAgPC9wPgo8ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoNSBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJwZW0uY29tcGlsYXRpb24uc3RhbmRhbG9uZS5zdGF0aWMiPjwvYT5TdGF0aWMgbGlicmFyeSBjb21waWxhdGlvbjwvaDU+PC9kaXY+PC9kaXY+PC9kaXY+CjxwIGNsYXNzPSJmaXJzdC1saW5lLWluZGVudGVkIj4KICAgICBUaGVyZSBhcmUgbm8gYWRkaXRpb25hbCBidWlsZCBkZWZpbmVzIG9yIG9wdGlvbnMgcmVxdWlyZWQgdG8gYnVpbGQgc3RhdGljIGxpYnJhcnkuIFVzaW5nIEJvb3N0LkJ1aWxkIHN5c3RlbSB5b3UgCiAgICAgY2FuIGJ1aWxkIHRoZSBzdGF0aWMgbGlicmFyeSB3aXRoIGEgZm9sbG93aW5nIGNvbW1hbmQgZnJvbSBsaWJzL3Rlc3QvYnVpbGQgZGlyZWN0b3J5OgogICAgPC9wPgo8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyI+PHA+PGNvZGUgY2xhc3M9ImNvbW1hbmQiPmJqYW08L2NvZGU+ICBbLXNUT09MUz0mbHQ7eW91ci10b29sLW5hbWUmZ3Q7XSB7LXNCVUlMRD1ib29zdF9wcmdfZXhlY19tb25pdG9yfTwvcD48L2Rpdj4KPHAgY2xhc3M9ImZpcnN0LWxpbmUtaW5kZW50ZWQiPgogICAgIEFsc28gb24gV2luZG93cyB5b3UgY2FuIHVzZSB0aGUgTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gLk5FVCBwcm9qZWN0IGZpbGUgcHJvdmlkZWQuCiAgICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoNSBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJwZW0uY29tcGlsYXRpb24uc3RhbmRhbG9uZS5keW5hbWljIj48L2E+RHluYW1pYyBsaWJyYXJ5IGNvbXBpbGF0aW9uPC9oNT48L2Rpdj48L2Rpdj48L2Rpdj4KPHAgY2xhc3M9ImZpcnN0LWxpbmUtaW5kZW50ZWQiPgogICAgIFRvIGJ1aWxkIHRoZSBkeW5hbWljIGxpYnJhcnk8c3VwPls8YSBuYW1lPSJpZDY0MzAwNyIgaHJlZj0iI2Z0bi5pZDY0MzAwNyIgY2xhc3M9ImZvb3Rub3RlIj4yPC9hPl08L3N1cD4geW91IAogICAgIG5lZWQgdG8gYWRkIDxhIGNsYXNzPSJ4cmVmIiBocmVmPSJjb21waWxhdGlvbi5odG1sI3BlbS5mbGFnLmR5bi1saW5rIj5CT09TVF9URVNUX0RZTl9MSU5LPC9hPiB0byB0aGUgbGlzdCBvZiBtYWNybyBkZWZpbml0aW9ucyBpbiB0aGUgCiAgICAgbWFrZWZpbGUuIFVzaW5nIHRoZSBCb29zdC5CdWlsZCBzeXN0ZW0geW91IGNhbiBidWlsZCB0aGUgZHluYW1pYyBsaWJyYXJ5IHdpdGggdGhlIGZvbGxvd2luZyBjb21tYW5kIGZyb20gCiAgICAgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5saWJzL3Rlc3QvYnVpbGQ8L2NvZGU+IGRpcmVjdG9yeToKICAgIDwvcD4KPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiPjxwPjxjb2RlIGNsYXNzPSJjb21tYW5kIj5iamFtPC9jb2RlPiAgWy1zVE9PTFM9Jmx0O3lvdXItdG9vbC1uYW1lJmd0O10gey1zQlVJTEQ9Ym9vc3RfcHJnX2V4ZWNfbW9uaXRvcn08L3A+PC9kaXY+CjxwIGNsYXNzPSJmaXJzdC1saW5lLWluZGVudGVkIj4KICAgICBBbHNvIG9uIFdpbmRvd3MgeW91IGNhbiB1c2UgdGhlIE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIC5ORVQgcHJvamVjdCBmaWxlIHByb3ZpZGVkLgogICAgPC9wPgo8ZGl2IGNsYXNzPSJpbXBvcnRhbnQiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9IkltcG9ydGFudCI+Cjx0cj4KPHRkIHJvd3NwYW49IjIiIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMjUiPjxpbWcgYWx0PSJbSW1wb3J0YW50XSIgc3JjPSIuLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvaW1wb3J0YW50LnBuZyI+PC90ZD4KPHRoIGFsaWduPSJsZWZ0Ij5JbXBvcnRhbnQ8L3RoPgo8L3RyPgo8dHI+PHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHA+CiAgICAgIEZvciB5b3VyIHByb2dyYW0gdG8gc3VjY2Vzc2Z1bGx5IGxpbmsgd2l0aCB0aGUgZHluYW1pYyBsaWJyYXJ5IHRoZSBmbGFnCiAgICAgIDxhIGNsYXNzPSJ4cmVmIiBocmVmPSJjb21waWxhdGlvbi5odG1sI3BlbS5mbGFnLmR5bi1saW5rIj5CT09TVF9URVNUX0RZTl9MSU5LPC9hPiBuZWVkcyB0byBiZSBkZWZpbmVkIGJvdGggZHVyaW5nIGR5bmFtaWMgbGlicmFyeSAKICAgICAgYnVpbGQgYW5kIGR1cmluZyB5b3VyIHByb2dyYW0gY29tcGlsYXRpb24uCiAgICAgPC9wPjwvdGQ+PC90cj4KPC90YWJsZT48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoNCBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJwZW0uY29tcGlsYXRpb24uYXV0by1saW5raW5nIj48L2E+U3VwcG9ydCBvZiB0aGUgYXV0by1saW5raW5nIGZlYXR1cmU8L2g0PjwvZGl2PjwvZGl2PjwvZGl2Pgo8cCBjbGFzcz0iZmlyc3QtbGluZS1pbmRlbnRlZCI+CiAgICBGb3IgdGhlIE1pY3Jvc29mdCBmYW1pbHkgb2YgY29tcGlsZXJzIHRoZSBQcm9ncmFtIEV4ZWN1dGlvbiBNb25pdG9yIHByb3ZpZGVzIGFuIGFiaWxpdHkgdG8gYXV0b21hdGljYWxseSBzZWxlY3QgcHJvcGVyIGxpYnJhcnkgbmFtZQogICAgYW5kIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBvYmplY3RzIHRvIGJlIGxpbmtlZCB3aXRoLiBUbyBlbXBsb3kgdGhpcyBmZWF0dXJlIHlvdSByZXF1aXJlZCB0byBpbmNsdWRlIGVpdGhlciBoZWFkZXIKICAgIDxhIGhyZWY9Ii4uLy4uLy4uLy4uLy4uL2Jvb3N0L3Rlc3QvcHJnX2V4ZWNfbW9uaXRvci5ocHAiIHRhcmdldD0iX3RvcCI+PGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5ib29zdC90ZXN0L3ByZ19leGVjX21vbml0b3IuaHBwPC9jb2RlPjwvYT4KICAgIG9yIGhlYWRlcgogICAgPGEgaHJlZj0iLi4vLi4vLi4vLi4vLi4vYm9vc3QvdGVzdC9pbmNsdWRlZC9wcmdfZXhlY19tb25pdG9yLmhwcCIgdGFyZ2V0PSJfdG9wIj48Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmJvb3N0L3Rlc3QvaW5jbHVkZWQvcHJnX2V4ZWNfbW9uaXRvci5ocHA8L2NvZGU+PC9hPgogICAgQnkgZGVmYXVsdCB0aGUgZmVhdHVyZSBpcyBnb2luZyB0byBiZSBlbmFibGVkLiBUbyBkaXNhYmxlIGl0IHlvdSBoYXZlIHRvIGRlZmluZSB0aGUgZmxhZyAKICAgIDxhIGNsYXNzPSJ4cmVmIiBocmVmPSJjb21waWxhdGlvbi5odG1sI3BlbS5mbGFnLm5vLWxpYiI+Qk9PU1RfVEVTVF9OT19MSUI8L2E+LiAKICAgPC9wPgo8cCBjbGFzcz0iZmlyc3QtbGluZS1pbmRlbnRlZCI+CiAgICBGb3IgbW9yZSBkZXRhaWxzIG9uIHRoZSBhdXRvLWxpbmtpbmcgZmVhdHVyZSBpbXBsZW1lbnRhdGlvbiBhbmQgY29uZmlndXJhdGlvbiB5b3Ugc2hvdWxkIGNvbnN1bHQgdGhlIAogICAgPGEgaHJlZj0iLi4vdW5kZXJfY29uc3RydWN0aW9uLmh0bWwiIHRhcmdldD0iX3RvcCI+YXBwcm9wcmlhdGUgZG9jdW1lbnRhdGlvbjwvYT4uCiAgIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iIGxhbmc9ImVuIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGg0IGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9InBlbS5jb21waWxhdGlvbi5kaXJlY3QtaW5jbHVkZSI+PC9hPkluY2x1ZGluZyB0aGUgUHJvZ3JhbSBFeGVjdXRpb24gTW9uaXRvciBkaXJlY3RseSBpbnRvIHlvdXIgcHJvZ3JhbTwvaDQ+PC9kaXY+PC9kaXY+PC9kaXY+CjxwIGNsYXNzPSJmaXJzdC1saW5lLWluZGVudGVkIj4KICAgIElmIHlvdSBwcmVmZXIgdG8gYXZvaWQgdGhlIHN0YW5kYWxvbmUgbGlicmFyeSBjb21waWxhdGlvbiB5b3UgaGF2ZSB0d28gYWx0ZXJuYXRpdmUgdXNhZ2UgdmFyaWFudHM6IHlvdSBjYW4gZWl0aGVyIAogICAgaW5jbHVkZSBhbGwgZmlsZXMgdGhhdCBjb25zdGl0dXRlIHRoZSBzdGF0aWMgbGlicmFyeSBpbiB5b3VyIHByb2dyYW0ncyBtYWtlZmlsZSBvciBpbmNsdWRlIHRoZW0gYXMgYSBwYXJ0IG9mCiAgICB5b3VyIHByb2dyYW0ncyBzb3VyY2UgZmlsZS4gVG8gZmFjaWxpdGF0ZSB0aGUgbGF0ZXIgdmFyaWFudCB0aGUgUHJvZ3JhbSBFeGVjdXRpb24gTW9uaXRvciBpbXBsZW1lbnRhdGlvbiBwcmVzZW50cyB0aGUgaGVhZGVyCiAgICA8YSBocmVmPSIuLi8uLi8uLi8uLi8uLi9ib29zdC90ZXN0L2luY2x1ZGVkL3ByZ19leGVjX21vbml0b3IuaHBwIiB0YXJnZXQ9Il90b3AiPjxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+Ym9vc3QvdGVzdC9pbmNsdWRlZC9wcmdfZXhlY19tb25pdG9yLmhwcDwvY29kZT48L2E+CiAgICBJbiBib3RoIHZhcmlhbnRzIG5laXRoZXIgPGEgY2xhc3M9InhyZWYiIGhyZWY9ImNvbXBpbGF0aW9uLmh0bWwjcGVtLmZsYWcuZHluLWxpbmsiPkJPT1NUX1RFU1RfRFlOX0xJTks8L2E+IG5vciAKICAgIDxhIGNsYXNzPSJ4cmVmIiBocmVmPSJjb21waWxhdGlvbi5odG1sI3BlbS5mbGFnLm5vLWxpYiI+Qk9PU1RfVEVTVF9OT19MSUI8L2E+IGFyZSBhcHBsaWNhYmxlLiBUaGlzIHNvbHV0aW9uIG1heSBub3QgYmUgdGhlIGJlc3QgY2hvaWNlCiAgICBpbiBhIGxvbmcgcnVuLCBzaW5jZSBpdCByZXF1aXJlcyB0aGUgUHJvZ3JhbSBFeGVjdXRpb24gTW9uaXRvciBzb3VyY2VzIHJlY29tcGlsYXRpb24gZm9yIGV2ZXJ5IHByb2dyYW0geW91IHVzZSBpdCB3aXRoLgogICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJmb290bm90ZXMiPgo8YnI+PGhyIHdpZHRoPSIxMDAiIGFsaWduPSJsZWZ0Ij4KPGRpdiBjbGFzcz0iZm9vdG5vdGUiPjxwPjxzdXA+WzxhIG5hbWU9ImZ0bi5pZDY0Mjg1OCIgaHJlZj0iI2lkNjQyODU4IiBjbGFzcz0ic2ltcGFyYSI+MTwvYT5dIDwvc3VwPlRoZXJlIGFyZSB2YXJpZXRpZXMgb2YgbWFrZSBzeXN0ZW1zIHRoYXQgY2FuIGJlIHVzZWQuIFRvIG5hbWUgCiAgICBhIGZldzogPGFjcm9ueW0gY2xhc3M9ImFjcm9ueW0iPkdOVTwvYWNyb255bT4gbWFrZSAoYW5kIG90aGVyIG1ha2UgY2xvbmVzKSBhbmQgYnVpbGQgc3lzdGVtcyBpbnRlZ3JhdGVkIGludG8gPGFjcm9ueW0gY2xhc3M9ImFjcm9ueW0iPklERTwvYWNyb255bT5zCiAgICAoZm9yICBleGFtcGxlIE1pY3Jvc29mdCAgVmlzdWFsIFN0dWRpbykuIFRoZSBCb29zdCBwcmVmZXJyZWQgc29sdXRpb24gaXMgQm9vc3QuQnVpbGQgc3lzdGVtIHRoYXQgaXMgYmFzZWQgb24gdG9wIG9mIAogICAgYmphbSAgdG9vbC4gTWFrZSAgc3lzdGVtcyByZXF1aXJlIHNvbWUga2luZCBvZiBjb25maWd1cmF0aW9uIGZpbGUgdGhhdCBsaXN0cyBhbGwgZmlsZXMgdGhhdCBjb25zdGl0dXRlIHRoZSBsaWJyYXJ5IAogICAgYW5kIGFsbCBidWlsZCAgb3B0aW9ucy4gRm9yIGV4YW1wbGUgdGhlIG1ha2VmaWxlIHRoYXQgaXMgdXNlZCBieSBtYWtlLCBvciB0aGUgTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gcHJvamVjdCBmaWxlLCAKICAgIEphbWZpbGUgaXMgIHVzZWQgYnkgQm9vc3QuQnVpbGQuIEZvciB0aGUgc2FrZSBvZiBzaW1wbGljaXR5IGxldCdzIGNhbGwgdGhpcyBmaWxlIHRoZSBtYWtlZmlsZS48L3A+PC9kaXY+CjxkaXYgY2xhc3M9ImZvb3Rub3RlIj48cD48c3VwPls8YSBuYW1lPSJmdG4uaWQ2NDMwMDciIGhyZWY9IiNpZDY0MzAwNyIgY2xhc3M9InNpbXBhcmEiPjI8L2E+XSA8L3N1cD5XaGF0IGlzIG1lYW50IGJ5IHRoZSB0ZXJtIGR5bmFtaWMgbGlicmFyeSBpcyBhIDxlbSBjbGFzcz0iZmlyc3R0ZXJtIj5keW5hbWljYWxseSAKICAgICBsb2FkZWQgbGlicmFyeTwvZW0+LCBhbHRlcm5hdGl2ZWx5IGNhbGxlZCBhIDxlbSBjbGFzcz0iZmlyc3R0ZXJtIj5zaGFyZWQgbGlicmFyeTwvZW0+LjwvcD48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8dGFibGUgeG1sbnM6cmV2PSJodHRwOi8vd3d3LmNzLnJwaS5lZHUvfmdyZWdvZC9ib29zdC90b29scy9kb2MvcmV2aXNpb24iIHdpZHRoPSIxMDAlIj48dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+PC90ZD4KPHRkIGFsaWduPSJyaWdodCI+PGRpdiBjbGFzcz0iY29weXJpZ2h0LWZvb3RlciI+Q29weXJpZ2h0IKkgMjAwMS0yMDA3IEdlbm5hZGl5IFJvemVudGFsPC9kaXY+PC90ZD4KPC90cj48L3RhYmxlPgo8aHI+CjxkaXYgY2xhc3M9InNwaXJpdC1uYXYiPgo8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImltcGwuaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9wcmV2LnBuZyIgYWx0PSJQcmV2Ij48L2E+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSIuLi9wcmctZXhlYy1tb25pdG9yLmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvdXAucG5nIiBhbHQ9IlVwIj48L2E+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL2hvbWUucG5nIiBhbHQ9IkhvbWUiPjwvYT48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9Ii4uL21pbmltYWwuaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9uZXh0LnBuZyIgYWx0PSJOZXh0Ij48L2E+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K