SG1tbS4gWW91IGdhdmUgbWUgYW4gaWRlYS4uLi4uLi4uLiAKTmVlZCB0byBmaW5kIGEgbWV0ZXIg dGhhdCBjYW4gZ28gZG93biB0byBtaWxpb2htcy7CoMKgwqDCoMKgIAoKV2l0aCB0aGF0IEkgd291 bGQgbm90IG5lZWQgdG8gdGVzdCBpdCBvdXQgd2l0aCBhIGppZy4KSm9obgoKCiAgICAgIEZyb206 IFNlYW4gQnJlaGVueSA8c2hiN0Bjb3JuZWxsLmVkdT4KIFRvOiBNaWNyb2NvbnRyb2xsZXIgZGlz Y3Vzc2lvbiBsaXN0IC0gUHVibGljLiA8cGljbGlzdEBtaXQuZWR1PiAKIFNlbnQ6IE1vbmRheSwg RmVicnVhcnkgMTYsIDIwMTUgOTo1NyBBTQogU3ViamVjdDogUmU6IFtFRV0gSW5zdWxhdGlvbiB0 ZXN0aW5nCiAgIApJIHRoaW5rIHdlIG5lZWQgbW9yZSBkZXRhaWxzLiBXaGF0IGtpbmQgb2YgY2Fi bGUgYXJlIHlvdSB0YWxraW5nIGFib3V0PwpUaGVyZSBhcmUgc3RhbmRhcmQgdGFibGVzIHdoaWNo IHJlbGF0ZSBjdXJyZW50LCB3aXJlIGdhdWdlLCBpbnN1bGF0aW9uCnR5cGUsIGFuZCB0ZW1wZXJh dHVyZSByaXNlLiBJZiB5b3UgYWRkIHlvdXIgbWF4aW11bSBhbWJpZW50IHRlbXBlcmF0dXJlIHRv CnRoaXMgcmlzZSwgeW91IGNhbiBjb21wYXJlIGl0IHRvIHRoZSBjYWJsZSdzIG1heCB0ZW1wZXJh dHVyZSBzcGVjIHRvCmRldGVybWluZSB0aGUgcHJvcGVyIG1heCBjdXJyZW50LgoKSGF2ZSBhIGxv b2sgYXQ6CgpodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FtZXJpY2FuX3dpcmVfZ2F1Z2UK CmZvciBhIHN0YXJ0LiBUaGUgdGFibGUgcGFydC13YXkgdGhyb3VnaCB0aGUgYXJ0aWNsZSBnaXZl cyBBbWVyaWNhbiBORUMKKE5hdGlvbmFsIEVsZWN0cmljYWwgQ29kZSkgbGltaXRzIG9uIGN1cnJl bnQgdmVyc3VzIGluc3VsYXRpb24gdGVtcCByYXRpbmcKYW5kIHdpcmUgZ2F1Z2UuCgpTZWFuCgoK CgpPbiBTdW4sIEZlYiAxNSwgMjAxNSBhdCA4OjIyIFBNLCBKb2huIENodW5nIDxrcmF2bnVzQHlh aG9vLmNvbT4gd3JvdGU6Cgo+IEhvdyB3b3VsZCB5b3UgZ3V5cyB0ZXN0IHRoZSBtYXhpbXVtIGFt cGVyZSByYXRpbmcgb24gdGhlIGluc3VsYXRpb24gb24gdGhlCj4gY2FibGUgaXRzZWxmPyBUaGUg YmVuY2ggcG93ZXIgc3VwcGx5IGlzIGFib3V0IDUgYW1wcyBtYXguVGhlIHdlbGRpbmcKPiBtYWNo aW5lPyBPdmVyIGtpbGwgYW5kIHRvbyBtdWNoIHRyb3VibGUuIExpa2UgdG8gaGVhciB5b3VyIGlk ZWFzLgo+IEpvaG4KPgo+IC0tCj4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xp c3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hp cCBvcHRpb25zIGF0Cj4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3Bp Y2xpc3QKPgotLSAKaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NY IEZBUSAmIGxpc3QgYXJjaGl2ZQpWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBh dApodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAoKCiAgCi0t IApodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlz dCBhcmNoaXZlClZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9t YWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cg== .