PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0VRVUFMPC90aXRsZT4KCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy5jc3MiPgo8L2hlYWQ+Cjxib2R5PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6ICAwcHg7Ij4KCQlUaGUgPGI+Qk9PU1RfUFBfRVFVQUw8L2I+IG1hY3JvIGNvbXBhcmVzIHR3byB2YWx1ZXMgZm9yIGVxdWFsaXR5LgoJPC9kaXY+Cgk8aDQ+VXNhZ2U8L2g0PgoJCTxkaXYgY2xhc3M9ImNvZGUiPgoJCQk8Yj5CT09TVF9QUF9FUVVBTDwvYj4oPGk+eDwvaT4sIDxpPnk8L2k+KQoJCTwvZGl2PgoJPGg0PkFyZ3VtZW50czwvaDQ+CgkJPGRsPgoJCQk8ZHQ+eDwvZHQ+CgkJCTxkZD4KCQkJCVRoZSBsZWZ0IG9wZXJhbmQgb2YgdGhlIGNvbXBhcmlzb24uJm5ic3A7CgkJCQlWYWxpZCB2YWx1ZXMgcmFuZ2UgZnJvbSA8aT4wPC9pPiB0byA8Yj5CT09TVF9QUF9MSU1JVF9NQUc8L2I+LgoJCQk8L2RkPgoJCQk8ZHQ+eTwvZHQ+CgkJCTxkZD4KCQkJCVRoZSByaWdodCBvcGVyYW5kIG9mIHRoZSBjb21wYXJpc29uLiZuYnNwOwoJCQkJVmFsaWQgdmFsdWVzIHJhbmdlIGZyb20gPGk+MDwvaT4gdG8gPGI+Qk9PU1RfUFBfTElNSVRfTUFHPC9iPi4KCQkJPC9kZD4KCQk8L2RsPgoJPGg0PlJlbWFya3M8L2g0PgoJCTxkaXY+CgkJCUlmIDxpPng8L2k+IGlzIGVxdWFsIHRvIDxpPnk8L2k+LCB0aGlzIG1hY3JvIGV4cGFuZHMgdG8gPGk+MTwvaT4uJm5ic3A7CgkJCU90aGVyd2lzZSwgaXQgZXhwYW5kcyB0byA8aT4wPC9pPi4KCQk8L2Rpdj4KCQk8ZGl2PgoJCQlQcmV2aW91c2x5LCB0aGlzIG1hY3JvIGNvdWxkIG5vdCBiZSB1c2VkIGluc2lkZSA8Yj5CT09TVF9QUF9XSElMRTwvYj4uJm5ic3A7CgkJCVRoZXJlIGlzIG5vIGxvbmdlciBhbnkgc3VjaCByZXN0cmljdGlvbiBiZWNhdXNlIHRoaXMgbWFjcm8gbm8gbG9uZ2VyIHVzZXMgPGI+Qk9PU1RfUFBfV0hJTEU8L2I+LgoJCTwvZGl2PgoJPGg0PlNlZSBBbHNvPC9oND4KCQk8dWw+CgkJCTxsaT48YSBocmVmPSJlcXVhbF9kLmh0bWwiPkJPT1NUX1BQX0VRVUFMX0Q8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9ImxpbWl0X21hZy5odG1sIj5CT09TVF9QUF9MSU1JVF9NQUc8L2E+PC9saT4KCQk8L3VsPgoJPGg0PlJlcXVpcmVtZW50czwvaDQ+CgkJPGRpdj4KCQkJPGI+SGVhZGVyOjwvYj4gJm5ic3A7PGEgaHJlZj0iLi4vaGVhZGVycy9jb21wYXJpc29uL2VxdWFsLmh0bWwiPiZsdDtib29zdC9wcmVwcm9jZXNzb3IvY29tcGFyaXNvbi9lcXVhbC5ocHAmZ3Q7PC9hPgoJCTwvZGl2PgoJPGg0PlNhbXBsZSBDb2RlPC9oND4KPGRpdj48cHJlPgojaW5jbHVkZSAmbHQ7PGEgaHJlZj0iLi4vaGVhZGVycy9jb21wYXJpc29uL2VxdWFsLmh0bWwiPmJvb3N0L3ByZXByb2Nlc3Nvci9jb21wYXJpc29uL2VxdWFsLmhwcDwvYT4mZ3Q7Cgo8YSBocmVmPSJlcXVhbC5odG1sIj5CT09TVF9QUF9FUVVBTDwvYT4oNCwgMykgLy8gZXhwYW5kcyB0byAwCjxhIGhyZWY9ImVxdWFsLmh0bWwiPkJPT1NUX1BQX0VRVUFMPC9hPig1LCA1KSAvLyBleHBhbmRzIHRvIDEKPC9wcmU+PC9kaXY+Cgk8aHIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPGk+qSBDb3B5cmlnaHQgPGEgaHJlZj0iaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20iIHRhcmdldD0iX3RvcCI+SG91c2VtYXJxdWUgT3k8L2E+IDIwMDI8L2k+CgkJPC9icj48aT6pIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMjwvaT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxwPjxzbWFsbD5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKCQlhY2NvbXBhbnlpbmcgZmlsZSA8YSBocmVmPSIuLi8uLi8uLi8uLi9MSUNFTlNFXzFfMC50eHQiPkxJQ0VOU0VfMV8wLnR4dDwvYT4gb3IKCQljb3B5IGF0IDxhIGhyZWY9CgkJImh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCI+d3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQ8L2E+KTwvc21hbGw+PC9wPgoJPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=