SSBoYXZlIG5ldmVyIGhhZCBhbiBheGxlIGJlYXJpbmcgZmFpbC4gIEkgaGFkIG9uZSBjYXIgdGhh dCByZWFjaGVkIDM3NUsgbWlsZXMuICBNYW55IG1vcmUgdGhhdCByZWFjaGVkIDIwMEsuIEkgd29u ZGVyIHdoeSB5b3VyIGV4cGVyaWVuY2UgaXMgZGlmZmVyZW50LgpHdXMgaW4gRGVudmVyCgoKCj4g T24gMjAxNG0wN2QyMywgYXQgMjI6MDcsIFJvYmVydCBEdm9yYWNlayA8bGd0bmdzdGtAaG90bWFp bC5jb20+IHdyb3RlOgo+IAo+IFllYWgsIHRoYXQgbG9va3MgbGlrZSBzb21ldGhpbmcgb3V0IG9m IGEgY2FyJ3MgZW1lcmdlbmN5IHRvb2wga2l0LiAgVGhleSBhcmUgbm90IGV4YWN0bHkga25vd24g Zm9yIHRoZWlyIGdyZWF0IHN0cmVuZ3RoLgo+IAo+IEF4bGUgYmVhcmluZ3MgZ28gb3V0IHByZXR0 eSBvZnRlbiwgYWN0dWFsbHkuICBJJ3ZlIGhhZCB0byByZXBsYWNlIGF0IGxlYXN0IG9uZSBvbiBq dXN0IGFib3V0IGV2ZXJ5IGNhciBJJ3ZlIGV2ZXIgb3duZWQuCj4gCj4gRG9uJ3QgZ2V0IHlvdXIg aG9wZXMgdXAsIHRob3VnaC4gIEF4bGUgbnV0cyBhcmUga25vd24gZm9yIHRoZWlyIGFiaWxpdHkg dG8gZnJlZXplIHVwIGFuZCBiZSBhbG1vc3QgaW1wb3NzaWJsZSB0byByZW1vdmUuICBIaWdoIHRo ZXJtYWwgbWFzcyBtZWFucyB0cnlpbmcgdG8gaGVhdCBpdCB3aXRoIGEgcHJvcGFuZSB0b3JjaCBp cyBmdXRpbGUuICBJIGhhdmUgaGFkIHN1Y2Nlc3Mgd2l0aCBDQVJFRlVMTFkgcnVubmluZyBhIGJl YWQgb2YgNjAxMCBvciA2MDEzIGFyb3VuZCBQQVJUIFdBWS4gIFRoYXQgd2lsbCBwdXQgZW5vdWdo IGhlYXQgaW4gZmFzdCBlbm91Z2ggdG8gYnJlYWsgdGhlIHdoYXRldmVyLWl0LWlzIGhvbGRpbmcg dGhlIHRoaW5nIG9uLiAgSXQncyBub3QgZXhhY3RseSBhbiBvcHRpb24gb3V0IGluIHRoZSBtaWRk bGUgb2YgYSB5YXJkLCB0aG91Z2guICBZb3UgY2FuIHRyeSBhIHBvcnRhYmxlIG94eS9hY2V0eWxl bmUgd2l0aCBhIHdlbGRpbmcgdGlwLiAgRG8gdGhlIHNhbWUgdGhpbmcsIGhlYXRpbmcgaXQgdG8g dGhlIHBvaW50IHdoZXJlIGEgbGl0dGxlIG1lbHRzIGFuZCBydW4gYSAiYmVhZCIgUEFSVCBXQVkg QVJPVU5ELiAgSWYgeW91IHRyeSBhbmQgZ28gYWxsIHRoZSB3YXkgYXJvdW5kLCBpdCB3aWxsIHNo cmluayBvbiB5b3UgYW5kIGJlIGV2ZW4gdGlnaHRlciB0aGFuIGJlZm9yZS4gIEF2b2lkIHRoZSBo ZXggYXJlYSBvZiB0aGUgbnV0IHNpbmNlIHRoYXQncyB3aGVyZSB5b3UnbGwgYmUgcHV0dGluZyB0 aGUgd3JlbmNoLgo+IAo+IFRoZXNlIG51dHMgYXJlIG9mdGVuIHN0YWtlZCwgd2hpY2ggbWVhbnMg dGhlcmUgaXMgYSBwaW4gb3IgcGFydCBvZiB0aGUgbnV0IGlzIGJlbnQgaW50byBhIGtleXdheSBp biB0aGUgc2hhZnQuICBUaGF0IHdvdWxkIG5lZWQgdG8gYmUgdW5kb25lIGZpcnN0LCBvZiBjb3Vy c2UuICBUaGUgYmVudCBvbmVzLCBIb25kYSBzdHlsZSwgZm9yIGluc3RhbmNlLCByZXF1aXJlIGEg ZmxhdCAiY2hpc2VsIiBwdW5jaCB0byBnZXQgYmV0d2VlbiB0aGUgYXhsZSBhbmQgdGhlIG51dCBh bmQgcHVzaCB0aGUgbWV0YWwgYmFjayBvdXQuCj4gCj4gR2V0IHRoZSBsb25nZXN0IDEvMiIgb3Ig YmV0dGVyIHlldCwgMy80IiBvciAxIiBkcml2ZSBicmVha2VyIGJhciBvbiB0aGVyZSB5b3UgY2Fu IGZpbmQsIGFuZCBob3BlZnVsbHkgeW91IHdpbGwgaGF2ZSBzdWNjZXNzLiAgT2gsIGFuZCByZXNp c3QgdGhlIHVyZ2UgdG8gcHV0IGEgcGlwZSBvdmVyIHlvdXIgbmljZSBuZXcgYnJlYWtlciBiYXIh IPCfmJYKPiAKPiBIb3BlIHRoaXMgd2FzIGhlbHBmdWwKPiAKPiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+IEZyb206IGFwcHRlY2huekBnbWFpbC5jb20KPj4gRGF0 ZTogVGh1LCAyNCBKdWwgMjAxNCAwMjowMTozNyArMTIwMAo+PiBTdWJqZWN0OiBbT1RdOjogU3Ry b25nZXIgcHJldHplbCBuZWVkZWQuCj4+IFRvOiBwaWNsaXN0QG1pdC5lZHUKPj4gCj4+IFN0cm9u Z2VyIHByZXR6ZWwgbmVlZGVkLgo+PiBXcmVja2VycyB5YXJkLiAzMG1tIGF4bGUgbnV0LiA2IGZl ZXQgb2YgcGlwZS4gU21hbGwgc2xlZGdlIGZvciBpbXBhY3QuCj4+IEdvIGJhY2sgdG9tb3Jyb3cg Li4uCj4+IAo+PiAKPj4gaHR0cHM6Ly9mYmNkbi1zcGhvdG9zLWItYS5ha2FtYWloZC5uZXQvaHBo b3Rvcy1hay14YXAxL3QzMS4wLTgvMTA1MTE0MzhfNjkzMTM5Mjg0MDkyOTAzXzMwNzU1NTcxNDI2 MzA1Mzg2MzJfby5qcGcKPj4gCj4+IEZvciBzb21lIHdlZWtzIHRoZSBzb3VuZCB0aGF0IHN0YXJ0 ZWQgbGlrZSB1bnRvIGEgcXVpZXQgc3RpbGwgdm9pY2UgYWZhcgo+PiBvZmYgaGFzIGdyb3duIHRv IGEgd2FudHMgdG8gYmUgaGVhcmQgcm9hZCBzcGVlZCBydW1ibGUgbGVmdCByZWFyIHN0YWdlIG9m Zi4KPj4gCj4+IE91dGVyIGJhbGxzIGFuZCByYWNlIGFyZSBzaGlueSBicmlnaHQuIElubmVyIGJh bGxzIGFuZCByYWNlcyBhcmUgZ3JleSBhbmQKPj4gZnJldHRlZC4gSW50ZXJlc3RpbmcuCj4+IAo+ PiBUaW1lIHRvIHJlcGFpci4KPj4gQmVhcmluZ3Mgbm90IHNvbGQgYnkgbG9jYWwgcGFydHMgcGxh Y2UgLSBidXkgYSB3aG9sZSBodWIgLSAkMjAwIG9yICQzMDAKPj4gZGVwZW5kaW5nIHdoaWNoIG9u ZSB5b3VycyBpcy4KPj4gCj4+ICJQaWNrIGEgcGFydCIgRElZIHdyZWNrZXJzIG5lYXJieSAtIHdo b2xlIGh1YiAkMjAKPj4gSG93IG9mdGVuIGRvIHJlYXIgYXhsZSBiZWFyaW5ncyBmYWlsLCBhZnRl ciBhbGw/IChhbmQgb3RoZXIgZHJlYW1pbmdzKS4KPj4gCj4+IEdldHRpbmcgaXQgb2ZmIHRoZSBj YXIgaXMgYW5vdGhlciBtYXR0ZXIuIFNvIGZhci4KPj4gTWFueSBhbXVzaW5nIHRhbGVzIG9uIHdl YiByZSBvdGhlcnMgZW5kZWF2b3VycyBpbiB0aGlzIGFjdGl2aXR5Lgo+PiAKPj4gVGhhdCBiYXIg d29ya2VkIGp1c3QgZmluZSB0YWtpbmcgb3VyIG9uZSBvZmYuCj4+IFNvIEkgd2FzIHNpbGx5IGVu b3VnaCBub3QgdG8gdGFrZSBzb21ldGhpbmcgRkFSIHNvbGlkZXIgd2l0aCBtZSB3aGVuIEkgd2Vu dC4KPj4gCj4+IAo+PiAKPj4gUgo+PiAtLQo+PiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hy ZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlCj4+IFZpZXcvY2hhbmdlIHlvdXIg bWVtYmVyc2hpcCBvcHRpb25zIGF0Cj4+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9s aXN0aW5mby9waWNsaXN0Cj4gCQkgCSAgIAkJICAKPiAKPiAtLSAKPiBodHRwOi8vd3d3LnBpY2xp c3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlCj4gVmlldy9j aGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKPiBodHRwOi8vbWFpbG1hbi5taXQuZWR1 L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+IAoKLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20v dGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91 ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xp c3RpbmZvL3BpY2xpc3QK .