PD9waHAgIAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCXJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL2FwcC5jbGFzcy5waHAiKTsJcmVxdWlyZV9vbmNlKCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10gLiAiL2VjbGlwc2Uub3JnLWNvbW1vbi9zeXN0ZW0vbmF2LmNsYXNzLnBocCIpOyAJcmVxdWlyZV9vbmNlKCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10gLiAiL2VjbGlwc2Uub3JnLWNvbW1vbi9zeXN0ZW0vbWVudS5jbGFzcy5waHAiKTsgCSRBcHAgCT0gbmV3IEFwcCgpOwkkTmF2CT0gbmV3IE5hdigpOwkkTWVudSAJPSBuZXcgTWVudSgpOwkJaW5jbHVkZSgkQXBwLT5nZXRQcm9qZWN0Q29tbW9uKCkpOyAgICAjIEFsbCBvbiB0aGUgc2FtZSBsaW5lIHRvIHVuY2x1dHRlciB0aGUgdXNlcidzIGRlc2t0b3AnCgoJIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgkjCgkjIHNvdXJjZXMucGhwCgkjCgkjIEF1dGhvcjogCQlEZW5pcyBSb3kKCSMgRGF0ZToJCQkyMDA1LTA2LTE2CgkjCgkjIERlc2NyaXB0aW9uOiBUeXBlIHlvdXIgcGFnZSBjb21tZW50cyBoZXJlIC0gdGhlc2UgYXJlIG5vdCBzZW50IHRvIHRoZSBicm93c2VyCgkjCgkjCgkjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoJCgkjCgkjIEJlZ2luOiBwYWdlLXNwZWNpZmljIHNldHRpbmdzLiAgQ2hhbmdlIHRoZXNlLiAKCSRwYWdlVGl0bGUgCQk9ICJFY2xpcHNlIENvbW11bml0eSBSZXNvdXJjZXMiOwoJJHBhZ2VLZXl3b3Jkcwk9ICJlY2xpcHNlIHJlc291cmNlcywgY291cnNlcywgYm9va3MsIGV2ZW50cywgcGx1Zy1pbnMiOwoJJHBhZ2VBdXRob3IJCT0gIkRlbmlzIFJveSI7CgkKCQkKCSMgUGFzdGUgeW91ciBIVE1MIGNvbnRlbnQgYmV0d2VlbiB0aGUgRU9IVE1MIG1hcmtlcnMhCQoJJGh0bWwgPSA8PDxFT0hUTUwKCjxkaXYgaWQ9Im1haW5jb250ZW50Ij4KCTxkaXYgaWQ9Im1pZGNvbHVtbiI+CgkJPGgxPiRwYWdlVGl0bGU8L2gxPgoKICAgICAgCTxwPlRoZSBwYWdlIGlzIGFib3V0IGZpbmRpbmcgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBlY2xpcHNlIGZyb20gYXJvdW5kIAogICAgICAgIHRoZSBlY2xpcHNlIGNvbW11bml0eS4gVGhlIGNvbW11bml0eSBoYXMgcHJvdmlkZWQgbWFueSBib29rcywgdHV0b3JpYWxzLCAKICAgICAgICBhbmQgd2Vic2l0ZXMgdGhhdCBhcmUgZGVkaWNhdGVkIHRvIGVjbGlwc2UgYW5kIGNhbiBoZWxwIHlvdSB0byBtYWtlIHRoZSAKICAgICAgICBtb3N0IG9mIHRoZSBlY2xpcHNlIHBsYXRmb3JtIGFuZCB0b29scy4gPGJyPgogICAgICAJPC9wPgogICAgICAJPHA+Rm9yIGVkdWNhdGlvbmFsIG1hdGVyaWFscywgdGVjaG5vbG9naWVzIGFuZCByZXNvdXJjZXMsIGJlIHN1cmUgdG8gdmlzaXQgCiAgICAgICAgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvZWNlc2lzLyIgdGFyZ2V0PSJfdG9wIj5FY2xpcHNlIENvbW11bml0eSAKICAgICAgICBFZHVjYXRpb24gUHJvamVjdCAoRUNFU0lTKTwvYT4uPC9wPgoJCTxkaXYgY2xhc3M9ImhvbWVpdGVtIj4KCQkJPGgzPlF1aWNrIEp1bXA8L2gzPgoJCQk8dWw+CgkJCQk8bGk+PGEgaHJlZj0iLi4vY29tbXVuaXR5L2Jvb2tzLyI+Ym9va3MgYWJvdXQgZWNsaXBzZTwvYT48L2xpPgogICAgCQkJPGxpPjxhIGhyZWY9IiNwdWJsaWNjb3Vyc2VzIj5wdWJsaWMgY291cnNlczwvYT48L2xpPgogICAgCQkJPGxpPjxhIGhyZWY9IiNvbmxpbmV0dXRvcmlhbHMiPm9ubGluZSB0dXRvcmlhbHM8L2E+PC9saT4KCQkJCTxsaT48YSBocmVmPSIjbGlua3MiPmxpbmtzIHRvIGNvbW11bml0eSByZXNvdXJjZXM8L2E+PC9saT4KICAgIAkJCTxsaT48YSBocmVmPSIjVXNlZEluRWNsaXBzZSI+b3BlbiBzb3VyY2UgdGVjaG5vbG9naWVzIHVzZWQgaW4gZWNsaXBzZTwvYT48L2xpPgogICAgCQkJPGxpPjxhIGhyZWY9IiNBYm91dE9wZW5Tb3VyY2UiPmFib3V0IG9wZW4gc291cmNlPC9hPjwvbGk+CiAgICAJCTwvdWw+CiAgICAJPC9kaXY+CiAgCQk8aHIgY2xhc3M9ImNsZWFyZXIiIC8+CgkJPHA+CiAgICAgICAgVGhlIGNvbW11bml0eSBzZWN0aW9uIGlzIG1lYW50IHRvIGJlIHVzZWZ1bCB0byB5b3UgLSBzbyBwbGVhc2UgPGEgaHJlZj0ibWFpbHRvOm5ld3NAZWNsaXBzZS5vcmciPmVtYWlsPC9hPiAKICAgICAgICB1cyB5b3VyIHBvaW50ZXJzIGFuZCBjb21tZW50cyE8L3A+CgoJCTxwPkZvciBzb2Z0d2FyZSBsaWNlbnNpbmcsIHdlYnNpdGUgdGVybXMgb2YgdXNlLCBhbmQgbGVnYWwgRkFRcywgcGxlYXNlIAogICAgICAgIHNlZSBvdXIgPGEgaHJlZj0iLi4vbGVnYWwvbWFpbi5odG1sIj5sZWdhbCBzdHVmZjwvYT4gcGFnZS4gRWNsaXBzZSBsb2dvcyAKICAgICAgICBhbmQgZ3JhcGhpY3MgYXJlIGZvdW5kIG9uIG91ciA8YSBocmVmPSIuLi9hcnR3b3JrL21haW4uaHRtbCI+bG9nb3M8L2E+IAogICAgICAgIHBhZ2UuPC9wPgoKCTxhIG5hbWU9InB1YmxpY2NvdXJzZXMiPjwvYT48YnIgLz4KCTxkaXYgY2xhc3M9ImhvbWVpdGVtM2NvbCI+Cgk8aDM+UHVibGljIENvdXJzZXM8L2gzPgo8dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9NSBjZWxscGFkZGluZz0yIHdpZHRoPSIxMDAlIiA+CiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSI+IAogICAgICA8Yj5Bbnl3YXJlIFRlY2hub2xvZ2llczwvYj4gLSA8YSBocmVmPSJodHRwOi8vd3d3LmFueXdhcmUtdGVjaC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5hbnl3YXJlLXRlY2guY29tLwogICAgICAgIDwvYT48YnIgLz4KICAgICAgICA8YnIgLz4KICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmFueXdhcmUtdGVjaC5jb20vZW4vc3QvVHJhaW5pbmcuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPkFueXdhcmUgVGVjaG5vbG9naWVzIAogICAgICAgIFB1YmxpYyBUcmFpbmluZyAtIFBhcmlzIC8gVG91bG91c2UsIEZyYW5jZTwvYT4KICAgICAgPHVsPgogICAgICAgIDxsaT5FY2xpcHNlLCBhIHN0cmF0ZWdpYyB0b29sIGZvciBhIGNvbXBhbnkgPC9saT4KICAgICAgICA8bGk+R2V0dGluZyBzdGFydGVkIHdpdGggRWNsaXBzZSBhbmQgcmlnaHQgcHJhY3RpY2VzPC9saT4KICAgICAgICA8bGk+RWNsaXBzZSBSQ1AgKFJpY2ggQ2xpZW50IFBsYXRmb3JtKTwvbGk+CiAgICAgICAgPGxpPkRlc2lnbmluZyBncmFwaGljYWwgcHVibGlzaGVycyB3aXRoIEdFRjwvbGk+CiAgICAgICA8bGk+RU1GIChFY2xpcHNlIE1vZGVsaW5nIEZyYW1ld29yayk8L2xpPgogICAgICAgIDxsaT5EZXZlbG9wbWVudCBvZiBFY2xpcHNlIHBsdWdpbnM8YnIgLz4KICAgICAgICA8L2xpPgogICAgICA8L3VsPgogICAgPC90ZD4KICA8L3RyPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPiAKICAgICAgPGI+QXZhbnRTb2Z0PC9iPiAtIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXZhbnRzb2Z0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuYXZhbnRzb2Z0LmNvbSAKICAgICAgICA8L2E+PGJyIC8+CiAgICAgICAgPGJyIC8+CiAgICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5hdmFudHNvZnQuY29tL3RyYWluaW5nc2NoZWR1bGUuYXNweCIgdGFyZ2V0PSJfYmxhbmsiPkF2YW50U29mdCAKICAgICAgICBQdWJsaWMgVHJhaW5pbmcgQ2xhc3MgU2NoZWR1bGU8L2E+CgogICAgICA8dWw+CiAgICAgICAgPGxpPkRldmVsb3BpbmcgRW50ZXJwcmlzZSBKMkVFIEFwcGxpY2F0aW9ucyB1c2luZyBPcGVuIFNvdXJjZSBKQm9zcyBhbmQgRWNsaXBzZSA8L2xpPgogICAgICAgIDxsaT48Yj5EZXZlbG9waW5nIEVjbGlwc2UgMy4xIFBsdWdpbnM8L2I+IDxiciAvPgoJCVRvcGljczogRWNsaXBzZSBQbHVnLWluIGFyY2hpdGVjdHVyZSwgUGx1Zy1pbiBEZXZlbG9wbWVudCBFbnZpcm9ubWVudCAoUERFKSwgU3RhbmRhcmQgV2lkZ2V0IFRvb2xraXQgKFNXVCksIERpYWxvZ3MgYW5kIFdpemFyZHMsIFZpZXdzLCBFZGl0b3JzLCBXb3Jrc3BhY2UgUmVzb3VyY2UgUHJvZ3JhbW1pbmcsIFByb2Nlc3NpbmcgV29ya3NwYWNlIENoYW5nZSBFdmVudHMsIE1hbmFnaW5nIFJlc291cmNlcyB3aXRoIE5hdHVyZXMgYW5kIEJ1aWxkZXJzLCBSaWNoIENsaWVudCBQbGF0Zm9ybSAoUkNQKS48YnIgLz4gCgkJUHJlcmVxOiBNdXN0IGhhdmUgc3Ryb25nIEphdmEsIEdVSSBkZXZlbG9wbWVudCBleHBlcmllbmNlPGJyIC8+IDxiciAvPgoJCTxiPjIwMDYgU2NoZWR1bGUgZGF0ZXM6PC9iPiA8YnIgLz4KCQlBcHIgMjQtMjggliBTYW4gSm9zZSBDQSA8YnIgLz4gCgkJTWF5IDE1LTE5IJYgRGFsbGFzIFRYIDxiciAvPiAKCQlKdW4gMTktMjMgliBCb3N0b24gTUEgPGJyIC8+IAoJCUp1bCAxMC0xNCCWIEJvY2EgUmF0b24gRkwgPGJyIC8+IAoJCUF1ZyAxNC0xOCCWIFNhbiBKb3NlIENBIAogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPjxiPkFkdmFuY2VkIEVjbGlwc2UgMy4xIFBsdWdpbiBEZXZlbG9wbWVudCA8L2I+PGJyIC8+CgkJVG9waWNzOiBFY2xpcHNlIFBsdWdpbiBBcmNoaXRlY3R1cmUsIFBsdWctaW4gRGV2ZWxvcG1lbnQgRW52aXJvbm1lbnQgKFBERSksIDxiciAvPgoJCURyYXcyRCBBUEksIEdyYXBoaWNhbCBFZGl0b3IgRnJhbWV3b3JrIChHRUYpLCBEYXRhIFRyYW5zZmVyIHVzaW5nIERyYWcgYW5kIERyb3AgYW5kIENsaXBib2FyZCwgRGV2ZWxvcGluZyB0ZXh0IGJhc2VkIGVkaXRvcnMsIEVjbGlwc2UgTW9kZWxpbmcgRnJhbWV3b3JrIChFTUYpLCBFY2xpcHNlIENvbmN1cnJlbmN5LCBFeHRlbmRpbmcgSkRUPGJyIC8+IAoJCVByZXJlcTogTXVzdCBoYXZlIGRldmVsb3BlZCBQbHVnaW5zIGFuZCBoYXZlIHN0cm9uZyB1bmRlcnN0YW5kaW5nIG9mIFNXVCwgVmlld3MsIEVkaXRvcnMuIDxiciAvPjxiciAvPgoJCTxiPjIwMDYgU2NoZWR1bGUgZGF0ZXM6PC9iPiA8YnIgLz4KCQlNYXkgMTUtMTkgliBTYW4gSm9zZSBDQSA8YnIgLz4KCQlKdW4gMTktMjMgliBEYWxsYXMgVFggPGJyIC8+CgkJSnVsIDEwLTE0IJYgQm9zdG9uIE1BIDxiciAvPgoJCUF1ZyAxNC0xOCAgLSBCb2NhIFJhdG9uIEZMPGJyIC8+CiAgICAgICAgPC9saT4KICAgICAgICA8bGk+CiAgICAgIEZvciByZWdpc3RyYXRpb24sIHBsZWFzZSB2aXNpdDo8YnIgLz4gCgkgIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXZhbnRzb2Z0LmNvbS90cmFpbmluZ3NjaGVkdWxlLmFzcHgiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmF2YW50c29mdC5jb20vdHJhaW5pbmdzY2hlZHVsZS5hc3B4PC9hPjxiciAvPiAKCSAgRm9yIHF1ZXN0aW9ucywgcGxlYXNlIHNlbmQgZW1haWwgdG8gPGEgaHJlZj0ibWFpbHRvOmFteUBhdmFudHNvZnQuY29tIj5hbXlAYXZhbnRzb2Z0LmNvbTwvYT4KCQk8L2xpPgogICAgICA8L3VsPgogICAgPC90ZD4KICA8L3RyPgogICAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSI+IDxiPmJkYXVtPC9iPiAtIDxhIGhyZWY9Imh0dHA6Ly93d3cuYmRhdW0uZGUva3Vyc2UiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmJkYXVtLmRlL2t1cnNlPC9hPjxiciAvPgogICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmJkYXVtLmRlL2t1cnNlL0VjbGlwc2VJREUuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPkphdmEgCiAgICAgIHByb2dyYW1taWVyZW4gbWl0IEVjbGlwc2U6IEVpbmZ1ZWhydW5nIGluIGRhcyBFY2xpcHNlIEphdmEgSURFPC9hPiA8YnIgLz4KICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5iZGF1bS5kZS9rdXJzZS9FY2xpcHNlR1VJLmh0bWwiIHRhcmdldD0iX2JsYW5rIj5HVUktR2VzdGFsdHVuZyAKICAgICAgbWl0IEVjbGlwc2U6IFNXVCwgSkZhY2UgdW5kIFZpc3VhbCBFZGl0b3I8L2E+PGJyIC8+CiAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuYmRhdW0uZGUva3Vyc2UvRWNsaXBzZUZyYW1ld29yay5odG1sIiB0YXJnZXQ9Il9ibGFuayI+RWNsaXBzZSAKICAgICAgYWxzIEFwcGxpa2F0aW9ucy1GcmFtZXdvcms6IFBsdWctaW4gRW50d2lja2x1bmcsIFJpY2gtQ2xpZW50LVBsYXRmb3JtPC9hPjxiciAvPgogICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmJkYXVtLmRlL2t1cnNlL0VjbGlwc2VSQ1AuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPlJpY2gtQ2xpZW50LUFud2VuZHVuZ2VuIAogICAgICBtaXQgRWNsaXBzZTwvYT4gPGJyIC8+CgogIDwvdHI+CiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSI+IDxiPkVkZW5tYXJrZXQ8L2I+IC0gVmlzaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lZGVubWFya2V0LmRlLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZWRlbm1hcmtldC5kZTwvYT4gZm9yIGNvdXJzZXMgaW4gU3R1dHRnYXJ0LCBHZXJtYW55IGFuZCAgPGEgaHJlZj0iaHR0cDovL3d3dy5lZGVubWFya2V0LmNoLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZWRlbm1hcmtldC5jaDwvYT4gZm9yIGNvdXJzZXMgaW4gWnVlcmljaCwgU3dpdHplcmxhbmQ8YnIgLz4KICAgICAgPGJyIC8+PGEgaHJlZj0iaHR0cDovL3d3dy5lZGVubWFya2V0LmRlL3NjaHVsdW5nL2VjbGlwc2UvaW5kZXguaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPkVjbGlwc2U6IGVpbmUgRWluZnVlaHJ1bmc8L2E+IDxiciAvPgogICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmVkZW5tYXJrZXQuZGUvc2NodWx1bmcvZWNsaXBzZS1wbHVnaW5zL2luZGV4Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj5QbHVnaW4tRW50d2lja2x1bmcgZnVlciBFY2xpcHNlPC9hPjxiciAvPgogIDwvdHI+CiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSI+IDxiPklCTTwvYj4gLSA8YSBocmVmPSJodHRwOi8vd3d3LTEwNi5pYm0uY29tL2RldmVsb3BlcndvcmtzL3dlYnNwaGVyZS9lZHVjYXRpb24vZW5hYmxlbWVudC9jdXJyaWN1bHVtL3N3NDI0Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj5UaGUgCiAgICAgIEphdmEgRGV2ZWxvcGVyJ3MgR3VpZGUgdG8gRWNsaXBzZSAzLjAgUGx1Zy1pbiBEZXZlbG9wbWVudDwvYT4gPGJyIC8+CiAgICAgIDQgZGF5cywgcHJlc2VudGVkIGJ5IFdlYlNwaGVyZSBUcmFpbmluZyBhbmQgVGVjaG5pY2FsIEVuYWJsZW1lbnQKICAgIDwvdGQ+CiAgPC90cj4KICAgIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPjxiPkluZmVyRGF0YSwgTHRkPC9iPi4gLSA8YSBocmVmPSJodHRwOi8vd3d3LmluZmVyZGF0YS5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmluZmVyZGF0YS5jb208L2E+IAogICAgICA8YnIgLz4KICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5pbmZlcmRhdGEuY29tL3RyYWluaW5nL2phdmEvZW1mLmh0bWwiIHRhcmdldD0iX2JsYW5rIj5FY2xpcHNlIAogICAgICBNb2RlbGluZyBGcmFtZXdvcmsgKEVNRik8L2E+IDxiciAvPgoKICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5pbmZlcmRhdGEuY29tL3RyYWluaW5nL2phdmEvZWNsaXBzZS5odG1sIiB0YXJnZXQ9Il9ibGFuayI+RGV2ZWxvcGluZyAKICAgICAgUGx1Zy1JbnMgZm9yIHRoZSBFY2xpcHNlIFBsYXRmb3JtPC9hPiA8YnIgLz4KICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5pbmZlcmRhdGEuY29tL3RyYWluaW5nL2phdmEvYWR2ZWNsaXBzZS5odG1sIiB0YXJnZXQ9Il9ibGFuayI+QWR2YW5jZWQgCiAgICAgIFRvcGljcyBpbiBQbHVnLUluIERldmVsb3BtZW50IGZvciB0aGUgRWNsaXBzZSBQbGF0Zm9ybTwvYT4gPC90ZD4KICA8L3RyPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPiA8Yj5Jbm5vb3ByYWN0PC9iPiAtIDxhIGhyZWY9Imh0dHA6Ly93d3cuaW5ub29wcmFjdC5jb20vaHRtbC90cmFpbmluZyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuaW5ub29wcmFjdC5jb20vaHRtbC90cmFpbmluZzwvYT4KCTxiciAvPjxiciAvPgogICAgICBDb3Vyc2VzIGFyZSBvZmZlcmVkIGluIGJvdGggRW5nbGlzaCBhbmQgR2VybWFuIGF0IHZhcmlvdXMgbG9jYXRpb25zIGluIEV1cm9wZSBvciBvbnNpdGUuCiAgICAgIDx1bD4KICAgICAgICA8bGk+RWNsaXBzZSBQbHVnaW4gRGV2ZWxvcG1lbnQgKDQgRGF5cykgPC9saT4KICAgICAgICA8bGk+UHJvZmVzc2lvbmFsIENsaWVudCBEZXZlbG9wbWVudCB3aXRoIFJDUCAoNCBEYXlzKSA8L2xpPgogICAgICAgIDxsaT5FbnRlcnByaXNlIEFwcGxpY2F0aW9ucyB3aXRoIFJDUC1Gcm9udGVuZCBhbmQgSjJFRSBCYWNrZW5kICggMiBEYXlzKSAKICAgICAgICA8L2xpPgogICAgICAgIDxsaT5FY2xpcHNlIEV2YWx1YXRpb24gV29ya3Nob3AgKDFEYXkpIDwvbGk+CiAgICAgICAgPGxpPlZpc3VhbCBCYXNpYyBUcmFuc2l0aW9uIENvdXJzZSAtIERldmVsb3BpbmcgSmF2YSBXZWIgQXBwbGljYXRpb25zIAogICAgICAgICAgd2l0aCBXNFQgKDMgZGF5cykgPC9saT4KICAgICAgICA8bGk+SW50cm9kdWN0aW9uIHRvIFc0VCBFY2xpcHNlICgxIERheSkgPC9saT4KICAgICAgPC91bD4KICAgIDwvdGQ+CiAgPC90cj4KICAJCQogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgoKICAgIDx0ZCB3aWR0aD0iOTclIj4gPGI+b3BlbnNvdXJjZS5ldS5jb208L2I+IC0gPGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuc291cmNlLmV1LmNvbS9jYXRhbG9nL2luZGV4LnBocD9jUGF0aD0xXzIxIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5vcGVuc291cmNlLmV1LmNvbS9jYXRhbG9nL2luZGV4LnBocD9jUGF0aD0xXzIxPC9hPjxiciAvPgogICAgICA8YnIgLz4KICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuc291cmNlLmV1LmNvbS9jYXRhbG9nL3Byb2R1Y3RfaW5mby5waHA/cHJvZHVjdHNfaWQ9NDUiIHRhcmdldD0iX2JsYW5rIj5YTUwgCiAgICAgIG1pdCBkZW0gRWNsaXBzZS1QREUtRnJhbWV3b3JrPC9hPjxiciAvPgogICAgICA8YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5zb3VyY2UuZXUuY29tL2NhdGFsb2cvcHJvZHVjdF9pbmZvLnBocD9wcm9kdWN0c19pZD00NCIgdGFyZ2V0PSJfYmxhbmsiPkVjbGlwc2UgCiAgICAgIGFscyBBcHBsaWthdGlvbnMtRnJhbWV3b3JrPC9hPiAoUkNQKTxiciAvPgogICAgICA8YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5zb3VyY2UuZXUuY29tL2NhdGFsb2cvcHJvZHVjdF9pbmZvLnBocD9wcm9kdWN0c19pZD00MyIgdGFyZ2V0PSJfYmxhbmsiPiAKICAgICAgQ291cnNlIEdVSSBEZXZlbG9wbWVudCB3aXRoIHRoZSBWRSBEZXNpZ25lciAoU3dpbmcgYW5kIFNXVCk8L2E+PGJyIC8+CiAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cub3BlbnNvdXJjZS5ldS5jb20vY2F0YWxvZy9wcm9kdWN0X2luZm8ucGhwP3Byb2R1Y3RzX2lkPTI4IiB0YXJnZXQ9Il9ibGFuayI+SmF2YSAKICAgICAgICBQcm9ncmFtbWllcnVuZyBtaXQgRWNsaXBzZSAzLjA8L2E+IDxiciAvPgogICAgICA8L3RkPgogIDwvdHI+CgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPiA8Yj5PcmllbnRhdGlvbiBpbiBPYmplY3RzPC9iPiAtIDxhIGhyZWY9Imh0dHA6Ly93d3cub2lvLmRlL3NlbWluYXIvb3Blbi1zb3VyY2UvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5vaW8uZGUvc2VtaW5hci9vcGVuLXNvdXJjZS8KICAgICAgPC9hPiA8YnIgLz4KICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5vaW8uZGUvc2VtaW5hci9vcGVuLXNvdXJjZS9lY2xpcHNlLXNjaHVsdW5nLmh0bSIgdGFyZ2V0PSJfYmxhbmsiPkVudHdpY2tsdW5nIAogICAgICBtaXQgRWNsaXBzZTwvYT4gPGJyIC8+CiAgICAgIDYuLTcuMDIuMjAwNiwgMjIuLTIzLjA1LjIwMDYsIDE0Li0xNS4wOC4yMDA2LCAwNi4tNy4xMS4yMDA2IDxiciAvPgoKICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5vaW8uZGUvZWNsaXBzZS1zd3QtcGx1Z2luLXdvcmtzaG9wLmh0bSIgdGFyZ2V0PSJfYmxhbmsiPkdVSSAKICAgICAgRW50d2lja2x1bmcgbWl0IFNXVCAvSkZhY2U8L2E+IDxiciAvPgogICAgICAyMy4tMjQuMDEuMjAwNiwgMjAuLTIxLjAzLjIwMDYsIDE5Li0yMC4wNi4yMDA2LCAxMC4tMTEuMDcuMjAwNiwgMjUuLTI2LjA5LjIwMDY8YnIgLz4KICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5vaW8uZGUvZWNsaXBzZS1wbHVnaW4tZW50d2lja2x1bmctdW5kLXJjcC1zY2h1bHVuZy5odG0iIHRhcmdldD0iX2JsYW5rIj5SQ1AgCiAgICAgIHVuZCBFY2xpcHNlIFBsdWdpbiBFbnR3aWNrbHVuZzwvYT4gPGJyIC8+CiAgICAgIDI1Li0yNi4wMS4yMDA2LCAyMi4tMjMuMDMuMjAwNiwgMjEuLTIyLjA2LjIwMDYsIDEyLi0xMy4wNy4yMDA2LCAyNy4tMjguMDkuMjAwNjxiciAvPgo8L3RkPgogIDwvdHI+CiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSI+IDxiPlJDUCBUcmFpbmluZyBBbGxpYW5jZTwvYj4gLSA8YSBocmVmPSJodHRwOi8vd3d3LnJjcC10cmFpbmluZy5jb20iIHRhcmdldD0iX2JsYW5rIj53d3cucmNwLXRyYWluaW5nLmNvbTwvYT48YnIgLz4KICA8YnIgLz4KCVZhcmlvdXMgbG9jYXRpb25zIGluIEV1cm9wZSBvciBvbnNpdGUuIFN1cHBvcnRlZCBsYW5ndWFnZXM6IEVuZ2xpc2gsIEdlcm1hbiwgUnVzc2lhbi4KCQk8dWw+CgkJCTxsaT48YSBocmVmPSJodHRwOi8vd3d3LnJjcC10cmFpbmluZy5jb20vP3BhZ2U9c2NodWx1bmdlbi5waHAmc3ViPWJhc2ljcy5waHAmbW9kPWVwZCIgdGFyZ2V0PSJfYmxhbmsiPkVjbGlwc2UgUGx1Z2luIERldmVsb3BtZW50ICg0IERheXMpPC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJodHRwOi8vd3d3LnJjcC10cmFpbmluZy5jb20vP3BhZ2U9c2NodWx1bmdlbi5waHAmc3ViPWJhc2ljcy5waHAmbW9kPXJjcCIgdGFyZ2V0PSJfYmxhbmsiPlByb2Zlc3Npb25hbCBDbGllbnQgRGV2ZWxvcG1lbnQgd2l0aCBSQ1AgKDQgRGF5cyk8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cucmNwLXRyYWluaW5nLmNvbS8/cGFnZT1zY2h1bHVuZ2VuLnBocCZzdWI9cmNwbm90ZXMucGhwIiB0YXJnZXQ9Il9ibGFuayI+RW50ZXJwcmlzZSBBcHBsaWNhdGlvbnMgd2l0aCBSQ1AtRnJvbnRlbmQgYW5kIEphdmEgSjJFRSBCYWNrZW5kICgyIERheXMpPC9hPjwvbGk+CgkJPC91bD4KICAgIDwvdGQ+CiAgPC90cj4KICA8dHI+IAogICAgPHRkIGFsaWduPVJJR0hUIHZhbGlnbj1UT1Agd2lkdGg9IjMlIj48aW1nIHNyYz0iLi4vaW1hZ2VzL0FkYXJyb3cuZ2lmIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGJvcmRlcj0iMCI+PC90ZD4KICAgIDx0ZCB3aWR0aD0iOTclIj4gCiAgICAgIDxiPlJUQyBUZWNobmljYWwgVHJhaW5pbmc8L2I+IC0gPGEgaHJlZj0iaHR0cDovL3d3dy5ydGN0ZWNobmljYWx0cmFpbmluZy5jb20vIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5ydGN0ZWNobmljYWx0cmFpbmluZy5jb20vPC9hPiwgCiAgICAgICAgU2FudGEgQ2xhcmEsIENBPGJyIC8+PGJyIC8+CiAgICAgIEluc3RydWN0b3I6IER3aWdodCBEZXVnbzxiciAvPgogICAgICA8YSBocmVmPSJodHRwOi8vd3d3LnJ0Y3RlY2huaWNhbHRyYWluaW5nLmNvbS9jb3Vyc2VfcnR0YzIucGhwIiB0YXJnZXQ9Il9ibGFuayI+SW50cm9kdWN0aW9uIAogICAgICB0byBQcm9ncmFtbWluZyB3aXRoIEphdmEgdXNpbmcgRWNsaXBzZTwvYT48YnIgLz4KICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5ydGN0ZWNobmljYWx0cmFpbmluZy5jb20vY291cnNlX3J0dGMzLnBocCIgdGFyZ2V0PSJfYmxhbmsiPkRldmVsb3BpbmcgCiAgICAgIFBsdWctaW5zIGZvciBFY2xpcHNlPC9hPjxiciAvPgo8L3RkPgogIDwvdHI+CjwvdGFibGU+CjwvZGl2Pgo8YSBuYW1lPSJvbmxpbmV0dXRvcmlhbHMiPjwvYT48YnIgLz4KPGRpdiBjbGFzcz0iaG9tZWl0ZW0zY29sIj4KCTxoMz5PbmxpbmUgVHV0b3JpYWxzPC9oMz4KPHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTUgY2VsbHBhZGRpbmc9MiB3aWR0aD0iMTAwJSIgPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPiAKICAgICAgPHA+PGI+T25saW5lIFR1dG9yaWFscyA8L2I+PC9wPgoKICAgICAgPHVsPgogICAgICAgIDxsaT5BbiBFY2xpcHNlIFR1dG9yaWFsIChpbiBIZWJyZXcpIC0gPGEgaHJlZj0iaHR0cDovL3d3dy50YXUuYWMuaWwvJTdFc3RvbGVkby9FY2xpcHNlLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cudGF1LmFjLmlsL35zdG9sZWRvL0VjbGlwc2UvPC9hPiAKICAgICAgICAgIDxiciAvPgogICAgICAgICAgVGhpcyB0dXRvcmlhbCB3YXMgY3JlYXRlZCBieSBTaXZhbiBUb2xlZG8sIFNjaG9vbCBvZiBDb21wdXRlciBTY2llbmNlLCAKICAgICAgICAgIGFzIHBhcnQgb2YgYSBKYXZhLWJhc2VkIGNvcmUgcHJvZ3JhbW1pbmcgY291cnNlIGF0IHRoZSBVbml2ZXJzaXR5IG9mIAogICAgICAgICAgVGVsIEF2aXYuICZuYnNwOyAmbmJzcDtNb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb3Vyc2UgaXMgYXZhaWxhYmxlIAogICAgICAgICAgaW4gdGhlIGZ1bGwgY291cnNlIGRlc2NyaXB0aW9uIGluIEhlYnJldzogPGEgaHJlZj0iaHR0cDovL3d3dy5jcy50YXUuYWMuaWwvJTdFc3RvbGVkby9vb3BqLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuY3MudGF1LmFjLmlsL35zdG9sZWRvL29vcGovPC9hPjxiciAvPgogICAgICAgICAgPGJyIC8+CiAgICAgICAgPC9saT4KCiAgICAgICAgPGxpPkNyZWF0aW5nIEphdmEgQXBwbGljYXRpb25zIGluIEVjbGlwc2UgKGluIFBvbGlzaDogVHdvcnplbmllIGFwbGlrYWNqaSAKICAgICAgICAgIHcgRWNsaXBzZSkgPGEgaHJlZj0iaHR0cDovL3d3dy5lcnVkaXMucGwvc2MvZWNsaXBzZTEwMSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZXJ1ZGlzLnBsL3NjL2VjbGlwc2UxMDE8L2E+PGJyIC8+CiAgICAgICAgICBUaGlzIHR1dG9yaWFsIGNvdmVycyBpbnN0YWxsYXRpb24gKFdpbmRvd3MgJiBMaW51eCksIGNvbmZpZ3VyYXRpb24sIAogICAgICAgICAgYmFzaWMgdXNhZ2UsIHBsdWdpbiBpbnN0YWxsYXRpb24sIHRpcHMgYW5kIHRyaWNrcy4gVGhlIHR1dG9yaWFsIGlzIGRpcmVjdGVkIAogICAgICAgICAgdG8gdGhvc2Ugd2hvIGFyZSBqdXN0IGJlZ2lubmluZyB0byB3b3JrIHdpdGggRWNsaXBzZS4gSXQgaXMgd3JpdHRlbiAKICAgICAgICAgIGluIFBvbGlzaCBhbmQgY292ZXJzIHZlcnNpb24gMy4wIG9mIHRoZSBFY2xpcHNlLiA8YnIgLz4KICAgICAgICAgIDxiciAvPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPmVjbGlwc2UtdHV0b3JpYWwgLSA8YSBocmVmPSJodHRwczovL2VjbGlwc2UtdHV0b3JpYWwuZGV2LmphdmEubmV0IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9lY2xpcHNlLXR1dG9yaWFsLmRldi5qYXZhLm5ldDwvYT4gCiAgICAgICAgICA8YnIgLz4KCiAgICAgICAgICBBIGNvbGxlY3Rpb24gb2YgdHV0b3JpYWxzIHdoaWNoIGRlc2NyaWJlIGhvdyB0byB1c2UgRWNsaXBzZSBmb3IgSmF2YSAKICAgICAgICAgIGRldmVsb3BtZW50IGluIEVuZ2xpc2gsIEdlcm1hbiBhbmQgS29yZWFuLiBUaGUgdHV0b3JpYWxzIGFyZSBhbHNvIGF2YWlsYWJsZSAKICAgICAgICAgIGFzIEVjbGlwc2UgSGVscCBwbHVnaW4uIFRoZSB1cGRhdGUgc2l0ZSBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly9lY2xpcHNlLXR1dG9yaWFsLmRldi5qYXZhLm5ldC91cGRhdGUuPGJyIC8+CiAgICAgICAgICA8YnIgLz4KICAgICAgICA8L2xpPgogICAgICAgIDxsaT5FY2xpcHNlIFdvcmtzaG9wIC0gPGEgaHJlZj0iaHR0cDovL3d3dy5hZG1pbi13aXNzZW4uZGUvcHJvZ3JhbW1pZXJ1bmcvZWNsaXBzZS13b3Jrc2hvcC8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmFkbWluLXdpc3Nlbi5kZS9wcm9ncmFtbWllcnVuZy9lY2xpcHNlLXdvcmtzaG9wLzwvYT4gCiAgICAgICAgICA8YnIgLz4KICAgICAgICAgIERpZXNlciBXb3Jrc2hvcCBzb2xsIGRpciBoZWxmZW4gZGllIG1pdCBFY2xpcHNlIHp1cmVjaHR6dWZpbmRlbi4gSW0gCiAgICAgICAgICB6d2VpdGVuIFRlaWwgZ2lidCBlcyBlaW5lIGtsZWluZSBFSW53ZWlzdW5nIGluIGVpbiBwYWFyIFBsdWctaW5zIGRpZSAKICAgICAgICAgIGZ1ZXIgRWNsaXBzZSB2ZXJmdWVnYmFyIHNpbmQuIDxiciAvPgogICAgICAgICAgPGJyIC8+CgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPkVzc2VudGlhbCBFY2xpcHNlIC0gPGEgaHJlZj0iaHR0cDovL3d3dy5vbmVjbGlwc2UuY29tL3Byb2R1Y3RzL2Vzc2VudGlhbC1lY2xpcHNlLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cub25lY2xpcHNlLmNvbS9wcm9kdWN0cy9lc3NlbnRpYWwtZWNsaXBzZS88L2E+PGJyIC8+CiAgICAgICAgICBBIHZpc3VhbCB0dXRvcmlhbCBwcm9kdWN0IG9uIHRoZSBFY2xpcHNlIElERSBieSBPbkVjbGlwc2UuPGJyIC8+CiAgICAgICAgICA8YnIgLz4KICAgICAgICA8L2xpPgogICAgICAgIDxsaT4gSUJNIGRldmVsb3BlcldvcmtzIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWJtLmNvbS9kZXZlbG9wZXJ3b3Jrcy92aWV3cy9vcGVuc291cmNlL2xpYnJhcnl2aWV3LmpzcD90b3BpY19ieT1FY2xpcHNlJnNvcnRfb3JkZXI9ZGVzYyZsY2xfc29ydF9vcmRlcj1hc2Mmc2VhcmNoX2J5PSZ0eXBlX2J5PVR1dG9yaWFscyZzaG93X2Fic3RyYWN0PXRydWUmc3RhcnRfbm89MSZzb3J0X2J5PURhdGUmZW5kX25vPTEwMCZzaG93X2FsbD1mYWxzZSIgdGFyZ2V0PSJfYmxhbmsiPlR1dG9yaWFsczwvYT4gCiAgICAgICAgICA8aT48YnIgLz4KCiAgICAgICAgICA8YnIgLz4KICAgICAgICAgIDwvaT4gLSA8YSBocmVmPSJodHRwOi8vd3d3LTEwNi5pYm0uY29tL2RldmVsb3BlcndvcmtzL2VkdS9vcy1kdy1vcy13dHBjbGllbnQtaS5odG1sIiB0YXJnZXQ9Il9ibGFuayI+QnVpbGQgCiAgICAgICAgICBhIFdlYi1iYXNlZCBjbGllbnQgd2l0aCB0aGUgRWNsaXBzZSBXZWIgVG9vbHMgUGxhdGZvcm08L2E+IDxiciAvPgogICAgICAgICAgLSA8YSBocmVmPSJodHRwOi8vd3d3LTEwNi5pYm0uY29tL2RldmVsb3BlcndvcmtzL2VkdS9vcy1kdy1vcy13dHBzZXJ2aWNlLWkuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPkJ1aWxkIAogICAgICAgICAgYSBXZWIgc2VydmljZSB1c2luZyB0aGUgRWNsaXBzZSBXZWIgVG9vbHMgUGxhdGZvcm08L2E+IDxiciAvPgogICAgICAgICAgLSA8YSBocmVmPSJodHRwOi8vd3d3LTEwNi5pYm0uY29tL2RldmVsb3BlcndvcmtzL2VkdS9vcy1kdy1vcy1yY3AyLWkuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPkVjbGlwc2UncyAKICAgICAgICAgIFJpY2ggQ2xpZW50IFBsYXRmb3JtLCBQYXJ0IDI6IEV4dGVuZGluZyB0aGUgZ2VuZXJpYyB3b3JrYmVuY2g8L2E+IDxiciAvPgoKICAgICAgICAgIC0gPGEgaHJlZj0iaHR0cDovL3d3dy0xMDYuaWJtLmNvbS9kZXZlbG9wZXJ3b3Jrcy9lZHUvb3MtZHctb3MtcmNwMS1pLmh0bWwiIHRhcmdldD0iX2JsYW5rIj5FY2xpcHNlJ3MgCiAgICAgICAgICBSaWNoIENsaWVudCBQbGF0Zm9ybSwgUGFydCAxOiBHZXR0aW5nIHN0YXJ0ZWQ8L2E+IDxiciAvPgogICAgICAgICAgPGJyIC8+CiAgICAgICAgPC9saT4KICAgICAgICA8bGk+TGFMaUx1bmEgLSA8YSBocmVmPSJodHRwOi8vd3d3LmxhbGlsdW5hLmRlL3R1dG9yaWFscy5odG1sIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5sYWxpbHVuYS5kZS90dXRvcmlhbHMuaHRtbDwvYT4gCiAgICAgICAgICAtIEEgdmFyaWV0eSBvZiB0dXRvcmlhbHMgYXV0aG9yZWQgYnkgU2ViYXN0aWFuIEhlbm5lYnJ1ZWRlciBvbiB1c2luZyAKICAgICAgICAgIGVjbGlwc2UgZm9yIEphdmEgZGV2ZWxvcG1lbnQgKEphdmFTZXJ2ZXIgRmFjZXMsIFN0cnV0cywgSGliZXJuYXRlLCBFSkIgCiAgICAgICAgICApIGluY2x1ZGluZzogPGJyIC8+CiAgICAgICAgICAtIDxhIGhyZWY9Imh0dHA6Ly93d3cubGFsaWx1bmEuZGUvZGVidWdnaW5nLWpzcC1qYXZhLXR1dG9yaWFsLmh0bWwiIHRhcmdldD0iX2JsYW5rIj5EZWJ1Z2dpbmcgCiAgICAgICAgICBmcm9tIEpTUCBhbmQgSmF2YSBBcHBsaWNhdGlvbnM8L2E+IDxiciAvPgoKICAgICAgICAgIC0gPGEgaHJlZj0iaHR0cDovL3d3dy5sYWxpbHVuYS5kZS9lY2xpcHNlLW15ZWNsaXBzZS10aXBzLWFuZC10cmlja3MuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPlRpcHMgCiAgICAgICAgICBhbmQgdHJpY2tzIGZvciBlY2xpcHNlIGFuZCB0aGUgcGx1Z2luIE15RWNsaXBzZTwvYT4gPGJyIC8+CiAgICAgICAgICAtIDxhIGhyZWY9Imh0dHA6Ly93d3cubGFsaWx1bmEuZGUvd2VicHJvamVjdHMtZWNsaXBzZS1qYm9zc2lkZS10dXRvcmlhbC1lbi5odG1sIiB0YXJnZXQ9Il9ibGFuayI+V2ViIAogICAgICAgICAgcHJvamVjdCB3aXRoIGVjbGlwc2UsIEpCT1NTIGFwcGxpY2F0aW9uIHNlcnYgYW5kIHRoZSBqYm9zcyBJREU8L2E+IDxiciAvPgogICAgICAgICAgPGJyIC8+CiAgICAgICAgPC9saT4KCQk8bGk+Tm92ZWxsIExpbnV4IFVuaXZlcnNpdHkgZm9yIERldmVsb3BlcnMgLSA8YSBocmVmPSJodHRwOi8vZGV2ZWxvcGVyLm5vdmVsbC5jb20vd2lraS9pbmRleC5waHAvTGludXhfVW5pdmVyc2l0eV9mb3JfRGV2ZWxvcGVycyI+aHR0cDovL2RldmVsb3Blci5ub3ZlbGwuY29tL3dpa2kvaW5kZXgucGhwL0xpbnV4X1VuaXZlcnNpdHlfZm9yX0RldmVsb3BlcnM8L2E+PGJyIC8+CgkJCUxpbnV4IFVuaXZlcnNpdHkgZm9yIERldmVsb3BlcnMgaXMgYSBjb2xsYWJvcmF0aXZlIGluaXRpYXRpdmUgYnkgZGV2ZWxvcGVycywgZGVzaWduZWQgZm9yIGRldmVsb3BlcnMgdG8gc2hhcmUgdGhlaXIga25vd2xlZGdlIG9uIGhvdyBlYXN5IGl0IGlzIHRvIGNyZWF0ZSBzb2Z0d2FyZSBvbiBMaW51eC4gVGhlIGNvbnRlbnQgb24gdGhpcyBvcGVuIGNvbW11bml0eSBzaXRlIGlzIGdlYXJlZCB0b3dhcmRzIHNob3dpbmcgYW5kIGRvaW5nIHVzaW5nIGZsYXNoLWJhc2VkLCBpbnRlcmFjdGl2ZSBsZXNzb25zLCByYXRoZXIgdGhhbiBhcnRpY2xlcyBvciBsZW5ndGh5IGRvY3VtZW50YXRpb24uCgkJPC9saT4KICAgICAgICA8bGk+IE9tb25kbydzIHR1dG9yaWFsIHdlYnNpdGUgLSA8YSBocmVmPSJodHRwOi8vd3d3LnR1dG9yaWFsLW9tb25kby5jb20vIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy50dXRvcmlhbC1vbW9uZG8uY29tLzwvYT4gCiAgICAgICAgICA8YnIgLz4KCiAgICAgICAgICBJbmNsdWRlczogUmV2ZXJzZSBvZiBMb2c0aiwgVU1MIGZvciBKRE8sIFVNTCBmb3IgSjJlZSA8YnIgLz4KICAgICAgICAgIDxiciAvPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPiBUVVNDIFB0eSAtIDxpPlR1dG9yaWFsIGZvciBidWlsZGluZyBKMkVFIEFwcGxpY2F0aW9ucyB1c2luZyBKQk9TUyAKICAgICAgICAgIGFuZCBFQ0xJUFNFPC9pPiAtIDxhIGhyZWY9Imh0dHA6Ly93d3cudHVzYy5jb20uYXUvdHV0b3JpYWwvaHRtbC9pbmRleC5odG1sIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy50dXNjLmNvbS5hdS90dXRvcmlhbC9odG1sL2luZGV4Lmh0bWw8L2E+IAogICAgICAgIDwvbGk+CiAgICAgIDwvdWw+CgogICAgPC90ZD4KICA8L3RyPgogIDwvdGFibGU+CjwvZGl2Pgo8YSBuYW1lPSJsaW5rcyI+PC9hPjxiciAvPgo8ZGl2IGNsYXNzPSJob21laXRlbTNjb2wiPgoJPGgzPkxpbmtzIHRvIENvbW11bml0eSBSZXNvdXJjZXM8L2gzPgo8dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9NSBjZWxscGFkZGluZz0yIHdpZHRoPSIxMDAlIiA+CiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSIgaGVpZ2h0PSIyMSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CgogICAgPHRkIHdpZHRoPSI5NyUiPiA8Yj5BZ2dyZWdhdG9ycyBhbmQgYmxvZ3M8L2I+IDxiciAvPgogICAgICAgIDxiciAvPgogICAgICBFY2xpcHNlIG9uIFRlY2hub3JhdGkgLSA8YSBocmVmPSJodHRwOi8vd3d3LnRlY2hub3JhdGkuY29tL3RhZy9FY2xpcHNlIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy50ZWNobm9yYXRpLmNvbS90YWcvRWNsaXBzZTwvYT48YnIgLz4KICAgICAgUGxhbmV0IEVjbGlwc2UgLSA8YSBocmVmPSJodHRwOi8vcGxhbmV0ZWNsaXBzZS5vcmcvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3BsYW5ldGVjbGlwc2Uub3JnLzwvYT4gCiAgICAgIC0gJnF1b3Q7UGxhbmV0IEVjbGlwc2UsIGhvc3RlZCBieSB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uLCBpcyBhIG5ld3MgYWdncmVnYXRvciAKICAgICAgZm9yIHRob3NlIHdobyBzaGFyZSBhbiBlbnRodXNpYXNtIGZvciBFY2xpcHNlIGFuZCB0aGUgRWNsaXBzZSBjb21tdW5pdHkuJnF1b3Q7PGJyIC8+CgogICAgICBUZWNod2FsYSAtIDxhIGhyZWY9Imh0dHA6Ly9lY2xpcHNldHJhY2tlci5ibG9nc3BvdC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2VjbGlwc2V0cmFja2VyLmJsb2dzcG90LmNvbS88L2E+IAogICAgICAtICJEb2N1bWVudGluZyB0aGUgSGlzdG9yeSBvZiB0aGUgRWNsaXBzZSBQcm9qZWN0LiIgPGJyIC8+CiAgICAgIEVjbGlwc2UgVHV0b3JpYWxzLSA8YSBocmVmPSJodHRwOi8vZGVsLmljaW8udXMvdGFnL2VjbGlwc2UlMkJ0dXRvcmlhbHMiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZGVsLmljaW8udXMvdGFnL2VjbGlwc2UrdHV0b3JpYWxzPC9hPjxiciAvPgogICAgICA8YnIgLz4KICAgICAgTHVpcyBkZSBsYSBSb3NhIC0gPGEgaHJlZj0iaHR0cDovL3d3dy5sdWlzZGVsYXJvc2EuY29tL2Jsb2cvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5sdWlzZGVsYXJvc2EuY29tL2Jsb2cvPC9hPiAKICAgICAgPGJyIC8+CgogICAgICBNaWtlIE1pbGlua292aWNoIC0gPGEgaHJlZj0iaHR0cDovL21pbGlua292aWNoLmJsb2dzcG90LmNvbS8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbWlsaW5rb3ZpY2guYmxvZ3Nwb3QuY29tLzwvYT48YnIgLz4KICAgICAgSWFuIFNrZXJyZXR0IC0gPGEgaHJlZj0iaHR0cDovL2lhbnNrZXJyZXR0LmJsb2dzcG90LmNvbS8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vaWFuc2tlcnJldHQuYmxvZ3Nwb3QuY29tLzwvYT48YnIgLz4KICAgICAgRnJlZCBHcm90dCwgU2hhcmVNZSBUZWNobm9sb2dpZXMgTExDIC0gPGEgaHJlZj0iaHR0cDovL3d3dy5qcm9sbGVyLmNvbS9wYWdlL3NoYXJlbWU/Y2F0bmFtZT1FY2xpcHNlLUlERSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuanJvbGxlci5jb20vcGFnZS9zaGFyZW1lP2NhdG5hbWU9RWNsaXBzZS1JREU8L2E+IAogICAgICA8YnIgLz4KICAgICAgVmFzYW50aCBEaGFybWFyYWogLSA8YSBocmVmPSJodHRwOi8vd3d3LnZhc2FudGguaW4vQ2F0ZWdvcnlWaWV3LGNhdGVnb3J5LFRlY2hub2xvZ3ksRWNsaXBzZS5hc3B4IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy52YXNhbnRoLmluL0NhdGVnb3J5VmlldyxjYXRlZ29yeSxUZWNobm9sb2d5LEVjbGlwc2UuYXNweDwvYT48YnIgLz4KCiAgICAgIDxiciAvPgogICAgICAoVG8gaGF2ZSB5b3VyIGJsb2cgbGlzdGVkIGhlcmUsIGVtYWlsIDxhIGhyZWY9Im1haWx0bzpuZXdzQGVjbGlwc2Uub3JnIj5uZXdzPC9hPiEgCiAgICAgICkgPGJyIC8+CiAgICA8L3RkPgogIDwvdHI+CiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSIgaGVpZ2h0PSIyMSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSI+PGI+QkVBIGRldjJkZXY8L2I+IC0gPGEgaHJlZj0iaHR0cHM6Ly9lY2xpcHNlLnByb2plY3RzLmRldjJkZXYuYmVhLmNvbS8iIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2VjbGlwc2UucHJvamVjdHMuZGV2MmRldi5iZWEuY29tLzwvYT48YnIgLz4KCiAgICAgIFRoZSBCRUEgZWNsaXBzZSBwcm9qZWN0IGhvbWUuIDwvdGQ+CiAgPC90cj4KICA8dHI+IAogICAgPHRkIGFsaWduPVJJR0hUIHZhbGlnbj1UT1Agd2lkdGg9IjMlIiBoZWlnaHQ9IjIxIj48aW1nIHNyYz0iLi4vaW1hZ2VzL0FkYXJyb3cuZ2lmIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGJvcmRlcj0iMCI+PC90ZD4KICAgIDx0ZCB3aWR0aD0iOTclIj48Yj5DaGluZXNlIEVjbGlwc2UgQ29tbXVuaXR5PC9iPiAoQ0VDKSAtIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZXdvcmxkLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZWNsaXBzZXdvcmxkLm9yZzwvYT4gCiAgICAgIDxiciAvPgogICAgICBBIHByb2Zlc3Npb25hbCBFY2xpcHNlIHdlYnNpdGUgdGhhdCBjYW4gaGVscCBwZW9wbGUgdXNpbmcgYW5kIGRldmVsb3BpbmcgCiAgICAgIGVjbGlwc2UgcGx1Z2lucyBpbiBDaGluYS48L3RkPgoKICA8L3RyPiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSIgaGVpZ2h0PSIyMSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSI+PGI+ZWNsaXBzZTwvYj4gLSA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2V3aWtpLm5ldC9lY2xpcHNlLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZWNsaXBzZXdpa2kubmV0L2VjbGlwc2UvPC9hPiAKICAgICAgPGJyIC8+CiAgICAgIEEgSmFwYW5lc2Ugd2lraSBvbiBlY2xpcHNlITwvdGQ+CiAgPC90cj4KICA8dHI+IAogICAgPHRkIGFsaWduPVJJR0hUIHZhbGlnbj1UT1Agd2lkdGg9IjMlIiBoZWlnaHQ9IjIxIj48aW1nIHNyYz0iLi4vaW1hZ2VzL0FkYXJyb3cuZ2lmIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGJvcmRlcj0iMCI+PC90ZD4KCiAgICA8dGQgd2lkdGg9Ijk3JSI+PGI+RWNsaXBzZSBEZXZlbG9wZXIgSm91cm5hbCA8L2I+LSA8YSBocmVmPSJodHRwOi8vZWNsaXBzZS5zeXMtY29uLmNvbS8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZWNsaXBzZS5zeXMtY29uLmNvbS88L2E+IAogICAgICA8YnIgLz5BbiBvbi1saW5lIEVjbGlwc2UgbWFnYXppbmUgaG9zdGVkIGJ5IFNZUy1Db24gTWVkaWEuCiAgICAgIDwvdGQ+CiAgPC90cj4gIAogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgoKICAgIDx0ZCB3aWR0aD0iOTclIj48Yj5FY2xpcHNlIE1hYyA8L2I+LSA8YSBocmVmPSJodHRwOi8vZ3JvdXBzLWJldGEuZ29vZ2xlLmNvbS9ncm91cC9lY2xpcHNlLW1hYy8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZ3JvdXBzLWJldGEuZ29vZ2xlLmNvbS9ncm91cC9lY2xpcHNlLW1hYy88L2E+IAogICAgICA8YnIgLz4KICAgICAgQSB2aXJ0dWFsIHVzZXIgZ3JvdXAgb2YgRWNsaXBzZSB1c2VycyB3aG8gcnVuIEVjbGlwc2Ugb24gTWFjIE9TIFguPC90ZD4KICA8L3RyPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPjxiPmVjbGlwc2UtbWw8L2I+IC0gPGEgaHJlZj0iaHR0cDovL3d3dy5lZ3JvdXBzLmNvLmpwL2dyb3VwL2VjbGlwc2UtbWwiIHRhcmdldD0iX2JsYW5rIj4gCiAgICAgIGh0dHA6Ly93d3cuZWdyb3Vwcy5jby5qcC9ncm91cC9lY2xpcHNlLW1sPC9hPiA8YnIgLz4KCiAgICAgIEEgbWFpbGluZyBsaXN0IGluIEphcGFuZXNlIGxhbmd1YWdlIGRlZGljYXRlZCB0byBlY2xpcHNlPC90ZD4KICA8L3RyPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPjxpPjxiPmVjbGlwc2UgbmV3czwvYj48L2k+PGI+IDwvYj4tIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZW5ld3MuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5lY2xpcHNlbmV3cy5jb208L2E+IAogICAgICA8YnIgLz4KICAgICAgQSBmcmVlIG1vbnRobHkgZS1tYWlsIG5ld3NsZXR0ZXIgZnJvbSBQZW50b24gVGVjaG5vbG9neSBNZWRpYSwgdGhhdCBpbmNsdWRlcyAKICAgICAgdGhlIGxhdGVzdCBuZXdzLCBhbmFseXNpcywgYW5kIHByb2R1Y3QgY292ZXJhZ2UgYWJvdXQgdGhlIEVjbGlwc2UgRm91bmRhdGlvbiwgCiAgICAgIGl0cyBtZW1iZXJzaGlwLCBhbmQgdGhlIEVjbGlwc2UgZGV2ZWxvcGVyIGNvbW11bml0eSBhdCBsYXJnZS48L3RkPgoKICA8L3RyPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPjxiPmVjbGlwc2UgcGx1Z2luczwvYj4gLSA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2UtcGx1Z2lucy5pbmZvL2VjbGlwc2UvaW5kZXguanNwIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5lY2xpcHNlLXBsdWdpbnMuaW5mbzwvYT4gCiAgICAgIDxiciAvPgogICAgICBBIHJlZ2lzdHJ5IG9mIGVjbGlwc2UgcGx1Zy1pbnMsIGNyZWF0ZWQgYnkgVXJiYWFuLiA8L3RkPgogIDwvdHI+CgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPiA8Yj5FY2xpcHNlIFBsdWdpbiBDZW50cmFsIChFUElDKSA8L2I+IC0gPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlcGx1Z2luY2VudHJhbC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmVjbGlwc2VwbHVnaW5jZW50cmFsLmNvbTwvYT4gCiAgICAgIDxiciAvPgogICAgICBFY2xpcHNlIFBsdWdpbiBDZW50cmFsIGlzIGFuIGluZm9ybWF0aW9uIHBvcnRhbCBhbmQgbWFya2V0cGxhY2UgZm9yIHRoZSAKICAgICAgZWNsaXBzZSBlY29zeXN0ZW0uIEl0IG9mZmVycyBhIHBsdWdpbiBkaXJlY3RvcnksIHJldmlld3MsIHJhdGluZ3MsIG5ld3MsIAogICAgICBmb3J1bXMsIGNvbW11bml0eSwgbGlzdGluZ3MgZm9yIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcywgYW5kIHN1cHBvcnQgZm9yIHRoZSAKICAgICAgRWNsaXBzZSBGb3VuZGF0aW9uLgogICAgPC90ZD4KICA8L3RyPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgoKICAgIDx0ZCB3aWR0aD0iOTclIj4gPGI+RWNsaXBzZSBQbHVnLWluIENvbGxlY3Rpb24sIEVjbGlwc2UgTWFnYXppbiA8L2I+IC0gPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLW1hZ2F6aW4uZGUvcGx1Z2lucy8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmVjbGlwc2UtbWFnYXppbi5kZS9wbHVnaW5zLzwvYT48YnIgLz4KICAgICAgRWluZSBVZWJlcnNpY2h0IHVlYmVyIEVjbGlwc2UgUGx1Zy1pbnMgZXJzY2hlaW50IGltIDxpPkVjbGlwc2UgTWFnYXppbjwvaT4uPC90ZD4KICA8L3RyPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgoKICAgIDx0ZCB3aWR0aD0iOTclIj48Yj5FY2xpcHNlUHJvamVjdC5kZTwvYj4gLSA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Vwcm9qZWN0LmRlLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZWNsaXBzZXByb2plY3QuZGUvPC9hPiAKICAgICAgPGJyIC8+CiAgICAgIEEgR2VybWFuIGxhbmd1YWdlIHNpdGUgY3JlYXRlZCBieSB0aGUgR2VybWFuIEVjbGlwc2UgVXNlciBDb21tdW5pdHksIHRoYXQgCiAgICAgIGluY2x1ZGVzIG5ld3MsIGZvcnVtcywgbGlua3MgYW5kIEZBUXMuPC90ZD4KICA8L3RyPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPjxiPkVjbGlwc2UuVGVjaEZvcmdlPC9iPiAtIDxhIGhyZWY9Imh0dHA6Ly9lY2xpcHNlLnRlY2hmb3JnZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2VjbGlwc2UudGVjaGZvcmdlLmNvbS88L2E+PGJyIC8+CgogICAgICAmcXVvdDt0aGUgdG90YWwgZWNsaXBzZSByZXNvdXJjZSZxdW90OyAtIGhvc3RlZCBieSBTb3VyY2VGb3JnZS5uZXQgPC90ZD4KICA8L3RyPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPjxiPmVjbGlwc2VUb3RhbGU8L2I+IC0gPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNldG90YWxlLmNvbS9pbmRleC5odG1sIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5lY2xpcHNldG90YWxlLmNvbS9pbmRleC5odG1sPC9hPjxiciAvPgogICAgICBBIEZyZW5jaCB3ZWJzaXRlIGRlZGljYXRlZCB0byBFY2xpcHNlIGFuZCBXZWJzcGhlcmUgPC90ZD4KCiAgPC90cj4KICAgIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPjxiPmVjbGlwc2UgV2lraSAtIDwvYj4gPGEgaHJlZj0iaHR0cDovL2VjbGlwc2Utd2lraS5pbmZvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2VjbGlwc2Utd2lraS5pbmZvPC9hPiAKICAgICAgPGJyIC8+CiAgICAgIEEgd2lraSB3aWtpIHN0YXJ0ZWQgYnkgWGF2aWVyIE0mZWFjdXRlO2hhdXQsIHRoZSBzaXRlIGhhcyBsb3RzIG9mIHRpcHMsIAogICAgICB0cmlja3MgYW5kIHVzZWZ1bCBpbmZvcm1hdGlvbiBhYm91dCBlY2xpcHNlLiA8L3RkPgogIDwvdHI+CgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPjxiPkVjbGlwc2UtV29ya2JlbmNoPC9iPiAtIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS13b3JrYmVuY2guY29tL2pzcC9pbmRleC5qc3AiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmVjbGlwc2Utd29ya2JlbmNoLmNvbTwvYT4gCiAgICAgIDxiciAvPgogICAgICBBIHdlYnNpdGUgZGVkaWNhdGVkIHRvIEVjbGlwc2UgYW5kIFdlYnNwaGVyZSB0aGF0IGluY2x1ZGVzIGRpc2N1c3Npb24gZm9ydW1zLCAKICAgICAgcG9sbHMsYSBwbHVnLWluIGRpcmVjdG9yeSBhbmQgYXJ0aWNsZXMgc2VjdGlvbi4gPC90ZD4KICA8L3RyPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgoKICAgIDx0ZCB3aWR0aD0iOTclIj4gPGI+RWNsaXBzZVpvbmU8L2I+IC0gPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlem9uZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5lY2xpcHNlem9uZS5jb20vPC9hPiAKICAgICAgPGJyIC8+CiAgICAgICZxdW90O0FuIG9ubGluZSBjb21tdW5pdHkgYnkgYW5kIGZvciBFY2xpcHNlIHVzZXJzIGV2ZXJ5d2hlcmUmcXVvdDsgLSBob3N0ZWQgCiAgICAgIGJ5IEphdmFMb2JieTwvdGQ+CiAgPC90cj4KICA8dHI+IAogICAgPHRkIGFsaWduPVJJR0hUIHZhbGlnbj1UT1Agd2lkdGg9IjMlIiBoZWlnaHQ9IjIxIj48aW1nIHNyYz0iLi4vaW1hZ2VzL0FkYXJyb3cuZ2lmIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGJvcmRlcj0iMCI+PC90ZD4KCiAgICA8dGQgd2lkdGg9Ijk3JSI+IDxiPkhQIGFuZCB0aGUgb3BlbiBleHRlbnNpYmxlIElERTwvYj4gLSA8YSBocmVmPSJodHRwOi8vZGV2cmVzb3VyY2UuaHAuY29tL2RyYy90b3BpY3MvRWNsaXBzZS5qc3AiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZGV2cmVzb3VyY2UuaHAuY29tL2RyYy90b3BpY3MvRWNsaXBzZS5qc3A8L2E+IAogICAgICA8YnIgLz4KICAgICAgVGVjaG5pY2FsIGFydGljbGVzLCBuZXdzLCBkb3dubG9hZHMgYW5kIG1hbnkgbW9yZSBlY2xpcHNlIHJlc291cmNlcyEgPC90ZD4KICA8L3RyPgogICAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSIgaGVpZ2h0PSIyMSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSI+IDxiPklCTSBBbHBoYVdvcmtzPC9iPiAtIDxhIGhyZWY9Imh0dHA6Ly93d3cuYWxwaGF3b3Jrcy5pYm0uY29tL2VjbGlwc2U/T3BlbiZjYT1kYXctZmxwci0wODE0MDMiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmFscGhhd29ya3MuaWJtLmNvbS9lY2xpcHNlP09wZW4mY2E9ZGF3LWZscHItMDgxNDAzPC9hPiAKICAgICAgPGJyIC8+CgogICAgICBJQk0ncyBlbWVyZ2luZyB0ZWNobm9sb2dpZXMgd2Vic2l0ZSBoYXMgY3JlYXRlZCBhbiBhcmVhIGRlZGljYXRlZCB0byBlY2xpcHNlIAogICAgICBhbmQgV2ViU3BoZXJlIHJlbGF0ZWQgcHJvamVjdHMgYW5kIHBsdWctaW5zLiA8L3RkPgogIDwvdHI+CiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSIgaGVpZ2h0PSIyMSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSI+IDxiPklCTSBkZXZlbG9wZXJXb3JrczwvYj4gLSA8YnIgLz4KICAgICAgPGI+RWNsaXBzZSBSZXNvdXJjZXM8L2I+IC0gPGEgaHJlZj0iaHR0cDovL3d3dy0xMjguaWJtLmNvbS9kZXZlbG9wZXJ3b3Jrcy9vcGVuc291cmNlL3RvcC1wcm9qZWN0cy9lY2xpcHNlLmh0bWwiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LTEyOC5pYm0uY29tL2RldmVsb3BlcndvcmtzL29wZW5zb3VyY2UvdG9wLXByb2plY3RzL2VjbGlwc2UuaHRtbDwvYT4gCiAgICAgIC0gb24gSUJNJ3MgZGV2ZWxvcGVyV29ya3MgaG9zdHMgYSB2YXJpZXR5IG9mIHR1dG9yaWFscywgYXJ0aWNsZXMgYW5kIHJlbGF0ZWQgCiAgICAgIGluZm9ybWF0aW9uIG9uIGVjbGlwc2UuPC90ZD4KCiAgPC90cj4KICAgIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPiA8Yj5JQk0gUmVzZWFyY2g8L2I+IC0gPGEgaHJlZj0iaHR0cDovL3d3dy5yZXNlYXJjaC5pYm0uY29tL2VjbGlwc2UvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5yZXNlYXJjaC5pYm0uY29tL2VjbGlwc2UvPC9hPiAKICAgICAgPGJyIC8+CglWaXNpdCB0aGlzIHdlYiBzaXRlIHRvIHJlYWQgYWJvdXQgRWNsaXBzZS1yZWxhdGVkIHRlY2huaWNhbCBwcm9qZWN0cywgcHJvZ3JhbXMsCgl3b3Jrc2hvcHMsIGFuZCBvdGhlciBzdWNoIGFjdGl2aXRpZXMgZ29pbmcgb24gYXQgSUJNIFJlc2VhcmNoLiA8L3RkPgogIDwvdHI+CgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPiA8Yj5JQk0gU2Nob2xhcnMgUHJvZ3JhbTwvYj4gLSA8YSBocmVmPSJodHRwOi8vd3d3LmlibS5jb20vdW5pdmVyc2l0eS9lY2xpcHNlIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5pYm0uY29tL3VuaXZlcnNpdHkvZWNsaXBzZTwvYT4gCiAgICAgIDxiciAvPgogICAgICBBIHNpdGUgcHJvdmlkZWQgYnkgdGhlIElCTSBTY2hvbGFycyBQcm9ncmFtIG9uIGFjYWRlbWljIHJlc291cmNlcyByZWxhdGVkIHRvIEVjbGlwc2UuPC90ZD4KICA8L3RyPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgoKICAgIDx0ZCB3aWR0aD0iOTclIj48Yj5pbXByb3ZlLXRlY2hub2xvZ2llczwvYj4gLSA8YSBocmVmPSJodHRwOi8vd3d3LmltcHJvdmUtdGVjaG5vbG9naWVzLmNvbS9wYWdlcy9KYXZhL0lERS9FY2xpcHNlL2luZGV4Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj4gCiAgICAgIGh0dHA6Ly93d3cuaW1wcm92ZS10ZWNobm9sb2dpZXMuY29tL3BhZ2VzL0phdmEvSURFL0VjbGlwc2UvaW5kZXguaHRtbDwvYT4gCiAgICAgIDxiciAvPgogICAgICBBIEZyZW5jaCBsYW5ndWFnZSBjb2xsZWN0aW9uIG9mIGVjbGlwc2UgaW5mb3JtYXRpb24gYW5kIHRoZSBob3N0IHRvIGEgcGx1Zy1pbiAKICAgICAgZGlyZWN0b3J5LCBhcnRpY2xlcywgdHV0b3JpYWxzIGFuZCBtb3JlITwvdGQ+CiAgPC90cj4KICA8dHI+IAogICAgPHRkIGFsaWduPVJJR0hUIHZhbGlnbj1UT1Agd2lkdGg9IjMlIiBoZWlnaHQ9IjIxIj48aW1nIHNyYz0iLi4vaW1hZ2VzL0FkYXJyb3cuZ2lmIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGJvcmRlcj0iMCI+PC90ZD4KICAgIDx0ZCB3aWR0aD0iOTclIj4gPGI+SU5OT09QUkFDVCBFY2xpcHNlIENlbnRlcjwvYj4gLSA8YSBocmVmPSJodHRwOi8vd3d3Lnc0dG9vbGtpdC5kZS9pbmRleC5waHA/bWFpbj1zdXBwb3J0IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy53NHRvb2xraXQuZGUvaW5kZXgucGhwP21haW49c3VwcG9ydDwvYT4gCiAgICAgIDxiciAvPgoKICAgICAgQSByaWNoIGNvbGxlY3Rpb24gb2YgZWNsaXBzZSByZXNvdXJjZXMgcHJpbWFyaWx5IGluIEdlcm1hbiwgcHJvdmlkZWQgYnkgCiAgICAgIElOTk9PUFJBQ1QuIFRoZSBzaXRlIGluY2x1ZGVzIGxpbmtzIHRvIGluZm9ybWF0aW9uIGZvciBiZWdpbm5lcnMsIHRpcHMgYW5kIAogICAgICB0cmlja3MsIGEgdHJhbnNsYXRpb24gb2YgdGhlIEZBUSwgcHVibGljIHdvcmtzaG9wcywgZm9ydW1zIGFuZCBtdWNoIG1vcmUhPC90ZD4KICA8L3RyPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPjxiPlRoZSBKYXZhVG9vbHMgQ29tbXVuaXR5IDwvYj4tIDxhIGhyZWY9Imh0dHA6Ly9jb21tdW5pdHkuamF2YS5uZXQvamF2YXRvb2xzLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9jb21tdW5pdHkuamF2YS5uZXQvamF2YXRvb2xzLzwvYT4KICAgIDxici8+PGk+Li5hIGdhdGhlcmluZyBwbGFjZSBmb3IgdGhvc2UgaW50ZXJlc3RlZCBpbiBKYXZhIERldmVsb3BtZW50IFRvb2xzPC9pPgogICAgPGJyLz5TZWUgPGEgaHJlZj0iaHR0cHM6Ly9zd3d3LnVpYi5lcy9ndWlhL3Rvb2xzL0JyYW5jaC5ndWlkZT93X2Rpcl9jb2RpZ289MjNlMWEzODI0MzEyOTYxYTAxMDVhOGM5ODNiYjBkNjkiIHRhcmdldD0iX2JsYW5rIj5UaGUgSmF2YVRvb2xzIFByb2plY3QgRGlyZWN0b3J5IGZvciBFY2xpcHNlIFBsdWdpbnM8L2E+IAogIDwvdHI+CiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSIgaGVpZ2h0PSIyMSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSI+IDxiPkpMYWI8L2I+IC0gPGEgaHJlZj0iaHR0cDovL3d3dy5qbGFiLm5ldC8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmpsYWIubmV0LzwvYT4gCiAgICAgIDxiciAvPgoJQSBLb3JlYW4gbGFuZ3VhZ2Ugd2Vic2l0ZSBidWlsdCBieSB0aGUgS29yZWFuIEVjbGlwc2UgVXNlciBDb21tdW5pdHk8L3RkPgogIDwvdHI+CiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSIgaGVpZ2h0PSIyMSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSI+IDxiPktvcmVhbiBFY2xpcHNlIFBsdWctaW4gRGV2ZWxvcGVyIENvbW11bml0eTwvYj4gLSA8YSBocmVmPSJodHRwOi8vY2FmZS5uYXZlci5jb20vZWNsaXBzZXBsdWdpbi5jYWZlIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2NhZmUubmF2ZXIuY29tL2VjbGlwc2VwbHVnaW4uY2FmZTwvYT4gCiAgICAgIDxiciAvPgoJICBLb3JlYW4gRWNsaXBzZSBQbHVnLWluIERldmVsb3BlciBDb21tdW5pdHkgaGFzIGFuIGFjdGl2ZSBjb21tdW5pdHkgaG9wZWluZyB0byBsYXVuY2ggc29tZSB1c2VmdWwgcGx1Zy1pbiBwcm9qZWN0cy48L3RkPgogIDwvdHI+ICAKICA8dHI+IAogICAgPHRkIGFsaWduPVJJR0hUIHZhbGlnbj1UT1Agd2lkdGg9IjMlIiBoZWlnaHQ9IjIxIj48aW1nIHNyYz0iLi4vaW1hZ2VzL0FkYXJyb3cuZ2lmIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGJvcmRlcj0iMCI+PC90ZD4KICAgIDx0ZCB3aWR0aD0iOTclIj48Yj5NYXJ0aW4gTW9lYml1czwvYj4gLSA8YSBocmVmPSJodHRwOi8vbW1vZWJpdXMuZ214aG9tZS5kZS9lY2xpcHNlL2VjbGlwc2UuaHRtIiB0YXJnZXQ9Il9ibGFuayI+IAogICAgICBodHRwOi8vbW1vZWJpdXMuZ214aG9tZS5kZS9lY2xpcHNlL2VjbGlwc2UuaHRtPC9hPjxiciAvPgogICAgICBMaW5rcyBhbmQgaW5mb3JtYXRpb24gYWJvdXQgRWNsaXBzZSBieSBNYXJ0aW4gTW9lYml1cy4gQ2hlY2sgb3V0IHRoZSBFYXN0ZXIgCiAgICAgIEVnZyBsaXN0IGZvciBNYXJ0aW4ncyBzdW1tYXJ5IG9mIEVjbGlwc2UgZmVhdHVyZXMgYWxzbyBhdmFpbGFibGUgb24gdGhlIAogICAgICA8YSBocmVmPSJodHRwOi8vZGV2LmVjbGlwc2Uub3JnL3ZpZXdjdnMvaW5kZXguY2dpLyU3RWNoZWNrb3V0JTdFL2pkdC11aS1ob21lL2Rldi5odG1sIiB0YXJnZXQ9Il9ibGFuayI+SkRUIAogICAgICBVSSBkZXZlbG9wbWVudCByZXNvdXJjZXM8L2E+IHBhZ2UuPC90ZD4KCiAgPC90cj4KICA8dHI+IAogICAgPHRkIGFsaWduPVJJR0hUIHZhbGlnbj1UT1Agd2lkdGg9IjMlIiBoZWlnaHQ9IjIxIj48aW1nIHNyYz0iLi4vaW1hZ2VzL0FkYXJyb3cuZ2lmIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGJvcmRlcj0iMCI+PC90ZD4KICAgIDx0ZCB3aWR0aD0iOTclIj4gPGI+Tm9tdXJhIFJlc2VhcmNoIEluc3RpdHV0ZSwgTHRkPC9iPiAtIDxhIGhyZWY9Imh0dHA6Ly93b3Jrcy5ucmkuY28uanAvc2VydmljZS9kb2N1bWVudHMuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93b3Jrcy5ucmkuY28uanAvc2VydmljZS9kb2N1bWVudHMuaHRtbDwvYT4gCiAgICAgIDxiciAvPgogICAgICBBIHdlYnNpdGUgb2ZmZXJpbmcgSmFwYW5lc2UgZG9jdW1lbnRzIGZvciBkZXZlbG9wZXJzLiBUb3BpY3MgaW5jbHVkZSBub3QgCiAgICAgIG9ubHkgZWNsaXBzZSBpdHNlbGYgYnV0IGFsc28gdmFyaW91cyBwbHVnLWlucy48L3RkPgogIDwvdHI+CgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPiA8Yj5PbiBFY2xpcHNlIDwvYj4gLSA8YSBocmVmPSJodHRwOi8vd3d3Lm9uZWNsaXBzZS5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lm9uZWNsaXBzZS5jb208L2E+PGJyIC8+CiAgICAgIE9uRWNsaXBzZSBpbmNsdWRlcyBmb3J1bXMsIHBsdWdpbiBsaXN0aW5ncyBhbmQgdGhlaXIgZmlyc3QgJ3Zpc3VhbCcgdHV0b3JpYWwgCiAgICAgIDxpPkVzc2VudGlhbCBFY2xpcHNlPC9pPi4gPC90ZD4KICA8L3RyPgoKICA8dHI+IAogICAgPHRkIGFsaWduPVJJR0hUIHZhbGlnbj1UT1Agd2lkdGg9IjMlIiBoZWlnaHQ9IjIxIj48aW1nIHNyYz0iLi4vaW1hZ2VzL0FkYXJyb3cuZ2lmIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGJvcmRlcj0iMCI+PC90ZD4KICAgIDx0ZCB3aWR0aD0iOTclIj48Yj5TSUcgRWNsaXBzZSA8L2I+IC0gVGhlIEphdmEgVXNlciBHcm91cCBTdHV0dGdhcnQgKDxhIGhyZWY9Imh0dHA6Ly93d3cuanVncy5kZS9pbmRleC5odG1sIiB0YXJnZXQ9Il9ibGFuayI+SlVHUzwvYT4pIAogICAgICBTSUcgRWNsaXBzZSAtIDxhIGhyZWY9Imh0dHA6Ly93d3cuanVncy5kZS9zaWctZWNsaXBzZS5odG1sIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5qdWdzLmRlL3NpZy1lY2xpcHNlLmh0bWw8L2E+PGJyIC8+CiAgICAgIEluIGRlciBTSUcgRWNsaXBzZSBkcmVodCBzaWNoIGFsbGVzIHVtIEVjbGlwc2UuIEVjbGlwc2UgYWxzIEVudHdpY2tsdW5nc3VtZ2VidW5nLCAKICAgICAgRWNsaXBzZSBhbHMgUmljaCBDbGllbnQgUGxhdHRmb3JtLCB3ZWl0ZXJlIEVjbGlwc2UgUHJvamVrdGUgd2llIEVNRiwgR0VGIAogICAgICB1c3cuPGJyIC8+CiAgICAgIDxiciAvPgogICAgICA8L3RkPgoKICA8L3RyPgo8L3RhYmxlPgo8L2Rpdj4KPGEgbmFtZT0iVXNlZEluRWNsaXBzZSI+PC9hPjxiciAvPgo8ZGl2IGNsYXNzPSJob21laXRlbTNjb2wiPiAKCTxoMz5PcGVuIFNvdXJjZSBUZWNobm9sb2dpZXMgVXNlZCBpbiBFY2xpcHNlPC9oMz4KPHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTUgY2VsbHBhZGRpbmc9MiB3aWR0aD0iMTAwJSIgPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPiZuYnNwOzwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSIgaGVpZ2h0PSIyMSI+Q29udGVudCBmcm9tIEVjbGlwc2Uub3JnIGlzIHNvbWV0aW1lcyBhY2NvbXBhbmllZCBieSBvciBiYXNlZCBvbiAKCXRlY2hub2xvZ3kgb2J0YWluZWQgZnJvbSBvdGhlciBvcGVuIHNvdXJjZSBwcm9qZWN0cyBvciBmcmVlIHNvZnR3YXJlIGRpc3RyaWJ1dGlvbnMuICAKCVNvbWUgb2YgdGhlc2UgYXJlIGxpc3RlZCBiZWxvdy48L3RkPgoKICA8L3RyPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjEiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiIGhlaWdodD0iMjEiPiA8Yj5BbnQgLTwvYj4gPGEgaHJlZj0iaHR0cDovL2FudC5hcGFjaGUub3JnL2luZGV4Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj5BcGFjaGUgCiAgICAgIEFudDwvYT4gaXMgYW4gYXdhcmQgd2lubmluZyBidWlsZCB0b29sIGRldmVsb3BlZCBieSB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnLyIgdGFyZ2V0PSJfYmxhbmsiPkFwYWNoZSAKICAgICAgU29mdHdhcmUgRm91bmRhdGlvbjwvYT4uIDwvdGQ+CiAgPC90cj4KCiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSIgaGVpZ2h0PSIyMSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSIgaGVpZ2h0PSIyMSI+IDxiPkJsb3dmaXNoIEVuY3J5cHRpb24gQWxnb3JpdGhtIC0gPC9iPiBUaGUgcGx1Zy1pbiAKICAgICAgaXMgYmFzZWQgb24gYW4gYWxnb3JpdGhtIGRldmVsb3BlZCBieSBCcnVjZSBTY2huZWllciBhbmQgd2FzIG9yaWdpbmFsbHkgCiAgICAgIHB1Ymxpc2hlZCBpbiBoaXMgcGFwZXIsICZxdW90OzxhIGhyZWY9Imh0dHA6Ly93d3cuY291bnRlcnBhbmUuY29tL2Jmc3ZlcmxhZy5odG1sIiB0YXJnZXQ9Il9ibGFuayI+RGVzY3JpcHRpb24gCiAgICAgIG9mIGEgTmV3IFZhcmlhYmxlLUxlbmd0aCBLZXk8L2E+LCA2NC1CaXQgQmxvY2sgQ2lwaGVyIChCbG93ZmlzaCkuJnF1b3Q7IAogICAgPC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSIgaGVpZ2h0PSIyMSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CgogICAgPHRkIHdpZHRoPSI5NyUiIGhlaWdodD0iMjEiPjxiPkdUSys8L2I+IC0gPGEgaHJlZj0iaHR0cDovL3d3dy5ndGsub3JnIiB0YXJnZXQ9Il9ibGFuayI+R1RLKzwvYT4gCiAgICAgIGlzIGEgZnJlZSBzb2Z0d2FyZSBtdWx0aS1wbGF0Zm9ybSB0b29sa2l0IGZvciBjcmVhdGluZyBncmFwaGljYWwgdXNlciBpbnRlcmZhY2VzLCAKICAgICAgcGFydCBvZiB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnLyIgdGFyZ2V0PSJfYmxhbmsiPkdOVSBQcm9qZWN0PC9hPi48L3RkPgogIDwvdHI+CiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSIgaGVpZ2h0PSIyMSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSIgaGVpZ2h0PSIyMSI+IDxiPkpTY2g8L2I+IC0gPGEgaHJlZj0iaHR0cDovL3d3dy5qY3JhZnQuY29tL2pzY2gvIiB0YXJnZXQ9Il9ibGFuayI+SmF2YSAKICAgICAgU2VjdXJlIENoYW5uZWw8L2E+IGlzIGEgcHVyZSBKYXZhIGltcGxlbWVudGF0aW9uIG9mIFNTSDIuIDwvdGQ+CgogIDwvdHI+CiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSIgaGVpZ2h0PSIyMSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSIgaGVpZ2h0PSIyMSI+IDxiPkpVbml0IC0gPC9iPiBhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5qdW5pdC5vcmcvaW5kZXguaHRtIiB0YXJnZXQ9Il9ibGFuayI+SlVuaXQub3JnPC9hPiAKICAgICAgaXMgYW4gYXdhcmQgd2lubmluZyB0ZXN0aW5nIGFuZCBtb25pdG9yaW5nIGZyYW1ld29yay4gPC90ZD4KICA8L3RyPgogIDx0cj4gCiAgICA8dGQgYWxpZ249cmlnaHQgdmFsaWduPXRvcCB3aWR0aD0iMiUiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIGJvcmRlcj0wIGhlaWdodD0xNiB3aWR0aD0xNj48L3RkPgoKICAgIDx0ZCB3aWR0aD0iOTglIj48Yj5MdWNlbmUgLSA8L2I+IFRoZSA8YSBocmVmPSJodHRwOi8vamFrYXJ0YS5hcGFjaGUub3JnL2x1Y2VuZS9kb2NzL2luZGV4Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj5MdWNlbmU8L2E+IAogICAgICB0ZXh0IHNlYXJjaCBlbmdpbmUgc29mdHdhcmUgaXMgcGFydCBvZiB0aGUgPGEgaHJlZj0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZy8iIHRhcmdldD0iX2JsYW5rIj5KYWthcnRhIAogICAgICBQcm9qZWN0PC9hPiBkZXZlbG9wZWQgYnkgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iIHRhcmdldD0iX2JsYW5rIj5BcGFjaGUgCiAgICAgIFNvZnR3YXJlIEZvdW5kYXRpb248L2E+LiA8L3RkPgogIDwvdHI+CiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wIHdpZHRoPSIyJSIgaGVpZ2h0PSIyMyI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgYm9yZGVyPTAgaGVpZ2h0PTE2IHdpZHRoPTE2PjwvdGQ+CgogICAgPHRkIHdpZHRoPSI5OCUiIGhlaWdodD0iMjMiPjxiPk9wZW4gTW90aWYgZm9yIExpbnV4IC0gPC9iPiBNb3JlIGluZm9ybWF0aW9uIAogICAgICBhYm91dCBPcGVuIE1vdGlmIGNhbiBiZSBmb3VuZCBhdCA8YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb3Blbm1vdGlmLyIgdGFyZ2V0PSJfYmxhbmsiPm9wZW5ncm91cC5vcmc8L2E+IAogICAgICBhbmQgc291cmNlIGNvZGUgZm9yIE9wZW4gTW90aWYgZm9yIExpbnV4IGlzIGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb3Blbm1vdGlmL3N1cHBvcnRlcnMvbWV0cm9saW5rLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9vcGVubW90aWYvc3VwcG9ydGVycy9tZXRyb2xpbmsvPC9hPi4gCiAgICA8L3RkPgogIDwvdHI+CiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wIHdpZHRoPSIyJSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgYm9yZGVyPTAgaGVpZ2h0PTE2IHdpZHRoPTE2PjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk4JSI+PGI+VGhlIEphdmEgU3NoIEFwcGxldDwvYj4gLSBUaGUgcGx1Zy1pbiBpcyBiYXNlZCBvbiBzb2Z0d2FyZSAKICAgICAgZGV2ZWxvcGVkIGJ5IENlZHJpYyBHb3VyaW8gYW5kIGlzIGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmNsLmNhbS5hYy51ay8lN0VmYXBwMi9zb2Z0d2FyZS9qYXZhLXNzaCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuY2wuY2FtLmFjLnVrL35mYXBwMi9zb2Z0d2FyZS9qYXZhLXNzaDwvYT4vLjwvdGQ+CgogIDwvdHI+CiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1yaWdodCB2YWxpZ249dG9wIHdpZHRoPSIzJSIgaGVpZ2h0PSIyMSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgYm9yZGVyPTAgaGVpZ2h0PTE2IHdpZHRoPTE2PjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSIgaGVpZ2h0PSIyMSI+IDxiPlRvbWNhdC0gPC9iPiBUaGUgPGEgaHJlZj0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZy90b21jYXQiIHRhcmdldD0iX2JsYW5rIj5Ub21jYXQ8L2E+IAogICAgICBzZXJ2bGV0IGNvbnRhaW5lciBzb2Z0d2FyZSBpcyBwYXJ0IG9mIHRoZSA8YSBocmVmPSJodHRwOi8vamFrYXJ0YS5hcGFjaGUub3JnLyIgdGFyZ2V0PSJfYmxhbmsiPkpha2FydGEgCiAgICAgIFByb2plY3Q8L2E+IGRldmVsb3BlZCBieSB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnLyIgdGFyZ2V0PSJfYmxhbmsiPkFwYWNoZSAKICAgICAgU29mdHdhcmUgRm91bmRhdGlvbjwvYT4uIDwvdGQ+CgogIDwvdHI+CiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSIgaGVpZ2h0PSIyMSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSIgaGVpZ2h0PSIyMSI+PGI+WE1MIFBhcnNlciBmb3IgSmF2YSAtIDwvYj5UaGUgPGEgaHJlZj0iaHR0cDovL3d3dy5hbHBoYXdvcmtzLmlibS5jb20vdGVjaC94bWw0aiIgdGFyZ2V0PSJfYmxhbmsiPlhNTCAKICAgICAgUGFyc2VyIGZvciBKYXZhPC9hPiAoWE1MNGopIGlzIGJhc2VkIG9uIFhlcmNlcyBmcm9tIHRoZSA8YSBocmVmPSJodHRwOi8veG1sLmFwYWNoZS5vcmcvIiB0YXJnZXQ9Il9ibGFuayI+QXBhY2hlJ3MgCiAgICAgIFhNTCBQcm9qZWN0PC9hPiBkZXZlbG9wZWQgYnkgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iIHRhcmdldD0iX2JsYW5rIj5BcGFjaGUgCiAgICAgIFNvZnR3YXJlIEZvdW5kYXRpb248L2E+LiA8L3RkPgoKICA8L3RyPgo8L3RhYmxlPgo8L2Rpdj4KPGEgbmFtZT0iQWJvdXRPcGVuU291cmNlIj48L2E+PGJyIC8+CjxkaXYgY2xhc3M9ImhvbWVpdGVtM2NvbCI+Cgk8aDM+QWJvdXQgT3BlbiBTb3VyY2U8L2gzPgo8dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9NSBjZWxscGFkZGluZz0yIHdpZHRoPSIxMDAlIiA+CiAgPHRyPgogICAgPHRkIGFsaWduPVJJR0hUIHZhbGlnbj1UT1Agd2lkdGg9IjMlIj4mbmJzcDs8L3RkPgoKICAgIDx0ZCB3aWR0aD0iOTclIj5PcGVuIHNvdXJjZSBhbmQgb3BlbiBzb2Z0d2FyZSBkZXZlbG9wbWVudCBhcmUgYSBjb250aW5lbnQgCiAgICAgIHRvIGJlIGV4cGxvcmVkLiBUaGVzZSBhcmUgY29sbGVjdGlvbnMgb2Ygc291cmNlcyBvZiBoaXN0b3J5LCBvcGluaW9uIGFuZCAKICAgICAgYW5hbHlzaXMuIDwvdGQ+CiAgPC90cj4KICA8dHI+IAogICAgPHRkIGFsaWduPVJJR0hUIHZhbGlnbj1UT1Agd2lkdGg9IjMlIj48aW1nIHNyYz0iLi4vaW1hZ2VzL0FkYXJyb3cuZ2lmIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGJvcmRlcj0iMCI+PC90ZD4KICAgIDx0ZCB3aWR0aD0iOTclIj4gTUlUIC0gPGEgaHJlZj0iaHR0cDovL29wZW5zb3VyY2UubWl0LmVkdS9ob21lLmh0bWwiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vb3BlbnNvdXJjZS5taXQuZWR1L2hvbWUuaHRtbDwvYT4gCiAgICAgIDxiciAvPgogICAgICBGcmVlL09wZW4gU291cmNlIFJlc2VhcmNoIENvbW11bml0eSBhdCBNSVQgaGFzIGF0dHJhY3RlZCBhIHJpY2ggY29sbGVjdGlvbiAKICAgICAgb2YgcmVzZWFyY2ggcGFwZXJzIGFuZCBhbiBleHRlbnNpdmUgZGlyZWN0b3J5IG9mIHJlc2VhcmNoZXJzLiA8L3RkPgoKICA8L3RyPgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiPiBUaGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSAoT1NJKSA8YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5vcGVuc291cmNlLm9yZzwvYT48YnIgLz4KICAgICAgVGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvZG9jcy9oaXN0b3J5Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj5IaXN0b3J5IAogICAgICBvZiB0aGUgT1NJPC9hPiBnaXZlcyBhIGdvb2Qgb3ZlcnZpZXcgb2YgdGhlIGhpc3Rvcnkgb2Ygb3BlbiBzb3VyY2UsIGNvbXBsZXRlIAogICAgICB3aXRoIGxpbmtzIHRvIGltcG9ydGFudCBhbmQgaW50ZXJlc3RpbmcgZG9jdW1lbnRzLiA8L3RkPgogIDwvdHI+CgogIDx0cj4gCiAgICA8dGQgYWxpZ249UklHSFQgdmFsaWduPVRPUCB3aWR0aD0iMyUiIGhlaWdodD0iMjIiPjxpbWcgc3JjPSIuLi9pbWFnZXMvQWRhcnJvdy5naWYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgYm9yZGVyPSIwIj48L3RkPgogICAgPHRkIHdpZHRoPSI5NyUiIGhlaWdodD0iMjIiPiAKICAgICAgVGhlIE9TVEcgKE9wZW4gU291cmNlIFRlY2hub2xvZ3kgR3JvdXApLCBmb3JtZXJseSBPcGVuIFNvdXJjZSBEZXZlbG9wbWVudCAKICAgICAgICBOZXR3b3JrIChPU0ROKQogICAgICA8YSBocmVmPSJodHRwOi8vd3d3Lm9zdGcuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5vc3RnLmNvbTwvYT4gCiAgICAgICAgcHVibGlzaGVzIGEgbmV0d29yayBvZiB3ZWJzaXRlcywgaW5jbHVkaW5nIDxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvIiB0YXJnZXQ9Il9ibGFuayI+c291cmNlZm9yZ2UubmV0PC9hPiAKICAgICAgICBhbmQgPGEgaHJlZj0iaHR0cDovL3NsYXNoZG90Lm9yZy8iIHRhcmdldD0iX2JsYW5rIj5zbGFzaGRvdC5vcmc8L2E+LiAKICAgIDwvdGQ+CiAgPC90cj4KCiAgPHRyPiAKICAgIDx0ZCBhbGlnbj1SSUdIVCB2YWxpZ249VE9QIHdpZHRoPSIzJSIgaGVpZ2h0PSIyMSI+PGltZyBzcmM9Ii4uL2ltYWdlcy9BZGFycm93LmdpZiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBib3JkZXI9IjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9Ijk3JSIgaGVpZ2h0PSIyMSI+IE8nUmVpbGx5IE9wZW4gU291cmNlIDxhIGhyZWY9Imh0dHA6Ly9vcGVuc291cmNlLm9yZWlsbHkuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9vcGVuc291cmNlLm9yZWlsbHkuY29tLzwvYT4gCiAgICAgIHByb3ZpZGVzIGEgYnJvYWQgcmFuZ2Ugb2YgbGlua3MsIHJlZmVyZW5jZXMgYW5kIGxpbmtzIHRvIHB1YmxpY2F0aW9ucy4gPC90ZD4KICA8L3RyPgo8L3RhYmxlPgo8L2Rpdj4KPC9kaXY+CgpFT0hUTUw7CgoKCSMgR2VuZXJhdGUgdGhlIHdlYiBwYWdlCgkkQXBwLT5nZW5lcmF0ZVBhZ2UoJHRoZW1lLCAkTWVudSwgJE5hdiwgJHBhZ2VBdXRob3IsICRwYWdlS2V5d29yZHMsICRwYWdlVGl0bGUsICRodG1sKTsKPz4K