From: Bjorn Munch Date: April 7 2011 11:42am Subject: bzr commit into mysql-5.5 branch (bjorn.munch:3424) List-Archive: http://lists.mysql.com/commits/134922 Message-Id: <201104071142.p37Bg7x9025348@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 I0F0IGZpbGU6Ly8vaG9tZS9ibTEzNjgwMS9teS9tYWluLTU1LyBiYXNlZCBvbiByZXZpZDpqb24u aGF1Z2xpZEBvcmFjbGUuY29tLTIwMTEwNDA3MDk0MTIwLTRlcjVnOHR1Yjl5YXkzOWoKCiAzNDI0 IEJqb3JuIE11bmNoCTIwMTEtMDQtMDcgW21lcmdlXQogICAgICBtZXJnZSBmcm9tIDUuNS1tdHIK CiAgICBtb2RpZmllZDoKICAgICAgbXlzcWwtdGVzdC9leHRyYS9ycGxfdGVzdHMvcnBsX2V4dHJh X2NvbF9tYXN0ZXIudGVzdAogICAgICBteXNxbC10ZXN0L2luY2x1ZGUvbWl4MS5pbmMKICAgICAg bXlzcWwtdGVzdC9pbmNsdWRlL210cl93YXJuaW5ncy5zcWwKICAgICAgbXlzcWwtdGVzdC9saWIv bXRyX21pc2MucGwKICAgICAgbXlzcWwtdGVzdC9teXNxbC10ZXN0LXJ1bi5wbAogICAgICBteXNx bC10ZXN0L3Ivb3JkZXJfYnkucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9zaG93X2NoZWNrLnJl c3VsdAogICAgICBteXNxbC10ZXN0L3Ivc3AtZGVzdHJ1Y3QucmVzdWx0CiAgICAgIG15c3FsLXRl c3Qvc3VpdGUvcnBsL3IvcnBsX2V4dHJhX2NvbF9tYXN0ZXJfaW5ub2RiLnJlc3VsdAogICAgICBt eXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9leHRyYV9jb2xfbWFzdGVyX215aXNhbS5yZXN1bHQK ICAgICAgbXlzcWwtdGVzdC90L29yZGVyX2J5LnRlc3QKICAgICAgbXlzcWwtdGVzdC90L3Nob3df Y2hlY2sudGVzdAogICAgICBteXNxbC10ZXN0L3Qvc3AtZGVzdHJ1Y3QudGVzdAo9PT0gbW9kaWZp ZWQgZmlsZSAnbXlzcWwtdGVzdC9leHRyYS9ycGxfdGVzdHMvcnBsX2V4dHJhX2NvbF9tYXN0ZXIu dGVzdCcKLS0tIGEvbXlzcWwtdGVzdC9leHRyYS9ycGxfdGVzdHMvcnBsX2V4dHJhX2NvbF9tYXN0 ZXIudGVzdAkyMDExLTAyLTIzIDExOjU0OjU4ICswMDAwCisrKyBiL215c3FsLXRlc3QvZXh0cmEv cnBsX3Rlc3RzL3JwbF9leHRyYV9jb2xfbWFzdGVyLnRlc3QJMjAxMS0wMy0zMSAxMzo1MDoyOSAr MDAwMApAQCAtMTIyLDExICsxMjIsMTMgQEAgU0VMRUNUIGYxLGYyLGYzLGY0LGY1LGY2LGY3LGY4 LGY5LAogCiAjY29ubmVjdGlvbiBzbGF2ZTsKIAorLS1kaXNhYmxlX3F1ZXJ5X2xvZwogY2FsbCBt dHIuYWRkX3N1cHByZXNzaW9uKCJTbGF2ZSBTUUwuKlRhYmxlIGRlZmluaXRpb24gb24gbWFzdGVy IGFuZCBzbGF2ZSBkb2VzIG5vdCBtYXRjaDogQ29sdW1uIDIgdHlwZSBtaXNtYXRjaC4qIDE1MzUi KTsKLWNhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiU2xhdmUgU1FMLipFcnJvciAuQ2FuLnQgRFJP UCAuYzcuOyBjaGVjayB0aGF0IGNvbHVtbi5rZXkgZXhpc3RzLiBvbiBxdWVyeS4qIDEwOTEiKTsK LWNhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiU2xhdmUgU1FMLipFcnJvciAuVW5rbm93biBjb2x1 bW4gLmM3LiBpbiAudDE1Li4gb24gcXVlcnkuKiAxMDU0Iik7Ci1jYWxsIG10ci5hZGRfc3VwcHJl c3Npb24oIlNsYXZlIFNRTC4qRXJyb3IgLktleSBjb2x1bW4gLmM2LiBkb2Vzbi50IGV4aXN0IGlu IHRhYmxlLiBvbiBxdWVyeS4qIDEwNzIiKTsKK2NhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiU2xh dmUuKkNhbi50IERST1AgLmM3LjsgY2hlY2sgdGhhdCBjb2x1bW4ua2V5IGV4aXN0cy4qIEVycm9y X2NvZGU6IDEwOTEiKTsKK2NhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiU2xhdmUuKlVua25vd24g Y29sdW1uIC5jNy4gaW4gLnQxNS4qIEVycm9yX2NvZGU6IDEwNTQiKTsKK2NhbGwgbXRyLmFkZF9z dXBwcmVzc2lvbigiU2xhdmUuKktleSBjb2x1bW4gLmM2LiBkb2Vzbi50IGV4aXN0IGluIHRhYmxl LiogRXJyb3JfY29kZTogMTA3MiIpOwogY2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCJTbGF2ZSBT UUwuKkNvbHVtbiAyIG9mIHRhYmxlIC50ZXN0LnQxLi4gY2Fubm90IGJlIGNvbnZlcnRlZCBmcm9t IHR5cGUuKiBFcnJvcl9jb2RlOiAxNjc3Iik7CistLWVuYWJsZV9xdWVyeV9sb2cKIAogc3luY19z bGF2ZV93aXRoX21hc3RlcjsKIC0tZWNobwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qv aW5jbHVkZS9taXgxLmluYycKLS0tIGEvbXlzcWwtdGVzdC9pbmNsdWRlL21peDEuaW5jCTIwMTAt MTItMDggMTQ6NDc6NDcgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9pbmNsdWRlL21peDEuaW5jCTIw MTEtMDMtMzAgMTI6NTU6NTMgKzAwMDAKQEAgLTYzNCw2ICs2MzQsMTAgQEAgZHJvcCB0YWJsZSB0 MTsKIGRyb3AgdGFibGUgYnVnMjk4MDc7CiBjcmVhdGUgdGFibGUgYnVnMjk4MDcgKGEgaW50KTsK IGRyb3AgdGFibGUgYnVnMjk4MDc7CistLWRpc2FibGVfcXVlcnlfbG9nCitjYWxsIG10ci5hZGRf c3VwcHJlc3Npb24oIklubm9EQjogRXJyb3I6IHRhYmxlIC50ZXN0Li4uYnVnMjk4MDcuIGRvZXMg bm90IGV4aXN0IGluIHRoZSBJbm5vREIgaW50ZXJuYWwiKTsKK2NhbGwgbXRyLmFkZF9zdXBwcmVz c2lvbigiQ2Fubm90IGZpbmQgb3Igb3BlbiB0YWJsZSB0ZXN0XC9idWcyOTgwNyBmcm9tIik7Cist LWVuYWJsZV9xdWVyeV9sb2cKIAogCiAjCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9p bmNsdWRlL210cl93YXJuaW5ncy5zcWwnCi0tLSBhL215c3FsLXRlc3QvaW5jbHVkZS9tdHJfd2Fy bmluZ3Muc3FsCTIwMTEtMDItMjMgMTE6NTQ6NTggKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9pbmNs dWRlL210cl93YXJuaW5ncy5zcWwJMjAxMS0wMy0zMCAxMjo1NTo1MyArMDAwMApAQCAtNzEsNyAr NzEsNyBAQCBTRVQgQEBjb2xsYXRpb25fY29ubmVjdGlvbiA9IEBjb2xsYXRpb25fCiAtLSBJbnNl cnQgcGF0dGVybnMgdGhhdCBzaG91bGQgYWx3YXlzIGJlIHN1cHByZXNzZWQKIC0tCiBJTlNFUlQg SU5UTyBnbG9iYWxfc3VwcHJlc3Npb25zIFZBTFVFUwotICgiJ1NFTEVDVCBVTklYX1RJTUVTVEFN UFxcKFxcKScgZmFpbGVkIG9uIG1hc3RlciIpLAorICgiLlNFTEVDVCBVTklYX1RJTUVTVEFNUC4u LiBmYWlsZWQgb24gbWFzdGVyIiksCiAgKCJBYm9ydGVkIGNvbm5lY3Rpb24iKSwKICAoIkNsaWVu dCByZXF1ZXN0ZWQgbWFzdGVyIHRvIHN0YXJ0IHJlcGxpY2F0aW9uIGZyb20gaW1wb3NzaWJsZSBw b3NpdGlvbiIpLAogICgiQ291bGQgbm90IGZpbmQgZmlyc3QgbG9nIGZpbGUgbmFtZSBpbiBiaW5h cnkgbG9nIiksCkBAIC0xMjgsNyArMTI4LDYgQEAgSU5TRVJUIElOVE8gZ2xvYmFsX3N1cHByZXNz aW9ucyBWQUxVRVMKICAoIlNvcnQgYWJvcnRlZCIpLAogICgiVGltZS1vdXQgaW4gTkRCIiksCiAg KCJXYXJuaW5nOlxzK09uZSBjYW4gb25seSB1c2UgdGhlIC0tdXNlci4qcm9vdCIpLAotICgiV2Fy bmluZzpccytTZXR0aW5nIGxvd2VyX2Nhc2VfdGFibGVfbmFtZXM9MiIpLAogICgiV2FybmluZzpc cytUYWJsZTouKiBvbiAoZGVsZXRlfHJlbmFtZSkiKSwKICAoIllvdSBoYXZlIGFuIGVycm9yIGlu IHlvdXIgU1FMIHN5bnRheCIpLAogICgiZGVwcmVjYXRlZCIpLApAQCAtMTQxLDUzICsxNDAsMjAg QEAgSU5TRVJUIElOVE8gZ2xvYmFsX3N1cHByZXNzaW9ucyBWQUxVRVMKICAoInNsYXZlIFNRTCB0 aHJlYWQgYWJvcnRlZCIpLAogICgiU2xhdmU6IC4qRHVwbGljYXRlIGVudHJ5IiksCiAKLSAvKgot ICAgU3BlY2lhbCBjYXNlLCBtYWRlIGFzIHNwZWNpZmljIGFzIHBvc3NpYmxlLCBmb3I6Ci0gICBC dWcgIzI4NDM2OiBJbmNvcnJlY3QgcG9zaXRpb24gaW4gU0hPVyBCSU5MT0cgRVZFTlRTIGNhdXNl cwotICAgc2VydmVyIGNvcmVkdW1wCi0gKi8KLQotICgiRXJyb3IgaW4gTG9nX2V2ZW50OjpyZWFk X2xvZ19ldmVudFxcXChcXFwpOiAnU2FuaXR5IGNoZWNrIGZhaWxlZCcsIGRhdGFfbGVuOiAyNTgs IGV2ZW50X3R5cGU6IDQ5IiksCi0KICAoIlN0YXRlbWVudCBtYXkgbm90IGJlIHNhZmUgdG8gbG9n IGluIHN0YXRlbWVudCBmb3JtYXQiKSwKIAotIC8qIHRlc3QgY2FzZSBmb3IgQnVnI2J1ZzI5ODA3 IGNvcGllcyBhIHN0cmF5IGZybSBpbnRvIGRhdGFiYXNlICovCi0gKCJJbm5vREI6IEVycm9yOiB0 YWJsZSBgdGVzdGAuYGJ1ZzI5ODA3YCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgSW5ub0RCIGludGVy bmFsIiksCi0gKCJDYW5ub3QgZmluZCBvciBvcGVuIHRhYmxlIHRlc3RcL2J1ZzI5ODA3IGZyb20i KSwKLQogIC8qIGlubm9kYiBmb3JlaWduIGtleSB0ZXN0cyB0aGF0IGZhaWwgaW4gQUxURVIgb3Ig UkVOQU1FIHByb2R1Y2UgdGhpcyAqLwogICgiSW5ub0RCOiBFcnJvcjogaW4gQUxURVIgVEFCTEUg YHRlc3RgLmB0WzEyM11gIiksCiAgKCJJbm5vREI6IEVycm9yOiBpbiBSRU5BTUUgVEFCTEUgdGFi bGUgYHRlc3RgLmB0MWAiKSwKICAoIklubm9EQjogRXJyb3I6IHRhYmxlIGB0ZXN0YC5gdFsxMjNd YCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgSW5ub0RCIGludGVybmFsIiksCiAKLSAvKiBUZXN0IGNh c2UgZm9yIEJ1ZyMxNDIzMyBwcm9kdWNlcyB0aGUgZm9sbG93aW5nIHdhcm5pbmdzOiAqLwotICgi U3RvcmVkIHJvdXRpbmUgJ3Rlc3QnLididWcxNDIzM18xJzogaW52YWxpZCB2YWx1ZSBpbiBjb2x1 bW4gbXlzcWwucHJvYyIpLAotICgiU3RvcmVkIHJvdXRpbmUgJ3Rlc3QnLididWcxNDIzM18yJzog aW52YWxpZCB2YWx1ZSBpbiBjb2x1bW4gbXlzcWwucHJvYyIpLAotICgiU3RvcmVkIHJvdXRpbmUg J3Rlc3QnLididWcxNDIzM18zJzogaW52YWxpZCB2YWx1ZSBpbiBjb2x1bW4gbXlzcWwucHJvYyIp LAotCiAgLyoKICAgIEJVRyMzMjA4MCAtIEV4Y2Vzc2l2ZSB3YXJuaW5ncyBvbiBTb2xhcmlzOiBz ZXRybGltaXQgY291bGQgbm90CiAgICBjaGFuZ2UgdGhlIHNpemUgb2YgY29yZSBmaWxlcwogICAq LwogICgic2V0cmxpbWl0IGNvdWxkIG5vdCBjaGFuZ2UgdGhlIHNpemUgb2YgY29yZSBmaWxlcyB0 byAnaW5maW5pdHknIiksCiAKLSAvKgotICAgcnBsX2V4dHJDb2xtYXN0ZXJfKi50ZXN0LCB0aGUg c2xhdmUgdGhyZWFkIHByb2R1Y2VzIHdhcm5pbmdzCi0gICB3aGVuIGl0IGdldCB1cGRhdGVzIHRv IGEgdGFibGUgdGhhdCBoYXMgbW9yZSBjb2x1bW5zIG9uIHRoZQotICAgbWFzdGVyCi0gICovCi0g KCJTbGF2ZTogVW5rbm93biBjb2x1bW4gJ2M3JyBpbiAndDE1JyBFcnJvcl9jb2RlOiAxMDU0Iiks Ci0gKCJTbGF2ZTogQ2FuJ3QgRFJPUCAnYzcnLiogMTA5MSIpLAotICgiU2xhdmU6IEtleSBjb2x1 bW4gJ2M2Jy4qIDEwNzIiKSwKICAoIlRoZSBzbGF2ZSBJLk8gdGhyZWFkIHN0b3BzIGJlY2F1c2Ug YSBmYXRhbCBlcnJvciBpcyBlbmNvdW50ZXJlZCB3aGVuIGl0IHRyeSB0byBnZXQgdGhlIHZhbHVl IG9mIFNFUlZFUl9JRCB2YXJpYWJsZSBmcm9tIG1hc3Rlci4iKSwKLSAoIi5TRUxFQ1QgVU5JWF9U SU1FU1RBTVAuLi4gZmFpbGVkIG9uIG1hc3RlciwgZG8gbm90IHRydXN0IGNvbHVtbiBTZWNvbmRz X0JlaGluZF9NYXN0ZXIgb2YgU0hPVyBTTEFWRSBTVEFUVVMiKSwKLQotIC8qIFNwZWNpYWwgY2Fz ZSBmb3IgQnVnICMyNjQwMiBpbiBzaG93X2NoZWNrLnRlc3QKLSAgICAtIFF1ZXN0aW9uIG1hcmtz IGFyZSBub3QgdmFsaWQgZmlsZSBuYW1lIHBhcnRzIG9uIFdpbmRvd3MuIElnbm9yZQotICAgICAg dGhpcyBlcnJvciBtZXNzYWdlLgotICAqLwotICgiQ2FuJ3QgZmluZCBmaWxlOiAnLlxcXFx0ZXN0 XFxcXFxcP3s4fS5mcm0nIiksCi0gKCJTbGF2ZTogVW5rbm93biB0YWJsZSAndDEnIEVycm9yX2Nv ZGU6IDEwNTEiKSwKIAogIC8qIEFkZGVkIDIwMDktMDgtWFggYWZ0ZXIgZml4aW5nIEJ1ZyAjNDI0 MDggKi8KIApAQCAtMjE2LDE0ICsxODIsNiBAQCBJTlNFUlQgSU5UTyBnbG9iYWxfc3VwcHJlc3Np b25zIFZBTFVFUwogICgiPT1bMC05XSo9PSBXYXJuaW5nOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRv ciAtMSBpbiBzeXNjYWxsIHJlYWQoKSIpLAogCiAgLyoKLSAgIFRyYW5zaWVudCBuZXR3b3JrIGZh aWx1cmVzIHRoYXQgY2F1c2Ugd2FybmluZ3Mgb24gcmVjb25uZWN0LgotICAgQlVHIzQ3NzQzIGFu ZCBCVUcjNDc5ODMuCi0gKi8KLSAoIlNsYXZlIEkvTzogR2V0IG1hc3RlciBTRVJWRVJfSUQgZmFp bGVkIHdpdGggZXJyb3I6LioiKSwKLSAoIlNsYXZlIEkvTzogR2V0IG1hc3RlciBjbG9jayBmYWls ZWQgd2l0aCBlcnJvcjouKiIpLAotICgiU2xhdmUgSS9POiBHZXQgbWFzdGVyIENPTExBVElPTl9T RVJWRVIgZmFpbGVkIHdpdGggZXJyb3I6LioiKSwKLSAoIlNsYXZlIEkvTzogR2V0IG1hc3RlciBU SU1FX1pPTkUgZmFpbGVkIHdpdGggZXJyb3I6LioiKSwKLSAvKgogICAgQlVHIzQyMTQ3IC0gQ29u Y3VycmVudCBETUwgYW5kIExPQ0sgVEFCTEUgLi4uIFJFQUQgZm9yIElubm9EQiAKICAgIHRhYmxl IGNhdXNlIHdhcm5pbmdzIGluIGVycmxvZwogICAgTm90ZTogVGhpcyBpcyBhIHRlbXBvcmFyeSBz dXBwcmVzc2lvbiB1bnRpbCBCdWcjNDIxNDcgY2FuIGJlIAoKPT09IG1vZGlmaWVkIGZpbGUgJ215 c3FsLXRlc3QvbGliL210cl9taXNjLnBsJwotLS0gYS9teXNxbC10ZXN0L2xpYi9tdHJfbWlzYy5w bAkyMDExLTAxLTE4IDEwOjIxOjM3ICswMDAwCisrKyBiL215c3FsLXRlc3QvbGliL210cl9taXNj LnBsCTIwMTEtMDQtMDcgMDg6MTI6NTIgKzAwMDAKQEAgLTEsNSArMSw1IEBACiAjIC0qLSBjcGVy bCAtKi0KLSMgQ29weXJpZ2h0IChjKSAyMDA0LCAyMDEwLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZp bGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKGMpIDIwMDQsIDIwMTEs IE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjCiAj IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IKICMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu ZXJhbCBQdWJsaWMKQEAgLTM2LDYgKzM2LDcgQEAgc3ViIHN0YXJ0X3RpbWVyKCQpOwogc3ViIGhh c19leHBpcmVkKCQpOwogc3ViIGluaXRfdGltZXJzKCk7CiBzdWIgbWFya190aW1lX3VzZWQoJCk7 CitzdWIgbWFya190aW1lX2lkbGUoKTsKIHN1YiBhZGRfdG90YWxfdGltZXMoJCk7CiBzdWIgcHJp bnRfdGltZXNfdXNlZCgkJCk7CiBzdWIgcHJpbnRfdG90YWxfdGltZXMoJCk7CkBAIC0yMjQsNiAr MjI1LDcgQEAgbXkgJXRpbWVfdXNlZD0gKAogICAnY2gtd2FybicgPT4gMCwKICAgJ3Rlc3QnICAg ID0+IDAsCiAgICdpbml0JyAgICA9PiAwLAorICAnYWRtaW4nICAgPT4gMCwKICk7CiAKIG15ICV0 aW1lX3RleHQ9ICgKQEAgLTIzMiw3ICsyMzQsOCBAQCBteSAldGltZV90ZXh0PSAoCiAgJ2NoZWNr JyAgID0+ICJDaGVjay10ZXN0Y2FzZSIsCiAgJ2NoLXdhcm4nID0+ICJDaGVjayBmb3Igd2Fybmlu Z3MiLAogICd0ZXN0JyAgICA9PiAiVGVzdCBleGVjdXRpb24iLAotICdpbml0JyAgICA9PiAiSW5p dGlhbGl6YXRpb24gZXRjLiIsCisgJ2luaXQnICAgID0+ICJJbml0aWFsaXphdGlvbi9jbGVhbnVw IiwKKyAnYWRtaW4nICAgPT4gIlRlc3QgYWRtaW5pc3RyYXRpb24iLAogKTsKIAogIyBDb3VudHMg bnVtYmVyIG9mIHJlcG9ydHMgZnJvbSB3b3JrZXJzCkBAIC0yNTUsNiArMjU4LDEwIEBAIHN1YiBt YXJrX3RpbWVfdXNlZCgkKSB7CiAgICRsYXN0X3RpbWVyX3NldD0gJGN1cnJfdGltZTsKIH0KIAor c3ViIG1hcmtfdGltZV9pZGxlKCkgeworICAkbGFzdF90aW1lcl9zZXQ9IGdldHRpbWVvZmRheSgp IGlmICRvcHRfcmVwb3J0X3RpbWVzOworfQorCiBzdWIgYWRkX3RvdGFsX3RpbWVzKCQpIHsKICAg bXkgKCRkdW1teSwgJG51bSwgQGxpbmUpPSBzcGxpdCAoIiAiLCAkX1swXSk7CiAKCj09PSBtb2Rp ZmllZCBmaWxlICdteXNxbC10ZXN0L215c3FsLXRlc3QtcnVuLnBsJwotLS0gYS9teXNxbC10ZXN0 L215c3FsLXRlc3QtcnVuLnBsCTIwMTEtMDMtMTYgMTQ6MTE6MjAgKzAwMDAKKysrIGIvbXlzcWwt dGVzdC9teXNxbC10ZXN0LXJ1bi5wbAkyMDExLTA0LTA3IDA4OjEyOjUyICswMDAwCkBAIC0yMTks OSArMjE5LDEyIEBAIG91ciAlZ3Byb2ZfZGlyczsKIG91ciAkZ2xvYl9kZWJ1Z2dlcj0gMDsKIG91 ciAkb3B0X2dkYjsKIG91ciAkb3B0X2NsaWVudF9nZGI7CitvdXIgJG9wdF9kYng7CitvdXIgJG9w dF9jbGllbnRfZGJ4Owogb3VyICRvcHRfZGRkOwogb3VyICRvcHRfY2xpZW50X2RkZDsKIG91ciAk b3B0X21hbnVhbF9nZGI7CitvdXIgJG9wdF9tYW51YWxfZGJ4Owogb3VyICRvcHRfbWFudWFsX2Rk ZDsKIG91ciAkb3B0X21hbnVhbF9kZWJ1ZzsKIG91ciAkb3B0X2RlYnVnZ2VyOwpAQCAtNTQ2LDcg KzU0OSw5IEBAIHN1YiBydW5fdGVzdF9zZXJ2ZXIgKCQkJCkgewogICBteSAkcz0gSU86OlNlbGVj dC0+bmV3KCk7CiAgICRzLT5hZGQoJHNlcnZlcik7CiAgIHdoaWxlICgxKSB7CisgICAgbWFya190 aW1lX3VzZWQoJ2FkbWluJyk7CiAgICAgbXkgQHJlYWR5ID0gJHMtPmNhbl9yZWFkKDEpOyAjIFdh a2UgdXAgb25jZSBldmVyeSBzZWNvbmQKKyAgICBtYXJrX3RpbWVfaWRsZSgpOwogICAgIGZvcmVh Y2ggbXkgJHNvY2sgKEByZWFkeSkgewogICAgICAgaWYgKCRzb2NrID09ICRzZXJ2ZXIpIHsKIAkj IE5ldyBjbGllbnQgY29ubmVjdGVkCkBAIC04ODgsNyArODkzLDcgQEAgc3ViIHJ1bl93b3JrZXIg KCQpIHsKICAgICAgIGlmICggJG9wdF9ncHJvZiApIHsKIAlncHJvZl9jb2xsZWN0IChmaW5kX215 c3FsZCgkYmFzZWRpciksIGtleXMgJWdwcm9mX2RpcnMpOwogICAgICAgfQotICAgICAgbWFya190 aW1lX3VzZWQoJ2luaXQnKTsKKyAgICAgIG1hcmtfdGltZV91c2VkKCdhZG1pbicpOwogICAgICAg cHJpbnRfdGltZXNfdXNlZCgkc2VydmVyLCAkdGhyZWFkX251bSk7CiAgICAgICBleGl0KCR2YWxn cmluZF9yZXBvcnRzKTsKICAgICB9CkBAIC0xMDAxLDYgKzEwMDYsOSBAQCBzdWIgY29tbWFuZF9s aW5lX3NldHVwIHsKICAgICAgICAgICAgICAnZGRkJyAgICAgICAgICAgICAgICAgICAgICA9PiBc JG9wdF9kZGQsCiAgICAgICAgICAgICAgJ2NsaWVudC1kZGQnICAgICAgICAgICAgICAgPT4gXCRv cHRfY2xpZW50X2RkZCwKICAgICAgICAgICAgICAnbWFudWFsLWRkZCcgICAgICAgICAgICAgICA9 PiBcJG9wdF9tYW51YWxfZGRkLAorICAgICAgICAgICAgICdkYngnICAgICAgICAgICAgICAgICAg ICAgID0+IFwkb3B0X2RieCwKKwkgICAgICdjbGllbnQtZGJ4JyAgICAgICAgICAgICAgID0+IFwk b3B0X2NsaWVudF9kYngsCisJICAgICAnbWFudWFsLWRieCcgICAgICAgICAgICAgICA9PiBcJG9w dF9tYW51YWxfZGJ4LAogCSAgICAgJ2RlYnVnZ2VyPXMnICAgICAgICAgICAgICAgPT4gXCRvcHRf ZGVidWdnZXIsCiAJICAgICAnY2xpZW50LWRlYnVnZ2VyPXMnICAgICAgICA9PiBcJG9wdF9jbGll bnRfZGVidWdnZXIsCiAgICAgICAgICAgICAgJ3N0cmFjZS1jbGllbnQ6cycgICAgICAgICAgPT4g XCRvcHRfc3RyYWNlX2NsaWVudCwKQEAgLTE0MjYsNiArMTQzNCwxMiBAQCBzdWIgY29tbWFuZF9s aW5lX3NldHVwIHsKICAgICAgICRvcHRfZGRkPSB1bmRlZjsKICAgICB9CiAKKyAgICBpZiAoJG9w dF9kYngpIHsKKyAgICAgIG10cl93YXJuaW5nKCJTaWxlbnRseSBjb252ZXJ0aW5nIC0tZGJ4IHRv IC0tY2xpZW50LWRieCBpbiBlbWJlZGRlZCBtb2RlIik7CisgICAgICAkb3B0X2NsaWVudF9kYng9 ICRvcHRfZGJ4OworICAgICAgJG9wdF9kYng9IHVuZGVmOworICAgIH0KKwogICAgIGlmICgkb3B0 X2RlYnVnZ2VyKQogICAgIHsKICAgICAgIG10cl93YXJuaW5nKCJTaWxlbnRseSBjb252ZXJ0aW5n IC0tZGVidWdnZXIgdG8gLS1jbGllbnQtZGVidWdnZXIgaW4gZW1iZWRkZWQgbW9kZSIpOwpAQCAt MTQzNCw3ICsxNDQ4LDcgQEAgc3ViIGNvbW1hbmRfbGluZV9zZXR1cCB7CiAgICAgfQogCiAgICAg aWYgKCAkb3B0X2dkYiB8fCAkb3B0X2RkZCB8fCAkb3B0X21hbnVhbF9nZGIgfHwgJG9wdF9tYW51 YWxfZGRkIHx8Ci0JICRvcHRfbWFudWFsX2RlYnVnIHx8ICRvcHRfZGVidWdnZXIgKQorCSAkb3B0 X21hbnVhbF9kZWJ1ZyB8fCAkb3B0X2RlYnVnZ2VyIHx8ICRvcHRfZGJ4IHx8ICRvcHRfbWFudWFs X2RieCkKICAgICB7CiAgICAgICBtdHJfZXJyb3IoIllvdSBuZWVkIHRvIHVzZSB0aGUgY2xpZW50 IGRlYnVnIG9wdGlvbnMgZm9yIHRoZSIsCiAJCSJlbWJlZGRlZCBzZXJ2ZXIuIEV4OiAtLWNsaWVu dC1nZGIiKTsKQEAgLTE0NjIsNiArMTQ3Niw3IEBAIHN1YiBjb21tYW5kX2xpbmVfc2V0dXAgewog ICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIGlmICggJG9wdF9nZGIgfHwgJG9wdF9jbGllbnRfZ2Ri IHx8ICRvcHRfZGRkIHx8ICRvcHRfY2xpZW50X2RkZCB8fAogICAgICAgICRvcHRfbWFudWFsX2dk YiB8fCAkb3B0X21hbnVhbF9kZGQgfHwgJG9wdF9tYW51YWxfZGVidWcgfHwKKyAgICAgICAkb3B0 X2RieCB8fCAkb3B0X2NsaWVudF9kYnggfHwgJG9wdF9tYW51YWxfZGJ4IHx8CiAgICAgICAgJG9w dF9kZWJ1Z2dlciB8fCAkb3B0X2NsaWVudF9kZWJ1Z2dlciApCiAgIHsKICAgICAjIEluZGljYXRl IHRoYXQgd2UgYXJlIHVzaW5nIGRlYnVnZ2VyCkBAIC0zNzYyLDcgKzM3NzcsNyBAQCBzdWIgcnVu X3Rlc3RjYXNlICgkKSB7CiAKICAgZG9fYmVmb3JlX3J1bl9teXNxbHRlc3QoJHRpbmZvKTsKIAot ICBtYXJrX3RpbWVfdXNlZCgnaW5pdCcpOworICBtYXJrX3RpbWVfdXNlZCgnYWRtaW4nKTsKIAog ICBpZiAoICRvcHRfY2hlY2tfdGVzdGNhc2VzIGFuZCBjaGVja190ZXN0Y2FzZSgkdGluZm8sICJi ZWZvcmUiKSApewogICAgICMgRmFpbGVkIHRvIHJlY29yZCBzdGF0ZSBvZiBzZXJ2ZXIgb3Igc2Vy dmVyIGNyYXNoZWQKQEAgLTQ3MDQsNiArNDcxOSw5IEBAIHN1YiBteXNxbGRfc3RhcnQgKCQkKSB7 CiAgIHsKICAgICBkZGRfYXJndW1lbnRzKFwkYXJncywgXCRleGUsICRteXNxbGQtPm5hbWUoKSk7 CiAgIH0KKyAgaWYgKCAkb3B0X2RieCB8fCAkb3B0X21hbnVhbF9kYnggKSB7CisgICAgZGJ4X2Fy Z3VtZW50cyhcJGFyZ3MsIFwkZXhlLCAkbXlzcWxkLT5uYW1lKCkpOworICB9CiAgIGVsc2lmICgg JG9wdF9kZWJ1Z2dlciApCiAgIHsKICAgICBkZWJ1Z2dlcl9hcmd1bWVudHMoXCRhcmdzLCBcJGV4 ZSwgJG15c3FsZC0+bmFtZSgpKTsKQEAgLTUyMzIsNyArNTI1MCw3IEBAIHN1YiBzdGFydF9teXNx bHRlc3QgKCQpIHsKICAgbXkgJGV4ZT0gJGV4ZV9teXNxbHRlc3Q7CiAgIG15ICRhcmdzOwogCi0g IG1hcmtfdGltZV91c2VkKCdpbml0Jyk7CisgIG1hcmtfdGltZV91c2VkKCdhZG1pbicpOwogCiAg IG10cl9pbml0X2FyZ3MoXCRhcmdzKTsKIApAQCAtNTM3NCw2ICs1MzkyLDkgQEAgc3ViIHN0YXJ0 X215c3FsdGVzdCAoJCkgewogICB7CiAgICAgZGRkX2FyZ3VtZW50cyhcJGFyZ3MsIFwkZXhlLCAi Y2xpZW50Iik7CiAgIH0KKyAgaWYgKCAkb3B0X2NsaWVudF9kYnggKSB7CisgICAgZGJ4X2FyZ3Vt ZW50cyhcJGFyZ3MsIFwkZXhlLCAiY2xpZW50Iik7CisgIH0KICAgZWxzaWYgKCAkb3B0X2NsaWVu dF9kZWJ1Z2dlciApCiAgIHsKICAgICBkZWJ1Z2dlcl9hcmd1bWVudHMoXCRhcmdzLCBcJGV4ZSwg ImNsaWVudCIpOwpAQCAtNTQwOCwyMyArNTQyOSwxMSBAQCBzdWIgZ2RiX2FyZ3VtZW50cyB7CiAg ICMgUmVtb3ZlIHRoZSBvbGQgZ2RiaW5pdCBmaWxlCiAgIHVubGluaygkZ2RiX2luaXRfZmlsZSk7 CiAKLSAgaWYgKCAkdHlwZSBlcSAiY2xpZW50IiApCi0gIHsKLSAgICAjIHdyaXRlIGluaXQgZmls ZSBmb3IgY2xpZW50Ci0gICAgbXRyX3RvZmlsZSgkZ2RiX2luaXRfZmlsZSwKLQkgICAgICAgInNl dCBhcmdzICRzdHJcbiIgLgotCSAgICAgICAiYnJlYWsgbWFpblxuIik7Ci0gIH0KLSAgZWxzZQot ICB7Ci0gICAgIyB3cml0ZSBpbml0IGZpbGUgZm9yIG15c3FsZAotICAgIG10cl90b2ZpbGUoJGdk Yl9pbml0X2ZpbGUsCi0JICAgICAgICJzZXQgYXJncyAkc3RyXG4iIC4KLQkgICAgICAgImJyZWFr IG15c3FsX3BhcnNlXG4iIC4KLQkgICAgICAgImNvbW1hbmRzIDFcbiIgLgotCSAgICAgICAiZGlz YWJsZSAxXG4iIC4KLQkgICAgICAgImVuZFxuIik7Ci0gIH0KKyAgIyB3cml0ZSBpbml0IGZpbGUg Zm9yIG15c3FsZCBvciBjbGllbnQKKyAgbXRyX3RvZmlsZSgkZ2RiX2luaXRfZmlsZSwKKwkgICAg ICJzZXQgYXJncyAkc3RyXG4iIC4KKwkgICAgICJicmVhayBtYWluXG4iIC4KKwkgICAgICJydW4i KTsKIAogICBpZiAoICRvcHRfbWFudWFsX2dkYiApCiAgIHsKQEAgLTU0NzEsMjQgKzU0ODAsMTIg QEAgc3ViIGRkZF9hcmd1bWVudHMgewogICAjIFJlbW92ZSB0aGUgb2xkIGdkYmluaXQgZmlsZQog ICB1bmxpbmsoJGdkYl9pbml0X2ZpbGUpOwogCi0gIGlmICggJHR5cGUgZXEgImNsaWVudCIgKQot ICB7Ci0gICAgIyB3cml0ZSBpbml0IGZpbGUgZm9yIGNsaWVudAotICAgIG10cl90b2ZpbGUoJGdk Yl9pbml0X2ZpbGUsCi0JICAgICAgICJzZXQgYXJncyAkc3RyXG4iIC4KLQkgICAgICAgImJyZWFr IG1haW5cbiIpOwotICB9Ci0gIGVsc2UKLSAgewotICAgICMgd3JpdGUgaW5pdCBmaWxlIGZvciBt eXNxbGQKLSAgICBtdHJfdG9maWxlKCRnZGJfaW5pdF9maWxlLAotCSAgICAgICAiZmlsZSAkJGV4 ZVxuIiAuCi0JICAgICAgICJzZXQgYXJncyAkc3RyXG4iIC4KLQkgICAgICAgImJyZWFrIG15c3Fs X3BhcnNlXG4iIC4KLQkgICAgICAgImNvbW1hbmRzIDFcbiIgLgotCSAgICAgICAiZGlzYWJsZSAx XG4iIC4KLQkgICAgICAgImVuZCIpOwotICB9CisgICMgd3JpdGUgaW5pdCBmaWxlIGZvciBteXNx bGQgb3IgY2xpZW50CisgIG10cl90b2ZpbGUoJGdkYl9pbml0X2ZpbGUsCisJICAgICAiZmlsZSAk JGV4ZVxuIiAuCisJICAgICAic2V0IGFyZ3MgJHN0clxuIiAuCisJICAgICAiYnJlYWsgbWFpblxu IiAuCisJICAgICAicnVuIik7CiAKICAgaWYgKCAkb3B0X21hbnVhbF9kZGQgKQogICB7CkBAIC01 NTE4LDYgKzU1MTUsNDYgQEAgc3ViIGRkZF9hcmd1bWVudHMgewogCiAKICMKKyMgTW9kaWZ5IHRo ZSBleGUgYW5kIGFyZ3Mgc28gdGhhdCBwcm9ncmFtIGlzIHJ1biBpbiBkYnggaW4geHRlcm0KKyMK K3N1YiBkYnhfYXJndW1lbnRzIHsKKyAgbXkgJGFyZ3M9IHNoaWZ0OworICBteSAkZXhlPSAgc2hp ZnQ7CisgIG15ICR0eXBlPSBzaGlmdDsKKworICAjIFB1dCAkYXJncyBpbnRvIGEgc2luZ2xlIHN0 cmluZworICBteSAkc3RyPSBqb2luICIgIiwgQCQkYXJnczsKKworICBpZiAoICRvcHRfbWFudWFs X2RieCApIHsKKyAgICBwcmludCAiXG5UbyBzdGFydCBkYnggZm9yICR0eXBlLCB0eXBlIGluIGFu b3RoZXIgd2luZG93OlxuIjsKKyAgICBwcmludCAiY2QgJGdsb2JfbXlzcWxfdGVzdF9kaXI7IGRi eCAtYyBcInN0b3AgaW4gbWFpbjsgIiAuCisgICAgICAgICAgInJ1biAkc3RyXCIgJCRleGVcbiI7 CisKKyAgICAjIEluZGljYXRlIHRoZSBleGUgc2hvdWxkIG5vdCBiZSBzdGFydGVkCisgICAgJCRl eGU9IHVuZGVmOworICAgIHJldHVybjsKKyAgfQorCisgICQkYXJncz0gW107CisgIG10cl9hZGRf YXJnKCQkYXJncywgIi10aXRsZSIpOworICBtdHJfYWRkX2FyZygkJGFyZ3MsICIkdHlwZSIpOwor ICBtdHJfYWRkX2FyZygkJGFyZ3MsICItZSIpOworCisgIGlmICggJGV4ZV9saWJ0b29sICkgewor ICAgIG10cl9hZGRfYXJnKCQkYXJncywgJGV4ZV9saWJ0b29sKTsKKyAgICBtdHJfYWRkX2FyZygk JGFyZ3MsICItLW1vZGU9ZXhlY3V0ZSIpOworICB9CisKKyAgbXRyX2FkZF9hcmcoJCRhcmdzLCAi ZGJ4Iik7CisgIG10cl9hZGRfYXJnKCQkYXJncywgIi1jIik7CisgIG10cl9hZGRfYXJnKCQkYXJn cywgInN0b3AgaW4gbWFpbjsgcnVuICRzdHIiKTsKKyAgbXRyX2FkZF9hcmcoJCRhcmdzLCAiJCRl eGUiKTsKKworICAkJGV4ZT0gInh0ZXJtIjsKK30KKworCisjCiAjIE1vZGlmeSB0aGUgZXhlIGFu ZCBhcmdzIHNvIHRoYXQgcHJvZ3JhbSBpcyBydW4gaW4gdGhlIHNlbGVjdGVkIGRlYnVnZ2VyCiAj CiBzdWIgZGVidWdnZXJfYXJndW1lbnRzIHsKQEAgLTU1NDgsMTggKzU1ODUsNiBAQCBzdWIgZGVi dWdnZXJfYXJndW1lbnRzIHsKICAgICAkJGV4ZT0gJGRlYnVnZ2VyOwogCiAgIH0KLSAgZWxzaWYg KCAkZGVidWdnZXIgZXEgImRieCIgKQotICB7Ci0gICAgIyB4dGVybSAtZSBkYnggLXIgZXhlIGFy ZzEgLi4gYXJnbgotCi0gICAgdW5zaGlmdChAJCRhcmdzLCAkJGV4ZSk7Ci0gICAgdW5zaGlmdChA JCRhcmdzLCAiLXIiKTsKLSAgICB1bnNoaWZ0KEAkJGFyZ3MsICRkZWJ1Z2dlcik7Ci0gICAgdW5z aGlmdChAJCRhcmdzLCAiLWUiKTsKLQotICAgICQkZXhlPSAieHRlcm0iOwotCi0gIH0KICAgZWxz ZQogICB7CiAgICAgbXRyX2Vycm9yKCJVbmtub3duIGFyZ3VtZW50IFwiJGRlYnVnZ2VyXCIgcGFz c2VkIHRvIC0tZGVidWdnZXIiKTsKQEAgLTU4NjAsNiArNTg4NSw3IEBAIE9wdGlvbnMgZm9yIGRl YnVnZ2luZyB0aGUgcHJvZHVjdAogICBjbGllbnQtZGRkICAgICAgICAgICAgU3RhcnQgbXlzcWx0 ZXN0IGNsaWVudCBpbiBkZGQKICAgY2xpZW50LWRlYnVnZ2VyPU5BTUUgIFN0YXJ0IG15c3FsdGVz dCBpbiB0aGUgc2VsZWN0ZWQgZGVidWdnZXIKICAgY2xpZW50LWdkYiAgICAgICAgICAgIFN0YXJ0 IG15c3FsdGVzdCBjbGllbnQgaW4gZ2RiCisgIGNsaWVudC1kYnggICAgICAgICAgICBTdGFydCBt eXNxbHRlc3QgY2xpZW50IGluIGRieAogICBkZGQgICAgICAgICAgICAgICAgICAgU3RhcnQgbXlz cWxkIGluIGRkZAogICBkZWJ1ZyAgICAgICAgICAgICAgICAgRHVtcCB0cmFjZSBvdXRwdXQgZm9y IGFsbCBzZXJ2ZXJzIGFuZCBjbGllbnQgcHJvZ3JhbXMKICAgZGVidWctY29tbW9uICAgICAgICAg IFNhbWUgYXMgZGVidWcsIGJ1dCBzZXRzICdkJyBkZWJ1ZyBmbGFncyB0bwpAQCAtNTg2OCwxMiAr NTg5NCwxNSBAQCBPcHRpb25zIGZvciBkZWJ1Z2dpbmcgdGhlIHByb2R1Y3QKICAgICAgICAgICAg ICAgICAgICAgICAgIHRyYWNpbmcKICAgZGVidWdnZXI9TkFNRSAgICAgICAgIFN0YXJ0IG15c3Fs ZCBpbiB0aGUgc2VsZWN0ZWQgZGVidWdnZXIKICAgZ2RiICAgICAgICAgICAgICAgICAgIFN0YXJ0 IHRoZSBteXNxbGQocykgaW4gZ2RiCisgIGRieCAgICAgICAgICAgICAgICAgICBTdGFydCB0aGUg bXlzcWxkKHMpIGluIGRieAogICBtYW51YWwtZGVidWcgICAgICAgICAgTGV0IHVzZXIgbWFudWFs bHkgc3RhcnQgbXlzcWxkIGluIGRlYnVnZ2VyLCBiZWZvcmUKICAgICAgICAgICAgICAgICAgICAg ICAgIHJ1bm5pbmcgdGVzdChzKQogICBtYW51YWwtZ2RiICAgICAgICAgICAgTGV0IHVzZXIgbWFu dWFsbHkgc3RhcnQgbXlzcWxkIGluIGdkYiwgYmVmb3JlIHJ1bm5pbmcKICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3QocykKICAgbWFudWFsLWRkZCAgICAgICAgICAgIExldCB1c2VyIG1hbnVh bGx5IHN0YXJ0IG15c3FsZCBpbiBkZGQsIGJlZm9yZSBydW5uaW5nCiAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0KHMpCisgIG1hbnVhbC1kYnggICAgICAgICAgICBMZXQgdXNlciBtYW51YWxs eSBzdGFydCBteXNxbGQgaW4gZGJ4LCBiZWZvcmUgcnVubmluZworICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdChzKQogICBzdHJhY2UtY2xpZW50Wz1wYXRoXSAgQ3JlYXRlIHN0cmFjZSBvdXRw dXQgZm9yIG15c3FsdGVzdCBjbGllbnQsIG9wdGlvbmFsbHkKICAgICAgICAgICAgICAgICAgICAg ICAgIHNwZWNpZnlpbmcgbmFtZSBhbmQgcGF0aCB0byB0aGUgdHJhY2UgcHJvZ3JhbSB0byB1c2Uu CiAgICAgICAgICAgICAgICAgICAgICAgICBFeGFtcGxlOiAkMCAtLXN0cmFjZS1jbGllbnQ9a3Ry YWNlCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL29yZGVyX2J5LnJlc3VsdCcKLS0t IGEvbXlzcWwtdGVzdC9yL29yZGVyX2J5LnJlc3VsdAkyMDExLTAyLTA3IDA5OjQwOjQyICswMDAw CisrKyBiL215c3FsLXRlc3Qvci9vcmRlcl9ieS5yZXN1bHQJMjAxMS0wMy0zMCAxMjo1NTo1MyAr MDAwMApAQCAtMTQyOSw2ICsxNDI5LDcgQEAgQ0FMTCBtdHIuYWRkX3N1cHByZXNzaW9uKCJPdXQg b2Ygc29ydCBtZQogc2VsZWN0ICogZnJvbSB0MSBvcmRlciBieSBiOwogRVJST1IgSFkwMDE6IE91 dCBvZiBzb3J0IG1lbW9yeSwgY29uc2lkZXIgaW5jcmVhc2luZyBzZXJ2ZXIgc29ydCBidWZmZXIg c2l6ZQogZHJvcCB0YWJsZSB0MTsKK2NhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiT3V0IG9mIHNv cnQgbWVtb3J5OyBpbmNyZWFzZSBzZXJ2ZXIgc29ydCBidWZmZXIgc2l6ZSIpOwogIwogIyBCdWcg IzM5ODQ0OiBRdWVyeSBDcmFzaCBNeXNxbCBTZXJ2ZXIgNS4wLjY3CiAjCgo9PT0gbW9kaWZpZWQg ZmlsZSAnbXlzcWwtdGVzdC9yL3Nob3dfY2hlY2sucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3Iv c2hvd19jaGVjay5yZXN1bHQJMjAxMS0wMS0xOCAxMjowNDoxNyArMDAwMAorKysgYi9teXNxbC10 ZXN0L3Ivc2hvd19jaGVjay5yZXN1bHQJMjAxMS0wMy0zMCAxMjo1NTo1MyArMDAwMApAQCAtMTMz OCw2ICsxMzM4LDcgQEAgTmFtZQlFbmdpbmUJVmVyc2lvbglSb3dfZm9ybWF0CVJvd3MJQXZnXwog RFJPUCBEQVRBQkFTRSBg77+9YDsKIHNob3cgY29sdW1ucyBmcm9tIGAjbXlzcWw1MCM/Pz8/Pz8/ P2A7CiBHb3Qgb25lIG9mIHRoZSBsaXN0ZWQgZXJyb3JzCitjYWxsIG10ci5hZGRfc3VwcHJlc3Np b24oIkNhbi50IGZpbmQgZmlsZTogJy5cXFxcdGVzdFxcXFxcXD97OH0uZnJtJyIpOwogRFJPUCBU QUJMRSBJRiBFWElTVFMgdDE7CiBEUk9QIFBST0NFRFVSRSBJRiBFWElTVFMgcDE7CiBDUkVBVEUg VEFCTEUgdDEoYzEgSU5UKTsKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3Ivc3AtZGVz dHJ1Y3QucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3Ivc3AtZGVzdHJ1Y3QucmVzdWx0CTIwMTAt MTEtMzAgMTc6NTI6MzggKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL3NwLWRlc3RydWN0LnJlc3Vs dAkyMDExLTAzLTMwIDEyOjU1OjUzICswMDAwCkBAIC0xLDQgKzEsNSBAQAogY2FsbCBtdHIuYWRk X3N1cHByZXNzaW9uKCJDb2x1bW4gY291bnQgb2YgbXlzcWwucHJvYyBpcyB3cm9uZy4gRXhwZWN0 ZWQgMjAsIGZvdW5kIDE5LiBUaGUgdGFibGUgaXMgcHJvYmFibHkgY29ycnVwdGVkIik7CitjYWxs IG10ci5hZGRfc3VwcHJlc3Npb24oIlN0b3JlZCByb3V0aW5lIC50ZXN0Li4uYnVnMTQyMzNfWzEy M10uOiBpbnZhbGlkIHZhbHVlIGluIGNvbHVtbiBteXNxbC5wcm9jIik7CiB1c2UgdGVzdDsKIGRy b3AgcHJvY2VkdXJlIGlmIGV4aXN0cyBidWcxNDIzMzsKIGRyb3AgZnVuY3Rpb24gaWYgZXhpc3Rz IGJ1ZzE0MjMzOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBs X2V4dHJhX2NvbF9tYXN0ZXJfaW5ub2RiLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9y cGwvci9ycGxfZXh0cmFfY29sX21hc3Rlcl9pbm5vZGIucmVzdWx0CTIwMTEtMDItMjMgMTE6NTQ6 NTggKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfZXh0cmFfY29sX21hc3Rl cl9pbm5vZGIucmVzdWx0CTIwMTEtMDMtMzEgMDg6Mzc6MTUgKzAwMDAKQEAgLTU3LDExICs1Nyw2 IEBAIGYxCWYyCWYzCWY0CWY1CWY2CWY3CWY4CWY5CWhleChmMTApCWhleCgKIDI3CTI3CTI3CW5l eHQJMglrYWtzCTIJZ290IHN0b2xlbiBmcm9tIHRoZSBwYXJhZGlzZQl2ZXJ5IGZhdCBibG9iCTE1 NTUJMTIzNDU2CiAyOQkyOQkyOQlzZWNvbmQJMglrYWtzCTIJZ290IHN0b2xlbiBmcm9tIHRoZSBw YXJhZGlzZQl2ZXJ5IGZhdCBibG9iCTE1NTUJMTIzNDU2CiAzMAkzMAkzMAluZXh0CTIJa2Frcwky CWdvdCBzdG9sZW4gZnJvbSB0aGUgcGFyYWRpc2UJdmVyeSBmYXQgYmxvYgkxNTU1CTEyMzQ1Ngot Y2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCJTbGF2ZSBTUUwuKlRhYmxlIGRlZmluaXRpb24gb24g bWFzdGVyIGFuZCBzbGF2ZSBkb2VzIG5vdCBtYXRjaDogQ29sdW1uIDIgdHlwZSBtaXNtYXRjaC4q IDE1MzUiKTsKLWNhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiU2xhdmUgU1FMLipFcnJvciAuQ2Fu LnQgRFJPUCAuYzcuOyBjaGVjayB0aGF0IGNvbHVtbi5rZXkgZXhpc3RzLiBvbiBxdWVyeS4qIDEw OTEiKTsKLWNhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiU2xhdmUgU1FMLipFcnJvciAuVW5rbm93 biBjb2x1bW4gLmM3LiBpbiAudDE1Li4gb24gcXVlcnkuKiAxMDU0Iik7Ci1jYWxsIG10ci5hZGRf c3VwcHJlc3Npb24oIlNsYXZlIFNRTC4qRXJyb3IgLktleSBjb2x1bW4gLmM2LiBkb2Vzbi50IGV4 aXN0IGluIHRhYmxlLiBvbiBxdWVyeS4qIDEwNzIiKTsKLWNhbGwgbXRyLmFkZF9zdXBwcmVzc2lv bigiU2xhdmUgU1FMLipDb2x1bW4gMiBvZiB0YWJsZSAudGVzdC50MS4uIGNhbm5vdCBiZSBjb252 ZXJ0ZWQgZnJvbSB0eXBlLiogRXJyb3JfY29kZTogMTY3NyIpOwogCiAqIFNlbGVjdCBjb3VudCBh bmQgMjAgcm93cyBmcm9tIFNsYXZlICoKIAoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qv c3VpdGUvcnBsL3IvcnBsX2V4dHJhX2NvbF9tYXN0ZXJfbXlpc2FtLnJlc3VsdCcKLS0tIGEvbXlz cWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfZXh0cmFfY29sX21hc3Rlcl9teWlzYW0ucmVzdWx0CTIw MTEtMDItMjMgMTE6NTQ6NTggKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxf ZXh0cmFfY29sX21hc3Rlcl9teWlzYW0ucmVzdWx0CTIwMTEtMDMtMzEgMDg6Mzc6MTUgKzAwMDAK QEAgLTU3LDExICs1Nyw2IEBAIGYxCWYyCWYzCWY0CWY1CWY2CWY3CWY4CWY5CWhleChmMTApCWhl eCgKIDI3CTI3CTI3CW5leHQJMglrYWtzCTIJZ290IHN0b2xlbiBmcm9tIHRoZSBwYXJhZGlzZQl2 ZXJ5IGZhdCBibG9iCTE1NTUJMTIzNDU2CiAyOQkyOQkyOQlzZWNvbmQJMglrYWtzCTIJZ290IHN0 b2xlbiBmcm9tIHRoZSBwYXJhZGlzZQl2ZXJ5IGZhdCBibG9iCTE1NTUJMTIzNDU2CiAzMAkzMAkz MAluZXh0CTIJa2FrcwkyCWdvdCBzdG9sZW4gZnJvbSB0aGUgcGFyYWRpc2UJdmVyeSBmYXQgYmxv YgkxNTU1CTEyMzQ1NgotY2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCJTbGF2ZSBTUUwuKlRhYmxl IGRlZmluaXRpb24gb24gbWFzdGVyIGFuZCBzbGF2ZSBkb2VzIG5vdCBtYXRjaDogQ29sdW1uIDIg dHlwZSBtaXNtYXRjaC4qIDE1MzUiKTsKLWNhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiU2xhdmUg U1FMLipFcnJvciAuQ2FuLnQgRFJPUCAuYzcuOyBjaGVjayB0aGF0IGNvbHVtbi5rZXkgZXhpc3Rz LiBvbiBxdWVyeS4qIDEwOTEiKTsKLWNhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiU2xhdmUgU1FM LipFcnJvciAuVW5rbm93biBjb2x1bW4gLmM3LiBpbiAudDE1Li4gb24gcXVlcnkuKiAxMDU0Iik7 Ci1jYWxsIG10ci5hZGRfc3VwcHJlc3Npb24oIlNsYXZlIFNRTC4qRXJyb3IgLktleSBjb2x1bW4g LmM2LiBkb2Vzbi50IGV4aXN0IGluIHRhYmxlLiBvbiBxdWVyeS4qIDEwNzIiKTsKLWNhbGwgbXRy LmFkZF9zdXBwcmVzc2lvbigiU2xhdmUgU1FMLipDb2x1bW4gMiBvZiB0YWJsZSAudGVzdC50MS4u IGNhbm5vdCBiZSBjb252ZXJ0ZWQgZnJvbSB0eXBlLiogRXJyb3JfY29kZTogMTY3NyIpOwogCiAq IFNlbGVjdCBjb3VudCBhbmQgMjAgcm93cyBmcm9tIFNsYXZlICoKIAoKPT09IG1vZGlmaWVkIGZp bGUgJ215c3FsLXRlc3QvdC9vcmRlcl9ieS50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3Qvb3JkZXJf YnkudGVzdAkyMDExLTAyLTA3IDA5OjQwOjQyICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9vcmRl cl9ieS50ZXN0CTIwMTEtMDMtMzAgMTI6NTU6NTMgKzAwMDAKQEAgLTg0Nyw4ICs4NDcsNyBAQCBD QUxMIG10ci5hZGRfc3VwcHJlc3Npb24oIk91dCBvZiBzb3J0IG1lCiAtLWVycm9yIEVSX09VVF9P Rl9TT1JUTUVNT1JZCiBzZWxlY3QgKiBmcm9tIHQxIG9yZGVyIGJ5IGI7CiBkcm9wIHRhYmxlIHQx OwotCi0KK2NhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiT3V0IG9mIHNvcnQgbWVtb3J5OyBpbmNy ZWFzZSBzZXJ2ZXIgc29ydCBidWZmZXIgc2l6ZSIpOwogLS1lY2hvICMKIC0tZWNobyAjIEJ1ZyAj Mzk4NDQ6IFF1ZXJ5IENyYXNoIE15c3FsIFNlcnZlciA1LjAuNjcKIC0tZWNobyAjCgo9PT0gbW9k aWZpZWQgZmlsZSAnbXlzcWwtdGVzdC90L3Nob3dfY2hlY2sudGVzdCcKLS0tIGEvbXlzcWwtdGVz dC90L3Nob3dfY2hlY2sudGVzdAkyMDExLTAxLTE4IDEyOjA0OjE3ICswMDAwCisrKyBiL215c3Fs LXRlc3QvdC9zaG93X2NoZWNrLnRlc3QJMjAxMS0wMy0zMCAxMjo1NTo1MyArMDAwMApAQCAtMTA4 Miw2ICsxMDgyLDcgQEAgRFJPUCBEQVRBQkFTRSBg77+9YDsKICMKIC0tZXJyb3IgRVJfTk9fU1VD SF9UQUJMRSxFUl9GSUxFX05PVF9GT1VORAogc2hvdyBjb2x1bW5zIGZyb20gYCNteXNxbDUwIz8/ Pz8/Pz8/YDsKK2NhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiQ2FuLnQgZmluZCBmaWxlOiAnLlxc XFx0ZXN0XFxcXFxcP3s4fS5mcm0nIik7CiAKICMKICMgU0hPVyBDUkVBVEUgVFJJR0dFUiB0ZXN0 LgoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC9zcC1kZXN0cnVjdC50ZXN0JwotLS0g YS9teXNxbC10ZXN0L3Qvc3AtZGVzdHJ1Y3QudGVzdAkyMDEwLTExLTMwIDE3OjUyOjM4ICswMDAw CisrKyBiL215c3FsLXRlc3QvdC9zcC1kZXN0cnVjdC50ZXN0CTIwMTEtMDMtMzAgMTI6NTU6NTMg KzAwMDAKQEAgLTE0LDYgKzE0LDcgQEAKIAogIyBTdXByZXNzIHdhcm5pbmdzIHdyaXR0ZW4gdG8g dGhlIGxvZyBmaWxlCiBjYWxsIG10ci5hZGRfc3VwcHJlc3Npb24oIkNvbHVtbiBjb3VudCBvZiBt eXNxbC5wcm9jIGlzIHdyb25nLiBFeHBlY3RlZCAyMCwgZm91bmQgMTkuIFRoZSB0YWJsZSBpcyBw cm9iYWJseSBjb3JydXB0ZWQiKTsKK2NhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiU3RvcmVkIHJv dXRpbmUgLnRlc3QuLi5idWcxNDIzM19bMTIzXS46IGludmFsaWQgdmFsdWUgaW4gY29sdW1uIG15 c3FsLnByb2MiKTsKIAogIyBCYWNrdXAgcHJvYyB0YWJsZQogbGV0ICRNWVNRTERfREFUQURJUj0g YHNlbGVjdCBAQGRhdGFkaXJgOwoKTm8gYnVuZGxlIChyZWFzb246IHJldmlzaW9uIGlzIGEgbWVy Z2UpLg==