PGh0bWw+PGhlYWQ+DQo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2RlZmF1bHRfc3R5bGUuY3NzIj4NCjx0aXRsZT5FY2xpcHNlIEZvdW5kYXRpb248L3RpdGxlPg0KPC9oZWFkPg0KPGJvZHkgdGV4dD0iIzAwMDAwMCIgYmdjb2xvcj0iI2ZmZmZmZiIgbGluaz0iIzAwMDBlZSIgdmxpbms9IiM1NTFhOGIiIGFsaW5rPSIjZmYwMDAwIj4NCjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz01IGNlbGxwYWRkaW5nPTIgd2lkdGg9IjEwMCUiID4NCiAgPHRyPiANCiAgICA8dGQgYWxpZ249bGVmdCB3aWR0aD0iNzIlIj4gPGZvbnQgY2xhc3M9aW5kZXh0b3A+IEVjbGlwc2VDb24gQ29tbXVuaXR5IFJlbGVhc2UgPC9mb250Pjxicj4NCiAgICA8Zm9udCBjbGFzcz1pbmRleHN1Yj4mbmJzcDsgPC9mb250PjwvdGQ+DQogICAgPHRkIHdpZHRoPSIyOCUiPjxpbWcgc3JjPSIuLi8uLi9pbWFnZXMvSWRlYS5qcGciIGhlaWdodD04NiB3aWR0aD0xMjA+PC90ZD4NCiAgPC90cj4NCjwvdGFibGU+DQo8dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9NSBjZWxscGFkZGluZz0yIHdpZHRoPSIxMDAlIiA+DQogIDx0cj4gDQogICAgPHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzAwODBDMCI+PGI+PGZvbnQgY29sb3I9IiNGRkZGRkYiIGZhY2U9IkFyaWFsLEhlbHZldGljYSI+UHJlc3MgcmVsZWFzZTwvZm9udD48L2I+PC90ZD4NCiAgPC90cj4NCiAgPHRyPiANCiAgICA8dGQ+IDxicj4NCiAgICAgIDxoMSBBTElHTj0iQ0VOVEVSIj48Yj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjE2LjBwdDtmb250LWZhbWlseTpBcmlhbDsiVGltZXMgTmV3IFJvbWFuIic+PGI+IA0KICAgICAgICBFY2xpcHNlIENvbW11bml0eSBUaHJpdmVzIGF0IEVjbGlwc2VDb24gMjAwNTwvYj48L3NwYW4+PC9iPjwvaDE+DQogICAgICA8UD48c3Ryb25nPiBFQ0xJUFNFQ09OLCBCVVJMSU5HQU1FLCBDQTwvc3Ryb25nPiAmbWRhc2g7IDxzdHJvbmc+TWFyY2ggMSwgMjAwNTwvc3Ryb25nPiZtZGFzaDtUaGUgRWNsaXBzZSBGb3VuZGF0aW9uIHRvZGF5IGFubm91bmNlZCB3aWRlc3ByZWFkIHBhcnRpY2lwYXRpb24gZnJvbSB0aGUgRWNsaXBzZSBjb21tdW5pdHkgaW4gaXRzIHNlY29uZCBhbm51YWwgdXNlciBzaG93IGFuZCBleHBvc2l0aW9uLCBFY2xpcHNlQ29uIDIwMDUsIHdoaWNoIGlzIHNvbGQtb3V0LiBUaGUgc2hvdyBmZWF0dXJlcyAzNyBleGhpYml0b3JzIGFuZCBicm9hZCBhdHRlbmRhbmNlIGZyb20gbWVtYmVyIGNvbXBhbmllcywgaW5jbHVkaW5nIGZpdmUgbmV3IFN0cmF0ZWdpYyBEZXZlbG9wZXJzLiA8L3A+DQogICAgICA8cD4gJmxkcXVvO1RoZSBFY2xpcHNlIGVjb3N5c3RlbSBoYXMgYmVlbiBpbnN0cnVtZW50YWwgaW4gZHJpdmluZyB0aGUgcGVydmFzaXZlbmVzcyBvZiB0aGUgRWNsaXBzZSBwbGF0Zm9ybSwmcmRxdW87IHNhaWQgTWlrZSBNaWxpbmtvdmljaCwgZXhlY3V0aXZlIGRpcmVjdG9yLCBFY2xpcHNlIEZvdW5kYXRpb24uICZsZHF1bztUaGlzIHdlZWssIG1lbWJlciBjb21wYW5pZXMgYXJlIGdhdGhlcmVkIGFnYWluIGZvciBvdXIgc2Vjb25kIGFubnVhbCBjb25mZXJlbmNlLCBhbmQgdGhleSBhcmUgYnJpbmdpbmcgZm9yd2FyZCBuZXcgYW5kIGVuaGFuY2VkIEVjbGlwc2UtYmFzZWQgc29sdXRpb25zLiBUaGVzZSBhbm5vdW5jZW1lbnRzIGRlbW9uc3RyYXRlIGEgcmVhbCBjb21taXRtZW50IHRvIGdyb3cgdGhlIEVjbGlwc2UgZWNvc3lzdGVtIGFuZCBwcm9wZWwgY29tbWVyY2lhbCBhZG9wdGlvbi4mcmRxdW87IDwvcD4NCiAgICAgIDxwPk5ld3MgaGlnaGxpZ2h0cyBmcm9tIEVjbGlwc2UgbWVtYmVycyBpbmNsdWRlOiA8L3A+DQogICAgICA8dWw+DQogICAgICAgIDxsaT4gQWNjZWxlcmF0ZWQgVGVjaG5vbG9neSZyZWc7LCBhIE1lbnRvciBHcmFwaGljcyBkaXZpc2lvbiAoTmFzZGFxOiBNRU5UKSwgdG9kYXkgYW5ub3VuY2VkIGl0cyBOdWNsZXVzJnJlZzsgRURHRSBzb2Z0d2FyZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBub3cgc3VwcG9ydHMgRWNsaXBzZSB2ZXJzaW9uIDMuMCwgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBvcGVuIGZyYW1ld29yay4gVGhlIE51Y2xldXMgRURHRSBzb2Z0d2FyZSBwcm92aWRlcyBkZXZlbG9wZXJzIHdpdGggYSBtb3JlIGFkdmFuY2VkIGVtYmVkZGVkIHRvb2wgc3VpdGUgdGhhdCBhbGxvd3MgdGhlbSB0byBidWlsZCwgY29tcGlsZSwgZGVidWcgYW5kIGRlcGxveSBlbWJlZGRlZCBhcHBsaWNhdGlvbnMgbW9yZSBxdWlja2x5IGFuZCBlYXNpbHkuIFZpc2l0IDxhIGhyZWY9Imh0dHA6Ly93d3cuYWNjZWxlcmF0ZWR0ZWNobm9sb2d5LmNvbS9wcmVzc3JlbC9hdF9FREdFX0VjbGlwc2UuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuYWNjZWxlcmF0ZWR0ZWNobm9sb2d5LmNvbS9wcmVzc3JlbC9hdF9FREdFX0VjbGlwc2UuaHRtbDwvYT4uIDwvbGk+DQogICAgICA8L3VsPiAgICAgIA0KICAgICAgPHVsPg0KICAgICAgICA8bGk+IEJFQSBTeXN0ZW1zLCBJbmMuIChOYXNkYXE6IEJFQVMpIGpvaW5lZCB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uIGFzIGEgU3RyYXRlZ2ljIERldmVsb3BlciBhbmQgQm9hcmQgTWVtYmVyLiBCRUEgd2FzIGVsZWN0ZWQgdG8gY28tbGVhZCB0aGUgV2ViIFRvb2xzIFBsYXRmb3JtIChXVFApIHByb2plY3QuIEJFQSBpcyBwcm9wb3NpbmcgYSBuZXcgTGFuZ3VhZ2UgRGV2ZWxvcG1lbnQgVG9vbHMgcHJvamVjdCBhbmQgaXMgYWxzbyBtZXJnaW5nIGl0cyBvcGVuIHNvdXJjZSBBc3BlY3RXZXJreiBwcm9qZWN0IHdpdGggdGhlIEVjbGlwc2UgQXNwZWN0SiBwcm9qZWN0LiBTZWU6IA0KICAgICAgICAgIDxibG9ja3F1b3RlPg0KICAgICAgICAgICAgPHA+PGEgaHJlZj0iaHR0cDovL2JlYS5jb20vZnJhbWV3b3JrLmpzcD9DTlQ9cHIwMTQyMS5odG0mRlA9L2NvbnRlbnQvbmV3c19ldmVudHMvcHJlc3NfcmVsZWFzZXMvMjAwNSZyZWY9UFIxIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2JlYS5jb20vZnJhbWV3b3JrLmpzcD9DTlQ9cHIwMTQyMS5odG0mYW1wO0ZQPS9jb250ZW50L25ld3NfZXZlbnRzL3ByZXNzX3JlbGVhc2VzLzIwMDUmYW1wO3JlZj1QUjE8L2E+LiA8L3A+DQogICAgICAgICAgICA8cD48YSBocmVmPSJodHRwOi8vd3d3LmJlYS5jb20vZnJhbWV3b3JrLmpzcD9DTlQ9cHIwMTQyMy5odG0mRlA9L2NvbnRlbnQvbmV3c19ldmVudHMvcHJlc3NfcmVsZWFzZXMvMjAwNSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuYmVhLmNvbS9mcmFtZXdvcmsuanNwP0NOVD1wcjAxNDIzLmh0bSZhbXA7RlA9L2NvbnRlbnQvbmV3c19ldmVudHMvcHJlc3NfcmVsZWFzZXMvMjAwNTwvYT48L3A+DQogICAgICAgICAgICA8cD48YSBocmVmPSJodHRwOi8vd3d3LmJlYS5jb20vZnJhbWV3b3JrLmpzcD9DTlQ9cHIwMTQyMi5odG0mRlA9L2NvbnRlbnQvbmV3c19ldmVudHMvcHJlc3NfcmVsZWFzZXMvMjAwNSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuYmVhLmNvbS9mcmFtZXdvcmsuanNwP0NOVD1wcjAxNDIyLmh0bSZhbXA7RlA9L2NvbnRlbnQvbmV3c19ldmVudHMvcHJlc3NfcmVsZWFzZXMvMjAwNTwvYT48L3A+DQogICAgICAgICAgPC9ibG9ja3F1b3RlPg0KICAgICAgICA8L2xpPg0KICAgICAgICA8bGk+IEJvcmxhbmQgKE5hc2RhcTogQk9STCkgYmVjYW1lIGEgU3RyYXRlZ2ljIERldmVsb3BlciBNZW1iZXIgb2YgRWNsaXBzZSBGb3VuZGF0aW9uLiBSYWFqIFNoaW5kZSwgdmljZSBwcmVzaWRlbnQgb2YgcHJvZHVjdCBzdHJhdGVneSBhbmQgQXJjaGl0ZWN0dXJlIGF0IEJvcmxhbmQgd2lsbCB0YWtlIGEgc2VhdCBvbiB0aGUgRWNsaXBzZSBCb2FyZCBvZiBEaXJlY3RvcnMuIEJvcmxhbmQgaGFzIGJlZW4gYW4gRWNsaXBzZSBtZW1iZXIgc2luY2UgdGhlIGluY2VwdGlvbiBvZiBFY2xpcHNlLiBTZWUgPGEgaHJlZj0iaHR0cDovL3d3dy5ib3JsYW5kLmNvbS9uZXdzL3ByZXNzX3JlbGVhc2VzLzIwMDUvMDJfMjhfMDVfYm9ybGFuZF9hbXBsaWZpZXNfZWNsaXBzZV9zdXBwb3J0Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmJvcmxhbmQuY29tL25ld3MvcHJlc3NfcmVsZWFzZXMvMjAwNS8wMl8yOF8wNV9ib3JsYW5kX2FtcGxpZmllc19lY2xpcHNlX3N1cHBvcnQuaHRtbDwvYT4uIDwvbGk+DQogICAgICA8L3VsPg0KICAgICANCiAgICAgIDx1bD4NCiAgICAgICAgPGxpPiBPcGVubWFrZSBieSBDYXRhbHlzdCBTeXN0ZW1zIENvcnBvcmF0aW9uIGJlY2FtZSBvbmUgb2YgdGhlIGZpcnN0IHByb2R1Y3RzIHRvIHJlY2VpdmUgdGhlICZsZHF1bztSZWFkeSBmb3IgUmF0aW9uYWwgU29mdHdhcmUmcmRxdW87IENlcnRpZmljYXRpb24gZnJvbSBJQk0uIFRoaXMgY2VydGlmaWNhdGlvbiBndWFyYW50ZWVzIHRoYXQgT3Blbm1ha2UgcmVtYWlucyBhIHdlbGwgaW50ZWdyYXRlZCBidWlsZCBzb2x1dGlvbiBmb3IgdGhlIElCTSBkZXZlbG9wbWVudCBwbGF0Zm9ybS4gVGhlIGNlcnRpZmljYXRpb24gdmFsaWRhdGVzIG1lZXRpbmcgdGhlIHJlcXVpcmVtZW50cyBvZiBSYXRpb25hbCBTb2Z0d2FyZSBBcmNoaXRlY3QvUmF0aW9uYWwgQXBwbGljYXRpb24gRGV2ZWxvcGVyL1JhdGlvbmFsIFYzLjAgYW5kIFdlYiBEZXZlbG9wZXIgVjYuIFNlZSA8YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5tYWtlLmNvbS9kb2NzL09wZW5tYWtlUmVhZHlGb3JSYXRpb25hbC5wZGYiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lm9wZW5tYWtlLmNvbS9kb2NzL09wZW5tYWtlUmVhZHlGb3JSYXRpb25hbC5wZGY8L2E+LiA8L2xpPg0KICAgICAgPC91bD4gIA0KICAgICAgPHVsPg0KICAgICAgICA8bGk+IENvbXB1dGVyIEFzc29jaWF0ZXMgYmVjYW1lIGEgU3RyYXRlZ2ljIERldmVsb3BlciBNZW1iZXIgb2YgRWNsaXBzZSBGb3VuZGF0aW9uIGFuZCB3aWxsIHRha2UgYSBzZWF0IG9uIHRoZSBCb2FyZCBvZiBEaXJlY3RvcnMuIFRoZSBjb21wYW55IGpvaW5lZCBFY2xpcHNlIGFzIG1lbWJlciBpbiBEZWNlbWJlciAyMDA0IGFuZCB3YXMgZWxlY3RlZCB0byBsZWFkIHRoZSBUUFRQIE1vbml0b3JpbmcgVG9vbHMgcHJvamVjdCwgYSBzdWItcHJvamVjdCBvZiB0aGUgVGVzdCBhbmQgUGVyZm9ybWFuY2UgVG9vbHMgUGxhdGZvcm0gKFRQVFApIFByb2plY3QuIFNlZSA8YSBocmVmPSJodHRwOi8vd3d3My5jYS5jb20vcHJlc3MvUHJlc3NSZWxlYXNlLmFzcHg/Q0lEPTY3MTQ2IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dzMuY2EuY29tL3ByZXNzL1ByZXNzUmVsZWFzZS5hc3B4P0NJRD02NzE0NjwvYT4uIDwvbGk+DQogICAgICA8L3VsPg0KICAgICAgIDx1bD4NCiAgICAgICAgPGxpPiBOaWdlbCBDaGVzaGlyZSwgQ0VPIG9mIEVuZXJqeSBTb2Z0d2FyZSwgdGhlIGdsb2JhbCBsZWFkZXIgaW4gZGV2ZWxvcGluZyBzb2Z0d2FyZSB0b29scyBmb3IgSmF2YSBhcHBsaWNhdGlvbiBkZXZlbG9wZXJzLCB3aWxsIG9mZmVyIGEgJ3NuZWFrIHBlYWsnIGF0IGEgbWFqb3IgbmV3IGFkZGl0aW9uIHRvIHRoZSBFbmVyankgdG9vbHMgcHJvZHVjdCBsaW5lLiBFZGl0aW9uIDcsIHRvIGJlIG9mZmljaWFsbHkgcmVsZWFzZWQgbGF0ZXIgdGhpcyBzcHJpbmcsIHJlcHJlc2VudHMgYSBzaWduaWZpY2FudCB0b29sIHVwZ3JhZGUgYW5kIHByb2R1Y3Qgb2ZmZXJpbmcuIFNlZSA8YSBocmVmPSJodHRwOi8vd3d3LmVuZXJqeS5jb20vZWNsaXBzZWNvbm5ld3MiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmVuZXJqeS5jb20vZWNsaXBzZWNvbm5ld3M8L2E+LiA8L2xpPg0KICAgICAgPC91bD4NCiAgICAgICA8dWw+DQogICAgICAgIDxsaT4gRXhhZGVsLCBhIGxlYWRpbmcgcHJvdmlkZXIgb2YgYWR2YW5jZWQgT3BlbiBTb3VyY2UgaW5mcmFzdHJ1Y3R1cmUgZGV2ZWxvcG1lbnQgc29mdHdhcmUgYW5kIHNlcnZpY2VzLCBhbm5vdW5jZWQgYSBzaWduaWZpY2FudGx5IGVuaGFuY2VkIHZlcnNpb24gb2YgRWNsaXBzZTRXZWImdHJhZGU7LCB3aGljaCBvZmZlcnMgbW9yZSBzdHJlYW1saW5lZCB3b3JrZmxvdywgaW50ZWdyYXRlZCBmdW5jdGlvbmFsaXR5IG9mIEV4YWRlbCBTdHJ1dHMgU3R1ZGlvIGFuZCBhZHZhbmNlZCBmZWF0dXJlcyBmb3IgYSBjb21wbGV0ZSB0b29sc2V0IGZvciBXZWIgZGV2ZWxvcG1lbnQgdXNpbmcgdGhlIEVjbGlwc2UgcGxhdGZvcm0uIFNlZSA8YSBocmVmPSJodHRwOi8vZXhhZGVsLmNvbS9uZXdzLzIwMDUwMjA5Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZXhhZGVsLmNvbS9uZXdzLzIwMDUwMjA5Lmh0bWw8L2E+LiA8L2xpPg0KICAgICAgPC91bD4NCiAgICAgIDx1bD4NCiAgICAgICAgPGxpPiBHZW51aXRlYyBhbm5vdW5jZWQgTXlFY2xpcHNlIEVudGVycHJpc2UgV29ya2JlbmNoIDQuMCwgYSB0cnVseSBoZWF2eXdlaWdodCBjb250ZW5kZXIgaW4gdGhlIEoyRUUgSURFIG1hcmtldCB0aGF0IGlzIGV4Y2VwdGlvbmFsbHkgbGlnaHQgb24geW91ciB3YWxsZXQuIE15RWNsaXBzZSA0LjAgY29udGludWVzIHRvIGJ1aWxkIG9uIHRoZSBoaWdobHkgc3VjY2Vzc2Z1bCwgYWxsLWluY2x1c2l2ZSBvZmZlcmluZyBieSBhZGRpbmcgVU1MIHJvdW5kLXRyaXAgbW9kZWxpbmcgdG9vbHMsIFdZU0lXWUcgSlNQL1N0cnV0cyBkZXNpZ25lciwgdmlzdWFsIEhpYmVybmF0ZS9PUk0gdG9vbHMsIFNwcmluZyBhbmQgd2ViIHNlcnZpY2VzIHN1cHBvcnQsIGFuZCBuZXcgT3JhY2xlIGRhdGFiYXNlIGRldmVsb3BlciB0b29scy4gU2VlIDxhIGhyZWY9Imh0dHA6Ly93d3cubXllY2xpcHNlaWRlLmNvbS9kaXNwbGF5YXJ0aWNsZTM3Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lm15ZWNsaXBzZWlkZS5jb20vZGlzcGxheWFydGljbGUzNy5odG1sPC9hPi4gPC9saT4NCiAgICAgIDwvdWw+DQogICAgICAgPHVsPg0KICAgICAgICA8bGk+IElCTSBhbm5vdW5jZWQgdG9vbHMgdG8gaGVscCBzb2Z0d2FyZSBkZXZlbG9wZXJzIHdyaXRlIGNvZGUgZWFzaWx5IGFuZCBlZmZpY2llbnRseS4gVGhlc2UgaW5jbHVkZSBuZXcgdG9vbHMgYW5kIHJlc291cmNlcyBmb3IgYnVpbGRpbmcgQXBhY2hlIERlcmJ5IGRhdGFiYXNlIGFwcGxpY2F0aW9ucyBpbiBFY2xpcHNlIGFuZCBhIHNlcmllcyBvZiBFY2xpcHNlLWJhc2VkIGFscGhhIHRlY2hub2xvZ2llcy4gSUJNIGhhcyBhbHNvIGJlZW4gYXBwb2ludGVkIHRvIGxlYWQgdGhlIHJlY2VudGx5LWNyZWF0ZWQgRWNsaXBzZSBWb2ljZSBUb29scyBQcm9qZWN0LCBnaXZpbmcgZGV2ZWxvcGVycyBhIHN0YW5kYXJkIHdheSB0byB3cml0ZSBzcGVlY2ggYXBwbGljYXRpb25zLiBTZWUgPGEgaHJlZj0iaHR0cDovL3d3dy5pYm0uY29tL2FscGhhIj48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5pYm0uY29tL2FscGhhd29ya3MiIHRhcmdldD0iX2JsYW5rIj53d3cuaWJtLmNvbS9hbHBoYXdvcmtzPC9hPi4gPC9saT4NCiAgICAgIDwvdWw+DQogICAgICAgPHVsPg0KICAgICAgICA8bGk+IEluc3RhbnRpYXRpb25zLCBJbmMuLCBhIGxlYWRpbmcgcHJvdmlkZXIgb2YgYWR2YW5jZWQgSmF2YSBkZXZlbG9wbWVudCBzb2x1dGlvbnMsIGFubm91bmNlZCB0aGF0IGl0IGhhcyBiZWd1biBzaGlwcGluZyBFY2xpcHNlUHJvJnRyYWRlOywgYSBuZXcgcHJvZHVjdCBsaW5lIHNwZWNpZmljYWxseSBkZXNpZ25lZCBmb3IgcHJvZmVzc2lvbmFsIEVjbGlwc2UgZGV2ZWxvcGVycy4gRWNsaXBzZVBybyBBdWRpdCBkZWxpdmVycyBkeW5hbWljIGNvZGUgYXVkaXQgYW5kIGNvZGUgbWV0cmljcyBjYXBhYmlsaXRpZXMuIEVjbGlwc2VQcm8gVGVzdCBvZmZlcnMgcG93ZXJmdWwgSlVuaXQgdGVzdCBjYXNlIGdlbmVyYXRpb24gYW5kIGNvZGUgY292ZXJhZ2UgYW5hbHlzaXMuIFNlZSA8YSBocmVmPSJodHRwOi8vd3d3Lmluc3RhbnRpYXRpb25zLmNvbS9lY2xpcHNlcHJvIiB0YXJnZXQ9Il9ibGFuayI+d3d3Lmluc3RhbnRpYXRpb25zLmNvbS9lY2xpcHNlcHJvPC9hPi4gPC9saT4NCiAgICAgIDwvdWw+DQogICAgICAgPHVsPg0KICAgICAgICA8bGk+IExvbWJhcmRpIFNvZnR3YXJlLCBkZXZlbG9wZXIgb2YgVGVhbVdvcmtzJnJlZzssIHRoZSBpbmR1c3RyeSBhd2FyZC13aW5uaW5nIEJQTSBwbGF0Zm9ybSwgam9pbmVkIHRoZSBFY2xpcHNlIEZvdW5kYXRpb24gYXMgYSBwcm92aWRlciBtZW1iZXIuIFRlYW1Xb3JrcyBpbnRlZ3JhdGVzIEVjbGlwc2Ugd2l0aCBpdHMgU2hhcmVkIE1vZGVsIGFyY2hpdGVjdHVyZSwgdGhlIG9ubHkgbm9uLXByb3ByaWV0YXJ5LCBtb2RlbC1kcml2ZW4gZXhlY3V0aW9uIGVudmlyb25tZW50LiBGb3VyIHBsdWctaW5zIGFyZSBvZmZlcmVkOiB0aGUgbmV3IENvYWNoIERlc2lnbmVyLCBQcm9jZXNzIE1vZGVsZXIsIFByb2Nlc3MgU2ltdWxhdG9yIGFuZCBQcm9jZXNzIEluc3BlY3Rvci4gU2VlIDxhIGhyZWY9Imh0dHA6Ly93d3cubG9tYmFyZGlzb2Z0d2FyZS5jb20vaW5kZXgucGhwL2NvbnRlbnQvdmlldy8yMzkvNzYvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5sb21iYXJkaXNvZnR3YXJlLmNvbS9pbmRleC5waHAvY29udGVudC92aWV3LzIzOS83Ni88L2E+LiA8L2xpPg0KICAgICAgPC91bD4NCiAgICAgIDx1bD4NCiAgICAgICAgPGxpPiBPQyBTeXN0ZW1zLCBJbmMuLCBhIHByb3ZpZGVyIG9mIHN0YXRlLW9mLXRoZS1hcnQgc29mdHdhcmUgdG9vbHMgYW5kIGRldmVsb3BtZW50IGVudmlyb25tZW50cywgYW5ub3VuY2VkIGl0cyBtZW1iZXJzaGlwIGluIHRoZSBFY2xpcHNlIEZvdW5kYXRpb24uIE9DIFN5c3RlbXMgaGFzIGpvaW5lZCBhcyBhbiBhZGQtaW4gbWVtYmVyIGFuZCB3aWxsIGJlIGRldmVsb3BpbmcgYSB2ZXJzaW9uIG9mIFJvb3RDYXVzZSB0aGF0IHdpbGwgYmUgYW4gYWRkLWluIGZvciB0aGUgRWNsaXBzZSBUZXN0IGFuZCBQZXJmb3JtYW5jZSBUb29scyBQbGF0Zm9ybSBQcm9qZWN0LiBTZWUgPGEgaHJlZj0iaHR0cDovL3d3dy5vY3N5c3RlbXMuY29tL3ByMDMwMTA1Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lm9jc3lzdGVtcy5jb20vcHIwMzAxMDUuaHRtbDwvYT4uIDwvbGk+DQogICAgICA8L3VsPg0KICAgICAgPHVsPg0KICAgICAgICA8bGk+IFNjYXBhIFRlY2hub2xvZ2llcywgYW4gaW5kZXBlbmRlbnQgdmVuZG9yIG9mIGFwcGxpY2F0aW9uIHBlcmZvcm1hbmNlIHRlc3RpbmcsIGRpYWdub3NpcyBhbmQgbW9uaXRvcmluZyBzb2Z0d2FyZSwgYmVjYW1lIGEgU3RyYXRlZ2ljIERldmVsb3BlciB3aXRoIHRoZSBFY2xpcHNlIEZvdW5kYXRpb24uIENFTyBEci4gTWljaGFlbCBOb3JtYW4gam9pbnMgdGhlIEVjbGlwc2UgQm9hcmQgb2YgRGlyZWN0b3JzLiBTY2FwYSBUZWNobm9sb2dpZXMgaGFzIGJlZW4gYSBtZW1iZXIgb2YgRWNsaXBzZSBzaW5jZSBKdW5lIDIwMDIuIFNlZSA8YSBocmVmPSJodHRwOi8vc2NhcGF0ZWNoLmNvbS9uZXdzX2V2ZW50cy9wcmVzc19yZWxlYXNlcy8yMDA1LTAyLTA3Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vc2NhcGF0ZWNoLmNvbS9uZXdzX2V2ZW50cy9wcmVzc19yZWxlYXNlcy8yMDA1LTAyLTA3Lmh0bWw8L2E+LiA8L2xpPg0KICAgICA8L3VsPg0KCSAgPHVsPjxsaT5TeWJhc2UsIEluYy4gKE5ZU0U6IFNZKSBiZWNhbWUgYSBTdHJhdGVnaWMgRGV2ZWxvcGVyIE1lbWJlciBvZiBFY2xpcHNlIEZvdW5kYXRpb24sIGFuZCB3aWxsIGJlIHJlcHJlc2VudGVkIG9uIHRoZSBCb2FyZCBvZiBEaXJlY3RvcnMgYnkgVmljZSBQcmVzaWRlbnQgb2YgRW5naW5lZXJpbmcsIERhdmlkIFRvbmcuIFN5YmFzZSBoYXMgYmVlbiBhIG1lbWJlciBvZiB0aGUgRWNsaXBzZSBPcmdhbml6YXRpb24gYW5kIEVjbGlwc2UgU3Rld2FyZCBzaW5jZSAyMDAyLiBTZWUgPGEgaHJlZj0iaHR0cDovL3d3dy5zeWJhc2UuY29tL2RldGFpbD9pZD0xMDM0NjI3IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5zeWJhc2UuY29tL2RldGFpbD9pZD0xMDM0NjI3PC9hPg0KICAgICAgICA8L2xpPg0KCSAgPC91bD4NCiAgICAgIDxQPjxicj4NCiAgICAgIDwvcD48L3RkPg0KICA8L3RyPg0KPC90YWJsZT4NCjx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0zIGFsaWduPWNlbnRlcj4NCgkJPHRyIGJnY29sb3I9IiM5OTk5OTkiPg0KCQkNCiAgICA8dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMDA4MEMwIj48Yj48Zm9udCBjb2xvcj0iI0ZGRkZGRiIgZmFjZT0iQXJpYWwsSGVsdmV0aWNhIj5BYm91dCB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uPC9mb250PjwvYj48L3RkPg0KCQk8L1RSPg0KCQk8VFI+DQoJCTx0ZCBhbGlnbj1sZWZ0Pg0KCQk8VEFCTEUgIHdpZHRoPSIxMDAlIiBDRUxMU1BBQ0lORz0wIENFTExQQURESU5HPTM+DQoJCTx0cj4NCgkJICA8dGQ+IA0KICAgICAgICAgICAgPFA+IEVjbGlwc2UgaXMgYW4gb3BlbiBzb3VyY2UgY29tbXVuaXR5IHdob3NlIHByb2plY3RzIGFyZSBmb2N1c2VkIG9uIHByb3ZpZGluZyBhbiANCgkJCWV4dGVuc2libGUgZGV2ZWxvcG1lbnQgcGxhdGZvcm0gYW5kIGFwcGxpY2F0aW9uIGZyYW1ld29ya3MgZm9yIGJ1aWxkaW5nIHNvZnR3YXJlLiAgDQoJCQlFY2xpcHNlIHByb3ZpZGVzIGV4dGVuc2libGUgdG9vbHMgYW5kIGZyYW1ld29ya3MgdGhhdCBzcGFuIHRoZSBzb2Z0d2FyZSBkZXZlbG9wbWVudA0KCQkJIGxpZmVjeWNsZSwgaW5jbHVkaW5nIHN1cHBvcnQgZm9yIG1vZGVsaW5nLCBsYW5ndWFnZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMgZm9yIA0KCQkJIEphdmEsIEMvQysrIGFuZCBvdGhlcnMsIHRlc3RpbmcgYW5kIHBlcmZvcm1hbmNlLCBidXNpbmVzcyBpbnRlbGxpZ2VuY2UsIHJpY2ggY2xpZW50IA0KCQkJIGFwcGxpY2F0aW9ucyBhbmQgZW1iZWRkZWQgZGV2ZWxvcG1lbnQuIEEgbGFyZ2UsIHZpYnJhbnQgZWNvc3lzdGVtIG9mIG1ham9yIHRlY2hub2xvZ3kgDQoJCQkgdmVuZG9ycywgaW5ub3ZhdGl2ZSBzdGFydC11cHMsIHVuaXZlcnNpdGllcyBhbmQgcmVzZWFyY2ggaW5zdGl0dXRpb25zIGFuZCBpbmRpdmlkdWFscyANCgkJCSBleHRlbmQsIGNvbXBsZW1lbnQgYW5kIHN1cHBvcnQgdGhlIEVjbGlwc2UgUGxhdGZvcm0uPC9wPg0KICAgICAgICAgICAgPFA+IFRoZSBFY2xpcHNlIEZvdW5kYXRpb24gaXMgYSBub3QtZm9yLXByb2ZpdCwgbWVtYmVyIHN1cHBvcnRlZCBjb3Jwb3JhdGlvbiB0aGF0IGhvc3RzIHRoZSBFY2xpcHNlIHByb2plY3RzLiBGdWxsIGRldGFpbHMgb2YgRWNsaXBzZSBhbmQgdGhlIEVjbGlwc2UgRm91bmRhdGlvbiBhcmUgYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvIiB0YXJnZXQ9Il90b3AiPnd3dy5lY2xpcHNlLm9yZzwvYT4gPC9wPjwvdGQ+DQoJCTwvdHI+DQogICAgICAgIDwvdGFibGU+PC90YWJsZT6gDQoJPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTMgYWxpZ249Y2VudGVyPg0KCQk8dHIgYmdjb2xvcj0iIzk5OTk5OSI+DQogICAgPHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzAwODBDMCI+PGI+PGZvbnQgY29sb3I9IiNGRkZGRkYiIGZhY2U9IkFyaWFsLEhlbHZldGljYSI+TWVkaWEgDQogICAgICBjb250YWN0PC9mb250PjwvYj48L3RkPg0KCQk8L1RSPg0KPC90YWJsZT4NCgkJDQo8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjUiPg0KICA8dHI+DQogICAgPHRkID4gDQogICAgICA8ZGl2IGFsaWduPSJjZW50ZXIiPlRhbmlhIFRyZWpvPGJyPg0KICAgICAgICBTY2h3YXJ0eiBDb21tdW5pY2F0aW9uczxicj4NCiAgICAgICAgNzgxLTY4NC0wNzcwPGJyPg0KICAgICAgPGEgaHJlZj0ibWFpbHRvOmVjbGlwc2VAc2Nod2FydHotcHIuY29tIj5lY2xpcHNlQHNjaHdhcnR6LXByLmNvbTwvYT48L2Rpdj4NCiAgICA8L3RkPg0KICA8L3RyPg0KPC90YWJsZT4NCgkJPFRBQkxFICB3aWR0aD0iMTAwJSIgQ0VMTFNQQUNJTkc9MCBDRUxMUEFERElORz0zPg0KCQk8dHI+DQoJCSAgPHRkPiANCiAgICAgICAgICAgIDxociB3aWR0aD0iODUlIj4NCiAgICAgIDxQPkJyYW5kIG9yIHByb2R1Y3QgbmFtZXMgYXJlIHJlZ2lzdGVyZWQgdHJhZGVtYXJrcyBvciB0cmFkZW1hcmtzIG9mIHRoZWlyIA0KICAgICAgICByZXNwZWN0aXZlIGhvbGRlcnMuIEphdmEgYW5kIGFsbCBKYXZhLWJhc2VkIHRyYWRlbWFya3MgYXJlIHRyYWRlbWFya3MgDQogICAgICAgIG9yIHJlZ2lzdGVyZWQgdHJhZGVtYXJrcyBvZiBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIGluIHRoZSBVbml0ZWQgU3RhdGVzIA0KICAgICAgICBhbmQgb3RoZXIgY291bnRyaWVzLjxicj4NCiAgICAgIDwvUD4NCjxociB3aWR0aD0iODUlIj4NCiAgICA8L3RkPg0KCQk8L3RyPg0KICAgICAgICA8L3RhYmxlPqAgICAgICAgIA0KoA0KPC9ib2R5PjwvaHRtbD4NCg==