T24gVHVlLCBBcHIgMjksIDIwMTQgYXQgMzowOSBQTSwgS2V2aW4gT3R0ZW5zIDxlcnZpbkBrZGUu b3JnPiB3cm90ZToKPiBIZWxsbywKPgo+IE9uIFR1ZXNkYXkgMjkgQXByaWwgMjAxNCAxNDozMzox MiBIYXJhbGQgU2l0dGVyIHdyb3RlOgo+PiBPbiBTdW4sIEFwciAyNywgMjAxNCBhdCAzOjE1IFBN LCBEYXZpZCBGYXVyZSA8ZmF1cmVAa2RlLm9yZz4gd3JvdGU6Cj4+ID4gICogRXZlcnl0aGluZyBp cyBkZXZlbG9wZWQgaW4gbWFzdGVyLCBzbyBlYWNoIHJlbGVhc2Ugd2lsbCBjb250YWluIGEgZmV3 Cj4+ID4gIG5ldyBmZWF0dXJlcyBhbmQgYnVnZml4ZXM7Cj4+ID4KPj4gPiBPZiBjb3Vyc2UsIGdv aW5nIHdpdGggdGhpcyB0eXBlIG9mIGN5Y2xlIGNvbWVzIHdpdGggc29tZSBwcmljZSBvZiBpdHMg b3duOgo+PiA+ICAqIEZlYXR1cmVzIGluIHJlbGVhc2VkIG1vZHVsZXMgY2FuIG9ubHkgYmUgaW50 cm9kdWNlZCBpbiBhIHZlcnkgZmluZQo+PiA+ICBncmFpbmVkIHdheSBzbyBhcyB0byBub3QgamVv cGFyZGl6ZSB0aGUgc3RhYmlsaXR5Owo+Pgo+PiBJIHN1c3BlY3QgdGhhdCdzIGJhZCB3b3JkaW5n LCBidXQgdGhvc2UgdHdvIHRoaW5ncyBzb3VuZCBjb250cmFkaWN0aW5nIHRvCj4+IG1lLgo+Cj4g SU1PLCBpdCBtYWtlcyBtb3JlIHNlbnNlIGlmIHlvdSByZWludHJvZHVjZSBzb21lIG9mIHRoZSBj b250ZXh0Ogo+Cj4+ID4gKiBDSSBzaG91bGQgYmUgYWx3YXlzIGdyZWVuLCBicmVha2FnZXMgc2hv dWxkIGJlIHRyZWF0ZWQgYXMgc3RvcCB0aGUgbGluZQo+PiA+IGV2ZW50cyAoYWxsIGNvbW1pdHMg Zm9sbG93aW5nIGEgYnJlYWthZ2Ugc2hvdWxkIG9ubHkgYmUgdG8gdHJ5IHRvIGdldAo+PiA+IHRo aW5ncyBiYWNrIHRvIG5vcm1hbCk7Cj4+ID4gKiBUaGVyZSBzaG91bGQgYmUgYSBzdHJvbmcgZm9j dXMgb24gYXV0b21hdGVkIHRlc3RzIGFuZCBwZWVyIHJldmlldzogYWxsCj4+ID4gbW9kaWZpZWQg Y29kZSBzaG91bGQgY29tZSB3aXRoIGNvcnJlc3BvbmRpbmcgdGVzdHM7IGlmIHlvdSBnb3QgYSBm cmFtZXdvcmsKPj4gPiB3aGljaCBpcyBsb3cgb24gdGVzdCBjb3ZlcmFnZSBiZWNhdXNlIG9mIGl0 cyBhcmNoaXRlY3R1cmUgaXQncyBsaWtlbHkgdGltZQo+PiA+IHRvIGZvY3VzIG9uIHRoZSB0b29s aW5nIGFuZCB0ZXN0IGhhcm5lc3NpbmcuCj4KPj4gSWYgZXZlcnl0aGluZyBpcyBkZXZlbG9wZWQg aW4gbWFzdGVyIChpLmUuIGZlYXR1cmVzIGFyZSBub3QgZGV2ZWxvcGVkCj4+IGluIGEgZmVhdHVy ZSBicmFuY2ggYW5kIHRoZW4gbWVyZ2VkIGludG8gbWFzdGVyKSBidXQgZmVhdHVyZXMgbXVzdG4n dAo+PiBhZmZlY3QgdGhlIHN0YWJpbGl0eSwgaG93IGRvIHlvdSBlbnN1cmUgbGF0dGVyIGlmIHNv bWVvbmUgZGV2ZWxvcHMgYQo+PiBmZWF0dXJlIGxvY2FsbHkgKGFsYXMsIG5vIGZlYXR1cmUgYnJh bmNoIG9uIGdpdC5rZGUub3JnKSBhbmQgdGhlbgo+PiBwdXNoZXMgYXQgYW55IGRheSAoc2luY2Ug dGhlcmUgaXMgbm8gZmVhdHVyZSBmcmVlemUpPwo+Cj4gQmVjYXVzZSBvZiB0aGUgYWJvdmU6IHRo aW4gc2xpY2VzLCBhbGwgcGVlciByZXZpZXdlZCwgYWxsIHdpdGggYXV0b21hdGVkIHRlc3RzCj4g KHNsaWdodGx5IG92ZXJzaW1wbGlmeWluZyBzaW5jZSB3ZSBjYW4ndCBoYXZlIDEwMCUgY292ZXJh Z2UsIGJ1dCB0aGF0J3Mgd2hhdAo+IHdlJ3JlIGFpbWluZykuCj4KPiBJbiBtb3JlIHdvcmRzLCBo YXZpbmcgdGhvc2UgY29uc3RyYWludHMgcHVzaCBwZW9wbGUgdG93YXJkIG5vdCBtYWtpbmcgbGFy Z2UKPiBmZWF0dXJlIGJyYW5jaGVzIGJlIGl0IG9ubGluZSAoZ2l0LmtkZS5vcmcpIG9yIGxvY2Fs bHkuIE9yIGlmIHRoZXkgZG8gc28KPiBub25ldGhlbGVzcywgZWFjaCBvZiB0aGUgY29tbWl0cyB3 aWxsIGhhdmUgdG8gYmUgcmV2aWV3ZWQgc2VwYXJhdGVseSBhbnl3YXkKPiBhbmQgd2lsbCBoYXZl IHRvIGJlIHNtYWxsIChiYWJ5IHN0ZXBzKSBhbmQgd2l0aCBhdXRvbWF0ZWQgdGVzdHMuCj4KPiBU aGF0IG1lYW5zIGZlYXR1cmVzIHdpbGwgZW50ZXIgZ3JhZHVhbGx5IGFuZCBub3QgaW4gYSBiaWcg YmFuZyBmYXNoaW9uIGFzIHdlCj4gdXN1YWxseSBkbyAodmlhIGxhcmdlIGNvbW1pdHMgb3IgbWVy Z2UgY29tbWl0cykuIFdoYXQgd2UncmUgYWZ0ZXIgYnkgZG9pbmcKPiB0aGF0LCBpcyBlYXJsaWVy IGV4cG9zdXJlIGFuZCB0ZXN0aW5nIGJ5IHRoZSBvdGhlciBkZXZlbG9wZXJzLCBkaXNjdXNzaW9u Cj4gZ2VuZXJhdGVkIGluIHR1cm4sIGFuZCBlYWNoIHN0ZXAgZGVzdGFiaWxpemF0aW9uIHJpc2sg c2hvdWxkIGJlIGxvd2VyLgo+Cj4gVGhhdCdzIGJhc2ljYWxseSBtb3JlIGRpc2NpcGxpbmUgcmVx dWlyZWQuCj4KPiBIb3BlIHRoYXQgY2xhcmlmaWVzLgo+Cj4gUmVnYXJkcy4KPiAtLQo+IEvDqXZp biBPdHRlbnMsIGh0dHA6Ly9lcnZpbi5pcHNxdWFkLm5ldAo+Cj4gS0RBQiAtIHByb3VkIHN1cHBv cnRlciBvZiBLREUsIGh0dHA6Ly93d3cua2RhYi5jb20KPgo+Cj4gX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiByZWxlYXNlLXRlYW0gbWFpbGluZyBsaXN0 Cj4gcmVsZWFzZS10ZWFtQGtkZS5vcmcKPiBodHRwczovL21haWwua2RlLm9yZy9tYWlsbWFuL2xp c3RpbmZvL3JlbGVhc2UtdGVhbQo+CkkgYXNrZWQgYSBmZXcgZm9sa3MgdGhlIHNhbWUgcXVlc3Rp b24sIGJ1dCBpIG1pZ2h0IGFzIHdlbGwgYXNrIGl0IG9uIHRoZSBsaXN0LgpXaHkgZG9uJ3Qgd2Ug c2ltcGx5IGludHJvZHVjZSBhICJtZXJnZSB3aW5kb3ciIGxpa2UgdGhlIGtlcm5lbC4gSG93IGkK c2VlIGl0IGlzIGFzIGZvbGxvd3M6CgoxLiBUaGUgZmlyc3Qgd2VlayAoZmlyc3QgNyBkYXlzKSBv ZiBlYWNoIG1vbnRoIGlzIHRoZSBtZXJnZSB3aW5kb3cuCjIuIEZlYXR1cmVzIHRoYXQgYXJlIG1l cmdlZCBzaG91bGQgYWxyZWFkeSBiZSBoZWF2aWx5IHRlc3RlZCBiZWZvcmUgaXQKbWFrZXMgaXQn cyB3YXkgaW4uCjMuIFRoZSByZXN0IG9mIHRoZSBtb250aCBpcyBzdGFiaWxpemluZy4KNC4gZm9s bG93ZWQgYnkgYSByZWxlYXNlIGF0IHRoZSBlbmQgb2YgdGhlIG1vbnRoLgoKSnVzdCB3b25kZXJp bmcuLi4gc2luY2UgdGhlIGtlcm5lbCBhcHByb2FjaCBzZWVtcyBsaWtlIGEgcmVhbGx5IGdvb2QK b25lIGZvciBzaG9ydCByZWxlYXNlIGN5Y2xlcy4KClJlZ2FyZHMsCk1hcmsKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcmVsZWFzZS10ZWFtIG1haWxpbmcg bGlzdApyZWxlYXNlLXRlYW1Aa2RlLm9yZwpodHRwczovL21haWwua2RlLm9yZy9tYWlsbWFuL2xp c3RpbmZvL3JlbGVhc2UtdGVhbQo=