From: Magnus BlĂ„udd Date: April 8 2009 1:35pm Subject: bzr commit into mysql-5.1-telco-6.2 branch (magnus.blaudd:2896) Bug#44036 List-Archive: http://lists.mysql.com/commits/71651 X-Bug: 44036 Message-Id: <20090408133602.0C54513408D@pilot> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary_(ID_1VC1wOu7OjcdsLz02tfxsw)" --Boundary_(ID_1VC1wOu7OjcdsLz02tfxsw) MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: BASE64 Content-disposition: inline I0F0IGZpbGU6Ly8vaG9tZS9tc3ZlbnNzb24vbXlzcWwvYnVnLzQ0MDM2LyBiYXNl ZCBvbiByZXZpZDpqb25hc0BteXNxbC5jb20tMjAwOTA0MDExMTU2MDUteW91bzIz Y2RjMDBmY2V5cg0KDQogMjg5NiBNYWdudXMgQmzDpXVkZAkyMDA5LTA0LTA4DQog ICAgICBCVUcjNDQwMzYgY29tcGlsZXIgZXJyb3IgLSBuZGJlcnJvci5jIGNvbnRh aW5zIEMrKyBjb21tZW50DQogICAgICAgLSBGaXhlcyBmb3IgY29tcGlsaW5nIHdp dGggQlVJTEQvY29tcGlsZS1wZW50aXVtLWRlYnVnLW1heCAtLXdhcm5pbmctbW9k ZT1wZWRhbnRpYw0KICAgICBAIHN0b3JhZ2UvbmRiL2luY2x1ZGUvbmRiYXBpL05k YlNjYW5PcGVyYXRpb24uaHBwDQogICAgICAgIC0gUmVtb3ZlIGR1cGxpY2F0ZSAi OyINCiAgICAgQCBzdG9yYWdlL25kYi9zcmMvY29tbW9uL3BvcnRsaWIvTmRiVGhy ZWFkLmMNCiAgICAgICAgLSBSZW1vdmUgQysrIGNvbW1lbnQgaW4gYw0KICAgICBA IHN0b3JhZ2UvbmRiL3NyYy9uZGJhcGkvTWFrZWZpbGUuYW0NCiAgICAgICAgLSBD b21waWxlIG5kYmVycm9yX2NoZWNrLmMgYXMgbmRiZXJyb3JfY2hlY2stdCBzbyBp dCdzIGF1dG9tYXRpY2FsbHkNCiAgICAgICAgcnVuIGJ5ICJtYWtlIHRlc3QtdW5p dCINCiAgICAgICAgLSBSZW1vdmUgY3JhcA0KICAgICBAIHN0b3JhZ2UvbmRiL3Ny Yy9uZGJhcGkvTmRiQmxvYi5jcHANCiAgICAgICAgLSBBZGQgYWRyZXNzIG9mIG9w ZXJhdG8gaW4gb3JkZXIgdG8gcHJpbnQgdGhlIGFkcmVzcyBvZiB0aGUgb2JqZWN0 DQogICAgICAgIC0gUmVtb3ZlIGR1cGxpY2F0ZSAiOyINCiAgICAgQCBzdG9yYWdl L25kYi9zcmMvbmRiYXBpL05kYkRpY3Rpb25hcnkuY3BwDQogICAgICAgIC0gUmVt b3ZlIGR1cGxpY2F0ZSAiOyINCiAgICAgQCBzdG9yYWdlL25kYi9zcmMvbmRiYXBp L25kYmVycm9yLmMNCiAgICAgICAgLSBSZW1vdmUgQysrIGNvbW1lbnQgaW4gYyBj b2RlDQogICAgICAgIC0gUmVtb3ZlIGR1cGxpY2F0ZSB1bml0IHRlc3QgY29kZSwg dGhlIHJlYWwgdGVzdCBpcyBub3cgaW4gbmRiZXJyb3JfY2hlY2suY3BwDQogICAg IEAgc3RvcmFnZS9uZGIvc3JjL25kYmFwaS9uZGJlcnJvcl9jaGVjay5jcHANCiAg ICAgICAgLSBSZW5hbWUgbmRiZXJyb3JfY2hlY2suYyB0byBuZGJlcnJvcl9jaGVj ay5jcHANCiAgICAgICAgLSBDb252ZXJ0IHRvIFRBUCBlbmFibGVkIHRlc3QNCiAg ICAgICAgLSBJbXBsZW1lbnQgbW9jayAnbXlfc25wcmludGYnIHRvIGF2b2lkIGhh dmluZyB0byBsaW5rIHdpdGggYWxsDQogICAgICAgICAgbGlicmFyaWVzIGluIHRo ZSB3aG9sZSBzb3VyY2UgdHJlZS4NCiAgICAgQCBzdG9yYWdlL25kYi9zcmMvbmRi YXBpL3NpZ25hbC1zZW5kZXINCiAgICAgICAgLSBSZW1vdmUgY3JhcCBkaXJlY3Rv cnkNCiAgICAgQCBzdG9yYWdlL25kYi9zcmMvbmRiYXBpL3NpZ25hbC1zZW5kZXIv TWFrZWZpbGUNCiAgICAgICAgLSBSZW1vdmUgY3JhcCBkaXJlY3RvcnkNCiAgICAg QCBzdG9yYWdlL25kYi9zcmMvbmRiYXBpL3NpZ25hbC1zZW5kZXIvU2lnbmFsU2Vu ZGVyLmNwcA0KICAgICAgICAtIFJlbW92ZSBjcmFwIGRpcmVjdG9yeQ0KICAgICBA IHN0b3JhZ2UvbmRiL3NyYy9uZGJhcGkvc2lnbmFsLXNlbmRlci9TaWduYWxTZW5k ZXIuaHBwDQogICAgICAgIC0gUmVtb3ZlIGNyYXAgZGlyZWN0b3J5DQoNCiAgICBy ZW1vdmVkOg0KICAgICAgc3RvcmFnZS9uZGIvc3JjL25kYmFwaS9zaWduYWwtc2Vu ZGVyLw0KICAgICAgc3RvcmFnZS9uZGIvc3JjL25kYmFwaS9zaWduYWwtc2VuZGVy L01ha2VmaWxlDQogICAgICBzdG9yYWdlL25kYi9zcmMvbmRiYXBpL3NpZ25hbC1z ZW5kZXIvU2lnbmFsU2VuZGVyLmNwcA0KICAgICAgc3RvcmFnZS9uZGIvc3JjL25k YmFwaS9zaWduYWwtc2VuZGVyL1NpZ25hbFNlbmRlci5ocHANCiAgICByZW5hbWVk Og0KICAgICAgc3RvcmFnZS9uZGIvc3JjL25kYmFwaS9uZGJlcnJvcl9jaGVjay5j ID0+IHN0b3JhZ2UvbmRiL3NyYy9uZGJhcGkvbmRiZXJyb3JfY2hlY2suY3BwDQog ICAgbW9kaWZpZWQ6DQogICAgICBzdG9yYWdlL25kYi9pbmNsdWRlL25kYmFwaS9O ZGJTY2FuT3BlcmF0aW9uLmhwcA0KICAgICAgc3RvcmFnZS9uZGIvc3JjL2NvbW1v bi9wb3J0bGliL05kYlRocmVhZC5jDQogICAgICBzdG9yYWdlL25kYi9zcmMvbmRi YXBpL01ha2VmaWxlLmFtDQogICAgICBzdG9yYWdlL25kYi9zcmMvbmRiYXBpL05k YkJsb2IuY3BwDQogICAgICBzdG9yYWdlL25kYi9zcmMvbmRiYXBpL05kYkRpY3Rp b25hcnkuY3BwDQogICAgICBzdG9yYWdlL25kYi9zcmMvbmRiYXBpL25kYmVycm9y LmMNCiAgICAgIHN0b3JhZ2UvbmRiL3NyYy9uZGJhcGkvbmRiZXJyb3JfY2hlY2su Y3BwDQo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9uZGIvaW5jbHVkZS9uZGJh cGkvTmRiU2Nhbk9wZXJhdGlvbi5ocHAnDQotLS0gYS9zdG9yYWdlL25kYi9pbmNs dWRlL25kYmFwaS9OZGJTY2FuT3BlcmF0aW9uLmhwcAkyMDA5LTAyLTA5IDEzOjI4 OjMwICswMDAwDQorKysgYi9zdG9yYWdlL25kYi9pbmNsdWRlL25kYmFwaS9OZGJT Y2FuT3BlcmF0aW9uLmhwcAkyMDA5LTA0LTA4IDEzOjM1OjUxICswMDAwDQpAQCAt NjcwLDYgKzY3MCw2IEBAIE5kYlNjYW5PcGVyYXRpb246OmdldE5kYlRyYW5zYWN0 aW9uKCkgY28NCiAgICAqIHNjYW4ncyAnaW50ZXJuYWwnIC8gYnVkZHkgdHJhbnNh Y3Rpb24gb2JqZWN0DQogICAgKi8NCiAgIHJldHVybiBtX3RyYW5zQ29ubmVjdGlv bjsNCi19Ow0KK30NCiANCiAjZW5kaWYNCg0KPT09IG1vZGlmaWVkIGZpbGUgJ3N0 b3JhZ2UvbmRiL3NyYy9jb21tb24vcG9ydGxpYi9OZGJUaHJlYWQuYycNCi0tLSBh L3N0b3JhZ2UvbmRiL3NyYy9jb21tb24vcG9ydGxpYi9OZGJUaHJlYWQuYwkyMDA4 LTEyLTEyIDExOjA1OjU4ICswMDAwDQorKysgYi9zdG9yYWdlL25kYi9zcmMvY29t bW9uL3BvcnRsaWIvTmRiVGhyZWFkLmMJMjAwOS0wNC0wOCAxMzozNTo1MSArMDAw MA0KQEAgLTQyLDcgKzQyLDYgQEAgdm9pZCBOZGJUaHJlYWRfc2V0X3NobV9zaWdt YXNrKG15X2Jvb2wgYg0KICAgaWYgKGdfbmRiX3NobV9zaWdudW0pDQogICB7DQog ICAgIHNpZ3NldF90IG1hc2s7DQotICAgIC8vIERCVUdfUFJJTlQoImluZm8iLCgi QmxvY2sgc2lnbnVtICVkIixnX25kYl9zaG1fc2lnbnVtKSk7DQogICAgIHNpZ2Vt cHR5c2V0KCZtYXNrKTsNCiAgICAgc2lnYWRkc2V0KCZtYXNrLCBnX25kYl9zaG1f c2lnbnVtKTsNCiAgICAgaWYgKGJsb2NrKQ0KDQo9PT0gbW9kaWZpZWQgZmlsZSAn c3RvcmFnZS9uZGIvc3JjL25kYmFwaS9NYWtlZmlsZS5hbScNCi0tLSBhL3N0b3Jh Z2UvbmRiL3NyYy9uZGJhcGkvTWFrZWZpbGUuYW0JMjAwOC0wNC0yNSAwNjozMjoy MyArMDAwMA0KKysrIGIvc3RvcmFnZS9uZGIvc3JjL25kYmFwaS9NYWtlZmlsZS5h bQkyMDA5LTA0LTA4IDEzOjM1OjUxICswMDAwDQpAQCAtMTMsMTEgKzEzLDkgQEAN CiAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRo ZSBGcmVlIFNvZnR3YXJlDQogIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp biBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQ0K IA0KLSNTVUJESVJTID0gc2lnbmFsLXNlbmRlcg0KK25vaW5zdF9QUk9HUkFNUyA9 IG5kYmVycm9yX2NoZWNrLXQNCiANCi1ub2luc3RfUFJPR1JBTVMgPSBuZGJlcnJv cl9jaGVjaw0KLQ0KLW5kYmVycm9yX2NoZWNrX1NPVVJDRVMgPSBuZGJlcnJvcl9j aGVjay5jDQorbmRiZXJyb3JfY2hlY2tfdF9TT1VSQ0VTID0gbmRiZXJyb3JfY2hl Y2suY3BwDQogDQogbm9pbnN0X0xUTElCUkFSSUVTID0gbGlibmRiYXBpLmxhDQog DQpAQCAtNjcsMTIgKzY1LDYgQEAgTkRCX0NYWEZMQUdTX1JFTEVBU0VfTE9DID0g LU8yDQogaW5jbHVkZSAkKHRvcF9zcmNkaXIpL3N0b3JhZ2UvbmRiL2NvbmZpZy9j b21tb24ubWsuYW0NCiBpbmNsdWRlICQodG9wX3NyY2Rpcikvc3RvcmFnZS9uZGIv Y29uZmlnL3R5cGVfbmRiYXBpLm1rLmFtDQogDQotbmRiZXJyb3JfY2hlY2tfTERG TEFHUyA9IFwNCi0gICAgICAgICAkKHRvcF9idWlsZGRpcikvZGJ1Zy9saWJkYnVn bHQubGEgXA0KLSAgICAgICAgICQodG9wX2J1aWxkZGlyKS9teXN5cy9saWJteXN5 c2x0LmxhIFwNCi0gICAgICAgICAkKHRvcF9idWlsZGRpcikvc3RyaW5ncy9saWJt eXN0cmluZ3NsdC5sYSBcDQotICAgICAgICAgJCh0b3BfYnVpbGRkaXIpL3psaWIv bGliemx0LmxhDQotDQogIyBEb24ndCB1cGRhdGUgdGhlIGZpbGVzIGZyb20gYml0 a2VlcGVyDQogJTo6U0NDUy9zLiUNCiANCg0KPT09IG1vZGlmaWVkIGZpbGUgJ3N0 b3JhZ2UvbmRiL3NyYy9uZGJhcGkvTmRiQmxvYi5jcHAnDQotLS0gYS9zdG9yYWdl L25kYi9zcmMvbmRiYXBpL05kYkJsb2IuY3BwCTIwMDgtMTEtMDggMjA6NDA6MTUg KzAwMDANCisrKyBiL3N0b3JhZ2UvbmRiL3NyYy9uZGJhcGkvTmRiQmxvYi5jcHAJ MjAwOS0wNC0wOCAxMzozNTo1MSArMDAwMA0KQEAgLTExNzIsNyArMTE3Miw3IEBA IGludA0KIE5kYkJsb2I6OnNldEFjdGl2ZUhvb2soQWN0aXZlSG9vayBhY3RpdmVI b29rLCB2b2lkKiBhcmcpDQogew0KICAgREJVR19FTlRFUigiTmRiQmxvYjo6c2V0 QWN0aXZlSG9vayIpOw0KLSAgREJVR19QUklOVCgiaW5mbyIsICgiaG9vaz0lcCBh cmc9JXAiLCAodm9pZCopYWN0aXZlSG9vaywgYXJnKSk7DQorICBEQlVHX1BSSU5U KCJpbmZvIiwgKCJob29rPSVwIGFyZz0lcCIsICh2b2lkKikmYWN0aXZlSG9vaywg YXJnKSk7DQogICBpZiAodGhlU3RhdGUgIT0gUHJlcGFyZWQpIHsNCiAgICAgc2V0 RXJyb3JDb2RlKE5kYkJsb2JJbXBsOjpFcnJTdGF0ZSk7DQogICAgIERCVUdfUkVU VVJOKC0xKTsNCkBAIC0zMDc0LDQgKzMwNzQsNCBAQCBjb25zdCBOZGJPcGVyYXRp b24qDQogTmRiQmxvYjo6Z2V0TmRiT3BlcmF0aW9uKCkgY29uc3QNCiB7DQogICBy ZXR1cm4gdGhlTmRiT3A7DQotfTsNCit9DQoNCj09PSBtb2RpZmllZCBmaWxlICdz dG9yYWdlL25kYi9zcmMvbmRiYXBpL05kYkRpY3Rpb25hcnkuY3BwJw0KLS0tIGEv c3RvcmFnZS9uZGIvc3JjL25kYmFwaS9OZGJEaWN0aW9uYXJ5LmNwcAkyMDA4LTA0 LTAxIDE1OjM3OjI4ICswMDAwDQorKysgYi9zdG9yYWdlL25kYi9zcmMvbmRiYXBp L05kYkRpY3Rpb25hcnkuY3BwCTIwMDktMDQtMDggMTM6MzU6NTEgKzAwMDANCkBA IC0zNTksNyArMzU5LDcgQEAgTmRiRGljdGlvbmFyeTo6Q29sdW1uOjpnZXRDb2x1 bW5ObygpIGNvbg0KIA0KIGludA0KIE5kYkRpY3Rpb25hcnk6OkNvbHVtbjo6Z2V0 QXR0cklkKCkgY29uc3Qgew0KLSAgcmV0dXJuIG1faW1wbC5tX2F0dHJJZDs7DQor ICByZXR1cm4gbV9pbXBsLm1fYXR0cklkOw0KIH0NCiANCiBib29sDQpAQCAtNjA5 LDcgKzYwOSw3IEBAIE5kYkRpY3Rpb25hcnk6OlRhYmxlOjpnZXRNaW5Sb3dzKCkg Y29uc3QNCiB2b2lkDQogTmRiRGljdGlvbmFyeTo6VGFibGU6OnNldERlZmF1bHRO b1BhcnRpdGlvbnNGbGFnKFVpbnQzMiBmbGFnKQ0KIHsNCi0gIG1faW1wbC5tX2Rl ZmF1bHRfbm9fcGFydF9mbGFnID0gZmxhZzs7DQorICBtX2ltcGwubV9kZWZhdWx0 X25vX3BhcnRfZmxhZyA9IGZsYWc7DQogfQ0KIA0KIFVpbnQzMg0KDQo9PT0gbW9k aWZpZWQgZmlsZSAnc3RvcmFnZS9uZGIvc3JjL25kYmFwaS9uZGJlcnJvci5jJw0K LS0tIGEvc3RvcmFnZS9uZGIvc3JjL25kYmFwaS9uZGJlcnJvci5jCTIwMDktMDMt MTYgMjM6NDk6NTcgKzAwMDANCisrKyBiL3N0b3JhZ2UvbmRiL3NyYy9uZGJhcGkv bmRiZXJyb3IuYwkyMDA5LTA0LTA4IDEzOjM1OjUxICswMDAwDQpAQCAtNTg5LDcg KzU4OSw3IEBAIEVycm9yQnVuZGxlIEVycm9yQ29kZXNbXSA9IHsNCiAgIHsgNDUz OCwgRE1FQywgQUUsICJOZGJJbnRlcnByZXRlZENvZGUgaW5zdHJ1Y3Rpb24gcmVx dWlyZXMgdGhhdCB0YWJsZSBpcyBzZXQiIH0sDQogICB7IDQ1MzksIERNRUMsIEFF LCAiTmRiSW50ZXJwcmV0ZWRDb2RlIG5vdCBzdXBwb3J0ZWQgZm9yIG9wZXJhdGlv biB0eXBlIiB9LA0KICAgeyA0NTQwLCBETUVDLCBBRSwgIkF0dGVtcHQgdG8gcGFz cyBhbiBJbmRleCBjb2x1bW4gdG8gY3JlYXRlUmVjb3JkLiAgVXNlIGJhc2UgdGFi bGUgY29sdW1ucyBvbmx5IiB9LA0KLSAgeyA0NTQxLCBETUVDLCBBRSwgIkluZGV4 Qm91bmQgaGFzIG5vIGJvdW5kIGluZm9ybWF0aW9uIiB9LCAvLyBObyBsb25nZXIg Z2VuZXJhdGVkDQorICAvKiA0NTQxIE5vIGxvbmdlciBnZW5lcmF0ZWQgKi8NCiAg IC8qIDQ1NDItNDU0NiB1c2VkIGluIGxhdGVyIHJlbGVhc2VzICovDQogICB7IDQ1 NDcsIERNRUMsIEFFLCAiUmVjb3JkU3BlY2lmaWNhdGlvbiBoYXMgb3ZlcmxhcHBp bmcgb2Zmc2V0cyIgfSwNCiAgIHsgNDU0OCwgRE1FQywgQUUsICJSZWNvcmRTcGVj aWZpY2F0aW9uIGhhcyB0b28gbWFueSBlbGVtZW50cyIgfSwNCkBAIC03ODQsMjMg Kzc4NCw2IEBAIHN0YXRpYw0KIGNvbnN0DQogaW50IE5iQ2xhc3NpZmljYXRpb24g PSBzaXplb2YoU3RhdHVzQ2xhc3NpZmljYXRpb25NYXBwaW5nKS9zaXplb2YoRXJy b3JTdGF0dXNDbGFzc2lmaWNhdGlvbik7DQogDQotI2lmZGVmIE5PVF9VU0VEDQot LyoqDQotICogQ29tcGxldGUgYWxsIGZpZWxkcyBvZiBhbiBOZGJFcnJvciBnaXZl biB0aGUgZXJyb3IgY29kZQ0KLSAqIGFuZCBkZXRhaWxzDQotICovDQotc3RhdGlj DQotdm9pZA0KLXNldChuZGJlcnJvcl9zdHJ1Y3QgKiBlcnJvciwgaW50IGNvZGUs IGNvbnN0IGNoYXIgKiBkZXRhaWxzLCAuLi4pew0KLSAgZXJyb3ItPmNvZGUgPSBj b2RlOw0KLSAgew0KLSAgICB2YV9saXN0IGFwOw0KLSAgICB2YV9zdGFydChhcCwg ZGV0YWlscyk7DQotICAgIHZzbnByaW50ZihlcnJvci0+ZGV0YWlscywgc2l6ZW9m KGVycm9yLT5kZXRhaWxzKSwgZGV0YWlscywgYXApOw0KLSAgICB2YV9lbmQoYXAp Ow0KLSAgfQ0KLX0NCi0jZW5kaWYNCiANCiB2b2lkDQogbmRiZXJyb3JfdXBkYXRl KG5kYmVycm9yX3N0cnVjdCAqIGVycm9yKXsNCkBAIC04MzcsMjggKzgyMCw2IEBA IG5kYmVycm9yX3VwZGF0ZShuZGJlcnJvcl9zdHJ1Y3QgKiBlcnJvcikNCiAgIH0N CiB9DQogDQotI2lmIENIRUNLX0VSUk9SQ09ERVMNCi1pbnQNCi1jaGVja0Vycm9y Q29kZXMoKXsNCi0gIGludCBpLCBqOw0KLSAgZm9yKGkgPSAwOyBpPE5iRXJyb3JD b2RlczsgaSsrKQ0KLSAgICBmb3IoaiA9IGkrMTsgajxOYkVycm9yQ29kZXM7IGor KykNCi0gICAgICBpZihFcnJvckNvZGVzW2ldLmNvZGUgPT0gRXJyb3JDb2Rlc1tq XS5jb2RlKXsNCi0JcHJpbnRmKCJFcnJvckNvZGUgJWQgaXMgZGVmaW5lZCBtdWx0 aXBsZSB0aW1lcyEhXG4iLCANCi0JCSBFcnJvckNvZGVzW2ldLmNvZGUpOw0KLQlh c3NlcnQoMCk7DQotICAgICAgfQ0KLSAgDQotICByZXR1cm4gMTsNCi19DQotDQot LypzdGF0aWMgY29uc3QgaW50IGEgPSBjaGVja0Vycm9yQ29kZXMoKTsqLw0KLQ0K LWludCBtYWluKHZvaWQpew0KLSAgY2hlY2tFcnJvckNvZGVzKCk7DQotICByZXR1 cm4gMDsNCi19DQotI2VuZGlmDQogDQogY29uc3QgY2hhciAqbmRiZXJyb3Jfc3Rh dHVzX21lc3NhZ2UobmRiZXJyb3Jfc3RhdHVzIHN0YXR1cykNCiB7DQoNCj09PSBy ZW5hbWVkIGZpbGUgJ3N0b3JhZ2UvbmRiL3NyYy9uZGJhcGkvbmRiZXJyb3JfY2hl Y2suYycgPT4gJ3N0b3JhZ2UvbmRiL3NyYy9uZGJhcGkvbmRiZXJyb3JfY2hlY2su Y3BwJw0KLS0tIGEvc3RvcmFnZS9uZGIvc3JjL25kYmFwaS9uZGJlcnJvcl9jaGVj ay5jCTIwMDctMDItMjEgMDc6MjY6NDcgKzAwMDANCisrKyBiL3N0b3JhZ2UvbmRi L3NyYy9uZGJhcGkvbmRiZXJyb3JfY2hlY2suY3BwCTIwMDktMDQtMDggMTM6MzU6 NTEgKzAwMDANCkBAIC0xNiwyMyArMTYsMzAgQEANCiAjaW5jbHVkZSA8c3RkaW8u aD4NCiAjaW5jbHVkZSAibmRiZXJyb3IuYyINCiANCi1pbnQgbWFpbigpDQorLy8g TW9jayBpbXBsZW1lbnRhdGlvbiBvZiAnbXlfc25wcmludGYnDQorc2l6ZV90IG15 X3NucHJpbnRmKGNoYXIqIHRvLCBzaXplX3QgbiwgY29uc3QgY2hhciogZm10LCAu Li4pDQogew0KLSAgaW50IGksIGosIGVycm9yID0gMDsNCisgIGFib3J0KCk7DQor fQ0KKw0KKw0KKyNpbmNsdWRlIDxOZGJUYXAuaHBwPg0KIA0KK1RBUFRFU1QobmRi ZXJyb3JfY2hlY2spDQorew0KKyAgaW50IG9rPSAxOw0KICAgLyogY2hlY2sgZm9y IGR1cGxpY2F0ZSBlcnJvciBjb2RlcyAqLw0KLSAgZm9yKGkgPSAwOyBpIDwgTmJF cnJvckNvZGVzOyBpKyspDQorICBmb3IoaW50IGkgPSAwOyBpIDwgTmJFcnJvckNv ZGVzOyBpKyspDQogICB7DQotICAgIGZvcihqID0gaSArIDE7IGogPCBOYkVycm9y Q29kZXM7IGorKykNCisgICAgZm9yKGludCBqID0gaSArIDE7IGogPCBOYkVycm9y Q29kZXM7IGorKykNCiAgICAgew0KICAgICAgIGlmIChFcnJvckNvZGVzW2ldLmNv ZGUgPT0gRXJyb3JDb2Rlc1tqXS5jb2RlKQ0KICAgICAgIHsNCiAgICAgICAgIGZw cmludGYoc3RkZXJyLCAiRHVwbGljYXRlIGVycm9yIGNvZGUgJXVcbiIsIEVycm9y Q29kZXNbaV0uY29kZSk7DQotICAgICAgICBlcnJvciA9IDE7DQorICAgICAgICBv ayA9IDA7DQogICAgICAgfQ0KICAgICB9DQogICB9DQotICBpZiAoZXJyb3IpDQot ICAgIHJldHVybiAtMTsNCi0gIHJldHVybiAwOw0KKyAgcmV0dXJuIG9rOw0KIH0N CisNCg0KPT09IHJlbW92ZWQgZGlyZWN0b3J5ICdzdG9yYWdlL25kYi9zcmMvbmRi YXBpL3NpZ25hbC1zZW5kZXInDQo9PT0gcmVtb3ZlZCBmaWxlICdzdG9yYWdlL25k Yi9zcmMvbmRiYXBpL3NpZ25hbC1zZW5kZXIvTWFrZWZpbGUnDQotLS0gYS9zdG9y YWdlL25kYi9zcmMvbmRiYXBpL3NpZ25hbC1zZW5kZXIvTWFrZWZpbGUJMjAwNS0w NC0yNyAwMToxOTo1NCArMDAwMA0KKysrIGIvc3RvcmFnZS9uZGIvc3JjL25kYmFw aS9zaWduYWwtc2VuZGVyL01ha2VmaWxlCTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAw MDANCkBAIC0xLDE5ICswLDAgQEANCi1pbmNsdWRlIC5kZWZzLm1rDQotDQotVFlQ RSA6PSBuZGJhcGkNCi0NCi1OT05QSUNfQVJDSElWRSA6PSBZDQotQVJDSElWRV9U QVJHRVQgOj0gc2lnbmFsLXNlbmRlcg0KLQ0KLUJJTl9UQVJHRVRfTElCUyAgICAg Oj0gICAgICAgICAgIyAtbGthbGxlDQotQklOX1RBUkdFVF9BUkNISVZFUyA6PSBw b3J0bGliICAjICQoTkRCX1RPUCkvbGliL2xpYmthbGxlLmENCi0NCi0jIFNvdXJj ZSBmaWxlcyBvZiBub24tdGVtcGxhdGVkIGNsYXNzZXMgKC5jcHAgZmlsZXMpDQot U09VUkNFUyA9IFNpZ25hbFNlbmRlci5jcHAgDQotDQotQ0NGTEFHU19MT0MgKz0g LUkkKGNhbGwgZml4cGF0aCwkKE5EQl9UT1ApL3NyYy9uZGJhcGkpDQotDQotaW5j bHVkZSAkKE5EQl9UT1ApL0VwaWxvZ3VlLm1rDQotDQotIyMjDQotIyBCYWNrd2Fy ZCBjb21wYXRpYmxlDQoNCj09PSByZW1vdmVkIGZpbGUgJ3N0b3JhZ2UvbmRiL3Ny Yy9uZGJhcGkvc2lnbmFsLXNlbmRlci9TaWduYWxTZW5kZXIuY3BwJw0KLS0tIGEv c3RvcmFnZS9uZGIvc3JjL25kYmFwaS9zaWduYWwtc2VuZGVyL1NpZ25hbFNlbmRl ci5jcHAJMjAwNi0xMi0yMyAxOToyMDo0MCArMDAwMA0KKysrIGIvc3RvcmFnZS9u ZGIvc3JjL25kYmFwaS9zaWduYWwtc2VuZGVyL1NpZ25hbFNlbmRlci5jcHAJMTk3 MC0wMS0wMSAwMDowMDowMCArMDAwMA0KQEAgLTEsMjM2ICswLDAgQEANCi0vKiBD b3B5cmlnaHQgKEMpIDIwMDMgTXlTUUwgQUINCi0NCi0gICBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQ0KLSAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQotICAgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLg0K LQ0KLSAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KLSAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQotICAg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQ0KLSAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuDQotDQotICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCi0gICBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJl ZSBTb2Z0d2FyZQ0KLSAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFj ZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EgKi8NCi0N Ci0jaW5jbHVkZSAiU2lnbmFsU2VuZGVyLmhwcCINCi0jaW5jbHVkZSAiQ29uZmln UmV0cmlldmVyLmhwcCINCi0jaW5jbHVkZSA8TmRiU2xlZXAuaD4NCi0jaW5jbHVk ZSA8U2lnbmFsTG9nZ2VyTWFuYWdlci5ocHA+DQotDQotU2ltcGxlU2lnbmFsOjpT aW1wbGVTaWduYWwoYm9vbCBkZWFsbG9jKXsNCi0gIG1lbXNldCh0aGlzLCAwLCBz aXplb2YoKiB0aGlzKSk7DQotICBkZWFsbG9jU2VjdGlvbnMgPSBkZWFsbG9jOw0K LX0NCi0NCi1TaW1wbGVTaWduYWw6On5TaW1wbGVTaWduYWwoKXsNCi0gIGlmKCFk ZWFsbG9jU2VjdGlvbnMpDQotICAgIHJldHVybjsNCi0gIGlmKHB0clswXS5wICE9 IDApIGRlbGV0ZSBbXXB0clswXS5wOw0KLSAgaWYocHRyWzFdLnAgIT0gMCkgZGVs ZXRlIFtdcHRyWzFdLnA7DQotICBpZihwdHJbMl0ucCAhPSAwKSBkZWxldGUgW11w dHJbMl0ucDsNCi19DQotDQotdm9pZCANCi1TaW1wbGVTaWduYWw6OnNldChjbGFz cyBTaWduYWxTZW5kZXImIHNzLA0KLQkJICBVaW50OCAgdHJhY2UsIFVpbnQxNiBy ZWNCbG9jaywgVWludDE2IGdzbiwgVWludDMyIGxlbil7DQotICANCi0gIGhlYWRl ci50aGVUcmFjZSAgICAgICAgICAgICAgICA9IHRyYWNlOw0KLSAgaGVhZGVyLnRo ZVJlY2VpdmVyc0Jsb2NrTnVtYmVyID0gcmVjQmxvY2s7DQotICBoZWFkZXIudGhl VmVySWRfc2lnbmFsTnVtYmVyICAgPSBnc247DQotICBoZWFkZXIudGhlTGVuZ3Ro ICAgICAgICAgICAgICAgPSBsZW47DQotICBoZWFkZXIudGhlU2VuZGVyc0Jsb2Nr UmVmICAgICAgPSByZWZUb0Jsb2NrKHNzLmdldE93blJlZigpKTsNCi19DQotDQot dm9pZA0KLVNpbXBsZVNpZ25hbDo6cHJpbnQoRklMRSAqIG91dCl7DQotICBmcHJp bnRmKG91dCwgIi0tLS0gU2lnbmFsIC0tLS0tLS0tLS0tLS0tLS1cbiIpOw0KLSAg U2lnbmFsTG9nZ2VyTWFuYWdlcjo6cHJpbnRTaWduYWxIZWFkZXIob3V0LCBoZWFk ZXIsIDAsIDAsIGZhbHNlKTsNCi0gIFNpZ25hbExvZ2dlck1hbmFnZXI6OnByaW50 U2lnbmFsRGF0YShvdXQsIGhlYWRlciwgdGhlRGF0YSk7DQotICBmb3IoVWludDMy IGkgPSAwOyBpPGhlYWRlci5tX25vT2ZTZWN0aW9uczsgaSsrKXsNCi0gICAgVWlu dDMyIGxlbiA9IHB0cltpXS5zejsNCi0gICAgZnByaW50ZihvdXQsICIgLS0tIFNl Y3Rpb24gJWQgc2l6ZT0lZCAtLS1cbiIsIGksIGxlbik7DQotICAgIFVpbnQzMiAq IHNpZ25hbERhdGEgPSBwdHJbaV0ucDsNCi0gICAgd2hpbGUobGVuID49IDcpew0K LSAgICAgIGZwcmludGYob3V0LCANCi0gICAgICAgICAgICAgICIgSFwnJS44eCBI XCclLjh4IEhcJyUuOHggSFwnJS44eCBIXCclLjh4IEhcJyUuOHggSFwnJS44eFxu IiwNCi0gICAgICAgICAgICAgIHNpZ25hbERhdGFbMF0sIHNpZ25hbERhdGFbMV0s IHNpZ25hbERhdGFbMl0sIHNpZ25hbERhdGFbM10sIA0KLSAgICAgICAgICAgICAg c2lnbmFsRGF0YVs0XSwgc2lnbmFsRGF0YVs1XSwgc2lnbmFsRGF0YVs2XSk7DQot ICAgICAgbGVuIC09IDc7DQotICAgICAgc2lnbmFsRGF0YSArPSA3Ow0KLSAgICB9 DQotICAgIGlmKGxlbiA+IDApew0KLSAgICAgIGZwcmludGYob3V0LCAiIEhcJyUu OHgiLCBzaWduYWxEYXRhWzBdKTsNCi0gICAgICBmb3IoVWludDMyIGkgPSAxOyBp PGxlbjsgaSsrKQ0KLSAgICAgICAgZnByaW50ZihvdXQsICIgSFwnJS44eCIsIHNp Z25hbERhdGFbaV0pOw0KLSAgICAgIGZwcmludGYob3V0LCAiXG4iKTsNCi0gICAg fQ0KLSAgfQ0KLX0NCi0NCi1TaWduYWxTZW5kZXI6OlNpZ25hbFNlbmRlcihjb25z dCBjaGFyICogY29ubmVjdFN0cmluZyl7DQotICBtX2NvbmQgPSBOZGJDb25kaXRp b25fQ3JlYXRlKCk7DQotICB0aGVGYWNhZGUgPSBUcmFuc3BvcnRlckZhY2FkZTo6 c3RhcnRfaW5zdGFuY2UoY29ubmVjdFN0cmluZyk7DQotICBtX2Jsb2NrTm8gPSB0 aGVGYWNhZGUtPm9wZW4odGhpcywgZXhlY1NpZ25hbCwgZXhlY05vZGVTdGF0dXMp Ow0KLSAgYXNzZXJ0KG1fYmxvY2tObyA+IDApOw0KLX0NCi0NCi1TaWduYWxTZW5k ZXI6On5TaWduYWxTZW5kZXIoKXsNCi0gIHRoZUZhY2FkZS0+Y2xvc2UobV9ibG9j a05vKTsNCi0gIHRoZUZhY2FkZS0+c3RvcF9pbnN0YW5jZSgpOw0KLSAgTmRiQ29u ZGl0aW9uX0Rlc3Ryb3kobV9jb25kKTsNCi19DQotDQotVWludDMyDQotU2lnbmFs U2VuZGVyOjpnZXRPd25SZWYoKSBjb25zdCB7DQotICByZXR1cm4gbnVtYmVyVG9S ZWYobV9ibG9ja05vLCB0aGVGYWNhZGUtPm93bklkKCkpOw0KLX0NCi0NCi1ib29s DQotU2lnbmFsU2VuZGVyOjpjb25uZWN0T25lKFVpbnQzMiB0aW1lT3V0TWlsbGlz KXsNCi0gIE5EQl9USUNLUyBzdGFydCA9IE5kYlRpY2tfQ3VycmVudE1pbGxpc2Vj b25kKCk7DQotICBOREJfVElDS1Mgbm93ID0gc3RhcnQ7DQotICB3aGlsZSh0aGVG YWNhZGUtPnRoZUNsdXN0ZXJNZ3ItPmdldE5vT2ZDb25uZWN0ZWROb2RlcygpID09 IDAgJiYNCi0JKHRpbWVPdXRNaWxsaXMgPT0gMCB8fCAobm93IC0gc3RhcnQpIDwg dGltZU91dE1pbGxpcykpew0KLSAgICBOZGJTbGVlcF9NaWxsaVNsZWVwKDEwMCk7 DQotICB9DQotICByZXR1cm4gdGhlRmFjYWRlLT50aGVDbHVzdGVyTWdyLT5nZXRO b09mQ29ubmVjdGVkTm9kZXMoKSA+IDA7DQotfQ0KLQ0KLWJvb2wNCi1TaWduYWxT ZW5kZXI6OmNvbm5lY3RBbGwoVWludDMyIHRpbWVPdXRNaWxsaXMpew0KLSAgTkRC X1RJQ0tTIHN0YXJ0ID0gTmRiVGlja19DdXJyZW50TWlsbGlzZWNvbmQoKTsNCi0g IE5EQl9USUNLUyBub3cgPSBzdGFydDsNCi0gIHdoaWxlKHRoZUZhY2FkZS0+dGhl Q2x1c3Rlck1nci0+Z2V0Tm9PZkNvbm5lY3RlZE5vZGVzKCkgPCAxICYmDQotCSh0 aW1lT3V0TWlsbGlzID09IDAgfHwgKG5vdyAtIHN0YXJ0KSA8IHRpbWVPdXRNaWxs aXMpKXsJDQotICAgIE5kYlNsZWVwX01pbGxpU2xlZXAoMTAwKTsNCi0gIH0NCi0g IHJldHVybiB0aGVGYWNhZGUtPnRoZUNsdXN0ZXJNZ3ItPmdldE5vT2ZDb25uZWN0 ZWROb2RlcygpID49IDE7DQotfQ0KLQ0KLQ0KLVVpbnQzMg0KLVNpZ25hbFNlbmRl cjo6Z2V0QWxpdmVOb2RlKCl7DQotICByZXR1cm4gdGhlRmFjYWRlLT5nZXRfYW5f YWxpdmVfbm9kZSgpOw0KLX0NCi0NCi1jb25zdCBDbHVzdGVyTWdyOjpOb2RlICYg DQotU2lnbmFsU2VuZGVyOjpnZXROb2RlSW5mbyhVaW50MTYgbm9kZUlkKSBjb25z dCB7DQotICByZXR1cm4gdGhlRmFjYWRlLT50aGVDbHVzdGVyTWdyLT5nZXROb2Rl SW5mbyhub2RlSWQpOw0KLX0NCi0NCi1VaW50MzINCi1TaWduYWxTZW5kZXI6Omdl dE5vT2ZDb25uZWN0ZWROb2RlcygpIGNvbnN0IHsNCi0gIHJldHVybiB0aGVGYWNh ZGUtPnRoZUNsdXN0ZXJNZ3ItPmdldE5vT2ZDb25uZWN0ZWROb2RlcygpOw0KLX0N Ci0NCi1TZW5kU3RhdHVzDQotU2lnbmFsU2VuZGVyOjpzZW5kU2lnbmFsKFVpbnQx NiBub2RlSWQsIGNvbnN0IFNpbXBsZVNpZ25hbCAqIHMpew0KLSAgcmV0dXJuIHRo ZUZhY2FkZS0+dGhlVHJhbnNwb3J0ZXJSZWdpc3RyeS0+cHJlcGFyZVNlbmQoJnMt PmhlYWRlciwNCi0JCQkJCQkJMSwgLy8gSkJCDQotCQkJCQkJCSZzLT50aGVEYXRh WzBdLA0KLQkJCQkJCQlub2RlSWQsIA0KLQkJCQkJCQkmcy0+cHRyWzBdKTsNCi19 DQotDQotdGVtcGxhdGU8Y2xhc3MgVD4NCi1TaW1wbGVTaWduYWwgKg0KLVNpZ25h bFNlbmRlcjo6d2FpdEZvcihVaW50MzIgdGltZU91dE1pbGxpcywgVCAmIHQpew0K LSAgDQotICBHdWFyZCBnKHRoZUZhY2FkZS0+dGhlTXV0ZXhQdHIpOw0KLSAgDQot ICBTaW1wbGVTaWduYWwgKiBzID0gdC5jaGVjayhtX2pvYkJ1ZmZlcik7DQotICBp ZihzICE9IDApew0KLSAgICByZXR1cm4gczsNCi0gIH0NCi0gIA0KLSAgTkRCX1RJ Q0tTIG5vdyA9IE5kYlRpY2tfQ3VycmVudE1pbGxpc2Vjb25kKCk7DQotICBOREJf VElDS1Mgc3RvcCA9IG5vdyArIHRpbWVPdXRNaWxsaXM7DQotICBVaW50MzIgd2Fp dCA9ICh0aW1lT3V0TWlsbGlzID09IDAgPyAxMCA6IHRpbWVPdXRNaWxsaXMpOw0K LSAgZG8gew0KLSAgICBOZGJDb25kaXRpb25fV2FpdFRpbWVvdXQobV9jb25kLA0K LQkJCSAgICAgdGhlRmFjYWRlLT50aGVNdXRleFB0ciwgDQotCQkJICAgICB3YWl0 KTsNCi0gICAgDQotICAgIA0KLSAgICBTaW1wbGVTaWduYWwgKiBzID0gdC5jaGVj ayhtX2pvYkJ1ZmZlcik7DQotICAgIGlmKHMgIT0gMCl7DQotICAgICAgcmV0dXJu IHM7DQotICAgIH0NCi0gICAgDQotICAgIG5vdyA9IE5kYlRpY2tfQ3VycmVudE1p bGxpc2Vjb25kKCk7DQotICAgIHdhaXQgPSAodGltZU91dE1pbGxpcyA9PSAwID8g MTAgOiBzdG9wIC0gbm93KTsNCi0gIH0gd2hpbGUoc3RvcCA+IG5vdyB8fCB0aW1l T3V0TWlsbGlzID09IDApOw0KLSAgDQotICByZXR1cm4gMDsNCi19IA0KLQ0KLWNs YXNzIFdhaXRGb3JBbnkgew0KLXB1YmxpYzoNCi0gIFNpbXBsZVNpZ25hbCAqIGNo ZWNrKFZlY3RvcjxTaW1wbGVTaWduYWwqPiAmIG1fam9iQnVmZmVyKXsNCi0gICAg aWYobV9qb2JCdWZmZXIuc2l6ZSgpID4gMCl7DQotICAgICAgU2ltcGxlU2lnbmFs ICogcyA9IG1fam9iQnVmZmVyWzBdOw0KLSAgICAgIG1fam9iQnVmZmVyLmVyYXNl KDApOw0KLQlyZXR1cm4gczsNCi0gICAgfQ0KLSAgICAgIHJldHVybiAwOw0KLSAg fQ0KLX07DQotICANCi1TaW1wbGVTaWduYWwgKg0KLVNpZ25hbFNlbmRlcjo6d2Fp dEZvcihVaW50MzIgdGltZU91dE1pbGxpcyl7DQotICANCi0gIFdhaXRGb3JBbnkg dzsNCi0gIHJldHVybiB3YWl0Rm9yKHRpbWVPdXRNaWxsaXMsIHcpOw0KLX0NCi0N Ci1jbGFzcyBXYWl0Rm9yTm9kZSB7DQotcHVibGljOg0KLSAgVWludDMyIG1fbm9k ZUlkOw0KLSAgU2ltcGxlU2lnbmFsICogY2hlY2soVmVjdG9yPFNpbXBsZVNpZ25h bCo+ICYgbV9qb2JCdWZmZXIpew0KLSAgICBVaW50MzIgbGVuID0gbV9qb2JCdWZm ZXIuc2l6ZSgpOw0KLSAgICBmb3IoVWludDMyIGkgPSAwOyBpPGxlbjsgaSsrKXsN Ci0gICAgICBpZihyZWZUb05vZGUobV9qb2JCdWZmZXJbaV0tPmhlYWRlci50aGVT ZW5kZXJzQmxvY2tSZWYpID09IG1fbm9kZUlkKXsNCi0JU2ltcGxlU2lnbmFsICog cyA9IG1fam9iQnVmZmVyW2ldOw0KLQltX2pvYkJ1ZmZlci5lcmFzZShpKTsNCi0J cmV0dXJuIHM7DQotICAgICAgfQ0KLSAgICB9DQotICAgIHJldHVybiAwOw0KLSAg fQ0KLX07DQotDQotU2ltcGxlU2lnbmFsICoNCi1TaWduYWxTZW5kZXI6OndhaXRG b3IoVWludDE2IG5vZGVJZCwgVWludDMyIHRpbWVPdXRNaWxsaXMpew0KLSAgDQot ICBXYWl0Rm9yTm9kZSB3Ow0KLSAgdy5tX25vZGVJZCA9IG5vZGVJZDsNCi0gIHJl dHVybiB3YWl0Rm9yKHRpbWVPdXRNaWxsaXMsIHcpOw0KLX0NCi0NCi0jaW5jbHVk ZSA8TmRiQXBpU2lnbmFsLmhwcD4NCi0NCi12b2lkDQotU2lnbmFsU2VuZGVyOjpl eGVjU2lnbmFsKHZvaWQqIHNpZ25hbFNlbmRlciwgDQotCQkJIE5kYkFwaVNpZ25h bCogc2lnbmFsLCANCi0JCQkgY2xhc3MgTGluZWFyU2VjdGlvblB0ciBwdHJbM10p ew0KLSAgU2ltcGxlU2lnbmFsICogcyA9IG5ldyBTaW1wbGVTaWduYWwodHJ1ZSk7 DQotICBzLT5oZWFkZXIgPSAqIHNpZ25hbDsNCi0gIG1lbWNweSgmcy0+dGhlRGF0 YVswXSwgc2lnbmFsLT5nZXREYXRhUHRyKCksIDQgKiBzLT5oZWFkZXIudGhlTGVu Z3RoKTsNCi0gIGZvcihVaW50MzIgaSA9IDA7IGk8cy0+aGVhZGVyLm1fbm9PZlNl Y3Rpb25zOyBpKyspew0KLSAgICBzLT5wdHJbaV0ucCA9IG5ldyBVaW50MzJbcHRy W2ldLnN6XTsNCi0gICAgcy0+cHRyW2ldLnN6ID0gcHRyW2ldLnN6Ow0KLSAgICBt ZW1jcHkocy0+cHRyW2ldLnAsIHB0cltpXS5wLCA0ICogcHRyW2ldLnN6KTsNCi0g IH0NCi0gIFNpZ25hbFNlbmRlciAqIHNzID0gKFNpZ25hbFNlbmRlciopc2lnbmFs U2VuZGVyOw0KLSAgc3MtPm1fam9iQnVmZmVyLnB1c2hfYmFjayhzKTsNCi0gIE5k YkNvbmRpdGlvbl9TaWduYWwoc3MtPm1fY29uZCk7DQotfQ0KLSAgDQotdm9pZCAN Ci1TaWduYWxTZW5kZXI6OmV4ZWNOb2RlU3RhdHVzKHZvaWQqIHNpZ25hbFNlbmRl ciwgDQotCQkJICAgICBVaW50MTYgTm9kZUlkLCANCi0JCQkgICAgIGJvb2wgYWxp dmUsIA0KLQkJCSAgICAgYm9vbCBuZkNvbXBsZXRlZCl7DQotfQ0KLSAgDQoNCj09 PSByZW1vdmVkIGZpbGUgJ3N0b3JhZ2UvbmRiL3NyYy9uZGJhcGkvc2lnbmFsLXNl bmRlci9TaWduYWxTZW5kZXIuaHBwJw0KLS0tIGEvc3RvcmFnZS9uZGIvc3JjL25k YmFwaS9zaWduYWwtc2VuZGVyL1NpZ25hbFNlbmRlci5ocHAJMjAwNi0xMi0yMyAx OToyMDo0MCArMDAwMA0KKysrIGIvc3RvcmFnZS9uZGIvc3JjL25kYmFwaS9zaWdu YWwtc2VuZGVyL1NpZ25hbFNlbmRlci5ocHAJMTk3MC0wMS0wMSAwMDowMDowMCAr MDAwMA0KQEAgLTEsODEgKzAsMCBAQA0KLS8qIENvcHlyaWdodCAoQykgMjAwMyBN eVNRTCBBQg0KLQ0KLSAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQotICAgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh cyBwdWJsaXNoZWQgYnkNCi0gICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UuDQotDQotICAgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsDQotICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YNCi0gICBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQotICAg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCi0N Ci0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KLSAgIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQotICAgRm91 bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3Rv biwgTUEgIDAyMTExLTEzMDcgIFVTQSAqLw0KLQ0KLSNpZm5kZWYgU0lHTkFMX1NF TkRFUl9IUFANCi0jZGVmaW5lIFNJR05BTF9TRU5ERVJfSFBQDQotDQotI2luY2x1 ZGUgPG5kYl9nbG9iYWwuaD4NCi0jaW5jbHVkZSA8VHJhbnNwb3J0ZXJEZWZpbml0 aW9ucy5ocHA+DQotI2luY2x1ZGUgPFRyYW5zcG9ydGVyRmFjYWRlLmhwcD4NCi0j aW5jbHVkZSA8Q2x1c3Rlck1nci5ocHA+DQotI2luY2x1ZGUgPFZlY3Rvci5ocHA+ DQotDQotc3RydWN0IFNpbXBsZVNpZ25hbCB7DQotcHVibGljOg0KLSAgU2ltcGxl U2lnbmFsKGJvb2wgZGVhbGxvYyA9IGZhbHNlKTsNCi0gIH5TaW1wbGVTaWduYWwo KTsNCi0gIA0KLSAgdm9pZCBzZXQoY2xhc3MgU2lnbmFsU2VuZGVyJiwNCi0JICAg VWludDggIHRyYWNlLCBVaW50MTYgcmVjQmxvY2ssIFVpbnQxNiBnc24sIFVpbnQz MiBsZW4pOw0KLSAgDQotICBzdHJ1Y3QgU2lnbmFsSGVhZGVyIGhlYWRlcjsNCi0g IFVpbnQzMiB0aGVEYXRhWzI1XTsNCi0gIExpbmVhclNlY3Rpb25QdHIgcHRyWzNd Ow0KLQ0KLSAgdm9pZCBwcmludChGSUxFICogb3V0ID0gc3Rkb3V0KTsNCi1wcml2 YXRlOg0KLSAgYm9vbCBkZWFsbG9jU2VjdGlvbnM7DQotfTsNCi0NCi1jbGFzcyBT aWduYWxTZW5kZXIgew0KLXB1YmxpYzoNCi0gIFNpZ25hbFNlbmRlcihjb25zdCBj aGFyICogY29ubmVjdFN0cmluZyA9IDApOw0KLSAgdmlydHVhbCB+U2lnbmFsU2Vu ZGVyKCk7DQotICANCi0gIGJvb2wgY29ubmVjdE9uZShVaW50MzIgdGltZU91dE1p bGxpcyA9IDApOw0KLSAgYm9vbCBjb25uZWN0QWxsKFVpbnQzMiB0aW1lT3V0TWls bGlzID0gMCk7DQotICBib29sIGNvbm5lY3QoVWludDMyIHRpbWVPdXRNaWxsaXMg PSAwKSB7IHJldHVybiBjb25uZWN0QWxsKHRpbWVPdXRNaWxsaXMpO30NCi0gIA0K LSAgVWludDMyIGdldE93blJlZigpIGNvbnN0Ow0KLSAgDQotICBVaW50MzIgZ2V0 QWxpdmVOb2RlKCk7DQotICBVaW50MzIgZ2V0Tm9PZkNvbm5lY3RlZE5vZGVzKCkg Y29uc3Q7DQotICBjb25zdCBDbHVzdGVyTWdyOjpOb2RlICYgZ2V0Tm9kZUluZm8o VWludDE2IG5vZGVJZCkgY29uc3Q7DQotICANCi0gIFNlbmRTdGF0dXMgc2VuZFNp Z25hbChVaW50MTYgbm9kZUlkLCBjb25zdCBTaW1wbGVTaWduYWwgKik7DQotICAN Ci0gIFNpbXBsZVNpZ25hbCAqIHdhaXRGb3IoVWludDMyIHRpbWVPdXRNaWxsaXMg PSAwKTsNCi0gIFNpbXBsZVNpZ25hbCAqIHdhaXRGb3IoVWludDE2IG5vZGVJZCwg VWludDMyIHRpbWVPdXRNaWxsaXMgPSAwKTsNCi0gIFNpbXBsZVNpZ25hbCAqIHdh aXRGb3IoVWludDE2IG5vZGVJZCwgVWludDE2IGdzbiwgVWludDMyIHRpbWVPdXRN aWxsaXMgPSAwKTsgIA0KLSAgDQotcHJpdmF0ZToNCi0gIGludCBtX2Jsb2NrTm87 DQotICBUcmFuc3BvcnRlckZhY2FkZSAqIHRoZUZhY2FkZTsNCi0gIA0KLSAgc3Rh dGljIHZvaWQgZXhlY1NpZ25hbCh2b2lkKiBzaWduYWxTZW5kZXIsIA0KLQkJCSBO ZGJBcGlTaWduYWwqIHNpZ25hbCwgDQotCQkJIGNsYXNzIExpbmVhclNlY3Rpb25Q dHIgcHRyWzNdKTsNCi0gIA0KLSAgc3RhdGljIHZvaWQgZXhlY05vZGVTdGF0dXMo dm9pZCogc2lnbmFsU2VuZGVyLCBOb2RlSWQsIA0KLQkJCSAgICAgYm9vbCBhbGl2 ZSwgYm9vbCBuZkNvbXBsZXRlZCk7DQotICANCi0gIHN0cnVjdCBOZGJDb25kaXRp b24gKiBtX2NvbmQ7DQotICBWZWN0b3I8U2ltcGxlU2lnbmFsICo+IG1fam9iQnVm ZmVyOw0KLQ0KLSAgdGVtcGxhdGU8Y2xhc3MgVD4NCi0gIFNpbXBsZVNpZ25hbCAq IHdhaXRGb3IoVWludDMyIHRpbWVPdXRNaWxsaXMsIFQgJiB0KTsNCi19Ow0KLQ0K LSNlbmRpZg0KDQo= --Boundary_(ID_1VC1wOu7OjcdsLz02tfxsw) MIME-version: 1.0 Content-type: text/bzr-bundle; name="bzr/magnus.blaudd@stripped"; charset=us-ascii Content-transfer-encoding: 7BIT Content-disposition: inline; filename="bzr/magnus.blaudd@stripped" # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: magnus.blaudd@stripped # target_branch: file:///home/msvensson/mysql/bug/44036/ # testament_sha1: c79d17e9b9ab07d9b14df60c132f5db188325949 # timestamp: 2009-04-08 15:36:01 +0200 # base_revision_id: jonas@stripped # # Begin bundle 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 7ZKjdoIG6Iz+ZV6ry5u5H/R/8XckU4UJDIcsCGA= --Boundary_(ID_1VC1wOu7OjcdsLz02tfxsw)--