PiBBZnRlciBpc3N1aW5nIGEgcmVhZCBibG9jayBjb21tYW5kLCBhcmUgeW91IHBhcnNpbmcgdGhl IFIxCj4gcmVzcG9uc2UgYW5kIGNoZWNraW5nIHRoYXQgZXZlcnkgYml0IGluIHRoZSByZXNwb25z ZSBpcyBhcyBleHBlY3RlZD8KPgo+IEFmdGVyIGlzc3VpbmcgYSByZWFkIGJsb2NrIGNvbW1hbmQs IHlvdSBhcmUgY2hlY2tpbmcgZm9yIHRoZSBTdGFydAo+IEJsb2NrIFRva2VuIGZpcnN0IGJ5dGUg bWFya2VyIDB4RkUsIHJpZ2h0PwoKWWVzLiBUeXBpY2FsbHksIHRoaXMgbWF5IHRha2Ugc29tZXdo ZXJlIHVuZGVyIDFtcy4gU28gdGhlIENNRDE3CmlzIHNlbnQgYW5kIHRoZW4gZHVtbXkgMHhGRnMg KGluIG15IHMvdyBhYm91dCAxLjV1cyBhcGFydCkgdW50aWwgdGhlCjB4RkUgaXMgc2VlbiBvbiBE Ty4gVGhlbiA1MTQgYnl0ZXMgYXJlIHBpY2tlZCB1cAoKPiAod2hpY2ggYXBwZWFycyBhcyAweEZG KSBiZXR3ZWVuIHRoZSBSMSBhbmQgdGhlIGZpcnN0IGJ5dGUgb2YgdGhlCj4gU3RhcnQgQmxvY2sg VG9rZW4gKHdoaWNoIGFwcGVhcnMgYXMgMHhGRSkKClRoYXQncyB3aGF0IEkgZ2VuZXJhbGx5IHNl ZSBvbiBETy4gQSBjb25zdGFudCBoaWdoIChGRikgdW50aWwgMHhGRQoKPiBBcmUgeW91IGNoZWNr aW5nIGZvciB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgU3RhcnQgQmxvY2sgVG9rZW4KPiBhbmQg YSBEYXRhIEVycm9yIFRva2VuPyBJZiB5b3UgZXZlciBzZWUgdGhlIGxhdHRlciwgd2hhdCBlcnJv ciBmbGFncwo+IGlzIGl0IHNob3dpbmc/CgpCZWNhdXNlIG9mIHRoZSB1bnByZWRpY3RhYmxlIG5h dHVyZSBvZiB0aGUgZmFpbHVyZSBJJ20gZ29pbmcgdG8gaGF2ZQp0byB3cml0ZSBzb21lIHMvdyB0 byB0cmlnZ2VyIHRoZSBhbmFseXNlciBhdCB0aGUgcmlnaHQgdGltZS4gSXQgbmVlZHMgdG8KYmUg Y2FwdHVyaW5nIGF0IDIwLTUwTUh6IHNvIEkgY2FuIGNsZWFybHkgc2VlIGJpdCB2YWx1ZXMuIEF0 IHRob3NlCnNwZWVkcyBvbmx5IDI1LTEwbXMgY2FuIGJlIHZpZXdlZC4gRm9ydHVuYXRlbHkgSSBj YW4gbWFrZSBpdCBhCnJldHJvc3BlY3RpdmUgY2FwdHVyZSwgaWUgdGhlIHRyaWdnZXIgcG9pbnQg aW4gdGhlIGRpc3BsYXkgaXMgd2F5IG92ZXIKb24gdGhlIHJpZ2h0IG9mIHRoZSBzY3JlZW4gYW5k IHRoZSBkaXNwbGF5IHRvIHRoZSBsZWZ0IHNob3dzIHdoYXQKaGFwcGVuZWQgYmVmb3JlIHRoZSB0 cmlnZ2VyLiBUaGlzIHByb2JhYmx5IG1lYW5zIHdyaXRpbmcgc29tZSBzb3J0Cm9mIHRpbWUtb3V0 IGRldGVjdG9yIHdoaWNoIGlzIHJlc2V0IG9uIDB4RkUuIEknZCBsaWtlIHRvIHNlZSB3aGF0Cmhh cHBlbnMgaW1tZWRpYXRlbHkgYmVmb3JlIGl0IG9yIHRoZSBkc1BJQyBnZXRzIGxvc3QuIEl0IG1p Z2h0IG5vdApiZSByZWxldmFudCBidXQgYXQgbGVhc3QgSSdsbCBrbm93Cgo+IEFmdGVyIHRoZSBk YXRhIHBhcnQsIGFyZSB5b3UgcmVhZGluZyB0aGUgQ1JDMTYgYXQgdGhlIGVuZCBvZiB0aGUKPiB0 b2tlbj8KCk5vLCBJIGp1c3QgcGljayBpdCB1cCBhcyB0d28gbGFzdCBieXRlcy4gQXBhcnQgZnJv bSBkdXJpbmcgdGhlCmluaXRpYWxpc2F0aW9uIEkgZG9uJ3QgdXNlIHRoZSBDUkMgYXQgYWxsLiBJ IGtub3cgdGhlIHBvbHlub21pYWwgYW5kCmNvdWxkLCBidXQgZG9uJ3QuIEFzIENSQyBpcyBhdCB0 aGUgdmVyeSBlbmQgb2YgdGhlIHJlYWQsIG9mIGNvdXJzZQp0aGUgcHJlY2VkaW5nIDUxMiBkYXRh IGJ5dGVzIGhhdmUgYWxyZWFkeSBiZWVuIHByb2Nlc3NlZCBieSB0aGUKZHNQSUMuIElmIHRoZSBz dWRkZW4gYXBwZWFyYW5jZSBvZiBhbiBpbnRlcm1pdHRlbnQgY2xpY2sgaGFkbid0CmhhcHBlbmVk IGluIHRoZSBsYXN0IHRlc3QgSSdkIGhhdmUgc2FpZCB0aGUgY29ycmVjdG5lc3Mgb2YgdGhlIENS Qwp3YXMgYSBtYXR0ZXIgb2YgaW50ZXJlc3QgcmF0aGVyIHRoYW4gaW1wb3J0YW5jZS4gTm93IEkn bGwgaGF2ZSB0bwpjb25zaWRlciBpdCwgcGVyaGFwcyBub3QgYXMgYSBjYXVzZSBidXQgYSBzeW1w dG9tCgo+IElmIHNvLCBhcmUgeW91IGNoZWNraW5nIGl0PyBJZiBzbywgd2hlbiB5b3UgZ2V0IHRo ZSBiYWQgZGF0YSBvdXQgb2YKPiB0aGUgY2FyZCwgaXMgdGhlIENSQzE2IGNvcnJlY3Q/IElmIGl0 4oCZcyBjb3JyZWN0LCB0aGVuIHRoZSBjYXJkIG11c3QKPiBiZSBzZW5kaW5nIGJhZCBkYXRhIHRv IHN0YXJ0IHdpdGguIElmIGl04oCZcyB3cm9uZywgdGhlbiB0aGUgZGF0YSBpcwo+IGJlaW5nIGNv cnJ1cHRlZCBvbiB0aGUgU1BJIGJ1cywgYW5kIHRoZSBjYXJkIGlzIChwcm9iYWJseSkgaW5ub2Nl bnQuCgpJdCdzIG5vdCBpbXBvc3NpYmxlIHRoYXQgdGhlIGNhcmQgZmlsZSBvciBGVEwgaXMgbm90 IHRoZSBzb3VyY2Ugb2YgdGhlCnByb2JsZW0sIGJ1dCBJIGp1c3QgZ2V0IHRoZSBmZWVsaW5nIHRo YXQgb25lIG9mIHRoZW0gaXMuIEZvciBleGFtcGxlLAp3aXRoIHRoZSBkc1BJQyBwb3dlcmVkIGRv d24gZm9yIHNvbWUgaG91cnMgeW91J2QgdGhpbmsgdGhhdCBhbnkKZi93IHByb2JsZW0gaW4gdGhl IGRzUElDIHdvdWxkIGhhdmUgcmVzb2x2ZWQgaXRzZWxmIG9uIHBvd2VyLXVwLApidXQgdGhlIHBy b2JsZW0gcGVyc2lzdHMKCkFzIHlvdSBjYW4gaW1hZ2luZSwgdGhpcyBpcyBhbiB1bmV4cGVjdGVk IGhpY2N1cCBhbmQgdGhlcmUgYXJlIGEKbG90IG9mIGNvbW1hbmRzLCB0aW1pbmdzIGFuZCBkYXRh IHRvIGV4YW1pbmUgYW5kIGZpZGRsZSB3aXRoLgoKSSdkIHB1dCBpdCBzaWRlIGZvciBhIGNvdXBs ZSBvZiBkYXlzIHNvIEkgZG9uJ3QgZ2V0IGJlaGluZCB3aXRoIG90aGVyCnBhcnRzIG9mIHRoZSBw cm9qZWN0LiBJJ3ZlIGFsc28gcG9zdGVkIHRoZSBxdWVzdGlvbiB0byBhbiBTRCBmb3J1bQp3aGlj aCBoYXMgaW5kdXN0cnkgcmVwcmVzZW50YXRpdmVzLiBObyByZXBsaWVzIHlldAoKSG9wZWZ1bGx5 IHRvZGF5IG9yIHRvbW9ycm93IEknbGwgYmUgYWJsZSB0byBjYXB0dXJlIHRoZSBtb21lbnQKClRo YW5rcwoKSm9lIAoKCgotLS0tLQpObyB2aXJ1cyBmb3VuZCBpbiB0aGlzIG1lc3NhZ2UuCkNoZWNr ZWQgYnkgQVZHIC0gd3d3LmF2Zy5jb20KVmVyc2lvbjogMjAxNS4wLjU3NTEgLyBWaXJ1cyBEYXRh YmFzZTogNDMxNS85MzgxIC0gUmVsZWFzZSBEYXRlOiAwMy8yNS8xNQoKLS0gCmh0dHA6Ly93d3cu cGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmll dy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVk dS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .