VGhpcyBpcyBBbWVyaWNhLi4uIHBvb3IgQW1lcmljYS4KCgpPY3RhdmlvIE5vZ3VlaXJhClRhdG8g RXF1aXBhbWVudG9zIEVsZXRyw7RuaWNvcyBMdGRhClRlbCAoMTEpIDU1MDYtNTMzNQoKMjAxNS0w OS0xNiA3OjAzIEdNVC0wMzowMCBNQ0ggPG1jaEBuYi5uZXQ+OgoKPiBBcyBGcmV1ZCB3b3VsZCBz YXkuLi4gIlNvbWV0aW1lcyBhIGNsb2NrIGlzIGp1c3QgYSBjbG9jayIKPgo+IE1ha2VzIG1lIHRo aW5rIHRoYXQgbWF5YmUgdGhleSBzaG91bGQgdGFrZSBhbGwgY2xvY2tzIG9mZiB0aGUgc2hlbHZl cywKPiBhcyB0aGV5IG11c3QgYmUgc2VsbGluZyBmYWtlIGJvbWJzIGF0IFRhcmdldCwgSy1NYXJ0 LCBhbmQgV2FsTWFydC4KPgo+IEJ1dCwgb24gdGhlIGJyaWdodCBzaWRlLCBJIGhvcGUgdGhleSBj YW4gdGFrZSBhZHZhbnRhZ2Ugb2YgYW5vdGhlcgo+IEFtZXJpY2FuICJ0cmFkaXRpb24iIC0gdGhh dCBvZiBzdWluZyB0aGUgc2Nob29sIGFuZCBjaXR5LiBJdCBzb3VuZHMgbGlrZQo+IHRoZXkgaGF2 ZSBhIGdvb2QgY2FzZSwgYW5kIG1heSBtYWtlIG1pbGxpb25zIG9uIHRoaXMgZm9yIGEgaG9zdCBv Zgo+IHJlYXNvbnMgKHdyb25nZnVsIGFycmVzdCwgcmFjaWFsIHByb2ZpbGluZywgYW5kIGxpa2Vs eSBtb3JlKS4KPgo+IEkgaG9wZSB0aGUga2lkIGdldHMgZXZlcnl0aGluZyBoZSBkZXNlcnZlcyBm b3IgdGhpcyByaWRpY3Vsb3VzIHJlYWN0aW9uLgo+Cj4gSSB3b25kZXIgaWYgdGhleSB3b3VsZCBh cnJlc3Qgc29tZW9uZSB3aG8gYnJpbmdzIGEgZHJvbmUgdG8gc2Nob29sIGZvcgo+ICJsZWFybmlu ZyBob3cgdG8gZmx5IGluIG9yZGVyIHRvIGNyYXNoIGEgamV0IiBvciBtYXliZSBqdXN0IGZvcgo+ ICJpbnRlbmRpbmcgdG8gc3B5IG9uIHVuZGVyYWdlIGdpcmxzIGFuZCB0YWtlIGlsbGVnYWwgcGhv dG9zIG9mIHRoZW0iLgo+Cj4gQW5kIGlmIHRoZSBNYXlvciBoYXMgYSBoaXN0b3J5IG9mIGFudGkt U2VtaXRpY3MgaW4gaGVyIHBhc3QsIHRoYXQgc2hvdWxkCj4gbWFrZSB0aGUgY2FzZSBtdWNoIGVh c2llciBhbmQgYmFsbG9vbiB0aGUgcHVuaXRpdmUgZGFtYWdlcyB0ZW4gZm9sZC4KPiBBZnRlciBh bGwsIGhlciBhdHRpdHVkZXMgbXVzdCBoYXZlIGJlZW4gcGlja2VkIHVwIG9uIG15IHRoZSBQRC4K Pgo+IEF0IGxlYXN0IGhlIGRpZG4ndCBoYXZlIGEgS2Vud29vZCBUSC00MUFUIHdpdGggaGltLiAo RGllIEhhcmQgcmVmZXJlbmNlKQo+Cj4gQW55bW9yZSwgaXQncyAiZ3VpbHR5IHVudGlsIHByb3Zl biBpbm5vY2VudCIgaXQgc2VlbXMuCj4KPiBKb2UgTS4KPgo+IE9uIDkvMTYvMjAxNSA1OjE1IEFN LCBWIEcgd3JvdGU6Cj4gPgo+IGh0dHA6Ly93d3cuZGFsbGFzbmV3cy5jb20vbmV3cy9jb21tdW5p dHktbmV3cy9ub3J0aHdlc3QtZGFsbGFzLWNvdW50eS9oZWFkbGluZXMvMjAxNTA5MTUtaXJ2aW5n LW5pbnRoLWdyYWRlci1hcnJlc3RlZC1hZnRlci10YWtpbmctaG9tZW1hZGUtY2xvY2stdG8tc2No b29sLmVjZQo+ID4KPiA+IFRoaXMgZmVsdCBsaWtlIGEgcHVuY2ggaW4gdGhlIGd1dCBhcyBJIHdh cyByZWFkaW5nIGl0LiBJIHVzZWQgdG8gZG8KPiB0aGluZ3MKPiA+IGxpa2UgdGhpcyBhbGwgdGhl IHRpbWUgLSBub3QgdG8gc2hvdyBhbnlvbmUsIGJ1dCB0byBjb250aW51ZSB3b3JraW5nIG9uCj4g aXQKPiA+IGR1cmluZyBzY2hvb2wgaG91cnMuIE5vbmV0aGVsZXNzLCB0ZWFjaGVycyB3ZXJlIG9i dmlvdXNseSBub3QgdmVyeSBoYXBweQo+ID4gd2l0aCB0aGF0LiBCdXQgbmV2ZXIgb25jZSBoYXMg YW55b25lIGdpdmVuIG1lIGFueSB0cm91YmxlIGZvciBpdC4KPiA+Cj4gPiBJIGNhbid0IGJlbGll dmUgSSdtIHNheWluZyB0aGlzLCBidXQgSSdtIHRoYW5rZnVsIGZvciBoYXZpbmcgZ29uZSB0bwo+ IHB1YmxpYwo+ID4gc2Nob29sIGluIENhbmFkYS4KPiA+Cj4gPiBXaGF0IGFyZSB5b3VyIHRob3Vn aHRzIG9uIHRoaXM/Cj4gPgo+IC0tCj4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3Bp Y2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVy c2hpcCBvcHRpb25zIGF0Cj4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZv L3BpY2xpc3QKPgotLSAKaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElD L1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQpWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9u cyBhdApodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo= .