U3BsaXR0aW5nIHRoZSBjYWJsZSBhbmQgc2VwYXJhdGluZyB0aGUgd2lyZXMgd2lsbCBpbmNyZWFz ZSB0aGUgaW1wZWRhbmNlCm9mIHRoZSBvbmUgd2lyZSB0aGF0IGlzIG5vdCB0b2dldGhlciB3aXRo IHRoZSBncm91bmQgd2lyZS4KCkl0IHdvdWxkIGJlIGdvb2QgaWYgZWFjaCBzaWduYWwgd2lyZSBo YWQgaXRzIG93biBncm91bmQgcmV0dXJuIHdpcmUuCgoKRW0gMDEvMDEvMjAxOCAyMToxMiwgQWxs ZW4gTXVsdmV5IGVzY3JldmV1Ogo+IEJhY2sgaW4gdGhlIG9sZGVuIGRheXMuLi4KPiBXZSBoYWQg ZmxhdCBjYWJsZXMgb24gaGFyZCBkcml2ZXMsIGZsb3BwaWVzLCBhbmQgYSBudW1iZXIgb2Ygb3Ro ZXIgZGV2aWNlcy4gU29tZXRpbWVzIHdlIHdvdWxkIHRha2UgYSBrbmlmZSBhbmQgc3BsaXQgdGhl IGZsYXQgY2FibGUgYmV0d2VlbiB0aGUgc3VzcGVjdCBwYWlycy4gVGhpcyB3b3VsZCBvZnRlbiBz b2x2ZSBwcm9ibGVtcyBsaWtlIHRoaXMuIEl0IGRvZXNuJ3QgY29zdCBhbnl0aGluZyB0byBnaXZl IGl0IGEgdHJ5Lgo+Cj4gQWxsZW4KPgo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4KPiBU aGUgc3RhbmRhcmQgTWljcm9jaGlwIGNhYmxlIHVuZm9ydHVuYXRlbHkgcHV0cyBQR0QgYW5kIFBH QyBvbgo+IGFkamFjZW50IGxpbmVzLiAgU2luY2UgdGhpcyBpcyBhIGZsYXQgY2FibGUsIHRoaXMg Y2FuIGFuZCBkb2VzIGxlYWQgdG8KPiBjcm9zc3RhbGsgYmV0d2VlbiB0aGUgdHdvIGluIHNvbWUg Y2FzZXMuICBGb3Igd3JpdGluZyB0byB0aGUgdGFyZ2V0LAo+IHRoZSBwcm9ncmFtbWVyIGRyaXZl cyBib3RoIGxpbmVzLiAgSW4gdGhhdCBjYXNlIGEgbGl0dGxlIGxvdyBwYXNzCj4gZmlsdGVyaW5n IGNhbiBiZSBhcHBsaWVkIGJ5IHRoZSBwcm9ncmFtbWVyIHRvIHNvZnRlbiB0aGUgZWRnZXMgYW5k Cj4gcmVkdWNlIHRoZSBjb3VwbGVkIGFtcGxpdHVkZSBvbiBvbmUgbGluZSBmcm9tIGFuIGVkZ2Ug b24gdGhlIG90aGVyLgo+Cj4KCgotLS0KRXN0ZSBlbWFpbCBmb2kgZXNjYW5lYWRvIHBlbG8gQXZh c3QgYW50aXbDrXJ1cy4KaHR0cHM6Ly93d3cuYXZhc3QuY29tL2FudGl2aXJ1cwoKCi0tIApodHRw Oi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNo aXZlClZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFu Lm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cg== .