PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIGh0bWwKICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sPgo8aGVhZD4KPCEtLSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBDb3B5cmlnaHQgKGMpIDIwMDAsIDIwMDUgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCiAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCiAqIAogKiBDb250cmlidXRvcnM6CiAqICAgICBJQk0gQ29ycG9yYXRpb24gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIC0tPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi8uLi9vcmcuZWNsaXBzZS53c3QuZG9jLnVzZXIvY29tbW9uLmNzcyIgLz4KPHRpdGxlPkNvbmZpZ3VyaW5nIFdlYiBhcHBsaWNhdGlvbnMgdXNpbmcgdGhlIFdlYiBkZXBsb3ltZW50IGRlc2NyaXB0b3IgZWRpdG9yPC90aXRsZT4KPC9oZWFkPgo8Ym9keSBpZD0idHdlZHR3YngiPjxhIG5hbWU9InR3ZWR0d2J4Ij48IS0tIC0tPjwvYT4KCjxoMSBjbGFzcz0idG9waWN0aXRsZTEiPkNvbmZpZ3VyaW5nIFdlYiBhcHBsaWNhdGlvbnMgdXNpbmcgdGhlIFdlYiBkZXBsb3ltZW50IGRlc2NyaXB0b3IgZWRpdG9yPC9oMT4KPGRpdj48ZGl2IGNsYXNzPSJza2lwc3BhY2UiPiA8cD5XaGVuIHlvdSBjcmVhdGUgYSBXZWIgcHJvamVjdCwgdGhlIE5ldyBXZWIgUHJvamVjdCB3aXphcmQgcGxhY2VzCgogYSB3ZWIueG1sIGZpbGUgaW4gdGhlIHByb2plY3QncyBXRUItSU5GIGRpcmVjdG9yeS4gVGhpcyBmaWxlIGlzIHVzZWQgdG8gc3BlY2lmeQoKZGVwbG95bWVudCBpbmZvcm1hdGlvbiBmb3IgbW9kdWxlcyBjcmVhdGVkIGluIHRoZSBXZWIgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQKClRvIG9wZW4gdGhlIHdlYi54bWwgZmlsZSwgIGRvdWJsZS1jbGljayBpdCAob3IgZG91YmxlLWNsaWNrIHRoZSBEZXBsb3ltZW50CgpEZXNjcmlwdG9yIGljb24gaW4gdGhlIFByb2plY3QgIEV4cGxvcmVyIHZpZXcpLiBUaGUgV2ViIGRlcGxveW1lbnQgZGVzY3JpcHRvcgoKZWRpdG9yIG9wZW5zIGluIHRoZSBlZGl0aW5nICBwYW5lLjwvcD4KICA8cD5JdCBpcyByZWNvbW1lbmRlZCB0aGF0IHlvdSB1c2UKCnRoZSB0YWJiZWQgcGFnZXMgKHZpZXdzKSB0byBjb25zdHJ1Y3QgIHRoZSBkZXBsb3ltZW50IGRlc2NyaXB0b3IgZm9yIHlvdXIKCldlYiBhcHBsaWNhdGlvbi4gRXZlbiB0aG91Z2ggdGhlIFdlYiBkZXBsb3ltZW50ICBkZXNjcmlwdG9yIGVkaXRvciBkb2VzIHByb3ZpZGVzCgphIHNvdXJjZSBwYWdlIG9mIHRoZSB3ZWIueG1sIGZpbGUgKGZyb20gdGhlIDxzcGFuPlNvdXJjZTwvc3Bhbj4gdGFiKSwgIHVzaW5nIHRoZQoKdGFiYmVkIHBhZ2VzIGlzIGVhc2llciBhbmQgaW50cm9kdWNlcyBmZXdlciBlcnJvcnMuIEFzIHlvdSBtYWtlIGNoYW5nZXMgb24KCnRoZXNlIHRhYmJlZCBwYWdlcywgdGhlIHdlYi54bWwgZmlsZSBpcyB1cGRhdGVkIGF1dG9tYXRpY2FsbHkuICBGb3IgaW5zdGFuY2UsCgp3aGVuIHlvdSB1c2UgdGhlIE5ldyBTZXJ2bGV0IHdpemFyZCB0byBjcmVhdGUgYSBzZXJ2bGV0IGluIGEgIFdlYiBwcm9qZWN0LAoKdGhlIGFwcHJvcHJpYXRlIHNlcnZsZXQgZW50cnkgaXMgYXV0b21hdGljYWxseSBpbnNlcnRlZCBpbnRvICB0aGUgd2ViLnhtbAoKZmlsZS48L3A+CiAgPHA+SW4gYWRkaXRpb24gdG8gdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gaW4gIHRoZSB3ZWIueG1sCgpmaWxlLCB5b3UgY2FuIGFsc28gdXNlIHRoaXMgZWRpdG9yIHRvIGVkaXQgb3RoZXIgZGVwbG95bWVudCBkZXNjcmlwdG9ycyAgaW4KCnRoZSBXZWIgcHJvamVjdCwgaW5jbHVkaW5nIGluZm9ybWF0aW9uIG9uIGJpbmRpbmdzIGFuZCBJQk08c3VwPq48L3N1cD4gZXh0ZW5zaW9ucyAoaWJtLXdlYi1ibmQueG1pCgogYW5kIGlibS13ZWItZXh0LnhtaSBmaWxlcykuPC9wPgo8cD5UbyBlZGl0IHRoZSBkZXBsb3ltZW50IGRlc2NyaXB0b3IsIGNsaWNrCgogdGhlIHRhYmJlZCBwYWdlcyB0byBsb2NhdGUgYXR0cmlidXRlcyB0aGF0IHlvdSB3aXNoIHRvIGFkZCwgZWRpdCBvciByZW1vdmUuCgogSW4gYWRkaXRpb24sIHRoZSBzZWN0aW9ucyBpbiB0aGUgT3ZlcnZpZXcgcGFnZSBjb250YWluIGxpbmtzIHRvIGV4aXN0aW5nCgplbGVtZW50cyBvZiB0aGUgZGVwbG95bWVudCBkZXNjcmlwdG9yLiBDbGljayB0aGUgbGlua3MgdG8gb3BlbiB0aGUgYXBwcm9wcmlhdGUKCmVkaXRvciAgcGFnZSB0byBtYWtlIHVwZGF0ZXMgb3IgYWRkaXRpb25zLjwvcD4KIDwvZGl2Pgo8L2Rpdj4KPGRpdj48cD48YiBjbGFzcz0icmVsY29uY2VwdHNoZCI+UmVsYXRlZCBjb25jZXB0czwvYj48YnIgLz4KPGEgaHJlZj0iY2N3ZWJ4bWwuaHRtbCIgdGl0bGU9IiI+VGhlIFdlYiBkZXBsb3ltZW50IGRlc2NyaXB0b3IgZWRpdG9yPC9hPjxiciAvPgo8L3A+CjxwPjxiIGNsYXNzPSJyZWx0YXNrc2hkIj5SZWxhdGVkIHRhc2tzPC9iPjxiciAvPgo8YSBocmVmPSJ0d2VkdHdieDEuaHRtbCIgdGl0bGU9IiI+V29ya2luZyBpbiB0aGUgT3ZlcnZpZXcgcGFnZTwvYT48YnIgLz4KPGEgaHJlZj0idHdlZHR3YngyLmh0bWwiIHRpdGxlPSIiPldvcmtpbmcgaW4gdGhlIFNlcnZsZXRzIHBhZ2U8L2E+PGJyIC8+CjxhIGhyZWY9InR3ZWR0d2J4Zi5odG1sIiB0aXRsZT0iIj5Xb3JraW5nIGluIHRoZSBGaWx0ZXJzIFBhZ2U8L2E+PGJyIC8+CjxhIGhyZWY9InR3ZWR0d2J4My5odG1sIiB0aXRsZT0iIj5Xb3JraW5nIGluIHRoZSBTZWN1cml0eSBwYWdlPC9hPjxiciAvPgo8YSBocmVmPSJ0d2VkdHdieDQuaHRtbCIgdGl0bGU9IiI+V29ya2luZyBpbiB0aGUgUmVmZXJlbmNlcyBQYWdlPC9hPjxiciAvPgo8IS0tIDxhIGhyZWY9InR3ZWR0d2J4d3NoLmh0bWwiIHRpdGxlPSIiPldvcmtpbmcgaW4gdGhlIFdTIEhhbmRsZXIgcGFnZTwvYT48YnIgLz4tLT4KPGEgaHJlZj0idHdlZHR3YnhwLmh0bWwiIHRpdGxlPSIiPldvcmtpbmcgaW4gdGhlIFBhZ2VzIHBhZ2U8L2E+PGJyIC8+CjxhIGhyZWY9InR3ZWR0d2J4di5odG1sIiB0aXRsZT0iIj5Xb3JraW5nIGluIHRoZSBWYXJpYWJsZXMgUGFnZTwvYT48YnIgLz4KPCEtLSA8YSBocmVmPSJ0d2VkdHdieHdzZS5odG1sIiB0aXRsZT0iIj5Xb3JraW5nIGluIHRoZSBXUyBFeHRlbnNpb25zIFBhZ2U8L2E+PGJyIC8+CjxhIGhyZWY9InR3ZWR0d2J4d3NiLmh0bWwiIHRpdGxlPSIiPldvcmtpbmcgaW4gdGhlIFdTIEJpbmRpbmcgUGFnZTwvYT48YnIgLz4tLT4KPGEgaHJlZj0idHdlZHR3YnhlLmh0bWwiIHRpdGxlPSIiPldvcmtpbmcgaW4gdGhlIEV4dGVuc2lvbnMgUGFnZTwvYT48YnIgLz4KPC9wPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+