Ckxvb2tpbmcgYXQgbXkgb2xkIGVtYWlsLCBJIHRoaW5rIGl04oCZcyB3b3J0aCBzdXBwb3J0aW5n IGZvciBNYWlsIGNsaWVudHMgZm9yIGV4YW1wbGUsIGJ1dCBJIHRoaW5rIGl0IHdvdWxkIHJlcXVp cmUgc29tZSBPUy1sZXZlbCBlbmdpbmVlcmluZyBhcyB3ZWxsIHRvIGhhdmUgaXQgd29yayBvbiBt YWNPUy4gKE90aGVyIEFwcGxlIHBsYXRmb3JtcyBjdXJyZW50bHkgZG9u4oCZdCBzdXBwb3J0IGN1 c3RvbWl6aW5nIHRoZSBkZWZhdWx0IG1haWwgY2xpZW50KS4KCkFuZCBJIGRvIHN0aWxsIHRoaW5r IHRoYXQgYWxsb3cgbGlzdCBpcyBzYWZlciB0aGFuIGJsb2NrIGxpc3QuCgogLSBNYWNpZWoKCj4g T24gQXByIDIwLCAyMDIwLCBhdCAzOjI3IEFNLCBGcsOpZMOpcmljIFdhbmcgPGZ3YW5nQGlnYWxp YS5jb20+IHdyb3RlOgo+IAo+IEhpLAo+IAo+IEknbSBqdXN0IGJ1bXBpbmcgdGhpcyBvbGQgdGhy ZWFkLCBub3QgYmVjYXVzZSBJIHBsYW4gdG8gaW1wbGVtZW50IGl0IGJ1dAo+IGJlY2F1c2UgSSB3 YXMgbWVudGlvbmluZyBpdCBvbiBzbGFjayB0aGUgb3RoZXIgZGF5IGFuZCByZWFsaXplZCBub3QK PiBldmVyeWJvZHkgaXMgI3N0YW5kYXJkczoKPiAKPiBodHRwczovL3dlYmtpdC5zbGFjay5jb20v YXJjaGl2ZXMvQ1RZN1oyNFJaL3AxNTg3MTQyNTM5MDY0MDAwCj4gCj4gSW4gcGFydGljdWxhciwg bXkgcXVlc3Rpb24gd2FzIHJlbGF0ZWQgdG8gc2FmZWxpc3QgVlMgYmxvY2tsaXN0Cj4gZGlzY3Vz c2lvbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvaHRtbC9pc3N1ZXMvMzk5OAo+IAo+ IEZyb20gdGhlIHNsYWNrIHJlcGxpZXMgYXMgd2VsbCBhcwo+IGh0dHBzOi8vbGlzdHMud2Via2l0 Lm9yZy9waXBlcm1haWwvd2Via2l0LWRldi8yMDE5LU5vdmVtYmVyLzAzMDk2Ny5odG1sCj4gaXQg c2VlbXMgYSBjb21wbGV0ZSBzd2l0Y2ggdG8gYmxvY2tsaXN0IGlzIG5vdCB0aGUgb3B0aW9uIHBy ZWZlcnJlZCBmb3IKPiBXZWJLaXQgKGlmIHdlIGV2ZXIgZGVjaWRlIHRvIGltcGxlbWVudCB0aGlz IEFQSSkgc28gdGhhdCdzIHdoYXQgSQo+IGNvbW1lbnRlZCBvbiB0aGUgc3BlYyAvIGJsaW5rLWRl diBkaXNjdXNzaW9ucy4KPiAKPiAtLSAKPiBGcsOpZMOpcmljIFdhbmcKPiAKPiAKPiBPbiAwNC8w Ny8yMDE1IDE5OjI0LCBTYW0gV2VpbmlnIHdyb3RlOgo+PiAoU29ycnksIGhhZCB0aGlzIHNpdHRp bmcgaW4gbXkgZHJhZnRzKS4KPj4gCj4+IE15IGNvbmNlcm4gd2l0aCB0aGUgcmVnaXN0ZXJQcm90 b2NvbEhhbmRsZXIoKSBBUEkgaXMgdGhhdCBpdCBjb21wbGljYXRlcyBhbiBhbHJlYWR5IHRoZSB2 ZXJ5IGNvbXBsaWNhdGVkIGFyZWEgb2YgY3VzdG9tIHByb3RvY29scyBhbmQgYSBnb29kIGltcGxl bWVudGF0aW9uIHJlcXVpcmVzIGNvbmZpZ3VyYXRpb24gVUkgKHRvIGNob29zZSB3aGljaCBvZiBw b3RlbnRpYWxseSBtdWx0aXBsZSBhcHBzL3dlYnNpdGVzIHlvdSB3YW50IGEgc3BlY2lmaWMgcHJv dG9jb2wgdG8gZ28gdG8pIHRoYXQgSSBhbSBub3Qgc3VyZSB1c2VycyBhcmUgaW4gdGhlIHBvc2l0 aW9uIG1ha2UuICAKPj4gCj4+IFRoYXQsIGNvdXBsZWQgd2l0aCB0aGUgc21hbGwgZXhpc3Rpbmcg dXNhZ2Ugb24gdGhlIHdlYiBhbmQgdmVyeSBmZXcgKGlmIGFueSkgcmVwb3J0cyBmcm9tIGRldmVs b3BlcnMgdGhhdCB0aGV5IHdhbnQgdGhpcywgbGVhZHMgbWUgdG8gdGhpbmsgaXQgaXNu4oCZdCBh IGdvb2QgQVBJIGZvciB1cyB0byBzdXBwb3J0Lgo+PiAKPj4gRnJvbSBhbiBpbXBsZW1lbnRhdGlv biBwZXJzcGVjdGl2ZSBJIGFsc28gaGF2ZSBjb25jZXJucy4gIEhvdyBpcyB0aGlzIHNob3VsZCB0 aGUgcmVnaXN0cmF0aW9uIGRhdGEgYmUgbWFuYWdlZD8gQ2FuIGl0IGZpdCBpbiB0aGUgV2ViU2l0 ZURhdGEgbW9kZWwgd2UgYXJlIHVzaW5nIGZvciBvdGhlciBkYXRhPyBEb2VzIGl0IGFjY291bnQg Zm9yIG5vbi1wZXJzaXN0ZW50IHNlc3Npb25zPyAgQW5kIGxhc3RseSwgY2FuIHdlIGdldCB0aGUg Y29kZSBzaXplIG9mIHN1cHBvcnRpbmcgYSBmZWF0dXJlIGxpa2UgdGhpcyB0byBiZSBzbWFsbGVy PyAgIAo+PiAKPj4gLSBTYW0KPj4gCj4+PiBPbiBKdW4gNywgMjAxNSwgYXQgNTozOSBQTSwgRGFy aW4gQWRsZXIgPGRhcmluQGFwcGxlLmNvbT4gd3JvdGU6Cj4+PiAKPj4+IEFyZSB3ZSBtYWtpbmcg cHJvZ3Jlc3MgaW4gdGhpcyBkaXNjdXNzaW9uPwo+Pj4gCj4+PiBNYWNpZWogc3RhdGVkIHRoYXQg aGUgdGhpbmtzIHRoaXMgaXMgdXNlZnVsIGZvciBtYWlsdG8gYW5kIEkgdGhpbmsgdGhhdCBHeXV5 b3VuZyBLaW0gYW5kIE1pY2hhZWwgQ2F0YW56YXJvIHN0YXRlZCB0aGF0IHRoZXkgd2FudCB0byBk byB0aGlzLgo+Pj4gCj4+PiBBcyBvbmUgbmV4dCBzdGVwIGluIHRoZSBkaXNjdXNzaW9uLCBpcyB0 aGVyZSBhbnlvbmUgdGhhdCB3YW50cyB0byBwcmVzZW50IGEgdXNlIGNhc2UgZm9yIGEgcHJvdG9j b2wgb3RoZXIgdGhhbiBtYWlsdG8/Cj4+PiAKPj4+IFNhbSwgQW5kZXJzLCB5b3UgaGF2ZW7igJl0 IHJlcGxpZWQgdG8gdGhlIHRocmVhZCBzaW5jZSBNYWNpZWogbWFkZSBoaXMgcmVtYXJrcyB0d28g d2Vla3MgYWdvLiBIZSBhc2tlZCB3aGF0IHlvdSBkaXNsaWtlIGFib3V0IHRoZSBBUEkuCj4+PiAK Pj4+IOKAlCBEYXJpbgo+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPj4+IHdlYmtpdC1kZXYgbWFpbGluZyBsaXN0Cj4+PiB3ZWJraXQtZGV2QGxpc3Rz LndlYmtpdC5vcmcKPj4+IGh0dHBzOi8vbGlzdHMud2Via2l0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3dlYmtpdC1kZXYKPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KPj4gd2Via2l0LWRldiBtYWlsaW5nIGxpc3QKPj4gd2Via2l0LWRldkBsaXN0cy53ZWJr aXQub3JnCj4+IGh0dHBzOi8vbGlzdHMud2Via2l0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dlYmtp dC1kZXYKPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+IHdlYmtpdC1kZXYgbWFpbGluZyBsaXN0Cj4gd2Via2l0LWRldkBsaXN0cy53ZWJraXQu b3JnCj4gaHR0cHM6Ly9saXN0cy53ZWJraXQub3JnL21haWxtYW4vbGlzdGluZm8vd2Via2l0LWRl dgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2Via2l0 LWRldiBtYWlsaW5nIGxpc3QKd2Via2l0LWRldkBsaXN0cy53ZWJraXQub3JnCmh0dHBzOi8vbGlz dHMud2Via2l0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dlYmtpdC1kZXYK