From: =?utf-8?Q?<ra...@li...> - 2002-09-11 09:38:52
|
aGksDQppIGhhdmUgbW9kaWZpZWQgTmljaydzIGNsYXNzIE11bHRpT2JqZWN0MkREaXNwbGF5 DQoNCnNvIG5vdyBpbiBhIHNpbmdsZSBjZWxsIGFsbCBvYmplY3RzIGFyZSBkaXNwbGF5ZWQN Cg0KIA0KDQogIHB1YmxpYyB2b2lkIGRyYXdEaXNwbGF5KFNpbUdyYXBoaWNzIGcpIHsNCiAg ICBpZiAoIXZpZXcpIHsNCiAgICAgIHJldHVybjsNCiAgICB9DQogICAgaW50IHhUcmFucyA9 IERpc3BsYXlDb25zdGFudHMuQ0VMTF9XSURUSDsNCiAgICBpbnQgeVRyYW5zID0gRGlzcGxh eUNvbnN0YW50cy5DRUxMX0hFSUdIVDsNCiAgICAvLyB3aXRob3V0IHN5bmNocm9uaXphdGlv biBnZXQgbG90cyBvZiBjb25jdXJyZW50IG1vZGlmaWNhdGlvbiBlcnJvcnMuDQogICAgRHJh d2FibGUgZCA9IG51bGw7DQogICAgaWYgKG9iakxpc3QgPT0gbnVsbCkgew0KICAgICAgSU11 bHRpMkRHcmlkIG1HcmlkID0gKElNdWx0aTJER3JpZClncmlkOw0KICAgICAgc3luY2hyb25p emVkIChtR3JpZCkgew0KCWludCB4U2l6ZSA9IG1HcmlkLmdldFNpemVYKCk7DQoJaW50IHlT aXplID0gbUdyaWQuZ2V0U2l6ZVkoKTsNCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCB4 U2l6ZTsgaSsrKSB7DQogICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCB5U2l6ZTsgaisr KSB7DQoJICAgIGlmIChtR3JpZC5nZXRDZWxsU2l6ZUF0KGksIGopID4gMCkgew0KCSAgICAg IExpc3QgbCA9IG1HcmlkLmdldE9iamVjdHNBdChpLCBqKTsNCgkgICAgICBpbnQgbk9iaiA9 IGwuc2l6ZSgpOw0KCQkJCWludCBlZGdlID0gMTsNCgkJCQlpZiAoIG5PYmogPiAxICkgLy9s b29rIGZvciBhIHNxdWFyZV4yDQoJCQkJCWZvciAoZWRnZT0yOyBuT2JqID4gKGVkZ2UqZWRn ZSkgOyBlZGdlKyspOw0KCSAgICAgIGludCBlbEhlaWdodCA9IHlUcmFucyAvIGVkZ2U7DQoJ CQkJaW50IGVsV2lkdGggPSB4VHJhbnMgLyBlZGdlOw0KCSAgICAgIGZvciAoaW50IGNPYmo9 MDsgY09iaiA8IG5PYmo7IGNPYmorKykgew0KCSAgICAgIAlkID0gKERyYXdhYmxlKWwuZ2V0 KGNPYmopOw0KICAJDQoJCWcuc2V0RHJhd2luZ1BhcmFtZXRlcnMoIGVsV2lkdGgsIGVsSGVp Z2h0LCBEaXNwbGF5Q29uc3RhbnRzLkNFTExfREVQVEgpOw0KICAgIAkJZy5zZXREcmF3aW5n Q29vcmRpbmF0ZXMoKGkgKiB4VHJhbnMpICsgKChjT2JqJWVkZ2UpKmVsV2lkdGgpLCAoaiAq DQp5VHJhbnMpICsgKChjT2JqL2VkZ2UpKmVsSGVpZ2h0KSAsIDApOw0KCSAgICAgICAgICBk LmRyYXcoZyk7DQoJICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAg ICAgfQ0KICAgICAgfQ0KICAgIH0gZWxzZSB7DQogICAgICBBcnJheUxpc3QgdDsNCiAgICAg IHN5bmNocm9uaXplZChvYmpMaXN0KSB7DQogICAgICAgIHQgPSAoQXJyYXlMaXN0KW9iakxp c3QuY2xvbmUoKTsNCiAgICAgIH0NCiAgICAgIExpc3RJdGVyYXRvciBsaSA9IHQubGlzdEl0 ZXJhdG9yKCk7DQogICAgICB3aGlsZSAobGkuaGFzTmV4dCgpKSB7DQogICAgICAgIGQgPSAo RHJhd2FibGUpbGkubmV4dCgpOw0KICAgICAgICBnLnNldERyYXdpbmdDb29yZGluYXRlcyhk LmdldFgoKSAqIHhUcmFucywgZC5nZXRZKCkgKiB5VHJhbnMsIDApOw0KICAgICAgICBkLmRy YXcoZyk7DQogICAgICB9DQogICAgfQ0KCX0gDQoNCg0KYnkgUi5KLlAuQi4= |