Q29uZm9ybWFsIGNvYXRpbmcgaW5jbHVkaW5nIGJhdHRlcnkgc2VlbXMgaW4gdmlvbGF0aW9uIG9m IHRoZSBndWlkZWxpbmUKYWJvdXQgYmxvY2tpbmcgdGhlIHZlbnRzLgpUaGUgZ29hbCBvZiBtYWtp bmcgaXQgd2F0ZXIgW3Byb29mIHwgcmVzaXN0YW50IHwgdG9sZXJhbnRdIHNlZW1zIHRvIGJlIGlu CnZpb2xhdGlvbiBvZiB0aGUgIi4uLmltbWVyc2VkIG9yIGV4cG9zZWQgdG8gd2F0ZXIuLiIgZ3Vp ZGVsaW5lLgoKSXQgbWlnaHQgYmUgcG9zc2libGUgdG8gZmluZC91c2UgYSBjb25mb3JtYWwgY29h dCB0aGF0IGlzIHNvZnQgZW5vdWdoIHRvCm5vdCBpbXBlZGUgdmVudGluZywgdGhvdWdoIEkgZG91 YnQgSSdsbCBmaW5kIGFueSBtYW51ZmFjdHVyZXIgd2lsbGluZyB0bwpzaWduIG9mZiBvbiB0aGUg aWRlYS4KClRoZSBpZGVhIG9mIHRhYnMvc29sZGVyIHRvIGJvYXJkL2NvbmZvcm1hbCBjb2F0IGNh bWUgb3V0IG9mIHNvbWUgdGVzdGluZyBJCmRpZCBvbiBob2xkZXJzIGZvciAxODY1MCBjZWxscy4g QmFzaWNhbGx5LCBhbGwgdGhlIGhvbGRlcnMgSSB3YXMgYWJsZSB0bwp0ZXN0IHdlcmUgYWJzb2x1 dGUgY3JhcC4gTW9zdCBvZiB0aGVtIGNsYW1wZWQgdGhlIGJvZHkgb2YgdGhlIGNlbGwgd2F5IHRv bwpoYXJkLCBzdWNoIHRoYXQgdGhlIGNvbnRhY3Qgc3ByaW5ncyBjb3VsZCBub3QgbW92ZSB0aGUg Y2VsbC4gVGhlIHJlc3VsdCB3YXMKYSBtaW5vciBpbXBhY3Qgd291bGQgc2xpZGUgdGhlIGNlbGwg YW5kIGNvbXByZXNzIG9uZSBjb250YWN0IG1ha2luZyB0aGUKb3RoZXIgbG9zZSBjb250YWN0LCB0 aGUgc3ByaW5ncyBjb3VsZCBub3Qgc2VsZiBjb3JyZWN0IGFuZCB5b3UgaGF2ZSBhIGRlYWQKcHJv ZHVjdC4gVGhlcmUgbWF5IGJlIGJldHRlciBvdXQgdGhlcmUsIGJ1dCB0aGF0J3MgdGhlIG9uZXMg SSBjb3VsZCBnZXQKc3RvY2sgdGhyb3VnaCBub3JtYWwgZGlzdHJpYnV0aW9uIGNoYWlucyAobW91 c2VyL2RpZ2lrZXkpCgpUaGUgb3RoZXIgb3B0aW9uIEkgaGF2ZSBpcyB0byBwaWd0YWlsIHRoZSBj ZWxsIGFuZCBhZGQgYSB3aXJlLXRvLWJvYXJkCmNvbm5lY3Rvci4gQ29ubmVjdG9ycyBvbiBhIGNv bmZvcm1hbCBjb2F0ZWQgYm9hcmQgYXJlIGEgYml0IG9mIGEgUElUQS4KCi1EZW5ueQoKCk9uIFdl ZCwgQXVnIDMsIDIwMTYgYXQgODo0NCBBTSwgUnVzc2VsbE1jIDxhcHB0ZWNobnpAZ21haWwuY29t PiB3cm90ZToKCj4gT24gNCBBdWd1c3QgMjAxNiBhdCAwMzozOSwgRGVubnkgRXN0ZXJsaW5lIDxk ZXN0ZXJsaW5lQGdtYWlsLmNvbT4gd3JvdGU6Cj4KPgo+ID4gVGhlcmUgc2VlbXMgdG8gYmUgc2V2 ZXJhbCBvZiB0aGVzZSAiZ3VpZGVsaW5lcyIgdGhhdCBJIHdvdWxkIGJlCj4gPiB2aW9sYXRpbmcu Li4KPiA+IFRob3VnaHRzPwo+ID4KPgo+IFdoaWNoIGd1aWRlbGluZXMgYXJlIHlvdSB3aXNoaW5n IHRvIHZpb2xhdGUuCj4gTm90aGluZyB5b3UgbGlzdGVkIHNlZW1lZCBzdHJpY3RseSBkaXNhbGxv d2VkLgo+Cj4gTGlGZVBPNCBpcyBtb3JlIHRvZQo+IGxlcmFudCBnZW5lcmFsbHkgYXQgYXR0ZW1w dHMgYXQgZGVzdHJ1Y3Rpb24gdGhhbiBpcyBMaUlvbiBpbiBpdHMgdmFyaW91cwo+IGZvcm1zLgo+ Cj4KPiAgICAgICAgICAgICBS4oCLCj4gLS0KPiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hy ZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlCj4gVmlldy9jaGFuZ2UgeW91ciBt ZW1iZXJzaGlwIG9wdGlvbnMgYXQKPiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlz dGluZm8vcGljbGlzdAo+Ci0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlz dCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBv cHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0 Cg== .