From: John L. <jla...@gm...> - 2006-12-07 00:32:18
|
T24gMTIvNi8wNiwgSm9obiBMYWJlbnNraSA8amxhYmVuc2tpQGdtYWlsLmNvbT4gd3JvdGU6Cj4g T24gMTIvNi8wNiwgSGFra2kgRG9ndXNhbiA8ZG9ndXNhbmhAdHIubmV0PiB3cm90ZToKPiA+IEpv aG4gTGFiZW5za2kgd3JvdGU6Cj4gPiA+IE9uIDEyLzUvMDYsIEhha2tpIERvZ3VzYW4gPGRvZ3Vz YW5oQHRyLm5ldD4gd3JvdGU6Cj4gPiA+PiAoTWluZ3csIHd4THVhIGN2cywgd3gyLjcuMi93eDIu OCBBTlNJIGFuZCBVbmljb2RlLCBXaW5YUCBUdXJraXNoKQo+ID4gPj4KPiA+ID4+IEkgY2FuJ3Qg dXNlIFR1cmtpc2ggY2hhcnMgKGllLiDw/P5p9uf9INDc3t3Wx90pIGluIGxhYmVsLCB0aXRsZSwg ZXRjLgo+ID4gPj4KPiA+ID4+IElmIEkgY2hhbmdlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRv IG9sZCBpbXBsZW1lbnRhdGlvbiwgaXQgd29ya3M6Cj4gPiA+PiBsdWEyd3gsIHd4Mmx1YS4KPiA+ ID4KPiA+ID4gUGxlYXNlIHNlZSB0aGlzIG1lc3NhZ2UKPiA+ID4gUmU6IFtXeGx1YS11c2Vyc10g d3hTdHJpbmcsIFVuaWNvZGUgcHJvYmxlbSAuLi4uIChGaXhlZCwpIFN0ZXZlIEtpZXUKPiA+ID4g aHR0cDovL3d3dy5tYWlsLWFyY2hpdmUuY29tL3d4bHVhLXVzZXJzQGxpc3RzLnNvdXJjZWZvcmdl Lm5ldC9pbmRleC5odG1sIzAwNjkyCj4gPiA+Cj4gPiA+IC8vIENvbnZlcnQgYSA4LWJpdCBMdWEg U3RyaW5nIGludG8gd3hTdHJpbmcKPiA+ID4gaW5saW5lIFdYRExMSU1QRVhQX1dYTFVBIHd4U3Ry aW5nIGx1YTJ3eChjb25zdCBjaGFyKiBsdWFzdHIpCj4gPiA+IHsKPiA+ID4gICAgIGlmIChsdWFz dHIgPT0gTlVMTCkgcmV0dXJuIHd4RW1wdHlTdHJpbmc7IC8vIGNoZWNrIGZvciBOVUxMCj4gPiA+ Cj4gPiA+ICNpZiB3eFVTRV9VTklDT0RFCj4gPiA+ICAgICByZXR1cm4gd3hTdHJpbmcobHVhc3Ry LCB3eENvbnZVVEY4KTsKPiA+ID4gI2Vsc2UKPiA+ID4gICAgIHJldHVybiB3eFN0cmluZyh3eENv bnZVVEY4LmNNQjJXQyhsdWFzdHIpLCAqd3hDb252Q3VycmVudCk7Cj4gPiA+ICNlbmRpZiAvLyB3 eFVTRV9VTklDT0RFCj4gPiA+Cj4gPiA+ICAgLy9yZXR1cm4gd3hDb252ZXJ0TUIyV1gobHVhc3Ry KTsgLy8gb2xkIHdheSB0aGF0IG1vc3RseSB3b3Jrcwo+ID4gPiB9Cj4gPiA+Cj4gPiA+IC8vIENv bnZlcnQgYSB3eFN0cmluZyB0byA4LWJpdCBMdWEgU3RyaW5nCj4gPiA+IGlubGluZSBjb25zdCBX WERMTElNUEVYUF9XWExVQSB3eENoYXJCdWZmZXIgd3gybHVhKGNvbnN0IHd4U3RyaW5nJiB3eHN0 cikKPiA+ID4gewo+ID4gPiAgICAgLy93eENoYXJCdWZmZXIgYnVmZmVyKHd4Q29udmVydFdYMk1C KHd4c3RyLmNfc3RyKCkpKTsgLy8gb2xkIHdheQo+ID4gPiB0aGF0IG1vc3RseSB3b3Jrcwo+ID4g PiAgICAgd3hDaGFyQnVmZmVyCj4gPiA+IGJ1ZmZlcih3eENvbnZVVEY4LmNXQzJNQih3eHN0ci53 Y19zdHIoKnd4Q29udkN1cnJlbnQpKSk7IC8vIHNraWV1Cj4gPiA+ICAgICByZXR1cm4gYnVmZmVy Owo+ID4gPiB9Cj4gPiA+Cj4gPiA+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQo+ID4gPgo+ID4KPiA+IElmIEknbSBub3QgbWlzdGFrZW4gc3RjIHVzZXMgVVRDMiBpbnRlcm5h bGx5LiBTbyB1c2luZyBzdGMncyBjb252ZXJzaW9uCj4gPiBmdW5jdGlvbnMgbWF5IG5vdCBoZWxw IGhlcmUuIEluc3RlYWQsIEkgdGVzdGVkIHVzaW5nIEZsYW1lUm9iaW4ncwo+ID4gKHd3dy5mbGFt ZXJvYmluLm9yZykgZnVuY3Rpb25zIGZyb20gU3RyaW5nVXRpbHMuaDsKPiA+IHN0ZDo6c3RyaW5n IHd4MnN0ZChjb25zdCB3eFN0cmluZyYgaW5wdXQsIHd4TUJDb252KiBjb252PXd4Q29udkN1cnJl bnQpOwo+ID4gd3hTdHJpbmcgc3RkMnd4KGNvbnN0IHN0ZDo6c3RyaW5nJiBpbnB1dCwgd3hNQkNv bnYqIGNvbnY9d3hDb252Q3VycmVudCk7Cj4KPiBIdW1tLCBpbnRlcmVzdGluZy4uLiBzZWUgYmVs b3cuCj4KPiA+IENoYW5nZWQgbHVhMnd4LCB3eDJsdWEgYW5kIHd4THVhQ2hhckJ1ZmZlcidzIGN0 b3IgYXMgZm9sbG93czoKPiA+Cj4gPiBpbmxpbmUgV1hETExJTVBFWFBfV1hMVUEgd3hTdHJpbmcg bHVhMnd4KGNvbnN0IGNoYXIqIGx1YXN0cikKPiA+IHsKPiA+ICAgICAgaWYgKGx1YXN0ciA9PSBO VUxMKSByZXR1cm4gd3hFbXB0eVN0cmluZzsgLy8gY2hlY2sgZm9yIE5VTEwKPiA+ICAgICAgcmV0 dXJuIHd4U3RyaW5nKGx1YXN0ciwgKnd4Q29udkN1cnJlbnQpOwo+ID4gfQo+Cj4gVGhlIG9sZCB3 YXkgb2YgZG9pbmcgdGhlIGNvbnZlcnNpb24gZGlkIGl0IHRoaXMgd2F5Lgo+Cj4gLy9yZXR1cm4g d3hDb252ZXJ0TUIyV1gobHVhc3RyKTsgLy8gb2xkIHdheSB0aGF0IG1vc3RseSB3b3Jrcwo+ICNk ZWZpbmUgd3hDb252ZXJ0TUIyV1gocykgICB3eENvbnZDdXJyZW50LT5jTUIyV1gocykKPgo+IFRo aXMgaXMgdGhlIGNvZGUgZm9yIHRoZSB3eFN0cmluZyBmdW5jdGlvbiB3aGljaCBkb2VzIHRoZSBz YW1lIGFzIHd4Q29udmVydE1CMldYCj4gd3hTdHJpbmc6Ond4U3RyaW5nKGNvbnN0IGNoYXIgKnBz eiwgY29uc3Qgd3hNQkNvbnYmIGNvbnYsIHNpemVfdCBuTGVuZ3RoKQo+IHsKPiAuLi4KPiAgICAg ICB3eFdDaGFyQnVmZmVyIHdidWYgPSBjb252LmNNQjJXQyhwc3osIG5MZW5ndGgsICZuTGVuV2lk ZSk7Cj4KPiA9PT09PT09PT09PT09PT09PT0KPiBJIHNlZSB0aGF0IHdlIGhhdmUgMyBkaWZmZXJl bnQgd2F5cyB0byBjb252ZXJ0IHRoZSBzdHJpbmdzLiBXaGljaCB3YXkKPiBpcyAicmlnaHQiIGZv ciBhbGwgY2FzZXMuCj4KPiAxKSBkb2Vzbid0IHdvcmsgZm9yIHNvbWUgdW5rbm93biBjYXNlcwo+ ICAgICB3eENvbnZlcnRNQjJXWCA9PSB3eENvbnZDdXJyZW50LT5jTUIyV1gocykgPT0KPiB3eENv bnZDdXJyZW50LT5jTUIyV0MKPgo+IDIpIERvZXNuJ3Qgd29yayBmb3IgVHVya2lzaCAoYW5kIHVu ZG91YnRlZGx5IG90aGVycykKPiAjaWYgd3hVU0VfVU5JQ09ERQo+ICAgICByZXR1cm4gd3hTdHJp bmcobHVhc3RyLCB3eENvbnZVVEY4KTsKPiAjZWxzZQo+ICAgICByZXR1cm4gd3hTdHJpbmcod3hD b252VVRGOC5jTUIyV0MobHVhc3RyKSwgKnd4Q29udkN1cnJlbnQpOwo+ICNlbmRpZiAvLyB3eFVT RV9VTklDT0RFCj4KPiAzKSBuZXc/IHdvcmtzPwo+ICAgICB3eFN0cmluZyhsdWFzdHIsICp3eENv bnZDdXJyZW50KTsgPT0KPiAgICAgd3hXQ2hhckJ1ZmZlciB3YnVmID0gY29udi5jTUIyV0MocHN6 LCBuTGVuZ3RoLCAmbkxlbldpZGUpOwo+Cj4KPiBUaGUgZGlmZmVyZW5jZXMgSSBzZWUgaXMgdGhh dAoKT29wcywgbWVzc2FnZSBnb3Qgc2VudCB3aGVuIEkgcHJlc3NlZCBzb21lIGtleXMgYnkgYWNj aWRlbnQuCgpTbyAjMSA9PSAjMyBhbmQgIzIgdXNlcyB3eENvbnZVVEY4IGluc3RlYWQgb2Ygd3hD b252Q3VycmVudC4KCkkga25vdyB0aGF0IHd4VVNFX1VOSUNPREUgdXNlcyB3Y2hhcl90Cnd4Q29u dkN1cnJlbnQgPT0gICZ3eENvbnZMaWJjT2JqID09CiAgICAjaWZkZWYgX19XSU5ET1dTX18KICAg ICAgICBzdGF0aWMgd3hNQkNvbnZfd2luMzIgd3hDb252TGliY09iajsKICAgICNlbGlmIGRlZmlu ZWQoX19XWE1BQ19fKSAmJiAhZGVmaW5lZChfX01BQ0hfXykKICAgICAgICBzdGF0aWMgd3hNQkNv bnZfbWFjIHd4Q29udkxpYmNPYmogOwogICAgI2Vsc2UKICAgICAgICBzdGF0aWMgd3hNQkNvbnZM aWJjIHd4Q29udkxpYmNPYmo7CiAgICAjZW5kaWYKCkkgdGhpbmsgd2UgbmVlZCB0byBoYXZlIGFu c3dlcnMgdG8gdGhlc2UgcXVlc3Rpb25zLgoKSG93IGRvIHlvdSBrbm93IGlmIHlvdSdyZSB1c2lu ZyBVVEY4PwpIb3cgZG8geW91IHNldCB3eFdpZGdldHMgdG8gdXNlIG9yIG5vdCB1c2UgVVRGOCBp ZiB5b3Ugd2FudCB0bz8KSWYgeW91IGdldCB0ZXh0IGZyb20gdGhlIGNsaXBib2FyZCwgY2FuIGl0 IGJlIGluIFVURjg/CgphbmQgZmluYWxseSwgaXMgd3hDb252Q3VycmVudCBzdXBwb3NlZCB0byBo YW5kbGUgVVRGOCBhcyBpcz8KCkkgcGVyc29uYWxseSBkb24ndCBoYXZlIGFueSBpZGVhIGFuZCB3 b3VsZCBuYWl2ZWx5IHRoaW5rIHRoYXQKd3hDb252Q3VycmVudCBpbnN0ZWFkIG9mIHd4Q29udlVU RjggaXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvLgo= |