From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f128.i.mail.ru (f128.i.mail.ru [94.100.188.37]) (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 08997469719 for ; Fri, 20 Mar 2020 15:31:54 +0300 (MSK) From: =?UTF-8?B?QWxleGFuZGVyIFRpa2hvbm92?= MIME-Version: 1.0 Date: Fri, 20 Mar 2020 15:31:54 +0300 Reply-To: =?UTF-8?B?QWxleGFuZGVyIFRpa2hvbm92?= Message-ID: <1584707514.57331673@f128.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--bC9e7E8b7654Ed2b9F32728B487392e81584707514" In-Reply-To: <20200228183648.GR404@tarantool.org> References: <20200228183648.GR404@tarantool.org> Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_v2_1/2=5D_test=3A_cleanup_?= =?utf-8?q?tests_code?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?SWdvciBNdW5raW4=?= Cc: =?UTF-8?B?T2xlZyBQaXNrdW5vdg==?= , tarantool-patches@dev.tarantool.org ----ALT--bC9e7E8b7654Ed2b9F32728B487392e81584707514 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpIElnb3IsIHRoYW5rcyBmb3IgeW91ciBjb21tZW50cywgSeKAmXZlIHVzZWQgYWxsIG9mIHRo ZW0gaW4gdGhlIGNvZGUuCgrCoCAKPtCf0Y/RgtC90LjRhtCwLCAyOCDRhNC10LLRgNCw0LvRjyAy MDIwLCAyMTo0MiArMDM6MDAg0L7RgiBJZ29yIE11bmtpbiA8aW11bkB0YXJhbnRvb2wub3JnPjoK PsKgCj5TYXNoYSwKPgo+VGhhbmtzIGZvciB0aGUgcGF0Y2guIEkgbGVmdCBzb21lIGNvbW1lbnRz IGJlbG93LCBwbGVhc2UgY29uc2lkZXIgdGhlbS4KPgo+T24gMjcuMDIuMjAsIEFsZXhhbmRlciBW LiBUaWtob25vdiB3cm90ZToKPj4gQ2xlYW5lZCB1cCB0aGUgdGVzdHMgY29kZToKPj4gLSBhZGRl ZCBsb2NhbCBkZWZpbml0aW9ucyBmb3IgdGhlIHZhcmlhYmxlcwo+PiAtIGFkZGVkIG9zLmV4aXQo KSByb3V0aW5lIGF0IHRoZSB0ZXN0cyBmaW5pc2gKPj4gLSBjaGFuZ2VkIGFkZGVkIGluZm9ybWF0 aW9uIG1lc3NhZ2VzIHRvIHRlc3Q6b2soKSBjYWxscwo+Cj5JIHByb3Bvc2UgdG8gcmV3b3JkIHRo ZSBjb21taXQgbWVzc2FnZSB0aGUgZm9sbG93aW5nIHdheToKPnwgdGVzdDogY2xlYW51cCB0ZXN0 cyBjb2RlCj58Cj58IENsZWFuZWQgdXAgdGhlIHRlc3RzIGNvZGUgYWNjb3JkaW5nIHRvIHRoZSBM dWEgc3R5bGUgZ3VpZGU6Cj58IC0gbWFkZSBzY29wZWQgdmFyaWFibGVzIGxvY2FsCj58IC0gYWRk ZWQgb3MuZXhpdCBjYWxsIGF0IHRoZSBlbmQgb2YgdGhlIHRlc3QgY2h1bmsKPnwgLSBhZGp1c3Rl ZCB0aGUgbWVzc2FnZXMgaW4gdGVzdDpvayBjYWxscwo+Cj5HZW5lcmFsIGNvbW1lbnQ6IHBsZWFz ZSBhZGp1c3QgdGhlIHRlc3QgbmFtZXMgcmVnYXJkaW5nIHRoZSBjaGFuZ2VzIEkKPnByb3Bvc2Vk IGluIHRoZSBzZWNvbmQgcGF0Y2guCk9rLgo+Cj4+Cj4+IFBhcnQgb2YgIzQ2NTUKPj4gLS0tCj4+ IHRlc3QvZml4X3N0cmluZ19maW5kX3JlY29yZGluZy50ZXN0Lmx1YSB8IDYgKysrLS0tCj4+IHRl c3QvZm9sZF9idWdfTHVhSklUXzUwNS50ZXN0Lmx1YSB8IDcgKysrKy0tLQo+PiB0ZXN0L2ZvbGRf YnVnX0x1YUpJVF81MjQudGVzdC5sdWEgfCA0ICsrLS0KPj4gdGVzdC9naC50ZXN0Lmx1YSB8IDgg KysrKy0tLS0KPj4gdGVzdC9wYWlyc21tX3RhcmFudG9vbF80NTYwLnRlc3QubHVhIHwgOCArKysr Ky0tLQo+PiB0ZXN0L3RhYmxlX2NoYWluX2J1Z19MdWFKSVRfNDk0LnRlc3QubHVhIHwgMjMgKysr KysrKysrKysrLS0tLS0tLS0tLS0KPj4gdGVzdC91bnNpbmtfNjRfa3B0ci50ZXN0Lmx1YSB8IDcg KysrKy0tLQo+PiA3IGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9u cygtKQo+Pgo+Cj48c25pcHBlZD4KPgo+PiBkaWZmIC0tZ2l0IGEvdGVzdC9mb2xkX2J1Z19MdWFK SVRfNTA1LnRlc3QubHVhIGIvdGVzdC9mb2xkX2J1Z19MdWFKSVRfNTA1LnRlc3QubHVhCj4+IGlu ZGV4IDJmZWUwNjkuLjNiN2Q3ZGYgMTAwNzU1Cj4+IC0tLSBhL3Rlc3QvZm9sZF9idWdfTHVhSklU XzUwNS50ZXN0Lmx1YQo+PiArKysgYi90ZXN0L2ZvbGRfYnVnX0x1YUpJVF81MDUudGVzdC5sdWEK Pj4gQEAgLTEsOCArMSw4IEBACj4+ICMhL3Vzci9iaW4vZW52IHRhcmFudG9vbAo+Pgo+PiAtdGFw ID0gcmVxdWlyZSgndGFwJykKPj4gK2xvY2FsIHRhcCA9IHJlcXVpcmUoJ3RhcCcpCj4+Cj4+IC10 ZXN0ID0gdGFwLnRlc3QoIjUwNSIpCj4+ICtsb2NhbCB0ZXN0ID0gdGFwLnRlc3QoImxqLTUwNS1m b2xkLWljb3JyZWN0LWJlaGF2aW9yIikKPj4gdGVzdDpwbGFuKDEpCj4+Cj4+IC0tIFRlc3QgZmls ZSB0byBkZW1vbnN0cmF0ZSBMdWEgZm9sZCBtYWNoaW5lcnkgaWNvcnJlY3QgYmVoYXZpb3IsIGRl dGFpbHM6Cj4+IEBAIC0xNiw1ICsxNiw2IEBAIGZvciBfID0gMSwgMjAgZG8KPj4gbG9jYWwgcG9z X2IgPSBzdHJpbmcuZmluZCh2YWx1ZTIsICJiIiwgMiwgdHJ1ZSkKPj4gYXNzZXJ0KHBvc19iID09 IDIsICJGQUlMOiBwb3NpdGlvbiBvZiAnYicgaXMgIiAuLiBwb3NfYikKPj4gZW5kCj4+ICt0ZXN0 Om9rKHRydWUsICJMdWFKSVQvTHVhSklUIGdoLTUwNSBhc3NlcnQgbm90IG9jY3VyZWQiKQo+Cj5N ZXNzYWdlIGlzIGFic29sdXRlbHkgbm9uLWluZm9ybWF0aXZlLiBJIHByb3Bvc2UgdG8gcmV3b3Jk IGl0Ogo+fCAic3RyaW5nLmZpbmQgb2Zmc2V0IGFyaXRtZXRpY3Mgd2Fzbid0IGJyb2tlbiB3aGls ZSByZWNvcmRpbmciCkRvbmUuCj4+Cj4+IC10ZXN0Om9rKCJQQVNTIikKPj4gK29zLmV4aXQodGVz dDpjaGVjaygpIGFuZCAwIG9yIDEpCj4KPjxzbmlwcGVkPgo+Cj4+IGRpZmYgLS1naXQgYS90ZXN0 L3RhYmxlX2NoYWluX2J1Z19MdWFKSVRfNDk0LnRlc3QubHVhIGIvdGVzdC90YWJsZV9jaGFpbl9i dWdfTHVhSklUXzQ5NC50ZXN0Lmx1YQo+PiBpbmRleCAwNmMwZjBkLi4zMDA3MzYwIDEwMDc1NQo+ PiAtLS0gYS90ZXN0L3RhYmxlX2NoYWluX2J1Z19MdWFKSVRfNDk0LnRlc3QubHVhCj4+ICsrKyBi L3Rlc3QvdGFibGVfY2hhaW5fYnVnX0x1YUpJVF80OTQudGVzdC5sdWEKPj4gQEAgLTEsOCArMSw4 IEBACj4+ICMhL3Vzci9iaW4vZW52IHRhcmFudG9vbAo+Pgo+PiAtdGFwID0gcmVxdWlyZSgndGFw JykKPj4gK2xvY2FsIHRhcCA9IHJlcXVpcmUoJ3RhcCcpCj4+Cj4+IC10ZXN0ID0gdGFwLnRlc3Qo IjQ5NCIpCj4+ICtsb2NhbCB0ZXN0ID0gdGFwLnRlc3QoImxqLTQ5NC10YWJsZS1jaGFpbi1pbmZp bml0ZS1sb29wIikKPj4gdGVzdDpwbGFuKDEpCj4+Cj4+IC0tIFRlc3QgZmlsZSB0byBkZW1vbnN0 cmF0ZSBMdWEgdGFibGUgaGFzaCBjaGFpbiBidWdzIGRpc2N1c3NlZCBpbgo+PiBAQCAtMTEsMTkg KzExLDE5IEBAIHRlc3Q6cGxhbigxKQo+PiAtLSAgaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vY29y c2l4LzFmYzliMTNhMmRkNWYzNjU5NDE3YjYyZGQ1NGQ0NTAwCj4+Cj4+IC0tLSBQbHVtYmluZwo+ PiAtZmZpID0gcmVxdWlyZSJmZmkiCj4+IC1mZmkuY2RlZiJjaGFyKiBzdHJzdHIoY29uc3QgY2hh ciosIGNvbnN0IGNoYXIqKSIKPj4gLXN0cnN0ciA9IGZmaS5DLnN0cnN0cgo+PiAtY2FzdCA9IGZm aS5jYXN0Cj4+IC1zdHJfaGFzaF9vZmZzZXQgPSBjYXN0KCJ1aW50MzJfdCoiLCBzdHJzdHIoIioi LCAiIikpWy0yXSA9PSAxIGFuZCAzIG9yIDIKPj4gK2xvY2FsIGZmaSA9IHJlcXVpcmUoImZmaSIp Cj4+ICtmZmkuY2RlZigiY2hhciogc3Ryc3RyKGNvbnN0IGNoYXIqLCBjb25zdCBjaGFyKikiKQo+ PiArbG9jYWwgc3Ryc3RyID0gZmZpLkMuc3Ryc3RyCj4+ICtsb2NhbCBjYXN0ID0gZmZpLmNhc3QK Pj4gK2xvY2FsIHN0cl9oYXNoX29mZnNldCA9IGNhc3QoInVpbnQzMl90KiIsIHN0cnN0cigiKiIs ICIiKSlbLTJdID09IDEgYW5kIDMgb3IgMgo+PiBmdW5jdGlvbiBzdHJfaGFzaChzKQo+PiByZXR1 cm4gY2FzdCgidWludDMyX3QqIiwgc3Ryc3RyKHMsICIiKSkgLSBzdHJfaGFzaF9vZmZzZXQKPj4g ZW5kCj4+IC10YWJsZV9uZXcgPSByZXF1aXJlInRhYmxlLm5ldyIKPj4gK2xvY2FsIHRhYmxlX25l dyA9IHJlcXVpcmUoInRhYmxlLm5ldyIpCj4+Cj4+IC0tLSBQcmVwYXJlIHNvbWUgb2JqZWN0cwo+ PiAtdmljdGltcyA9IHt9Cj4+IC1vcmlnX2hhc2ggPSB7fQo+PiArbG9jYWwgdmljdGltcyA9IHt9 Cj4+ICtsb2NhbCBvcmlnX2hhc2ggPSB7fQo+PiBmb3IgYyBpbiAoImFiY2RlZiIpOmdtYXRjaCIu IiBkbwo+PiB2ID0gYyAuLiAiezA5YWRkNThhLTEzYTQtNDRlMC1hNTJjLWQ0NGQwZjliMmI5NX0i Cj4+IHZpY3RpbXNbY10gPSB2Cj4+IEBAIC0xNzQsNSArMTc0LDYgQEAgY29sbGVjdGdhcmJhZ2Uo KQo+PiBmb3IgYywgdiBpbiBwYWlycyh2aWN0aW1zKSBkbwo+PiBzdHJfaGFzaCh2KVswXSA9IG9y aWdfaGFzaFtjXQo+PiBlbmQKPj4gK3Rlc3Q6b2sodHJ1ZSwgIkx1YUpJVC9MdWFKSVQgZ2gtNDk0 IHN1Y2Nlc3NmdWxseSBjaGVja2VkIGNvbW1pdCBhN2RjOWU4ZDIzMzE1MjE3YzlmZTAwMjliYzhh ZTEyYzAzMzA2YjMzIikKPgo+TWVzc2FnZSBpcyBhYnNvbHV0ZWx5IG5vbi1pbmZvcm1hdGl2ZS4g SSBwcm9wb3NlIHRvIHJld29yZCBpdDoKPnwgInRhYmxlIGtleXMgY29sbGlzaW9ucyBhcmUgcmVz b2x2ZWQgcHJvcGVybHkgKG5vIGFzc2VydGlvbnMgZmFpbGVkKSIKRG9uZS4KPj4KPj4gLXRlc3Q6 b2soIlBBU1MiKQo+PiArb3MuZXhpdCh0ZXN0OmNoZWNrKCkgYW5kIDAgb3IgMSkKPj4gZGlmZiAt LWdpdCBhL3Rlc3QvdW5zaW5rXzY0X2twdHIudGVzdC5sdWEgYi90ZXN0L3Vuc2lua182NF9rcHRy LnRlc3QubHVhCj4+IGluZGV4ICA4OTk1NzYzIC4uYTYxOGZkMiAxMDA3NTUKPj4gLS0tIGEvdGVz dC91bnNpbmtfNjRfa3B0ci50ZXN0Lmx1YQo+PiArKysgYi90ZXN0L3Vuc2lua182NF9rcHRyLnRl c3QubHVhCj4+IEBAIC0xLDggKzEsOCBAQAo+PiAjIS91c3IvYmluL2VudiB0YXJhbnRvb2wKPj4K Pj4gLXRhcCA9IHJlcXVpcmUoJ3RhcCcpCj4+ICtsb2NhbCB0YXAgPSByZXF1aXJlKCd0YXAnKQo+ Pgo+PiAtdGVzdCA9IHRhcC50ZXN0KCIyMzIiKQo+PiArbG9jYWwgdGVzdCA9IHRhcC50ZXN0KCJv ci0yMzItdW5zaW5rLTY0LWtwdHIiKQo+PiB0ZXN0OnBsYW4oMSkKPj4KPj4gLS0tIEZyb206IFRo aWJhdWx0IENoYXJib25uaWVyIDwgdGhpYmF1bHRjaGFAbWUuY29tID4KPj4gQEAgLTQwLDUgKzQw LDYgQEAgZW5kCj4+IGZvciBpID0gMSwgMTAwMCBkbwo+PiBmbihpKQo+PiBlbmQKPj4gK3Rlc3Q6 b2sodHJ1ZSwgIm9wZW5yZXN0eS1sdWEvcmVzdHktY29yZSBnaC0yMzIgYWxsb3dlZCBpdHMgYWRk cmVzcyB0byBiZSBpbmxpbmVkIikKPgo+SGVyZSBpcyBhIG1lc3Mgd2l0aCBhIG1lc3NhZ2UsIGl0 IHRvdGFsbHkgZG9lc24ndCBkZXNjcmliZSB0aGUgY2hlY2sKPmJlaW5nIG1hZGUuIEkgcHJvcG9z ZSB0aGUgZm9sbG93aW5nIGNvbW1lbnQ6Cj58ICJhbGxvY2F0aW9uIGlzIHVuc3VuayBhdCB0aGUg dHJhY2UgZXhpdCAobm8gcGxhdGZvcm0gZmFpbHVyZXMpIgpEb25lLgo+Pgo+PiAtdGVzdDpvaygi UEFTUyIpCj4+ICtvcy5leGl0KHRlc3Q6Y2hlY2soKSBhbmQgMCBvciAxKQo+PiAtLQo+PiAyLjE3 LjEKPj4KPgo+LS0KPkJlc3QgcmVnYXJkcywKPklNIArCoArCoAotLQpBbGV4YW5kZXIgVGlraG9u b3YKwqA= ----ALT--bC9e7E8b7654Ed2b9F32728B487392e81584707514 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGkgSWdvciwgdGhhbmtzIGZvciB5b3VyIGNvbW1lbnRzLCBJ4oCZ dmUgdXNlZCBhbGwgb2YgdGhlbSBpbiB0aGUgY29kZS48YnI+PGJyPiZuYnNwOzxibG9ja3F1b3Rl IHN0eWxlPSJib3JkZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRp bmc6MCAwIDAgMTBweDsiPtCf0Y/RgtC90LjRhtCwLCAyOCDRhNC10LLRgNCw0LvRjyAyMDIwLCAy MTo0MiArMDM6MDAg0L7RgiBJZ29yIE11bmtpbiAmbHQ7aW11bkB0YXJhbnRvb2wub3JnJmd0Ozo8 YnI+Jm5ic3A7PGRpdiBpZD0iIj48ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ci PjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48ZGl2PjxkaXYgaWQ9InN0eWxlXzE1ODI5 MTUzMjkxMzc2MTkxODg5X0JPRFkiPlNhc2hhLDxicj48YnI+VGhhbmtzIGZvciB0aGUgcGF0Y2gu IEkgbGVmdCBzb21lIGNvbW1lbnRzIGJlbG93LCBwbGVhc2UgY29uc2lkZXIgdGhlbS48YnI+PGJy Pk9uIDI3LjAyLjIwLCBBbGV4YW5kZXIgVi4gVGlraG9ub3Ygd3JvdGU6PGJyPiZndDsgQ2xlYW5l ZCB1cCB0aGUgdGVzdHMgY29kZTo8YnI+Jmd0OyAtIGFkZGVkIGxvY2FsIGRlZmluaXRpb25zIGZv ciB0aGUgdmFyaWFibGVzPGJyPiZndDsgLSBhZGRlZCBvcy5leGl0KCkgcm91dGluZSBhdCB0aGUg dGVzdHMgZmluaXNoPGJyPiZndDsgLSBjaGFuZ2VkIGFkZGVkIGluZm9ybWF0aW9uIG1lc3NhZ2Vz IHRvIHRlc3Q6b2soKSBjYWxsczxicj48YnI+SSBwcm9wb3NlIHRvIHJld29yZCB0aGUgY29tbWl0 IG1lc3NhZ2UgdGhlIGZvbGxvd2luZyB3YXk6PGJyPnwgdGVzdDogY2xlYW51cCB0ZXN0cyBjb2Rl PGJyPnw8YnI+fCBDbGVhbmVkIHVwIHRoZSB0ZXN0cyBjb2RlIGFjY29yZGluZyB0byB0aGUgTHVh IHN0eWxlIGd1aWRlOjxicj58IC0gbWFkZSBzY29wZWQgdmFyaWFibGVzIGxvY2FsPGJyPnwgLSBh ZGRlZCBvcy5leGl0IGNhbGwgYXQgdGhlIGVuZCBvZiB0aGUgdGVzdCBjaHVuazxicj58IC0gYWRq dXN0ZWQgdGhlIG1lc3NhZ2VzIGluIHRlc3Q6b2sgY2FsbHM8YnI+PGJyPkdlbmVyYWwgY29tbWVu dDogcGxlYXNlIGFkanVzdCB0aGUgdGVzdCBuYW1lcyByZWdhcmRpbmcgdGhlIGNoYW5nZXMgSTxi cj5wcm9wb3NlZCBpbiB0aGUgc2Vjb25kIHBhdGNoLjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pjwv YmxvY2txdW90ZT48L2Rpdj48ZGl2Pk9rLjwvZGl2PjxkaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJv cmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAx MHB4OyI+PGRpdj48ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRp dj48YnI+Jmd0Ozxicj4mZ3Q7IFBhcnQgb2YgIzQ2NTU8YnI+Jmd0OyAtLS08YnI+Jmd0OyB0ZXN0 L2ZpeF9zdHJpbmdfZmluZF9yZWNvcmRpbmcudGVzdC5sdWEgfCA2ICsrKy0tLTxicj4mZ3Q7IHRl c3QvZm9sZF9idWdfTHVhSklUXzUwNS50ZXN0Lmx1YSB8IDcgKysrKy0tLTxicj4mZ3Q7IHRlc3Qv Zm9sZF9idWdfTHVhSklUXzUyNC50ZXN0Lmx1YSB8IDQgKystLTxicj4mZ3Q7IHRlc3QvZ2gudGVz dC5sdWEgfCA4ICsrKystLS0tPGJyPiZndDsgdGVzdC9wYWlyc21tX3RhcmFudG9vbF80NTYwLnRl c3QubHVhIHwgOCArKysrKy0tLTxicj4mZ3Q7IHRlc3QvdGFibGVfY2hhaW5fYnVnX0x1YUpJVF80 OTQudGVzdC5sdWEgfCAyMyArKysrKysrKysrKystLS0tLS0tLS0tLTxicj4mZ3Q7IHRlc3QvdW5z aW5rXzY0X2twdHIudGVzdC5sdWEgfCA3ICsrKystLS08YnI+Jmd0OyA3IGZpbGVzIGNoYW5nZWQs IDM0IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKTxicj4mZ3Q7PGJyPjxicj4mbHQ7c25p cHBlZCZndDs8YnI+PGJyPiZndDsgZGlmZiAtLWdpdCBhL3Rlc3QvZm9sZF9idWdfTHVhSklUXzUw NS50ZXN0Lmx1YSBiL3Rlc3QvZm9sZF9idWdfTHVhSklUXzUwNS50ZXN0Lmx1YTxicj4mZ3Q7IGlu ZGV4IDJmZWUwNjkuLjNiN2Q3ZGYgMTAwNzU1PGJyPiZndDsgLS0tIGEvdGVzdC9mb2xkX2J1Z19M dWFKSVRfNTA1LnRlc3QubHVhPGJyPiZndDsgKysrIGIvdGVzdC9mb2xkX2J1Z19MdWFKSVRfNTA1 LnRlc3QubHVhPGJyPiZndDsgQEAgLTEsOCArMSw4IEBAPGJyPiZndDsgIyEvdXNyL2Jpbi9lbnYg dGFyYW50b29sPGJyPiZndDs8YnI+Jmd0OyAtdGFwID0gcmVxdWlyZSgndGFwJyk8YnI+Jmd0OyAr bG9jYWwgdGFwID0gcmVxdWlyZSgndGFwJyk8YnI+Jmd0Ozxicj4mZ3Q7IC10ZXN0ID0gdGFwLnRl c3QoIjUwNSIpPGJyPiZndDsgK2xvY2FsIHRlc3QgPSB0YXAudGVzdCgibGotNTA1LWZvbGQtaWNv cnJlY3QtYmVoYXZpb3IiKTxicj4mZ3Q7IHRlc3Q6cGxhbigxKTxicj4mZ3Q7PGJyPiZndDsgLS0g VGVzdCBmaWxlIHRvIGRlbW9uc3RyYXRlIEx1YSBmb2xkIG1hY2hpbmVyeSBpY29ycmVjdCBiZWhh dmlvciwgZGV0YWlsczo8YnI+Jmd0OyBAQCAtMTYsNSArMTYsNiBAQCBmb3IgXyA9IDEsIDIwIGRv PGJyPiZndDsgbG9jYWwgcG9zX2IgPSBzdHJpbmcuZmluZCh2YWx1ZTIsICJiIiwgMiwgdHJ1ZSk8 YnI+Jmd0OyBhc3NlcnQocG9zX2IgPT0gMiwgIkZBSUw6IHBvc2l0aW9uIG9mICdiJyBpcyAiIC4u IHBvc19iKTxicj4mZ3Q7IGVuZDxicj4mZ3Q7ICt0ZXN0Om9rKHRydWUsICJMdWFKSVQvTHVhSklU IGdoLTUwNSBhc3NlcnQgbm90IG9jY3VyZWQiKTxicj48YnI+TWVzc2FnZSBpcyBhYnNvbHV0ZWx5 IG5vbi1pbmZvcm1hdGl2ZS4gSSBwcm9wb3NlIHRvIHJld29yZCBpdDo8YnI+fCAic3RyaW5nLmZp bmQgb2Zmc2V0IGFyaXRtZXRpY3Mgd2Fzbid0IGJyb2tlbiB3aGlsZSByZWNvcmRpbmciPC9kaXY+ PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2PjxkaXY+RG9uZS48L2Rpdj48ZGl2 PjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2lu OjEwcHg7IHBhZGRpbmc6MCAwIDAgMTBweDsiPjxkaXY+PGRpdiBjbGFzcz0ianMtaGVscGVyIGpz LXJlYWRtc2ctbXNnIj48ZGl2PjxkaXY+Jmd0Ozxicj4mZ3Q7IC10ZXN0Om9rKCJQQVNTIik8YnI+ Jmd0OyArb3MuZXhpdCh0ZXN0OmNoZWNrKCkgYW5kIDAgb3IgMSk8YnI+PGJyPiZsdDtzbmlwcGVk Jmd0Ozxicj48YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvdGVzdC90YWJsZV9jaGFpbl9idWdfTHVhSklU XzQ5NC50ZXN0Lmx1YSBiL3Rlc3QvdGFibGVfY2hhaW5fYnVnX0x1YUpJVF80OTQudGVzdC5sdWE8 YnI+Jmd0OyBpbmRleCAwNmMwZjBkLi4zMDA3MzYwIDEwMDc1NTxicj4mZ3Q7IC0tLSBhL3Rlc3Qv dGFibGVfY2hhaW5fYnVnX0x1YUpJVF80OTQudGVzdC5sdWE8YnI+Jmd0OyArKysgYi90ZXN0L3Rh YmxlX2NoYWluX2J1Z19MdWFKSVRfNDk0LnRlc3QubHVhPGJyPiZndDsgQEAgLTEsOCArMSw4IEBA PGJyPiZndDsgIyEvdXNyL2Jpbi9lbnYgdGFyYW50b29sPGJyPiZndDs8YnI+Jmd0OyAtdGFwID0g cmVxdWlyZSgndGFwJyk8YnI+Jmd0OyArbG9jYWwgdGFwID0gcmVxdWlyZSgndGFwJyk8YnI+Jmd0 Ozxicj4mZ3Q7IC10ZXN0ID0gdGFwLnRlc3QoIjQ5NCIpPGJyPiZndDsgK2xvY2FsIHRlc3QgPSB0 YXAudGVzdCgibGotNDk0LXRhYmxlLWNoYWluLWluZmluaXRlLWxvb3AiKTxicj4mZ3Q7IHRlc3Q6 cGxhbigxKTxicj4mZ3Q7PGJyPiZndDsgLS0gVGVzdCBmaWxlIHRvIGRlbW9uc3RyYXRlIEx1YSB0 YWJsZSBoYXNoIGNoYWluIGJ1Z3MgZGlzY3Vzc2VkIGluPGJyPiZndDsgQEAgLTExLDE5ICsxMSwx OSBAQCB0ZXN0OnBsYW4oMSk8YnI+Jmd0OyAtLSA8YSBocmVmPSJodHRwczovL2dpc3QuZ2l0aHVi LmNvbS9jb3JzaXgvMWZjOWIxM2EyZGQ1ZjM2NTk0MTdiNjJkZDU0ZDQ1MDAiIHRhcmdldD0iX2Js YW5rIj5odHRwczovL2dpc3QuZ2l0aHViLmNvbS9jb3JzaXgvMWZjOWIxM2EyZGQ1ZjM2NTk0MTdi NjJkZDU0ZDQ1MDA8L2E+PGJyPiZndDs8YnI+Jmd0OyAtLS0gUGx1bWJpbmc8YnI+Jmd0OyAtZmZp ID0gcmVxdWlyZSJmZmkiPGJyPiZndDsgLWZmaS5jZGVmImNoYXIqIHN0cnN0cihjb25zdCBjaGFy KiwgY29uc3QgY2hhciopIjxicj4mZ3Q7IC1zdHJzdHIgPSBmZmkuQy5zdHJzdHI8YnI+Jmd0OyAt Y2FzdCA9IGZmaS5jYXN0PGJyPiZndDsgLXN0cl9oYXNoX29mZnNldCA9IGNhc3QoInVpbnQzMl90 KiIsIHN0cnN0cigiKiIsICIiKSlbLTJdID09IDEgYW5kIDMgb3IgMjxicj4mZ3Q7ICtsb2NhbCBm ZmkgPSByZXF1aXJlKCJmZmkiKTxicj4mZ3Q7ICtmZmkuY2RlZigiY2hhciogc3Ryc3RyKGNvbnN0 IGNoYXIqLCBjb25zdCBjaGFyKikiKTxicj4mZ3Q7ICtsb2NhbCBzdHJzdHIgPSBmZmkuQy5zdHJz dHI8YnI+Jmd0OyArbG9jYWwgY2FzdCA9IGZmaS5jYXN0PGJyPiZndDsgK2xvY2FsIHN0cl9oYXNo X29mZnNldCA9IGNhc3QoInVpbnQzMl90KiIsIHN0cnN0cigiKiIsICIiKSlbLTJdID09IDEgYW5k IDMgb3IgMjxicj4mZ3Q7IGZ1bmN0aW9uIHN0cl9oYXNoKHMpPGJyPiZndDsgcmV0dXJuIGNhc3Qo InVpbnQzMl90KiIsIHN0cnN0cihzLCAiIikpIC0gc3RyX2hhc2hfb2Zmc2V0PGJyPiZndDsgZW5k PGJyPiZndDsgLXRhYmxlX25ldyA9IHJlcXVpcmUidGFibGUubmV3Ijxicj4mZ3Q7ICtsb2NhbCB0 YWJsZV9uZXcgPSByZXF1aXJlKCJ0YWJsZS5uZXciKTxicj4mZ3Q7PGJyPiZndDsgLS0tIFByZXBh cmUgc29tZSBvYmplY3RzPGJyPiZndDsgLXZpY3RpbXMgPSB7fTxicj4mZ3Q7IC1vcmlnX2hhc2gg PSB7fTxicj4mZ3Q7ICtsb2NhbCB2aWN0aW1zID0ge308YnI+Jmd0OyArbG9jYWwgb3JpZ19oYXNo ID0ge308YnI+Jmd0OyBmb3IgYyBpbiAoImFiY2RlZiIpOmdtYXRjaCIuIiBkbzxicj4mZ3Q7IHYg PSBjIC4uICJ7MDlhZGQ1OGEtMTNhNC00NGUwLWE1MmMtZDQ0ZDBmOWIyYjk1fSI8YnI+Jmd0OyB2 aWN0aW1zW2NdID0gdjxicj4mZ3Q7IEBAIC0xNzQsNSArMTc0LDYgQEAgY29sbGVjdGdhcmJhZ2Uo KTxicj4mZ3Q7IGZvciBjLCB2IGluIHBhaXJzKHZpY3RpbXMpIGRvPGJyPiZndDsgc3RyX2hhc2go dilbMF0gPSBvcmlnX2hhc2hbY108YnI+Jmd0OyBlbmQ8YnI+Jmd0OyArdGVzdDpvayh0cnVlLCAi THVhSklUL0x1YUpJVCBnaC00OTQgc3VjY2Vzc2Z1bGx5IGNoZWNrZWQgY29tbWl0IGE3ZGM5ZThk MjMzMTUyMTdjOWZlMDAyOWJjOGFlMTJjMDMzMDZiMzMiKTxicj48YnI+TWVzc2FnZSBpcyBhYnNv bHV0ZWx5IG5vbi1pbmZvcm1hdGl2ZS4gSSBwcm9wb3NlIHRvIHJld29yZCBpdDo8YnI+fCAidGFi bGUga2V5cyBjb2xsaXNpb25zIGFyZSByZXNvbHZlZCBwcm9wZXJseSAobm8gYXNzZXJ0aW9ucyBm YWlsZWQpIjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48ZGl2PkRv bmUuPC9kaXY+PGRpdj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMw ODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2PjxkaXYgY2xhc3M9 ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2PiZndDs8YnI+Jmd0OyAtdGVzdDpv aygiUEFTUyIpPGJyPiZndDsgK29zLmV4aXQodGVzdDpjaGVjaygpIGFuZCAwIG9yIDEpPGJyPiZn dDsgZGlmZiAtLWdpdCBhL3Rlc3QvdW5zaW5rXzY0X2twdHIudGVzdC5sdWEgYi90ZXN0L3Vuc2lu a182NF9rcHRyLnRlc3QubHVhPGJyPiZndDsgaW5kZXggPHNwYW4gY2xhc3M9ImpzLXBob25lLW51 bWJlciI+ODk5NTc2Mzwvc3Bhbj4uLmE2MThmZDIgMTAwNzU1PGJyPiZndDsgLS0tIGEvdGVzdC91 bnNpbmtfNjRfa3B0ci50ZXN0Lmx1YTxicj4mZ3Q7ICsrKyBiL3Rlc3QvdW5zaW5rXzY0X2twdHIu dGVzdC5sdWE8YnI+Jmd0OyBAQCAtMSw4ICsxLDggQEA8YnI+Jmd0OyAjIS91c3IvYmluL2VudiB0 YXJhbnRvb2w8YnI+Jmd0Ozxicj4mZ3Q7IC10YXAgPSByZXF1aXJlKCd0YXAnKTxicj4mZ3Q7ICts b2NhbCB0YXAgPSByZXF1aXJlKCd0YXAnKTxicj4mZ3Q7PGJyPiZndDsgLXRlc3QgPSB0YXAudGVz dCgiMjMyIik8YnI+Jmd0OyArbG9jYWwgdGVzdCA9IHRhcC50ZXN0KCJvci0yMzItdW5zaW5rLTY0 LWtwdHIiKTxicj4mZ3Q7IHRlc3Q6cGxhbigxKTxicj4mZ3Q7PGJyPiZndDsgLS0tIEZyb206IFRo aWJhdWx0IENoYXJib25uaWVyICZsdDs8YSBocmVmPSIvY29tcG9zZT9Ubz10aGliYXVsdGNoYUBt ZS5jb20iPnRoaWJhdWx0Y2hhQG1lLmNvbTwvYT4mZ3Q7PGJyPiZndDsgQEAgLTQwLDUgKzQwLDYg QEAgZW5kPGJyPiZndDsgZm9yIGkgPSAxLCAxMDAwIGRvPGJyPiZndDsgZm4oaSk8YnI+Jmd0OyBl bmQ8YnI+Jmd0OyArdGVzdDpvayh0cnVlLCAib3BlbnJlc3R5LWx1YS9yZXN0eS1jb3JlIGdoLTIz MiBhbGxvd2VkIGl0cyBhZGRyZXNzIHRvIGJlIGlubGluZWQiKTxicj48YnI+SGVyZSBpcyBhIG1l c3Mgd2l0aCBhIG1lc3NhZ2UsIGl0IHRvdGFsbHkgZG9lc24ndCBkZXNjcmliZSB0aGUgY2hlY2s8 YnI+YmVpbmcgbWFkZS4gSSBwcm9wb3NlIHRoZSBmb2xsb3dpbmcgY29tbWVudDo8YnI+fCAiYWxs b2NhdGlvbiBpcyB1bnN1bmsgYXQgdGhlIHRyYWNlIGV4aXQgKG5vIHBsYXRmb3JtIGZhaWx1cmVz KSI8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGRpdj5Eb25lLjwv ZGl2PjxkaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2 OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdj48ZGl2IGNsYXNzPSJqcy1o ZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdj4mZ3Q7PGJyPiZndDsgLXRlc3Q6b2soIlBB U1MiKTxicj4mZ3Q7ICtvcy5leGl0KHRlc3Q6Y2hlY2soKSBhbmQgMCBvciAxKTxicj4mZ3Q7IC0t PGJyPiZndDsgMi4xNy4xPGJyPiZndDs8YnI+PGJyPi0tPGJyPkJlc3QgcmVnYXJkcyw8YnI+SU08 L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+Jm5ic3A7PGRpdj4mbmJzcDs8L2Rp dj48ZGl2IGRhdGEtc2lnbmF0dXJlLXdpZGdldD0iY29udGFpbmVyIj48ZGl2IGRhdGEtc2lnbmF0 dXJlLXdpZGdldD0iY29udGVudCI+PGRpdj4tLTxicj5BbGV4YW5kZXIgVGlraG9ub3Y8L2Rpdj48 L2Rpdj48L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjwvZGl2PjwvQk9EWT48L0hUTUw+Cg== ----ALT--bC9e7E8b7654Ed2b9F32728B487392e81584707514--