PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIGh0bWwKICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sPgo8aGVhZD4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vLi4vb3JnLmVjbGlwc2UucGxhdGZvcm0uZG9jLnVzZXIvYm9vay5jc3MiIC8+Cjx0aXRsZT5UaGUgV2ViIGRlcGxveW1lbnQgZGVzY3JpcHRvciBlZGl0b3I8L3RpdGxlPgo8c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0Ij4KICAgIGZ1bmN0aW9uIHBvcHVwX3dpbmRvdyggdXJsLCBpZCwgd2lkdGgsIGhlaWdodCApCiAgICB7CiAgICAgIHBvcHVwID0gd2luZG93Lm9wZW4oIHVybCwgaWQsICd0b29sYmFyPW5vLHNjcm9sbGJhcnM9bm8sbG9jYXRpb249bm8sc3RhdHVzYmFyPW5vLG1lbnViYXI9bm8scmVzaXphYmxlPW5vLHdpZHRoPScgKyB3aWR0aCArICcsaGVpZ2h0PScgKyBoZWlnaHQgKyAnLGxlZnQ9LHRvcD0nICk7CiAgICAgIHBvcHVwLmZvY3VzKCk7CiAgICB9Cjwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHNyYz0iaGVscC9saXZlSGVscC5qcyI+PC9zY3JpcHQ+PC9oZWFkPgo8Ym9keSBpZD0iY2N3ZWJ4bWwiPjxhIG5hbWU9ImNjd2VieG1sIj48IS0tIC0tPjwvYT4KCjxoMSBjbGFzcz0idG9waWN0aXRsZTEiPlRoZSBXZWIgZGVwbG95bWVudCBkZXNjcmlwdG9yIGVkaXRvcjwvaDE+CjxkaXY+PHA+VGhlIFdlYiBkZXBsb3ltZW50IGRlc2NyaXB0b3IgZWRpdG9yIGxldHMgeW91IHNwZWNpZnkgZGVwbG95bWVudCBpbmZvcm1hdGlvbgoKZm9yIG1vZHVsZXMgY3JlYXRlZCBpbiB0aGUgV2ViIGRldmVsb3BtZW50IGVudmlyb25tZW50LiBUaGUgaW5mb3JtYXRpb24gYXBwZWFycwoKaW4gdGhlIHdlYi54bWwgZmlsZS4gTm90ZSB0aGF0IHlvdSB1c2UgdGhlIFdlYiBkZXBsb3ltZW50IGRlc2NyaXB0b3IgdG8gc2V0CgpkZXBsb3ltZW50IGRlc2NyaXB0b3IgYXR0cmlidXRlcy4gWW91IGRvIG5vdCB1c2UgaXQgdG8gbWFuaXB1bGF0ZSBXZWIgcmVzb3VyY2UKCmNvbnRlbnQuIDwvcD4KPHA+VGhlIHdlYi54bWwgZmlsZSBmb3IgYSBXZWIgcHJvamVjdCBwcm92aWRlcyBpbmZvcm1hdGlvbiBuZWNlc3NhcnkgZm9yIGRlcGxveWluZwoKYSBXZWIgYXBwbGljYXRpb24gbW9kdWxlLiBJdCBpcyB1c2VkIGluIGJ1aWxkaW5nIGEgV0FSIGZpbGUgZnJvbSBhIHByb2plY3QuCgpXaGVuZXZlciB5b3UgY3JlYXRlIGEgbmV3IFdlYiBwcm9qZWN0LCBhIG1pbmltYWwgd2ViLnhtbCBmaWxlIGlzIGF1dG9tYXRpY2FsbHkKCmNyZWF0ZWQgaW4gV0VCLUlORiB1bmRlciB0aGUgcHJvamVjdCdzIFdlYiBjb250ZW50IGZvbGRlci48L3A+CjxkaXYgY2xhc3M9InAiPlRoZSBXZWIgZGVwbG95bWVudCBkZXNjcmlwdG9yIGVkaXRvciBpcyBkeW5hbWljIGFuZCBpbmNsdWRlcyBtYW55IHRhYmJlZAoKcGFnZXMgKHZpZXdzKSB0aGF0IHJlcHJlc2VudCB2YXJpb3VzIHByb3BlcnRpZXMgYW5kIHNldHRpbmdzIGluIHRoZSBkZXBsb3ltZW50CgpkZXNjcmlwdG9yLiBGb3IgZXhhbXBsZSwgeW91IGNhbiBjbGljayB0aGUgU2VydmxldHMgdGFiIHRvIGRpc3BsYXkgdGhlIFNlcnZsZXRzCgpwYWdlLCBpbiB3aGljaCB5b3UgY2FuIGFkZCBvciByZW1vdmUgc2VydmxldHMgYW5kIEpTUHMgdGhhdCBhcmUgdXNlZCBpbiB0aGUKCldlYiBhcHBsaWNhdGlvbi4gVGhlIFdlYiBkZXBsb3ltZW50IGRlc2NyaXB0b3IgZWRpdG9yIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcKCnRhYmJlZCBwYWdlczogIDx1bD48bGk+PGI+T3ZlcnZpZXc8L2I+IC0gcHJvdmlkZXMgYSBxdWljayBzdW1tYXJ5IG9mIHRoZSBjb250ZW50cyBpbiB0aGUgV2ViCgpkZXBsb3ltZW50IGRlc2NyaXB0b3IgYW5kIGxldHMgeW91IGFkZCwgcmVtb3ZlLCBvciBjaGFuZ2UgdGhlIGNvbnRlbnRzLjxwPjwvcD4KPHA+PC9wPgo8L2xpPgo8bGk+PGI+U2VydmxldHM8L2I+IC0gbGV0cyB5b3UgY3JlYXRlIGEgbmV3IHNlcnZsZXQsIGFkZCBhbiBleGlzdGluZyBzZXJ2bGV0CgpvciBKU1AgZmlsZSB0byB0aGUgZGVwbG95bWVudCBkZXNjcmlwdG9yLCBvciByZW1vdmUgdGhlIHNlbGVjdGVkIHNlcnZsZXQgb2YKCkpTUCBmaWxlIGZyb20gdGhlIGRlcGxveW1lbnQgZGVzY3JpcHRvci48cD48L3A+CjwvbGk+CjxsaT48Yj5GaWx0ZXJzPC9iPiAtIGxldHMgeW91IGNyZWF0ZSBhIG5ldyBmaWx0ZXIsIGFkZCBhbiBleGlzdGluZyBmaWx0ZXIKCnRvIHRoZSBkZXBsb3ltZW50IGRlc2NyaXB0b3IsIG9yIHJlbW92ZSB0aGUgc2VsZWN0ZWQgZmlsdGVyIGZyb20gdGhlIGRlcGxveW1lbnQKCmRlc2NyaXB0b3IuPHA+PC9wPgo8L2xpPgo8bGk+PGI+U2VjdXJpdHk8L2I+IC0gbGV0cyB5b3UgZGVmaW5lIHNlY3VyaXR5IHJvbGVzIGFuZCBzZWN1cml0eSBjb25zdHJhaW50cy48cD48L3A+CjwvbGk+CjxsaT48Yj5SZWZlcmVuY2VzPC9iPiAtIGxldHMgeW91IGFkZCBvciByZW1vdmUgcmVmZXJlbmNlcyB0byB0aGUgZGVwbG95bWVudAoKZGVzY3JpcHRvci4gVGhlIGZvbGxvd2luZyBhcmUgdGhlIHR5cGVzIG9mIHJlZmVyZW5jZXMgeW91IGNhbiBkZWZpbmUgb24gdGhpcwoKcGFnZTogIDx1bD48bGk+RUpCIHJlZmVyZW5jZSAtIGNyZWF0ZSBhIHJlZmVyZW5jZSB0byBhbiBlbnRlcnByaXNlIGJlYW4uPHA+PC9wPgo8L2xpPgo8bGk+U2VydmljZSByZWZlcmVuY2UgLSBjcmVhdGUgYSByZWZlcmVuY2UgdG8gYSBXZWIgc2VydmljZTwvbGk+CjxsaT5SZXNvdXJjZSByZWZlcmVuY2UgLSBjcmVhdGUgYSByZWZlcmVuY2UgdG8gYW4gZXh0ZXJuYWwgcmVzb3VyY2U8L2xpPgo8bGk+UmVzb3VyY2UgRW52aXJvbm1lbnQgcmVmZXJlbmNlIC0gY3JlYXRlIGEgcmVmZXJlbmNlIHRvIGFkbWluaXN0ZXJlZCBvYmplY3RzLjwvbGk+CjxsaT5KU1AgVGFnIExpYnJhcnk8L2xpPgo8L3VsPgo8cD48L3A+CjwvbGk+CjxsaT48Yj5XUyBIYW5kbGVyPC9iPiAtIGxldHMgeW91IGFkZCBhbmQgY29uZmlndXJlIGhhbmRsZXJzIGZvciBhIHNlbGVjdGVkCgpwb3J0IGNvbXBvbmVudC4gVGhpcyBpbmNsdWRlcyBzcGVjaWZ5aW5nIGEgaGFuZGxlciBkZXNjcmlwdGlvbiBhbmQgZGlzcGxheQoKbmFtZSwgc3BlY2lmeWluZyBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLCBhZGRpbmcgaW5pdGlhbCBwYXJhbWV0ZXJzLCBhbmQgYWRkaW5nCgpTT0FQIGhlYWRlcnMuIDxwPjwvcD4KPC9saT4KPGxpPjxiPlBhZ2VzPC9iPiAtIGxldHMgeW91IGFkZCBvciByZW1vdmUgd2VsY29tZSBhbmQgZXJyb3IgcGFnZXMgdG8gdGhlIGRlcGxveW1lbnQKCmRlc2NyaXB0b3IuIEFsc28gYWxsb3dzIHlvdSB0byBkZWZpbmUgdGhlIGxvZ2luLWNvbmZpZyBlbGVtZW50IGFuZCBhZGQgZXhjZXB0aW9uCgp0eXBlcyB0byBlcnJvciBwYWdlcy48cD48L3A+CjwvbGk+CjxsaT48Yj5WYXJpYWJsZXM8L2I+IC0gbGV0cyB5b3UgYWRkIG9yIHJlbW92ZSBsaXN0ZW5lcnMsIGVudmlyb25tZW50IHZhcmlhYmxlcywKCnRhZyBsaWIgcmVmZXJlbmNlcywgY29udGV4dCBwYXJhbWV0ZXJzIGFuZCBNSU1FIE1hcHBpbmdzLjxwPjwvcD4KPC9saT4KPGxpPjxiPldTIEV4dGVuc2lvbnM8L2I+IGFuZCA8Yj5XUyBCaW5kaW5nczwvYj4gLSBUaGVzZSBwYWdlcywgd2hpY2ggYXBwZWFyCgpvbmx5IGlmIHlvdSBoYXZlIGNyZWF0ZWQgYSBXZWIgc2VydmljZSwgbGV0IHlvdSBjb25maWd1cmUgZXh0ZW5zaW9uIGFuZCBiaW5kaW5nCgppbmZvcm1hdGlvbiBmb3IgdGhlIFdlYiBzZXJ2aWNlLjxwPjwvcD4KPC9saT4KPGxpPjxiPkV4dGVuc2lvbnM8L2I+IC0gbGV0cyB5b3Ugc3BlY2lmeSBzZXR0aW5ncyBmb3IgV2ViU3BoZXJlPHN1cD6uPC9zdXA+IGV4dGVuc2lvbnMKCihzdWNoIGFzIGVuYWJsaW5nIHJlbG9hZGluZykuIE90aGVyIHNldHRpbmdzIGluY2x1ZGUgTUlNRSBmaWx0ZXJzLCBKU1AgYXR0cmlidXRlcywKCmZpbGUgc2VydmluZyBhdHRyaWJ1dGVzLCBpbnZva2VyIGF0dHJpYnV0ZXMsIGFuZCBzZXJ2bGV0IGNhY2hpbmcgY29uZmlndXJhdGlvbnMuIDxwPjwvcD4KPC9saT4KPGxpPjxiPlNvdXJjZTwvYj4gLSBsZXRzIHlvdSBlZGl0IHRoZSB3ZWIueG1sIHNvdXJjZSBkaXJlY3RseS48cD48L3A+CjwvbGk+CjwvdWw+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwIj5BbHRob3VnaCB5b3UgY2FuIGVkaXQgd2ViLnhtbCBkaXJlY3RseSwgd2UgcmVjb21tZW5kIHRoYXQgeW91IGVkaXQgdGhlCgptdWx0aXBsZSB0YWJiZWQgcGFnZXMgaW4gdGhlIFdlYiBEZXBsb3ltZW50IERlc2NyaXB0b3IgZWRpdG9yLiBBcyB5b3Ugc3BlY2lmeQoKZGVwbG95bWVudCBpbmZvcm1hdGlvbiBpbiB0aGVzZSB0YWJiZWQgcGFnZXMsIHRoZSBlZGl0b3IgYXV0b21hdGljYWxseSBpbmNvcnBvcmF0ZXMKCnRoZSBhcHByb3ByaWF0ZSBYTUwgdGFnZ2luZyBpbiB3ZWIueG1sIChvciBpbiB0aGUgYXBwcm9wcmlhdGUgLnhtaSBmaWxlKS4gPHA+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icCI+SW4gYWRkaXRpb24gdG8gdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gaW4gdGhlIHdlYi54bWwgZmlsZSwgb3RoZXIKCmRlcGxveW1lbnQgZGVzY3JpcHRvcnMgaW4gYSBXZWIgcHJvamVjdCBpbmNsdWRlIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb246IDx1bD48bGk+QmluZGluZyBpbmZvcm1hdGlvbiAtICBpbmZvcm1hdGlvbiBpcyByZXF1aXJlZCBieSB0aGUgYXBwbGljYXRpb24gc2VydmVyCgp0byBiaW5kIHRoZSBkZXBsb3ltZW50IGluZm9ybWF0aW9uIHNwZWNpZmllZCBpbiB0aGUgYXBwbGljYXRpb24gdG8gYSBzcGVjaWZpYwoKaW5zdGFuY2UuIEZvciBleGFtcGxlLCBpdCBtYXkgbWFwIGEgbG9naWNhbCBuYW1lIG9mIGFuIGV4dGVybmFsIGRlcGVuZGVuY3kKCm9yIHJlc291cmNlIHRvIHRoZSBhY3R1YWwgcGh5c2ljYWwgSk5ESSBuYW1lIG9mIHRoZSByZXNvdXJjZS4gSXQgYWxzbyBtYXkKCm1hcCBzZWN1cml0eSByb2xlIGluZm9ybWF0aW9uIHRvIGEgc2V0IG9mIGdyb3VwcyBvciB1c2Vycy48cD48L3A+CjwvbGk+CjxsaT5JQk08c3VwPq48L3N1cD4gYmluZGluZwoKYW5kIGV4dGVuc2lvbnMgaW5mb3JtYXRpb24gKGlibS13ZWItYm5kLnhtaSBhbmQgaWJtLXdlYi1leHQueG1pIGZpbGVzKSAtIGFkZGl0aW9ucwoKdG8gdGhlIHN0YW5kYXJkIGRlc2NyaXB0b3JzIGZvciBKMkVFIGFwcGxpY2F0aW9ucywgV2ViIGFwcGxpY2F0aW9ucywgYW5kIGVudGVycHJpc2UKCmJlYW5zLiBUaGUgZXh0ZW5zaW9ucyBlbmFibGUgRW50ZXJwcmlzZSBFZGl0aW9uIG9yIGxlZ2FjeSAob2xkZXIpIHN5c3RlbXMKCnRvIHdvcmsgaW4gdGhlIGN1cnJlbnQgV2ViU3BoZXJlIEFwcGxpY2F0aW9uIFNlcnZlciBlbnZpcm9ubWVudC4KClRoZXkgYXJlIGFsc28gdXNlZCB0byBzcGVjaWZ5IGFwcGxpY2F0aW9uIGJlaGF2aW9yIHRoYXQgaXMgdmVuZG9yLXNwZWNpZmljLAoKdW5kZWZpbmVkIGluIGEgY3VycmVudCBzcGVjaWZpY2F0aW9uLCBvciBleHBlY3RlZCB0byBiZSBpbmNsdWRlZCBpbiBhIGZ1dHVyZQoKc3BlY2lmaWNhdGlvbi4gPHA+PC9wPgo8L2xpPgo8L3VsPgpJZiB5b3UgaW1wb3J0IGEgV0FSIGZpbGUgaW50byBhbiBleGlzdGluZyBXZWIgcHJvamVjdCwgeW91CgpjYW4gaW5jbHVkZSB0aGUgZGVwbG95bWVudCBkZXNjcmlwdG9yIGZpbGVzIGluY2x1ZGVkIGluIHRoZSBXQVIgZmlsZSBhcyB0aGUKCldlYiBwcm9qZWN0J3MgbmV3IGRlcGxveW1lbnQgZGVzY3JpcHRvci4gQW55IHNwZWNpZmljIGRlcGxveW1lbnQgaW5mb3JtYXRpb24KCmFscmVhZHkgZGVmaW5lZCBpbiB0aGVzZSBmaWxlcyBpcyB1c2VkIHdoZW4gZGVwbG95aW5nIHRoZSB1cGRhdGVkIFdlYiBhcHBsaWNhdGlvbi48L2Rpdj4KPHA+VGhlIHdlYi54bWwgZmlsZSBjYW4gYmUgdXBkYXRlZCBhdXRvbWF0aWNhbGx5IHRvIHJlZmxlY3QgY2hhbmdlcyB0byB5b3VyCgpXZWIgcHJvamVjdC4gRm9yIGluc3RhbmNlLCB3aGVuIHlvdSB1c2UgdGhlIE5ldyBTZXJ2bGV0IHdpemFyZCB0byBjcmVhdGUgYQoKbmV3IHNlcnZsZXQgaW4gYSBXZWIgcHJvamVjdCwgdGhlIHdpemFyZCBwbGFjZXMgdGhlIGFwcHJvcHJpYXRlIHNlcnZsZXQgZW50cnkKCmludG8gdGhlIHdlYi54bWwgZmlsZS48L3A+CjwvZGl2Pgo8ZGl2PjxwPjxiIGNsYXNzPSJyZWxjb25jZXB0c2hkIj5SZWxhdGVkIGNvbmNlcHRzPC9iPjxiciAvPgo8YSBocmVmPSIuLi9vcmcuZWNsaXBzZS53c3Qud2VidG9vbHNjb3JlLmRvYy51c2VyL3RvcGljcy9jd2VicHJvamVjdHMuaHRtbCI+V2ViIHByb2plY3RzPC9hPjxiciAvPgo8YSBocmVmPSIuLi9vcmcuZWNsaXBzZS53c3Qud2VidG9vbHNjb3JlLmRvYy51c2VyL3RvcGljcy9jY3d0b3Zlci5odG1sIj5XZWIgYXBwbGljYXRpb24gb3ZlcnZpZXc8L2E+PGJyIC8+CjxhIGhyZWY9Ii4uL29yZy5lY2xpcHNlLndzdC53ZWJ0b29sc2NvcmUuZG9jLnVzZXIvdG9waWNzL2N3c2VydmJuLmh0bWwiPlNlcnZsZXRzPC9hPjxiciAvPgo8YSBocmVmPSIuLi9vcmcuZWNsaXBzZS53c3Qud2VidG9vbHNjb3JlLmRvYy51c2VyL3RvcGljcy9jcGRqc3BzLmh0bWwiPkphdmFTZXJ2ZXIgUGFnZXMgKEpTUCkgdGVjaG5vbG9neTwvYT48YnIgLz4KPC9wPgo8cD48YiBjbGFzcz0icmVsdGFza3NoZCI+UmVsYXRlZCB0YXNrczwvYj48YnIgLz4KPGEgaHJlZj0idHdlZHR3YnguaHRtbCIgdGl0bGU9IiI+Q29uZmlndXJpbmcgV2ViIGFwcGxpY2F0aW9ucyB1c2luZyB0aGUgV2ViIGRlcGxveW1lbnQgZGVzY3JpcHRvciBlZGl0b3I8L2E+PGJyIC8+CjxhIGhyZWY9InR3c3J2d2l6Lmh0bWwiIHRpdGxlPSIiPkNyZWF0aW5nIHNlcnZsZXRzPC9hPjxiciAvPgo8YSBocmVmPSJ0d2ltcHdhci5odG1sIiB0aXRsZT0iIj5JbXBvcnRpbmcgV2ViIGFyY2hpdmUgKFdBUikgZmlsZXM8L2E+PGJyIC8+CjwvcD4KPC9kaXY+PHA+CgkJKEMpIENvcHlyaWdodCBJQk0gQ29ycG9yYXRpb24gMjAwMCwgMjAwNS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KPC9wPgo8L2JvZHk+CjwvaHRtbD4=