TWFydGluIEdyw6TDn2xpbiB3cm90ZToKPiBPbiBGcmlkYXkgMjAgSmFudWFyeSAyMDEyIDEzOjA5 OjE4IFhhdmllciBJWkFSRCB3cm90ZToKPiAgPiBNYXJ0aW4gR3LDpMOfbGluIGEgw6ljcml0IDoK PiAgPiA+IEhpIHdvcmtzcGFjZSBkZXZlbG9wZXJzLAo+ICA+ID4KPiAgPiA+IEtXaW4gcHJvdmlk ZXMgdGhlIG9wdGlvbiB0byB0dXJuIG9mZiBtdWx0aSBzY3JlZW4gYXdhcmUgd2luZG93IAo+IG1h bmFnZW1lbnQuCj4gID4gPiBUaGlzIHJlc3VsdHMgaW4gd2luZG93cyBiZWluZyBtYXhpbWl6ZWQg b3ZlciBib3RoIHNjcmVlbnMgb3IgZnVsbHNjcmVlbgo+ICA+ID4gd2luZG93cyBiZWluZyBzdHJl dGNoZWQgb3ZlciBhbGwgc2NyZWVucy4gVGhlc2Ugb3B0aW9ucyBtYWtlIHRoZSAKPiBjb2RlIG11 Y2gKPiAgPiA+IG1vcmUgY29tcGxleCBhbmQgYWRkIGNvbmZ1c2luZyBjb25maWd1cmF0aW9uIGRp YWxvZ3MgdG8gb3VyIAo+IHdvcmtzcGFjZSAoc2VlCj4gID4gPiBJZiBub2JvZHkgc2VlcyBhbnkg Z29vZCByZWFzb24gdG8ga2VlcCB0aGVzZSBvcHRpb25zIEkgd291bGQgCj4gcHJlcGFyZSB0aGUK PiAgPiA+IHJlbW92YWwuCj4gID4gPgo+ICA+ID4gVGhlIHJlYXNvbiBpcyBidHcgbm90IHRvIHJl bW92ZSBvcHRpb25zLCBidXQgdG8gZGVjcmVhc2UgdGhlIAo+IGNvbXBsZXhpdHkgb2YKPiAgPiA+ IHRoZSBjb2RlIGFzIHNob3duIGFib3ZlIGFuZCB0aGUgZmFjdCB0aGF0IGl0IGlzIGEgYnJlYWsg bXkgc3lzdGVtIAo+IHNldHRpbmcKPiAgPiA+IHdoaWNoIGhhcHBlbmVkIG1vcmUgdGhhbiBvbmNl IHRoYXQgdXNlcnMgY29tcGxhaW5lZCBhYm91dCBtYXhpbWl6ZSBub3QKPiAgPiA+IHdvcmtpbmcg YW55IG1vcmUuCj4gID4gPgo+ICA+ID4gQ2hlZXJzCj4gID4gPiBNYXJ0aW4KPiAgPgo+ICA+IEhp LAo+ICA+Cj4gID4KPiAgPiBDb3VsZCBiZSBtb3JlIGNsZWFyIGFib3V0IHRoZSBiZWhhdmlvdXIg b2Yga3dpbiB3aXRob3V0IHRoZXNlIG9wdGlvbnMgPwo+ICA+Cj4gID4gSSBzdXBwb3NlIHRoYXQg dGhlIGJlaGF2aW91ciB3b3VsZCBiZSB0aGUgc2FtZSBhcyB3aGVuIGFsbCB0aGVzZSBvcHRpb25z Cj4gID4gd2VyZSBjaGVja2VkID8gKGllLCBtYXhpbWl6ZSAmIGZ1bGxzY3JlZW4gd29yayBvbiBl YWNoIHNjcmVlbgo+ICA+IGluZGVwZW5kZW50bHksIG1hZ25ldGljIGJvcmRlcnMsIC4uLikKPiAK PiB5ZXMsIGV2ZXJ5dGhpbmcgd291bGQgYmUgbGlrZSB0aGUgb3B0aW9ucyBhcmUgY2hlY2tlZAo+ IAo+ICA+Cj4gID4gV2hhdCBhYm91dCBwZXJzb25zIHdobyBncm91cCBtb25pdG9ycyB0byBkbyBh IGh1Z2UgbW9uaXRvciBwYW5lbCA/Cj4gID4gKHZpZGVvIHdhbGwpLgo+IAo+ICA+IFdoYXQgYWJv dXQgcGVvcGxlIHdobyB1c2UgdmVyeSBsYXJnZSBtb25pdG9yIG5lZWRpbmcgZHVhbCB2aWRlbyBp bnB1dHMgPwo+IHRob3NlIGNhbiBkaXNhYmxlIHhpbmVyYW1hIHN1cHBvcnQgdGhyb3VnaCB4b3Jn LmNvbmYKPiAKT0ssIGZpbmUuCgo+ICA+Cj4gID4KPiAgPiBNeSBwZXJzb25hbCB1c2FnZSBpcyAo d2FzKSB0aGlzIG9uZSA6IEkgdW5jaGVjayB0aGUgb3B0aW9uICJFbmFibGUKPiAgPiBtdWx0aXBs ZSBtb25pdG9yIHdpbmRvdyBmdWxsc2NyZWVuIHN1cHBvcnQiIChhbGwgb3RoZXIgb3B0aW9ucyBh cmUKPiAgPiBjaGVja2VkKS4gU28gdGhhdCA6Cj4gID4gLT4gV2hlbiB3b3JraW5nIG9uIG15IGNv bXB1dGVyLCB0aGUgbWF4aW1pemVkIHdpbmRvd3Mgc3Bhd24gb25seSBvbmUKPiAgPiBtb25pdG9y IGF0IGEgdGltZSwgSSBnZXQgbWFnbmV0aWMgYm9yZGVycywgLi4uCj4gID4gLT4gV2hlbiB3YXRj aGluZyBtb3ZpZSAoZnVsbHNjcmVlbiBtb2RlKSwgdGhlIGRpc3BsYXkgc3Bhd25zIGFsbCBteQo+ ICA+IG1vbml0b3JzIHRodXMgZG9pbmcgYSB2aWRlbyB3YWxsLgo+IAo+IHNvIHlvdSB3b3VsZCBv bmx5IG5lZWQgb25lIG9mIHRoZSBvcHRpb25zLCB0aGUgZnVsbHNjcmVlbiBvbmU/IEFuZCBpbiAK PiBmYWN0IHlvdSBvbmx5IHdhbnQgdGhhdCBmb3IgdmxjLCByaWdodD8gWW91IGRvbid0IHdhbnQg dGhlIG9wdGlvbiBmb3IgCj4gbGV0J3Mgc2F5IEZpcmVmb3g/Cj4gCj4gU28gZS5nLiBhIEtXaW4g c2NyaXB0IHRha2luZyBjYXJlIG9mIHNldHRpbmcgdGhlIGZ1bGxzY3JlZW4gdmlkZW8gcGxheWVy IAo+IHRvIGFsbCBzY3JlZW5zIHdvdWxkIHN1aXQgeW91IGJldHRlciwgcmlnaHQ/CgpZb3UgYXJl IHJpZ2h0LCB0aGUgb25seSBvcHRpb24gSSB1c2VkIGlzIHRoZSBmdWxsc2NyZWVuIG9uZS4gSSB1 c2VkIGl0IAp3aXRoIHhpbmUsIGJ1dCB0aGUgc2FtZSBhcHBseSBmb3IgdmxjLCAuLi4uIENvdWxk IGFsc28gYmUgdXNlZnVsIGZvciAKcGljdHVyZSB2aWV3ZXIsIGJ1dCB5b3UgYXJlIHJpZ2h0LCBJ IHdvdWxkbid0IHdhbnQgaXQgZm9yIG90aGVyIAphcHBsaWNhdGlvbnMuCgpJIGRvbid0IGtub3cg d2hhdCdzIHlvdXIgaWRlYSBiZWhpbmQgdGhlICJzY3JpcHQgdGFraW5nIGNhcmUgb2Ygc2V0dGlu ZyAKdGhlIGZ1bGxzY3JlZW4iID8gRG8geW91IHdhbnQgdG8gdXNlICJTcGVjaWFsIFdpbmRvdyBT ZXR0aW5ncy4uLiIgbWVudSAKZm9yIG1vdmllIHBsYXllcnMgPyBJZiBpdCB3b3JrcyBmb3Igc2V0 dGluZyBhIGZ1bGxzY3JlZW4gc3Bhd25pbmcgYWxsIAptb25pdG9ycywgdGhhdCBzb3VuZHMgYSBy ZWFzb25hYmxlIG9wdGlvbiBmb3IgbWUuCk9yIG1heWJlIHlvdSBhcmUgdGhpbmtpbmcgYWJvdXQg c29tZXRoaW5nIGVsc2UgPwoKQW55d2F5LCBubyBuZWVkIHRvIHNheSB0aGF0IGlmIHRoZXJlIGlz IG5ldyBmZWF0dXJlIHRvIHBsYXkgZnVsbHNjcmVlbiAKbW92aWVzIG9uIHNldmVyYWwgbW9uaXRv cnMsIHVzZXIgc2hvdWxkIGhhdmUgdGhlIGNob2ljZSB0byBlbmFibGUgb3IgCmRpc2FibGUgdGhp cyBmZWF0dXJlIChJIGRvbid0IHRoaW5rIGFsbCB4aW5lcmFtYSB1c2VycyB3YW50IHRvIHdhdGNo IAp0aGVpciBtb3ZpZSBhY3Jvc3MgYWxsIHRoZWlyIG1vbml0b3JzIDstKSkKCj4gCj4gID4KPiAg Pgo+ICA+IFNvcnJ5LCBidXQgd2hhdCBJIHNlZSBoZXJlIGlzIGEgcG93ZXJmdWwgZmVhdHVyZSBv ZiBLREUgdGhhdCBpcyBnb2luZyB0bwo+ICA+IGRpc2FwcGVhciAuLi4KPiAgPgo+ICA+Cj4gID4g UmVnYXJkcywKPiAgPiBYYXZpZXIKPiAgPgo+ICA+IFAuUy4gSSBhbSB0aGUgImF1dGhvciIgb2Yg dGhlIG9wdGlvbiAiRW5hYmxlIG11bHRpcGxlIG1vbml0b3Igd2luZG93Cj4gID4gZnVsbHNjcmVl biBzdXBwb3J0Igo+IAo+IFRoYW5rcyBmb3IgcHJvdmlkaW5nIHlvdXIgZmVlZGJhY2suIFRoaXMg aXMgYXBwcmVjaWF0ZWQgYW5kIHF1aXRlIGhlbHBmdWxsLgo+IAo+ICAKPiAKPiBDaGVlcnMKPiAK PiBNYXJ0aW4KPiAKClBsZWFzZSBzZWUgaW5saW5lIGFuc3dlcnMgIQoKUmVnYXJkcywKWGF2aWVy Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmt3aW4gbWFp bGluZyBsaXN0Cmt3aW5Aa2RlLm9yZwpodHRwczovL21haWwua2RlLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2t3aW4K