From: marko.makela Date: June 9 2011 10:31am Subject: bzr commit into mysql-5.1 branch (marko.makela:3639) Bug#12612184 List-Archive: http://lists.mysql.com/commits/138935 X-Bug: 12612184 Message-Id: <201106091031.p59AVtZi022747@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0629524915==" --===============0629524915== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline I0F0IGZpbGU6Ly8vaG9tZS9tYXJrby9pbm5vYmFzZS9kZXYvbXlzcWwyYS9teXNxbC01LjEvIGJh c2VkIG9uIHJldmlkOnJhbWlsQG15c3FsLmNvbS0yMDExMDYwNzE1MzA0My02bm1mZW96NmZndHI5 MWc0CgogMzYzOSBNYXJrbyBNw6RrZWzDpAkyMDExLTA2LTA5CiAgICAgIEJMT0IgaW5zdHJ1bWVu dGF0aW9uIGZvciBCdWcjMTI2MTIxODQgUmFjZSBjb25kaXRpb24gaW4gcm93X3VwZF9jbHVzdF9y ZWMoKQogICAgICAKICAgICAgSWYgVU5JVl9ERUJVRyBvciBVTklWX0JMT0JfTElHSFRfREVCVUcg aXMgZW5hYmxlZCwgYWRkCiAgICAgICFyZWNfb2Zmc19hbnlfbnVsbF9leHRlcm4oKSBhc3NlcnRp b25zLCBlbnN1cmluZyB0aGF0IHJlY29yZHMgZG8gbm90CiAgICAgIGNvbnRhaW4gbnVsbCBwb2lu dGVycyB0byBleHRlcm5hbGx5IHN0b3JlZCBjb2x1bW5zIGluIGluYXBwcm9wcmlhdGUKICAgICAg cGxhY2VzLgogICAgICAKICAgICAgYnRyX2N1cl9vcHRpbWlzdGljX3VwZGF0ZSgpOiBBc3NlcnQg IXJlY19vZmZzX2FueV9udWxsX2V4dGVybigpLgogICAgICBJbmNvbXBsZXRlIHJlY29yZHMgbXVz dCBuZXZlciBiZSB1cGRhdGVkIG9yIGRlbGV0ZWQuIFRoaXMgYXNzZXJ0aW9uCiAgICAgIHdpbGwg Y292ZXIgYWxzbyB0aGUgcGVzc2ltaXN0aWMgcm91dGUuCiAgICAgIAogICAgICByb3dfYnVpbGQo KTogQXNzZXJ0ICFyZWNfb2Zmc19hbnlfbnVsbF9leHRlcm4oKS4gU2VhcmNoIHR1cGxlcyBtdXN0 CiAgICAgIG5ldmVyIGJlIGJ1aWx0IGZyb20gaW5jb21wbGV0ZSBpbmRleCBlbnRyaWVzLgogICAg ICAKICAgICAgcm93X3JlY190b19pbmRleF9lbnRyeSgpOiBBc3NlcnQgIXJlY19vZmZzX2FueV9u dWxsX2V4dGVybigpIHVubGVzcwogICAgICBST1dfQ09QWV9EQVRBIGlzIHJlcXVlc3RlZC4gUk9X X0NPUFlfREFUQSBpcyB1c2VkIGZvcgogICAgICBtdWx0aS12ZXJzaW9uaW5nLCBhbmQgdGhlcmVm b3JlIGl0IG1pZ2h0IGJlIHZhbGlkIHRvIGNvcHkgdGhlIG1vc3QKICAgICAgcmVjZW50ICh1bmNv bW1pdHRlZCkgdmVyc2lvbiB3aGlsZSBpdCBjb250YWlucyBhIG51bGwgcG9pbnRlciB0bwogICAg ICBvZmYtcGFnZSBjb2x1bW5zLgogICAgICAKICAgICAgcm93X3ZlcnNfYnVpbGRfZm9yX2NvbnNp c3RlbnRfcmVhZCgpLAogICAgICByb3dfdmVyc19idWlsZF9mb3Jfc2VtaV9jb25zaXN0ZW50X3Jl YWQoKTogQXNzZXJ0ICFyZWNfb2Zmc19hbnlfbnVsbF9leHRlcm4oKQogICAgICBvbiBhbGwgdmVy c2lvbnMgZXhjZXB0IHRoZSBtb3N0IHJlY2VudCBvbmUuCiAgICAgIAogICAgICB0cnhfdW5kb19w cmV2X3ZlcnNpb25fYnVpbGQoKTogQXNzZXJ0ICFyZWNfb2Zmc19hbnlfbnVsbF9leHRlcm4oKSBv bgogICAgICB0aGUgcHJldmlvdXMgdmVyc2lvbi4KICAgICAgCiAgICAgIHJiOjY4MiBhcHByb3Zl ZCBieSBTdW5ueSBCYWlucwoKICAgIG1vZGlmaWVkOgogICAgICBzdG9yYWdlL2lubm9iYXNlL2J0 ci9idHIwY3VyLmMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2J0cjB0eXBlcy5oCiAg ICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9yZW0wcmVjLmgKICAgICAgc3RvcmFnZS9pbm5v YmFzZS9pbmNsdWRlL3JlbTByZWMuaWMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3Vu aXYuaQogICAgICBzdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwcm93LmMKICAgICAgc3RvcmFnZS9p bm5vYmFzZS9yb3cvcm93MHZlcnMuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL3RyeC90cngwcmVj LmMKICAgICAgc3RvcmFnZS9pbm5vZGJfcGx1Z2luL0NoYW5nZUxvZwogICAgICBzdG9yYWdlL2lu bm9kYl9wbHVnaW4vYnRyL2J0cjBjdXIuYwogICAgICBzdG9yYWdlL2lubm9kYl9wbHVnaW4vaW5j bHVkZS9yZW0wcmVjLmgKICAgICAgc3RvcmFnZS9pbm5vZGJfcGx1Z2luL2luY2x1ZGUvcmVtMHJl Yy5pYwogICAgICBzdG9yYWdlL2lubm9kYl9wbHVnaW4vcm93L3JvdzByb3cuYwogICAgICBzdG9y YWdlL2lubm9kYl9wbHVnaW4vcm93L3JvdzB2ZXJzLmMKICAgICAgc3RvcmFnZS9pbm5vZGJfcGx1 Z2luL3RyeC90cngwcmVjLmMKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvYnRy L2J0cjBjdXIuYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9idHIvYnRyMGN1ci5jCXJldmlkOnJh bWlsQG15c3FsLmNvbS0yMDExMDYwNzE1MzA0My02bm1mZW96NmZndHI5MWc0CisrKyBiL3N0b3Jh Z2UvaW5ub2Jhc2UvYnRyL2J0cjBjdXIuYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0y MDExMDYwOTEwMzExNS1yaGZ3eHRteWVkY3A1aWw2CkBAIC03Myw2ICs3MywxMyBAQCB0aGlzIG1h bnkgaW5kZXggcGFnZXMgKi8KIAkgICsgbm90X2VtcHR5KQkJCQkJCQlcCiAJIC8gKEJUUl9LRVlf VkFMX0VTVElNQVRFX05fUEFHRVMgKyBleHRfc2l6ZSkpCiAKKyNpZiBkZWZpbmVkIFVOSVZfREVC VUcgfHwgZGVmaW5lZCBVTklWX0JMT0JfTElHSFRfREVCVUcKKy8qIEEgQkxPQiBmaWVsZCByZWZl cmVuY2UgZnVsbCBvZiB6ZXJvLCBmb3IgdXNlIGluIGFzc2VydGlvbnMgYW5kIHRlc3RzLgorSW5p dGlhbGx5LCBCTE9CIGZpZWxkIHJlZmVyZW5jZXMgYXJlIHNldCB0byB6ZXJvLCBpbgorZHR1cGxl X2NvbnZlcnRfYmlnX3JlYygpLiAqLworY29uc3QgYnl0ZSBmaWVsZF9yZWZfemVyb1tCVFJfRVhU RVJOX0ZJRUxEX1JFRl9TSVpFXTsKKyNlbmRpZiAvKiBVTklWX0RFQlVHIHx8IFVOSVZfQkxPQl9M SUdIVF9ERUJVRyAqLworCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIE1hcmtzIGFsbCBleHRlcm4gZmllbGRz IGluIGEgcmVjb3JkIGFzIG93bmVkIGJ5IHRoZSByZWNvcmQuIFRoaXMgZnVuY3Rpb24KIHNob3Vs ZCBiZSBjYWxsZWQgaWYgdGhlIGRlbGV0ZSBtYXJrIG9mIGEgcmVjb3JkIGlzIHJlbW92ZWQ6IGEg bm90IGRlbGV0ZQpAQCAtMTU4NSw2ICsxNTkyLDkgQEAgYnRyX2N1cl9vcHRpbWlzdGljX3VwZGF0 ZSgKIAogCWhlYXAgPSBtZW1faGVhcF9jcmVhdGUoMTAyNCk7CiAJb2Zmc2V0cyA9IHJlY19nZXRf b2Zmc2V0cyhyZWMsIGluZGV4LCBOVUxMLCBVTElOVF9VTkRFRklORUQsICZoZWFwKTsKKyNpZiBk ZWZpbmVkIFVOSVZfREVCVUcgfHwgZGVmaW5lZCBVTklWX0JMT0JfTElHSFRfREVCVUcKKwl1dF9h KCFyZWNfb2Zmc19hbnlfbnVsbF9leHRlcm4ocmVjLCBvZmZzZXRzKSk7CisjZW5kaWYgLyogVU5J Vl9ERUJVRyB8fCBVTklWX0JMT0JfTElHSFRfREVCVUcgKi8KIAogI2lmZGVmIFVOSVZfREVCVUcK IAlpZiAoYnRyX2N1cl9wcmludF9yZWNvcmRfb3BzICYmIHRocikgewoKPT09IG1vZGlmaWVkIGZp bGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9idHIwdHlwZXMuaCcKLS0tIGEvc3RvcmFnZS9p bm5vYmFzZS9pbmNsdWRlL2J0cjB0eXBlcy5oCXJldmlkOnJhbWlsQG15c3FsLmNvbS0yMDExMDYw NzE1MzA0My02bm1mZW96NmZndHI5MWc0CisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9i dHIwdHlwZXMuaAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDExMDYwOTEwMzExNS1y aGZ3eHRteWVkY3A1aWw2CkBAIC0xOCw0ICsxOCw5IEBAIHR5cGVkZWYgc3RydWN0IGJ0cl9wY3Vy X3N0cnVjdAkJYnRyX3BjdXIKIHR5cGVkZWYgc3RydWN0IGJ0cl9jdXJfc3RydWN0CQlidHJfY3Vy X3Q7CiB0eXBlZGVmIHN0cnVjdCBidHJfc2VhcmNoX3N0cnVjdAlidHJfc2VhcmNoX3Q7CiAKKyNp ZiBkZWZpbmVkIFVOSVZfREVCVUcgfHwgZGVmaW5lZCBVTklWX0JMT0JfTElHSFRfREVCVUcKKyNk ZWZpbmUgQlRSX0VYVEVSTl9GSUVMRF9SRUZfU0laRQkyMAorZXh0ZXJuIGNvbnN0IGJ5dGUgZmll bGRfcmVmX3plcm9bQlRSX0VYVEVSTl9GSUVMRF9SRUZfU0laRV07CisjZW5kaWYgLyogVU5JVl9E RUJVRyB8fCBVTklWX0JMT0JfTElHSFRfREVCVUcgKi8KKwogI2VuZGlmCgo9PT0gbW9kaWZpZWQg ZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3JlbTByZWMuaCcKLS0tIGEvc3RvcmFnZS9p bm5vYmFzZS9pbmNsdWRlL3JlbTByZWMuaAlyZXZpZDpyYW1pbEBteXNxbC5jb20tMjAxMTA2MDcx NTMwNDMtNm5tZmVvejZmZ3RyOTFnNAorKysgYi9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvcmVt MHJlYy5oCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTEwNjA5MTAzMTE1LXJoZnd4 dG15ZWRjcDVpbDYKQEAgLTMzOSw2ICszMzksMTkgQEAgcmVjX29mZnNfYW55X2V4dGVybigKIC8q PT09PT09PT09PT09PT09PSovCiAJCQkJLyogb3V0OiBUUlVFIGlmIGEgZmllbGQgaXMgc3RvcmVk IGV4dGVybmFsbHkgKi8KIAljb25zdCB1bGludCoJb2Zmc2V0cyk7LyogaW46IGFycmF5IHJldHVy bmVkIGJ5IHJlY19nZXRfb2Zmc2V0cygpICovCisjaWYgZGVmaW5lZCBVTklWX0RFQlVHIHx8IGRl ZmluZWQgVU5JVl9CTE9CX0xJR0hUX0RFQlVHCisvKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK0RldGVybWluZSBpZiB0aGUgb2Zmc2V0cyBh cmUgZm9yIGEgcmVjb3JkIGNvbnRhaW5pbmcgbnVsbCBCTE9CIHBvaW50ZXJzLiAqLworVU5JVl9J TkxJTkUKK2NvbnN0IGJ5dGUqCityZWNfb2Zmc19hbnlfbnVsbF9leHRlcm4oCisvKj09PT09PT09 PT09PT09PT09PT09PSovCisJCQkJCS8qIG91dDogZmlyc3QgZmllbGQgY29udGFpbmluZworCQkJ CQlhIG51bGwgQkxPQiBwb2ludGVyLAorCQkJCQlvciBOVUxMIGlmIG5vbmUgZm91bmQgKi8KKwly ZWNfdCoJCXJlYywJCS8qITwgaW46IHJlY29yZCAqLworCWNvbnN0IHVsaW50KglvZmZzZXRzKTsJ LyohPCBpbjogcmVjX2dldF9vZmZzZXRzKHJlYykgKi8KKyNlbmRpZiAvKiBVTklWX0RFQlVHIHx8 IFVOSVZfQkxPQl9MSUdIVF9ERUJVRyAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogU2V0cyB0aGUgdmFsdWUgb2YgdGhl IGl0aCBmaWVsZCBleHRlcm4gc3RvcmFnZSBiaXQuICovCiBVTklWX0lOTElORQoKPT09IG1vZGlm aWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9yZW0wcmVjLmljJwotLS0gYS9zdG9y YWdlL2lubm9iYXNlL2luY2x1ZGUvcmVtMHJlYy5pYwlyZXZpZDpyYW1pbEBteXNxbC5jb20tMjAx MTA2MDcxNTMwNDMtNm5tZmVvejZmZ3RyOTFnNAorKysgYi9zdG9yYWdlL2lubm9iYXNlL2luY2x1 ZGUvcmVtMHJlYy5pYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDExMDYwOTEwMzEx NS1yaGZ3eHRteWVkY3A1aWw2CkBAIC05LDYgKzksNyBAQCBDcmVhdGVkIDUvMzAvMTk5NCBIZWlr a2kgVHV1cmkKICNpbmNsdWRlICJtYWNoMGRhdGEuaCIKICNpbmNsdWRlICJ1dDBieXRlLmgiCiAj aW5jbHVkZSAiZGljdDBkaWN0LmgiCisjaW5jbHVkZSAiYnRyMHR5cGVzLmgiCiAKIC8qIENvbXBh Y3QgZmxhZyBPUmVkIHRvIHRoZSBleHRyYSBzaXplIHJldHVybmVkIGJ5IHJlY19nZXRfb2Zmc2V0 cygpICovCiAjZGVmaW5lIFJFQ19PRkZTX0NPTVBBQ1QJKCh1bGludCkgMSA8PCAzMSkKQEAgLTEw MjAsNiArMTAyMSw0MiBAQCByZWNfb2Zmc19hbnlfZXh0ZXJuKAogCXJldHVybihGQUxTRSk7CiB9 CiAKKyNpZiBkZWZpbmVkIFVOSVZfREVCVUcgfHwgZGVmaW5lZCBVTklWX0JMT0JfTElHSFRfREVC VUcKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKgorRGV0ZXJtaW5lIGlmIHRoZSBvZmZzZXRzIGFyZSBmb3IgYSByZWNvcmQgY29udGFpbmlu ZyBudWxsIEJMT0IgcG9pbnRlcnMuICovCitVTklWX0lOTElORQorY29uc3QgYnl0ZSoKK3JlY19v ZmZzX2FueV9udWxsX2V4dGVybigKKy8qPT09PT09PT09PT09PT09PT09PT09Ki8KKwkJCQkJLyog b3V0OiBmaXJzdCBmaWVsZCBjb250YWluaW5nCisJCQkJCWEgbnVsbCBCTE9CIHBvaW50ZXIsCisJ CQkJCW9yIE5VTEwgaWYgbm9uZSBmb3VuZCAqLworCXJlY190KgkJcmVjLAkJLyohPCBpbjogcmVj b3JkICovCisJY29uc3QgdWxpbnQqCW9mZnNldHMpCS8qITwgaW46IHJlY19nZXRfb2Zmc2V0cyhy ZWMpICovCit7CisJdWxpbnQJaTsKKwl1dF9hZChyZWNfb2Zmc192YWxpZGF0ZShyZWMsIE5VTEws IG9mZnNldHMpKTsKKworCWZvciAoaSA9IDA7IGkgPCByZWNfb2Zmc19uX2ZpZWxkcyhvZmZzZXRz KTsgaSsrKSB7CisJCWlmIChyZWNfb2Zmc19udGhfZXh0ZXJuKG9mZnNldHMsIGkpKSB7CisJCQl1 bGludAkJbGVuOworCQkJY29uc3QgYnl0ZSoJZmllbGQKKwkJCQk9IHJlY19nZXRfbnRoX2ZpZWxk KHJlYywgb2Zmc2V0cywgaSwgJmxlbik7CisKKwkJCXV0X2EobGVuID49IEJUUl9FWFRFUk5fRklF TERfUkVGX1NJWkUpOworCQkJaWYgKCFtZW1jbXAoZmllbGQgKyBsZW4KKwkJCQkgICAgLSBCVFJf RVhURVJOX0ZJRUxEX1JFRl9TSVpFLAorCQkJCSAgICBmaWVsZF9yZWZfemVybywKKwkJCQkgICAg QlRSX0VYVEVSTl9GSUVMRF9SRUZfU0laRSkpIHsKKwkJCQlyZXR1cm4oZmllbGQpOworCQkJfQor CQl9CisJfQorCisJcmV0dXJuKE5VTEwpOworfQorI2VuZGlmIC8qIFVOSVZfREVCVUcgfHwgVU5J Vl9CTE9CX0xJR0hUX0RFQlVHICovCisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIFNldHMgdGhlIHZhbHVlIG9mIHRoZSBp dGggZmllbGQgZXh0ZXJuIHN0b3JhZ2UgYml0LiAqLwogVU5JVl9JTkxJTkUKCj09PSBtb2RpZmll ZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvdW5pdi5pJwotLS0gYS9zdG9yYWdlL2lu bm9iYXNlL2luY2x1ZGUvdW5pdi5pCXJldmlkOnJhbWlsQG15c3FsLmNvbS0yMDExMDYwNzE1MzA0 My02bm1mZW96NmZndHI5MWc0CisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS91bml2LmkJ cmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTA2MDkxMDMxMTUtcmhmd3h0bXllZGNw NWlsNgpAQCAtODgsNiArODgsOCBAQCBtZW1vcnkgaXMgcmVhZCBvdXRzaWRlIHRoZSBhbGxvY2F0 ZWQgYmxvCiAjaWYgMAogI2RlZmluZSBVTklWX0RFQlVHX1ZBTEdSSU5ECQkJLyogRW5hYmxlIGV4 dHJhCiAJCQkJCQlWYWxncmluZCBpbnN0cnVtZW50YXRpb24gKi8KKyNkZWZpbmUgVU5JVl9CTE9C X0xJR0hUX0RFQlVHCQkJLyogRW5hYmxlIG9mZi1wYWdlIGNvbHVtbgorCQkJCQkJZGVidWdnaW5n IHdpdGhvdXQgVU5JVl9ERUJVRyAqLwogI2RlZmluZSBVTklWX0RFQlVHCQkJCS8qIEVuYWJsZSB1 dF9hZCgpIGFzc2VydGlvbnMgKi8KICNkZWZpbmUgVU5JVl9MSVNUX0RFQlVHCQkJCS8qIGRlYnVn IFVUX0xJU1RfIG1hY3JvcyAqLwogI2RlZmluZSBVTklWX01FTV9ERUJVRwkJCQkvKiBkZXRlY3Qg bWVtb3J5IGxlYWtzIGV0YyAqLwoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2Uv cm93L3JvdzByb3cuYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHJvdy5jCXJldmlk OnJhbWlsQG15c3FsLmNvbS0yMDExMDYwNzE1MzA0My02bm1mZW96NmZndHI5MWc0CisrKyBiL3N0 b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzByb3cuYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNv bS0yMDExMDYwOTEwMzExNS1yaGZ3eHRteWVkY3A1aWw2CkBAIC0yMTAsNiArMjEwLDEwIEBAIHJv d19idWlsZCgKIAkJdXRfYWQocmVjX29mZnNfdmFsaWRhdGUocmVjLCBpbmRleCwgb2Zmc2V0cykp OwogCX0KIAorI2lmIGRlZmluZWQgVU5JVl9ERUJVRyB8fCBkZWZpbmVkIFVOSVZfQkxPQl9MSUdI VF9ERUJVRworCXV0X2EoIXJlY19vZmZzX2FueV9udWxsX2V4dGVybihyZWMsIG9mZnNldHMpKTsK KyNlbmRpZiAvKiBVTklWX0RFQlVHIHx8IFVOSVZfQkxPQl9MSUdIVF9ERUJVRyAqLworCiAJaWYg KHR5cGUgIT0gUk9XX0NPUFlfUE9JTlRFUlMpIHsKIAkJLyogVGFrZSBhIGNvcHkgb2YgcmVjIHRv IGhlYXAgKi8KIAkJYnVmID0gbWVtX2hlYXBfYWxsb2MoaGVhcCwgcmVjX29mZnNfc2l6ZShvZmZz ZXRzKSk7CkBAIC0zMDIsNiArMzA2LDEwIEBAIHJvd19yZWNfdG9faW5kZXhfZW50cnkoCiAJCXJl YyA9IHJlY19jb3B5KGJ1ZiwgcmVjLCBvZmZzZXRzKTsKIAkJLyogQXZvaWQgYSBkZWJ1ZyBhc3Nl cnRpb24gaW4gcmVjX29mZnNfdmFsaWRhdGUoKS4gKi8KIAkJcmVjX29mZnNfbWFrZV92YWxpZChy ZWMsIGluZGV4LCBvZmZzZXRzKTsKKyNpZiBkZWZpbmVkIFVOSVZfREVCVUcgfHwgZGVmaW5lZCBV TklWX0JMT0JfTElHSFRfREVCVUcKKwl9IGVsc2UgeworCQl1dF9hKCFyZWNfb2Zmc19hbnlfbnVs bF9leHRlcm4ocmVjLCBvZmZzZXRzKSk7CisjZW5kaWYgLyogVU5JVl9ERUJVRyB8fCBVTklWX0JM T0JfTElHSFRfREVCVUcgKi8KIAl9CiAKIAlyZWNfbGVuID0gcmVjX29mZnNfbl9maWVsZHMob2Zm c2V0cyk7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHZlcnMu YycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHZlcnMuYwlyZXZpZDpyYW1pbEBteXNx bC5jb20tMjAxMTA2MDcxNTMwNDMtNm5tZmVvejZmZ3RyOTFnNAorKysgYi9zdG9yYWdlL2lubm9i YXNlL3Jvdy9yb3cwdmVycy5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTEwNjA5 MTAzMTE1LXJoZnd4dG15ZWRjcDVpbDYKQEAgLTQ3Myw2ICs0NzMsMTEgQEAgcm93X3ZlcnNfYnVp bGRfZm9yX2NvbnNpc3RlbnRfcmVhZCgKIAkJCQkvKiBUaGUgdmlldyBhbHJlYWR5IHNlZXMgdGhp cyB2ZXJzaW9uOiB3ZSBjYW4KIAkJCQljb3B5IGl0IHRvIGluX2hlYXAgYW5kIHJldHVybiAqLwog CisjaWYgZGVmaW5lZCBVTklWX0RFQlVHIHx8IGRlZmluZWQgVU5JVl9CTE9CX0xJR0hUX0RFQlVH CisJCQkJdXRfYSghcmVjX29mZnNfYW55X251bGxfZXh0ZXJuKAorCQkJCQkgICAgIHZlcnNpb24s ICpvZmZzZXRzKSk7CisjZW5kaWYgLyogVU5JVl9ERUJVRyB8fCBVTklWX0JMT0JfTElHSFRfREVC VUcgKi8KKwogCQkJCWJ1ZiA9IG1lbV9oZWFwX2FsbG9jKGluX2hlYXAsCiAJCQkJCQkgICAgIHJl Y19vZmZzX3NpemUoKm9mZnNldHMpKTsKIAkJCQkqb2xkX3ZlcnMgPSByZWNfY29weShidWYsIHZl cnNpb24sICpvZmZzZXRzKTsKQEAgLTUwNiw2ICs1MTEsMTAgQEAgcm93X3ZlcnNfYnVpbGRfZm9y X2NvbnNpc3RlbnRfcmVhZCgKIAkJKm9mZnNldHMgPSByZWNfZ2V0X29mZnNldHMocHJldl92ZXJz aW9uLCBpbmRleCwgKm9mZnNldHMsCiAJCQkJCSAgIFVMSU5UX1VOREVGSU5FRCwgb2Zmc2V0X2hl YXApOwogCisjaWYgZGVmaW5lZCBVTklWX0RFQlVHIHx8IGRlZmluZWQgVU5JVl9CTE9CX0xJR0hU X0RFQlVHCisJCXV0X2EoIXJlY19vZmZzX2FueV9udWxsX2V4dGVybihwcmV2X3ZlcnNpb24sICpv ZmZzZXRzKSk7CisjZW5kaWYgLyogVU5JVl9ERUJVRyB8fCBVTklWX0JMT0JfTElHSFRfREVCVUcg Ki8KKwogCQl0cnhfaWQgPSByb3dfZ2V0X3JlY190cnhfaWQocHJldl92ZXJzaW9uLCBpbmRleCwg Km9mZnNldHMpOwogCiAJCWlmIChyZWFkX3ZpZXdfc2Vlc190cnhfaWQodmlldywgdHJ4X2lkKSkg ewpAQCAtNjA2LDYgKzYxNSwxMCBAQCByb3dfdmVyc19idWlsZF9mb3Jfc2VtaV9jb25zaXN0ZW50 X3JlYWQoCiAJCQkvKiBXZSBmb3VuZCBhIHZlcnNpb24gdGhhdCBiZWxvbmdzIHRvIGEKIAkJCWNv bW1pdHRlZCB0cmFuc2FjdGlvbjogcmV0dXJuIGl0LiAqLwogCisjaWYgZGVmaW5lZCBVTklWX0RF QlVHIHx8IGRlZmluZWQgVU5JVl9CTE9CX0xJR0hUX0RFQlVHCisJCQl1dF9hKCFyZWNfb2Zmc19h bnlfbnVsbF9leHRlcm4odmVyc2lvbiwgKm9mZnNldHMpKTsKKyNlbmRpZiAvKiBVTklWX0RFQlVH IHx8IFVOSVZfQkxPQl9MSUdIVF9ERUJVRyAqLworCiAJCQlpZiAocmVjID09IHZlcnNpb24pIHsK IAkJCQkqb2xkX3ZlcnMgPSByZWM7CiAJCQkJZXJyID0gREJfU1VDQ0VTUzsKQEAgLTY2Myw2ICs2 NzYsOSBAQCByb3dfdmVyc19idWlsZF9mb3Jfc2VtaV9jb25zaXN0ZW50X3JlYWQoCiAJCXZlcnNp b24gPSBwcmV2X3ZlcnNpb247CiAJCSpvZmZzZXRzID0gcmVjX2dldF9vZmZzZXRzKHZlcnNpb24s IGluZGV4LCAqb2Zmc2V0cywKIAkJCQkJICAgVUxJTlRfVU5ERUZJTkVELCBvZmZzZXRfaGVhcCk7 CisjaWYgZGVmaW5lZCBVTklWX0RFQlVHIHx8IGRlZmluZWQgVU5JVl9CTE9CX0xJR0hUX0RFQlVH CisJCXV0X2EoIXJlY19vZmZzX2FueV9udWxsX2V4dGVybih2ZXJzaW9uLCAqb2Zmc2V0cykpOwor I2VuZGlmIC8qIFVOSVZfREVCVUcgfHwgVU5JVl9CTE9CX0xJR0hUX0RFQlVHICovCiAJfS8qIGZv ciAoOzspICovCiAKIAlpZiAoaGVhcCkgewoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5u b2Jhc2UvdHJ4L3RyeDByZWMuYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS90cngvdHJ4MHJlYy5j CXJldmlkOnJhbWlsQG15c3FsLmNvbS0yMDExMDYwNzE1MzA0My02bm1mZW96NmZndHI5MWc0Cisr KyBiL3N0b3JhZ2UvaW5ub2Jhc2UvdHJ4L3RyeDByZWMuYwlyZXZpZDptYXJrby5tYWtlbGFAb3Jh Y2xlLmNvbS0yMDExMDYwOTEwMzExNS1yaGZ3eHRteWVkY3A1aWw2CkBAIC0xMzk3LDYgKzEzOTcs MTAgQEAgdHJ4X3VuZG9fcHJldl92ZXJzaW9uX2J1aWxkKAogCQlyZXR1cm4oREJfRVJST1IpOwog CX0KIAorIyBpZiBkZWZpbmVkIFVOSVZfREVCVUcgfHwgZGVmaW5lZCBVTklWX0JMT0JfTElHSFRf REVCVUcKKwl1dF9hKCFyZWNfb2Zmc19hbnlfbnVsbF9leHRlcm4ocmVjLCBvZmZzZXRzKSk7Cisj IGVuZGlmIC8qIFVOSVZfREVCVUcgfHwgVU5JVl9CTE9CX0xJR0hUX0RFQlVHICovCisKIAlpZiAo cm93X3VwZF9jaGFuZ2VzX2ZpZWxkX3NpemVfb3JfZXh0ZXJuYWwoaW5kZXgsIG9mZnNldHMsIHVw ZGF0ZSkpIHsKIAkJdWxpbnQqCWV4dF92ZWN0OwogCQl1bGludAluX2V4dF92ZWN0OwoKPT09IG1v ZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2RiX3BsdWdpbi9DaGFuZ2VMb2cnCi0tLSBhL3N0b3Jh Z2UvaW5ub2RiX3BsdWdpbi9DaGFuZ2VMb2cJcmV2aWQ6cmFtaWxAbXlzcWwuY29tLTIwMTEwNjA3 MTUzMDQzLTZubWZlb3o2Zmd0cjkxZzQKKysrIGIvc3RvcmFnZS9pbm5vZGJfcGx1Z2luL0NoYW5n ZUxvZwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDExMDYwOTEwMzExNS1yaGZ3eHRt eWVkY3A1aWw2CkBAIC0xLDMgKzEsOCBAQAorMjAxMS0wNi0wOQlUaGUgSW5ub0RCIFRlYW0KKwkq IGJ0ci9idHIwY3VyLmMsIGluY2x1ZGUvcmVtMHJlYy5oLCBpbmNsdWRlL3JlbTByZWMuaWMsCisJ KiByb3cvcm93MHJvdy5jLCByb3cvcm93MHZlcnMuYywgdHJ4L3RyeDByZWMuYzoKKwlJbnN0cnVt ZW50YXRpb24gZm9yIEJ1ZyMxMjYxMjE4NCBSYWNlIGNvbmRpdGlvbiBpbiByb3dfdXBkX2NsdXN0 X3JlYygpCisKIDIwMTEtMDQtMDcJVGhlIElubm9EQiBUZWFtCiAKIAkqIGhhbmRsZXIvaGFfaW5u b2RiLmNjLCBoYW5kbGVyL2hhX2lubm9kYi5oLCBoYW5kbGVyL2hhbmRsZXIwYWx0ZXIuY2M6Cgo9 PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vZGJfcGx1Z2luL2J0ci9idHIwY3VyLmMnCi0t LSBhL3N0b3JhZ2UvaW5ub2RiX3BsdWdpbi9idHIvYnRyMGN1ci5jCXJldmlkOnJhbWlsQG15c3Fs LmNvbS0yMDExMDYwNzE1MzA0My02bm1mZW96NmZndHI5MWc0CisrKyBiL3N0b3JhZ2UvaW5ub2Ri X3BsdWdpbi9idHIvYnRyMGN1ci5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTEw NjA5MTAzMTE1LXJoZnd4dG15ZWRjcDVpbDYKQEAgLTEsNiArMSw2IEBACiAvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKIAotQ29weXJpZ2h0IChjKSAxOTk0LCAyMDEwLCBJbm5vYmFzZSBPeS4gQWxsIFJp Z2h0cyBSZXNlcnZlZC4KK0NvcHlyaWdodCAoYykgMTk5NCwgMjAxMSwgT3JhY2xlIGFuZC9vciBp dHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KIENvcHlyaWdodCAoYykgMjAwOCwg R29vZ2xlIEluYy4KIAogUG9ydGlvbnMgb2YgdGhpcyBmaWxlIGNvbnRhaW4gbW9kaWZpY2F0aW9u cyBjb250cmlidXRlZCBhbmQgY29weXJpZ2h0ZWQgYnkKQEAgLTE4NzEsNiArMTg3MSw5IEBAIGJ0 cl9jdXJfb3B0aW1pc3RpY191cGRhdGUoCiAKIAloZWFwID0gbWVtX2hlYXBfY3JlYXRlKDEwMjQp OwogCW9mZnNldHMgPSByZWNfZ2V0X29mZnNldHMocmVjLCBpbmRleCwgTlVMTCwgVUxJTlRfVU5E RUZJTkVELCAmaGVhcCk7CisjaWYgZGVmaW5lZCBVTklWX0RFQlVHIHx8IGRlZmluZWQgVU5JVl9C TE9CX0xJR0hUX0RFQlVHCisJdXRfYSghcmVjX29mZnNfYW55X251bGxfZXh0ZXJuKHJlYywgb2Zm c2V0cykpOworI2VuZGlmIC8qIFVOSVZfREVCVUcgfHwgVU5JVl9CTE9CX0xJR0hUX0RFQlVHICov CiAKICNpZmRlZiBVTklWX0RFQlVHCiAJaWYgKGJ0cl9jdXJfcHJpbnRfcmVjb3JkX29wcyAmJiB0 aHIpIHsKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9kYl9wbHVnaW4vaW5jbHVkZS9y ZW0wcmVjLmgnCi0tLSBhL3N0b3JhZ2UvaW5ub2RiX3BsdWdpbi9pbmNsdWRlL3JlbTByZWMuaAly ZXZpZDpyYW1pbEBteXNxbC5jb20tMjAxMTA2MDcxNTMwNDMtNm5tZmVvejZmZ3RyOTFnNAorKysg Yi9zdG9yYWdlL2lubm9kYl9wbHVnaW4vaW5jbHVkZS9yZW0wcmVjLmgJcmV2aWQ6bWFya28ubWFr ZWxhQG9yYWNsZS5jb20tMjAxMTA2MDkxMDMxMTUtcmhmd3h0bXllZGNwNWlsNgpAQCAtMSw2ICsx LDYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKgogCi1Db3B5cmlnaHQgKGMpIDE5OTQsIDIwMDks IElubm9iYXNlIE95LiBBbGwgUmlnaHRzIFJlc2VydmVkLgorQ29weXJpZ2h0IChjKSAxOTk0LCAy MDExLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgog CiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeSBpdCB1bmRlcgogdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKQEAgLTQ4MCw2ICs0 ODAsMTggQEAgdWxpbnQKIHJlY19vZmZzX2FueV9leHRlcm4oCiAvKj09PT09PT09PT09PT09PT0q LwogCWNvbnN0IHVsaW50KglvZmZzZXRzKTsvKiE8IGluOiBhcnJheSByZXR1cm5lZCBieSByZWNf Z2V0X29mZnNldHMoKSAqLworI2lmIGRlZmluZWQgVU5JVl9ERUJVRyB8fCBkZWZpbmVkIFVOSVZf QkxPQl9MSUdIVF9ERUJVRworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKi8vKioKK0RldGVybWluZSBpZiB0aGUgb2Zmc2V0cyBhcmUgZm9yIGEg cmVjb3JkIGNvbnRhaW5pbmcgbnVsbCBCTE9CIHBvaW50ZXJzLgorQHJldHVybglmaXJzdCBmaWVs ZCBjb250YWluaW5nIGEgbnVsbCBCTE9CIHBvaW50ZXIsIG9yIE5VTEwgaWYgbm9uZSBmb3VuZCAq LworVU5JVl9JTkxJTkUKK2NvbnN0IGJ5dGUqCityZWNfb2Zmc19hbnlfbnVsbF9leHRlcm4oCisv Kj09PT09PT09PT09PT09PT09PT09PSovCisJY29uc3QgcmVjX3QqCXJlYywJCS8qITwgaW46IHJl Y29yZCAqLworCWNvbnN0IHVsaW50KglvZmZzZXRzKQkvKiE8IGluOiByZWNfZ2V0X29mZnNldHMo cmVjKSAqLworCV9fYXR0cmlidXRlX18oKG5vbm51bGwsIHdhcm5fdW51c2VkX3Jlc3VsdCkpOwor I2VuZGlmIC8qIFVOSVZfREVCVUcgfHwgVU5JVl9CTE9CX0xJR0hUX0RFQlVHICovCiAvKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgogUmV0 dXJucyBub256ZXJvIGlmIHRoZSBleHRlcm4gYml0IGlzIHNldCBpbiBudGggZmllbGQgb2YgcmVj LgogQHJldHVybglub256ZXJvIGlmIGV4dGVybmFsbHkgc3RvcmVkICovCgo9PT0gbW9kaWZpZWQg ZmlsZSAnc3RvcmFnZS9pbm5vZGJfcGx1Z2luL2luY2x1ZGUvcmVtMHJlYy5pYycKLS0tIGEvc3Rv cmFnZS9pbm5vZGJfcGx1Z2luL2luY2x1ZGUvcmVtMHJlYy5pYwlyZXZpZDpyYW1pbEBteXNxbC5j b20tMjAxMTA2MDcxNTMwNDMtNm5tZmVvejZmZ3RyOTFnNAorKysgYi9zdG9yYWdlL2lubm9kYl9w bHVnaW4vaW5jbHVkZS9yZW0wcmVjLmljCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIw MTEwNjA5MTAzMTE1LXJoZnd4dG15ZWRjcDVpbDYKQEAgLTEsNiArMSw2IEBACiAvKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioKIAotQ29weXJpZ2h0IChjKSAxOTk0LCAyMDA5LCBJbm5vYmFzZSBPeS4gQWxs IFJpZ2h0cyBSZXNlcnZlZC4KK0NvcHlyaWdodCAoYykgMTk5NCwgMjAxMSwgT3JhY2xlIGFuZC9v ciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KIAogVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQg dW5kZXIKIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCkBAIC0yNiw2ICsyNiw3IEBAIENyZWF0ZWQgNS8z MC8xOTk0IEhlaWtraSBUdXVyaQogI2luY2x1ZGUgIm1hY2gwZGF0YS5oIgogI2luY2x1ZGUgInV0 MGJ5dGUuaCIKICNpbmNsdWRlICJkaWN0MGRpY3QuaCIKKyNpbmNsdWRlICJidHIwdHlwZXMuaCIK IAogLyogQ29tcGFjdCBmbGFnIE9SZWQgdG8gdGhlIGV4dHJhIHNpemUgcmV0dXJuZWQgYnkgcmVj X2dldF9vZmZzZXRzKCkgKi8KICNkZWZpbmUgUkVDX09GRlNfQ09NUEFDVAkoKHVsaW50KSAxIDw8 IDMxKQpAQCAtMTA4Nyw2ICsxMDg4LDQ0IEBAIHJlY19vZmZzX2FueV9leHRlcm4oCiAJcmV0dXJu KFVOSVZfVU5MSUtFTFkoKnJlY19vZmZzX2Jhc2Uob2Zmc2V0cykgJiBSRUNfT0ZGU19FWFRFUk5B TCkpOwogfQogCisjaWYgZGVmaW5lZCBVTklWX0RFQlVHIHx8IGRlZmluZWQgVU5JVl9CTE9CX0xJ R0hUX0RFQlVHCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqLy8qKgorRGV0ZXJtaW5lIGlmIHRoZSBvZmZzZXRzIGFyZSBmb3IgYSByZWNvcmQg Y29udGFpbmluZyBudWxsIEJMT0IgcG9pbnRlcnMuCitAcmV0dXJuCWZpcnN0IGZpZWxkIGNvbnRh aW5pbmcgYSBudWxsIEJMT0IgcG9pbnRlciwgb3IgTlVMTCBpZiBub25lIGZvdW5kICovCitVTklW X0lOTElORQorY29uc3QgYnl0ZSoKK3JlY19vZmZzX2FueV9udWxsX2V4dGVybigKKy8qPT09PT09 PT09PT09PT09PT09PT09Ki8KKwljb25zdCByZWNfdCoJcmVjLAkJLyohPCBpbjogcmVjb3JkICov CisJY29uc3QgdWxpbnQqCW9mZnNldHMpCS8qITwgaW46IHJlY19nZXRfb2Zmc2V0cyhyZWMpICov Cit7CisJdWxpbnQJaTsKKwl1dF9hZChyZWNfb2Zmc192YWxpZGF0ZShyZWMsIE5VTEwsIG9mZnNl dHMpKTsKKworCWlmICghcmVjX29mZnNfYW55X2V4dGVybihvZmZzZXRzKSkgeworCQlyZXR1cm4o TlVMTCk7CisJfQorCisJZm9yIChpID0gMDsgaSA8IHJlY19vZmZzX25fZmllbGRzKG9mZnNldHMp OyBpKyspIHsKKwkJaWYgKHJlY19vZmZzX250aF9leHRlcm4ob2Zmc2V0cywgaSkpIHsKKwkJCXVs aW50CQlsZW47CisJCQljb25zdCBieXRlKglmaWVsZAorCQkJCT0gcmVjX2dldF9udGhfZmllbGQo cmVjLCBvZmZzZXRzLCBpLCAmbGVuKTsKKworCQkJdXRfYShsZW4gPj0gQlRSX0VYVEVSTl9GSUVM RF9SRUZfU0laRSk7CisJCQlpZiAoIW1lbWNtcChmaWVsZCArIGxlbgorCQkJCSAgICAtIEJUUl9F WFRFUk5fRklFTERfUkVGX1NJWkUsCisJCQkJICAgIGZpZWxkX3JlZl96ZXJvLAorCQkJCSAgICBC VFJfRVhURVJOX0ZJRUxEX1JFRl9TSVpFKSkgeworCQkJCXJldHVybihmaWVsZCk7CisJCQl9CisJ CX0KKwl9CisKKwlyZXR1cm4oTlVMTCk7Cit9CisjZW5kaWYgLyogVU5JVl9ERUJVRyB8fCBVTklW X0JMT0JfTElHSFRfREVCVUcgKi8KKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKi8vKioKIFJldHVybnMgbm9uemVybyBpZiB0aGUgZXh0ZXJu IGJpdCBpcyBzZXQgaW4gbnRoIGZpZWxkIG9mIHJlYy4KIEByZXR1cm4Jbm9uemVybyBpZiBleHRl cm5hbGx5IHN0b3JlZCAqLwoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2RiX3BsdWdp bi9yb3cvcm93MHJvdy5jJwotLS0gYS9zdG9yYWdlL2lubm9kYl9wbHVnaW4vcm93L3JvdzByb3cu YwlyZXZpZDpyYW1pbEBteXNxbC5jb20tMjAxMTA2MDcxNTMwNDMtNm5tZmVvejZmZ3RyOTFnNAor KysgYi9zdG9yYWdlL2lubm9kYl9wbHVnaW4vcm93L3JvdzByb3cuYwlyZXZpZDptYXJrby5tYWtl bGFAb3JhY2xlLmNvbS0yMDExMDYwOTEwMzExNS1yaGZ3eHRteWVkY3A1aWw2CkBAIC0xLDYgKzEs NiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqCiAKLUNvcHlyaWdodCAoYykgMTk5NiwgMjAxMCwg SW5ub2Jhc2UgT3kuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCitDb3B5cmlnaHQgKGMpIDE5OTYsIDIw MTEsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAK IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5IGl0IHVuZGVyCiB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQpAQCAtMjMxLDYgKzIz MSwxMCBAQCByb3dfYnVpbGQoCiAJCXV0X2FkKHJlY19vZmZzX3ZhbGlkYXRlKHJlYywgaW5kZXgs IG9mZnNldHMpKTsKIAl9CiAKKyNpZiBkZWZpbmVkIFVOSVZfREVCVUcgfHwgZGVmaW5lZCBVTklW X0JMT0JfTElHSFRfREVCVUcKKwl1dF9hKCFyZWNfb2Zmc19hbnlfbnVsbF9leHRlcm4ocmVjLCBv ZmZzZXRzKSk7CisjZW5kaWYgLyogVU5JVl9ERUJVRyB8fCBVTklWX0JMT0JfTElHSFRfREVCVUcg Ki8KKwogCWlmICh0eXBlICE9IFJPV19DT1BZX1BPSU5URVJTKSB7CiAJCS8qIFRha2UgYSBjb3B5 IG9mIHJlYyB0byBoZWFwICovCiAJCWJ1ZiA9IG1lbV9oZWFwX2FsbG9jKGhlYXAsIHJlY19vZmZz X3NpemUob2Zmc2V0cykpOwpAQCAtNDE1LDYgKzQxOSwxMCBAQCByb3dfcmVjX3RvX2luZGV4X2Vu dHJ5KAogCQlyZWMgPSByZWNfY29weShidWYsIHJlYywgb2Zmc2V0cyk7CiAJCS8qIEF2b2lkIGEg ZGVidWcgYXNzZXJ0aW9uIGluIHJlY19vZmZzX3ZhbGlkYXRlKCkuICovCiAJCXJlY19vZmZzX21h a2VfdmFsaWQocmVjLCBpbmRleCwgb2Zmc2V0cyk7CisjaWYgZGVmaW5lZCBVTklWX0RFQlVHIHx8 IGRlZmluZWQgVU5JVl9CTE9CX0xJR0hUX0RFQlVHCisJfSBlbHNlIHsKKwkJdXRfYSghcmVjX29m ZnNfYW55X251bGxfZXh0ZXJuKHJlYywgb2Zmc2V0cykpOworI2VuZGlmIC8qIFVOSVZfREVCVUcg fHwgVU5JVl9CTE9CX0xJR0hUX0RFQlVHICovCiAJfQogCiAJZW50cnkgPSByb3dfcmVjX3RvX2lu ZGV4X2VudHJ5X2xvdyhyZWMsIGluZGV4LCBvZmZzZXRzLCBuX2V4dCwgaGVhcCk7Cgo9PT0gbW9k aWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vZGJfcGx1Z2luL3Jvdy9yb3cwdmVycy5jJwotLS0gYS9z dG9yYWdlL2lubm9kYl9wbHVnaW4vcm93L3JvdzB2ZXJzLmMJcmV2aWQ6cmFtaWxAbXlzcWwuY29t LTIwMTEwNjA3MTUzMDQzLTZubWZlb3o2Zmd0cjkxZzQKKysrIGIvc3RvcmFnZS9pbm5vZGJfcGx1 Z2luL3Jvdy9yb3cwdmVycy5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTEwNjA5 MTAzMTE1LXJoZnd4dG15ZWRjcDVpbDYKQEAgLTEsNiArMSw2IEBACiAvKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKIAotQ29weXJpZ2h0IChjKSAxOTk3LCAyMDA5LCBJbm5vYmFzZSBPeS4gQWxsIFJpZ2h0 cyBSZXNlcnZlZC4KK0NvcHlyaWdodCAoYykgMTk5NywgMjAxMSwgT3JhY2xlIGFuZC9vciBpdHMg YWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KIAogVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIK IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlCkBAIC01NTAsNiArNTUwLDExIEBAIHJvd192ZXJzX2J1aWxk X2Zvcl9jb25zaXN0ZW50X3JlYWQoCiAJCQkJLyogVGhlIHZpZXcgYWxyZWFkeSBzZWVzIHRoaXMg dmVyc2lvbjogd2UgY2FuCiAJCQkJY29weSBpdCB0byBpbl9oZWFwIGFuZCByZXR1cm4gKi8KIAor I2lmIGRlZmluZWQgVU5JVl9ERUJVRyB8fCBkZWZpbmVkIFVOSVZfQkxPQl9MSUdIVF9ERUJVRwor CQkJCXV0X2EoIXJlY19vZmZzX2FueV9udWxsX2V4dGVybigKKwkJCQkJICAgICB2ZXJzaW9uLCAq b2Zmc2V0cykpOworI2VuZGlmIC8qIFVOSVZfREVCVUcgfHwgVU5JVl9CTE9CX0xJR0hUX0RFQlVH ICovCisKIAkJCQlidWYgPSBtZW1faGVhcF9hbGxvYyhpbl9oZWFwLAogCQkJCQkJICAgICByZWNf b2Zmc19zaXplKCpvZmZzZXRzKSk7CiAJCQkJKm9sZF92ZXJzID0gcmVjX2NvcHkoYnVmLCB2ZXJz aW9uLCAqb2Zmc2V0cyk7CkBAIC01ODMsNiArNTg4LDEwIEBAIHJvd192ZXJzX2J1aWxkX2Zvcl9j b25zaXN0ZW50X3JlYWQoCiAJCSpvZmZzZXRzID0gcmVjX2dldF9vZmZzZXRzKHByZXZfdmVyc2lv biwgaW5kZXgsICpvZmZzZXRzLAogCQkJCQkgICBVTElOVF9VTkRFRklORUQsIG9mZnNldF9oZWFw KTsKIAorI2lmIGRlZmluZWQgVU5JVl9ERUJVRyB8fCBkZWZpbmVkIFVOSVZfQkxPQl9MSUdIVF9E RUJVRworCQl1dF9hKCFyZWNfb2Zmc19hbnlfbnVsbF9leHRlcm4ocHJldl92ZXJzaW9uLCAqb2Zm c2V0cykpOworI2VuZGlmIC8qIFVOSVZfREVCVUcgfHwgVU5JVl9CTE9CX0xJR0hUX0RFQlVHICov CisKIAkJdHJ4X2lkID0gcm93X2dldF9yZWNfdHJ4X2lkKHByZXZfdmVyc2lvbiwgaW5kZXgsICpv ZmZzZXRzKTsKIAogCQlpZiAocmVhZF92aWV3X3NlZXNfdHJ4X2lkKHZpZXcsIHRyeF9pZCkpIHsK QEAgLTY4Miw2ICs2OTEsMTAgQEAgcm93X3ZlcnNfYnVpbGRfZm9yX3NlbWlfY29uc2lzdGVudF9y ZWFkKAogCQkJLyogV2UgZm91bmQgYSB2ZXJzaW9uIHRoYXQgYmVsb25ncyB0byBhCiAJCQljb21t aXR0ZWQgdHJhbnNhY3Rpb246IHJldHVybiBpdC4gKi8KIAorI2lmIGRlZmluZWQgVU5JVl9ERUJV RyB8fCBkZWZpbmVkIFVOSVZfQkxPQl9MSUdIVF9ERUJVRworCQkJdXRfYSghcmVjX29mZnNfYW55 X251bGxfZXh0ZXJuKHZlcnNpb24sICpvZmZzZXRzKSk7CisjZW5kaWYgLyogVU5JVl9ERUJVRyB8 fCBVTklWX0JMT0JfTElHSFRfREVCVUcgKi8KKwogCQkJaWYgKHJlYyA9PSB2ZXJzaW9uKSB7CiAJ CQkJKm9sZF92ZXJzID0gcmVjOwogCQkJCWVyciA9IERCX1NVQ0NFU1M7CkBAIC03MzksNiArNzUy LDkgQEAgcm93X3ZlcnNfYnVpbGRfZm9yX3NlbWlfY29uc2lzdGVudF9yZWFkKAogCQl2ZXJzaW9u ID0gcHJldl92ZXJzaW9uOwogCQkqb2Zmc2V0cyA9IHJlY19nZXRfb2Zmc2V0cyh2ZXJzaW9uLCBp bmRleCwgKm9mZnNldHMsCiAJCQkJCSAgIFVMSU5UX1VOREVGSU5FRCwgb2Zmc2V0X2hlYXApOwor I2lmIGRlZmluZWQgVU5JVl9ERUJVRyB8fCBkZWZpbmVkIFVOSVZfQkxPQl9MSUdIVF9ERUJVRwor CQl1dF9hKCFyZWNfb2Zmc19hbnlfbnVsbF9leHRlcm4odmVyc2lvbiwgKm9mZnNldHMpKTsKKyNl bmRpZiAvKiBVTklWX0RFQlVHIHx8IFVOSVZfQkxPQl9MSUdIVF9ERUJVRyAqLwogCX0vKiBmb3Ig KDs7KSAqLwogCiAJaWYgKGhlYXApIHsKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9k Yl9wbHVnaW4vdHJ4L3RyeDByZWMuYycKLS0tIGEvc3RvcmFnZS9pbm5vZGJfcGx1Z2luL3RyeC90 cngwcmVjLmMJcmV2aWQ6cmFtaWxAbXlzcWwuY29tLTIwMTEwNjA3MTUzMDQzLTZubWZlb3o2Zmd0 cjkxZzQKKysrIGIvc3RvcmFnZS9pbm5vZGJfcGx1Z2luL3RyeC90cngwcmVjLmMJcmV2aWQ6bWFy a28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTA2MDkxMDMxMTUtcmhmd3h0bXllZGNwNWlsNgpAQCAt MSw2ICsxLDYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogCi1Db3B5cmlnaHQgKGMpIDE5OTYs IDIwMTAsIElubm9iYXNlIE95LiBBbGwgUmlnaHRzIFJlc2VydmVkLgorQ29weXJpZ2h0IChjKSAx OTk2LCAyMDExLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2Vy dmVkLgogCiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlcgogdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKQEAgLTE1 NzcsNiArMTU3NywxMCBAQCB0cnhfdW5kb19wcmV2X3ZlcnNpb25fYnVpbGQoCiAJCXJldHVybihE Ql9FUlJPUik7CiAJfQogCisjIGlmIGRlZmluZWQgVU5JVl9ERUJVRyB8fCBkZWZpbmVkIFVOSVZf QkxPQl9MSUdIVF9ERUJVRworCXV0X2EoIXJlY19vZmZzX2FueV9udWxsX2V4dGVybihyZWMsIG9m ZnNldHMpKTsKKyMgZW5kaWYgLyogVU5JVl9ERUJVRyB8fCBVTklWX0JMT0JfTElHSFRfREVCVUcg Ki8KKwogCWlmIChyb3dfdXBkX2NoYW5nZXNfZmllbGRfc2l6ZV9vcl9leHRlcm5hbChpbmRleCwg b2Zmc2V0cywgdXBkYXRlKSkgewogCQl1bGludAluX2V4dDsKIAoK --===============0629524915== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/marko.makela@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: marko.makela@stripped # target_branch: file:///home/marko/innobase/dev/mysql2a/mysql-5.1/ # testament_sha1: 8c306e23c10bfbc5efa38d299519079ca0ddb040 # timestamp: 2011-06-09 13:31:46 +0300 # base_revision_id: ramil@stripped # # Begin bundle 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 --===============0629524915==--