T24gVHVlLCBGZWIgMjMsIDIwMTYgYXQgNzozMCBBTSwgTWljaGFlbCBNYXR6IDxtYXR6QHN1c2Uu ZGU+IHdyb3RlOgo+IEhpLAo+Cj4gT24gVHVlLCAyMyBGZWIgMjAxNiwgSC5KLiBMdSB3cm90ZToK Pgo+PiA+IC0tLQo+PiA+IEFuIGVtcHR5IHR5cGUgaXMgYSB0eXBlIHdoZXJlIGl0IGFuZCBhbGwg b2YgaXRzIHN1Ym9iamVjdHMgKHJlY3Vyc2l2ZWx5KQo+PiA+IGFyZSBvZiBjbGFzcywgc3RydWN0 dXJlLCB1bmlvbiwgb3IgYXJyYXkgdHlwZS4gIE5vIG1lbW9yeSBzbG90IG5vcgo+PiA+IHJlZ2lz dGVyIHNob3VsZCBiZSB1c2VkIHRvIHBhc3Mgb3IgcmV0dXJuIGFuIG9iamVjdCBvZiBlbXB0eSB0 eXBlIHRoYXQncwo+PiA+IHRyaXZpYWxseSBjb3B5YWJsZS4KPj4gPiAtLS0KPj4gPgo+PiA+IChX aXRoIHBvc3NpYmx5IGEgc2VsZi1zdWZmaWNpZW50IGRlZmluaXRpb24gb2YgdHJpdmlhbGx5IGNv cHlhYmxlLCB0aGF0J3MKPj4gPiBsYW5ndWFnZSBhZ25vc3RpYykKPj4gPgo+Pgo+PiBEbyB5b3Ug aGF2ZSBhbiBleGFtcGxlIGluIHdoaWNoIGFuIGVtcHR5IHR5cGUgZGVmaW5lZCBhYm92ZSBpc24n dAo+PiAidHJpdmlhbGx5IGNvcHlhYmxlIj8KPgo+IFRoZSBvbmVzIHdlJ3ZlIGFsd2F5cyB0YWxr ZWQgYWJvdXQ6IGVtcHR5IEMrKyB0eXBlcyB3aXRoIG5vbi10cml2aWFsIGNvcHkKPiBjdG9ycyBv ciBkdG9ycy4gIFllcywgSSdtIGF3YXJlIG9mIHRoZSBmYWN0IHRoYXQgdGhlIEl0YW5pdW0gQysr IEFCSQo+IGRvZXNuJ3QgaW52b2tlIHRoZSB1bmRlcmx5aW5nIHBzQUJJIGZvciB0aGVzZSB0eXBl cyAob3IgYmV0dGVyLCBpdAo+IHNwZWNpZmllcyB0aGVtIHRvIGJlIHBhc3NlZCBieSByZWZlcmVu Y2UpLiAgQnV0IGZpcnN0LCB0aGVyZSBhcmUgb3RoZXIKPiBsYW5ndWFnZXMgdGhhdCBoYXZlIHN1 Y2ggY29uc3RydWN0cywgYnV0IGRvbid0IG5lY2Vzc2FyaWx5IGhhdmUgYW4KPiB3cml0dGVuLWRv d24gQUJJIChPTyBmb3J0cmFuIGFueW9uZT8gQWRhPykuICBTZWNvbmQsIHRoZXJlIG1heSBiZSBv dGhlcgo+IEMrKyBBQklzIHRoYXQgZG9uJ3QgY29udGFpbiBzdWNoIGxhbmd1YWdlICh3aGljaCB3 b3VsZCBiZSBhbiBvbW1pc3Npb24sCj4gYnV0IHdlbGwsIGhhcHBlbnMpLiAgQW5kIHRoaXJkIGV2 ZW4gZm9yIG91ciBDKysgbmVlZHMgKGJhc2VkIG9uIHRoZQo+IEl0YW5pdW0gQUJJKSBJIGZlZWwg aXQncyBzaW1wbHkgbW9yZSBjbGVhciBhbmQgc2VsZi1zdWZmaWNpZW50IHRvIGJlCj4gZXhwbGlj aXQgYWJvdXQgdGhpcyByZXN0cmljdGlvbi4KPgo+IEl0J3Mgbm90IHRoYXQgd2UgaGF2ZSBhbnkg c29ydCBvZiB1cHBlciBib3VuZCBvbiB0aGUgbnVtYmVyIG9mIHdvcmRzIHdlJ3JlCj4gYWxsb3dl ZCB0byB1c2UgaW4gdGhlIHBzQUJJLCBhbmQgSSBhbHNvIGRvbid0IHRoaW5rIGFueXRoaW5nIGlz IGdhaW5lZCBieQo+IGJlaW5nIGFzIHRlcnNlIGFzIHBvc3NpYmxlLiAgU3VjY2luY3QsIHN1cmUs IGJ1dCBub3QgYXMgYXJjYW5lIGFzIHdlIGNhbgo+IG1ha2UgaXQgd2hpbGUgc3RpbGwgYmVpbmcg Y29ycmVjdC4KPgo+IFNvLCBxdWVzdGlvbiBiYWNrOiBjYW4geW91IGltYWdpbmcgYW55IGNhc2Vz IHdoZXJlIHRoZSAicmVzdHJpY3Rpb24iIHRvCj4gdHJpdmlhbGx5IGNvcHlhYmxlIHdvdWxkIF9u b3RfIGRvIHRoZSB0aGluZyB3ZSB3YW50PwoKSSB0aG91Z2h0CgotLS0KQW4gZW1wdHkgdHlwZSBp cyBhIHR5cGUgd2hlcmUgaXQgYW5kIGFsbCBvZiBpdHMgc3Vib2JqZWN0cyAocmVjdXJzaXZlbHkp CmFyZSBvZiBjbGFzcywgc3RydWN0dXJlLCB1bmlvbiwgb3IgYXJyYXkgdHlwZS4KLS0tCgpleGNs dWRlZAoKc3RydWN0IGVtcHR5CnsKZW1wdHkgKCkgPSBkZWZhdWx0Owp9OwoKQWRkaW5nICJ0cml2 aWFsbHkgY29weWFibGUiIGV4dGVuZHMsIG5vdCBsaW1pdGluZywgdGhlIHNjb3BlIG9mCmVtcHR5 IHR5cGUuCgotLSAKSC5KLgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpjZmUtY29tbWl0cyBtYWlsaW5nIGxpc3QKY2ZlLWNvbW1pdHNAbGlzdHMubGx2bS5v cmcKaHR0cDovL2xpc3RzLmxsdm0ub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9jZmUtY29t bWl0cwo=