SGkhCgpUaGUgc29vbmVyIHdlIHN0YXJ0IHBvcnRpbmcsIHRoZSBtb3JlIHRpbWUgd2UgaGF2ZSBm b3IgYnVnIGZpeGluZyBhbmQgc3RhYmlsaXppbmcgYWdhaW4uIEFyZSBhbGwgdGhpbmdzIHdlIG5l ZWQgaW4gS0Y1IChhdCBsZWFzdCBzb21laG93KSBieSBub3c/CgpDb29yZGluYXRpb24gd2l0aCBL RGV2ZWxvcC9LaWxlIGlzIGltcG9ydGFudC4KCktGIGlzIGEgYmlnIHN3aXRjaCwgc28gSSBndWVz cyB0aGVyZSB3aWxsIGJlIGFsb25nIGJldGEgcGhhc2UuIE9mIGNvdXJzZSBhdCB0aGF0IHBvaW50 IHdlIHNob3VsZCBub3QgYnJlYWsgQVBJIEJDL1NDIGp1c3QgZm9yIGZ1biwgYnV0IEkgdGhpbmsg aXQgYSBzb2Z0IGZyZWV6ZSBzaG91bGQgc3RhcnQgYW5kIGEgaGFyZCBBUEkgZnJlZXplIHNob3Vs ZCBzdGFydCB3aXRoIEtGNSBSQ3MuIFJlYXNvbmluZywgSSB0aGluayBzb21lIHVzZXJzIG9mIHRo ZSBBUEkgd2lsbCBzdGFydCBwb3J0aW5nIHF1aXRlIGxhdGUgKGUuZy4gS2lsZSksIHRoZXJlZm9y IGlmIHdlIG92ZXJsb29rZWQgc29tZXRoaW5nIHdlIHNob3VsZCBiZSBhYmxlIHRvIGZpeCB0aGUg cHJvYmxlbXMgYW5kIG5vdCBzdGFydCB3aXRoIHdvcmthcm91bmRzIGFuZCBoYWNrcyBvbiA1LjAu MS4KCkJlc3QgcmVnYXJkcywgCkpvc2VwaAoKPiBBbSAwOS4xMS4yMDEzIHVtIDEzOjA0IHNjaHJp ZWIgQ2hyaXN0b3BoIEN1bGxtYW5uIDxjdWxsbWFubkBhYnNpbnQuY29tPjoKPiAKPiBIaSwKPiAK PiBLREUgRnJhbWV3b3JrcyA1IGdldHMgbW9yZSB0cmFjdGlvbiBpbiB0aGUgbGFzdCBtb250aHMg YW5kIHBlcmhhcHMgd2Ugc2hvdWxkIHBsYW4gYWhlYWQgaG93Cj4gd2Ugd2FudCB0byBnbyB0aGUg NS54IHJvYWQuCj4gCj4gV2UgaGF2ZSBhIGxvdCBvZiAiY2xlYW51cHMiIGFuZCAiZml4dXBzIiBs aXN0ZWQgZm9yIHRoZSBLVGV4dEVkaXRvciBpbnRlcmZhY2VzIHdlIHdhbnQgdG8gZG8gZm9yCj4g dGhlIDUueCByZWxlYXNlIGFuZCB1bnRpbCBub3cgSSB0aGluayB3ZSBoYXZlIG5vIGNsZWFyIHBs YW4gd2hlbiB0byBnbyBmb3IgdGhpcy4KPiAKPiBJIHRoaW5rIEthdGUvS2F0ZVBhcnQgYXJlIGF0 IHRoZSBtb21lbnQgaW4gYSByZWxhdGl2ZSBnb29kIHN0YXRlIGZvciB0aGUgNC54IGxpbmUgYW5k IG5vdCB0aGF0IG11Y2ggc3R1ZmYgaXMgbWlzc2luZwo+IHRoYXQgd2UgYWN0dWFsbHkgbmVlZCB0 byBpbXBsZW1lbnQgaW4gNC54IChiZXNpZGUgcGVyaGFwcyBzb21lIHBsdWdpbiBlbmhhbmNlbWVu dHMgb3IgYnVnZml4ZXMpLgo+IAo+IFBlcmhhcHMgd2Ugc2hvdWxkIGRyYWZ0IHNvbWUgc21hbGwg dGltZWxpbmUgZm9yIHRoZSBmdXR1cmUgd2hlbiB3ZSB3YW50IHRvIGdvIHRvIHN3aXRjaCB0aGUg bWFpbiBmb2N1cwo+IG9uIHBvcnRpbmcgKyBjbGVhbmluZyBmb3IgNS4wLgo+IAo+IFdlIHNob3Vs ZCBjb29yZGluYXRlIGEgYml0IHdpdGggdGhlIEtEZXZlbG9wIGd1eXMsIG5vdCBzdXJlIGhvdyB0 aGVpciBwbGFucyBmb3IgNS54IGFyZSwgZWl0aGVyLgo+IAo+IEkgd291bGQgcHJvcG9zZSBmb3Ig S2F0ZSwgdG8gY3JlYXRlIHNvbWUgImZyYW1ld29ya3MiIGJyYW5jaCBpbiBEZWNlbWJlciwgaW4g d2hpY2ggdGhlIGlkZWEgaXMgdG8KPiAKPiBhKSBmaXJzdCBnZXQgaXQgY29tcGlsaW5nIHdpdGgg S0RFIDUgRnJhbWV3b3JrcyArIFF0IDUuMgo+IGIpIHRoZW4gY2xlYW51cCBhbmQgZml4IHRoZSBz dHVmZiBpbiB0aGUgaW50ZXJmYWNlcwo+IAo+IFRoaXMgImZyYW1ld29ya3MiIGJyYW5jaCB3b3Vs ZCBoYXZlIG5vIEJDL1NDIHJlcXVpcmVtZW50cyB1bnRpbCB3ZSBhcnJpdmUgaW4gdGhlIDUuMCBC ZXRhIHBoYXNlIEkgdGhpbmsuCj4gCj4gIm1hc3RlciIgc2hvdWxkIHN0YXkgS0RFIDQueCB1bnRp bCB0aGUgbGFzdCA0Lnh4IHJlbGVhc2UgaXMgZG9uZSBhbmQgdGhlbiB3ZSBjYW4gc3dpdGNoIHRo YXQgb3Zlci4KPiAKPiBBbGwgc3R1ZmYgdGhhdCBnb2VzIGludG8gbWFzdGVyIGFmdGVyIHRoZSBm cmFtZXdvcmtzIGJyYW5jaCBpcyB0aGVyZSBtdXN0IGJlIHN5bmNlZCB0byBmcmFtZXdvcmtzIGJ5 Cj4gdGhlIHBlb3BsZSBkb2luZyB0aGUgY2hhbmdlLCB0aGVyZSB3b24ndCBiZSBhbiBhdXRvLW1l cmdlIGJ5IG1lIG9yIHNvbWVvbmUgZWxzZSBJIHRoaW5rLgo+IAo+IFRoaXMgaXMganVzdCBhIGJp dCBicmFpbnN0b3JtaW5nIHRvIGtpY2sgdGhpcyB0b3BpYyBvZmYsIGNvbW1lbnRzIC8gY2hhbmdl cyBhcmUgd2VsY29tZSA6UAo+IAo+IEdyZWV0aW5ncwo+IENocmlzdG9waAo+IAo+IC0tIAo+IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIERyLi1JbmcuIENocmlzdG9waCBDdWxsbWFubiAt LS0tLS0tLS0KPiBBYnNJbnQgQW5nZXdhbmR0ZSBJbmZvcm1hdGlrIEdtYkggICAgICBFbWFpbDog Y3VsbG1hbm5AQWJzSW50LmNvbQo+IFNjaWVuY2UgUGFyayAxICAgICAgICAgICAgICAgICAgICAg ICAgIFRlbDogICArNDktNjgxLTM4MzYwLTIyCj4gNjYxMjMgU2FhcmJyw7xja2VuICAgICAgICAg ICAgICAgICAgICAgIEZheDogICArNDktNjgxLTM4MzYwLTIwCj4gR0VSTUFOWSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgV1dXOiAgIGh0dHA6Ly93d3cuQWJzSW50LmNvbQo+IC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCj4gR2VzY2jDpGZ0c2bDvGhydW5nOiBEci4tSW5nLiBDaHJpc3RpYW4gRmVyZGluYW5k Cj4gRWluZ2V0cmFnZW4gaW0gSGFuZGVsc3JlZ2lzdGVyIGRlcyBBbXRzZ2VyaWNodHMgU2FhcmJy w7xja2VuLCBIUkIgMTEyMzQKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+IEtXcml0ZS1EZXZlbCBtYWlsaW5nIGxpc3QKPiBLV3JpdGUtRGV2ZWxAa2Rl Lm9yZwo+IGh0dHBzOi8vbWFpbC5rZGUub3JnL21haWxtYW4vbGlzdGluZm8va3dyaXRlLWRldmVs Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCktXcml0ZS1E ZXZlbCBtYWlsaW5nIGxpc3QKS1dyaXRlLURldmVsQGtkZS5vcmcKaHR0cHM6Ly9tYWlsLmtkZS5v cmcvbWFpbG1hbi9saXN0aW5mby9rd3JpdGUtZGV2ZWwK