PCFkb2N0eXBlIGh0bWwgcHVibGljICItLy93M2MvL2R0ZCBodG1sIDQuMCB0cmFuc2l0aW9uYWwvL2VuIj4NCg0KPGh0bWw+DQoNCjxoZWFkPg0KDQogICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTIiPg0KDQogICA8bWV0YSBuYW1lPSJBdXRob3IiIGNvbnRlbnQ9IkVjbGlwc2UgUHJvamVjdCBQTUMiPg0KDQogICA8bWV0YSBuYW1lPSJHRU5FUkFUT1IiIGNvbnRlbnQ9Ik1pY3Jvc29mdCBGcm9udFBhZ2UgNC4wIj4NCg0KICAgPG1ldGEgbmFtZT0iUHJvZ0lkIiBjb250ZW50PSJGcm9udFBhZ2UuRWRpdG9yLkRvY3VtZW50Ij4NCg0KICAgPHRpdGxlPkVjbGlwc2UgUHJvamVjdCBEcmFmdCAyLjEgUGxhbiAoRHJhZnQgb2YgT2N0LiAxMSwgMjAwMik8L3RpdGxlPg0KDQogICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2RlZmF1bHRfc3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyI+DQoNCjwvaGVhZD4NCg0KPGJvZHk+DQoNCg0KDQo8aDE+DQoNCkVjbGlwc2UgUHJvamVjdDxicj4NCg0KRFJBRlQgMi4xIFBsYW48L2gxPg0KDQo8cD5MYXN0IHJldmlzZWQgRnJpZGF5LCBPY3RvYmVyIDExLCAyMDAyICg8aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPg0KbWFya3MgaW50ZXJlc3RpbmcgY2hhbmdlcyBzaW5jZSB0aGUgPGEgaHJlZj0iZWNsaXBzZV9wcm9qZWN0X3BsYW5fMl8xXzIwMDIwOTEwLmh0bWwiPnByZXZpb3VzIGRyYWZ0IG9mDQpTZXB0LiAxMDwvYT4pPGJyPg0KPGJyPg0KPGk+Jm5ic3A7Jm5ic3A7Jm5ic3A7IFBsZWFzZSBzZW5kIGNvbW1lbnRzIGFib3V0IHRoaXMgZHJhZnQgcGxhbiB0byB0aGUgPC9pPjxhIGhyZWY9Im1haWx0bzplY2xpcHNlLWRldkBlY2xpcHNlLm9yZyI+ZWNsaXBzZS1kZXZAZWNsaXBzZS5vcmc8L2E+DQo8aT5kZXZlbG9wZXIgbWFpbGluZyBsaXN0LjwvaT4gPC9wPg0KDQo8cD5UaGlzIGRvY3VtZW50IGxheXMgb3V0IHRoZSBmZWF0dXJlIGFuZCBBUEkgc2V0IGZvciB0aGUgbmV4dCBmZWF0dXJlIHJlbGVhc2UgDQogIG9mIEVjbGlwc2UsIGRlc2lnbmF0ZWQgcmVsZWFzZSAyLjEuIA0KPHA+UGxhbnMgZG8gbm90IG1hdGVyaWFsaXplIG91dCBvZiBub3doZXJlLCBub3IgYXJlIHRoZXkgZW50aXJlbHkgc3RhdGljLiBUbyBtYWtlIA0KICB0aGUgcGxhbm5pbmcgcHJvY2VzcyBtb3JlIHRyYW5zcGFyZW50IGFuZCBvcGVuIHRvIHRoZSBFY2xpcHNlIGNvbW11bml0eSwgd2UgDQogICh0aGUgRWNsaXBzZSBQQUMpIGFyZSBwb3N0aW5nIHRoZSBwbGFuIGluIGFuIGVtYnJ5b25pYyBmb3JtIGFuZCBhcmUgcmV2aXNpbmcgDQogIGl0IHRocm91Z2hvdXQgdGhlIHJlbGVhc2UgY3ljbGUuJm5ic3A7DQo8cD5UaGUgZmlyc3QgcGFydCBvZiB0aGUgcGxhbg0KZGVhbHMgd2l0aCB0aGUgaW1wb3J0YW50IG1hdHRlcnMgb2YgcmVsZWFzZSBkZWxpdmVyYWJsZXMsIHJlbGVhc2UgbWlsZXN0b25lcywNCnRhcmdldCBvcGVyYXRpbmcgZW52aXJvbm1lbnRzLCBhbmQgcmVsZWFzZS10by1yZWxlYXNlIGNvbXBhdGliaWxpdHkuIFRoZXNlIGFyZQ0KYWxsIHRoaW5ncyB0aGF0IG5lZWQgdG8gYmUgY2xlYXIgZm9yIGFueSByZWxlYXNlLCBldmVuIGlmIG5vIGZlYXR1cmVzIHdlcmUgdG8NCmNoYW5nZS4mbmJzcDs8cD5UaGUgcmVtYWluZGVyIG9mIHRoZSBwbGFuIGNvbnNpc3RzIG9mIHBsYW4gaXRlbXMgZm9yIHRoZSB2YXJpb3VzDQpFY2xpcHNlIHN1YnByb2plY3RzLiBFYWNoIHBsYW4gaXRlbSBjb3ZlcnMgYSBmZWF0dXJlIG9yIEFQSSB0aGF0IGlzIHRvIGJlIGFkZGVkDQp0byBFY2xpcHNlLCBvciBzb21lIGFzcGVjdCBvZiBFY2xpcHNlIHRoYXQgaXMgdG8gYmUgaW1wcm92ZWQuIEVhY2ggcGxhbiBpdGVtIGhhcw0KYSB0aXRsZSBhbmQgYSBjb25jaXNlIHN1bW1hcnkgKHVzdWFsbHkgYSBzaW5nbGUgcGFyYWdyYXBoKSB0aGF0IGV4cGxhaW5zIHRoZQ0Kd29yayBpdGVtIGF0IGEgc3VpdGFibHkgaGlnaCBlbm91Z2ggbGV2ZWwgc28gdGhhdCBldmVyeW9uZSBjYW4gcmVhZGlseQ0KdW5kZXJzdGFuZCB3aGF0IHRoZSB3b3JrIGl0ZW0gaXMgd2l0aG91dCBoYXZpbmcgdG8gdW5kZXJzdGFuZCB0aGUgbml0dHktZ3JpdHR5DQpkZXRhaWxzICh3aGljaCBjYW4gYmUgaGFzaGVkIG91dCBlbHNld2hlcmUpLiZuYnNwOw0KPHA+Tm90IGFsbCBwbGFuIGl0ZW1zIHJlcHJlc2VudCB0aGUgc2FtZSBhbW91bnQgb2Ygd29yazsgc29tZSBtYXkgYmUgcXVpdGUgbGFyZ2UsIA0KICBvdGhlcnMsIHF1aXRlIHNtYWxsLiBTb21lIHBsYW4gaXRlbXMgbWF5IGludm9sdmUgd29yayB0aGF0IGlzIGxvY2FsaXplZCB0byBhIA0KICBzaW5nbGUgUGxhdGZvcm0gY29tcG9uZW50OyBvdGhlcnMgbWF5IGludm9sdmUgY29vcmRpbmF0ZWQgY2hhbmdlcyB0byBzZXZlcmFsIA0KICBjb21wb25lbnRzOyBvdGhlciBtYXkgcGVydmFkZSB0aGUgZW50aXJlIFBsYXRmb3JtLg0KPHA+V2l0aCB0aGUgcHJldmlvdXMgcmVsZWFzZSBhcyB0aGUgc3RhcnRpbmcgcG9pbnQsIHRoaXMgaXMgdGhlIHBsYW4gZm9yIGhvdyB3ZSANCiAgd2lsbCBlbmhhbmNlIGFuZCBpbXByb3ZlIGl0LiBGaXhpbmcgYnVncywgaW1wcm92aW5nIHRlc3QgY292ZXJhZ2UsIGRvY3VtZW50YXRpb24sIA0KICBleGFtcGxlcywgZXRjLiBhcmUgY29uc2lkZXJlZCByb3V0aW5lIG9uZ29pbmcgbWFpbnRlbmFuY2UgYWN0aXZpdGllcyBhbmQgYXJlIA0KICBub3QgaW5jbHVkZWQgaW4gdGhpcyBwbGFuIHVubGVzcyB0aGV5IHdvdWxkIGFsc28gaW52b2x2ZSBhIHNpZ25pZmljYW50IGNoYW5nZSANCiAgdG8gdGhlIEFQSSBvciBmZWF0dXJlIHNldCwgb3IgaW52b2x2ZSBhIHNpZ25pZmljYW50IGFtb3VudCBvZiB3b3JrLiBBbGwgaW50ZXJlc3RpbmcgDQogIGZlYXR1cmUgd29yayBpcyBhY2NvdW50ZWQgZm9yIGluIHRoaXMgcGxhbi4NCjxwPlRoZSBjdXJyZW50IHN0YXR1cyBvZiBlYWNoIHBsYW4gaXRlbSBpcw0Kbm90ZWQ6DQo8dWw+DQogIDxsaT48Yj5Qcm9wb3NlZDwvYj4gcGxhbiBpdGVtIC0gQSBwcm9wb3NhbCBmb3IgYW4gYXNwZWN0IHRvIHdvcmsgb24gZm9yIHRoZQ0KICAgIHJlbGVhc2UuIEFmdGVyIGR1ZSBjb25zaWRlcmF0aW9uLCBhIHByb3Bvc2FsIHdpbGwgZWl0aGVyIGJlIGNvbW1pdHRlZCwNCiAgICByZWplY3RlZCwgb3IgZGVmZXJyZWQuPC9saT4NCiAgPGxpPjxiPkNvbW1pdHRlZDwvYj4gcGxhbiBpdGVtIC0gQSBjb21taXR0ZWQgcGxhbiBpdGVtIGlzIG9uZSB0aGF0IHdlIGhhdmUgZGVjaWRlZCANCiAgICB0byBhZGRyZXNzIGZvciB0aGUgcmVsZWFzZS48L2xpPg0KICA8bGk+PGI+RGVmZXJyZWQ8L2I+IHBsYW4gaXRlbSAtIEEgcmVhc29uYWJsZSBwcm9wb3NhbCB0aGF0IGRpZCBub3QgbWFrZSBpdCBpbiANCiAgICB0byB0aGlzIHJlbGVhc2UgZm9yIHNvbWUgcmVhc29uIGlzIG1hcmtlZCBhcyBkZWZlcnJlZCB3aXRoIGEgYnJpZWYgbm90ZSBhcyANCiAgICB0byB3aHkgdGhleSB3ZXJlIGRlZmVycmVkLiBEZWZlcnJlZCBwbGFuIGl0ZW1zIG1heSByZXN1cmZhY2UgYXMgcHJvcG9zZWQgcGxhbiANCiAgICBpdGVtcyBhdCBhIGxhdGVyIHBvaW50LjwvbGk+DQogIDxsaT48Yj5SZWplY3RlZDwvYj4gcGxhbiBpdGVtIC0gUGxhbiBpdGVtcyB0aGF0IHdlcmUgcHJvcG9zZWQgYnV0IGp1ZGdlZCB1bndvcmthYmxlIA0KICAgIGFyZSBtYXJrZWQgYXMgcmVqZWN0ZWQgcGxhbiBpdGVtcywgd2l0aCBhbiBhY2NvbXBhbnlpbmcgc3VtbWFyeSBvZiB3aHkgdGhleSANCiAgICB3ZXJlIGRpc21pc3NlZC4gS2VlcGluZyB0cmFjayBvZiByZWplY3RlZCBpdGVtcyBhdm9pZHMgcmVwZWF0aW5nIHRoZSBkaXNjdXNzaW9uLjwvbGk+DQo8L3VsPg0KPGgyPlJlbGVhc2UgZGVsaXZlcmFibGVzPC9oMj4NCg0KPHA+VGhlIHJlbGVhc2UgZGVsaXZlcmFibGVzIGhhdmUgdGhlIHNhbWUgZm9ybSBhcyBwcmV2aW91cyByZWxlYXNlcywgbmFtZWx5Og0KDQo8dWw+DQoNCiAgPGxpPlNvdXJjZSBjb2RlIHJlbGVhc2UgZm9yIEVjbGlwc2UgUHJvamVjdCwgYXZhaWxhYmxlIGFzIHZlcnNpb25zIHRhZ2dlZCAmcXVvdDtSMl8xJnF1b3Q7IA0KICAgIGluIHRoZSBFY2xpcHNlIFByb2plY3QgPGEgaHJlZj0iaHR0cDovL2Rldi5lY2xpcHNlLm9yZy92aWV3Y3ZzLyI+Q1ZTIHJlcG9zaXRvcnk8L2E+LjwvbGk+DQoNCiAgPGxpPkVjbGlwc2UgUHJvamVjdCBTREsgKGluY2x1ZGVzIFBsYXRmb3JtLCBKRFQsIGFuZCBQREUgc291cmNlIHppcHMpDQoNCiAgICAoZG93bmxvYWRhYmxlKS48L2xpPg0KDQogIDxsaT5FY2xpcHNlIFBsYXRmb3JtIHJ1bnRpbWUgYmluYXJ5IGRpc3RyaWJ1dGlvbiAoZG93bmxvYWRhYmxlKS48L2xpPg0KDQogIDxsaT5KRFQgcnVudGltZSBiaW5hcnkgZGlzdHJpYnV0aW9uIChkb3dubG9hZGFibGUpLjwvbGk+DQoNCiAgPGxpPkVjbGlwc2UgU0RLIEV4YW1wbGVzIChkb3dubG9hZGFibGUpLjwvbGk+DQoNCjwvdWw+DQoNCjxoMj48YSBuYW1lPSJNaWxlc3RvbmVzIj48L2E+UmVsZWFzZSBtaWxlc3RvbmVzPC9oMj4NCg0KPHA+UmVsZWFzZSBtaWxlc3RvbmUgb2NjdXJyaW5nIGF0IHJvdWdobHkgbW9udGhseSBpbnRlcnZhbHMgZXhpc3QgdG8gZmFjaWxpdGF0ZQ0KY29hcnNlLWdyYWluZWQgcGxhbm5pbmcgYW5kIHN0YWdpbmcuIFRoZSBtaWxlc3RvbmVzIGZvciB0aGUgcmVtYWluZGVyIG9mIHRoaXMNCnllYXIgYXJlOjwvcD4NCg0KPHVsPg0KICA8bGk+U2VwdGVtYmVyIDIwLCAyMDAyIC0gTWlsZXN0b25lIDEgLSAoMi4xIE0xKSAtIHN0YWJsZSBidWlsZCByZWZsZWN0aW5nIHByb2dyZXNzPC9saT4NCiAgPGxpPk9jdG9iZXIgMTgsIDIwMDIgLSBNaWxlc3RvbmUgMiAtICgyLjEgTTIpIC0gc3RhYmxlIGJ1aWxkIHJlZmxlY3RpbmcgcHJvZ3Jlc3M8L2xpPg0KICA8bGk+Tm92ZW1iZXIgMTUsIDIwMDIgLSBNaWxlc3RvbmUgMyAtICgyLjEgTTMpIC0gc3RhYmxlIGJ1aWxkIHJlZmxlY3RpbmcNCiAgICBwcm9ncmVzczwvbGk+DQogIDxsaT5EZWNlbWJlciAxMywmbmJzcDsgMjAwMiAtIE1pbGVzdG9uZSA0IC0gKDIuMSBNNCkgLSBzdGFibGUgYnVpbGQgcmVmbGVjdGluZw0KICAgIHByb2dyZXNzPC9saT4NCjwvdWw+DQoNCjxwPiBBZGRpdGlvbmFsIDIwMDMgbWlsZXN0b25lcyB3aWxsIGJlIGFkZGVkIGxhdGVyLiBPdXIgdGFyZ2V0DQppcyB0byBjb21wbGV0ZSAyLjEgbGF0ZSBpbiAxUTIwMDMuIEFsbCByZWxlYXNlIGRlbGl2ZXJhYmxlcyB3aWxsIGJlIGF2YWlsYWJsZSBmb3IgZG93bmxvYWQgYXMgDQogIHNvb24gYXMgdGhlIHJlbGVhc2UgaGFzIGJlZW4gdGVzdGVkIGFuZCB2YWxpZGF0ZWQgaW4gdGhlIHRhcmdldCBvcGVyYXRpbmcgY29uZmlndXJhdGlvbnMgDQogIGxpc3RlZCBiZWxvdy48L3A+DQoNCjxoMj5UYXJnZXQgT3BlcmF0aW5nIEVudmlyb25tZW50czwvaDI+DQoNCg0KDQo8cD5JbiBvcmRlciB0byByZW1haW4gY3VycmVudCwgZWFjaCBFY2xpcHNlIHJlbGVhc2UgdGFyZ2V0cyByZWFzb25hYmx5IGN1cnJlbnQNCnZlcnNpb25zIG9mIHRoZSB1bmRlcmx5aW5nIG9wZXJhdGluZyBlbnZpcm9ubWVudHMuPC9wPg0KDQo8cD5Nb3N0IG9mIHRoZSBFY2xpcHNlIFNESyBpcyAmcXVvdDtwdXJlJnF1b3Q7IEphdmGZIGNvZGUgYW5kIGhhcyBubyBkaXJlY3QNCmRlcGVuZGVuY2Ugb24gdGhlIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbS4gVGhlIGNoaWVmIGRlcGVuZGVuY2UgaXMgdGhlcmVmb3JlDQpvbiB0aGUgSmF2YSAyIFBsYXRmb3JtIGl0c2VsZi4gVGhlIDIuMCByZWxlYXNlIG9mIHRoZSBFY2xpcHNlIFByb2plY3QgaXMgd3JpdHRlbg0KYW5kIGNvbXBpbGVkIGFnYWluc3QgdmVyc2lvbiAxLjMgb2YgdGhlIEphdmEgMiBQbGF0Zm9ybSBBUElzLCBhbmQgdGFyZ2V0ZWQgdG8NCnJ1biBvbiBlaXRoZXIgdmVyc2lvbiAxLjMgb3IgMS40IG9mIHRoZSBKYXZhIDIgUnVudGltZSBFbnZpcm9ubWVudCwgU3RhbmRhcmQNCkVkaXRpb24uPC9wPg0KPHA+RWNsaXBzZSBTREsgMi4wIGhhcyBiZWVuIHRlc3RlZCBhbmQgdmFsaWRhdGVkIG9uIHRoZSBmb2xsb3dpbmcgSmF2YSAyDQpQbGF0Zm9ybSBpbXBsZW1lbnRhdGlvbnM6PC9wPg0KPHRhYmxlIHdpZHRoPSI5MSUiIGJvcmRlcj0iMSI+DQogIDx0Ym9keT4NCiAgICA8dHI+DQogICAgICA8dGQgd2lkdGg9IjE5JSI+PGI+T3BlcmF0aW5nIHN5c3RlbTwvYj48L3RkPg0KICAgICAgPHRkIHdpZHRoPSIxOCUiPjxiPlByb2Nlc3NvciBhcmNoaXRlY3R1cmU8L2I+PC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iNzMlIj48Yj5KYXZhIDIgUGxhdGZvcm1zPC9iPjwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQgd2lkdGg9IjE5JSIgcm93U3Bhbj0iNCI+TWljcm9zb2Z0rjxicj4NCiAgICAgICAgV2luZG93c648L3RkPg0KICAgICAgPHRkIHdpZHRoPSIxOCUiIHJvd1NwYW49IjQiPkludGVsIHg4NjwvdGQ+DQogICAgICA8dGQgd2lkdGg9IjczJSI+PGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4NCiAgICAgICAgU3VuIEphdmEgMiBTREssIFN0YW5kYXJkIEVkaXRpb24sIHZlcnNpb24gMS4zLjFfMDQgZm9yDQogICAgICAgIE1pY3Jvc29mdCBXaW5kb3dzPC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZCB3aWR0aD0iNzMlIj48aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPg0KICAgICAgICBTdW4gSmF2YSAyIFNESywgU3RhbmRhcmQgRWRpdGlvbiwgdmVyc2lvbiAxLjQuMSBmb3INCiAgICAgICAgTWljcm9zb2Z0IFdpbmRvd3M8L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkIHdpZHRoPSI3MyUiPjxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+DQogICAgICAgIElCTSBEZXZlbG9wZXIgS2l0IGZvciBXaW5kb3dzLCBKYXZhIDIgVGVjaG5vbG9neSBFZGl0aW9uLCB2ZXJzaW9uIDEuMy4xDQogICAgICAgIFNSLTE8L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkIHdpZHRoPSI3MyUiPjxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+DQogICAgICAgIElCTSAzMi1iaXQgU0RLIGZvciBXaW5kb3dzLCBKYXZhIDIgVGVjaG5vbG9neSBFZGl0aW9uLCB2ZXJzaW9uIDEuNC4wPC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZCB3aWR0aD0iMTklIiByb3dTcGFuPSIzIj5MaW51eDwvdGQ+DQogICAgICA8dGQgd2lkdGg9IjE4JSIgcm93U3Bhbj0iMyI+SW50ZWwgeDg2PC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iNzMlIj48aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPg0KICAgICAgICBTdW4gSmF2YSAyIFNESywgU3RhbmRhcmQgRWRpdGlvbiwgdmVyc2lvbiAxLjMuMV8wNCBmb3IgTGludXgNCiAgICAgICAgeDg2PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZCB3aWR0aD0iNzMlIj48aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPg0KICAgICAgICBTdW4gSmF2YSAyIFNESywgU3RhbmRhcmQgRWRpdGlvbiwgdmVyc2lvbiAxLjQuMSBmb3IgTGludXgNCiAgICAgICAgeDg2PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZCB3aWR0aD0iNzMlIj48aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPg0KICAgICAgICBJQk0gRGV2ZWxvcGVyIEtpdCBmb3IgTGludXgsIEphdmEgMiBUZWNobm9sb2d5IEVkaXRpb24sDQogICAgICAgIHZlcnNpb24gMS4zLjEgU1ItMTwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQgd2lkdGg9IjE5JSIgcm93U3Bhbj0iMiI+U3VuIFNvbGFyaXM8L3RkPg0KICAgICAgPHRkIHdpZHRoPSIxOCUiIHJvd1NwYW49IjIiPlNQQVJDPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iNzMlIj48aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPg0KICAgICAgICBTdW4gSmF2YSAyIFNESywgU3RhbmRhcmQgRWRpdGlvbiwgdmVyc2lvbiAxLjMuMV8wNCBmb3INCiAgICAgICAgU29sYXJpcyBTUEFSQzwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQgd2lkdGg9IjczJSI+PGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4NCiAgICAgICAgU3VuIEphdmEgMiBTREssIFN0YW5kYXJkIEVkaXRpb24sIHZlcnNpb24gMS40LjEgZm9yIFNvbGFyaXMNCiAgICAgICAgU1BBUkM8L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkIHdpZHRoPSIxOSUiPkhQIEhQLVVYPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMTglIj5ocDkwMDAgUEEtUklTQzwvdGQ+DQogICAgICA8dGQgd2lkdGg9IjczJSI+PHNwYW4gY2xhc3M9ImhlYWRlciI+SFAtVVggU0RLIGZvciB0aGUgSmF2YSAyIHBsYXRmb3JtLA0KICAgICAgICB2ZXJzaW9uIDEuMy4xIGZvciBocDkwMDAgUEEtUklTQzwvc3Bhbj48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkIHdpZHRoPSIxOSUiPklCTa4gQUlYPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMTglIj5Qb3dlclBDPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iNzMlIj48aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPg0KICAgICAgICBJQk0gRGV2ZWxvcGVyIEtpdCBmb3IgQUlYLCBKYXZhIDIgVGVjaG5vbG9neSBFZGl0aW9uLA0KICAgICAgICB2ZXJzaW9uIDEuMy4xPC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZCB3aWR0aD0iMTklIj5BcHBsZa4gTWFjriBPUzwvdGQ+DQogICAgICA8dGQgd2lkdGg9IjE4JSI+UG93ZXJQQzwvdGQ+DQogICAgICA8dGQgd2lkdGg9IjczJSI+SmF2YSAyIFN0YW5kYXJkIEVkaXRpb24gMS4zLjEgZm9yIE1hYyBPUyBYIDEwLjI8L3RkPg0KICAgIDwvdHI+DQogIDwvdGJvZHk+DQo8L3RhYmxlPg0KPHA+PHNwYW4gY2xhc3M9ImhlYWRlciI+VGhlIGZvbGxvd2luZyB0YWJsZSBkZXNjcmliZXMgdGhlIGNvbWJpbmF0aW9ucyBvZg0Kb3BlcmF0aW5nIHN5c3RlbSBhbmQgSmF2YSAyIFBsYXRmb3JtIHVzZWQgd2hlbiB0ZXN0aW5nIHRoZSBFY2xpcHNlIFNESw0KY29uZmlndXJhdGlvbnMuIFRoZSBzdGF0dXMgY29sdW1uIGluZGljYXRlcyB0aGUgbGV2ZWwgb2YgdGVzdGluZzoNCiZxdW90O1ByaW1hcnkmcXVvdDsgbWVhbnMgYSBmdWxsIHRlc3RlZCBjb25maWd1cmF0aW9uOyAmcXVvdDs8L3NwYW4+U2Vjb25kYXJ5JnF1b3Q7DQptZWFucyBhIGNvbmZpZ3VyYXRpb24gd2hpY2ggaXMgb25seSBsaWdodGx5IHRlc3RlZDsgJnF1b3Q7VW50ZXN0ZWQmcXVvdDsgbWVhbnMgYQ0KY29uZmlndXJhdGlvbiB0aGF0IGhhcyByZWNlaXZlZCBubyB0ZXN0aW5nLCBidXQgd2hpY2ggc2hvdWxkIHdvcmsuPC9wPg0KPHRhYmxlIHdpZHRoPSI5MSUiIGJvcmRlcj0iMSI+DQogIDx0Ym9keT4NCiAgICA8dHI+DQogICAgICA8dGQgd2lkdGg9IjExJSI+PGI+V2luZG93IHN5c3RlbTwvYj48L3RkPg0KICAgICAgPHRkIHdpZHRoPSIyOCUiPjxiPkphdmEgMiBQbGF0Zm9ybTxicj4NCiAgICAgICAgKHNlZSBhYm92ZSB0YWJsZSk8L2I+PC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iNDIlIj48Yj5PcGVyYXRpbmcgRW52aXJvbm1lbnQ8L2I+PC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMTklIj48Yj5UZXN0aW5nIFN0YXR1czwvYj48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkIHdpZHRoPSIxMSUiIHJvd1NwYW49IjUiPldpbjMyPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMjglIiByb3dTcGFuPSI1Ij5XaW5kb3dzIG9uIEludGVsIHg4NjwvdGQ+DQogICAgICA8dGQgd2lkdGg9IjQyJSI+V2luZG93cyBYUDwvdGQ+DQogICAgICA8dGQgd2lkdGg9IjE5JSI+UHJpbWFyeTwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQgd2lkdGg9IjQyJSI+V2luZG93cyAyMDAwPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMTklIj5QcmltYXJ5PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZCB3aWR0aD0iNDIlIj5XaW5kb3dzIE1FPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMTklIj5TZWNvbmRhcnk8L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkIHdpZHRoPSI0MiUiPldpbmRvd3MgOThTRTwvdGQ+DQogICAgICA8dGQgd2lkdGg9IjE5JSI+U2Vjb25kYXJ5PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZCB3aWR0aD0iNDIlIj5XaW5kb3dzIE5UPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMTklIj5TZWNvbmRhcnk8L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkIHdpZHRoPSIxMSUiIHJvd1NwYW49IjYiPk1vdGlmPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMjglIiByb3dTcGFuPSIzIj4mbmJzcDsNCiAgICAgICAgPHA+TGludXggb24gSW50ZWwgeDg2PC9wPg0KICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICA8L3RkPg0KICAgICAgPHRkIHdpZHRoPSI0MiUiPlJlZEhhdCBMaW51eCA3LjIgeDg2PC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMTklIj5QcmltYXJ5PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZCB3aWR0aD0iNDIlIj5TdVNFIExpbnV4IDcuMyB4ODY8L3RkPg0KICAgICAgPHRkIHdpZHRoPSIxOSUiPlByaW1hcnk8L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkIHdpZHRoPSI0MiUiPk90aGVyIExpbnV4OyBrZXJuZWwgdmVyc2lvbiAyLjQuNywgYW5kIFhGcmVlODYgdmVyc2lvbg0KICAgICAgICA0LjEuMDwvdGQ+DQogICAgICA8dGQgd2lkdGg9IjE5JSI+VW50ZXN0ZWQ8L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkIHdpZHRoPSIyOCUiPlNvbGFyaXMgb24gU1BBUkMmbmJzcDs8L3RkPg0KICAgICAgPHRkIHdpZHRoPSI0MiUiPlN1biBTb2xhcmlzIDggU1BBUkM8L3RkPg0KICAgICAgPHRkIHdpZHRoPSIxOSUiPlByaW1hcnk8L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkIHdpZHRoPSIyOCUiPkhQLVVYIG9uIGhwOTAwMCBQQS1SSVNDPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iNDIlIj5IUC1VWCAxMWkgaHA5MDAwPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMTklIj5QcmltYXJ5PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZCB3aWR0aD0iMjglIj5BSVggb24gUG93ZXJQQzwvdGQ+DQogICAgICA8dGQgd2lkdGg9IjQyJSI+SUJNIEFJWCA1LjEgb24gUG93ZXJQQzwvdGQ+DQogICAgICA8dGQgd2lkdGg9IjE5JSI+UHJpbWFyeTwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQgd2lkdGg9IjExJSIgcm93U3Bhbj0iMyI+R1RLPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMjglIiByb3dTcGFuPSIzIj5MaW51eCBvbiBJbnRlbCB4ODY8L3RkPg0KICAgICAgPHRkIHdpZHRoPSI0MiUiPlJlZEhhdCBMaW51eCA3LjIgeDg2IEdUSyAyLjA8L3RkPg0KICAgICAgPHRkIHdpZHRoPSIxOSUiPlByaW1hcnk8L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkIHdpZHRoPSI0MiUiPlN1U0UgTGludXggNy4zIHg4NiBHVEsgMi4wPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMTklIj5QcmltYXJ5PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZCB3aWR0aD0iNDIlIj5PdGhlciBMaW51eDsga2VybmVsIHZlcnNpb24gMi40LjcsIGFuZCBHVEsgMi4wPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMTklIj5VbnRlc3RlZDwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQgd2lkdGg9IjExJSI+Q2FyYm9uPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMjglIj5NYWMgT1MgWCBvbiBQb3dlclBDPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iNDIlIj5NYWMgT1MgWCAxMC4yPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMTklIj48aT5FYXJseSBhY2Nlc3M8L2k+PC90ZD4NCiAgICA8L3RyPg0KICA8L3Rib2R5Pg0KPC90YWJsZT4NCjxoND5JbnRlcm5hdGlvbmFsaXphdGlvbjwvaDQ+DQo8cD5UaGUgRWNsaXBzZSBQbGF0Zm9ybSBpcyBkZXNpZ25lZCBhcyB0aGUgYmFzaXMgZm9yIGludGVybmF0aW9uYWxpemVkIHByb2R1Y3RzLg0KVGhlIHVzZXIgaW50ZXJmYWNlIGVsZW1lbnRzIHByb3ZpZGVkIGJ5IHRoZSBFY2xpcHNlIFNESyBjb21wb25lbnRzLCBpbmNsdWRpbmcNCmRpYWxvZ3MgYW5kIGVycm9yIG1lc3NhZ2VzLCBhcmUgZXh0ZXJuYWxpemVkLiBUaGUgRW5nbGlzaCBzdHJpbmdzIGFyZSBwcm92aWRlZA0KYXMgdGhlIGRlZmF1bHQgcmVzb3VyY2UgYnVuZGxlcy48L3A+DQo8cD5MYXRpbi0xIGxvY2FsZXMgYXJlIHN1cHBvcnRlZCBieSB0aGUgRWNsaXBzZSBTREsgb24gYWxsIG9mIHRoZSBhYm92ZQ0Kb3BlcmF0aW5nIGVudmlyb25tZW50czsgREJDUyBsb2NhbGVzIGFyZSBzdXBwb3J0ZWQgYnkgdGhlIEVjbGlwc2UgU0RLIG9uDQp0aGUgV2luZG93cywgR1RLLCBhbmQgTW90aWYgd2luZG93IHN5c3RlbXM7IEJJREkgbG9jYWxlcyBhcmUgc3VwcG9ydGVkIGJ5IHRoZSBFY2xpcHNlIFNESw0Kb25seSBvbiBXaW5kb3dzIG9wZXJhdGluZyBlbnZpcm9ubWVudHMuDQo8cD5UaGUgRWNsaXBzZSBTREsgc3VwcG9ydHMgR0IgMTgwMzAsIHRoZSBuZXcgQ2hpbmVzZSBjb2RlIHBhZ2Ugc3RhbmRhcmQsIG9uDQpXaW5kb3dzIDIwMDAgYW5kIFhQIG9ubHkuIE5vdGUgdGhhdCBHQiAxODAzMCBhbHNvIHJlcXVpcmVzIGxvY2FsZSBhbmQgY2hhcmFjdGVyDQplbmNvZGluZyBzdXBwb3J0IGZyb20gdGhlIEphdmEgMiBSdW50aW1lIEVudmlyb25tZW50OyB0aGlzIHN1cHBvcnQgaXMgc3RhbmRhcmQNCmluIHZlcnNpb24gMS40LCBhbmQgYWxzbyBhdmFpbGFibGUgaW4gc29tZSAxLjMgSlJFcy4NCjxwPkdlcm1hbiBhbmQgSmFwYW5lc2UgbG9jYWxlcyBoYXZlIGJlZW4gdGVzdGVkLg0KPGg0PkJJREkgc3VwcG9ydDwvaDQ+DQo8cD5UaGUgRWNsaXBzZSBTREsgaXMgYSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCB0YXJnZXRlZCBhdCB0ZWNobmljYWwNCnByb2Zlc3Npb25hbHMgLSBub3QgYW4gZW5kIHVzZXIgYXBwbGljYXRpb24uIEhvd2V2ZXIsIHRoZSBFY2xpcHNlIFNESyB0b29scyB3aWxsDQpwZXJtaXQgdGVjaG5pY2FsIHByb2Zlc3Npb25hbHMgd2hvIGFyZSB3b3JraW5nIGluIEVuZ2xpc2ggdG8gYnVpbGQgSGVicmV3L0FyYWJpYw0KZW5kIHVzZXIgSmF2YSBwcm9ncmFtcyB3aGljaCBhcmUgdGhlbXNlbHZlcyBub3QgYmFzZWQgb24gdGhlIEVjbGlwc2UgU0RLLiBUaGUNCkJJREkgc3VwcG9ydCBpbiB0aGUgRWNsaXBzZSBTREsgYWxsb3dzIGEgSmF2YSBwcm9ncmFtbWVyIHRvIHdvcmsgd2l0aCBCSURJDQpzdHJpbmdzLCBjb2RlIGNvbW1lbnRzLCBldGMuIGJ1dCB0aGUgRWNsaXBzZSBTREsgaXRzZWxmIGlzIG5vdCBkZXNpZ25lZCB0byBiZQ0KbG9jYWxpemVkIGZvciBCSURJIGxvY2FsZXMgYW5kIGl0cyB3aWRnZXQgb3JpZW50YXRpb24gY2FuIG5vdCBiZSBjaGFuZ2VkLjwvcD4NCjxwPjxpPklNUE9SVEFOVDogVGhlIGFib3ZlIEJJREkgc3VwcG9ydCBpcyBhdmFpbGFibGUgb25seSBvbiBXaW5kb3dzIHBsYXRmb3Jtcy48L2k+PC9wPg0KDQo8aDI+DQoNCkNvbXBhdGliaWxpdHkgd2l0aCBQcmV2aW91cyBSZWxlYXNlczwvaDI+DQoNCjxwPg0KDQpJdCBpcyBhIGdpdmVuIHRoYXQgRWNsaXBzZSAyLjEgd2lsbCBiZSB1cHdhcmRzIGNvbXBhdGlibGUgd2l0aCBFY2xpcHNlIDIuMC4gQW5kDQppbmNvbXBhdGlibGUgYnJlYWsgd2l0aCB0aGUgcGFzdCB0aGlzIGVhcmx5IG9uIHdvdWxkIGJlIGJvdGggdW53ZWxjb21lIGFuZA0KdW53YXJyYW50ZWQuPC9wPg0KDQo8aDM+DQoNCkNvbXBhdGliaWxpdHkgb2YgUmVsZWFzZSAyLjEgd2l0aCAyLjA8L2gzPg0KDQpUaGUgRWNsaXBzZSBTREsgMi4xIHdpbGwgYmUgdXB3YXJkcyBjb21wYXRpYmxlIHdpdGggdGhlIEVjbGlwc2UgU0RLIDIuMCB0byB0aGUgDQpncmVhdGVzdCBleHRlbnQgcG9zc2libGUuIFdlIGFudGljaXBhdGUgYSBzbWFsbCBudW1iZXIgb2YgYXJlYXMgd2hlcmUgc2xhdmlzaGx5IA0KbWFpbnRhaW5pbmcgY29tcGF0aWJpbGl0eSB3b3VsZCBub3QgYmUgaW4gdGhlIGJlc3QgaW50ZXJlc3RzIG9mIHRoZSBQbGF0Zm9ybSBvciANCml0cyBjbGllbnRzLiBBbGwgc3VjaCBleGNlcHRpb25zIHdpbGwgYmUgbm90ZWQgaW4gdGhlIDIuMSByZWxlYXNlIG5vdGVzIHNvIHRoYXQgDQpjbGllbnRzIGNhbiBhc3Nlc3MgdGhlIGltcGFjdCBvZiB0aGVzZSBjaGFuZ2VzIG9uIHRoZWlyIHBsdWctaW5zIGFuZCBwcm9kdWN0cy4NCg0KPHA+PGI+QVBJIENvbnRyYWN0IENvbXBhdGliaWxpdHk6PC9iPiBUaGUgRWNsaXBzZSBTREsgMi4xIHdpbGwgYmUgdXB3YXJkcyBjb250cmFjdC1jb21wYXRpYmxlIA0KICB3aXRoIHRoZSBFY2xpcHNlIFNESyAyLjAgdW5sZXNzIG5vdGVkLiBUaGlzIG1lYW5zIHRoYXQgcHJvZ3JhbXMgaW4gZnVsbCBjb21wbGlhbmNlIA0KICB3aXRoIGNvbnRyYWN0cyBzcGVjaWZpZWQgaW4gdGhlIEVjbGlwc2UgU0RLIDIuMCBBUElzIHdpbGwgYXV0b21hdGljYWxseSBiZSBpbiANCiAgZnVsbCBjb21wbGlhbmNlIHdpdGggdGhlIEVjbGlwc2UgU0RLIDIuMSBBUElzLiAoQVBJIGlzIGNvbnN0cnVlZCBicm9hZGx5IHRvIA0KICBpbmNsdWRlIHN1Y2ggdGhpbmdzIGFzIHBsdWctaW4gZXh0ZW5zaW9uIHBvaW50cy4pIERvd253YXJkIGNvbnRyYWN0IGNvbXBhdGliaWxpdHkgDQogIGlzIG5vdCBzdXBwb3J0ZWQuIFRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IGNvbXBsaWFuY2Ugd2l0aCB0aGUgRWNsaXBzZSBTREsgDQogIDIuMSBBUElzIHdvdWxkIGVuc3VyZSBjb21wbGlhbmNlIHdpdGggdGhlIEVjbGlwc2UgU0RLIDIuMCBBUElzLiANCjxwPjxiPkJpbmFyeSAocGx1Zy1pbikgQ29tcGF0aWJpbGl0eTo8L2I+IFRoZSBFY2xpcHNlIFNESyAyLjEgd2lsbCBiZSB1cHdhcmRzIA0KICBiaW5hcnktY29tcGF0aWJsZSB3aXRoIHRoZSBFY2xpcHNlIFNESyAyLjAgdW5sZXNzIG5vdGVkLiBUaGlzIG1lYW5zIHRoYXQgcGx1Zy1pbnMgDQogIGJ1aWx0IGZvciB0aGUgRWNsaXBzZSBTREsgMi4wIHdpbGwgY29udGludWUgdG8gd29yayBjb3JyZWN0bHkgaW4gdGhlIEVjbGlwc2UgDQogIFNESyAyLjEgd2l0aG91dCBjaGFuZ2UuIERvd253YXJkIHBsdWctaW4gY29tcGF0aWJpbGl0eSBpcyBub3Qgc3VwcG9ydGVkLiBQbHVnLWlucyANCiAgZm9yIHRoZSBFY2xpcHNlIFNESyAyLjEgYXJlIHVubGlrZWx5IHRvIGJlIHVzYWJsZSBpbiB0aGUgRWNsaXBzZSBTREsgMi4wLiBQbHVnLWlucyANCiAgd2l0aCBoYXJkLWNvZGVkIHJlZmVyZW5jZXMgaW4gdGhlaXIgcGx1Zy1pbiBtYW5pZmVzdCBmaWxlIHRvIDIuMCB2ZXJzaW9ucyBvZiANCiAgcHJlcmVxdWlzaXRlIEVjbGlwc2UgUHJvamVjdCBwbHVnLWlucyB3aWxsIHdvcmsgaW4gMi4xIHByb3ZpZGVkIHRoZSB2ZXJzaW9uIG1hdGNoDQpydWxlIGlzICZxdW90O2dyZWF0ZXJPckVxdWFsJnF1b3Q7DQpvciAmcXVvdDtjb21wYXRpYmxlJnF1b3Q7ICh0aGUgZGVmYXVsdCk7IHJlZmVyZW5jZXMNCnVzaW5nICZxdW90O3BlcmZlY3QmcXVvdDsgb3IgJnF1b3Q7ZXF1aXZhbGVudCZxdW90OyBtYXRjaCBydWxlcyB3aWxsIGJlIGJyb2tlbi4gDQo8cD48Yj5Tb3VyY2UgQ29tcGF0aWJpbGl0eTo8L2I+IFRoZSBFY2xpcHNlIFNESyAyLjEgd2lsbCBiZSB1cHdhcmRzIHNvdXJjZS1jb21wYXRpYmxlIA0KICB3aXRoIHRoZSBFY2xpcHNlIFNESyAyLjAgdW5sZXNzIG5vdGVkLiBUaGlzIG1lYW5zIHRoYXQgc291cmNlIGZpbGVzIHdyaXR0ZW4gDQogIHRvIHVzZSB0aGUgRWNsaXBzZSBTREsgMi4wIEFQSXMgY2FuIGJlIHN1Y2Nlc3NmdWxseSBjb21waWxlZCBhbmQgcnVuIGFnYWluc3QgDQogIHRoZSBFY2xpcHNlIFNESyAyLjEgQVBJcy4gU2luY2Ugc291cmNlIGluY29tcGF0aWJpbGl0aWVzIGFyZSBlYXN5IHRvIGRlYWwgd2l0aCwgDQogIG1haW50YWluaW5nIHNvdXJjZSBjb21wYXRpYmlsaXR5IGlzIGNvbnNpZGVyZWQgbXVjaCBsZXNzIGltcG9ydGFudCB0aGFuIG1haW50YWluaW5nIA0KICBjb250cmFjdCBhbmQgYmluYXJ5IGNvbXBhdGliaWxpdHkuIERvd253YXJkIHNvdXJjZSBjb21wYXRpYmlsaXR5IGlzIG5vdCBzdXBwb3J0ZWQuIA0KICBJZiBzb3VyY2UgZmlsZXMgdXNlIG5ldyBFY2xpcHNlIFNESyBBUElzLCB0aGV5IHdpbGwgbm90IGJlIHVzYWJsZSB3aXRoIGFuIGVhcmxpZXIgDQogIHZlcnNpb24gb2YgdGhlIEVjbGlwc2UgU0RLLiANCjxwPjxiPldvcmtzcGFjZSBDb21wYXRpYmlsaXR5OjwvYj4gRWNsaXBzZSBTREsgMi4xIHdpbGwgYmUgdXB3YXJkcw0KDQp3b3Jrc3BhY2UtY29tcGF0aWJsZSB3aXRoIEVjbGlwc2UgU0RLIDIuMCB1bmxlc3Mgbm90ZWQuIFRoaXMgbWVhbnMgdGhhdA0KDQp3b3Jrc3BhY2VzIGFuZCBwcm9qZWN0cyBjcmVhdGVkIHdpdGggRWNsaXBzZSBTREsgMi4wIGNhbiBiZSBzdWNjZXNzZnVsbHkgb3BlbmVkIGJ5IEVjbGlwc2UgU0RLDQoyLjEgYW5kIHVwZ3JhZGVkIHRvIGEgMi4xIHdvcmtzcGFjZS4mbmJzcDsgSW5kaXZpZHVhbCBwbHVnLWlucyBkZXZlbG9wZWQgZm9yDQoNCkVjbGlwc2UgU0RLIDIuMCBzaG91bGQgcHJvdmlkZSBzaW1pbGFyIHVwd2FyZHMgY29tcGF0aWJpbGl0eSBmb3IgdGhlaXIgd29ya3NwYWNlDQoNCm1ldGFkYXRhOyBwbHVnLWluIGRldmVsb3BlcnMgYXJlIHJlc3BvbnNpYmxlIGZvciBlbnN1cmluZyB0aGF0IHRoZWlyIHBsdWctaW5zDQoNCnJlY29nbml6ZSAyLjAgbWV0YWRhdGEgYW5kIHByb2Nlc3MgaXQgYXBwcm9wcmlhdGVseS4gVXNlciBpbnRlcmZhY2Ugc2Vzc2lvbiBzdGF0ZSBtYXkgYmUgZGlzY2FyZGVkDQp3aGVuIGEgd29ya3NwYWNlIGlzIHVwZ3JhZGVkLiZuYnNwOyBEb3dud2FyZCB3b3Jrc3BhY2UgY29tcGF0aWJpbGl0eSBpcyBub3Qgc3VwcG9ydGVkLiBBIHdvcmtzcGFjZSBjcmVhdGVkDQoNCihvciBvcGVuZWQpIGJ5IEVjbGlwc2UgU0RLIDIuMSB3aWxsIGJlIHVudXNhYmxlIHdpdGggYW4gZWFybGllciB2ZXJzaW9uDQoNCm9mIEVjbGlwc2UgU0RLLiZuYnNwOyZuYnNwOw0KDQo8cD48Yj5Ob24tY29tcGxpYW50IHVzYWdlIG9mIEFQSSdzPC9iPjogQWxsIG5vbi1BUEkgbWV0aG9kcyBhbmQgY2xhc3NlcywgYW5kIGNlcnRhaW5seSANCiAgZXZlcnl0aGluZyBpbiBhIHBhY2thZ2Ugd2l0aCAmcXVvdDtpbnRlcm5hbCZxdW90OyBpbiBpdHMgbmFtZSwgYXJlIGNvbnNpZGVyZWQgDQogIGltcGxlbWVudGF0aW9uIGRldGFpbHMgd2hpY2ggbWF5IHZhcnkgYmV0d2VlbiBvcGVyYXRpbmcgZW52aXJvbm1lbnQgYW5kIGFyZSANCiAgc3ViamVjdCB0byBjaGFuZ2Ugd2l0aG91dCBub3RpY2UuIENsaWVudCBwbHVnLWlucyB0aGF0IGRpcmVjdGx5IGRlcGVuZCBvbiBhbnl0aGluZyANCiAgb3RoZXIgdGhhbiB3aGF0IGlzIHNwZWNpZmllZCBpbiB0aGUgRWNsaXBzZSBTREsgQVBJIGFyZSBpbmhlcmVudGx5IHVuc3VwcG9ydGFibGUgDQogIGFuZCByZWNlaXZlIG5vIGd1YXJhbnRlZXMgYWJvdXQgY29tcGF0aWJpbGl0eSB3aXRoaW4gYSBzaW5nbGUgcmVsZWFzZSBtdWNoIGxlc3MgDQogIHdpdGggYW4gZWFybGllciByZWxlYXNlLiBSZWZlciB0byA8aT48YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2FydGljbGVzL0FydGljbGUtQVBJJTIwdXNlL2VjbGlwc2UtYXBpLXVzYWdlLXJ1bGVzLmh0bWwiPkhvdyANCiAgdG8gVXNlIHRoZSBFY2xpcHNlIEFQSTwvYT48L2k+IGZvciBpbmZvcm1hdGlvbiBhYm91dCBob3cgdG8gd3JpdGUgY29tcGxpYW50IA0KICBwbHVnLWlucy4gDQoNCjxoMj4gRWNsaXBzZSBQcm9qZWN0IFN1YnByb2plY3RzPC9oMj4NCg0KVGhlIEVjbGlwc2UgUHJvamVjdCBjb25zaXN0cyBvZiAzIHN1YnByb2plY3RzLiBFYWNoIHN1YnByb2plY3QNCg0KaXMgY292ZXJlZCBpbiBpdHMgb3duIHNlY3Rpb246DQoNCjxibG9ja3F1b3RlPjxhIGhyZWY9IiNFY2xpcHNlIFBsYXRmb3JtIHN1YnByb2plY3QiPkVjbGlwc2UgUGxhdGZvcm08L2E+DQoNCjxicj48YSBocmVmPSIjSmF2YSBkZXZlbG9wbWVudCB0b29saW5nIChKRFQpIHN1YnByb2plY3QiPkpEVCAtIEphdmEgZGV2ZWxvcG1lbnQgdG9vbGluZzwvYT4NCg0KPGJyPjxhIGhyZWY9IiNQbHVnLWluIGRldmVsb3BtZW50IGVudmlyb25tZW50IChQREUpIHN1YnByb2plY3QiPlBERSAtIFBsdWctaW4gZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQ8L2E+PC9ibG9ja3F1b3RlPg0KDQo8cD5Gb3IgZWFjaCBzdWJwcm9qZWN0LCB0aGUgaXRlbXMgbGlzdGVkIHJlZmxlY3QgbmV3IGZlYXR1cmVzIG9mIHRoZSBFY2xpcHNlIFBsYXRmb3JtLCANCiAgb3IgYXJlYXMgd2hlcmUgZXhpc3RpbmcgZmVhdHVyZXMgd2lsbCBiZSBzaWduaWZpY2FudGx5IHJld29ya2VkLiBFYWNoIGl0ZW0gaW5kaWNhdGVzIA0KICB0aGUgY29tcG9uZW50cyBhZmZlY3RlZCBieSB0aGF0IHdvcmsgaXRlbSAobWFueSBpdGVtcyBpbnZvbHZlIGNvb3JkaW5hdGVkIGNoYW5nZXMgDQogIHRvIHNldmVyYWwgY29tcG9uZW50cykuDQoNCjxoMz4NCg0KPGEgbmFtZT0iRWNsaXBzZSBQbGF0Zm9ybSBzdWJwcm9qZWN0Ij5FY2xpcHNlIFBsYXRmb3JtIHN1YnByb2plY3Q8L2E+PC9oMz4NCg0KVGhlIEVjbGlwc2UgUGxhdGZvcm0gcHJvdmlkZXMgdGhlIG1vc3QgZnVuZGFtZW50YWwgYnVpbGRpbmcgYmxvY2tzLiBUaGUgZm9sbG93aW5nIGl0ZW1zIHJlZmxlY3QgbmV3IGZlYXR1cmVzIG9mIHRoZSBFY2xpcHNlIFBsYXRmb3JtLCBvciBhcmVhcw0KDQp3aGVyZSBleGlzdGluZyBmZWF0dXJlcyB3aWxsIGJlIHNpZ25pZmljYW50bHkgcmV3b3JrZWQuDQo8aDQ+Q29tbWl0dGVkIEl0ZW1zIChFY2xpcHNlIFBsYXRmb3JtIHN1YnByb2plY3QpPC9oND4NCjxibG9ja3F1b3RlPg0KPHA+PGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4gKHJlY2VudGx5IGNvbW1pdHRlZCkgPGI+SW1wcm92ZSBzdGFydHVwIHRpbWU8L2I+LiZuYnNwOyBQcm9ncmVzcyB3YXMgbWFkZQ0KYXQgaW1wcm92aW5nIHN0YXJ0dXAgdGltZXMgaW4gMi4wOyBob3dldmVyLCBhZGRpdGlvbmFsIGltcHJvdmVtZW50cyBhcmUgbmVlZGVkLiBJbiBhZGRpdGlvbiwgd2UgbmVlZCB0byBpbnZlc3RpZ2F0ZSBkZWZlcnJpbmcgKG9yIHBhcnRpYWxseSBvbWl0dGluZykgdGhlDQpyZWNvdmVyeSBvZiB0aGUgVUkgc3RhdGUuIFtQbGF0Zm9ybSBDb3JlLCBQbGF0Zm9ybSBVSV08L3A+DQo8cD48aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPiAocmVjZW50bHkgY29tbWl0dGVkKQ0KPGI+QWxsb3cgdXNlciBjdXN0b21pemFibGUNCmtleSBiaW5kaW5ncy48L2I+Jm5ic3A7IEVjbGlwc2UgMi4wIHN1cHBvcnRzIGNvbmZpZ3VyYWJsZSBrZXkgYmluZGluZ3MsIGJ1dCBvbmx5DQpmb3IgZWRpdG9yIGtleSBiaW5kaW5ncywgYW5kIG9ubHkgY29uZmlndXJlZCBieSBhIHBsdWctaW4uIFRoZSB1c2VyIHNob3VsZCBiZQ0KYWJsZSB0byBpbnRlcmFjdGl2ZWx5IGN1c3RvbWl6ZSB0aGUNCmtleSBiaW5kaW5ncyBmb3IgYWxsIHdvcmtiZW5jaCBhY3Rpb25zLiBUaGVyZSBhcmUgYWRkaXRpb25hbCBjdXN0b21pemF0aW9uIHBvc3NpYmlsaXRpZXMgaW5jbHVkaW5nIHZpc2libGUgYWN0aW9ucyBhbmQgcGVyc3BlY3RpdmUgbGF5b3V0Lg0KW1BsYXRmb3JtIFVJLCBTV1QsIFRleHQsIEpEVCBVSV08L3A+DQo8cD4gPGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4gIChyZXZpc2VkOyByZWNlbnRseSBjb21taXR0ZWQpIDxiPkltcHJvdmUgdXBkYXRlDQptYW5hZ2VyLjwvYj4gTWFrZSBjb250aW51aW5nIGltcHJvdmVtZW50cyB0byB0aGUgRWNsaXBzZSBpbnN0YWxsIGFuZCB1cGRhdGUNCm1lY2hhbmlzbXMuIEltcHJvdmUgc3VwcG9ydCBmb3IgaW5zdGFsbGluZyBhbmQgdXBkYXRpbmcgbGFyZ2UgcHJvZHVjdHMgbWFraW5nDQp1c2Ugb2YgbmVzdGVkIGZlYXR1cmVzLiBNYWtlIHJlbW90ZSBjb25uZWN0aW9ucyBtb3JlIGNvbmZpZ3VyYWJsZSAoIGNvbm5lY3Rpb24gdXNpbmcgYSBwcm94eSBzZXJ2ZXINCmJlaGluZCBmaXJld2FsbCBhbmQgYXV0aGVudGljYXRpb24pIGFuZCBtb3JlIHJvYnVzdCAodGltZSBvdXRzKS4gW1BsYXRmb3JtIENvcmUsIFBsYXRmb3JtIEluc3RhbGwvVXBkYXRlXTwvcD4NCjxwPiA8aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPiAocmVjZW50bHkgY29tbWl0dGVkKSA8Yj5FbmFibGUgREJDUyBvbiBMaW51eC48L2I+DQpTdXBwb3J0IGRvdWJsZS1ieXRlIGNoYXJhY3RlcnMgb24gdGhlIEdUSyBhbmQgTW90aWYgd2luZG93IHN5c3RlbXMuIFtTV1RdPC9wPg0KPHA+IDxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+ICAocmV2aXNlZDsgcmVjZW50bHkgY29tbWl0dGVkKSA8Yj5BZGQgd29ya2JlbmNoDQplZGl0b3IgbmF2aWdhdGlvbg0KaGlzdG9yeS48L2I+IFRoZSB1c2VyIHNob3VsZCBiZSBhYmxlIHRvIG5hdmlnYXRlIGJldHdlZW4gd29ya2JlbmNoIGVkaXRvcnMgd2l0aCB3ZWIgc3R5bGUgYmFjay9mb3J3YXJkIGFjdGlvbnMuDQooUmVmOiA8YSBocmVmPSJodHRwOi8vZGV2LmVjbGlwc2Uub3JnL2J1Z3Mvc2hvd19idWcuY2dpP2lkPTU3MDAiPmJ1ZyA1NzAwPC9hPikmbmJzcDsNCltQbGF0Zm9ybSBVSV08L3A+DQo8L2Jsb2NrcXVvdGU+DQo8aDQ+UHJvcG9zZWQgSXRlbXMgKEVjbGlwc2UgUGxhdGZvcm0gc3VicHJvamVjdCk8L2g0Pg0KPGJsb2NrcXVvdGU+DQo8cD48Yj5JbXByb3ZlDQpzZXJ2aWNlYWJpbGl0eS4gPC9iPiBQcm9ncmVzcyB3YXMgbWFkZSBhdCBpbXByb3Zpbmcgc2VydmljZWFiaWxpdHkgaW4gMi4wOyBob3dldmVyLCBhZGRpdGlvbmFsIGltcHJvdmVtZW50cyBhcmUNCm5lZWRlZCwgcGFydGljdWxhcmx5IGluIGRlYWxpbmcgd2l0aCBlcnJvciBjb25kaXRpb25zIGFuZCByZXBvcnRpbmcgdGhlbSBpbiBhbg0KYXBwcm9wcmlhdGUgbWFubmVyLiBbUGxhdGZvcm0gQ29yZSwgU1dULCBQbGF0Zm9ybSBVSV08YnI+DQo8YnI+DQo8Yj5BZGQgY2hlYXQgc2hlZXRzPC9iPi4mbmJzcDsgQSBjaGVhdCBzaGVldCBpcyBhbiBpbnN0YW5jZSANCiAgICBvZiBhIHNpbXBsZSBraW5kIG9mIHdvcmtmbG93IHN1cHBvcnQgdXNlZCB0byBoZWxwIHRoZSB1c2VyIGNhcnJ5IG91dCBhDQogIHNlcXVlbmNlIG9mIHN0ZXBzLiBGb3IgZXhhbXBsZSwgJnF1b3Q7Y3JlYXRlIGFuZCBkZXBsb3kgYSBwbHVnLWluIiBpcyBhIG11bHRpLXN0ZXAgcHJvY2VzcyB0aGF0IGNvdWxkIGJlIG1hZGUgZWFzaWVyIHRvIGZvbGxvdyBpZiB0aGVyZSB3YXMgYSBndWlkZSwgc2ltaWxhciB0byBhIHJlY2lwZSB0aGF0IHdvdWxkIHRyYWNrIHRoZSB1c2VyJ3MgcHJvZ3Jlc3MgYW5kIHByb3ZpZGUgYm90aCBkZXNjcmlwdGl2ZSB0ZXh0IHRoYXQgZXhwbGFpbnMgdGhlIHN0ZXBzIGludm9sdmVkIGFuZCBpbnRlZ3JhdGlvbiB3aXRoIEVjbGlwc2UgdG8gYXV0b21hdGUgdGhlIHByb2Nlc3MuIFRoZSBXZWxjb21lIFBhZ2UgZWRpdG9yIGlzIGEgc2ltcGxlIA0KICAgIGV4YW1wbGUgb2YgYSBjaGVhdCBzaGVldC4gUHJvdmlkZSBhIHN0YW5kYXJkIEFQSSBmb3IgY3JlYXRpbmcgY2hlYXQgDQogICAgc2hlZXRzLiBbUGxhdGZvcm0gVUldPC9wPg0KPHA+DQogPGI+SW1wcm92ZSBBbnQgc3VwcG9ydC48L2I+DQpBZGQgc3VwcG9ydCB0byBuYXZpZ2F0ZSBmcm9tIEFudCBlcnJvciBvdXRwdXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlLg0KW1BsYXRmb3JtIFVJLCBBbnQgQ29yZV08L3A+DQo8cD48Yj5JbXByb3ZlIGZpbGUgZW5jb2Rpbmcgc3VwcG9ydC48L2I+DQpFY2xpcHNlIDIuMCB1c2VzIGEgc2luZ2xlIGdsb2JhbCBmaWxlIGVuY29kaW5nIHNldHRpbmcgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmcgZmlsZXMNCmluIHRoZSB3b3Jrc3BhY2UuIFRoaXMgaXMgcHJvYmxlbWF0aWM7IGZvciBleGFtcGxlLCB3aGVuIEphdmEgc291cmNlIGZpbGVzIGluDQp0aGUgd29ya3NwYWNlIHVzZSBPUyBkZWZhdWx0IGZpbGUgZW5jb2Rpbmcgd2hpbGUgWE1MIGZpbGVzIGluIHRoZSB3b3Jrc3BhY2UgdXNlDQpVVEYtOCBmaWxlIGVuY29kaW5nLiBUaGUgUGxhdGZvcm0gc2hvdWxkIHN1cHBvcnQgbm9uLXVuaWZvcm0gZmlsZSBlbmNvZGluZ3MuDQooUmVmOiA8YSBocmVmPSJodHRwOi8vZGV2LmVjbGlwc2Uub3JnL2J1Z3Mvc2hvd19idWcuY2dpP2lkPTUzOTkiPmJ1ZyA1Mzk5PC9hPikgW1BsYXRmb3JtDQpDb3JlLCBQbGF0Zm9ybSBVSSwgVGV4dCwgU2VhcmNoLCBDb21wYXJlLCBKRFQgVUksIEpEVCBDb3JlXTwvcD4NCjxwPiA8Yj5BZGQgPC9iPjxiPnRhYmxlIG9mDQpjb250ZW50cyBzdXBwb3J0IHRvIDwvYj48Yj53aTwvYj48Yj56YXJkcy48L2I+IEV4dGVuZCB0aGUgd29ya2JlbmNoIHdpemFyZA0KZnJhbWV3b3JrIHRvIGFsbG93IEVjbGlwc2Ugd2l6YXJkIGRldmVsb3BlcnMgdG8gcHJvdmlkZSBtdWNoIG1vcmUgc3Vic3RhbnRpYWwNCmFuZCBzaWduaWZpY2FudCB1c2VyIGZlZWRiYWNrLiBbUGxhdGZvcm0gVUldPC9wPg0KPHA+IDxiPlN1cHBvcnQgZmxvYXRpbmcNCnRvb2xiYXJzIGFuZCB2aWV3cy48L2I+IEFsbG93IHRoZSB1c2VyIHRvIGN1c3RvbWl6ZSB0aGUgd29ya2JlbmNoIGJ5IGNyZWF0aW5nIGZsb2F0aW5nDQp0b29sYmFycyBhbmQgdmlld3MuIFtQbGF0Zm9ybSBVSV08L3A+DQo8cD4gPGI+QWxsb3cgZWRpdG9ycyB0bw0Kb3BlbiBmaWxlcyBvdXRzaWRlIHdvcmtzcGFjZS48L2I+IEEgY29tbW9uIHJlcXVlc3QgaXMgdG8gYmUgYWJsZSB0byBvcGVuIGEgZmlsZSB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoZSB3b3Jrc3BhY2UNCnVzaW5nIEVjbGlwc2UuIEluIGFkZGl0aW9uLCBhcHBsaWNhdGlvbnMgd291bGQgbGlrZSB0byBwcm92aWRlIGZpbGUgZXh0ZW5zaW9uIGFzc29jaWF0aW9ucyBzbw0KdGhhdCBkb3VibGUtY2xpY2tpbmcgb24gYSBmaWxlIGluIHRoZSBPUyBkZXNrdG9wIHdvdWxkIG9wZW4gdGhlIGFzc29jaWF0ZWQgRWNsaXBzZSBlZGl0b3IuDQpUaGUgb3BlcmF0aW9ucyBhbmQgY2FwYWJpbGl0aWVzIGF2YWlsYWJsZSBvbiB0aGVzZSAib3V0c2lkZSBvZiB0aGUgd29ya3NwYWNlIiBmaWxlcw0Kd291bGQgbmVlZCB0byBiZSBkZWZpbmVkLiBbUGxhdGZvcm0gVUldPC9wPg0KPHA+PGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4gIChuZXcpIDxiPkltcHJvdmUgU1dUDQpzdXBwb3J0IGZvciByaWdodC10by1sZWZ0IGxhbmd1YWdlczwvYj4uJm5ic3A7QWxsb3cgdGhlIGFwcHJvcHJpYXRlIHdpZGdldCBvcmllbnRhdGlvbg0KZm9yIHJpZ2h0LXRvLWxlZnQgbGFuZ3VhZ2VzLiBbU1dUXTwvcD4NCjwvYmxvY2txdW90ZT4NCjxoND5EZWZlcnJlZCBJdGVtcyAoRWNsaXBzZSBQbGF0Zm9ybSBzdWJwcm9qZWN0KTwvaDQ+DQo8YmxvY2txdW90ZT4NCiAgPHA+PGk+Tm9uZSBhdCB0aGlzIHRpbWUuPC9pPjwvcD4NCjwvYmxvY2txdW90ZT4NCjxoND5SZWplY3RlZCBJdGVtcyAoRWNsaXBzZSBQbGF0Zm9ybSBzdWJwcm9qZWN0KTwvaDQ+DQo8YmxvY2txdW90ZT4NCiAgPHA+PGk+Tm9uZSBhdCB0aGlzIHRpbWUuPC9pPjwvcD4NCjwvYmxvY2txdW90ZT4NCg0KDQoNCjxwPihFbmQgb2YgaXRlbXMgZm9yIEVjbGlwc2UgUGxhdGZvcm0gc3VicHJvamVjdC4pDQoNCg0KDQo8aDM+DQoNCjxhIG5hbWU9IkphdmEgZGV2ZWxvcG1lbnQgdG9vbGluZyAoSkRUKSBzdWJwcm9qZWN0Ij5KYXZhIGRldmVsb3BtZW50IHRvb2xpbmcgKEpEVCkgc3VicHJvamVjdDwvYT48L2gzPg0KDQo8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2pkdC9pbmRleC5odG1sIj4NCg0KSmF2YSBkZXZlbG9wbWVudCB0b29saW5nPC9hPiAoSkRUKSBpbXBsZW1lbnRzIGEgSmF2YSBJREUgYmFzZWQgb24gdGhlIEVjbGlwc2UNCg0KUGxhdGZvcm0uDQoNClRoZSBmb2xsb3dpbmcgd29yayBpdGVtcyByZWZsZWN0IG5ldyBmZWF0dXJlcyBvZiBKRFQsIG9yIGFyZWFzIHdoZXJlIGV4aXN0aW5nDQoNCmZlYXR1cmVzIHdpbGwgYmUgc2lnbmlmaWNhbnRseSByZXdvcmtlZC4NCjxoND5Db21taXR0ZWQgSXRlbXMgKEVjbGlwc2UgSkRUIHN1YnByb2plY3QpPC9oND4NCjxibG9ja3F1b3RlPg0KPHA+PGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4gKHJlY2VudGx5IGNvbW1pdHRlZCkgPGI+U3VwcG9ydCBidWlsZGluZyBwcm9qZWN0cyB3aXRoIGNpcmN1bGFyIGRlcGVuZGVuY2llcy48L2I+Jm5ic3A7IFNvbWUgdXNlcnMgYXJlDQpleHBlcmllbmNpbmcgZGlmZmljdWx0eSBwYXJ0aXRpb25pbmcgdGhlaXIgd29yayBpbnRvIGluZGVwZW5kZW50bHktYnVpbGRhYmxlIHByb2plY3RzLiBXZSB3YW50IHRvIGFkZCBhIG1lY2hhbmlzbSB0byBhbGxvdyBtdXR1YWxseSBkZXBlbmRlbnQgcHJvamVjdHMgdG8gYmUNCmJ1aWx0DQpzdWNjZXNzZnVsbHksIHdoaWxlIHByZXNlcnZpbmcgY3VycmVudCBwcm9qZWN0IGJ1aWxkIG9yZGVyIGJlaGF2aW9yLiAoUmVmOiA8YSBocmVmPSJodHRwOi8vZGV2LmVjbGlwc2Uub3JnL2J1Z3Mvc2hvd19idWcuY2dpP2lkPTEwMjYyIj5idWcNCjEwMjYyPC9hPikgW0pEVCBDb3JlLCBQbGF0Zm9ybSBDb3JlXTwvcD4NCiAgPHA+IDxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+ICAocmV2aXNlZDsgcmVjZW50bHkgY29tbWl0dGVkKSA8Yj5Nb3JlIGZsZXhpYmxlIHByb2plY3QgbGF5b3V0LiZuYnNwOw0KICA8L2I+U3VwcG9ydCBzb3VyY2UgYW5kIG91dHB1dCBmb2xkZXJzIHRoYXQgYXJlIG91dHNpZGUgb2YgdGhlDQogIHdvcmtzcGFjZS4gVGhpcyBsaWtlbHkgcmVxdWlyZXMgUGxhdGZvcm0gQ29yZSBzdXBwb3J0IHNvIHRoYXQgY2hhbmdlcyB0byB0aGVzZQ0KICBmb2xkZXJzIGNhbiBiZSByZWZsZWN0ZWQgaW4gcmVzb3VyY2UgZGVsdGFzLiBbSkRUIENvcmUsIEpEVCBVSSwgUGxhdGZvcm0NCiAgQ29yZSwgUGxhdGZvcm0gVUksIFRlYW1dPC9wPg0KPHA+IDxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+ICAocmVjZW50bHkgY29tbWl0dGVkKSA8Yj5TdXBwb3J0IG11bHRpLUpBUg0Kc3lzdGVtIGxpYnJhcmllcy48L2I+IFNvbWUgSlJFcyAoaW5jbHVkaW5nIE1hYyBPUyBYIGFuZCBJQk0gMS40KSBwYWNrYWdlJm5ic3A7DQp0aGUgSmF2YSBzeXN0ZW0gY2xhc3MgbGlicmFyaWVzIGluIHNldmVyYWwgSkFSIGZpbGVzLiBJbXByb3ZlIHN1cHBvcnQgZm9yIHN5c3RlbQ0KY2xhc3MgbGlicmFyaWVzIHNvIHRoYXQgaXQgaXMgbW9yZSBjb252ZW5pZW50IHRvIGRldmVsb3AgYW5kIHJ1biBhZ2FpbnN0IHRoZW0uIFtKRFQNCkNvcmUsIEpEVCBVSV08L3A+DQo8cD4gPGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4gKHJlY2VudGx5IGNvbW1pdHRlZCkgPGI+QWRkIG5ldyByZWZhY3RvcmluZ3M8L2I+LiBTdXBwb3J0IGFkZGl0aW9uYWwNCnJlZmFjdG9yaW5nIGFjdGlvbnMsIGluY2x1ZGluZyBleHRyYWN0IGludGVyZmFjZSwgYW5kIGV4dHJhY3QgY29uc3RhbnQuIFtKRFQNCkNvcmUsIEpEVCBVSV08L3A+DQo8L2Jsb2NrcXVvdGU+DQo8aDQ+UHJvcG9zZWQgSXRlbXMgKEVjbGlwc2UgSkRUIHN1YnByb2plY3QpPC9oND4NCjxibG9ja3F1b3RlPg0KPHA+PGk+Tm9uZSBhdCB0aGlzIHRpbWUuPC9pPjwvcD4NCjwvYmxvY2txdW90ZT4NCjxoND5EZWZlcnJlZCBJdGVtcyAoRWNsaXBzZSBKRFQgc3VicHJvamVjdCk8L2g0Pg0KPGJsb2NrcXVvdGU+DQogIDxwPjxpPk5vbmUgYXQgdGhpcyB0aW1lLjwvaT48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8aDQ+UmVqZWN0ZWQgSXRlbXMgKEVjbGlwc2UgSkRUIHN1YnByb2plY3QpPC9oND4NCjxibG9ja3F1b3RlPg0KICA8cD48aT5Ob25lIGF0IHRoaXMgdGltZS48L2k+PC9wPg0KPC9ibG9ja3F1b3RlPg0KDQoNCg0KPHA+KEVuZCBvZiBpdGVtcyBmb3IgRWNsaXBzZSBKRFQgc3VicHJvamVjdC4pDQoNCg0KDQo8aDM+DQoNCjxhIG5hbWU9IlBsdWctaW4gZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgKFBERSkgc3VicHJvamVjdCI+UGx1Zy1pbiBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCAoUERFKSBzdWJwcm9qZWN0PC9hPjwvaDM+DQoNClRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL3BkZS9pbmRleC5odG1sIj4gcGx1Zy1pbiBkZXZlbG9wbWVudCBlbnZpcm9ubWVudDwvYT4gDQooUERFKSBjb25zaXN0cyBvZiZuYnNwO3Rvb2xzIGZvciBkZXZlbG9waW5nIHBsdWctaW5zIGZvciB0aGUgRWNsaXBzZSBQbGF0Zm9ybS4NCg0KVGhlIGZvbGxvd2luZyB3b3JrIGl0ZW1zIHJlZmxlY3QgbmV3IGZlYXR1cmVzIG9mIFBERSwgb3IgYXJlYXMgd2hlcmUgZXhpc3RpbmcNCg0KZmVhdHVyZXMgd2lsbCBiZSBzaWduaWZpY2FudGx5IHJld29ya2VkLg0KPGg0PkNvbW1pdHRlZCBJdGVtcyAoRWNsaXBzZSBQREUgc3VicHJvamVjdCk8L2g0Pg0KPGJsb2NrcXVvdGU+DQogIDxwPjxpPk5vbmUgYXQgdGhpcyB0aW1lLjwvaT48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8aDQ+UHJvcG9zZWQgSXRlbXMgKEVjbGlwc2UgUERFIHN1YnByb2plY3QpPC9oND4NCjxibG9ja3F1b3RlPg0KICA8cD48aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPiAgKG5ldykgPGI+SW1wcm92ZSB1c2FiaWxpdHkuPC9iPg0KICBGMSBoZWxwIGZvciBhbGwgUERFIGRpYWxvZ3M7IGltcHJvdmVkIFBERSBmb3JtIGVkaXRvcnM7IGltcHJvdmVkIHBsdWctaW4NCiAgbWFuaWZlc3QgZWRpdG9yIEV4dGVuc2lvbnMgcGFnZTsgbW9yZSB1c2VyLWZyaWVuZGx5IHN1cHBvcnQgZm9yIGJ1aWxkaW5nIHBsdWctaW5zIGFuZA0KICBmZWF0dXJlcy48L3A+DQogIDxwPjxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+ICAobmV3KSA8Yj5BZGQgdDwvYj48Yj5lbXBsYXRlDQogIEFQSS48L2I+IEFQSSBmb3IgUERFIHRlbXBsYXRlIHdpemFyZHMgd2lsbCBiZSBkZWZpbmVkLCBhbGxvd2luZyBvdGhlciBwbHVnLWlucw0KICB0byBjb250cmlidXRlIHRlbXBsYXRlcyBmb3IgdGhlaXIgZXh0ZW5zaW9uIHBvaW50cy48L3A+DQogIDxwPjxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+ICAobmV3KSA8Yj5JbXByb3ZlDQogIGJ1aWxkIGNsYXNzIHBhdGggZm9yIHBsdWctaW4gcHJvamVjdHMuPC9iPiBQbHVnLWlucyB0aGF0IG1ha2UgZGlyZWN0IHJlZmVyZW5jZQ0KICB0byBKQVIgbGlicmFyaWVzIG9mIHByZXJlcXVpc2l0ZSBwbHVnLWlucyBhcmUgdnVsbmVyYWJsZSB0byB2ZXJzaW9uIGlkcyBpbg0KICBwbHVnLWluIGVtYmVkZGVkIGluIGRpcmVjdG9yeSBuYW1lcy4gVGhlIGFsdGVybmF0aXZlLCB1c2luZyBiaW5hcnkgbGlicmFyeQ0KICBwbHVnLWlucyBmb3IgZWFjaCBwcmVyZXF1aXNpdGUgcGx1Zy1pbiwgbGVhZHMgdG8gYSBwcm9mdXNpb24gb2YgcHJvamVjdHMgaW4NCiAgdGhlIHdvcmtzcGFjZS4gUERFIHdpbGwgb2ZmZXIgYSB0aGlyZCBhbHRlcm5hdGl2ZSBiYXNlZCBvbiBKRFQgY2xhc3MgcGF0aCBjb250YWluZXJzDQogIHRoYXQgYXZvaWRzIHRoZXNlIHNob3J0Y29taW5ncyBhbmQgaW50ZXJvcGVyYXRlcyB3aXRoIGV4aXN0aW5nIHBsdWctaW4NCiAgcHJvamVjdHMuPC9wPg0KICA8cD48aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPiAgKG5ldykgPGI+QWRkIHN1cHBvcnQNCiAgZm9yIHU8L2I+PGI+cGRhdGUgc2l0ZXMuPC9iPiBTZXR0aW5nIHVwIGFuIEVjbGlwc2UgdXBkYXRlIHNpdGUgYW5kIGJ1aWxkaW5nDQogIGl0cyBwbHVnLWlucyBhbmQgZmVhdHVyZXMgaXMgbm90IHN0cmFpZ2h0Zm9yd2FyZC4gUERFIHdpbGwgbWFrZSBpdCBjb252ZW5pZW50DQogIHRvIGRlZmluZSB0aGUgbGF5b3V0IG9mIGFuIHVwZGF0ZSBzaXRlIGFuZCBjcmVhdGUgdGhlIHVwZGF0ZSBzaXRlJ3MgY29udGVudHMuPC9wPg0KPC9ibG9ja3F1b3RlPg0KPGg0PkRlZmVycmVkIEl0ZW1zIChFY2xpcHNlIFBERSBzdWJwcm9qZWN0KTwvaDQ+DQo8YmxvY2txdW90ZT4NCiAgPHA+PGk+Tm9uZSBhdCB0aGlzIHRpbWUuPC9pPjwvcD4NCjwvYmxvY2txdW90ZT4NCjxoND5SZWplY3RlZCBJdGVtcyAoRWNsaXBzZSBQREUgc3VicHJvamVjdCk8L2g0Pg0KPGJsb2NrcXVvdGU+DQogIDxwPjxpPk5vbmUgYXQgdGhpcyB0aW1lLjwvaT48L3A+DQo8L2Jsb2NrcXVvdGU+DQoNCg0KDQo8cD4oRW5kIG9mIGl0ZW1zIGZvciBFY2xpcHNlIFBERSBzdWJwcm9qZWN0LikNCg0KPC9ib2R5Pg0KDQo8L2h0bWw+DQoNCg==