SSBkaWRuJ3QgcmVhZCB0aGUgZW50aXJlIHN0YWNrZXhjaGFuZ2UgcG9zdGluZyBidXQgSSBzdXNw ZWN0IHRoYXQgdGhlCnRocmVzaG9sZCBhbmQgc3Vic2VxdWVudCBkZWNyZWFzaW5nIHZvbHRhZ2Ug aGFzIHNvbWV0aGluZyB0byBkbyB3aXRoIHN0cmF5CmNhcGFjaXRhbmNlIGluICB0aGUgbWVhc3Vy aW5nIHNldC11cCBhbmQgYWxzbyBwb3NzaWJseSBjYXBhY2l0YW5jZSBiZXR3ZWVuCnRoZSBzZXR1 cCBhbmQgZWFydGguIFlvdXIgdm9sdG1ldGVyL2VsZWN0cm9tZXRlciBoYXMgc29tZSB0aW55IGlu dGVybmFsCmNhcGFjaXRhbmNlIHBsdXMgY2FwYWNpdGFuY2UgYmV0d2VlbiBpdHMgbGVhZHMuIFRo aXMgaXMgaW4gcGFyYWxsZWwgd2l0aAp0aGUgdGVzdCBjYXBhY2l0b3IuIEFzIHRoZSB2b2x0YWdl IGluY3JlYXNlcywgc29tZSBvZiB0aGUgY2hhcmdlIGluIHRoZQp0ZXN0IGNhcGFjaXRvciBpcyB0 cmFuc2ZlcnJlZCB0byB0aGUgcGFyYXNpdGljIGNhcGFjaXRhbmNlLiBXaGVuIHRoZSB0ZXN0CmNh cGFjaXRhbmNlIGJlZ2lucyB0byBhcHByb2FjaCB0aGUgdmFsdWUgb2YgdGhlIHBhcmFzaXRpYyBj YXBhY2l0YW5jZSwgdGhlbgp0aGUgdm9sdGFnZSB3aWxsIG5vIGxvbmdlciBiZSBhYmxlIHRvIGlu Y3JlYXNlIG11Y2ggYmVjYXVzZSBpbmNyZWFzaW5nCnZvbHRhZ2Ugd291bGQgcmVxdWlyZSBtb3Jl IGNoYXJnZSB0byBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgcGFyYXNpdGljCmNhcGFjaXRhbmNlLgoK T24gU3VuLCBEZWMgMTQsIDIwMTQgYXQgMTozOCBBTSwgUmljaGFyZCBQcm9zc2VyIDxyaHByb3Nz ZXJAZ21haWwuY29tPgp3cm90ZToKPgo+IEhpIE1hcmlvLAo+Cj4gVGhlIGxpbmsgUnViaW4gcG9z dGVkIGV4cGxhaW5zIHRoZSBzaXR1YXRpb24gcXVpdGUgd2VsbC4gSSdtIG5vdCBzdXJlIGFib3V0 Cj4gd2h5IHRoZXJlJ3MgYSB0aHJlYXNob2xkIHBvaW50IHdoZXJlIHRoZSB2b2x0YWdlIHN0YXJ0 cyBkZWNyZWFzaW5nIHRob3VnaC4KPgo+IEl0J3Mgbm90IHN0YXRpYyBlbGVjdHJpY2l0eSBiZWlu ZyBnZW5lcmF0ZWQgLSBpdCdzIGp1c3QgYSBjb25zZXF1ZW5jZSBvZgo+IHRoZSBjb25zZXJ2YXRp b24gb2YgY2hhcmdlLgo+Cj4gUmljaGFyZAo+Cj4gT24gMTQgRGVjZW1iZXIgMjAxNCBhdCAwMTo1 OSwgUnViZW4gSsO2bnNzb24gPHJ1YmVuQHJqam91cm5hbC5uZXQ+IHdyb3RlOgo+Cj4gPiA+IEkg bWVhbiwgd2hlbiBJIGNoYXJnZWQgdGhlIGNhcGFjaXRvciwgSSBlZmZlY3RpdmVseSBtb3ZlZCBj aGFyZ2VzCj4gPiA+IGZyb20gYW4gYXJtYXR1cmUgYW5kIHRyYW5zZmVycmVkIHRoZW0gaW50byB0 aGUgb3RoZXIuIFNvIHdoeSBkb2Vzbid0Cj4gPiA+IHRoZSBkaWZmZXJlbmNlIGluIHBvdGVudGlh bCByZW1haW4/Cj4gPiA+Cj4gPiA+IENoZWVycywKPiA+ID4gTWFyaW8KPiA+ID4KPiA+Cj4gPiBJ ZiB0aGUgcGxhdGVzIGFyZSBjaGFyZ2VkIGFuZCB0aGUgcG93ZXIgc291cmNlIGlzIHJlbW92ZWQg d2l0aCB0aGUgc2FtZQo+ID4gZGllbGVjdHJpYyB0aGUgdm9sdGFnZSB3aWxsIGluY3JlYXNlIHNp bmNlIHRoZSBjYXBhY2l0YW5jZSB3aWxsIGRlY3JlYXNlLgo+ID4gVj1RL0MuIFRoaXMgYWxzbyBt ZWFucyB0aGF0IHRoZSBlbmVyZ3kgd2lsbCBpbmNyZWFzZSBidXQgaXQgaXMgbm90IGZvcgo+IGZy ZWUKPiA+IHNpbmNlIHdlIG5lZWQgdG8gZG8gd29yayB0byBwdWxsIHRoZSBwbGF0ZXMgYXBhcnQg KHRoZSB0d28gcGxhdGVzIGF0dHJhY3QKPiA+IGVhY2gKPiA+IG90aGVyKS4KPiA+Cj4gPiBUaGUg dm9sdGFnZSB3aWxsIG9ubHkgaW5jcmVhc2UgdW50aWwgYSBjZXJ0YWluIGRpc3RhbmNlIGlzIHJl YWNoZWQsIHRoZW4KPiBpdAo+ID4gd2lsbCBkZWNyZWFzZSB3aXRoIGluY3JlYXNlZCBkaXN0YW5j ZS4gVGhpcyBpcyBiZWNhdXNlIHRoZSBFbGVjdHJpYyBmaWVsZAo+ID4gd2lsbAo+ID4gZGVjcmVh c2UgKHRoZSBkZW5zaXR5IG9mIHRoZSBmaWxlZCBsaW5lcyBkZWNyZWFzZXMpIHdoZW4gdGhlIGRp c3RhbmNlCj4gZ2V0cwo+ID4gdG9vCj4gPiBsYXJnZSBjb21wYXJlZCB0byB0aGUgc2l6ZXMgb2Yg dGhlIHBsYXRlcy4KPiA+Cj4gPiBJIGZvdW5kIGl0IHF1aXRlIHdlbGwgZXhwbGFpbmVkIGhlcmU6 Cj4gPiA8Cj4gPgo+IGh0dHA6Ly9waHlzaWNzLnN0YWNrZXhjaGFuZ2UuY29tL3F1ZXN0aW9ucy84 MjQyOS93aHktZG9lcy10aGUtdm9sdGFnZS1pbmNyZWFzZS0KPiA+IHdoZW4tY2FwYWNpdG9yLXBs YXRlcy1hcmUtc2VwYXJhdGVkPgo+ID4KPiA+IC9SdWJlbgo+ID4gLS0KPiA+IGh0dHA6Ly93d3cu cGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiA+ IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cj4gPiBodHRwOi8vbWFpbG1h bi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+ID4KPiAtLQo+IGh0dHA6Ly93d3cu cGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiBW aWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFuLm1p dC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4KLS0gCmh0dHA6Ly93d3cucGljbGlzdC5j b20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2Ug eW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFu L2xpc3RpbmZvL3BpY2xpc3QK .