V2VsbCwgSSB0aGluayB5b3Ugd2lsbCBnZXQgdmFyaWFibGUgcmVzcG9uc2VzIGZyb20gdGhlIGNl bGxzIG9uIGV2ZXJ5Cm1lYXN1cmVtZW50LgoKZFUvZGkgbWVhc3VyZW1lbnQgY2FuIGJlIGNvcnJl Y3QgcGVyZm9ybWVkIG9ubHkgaWYgaWRlbnRpY2FsIG1lYXN1cmVtZW50CmNvbmRpdGlvbnMgYXJl IGFzc3VyZWQgZm9yIGFsbCBjZWxscy4gVGhpcyBpcyBwZXJoYXBzIHRoZSBtb3N0IGRpZmZpY3Vs dAp0YXNrLgpCZWZvcmUgYSBjb3JyZWN0IGludGVybmFsIHJlc2lzdGFuY2UgbWVhc3VyZW1lbnQg YSBmZXcgY2hhcmdlIGRpc2NoYXJnZQpjeWNsZXMgYXJlIHVzdWFsbHkgcGVyZm9ybWVkLgpUaGlz IGlzICJ3YWtpbmcgdGhlIGNoZW1pc3RyeSIuIDopCgpOZWdhdGl2ZSByZXNpc3RhbmNlIGluIGVs ZWN0cm9uaWNzIGlzIHJlbGF0ZWQgdG8gb3NjaWxsYXRvcnMuIE9mIGNvdXJzZQp0aGVyZSBpc24n dCBzdWNoIHRoaW5nIGluIGEgYmF0dGVyeSBjZWxsLgoKVmFzaWxlCgoKT24gU2F0LCBEZWMgNSwg MjAxNSBhdCAxMjo0NSBQTSwgVG9iaWFzIEdvZ29saW4gPHVzZXJ0b2dvQGdtYWlsLmNvbT4gd3Jv dGU6Cgo+IE1lYXN1cmluZyB0aGUgdm9sdGFnZSBvZiB0aGUgYmF0dGVyeSB0ZXJtaW5hbHMgaXMg YSBwcmV0dHkgYmFzaWMgdGhpbmchCj4gaWYgdGhlIHZvbHRhZ2UgdW5kZXIgbG9hZCByaXNlcyBp bnN0ZWFkIG9mIGRyb3BwaW5nIGxpa2UgdXN1YWwgLCB0aGVuIFJpbnQKPiA9IGRlbHRhIFUgLyBk ZWx0YSBJIHdvdWxkIGJlIG5lZ2F0aXZlISBJZiBiYXR0ZXJ5IG1hbnVmYWN0dXJlcnMgY291bGQg YnJlZWQKPiB0aG9zZSB0eXBlIG9mIGhvcnNlcyBpdCB3b3VsZCBtZWFuIGJhdHRlcmllcyB0aGF0 IGtlZXAgY2FsbSBhbmQgaG9sZCB0aGVpcgo+IGlkbGUgY2hhcmdlIGxvbmdlciB3aGlsZSBhbnN3 ZXJpbmcgcG93ZXIgZGVtYW5kcyBtb3JlIGdlbmVyb3VzbHkhCj4gSSBhbSBnb2luZyB0byBoYXZl IHRvIGdvIGJhY2sgYW5kIHNlZSBpZiB0aGUgY2VsbHMgaWRlbnRpZmllZCB3aXRoIG5lZ2F0aXZl Cj4gUmludCBpbiB0aGUgZmlyc3QgcGFzcyBzaG93IHNpbWlsYXIgdGhpbmdzIGFnYWluLi4uCj4K PiBPbiBTYXQsIERlYyA1LCAyMDE1IGF0IDEwOjQ4IEFNLCBlbWJlZGRlZCBzeXN0ZW1zIDxwaWNs aXN0OUBnbWFpbC5jb20+Cj4gd3JvdGU6Cj4KPiA+IFRvYmlhcywKPiA+IHdoaWNoIHdvdWxkIGJl IHRoZQo+ID4gcGh5c2ljYWwgc2lnbmlmaWNhbmNlIG9mIHRoZSBuZWdhdGl2ZSByZXNpc3RhbmNl Pwo+ID4KPiA+IENhbiBiZSBqdXN0IGEgbWVhc3VyaW5nL2NvbXB1dGluZyBlcnJvcj8KPiA+Cj4g PiBWYXNpbGUKPiA+IC0tCj4gPiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlz dCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlCj4gPiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNo aXAgb3B0aW9ucyBhdAo+ID4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZv L3BpY2xpc3QKPiA+Cj4KPgo+Cj4gLS0KPiDigJ5KZXR6dCB3YXIgZGVyIEF1Z2VuYmxpY2sgZ2Vr b21tZW4gd28gd2lyIGRlbmtlbiBtdXNzdGVuLiBEZXIgQXVnZW5ibGljayB3bwo+IHdpciBhdWZz cHJpbmdlbiB1bmQgZW50c2NoZWlkZW4gbXXDn3Rlbiwgd2VubiB3aXIgbmljaHQgYWxsbcOkaGxp Y2ggc28KPiB2ZXJnaWZ0ZXQgd2VyZGVuIHdvbGx0ZW4sIGRhw58gd2lyIGJsaW5kIGRpZSBQbMOk dHplIGVpbm5haG1lbiwgZGllIHVucyBpbQo+IGbDvGhyZXJsb3NlbiBadWcgZGVyIMOEbHRlcmVu IGFuZ2Vib3RlbiB3dXJkZW4u4oCcCj4gQXVzIGRlbSBlcnN0ZW4gS2FwaXRlbCB2b24gJ0ZhdHUg SGl2YSAtIFp1csO8Y2sgenVyIE5hdHVyJyB2b24gVGhvcgo+IEhleWVyZGFobAo+IC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPgo+IFRvYmlhcyBHb2dvbGluCj4gVGVsLiBE MSAoNDkpIDAxNTEgNTE4NyA1MjEwCj4gVGVsLiBEMiAoNDkpIDAxNTIgMDgzOSA1MDYwCj4gc2t5 cGU6IG1vb250b2dvCj4KPiBZb3UgZGV2ZWxvcCBTdXN0YWluYWJsZSBSYW5jaCBUZWNobm9sb2d5 IGF0Cj4gaHR0cDovL3RlY2guZ3JvdXBzLnlhaG9vLmNvbS9ncm91cC9TVVJBLVRFQ0gKPiBhbiBP cGVuIFNvdXJjZSBFbGVjdHJpYyBNb3Rvci9BbHRlcm5hdG9yIGF0Cj4gaHR0cDovL2dyb3Vwcy55 YWhvby5jb20vZ3JvdXAvUGVyZm9ybWFuY2VfQXhpYWxfRmx1eAo+IGFuZCBhbiBPcGVuIFNvdXJj ZSBNb3RvciBDb250cm9sbGVyIGF0IGh0dHA6Ly9ncm91cHMueWFob28uY29tL2dyb3VwL0dvQm94 Cj4gLS0KPiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFR ICYgbGlzdCBhcmNoaXZlCj4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQK PiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+Ci0tIApo dHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBh cmNoaXZlClZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWls bWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cg== .