PGh0bWw+Cgk8aGVhZD4KCQk8dGl0bGU+Qk9PU1RfUFBfU0VRX1NVQlNFUTwvdGl0bGU+CgkJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzLmNzcyI+Cgk8L2hlYWQ+Cgk8Ym9keT4KCQk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogIDBweDsiPgoJCQlUaGUgPGI+Qk9PU1RfUFBfU0VRX1NVQlNFUTwvYj4gbWFjcm8gZXhwYW5kcyB0byBhIHN1YnNlcSBvZiBlbGVtZW50cyBpbiBhIDxpPnNlcTwvaT4uCgkJPC9kaXY+CgkJPGg0PgoJCQlVc2FnZQoJCTwvaDQ+CgkJPGRpdiBjbGFzcz0iY29kZSI+CgkJCTxiPkJPT1NUX1BQX1NFUV9TVUJTRVE8L2I+KDxpPnNlcTwvaT4sIDxpPmk8L2k+LCA8aT5sZW48L2k+KQoJCTwvZGl2PgoJCTxoND4KCQkJQXJndW1lbnRzCgkJPC9oND4KCQk8ZGw+CgkJCTxkdD5zZXE8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgPGk+c2VxPC9pPiB3aG9zZSBzaXplIGlzIHRvIGJlIGNhbGN1bGF0ZWQuCgkJCTwvZGQ+CgkJCTxkdD5pPC9kdD4KCQkJPGRkPgoJCQkJVGhlIGluZGV4IG9mIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBzdWJzZXEgdG8gYmUgZXh0cmFjdGVkLgoJCQk8L2RkPgoJCQk8ZHQ+bGVuPC9kdD4KCQkJPGRkPgoJCQkJVGhlIGxlbmd0aCBvZiB0aGUgc3Vic2VxIHRvIGJlIGV4dHJhY3RlZC4KCQkJPC9kZD4KCQk8L2RsPgoJCTxoND4KCQkJUmVtYXJrcwoJCTwvaDQ+CgkJPGRpdj4KCQkJVGhpcyBtYWNybyBleHBhbmRzIHRvIGEgPGk+c2VxPC9pPiBleHRyYWN0ZWQgZnJvbSA8aT5zZXE8L2k+LgoJCTwvZGl2PgoJCTxoND4KCQkJUmVxdWlyZW1lbnRzCgkJPC9oND4KCQk8ZGl2PgoJCQk8Yj5IZWFkZXI6PC9iPiAmbmJzcDs8YSBocmVmPSIuLi9oZWFkZXJzL3NlcS9zdWJzZXEuaHRtbCI+Jmx0O2Jvb3N0L3ByZXByb2Nlc3Nvci9zZXEvc3Vic2VxLmhwcCZndDs8L2E+CgkJPC9kaXY+CgkJPGg0PgoJCQlTYW1wbGUgQ29kZQoJCTwvaDQ+CgkJPGRpdj4KCQkJPHByZT4KI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvc2VxL3N1YnNlcS5odG1sIj5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL3N1YnNlcS5ocHA8L2E+Jmd0OwoKI2RlZmluZSBTRVEgKDApKDEpKDIpKDMpKDQpKDUpCgo8YSBocmVmPSJzZXFfc3Vic2VxLmh0bWwiPkJPT1NUX1BQX1NFUV9TVUJTRVE8L2E+KFNFUSwgMiwgMykgLy8gZXhwYW5kcyB0byAoMikoMykoNCkKPC9wcmU+CgkJPC9kaXY+Cgk8aHIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPGk+qSBDb3B5cmlnaHQgPGEgaHJlZj0iaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20iIHRhcmdldD0iX3RvcCI+SG91c2VtYXJxdWUgT3k8L2E+IDIwMDI8L2k+CgkJPC9icj48aT6pIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMjwvaT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxwPjxzbWFsbD5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKCQlhY2NvbXBhbnlpbmcgZmlsZSA8YSBocmVmPSIuLi8uLi8uLi8uLi9MSUNFTlNFXzFfMC50eHQiPkxJQ0VOU0VfMV8wLnR4dDwvYT4gb3IKCQljb3B5IGF0IDxhIGhyZWY9CgkJImh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCI+d3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQ8L2E+KTwvc21hbGw+PC9wPgoJPC9kaXY+Cgk8L2JvZHk+CjwvaHRtbD4K