SmltLCBqdXN0IHVzZSBhIHB1bGwtdXAgb3IgcHVsbC1kb3duIHJlc2lzdG9yIChkZXBlbmRpbmcg b24gdGhlIGxvZ2ljCmxldmVsIG5lZWRlZCkgb24gdGhlIGVuYWJsZSBwaW4gdG8gZW5zdXJlIHRo YXQgdGhlIG91dHB1dHMgYXJlIGRpc2FibGVkCnVudGlsIHRoZSBQSUMgaXMgaW5pdGlhbGl6ZWQu CgpDaGVlcnMsCgpJc2FhYwoKCkVtIDEwLzAzLzIwMTggMTQ6MjgsIEppbSBSdXh0b24gZXNjcmV2 ZXU6Cj4gSnVzdCBjdXJpb3VzIGhvdyBvdGhlcnMgbWlnaHQgaGFuZGxlIHRoaXMgc2NlbmFyaW8u IEkgaGF2ZSAyIFJTLTQ4NSAKPiBzaWduYWxzLiBJIHdhbnQgdG8gcm91dGUgb25lIG9mIHRoZSAy IHRvIGEgVUFSVCBwaW4gb24gYSBQSUMuIEkgYW0gCj4gbG9va2luZyBhdCB1c2luZyAyIE1BWDQ4 NcKgIHJlY2VpdmVycyBvciBzb21ldGhpbmcgc2ltaWxhci4gVGhlc2UgaGF2ZSBSWCAKPiBlbmFi bGUgcGlucyB0aGF0IGVpdGhlciBvdXRwdXQgdGhlIHNpZ25hbCBvciBwdXQgdGhlIG91dHB1dCBw aW4gaW50byBhIAo+IGhpZ2ggaW1wZWRhbmNlIHN0YXRlLiBJIGFtIHdvbmRlcmluZyBhYm91dCB0 aWVpbmcgdGhlIDIgb3V0cHV0cyB0b2dldGhlciAKPiBhbmQgYmUgc3VyZSBJIG9ubHkgaGF2ZSAx IG9mIHRoZSAyIG91dHB1dHMgZW5hYmxlZC4gSSBhbSBqdXN0IGNvbmNlcm5lZMKgIAo+IHRoYXQg b24gcG93ZXIgdXAgdGhlIG91dHB1dHMgbWF5IG5vdCBiZSBpbiBhIGhpZ2ggaW1wZWRhbmNlIHN0 YXRlIGFuZCAKPiB3aWxsIGZpZ2h0IGVhY2ggb3RoZXIgdW50aWwgbXkgUElDIGlzIGZpcmVkIHVw IGNvbXBsZXRlbHkuIE15IG90aGVyIAo+IG9wdGlvbiBpcyB0byBqb2luIHRoZSAyIG91dHB1dHMg d2l0aCBzZXJpZXMgcmVzaXN0b3JzLsKgIFNpbmNlIEkgYW0gZ29pbmcgCj4gdG8gaGF2ZSBhIHNp bmdsZSBvcHRpY2FsIGlzb2xhdG9yIGFmdGVyIHRoZSBNQVg0ODVzIEkgY291bGQgdGllIHRoZSAK PiBvdXRwdXRzIHRvZ2V0aGVyIHRocm91Z2jCoCBjdXJyZW50IGxpbWl0aW5nIHJlc2lzdG9ycyBn b2luZyB0byB0aGUgCj4gaXNvbGF0b3IuIE9yIG1heWJlIHNvbWVvbmUgaGFzIGEgYmV0dGVyIHN1 Z2dlc3Rpb24gb3Iga25vd3MgYW5vdGhlciAKPiBycy00ODUgSUMgdGhhdCBkb2VzIHRoaXMgaWUu IGFsbG93cyB0aGUgc2VsZWN0aW9uIG9mIDEgb2YgbXVsdGlwbGUgCj4gaW5wdXRzLiBJIGRpZCBh IHF1aWNrIG1vY2t1cCBvZiB0aGUgMiBzY2VuYXJpb3Mgb25seSBzaG93aW5nIHRoZSAKPiByZWxl dmFudCBiaXRzLiBJIGFtIGNvbnNpZGVyaW5nIGhlcmUuIAo+IGh0dHBzOi8vZHJpdmUuZ29vZ2xl LmNvbS9vcGVuP2lkPTFpbTJITVMyc2pDbWdadXAxcTBBemZDOVlTWS1aMWV3Mgo+Cj4gSSB3b3Vs ZCBhcHByZWNpYXRlIGFueSB0aG91Z2h0cyBvciBvcGluaW9ucy4KPgo+IEppbQo+CgoKLS0tCkVz dGUgZW1haWwgZm9pIGVzY2FuZWFkbyBwZWxvIEF2YXN0IGFudGl2w61ydXMuCmh0dHBzOi8vd3d3 LmF2YXN0LmNvbS9hbnRpdmlydXMKCi0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYv cGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcvY2hhbmdlIHlvdXIgbWVtYmVy c2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9w aWNsaXN0Cg== .