PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TX1o8L3RpdGxlPgoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzLmNzcyI+CjwvaGVhZD4KPGJvZHk+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogIDBweDsiPgoJCVRoZSA8Yj5CT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNU19aPC9iPiBtYWNybyBnZW5lcmF0ZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwYXJhbWV0ZXJzIHdpdGggYSBsZWFkaW5nIGNvbW1hLiZuYnNwOwoJCUl0IHJlZW50ZXJzIDxiPkJPT1NUX1BQX1JFUEVBVDwvYj4gd2l0aCBtYXhpbXVtIGVmZmljaWVuY3kuCgk8L2Rpdj4KCTxoND5Vc2FnZTwvaDQ+CgkJPGRpdiBjbGFzcz0iY29kZSI+CgkJCTxiPkJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TX1o8L2I+KDxpPno8L2k+LCA8aT5jb3VudDwvaT4sIDxpPnBhcmFtPC9pPikKCQk8L2Rpdj4KCTxoND5Bcmd1bWVudHM8L2g0PgoJCTxkbD4KCQkJPGR0Pno8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgbmV4dCBhdmFpbGFibGUgPGI+Qk9PU1RfUFBfUkVQRUFUPC9iPiBkaW1lbnNpb24uCgkJCTwvZGQ+CgkJCTxkdD5jb3VudDwvZHQ+CgkJCTxkZD4KCQkJCVRoZSBudW1iZXIgb2YgcGFyYW1ldGVycyB0byBnZW5lcmF0ZS4mbmJzcDsKCQkJCVZhbGlkIHZhbHVlcyByYW5nZSBmcm9tIDxpPjA8L2k+IHRvIDxiPkJPT1NUX1BQX0xJTUlUX1JFUEVBVDwvYj4uCgkJCTwvZGQ+CgkJCTxkdD5wYXJhbTwvZHQ+CgkJCTxkZD4KCQkJCVRoZSB0ZXh0IG9mIHRoZSBwYXJhbWV0ZXIuJm5ic3A7CgkJCQk8Yj5CT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNU19aPC9iPiBjb25jYXRlbmF0ZXMgbnVtYmVycyByYW5naW5nIGZyb20gPGk+MDwvaT4gdG8gPGk+Y291bnQ8L2k+IC0gPGk+MTwvaT4KCQkJCXRvIGdlbmVyYXRlIHBhcmFtZXRlcnMuCgkJCTwvZGQ+CgkJPC9kbD4KCTxoND5SZW1hcmtzPC9oND4KCQk8ZGl2PgoJCQlUaGlzIG1hY3JvIGV4cGFuZHMgdG8gdGhlIGNvbW1hLXNlcGFyYXRlZCBzZXF1ZW5jZToKCQkJPGRpdj4KCQkJCSwgPGk+cGFyYW08L2k+ICMjIDxpPjA8L2k+LCA8aT5wYXJhbTwvaT4gIyMgPGk+MTwvaT4sIC4uLiA8aT5wYXJhbTwvaT4gIyMgPGk+Y291bnQ8L2k+IC0gPGk+MTwvaT4KCQkJPC9kaXY+CgkJPC9kaXY+Cgk8aDQ+U2VlIEFsc288L2g0PgoJCTx1bD4KCQkJPGxpPjxhIGhyZWY9ImVudW1fdHJhaWxpbmdfcGFyYW1zLmh0bWwiPkJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TPC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJsaW1pdF9yZXBlYXQuaHRtbCI+Qk9PU1RfUFBfTElNSVRfUkVQRUFUPC9hPjwvbGk+CgkJPC91bD4KCTxoND5SZXF1aXJlbWVudHM8L2g0PgoJCTxkaXY+CgkJCTxiPkhlYWRlcjo8L2I+ICZuYnNwOzxhIGhyZWY9Ii4uL2hlYWRlcnMvcmVwZXRpdGlvbi9lbnVtX3RyYWlsaW5nX3BhcmFtcy5odG1sIj4mbHQ7Ym9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV90cmFpbGluZ19wYXJhbXMuaHBwJmd0OzwvYT4KCQk8L2Rpdj4KCTxoND5TYW1wbGUgQ29kZTwvaDQ+CjxkaXYgaWQ9InNhbXBsZSI+PHByZT4KI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvcmVwZXRpdGlvbi9lbnVtX3RyYWlsaW5nX3BhcmFtcy5odG1sIj5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3RyYWlsaW5nX3BhcmFtcy5ocHA8L2E+Jmd0OwojaW5jbHVkZSAmbHQ7PGEgaHJlZj0iLi4vaGVhZGVycy9yZXBldGl0aW9uL3JlcGVhdC5odG1sIj5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9yZXBlYXQuaHBwPC9hPiZndDsKCiNkZWZpbmUgTUFDUk8oeiwgbiwgXykgXAogICB0ZW1wbGF0ZSZsdDsgXAogICAgICBjbGFzcyA8YSBocmVmPSJlbnVtX3RyYWlsaW5nX3BhcmFtc196Lmh0bWwiPkJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TX1o8L2E+KHosIG4sIGNsYXNzIFQpIFwKICAgJmd0OyBjbGFzcyBYICMjIG4geyBcCiAgICAgIC8qIC4uLiAqLyBcCiAgIH07IFwKICAgLyoqLwoKPGEgaHJlZj0icmVwZWF0Lmh0bWwiPkJPT1NUX1BQX1JFUEVBVDwvYT4oMiwgTUFDUk8sIG5pbCkKLyoKICAgZXhwYW5kcyB0by4uLgogICB0ZW1wbGF0ZSZsdDtjbGFzcyZndDsgY2xhc3MgWDAgeyB9OwogICB0ZW1wbGF0ZSZsdDtjbGFzcywgY2xhc3MgVDAmZ3Q7IGNsYXNzIFgxIHsgfTsKKi8KPC9wcmU+PC9kaXY+Cgk8aHIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPGk+qSBDb3B5cmlnaHQgPGEgaHJlZj0iaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20iIHRhcmdldD0iX3RvcCI+SG91c2VtYXJxdWUgT3k8L2E+IDIwMDI8L2k+CgkJPC9icj48aT6pIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMjwvaT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxwPjxzbWFsbD5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKCQlhY2NvbXBhbnlpbmcgZmlsZSA8YSBocmVmPSIuLi8uLi8uLi8uLi9MSUNFTlNFXzFfMC50eHQiPkxJQ0VOU0VfMV8wLnR4dDwvYT4gb3IKCQljb3B5IGF0IDxhIGhyZWY9CgkJImh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCI+d3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQ8L2E+KTwvc21hbGw+PC9wPgoJPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=