SSBmaW5kIHRoaXMgZW1haWwgdmVyeSBkaXNwaXJpdGluZy4KCk9uIEZyaSwgRmViIDYsIDIwMTUg YXQgNDo1MyBQTSwgR8OpcmFyZCBUYWxib3QgPGJyb3dzZXJidWdzMkBndGFsYm90Lm9yZz4gd3Jv dGU6Cj4gTGUgMjAxNS0wMi0wNiAxNDoyNCwgQWxiZXJ0IEFzdGFscyBDaWQgYSDDqWNyaXQgOgo+ Pgo+PiBIaSB0aGVyZSwgb25lIG9mIHRoZSBpc3N1ZXMgd2UgaGFkIHdpdGggdGhlIGRvbmF0aW9u IHBhZ2UgaXMgdGhhdCBpdCBpcwo+PiB2ZXJ5Cj4+IGNvbXBsZXgsIEFsZWl4IGFuZCBtZSBoYXZl IHdvcmtlZCBpbiBhIG5ldyB2ZXJzaW9uIHRoYXQgaXMgbXVjaCBzaW1wbGVyIGJ5Cj4+IHJld29y ZGluZyBzb21lIHRleHQgYW5kIG1vdmluZyB0aGUgbW9yZSBjb3JuZXItY2FzZSB3YXlzIHRvIGRv bmF0ZSB0byBhCj4+IGRpZmZlcmVudCBwYWdlLgo+Pgo+PiBodHRwOi8va2RlLm9yZy9jb21tdW5p dHkvZG9uYXRpb25zL2luZGV4Mi5waHAKPj4KPj4gVGhpcyBpcyBzdGlsbCBub3QgbGlua2VkIGZy b20gdGhlIG1haW4gcGFnZSBiZWNhdXNlCj4+ICAgKiBXZSB3YW50IHlvdXIgaW5wdXQKPj4gICAq IFdlIG5lZWQgdG8gbWFrZSB0aGUgcmFkaW8gYnV0dG9uIHRvIGNob29zZSBiZXR3ZWVuIG9uZSB0 aW1lIGFuZAo+PiByZWN1cnJpbmcKPj4gbGVzcyB1Z2x5Cj4+Cj4+IE9waW5pb25zPwo+Cj4KPiBB bGJlcnQsCj4KPiBXaHkgdGhlICJEb25hdGlvbnMiIHBhZ2UKPiBodHRwczovL3d3dy5rZGUub3Jn L2NvbW11bml0eS9kb25hdGlvbnMvaW5kZXgyLnBocAo+IGlzIG5vdCB0aXRsZWQvbmFtZWQgIkRv bmF0ZSB0aHJvdWdoIFBheXBhbCI/Cj4KPiBJIGRvIG5vdCB1bmRlcnN0YW5kIHdoeSB0aGUgcGFn ZSBzaG91bGQgYmUgc3BsaXQgaW50byBhICJEb25hdGlvbnMiIHBhZ2Ugb24KPiBvbmUgaGFuZCBh bmQgYW4gIk90aGVyIHdheXMgdG8gZG9uYXRlIiB3ZWJwYWdlIG9uIHRoZSBvdGhlciBoYW5kLiBX aHkgbm90IGEKPiBzaW5nbGUgcGFnZSBmb3IgYWxsIDMgd2F5cyB0byBkb25hdGU/Cj4KPiAtLS0t LS0tCj4KPiBXaGVuIEkgY2xpY2sgYSBsaW5rIHRleHQgc2F5aW5nICJEb25hdGUiLCB0aGVuIEkg ZG8gbm90IGV4cGVjdCB0byByZWFkIG9yIHRvCj4gYmUgbGVjdHVyZWQgb24gd2h5IGRvbmF0aW9u cyBhcmUgaW1wb3J0YW50IG9yIHdoYXQgdGhlIGRvbmF0aW9ucyB3aWxsIGJlCj4gZm9yLCBldGMu LiBBICJEb25hdGUiIHBhZ2UgaW4gbXkgbWluZCBzaG91bGQgYmUganVzdCBhYm91dCB0aGUgbWVj aGFuaWNzIG9mCj4gZG9uYXRpb24uCj4KPiAtLS0tLS0tCj4KPiBUaGlzIHBhZ2UgdXNlcyBhIGxp Z2h0IGNvbG9yICgjNDQ0KSBvbiBhIGxpZ2h0IGJsdWUgYmFja2dyb3VuZC1pbWFnZSB3aXRoCj4g bGVzcyB0aGFuIGluaXRpYWwsIGRlZmF1bHQgZm9udC1zaXplICgxMHB0KSBhbmQgd2l0aCBhYnNv bHV0ZSB1bml0cy4KPiBKdXN0aWZpZWQgdGV4dCBpcyB1bml2ZXJzYWxseSBrbm93biB0byBiZSBs ZXNzIGxlZ2libGUgdGhhbiBsZWZ0LWFsaWduZWQKPiB0ZXh0LiBUaGUgd2hpdGUgdGV4dC1zaGFk b3cgaXMgdXNlbGVzcyBhbmQgcG9pbnRsZXNzIGFuZCBkb2VzIG5vdCBpbXByb3ZlCj4gbGVnaWJp bGl0eS4KPgo+IFRvIG1lLCB0aGVzZSBwb29yIHN0eWxpbmcgaXNzdWVzIHNob3VsZCBmaXJzdCBi ZSBkZWFsdCB3aXRoIG9uIHRoZSB3aG9sZQo+IGtkZS5vcmcgd2Vic2l0ZS4gQ2hvb3NpbmcgYSBD TVMgZm9yIHRoZSB3aG9sZSBzaXRlIGlzIG9uZSB0aGluZy4gQ3JlYXRpbmcKPiAob3IgY2hvb3Np bmcpIG9uZSB0aGF0IHByb21vdGVzIHJlYWRhYmlsaXR5LCBsZWdpYmlsaXR5LCBhY2Nlc3NpYmls aXR5IGF0Cj4gYWxsIHRpbWVzIGlzIGFub3RoZXIuCj4KPgo+Cj4+IEFsc28gaWYgc29tZSBkZWlz Z24vd2ViIGd1cnUgY2FuIGhlbHAgdXMgd2l0aCBtYWtpbmcgdGhlIHJhZGlvIGJ1dHRvbnMgYmUK Pj4gbmljZXIgKG91ciBpZGVhIGlzIHRvIG1ha2UgdGhlbSBtb3JlIGxpa2UgYnV0dG9ucykgaXQn ZCBiZSBncmVhdC4KPgo+Cj4KPiBUaGUgcmFkaW8gYnV0dG9uIHNob3VsZCBsb29rIGxpa2UgYSBu b3JtYWwsIHN0YW5kYXJkLCBkZWZhdWx0IHJhZGlvIGJ1dHRvbgo+IGluIGJyb3dzZXJzLiBJZiB5 b3Ugc3R5bGUgYSBmb3JtIGNvbnRyb2wgbGlrZSBhIHJhZGlvIGJ1dHRvbiwgdGhlbiBpdCBtYXkK PiBub3QgbG9vayBsaWtlIGEgcmFkaW8gYnV0dG9uIHRvIHVzZXJzIHdobyB1c2UgZGlmZmVyZW50 IGJyb3dzZXJzLiBGb3JtCj4gY29udHJvbHMgc2hvdWxkIGxvb2sgZmFtaWxpYXIgdG8gdXNlcnMg d2hvIHVzZSBhbmQgdHJ1c3QgdGhlIHNhbWUvcHJlZmVycmVkCj4gYnJvd3NlcjsgZm9ybSBjb250 cm9scyBjYW4gKGFuZCBvZnRlbiBkbyBiZWNhdXNlIG9mIHRoZW1lcyBhbmQgc2tpbnMpIGxvb2sK PiBkaWZmZXJlbnQgaW4gZGlmZmVyZW50IGJyb3dzZXJzLgo+Cj4gR8OpcmFyZAoKV2hhdCBpcyBk aXNjb3VyYWdpbmcgdG8gbWUgaXMgdGhhdCB0aGVyZSBhcmUgc29tZSBnb29kIHN1Z2dlc3Rpb25z Cm1peGVkIHVwIHdpdGggaW5zdWx0cyBhbmQgYSBkZWdyYWRpbmcgdG9uZS4KCkFsYmVydCBhbmQg QWxlaXggaGF2ZSB3b3JrZWQgaGFyZCwgYW5kIHRoZW4gYXNrZWQgZm9yIG9waW5pb25zIGFuZCBo ZWxwLgoKVG8gcmVmcmFtZSB0aGUgYWJvdmUgZW1haWwgaW50byB1c2VmdWwgY3JpdGljaXNtIGFu ZCBoZWxwLCBJIHdvdWxkIHNheToKCkEgc2luZ2xlIHBhZ2UgZm9yIGFsbCAzIHdheXMgdG8gZG9u YXRlIHdvdWxkIGJlIHNpbXBsZXIuIExhYmVsIHRoZQpzZWN0aW9uIGFib3V0IHBheXBhbCBIb3cg dG8gRG9uYXRlIHZpYSBQYXlwYWwuCgpQbGVhc2UgY29uc2lkZXIgdXNpbmcgcmVsYXRpdmUgcmF0 aGVyIHRoYW4gYWJzb2x1dGUgdW5pdHMsIGFuZApsZWZ0LWFsaWduZWQgcmF0aGVyIHRoYW4ganVz dGlmaWVkIHRleHQuIFBsZWFzZSBsZWF2ZSBvdXQgdGhlIGxpZ2h0CnNoYWRvd3MuCgpQbGVhc2Ug c3RpY2sgd2l0aCByYWRpbyBidXR0b25zIGFzIHN0eWxpbmcgd2lsbCByZW5kZXIgdGhlIGJ1dHRv bnMKZGlmZmVyZW50bHkgaW4gZGlmZmVyZW50IGJyb3dzZXJzLCBwZXJoYXBzIGNvbmZ1c2luZyBv dXIgcG90ZW50aWFsCmNvbnRyaWJ1dG9ycy4KCkNyaXRpY2lzbSBpcyBnb29kLCBpZiB0aGUgaW50 ZW50aW9uIGlzIGdvb2QuIEhvd2V2ZXIsIHVzaW5nIHdvcmRzIHN1Y2gKYXMgInVzZWxlc3MiIGFu ZCAicG9pbnRsZXNzIiBvbmx5IHNlcnZlIHRvIGRpc2NvdXJhZ2UgdGhlIHBlb3BsZSBkb2luZwp0 aGUgd29yay4gSXQgaXMgZGlzYXBwb2ludGluZyB0byBzZWUgdGhhdCBoZXJlIG9uIHRoZSBQcm9t byBsaXN0LgoKVmFsb3JpZQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KVGhpcyBtZXNzYWdlIGlzIGZyb20gdGhlIGtkZS1wcm9tbyBtYWlsaW5nIGxpc3Qu CgpWaXNpdCBodHRwczovL21haWwua2RlLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2tkZS1wcm9tbyB0 byB1bnN1YnNjcmliZSwgc2V0IGRpZ2VzdCBvbiBvciB0ZW1wb3JhcmlseSBzdG9wIHlvdXIgc3Vi c2NyaXB0aW9uLg==