VXNlIGEgdGhpbi13YWxsZWQgcmlnaWQgdHViZSwgYW5kIHR1cm4gb24gdGhlIHZhY3V1bSBvbmx5 IGFmdGVyIHRoZSB0dWJlIGlzCmluIGNvbnRhY3Qgd2l0aCB0aGUgYmFsbC4KCkVtIHPDoWIsIDE0 IGRlIGp1bCBkZSAyMDE4IDE4OjU4LCBKYXNvbiBXaGl0ZSA8CndoaXRld2F0ZXJzc29mdHdhcmVp bmZvQGdtYWlsLmNvbT4gZXNjcmV2ZXU6Cgo+IEkgdHJpZWQgdXNpbmcgYSBzaG9wIHZhYyB3aXRo IGEgc2hvcnQgbGVuZ3RoIG9mIHNpbGljb25lIHR1YmluZyBhbmQgZHVjdAo+IHRhcGUuIFVuZm9y dHVuYXRlbHkgaXQgdHJpZ2dlcmVkIHRoZSBieXBhc3MgZXZlbiBiZWZvcmUgcHV0dGluZyBpdCBp bnRvIHRoZQo+IGhvbGUuCj4KPiBPbiBTYXQsIEp1bCAxNCwgMjAxOCBhdCA1OjQwIFBNLCBEYXZp ZCBWYW5Ib3JuIDxtaWNyb2JyaXhAZ21haWwuY29tPgo+IHdyb3RlOgo+Cj4gPiBQcm9iYWJseSBk aWZmaWN1bHQgc2luY2UgdGhlIGNhc3RpbmcgaXMgbWFnbmV0aWMgYW5kIHRoZSBiZWFyaW5nIG1h eSBiZQo+ID4gc3RhaW5sZXNzIHN0ZWVsIHdoaWNoIGlzIG1vc3RseSBub24gbWFnbmV0aWMuICAg Q2FuIHlvdSBnZXQgYSB0dWJlIGluCj4gPiB0aGVyZT8gWW91IG1pZ2h0IGJlIGFibGUgdG8gc3Vj ayB0aGUgYmVhcmluZyBvbnRvIHRoZSBlbmQgYW5kIGdldCBpdCBvdXQKPiA+IHRoYXQgd2F5Lgo+ ID4KPiA+IE9uIFNhdCwgSnVsIDE0LCAyMDE4LCAzOjMzIFBNIEphc29uIFdoaXRlIDx3aGl0ZXdh dGVyc3NvZnR3YXJlaW5mb0AKPiA+IGdtYWlsLmNvbT4KPiA+IHdyb3RlOgo+ID4KPiA+ID4gSGVs bG8gQWxsLAo+ID4gPgo+ID4gPiBBIDEvOCIgc3RlZWwgYmFsbCBiZWFyaW5nIGhhcyBmYWxsZW4g dG8gdGhlIGJvdHRvbSBvZiBhIDIuNSIgZGVlcCA1LzY0Igo+ID4gPiBob2xlIGluIGEgbGFyZ2Ug aXJvbiBjYXN0aW5nLgo+ID4gPgo+ID4gPiBJdCBpcyBmZWFzaWJsZSB0byB1c2UgbWFnbmV0aWNz IHRvIHJlbW92ZSB0aGUgYmVhcmluZz8KPiA+ID4KPiA+ID4gSSBzdXNwZWN0IG5vdCBidXQgcGVy aGFwcyBpdCBpcyBhIGZhaWx1cmUgb2YgbXkgaW1hZ2luYXRpb24uCj4gPiA+Cj4gPiA+Cj4gPiA+ IFRoZSBob2xlIGlzIHRoZSBvaWwgcGFzc2FnZSB0byB0aGUgc3BpbmRsZSBiZWFyaW5nIG9mIGEg c21hbGwgbGF0aGUuCj4gVGhlCj4gPiA+IGJhbGwgaXMgYmxvY2tpbmcgb2lsIGZyb20gZW50ZXJp bmcgdGhlIHNwaW5kbGUgYmVhcmluZyBhbmQgbXVzdCBiZQo+ID4gcmVtb3ZlZC4KPiA+ID4KPiA+ ID4gVGhlIGJhbGwgYmVhcmluZyBpcyBsb29zZSBpbiB0aGUgcGFzc2FnZS4gSWYgSSBjb3VsZCBm bGlwIHRoZSBsYXRoZQo+ID4gdXBzaWRlCj4gPiA+IGRvd24gaXQgd291bGQgcHJvYmFibHkgZmFs bCBvdXQgb2YgdGhlIGhvbGUuCj4gPiA+Cj4gPiA+IEN1cnJlbnRseSBpdCBzZWVtcyBJIHdpbGwg aGF2ZSB0byB0ZWFyIHRoZSBsYXRoZSBhcGFydCB0byBnZXQgdGhlIGJhbGwKPiA+IG91dC4KPiA+ ID4KPiA+ID4gVGhhbmtzLAo+ID4gPiBKYXNvbiBXaGl0ZQo+ID4gPiAtLQo+ID4gPiBodHRwOi8v d3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZl Cj4gPiA+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cj4gPiA+IGh0dHA6 Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4gPiA+Cj4gPiAtLQo+ ID4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxp c3QgYXJjaGl2ZQo+ID4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKPiA+ IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4gPgo+Cj4K Pgo+IC0tCj4gSmFzb24gV2hpdGUKPiAtLQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJl Zi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3L2NoYW5nZSB5b3VyIG1l bWJlcnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0 aW5mby9waWNsaXN0Cj4KLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0 IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9w dGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .