From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f158.i.mail.ru (f158.i.mail.ru [94.100.178.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id C2C33469710 for ; Wed, 6 May 2020 11:20:43 +0300 (MSK) From: =?UTF-8?B?SWx5YSBLb3NhcmV2?= MIME-Version: 1.0 Date: Wed, 06 May 2020 11:20:42 +0300 Reply-To: =?UTF-8?B?SWx5YSBLb3NhcmV2?= Message-ID: <1588753242.784725060@f158.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--132554120Ec5b5AE420A51439b38343B1588753242" In-Reply-To: References: <1588162321.664592164@f301.i.mail.ru> Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH=5D_socket=3A_fix_error_whi?= =?utf-8?q?le_closing_socket=2Etcp=5Fserver?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?bHZhc2lsaWV2?= Cc: tarantool-patches@dev.tarantool.org ----ALT--132554120Ec5b5AE420A51439b38343B1588753242 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpIQrCoApUaGFua3MgZm9yIHRoZSBhbnN3ZXJzLgrCoApObyBuZXcgY29tbWVudHMuIExHVE0K wqAgCj7QodGA0LXQtNCwLCA2INC80LDRjyAyMDIwLCAxMTowMSArMDM6MDAg0L7RgiBsdmFzaWxp ZXYgPGx2YXNpbGlldkB0YXJhbnRvb2wub3JnPjoKPsKgCj5IaSEgVGhhbmtzIGZvciB0aGUgcmV2 aWV3Lgo+Cj5PbiAyOS4wNC4yMDIwIDE1OjEyLCBJbHlhIEtvc2FyZXYgd3JvdGU6Cj4+Cj4+IEhp IQo+Pgo+PiBUaGFua3MgZm9yIHRoZSBwYXRjaC4KPj4KPj4gTEdUTSwgc2VlIDIgbml0cyBiZWxv dy4KPj4KPj4+IFRoZSB0Y3Agc2VydmVyIHN0YXJ0cyBpbiBhIHNlcGFyYXRlIGZpYmVyIGFuZCB3 aGVuCj4+PiB0aGUgc29ja2V0IGNsb3NlcyBmcm9tIGFub3RoZXIgZmliZXIgdGhlIHNlcnZlcidz Cj4+PiBmaWJlciBmYWlscyB3aXRoIGFuIGF0dGVtcHQgdG8gdmFsaWRhdGUgdGhlIHNlcnZlcgo+ Pj4gc29ja2V0LiBGb3IgY2hlY2sgdGhlIHNvY2tldCBzdGF0dXMgYXQgc2VydmVyJ3MKPj4+IGZp YmVyIGEgZmxhZyBoYXMgYmVlbiBhZGRlZCBhbmQgbm93IHNlcnZlcidzIGZpYmVyCj4+PiB3aWxs IHRlcm1pbmF0ZSBjb3JyZWN0bHkgaWYgdGhlIHNvY2tldCB3YXMgY2xvc2VkLgo+PiAxLsKgSSB0 aGluayB0aGlzIHdheSBpdCBtaWdodCBzb3VuZCBhIGJpdCBiZXR0ZXI6Cj4+IFRoZSB0Y3Agc2Vy dmVyIHN0YXJ0cyBpbiBhIHNlcGFyYXRlIGZpYmVyIGFuZCB3aGVuCj4+IGl04oCZc8Kgc29ja2V0 IGlzIGJlaW5nwqBjbG9zZWTCoGZyb20gYW5vdGhlciBmaWJlciwKPj4gc2VydmVyJ3PCoGZpYmVy IHVzZWQgdG/CoGZhaWzCoHdpdGggYW4gYXR0ZW1wdCB0byB2YWxpZGF0ZQo+PiB0aGUgc2VydmVy wqBzb2NrZXQuIFRvwqBjaGVjayBzb2NrZXQgc3RhdHVzIGF0IHNlcnZlcidzCj4+IGZpYmVyIGEg ZmxhZyBoYXMgYmVlbiBhZGRlZCBhbmQgbm93IHNlcnZlcidzIGZpYmVyCj4+IHRlcm1pbmF0ZXMg Y29ycmVjdGx5IHdoZW4gdGhlIHNvY2tldCBpcyBiZWluZyBjbG9zZWQuCj4KPlVwZGF0ZWQgZGVz Y3JpcHRpb246Cj4KPlRoZSB0Y3Agc2VydmVyIHN0YXJ0cyBpbiBhIHNlcGFyYXRlIGZpYmVyLgo+ V2hlbiBzZXJ2ZXIncyBzb2NrZXQgaXMgY2xvc2VkIGZyb20gYW5vdGhlciBmaWJlciwKPmFuIGV4 Y2VwdGlvbiB3aWxsIGJlIHRocm93biBpbiBzZXJ2ZXIncyBsb29wIGZyb20KPmNoZWNrX3NvY2tl dCBmdW5jdGlvbi4KPlRvIGNoZWNrIHNvY2tldCBzdGF0dXMgYXQgc2VydmVyJ3MgZmliZXIgYSBm bGFnIGhhcwo+YmVlbiBhZGRlZCBhbmQgbm93IHNlcnZlcidzIGZpYmVyIHRlcm1pbmF0ZXMgY29y cmVjdGx5Cj53aGVuIHRoZSBzb2NrZXQgaXMgYmVpbmcgY2xvc2VkLgpSaWdodCwgSSB0aGluayB0 aGUgbGFzdMKgb25lIGlzIHRoZSBtb3N0IGNsZWFyLgo+Pj4KPj4+IEZpeGVzOiAjNDA4Nwo+Pj4g LS0tCj4+PiBAQ2hhbmdlbG9nIGZpeCBlcnJvciB3aGlsZSBjbG9zaW5nIHNvY2tldC50Y3Bfc2Vy dmVyIHNvY2tldChnaC00MDg3KQo+Pj4KPj4+IMKgc3JjL2x1YS9zb2NrZXQubHVhIHwgOSArKysr KysrKysKPj4+IMKgdGVzdC9hcHAvc29ja2V0LnJlc3VsdCB8IDE0ICsrKysrKysrKysrKysrCj4+ PiDCoHRlc3QvYXBwL3NvY2tldC50ZXN0Lmx1YSB8IDcgKysrKysrLQo+Pj4gwqAzIGZpbGVzIGNo YW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPj4+Cj4+PiBkaWZmIC0tZ2l0 IGEvc3JjL2x1YS9zb2NrZXQubHVhIGIvc3JjL2x1YS9zb2NrZXQubHVhCj4+PiBpbmRleCBhMzM0 YWQ0Li5lNDUzYTUzIDEwMDY0NAo+Pj4gLS0tIGEvc3JjL2x1YS9zb2NrZXQubHVhCj4+PiArKysg Yi9zcmMvbHVhL3NvY2tldC5sdWEKPj4+IEBAIC0xMDIsNiArMTAyLDkgQEAgbG9jYWwgZ2Nfc29j a2V0X3NlbnRpbmVsID0gZmZpLm5ldyhnY19zb2NrZXRfdCwgeyBmZCA9IC0xIH0pCj4+Pgo+Pj4g wqBsb2NhbCBmdW5jdGlvbiBzb2NrZXRfY2xvc2Uoc29ja2V0KQo+Pj4gwqDCoMKgwqDCoGxvY2Fs IGZkID0gY2hlY2tfc29ja2V0KHNvY2tldCkKPj4+ICsgaWYgc29ja2V0Ll9zZXJ2ZXJfc29ja2V0 X2Nsb3NlZCB+PSBuaWwgdGhlbgo+Pj4gKyBzb2NrZXQuX3NlcnZlcl9zb2NrZXRfY2xvc2VkID0g dHJ1ZQo+Pj4gKyBlbmQKPj4gMi4gSSB0aGluayB3ZSBoYXZlIGFuIG9wdGlvbiBoZXJlIHRvIHNr aXAgdGhpc8KgY2hlY2sKPj4gYW5kIHNpbXBseSBhbHdheXMgYXNzaWduLgo+PiBzb2NrZXQuX3Nl cnZlcl9zb2NrZXRfY2xvc2VkID0gdHJ1ZQo+PiBJbiBteSBvcGluaW9uIGl0IGxvb2tzIGEgYml0 IG1vcmUgb2J2aW91cyBhbmQgYnJlYWtzIG5vdGhpbmcuCj7CoEZyb20gdGhlIGNvZGUgY29ycmVj dG5lc3MgcG9pbnQgb2YgdmlldywgdGhpcyByZWFsbHkgZG9lc24ndAo+YnJlYWsgYW55dGhpbmcu IEJ1dCBJTU8gdGhpcyBpcyBhIHByb3BlcnR5IG9mIGEgc3Vic2V0IG9mIHNvY2tldHMKPih0Y3Ag c2VydmVyIHNvY2tldHMpIG5vdCBhbGwuIEluIG90aGVyIHdvcmRzLCBhIHNlcnZlciBzb2NrZXQK PmNhbiBiZSB1c2VkIGluIHRoZSBjb250ZXh0IG9mIGEgImJhc2UiIHNvY2tldCwgYnV0IGEgImJh c2UiIHNvY2tldAo+Y2FuJ3QgYmUgdXNlZCBpbiB0aGUgY29udGV4dCBvZiBhIHNlcnZlciBzb2Nr ZXQKPihsaWtlIGEgImJhc2UiIGFuZCBhbiAiaW5oZXJpdG9yIikuCllvdSBhcmUgcmlnaHQsIEkg c2VlLiBMZXTigJlzIG5vdCBtZXNzIHVwIHNlcnZlcsKgc29ja2V0IGZpZWxkIHdpdGjCoGdlbmVy YWwgZmllbGRzLgo+Pj4gwqDCoMKgwqDCoHNvY2tldC5fZXJybm8gPSBuaWwKPj4+IMKgwqDCoMKg wqBsb2NhbCByID0gZmZpLkMuY29pb19jbG9zZShmZCkKPj4+IMKgwqDCoMKgwqAtLSAuZmQgaXMg Y29uc3QgdG8gcHJldmVudCB0YW1wZXJpbmcKPj4+IEBAIC0xMDgyLDYgKzEwODUsOSBAQCBsb2Nh bCBmdW5jdGlvbiB0Y3Bfc2VydmVyX2xvb3Aoc2VydmVyLCBzLCBhZGRyKQo+Pj4gwqDCoMKgwqDC oGZpYmVyLm5hbWUoZm9ybWF0KCIlcy8lczolcyIsIHNlcnZlci5uYW1lLCBhZGRyLmhvc3QsIGFk ZHIucG9ydCksIHt0cnVuY2F0ZSA9IHRydWV9KQo+Pj4gwqDCoMKgwqDCoGxvZy5pbmZvKCJzdGFy dGVkIikKPj4+IMKgwqDCoMKgwqB3aGlsZSBzb2NrZXRfcmVhZGFibGUocykgZG8KPj4+ICsgaWYg cy5fc2VydmVyX3NvY2tldF9jbG9zZWQgdGhlbgo+Pj4gKyBicmVhawo+Pj4gKyBlbmQKPj4+IMKg wqDCoMKgwqDCoMKgwqDCoGxvY2FsIHNjLCBmcm9tID0gc29ja2V0X2FjY2VwdChzKQo+Pj4gwqDC oMKgwqDCoMKgwqDCoMKgaWYgc2MgPT0gbmlsIHRoZW4KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgbG9jYWwgZXJybm8gPSBzLl9lcnJubwo+Pj4gQEAgLTEyMTYsNiArMTIyMiw5IEBAIGxv Y2FsIGZ1bmN0aW9uIHRjcF9zZXJ2ZXIoaG9zdCwgcG9ydCwgb3B0cywgdGltZW91dCkKPj4+IMKg wqDCoMKgwqDCoMKgwqDCoHJldHVybiBuaWwKPj4+IMKgwqDCoMKgwqBlbmQKPj4+IMKgwqDCoMKg wqBmaWJlci5jcmVhdGUodGNwX3NlcnZlcl9sb29wLCBzZXJ2ZXIsIHMsIGFkZHIpCj4+PiArIC0t IFRoZSBfc2VydmVyX3NvY2tldF9jbG9zZWQgZmxhZyBpcyBuZWNlc3NhcnkgZm9yIHRoZSBzZXJ2 ZXIKPj4+ICsgLS0gdG8gc3RvcCBjb3JyZWN0bHkgd2hlbiBjbG9zaW5nIHRoZSBzb2NrZXQuCj4+ PiArIHMuX3NlcnZlcl9zb2NrZXRfY2xvc2VkID0gZmFsc2UKPj4+IMKgwqDCoMKgwqByZXR1cm4g cywgYWRkcgo+Pj4gwqBlbmQKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvdGVzdC9hcHAvc29ja2V0LnJl c3VsdCBiL3Rlc3QvYXBwL3NvY2tldC5yZXN1bHQKPj4+IGluZGV4IDlmMGVhMGEuLjYyMDY4NDgg MTAwNjQ0Cj4+PiAtLS0gYS90ZXN0L2FwcC9zb2NrZXQucmVzdWx0Cj4+PiArKysgYi90ZXN0L2Fw cC9zb2NrZXQucmVzdWx0Cj4+PiBAQCAtMjkxNCwzICsyOTE0LDE3IEBAIHNydjpjbG9zZSgpCj4+ PiDCoC0tLQo+Pj4gwqAtIHRydWUKPj4+IMKgLi4uCj4+PiArLS0KPj4+ICstLSBnaC00MDg3OiBm aXggZXJyb3Igd2hpbGUgY2xvc2luZyBzb2NrZXQudGNwX3NlcnZlcgo+Pj4gKy0tCj4+PiArc3J2 ID0gc29ja2V0LnRjcF9zZXJ2ZXIoJzEyNy4wLjAuMScsIDAsIGZ1bmN0aW9uKCkgZW5kKQo+Pj4g Ky0tLQo+Pj4gKy4uLgo+Pj4gK3NydjpjbG9zZSgpCj4+PiArLS0tCj4+PiArLSB0cnVlCj4+PiAr Li4uCj4+PiArdGVzdF9ydW46d2FpdF9sb2coJ2RlZmF1bHQnLCAnc3RvcHBlZCcsIDEwMjQsIDAu MDEpCj4+PiArLS0tCj4+PiArLSBzdG9wcGVkCj4+PiArLi4uCj4+PiBkaWZmIC0tZ2l0IGEvdGVz dC9hcHAvc29ja2V0LnRlc3QubHVhIGIvdGVzdC9hcHAvc29ja2V0LnRlc3QubHVhCj4+PiBpbmRl eCBkMWZlN2FkLi5hMzk5ZmNhIDEwMDY0NAo+Pj4gLS0tIGEvdGVzdC9hcHAvc29ja2V0LnRlc3Qu bHVhCj4+PiArKysgYi90ZXN0L2FwcC9zb2NrZXQudGVzdC5sdWEKPj4+IEBAIC05ODcsNCArOTg3 LDkgQEAgczpzZXR0aW1lb3V0KDEpCj4+PiDCoHM6cmVjZWl2ZSgnKmEnKQo+Pj4gwqBzOmNsb3Nl KCkKPj4+IMKgc3J2OmNsb3NlKCkKPj4+IC0KPj4+ICstLQo+Pj4gKy0tIGdoLTQwODc6IGZpeCBl cnJvciB3aGlsZSBjbG9zaW5nIHNvY2tldC50Y3Bfc2VydmVyCj4+PiArLS0KPj4+ICtzcnYgPSBz b2NrZXQudGNwX3NlcnZlcignMTI3LjAuMC4xJywgMCwgZnVuY3Rpb24oKSBlbmQpCj4+PiArc3J2 OmNsb3NlKCkKPj4+ICt0ZXN0X3J1bjp3YWl0X2xvZygnZGVmYXVsdCcsICdzdG9wcGVkJywgMTAy NCwgMC4wMSkKPj4+IC0tCj4+PiAyLjcuNAo+Pj4KPj4KPj4KPj4gLS0KPj4gSWx5YSBLb3NhcmV2 Cj4+Cj4+IArCoArCoAotLQpJbHlhIEtvc2FyZXYKwqA= ----ALT--132554120Ec5b5AE420A51439b38343B1588753242 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+PGRpdj5IaSE8L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+VGhh bmtzIGZvciB0aGUgYW5zd2Vycy48L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+Tm8gbmV3IGNv bW1lbnRzLiBMR1RNPGJyPiZuYnNwOzwvZGl2PjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVm dDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRpbmc6MCAwIDAgMTBweDsiPtCh 0YDQtdC00LAsIDYg0LzQsNGPIDIwMjAsIDExOjAxICswMzowMCDQvtGCIGx2YXNpbGlldiAmbHQ7 bHZhc2lsaWV2QHRhcmFudG9vbC5vcmcmZ3Q7Ojxicj4mbmJzcDs8ZGl2IGlkPSIiPjxkaXYgY2xh c3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0 eWxlPjxkaXY+PGRpdiBpZD0ic3R5bGVfMTU4ODc1MjA3NTEzMDcxNDExODZfQk9EWSI+SGkhIFRo YW5rcyBmb3IgdGhlIHJldmlldy48YnI+PGJyPk9uIDI5LjA0LjIwMjAgMTU6MTIsIElseWEgS29z YXJldiB3cm90ZTo8YnI+Jmd0Ozxicj4mZ3Q7IEhpITxicj4mZ3Q7PGJyPiZndDsgVGhhbmtzIGZv ciB0aGUgcGF0Y2guPGJyPiZndDs8YnI+Jmd0OyBMR1RNLCBzZWUgMiBuaXRzIGJlbG93Ljxicj4m Z3Q7PGJyPiZndDsmZ3Q7IFRoZSB0Y3Agc2VydmVyIHN0YXJ0cyBpbiBhIHNlcGFyYXRlIGZpYmVy IGFuZCB3aGVuPGJyPiZndDsmZ3Q7IHRoZSBzb2NrZXQgY2xvc2VzIGZyb20gYW5vdGhlciBmaWJl ciB0aGUgc2VydmVyJ3M8YnI+Jmd0OyZndDsgZmliZXIgZmFpbHMgd2l0aCBhbiBhdHRlbXB0IHRv IHZhbGlkYXRlIHRoZSBzZXJ2ZXI8YnI+Jmd0OyZndDsgc29ja2V0LiBGb3IgY2hlY2sgdGhlIHNv Y2tldCBzdGF0dXMgYXQgc2VydmVyJ3M8YnI+Jmd0OyZndDsgZmliZXIgYSBmbGFnIGhhcyBiZWVu IGFkZGVkIGFuZCBub3cgc2VydmVyJ3MgZmliZXI8YnI+Jmd0OyZndDsgd2lsbCB0ZXJtaW5hdGUg Y29ycmVjdGx5IGlmIHRoZSBzb2NrZXQgd2FzIGNsb3NlZC48YnI+Jmd0OyAxLiZuYnNwO0kgdGhp bmsgdGhpcyB3YXkgaXQgbWlnaHQgc291bmQgYSBiaXQgYmV0dGVyOjxicj4mZ3Q7IFRoZSB0Y3Ag c2VydmVyIHN0YXJ0cyBpbiBhIHNlcGFyYXRlIGZpYmVyIGFuZCB3aGVuPGJyPiZndDsgaXTigJlz Jm5ic3A7c29ja2V0IGlzIGJlaW5nJm5ic3A7Y2xvc2VkJm5ic3A7ZnJvbSBhbm90aGVyIGZpYmVy LDxicj4mZ3Q7IHNlcnZlcidzJm5ic3A7ZmliZXIgdXNlZCB0byZuYnNwO2ZhaWwmbmJzcDt3aXRo IGFuIGF0dGVtcHQgdG8gdmFsaWRhdGU8YnI+Jmd0OyB0aGUgc2VydmVyJm5ic3A7c29ja2V0LiBU byZuYnNwO2NoZWNrIHNvY2tldCBzdGF0dXMgYXQgc2VydmVyJ3M8YnI+Jmd0OyBmaWJlciBhIGZs YWcgaGFzIGJlZW4gYWRkZWQgYW5kIG5vdyBzZXJ2ZXIncyBmaWJlcjxicj4mZ3Q7IHRlcm1pbmF0 ZXMgY29ycmVjdGx5IHdoZW4gdGhlIHNvY2tldCBpcyBiZWluZyBjbG9zZWQuPGJyPjxicj5VcGRh dGVkIGRlc2NyaXB0aW9uOjxicj48YnI+VGhlIHRjcCBzZXJ2ZXIgc3RhcnRzIGluIGEgc2VwYXJh dGUgZmliZXIuPGJyPldoZW4gc2VydmVyJ3Mgc29ja2V0IGlzIGNsb3NlZCBmcm9tIGFub3RoZXIg ZmliZXIsPGJyPmFuIGV4Y2VwdGlvbiB3aWxsIGJlIHRocm93biBpbiBzZXJ2ZXIncyBsb29wIGZy b208YnI+Y2hlY2tfc29ja2V0IGZ1bmN0aW9uLjxicj5UbyBjaGVjayBzb2NrZXQgc3RhdHVzIGF0 IHNlcnZlcidzIGZpYmVyIGEgZmxhZyBoYXM8YnI+YmVlbiBhZGRlZCBhbmQgbm93IHNlcnZlcidz IGZpYmVyIHRlcm1pbmF0ZXMgY29ycmVjdGx5PGJyPndoZW4gdGhlIHNvY2tldCBpcyBiZWluZyBj bG9zZWQuPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2PjxkaXY+Umln aHQsIEkgdGhpbmsgdGhlIGxhc3QmbmJzcDtvbmUgaXMgdGhlIG1vc3QgY2xlYXIuPC9kaXY+PGRp dj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdp bjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2PjxkaXYgY2xhc3M9ImpzLWhlbHBlciBq cy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2PiZndDsmZ3Q7PGJyPiZndDsmZ3Q7IEZpeGVzOiAjNDA4 Nzxicj4mZ3Q7Jmd0OyAtLS08YnI+Jmd0OyZndDsgQENoYW5nZWxvZyBmaXggZXJyb3Igd2hpbGUg Y2xvc2luZyBzb2NrZXQudGNwX3NlcnZlciBzb2NrZXQoZ2gtNDA4Nyk8YnI+Jmd0OyZndDs8YnI+ Jmd0OyZndDsgJm5ic3A7c3JjL2x1YS9zb2NrZXQubHVhIHwgOSArKysrKysrKys8YnI+Jmd0OyZn dDsgJm5ic3A7dGVzdC9hcHAvc29ja2V0LnJlc3VsdCB8IDE0ICsrKysrKysrKysrKysrPGJyPiZn dDsmZ3Q7ICZuYnNwO3Rlc3QvYXBwL3NvY2tldC50ZXN0Lmx1YSB8IDcgKysrKysrLTxicj4mZ3Q7 Jmd0OyAmbmJzcDszIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSk8YnI+Jmd0OyZndDs8YnI+Jmd0OyZndDsgZGlmZiAtLWdpdCBhL3NyYy9sdWEvc29ja2V0Lmx1 YSBiL3NyYy9sdWEvc29ja2V0Lmx1YTxicj4mZ3Q7Jmd0OyBpbmRleCBhMzM0YWQ0Li5lNDUzYTUz IDEwMDY0NDxicj4mZ3Q7Jmd0OyAtLS0gYS9zcmMvbHVhL3NvY2tldC5sdWE8YnI+Jmd0OyZndDsg KysrIGIvc3JjL2x1YS9zb2NrZXQubHVhPGJyPiZndDsmZ3Q7IEBAIC0xMDIsNiArMTAyLDkgQEAg bG9jYWwgZ2Nfc29ja2V0X3NlbnRpbmVsID0gZmZpLm5ldyhnY19zb2NrZXRfdCwgeyBmZCA9IC0x IH0pPGJyPiZndDsmZ3Q7PGJyPiZndDsmZ3Q7ICZuYnNwO2xvY2FsIGZ1bmN0aW9uIHNvY2tldF9j bG9zZShzb2NrZXQpPGJyPiZndDsmZ3Q7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2xv Y2FsIGZkID0gY2hlY2tfc29ja2V0KHNvY2tldCk8YnI+Jmd0OyZndDsgKyBpZiBzb2NrZXQuX3Nl cnZlcl9zb2NrZXRfY2xvc2VkIH49IG5pbCB0aGVuPGJyPiZndDsmZ3Q7ICsgc29ja2V0Ll9zZXJ2 ZXJfc29ja2V0X2Nsb3NlZCA9IHRydWU8YnI+Jmd0OyZndDsgKyBlbmQ8YnI+Jmd0OyAyLiBJIHRo aW5rIHdlIGhhdmUgYW4gb3B0aW9uIGhlcmUgdG8gc2tpcCB0aGlzJm5ic3A7Y2hlY2s8YnI+Jmd0 OyBhbmQgc2ltcGx5IGFsd2F5cyBhc3NpZ24uPGJyPiZndDsgc29ja2V0Ll9zZXJ2ZXJfc29ja2V0 X2Nsb3NlZCA9IHRydWU8YnI+Jmd0OyBJbiBteSBvcGluaW9uIGl0IGxvb2tzIGEgYml0IG1vcmUg b2J2aW91cyBhbmQgYnJlYWtzIG5vdGhpbmcuPGJyPiZuYnNwO0Zyb20gdGhlIGNvZGUgY29ycmVj dG5lc3MgcG9pbnQgb2YgdmlldywgdGhpcyByZWFsbHkgZG9lc24ndDxicj5icmVhayBhbnl0aGlu Zy4gQnV0IElNTyB0aGlzIGlzIGEgcHJvcGVydHkgb2YgYSBzdWJzZXQgb2Ygc29ja2V0czxicj4o dGNwIHNlcnZlciBzb2NrZXRzKSBub3QgYWxsLiBJbiBvdGhlciB3b3JkcywgYSBzZXJ2ZXIgc29j a2V0PGJyPmNhbiBiZSB1c2VkIGluIHRoZSBjb250ZXh0IG9mIGEgImJhc2UiIHNvY2tldCwgYnV0 IGEgImJhc2UiIHNvY2tldDxicj5jYW4ndCBiZSB1c2VkIGluIHRoZSBjb250ZXh0IG9mIGEgc2Vy dmVyIHNvY2tldDxicj4obGlrZSBhICJiYXNlIiBhbmQgYW4gImluaGVyaXRvciIpLjwvZGl2Pjwv ZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48ZGl2PllvdSBhcmUgcmlnaHQsIEkg c2VlLiBMZXTigJlzIG5vdCBtZXNzIHVwIHNlcnZlciZuYnNwO3NvY2tldCBmaWVsZCB3aXRoJm5i c3A7Z2VuZXJhbCBmaWVsZHMuPC9kaXY+PGRpdj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxl ZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48 ZGl2PjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2PiZndDsm Z3Q7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3NvY2tldC5fZXJybm8gPSBuaWw8YnI+ Jmd0OyZndDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7bG9jYWwgciA9IGZmaS5DLmNv aW9fY2xvc2UoZmQpPGJyPiZndDsmZ3Q7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOy0t IC5mZCBpcyBjb25zdCB0byBwcmV2ZW50IHRhbXBlcmluZzxicj4mZ3Q7Jmd0OyBAQCAtMTA4Miw2 ICsxMDg1LDkgQEAgbG9jYWwgZnVuY3Rpb24gdGNwX3NlcnZlcl9sb29wKHNlcnZlciwgcywgYWRk cik8YnI+Jmd0OyZndDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZmliZXIubmFtZShm b3JtYXQoIiVzLyVzOiVzIiwgc2VydmVyLm5hbWUsIGFkZHIuaG9zdCwgYWRkci5wb3J0KSwge3Ry dW5jYXRlID0gdHJ1ZX0pPGJyPiZndDsmZ3Q7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O2xvZy5pbmZvKCJzdGFydGVkIik8YnI+Jmd0OyZndDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7d2hpbGUgc29ja2V0X3JlYWRhYmxlKHMpIGRvPGJyPiZndDsmZ3Q7ICsgaWYgcy5fc2Vy dmVyX3NvY2tldF9jbG9zZWQgdGhlbjxicj4mZ3Q7Jmd0OyArIGJyZWFrPGJyPiZndDsmZ3Q7ICsg ZW5kPGJyPiZndDsmZ3Q7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO2xvY2FsIHNjLCBmcm9tID0gc29ja2V0X2FjY2VwdChzKTxicj4mZ3Q7Jmd0 OyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtp ZiBzYyA9PSBuaWwgdGhlbjxicj4mZ3Q7Jmd0OyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtsb2NhbCBl cnJubyA9IHMuX2Vycm5vPGJyPiZndDsmZ3Q7IEBAIC0xMjE2LDYgKzEyMjIsOSBAQCBsb2NhbCBm dW5jdGlvbiB0Y3Bfc2VydmVyKGhvc3QsIHBvcnQsIG9wdHMsIHRpbWVvdXQpPGJyPiZndDsmZ3Q7 ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3Jl dHVybiBuaWw8YnI+Jmd0OyZndDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZW5kPGJy PiZndDsmZ3Q7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ZpYmVyLmNyZWF0ZSh0Y3Bf c2VydmVyX2xvb3AsIHNlcnZlciwgcywgYWRkcik8YnI+Jmd0OyZndDsgKyAtLSBUaGUgX3NlcnZl cl9zb2NrZXRfY2xvc2VkIGZsYWcgaXMgbmVjZXNzYXJ5IGZvciB0aGUgc2VydmVyPGJyPiZndDsm Z3Q7ICsgLS0gdG8gc3RvcCBjb3JyZWN0bHkgd2hlbiBjbG9zaW5nIHRoZSBzb2NrZXQuPGJyPiZn dDsmZ3Q7ICsgcy5fc2VydmVyX3NvY2tldF9jbG9zZWQgPSBmYWxzZTxicj4mZ3Q7Jmd0OyAmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4gcywgYWRkcjxicj4mZ3Q7Jmd0OyAmbmJz cDtlbmQ8YnI+Jmd0OyZndDs8YnI+Jmd0OyZndDsgZGlmZiAtLWdpdCBhL3Rlc3QvYXBwL3NvY2tl dC5yZXN1bHQgYi90ZXN0L2FwcC9zb2NrZXQucmVzdWx0PGJyPiZndDsmZ3Q7IGluZGV4IDlmMGVh MGEuLjYyMDY4NDggMTAwNjQ0PGJyPiZndDsmZ3Q7IC0tLSBhL3Rlc3QvYXBwL3NvY2tldC5yZXN1 bHQ8YnI+Jmd0OyZndDsgKysrIGIvdGVzdC9hcHAvc29ja2V0LnJlc3VsdDxicj4mZ3Q7Jmd0OyBA QCAtMjkxNCwzICsyOTE0LDE3IEBAIHNydjpjbG9zZSgpPGJyPiZndDsmZ3Q7ICZuYnNwOy0tLTxi cj4mZ3Q7Jmd0OyAmbmJzcDstIHRydWU8YnI+Jmd0OyZndDsgJm5ic3A7Li4uPGJyPiZndDsmZ3Q7 ICstLTxicj4mZ3Q7Jmd0OyArLS0gZ2gtNDA4NzogZml4IGVycm9yIHdoaWxlIGNsb3Npbmcgc29j a2V0LnRjcF9zZXJ2ZXI8YnI+Jmd0OyZndDsgKy0tPGJyPiZndDsmZ3Q7ICtzcnYgPSBzb2NrZXQu dGNwX3NlcnZlcignMTI3LjAuMC4xJywgMCwgZnVuY3Rpb24oKSBlbmQpPGJyPiZndDsmZ3Q7ICst LS08YnI+Jmd0OyZndDsgKy4uLjxicj4mZ3Q7Jmd0OyArc3J2OmNsb3NlKCk8YnI+Jmd0OyZndDsg Ky0tLTxicj4mZ3Q7Jmd0OyArLSB0cnVlPGJyPiZndDsmZ3Q7ICsuLi48YnI+Jmd0OyZndDsgK3Rl c3RfcnVuOndhaXRfbG9nKCdkZWZhdWx0JywgJ3N0b3BwZWQnLCAxMDI0LCAwLjAxKTxicj4mZ3Q7 Jmd0OyArLS0tPGJyPiZndDsmZ3Q7ICstIHN0b3BwZWQ8YnI+Jmd0OyZndDsgKy4uLjxicj4mZ3Q7 Jmd0OyBkaWZmIC0tZ2l0IGEvdGVzdC9hcHAvc29ja2V0LnRlc3QubHVhIGIvdGVzdC9hcHAvc29j a2V0LnRlc3QubHVhPGJyPiZndDsmZ3Q7IGluZGV4IGQxZmU3YWQuLmEzOTlmY2EgMTAwNjQ0PGJy PiZndDsmZ3Q7IC0tLSBhL3Rlc3QvYXBwL3NvY2tldC50ZXN0Lmx1YTxicj4mZ3Q7Jmd0OyArKysg Yi90ZXN0L2FwcC9zb2NrZXQudGVzdC5sdWE8YnI+Jmd0OyZndDsgQEAgLTk4Nyw0ICs5ODcsOSBA QCBzOnNldHRpbWVvdXQoMSk8YnI+Jmd0OyZndDsgJm5ic3A7czpyZWNlaXZlKCcqYScpPGJyPiZn dDsmZ3Q7ICZuYnNwO3M6Y2xvc2UoKTxicj4mZ3Q7Jmd0OyAmbmJzcDtzcnY6Y2xvc2UoKTxicj4m Z3Q7Jmd0OyAtPGJyPiZndDsmZ3Q7ICstLTxicj4mZ3Q7Jmd0OyArLS0gZ2gtNDA4NzogZml4IGVy cm9yIHdoaWxlIGNsb3Npbmcgc29ja2V0LnRjcF9zZXJ2ZXI8YnI+Jmd0OyZndDsgKy0tPGJyPiZn dDsmZ3Q7ICtzcnYgPSBzb2NrZXQudGNwX3NlcnZlcignMTI3LjAuMC4xJywgMCwgZnVuY3Rpb24o KSBlbmQpPGJyPiZndDsmZ3Q7ICtzcnY6Y2xvc2UoKTxicj4mZ3Q7Jmd0OyArdGVzdF9ydW46d2Fp dF9sb2coJ2RlZmF1bHQnLCAnc3RvcHBlZCcsIDEwMjQsIDAuMDEpPGJyPiZndDsmZ3Q7IC0tPGJy PiZndDsmZ3Q7IDIuNy40PGJyPiZndDsmZ3Q7PGJyPiZndDs8YnI+Jmd0Ozxicj4mZ3Q7IC0tPGJy PiZndDsgSWx5YSBLb3NhcmV2PGJyPiZndDs8YnI+Jmd0OzwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2 PjwvYmxvY2txdW90ZT4mbmJzcDs8ZGl2PiZuYnNwOzwvZGl2PjxkaXYgZGF0YS1zaWduYXR1cmUt d2lkZ2V0PSJjb250YWluZXIiPjxkaXYgZGF0YS1zaWduYXR1cmUtd2lkZ2V0PSJjb250ZW50Ij48 ZGl2Pi0tPGJyPklseWEgS29zYXJldjwvZGl2PjwvZGl2PjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+ PC9kaXY+PC9CT0RZPjwvSFRNTD4K ----ALT--132554120Ec5b5AE420A51439b38343B1588753242--