From: <mar...@gm...> - 2006-04-12 13:06:05
|
SSBzd2l0Y2hlZCBiYWNrIHRvIG1pbmd3IHdpdGggMy40LjQgZ2NjIGFuZCB0cmllZCB0byBjb21w aWxlIGFyY2ggaGVhZAp3aXRoIGFsbCB5b3VyIHBhdGNoZXMsIGJ1dCB3aXRoIG5vIHN1Y2Nlc3Mu CkkgYWRkZWQgc29tZSBkZWJ1ZyBvdXRwdXQgdG8gb3NfdmFsaWRhdGUgZnVuY3Rpb24gdG8gdHJh Y2sgaXRzCmV4ZWN1dGlvbi4gSXQgbm93IGxvb2tzIGxpa2U6Cgpvc192bV9hZGRyZXNzX3QKb3Nf dmFsaWRhdGUob3Nfdm1fYWRkcmVzc190IGFkZHIsIG9zX3ZtX3NpemVfdCBsZW4sIGludCBmaXhl ZHApCnsKCWZwcmludGYoc3RkZXJyLCIqKioqKipcbiIpOwoJZnByaW50ZihzdGRlcnIsImFkZHIg PSAlZFxuIiwgYWRkcik7CglmcHJpbnRmKHN0ZGVyciwibGVuID0gJWRcbiIsIGxlbik7CglmcHJp bnRmKHN0ZGVyciwiZml4ZWRwID0gJWRcbiIsIGZpeGVkcCk7CgkKICAgIE1FTU9SWV9CQVNJQ19J TkZPUk1BVElPTiBtZW1faW5mbzsKCiAgICBpZiAoIWFkZHIpIHsKICAgICAgIAlmcHJpbnRmKHN0 ZGVyciwibWtiZy0+MVxuIik7CiAgICAgICAgLyogdGhlIHNpbXBsZSBjYXNlIGZpcnN0ICovCiAg ICAgICAgb3Nfdm1fYWRkcmVzc190IHJlYWxfYWRkcjsKICAgICAgICBpZiAoIShyZWFsX2FkZHIg PSBWaXJ0dWFsQWxsb2MoYWRkciwgbGVuLCBNRU1fQ09NTUlULApQQUdFX0VYRUNVVEVfUkVBRFdS SVRFKSkpIHsKCSAgICAgICAJZnByaW50ZihzdGRlcnIsIm1rYmctPjJcbiIpOwoJICAgICAgIAlm cHJpbnRmKHN0ZGVyciwibWtiZy0+R2V0TGFzdEVycm9yKCk9JWRcbiIsIEdldExhc3RFcnJvcigp KTsKICAgICAgICAgICAgcGVycm9yKCJWaXJ0dWFsQWxsb2MiKTsKICAgICAgICAgICAgcmV0dXJu IDA7CiAgICAgICAgfQogICAgICAgCWZwcmludGYoc3RkZXJyLCJta2JnLT4zXG4iKTsKICAgICAg ICByZXR1cm4gcmVhbF9hZGRyOwogICAgfQogICAgZnByaW50ZihzdGRlcnIsInByaW50Zi0+NFxu Iik7CgogICAgaWYgKCFWaXJ0dWFsUXVlcnkoYWRkciwgJm1lbV9pbmZvLCBzaXplb2YgbWVtX2lu Zm8pKSB7CiAgICAJZnByaW50ZihzdGRlcnIsIm1rYmctPjVcbiIpOwogICAgICAgIHBlcnJvcigi VmlydHVhbFF1ZXJ5Iik7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CiAgICBmcHJpbnRmKHN0ZGVy ciwibWtiZy0+NlxuIik7CgogICAgaWYgKChtZW1faW5mby5TdGF0ZSA9PSBNRU1fUkVTRVJWRSkg JiYgKG1lbV9pbmZvLlJlZ2lvblNpemUKPj1sZW4pKSByZXR1cm4gYWRkcjsKICAgIGZwcmludGYo c3RkZXJyLCJta2JnLT43XG4iKTsKCiAgICBpZiAobWVtX2luZm8uU3RhdGUgPT0gTUVNX1JFU0VS VkUpIHsKICAgIAlmcHJpbnRmKHN0ZGVyciwibWtiZy0+OFxuIik7CiAgICAgICAgZnByaW50Zihz dGRlcnIsICJ2YWxpZGF0aW9uIG9mIHJlc2VydmVkIHNwYWNlIHRvbyBzaG9ydC5cbiIpOwogICAg ICAgIGZmbHVzaChzdGRlcnIpOwogICAgfQogICAgZnByaW50ZihzdGRlcnIsIm1rYmctPjlcbiIp OwoKICAgIGlmICghVmlydHVhbEFsbG9jKGFkZHIsIGxlbiwgKG1lbV9pbmZvLlN0YXRlID09IE1F TV9SRVNFUlZFKT8KTUVNX0NPTU1JVDogTUVNX1JFU0VSVkUsIFBBR0VfRVhFQ1VURV9SRUFEV1JJ VEUpKSB7CiAgICAJZnByaW50ZihzdGRlcnIsIm1rYmctPjEwXG4iKTsKICAgICAgICBwZXJyb3Io IlZpcnR1YWxBbGxvYyIpOwogICAgICAgIGlmIChmaXhlZHApIHsKICAgICAgICAJZnByaW50Zihz dGRlcnIsIm1rYmctPjExXG4iKTsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfSBlbHNl IHsKICAgICAgICAJZnByaW50ZihzdGRlcnIsIm1rYmctPjEyXG4iKTsKICAgICAgICAgICAgcmV0 dXJuIG9zX3ZhbGlkYXRlKDAsIGxlbiwgMCk7CiAgICAgICAgfQogICAgfQogICAgZnByaW50Zihz dGRlcnIsIm1rYmctPjEzXG4iKTsKCiAgICByZXR1cm4gYWRkcjsKfQoKT3V0cHV0IGZyb20gbWFr ZSB0YXJyZ2V0IDIgaXMgYXMgZm9sbG93czoKLy9lbnRlcmluZyBtYWtlLXRhcmdldC0yLnNoCi8v ZG9pbmcgd2FybSBpbml0ClZpcnR1YWxBbGxvYzogTm8gZXJyb3IKVmlydHVhbEFsbG9jOiBObyBl cnJvcgoqKioqKioKYWRkciA9IDMzNTU0NDMyCmxlbiA9IDQxOTM4OTQ0CmZpeGVkcCA9IDEKcHJp bnRmLT40Cm1rYmctPjYKbWtiZy0+Nwpta2JnLT45Cm1rYmctPjEzCioqKioqKgphZGRyID0gODM4 ODYwODAKbGVuID0gNTAzMjc1NTIKZml4ZWRwID0gMQpwcmludGYtPjQKbWtiZy0+Ngpta2JnLT43 Cm1rYmctPjkKbWtiZy0+MTMKKioqKioqCmFkZHIgPSA4MDUzMDYzNjgKbGVuID0gMjY4NDM1NDU2 CmZpeGVkcCA9IDEKcHJpbnRmLT40Cm1rYmctPjYKbWtiZy0+Nwpta2JnLT45Cm1rYmctPjEzCioq KioqKgphZGRyID0gMTUwOTk0OTQ0CmxlbiA9IDUzNjg3MDkxMgpmaXhlZHAgPSAwCnByaW50Zi0+ NApta2JnLT42Cm1rYmctPjcKbWtiZy0+OQpta2JnLT4xMApta2JnLT4xMgoqKioqKioKYWRkciA9 IDAKbGVuID0gNTM2ODcwOTEyCmZpeGVkcCA9IDAKbWtiZy0+MQpta2JnLT4yCm1rYmctPkdldExh c3RFcnJvcigpPTgKZmF0YWwgZXJyb3IgZW5jb3VudGVyZWQgaW4gU0JDTCBwaWQgMzUwNDoKZmFp bGVkIHRvIHZhbGlkYXRlIGR5bmFtaWMgc3BhY2UKCmVycm9yIDggcmV0dXJuZWQgaW4gbGFzdCBj YXNlIGlkICJub3QgZW5vdWdoIG1lbW9yeSIuCg== |