From: marko.makela Date: June 12 2012 8:38pm Subject: bzr push into mysql-trunk-wl6255 branch (marko.makela:3968 to 3969) WL#6255 List-Archive: http://lists.mysql.com/commits/144219 Message-Id: <20120612203804.2192.9936.3969@x220> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM5NjkgTWFya28gTcOka2Vsw6QJMjAxMi0wNi0xMgogICAgICBXTCM2MjU1IHJiOjExMDUgUHJv YmxlbSAyMCwyMSBmaXguCiAgICAgIAogICAgICBDaGVjayB0aGUgbWF4aW11bSBjb2x1bW4gcHJl Zml4IGxlbmd0aCB3aGVuIGNoYW5naW5nIFJPV19GT1JNQVQgb3IKICAgICAgS0VZX0JMT0NLX1NJ WkUuCiAgICAgIAogICAgICBpbm5vYmFzZV9jaGVja19jb2x1bW5fbGVuZ3RoKCk6IFJlcGxhY2Ug dGFibGUgd2l0aCBtYXhfY29sX2xlbi4KICAgICAgCiAgICAgIGhhX2lubm9iYXNlOjpwcmVwYXJl X2lucGxhY2VfYWx0ZXJfdGFibGUoKTogQ29tcHV0ZSBtYXhfY29sX2xlbgogICAgICBieSBpbnZv a2luZyBpbm5vYmFzZV90YWJsZV9mbGFncygpIHdoZW4gbmVlZGVkLiBFbmZvcmNlIHRoZSBtYXhf Y29sX2xlbgogICAgICBhbHNvIGluIGV4aXN0aW5nIGluZGV4ZXMgb2YgdGhlIHRhYmxlLgogICAg ICAKICAgICAgaW5ub2Jhc2VfdGFibGVfZmxhZ3MoKTogUmVtb3ZlIHRoZSBwYXJhbWV0ZXIgbmFt ZS4gRG8gbm90IGNvbXBsYWluCiAgICAgIGFib3V0IGJhZGx5IGZvcm1lZCBGVFNfRE9DX0lEX0lO REVYLCB1bmxlc3MgdGhlIHRhYmxlIGlzIGFsc28gdG8gaGF2ZQogICAgICBGVUxMVEVYVCBpbmRl eGVzLiBXaGVuIGNvbXBsYWluaW5nLCB1c2UgdGhlIGRlZGljYXRlZCBlcnJvciBjb2RlCiAgICAg IEVSX0lOTk9EQl9GVF9XUk9OR19ET0NJRF9JTkRFWCBpbnN0ZWFkIG9mIHRoZSBnZW5lcmljIGFu ZCBtaXNsZWFkaW5nCiAgICAgIEVSX1dST05HX05BTUVfRk9SX0lOREVYLgogICAgICAKICAgICAg cHJlcGFyZV9pbnBsYWNlX2FsdGVyX3RhYmxlX2RpY3QoKTogQWRkIHRoZSBwYXJhbWV0ZXJzIGZs YWdzLCBmbGFnczIsCiAgICAgIHNvIHRoYXQgaW5ub2Jhc2VfdGFibGVfZmxhZ3MoKSBkb2VzIG5v dCBuZWVkIHRvIGJlIGludm9rZWQgYWdhaW4uIEl0cwogICAgICBvdXRjb21lIGNhbiBjaGFuZ2Ug aWYgaW5ub2RiX2ZpbGVfZm9ybWF0IGlzIGNoYW5nZWQgYmV0d2VlbiBjYWxscy4KCiAgICBtb2Rp ZmllZDoKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvci9pbm5vZGJfcHJlZml4X2luZGV4 X2xpZnRlZGxpbWl0LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9k Yl9wcmVmaXhfaW5kZXhfbGlmdGVkbGltaXQudGVzdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2lu bm9kYl9mdHMvci9pbm5vZGItZnRzLWRkbC5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9p bm5vZGJfZnRzL3QvaW5ub2RiLWZ0cy1kZGwudGVzdAogICAgICBzdG9yYWdlL2lubm9iYXNlL2hh bmRsZXIvaGFfaW5ub2RiLmNjCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYV9pbm5v ZGIuaAogICAgICBzdG9yYWdlL2lubm9iYXNlL2hhbmRsZXIvaGFuZGxlcjBhbHRlci5jYwogMzk2 OCBNYXJrbyBNw6RrZWzDpAkyMDEyLTA2LTEyCiAgICAgIHJvd19sb2dfdGFibGVfYXBwbHlfY29u dmVydF9tcmVjKCk6IFRoZSBjbHVzdGVyZWQgaW5kZXggdHJlZSBvZiB0aGUKICAgICAgc291cmNl IHRhYmxlIHNob3VsZCBhbHJlYWR5IGJlIFgtbGF0Y2hlZCBpbiByb3dfbG9nX3RhYmxlX2FwcGx5 KCkuCgogICAgbW9kaWZpZWQ6CiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBsb2cuY2MK PT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3IvaW5ub2RiX3ByZWZp eF9pbmRleF9saWZ0ZWRsaW1pdC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvaW5ub2Ri L3IvaW5ub2RiX3ByZWZpeF9pbmRleF9saWZ0ZWRsaW1pdC5yZXN1bHQJcmV2aWQ6bWFya28ubWFr ZWxhQG9yYWNsZS5jb20tMjAxMjA2MTIxOTAxNDgtNnp3aTRyNWphZWhidzUwbgorKysgYi9teXNx bC10ZXN0L3N1aXRlL2lubm9kYi9yL2lubm9kYl9wcmVmaXhfaW5kZXhfbGlmdGVkbGltaXQucmVz dWx0CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNjEyMjAzNjE0LTdqY3pjMm9m NW4wYXNnNmQKQEAgLTMxLDYgKzMxLDExIEBAIFNFTEVDVCBjb2xfMV92YXJjaGFyID0gUkVQRUFU KCJjIiwgNDAwMCkKIGNvbF8xX3ZhcmNoYXIgPSBSRVBFQVQoImMiLCA0MDAwKQogMAogMQorQUxU RVIgVEFCTEUgd29ya2xvZzU3NDMgUk9XX0ZPUk1BVD1SRURVTkRBTlQ7CitFUlJPUiBIWTAwMDog SW5kZXggY29sdW1uIHNpemUgdG9vIGxhcmdlLiBUaGUgbWF4aW11bSBjb2x1bW4gc2l6ZSBpcyA3 NjcgYnl0ZXMuCitBTFRFUiBUQUJMRSB3b3JrbG9nNTc0MyBST1dfRk9STUFUPUNPTVBBQ1Q7CitF UlJPUiBIWTAwMDogSW5kZXggY29sdW1uIHNpemUgdG9vIGxhcmdlLiBUaGUgbWF4aW11bSBjb2x1 bW4gc2l6ZSBpcyA3NjcgYnl0ZXMuCitBTFRFUiBUQUJMRSB3b3JrbG9nNTc0MyBST1dfRk9STUFU PUNPTVBSRVNTRUQgS0VZX0JMT0NLX1NJWkU9MTY7CiBEUk9QIFRBQkxFIHdvcmtsb2c1NzQzOwog Q1JFQVRFIFRBQkxFIHdvcmtsb2c1NzQzICgKIGNvbF8xX3RleHQgVEVYVCAoNDAwMCkgLCBjb2xf Ml90ZXh0IFRFWFQgKDQwMDApICwKQEAgLTEzNjQsOCArMTM2OSwyMiBAQCBDUkVBVEUgVEFCTEUg d29ya2xvZzU3NDMgKAogY29sXzFfdmFyY2hhciBWQVJDSEFSICg0MDAwKSAsIGNvbF8yX3ZhcmNo YXIgVkFSQ0hBUiAoNDAwMCkgLAogUFJJTUFSWSBLRVkgKGNvbF8xX3ZhcmNoYXIoNzY3KSkKICkg ZW5naW5lID0gaW5ub2RiOworSU5TRVJUIElOVE8gd29ya2xvZzU3NDMgVkFMVUVTKFJFUEVBVCgn YScsNDAwMCksUkVQRUFUKCdiJyw0MDAwKSk7CiBDUkVBVEUgSU5ERVggcHJlZml4X2lkeCBPTiB3 b3JrbG9nNTc0Myhjb2xfMV92YXJjaGFyICgxMDAwKSk7CithZmZlY3RlZCByb3dzOiAwCitpbmZv OiBSZWNvcmRzOiAwICBEdXBsaWNhdGVzOiAwICBXYXJuaW5nczogMQogV2FybmluZ3M6CiBXYXJu aW5nCTEwNzEJU3BlY2lmaWVkIGtleSB3YXMgdG9vIGxvbmc7IG1heCBrZXkgbGVuZ3RoIGlzIDc2 NyBieXRlcworQUxURVIgVEFCTEUgd29ya2xvZzU3NDMgUk9XX0ZPUk1BVD1SRURVTkRBTlQ7Cith ZmZlY3RlZCByb3dzOiAwCitpbmZvOiBSZWNvcmRzOiAwICBEdXBsaWNhdGVzOiAwICBXYXJuaW5n czogMAorU0hPVyBDUkVBVEUgVEFCTEUgd29ya2xvZzU3NDM7CitUYWJsZQlDcmVhdGUgVGFibGUK K3dvcmtsb2c1NzQzCUNSRUFURSBUQUJMRSBgd29ya2xvZzU3NDNgICgKKyAgYGNvbF8xX3ZhcmNo YXJgIHZhcmNoYXIoNDAwMCkgTk9UIE5VTEwgREVGQVVMVCAnJywKKyAgYGNvbF8yX3ZhcmNoYXJg IHZhcmNoYXIoNDAwMCkgREVGQVVMVCBOVUxMLAorICBQUklNQVJZIEtFWSAoYGNvbF8xX3ZhcmNo YXJgKDc2NykpLAorICBLRVkgYHByZWZpeF9pZHhgIChgY29sXzFfdmFyY2hhcmAoNzY3KSkKKykg RU5HSU5FPUlubm9EQiBERUZBVUxUIENIQVJTRVQ9bGF0aW4xIFJPV19GT1JNQVQ9UkVEVU5EQU5U CiBEUk9QIFRBQkxFIHdvcmtsb2c1NzQzOwogIkRpc2Nvbm5lY3QgdGhlIGNvbm5lY3Rpb24gMSIK Cj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9kYl9wcmVm aXhfaW5kZXhfbGlmdGVkbGltaXQudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIv dC9pbm5vZGJfcHJlZml4X2luZGV4X2xpZnRlZGxpbWl0LnRlc3QJcmV2aWQ6bWFya28ubWFrZWxh QG9yYWNsZS5jb20tMjAxMjA2MTIxOTAxNDgtNnp3aTRyNWphZWhidzUwbgorKysgYi9teXNxbC10 ZXN0L3N1aXRlL2lubm9kYi90L2lubm9kYl9wcmVmaXhfaW5kZXhfbGlmdGVkbGltaXQudGVzdAly ZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDYxMjIwMzYxNC03amN6YzJvZjVuMGFz ZzZkCkBAIC01Miw2ICs1MiwxMSBAQCBXSEVSRSBjb2xfMV92YXJjaGFyID0gUkVQRUFUKCJjIiwg NDAwMCkKIElOU0VSVCBJTlRPIHdvcmtsb2c1NzQzIFZBTFVFUyhSRVBFQVQoImEiLCA0MDAwKSxS RVBFQVQoIm8iLCA0MDAwKSk7CiBERUxFVEUgRlJPTSB3b3JrbG9nNTc0MyBXSEVSRSBjb2xfMV92 YXJjaGFyID0gUkVQRUFUKCJiIiwgNDAwMCk7CiBTRUxFQ1QgY29sXzFfdmFyY2hhciA9IFJFUEVB VCgiYyIsIDQwMDApIEZST00gd29ya2xvZzU3NDM7CistLWVycm9yIEVSX0lOREVYX0NPTFVNTl9U T09fTE9ORworQUxURVIgVEFCTEUgd29ya2xvZzU3NDMgUk9XX0ZPUk1BVD1SRURVTkRBTlQ7Cist LWVycm9yIEVSX0lOREVYX0NPTFVNTl9UT09fTE9ORworQUxURVIgVEFCTEUgd29ya2xvZzU3NDMg Uk9XX0ZPUk1BVD1DT01QQUNUOworQUxURVIgVEFCTEUgd29ya2xvZzU3NDMgUk9XX0ZPUk1BVD1D T01QUkVTU0VEIEtFWV9CTE9DS19TSVpFPTE2OwogRFJPUCBUQUJMRSB3b3JrbG9nNTc0MzsKIAog CkBAIC0xMDI0LDcgKzEwMjksNyBAQCBBTkQgY29sXzJfdmFyY2hhciA9IFJFUEVBVCgibyIsIDQw MDApOwogQUxURVIgVEFCTEUgd29ya2xvZzU3NDMgQUREIFBSSU1BUlkgS0VZIChjb2xfMV92YXJj aGFyKDMwNzIpKTsKIAogSU5TRVJUIElOVE8gd29ya2xvZzU3NDMgVkFMVUVTKFJFUEVBVCgiYSIs IDQwMDApLFJFUEVBVCgibyIsIDQwMDApKTsKLS0tZXJyb3IgMTA2MgorLS1lcnJvciBFUl9EVVBf RU5UUlkKIElOU0VSVCBJTlRPIHdvcmtsb2c1NzQzIFZBTFVFUyhSRVBFQVQoImEiLCA0MDAwKSxS RVBFQVQoIm8iLCA0MDAwKSk7CiBERUxFVEUgRlJPTSB3b3JrbG9nNTc0MyBXSEVSRSBjb2xfMV92 YXJjaGFyID0gUkVQRUFUKCJiIiwgNDAwMCk7CiBTRUxFQ1QgY29sXzFfdmFyY2hhciA9IFJFUEVB VCgiYyIsIDQwMDApIEZST00gd29ya2xvZzU3NDM7CkBAIC0xMDU4LDcgKzEwNjMsNyBAQCBBTFRF UiBUQUJMRSB3b3JrbG9nNTc0MyBBREQgUFJJTUFSWSBLRVkKIENSRUFURSBJTkRFWCBwcmVmaXhf aWR4IE9OIHdvcmtsb2c1NzQzKGNvbF8xX3ZhcmNoYXIgKDMwNzIpKTsKIAogSU5TRVJUIElOVE8g d29ya2xvZzU3NDMgVkFMVUVTKFJFUEVBVCgiYSIsIDQwMDApLFJFUEVBVCgibyIsIDQwMDApKTsK LS0tZXJyb3IgMTA2MgorLS1lcnJvciBFUl9EVVBfRU5UUlkKIElOU0VSVCBJTlRPIHdvcmtsb2c1 NzQzIFZBTFVFUyhSRVBFQVQoImEiLCA0MDAwKSxSRVBFQVQoIm8iLCA0MDAwKSk7CiBERUxFVEUg RlJPTSB3b3JrbG9nNTc0MyBXSEVSRSBjb2xfMV92YXJjaGFyID0gUkVQRUFUKCJiIiwgNDAwMCk7 CiBTRUxFQ1QgY29sXzFfdmFyY2hhciA9IFJFUEVBVCgiYyIsIDQwMDApIEZST00gd29ya2xvZzU3 NDM7CkBAIC0xMzQxLDcgKzEzNDYsNyBAQCBWQUxVRVMoY29uY2F0KFJFUEVBVCgiYSIsIDIwMDAp LFJFUEVBVCgiCiBSRVBFQVQoIm8iLCA0MDAwKSk7CiBJTlNFUlQgSU5UTyB3b3JrbG9nNTc0Mwog VkFMVUVTKGNvbmNhdChSRVBFQVQoImEiLCAyMDAwKSxSRVBFQVQoImIiLCAyMDAwKSksIFJFUEVB VCgibyIsIDQwMDApKTsKLS0tZXJyb3IgMTA2MgorLS1lcnJvciBFUl9EVVBfRU5UUlkKIEFMVEVS IFRBQkxFIHdvcmtsb2c1NzQzIEFERCBQUklNQVJZIEtFWSBgcGtfaWR4YCAoY29sXzFfdmFyY2hh cigzMDAwKSk7CiBEUk9QIFRBQkxFIHdvcmtsb2c1NzQzOwogCkBAIC0xMzYzLDggKzEzNjgsMTMg QEAgQ1JFQVRFIFRBQkxFIHdvcmtsb2c1NzQzICgKIGNvbF8xX3ZhcmNoYXIgVkFSQ0hBUiAoNDAw MCkgLCBjb2xfMl92YXJjaGFyIFZBUkNIQVIgKDQwMDApICwKIFBSSU1BUlkgS0VZIChjb2xfMV92 YXJjaGFyKDc2NykpCiApIGVuZ2luZSA9IGlubm9kYjsKLSMgUHJlZml4IGluZGV4ID4gNzY3IGlz IHRydW5jYXRlZCB3aXRoIFJFRFVOREFOVCBhbmQgQ09NUEFDVCAKK0lOU0VSVCBJTlRPIHdvcmts b2c1NzQzIFZBTFVFUyhSRVBFQVQoJ2EnLDQwMDApLFJFUEVBVCgnYicsNDAwMCkpOworIyBQcmVm aXggaW5kZXggPiA3NjcgaXMgdHJ1bmNhdGVkIHdpdGggUkVEVU5EQU5UIGFuZCBDT01QQUNUCist LWVuYWJsZV9pbmZvCiBDUkVBVEUgSU5ERVggcHJlZml4X2lkeCBPTiB3b3JrbG9nNTc0Myhjb2xf MV92YXJjaGFyICgxMDAwKSk7CitBTFRFUiBUQUJMRSB3b3JrbG9nNTc0MyBST1dfRk9STUFUPVJF RFVOREFOVDsKKy0tZGlzYWJsZV9pbmZvCitTSE9XIENSRUFURSBUQUJMRSB3b3JrbG9nNTc0MzsK IERST1AgVEFCTEUgd29ya2xvZzU3NDM7CiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKCj09PSBt b2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2lubm9kYl9mdHMvci9pbm5vZGItZnRzLWRk bC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvaW5ub2RiX2Z0cy9yL2lubm9kYi1mdHMt ZGRsLnJlc3VsdAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDYxMjE5MDE0OC02 endpNHI1amFlaGJ3NTBuCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvaW5ub2RiX2Z0cy9yL2lubm9k Yi1mdHMtZGRsLnJlc3VsdAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDYxMjIw MzYxNC03amN6YzJvZjVuMGFzZzZkCkBAIC0xNDQsNyArMTQ0LDcgQEAgUFJJTUFSWSBLRVkgKEZU U19ET0NfSUQpLAogS0VZIEZUU19ET0NfSURfSU5ERVggKEZUU19ET0NfSUQpLAogRlVMTFRFWFQg S0VZIGlkeCAodGl0bGUsdGV4dCkKICkgRU5HSU5FPUlubm9EQiBBVVRPX0lOQ1JFTUVOVD00IERF RkFVTFQgQ0hBUlNFVD1sYXRpbjE7Ci1FUlJPUiA0MjAwMDogSW5jb3JyZWN0IGluZGV4IG5hbWUg J0ZUU19ET0NfSURfSU5ERVgnCitFUlJPUiBIWTAwMDogSW5kZXggJ0ZUU19ET0NfSURfSU5ERVgn IGlzIG9mIHdyb25nIHR5cGUgZm9yIGFuIElubm9EQiBGVUxMVEVYVCBpbmRleAogQ1JFQVRFIFRB QkxFIGFydGljbGVzICgKIEZUU19ET0NfSUQgQklHSU5UIFVOU0lHTkVEIE5PVCBOVUxMICwKIHRp dGxlIFZBUkNIQVIoMjAwKSwKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2lu bm9kYl9mdHMvdC9pbm5vZGItZnRzLWRkbC50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2lu bm9kYl9mdHMvdC9pbm5vZGItZnRzLWRkbC50ZXN0CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUu Y29tLTIwMTIwNjEyMTkwMTQ4LTZ6d2k0cjVqYWVoYnc1MG4KKysrIGIvbXlzcWwtdGVzdC9zdWl0 ZS9pbm5vZGJfZnRzL3QvaW5ub2RiLWZ0cy1kZGwudGVzdAlyZXZpZDptYXJrby5tYWtlbGFAb3Jh Y2xlLmNvbS0yMDEyMDYxMjIwMzYxNC03amN6YzJvZjVuMGFzZzZkCkBAIC0xNjMsNyArMTYzLDcg QEAgQ1JFQVRFIFRBQkxFIGZ0c190ZXN0ICgKIAogIyBUaGlzIHNob3VsZCBmYWlsOgogIyBDcmVh dGUgYSBGVFNfRE9DX0lEX0lOREVYIG9mIHRoZSB3cm9uZyB0eXBlIChzaG91bGQgYmUgdW5pcXVl KQotLS1lcnJvciAxMjgwCistLWVycm9yIEVSX0lOTk9EQl9GVF9XUk9OR19ET0NJRF9JTkRFWAog Q1JFQVRFIFRBQkxFIGZ0c190ZXN0ICgKICAgIEZUU19ET0NfSUQgYmlnaW50KDIwKSB1bnNpZ25l ZCBOT1QgTlVMTCBBVVRPX0lOQ1JFTUVOVCwKICAgIHRpdGxlIHZhcmNoYXIoMjU1KSBOT1QgTlVM TCBERUZBVUxUICcnLAoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxl ci9oYV9pbm5vZGIuY2MnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYV9pbm5vZGIu Y2MJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA2MTIxOTAxNDgtNnp3aTRyNWph ZWhidzUwbgorKysgYi9zdG9yYWdlL2lubm9iYXNlL2hhbmRsZXIvaGFfaW5ub2RiLmNjCXJldmlk Om1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNjEyMjAzNjE0LTdqY3pjMm9mNW4wYXNnNmQK QEAgLTg4ODgsNyArODg4OCw2IEBAIFVOSVZfSU5URVJOCiBib29sCiBpbm5vYmFzZV90YWJsZV9m bGFncygKIC8qPT09PT09PT09PT09PT09PT0qLwotCWNvbnN0IGNoYXIqCQluYW1lLAkJLyohPCBp bjogdGFibGUgbmFtZSAqLwogCWNvbnN0IFRBQkxFKgkJZm9ybSwJCS8qITwgaW46IHRhYmxlICov CiAJY29uc3QgSEFfQ1JFQVRFX0lORk8qCWNyZWF0ZV9pbmZvLAkvKiE8IGluOiBpbmZvcm1hdGlv bgogCQkJCQkJb24gdGFibGUgY29sdW1ucyBhbmQgaW5kZXhlcyAqLwpAQCAtODkwMCw2ICs4ODk5 LDcgQEAgaW5ub2Jhc2VfdGFibGVfZmxhZ3MoCiB7CiAJREJVR19FTlRFUigiaW5ub2Jhc2VfdGFi bGVfZmxhZ3MiKTsKIAorCWNvbnN0IGNoYXIqCWZ0c19pbmRleF9iYWQgPSBOVUxMOwogCWJvb2wJ CXppcF9hbGxvd2VkID0gdHJ1ZTsKIAl1bGludAkJemlwX3NzaXplID0gMDsKIAllbnVtIHJvd190 eXBlCXJvd19mb3JtYXQ7CkBAIC04OTI1LDYgKzg5MjUsMTAgQEAgaW5ub2Jhc2VfdGFibGVfZmxh Z3MoCiAJCQkJbXlfZXJyb3IoRVJfSU5OT0RCX05PX0ZUX1RFTVBfVEFCTEUsIE1ZRigwKSk7CiAJ CQkJREJVR19SRVRVUk4oZmFsc2UpOwogCQkJfQorCisJCQlpZiAoZnRzX2luZGV4X2JhZCkgewor CQkJCWdvdG8gaW5kZXhfYmFkOworCQkJfQogCQl9CiAKIAkJaWYgKGlubm9iYXNlX3N0cmNhc2Vj bXAoa2V5LT5uYW1lLCBGVFNfRE9DX0lEX0lOREVYX05BTUUpKSB7CkBAIC04OTM2LDIxICs4OTQw LDEzIEBAIGlubm9iYXNlX3RhYmxlX2ZsYWdzKAogCQkgICAgfHwgc3RyY21wKGtleS0+bmFtZSwg RlRTX0RPQ19JRF9JTkRFWF9OQU1FKQogCQkgICAgfHwgc3RyY21wKGtleS0+a2V5X3BhcnRbMF0u ZmllbGQtPmZpZWxkX25hbWUsCiAJCQkgICAgICBGVFNfRE9DX0lEX0NPTF9OQU1FKSkgewotCQkJ cHVzaF93YXJuaW5nX3ByaW50Zih0aGQsCi0JCQkJCSAgICBTcWxfY29uZGl0aW9uOjpXQVJOX0xF VkVMX1dBUk4sCi0JCQkJCSAgICBFUl9XUk9OR19OQU1FX0ZPUl9JTkRFWCwKLQkJCQkJICAgICIg SW5ub0RCOiBJbmRleCBuYW1lICVzIGlzIHJlc2VydmVkIgotCQkJCQkgICAgIiBmb3IgdGhlIHVu aXF1ZSBpbmRleCBvbiIKLQkJCQkJICAgICIgRlRTX0RPQ19JRCBjb2x1bW4gZm9yIEZUUyIKLQkJ CQkJICAgICIgZG9jdW1lbnQgSUQgaW5kZXhpbmciCi0JCQkJCSAgICAiIG9uIHRhYmxlICVzLiBQ bGVhc2UgY2hlY2siCi0JCQkJCSAgICAiIHRoZSBpbmRleCBkZWZpbml0aW9uIHRvIgotCQkJCQkg ICAgIiBtYWtlIHN1cmUgaXQgaXMgb2YgY29ycmVjdCIKLQkJCQkJICAgICIgdHlwZVxuIiwKLQkJ CQkJICAgIEZUU19ET0NfSURfSU5ERVhfTkFNRSwKLQkJCQkJICAgIG5hbWUpOwotCQkJbXlfZXJy b3IoRVJfV1JPTkdfTkFNRV9GT1JfSU5ERVgsIE1ZRigwKSwKLQkJCQkgRlRTX0RPQ19JRF9JTkRF WF9OQU1FKTsKKwkJCWZ0c19pbmRleF9iYWQgPSBrZXktPm5hbWU7CisJCX0KKworCQlpZiAoZnRz X2luZGV4X2JhZCAmJiAoKmZsYWdzMiAmIERJQ1RfVEYyX0ZUUykpIHsKK2luZGV4X2JhZDoKKwkJ CW15X2Vycm9yKEVSX0lOTk9EQl9GVF9XUk9OR19ET0NJRF9JTkRFWCwgTVlGKDApLAorCQkJCSBm dHNfaW5kZXhfYmFkKTsKIAkJCURCVUdfUkVUVVJOKGZhbHNlKTsKIAkJfQogCX0KQEAgLTkxODUs NyArOTE4MSw3IEBAIGhhX2lubm9iYXNlOjpjcmVhdGUoCiAJCURCVUdfUkVUVVJOKEhBX1dST05H X0NSRUFURV9PUFRJT04pOwogCX0KIAotCWlmICghaW5ub2Jhc2VfdGFibGVfZmxhZ3MobmFtZSwg Zm9ybSwgY3JlYXRlX2luZm8sCisJaWYgKCFpbm5vYmFzZV90YWJsZV9mbGFncyhmb3JtLCBjcmVh dGVfaW5mbywKIAkJCQkgIHRoZCwgdXNlX3RhYmxlc3BhY2UsCiAJCQkJICAmZmxhZ3MsICZmbGFn czIpKSB7CiAJCURCVUdfUkVUVVJOKC0xKTsKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lu bm9iYXNlL2hhbmRsZXIvaGFfaW5ub2RiLmgnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxl ci9oYV9pbm5vZGIuaAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDYxMjE5MDE0 OC02endpNHI1amFlaGJ3NTBuCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYV9pbm5v ZGIuaAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDYxMjIwMzYxNC03amN6YzJv ZjVuMGFzZzZkCkBAIC00NjcsNyArNDY3LDYgQEAgVU5JVl9JTlRFUk4KIGJvb2wKIGlubm9iYXNl X3RhYmxlX2ZsYWdzKAogLyo9PT09PT09PT09PT09PT09PSovCi0JY29uc3QgY2hhcioJCW5hbWUs CQkvKiE8IGluOiB0YWJsZSBuYW1lICovCiAJY29uc3QgVEFCTEUqCQlmb3JtLAkJLyohPCBpbjog dGFibGUgKi8KIAljb25zdCBIQV9DUkVBVEVfSU5GTyoJY3JlYXRlX2luZm8sCS8qITwgaW46IGlu Zm9ybWF0aW9uCiAJCQkJCQlvbiB0YWJsZSBjb2x1bW5zIGFuZCBpbmRleGVzICovCgo9PT0gbW9k aWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9oYW5kbGVyL2hhbmRsZXIwYWx0ZXIuY2MnCi0t LSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYW5kbGVyMGFsdGVyLmNjCXJldmlkOm1hcmtv Lm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNjEyMTkwMTQ4LTZ6d2k0cjVqYWVoYnc1MG4KKysrIGIv c3RvcmFnZS9pbm5vYmFzZS9oYW5kbGVyL2hhbmRsZXIwYWx0ZXIuY2MJcmV2aWQ6bWFya28ubWFr ZWxhQG9yYWNsZS5jb20tMjAxMjA2MTIyMDM2MTQtN2pjemMyb2Y1bjBhc2c2ZApAQCAtMTc3Nywx NSArMTc3NywxMyBAQCBjcmVhdGVkX2NsdXN0ZXJlZDoKIC8qKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgogQ2hlY2sg ZWFjaCBpbmRleCBjb2x1bW4gc2l6ZSwgbWFrZSBzdXJlIHRoZXkgZG8gbm90IGV4Y2VlZCB0aGUg bWF4IGxpbWl0CiBAcmV0dXJuCXRydWUgaWYgaW5kZXggY29sdW1uIHNpemUgZXhjZWVkcyBsaW1p dCAqLwotc3RhdGljCitzdGF0aWMgX19hdHRyaWJ1dGVfXygobm9ubnVsbCwgd2Fybl91bnVzZWRf cmVzdWx0KSkKIGJvb2wKIGlubm9iYXNlX2NoZWNrX2NvbHVtbl9sZW5ndGgoCiAvKj09PT09PT09 PT09PT09PT09PT09PT09PT0qLwotCWNvbnN0IGRpY3RfdGFibGVfdCp0YWJsZSwJLyohPCBpbjog dGFibGUgZGVmaW5pdGlvbiAqLworCXVsaW50CQltYXhfY29sX2xlbiwJLyohPCBpbjogbWF4aW11 bSBjb2x1bW4gbGVuZ3RoICovCiAJY29uc3QgS0VZKglrZXlfaW5mbykJLyohPCBpbjogSW5kZXhl cyB0byBiZSBjcmVhdGVkICovCiB7Ci0JdWxpbnQJbWF4X2NvbF9sZW4gPSBESUNUX01BWF9GSUVM RF9MRU5fQllfRk9STUFUKHRhYmxlKTsKLQogCWZvciAodWxpbnQga2V5X3BhcnQgPSAwOyBrZXlf cGFydCA8IGtleV9pbmZvLT5rZXlfcGFydHM7IGtleV9wYXJ0KyspIHsKIAkJaWYgKGtleV9pbmZv LT5rZXlfcGFydFtrZXlfcGFydF0ubGVuZ3RoID4gbWF4X2NvbF9sZW4pIHsKIAkJCXJldHVybih0 cnVlKTsKQEAgLTIyOTcsNiArMjI5NSw4IEBAIHdoaWxlIHByZXBhcmluZyBBTFRFUiBUQUJMRS4K IEBwYXJhbSB1c2VyX3RhYmxlCUlubm9EQiB0YWJsZSB0aGF0IGlzIGJlaW5nIGFsdGVyZWQKIEBw YXJhbSB1c2VyX3RyeAkJVXNlciB0cmFuc2FjdGlvbiwgZm9yIGxvY2tpbmcgdGhlIHRhYmxlCiBA cGFyYW0gdGFibGVfbmFtZQlUYWJsZSBuYW1lIGluIE15U1FMCitAcGFyYW0gZmxhZ3MJCVRhYmxl IGFuZCB0YWJsZXNwYWNlIGZsYWdzCitAcGFyYW0gZmxhZ3MyCQlBZGRpdGlvbmFsIHRhYmxlIGZs YWdzCiBAcGFyYW0gaGVhcAkJTWVtb3J5IGhlYXAsIG9yIE5VTEwKIEBwYXJhbSBkcm9wX2luZGV4 CUluZGV4ZXMgdG8gYmUgZHJvcHBlZCwgb3IgTlVMTAogQHBhcmFtIG5fZHJvcF9pbmRleAlOdW1i ZXIgb2YgaW5kZXhlcyB0byBkcm9wCkBAIC0yMzIyLDYgKzIzMjIsOCBAQCBwcmVwYXJlX2lucGxh Y2VfYWx0ZXJfdGFibGVfZGljdCgKIAlkaWN0X3RhYmxlX3QqCQl1c2VyX3RhYmxlLAogCXRyeF90 KgkJCXVzZXJfdHJ4LAogCWNvbnN0IGNoYXIqCQl0YWJsZV9uYW1lLAorCXVsaW50CQkJZmxhZ3Ms CisJdWxpbnQJCQlmbGFnczIsCiAJbWVtX2hlYXBfdCoJCWhlYXAsCiAJZGljdF9pbmRleF90KioJ CWRyb3BfaW5kZXgsCiAJdWxpbnQJCQluX2Ryb3BfaW5kZXgsCkBAIC0yNDY1LDE5ICsyNDY3LDgg QEAgcHJlcGFyZV9pbnBsYWNlX2FsdGVyX3RhYmxlX2RpY3QoCiAJaWYgKG5ld19jbHVzdGVyZWQp IHsKIAkJY2hhcioJbmV3X3RhYmxlX25hbWUgPSBpbm5vYmFzZV9jcmVhdGVfdGVtcG9yYXJ5X3Rh YmxlbmFtZSgKIAkJCWhlYXAsIGluZGV4ZWRfdGFibGUtPm5hbWUsIGluZGV4ZWRfdGFibGUtPmlk KTsKLQkJdWxpbnQJZmxhZ3M7Ci0JCXVsaW50CWZsYWdzMjsKIAkJdWxpbnQJbl9jb2xzOwogCi0J CWlmICghaW5ub2Jhc2VfdGFibGVfZmxhZ3ModGFibGVfbmFtZSwgYWx0ZXJlZF90YWJsZSwKLQkJ CQkJICBoYV9hbHRlcl9pbmZvLT5jcmVhdGVfaW5mbywKLQkJCQkJICB0cngtPm15c3FsX3RoZCwK LQkJCQkJICBzcnZfZmlsZV9wZXJfdGFibGUKLQkJCQkJICB8fCB1c2VyX3RhYmxlLT5zcGFjZSAh PSAwLAotCQkJCQkgICZmbGFncywgJmZsYWdzMikpIHsKLQkJCWdvdG8gbmV3X2NsdXN0ZXJlZF9m YWlsZWQ7Ci0JCX0KLQogCQlpZiAoaW5ub2Jhc2VfY2hlY2tfZm9yZWlnbnMoCiAJCQkgICAgaGFf YWx0ZXJfaW5mbywgYWx0ZXJlZF90YWJsZSwgb2xkX3RhYmxlLAogCQkJICAgIHVzZXJfdGFibGUs IGRyb3BfZm9yZWlnbiwgbl9kcm9wX2ZvcmVpZ24pKSB7CkBAIC0yOTQ5LDYgKzI5NDAsOSBAQCBo YV9pbm5vYmFzZTo6cHJlcGFyZV9pbnBsYWNlX2FsdGVyX3RhYmxlCiAJZGljdF90YWJsZV90Kglp bmRleGVkX3RhYmxlOwkvKiE8IFRhYmxlIHdoZXJlIGluZGV4ZXMgYXJlIGNyZWF0ZWQgKi8KIAlt ZW1faGVhcF90KiAgICAgaGVhcDsKIAlpbnQJCWVycm9yOworCXVsaW50CQlmbGFnczsKKwl1bGlu dAkJZmxhZ3MyOworCXVsaW50CQltYXhfY29sX2xlbjsKIAl1bGludAkJbnVtX2Z0c19pbmRleDsK IAl1bGludAkJYWRkX2F1dG9pbmNfY29sX25vCT0gVUxJTlRfVU5ERUZJTkVEOwogCXVsaW50CQlm dHNfZG9jX2NvbF9ubwkJPSBVTElOVF9VTkRFRklORUQ7CkBAIC0zMDc1LDYgKzMwNjksMTcgQEAg Y2hlY2tfaWZfb2tfdG9fcmVuYW1lOgogCQl9CiAJfQogCisJaWYgKCFpbm5vYmFzZV90YWJsZV9m bGFncyhhbHRlcmVkX3RhYmxlLAorCQkJCSAgaGFfYWx0ZXJfaW5mby0+Y3JlYXRlX2luZm8sCisJ CQkJICB1c2VyX3RoZCwKKwkJCQkgIHNydl9maWxlX3Blcl90YWJsZQorCQkJCSAgfHwgaW5kZXhl ZF90YWJsZS0+c3BhY2UgIT0gMCwKKwkJCQkgICZmbGFncywgJmZsYWdzMikpIHsKKwkJZ290byBl cnJfZXhpdF9ub19oZWFwOworCX0KKworCW1heF9jb2xfbGVuID0gRElDVF9NQVhfRklFTERfTEVO X0JZX0ZPUk1BVF9GTEFHKGZsYWdzKTsKKwogCS8qIENoZWNrIGVhY2ggaW5kZXgncyBjb2x1bW4g bGVuZ3RoIHRvIG1ha2Ugc3VyZSB0aGV5IGRvIG5vdAogCWV4Y2VlZCBsaW1pdCAqLwogCWZvciAo dWxpbnQgaSA9IDA7IGkgPCBoYV9hbHRlcl9pbmZvLT5pbmRleF9hZGRfY291bnQ7IGkrKykgewpA QCAtMzA5MywxNCArMzA5OCwzNSBAQCBjaGVja19pZl9va190b19yZW5hbWU6CiAJCQljb250aW51 ZTsKIAkJfQogCi0JCWlmIChpbm5vYmFzZV9jaGVja19jb2x1bW5fbGVuZ3RoKGluZGV4ZWRfdGFi bGUsIGtleSkpIHsKKwkJaWYgKGlubm9iYXNlX2NoZWNrX2NvbHVtbl9sZW5ndGgobWF4X2NvbF9s ZW4sIGtleSkpIHsKIAkJCW15X2Vycm9yKEVSX0lOREVYX0NPTFVNTl9UT09fTE9ORywgTVlGKDAp LAotCQkJCSBESUNUX01BWF9GSUVMRF9MRU5fQllfRk9STUFUX0ZMQUcoCi0JCQkJCSBpbmRleGVk X3RhYmxlLT5mbGFncykpOworCQkJCSBtYXhfY29sX2xlbik7CiAJCQlnb3RvIGVycl9leGl0X25v X2hlYXA7CiAJCX0KIAl9CiAKKwkvKiBDaGVjayBleGlzdGluZyBpbmRleCBkZWZpbml0aW9ucyBm b3IgdG9vLWxvbmcgY29sdW1uCisJcHJlZml4ZXMgYXMgd2VsbCwgaW4gY2FzZSBtYXhfY29sX2xl biBzaHJ1bmsuICovCisJZm9yIChjb25zdCBkaWN0X2luZGV4X3QqIGluZGV4CisJCSAgICAgPSBk aWN0X3RhYmxlX2dldF9maXJzdF9pbmRleChpbmRleGVkX3RhYmxlKTsKKwkgICAgIGluZGV4Owor CSAgICAgaW5kZXggPSBkaWN0X3RhYmxlX2dldF9uZXh0X2luZGV4KGluZGV4KSkgeworCQlpZiAo aW5kZXgtPnR5cGUgJiBESUNUX0ZUUykgeworCQkJREJVR19BU1NFUlQoaW5kZXgtPnR5cGUgPT0g RElDVF9GVFMpOworCQkJY29udGludWU7CisJCX0KKworCQlmb3IgKHVsaW50IGkgPSAwOyBpIDwg ZGljdF9pbmRleF9nZXRfbl9maWVsZHMoaW5kZXgpOyBpKyspIHsKKwkJCWNvbnN0IGRpY3RfZmll bGRfdCogZmllbGQKKwkJCQk9IGRpY3RfaW5kZXhfZ2V0X250aF9maWVsZChpbmRleCwgaSk7CisJ CQlpZiAoZmllbGQtPnByZWZpeF9sZW4gPiBtYXhfY29sX2xlbikgeworCQkJCW15X2Vycm9yKEVS X0lOREVYX0NPTFVNTl9UT09fTE9ORywgTVlGKDApLAorCQkJCQkgbWF4X2NvbF9sZW4pOworCQkJ CWdvdG8gZXJyX2V4aXRfbm9faGVhcDsKKwkJCX0KKwkJfQorCX0KKwogCW5fZHJvcF9pbmRleCA9 IDA7CiAJbl9kcm9wX2ZrID0gMDsKIApAQCAtMzQ4Nyw2ICszNTEzLDcgQEAgZm91bmRfY29sOgog CQkJICAgIGhhX2FsdGVyX2luZm8sIGFsdGVyZWRfdGFibGUsIHRhYmxlLAogCQkJICAgIHByZWJ1 aWx0LT50YWJsZSwgcHJlYnVpbHQtPnRyeCwKIAkJCSAgICB0YWJsZV9zaGFyZS0+dGFibGVfbmFt ZS5zdHIsCisJCQkgICAgZmxhZ3MsIGZsYWdzMiwKIAkJCSAgICBoZWFwLCBkcm9wX2luZGV4LCBu X2Ryb3BfaW5kZXgsCiAJCQkgICAgZHJvcF9maywgbl9kcm9wX2ZrLCBhZGRfZmssIG5fYWRkX2Zr LAogCQkJICAgIG51bV9mdHNfaW5kZXgsCgpObyBidW5kbGUgKHJlYXNvbjogdXNlbGVzcyBmb3Ig cHVzaCBlbWFpbHMpLg==