From: marko.makela Date: May 14 2010 1:31pm Subject: bzr commit into mysql-trunk-innodb branch (marko.makela:3096) List-Archive: http://lists.mysql.com/commits/108336 Message-Id: <201005141332.o4ECtP8P029878@rcsinet13.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1548427447==" --===============1548427447== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline I0F0IGZpbGU6Ly8vaG9tZS9tYXJrby9pbm5vYmFzZS9kZXYvbXlzcWwvNS41LWlubm9kYi8gYmFz ZWQgb24gcmV2aWQ6dmFzaWwuZGltb3ZAb3JhY2xlLmNvbS0yMDEwMDUxMzA3NTMwOS1jcWIzaHdq Mm1pYXBjd216CgogMzA5NiBNYXJrbyBNw6RrZWzDpAkyMDEwLTA1LTE0CiAgICAgIE1lcmdlIGZy b20gbXlzcWwtNS4xLWlubm9kYjoKICAgICAgCiAgICAgIFBvc3QtbWVyZ2UgZml4ZXM6IFJlbW92 ZSB0aGUgTVlTUUxfVkVSU0lPTl9JRCBjaGVja3MsIGJlY2F1c2UgdGhleSBvbmx5CiAgICAgIGFw cGx5IHRvIHRoZSBJbm5vREIgUGx1Z2luLiBGaXggcG90ZW50aWFsIHJhY2UgY29uZGl0aW9uIGFj Y2Vzc2luZwogICAgICB0cngtPm9wX2luZm8gYW5kIHRyeC0+ZGV0YWlsZWRfZXJyb3IuCiAgICAg IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogICAgICByZXZubzogMzQ2NgogICAgICByZXZpc2lvbi1pZDogbWFya28ubWFrZWxhQG9y YWNsZS5jb20tMjAxMDA1MTQxMzA4MTUteW03ajdjZnU4OHJvNmttNAogICAgICBwYXJlbnQ6IG1h cmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTAwNTE0MTMwMjI4LW4zbjQybnc3aHQ3OGswd24KICAg ICAgY29tbWl0dGVyOiBNYXJrbyBNw6RrZWzDpCA8bWFya28ubWFrZWxhQG9yYWNsZS5jb20+CiAg ICAgIGJyYW5jaCBuaWNrOiBteXNxbC01LjEtaW5ub2RiMgogICAgICB0aW1lc3RhbXA6IEZyaSAy MDEwLTA1LTE0IDE2OjA4OjE1ICswMzAwCiAgICAgIG1lc3NhZ2U6CiAgICAgICAgTWFrZSB0aGUg SW5ub0RCIEZPUkVJR04gS0VZIHBhcnNlciB1bmRlcnN0YW5kIG11bHRpLXN0YXRlbWVudHMuIChC dWcgIzQ4MDI0KQogICAgICAgIEFsc28gbWFrZSBJbm5vREIgdGhpbmtzIHRoYXQgLyovIG9ubHkg c3RhcnRzIGEgY29tbWVudC4gKEJ1ZyAjNTM2NDQpLgogICAgICAKICAgICAgICBUaGlzIGZpeGVz IHRoZSBidWdzIGluIHRoZSBJbm5vREIgUGx1Z2luLgogICAgICAKICAgICAgICBoYV9pbm5vZGIu aDogVXNlIHRyeF9xdWVyeV9zdHJpbmcoKSBpbnN0ZWFkIG9mIHRyeF9xdWVyeSgpIHdoZW4KICAg ICAgICBhdmFpbGFibGUgKE15U1FMIDUuMS40MiBvciBsYXRlcikuCiAgICAgIAogICAgICAgIGlu bm9iYXNlX2dldF9zdG10KCk6IE5ldyBmdW5jdGlvbiwgdG8gcmV0cmlldmUgdGhlIGN1cnJlbnRs eSBydW5uaW5nCiAgICAgICAgU1FMIHN0YXRlbWVudC4KICAgICAgCiAgICAgICAgc3RydWN0IHRy eF9zdHJ1Y3Q6IFJlbW92ZSBteXNxbF9xdWVyeV9zdHIuIFVzZSBpbm5vYmFzZV9nZXRfc3RtdCgp IGluc3RlYWQuCiAgICAgIAogICAgICAgIGRpY3Rfc3RyaXBfY29tbWVudHMoKTogQWRkIGFuZCBv YnNlcnZlIHRoZSBwYXJhbWV0ZXIgc3FsX2xlbmd0aC4gVHJlYXQKICAgICAgICAvKi8gYXMgdGhl IHN0YXJ0IG9mIGEgY29tbWVudC4KICAgICAgCiAgICAgICAgZGljdF9jcmVhdGVfZm9yZWlnbl9j b25zdHJhaW50cygpLCByb3dfdGFibGVfYWRkX2ZvcmVpZ25fY29uc3RyYWludHMoKToKICAgICAg ICBBZGQgdGhlIHBhcmFtZXRlciBzcWxfbGVuZ3RoLgoKICAgIGFkZGVkOgogICAgICBteXNxbC10 ZXN0L3N1aXRlL2lubm9kYi9yL2lubm9kYl9idWc0ODAyNC5yZXN1bHQKICAgICAgbXlzcWwtdGVz dC9zdWl0ZS9pbm5vZGIvdC9pbm5vZGJfYnVnNDgwMjQudGVzdAogICAgbW9kaWZpZWQ6CiAgICAg IHN0b3JhZ2UvaW5ub2Jhc2UvZGljdC9kaWN0MGRpY3QuYwogICAgICBzdG9yYWdlL2lubm9iYXNl L2hhbmRsZXIvaGFfaW5ub2RiLmNjCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYV9p bm5vZGIuaAogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZGljdDBkaWN0LmgKICAgICAg c3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2hhX3Byb3RvdHlwZXMuaAogICAgICBzdG9yYWdlL2lu bm9iYXNlL2luY2x1ZGUvcm93MG15c3FsLmgKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRl L3RyeDB0cnguaAogICAgICBzdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwbXlzcWwuYwogICAgICBz dG9yYWdlL2lubm9iYXNlL3RyeC90cngwaV9zLmMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS90cngv dHJ4MHRyeC5jCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2lubm9kYi9yL2lubm9k Yl9idWc0ODAyNC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3IvaW5ub2Ri X2J1ZzQ4MDI0LnJlc3VsdAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRl c3Qvc3VpdGUvaW5ub2RiL3IvaW5ub2RiX2J1ZzQ4MDI0LnJlc3VsdAlyZXZpZDptYXJrby5tYWtl bGFAb3JhY2xlLmNvbS0yMDEwMDUxNDEzMzE0NC1mZTBsMGI4OXRlYTR4NHV1CkBAIC0wLDAgKzEs MTAgQEAKK0NSRUFURSBUQUJMRSBidWc0ODAyNChhIGludCBQUklNQVJZIEtFWSxiIGludCBOT1Qg TlVMTCxLRVkoYikpIEVOR0lORT1Jbm5vREI7CitDUkVBVEUgVEFCTEUgYnVnNDgwMjRfYihiIGlu dCBQUklNQVJZIEtFWSkgRU5HSU5FPUlubm9EQjsKK0FMVEVSIFRBQkxFIGJ1ZzQ4MDI0IC8qL0FE RCBDT05TVFJBSU5UIEZPUkVJR04gS0VZKGMpIFJFRkVSRU5DRVMoYSksLyovCitBREQgQ09OU1RS QUlOVCBGT1JFSUdOIEtFWShiKSBSRUZFUkVOQ0VTIGJ1ZzQ4MDI0X2IoYik7CitEUk9QIFRBQkxF IGJ1ZzQ4MDI0LGJ1ZzQ4MDI0X2I7CitDUkVBVEUgVEFCTEUgYnVnNDgwMjQoYSBpbnQgUFJJTUFS WSBLRVksYiBpbnQgTk9UIE5VTEwsS0VZKGIpKSBFTkdJTkU9SW5ub0RCOworQ1JFQVRFIFRBQkxF IGJ1ZzQ4MDI0X2IoYiBpbnQgUFJJTUFSWSBLRVkpIEVOR0lORT1Jbm5vREI7CitBTFRFUiBUQUJM RSBidWc0ODAyNCAvKi9BREQgQ09OU1RSQUlOVCBGT1JFSUdOIEtFWShjKSBSRUZFUkVOQ0VTKGEp LC8qLworQUREIENPTlNUUkFJTlQgRk9SRUlHTiBLRVkoYikgUkVGRVJFTkNFUyBidWc0ODAyNF9i KGIpfAorRFJPUCBUQUJMRSBidWc0ODAyNCxidWc0ODAyNF9iOwoKPT09IGFkZGVkIGZpbGUgJ215 c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3QvaW5ub2RiX2J1ZzQ4MDI0LnRlc3QnCi0tLSBhL215c3Fs LXRlc3Qvc3VpdGUvaW5ub2RiL3QvaW5ub2RiX2J1ZzQ4MDI0LnRlc3QJMTk3MC0wMS0wMSAwMDow MDowMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9kYl9idWc0ODAy NC50ZXN0CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTAwNTE0MTMzMTQ0LWZlMGww Yjg5dGVhNHg0dXUKQEAgLTAsMCArMSwyMCBAQAorIyBCdWcgIzQ4MDI0IElubm9kYiBkb2Vzbid0 IHdvcmsgd2l0aCBtdWx0aS1zdGF0ZW1lbnRzCisKKy0tc291cmNlIGluY2x1ZGUvaGF2ZV9pbm5v ZGIuaW5jCisKK0NSRUFURSBUQUJMRSBidWc0ODAyNChhIGludCBQUklNQVJZIEtFWSxiIGludCBO T1QgTlVMTCxLRVkoYikpIEVOR0lORT1Jbm5vREI7CitDUkVBVEUgVEFCTEUgYnVnNDgwMjRfYihi IGludCBQUklNQVJZIEtFWSkgRU5HSU5FPUlubm9EQjsKKyMgQnVnICM1MzY0NCBJbm5vREIgdGhp bmtzIHRoYXQgLyovIHN0YXJ0cyBhbmQgZW5kcyBhIGNvbW1lbnQKK0FMVEVSIFRBQkxFIGJ1ZzQ4 MDI0IC8qL0FERCBDT05TVFJBSU5UIEZPUkVJR04gS0VZKGMpIFJFRkVSRU5DRVMoYSksLyovCitB REQgQ09OU1RSQUlOVCBGT1JFSUdOIEtFWShiKSBSRUZFUkVOQ0VTIGJ1ZzQ4MDI0X2IoYik7CisK K0RST1AgVEFCTEUgYnVnNDgwMjQsYnVnNDgwMjRfYjsKKworZGVsaW1pdGVyIHw7CitDUkVBVEUg VEFCTEUgYnVnNDgwMjQoYSBpbnQgUFJJTUFSWSBLRVksYiBpbnQgTk9UIE5VTEwsS0VZKGIpKSBF TkdJTkU9SW5ub0RCOworQ1JFQVRFIFRBQkxFIGJ1ZzQ4MDI0X2IoYiBpbnQgUFJJTUFSWSBLRVkp IEVOR0lORT1Jbm5vREI7CitBTFRFUiBUQUJMRSBidWc0ODAyNCAvKi9BREQgQ09OU1RSQUlOVCBG T1JFSUdOIEtFWShjKSBSRUZFUkVOQ0VTKGEpLC8qLworQUREIENPTlNUUkFJTlQgRk9SRUlHTiBL RVkoYikgUkVGRVJFTkNFUyBidWc0ODAyNF9iKGIpfAorZGVsaW1pdGVyIDt8CisKK0RST1AgVEFC TEUgYnVnNDgwMjQsYnVnNDgwMjRfYjsKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9i YXNlL2RpY3QvZGljdDBkaWN0LmMnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvZGljdC9kaWN0MGRp Y3QuYwlyZXZpZDp2YXNpbC5kaW1vdkBvcmFjbGUuY29tLTIwMTAwNTEzMDc1MzA5LWNxYjNod2oy bWlhcGN3bXoKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9kaWN0L2RpY3QwZGljdC5jCXJldmlkOm1h cmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTAwNTE0MTMzMTQ0LWZlMGwwYjg5dGVhNHg0dXUKQEAg LTMwMjMsMjUgKzMwMjMsMjggQEAgc3RhdGljCiBjaGFyKgogZGljdF9zdHJpcF9jb21tZW50cygK IC8qPT09PT09PT09PT09PT09PSovCi0JY29uc3QgY2hhcioJc3FsX3N0cmluZykJLyohPCBpbjog U1FMIHN0cmluZyAqLworCWNvbnN0IGNoYXIqCXNxbF9zdHJpbmcsCS8qITwgaW46IFNRTCBzdHJp bmcgKi8KKwlzaXplX3QJCXNxbF9sZW5ndGgpCS8qITwgaW46IGxlbmd0aCBvZiBzcWxfc3RyaW5n ICovCiB7CiAJY2hhcioJCXN0cjsKIAljb25zdCBjaGFyKglzcHRyOworCWNvbnN0IGNoYXIqCWVw dHIJPSBzcWxfc3RyaW5nICsgc3FsX2xlbmd0aDsKIAljaGFyKgkJcHRyOwogCS8qIHVuY2xvc2Vk IHF1b3RlIGNoYXJhY3RlciAoMCBpZiBub25lKSAqLwogCWNoYXIJCXF1b3RlCT0gMDsKIAotCXN0 ciA9IG1lbV9hbGxvYyhzdHJsZW4oc3FsX3N0cmluZykgKyAxKTsKKwlzdHIgPSBtZW1fYWxsb2Mo c3FsX2xlbmd0aCArIDEpOwogCiAJc3B0ciA9IHNxbF9zdHJpbmc7CiAJcHRyID0gc3RyOwogCiAJ Zm9yICg7Oykgewogc2Nhbl9tb3JlOgotCQlpZiAoKnNwdHIgPT0gJ1wwJykgeworCQlpZiAoc3B0 ciA+PSBlcHRyIHx8ICpzcHRyID09ICdcMCcpIHsKK2VuZF9vZl9zdHJpbmc6CiAJCQkqcHRyID0g J1wwJzsKIAotCQkJdXRfYShwdHIgPD0gc3RyICsgc3RybGVuKHNxbF9zdHJpbmcpKTsKKwkJCXV0 X2EocHRyIDw9IHN0ciArIHNxbF9sZW5ndGgpOwogCiAJCQlyZXR1cm4oc3RyKTsKIAkJfQpAQCAt MzA2MCwzMCArMzA2MywzNSBAQCBzY2FuX21vcmU6CiAJCQkgICB8fCAoc3B0clswXSA9PSAnLScg JiYgc3B0clsxXSA9PSAnLScKIAkJCSAgICAgICAmJiBzcHRyWzJdID09ICcgJykpIHsKIAkJCWZv ciAoOzspIHsKKwkJCQlpZiAoKytzcHRyID49IGVwdHIpIHsKKwkJCQkJZ290byBlbmRfb2Zfc3Ry aW5nOworCQkJCX0KKwogCQkJCS8qIEluIFVuaXggYSBuZXdsaW5lIGlzIDB4MEEgd2hpbGUgaW4g V2luZG93cwogCQkJCWl0IGlzIDB4MEQgZm9sbG93ZWQgYnkgMHgwQSAqLwogCi0JCQkJaWYgKCpz cHRyID09IChjaGFyKTB4MEEKLQkJCQkgICAgfHwgKnNwdHIgPT0gKGNoYXIpMHgwRAotCQkJCSAg ICB8fCAqc3B0ciA9PSAnXDAnKSB7Ci0KKwkJCQlzd2l0Y2ggKCpzcHRyKSB7CisJCQkJY2FzZSAo Y2hhcikgMFgwQToKKwkJCQljYXNlIChjaGFyKSAweDBEOgorCQkJCWNhc2UgJ1wwJzoKIAkJCQkJ Z290byBzY2FuX21vcmU7CiAJCQkJfQotCi0JCQkJc3B0cisrOwogCQkJfQogCQl9IGVsc2UgaWYg KCFxdW90ZSAmJiAqc3B0ciA9PSAnLycgJiYgKihzcHRyICsgMSkgPT0gJyonKSB7CisJCQlzcHRy ICs9IDI7CiAJCQlmb3IgKDs7KSB7Ci0JCQkJaWYgKCpzcHRyID09ICcqJyAmJiAqKHNwdHIgKyAx KSA9PSAnLycpIHsKLQotCQkJCQlzcHRyICs9IDI7Ci0KLQkJCQkJZ290byBzY2FuX21vcmU7CisJ CQkJaWYgKHNwdHIgPj0gZXB0cikgeworCQkJCQlnb3RvIGVuZF9vZl9zdHJpbmc7CiAJCQkJfQog Ci0JCQkJaWYgKCpzcHRyID09ICdcMCcpIHsKLQorCQkJCXN3aXRjaCAoKnNwdHIpIHsKKwkJCQlj YXNlICdcMCc6CiAJCQkJCWdvdG8gc2Nhbl9tb3JlOworCQkJCWNhc2UgJyonOgorCQkJCQlpZiAo c3B0clsxXSA9PSAnLycpIHsKKwkJCQkJCXNwdHIgKz0gMjsKKwkJCQkJCWdvdG8gc2Nhbl9tb3Jl OworCQkJCQl9CiAJCQkJfQogCiAJCQkJc3B0cisrOwpAQCAtMzc2NCw2ICszNzcyLDcgQEAgZGlj dF9jcmVhdGVfZm9yZWlnbl9jb25zdHJhaW50cygKIAkJCQkJbmFtZSBiZWZvcmUgaXQ6IHRlc3Qu dGFibGUyOyB0aGUKIAkJCQkJZGVmYXVsdCBkYXRhYmFzZSBpZCB0aGUgZGF0YWJhc2Ugb2YKIAkJ CQkJcGFyYW1ldGVyIG5hbWUgKi8KKwlzaXplX3QJCXNxbF9sZW5ndGgsCS8qITwgaW46IGxlbmd0 aCBvZiBzcWxfc3RyaW5nICovCiAJY29uc3QgY2hhcioJbmFtZSwJCS8qITwgaW46IHRhYmxlIGZ1 bGwgbmFtZSBpbiB0aGUKIAkJCQkJbm9ybWFsaXplZCBmb3JtCiAJCQkJCWRhdGFiYXNlX25hbWUv dGFibGVfbmFtZSAqLwpAQCAtMzc3OCw3ICszNzg3LDcgQEAgZGljdF9jcmVhdGVfZm9yZWlnbl9j b25zdHJhaW50cygKIAl1dF9hKHRyeCk7CiAJdXRfYSh0cngtPm15c3FsX3RoZCk7CiAKLQlzdHIg PSBkaWN0X3N0cmlwX2NvbW1lbnRzKHNxbF9zdHJpbmcpOworCXN0ciA9IGRpY3Rfc3RyaXBfY29t bWVudHMoc3FsX3N0cmluZywgc3FsX2xlbmd0aCk7CiAJaGVhcCA9IG1lbV9oZWFwX2NyZWF0ZSgx MDAwMCk7CiAKIAllcnIgPSBkaWN0X2NyZWF0ZV9mb3JlaWduX2NvbnN0cmFpbnRzX2xvdygKQEAg LTM4MTEsNiArMzgyMCw3IEBAIGRpY3RfZm9yZWlnbl9wYXJzZV9kcm9wX2NvbnN0cmFpbnRzKAog CWRpY3RfZm9yZWlnbl90KgkJZm9yZWlnbjsKIAlpYm9vbAkJCXN1Y2Nlc3M7CiAJY2hhcioJCQlz dHI7CisJc2l6ZV90CQkJbGVuOwogCWNvbnN0IGNoYXIqCQlwdHI7CiAJY29uc3QgY2hhcioJCWlk OwogCUZJTEUqCQkJZWYJPSBkaWN0X2ZvcmVpZ25fZXJyX2ZpbGU7CkBAIC0zODI1LDcgKzM4MzUs MTAgQEAgZGljdF9mb3JlaWduX3BhcnNlX2Ryb3BfY29uc3RyYWludHMoCiAKIAkqY29uc3RyYWlu dHNfdG9fZHJvcCA9IG1lbV9oZWFwX2FsbG9jKGhlYXAsIDEwMDAgKiBzaXplb2YoY2hhciopKTsK IAotCXN0ciA9IGRpY3Rfc3RyaXBfY29tbWVudHMoKih0cngtPm15c3FsX3F1ZXJ5X3N0cikpOwor CXB0ciA9IGlubm9iYXNlX2dldF9zdG10KHRyeC0+bXlzcWxfdGhkLCAmbGVuKTsKKworCXN0ciA9 IGRpY3Rfc3RyaXBfY29tbWVudHMocHRyLCBsZW4pOworCiAJcHRyID0gc3RyOwogCiAJdXRfYWQo bXV0ZXhfb3duKCYoZGljdF9zeXMtPm11dGV4KSkpOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3Jh Z2UvaW5ub2Jhc2UvaGFuZGxlci9oYV9pbm5vZGIuY2MnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2Uv aGFuZGxlci9oYV9pbm5vZGIuY2MJcmV2aWQ6dmFzaWwuZGltb3ZAb3JhY2xlLmNvbS0yMDEwMDUx MzA3NTMwOS1jcWIzaHdqMm1pYXBjd216CisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9o YV9pbm5vZGIuY2MJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMDA1MTQxMzMxNDQt ZmUwbDBiODl0ZWE0eDR1dQpAQCAtMTEzMyw2ICsxMTMzLDIzIEBAIGlubm9iYXNlX2dldF9jaGFy c2V0KAogCXJldHVybih0aGRfY2hhcnNldCgoVEhEKikgbXlzcWxfdGhkKSk7CiB9CiAKKy8qKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqLy8qKgorRGV0ZXJtaW5lcyB0aGUgY3VycmVudCBTUUwgc3RhdGVtZW50LgorQHJl dHVybglTUUwgc3RhdGVtZW50IHN0cmluZyAqLworZXh0ZXJuICJDIiBVTklWX0lOVEVSTgorY29u c3QgY2hhcioKK2lubm9iYXNlX2dldF9zdG10KAorLyo9PT09PT09PT09PT09PSovCisJdm9pZCoJ bXlzcWxfdGhkLAkvKiE8IGluOiBNeVNRTCB0aHJlYWQgaGFuZGxlICovCisJc2l6ZV90KglsZW5n dGgpCQkvKiE8IG91dDogbGVuZ3RoIG9mIHRoZSBTUUwgc3RhdGVtZW50ICovCit7CisJTEVYX1NU UklORyogc3RtdDsKKworCXN0bXQgPSB0aGRfcXVlcnlfc3RyaW5nKChUSEQqKSBteXNxbF90aGQp OworCSpsZW5ndGggPSBzdG10LT5sZW5ndGg7CisJcmV0dXJuKHN0bXQtPnN0cik7Cit9CisKICNp ZiBkZWZpbmVkIChfX1dJTl9fKSAmJiBkZWZpbmVkIChNWVNRTF9EWU5BTUlDX1BMVUdJTikKIGV4 dGVybiBNWVNRTF9QTFVHSU5fSU1QT1JUIE1ZX1RNUERJUiBteXNxbF90bXBkaXJfbGlzdDsKIC8q KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqLy8qKgpAQCAtMTQ2NSw3ICsxNDgyLDYgQEAgaW5ub2Jhc2VfdHJ4X2FsbG9jYXRl KAogCXRyeCA9IHRyeF9hbGxvY2F0ZV9mb3JfbXlzcWwoKTsKIAogCXRyeC0+bXlzcWxfdGhkID0g dGhkOwotCXRyeC0+bXlzcWxfcXVlcnlfc3RyID0gdGhkX3F1ZXJ5KHRoZCk7CiAKIAlpbm5vYmFz ZV90cnhfaW5pdCh0aGQsIHRyeCk7CiAKQEAgLTY2MzIsNiArNjY0OCw4IEBAIGhhX2lubm9iYXNl OjpjcmVhdGUoCiAJLyogQ2FjaGUgdGhlIHZhbHVlIG9mIGlubm9kYl9maWxlX2Zvcm1hdCwgaW4g Y2FzZSBpdCBpcwogCW1vZGlmaWVkIGJ5IGFub3RoZXIgdGhyZWFkIHdoaWxlIHRoZSB0YWJsZSBp cyBiZWluZyBjcmVhdGVkLiAqLwogCWNvbnN0IHVsaW50CWZpbGVfZm9ybWF0ID0gc3J2X2ZpbGVf Zm9ybWF0OworCWNvbnN0IGNoYXIqCXN0bXQ7CisJc2l6ZV90CQlzdG10X2xlbjsKIAogCURCVUdf RU5URVIoImhhX2lubm9iYXNlOjpjcmVhdGUiKTsKIApAQCAtNjkwOCw5ICs2OTI2LDExIEBAIGhh X2lubm9iYXNlOjpjcmVhdGUoCiAJCX0KIAl9CiAKLQlpZiAoKnRyeC0+bXlzcWxfcXVlcnlfc3Ry KSB7Ci0JCWVycm9yID0gcm93X3RhYmxlX2FkZF9mb3JlaWduX2NvbnN0cmFpbnRzKHRyeCwKLQkJ CSp0cngtPm15c3FsX3F1ZXJ5X3N0ciwgbm9ybV9uYW1lLAorCXN0bXQgPSBpbm5vYmFzZV9nZXRf c3RtdCh0aGQsICZzdG10X2xlbik7CisKKwlpZiAoc3RtdCkgeworCQllcnJvciA9IHJvd190YWJs ZV9hZGRfZm9yZWlnbl9jb25zdHJhaW50cygKKwkJCXRyeCwgc3RtdCwgc3RtdF9sZW4sIG5vcm1f bmFtZSwKIAkJCWNyZWF0ZV9pbmZvLT5vcHRpb25zICYgSEFfTEVYX0NSRUFURV9UTVBfVEFCTEUp OwogCiAJCWVycm9yID0gY29udmVydF9lcnJvcl9jb2RlX3RvX215c3FsKGVycm9yLCBmbGFncywg TlVMTCk7CkBAIC03MTk1LDcgKzcyMTUsNiBAQCBpbm5vYmFzZV9kcm9wX2RhdGFiYXNlKAogCS8q IEluIHRoZSBXaW5kb3dzIHBsdWdpbiwgdGhkID0gY3VycmVudF90aGQgaXMgYWx3YXlzIE5VTEwg Ki8KIAl0cnggPSB0cnhfYWxsb2NhdGVfZm9yX215c3FsKCk7CiAJdHJ4LT5teXNxbF90aGQgPSBO VUxMOwotCXRyeC0+bXlzcWxfcXVlcnlfc3RyID0gTlVMTDsKICNlbHNlCiAJdHJ4ID0gaW5ub2Jh c2VfdHJ4X2FsbG9jYXRlKHRoZCk7CiAjZW5kaWYKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdl L2lubm9iYXNlL2hhbmRsZXIvaGFfaW5ub2RiLmgnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaGFu ZGxlci9oYV9pbm5vZGIuaAlyZXZpZDp2YXNpbC5kaW1vdkBvcmFjbGUuY29tLTIwMTAwNTEzMDc1 MzA5LWNxYjNod2oybWlhcGN3bXoKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9oYW5kbGVyL2hhX2lu bm9kYi5oCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTAwNTE0MTMzMTQ0LWZlMGww Yjg5dGVhNHg0dXUKQEAgLTIzMSw3ICsyMzEsNyBAQCB0aGUgZGVmaW5pdGlvbnMgYXJlIGJyYWNr ZXRlZCB3aXRoICNpZmRlCiAKIGV4dGVybiAiQyIgewogc3RydWN0IGNoYXJzZXRfaW5mb19zdCAq dGhkX2NoYXJzZXQoTVlTUUxfVEhEIHRoZCk7Ci1jaGFyICoqdGhkX3F1ZXJ5KE1ZU1FMX1RIRCB0 aGQpOworTEVYX1NUUklORyAqdGhkX3F1ZXJ5X3N0cmluZyhNWVNRTF9USEQgdGhkKTsKIAogLyoq IEdldCB0aGUgZmlsZSBuYW1lIG9mIHRoZSBNeVNRTCBiaW5sb2cuCiAgKiBAcmV0dXJuIHRoZSBu YW1lIG9mIHRoZSBiaW5sb2cgZmlsZQoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jh c2UvaW5jbHVkZS9kaWN0MGRpY3QuaCcKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2Rp Y3QwZGljdC5oCXJldmlkOnZhc2lsLmRpbW92QG9yYWNsZS5jb20tMjAxMDA1MTMwNzUzMDktY3Fi M2h3ajJtaWFwY3dtegorKysgYi9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZGljdDBkaWN0LmgJ cmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMDA1MTQxMzMxNDQtZmUwbDBiODl0ZWE0 eDR1dQpAQCAtMzUyLDYgKzM1Miw3IEBAIGRpY3RfY3JlYXRlX2ZvcmVpZ25fY29uc3RyYWludHMo CiAJCQkJCW5hbWUgYmVmb3JlIGl0OiB0ZXN0LnRhYmxlMjsgdGhlCiAJCQkJCWRlZmF1bHQgZGF0 YWJhc2UgaWQgdGhlIGRhdGFiYXNlIG9mCiAJCQkJCXBhcmFtZXRlciBuYW1lICovCisJc2l6ZV90 CQlzcWxfbGVuZ3RoLAkvKiE8IGluOiBsZW5ndGggb2Ygc3FsX3N0cmluZyAqLwogCWNvbnN0IGNo YXIqCW5hbWUsCQkvKiE8IGluOiB0YWJsZSBmdWxsIG5hbWUgaW4gdGhlCiAJCQkJCW5vcm1hbGl6 ZWQgZm9ybQogCQkJCQlkYXRhYmFzZV9uYW1lL3RhYmxlX25hbWUgKi8KCj09PSBtb2RpZmllZCBm aWxlICdzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvaGFfcHJvdG90eXBlcy5oJwotLS0gYS9zdG9y YWdlL2lubm9iYXNlL2luY2x1ZGUvaGFfcHJvdG90eXBlcy5oCXJldmlkOnZhc2lsLmRpbW92QG9y YWNsZS5jb20tMjAxMDA1MTMwNzUzMDktY3FiM2h3ajJtaWFwY3dtegorKysgYi9zdG9yYWdlL2lu bm9iYXNlL2luY2x1ZGUvaGFfcHJvdG90eXBlcy5oCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUu Y29tLTIwMTAwNTE0MTMzMTQ0LWZlMGwwYjg5dGVhNHg0dXUKQEAgLTIxNSwxMSArMjE1LDIxIEBA IGlubm9iYXNlX2Nhc2Vkbl9zdHIoCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIERldGVybWluZXMgdGhl IGNvbm5lY3Rpb24gY2hhcmFjdGVyIHNldC4KIEByZXR1cm4JY29ubmVjdGlvbiBjaGFyYWN0ZXIg c2V0ICovCitVTklWX0lOVEVSTgogc3RydWN0IGNoYXJzZXRfaW5mb19zdCoKIGlubm9iYXNlX2dl dF9jaGFyc2V0KAogLyo9PT09PT09PT09PT09PT09PSovCiAJdm9pZCoJbXlzcWxfdGhkKTsJLyoh PCBpbjogTXlTUUwgdGhyZWFkIGhhbmRsZSAqLwotCisvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKK0RldGVy bWluZXMgdGhlIGN1cnJlbnQgU1FMIHN0YXRlbWVudC4KK0ByZXR1cm4JU1FMIHN0YXRlbWVudCBz dHJpbmcgKi8KK1VOSVZfSU5URVJOCitjb25zdCBjaGFyKgoraW5ub2Jhc2VfZ2V0X3N0bXQoCisv Kj09PT09PT09PT09PT09Ki8KKwl2b2lkKglteXNxbF90aGQsCS8qITwgaW46IE15U1FMIHRocmVh ZCBoYW5kbGUgKi8KKwlzaXplX3QqCWxlbmd0aCkJCS8qITwgb3V0OiBsZW5ndGggb2YgdGhlIFNR TCBzdGF0ZW1lbnQgKi8KKwlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CiAvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8q KgogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGZpbmQgdGhlIHN0b3JhZ2UgbGVuZ3RoIGluIGJ5 dGVzIG9mIHRoZSBmaXJzdCBuCiBjaGFyYWN0ZXJzIGZvciBwcmVmaXggaW5kZXhlcyB1c2luZyBh IG11bHRpYnl0ZSBjaGFyYWN0ZXIgc2V0LiBUaGUgZnVuY3Rpb24KCj09PSBtb2RpZmllZCBmaWxl ICdzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvcm93MG15c3FsLmgnCi0tLSBhL3N0b3JhZ2UvaW5u b2Jhc2UvaW5jbHVkZS9yb3cwbXlzcWwuaAlyZXZpZDp2YXNpbC5kaW1vdkBvcmFjbGUuY29tLTIw MTAwNTEzMDc1MzA5LWNxYjNod2oybWlhcGN3bXoKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9pbmNs dWRlL3JvdzBteXNxbC5oCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTAwNTE0MTMz MTQ0LWZlMGwwYjg5dGVhNHg0dXUKQEAgLTQwMyw2ICs0MDMsNyBAQCByb3dfdGFibGVfYWRkX2Zv cmVpZ25fY29uc3RyYWludHMoCiAJCQkJRk9SRUlHTiBLRVkgKGEsIGIpIFJFRkVSRU5DRVMgdGFi bGUyKGMsIGQpLAogCQkJCQl0YWJsZTIgY2FuIGJlIHdyaXR0ZW4gYWxzbyB3aXRoIHRoZQogCQkJ CQlkYXRhYmFzZSBuYW1lIGJlZm9yZSBpdDogdGVzdC50YWJsZTIgKi8KKwlzaXplX3QJCXNxbF9s ZW5ndGgsCS8qITwgaW46IGxlbmd0aCBvZiBzcWxfc3RyaW5nICovCiAJY29uc3QgY2hhcioJbmFt ZSwJCS8qITwgaW46IHRhYmxlIGZ1bGwgbmFtZSBpbiB0aGUKIAkJCQkJbm9ybWFsaXplZCBmb3Jt CiAJCQkJCWRhdGFiYXNlX25hbWUvdGFibGVfbmFtZSAqLwoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0 b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS90cngwdHJ4LmgnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2Uv aW5jbHVkZS90cngwdHJ4LmgJcmV2aWQ6dmFzaWwuZGltb3ZAb3JhY2xlLmNvbS0yMDEwMDUxMzA3 NTMwOS1jcWIzaHdqMm1pYXBjd216CisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS90cngw dHJ4LmgJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMDA1MTQxMzMxNDQtZmUwbDBi ODl0ZWE0eDR1dQpAQCAtNTYwLDkgKzU2MCw2IEBAIHN0cnVjdCB0cnhfc3RydWN0ewogCS8qLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAl2b2lkKgkJbXlzcWxfdGhkOwkvKiE8IE15 U1FMIHRocmVhZCBoYW5kbGUgY29ycmVzcG9uZGluZwogCQkJCQl0byB0aGlzIHRyeCwgb3IgTlVM TCAqLwotCWNoYXIqKgkJbXlzcWxfcXVlcnlfc3RyOy8qIHBvaW50ZXIgdG8gdGhlIGZpZWxkIGlu IG15c3FsZF90aGQKLQkJCQkJd2hpY2ggY29udGFpbnMgdGhlIHBvaW50ZXIgdG8gdGhlCi0JCQkJ CWN1cnJlbnQgU1FMIHF1ZXJ5IHN0cmluZyAqLwogCWNvbnN0IGNoYXIqCW15c3FsX2xvZ19maWxl X25hbWU7CiAJCQkJCS8qIGlmIE15U1FMIGJpbmxvZyBpcyB1c2VkLCB0aGlzIGZpZWxkCiAJCQkJ CWNvbnRhaW5zIGEgcG9pbnRlciB0byB0aGUgbGF0ZXN0IGZpbGUKCj09PSBtb2RpZmllZCBmaWxl ICdzdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwbXlzcWwuYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFz ZS9yb3cvcm93MG15c3FsLmMJcmV2aWQ6dmFzaWwuZGltb3ZAb3JhY2xlLmNvbS0yMDEwMDUxMzA3 NTMwOS1jcWIzaHdqMm1pYXBjd216CisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBteXNx bC5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTAwNTE0MTMzMTQ0LWZlMGwwYjg5 dGVhNHg0dXUKQEAgLTIwNjAsNiArMjA2MCw3IEBAIHJvd190YWJsZV9hZGRfZm9yZWlnbl9jb25z dHJhaW50cygKIAkJCQlGT1JFSUdOIEtFWSAoYSwgYikgUkVGRVJFTkNFUyB0YWJsZTIoYywgZCks CiAJCQkJCXRhYmxlMiBjYW4gYmUgd3JpdHRlbiBhbHNvIHdpdGggdGhlCiAJCQkJCWRhdGFiYXNl IG5hbWUgYmVmb3JlIGl0OiB0ZXN0LnRhYmxlMiAqLworCXNpemVfdAkJc3FsX2xlbmd0aCwJLyoh PCBpbjogbGVuZ3RoIG9mIHNxbF9zdHJpbmcgKi8KIAljb25zdCBjaGFyKgluYW1lLAkJLyohPCBp bjogdGFibGUgZnVsbCBuYW1lIGluIHRoZQogCQkJCQlub3JtYWxpemVkIGZvcm0KIAkJCQkJZGF0 YWJhc2VfbmFtZS90YWJsZV9uYW1lICovCkBAIC0yMDgxLDggKzIwODIsOCBAQCByb3dfdGFibGVf YWRkX2ZvcmVpZ25fY29uc3RyYWludHMoCiAKIAl0cnhfc2V0X2RpY3Rfb3BlcmF0aW9uKHRyeCwg VFJYX0RJQ1RfT1BfVEFCTEUpOwogCi0JZXJyID0gZGljdF9jcmVhdGVfZm9yZWlnbl9jb25zdHJh aW50cyh0cngsIHNxbF9zdHJpbmcsIG5hbWUsCi0JCQkJCSAgICAgIHJlamVjdF9ma3MpOworCWVy ciA9IGRpY3RfY3JlYXRlX2ZvcmVpZ25fY29uc3RyYWludHModHJ4LCBzcWxfc3RyaW5nLCBzcWxf bGVuZ3RoLAorCQkJCQkgICAgICBuYW1lLCByZWplY3RfZmtzKTsKIAlpZiAoZXJyID09IERCX1NV Q0NFU1MpIHsKIAkJLyogQ2hlY2sgdGhhdCBhbHNvIHJlZmVyZW5jaW5nIGNvbnN0cmFpbnRzIGFy ZSBvayAqLwogCQllcnIgPSBkaWN0X2xvYWRfZm9yZWlnbnMobmFtZSwgVFJVRSk7Cgo9PT0gbW9k aWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS90cngvdHJ4MGlfcy5jJwotLS0gYS9zdG9yYWdl L2lubm9iYXNlL3RyeC90cngwaV9zLmMJcmV2aWQ6dmFzaWwuZGltb3ZAb3JhY2xlLmNvbS0yMDEw MDUxMzA3NTMwOS1jcWIzaHdqMm1pYXBjd216CisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvdHJ4L3Ry eDBpX3MuYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEwMDUxNDEzMzE0NC1mZTBs MGI4OXRlYTR4NHV1CkBAIC00MzgsNiArNDM4LDEwIEBAIGZpbGxfdHJ4X3JvdygKIAkJCQkJCXdo aWNoIHRvIGNvcHkgdm9sYXRpbGUKIAkJCQkJCXN0cmluZ3MgKi8KIHsKKwljb25zdCBjaGFyKglz dG10OworCXNpemVfdAkJc3RtdF9sZW47CisJY29uc3QgY2hhcioJczsKKwogCXJvdy0+dHJ4X2lk ID0gdHJ4X2dldF9pZCh0cngpOwogCXJvdy0+dHJ4X3N0YXJ0ZWQgPSAoaWJfdGltZV90KSB0cngt PnN0YXJ0X3RpbWU7CiAJcm93LT50cnhfc3RhdGUgPSB0cnhfZ2V0X3F1ZV9zdGF0ZV9zdHIodHJ4 KTsKQEAgLTQ1OCwyMCArNDYyLDMyIEBAIGZpbGxfdHJ4X3JvdygKIAogCXJvdy0+dHJ4X3dlaWdo dCA9ICh1bGxpbnQpIHV0X2NvbnZfZHVsaW50X3RvX2xvbmdsb25nKFRSWF9XRUlHSFQodHJ4KSk7 CiAKLQlpZiAodHJ4LT5teXNxbF90aGQgIT0gTlVMTCkgewotCQlyb3ctPnRyeF9teXNxbF90aHJl YWRfaWQKLQkJCT0gdGhkX2dldF90aHJlYWRfaWQodHJ4LT5teXNxbF90aGQpOwotCX0gZWxzZSB7 CisJaWYgKHRyeC0+bXlzcWxfdGhkID09IE5VTEwpIHsKIAkJLyogRm9yIGludGVybmFsIHRyYW5z YWN0aW9ucyBlLmcuLCBwdXJnZSBhbmQgdHJhbnNhY3Rpb25zCiAJCWJlaW5nIHJlY292ZXJlZCBh dCBzdGFydHVwIHRoZXJlIGlzIG5vIGFzc29jaWF0ZWQgTXlTUUwKIAkJdGhyZWFkIGRhdGEgc3Ry dWN0dXJlLiAqLwogCQlyb3ctPnRyeF9teXNxbF90aHJlYWRfaWQgPSAwOworCQlyb3ctPnRyeF9x dWVyeSA9IE5VTEw7CisJCWdvdG8gdGhkX2RvbmU7CiAJfQogCi0JaWYgKHRyeC0+bXlzcWxfcXVl cnlfc3RyICE9IE5VTEwgJiYgKnRyeC0+bXlzcWxfcXVlcnlfc3RyICE9IE5VTEwpIHsKKwlyb3ct PnRyeF9teXNxbF90aHJlYWRfaWQgPSB0aGRfZ2V0X3RocmVhZF9pZCh0cngtPm15c3FsX3RoZCk7 CisJc3RtdCA9IGlubm9iYXNlX2dldF9zdG10KHRyeC0+bXlzcWxfdGhkLCAmc3RtdF9sZW4pOwor CisJaWYgKHN0bXQgIT0gTlVMTCkgeworCisJCWNoYXIJcXVlcnlbVFJYX0lfU19UUlhfUVVFUllf TUFYX0xFTiArIDFdOwogCi0JCVRSWF9JX1NfU1RSSU5HX0NPUFkoKnRyeC0+bXlzcWxfcXVlcnlf c3RyLCByb3ctPnRyeF9xdWVyeSwKLQkJCQkgICAgVFJYX0lfU19UUlhfUVVFUllfTUFYX0xFTiwg Y2FjaGUpOworCQlpZiAoc3RtdF9sZW4gPiBUUlhfSV9TX1RSWF9RVUVSWV9NQVhfTEVOKSB7CisJ CQlzdG10X2xlbiA9IFRSWF9JX1NfVFJYX1FVRVJZX01BWF9MRU47CisJCX0KKworCQltZW1jcHko cXVlcnksIHN0bXQsIHN0bXRfbGVuKTsKKwkJcXVlcnlbc3RtdF9sZW5dID0gJ1wwJzsKKworCQly b3ctPnRyeF9xdWVyeSA9IGhhX3N0b3JhZ2VfcHV0X21lbWxpbSgKKwkJCWNhY2hlLT5zdG9yYWdl LCBzdG10LCBzdG10X2xlbiArIDEsCisJCQlNQVhfQUxMT1dFRF9GT1JfU1RPUkFHRShjYWNoZSkp OwogCiAJCWlmIChyb3ctPnRyeF9xdWVyeSA9PSBOVUxMKSB7CiAKQEAgLTQ4Miw5ICs0OTgsMTIg QEAgZmlsbF90cnhfcm93KAogCQlyb3ctPnRyeF9xdWVyeSA9IE5VTEw7CiAJfQogCi0JaWYgKHRy eC0+b3BfaW5mbyAhPSBOVUxMICYmIHRyeC0+b3BfaW5mb1swXSAhPSAnXDAnKSB7Cit0aGRfZG9u ZToKKwlzID0gdHJ4LT5vcF9pbmZvOwogCi0JCVRSWF9JX1NfU1RSSU5HX0NPUFkodHJ4LT5vcF9p bmZvLCByb3ctPnRyeF9vcGVyYXRpb25fc3RhdGUsCisJaWYgKHMgIT0gTlVMTCAmJiBzWzBdICE9 ICdcMCcpIHsKKworCQlUUlhfSV9TX1NUUklOR19DT1BZKHMsIHJvdy0+dHJ4X29wZXJhdGlvbl9z dGF0ZSwKIAkJCQkgICAgVFJYX0lfU19UUlhfT1BfU1RBVEVfTUFYX0xFTiwgY2FjaGUpOwogCiAJ CWlmIChyb3ctPnRyeF9vcGVyYXRpb25fc3RhdGUgPT0gTlVMTCkgewpAQCAtNTMyLDkgKzU1MSwx MSBAQCBmaWxsX3RyeF9yb3coCiAKIAlyb3ctPnRyeF9mb3JlaWduX2tleV9jaGVja3MgPSAoaWJv b2wpIHRyeC0+Y2hlY2tfZm9yZWlnbnM7CiAKLQlpZiAodHJ4LT5kZXRhaWxlZF9lcnJvciAhPSBO VUxMICYmIHRyeC0+ZGV0YWlsZWRfZXJyb3JbMF0gIT0gJ1wwJykgeworCXMgPSB0cngtPmRldGFp bGVkX2Vycm9yOworCisJaWYgKHMgIT0gTlVMTCAmJiBzWzBdICE9ICdcMCcpIHsKIAotCQlUUlhf SV9TX1NUUklOR19DT1BZKHRyeC0+ZGV0YWlsZWRfZXJyb3IsCisJCVRSWF9JX1NfU1RSSU5HX0NP UFkocywKIAkJCQkgICAgcm93LT50cnhfZm9yZWlnbl9rZXlfZXJyb3IsCiAJCQkJICAgIFRSWF9J X1NfVFJYX0ZLX0VSUk9SX01BWF9MRU4sIGNhY2hlKTsKIApAQCAtNTQzLDcgKzU2NCw3IEBAIGZp bGxfdHJ4X3JvdygKIAkJCXJldHVybihGQUxTRSk7CiAJCX0KIAl9IGVsc2UgewotCQkJcm93LT50 cnhfZm9yZWlnbl9rZXlfZXJyb3IgPSBOVUxMOworCQlyb3ctPnRyeF9mb3JlaWduX2tleV9lcnJv ciA9IE5VTEw7CiAJfQogCiAJcm93LT50cnhfaGFzX3NlYXJjaF9sYXRjaCA9IChpYm9vbCkgdHJ4 LT5oYXNfc2VhcmNoX2xhdGNoOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2Uv dHJ4L3RyeDB0cnguYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS90cngvdHJ4MHRyeC5jCXJldmlk OnZhc2lsLmRpbW92QG9yYWNsZS5jb20tMjAxMDA1MTMwNzUzMDktY3FiM2h3ajJtaWFwY3dtegor KysgYi9zdG9yYWdlL2lubm9iYXNlL3RyeC90cngwdHJ4LmMJcmV2aWQ6bWFya28ubWFrZWxhQG9y YWNsZS5jb20tMjAxMDA1MTQxMzMxNDQtZmUwbDBiODl0ZWE0eDR1dQpAQCAtMTI0LDcgKzEyNCw2 IEBAIHRyeF9jcmVhdGUoCiAJdHJ4LT50YWJsZV9pZCA9IHV0X2R1bGludF96ZXJvOwogCiAJdHJ4 LT5teXNxbF90aGQgPSBOVUxMOwotCXRyeC0+bXlzcWxfcXVlcnlfc3RyID0gTlVMTDsKIAl0cngt PmFjdGl2ZV90cmFucyA9IDA7CiAJdHJ4LT5kdXBsaWNhdGVzID0gMDsKIApAQCAtOTQ0LDcgKzk0 Myw2IEBAIHRyeF9jb21taXRfb2ZmX2tlcm5lbCgKIAl0cngtPnJzZWcgPSBOVUxMOwogCXRyeC0+ dW5kb19ubyA9IHV0X2R1bGludF96ZXJvOwogCXRyeC0+bGFzdF9zcWxfc3RhdF9zdGFydC5sZWFz dF91bmRvX25vID0gdXRfZHVsaW50X3plcm87Ci0JdHJ4LT5teXNxbF9xdWVyeV9zdHIgPSBOVUxM OwogCiAJdXRfYWQoVVRfTElTVF9HRVRfTEVOKHRyeC0+d2FpdF90aHJzKSA9PSAwKTsKIAl1dF9h ZChVVF9MSVNUX0dFVF9MRU4odHJ4LT50cnhfbG9ja3MpID09IDApOwoK --===============1548427447== 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/mysql/5.5-innodb/ # testament_sha1: 3e0aff19ee171361d1efa1a43c16f913765da816 # timestamp: 2010-05-14 16:31:58 +0300 # source_branch: file:///home/marko/innobase/dev/mysql/5.1-innodb/ # base_revision_id: vasil.dimov@stripped\ # cqb3hwj2miapcwmz # # Begin bundle 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 v5P6gZpOv7P/F3JFOFCQFp/GXQ== --===============1548427447==--