PD9waHAgIAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCXJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL2FwcC5jbGFzcy5waHAiKTsJcmVxdWlyZV9vbmNlKCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10gLiAiL2VjbGlwc2Uub3JnLWNvbW1vbi9zeXN0ZW0vbmF2LmNsYXNzLnBocCIpOyAJcmVxdWlyZV9vbmNlKCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10gLiAiL2VjbGlwc2Uub3JnLWNvbW1vbi9zeXN0ZW0vbWVudS5jbGFzcy5waHAiKTsgCSRBcHAgCT0gbmV3IEFwcCgpOwkkTmF2CT0gbmV3IE5hdigpOwkkTWVudSAJPSBuZXcgTWVudSgpOwkJaW5jbHVkZSgkQXBwLT5nZXRQcm9qZWN0Q29tbW9uKCkpOyAgICAjIEFsbCBvbiB0aGUgc2FtZSBsaW5lIHRvIHVuY2x1dHRlciB0aGUgdXNlcidzIGRlc2t0b3AnCgoJIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgkjCgkjIHRlbXBsYXRlLnBocAoJIwoJIyBBdXRob3I6IAkJTWFydGluIE9iZXJodWJlcgoJIyBEYXRlOgkJCTIwMDYtMDItMDEKCSMKCSMgRGVzY3JpcHRpb246IENvbnRyaWJ1dG9ycywgQ29tbWl0dGVycyBhbmQgTGVhZCBvZiBUYXJnZXQgTWFuYWdlbWVudCBQcm9qZWN0CgkjCgkjCgkjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoJCgkjCgkjIEJlZ2luOiBwYWdlLXNwZWNpZmljIHNldHRpbmdzLiAgQ2hhbmdlIHRoZXNlLiAKCSRwYWdlVGl0bGUgCQk9ICJUTSBQcm9qZWN0IENvbnRyaWJ1dG9ycyI7CgkkcGFnZUtleXdvcmRzCT0gImRldmljZSwgdGFyZ2V0LCBjb250cmlidXRvciwgY29tbWl0dGVyLCBsZWFkLCBhdXRob3IsIGRldmVsb3BlciI7CgkkcGFnZUF1dGhvcgkJPSAiTWFydGluIE9iZXJodWJlciI7CgkKCSMgQWRkIHBhZ2Utc3BlY2lmaWMgTmF2IGJhcnMgaGVyZQoJIyBGb3JtYXQgaXMgTGluayB0ZXh0LCBsaW5rIFVSTCAoY2FuIGJlIGh0dHA6Ly93d3cuc29tZW90aGVyc2l0ZS5jb20vKSwgdGFyZ2V0IChfc2VsZiwgX2JsYW5rKSwgbGV2ZWwgKDEsIDIgb3IgMykKCSMgJE5hdi0+YWRkTmF2U2VwYXJhdG9yKCJNeSBQYWdlIExpbmtzIiwgCSJkb3dubG9hZHMucGhwIik7CgkjICROYXYtPmFkZEN1c3RvbU5hdigiTXkgTGluayIsICJteXBhZ2UucGhwIiwgIl9zZWxmIiwgMyk7CgkjICROYXYtPmFkZEN1c3RvbU5hdigiR29vZ2xlIiwgImh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iLCAiX2JsYW5rIiwgMyk7CgoJIyBFbmQ6IHBhZ2Utc3BlY2lmaWMgc2V0dGluZ3MKCSMKCQkKCSMgUGFzdGUgeW91ciBIVE1MIGNvbnRlbnQgYmV0d2VlbiB0aGUgRU9IVE1MIG1hcmtlcnMhCQoJJGh0bWwgPSA8PDxFT0hUTUwKCjxkaXYgaWQ9Im1haW5jb250ZW50Ij4KCTxkaXYgaWQ9Im1pZGNvbHVtbiI+CgkJPGgxPiRwYWdlVGl0bGU8L2gxPgoJCTxkaXYgY2xhc3M9ImhvbWVpdGVtM2NvbCI+CgkJPGgzPlRhcmdldCBNYW5hZ2VtZW50IExlYWQ8L2gzPgoJCTxsaT48Yj5NYXJ0aW4gT2Jlcmh1YmVyLCBXaW5kIFJpdmVyIFN5c3RlbXM8L2I+IChtYXJ0aW4ub2Jlcmh1YmVyIGF0IHdpbmRyaXZlci5jb20pPGJyLz4KCQkJTWFydGluIGlzIHRoZSBvdmVyYWxsIHByb2plY3QgbGVhZCBmb3IgdGhlIFRhcmdldCBNYW5hZ2VtZW50IFByb2plY3QuCgkJCUFzIGEgc29mdHdhcmUgZGV2ZWxvcGVyIGFuZCBhcmNoaXRlY3QsIE1hcnRpbiBpcyByZXNwb25zaWJsZSBmb3IgdGhlCgkJCWN1cnJlbnQgVGFyZ2V0IE1hbmFnZXIgY29tcG9uZW50IGluIFdpbmQgUml2ZXIgV29ya2JlbmNoLjxici8+CgkJCU1hcnRpbiBob2xkcyBhbiBNUyBkZWdyZWUgaW4gVGVsZW1hdGljcyBmcm9tIHRoZSBVbml2ZXJzaXR5CgkJCW9mIFRlY2hub2xvZ3kgR3Jhei9BdXN0cmlhLCBhbmQgaGFzIGJlZW4gd29ya2luZyBvbiBzb3VyY2UgY29kZSBhbmFseXNpcwoJCQlhbmQgdG9vbHMgZGV2ZWxvcG1lbnQgc2luY2UgMTk5OS48YnIvPgoJCQk8YSBocmVmPSJodHRwOi8vd2lraS5lY2xpcHNlLm9yZy9NYXJ0aW5fT2Jlcmh1YmVyIj5tb3JlIGFib3V0IE1hcnRpbiBPYmVyaHViZXIgJnJhcXVvOzwvYT4KCQkJPC9saT4KCQk8bGk+PGI+RGF2aWQgRHlrc3RhbCwgSUJNPC9iPiAoZGF2aWRfZHlrc3RhbCBhdCB1cy5pYm0uY29tKTxici8+CgkJIAlEYXZpZCBpcyB0aGUgUHJvamVjdCBMZWFkIGZvciB0aGUgSUJNIFJlbW90ZSBTeXN0ZW0gRXhwbG9yZXIsCgkJIAlhbmQgdGh1cyBwbGF5cyBhIGtleSByb2xlIGluIGFsbCBhY3Rpdml0aWVzIGFyb3VuZCBSU0UuPGJyLz4KCQkgCURhdmlkIGhhcyB3b3JrZWQgZWl0aGVyIGZvciBvciB3aXRoIElCTSBmb3Igb3ZlciAyOCB5ZWFycywKCQkgCWluY2x1ZGluZyBhIHNpZ25pZmljYW50IHN0aW50IHdpdGggT2JqZWN0IFRlY2hub2xvZ3kgSW50ZXJuYXRpb25hbC4KCQkgCURhdmUgaGFzIHdvcmtlZCBvbiBjb21waWxlcnMsIHVzZXIgaW50ZXJmYWNlcywgZGF0YWJhc2UgdG9vbHMsIGFuZCBJREUmIzM5O3MuCQkKCQk8L2Rpdj4KCgkJPGRpdiBjbGFzcz0iaG9tZWl0ZW0zY29sIj4KCQk8aDM+Q29tbWl0dGVycyAoYWxwaGFiZXRpYyBvcmRlciBieSBsYXN0IG5hbWUpPC9oMz4KCQk8dWwgY2xhc3M9Im1pZGxpc3QiPgoJCQk8bGk+PGI+RmVsaXggQnVydG9uPC9iPiwgV2luZCBSaXZlcjwvbGk+CgkJCTxsaT48Yj5YdWFuIENoZW48L2I+LCBJQk08L2xpPgoJCQk8bGk+PGI+S2V2aW4gRG95bGU8L2I+LCBJQk08L2xpPgoJCQk8bGk+PGI+QW5uYSBEdXNoaXN0b3ZhPC9iPiwgTW9udGFWaXN0YTwvbGk+CgkJCTxsaT48Yj5EYXZpZCBEeWtzdGFsPC9iPiwgSUJNPC9saT4KCQkJPGxpPjxiPlJhZG9zbGF2IEdlcmdhbm92PC9iPiwgUHJvU3lzdDwvbGk+CgkJCTxsaT48Yj5EYXZpZCBNY0tuaWdodDwvYj4sIElCTTwvbGk+CgkJCTxsaT48Yj5NYXJ0aW4gT2Jlcmh1YmVyPC9iPiwgV2luZCBSaXZlcjwvbGk+CgkJCTxsaT48Yj5NaWNoYWVsIFNjaGFyZjwvYj4sIFdpbmQgUml2ZXI8L2xpPgoJCQk8bGk+PGI+VXdlIFN0aWViZXI8L2I+LCBXaW5kIFJpdmVyPC9saT4KCQkJPGxpPjxiPkV1Z2VuZSBUYXJhc3NvdjwvYj4sIFdpbmQgUml2ZXI8L2xpPgoJCTwvdWw+CgkJPC9kaXY+CgoJCTxkaXYgY2xhc3M9ImhvbWVpdGVtM2NvbCI+CgkJPGgzPkZvcm1lciBDb21taXR0ZXJzIChhbHBoYWJldGljIG9yZGVyIGJ5IGxhc3QgbmFtZSk8L2gzPgoJCTx1bCBjbGFzcz0ibWlkbGlzdCI+CgkJCTxsaT48Yj5KYXZpZXIgTW9udGFsdm8tT3L6czwvYj4sIFN5bWJpYW48L2xpPgoJCQk8bGk+PGI+S3VzaGFsIE11bmlyPC9iPiwgSUJNPC9saT4KCQkJPGxpPjxiPlRlZCBXaWxsaWFtczwvYj4sIFdpbmQgUml2ZXI8L2xpPgoJCTwvdWw+CgkJPC9kaXY+CgoJCTxkaXYgY2xhc3M9ImhvbWVpdGVtM2NvbCI+CgkJPGgzPkNvbnRyaWJ1dG9ycyAoaW4gYWxwaGFiZXRpY2FsIG9yZGVyKTwvaDM+CgkJVGhpcyBpcyB0aGUgbGlzdCBvZiBwZW9wbGUgd2hvIGhhdmUgbWFkZSBjb2RlIGNvbnRyaWJ1dGlvbnMgdG8gdGhlIAoJCVRNIFByb2plY3Qgb24gQnVnemlsbGEgc28gZmFyLCB3aXRoIHRoZWlyIGNvZGUgYWN0dWFsbHkgYmVpbmcgCgkJbWVyZ2VkIGludG8gdGhlIFRNIGNvZGViYXNlIGluIENWUyBvciBTVk4uIFNlZSB0aGUKCQk8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL3Byb2plY3RzL2lwX2xvZy5waHA/cHJvamVjdGlkPXRvb2xzLnRtIj5UTSBJUCBMb2c8L2E+CgkJZm9yIG1vcmUgZGV0YWlscyBhYm91dCBpbmRpdmlkdWFsIGNvbnRyaWJ1dGlvbnMuIFRoZSBsaXN0IGJlbG93IGlzIHNvcnRlZCBhbHBoYWJldGljYWxseQoJCWJ5IGxhc3QgbmFtZToKCQk8dWwgY2xhc3M9Im1pZGxpc3QiPgoJCSAgICA8bGk+PGI+U2VhbiBBZGFtczwvYj4sIENpc2NvPC9saT4KCQkgICAgPGxpPjxiPlBlZGVyIEFuZGVyc2VuPC9iPiwgV2luZCBSaXZlcjwvbGk+CgkJCTxsaT48Yj5NaWNoYWVsIEJlcmdlcjwvYj4sIElCTTwvbGk+CgkJCTxsaT48Yj5OaWNrIEJvbGR0PC9iPiwgUmVkIEhhdDwvbGk+CgkJCTxsaT48Yj5Kb2huIENvcnRlbGw8L2I+LCBGcmVlc2NhbGU8L2xpPgoJCQk8bGk+PGI+TGkgRGluZzwvYj4sIElCTTwvbGk+CgkJCTxsaT48Yj5Kb2hhbm4gRHJhc2Nod2FuZHRuZXI8L2I+LCBXaW5kIFJpdmVyPC9saT4KCQkJPGxpPjxiPlNoZWxkb24gRCZhY3V0ZTtTb3V6YTwvYj4sIENlbHVuaXRlPC9saT4KCQkJPGxpPjxiPkRhbmllbCBGcmllZGVyaWNoPC9iPiwgRnJlZXNjYWxlPC9saT4KCQkJPGxpPjxiPkphY29iIEdhcmNvd3NraTwvYj4sIElCTTwvbGk+CgkJCTxsaT48Yj7YeXZpbmQgSGFyYm9lPC9iPiwgWnlsaW48L2xpPgoJCQk8bGk+PGI+Um9iIEhhc3NlbGJhdW08L2I+LCBCRVogU3lzdGVtcywgSW5jPC9saT4KCQkJPGxpPjxiPkJyeWFuIEh1bnQ8L2I+PC9saT4KCQkJPGxpPjxiPktlbnlhIElzaGltb3RvPC9iPiwgSUJNIEphcGFuPC9saT4KCQkJPGxpPjxiPk1pa2hhaWwgS2FsdWdpbjwvYj4sIFhvcmVkIFNvZnR3YXJlPC9saT4KCQkJPGxpPjxiPlNpZGhhcnRoIEtvZGlrYWw8L2I+LCBGcmVlc2NhbGU8L2xpPgoJCQk8bGk+PGI+TWlrZSBLdWNlcmE8L2I+LCBJQk08L2xpPgoJCQk8bGk+PGI+S3J6eXN6dG9mIEtvc21hdGthPC9iPiwgQXRyZW0gUy5BLjwvbGk+CgkJCTxsaT48Yj5ZdS1GZW4gS3VvPC9iPiwgTW9udGFWaXN0YTwvbGk+CgkJCTxsaT48Yj5NaWNoYWVsIFNpbGxzLUxhdm9pZTwvYj4sIEVjb2xlIFBvbHl0ZWNobmlxdWUgZGUgTW9udHJlYWw8L2xpPgoJCQk8bGk+PGI+QW50b24gTGVoZXJiYXVlcjwvYj4sIFdpbmQgUml2ZXI8L2xpPgoJCQk8bGk+PGI+S2l0IExvPC9iPiwgSUJNPC9saT4KCQkJPGxpPjxiPkxhdXJhIExlIFBhZGVsbGVjPC9iPiwgV2luZCBSaXZlcjwvbGk+CgkJCTxsaT48Yj5SZW5hbiBMZSBQYWRlbGxlYzwvYj4sIFdpbmQgUml2ZXI8L2xpPgoJCQk8bGk+PGI+SnVzdGluIExpbjwvYj4sIElCTTwvbGk+CgkJCTxsaT48Yj5WbGFkIEx1bmd1PC9iPiwgV2luZCBSaXZlcjwvbGk+CgkJCTxsaT48Yj5Kb2huc29uIE1hPC9iPiwgV2luZCBSaXZlcjwvbGk+CgkJCTxsaT48Yj5SdXBlbiBNYXJkaXJvc3NpYW48L2I+LCBJQk08L2xpPgoJCQk8bGk+PGI+RXdhIE1hdGVqc2thPC9iPiwgQUNDRVNTIFN5c3RlbXMgKGZvcm1lcmx5IFBhbG1Tb3VyY2UpPC9saT4KCQkJPGxpPjxiPldpbGxpYW4gTWl0c3VkYTwvYj4sIChwcml2YXRlKTwvbGk+CgkJCTxsaT48Yj5HYWV0YW4gTW9yaWNlPC9iPiwgQW55d2FyZS1UZWNoPC9saT4KCQkJPGxpPjxiPkJlbmphbWluIE11c2thbGxhPC9iPiwgSW5ub29wcmFjdDwvbGk+CgkJCTxsaT48Yj5NYXNhbyBOaXNoaW1vdG88L2I+LCBJQk08L2xpPgoJCQk8bGk+PGI+QWxleCBQYW5jaGVua288L2I+LCBYb3JlZCBTb2Z0d2FyZTwvbGk+CgkJCTxsaT48Yj5QaGlsaXBwZSBQcm91bHg8L2I+LCBFY29sZSBQb2x5dGVjaG5pcXVlIGRlIE1vbnRyZWFsPC9saT4KCQkJPGxpPjxiPk1pcmtvIFJhbmVyPC9iPjwvbGk+CgkJCTxsaT48Yj5aaG91IFJlbmppYW48L2I+LCBTaGFuZ2hhaSBLb3J0aWRlPC9saT4KCQkJPGxpPjxiPktlbiBSeWFsbDwvYj4sIE5va2lhPC9saT4KCQkJPGxpPjxiPlRvYmlhcyBTY2h3YXJ6PC9iPiwgV2luZCBSaXZlcjwvbGk+CgkJCTxsaT48Yj5EYXZpZCBTY2lhbW1hPC9iPiwgQW55d2FyZS1UZWNoPC9saT4KCQkJPGxpPjxiPlRpbXVyIFNoaXBpbG92PC9iPiwgWG9yZWQgU29mdHdhcmU8L2xpPgoJCQk8bGk+PGI+TmlraXRhIFNodWxnYTwvYj4sIE1lbnRvciBHcmFwaGljczwvbGk+CgkJCTxsaT48Yj5BbmRyZWkgU29ib2xldjwvYj4sIFhvcmVkIFNvZnR3YXJlPC9saT4KCQkJPGxpPjxiPk1heCBTdGVwYW5vdjwvYj4sIEFwcGNlbGVyYXRvcjwvbGk+CgkJCTxsaT48Yj5FZCBTd2FydHo8L2I+LCBOb2tpYTwvbGk+CgkJCTxsaT48Yj5SZW15IENoaSBKaWFuIFN1ZW48L2I+LCBJQk08L2xpPgoJCQk8bGk+PGI+UnVzbGFuIFN5Y2hldjwvYj4sIFhvcmVkIFNvZnR3YXJlPC9saT4KCQkJPGxpPjxiPk5vcmlha2kgVGFrYXRzdTwvYj4sIElCTTwvbGk+CgkJCTxsaT48Yj5QYXRyaWNrIFRhc3PpPC9iPiwgRXJpY3Nzb248L2xpPgoJCQk8bGk+PGI+T2xpdmllciBUaG9tYW5uPC9iPiwgSUJNPC9saT4KCQkJPGxpPjxiPlBldGVyIFdhbmc8L2I+LCBJQk08L2xpPgoJCQk8bGk+PGI+R3JlZyBXYXRzb248L2I+LCBJQk08L2xpPgoJCQk8bGk+PGI+TG90aGFyIFdlcnppbmdlcjwvYj4sIFRyYWRlc2NhcGUgSW5jLjwvbGk+CgkJCTxsaT48Yj5Eb24gWWFudHppPC9iPiwgSUJNPC9saT4KCQkJPGxpPjxiPlJpY2hpZSBZdTwvYj4sIElCTTwvbGk+CiAgCQk8L3VsPgoJCTwvZGl2PgoKCQk8ZGl2IGNsYXNzPSJob21laXRlbTNjb2wiPgoJCTxoMz5PdGhlciBpbnRlcmVzdGVkIHBhcnRpZXM8L2gzPgoJCVdlIGFsc28gaG9ub3IgdGhlIGNvbnRyaWJ1dGlvbnMgdGhhdCBwZW9wbGUgbWFrZSBpbiB0aGUgZm9ybSBvZiBidWcgcmVwb3J0cywKCQlnb29kIHF1ZXN0aW9ucyBvbiB0aGUgbWFpbGluZyBsaXN0LCBvciBvdGhlciBkaXNjdXNzaW9ucy4gVGhlc2UgYXJlIHBhcnRpYWxseQoJCXJlZmxlY3RlZCBpbiB0aGUgZm9sbG93aW5nCgkJPHVsPgogIAkJPGxpPjxiPjxhIGhyZWY9Imh0dHBzOi8vYnVncy5lY2xpcHNlLm9yZy9idWdzL3JlcG9ydC5jZ2k/eF9heGlzX2ZpZWxkPXJlc29sdXRpb24meV9heGlzX2ZpZWxkPXJlcG9ydGVyJnpfYXhpc19maWVsZD0mcXVlcnlfZm9ybWF0PXJlcG9ydC10YWJsZSZwcm9kdWN0PVRhcmdldCtNYW5hZ2VtZW50JmZvcm1hdD10YWJsZSZhY3Rpb249d3JhcCZuZWdhdGUwPTEmZmllbGQwLTAtMD1yZXBvcnRlciZ0eXBlMC0wLTA9ZXF1YWxzJnZhbHVlMC0wLTA9bWFydGluLm9iZXJodWJlciU0MHdpbmRyaXZlci5jb20mZmllbGQwLTAtMT1yZXBvcnRlciZ0eXBlMC0wLTE9ZXF1YWxzJnZhbHVlMC0wLTE9SmF2aWVyLk1vbnRhbHZvT3J1cyU0MGdtYWlsLmNvbSZmaWVsZDAtMC0yPXJlcG9ydGVyJnR5cGUwLTAtMj1lcXVhbHMmdmFsdWUwLTAtMj1kYXZpZF9keWtzdGFsJTQwdXMuaWJtLmNvbSZmaWVsZDAtMC0zPXJlcG9ydGVyJnR5cGUwLTAtMz1lcXVhbHMmdmFsdWUwLTAtMz1kbWNrbmlnaCU0MGNhLmlibS5jb20mZmllbGQwLTAtND1yZXBvcnRlciZ0eXBlMC0wLTQ9ZXF1YWxzJnZhbHVlMC0wLTQ9a2pkb3lsZSU0MGNhLmlibS5jb20mZmllbGQwLTAtNT1yZXBvcnRlciZ0eXBlMC0wLTU9ZXF1YWxzJnZhbHVlMC0wLTU9TWljaGFlbC5TY2hhcmYlNDB3aW5kcml2ZXIuY29tJmZpZWxkMC0wLTY9cmVwb3J0ZXImdHlwZTAtMC02PWVxdWFscyZ2YWx1ZTAtMC02PWV1Z2VuZS50YXJhc3NvdiU0MHdpbmRyaXZlci5jb20mZmllbGQwLTAtNz1yZXBvcnRlciZ0eXBlMC0wLTc9ZXF1YWxzJnZhbHVlMC0wLTc9dXdlLnN0aWViZXIlNDB3aW5kcml2ZXIuY29tJmZpZWxkMC0wLTg9cmVwb3J0ZXImdHlwZTAtMC04PWVxdWFscyZ2YWx1ZTAtMC04PXh1YW5jaGVuJTQwY2EuaWJtLmNvbSZmaWVsZDAtMC05PXJlcG9ydGVyJnR5cGUwLTAtOT1lcXVhbHMmdmFsdWUwLTAtOT1yX2dlcmdhbm92JTQwcHJvc3lzdC5iZyZmaWVsZDAtMC0xMD1yZXBvcnRlciZ0eXBlMC0wLTEwPWVxdWFscyZ2YWx1ZTAtMC0xMD1mZWxpeC5idXJ0b24lNDB3aW5kcml2ZXIuY29tJmZpZWxkMC0wLTExPXJlcG9ydGVyJnR5cGUwLTAtMTE9ZXF1YWxzJnZhbHVlMC0wLTExPXRlZC53aWxsaWFtcyU0MHdpbmRyaXZlci5jb20mZmllbGQwLTAtMTI9cmVwb3J0ZXImdHlwZTAtMC0xMj1lcXVhbHMmdmFsdWUwLTAtMTI9a211bmlyJTQwY2EuaWJtLmNvbSI+CiAgCQlCdWd6aWxsYSBSZXBvcnQ8L2E+PC9iPiAtIGFsbCBidWcgcmVwb3J0ZXJzIGV4Y2VwdCBjb21taXR0ZXJzPC9saT4KICAJCTwvdWw+IAoJCUFwYXJ0IGZyb20gcGxhaW4gYnVncywgaGVyZSBpcyB0aGUgbGlzdCBvZiBjb21wYW5pZXMgYW5kIHBlb3BsZSB3aG8gaGF2ZSAKCQliZWVuIGFjdGl2ZSBpbiB0aGUgVE0gZmFjZS10by1mYWNlIG1lZXRpbmdzIGFuZCBwaG9uZSBjb25mZXJlbmNlcyBzbyBmYXIsCgkJb3IgbWFkZSBpbnRlcmVzdGluZyBjb250cmlidXRpb25zIG9uIHRoZSBUTSBNYWlsaW5nIExpc3QuCgkJVGhlIGxpc3QgaXMgc29ydGVkIGFscGhhYmV0aWNhbGx5IGJ5IGNvbXBhbnkgZmlyc3QsIHRoZW4gYnkgbGFzdCBuYW1lOgoJCTx1bCBjbGFzcz0ibWlkbGlzdCI+CgkJCTxsaT48Yj5BY2NlbGVyYXRlZCBUZWNobm9sb2d5PC9iPjoKCQkJICBNYXJrIEJvemVtYW4sIEdlb3JnZSBDbGFyaywgQWFyb24gU3BlYXI8L2xpPgoJCQk8bGk+PGI+Q2lzY288L2I+OiBIZW1hbmcgTGF2YW5hPC9saT4KCQkJPGxpPjxiPkN1cnRpc3MtV3JpZ2h0IENvbnRyb2xzPC9iPjogTWFyayBMaXR0bGVmaWVsZCwgRGFyaWFuIFdvbmc8L2xpPgoJCQk8bGk+PGI+RGlnaTwvYj46IEpvaG4gTGVpZXI8L2xpPgoJCQk8bGk+PGI+RnJlZVNjYWxlPC9iPjogS2lyayBCZWl0eiwgSm9obiBDb3J0ZWxsLCBEYXltb24gUm9nZXJzPC9saT4KCQkJPGxpPjxiPklCTTwvYj46IEFsYW4gQm94YWxsLCBEZW5pc2UgU2NobWlkdDwvbGk+CgkJCTxsaT48Yj5JQk0gLyBMQU5MPC9iPjogR3JlZyBXYXRzb248L2xpPgoJCQk8bGk+PGI+SW50ZWw8L2I+OiBQZXRlciBMYWNobmVyPC9saT4KCQkJPGxpPjxiPk1vbnRhdmlzdGE8L2I+OiBKb2UgR3JlZW4sIFBpZXJyZS1BbGV4YW5kcmUgTWFzc2U8L2xpPgoJCQk8bGk+PGI+UU5YPC9iPjogQWxleCBDaGFwaXJvLCBEYXZpZCBJbmdsaXMsIERvdWcgU2NoYWVmZXI8L2xpPgoJCQk8bGk+PGI+U3RhciBCcmlkZ2UgU3lzdGVtczwvYj46IE1hdHRoZXcgU2NhcnBpbm88L2xpPiAKCQkJPGxpPjxiPlN5bWJpYW48L2I+OiBWaWN0b3IgUGFsYXUsIE5laWwgVGF5bG9yPC9saT4KCQkJPGxpPjxiPlRJPC9iPjogUGF1bCBHaW5ncmljaDwvbGk+IAoJCQk8bGk+PGI+VFUgTXVuaWNoPC9iPjogVGlhbmNoYW8gTGk8L2xpPiAKCQkJPGxpPjxiPldpbmQgUml2ZXI8L2I+OiBNYXJ0aW4gR3V0c2NoZWxob2ZlciwgQnJpYW4gTmV0dGxldG9uPC9saT4KCQkJPGxpPjxiPlplbmQgVGVjaG5vbG9naWVzPC9iPjogWW9zc2kgTGVvbiwgWWFyb24gTWF6b3I8L2xpPiAKICAJCTwvdWw+CgkJPC9kaXY+Cgk8L2Rpdj4KCTxkaXYgaWQ9InJpZ2h0Y29sdW1uIj4KCQk8ZGl2IGNsYXNzPSJzaWRlaXRlbSI+CgkJCTxoNj5HZXR0aW5nIHN0YXJ0ZWQ8L2g2PgoJCQk8dWw+CQkJCQoJCQkJPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvZG93bmxvYWRzL2Rvd25sb2FkLnBocD9maWxlPS90bS9wcmVzZW50YXRpb25zLzIwMDYtOS0yOV9TdW1taXRFdXJvcGVfVE1PdmVydmlldy5wZGYiCgkJCQkJdGFyZ2V0PSJfc2VsZiI+VE0gT3ZlcnZpZXcgU2xpZGVzPC9hPjwvbGk+CgkJCQk8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9wcm9qZWN0LXNsaWRlcy9UTV8zLjBfUmVsZWFzZV9SZXZpZXcucGRmIiB0YXJnZXQ9Il9zZWxmIj4KCQkJCSAgICBUTSAzLjAgUmVsZWFzZSBSZXZpZXcgU2xpZGVzPC9hPjwvbGk+CgkJCQk8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9kb3dubG9hZHMvZG93bmxvYWQucGhwP2ZpbGU9L3RtL3ByZXNlbnRhdGlvbnMvVE1fMi4wX1JlbGVhc2VfUmV2aWV3LnBwdCIgdGFyZ2V0PSJfc2VsZiI+CgkJCQkgICAgVE0gMi4wIFJlbGVhc2UgUmV2aWV3IFNsaWRlczwvYT48L2xpPgoJCQkJPGxpPjxhCgkJCQkJaHJlZj0iL3RtL2RvYy9UTV9Vc2VfQ2FzZXNfdjEuMWMucGRmIgoJCQkJCXRhcmdldD0iX3NlbGYiPlRNIFVzZSBDYXNlcyBEb2N1bWVudDwvYT48L2xpPgoJCQkJPCEtLSA8bGk+PGEgaHJlZj0iL3RtL2RldmVsb3BtZW50L2luZGV4LnBocCI+RGV2ZWxvcGVyIFJlc291cmNlczwvYT48L2xpPiAtLT4KCQkJCTxsaT48YSBocmVmPSIvdG0vZG9jL2luZGV4LnBocCI+RGV2ZWxvcGVyIERvY3VtZW50czwvYT48L2xpPgoJCQk8L3VsPgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2PgoKCkVPSFRNTDsKCgoJIyBHZW5lcmF0ZSB0aGUgd2ViIHBhZ2UKCSRBcHAtPmdlbmVyYXRlUGFnZSgkdGhlbWUsICRNZW51LCAkTmF2LCAkcGFnZUF1dGhvciwgJHBhZ2VLZXl3b3JkcywgJHBhZ2VUaXRsZSwgJGh0bWwpOwo/Pgo=