From: marko.makela Date: February 2 2011 2:12pm Subject: bzr push into mysql-trunk-innodb branch (marko.makela:3475 to 3476) List-Archive: http://lists.mysql.com/commits/130233 Message-Id: <201102021413.p12E3vlf017989@acsinet15.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0588450173==" --===============0588450173== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline IDM0NzYgTWFya28gTcOka2Vsw6QJMjAxMS0wMi0wMiBbbWVyZ2VdCiAgICAgIE1lcmdlIG15c3Fs LTUuNS1pbm5vZGIgdG8gbXlzcWwtNS42LWlubm9kYi4KCiAgICBtb2RpZmllZDoKICAgICAgc3Rv cmFnZS9pbm5vYmFzZS9idHIvYnRyMGN1ci5jCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvYnVmL2J1 ZjBidWYuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL2ZzcC9mc3AwZnNwLmMKICAgICAgc3RvcmFn ZS9pbm5vYmFzZS9pYnVmL2lidWYwaWJ1Zi5jCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVk ZS9idHIwY3VyLmgKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2J1ZjBidWYuaAogICAg ICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvdW5pdi5pCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uv cm93L3JvdzBpbnMuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwcHVyZ2UuYwogICAg ICBzdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwdW1vZC5jCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uv cm93L3JvdzB1cGQuYwogMzQ3NSBKaW1teSBZYW5nCTIwMTEtMDItMDEKICAgICAgRml4IEJ1ZyAj NTk4NzYgVmFsZ3JpbmQgd2FybmluZyBpbiBpX3NfaW5ub2RiX3NldF9wYWdlX3R5cGUoKQoKICAg IG1vZGlmaWVkOgogICAgICBzdG9yYWdlL2lubm9iYXNlL2hhbmRsZXIvaV9zLmNjCj09PSBtb2Rp ZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2J0ci9idHIwY3VyLmMnCi0tLSBhL3N0b3JhZ2Uv aW5ub2Jhc2UvYnRyL2J0cjBjdXIuYwlyZXZpZDpqaW1teS55YW5nQG9yYWNsZS5jb20tMjAxMTAy MDIwNzMwMTYtaXU4MnoxdWtuaXAxemF3ZworKysgYi9zdG9yYWdlL2lubm9iYXNlL2J0ci9idHIw Y3VyLmMJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTAyMDIxNDA4MzAteXp0a2ll ZGZqZDcybnZlOQpAQCAtMTk3LDcgKzE5Nyw3IEBAIHN0YXRpYwogdWxpbnQKIGJ0cl9yZWNfZ2V0 X2V4dGVybmFsbHlfc3RvcmVkX2xlbigKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ki8KLQlyZWNfdCoJCXJlYywJLyohPCBpbjogcmVjb3JkICovCisJY29uc3QgcmVjX3QqCXJlYywJ LyohPCBpbjogcmVjb3JkICovCiAJY29uc3QgdWxpbnQqCW9mZnNldHMpOy8qITwgaW46IGFycmF5 IHJldHVybmVkIGJ5IHJlY19nZXRfb2Zmc2V0cygpICovCiAjZW5kaWYgLyogIVVOSVZfSE9UQkFD S1VQICovCiAKQEAgLTM3NjUsMzQgKzM3NjUsNjIgQEAgYnRyX2VzdGltYXRlX251bWJlcl9vZl9k aWZmZXJlbnRfa2V5X3ZhbAogLyo9PT09PT09PT09PT09PT09PT0gRVhURVJOQUwgU1RPUkFHRSBP RiBCSUcgRklFTERTID09PT09PT09PT09PT09PT09PT0qLwogCiAvKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCitHZXRzIHRoZSBv ZmZzZXQgb2YgdGhlIHBvaW50ZXIgdG8gdGhlIGV4dGVybmFsbHkgc3RvcmVkIHBhcnQgb2YgYSBm aWVsZC4KK0ByZXR1cm4Jb2Zmc2V0IG9mIHRoZSBwb2ludGVyIHRvIHRoZSBleHRlcm5hbGx5IHN0 b3JlZCBwYXJ0ICovCitzdGF0aWMKK3VsaW50CitidHJfcmVjX2dldF9maWVsZF9yZWZfb2ZmcygK Ky8qPT09PT09PT09PT09PT09PT09PT09PT0qLworCWNvbnN0IHVsaW50KglvZmZzZXRzLC8qITwg aW46IGFycmF5IHJldHVybmVkIGJ5IHJlY19nZXRfb2Zmc2V0cygpICovCisJdWxpbnQJCW4pCS8q ITwgaW46IGluZGV4IG9mIHRoZSBleHRlcm5hbCBmaWVsZCAqLworeworCXVsaW50CWZpZWxkX3Jl Zl9vZmZzOworCXVsaW50CWxvY2FsX2xlbjsKKworCXV0X2EocmVjX29mZnNfbnRoX2V4dGVybihv ZmZzZXRzLCBuKSk7CisJZmllbGRfcmVmX29mZnMgPSByZWNfZ2V0X250aF9maWVsZF9vZmZzKG9m ZnNldHMsIG4sICZsb2NhbF9sZW4pOworCXV0X2EobG9jYWxfbGVuICE9IFVOSVZfU1FMX05VTEwp OworCXV0X2EobG9jYWxfbGVuID49IEJUUl9FWFRFUk5fRklFTERfUkVGX1NJWkUpOworCisJcmV0 dXJuKGZpZWxkX3JlZl9vZmZzICsgbG9jYWxfbGVuIC0gQlRSX0VYVEVSTl9GSUVMRF9SRUZfU0la RSk7Cit9CisKKy8qKiBHZXRzIGEgcG9pbnRlciB0byB0aGUgZXh0ZXJuYWxseSBzdG9yZWQgcGFy dCBvZiBhIGZpZWxkLgorQHBhcmFtIHJlYwlyZWNvcmQKK0BwYXJhbSBvZmZzZXRzCXJlY19nZXRf b2Zmc2V0cyhyZWMpCitAcGFyYW0gbglpbmRleCBvZiB0aGUgZXh0ZXJuYWxseSBzdG9yZWQgZmll bGQKK0ByZXR1cm4gcG9pbnRlciB0byB0aGUgZXh0ZXJuYWxseSBzdG9yZWQgcGFydCAqLworI2Rl ZmluZSBidHJfcmVjX2dldF9maWVsZF9yZWYocmVjLCBvZmZzZXRzLCBuKQkJCVwKKwkoKHJlYykg KyBidHJfcmVjX2dldF9maWVsZF9yZWZfb2ZmcyhvZmZzZXRzLCBuKSkKKworLyoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgogR2V0 cyB0aGUgZXh0ZXJuYWxseSBzdG9yZWQgc2l6ZSBvZiBhIHJlY29yZCwgaW4gdW5pdHMgb2YgYSBk YXRhYmFzZSBwYWdlLgogQHJldHVybglleHRlcm5hbGx5IHN0b3JlZCBwYXJ0LCBpbiB1bml0cyBv ZiBhIGRhdGFiYXNlIHBhZ2UgKi8KIHN0YXRpYwogdWxpbnQKIGJ0cl9yZWNfZ2V0X2V4dGVybmFs bHlfc3RvcmVkX2xlbigKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KLQlyZWNf dCoJCXJlYywJLyohPCBpbjogcmVjb3JkICovCisJY29uc3QgcmVjX3QqCXJlYywJLyohPCBpbjog cmVjb3JkICovCiAJY29uc3QgdWxpbnQqCW9mZnNldHMpLyohPCBpbjogYXJyYXkgcmV0dXJuZWQg YnkgcmVjX2dldF9vZmZzZXRzKCkgKi8KIHsKIAl1bGludAluX2ZpZWxkczsKLQlieXRlKglkYXRh OwotCXVsaW50CWxvY2FsX2xlbjsKLQl1bGludAlleHRlcm5fbGVuOwogCXVsaW50CXRvdGFsX2V4 dGVybl9sZW4gPSAwOwogCXVsaW50CWk7CiAKIAl1dF9hZCghcmVjX29mZnNfY29tcChvZmZzZXRz KSB8fCAhcmVjX2dldF9ub2RlX3B0cl9mbGFnKHJlYykpOworCisJaWYgKCFyZWNfb2Zmc19hbnlf ZXh0ZXJuKG9mZnNldHMpKSB7CisJCXJldHVybigwKTsKKwl9CisKIAluX2ZpZWxkcyA9IHJlY19v ZmZzX25fZmllbGRzKG9mZnNldHMpOwogCiAJZm9yIChpID0gMDsgaSA8IG5fZmllbGRzOyBpKysp IHsKIAkJaWYgKHJlY19vZmZzX250aF9leHRlcm4ob2Zmc2V0cywgaSkpIHsKIAotCQkJZGF0YSA9 IHJlY19nZXRfbnRoX2ZpZWxkKHJlYywgb2Zmc2V0cywgaSwgJmxvY2FsX2xlbik7Ci0KLQkJCWxv Y2FsX2xlbiAtPSBCVFJfRVhURVJOX0ZJRUxEX1JFRl9TSVpFOwotCi0JCQlleHRlcm5fbGVuID0g bWFjaF9yZWFkX2Zyb21fNChkYXRhICsgbG9jYWxfbGVuCi0JCQkJCQkgICAgICArIEJUUl9FWFRF Uk5fTEVOICsgNCk7CisJCQl1bGludAlleHRlcm5fbGVuID0gbWFjaF9yZWFkX2Zyb21fNCgKKwkJ CQlidHJfcmVjX2dldF9maWVsZF9yZWYocmVjLCBvZmZzZXRzLCBpKQorCQkJCSsgQlRSX0VYVEVS Tl9MRU4gKyA0KTsKIAogCQkJdG90YWxfZXh0ZXJuX2xlbiArPSB1dF9jYWxjX2FsaWduKGV4dGVy bl9sZW4sCiAJCQkJCQkJICBVTklWX1BBR0VfU0laRSk7CkBAIC0zODIyLDcgKzM4NTAsNyBAQCBi dHJfY3VyX3NldF9vd25lcnNoaXBfb2ZfZXh0ZXJuX2ZpZWxkKAogCXVsaW50CWJ5dGVfdmFsOwog CiAJZGF0YSA9IHJlY19nZXRfbnRoX2ZpZWxkKHJlYywgb2Zmc2V0cywgaSwgJmxvY2FsX2xlbik7 Ci0KKwl1dF9hZChyZWNfb2Zmc19udGhfZXh0ZXJuKG9mZnNldHMsIGkpKTsKIAl1dF9hKGxvY2Fs X2xlbiA+PSBCVFJfRVhURVJOX0ZJRUxEX1JFRl9TSVpFKTsKIAogCWxvY2FsX2xlbiAtPSBCVFJf RVhURVJOX0ZJRUxEX1JFRl9TSVpFOwpAQCAtMzgzMiw2ICszODYwLDkgQEAgYnRyX2N1cl9zZXRf b3duZXJzaGlwX29mX2V4dGVybl9maWVsZCgKIAlpZiAodmFsKSB7CiAJCWJ5dGVfdmFsID0gYnl0 ZV92YWwgJiAofkJUUl9FWFRFUk5fT1dORVJfRkxBRyk7CiAJfSBlbHNlIHsKKyNpZiBkZWZpbmVk IFVOSVZfREVCVUcgfHwgZGVmaW5lZCBVTklWX0JMT0JfTElHSFRfREVCVUcKKwkJdXRfYSghKGJ5 dGVfdmFsICYgQlRSX0VYVEVSTl9PV05FUl9GTEFHKSk7CisjZW5kaWYgLyogVU5JVl9ERUJVRyB8 fCBVTklWX0JMT0JfTElHSFRfREVCVUcgKi8KIAkJYnl0ZV92YWwgPSBieXRlX3ZhbCB8IEJUUl9F WFRFUk5fT1dORVJfRkxBRzsKIAl9CiAKQEAgLTQwNjgsOCArNDA5OSw4IEBAIGZpbGUgc2VnbWVu dCBvZiB0aGUgaW5kZXggdHJlZS4KIEByZXR1cm4JREJfU1VDQ0VTUyBvciBEQl9PVVRfT0ZfRklM RV9TUEFDRSAqLwogVU5JVl9JTlRFUk4KIHVsaW50Ci1idHJfc3RvcmVfYmlnX3JlY19leHRlcm5f ZmllbGRzKAotLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KK2J0cl9zdG9yZV9iaWdf cmVjX2V4dGVybl9maWVsZHNfZnVuYygKKy8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ki8KIAlkaWN0X2luZGV4X3QqCWluZGV4LAkJLyohPCBpbjogaW5kZXggb2YgcmVjOyB0aGUg aW5kZXggdHJlZQogCQkJCQlNVVNUIGJlIFgtbGF0Y2hlZCAqLwogCWJ1Zl9ibG9ja190KglyZWNf YmxvY2ssCS8qITwgaW4vb3V0OiBibG9jayBjb250YWluaW5nIHJlYyAqLwpAQCAtNDA3OCwxMSAr NDEwOSwxNyBAQCBidHJfc3RvcmVfYmlnX3JlY19leHRlcm5fZmllbGRzKAogCQkJCQl0aGUgImV4 dGVybmFsIHN0b3JhZ2UiIGZsYWdzIGluIG9mZnNldHMKIAkJCQkJd2lsbCBub3QgY29ycmVzcG9u ZCB0byByZWMgd2hlbgogCQkJCQl0aGlzIGZ1bmN0aW9uIHJldHVybnMgKi8KLQliaWdfcmVjX3Qq CWJpZ19yZWNfdmVjLAkvKiE8IGluOiB2ZWN0b3IgY29udGFpbmluZyBmaWVsZHMKKyNpZmRlZiBV TklWX0RFQlVHCisJbXRyX3QqCQlsb2NhbF9tdHIsCS8qITwgaW46IG10ciBjb250YWluaW5nIHRo ZQorCQkJCQlsYXRjaCB0byByZWMgYW5kIHRvIHRoZSB0cmVlICovCisjZW5kaWYgLyogVU5JVl9E RUJVRyAqLworI2lmIGRlZmluZWQgVU5JVl9ERUJVRyB8fCBkZWZpbmVkIFVOSVZfQkxPQl9MSUdI VF9ERUJVRworCWlib29sCQl1cGRhdGVfaW5fcGxhY2UsLyohIGluOiBUUlVFIGlmIHRoZSByZWNv cmQgaXMgdXBkYXRlZAorCQkJCQlpbiBwbGFjZSAobm90IGRlbGV0ZStpbnNlcnQpICovCisjZW5k aWYgLyogVU5JVl9ERUJVRyB8fCBVTklWX0JMT0JfTElHSFRfREVCVUcgKi8KKwljb25zdCBiaWdf cmVjX3QqYmlnX3JlY192ZWMpCS8qITwgaW46IHZlY3RvciBjb250YWluaW5nIGZpZWxkcwogCQkJ CQl0byBiZSBzdG9yZWQgZXh0ZXJuYWxseSAqLwotCW10cl90KgkJbG9jYWxfbXRyIF9fYXR0cmli dXRlX18oKHVudXNlZCkpKSAvKiE8IGluOiBtdHIKLQkJCQkJY29udGFpbmluZyB0aGUgbGF0Y2gg dG8gcmVjIGFuZCB0byB0aGUKLQkJCQkJdHJlZSAqLworCiB7CiAJdWxpbnQJcmVjX3BhZ2Vfbm87 CiAJYnl0ZSoJZmllbGRfcmVmOwpAQCAtNDEwMCw2ICs0MTM3LDcgQEAgYnRyX3N0b3JlX2JpZ19y ZWNfZXh0ZXJuX2ZpZWxkcygKIAl6X3N0cmVhbSBjX3N0cmVhbTsKIAogCXV0X2FkKHJlY19vZmZz X3ZhbGlkYXRlKHJlYywgaW5kZXgsIG9mZnNldHMpKTsKKwl1dF9hZChyZWNfb2Zmc19hbnlfZXh0 ZXJuKG9mZnNldHMpKTsKIAl1dF9hZChtdHJfbWVtb19jb250YWlucyhsb2NhbF9tdHIsIGRpY3Rf aW5kZXhfZ2V0X2xvY2soaW5kZXgpLAogCQkJCU1UUl9NRU1PX1hfTE9DSykpOwogCXV0X2FkKG10 cl9tZW1vX2NvbnRhaW5zKGxvY2FsX210ciwgcmVjX2Jsb2NrLCBNVFJfTUVNT19QQUdFX1hfRklY KSk7CkBAIC00MTMxLDIxICs0MTY5LDM3IEBAIGJ0cl9zdG9yZV9iaWdfcmVjX2V4dGVybl9maWVs ZHMoCiAJCXV0X2EoZXJyID09IFpfT0spOwogCX0KIAorI2lmIGRlZmluZWQgVU5JVl9ERUJVRyB8 fCBkZWZpbmVkIFVOSVZfQkxPQl9MSUdIVF9ERUJVRworCS8qIEFsbCBwb2ludGVycyB0byBleHRl cm5hbGx5IHN0b3JlZCBjb2x1bW5zIGluIHRoZSByZWNvcmQKKwltdXN0IGVpdGhlciBiZSB6ZXJv IG9yIHRoZXkgbXVzdCBiZSBwb2ludGVycyB0byBpbmhlcml0ZWQKKwljb2x1bW5zLCBvd25lZCBi eSB0aGlzIHJlY29yZCBvciBhbiBlYXJsaWVyIHJlY29yZCB2ZXJzaW9uLiAqLworCWZvciAoaSA9 IDA7IGkgPCByZWNfb2Zmc19uX2ZpZWxkcyhvZmZzZXRzKTsgaSsrKSB7CisJCWlmICghcmVjX29m ZnNfbnRoX2V4dGVybihvZmZzZXRzLCBpKSkgeworCQkJY29udGludWU7CisJCX0KKwkJZmllbGRf cmVmID0gYnRyX3JlY19nZXRfZmllbGRfcmVmKHJlYywgb2Zmc2V0cywgaSk7CisKKwkJdXRfYSgh KGZpZWxkX3JlZltCVFJfRVhURVJOX0xFTl0gJiBCVFJfRVhURVJOX09XTkVSX0ZMQUcpKTsKKwkJ LyogRWl0aGVyIHRoaXMgbXVzdCBiZSBhbiB1cGRhdGUgaW4gcGxhY2UsCisJCW9yIHRoZSBCTE9C IG11c3QgYmUgaW5oZXJpdGVkLCBvciB0aGUgQkxPQiBwb2ludGVyCisJCW11c3QgYmUgemVybyAo d2lsbCBiZSB3cml0dGVuIGluIHRoaXMgZnVuY3Rpb24pLiAqLworCQl1dF9hKHVwZGF0ZV9pbl9w bGFjZQorCQkgICAgIHx8IChmaWVsZF9yZWZbQlRSX0VYVEVSTl9MRU5dICYgQlRSX0VYVEVSTl9J TkhFUklURURfRkxBRykKKwkJICAgICB8fCAhbWVtY21wKGZpZWxkX3JlZiwgZmllbGRfcmVmX3pl cm8sCisJCQkJQlRSX0VYVEVSTl9GSUVMRF9SRUZfU0laRSkpOworCX0KKyNlbmRpZiAvKiBVTklW X0RFQlVHIHx8IFVOSVZfQkxPQl9MSUdIVF9ERUJVRyAqLwogCS8qIFdlIGhhdmUgdG8gY3JlYXRl IGEgZmlsZSBzZWdtZW50IHRvIHRoZSB0YWJsZXNwYWNlCiAJZm9yIGVhY2ggZmllbGQgYW5kIHB1 dCB0aGUgcG9pbnRlciB0byB0aGUgZmllbGQgaW4gcmVjICovCiAKIAlmb3IgKGkgPSAwOyBpIDwg YmlnX3JlY192ZWMtPm5fZmllbGRzOyBpKyspIHsKLQkJdXRfYWQocmVjX29mZnNfbnRoX2V4dGVy bihvZmZzZXRzLAotCQkJCQkgIGJpZ19yZWNfdmVjLT5maWVsZHNbaV0uZmllbGRfbm8pKTsKLQkJ ewotCQkJdWxpbnQJbG9jYWxfbGVuOwotCQkJZmllbGRfcmVmID0gcmVjX2dldF9udGhfZmllbGQo Ci0JCQkJcmVjLCBvZmZzZXRzLCBiaWdfcmVjX3ZlYy0+ZmllbGRzW2ldLmZpZWxkX25vLAotCQkJ CSZsb2NhbF9sZW4pOwotCQkJdXRfYShsb2NhbF9sZW4gPj0gQlRSX0VYVEVSTl9GSUVMRF9SRUZf U0laRSk7Ci0JCQlsb2NhbF9sZW4gLT0gQlRSX0VYVEVSTl9GSUVMRF9SRUZfU0laRTsKLQkJCWZp ZWxkX3JlZiArPSBsb2NhbF9sZW47Ci0JCX0KKwkJZmllbGRfcmVmID0gYnRyX3JlY19nZXRfZmll bGRfcmVmKAorCQkJcmVjLCBvZmZzZXRzLCBiaWdfcmVjX3ZlYy0+ZmllbGRzW2ldLmZpZWxkX25v KTsKKyNpZiBkZWZpbmVkIFVOSVZfREVCVUcgfHwgZGVmaW5lZCBVTklWX0JMT0JfTElHSFRfREVC VUcKKwkJLyogQSB6ZXJvIEJMT0IgcG9pbnRlciBzaG91bGQgaGF2ZSBiZWVuIGluaXRpYWxseSBp bnNlcnRlZC4gKi8KKwkJdXRfYSghbWVtY21wKGZpZWxkX3JlZiwgZmllbGRfcmVmX3plcm8sCisJ CQkgICAgIEJUUl9FWFRFUk5fRklFTERfUkVGX1NJWkUpKTsKKyNlbmRpZiAvKiBVTklWX0RFQlVH IHx8IFVOSVZfQkxPQl9MSUdIVF9ERUJVRyAqLwogCQlleHRlcm5fbGVuID0gYmlnX3JlY192ZWMt PmZpZWxkc1tpXS5sZW47CiAJCVVOSVZfTUVNX0FTU0VSVF9SVyhiaWdfcmVjX3ZlYy0+ZmllbGRz W2ldLmRhdGEsCiAJCQkJICAgZXh0ZXJuX2xlbik7CkBAIC00NDI3LDYgKzQ0ODEsMjMgQEAgbmV4 dF96aXBfcGFnZToKIAkJbWVtX2hlYXBfZnJlZShoZWFwKTsKIAl9CiAKKyNpZiBkZWZpbmVkIFVO SVZfREVCVUcgfHwgZGVmaW5lZCBVTklWX0JMT0JfTElHSFRfREVCVUcKKwkvKiBBbGwgcG9pbnRl cnMgdG8gZXh0ZXJuYWxseSBzdG9yZWQgY29sdW1ucyBpbiB0aGUgcmVjb3JkCisJbXVzdCBiZSB2 YWxpZC4gKi8KKwlmb3IgKGkgPSAwOyBpIDwgcmVjX29mZnNfbl9maWVsZHMob2Zmc2V0cyk7IGkr KykgeworCQlpZiAoIXJlY19vZmZzX250aF9leHRlcm4ob2Zmc2V0cywgaSkpIHsKKwkJCWNvbnRp bnVlOworCQl9CisKKwkJZmllbGRfcmVmID0gYnRyX3JlY19nZXRfZmllbGRfcmVmKHJlYywgb2Zm c2V0cywgaSk7CisKKwkJLyogVGhlIHBvaW50ZXIgbXVzdCBub3QgYmUgemVyby4gKi8KKwkJdXRf YSgwICE9IG1lbWNtcChmaWVsZF9yZWYsIGZpZWxkX3JlZl96ZXJvLAorCQkJCSBCVFJfRVhURVJO X0ZJRUxEX1JFRl9TSVpFKSk7CisJCS8qIFRoZSBjb2x1bW4gbXVzdCBub3QgYmUgZGlzb3duZWQg YnkgdGhpcyByZWNvcmQuICovCisJCXV0X2EoIShmaWVsZF9yZWZbQlRSX0VYVEVSTl9MRU5dICYg QlRSX0VYVEVSTl9PV05FUl9GTEFHKSk7CisJfQorI2VuZGlmIC8qIFVOSVZfREVCVUcgfHwgVU5J Vl9CTE9CX0xJR0hUX0RFQlVHICovCiAJcmV0dXJuKERCX1NVQ0NFU1MpOwogfQogCkBAIC00NDQ5 LDYgKzQ1MjAsNyBAQCBidHJfY2hlY2tfYmxvYl9maWxfcGFnZV90eXBlKAogCWlmIChVTklWX1VO TElLRUxZKHR5cGUgIT0gRklMX1BBR0VfVFlQRV9CTE9CKSkgewogCQl1bGludAlmbGFncyA9IGZp bF9zcGFjZV9nZXRfZmxhZ3Moc3BhY2VfaWQpOwogCisjaWZuZGVmIFVOSVZfREVCVUcgLyogSW1w cm92ZSBkZWJ1ZyB0ZXN0IGNvdmVyYWdlICovCiAJCWlmIChVTklWX0xJS0VMWQogCQkgICAgKChm bGFncyAmIERJQ1RfVEZfRk9STUFUX01BU0spID09IERJQ1RfVEZfRk9STUFUXzUxKSkgewogCQkJ LyogT2xkIHZlcnNpb25zIG9mIElubm9EQiBkaWQgbm90IGluaXRpYWxpemUKQEAgLTQ0NTcsNiAr NDUyOSw3IEBAIGJ0cl9jaGVja19ibG9iX2ZpbF9wYWdlX3R5cGUoCiAJCQlhIEJMT0IgcGFnZSB0 aGF0IGlzIGluIEFudGVsb3BlIGZvcm1hdC4qLwogCQkJcmV0dXJuOwogCQl9CisjZW5kaWYgLyog IVVOSVZfREVCVUcgKi8KIAogCQl1dF9wcmludF90aW1lc3RhbXAoc3RkZXJyKTsKIAkJZnByaW50 ZihzdGRlcnIsCkBAIC00NTA2LDIzICs0NTc5LDEzIEBAIGJ0cl9mcmVlX2V4dGVybmFsbHlfc3Rv cmVkX2ZpZWxkKAogCXVsaW50CQlwYWdlX25vOwogCXVsaW50CQluZXh0X3BhZ2Vfbm87CiAJbXRy X3QJCW10cjsKLSNpZmRlZiBVTklWX0RFQlVHCisKIAl1dF9hZChtdHJfbWVtb19jb250YWlucyhs b2NhbF9tdHIsIGRpY3RfaW5kZXhfZ2V0X2xvY2soaW5kZXgpLAogCQkJCU1UUl9NRU1PX1hfTE9D SykpOwogCXV0X2FkKG10cl9tZW1vX2NvbnRhaW5zX3BhZ2UobG9jYWxfbXRyLCBmaWVsZF9yZWYs CiAJCQkJICAgICBNVFJfTUVNT19QQUdFX1hfRklYKSk7CiAJdXRfYWQoIXJlYyB8fCByZWNfb2Zm c192YWxpZGF0ZShyZWMsIGluZGV4LCBvZmZzZXRzKSk7Ci0KLQlpZiAocmVjKSB7Ci0JCXVsaW50 CWxvY2FsX2xlbjsKLQkJY29uc3QgYnl0ZSoJZiA9IHJlY19nZXRfbnRoX2ZpZWxkKHJlYywgb2Zm c2V0cywKLQkJCQkJCSAgICAgIGksICZsb2NhbF9sZW4pOwotCQl1dF9hKGxvY2FsX2xlbiA+PSBC VFJfRVhURVJOX0ZJRUxEX1JFRl9TSVpFKTsKLQkJbG9jYWxfbGVuIC09IEJUUl9FWFRFUk5fRklF TERfUkVGX1NJWkU7Ci0JCWYgKz0gbG9jYWxfbGVuOwotCQl1dF9hZChmID09IGZpZWxkX3JlZik7 Ci0JfQotI2VuZGlmIC8qIFVOSVZfREVCVUcgKi8KKwl1dF9hZCghcmVjIHx8IGZpZWxkX3JlZiA9 PSBidHJfcmVjX2dldF9maWVsZF9yZWYocmVjLCBvZmZzZXRzLCBpKSk7CiAKIAlpZiAoVU5JVl9V TkxJS0VMWSghbWVtY21wKGZpZWxkX3JlZiwgZmllbGRfcmVmX3plcm8sCiAJCQkJICBCVFJfRVhU RVJOX0ZJRUxEX1JFRl9TSVpFKSkpIHsKQEAgLTQ2ODUsMTMgKzQ3NDgsOCBAQCBidHJfcmVjX2Zy ZWVfZXh0ZXJuYWxseV9zdG9yZWRfZmllbGRzKAogCiAJZm9yIChpID0gMDsgaSA8IG5fZmllbGRz OyBpKyspIHsKIAkJaWYgKHJlY19vZmZzX250aF9leHRlcm4ob2Zmc2V0cywgaSkpIHsKLQkJCXVs aW50CWxlbjsKLQkJCWJ5dGUqCWRhdGEKLQkJCQk9IHJlY19nZXRfbnRoX2ZpZWxkKHJlYywgb2Zm c2V0cywgaSwgJmxlbik7Ci0JCQl1dF9hKGxlbiA+PSBCVFJfRVhURVJOX0ZJRUxEX1JFRl9TSVpF KTsKLQogCQkJYnRyX2ZyZWVfZXh0ZXJuYWxseV9zdG9yZWRfZmllbGQoCi0JCQkJaW5kZXgsIGRh dGEgKyBsZW4gLSBCVFJfRVhURVJOX0ZJRUxEX1JFRl9TSVpFLAorCQkJCWluZGV4LCBidHJfcmVj X2dldF9maWVsZF9yZWYocmVjLCBvZmZzZXRzLCBpKSwKIAkJCQlyZWMsIG9mZnNldHMsIHBhZ2Vf emlwLCBpLCByYl9jdHgsIG10cik7CiAJCX0KIAl9Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFn ZS9pbm5vYmFzZS9idWYvYnVmMGJ1Zi5jJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2J1Zi9idWYw YnVmLmMJcmV2aWQ6amltbXkueWFuZ0BvcmFjbGUuY29tLTIwMTEwMjAyMDczMDE2LWl1ODJ6MXVr bmlwMXphd2cKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9idWYvYnVmMGJ1Zi5jCXJldmlkOm1hcmtv Lm1ha2VsYUBvcmFjbGUuY29tLTIwMTEwMjAyMTQwODMwLXl6dGtpZWRmamQ3Mm52ZTkKQEAgLTg3 Myw5ICs4NzMsOSBAQCBidWZfYmxvY2tfaW5pdCgKIAogCWJsb2NrLT5tb2RpZnlfY2xvY2sgPSAw OwogCi0jaWZkZWYgVU5JVl9ERUJVR19GSUxFX0FDQ0VTU0VTCisjaWYgZGVmaW5lZCBVTklWX0RF QlVHX0ZJTEVfQUNDRVNTRVMgfHwgZGVmaW5lZCBVTklWX0RFQlVHCiAJYmxvY2stPnBhZ2UuZmls ZV9wYWdlX3dhc19mcmVlZCA9IEZBTFNFOwotI2VuZGlmIC8qIFVOSVZfREVCVUdfRklMRV9BQ0NF U1NFUyAqLworI2VuZGlmIC8qIFVOSVZfREVCVUdfRklMRV9BQ0NFU1NFUyB8fCBVTklWX0RFQlVH ICovCiAKIAlibG9jay0+Y2hlY2tfaW5kZXhfcGFnZV9hdF9mbHVzaCA9IEZBTFNFOwogCWJsb2Nr LT5pbmRleCA9IE5VTEw7CkBAIC0yMzQ0LDcgKzIzNDQsNyBAQCBidWZfcGFnZV9wZWVrX2lmX3Nl YXJjaF9oYXNoZWQoCiAJcmV0dXJuKGlzX2hhc2hlZCk7CiB9CiAKLSNpZmRlZiBVTklWX0RFQlVH X0ZJTEVfQUNDRVNTRVMKKyNpZiBkZWZpbmVkIFVOSVZfREVCVUdfRklMRV9BQ0NFU1NFUyB8fCBk ZWZpbmVkIFVOSVZfREVCVUcKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIFNldHMgZmlsZV9wYWdlX3dhc19m cmVlZCBUUlVFIGlmIHRoZSBwYWdlIGlzIGZvdW5kIGluIHRoZSBidWZmZXIgcG9vbC4KIFRoaXMg ZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHdlIGZyZWUgYSBmaWxlIHBhZ2UgYW5kIHdh bnQgdGhlCkBAIC0yMzY3LDYgKzIzNjcsOCBAQCBidWZfcGFnZV9zZXRfZmlsZV9wYWdlX3dhc19m cmVlZCgKIAogCWlmIChicGFnZSkgewogCQl1dF9hZCghYnVmX3Bvb2xfd2F0Y2hfaXNfc2VudGlu ZWwoYnVmX3Bvb2wsIGJwYWdlKSk7CisJCS8qIGJwYWdlLT5maWxlX3BhZ2Vfd2FzX2ZyZWVkIGNh biBhbHJlYWR5IGhvbGQKKwkJd2hlbiB0aGlzIGNvZGUgaXMgaW52b2tlZCBmcm9tIGRpY3RfZHJv cF9pbmRleF90cmVlKCkgKi8KIAkJYnBhZ2UtPmZpbGVfcGFnZV93YXNfZnJlZWQgPSBUUlVFOwog CQlyd19sb2NrX3NfdW5sb2NrKGhhc2hfbG9jayk7CiAJfQpAQCAtMjQwMSw3ICsyNDAzLDcgQEAg YnVmX3BhZ2VfcmVzZXRfZmlsZV9wYWdlX3dhc19mcmVlZCgKIAogCXJldHVybihicGFnZSk7CiB9 Ci0jZW5kaWYgLyogVU5JVl9ERUJVR19GSUxFX0FDQ0VTU0VTICovCisjZW5kaWYgLyogVU5JVl9E RUJVR19GSUxFX0FDQ0VTU0VTIHx8IFVOSVZfREVCVUcgKi8KIAogLyoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgog QXR0ZW1wdHMgdG8gZGlzY2FyZCB0aGUgdW5jb21wcmVzc2VkIGZyYW1lIG9mIGEgY29tcHJlc3Nl ZCBwYWdlLiBUaGUKQEAgLTI1MzksNyArMjU0MSw3IEBAIGdvdF9ibG9jazoKIAogCWJ1Zl9wYWdl X3NldF9hY2Nlc3NlZF9tYWtlX3lvdW5nKGJwYWdlLCBhY2Nlc3NfdGltZSk7CiAKLSNpZmRlZiBV TklWX0RFQlVHX0ZJTEVfQUNDRVNTRVMKKyNpZiBkZWZpbmVkIFVOSVZfREVCVUdfRklMRV9BQ0NF U1NFUyB8fCBkZWZpbmVkIFVOSVZfREVCVUcKIAl1dF9hKCFicGFnZS0+ZmlsZV9wYWdlX3dhc19m cmVlZCk7CiAjZW5kaWYKIApAQCAtMzI3Myw3ICszMjc1LDcgQEAgd2FpdF91bnRpbF91bmZpeGVk OgogCiAJYnVmX3BhZ2Vfc2V0X2FjY2Vzc2VkX21ha2VfeW91bmcoJmJsb2NrLT5wYWdlLCBhY2Nl c3NfdGltZSk7CiAKLSNpZmRlZiBVTklWX0RFQlVHX0ZJTEVfQUNDRVNTRVMKKyNpZiBkZWZpbmVk IFVOSVZfREVCVUdfRklMRV9BQ0NFU1NFUyB8fCBkZWZpbmVkIFVOSVZfREVCVUcKIAl1dF9hKCFi bG9jay0+cGFnZS5maWxlX3BhZ2Vfd2FzX2ZyZWVkKTsKICNlbmRpZgogCkBAIC0zNDM2LDcgKzM0 MzgsNyBAQCBidWZfcGFnZV9vcHRpbWlzdGljX2dldCgKIAl1dF9hKGJ1Zl9ibG9ja19nZXRfc3Rh dGUoYmxvY2spID09IEJVRl9CTE9DS19GSUxFX1BBR0UpOwogI2VuZGlmIC8qIFVOSVZfREVCVUcg fHwgVU5JVl9CVUZfREVCVUcgKi8KIAotI2lmZGVmIFVOSVZfREVCVUdfRklMRV9BQ0NFU1NFUwor I2lmIGRlZmluZWQgVU5JVl9ERUJVR19GSUxFX0FDQ0VTU0VTIHx8IGRlZmluZWQgVU5JVl9ERUJV RwogCXV0X2EoYmxvY2stPnBhZ2UuZmlsZV9wYWdlX3dhc19mcmVlZCA9PSBGQUxTRSk7CiAjZW5k aWYKIAlpZiAoVU5JVl9VTkxJS0VMWSghYWNjZXNzX3RpbWUpKSB7CkBAIC0zNTQ4LDcgKzM1NTAs NyBAQCBidWZfcGFnZV9nZXRfa25vd25fbm93YWl0KAogCXV0X2EoYmxvY2stPnBhZ2UuYnVmX2Zp eF9jb3VudCA+IDApOwogCXV0X2EoYnVmX2Jsb2NrX2dldF9zdGF0ZShibG9jaykgPT0gQlVGX0JM T0NLX0ZJTEVfUEFHRSk7CiAjZW5kaWYgLyogVU5JVl9ERUJVRyB8fCBVTklWX0JVRl9ERUJVRyAq LwotI2lmZGVmIFVOSVZfREVCVUdfRklMRV9BQ0NFU1NFUworI2lmIGRlZmluZWQgVU5JVl9ERUJV R19GSUxFX0FDQ0VTU0VTIHx8IGRlZmluZWQgVU5JVl9ERUJVRwogCXV0X2EoYmxvY2stPnBhZ2Uu ZmlsZV9wYWdlX3dhc19mcmVlZCA9PSBGQUxTRSk7CiAjZW5kaWYKIApAQCAtMzYzNyw5ICszNjM5 LDkgQEAgYnVmX3BhZ2VfdHJ5X2dldF9mdW5jKAogCXV0X2EoYmxvY2stPnBhZ2UuYnVmX2ZpeF9j b3VudCA+IDApOwogCXV0X2EoYnVmX2Jsb2NrX2dldF9zdGF0ZShibG9jaykgPT0gQlVGX0JMT0NL X0ZJTEVfUEFHRSk7CiAjZW5kaWYgLyogVU5JVl9ERUJVRyB8fCBVTklWX0JVRl9ERUJVRyAqLwot I2lmZGVmIFVOSVZfREVCVUdfRklMRV9BQ0NFU1NFUworI2lmIGRlZmluZWQgVU5JVl9ERUJVR19G SUxFX0FDQ0VTU0VTIHx8IGRlZmluZWQgVU5JVl9ERUJVRwogCXV0X2EoYmxvY2stPnBhZ2UuZmls ZV9wYWdlX3dhc19mcmVlZCA9PSBGQUxTRSk7Ci0jZW5kaWYgLyogVU5JVl9ERUJVR19GSUxFX0FD Q0VTU0VTICovCisjZW5kaWYgLyogVU5JVl9ERUJVR19GSUxFX0FDQ0VTU0VTIHx8IFVOSVZfREVC VUcgKi8KIAlidWZfYmxvY2tfZGJnX2FkZF9sZXZlbChibG9jaywgU1lOQ19OT19PUkRFUl9DSEVD Syk7CiAKIAlidWZfcG9vbC0+c3RhdC5uX3BhZ2VfZ2V0cysrOwpAQCAtMzY2OCw5ICszNjcwLDkg QEAgYnVmX3BhZ2VfaW5pdF9sb3coCiAJYnBhZ2UtPm5ld2VzdF9tb2RpZmljYXRpb24gPSAwOwog CWJwYWdlLT5vbGRlc3RfbW9kaWZpY2F0aW9uID0gMDsKIAlIQVNIX0lOVkFMSURBVEUoYnBhZ2Us IGhhc2gpOwotI2lmZGVmIFVOSVZfREVCVUdfRklMRV9BQ0NFU1NFUworI2lmIGRlZmluZWQgVU5J Vl9ERUJVR19GSUxFX0FDQ0VTU0VTIHx8IGRlZmluZWQgVU5JVl9ERUJVRwogCWJwYWdlLT5maWxl X3BhZ2Vfd2FzX2ZyZWVkID0gRkFMU0U7Ci0jZW5kaWYgLyogVU5JVl9ERUJVR19GSUxFX0FDQ0VT U0VTICovCisjZW5kaWYgLyogVU5JVl9ERUJVR19GSUxFX0FDQ0VTU0VTIHx8IFVOSVZfREVCVUcg Ki8KIH0KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqLy8qKgpAQCAtNDA1Nyw5ICs0MDU5LDkgQEAgYnVmX3BhZ2Vf Y3JlYXRlKAogI2lmZGVmIFVOSVZfSUJVRl9DT1VOVF9ERUJVRwogCQl1dF9hKGlidWZfY291bnRf Z2V0KHNwYWNlLCBvZmZzZXQpID09IDApOwogI2VuZGlmCi0jaWZkZWYgVU5JVl9ERUJVR19GSUxF X0FDQ0VTU0VTCisjaWYgZGVmaW5lZCBVTklWX0RFQlVHX0ZJTEVfQUNDRVNTRVMgfHwgZGVmaW5l ZCBVTklWX0RFQlVHCiAJCWJsb2NrLT5wYWdlLmZpbGVfcGFnZV93YXNfZnJlZWQgPSBGQUxTRTsK LSNlbmRpZiAvKiBVTklWX0RFQlVHX0ZJTEVfQUNDRVNTRVMgKi8KKyNlbmRpZiAvKiBVTklWX0RF QlVHX0ZJTEVfQUNDRVNTRVMgfHwgVU5JVl9ERUJVRyAqLwogCiAJCS8qIFBhZ2UgY2FuIGJlIGZv dW5kIGluIGJ1Zl9wb29sICovCiAJCWJ1Zl9wb29sX211dGV4X2V4aXQoYnVmX3Bvb2wpOwoKPT09 IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvZnNwL2ZzcDBmc3AuYycKLS0tIGEvc3Rv cmFnZS9pbm5vYmFzZS9mc3AvZnNwMGZzcC5jCXJldmlkOmppbW15LnlhbmdAb3JhY2xlLmNvbS0y MDExMDIwMjA3MzAxNi1pdTgyejF1a25pcDF6YXdnCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvZnNw L2ZzcDBmc3AuYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDExMDIwMjE0MDgzMC15 enRraWVkZmpkNzJudmU5CkBAIC0zNDE5LDkgKzM0MTksOSBAQCBmc2VnX2ZyZWVfcGFnZSgKIAog CWZzZWdfZnJlZV9wYWdlX2xvdyhzZWdfaW5vZGUsIHNwYWNlLCB6aXBfc2l6ZSwgcGFnZSwgbXRy KTsKIAotI2lmZGVmIFVOSVZfREVCVUdfRklMRV9BQ0NFU1NFUworI2lmIGRlZmluZWQgVU5JVl9E RUJVR19GSUxFX0FDQ0VTU0VTIHx8IGRlZmluZWQgVU5JVl9ERUJVRwogCWJ1Zl9wYWdlX3NldF9m aWxlX3BhZ2Vfd2FzX2ZyZWVkKHNwYWNlLCBwYWdlKTsKLSNlbmRpZgorI2VuZGlmIC8qIFVOSVZf REVCVUdfRklMRV9BQ0NFU1NFUyB8fCBVTklWX0RFQlVHICovCiB9CiAKIC8qKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Ly8qKgpAQCAtMzQ4NywxMyArMzQ4NywxMyBAQCBmc2VnX2ZyZWVfZXh0ZW50KAogCiAJZnNwX2Zy ZWVfZXh0ZW50KHNwYWNlLCB6aXBfc2l6ZSwgcGFnZSwgbXRyKTsKIAotI2lmZGVmIFVOSVZfREVC VUdfRklMRV9BQ0NFU1NFUworI2lmIGRlZmluZWQgVU5JVl9ERUJVR19GSUxFX0FDQ0VTU0VTIHx8 IGRlZmluZWQgVU5JVl9ERUJVRwogCWZvciAoaSA9IDA7IGkgPCBGU1BfRVhURU5UX1NJWkU7IGkr KykgewogCiAJCWJ1Zl9wYWdlX3NldF9maWxlX3BhZ2Vfd2FzX2ZyZWVkKHNwYWNlLAogCQkJCQkJ IGZpcnN0X3BhZ2VfaW5fZXh0ZW50ICsgaSk7CiAJfQotI2VuZGlmCisjZW5kaWYgLyogVU5JVl9E RUJVR19GSUxFX0FDQ0VTU0VTIHx8IFVOSVZfREVCVUcgKi8KIH0KIAogLyoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov LyoqCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9pYnVmL2lidWYwaWJ1Zi5j JwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2lidWYvaWJ1ZjBpYnVmLmMJcmV2aWQ6amltbXkueWFu Z0BvcmFjbGUuY29tLTIwMTEwMjAyMDczMDE2LWl1ODJ6MXVrbmlwMXphd2cKKysrIGIvc3RvcmFn ZS9pbm5vYmFzZS9pYnVmL2lidWYwaWJ1Zi5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29t LTIwMTEwMjAyMTQwODMwLXl6dGtpZWRmamQ3Mm52ZTkKQEAgLTIyNzYsOSArMjI3Niw5IEBAIGli dWZfcmVtb3ZlX2ZyZWVfcGFnZSh2b2lkKQogCWZzZWdfZnJlZV9wYWdlKGhlYWRlcl9wYWdlICsg SUJVRl9IRUFERVIgKyBJQlVGX1RSRUVfU0VHX0hFQURFUiwKIAkJICAgICAgIElCVUZfU1BBQ0Vf SUQsIHBhZ2Vfbm8sICZtdHIpOwogCi0jaWZkZWYgVU5JVl9ERUJVR19GSUxFX0FDQ0VTU0VTCisj aWYgZGVmaW5lZCBVTklWX0RFQlVHX0ZJTEVfQUNDRVNTRVMgfHwgZGVmaW5lZCBVTklWX0RFQlVH CiAJYnVmX3BhZ2VfcmVzZXRfZmlsZV9wYWdlX3dhc19mcmVlZChJQlVGX1NQQUNFX0lELCBwYWdl X25vKTsKLSNlbmRpZgorI2VuZGlmIC8qIFVOSVZfREVCVUdfRklMRV9BQ0NFU1NFUyB8fCBVTklW X0RFQlVHICovCiAKIAlpYnVmX2VudGVyKCk7CiAKQEAgLTIzMjIsOSArMjMyMiw5IEBAIGlidWZf cmVtb3ZlX2ZyZWVfcGFnZSh2b2lkKQogCWlidWZfYml0bWFwX3BhZ2Vfc2V0X2JpdHMoCiAJCWJp dG1hcF9wYWdlLCBwYWdlX25vLCB6aXBfc2l6ZSwgSUJVRl9CSVRNQVBfSUJVRiwgRkFMU0UsICZt dHIpOwogCi0jaWZkZWYgVU5JVl9ERUJVR19GSUxFX0FDQ0VTU0VTCisjaWYgZGVmaW5lZCBVTklW X0RFQlVHX0ZJTEVfQUNDRVNTRVMgfHwgZGVmaW5lZCBVTklWX0RFQlVHCiAJYnVmX3BhZ2Vfc2V0 X2ZpbGVfcGFnZV93YXNfZnJlZWQoSUJVRl9TUEFDRV9JRCwgcGFnZV9ubyk7Ci0jZW5kaWYKKyNl bmRpZiAvKiBVTklWX0RFQlVHX0ZJTEVfQUNDRVNTRVMgfHwgVU5JVl9ERUJVRyAqLwogCW10cl9j b21taXQoJm10cik7CiAKIAlpYnVmX2V4aXQoKTsKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdl L2lubm9iYXNlL2luY2x1ZGUvYnRyMGN1ci5oJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2luY2x1 ZGUvYnRyMGN1ci5oCXJldmlkOmppbW15LnlhbmdAb3JhY2xlLmNvbS0yMDExMDIwMjA3MzAxNi1p dTgyejF1a25pcDF6YXdnCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9idHIwY3VyLmgJ cmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTAyMDIxNDA4MzAteXp0a2llZGZqZDcy bnZlOQpAQCAtNTAxLDggKzUwMSw4IEBAIGZpbGUgc2VnbWVudCBvZiB0aGUgaW5kZXggdHJlZS4K IEByZXR1cm4JREJfU1VDQ0VTUyBvciBEQl9PVVRfT0ZfRklMRV9TUEFDRSAqLwogVU5JVl9JTlRF Uk4KIHVsaW50Ci1idHJfc3RvcmVfYmlnX3JlY19leHRlcm5fZmllbGRzKAotLyo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ki8KK2J0cl9zdG9yZV9iaWdfcmVjX2V4dGVybl9maWVsZHNfZnVu YygKKy8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KIAlkaWN0X2luZGV4X3Qq CWluZGV4LAkJLyohPCBpbjogaW5kZXggb2YgcmVjOyB0aGUgaW5kZXggdHJlZQogCQkJCQlNVVNU IGJlIFgtbGF0Y2hlZCAqLwogCWJ1Zl9ibG9ja190KglyZWNfYmxvY2ssCS8qITwgaW4vb3V0OiBi bG9jayBjb250YWluaW5nIHJlYyAqLwpAQCAtNTExLDEwICs1MTEsNDIgQEAgYnRyX3N0b3JlX2Jp Z19yZWNfZXh0ZXJuX2ZpZWxkcygKIAkJCQkJdGhlICJleHRlcm5hbCBzdG9yYWdlIiBmbGFncyBp biBvZmZzZXRzCiAJCQkJCXdpbGwgbm90IGNvcnJlc3BvbmQgdG8gcmVjIHdoZW4KIAkJCQkJdGhp cyBmdW5jdGlvbiByZXR1cm5zICovCi0JYmlnX3JlY190KgliaWdfcmVjX3ZlYywJLyohPCBpbjog dmVjdG9yIGNvbnRhaW5pbmcgZmllbGRzCisjaWZkZWYgVU5JVl9ERUJVRworCW10cl90KgkJbG9j YWxfbXRyLAkvKiE8IGluOiBtdHIgY29udGFpbmluZyB0aGUKKwkJCQkJbGF0Y2ggdG8gcmVjIGFu ZCB0byB0aGUgdHJlZSAqLworI2VuZGlmIC8qIFVOSVZfREVCVUcgKi8KKyNpZiBkZWZpbmVkIFVO SVZfREVCVUcgfHwgZGVmaW5lZCBVTklWX0JMT0JfTElHSFRfREVCVUcKKwlpYm9vbAkJdXBkYXRl X2luX3BsYWNlLC8qISBpbjogVFJVRSBpZiB0aGUgcmVjb3JkIGlzIHVwZGF0ZWQKKwkJCQkJaW4g cGxhY2UgKG5vdCBkZWxldGUraW5zZXJ0KSAqLworI2VuZGlmIC8qIFVOSVZfREVCVUcgfHwgVU5J Vl9CTE9CX0xJR0hUX0RFQlVHICovCisJY29uc3QgYmlnX3JlY190KmJpZ19yZWNfdmVjKQkvKiE8 IGluOiB2ZWN0b3IgY29udGFpbmluZyBmaWVsZHMKIAkJCQkJdG8gYmUgc3RvcmVkIGV4dGVybmFs bHkgKi8KLQltdHJfdCoJCWxvY2FsX210cik7CS8qITwgaW46IG10ciBjb250YWluaW5nIHRoZSBs YXRjaCB0bwotCQkJCQlyZWMgYW5kIHRvIHRoZSB0cmVlICovCisJX19hdHRyaWJ1dGVfXygobm9u bnVsbCkpOworCisvKiogU3RvcmVzIHRoZSBmaWVsZHMgaW4gYmlnX3JlY192ZWMgdG8gdGhlIHRh Ymxlc3BhY2UgYW5kIHB1dHMgcG9pbnRlcnMgdG8KK3RoZW0gaW4gcmVjLiAgVGhlIGV4dGVybiBm bGFncyBpbiByZWMgd2lsbCBoYXZlIHRvIGJlIHNldCBiZWZvcmVoYW5kLgorVGhlIGZpZWxkcyBh cmUgc3RvcmVkIG9uIHBhZ2VzIGFsbG9jYXRlZCBmcm9tIGxlYWYgbm9kZQorZmlsZSBzZWdtZW50 IG9mIHRoZSBpbmRleCB0cmVlLgorQHBhcmFtIGluZGV4CWluOiBjbHVzdGVyZWQgaW5kZXg7IE1V U1QgYmUgWC1sYXRjaGVkIGJ5IG10cgorQHBhcmFtIGIJaW4vb3V0OiBibG9jayBjb250YWluaW5n IHJlYzsgTVVTVCBiZSBYLWxhdGNoZWQgYnkgbXRyCitAcGFyYW0gcmVjCWluL291dDogY2x1c3Rl cmVkIGluZGV4IHJlY29yZAorQHBhcmFtIG9mZnNldHMJaW46IHJlY19nZXRfb2Zmc2V0cyhyZWMs IGluZGV4KTsKKwkJdGhlICJleHRlcm5hbCBzdG9yYWdlIiBmbGFncyBpbiBvZmZzZXRzIHdpbGwg bm90IGJlIGFkanVzdGVkCitAcGFyYW0gbXRyCWluOiBtaW5pLXRyYW5zYWN0aW9uIHRoYXQgaG9s ZHMgeC1sYXRjaCBvbiBpbmRleCBhbmQgYgorQHBhcmFtIHVwZAlpbjogVFJVRSBpZiB0aGUgcmVj b3JkIGlzIHVwZGF0ZWQgaW4gcGxhY2UgKG5vdCBkZWxldGUraW5zZXJ0KQorQHBhcmFtIGJpZwlp bjogdmVjdG9yIGNvbnRhaW5pbmcgZmllbGRzIHRvIGJlIHN0b3JlZCBleHRlcm5hbGx5CitAcmV0 dXJuCURCX1NVQ0NFU1Mgb3IgREJfT1VUX09GX0ZJTEVfU1BBQ0UgKi8KKyNpZmRlZiBVTklWX0RF QlVHCisjIGRlZmluZSBidHJfc3RvcmVfYmlnX3JlY19leHRlcm5fZmllbGRzKGluZGV4LGIscmVj LG9mZnNldHMsbXRyLHVwZCxiaWcpIFwKKwlidHJfc3RvcmVfYmlnX3JlY19leHRlcm5fZmllbGRz X2Z1bmMoaW5kZXgsYixyZWMsb2Zmc2V0cyxtdHIsdXBkLGJpZykKKyNlbGlmIGRlZmluZWQgVU5J Vl9CTE9CX0xJR0hUX0RFQlVHCisjIGRlZmluZSBidHJfc3RvcmVfYmlnX3JlY19leHRlcm5fZmll bGRzKGluZGV4LGIscmVjLG9mZnNldHMsbXRyLHVwZCxiaWcpIFwKKwlidHJfc3RvcmVfYmlnX3Jl Y19leHRlcm5fZmllbGRzX2Z1bmMoaW5kZXgsYixyZWMsb2Zmc2V0cyx1cGQsYmlnKQorI2Vsc2UK KyMgZGVmaW5lIGJ0cl9zdG9yZV9iaWdfcmVjX2V4dGVybl9maWVsZHMoaW5kZXgsYixyZWMsb2Zm c2V0cyxtdHIsdXBkLGJpZykgXAorCWJ0cl9zdG9yZV9iaWdfcmVjX2V4dGVybl9maWVsZHNfZnVu YyhpbmRleCxiLHJlYyxvZmZzZXRzLGJpZykKKyNlbmRpZgorCiAvKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIEZy ZWVzIHRoZSBzcGFjZSBpbiBhbiBleHRlcm5hbGx5IHN0b3JlZCBmaWVsZCB0byB0aGUgZmlsZSBz cGFjZQogbWFuYWdlbWVudCBpZiB0aGUgZmllbGQgaW4gZGF0YSBpcyBvd25lZCB0aGUgZXh0ZXJu YWxseSBzdG9yZWQgZmllbGQsCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9p bmNsdWRlL2J1ZjBidWYuaCcKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2J1ZjBidWYu aAlyZXZpZDpqaW1teS55YW5nQG9yYWNsZS5jb20tMjAxMTAyMDIwNzMwMTYtaXU4MnoxdWtuaXAx emF3ZworKysgYi9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvYnVmMGJ1Zi5oCXJldmlkOm1hcmtv Lm1ha2VsYUBvcmFjbGUuY29tLTIwMTEwMjAyMTQwODMwLXl6dGtpZWRmamQ3Mm52ZTkKQEAgLTQ4 NSw3ICs0ODUsNyBAQCBidWZfcmVzZXRfY2hlY2tfaW5kZXhfcGFnZV9hdF9mbHVzaCgKIC8qPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogCXVsaW50CXNwYWNlLAkvKiE8IGluOiBz cGFjZSBpZCAqLwogCXVsaW50CW9mZnNldCk7LyohPCBpbjogcGFnZSBudW1iZXIgKi8KLSNpZmRl ZiBVTklWX0RFQlVHX0ZJTEVfQUNDRVNTRVMKKyNpZiBkZWZpbmVkIFVOSVZfREVCVUdfRklMRV9B Q0NFU1NFUyB8fCBkZWZpbmVkIFVOSVZfREVCVUcKIC8qKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIFNldHMgZmls ZV9wYWdlX3dhc19mcmVlZCBUUlVFIGlmIHRoZSBwYWdlIGlzIGZvdW5kIGluIHRoZSBidWZmZXIg cG9vbC4KIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHdlIGZyZWUgYSBmaWxl IHBhZ2UgYW5kIHdhbnQgdGhlCkBAIC01MTAsNyArNTEwLDcgQEAgYnVmX3BhZ2VfcmVzZXRfZmls ZV9wYWdlX3dhc19mcmVlZCgKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCiAJ dWxpbnQJc3BhY2UsCS8qITwgaW46IHNwYWNlIGlkICovCiAJdWxpbnQJb2Zmc2V0KTsJLyohPCBp bjogcGFnZSBudW1iZXIgKi8KLSNlbmRpZiAvKiBVTklWX0RFQlVHX0ZJTEVfQUNDRVNTRVMgKi8K KyNlbmRpZiAvKiBVTklWX0RFQlVHX0ZJTEVfQUNDRVNTRVMgfHwgVU5JVl9ERUJVRyAqLwogLyoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqLy8qKgogUmVhZHMgdGhlIGZyZWVkX3BhZ2VfY2xvY2sgb2YgYSBidWZmZXIgYmxv Y2suCiBAcmV0dXJuCWZyZWVkX3BhZ2VfY2xvY2sgKi8KQEAgLTE0OTEsMTEgKzE0OTEsMTEgQEAg c3RydWN0IGJ1Zl9wYWdlX3N0cnVjdHsKIAkJCQkJMCBpZiB0aGUgYmxvY2sgd2FzIG5ldmVyIGFj Y2Vzc2VkCiAJCQkJCWluIHRoZSBidWZmZXIgcG9vbCAqLwogCS8qIEB9ICovCi0jIGlmZGVmIFVO SVZfREVCVUdfRklMRV9BQ0NFU1NFUworIyBpZiBkZWZpbmVkIFVOSVZfREVCVUdfRklMRV9BQ0NF U1NFUyB8fCBkZWZpbmVkIFVOSVZfREVCVUcKIAlpYm9vbAkJZmlsZV9wYWdlX3dhc19mcmVlZDsK IAkJCQkJLyohPCB0aGlzIGlzIHNldCB0byBUUlVFIHdoZW4gZnNwCiAJCQkJCWZyZWVzIGEgcGFn ZSBpbiBidWZmZXIgcG9vbCAqLwotIyBlbmRpZiAvKiBVTklWX0RFQlVHX0ZJTEVfQUNDRVNTRVMg Ki8KKyMgZW5kaWYgLyogVU5JVl9ERUJVR19GSUxFX0FDQ0VTU0VTIHx8IFVOSVZfREVCVUcgKi8K ICNlbmRpZiAvKiAhVU5JVl9IT1RCQUNLVVAgKi8KIH07CiAKCj09PSBtb2RpZmllZCBmaWxlICdz dG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvdW5pdi5pJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2lu Y2x1ZGUvdW5pdi5pCXJldmlkOmppbW15LnlhbmdAb3JhY2xlLmNvbS0yMDExMDIwMjA3MzAxNi1p dTgyejF1a25pcDF6YXdnCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS91bml2LmkJcmV2 aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTAyMDIxNDA4MzAteXp0a2llZGZqZDcybnZl OQpAQCAtMTc5LDE0ICsxNzksMTUgQEAgY29tbWFuZC4gTm90IHRlc3RlZCBvbiBXaW5kb3dzLiAq LwogCQkJCQkJZGVidWdnaW5nIHdpdGhvdXQgVU5JVl9ERUJVRyAqLwogI2RlZmluZSBVTklWX0JV Rl9ERUJVRwkJCQkvKiBFbmFibGUgYnVmZmVyIHBvb2wKIAkJCQkJCWRlYnVnZ2luZyB3aXRob3V0 IFVOSVZfREVCVUcgKi8KKyNkZWZpbmUgVU5JVl9CTE9CX0xJR0hUX0RFQlVHCQkJLyogRW5hYmxl IG9mZi1wYWdlIGNvbHVtbgorCQkJCQkJZGVidWdnaW5nIHdpdGhvdXQgVU5JVl9ERUJVRyAqLwog I2RlZmluZSBVTklWX0RFQlVHCQkJCS8qIEVuYWJsZSB1dF9hZCgpIGFzc2VydGlvbnMKIAkJCQkJ CWFuZCBkaXNhYmxlIFVOSVZfSU5MSU5FICovCiAjZGVmaW5lIFVOSVZfREVCVUdfTE9DS19WQUxJ REFURQkJLyogRW5hYmxlCiAJCQkJCQl1dF9hZChsb2NrX3JlY192YWxpZGF0ZV9wYWdlKCkpCiAJ CQkJCQlhc3NlcnRpb25zLiAqLwotI2RlZmluZSBVTklWX0RFQlVHX0ZJTEVfQUNDRVNTRVMJCS8q IERlYnVnIC5pYmQgZmlsZSBhY2Nlc3MKLQkJCQkJCShmaWVsZCBmaWxlX3BhZ2Vfd2FzX2ZyZWVk Ci0JCQkJCQlpbiBidWZfcGFnZV90KSAqLworI2RlZmluZSBVTklWX0RFQlVHX0ZJTEVfQUNDRVNT RVMJCS8qIEVuYWJsZSBmcmVlZCBibG9jayBhY2Nlc3MKKwkJCQkJCWRlYnVnZ2luZyB3aXRob3V0 IFVOSVZfREVCVUcgKi8KICNkZWZpbmUgVU5JVl9MUlVfREVCVUcJCQkJLyogZGVidWcgdGhlIGJ1 ZmZlciBwb29sIExSVSAqLwogI2RlZmluZSBVTklWX0hBU0hfREVCVUcJCQkJLyogZGVidWcgSEFT SF8gbWFjcm9zICovCiAjZGVmaW5lIFVOSVZfTElTVF9ERUJVRwkJCQkvKiBkZWJ1ZyBVVF9MSVNU XyBtYWNyb3MgKi8KCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cw aW5zLmMnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBpbnMuYwlyZXZpZDpqaW1teS55 YW5nQG9yYWNsZS5jb20tMjAxMTAyMDIwNzMwMTYtaXU4MnoxdWtuaXAxemF3ZworKysgYi9zdG9y YWdlL2lubm9iYXNlL3Jvdy9yb3cwaW5zLmMJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20t MjAxMTAyMDIxNDA4MzAteXp0a2llZGZqZDcybnZlOQpAQCAtMjE0Niw3ICsyMTQ2LDcgQEAgZnVu Y3Rpb25fZXhpdDoKIAogCQllcnIgPSBidHJfc3RvcmVfYmlnX3JlY19leHRlcm5fZmllbGRzKAog CQkJaW5kZXgsIGJ0cl9jdXJfZ2V0X2Jsb2NrKCZjdXJzb3IpLAotCQkJcmVjLCBvZmZzZXRzLCBi aWdfcmVjLCAmbXRyKTsKKwkJCXJlYywgb2Zmc2V0cywgJm10ciwgRkFMU0UsIGJpZ19yZWMpOwog CiAJCWlmIChtb2RpZnkpIHsKIAkJCWR0dXBsZV9iaWdfcmVjX2ZyZWUoYmlnX3JlYyk7Cgo9PT0g bW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHB1cmdlLmMnCi0tLSBhL3N0 b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBwdXJnZS5jCXJldmlkOmppbW15LnlhbmdAb3JhY2xlLmNv bS0yMDExMDIwMjA3MzAxNi1pdTgyejF1a25pcDF6YXdnCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2Uv cm93L3JvdzBwdXJnZS5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTEwMjAyMTQw ODMwLXl6dGtpZWRmamQ3Mm52ZTkKQEAgLTc2OSw3ICs3NjksNyBAQCByb3dfcHVyZ2VfcmVjb3Jk X2Z1bmMoCiBGZXRjaGVzIGFuIHVuZG8gbG9nIHJlY29yZCBhbmQgZG9lcyB0aGUgcHVyZ2UgZm9y IHRoZSByZWNvcmRlZCBvcGVyYXRpb24uCiBJZiBub25lIGxlZnQsIG9yIHRoZSBjdXJyZW50IHB1 cmdlIGNvbXBsZXRlZCwgcmV0dXJucyB0aGUgY29udHJvbCB0byB0aGUKIHBhcmVudCBub2RlLCB3 aGljaCBpcyBhbHdheXMgYSBxdWVyeSB0aHJlYWQgbm9kZS4gKi8KLXN0YXRpYworc3RhdGljIF9f YXR0cmlidXRlX18oKG5vbm51bGwpKQogdm9pZAogcm93X3B1cmdlKAogLyo9PT09PT0qLwpAQCAt Nzc3LDcgKzc3Nyw4IEBAIHJvd19wdXJnZSgKIAl0cnhfdW5kb19yZWNfdCoJdW5kb19yZWMsCS8q ITwgaW46IHJlY29yZCB0byBwdXJnZSAqLwogCXF1ZV90aHJfdCoJdGhyKQkJLyohPCBpbjogcXVl cnkgdGhyZWFkICovCiB7Ci0JdXRfYWQobm9kZSAmJiB0aHIpOworCXV0X2FkKG5vZGUpOworCXV0 X2FkKHRocik7CiAKIAlpZiAodW5kb19yZWMgIT0gJnRyeF9wdXJnZV9kdW1teV9yZWMpIHsKIAkJ aWJvb2wJdXBkYXRlZF9leHRlcm47Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFz ZS9yb3cvcm93MHVtb2QuYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHVtb2QuYwly ZXZpZDpqaW1teS55YW5nQG9yYWNsZS5jb20tMjAxMTAyMDIwNzMwMTYtaXU4MnoxdWtuaXAxemF3 ZworKysgYi9zdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwdW1vZC5jCXJldmlkOm1hcmtvLm1ha2Vs YUBvcmFjbGUuY29tLTIwMTEwMjAyMTQwODMwLXl6dGtpZWRmamQ3Mm52ZTkKQEAgLTE3Myw0MCAr MTczLDI2IEBAIHJvd191bmRvX21vZF9yZW1vdmVfY2x1c3RfbG93KAogCW10cl90KgkJbXRyLAkv KiE8IGluOiBtdHIgKi8KIAl1bGludAkJbW9kZSkJLyohPCBpbjogQlRSX01PRElGWV9MRUFGIG9y IEJUUl9NT0RJRllfVFJFRSAqLwogewotCWJ0cl9wY3VyX3QqCXBjdXI7CiAJYnRyX2N1cl90Kgli dHJfY3VyOwogCXVsaW50CQllcnI7Ci0JaWJvb2wJCXN1Y2Nlc3M7CiAKIAl1dF9hZChub2RlLT5y ZWNfdHlwZSA9PSBUUlhfVU5ET19VUERfREVMX1JFQyk7Ci0JcGN1ciA9ICYobm9kZS0+cGN1cik7 Ci0JYnRyX2N1ciA9IGJ0cl9wY3VyX2dldF9idHJfY3VyKHBjdXIpOwogCi0Jc3VjY2VzcyA9IGJ0 cl9wY3VyX3Jlc3RvcmVfcG9zaXRpb24obW9kZSwgcGN1ciwgbXRyKTsKKwkvKiBGaW5kIG91dCBp ZiB0aGUgcmVjb3JkIGhhcyBiZWVuIHB1cmdlZCBhbHJlYWR5CisJb3IgaWYgd2UgY2FuIHJlbW92 ZSBpdC4gKi8KIAotCWlmICghc3VjY2VzcykgeworCWlmICghYnRyX3BjdXJfcmVzdG9yZV9wb3Np dGlvbihtb2RlLCAmbm9kZS0+cGN1ciwgbXRyKQorCSAgICB8fCByb3dfdmVyc19tdXN0X3ByZXNl cnZlX2RlbF9tYXJrZWQobm9kZS0+bmV3X3RyeF9pZCwgbXRyKSkgewogCiAJCXJldHVybihEQl9T VUNDRVNTKTsKIAl9CiAKLQkvKiBGaW5kIG91dCBpZiB3ZSBjYW4gcmVtb3ZlIHRoZSB3aG9sZSBj bHVzdGVyZWQgaW5kZXggcmVjb3JkICovCi0KLQlpZiAobm9kZS0+cmVjX3R5cGUgPT0gVFJYX1VO RE9fVVBEX0RFTF9SRUMKLQkgICAgJiYgIXJvd192ZXJzX211c3RfcHJlc2VydmVfZGVsX21hcmtl ZChub2RlLT5uZXdfdHJ4X2lkLCBtdHIpKSB7Ci0KLQkJLyogT2ssIHdlIGNhbiByZW1vdmUgKi8K LQl9IGVsc2UgewotCQlyZXR1cm4oREJfU1VDQ0VTUyk7Ci0JfQorCWJ0cl9jdXIgPSBidHJfcGN1 cl9nZXRfYnRyX2N1cigmbm9kZS0+cGN1cik7CiAKIAlpZiAobW9kZSA9PSBCVFJfTU9ESUZZX0xF QUYpIHsKLQkJc3VjY2VzcyA9IGJ0cl9jdXJfb3B0aW1pc3RpY19kZWxldGUoYnRyX2N1ciwgbXRy KTsKLQotCQlpZiAoc3VjY2VzcykgewotCQkJZXJyID0gREJfU1VDQ0VTUzsKLQkJfSBlbHNlIHsK LQkJCWVyciA9IERCX0ZBSUw7Ci0JCX0KKwkJZXJyID0gYnRyX2N1cl9vcHRpbWlzdGljX2RlbGV0 ZShidHJfY3VyLCBtdHIpCisJCQk/IERCX1NVQ0NFU1MKKwkJCTogREJfRkFJTDsKIAl9IGVsc2Ug ewogCQl1dF9hZChtb2RlID09IEJUUl9NT0RJRllfVFJFRSk7CiAKCj09PSBtb2RpZmllZCBmaWxl ICdzdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwdXBkLmMnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2Uv cm93L3JvdzB1cGQuYwlyZXZpZDpqaW1teS55YW5nQG9yYWNsZS5jb20tMjAxMTAyMDIwNzMwMTYt aXU4MnoxdWtuaXAxemF3ZworKysgYi9zdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwdXBkLmMJcmV2 aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTAyMDIxNDA4MzAteXp0a2llZGZqZDcybnZl OQpAQCAtMTk3OCw3ICsxOTc4LDcgQEAgcm93X3VwZF9jbHVzdF9yZWMoCiAJCQlpbmRleCwgYnRy X2N1cl9nZXRfYmxvY2soYnRyX2N1ciksIHJlYywKIAkJCXJlY19nZXRfb2Zmc2V0cyhyZWMsIGlu ZGV4LCBvZmZzZXRzXywKIAkJCQkJVUxJTlRfVU5ERUZJTkVELCAmaGVhcCksCi0JCQliaWdfcmVj LCBtdHIpOworCQkJbXRyLCBUUlVFLCBiaWdfcmVjKTsKIAkJbXRyX2NvbW1pdChtdHIpOwogCX0K IAoK --===============0588450173== 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/5.6-innodb/ # testament_sha1: af47a1829d5c9b809e954c83c1b37c6939c58efd # timestamp: 2011-02-02 16:12:59 +0200 # source_branch: file:///home/marko/innobase/dev/mysql2a/5.5-innodb/ # base_revision_id: jimmy.yang@stripped\ # iu82z1uknip1zawg # # Begin bundle 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 --===============0588450173==--