From: marko.makela Date: June 20 2012 9:19pm Subject: bzr push into mysql-trunk-wl6255 branch (marko.makela:4009 to 4012) WL#6255 List-Archive: http://lists.mysql.com/commits/144278 Message-Id: <20120620211952.6972.45473.4012@x220> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDQwMTIgTWFya28gTcOka2Vsw6QJMjAxMi0wNi0yMQogICAgICBXTCM2MjU1IGRlYWQgY29kZSBy ZW1vdmFsLgogICAgICAKICAgICAgcm93X3JlY190b19pbmRleF9lbnRyeSgpOiBSZW1vdmUgdGhl IGNvbnN0YW50IHBhcmFtZXRlciB0eXBlPVJPV19DT1BZX0RBVEEuCgogICAgbW9kaWZpZWQ6CiAg ICAgIHN0b3JhZ2UvaW5ub2Jhc2UvYnRyL2J0cjBjdXIuY2MKICAgICAgc3RvcmFnZS9pbm5vYmFz ZS9pbmNsdWRlL3JvdzByb3cuaAogICAgICBzdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwbXlzcWwu Y2MKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHJvdy5jYwogICAgICBzdG9yYWdlL2lu bm9iYXNlL3Jvdy9yb3cwdXBkLmNjCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvdHJ4L3RyeDByZWMu Y2MKIDQwMTEgTWFya28gTcOka2Vsw6QJMjAxMi0wNi0yMQogICAgICBXTCM2MjU1IGRlYWQgY29k ZSByZW1vdmFsLgogICAgICAKICAgICAgcHJlcGFyZV9pbnBsYWNlX2FsdGVyX3RhYmxlX2RpY3Qo KTogUmVtb3ZlIHRoZSB1bnJlYWNoYWJsZSBjaGVjayBmb3IKICAgICAgZ2V0X2lubm9iYXNlX3R5 cGVfZnJvbV9teXNxbF90eXBlKCkgcmV0dXJuaW5nIDAuIEl0IHdvdWxkIGRvCiAgICAgIHV0X2Vy cm9yIChhYm9ydCkgYmVmb3JlIGRvaW5nIHRoYXQuCgogICAgbW9kaWZpZWQ6CiAgICAgIHN0b3Jh Z2UvaW5ub2Jhc2UvaGFuZGxlci9oYW5kbGVyMGFsdGVyLmNjCiA0MDEwIE1hcmtvIE3DpGtlbMOk CTIwMTItMDYtMjEKICAgICAgV0wjNjI1NSBkZWFkIGNvZGUgcmVtb3ZhbC4KICAgICAgCiAgICAg IHJvd19idWlsZCgpOiBXaGVuIHJlYnVpbGRpbmcgYSB0YWJsZSwgd2UgYWx3YXlzIHBhc3MgY29s X21hcFtdLgogICAgICBEcm9wcGluZyBjb2x1bW5zIHJlcXVpcmVzIGEgdGFibGUgcmVidWlsZCwg c28gaXQgd2lsbCBzdWZmaWNlIHRvIGNoZWNrCiAgICAgIHRoZSBjb2xfbWFwW10gZm9yIGFueSBk cm9wcGVkIGNvbHVtbnMuCgogICAgbW9kaWZpZWQ6CiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uvcm93 L3JvdzByb3cuY2MKIDQwMDkgTWFya28gTcOka2Vsw6QJMjAxMi0wNi0yMAogICAgICBBZGp1c3Qg aW5kZXggY2FyZGluYWxpdHkgc3RhdGlzdGljcyBjYWxjdWxhdGlvbiBmb3IgV0wjNjI1NS4KICAg ICAgCiAgICAgIERvIG5vdCBza2lwIHN0YXRpc3RpY3MgY2FsY3VsYXRpb24gaWYgdGhlIHRhYmxl IGlzIGJlaW5nIHJlYnVpbHQgb25saW5lLgogICAgICBUaGUgb3V0Y29tZSBvZiB0aGUgZnVuY3Rp b24gZGljdF9pbmRleF9pc19vbmxpbmVfZGRsKCkgY2hhbmdlcyBhIGJpdCBpbgogICAgICBXTCM2 MjU1LiBCZWZvcmUgV0wjNjI1NSwgaXQgY291bGQgb25seSBob2xkIGZvciBzZWNvbmRhcnkgaW5k ZXhlcy4KICAgICAgQWZ0ZXIgV0wjNjI1NSwgaWYgZGljdF9pbmRleF9pc19vbmxpbmVfZGRsKCkg aG9sZHMgZm9yIGEgY2x1c3RlcmVkIGluZGV4LAogICAgICBpdCBtZWFucyB0aGF0IHRoZSB0YWJs ZSBpcyBmdWxseSBhY2Nlc3NpYmxlLCBidXQgaXQgaXMgbWVyZWx5IGJlaW5nIHJlYnVpbHQKICAg ICAgb25saW5lIGFuZCBhbGwgY2hhbmdlcyB0byB0aGUgdGFibGUgbXVzdCBiZSBsb2dnZWQuCiAg ICAgIAogICAgICBJbmRleCBjYXJkaW5hbGl0eSBzdGF0aXN0aWNzIGNhbGN1bGF0aW9uIGRvZXMg bm90IG1vZGlmeSB0aGUgdGFibGUuCiAgICAgIFRoZXJlZm9yZSwgaXQgbXVzdCBjb250aW51ZSAi YnVzaW5lc3MgYXMgdXN1YWwiIGZvciB0YWJsZXMgdGhhdCBoYXBwZW4KICAgICAgdG8gYmUgc3Vi amVjdGVkIHRvIG9ubGluZSByZWJ1aWxkLgogICAgICAKICAgICAgVGhpcyBtaWdodCBoYXZlIGNh dXNlZCBWYWxncmluZCB3YXJuaW5ncyBhYm91dCByZWFkaW5nIHVuaW5pdGlhbGl6ZWQgbWVtb3J5 CiAgICAgIGluIG1haW4uaW5ub2RiX2ljcF9hbGwuCgogICAgbW9kaWZpZWQ6CiAgICAgIHN0b3Jh Z2UvaW5ub2Jhc2UvZGljdC9kaWN0MHN0YXRzLmNjCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdl L2lubm9iYXNlL2J0ci9idHIwY3VyLmNjJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2J0ci9idHIw Y3VyLmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNjIwMTIwOTI2LTNkbWpr MWkyNzU3bGVoaGoKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9idHIvYnRyMGN1ci5jYwlyZXZpZDpt YXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDYyMDIxMTUxNC04Nmw4bTVieWFzZTJrMm93CkBA IC0yMDkyLDcgKzIwOTIsNyBAQCBhbnlfZXh0ZXJuOgogCQkJKyBEVFVQTEVfRVNUX0FMTE9DKHJl Y19vZmZzX25fZmllbGRzKCpvZmZzZXRzKSkpOwogCX0KIAotCW5ld19lbnRyeSA9IHJvd19yZWNf dG9faW5kZXhfZW50cnkoUk9XX0NPUFlfREFUQSwgcmVjLCBpbmRleCwgKm9mZnNldHMsCisJbmV3 X2VudHJ5ID0gcm93X3JlY190b19pbmRleF9lbnRyeShyZWMsIGluZGV4LCAqb2Zmc2V0cywKIAkJ CQkJICAgJm5fZXh0LCAqaGVhcCk7CiAJLyogV2UgY2hlY2tlZCBhYm92ZSB0aGF0IHRoZXJlIGFy ZSBubyBleHRlcm5hbGx5IHN0b3JlZCBmaWVsZHMuICovCiAJdXRfYSghbl9leHQpOwpAQCAtMjM2 NSw3ICsyMzY1LDcgQEAgYnRyX2N1cl9wZXNzaW1pc3RpY191cGRhdGUoCiAJCXJlYywgaW5kZXgs ICpvZmZzZXRzLCBVTElOVF9VTkRFRklORUQsIG9mZnNldHNfaGVhcCk7CiAKIAlkdHVwbGVfdCoJ bmV3X2VudHJ5ID0gcm93X3JlY190b19pbmRleF9lbnRyeSgKLQkJUk9XX0NPUFlfREFUQSwgcmVj LCBpbmRleCwgKm9mZnNldHMsICZuX2V4dCwgZW50cnlfaGVhcCk7CisJCXJlYywgaW5kZXgsICpv ZmZzZXRzLCAmbl9leHQsIGVudHJ5X2hlYXApOwogCiAJLyogVGhlIHBhZ2UgY29udGFpbmluZyB0 aGUgY2x1c3RlcmVkIGluZGV4IHJlY29yZAogCWNvcnJlc3BvbmRpbmcgdG8gbmV3X2VudHJ5IGlz IGxhdGNoZWQgaW4gbXRyLiAgSWYgdGhlCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5v YmFzZS9oYW5kbGVyL2hhbmRsZXIwYWx0ZXIuY2MnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaGFu ZGxlci9oYW5kbGVyMGFsdGVyLmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIw NjIwMTIwOTI2LTNkbWprMWkyNzU3bGVoaGoKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9oYW5kbGVy L2hhbmRsZXIwYWx0ZXIuY2MJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA2MjAy MTE1MTQtODZsOG01Ynlhc2UyazJvdwpAQCAtMjUxMiwxNCArMjUxMiw2IEBAIHByZXBhcmVfaW5w bGFjZV9hbHRlcl90YWJsZV9kaWN0KAogCQkJdWxpbnQJCWNoYXJzZXRfbm87CiAJCQl1bGludAkJ Y29sX2xlbjsKIAotCQkJaWYgKCFjb2xfdHlwZSkgewotY29sX2ZhaWw6Ci0JCQkJZGljdF9tZW1f dGFibGVfZnJlZShpbmRleGVkX3RhYmxlKTsKLQkJCQlteV9lcnJvcihFUl9XUk9OR19LRVlfQ09M VU1OLCBNWUYoMCksCi0JCQkJCSBmaWVsZC0+ZmllbGRfbmFtZSk7Ci0JCQkJZ290byBuZXdfY2x1 c3RlcmVkX2ZhaWxlZDsKLQkJCX0KLQogCQkJLyogd2UgYXNzdW1lIGluIGR0eXBlX2Zvcm1fcHJ0 eXBlKCkgdGhhdCB0aGlzCiAJCQlmaXRzIGluIHR3byBieXRlcyAqLwogCQkJdXRfYShmaWVsZF90 eXBlIDw9IE1BWF9DSEFSX0NPTExfTlVNKTsKQEAgLTI1NDAsNyArMjUzMiwxMCBAQCBjb2xfZmFp bDoKIAkJCQljaGFyc2V0X25vID0gKHVsaW50KSBmaWVsZC0+Y2hhcnNldCgpLT5udW1iZXI7CiAK IAkJCQlpZiAoY2hhcnNldF9ubyA+IE1BWF9DSEFSX0NPTExfTlVNKSB7Ci0JCQkJCWdvdG8gY29s X2ZhaWw7CisJCQkJCWRpY3RfbWVtX3RhYmxlX2ZyZWUoaW5kZXhlZF90YWJsZSk7CisJCQkJCW15 X2Vycm9yKEVSX1dST05HX0tFWV9DT0xVTU4sIE1ZRigwKSwKKwkJCQkJCSBmaWVsZC0+ZmllbGRf bmFtZSk7CisJCQkJCWdvdG8gbmV3X2NsdXN0ZXJlZF9mYWlsZWQ7CiAJCQkJfQogCQkJfSBlbHNl IHsKIAkJCQljaGFyc2V0X25vID0gMDsKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9i YXNlL2luY2x1ZGUvcm93MHJvdy5oJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvcm93 MHJvdy5oCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNjIwMTIwOTI2LTNkbWpr MWkyNzU3bGVoaGoKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3JvdzByb3cuaAlyZXZp ZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDYyMDIxMTUxNC04Nmw4bTVieWFzZTJrMm93 CkBAIC0xNzMsMjYgKzE3MywxMiBAQCByb3dfcmVjX3RvX2luZGV4X2VudHJ5X2xvdygKIC8qKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqLy8qKgogQ29udmVydHMgYW4gaW5kZXggcmVjb3JkIHRvIGEgdHlwZWQgZGF0YSB0dXBs ZS4gTk9URSB0aGF0IGV4dGVybmFsbHkKIHN0b3JlZCAob2Z0ZW4gYmlnKSBmaWVsZHMgYXJlIE5P VCBjb3BpZWQgdG8gaGVhcC4KLUByZXR1cm4Jb3duOiBpbmRleCBlbnRyeSBidWlsdDsgc2VlIHRo ZSBOT1RFIGJlbG93ISAqLworQHJldHVybglvd246IGluZGV4IGVudHJ5IGJ1aWx0ICovCiBVTklW X0lOVEVSTgogZHR1cGxlX3QqCiByb3dfcmVjX3RvX2luZGV4X2VudHJ5KAogLyo9PT09PT09PT09 PT09PT09PT09Ki8KLQl1bGludAkJCXR5cGUsCS8qITwgaW46IFJPV19DT1BZX0RBVEEsIG9yCi0J CQkJCVJPV19DT1BZX1BPSU5URVJTOiB0aGUgZm9ybWVyCi0JCQkJCWNvcGllcyBhbHNvIHRoZSBk YXRhIGZpZWxkcyB0bwotCQkJCQloZWFwIGFzIHRoZSBsYXR0ZXIgb25seSBwbGFjZXMKLQkJCQkJ cG9pbnRlcnMgdG8gZGF0YSBmaWVsZHMgb24gdGhlCi0JCQkJCWluZGV4IHBhZ2UgKi8KLQljb25z dCByZWNfdCoJCXJlYywJLyohPCBpbjogcmVjb3JkIGluIHRoZSBpbmRleDsKLQkJCQkJTk9URTog aW4gdGhlIGNhc2UKLQkJCQkJUk9XX0NPUFlfUE9JTlRFUlMgdGhlIGRhdGEKLQkJCQkJZmllbGRz IGluIHRoZSByb3cgd2lsbCBwb2ludAotCQkJCQlkaXJlY3RseSBpbnRvIHRoaXMgcmVjb3JkLAot CQkJCQl0aGVyZWZvcmUsIHRoZSBidWZmZXIgcGFnZSBvZgotCQkJCQl0aGlzIHJlY29yZCBtdXN0 IGJlIGF0IGxlYXN0Ci0JCQkJCXMtbGF0Y2hlZCBhbmQgdGhlIGxhdGNoIGhlbGQKLQkJCQkJYXMg bG9uZyBhcyB0aGUgZHR1cGxlIGlzIHVzZWQhICovCisJY29uc3QgcmVjX3QqCQlyZWMsCS8qITwg aW46IHJlY29yZCBpbiB0aGUgaW5kZXggKi8KIAljb25zdCBkaWN0X2luZGV4X3QqCWluZGV4LAkv KiE8IGluOiBpbmRleCAqLwogCWNvbnN0IHVsaW50KgkJb2Zmc2V0cywvKiE8IGluL291dDogcmVj X2dldF9vZmZzZXRzKHJlYykgKi8KIAl1bGludCoJCQluX2V4dCwJLyohPCBvdXQ6IG51bWJlciBv ZiBleHRlcm5hbGx5Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93 MG15c3FsLmNjJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwbXlzcWwuY2MJcmV2aWQ6 bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA2MjAxMjA5MjYtM2RtamsxaTI3NTdsZWhoagor KysgYi9zdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwbXlzcWwuY2MJcmV2aWQ6bWFya28ubWFrZWxh QG9yYWNsZS5jb20tMjAxMjA2MjAyMTE1MTQtODZsOG01Ynlhc2UyazJvdwpAQCAtNTAzOCw5ICs1 MDM4LDggQEAgbm90X29rOgogCiAJCW1lbV9oZWFwX2VtcHR5KGhlYXApOwogCi0JCXByZXZfZW50 cnkgPSByb3dfcmVjX3RvX2luZGV4X2VudHJ5KFJPV19DT1BZX0RBVEEsIHJlYywKLQkJCQkJCSAg ICBpbmRleCwgb2Zmc2V0cywKLQkJCQkJCSAgICAmbl9leHQsIGhlYXApOworCQlwcmV2X2VudHJ5 ID0gcm93X3JlY190b19pbmRleF9lbnRyeSgKKwkJCXJlYywgaW5kZXgsIG9mZnNldHMsICZuX2V4 dCwgaGVhcCk7CiAKIAkJaWYgKFVOSVZfTElLRUxZX05VTEwodG1wX2hlYXApKSB7CiAJCQltZW1f aGVhcF9mcmVlKHRtcF9oZWFwKTsKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNl L3Jvdy9yb3cwcm93LmNjJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwcm93LmNjCXJl dmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNjIwMTIwOTI2LTNkbWprMWkyNzU3bGVo aGoKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHJvdy5jYwlyZXZpZDptYXJrby5tYWtl bGFAb3JhY2xlLmNvbS0yMDEyMDYyMDIxMTUxNC04Nmw4bTVieWFzZTJrMm93CkBAIC0zMzQsOSAr MzM0LDYgQEAgcm93X2J1aWxkKAogCQkJCS8qIGRyb3BwZWQgY29sdW1uICovCiAJCQkJY29udGlu dWU7CiAJCQl9Ci0JCX0gZWxzZSBpZiAoY29sX25vID49IGRpY3RfdGFibGVfZ2V0X25fY29scyhj b2xfdGFibGUpKSB7Ci0JCQkvKiBkcm9wcGVkIGxhc3QgY29sdW1ucyAqLwotCQkJY29udGludWU7 CiAJCX0KIAogCQlkZmllbGRfdCoJZGZpZWxkID0gZHR1cGxlX2dldF9udGhfZmllbGQocm93LCBj b2xfbm8pOwpAQCAtNDQ1LDI2ICs0NDIsMTIgQEAgcm93X3JlY190b19pbmRleF9lbnRyeV9sb3co CiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKi8vKioKIENvbnZlcnRzIGFuIGluZGV4IHJlY29yZCB0byBhIHR5cGVkIGRh dGEgdHVwbGUuIE5PVEUgdGhhdCBleHRlcm5hbGx5CiBzdG9yZWQgKG9mdGVuIGJpZykgZmllbGRz IGFyZSBOT1QgY29waWVkIHRvIGhlYXAuCi1AcmV0dXJuCW93bjogaW5kZXggZW50cnkgYnVpbHQ7 IHNlZSB0aGUgTk9URSBiZWxvdyEgKi8KK0ByZXR1cm4Jb3duOiBpbmRleCBlbnRyeSBidWlsdCAq LwogVU5JVl9JTlRFUk4KIGR0dXBsZV90Kgogcm93X3JlY190b19pbmRleF9lbnRyeSgKIC8qPT09 PT09PT09PT09PT09PT09PSovCi0JdWxpbnQJCQl0eXBlLAkvKiE8IGluOiBST1dfQ09QWV9EQVRB LCBvcgotCQkJCQlST1dfQ09QWV9QT0lOVEVSUzogdGhlIGZvcm1lcgotCQkJCQljb3BpZXMgYWxz byB0aGUgZGF0YSBmaWVsZHMgdG8KLQkJCQkJaGVhcCBhcyB0aGUgbGF0dGVyIG9ubHkgcGxhY2Vz Ci0JCQkJCXBvaW50ZXJzIHRvIGRhdGEgZmllbGRzIG9uIHRoZQotCQkJCQlpbmRleCBwYWdlICov Ci0JY29uc3QgcmVjX3QqCQlyZWMsCS8qITwgaW46IHJlY29yZCBpbiB0aGUgaW5kZXg7Ci0JCQkJ CU5PVEU6IGluIHRoZSBjYXNlCi0JCQkJCVJPV19DT1BZX1BPSU5URVJTIHRoZSBkYXRhCi0JCQkJ CWZpZWxkcyBpbiB0aGUgcm93IHdpbGwgcG9pbnQKLQkJCQkJZGlyZWN0bHkgaW50byB0aGlzIHJl Y29yZCwKLQkJCQkJdGhlcmVmb3JlLCB0aGUgYnVmZmVyIHBhZ2Ugb2YKLQkJCQkJdGhpcyByZWNv cmQgbXVzdCBiZSBhdCBsZWFzdAotCQkJCQlzLWxhdGNoZWQgYW5kIHRoZSBsYXRjaCBoZWxkCi0J CQkJCWFzIGxvbmcgYXMgdGhlIGR0dXBsZSBpcyB1c2VkISAqLworCWNvbnN0IHJlY190KgkJcmVj LAkvKiE8IGluOiByZWNvcmQgaW4gdGhlIGluZGV4ICovCiAJY29uc3QgZGljdF9pbmRleF90Kglp bmRleCwJLyohPCBpbjogaW5kZXggKi8KIAljb25zdCB1bGludCoJCW9mZnNldHMsLyohPCBpbjog cmVjX2dldF9vZmZzZXRzKHJlYykgKi8KIAl1bGludCoJCQluX2V4dCwJLyohPCBvdXQ6IG51bWJl ciBvZiBleHRlcm5hbGx5CkBAIC00NzksMTggKzQ2MiwxMSBAQCByb3dfcmVjX3RvX2luZGV4X2Vu dHJ5KAogCXV0X2FkKHJlYyAmJiBoZWFwICYmIGluZGV4KTsKIAl1dF9hZChyZWNfb2Zmc192YWxp ZGF0ZShyZWMsIGluZGV4LCBvZmZzZXRzKSk7CiAKLQlpZiAodHlwZSA9PSBST1dfQ09QWV9EQVRB KSB7Ci0JCS8qIFRha2UgYSBjb3B5IG9mIHJlYyB0byBoZWFwICovCi0JCWJ1ZiA9IHN0YXRpY19j YXN0PGJ5dGUqPigKLQkJCW1lbV9oZWFwX2FsbG9jKGhlYXAsIHJlY19vZmZzX3NpemUob2Zmc2V0 cykpKTsKKwkvKiBUYWtlIGEgY29weSBvZiByZWMgdG8gaGVhcCAqLworCWJ1ZiA9IHN0YXRpY19j YXN0PGJ5dGUqPigKKwkJbWVtX2hlYXBfYWxsb2MoaGVhcCwgcmVjX29mZnNfc2l6ZShvZmZzZXRz KSkpOwogCi0JCWNvcHlfcmVjID0gcmVjX2NvcHkoYnVmLCByZWMsIG9mZnNldHMpOwotCX0gZWxz ZSB7Ci0jaWYgZGVmaW5lZCBVTklWX0RFQlVHIHx8IGRlZmluZWQgVU5JVl9CTE9CX0xJR0hUX0RF QlVHCi0JCXV0X2EoIXJlY19vZmZzX2FueV9udWxsX2V4dGVybihyZWMsIG9mZnNldHMpKTsKLSNl bmRpZiAvKiBVTklWX0RFQlVHIHx8IFVOSVZfQkxPQl9MSUdIVF9ERUJVRyAqLwotCQljb3B5X3Jl YyA9IHJlYzsKLQl9CisJY29weV9yZWMgPSByZWNfY29weShidWYsIHJlYywgb2Zmc2V0cyk7CiAK IAlyZWNfb2Zmc19tYWtlX3ZhbGlkKGNvcHlfcmVjLCBpbmRleCwgY29uc3RfY2FzdDx1bGludCo+ KG9mZnNldHMpKTsKIAllbnRyeSA9IHJvd19yZWNfdG9faW5kZXhfZW50cnlfbG93KAoKPT09IG1v ZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzB1cGQuY2MnCi0tLSBhL3N0b3Jh Z2UvaW5ub2Jhc2Uvcm93L3JvdzB1cGQuY2MJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20t MjAxMjA2MjAxMjA5MjYtM2RtamsxaTI3NTdsZWhoagorKysgYi9zdG9yYWdlL2lubm9iYXNlL3Jv dy9yb3cwdXBkLmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNjIwMjExNTE0 LTg2bDhtNWJ5YXNlMmsyb3cKQEAgLTIxMyw4ICsyMTMsNyBAQCByb3dfdXBkX2NoZWNrX3JlZmVy ZW5jZXNfY29uc3RyYWludHMoCiAKIAloZWFwID0gbWVtX2hlYXBfY3JlYXRlKDUwMCk7CiAKLQll bnRyeSA9IHJvd19yZWNfdG9faW5kZXhfZW50cnkoUk9XX0NPUFlfREFUQSwgcmVjLCBpbmRleCwg b2Zmc2V0cywKLQkJCQkgICAgICAgJm5fZXh0LCBoZWFwKTsKKwllbnRyeSA9IHJvd19yZWNfdG9f aW5kZXhfZW50cnkocmVjLCBpbmRleCwgb2Zmc2V0cywgJm5fZXh0LCBoZWFwKTsKIAogCW10cl9j b21taXQobXRyKTsKIAoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvdHJ4L3Ry eDByZWMuY2MnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvdHJ4L3RyeDByZWMuY2MJcmV2aWQ6bWFy a28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA2MjAxMjA5MjYtM2RtamsxaTI3NTdsZWhoagorKysg Yi9zdG9yYWdlL2lubm9iYXNlL3RyeC90cngwcmVjLmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFj bGUuY29tLTIwMTIwNjIwMjExNTE0LTg2bDhtNWJ5YXNlMmsyb3cKQEAgLTE2MTEsOCArMTYxMSw4 IEBAIHRyeF91bmRvX3ByZXZfdmVyc2lvbl9idWlsZCgKIAkJdGhvc2UgZmllbGRzIHRoYXQgdXBk YXRlIHVwZGF0ZXMgdG8gYmVjb21lIGV4dGVybmFsbHkgc3RvcmVkCiAJCWZpZWxkcy4gU3RvcmUg dGhlIGluZm86ICovCiAKLQkJZW50cnkgPSByb3dfcmVjX3RvX2luZGV4X2VudHJ5KFJPV19DT1BZ X0RBVEEsIHJlYywgaW5kZXgsCi0JCQkJCSAgICAgICBvZmZzZXRzLCAmbl9leHQsIGhlYXApOwor CQllbnRyeSA9IHJvd19yZWNfdG9faW5kZXhfZW50cnkoCisJCQlyZWMsIGluZGV4LCBvZmZzZXRz LCAmbl9leHQsIGhlYXApOwogCQluX2V4dCArPSBidHJfcHVzaF91cGRhdGVfZXh0ZXJuX2ZpZWxk cyhlbnRyeSwgdXBkYXRlLCBoZWFwKTsKIAkJLyogVGhlIHBhZ2UgY29udGFpbmluZyB0aGUgY2x1 c3RlcmVkIGluZGV4IHJlY29yZAogCQljb3JyZXNwb25kaW5nIHRvIGVudHJ5IGlzIGxhdGNoZWQg aW4gbXRyLiAgVGh1cyB0aGUKCk5vIGJ1bmRsZSAocmVhc29uOiB1c2VsZXNzIGZvciBwdXNoIGVt YWlscyku