PGh0bWw+CjxoZWFkPgoJPHRpdGxlPmFycmF5cy5odG1sPC90aXRsZT4KCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlcy5jc3MiPgo8L2hlYWQ+Cjxib2R5PgoJPGg0PkFycmF5czwvaDQ+Cgk8ZGl2PgoJCUFuIDxpPmFycmF5PC9pPiBpcyBhIGRhdGEgc3RydWN0dXJlIGNvbnNpc3Rpbmcgb2YgYSB0d28tZWxlbWVudCA8aT50dXBsZTwvaT4uJm5ic3A7CgkJVGhlIGZpcnN0IGVsZW1lbnQgaXMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgPGk+YXJyYXk8L2k+LiZuYnNwOwoJCVRoZSBzZWNvbmQgZWxlbWVudCBpcyBhbm90aGVyIDxpPnR1cGxlPC9pPiBvZiB0aGUgZWxlbWVudHMgaW4gdGhlIDxpPmFycmF5PC9pPi4mbmJzcDsKCQlGb3IgZXhhbXBsZSwKCTwvZGl2PgoJPGRpdiBjbGFzcz0iY29kZSI+CgkJKDxpPjM8L2k+LCAoPGk+YTwvaT4sIDxpPmI8L2k+LCA8aT5jPC9pPikpCgk8L2Rpdj4KCTxkaXY+CgkJLi4uaXMgYW4gPGk+YXJyYXk8L2k+IG9mIDxpPjM8L2k+IGVsZW1lbnRzLS08aT5hPC9pPiwgPGk+YjwvaT4sIGFuZCA8aT5jPC9pPi4KCTwvZGl2PgoJPGRpdj4KCQlUaGUgcHJpbWFyeSBzdHJlbmd0aCBvZiA8aT5hcnJheXM8L2k+IGlzIHRoYXQgdGhleSBzdG9yZSB0aGVpciBvd24gc2l6ZS4mbmJzcDsKCQlCZWNhdXNlIG9mIHRoaXMsIGFjY2VzcyB0byBlbGVtZW50cyBkb2VzIG5vdCByZXF1aXJlIHRoZSBzaXplLiZuYnNwOwoJCUl0IG9ubHkgcmVxdWlyZXMgdGhhdCBhbiBlbGVtZW50IGV4aXN0cyBhdCBhIGNlcnRhaW4gaW5kZXguCgk8L2Rpdj4KCTxkaXY+CgkJVGhpcyBhbGxvd3MgbWFjcm8gcGFyYW1ldGVycyB0byBiZSB2YXJpYWJsZSBpbiBzaXplIGFuZCBhbGxvd3MgZGF0YSBzdGF0ZXMgdG8gY2hhbmdlCgkJc2l6ZSB3aXRob3V0IHRoZSB1c2VyIGV4cGxpY2l0bHkga2VlcGluZyB0cmFjayBvZiB0aGUgc2l6ZSBpbmRlcGVuZGVudGx5LgoJPC9kaXY+Cgk8ZGl2PgoJCUVsZW1lbnRzIG9mIGFuIDxpPmFycmF5PC9pPiBjYW4gYmUgZXh0cmFjdGVkIHdpdGggPGI+Qk9PU1RfUFBfQVJSQVlfRUxFTTwvYj4sCgkJYW4gPGk+YXJyYXknczwvaT4gc2l6ZSBjYW4gYmUgZXh0cmFjdGVkIHdpdGggPGI+Qk9PU1RfUFBfQVJSQVlfU0laRTwvYj4sIGFuZAoJCWFuIDxpPmFycmF5PC9pPiBjYW4gYmUgY29udmVydGVkIHRvIHRoZSBtb3JlIHByaW1pdGl2ZSA8aT50dXBsZTwvaT4gZGF0YSBzdHJ1Y3R1cmUKCQl3aXRoIDxiPkJPT1NUX1BQX0FSUkFZX0RBVEE8L2I+LgoJPC9kaXY+Cgk8aDQ+UHJpbWl0aXZlczwvaDQ+CgkJPHVsPgoJCQk8bGk+PGEgaHJlZj0iLi4vcmVmL2FycmF5X2RhdGEuaHRtbCI+Qk9PU1RfUFBfQVJSQVlfREFUQTwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iLi4vcmVmL2FycmF5X2VsZW0uaHRtbCI+Qk9PU1RfUFBfQVJSQVlfRUxFTTwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iLi4vcmVmL2FycmF5X3NpemUuaHRtbCI+Qk9PU1RfUFBfQVJSQVlfU0laRTwvYT48L2xpPgoJCTwvdWw+Cgk8aHIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPGk+qSBDb3B5cmlnaHQgPGEgaHJlZj0iaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20iIHRhcmdldD0iX3RvcCI+SG91c2VtYXJxdWUgT3k8L2E+IDIwMDI8L2k+CgkJPC9icj48aT6pIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMjwvaT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxwPjxzbWFsbD5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKCQlhY2NvbXBhbnlpbmcgZmlsZSA8YSBocmVmPSIuLi8uLi8uLi8uLi9MSUNFTlNFXzFfMC50eHQiPkxJQ0VOU0VfMV8wLnR4dDwvYT4gb3IKCQljb3B5IGF0IDxhIGhyZWY9CgkJImh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCI+d3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQ8L2E+KTwvc21hbGw+PC9wPgoJPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=