From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 2E00671224; Wed, 27 Oct 2021 17:00:23 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 2E00671224 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1635343223; bh=c7AFtgIE0jhY7AUI+M89ITO5gByAta+KYX4i/VbIBBw=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=gMPqmH/WthrU+NSBj8A9B0Qstfj7mtR65n+6/U95KO6YTD4mFkMqMk6LxYxRSay9j epeZeGzGuEYfZRNH3fbOlNr1Z2yuq4xLpuuAF9tTN2lpZhwsI/BvY1dO7m/l8DAc62 wsySPXY6SXa6DUMLfq2m1QBe4Bsl1WNRkEVRzzbQ= Received: from f481.i.mail.ru (f481.i.mail.ru [217.69.138.148]) (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 B769171224 for ; Wed, 27 Oct 2021 17:00:21 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org B769171224 Received: by f481.i.mail.ru with local (envelope-from ) id 1mfjTS-0006Zd-SE; Wed, 27 Oct 2021 17:00:15 +0300 Received: by e.mail.ru with HTTP; Wed, 27 Oct 2021 17:00:14 +0300 To: =?UTF-8?B?U2VyZ2UgUGV0cmVua28=?= MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 16353222320807677017 X-SenderField-Remind: 0 Date: Wed, 27 Oct 2021 17:00:14 +0300 X-Priority: 3 (Normal) Message-ID: <1635343214.363790945@f481.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--1aCdAcF369A77Eac9FdbB6696cCaA8bB1635343214" In-Reply-To: <7b3ddb15-6149-a1db-1882-5714b7388b15@tarantool.org> References: <1635321176.960768974@f166.i.mail.ru> <7b3ddb15-6149-a1db-1882-5714b7388b15@tarantool.org> X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 119C1F4DF6A9251C075A508E40C29130956460DA9539562DB5AA1BE68466778A8FD872164937FA4CB72224999F07EDE36E7473175B8EE7036828B76682AC6F87533CFB4889C9262F X-7FA49CB5: 70AAF3C13DB7016878DA827A17800CE71E5960D15D173746D82A6BABE6F325AC08BE7437D75B48FABCF491FFA38154B613377AFFFEAFD2691661749BA6B9773536691C7D10565E03C2099A533E45F2D0395957E7521B51C2CFCAF695D4D8E9FCEA1F7E6F0F101C6778DA827A17800CE73F300A97FDD4E158EA1F7E6F0F101C6723150C8DA25C47586E58E00D9D99D84E1BDDB23E98D2D38BBCA57AF85F7723F2EE98980F7B57C3B0C1838FE80F5DED8CCC7F00164DA146DAFE8445B8C89999728AA50765F7900637F6B57BC7E64490618DEB871D839B7333395957E7521B51C2DFABB839C843B9C08941B15DA834481F8AA50765F7900637F6B57BC7E6449061A352F6E88A58FB86F5D81C698A659EA7E827F84554CEF5019E625A9149C048EE9ECD01F8117BC8BEE2021AF6380DFAD18AA50765F790063735872C767BF85DA227C277FBC8AE2E8B24443D54CB1C486C75ECD9A6C639B01B4E70A05D1297E1BBCB5012B2E24CD356 X-C1DE0DAB: 0D63561A33F958A5692CF336B989CC3B69ABFA7D2890AAFF0914B8BB60DEEBD0BDC6A1CF3F042BAD6DF99611D93F60EFD827CA74CCEABFF3699F904B3F4130E343918A1A30D5E7FCCB5012B2E24CD356 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34D95739AEDB3821B48C1EF420216BA3974F7C38A5CCC37235A86308BA9500F9470877BFEDAAAAE3CB1D7E09C32AA3244CABFFE5971221590184A60C93ED364879F522A1CF68F4BE05FACE5A9C96DEB163 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDhd7HI5xHTadXfU+j7122qSw== X-Mailru-MI: 400800 X-Mailru-Sender: 583F1D7ACE8F49BD1D825449814A2CC2DEC50790C13326CD9AD761DB24AF085154CFFEA168AE8CBB57BE63593B17739F29380EAE0A631D0ECC8C667815EE47EB10A486D242DFEDA21E60DA90B68B17487B3F536FA1060A55867D54C4B3182E9F0D4ABDE8C577C2ED X-Mras: Ok X-Spam: undefined Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_v3_2/2=5D_replication=3A_?= =?utf-8?q?fix_replica_disconnect_upon_reconfiguration?= X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Vitaliia Ioffe via Tarantool-patches Reply-To: =?UTF-8?B?Vml0YWxpaWEgSW9mZmU=?= Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ----ALT--1aCdAcF369A77Eac9FdbB6696cCaA8bB1635343214 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 ClRoYW5rIHlvdSEKwqAKUUEgTEdUTQrCoArCoAotLQpWaXRhbGlpYSBJb2ZmZQrCoArCoCAKPtCh 0YDQtdC00LAsIDI3INC+0LrRgtGP0LHRgNGPIDIwMjEsIDExOjEwICswMzowMCDQvtGCIFNlcmdl IFBldHJlbmtvIDxzZXJnZXBldHJlbmtvQHRhcmFudG9vbC5vcmc+Ogo+wqAKPgo+Cj4yNy4xMC4y MDIxIDEwOjUyLCBWaXRhbGlpYSBJb2ZmZSDQv9C40YjQtdGCOgo+PiBXaHkgZGlkwqBub3QgeW91 IHVzZQo+Pgo+PiBhc3NlcnRzOmFzc2VydF9zZXJ2ZXJfZm9sbG93X3Vwc3RyZWFtKHNlcnZlciwg aWQpCj4+Cj4+IGZyb20gYXNzZXJ0cy5sdWEgaGVyZT8KPgo+SSBmb3Jnb3QgYWJvdXQgaXRzIGV4 aXN0ZW5jZSwgdGhhbmtzIQo+Cj5Gb3JjZS1wdXNoZWQgdGhlIHVwZGF0ZWQgdmVyc2lvbiwgaGVy ZSdzIHRoZSBkaWZmOgo+Cj5kaWZmIC0tZ2l0IGEvdGVzdC9yZXBsaWNhdGlvbi1sdWF0ZXN0L2do XzQ2NjlfYXBwbGllcl9yZWNvbm5lY3RfdGVzdC5sdWEKPmIvdGVzdC9yZXBsaWNhdGlvbi1sdWF0 ZXN0L2doXzQ2NjlfYXBwbGllcl9yZWNvbm5lY3RfdGVzdC5sdWEKPmluZGV4IDljNmQyNjAzNi4u MmRhZDg3ZGQwIDEwMDY0NAo+LS0tIGEvdGVzdC9yZXBsaWNhdGlvbi1sdWF0ZXN0L2doXzQ2Njlf YXBwbGllcl9yZWNvbm5lY3RfdGVzdC5sdWEKPisrKyBiL3Rlc3QvcmVwbGljYXRpb24tbHVhdGVz dC9naF80NjY5X2FwcGxpZXJfcmVjb25uZWN0X3Rlc3QubHVhCj5AQCAtMSwxNCArMSwxMCBAQAo+ wqDCoGxvY2FsIHQgPSByZXF1aXJlKCdsdWF0ZXN0JykKPsKgwqBsb2NhbCBjbHVzdGVyID0gcmVx dWlyZSgndGVzdC5sdWF0ZXN0X2hlbHBlcnMuY2x1c3RlcicpCj4rbG9jYWwgYXNzZXJ0cyA9IHJl cXVpcmUoJ3Rlc3QubHVhdGVzdF9oZWxwZXJzLmFzc2VydHMnKQo+wqDCoGxvY2FsIGhlbHBlcnMg PSByZXF1aXJlKCd0ZXN0Lmx1YXRlc3RfaGVscGVycycpCj4KPsKgwqBsb2NhbCBnID0gdC5ncm91 cCgnZ2gtNDY2OS1hcHBsaWVyLXJlY29ubmVjdCcpCj4KPi1sb2NhbCBmdW5jdGlvbiBjaGVja19m b2xsb3dfbWFzdGVyKHNlcnZlcikKPi3CoMKgwqAgcmV0dXJuIHQuYXNzZXJ0X2VxdWFscygKPi3C oMKgwqDCoMKgwqDCoCBzZXJ2ZXI6ZXZhbCgncmV0dXJuIGJveC5pbmZvLnJlcGxpY2F0aW9uWzFd LnVwc3RyZWFtLnN0YXR1cycpLAo+J2ZvbGxvdycpCj4tZW5kCj4tCj7CoMKgZy5iZWZvcmVfZWFj aChmdW5jdGlvbigpCj7CoMKgwqDCoMKgIGcuY2x1c3RlciA9IGNsdXN0ZXI6bmV3KHt9KQo+wqDC oMKgwqDCoCBnLm1hc3RlciA9IGcuY2x1c3RlcjpidWlsZF9zZXJ2ZXIoe2FsaWFzID0gJ21hc3Rl cid9KQo+QEAgLTIyLDcgKzE4LDcgQEAgZy5iZWZvcmVfZWFjaChmdW5jdGlvbigpCj7CoMKgwqDC oMKgIGcuY2x1c3RlcjphZGRfc2VydmVyKGcucmVwbGljYSkKPsKgwqDCoMKgwqAgZy5jbHVzdGVy OmFkZF9zZXJ2ZXIoZy5yZXBsaWNhMikKPsKgwqDCoMKgwqAgZy5jbHVzdGVyOnN0YXJ0KCkKPi3C oMKgwqAgY2hlY2tfZm9sbG93X21hc3RlcihnLnJlcGxpY2EpCj4rwqDCoMKgIGFzc2VydHM6YXNz ZXJ0X3NlcnZlcl9mb2xsb3dfdXBzdHJlYW0oZy5yZXBsaWNhLCAxKQo+wqDCoGVuZCkKPgo+wqDC oGcuYWZ0ZXJfZWFjaChmdW5jdGlvbigpCj5AQCAtNDgsNiArNDQsNiBAQCBnLnRlc3RfYXBwbGll cl9jb25uZWN0aW9uX29uX3JlY29uZmlnID0gZnVuY3Rpb24oZykKPsKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIH0KPsKgwqDCoMKgwqDCoMKgwqDCoCB9Cj7CoMKgwqDCoMKgIF1dKQo+LcKgwqDC oCBjaGVja19mb2xsb3dfbWFzdGVyKGcucmVwbGljYSkKPivCoMKgwqAgYXNzZXJ0czphc3NlcnRf c2VydmVyX2ZvbGxvd191cHN0cmVhbShnLnJlcGxpY2EsIDEpCj7CoMKgwqDCoMKgIHQuYXNzZXJ0 X2VxdWFscyhnLm1hc3RlcjpncmVwX2xvZygiZXhpdGluZyB0aGUgcmVsYXkgbG9vcCIpLCBuaWwp Cj7CoMKgZW5kCj4KPj4gK2xvY2FsIGZ1bmN0aW9uIGNoZWNrX2ZvbGxvd19tYXN0ZXIoc2VydmVy KQo+PiArIHJldHVybiB0LmFzc2VydF9lcXVhbHMoCj4+ICsgc2VydmVyOmV2YWwoJ3JldHVybiBi b3guaW5mby5yZXBsaWNhdGlvblsxXS51cHN0cmVhbS5zdGF0dXMnKSwgJ2ZvbGxvdycpCj4+ICtl bmQKPj4gQWxzbywgZG8gd2Ugd2FudCB0byBjaGVjayB0aGlzIHBhdGNowqBvbmx5IGZvciBtZW10 eD8gSSBhc2tlZCBiZWNhdXNlCj4+IHlvdSBoYXZlbuKAmXQgcHJvdmlkZWQgYW55IGVuZ2luZSBm b3IgdGhlIHRlc3QuCj4KPkVuZ2luZSBvbmx5IG1hdHRlcnMgd2hlbiB5b3UgY3JlYXRlIHNwYWNl cyBpbiB0aGUgdGVzdGNhc2UuCj5JIGhhdmUgbm9uZSBoZXJlIHNvIHRoZXJlJ3Mgbm90aGluZyB0 byB0ZXN0IGFjdHVhbGx5Lgo+Cj5BbHNvLCBldmVuIHdoZW4gYSByZXBsaWNhdGlvbiB0ZXN0IGNy ZWF0ZXMgc29tZSBzcGFjZXMgd2UgdXN1YWxseQo+KGJ1dCBub3QgYWx3YXlzKSBkb24ndCBjYXJl IHdoaWNoIGVuZ2luZSBpdCB1c2VzLiBSZXBsaWNhdGlvbiBzdWJzeXN0ZW0KPmlzIGdlbmVyYWxs eSBhZ25vc3RpYyBvZiB0aGUgc3RvcmFnZSBlbmdpbmUgdXNlZCwgYmVjYXVzZSByZXBsaWNhdGlv biB3b3Jrcwo+dmlhIFdBTCwgYW5kIGl0J3MgdGhlIHNhbWUgZm9yIGJvdGggbWVtdHggYW5kIHZp bnlsLgo+Cj4KPj4gLS0KPj4gVml0YWxpaWEgSW9mZmUKPj4KPj4g0KHRgNC10LTQsCwgMjcg0L7Q utGC0Y/QsdGA0Y8gMjAyMSwgMTA6MjAgKzAzOjAwINC+0YIgU2VyZ2UgUGV0cmVua28KPj4gPCBz ZXJnZXBldHJlbmtvQHRhcmFudG9vbC5vcmcgPjoKPj4gUmVwbGljYXRpb24gcmVjb25maWd1cmF0 aW9uIHVzZWQgdG8gd29yayBhcyBmb2xsb3dzOiB1cG9uIHJlY2VpdmluZyBhCj4+IG5ldyBjb25m aWcgZGlzY29ubmVjdCBmcm9tIGFsbCB0aGUgZXhpc3RpbmcgbWFzdGVycyBhbmQgdHJ5IHRvIGNv bm5lY3QKPj4gdG8gYWxsIHRoZSBtYXN0ZXJzIGZyb20gdGhlIG5ldyBjb25maWcuCj4+Cj4+IFRo aXMgbGVhZCB0byBpbnN0YW5jZXMgZG9pbmcgZXh0cmEgd29yayB3aGVuIG9sZCBjb25maWcgYW5k IG5ldyBjb25maWcKPj4gaGFkIHRoZSBzYW1lIG5vZGVzIGluIHRoZW06IGluc3RlYWQgb2YgZG9p bmcgbm90aGluZywgdGFyYW50b29sCj4+IHJlaW5pdGlhbGl6ZWQgdGhlIGNvbm5lY3Rpb24uCj4+ Cj4+IFRoZXJlIHdhcyBhbm90aGVyIHByb2JsZW06IHdoZW4gYW4gZXhpc3RpbmcgY29ubmVjdGlv biBpcyBicm9rZW4sCj4+IG1hc3Rlcgo+PiB0YWtlcyBzb21lIHRpbWUgdG8gbm90aWNlIHRoYXQu IFNvLCB3aGVuIHJlcGxpY2EgcmVzZXRzIHRoZQo+PiBjb25uZWN0aW9uLAo+PiBpdCBtYXkgdHJ5 IHRvIHJlY29ubmVjdCBmYXN0ZXIgdGhhbiB0aGUgbWFzdGVyIGlzIGFibGUgdG8gbm90aWNlIGl0 cwo+PiBhYnNlbmNlLiBJbiB0aGlzIGNhc2UgcmVwbGljYSB3b3VsZG4ndCBiZSBhYmxlIHRvIHJl Y29ubmVjdCBkdWUgdG8KPj4gYGR1cGxpY2F0ZSBjb25uZWN0aW9uIHdpdGggdGhlIHNhbWUgcmVw bGljYSBVVUlEYC4gU28gcmVwbGljYXRpb24KPj4gd291bGQKPj4gc3RvcCBmb3IgYSByZXBsaWNh dGlvbl90aW1lb3V0LCB3aGljaCBtYXkgYmUgcXVpdGUgbGFyZ2UgKHNlY29uZHMgb3IKPj4gdGVu cyBvZiBzZWNvbmRzKS4KPj4KPj4gTGV0J3MgcHJldmVudCB0YXJhbnRvb2wgZnJvbSByZWNvbm5l Y3RpbmcgdG8gdGhlIHNhbWUgaW5zdGFuY2UsIGlmCj4+IHRoZXJlCj4+IGFscmVhZHkgaXMgYSB3 b3JraW5nIGNvbm5lY3Rpb24uCj4+Cj4+IENsb3NlcyAjNDY2OQo+PiAtLS0KPj4gwqAuLi4vZ2gt NDY2OS1hcHBsaWVyLXJlY29uZmlnLXJlY29ubmVjdC5tZCB8IDUgKysKPj4gwqBzcmMvYm94L2Jv eC5jYyB8IDMxICsrKysrKysrLS0tCj4+IMKgc3JjL2JveC9yZXBsaWNhdGlvbi5jYyB8IDQxICsr KysrKysrKy0tLS0tCj4+IMKgc3JjL2JveC9yZXBsaWNhdGlvbi5oIHwgNCArLQo+PiDCoC4uLi9n aF80NjY5X2FwcGxpZXJfcmVjb25uZWN0X3Rlc3QubHVhIHwgNTMgKysrKysrKysrKysrKysrKysr Kwo+PiDCoDUgZmlsZXMgY2hhbmdlZCwgMTEzIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygt KQo+PiDCoGNyZWF0ZSBtb2RlIDEwMDY0NAo+PiBjaGFuZ2Vsb2dzL3VucmVsZWFzZWQvZ2gtNDY2 OS1hcHBsaWVyLXJlY29uZmlnLXJlY29ubmVjdC5tZAo+PiDCoGNyZWF0ZSBtb2RlIDEwMDY0NAo+ PiB0ZXN0L3JlcGxpY2F0aW9uLWx1YXRlc3QvZ2hfNDY2OV9hcHBsaWVyX3JlY29ubmVjdF90ZXN0 Lmx1YQo+Pgo+PiBkaWZmIC0tZ2l0Cj4+IGEvY2hhbmdlbG9ncy91bnJlbGVhc2VkL2doLTQ2Njkt YXBwbGllci1yZWNvbmZpZy1yZWNvbm5lY3QubWQKPj4gYi9jaGFuZ2Vsb2dzL3VucmVsZWFzZWQv Z2gtNDY2OS1hcHBsaWVyLXJlY29uZmlnLXJlY29ubmVjdC5tZAo+PiBuZXcgZmlsZSBtb2RlIDEw MDY0NAo+PiBpbmRleCAwMDAwMDAwMDAuLjJhNzc2ODcyYgo+PiAtLS0gL2Rldi9udWxsCj4+ICsr KyBiL2NoYW5nZWxvZ3MvdW5yZWxlYXNlZC9naC00NjY5LWFwcGxpZXItcmVjb25maWctcmVjb25u ZWN0Lm1kCj4+IEBAIC0wLDAgKzEsNSBAQAo+PiArIyMgYnVnZml4L3JlcGxpY2F0aW9uCj4+ICsK Pj4gKyogRml4ZWQgcmVwbGljYSByZWNvbm5lY3RpbmcgdG8gYSBsaXZpbmcgbWFzdGVyIG9uIGFu eQo+PiBgYm94LmNmZ3tyZXBsaWNhdGlvbj0uLi59YAo+PiArIGNoYW5nZS4gU3VjaCByZWNvbm5l Y3RzIGNvdWxkIGxlYWQgdG8gcmVwbGljYSBmYWlsaW5nIHRvIHJlc3RvcmUKPj4gY29ubmVjdGlv bgo+PiArIGZvciBgcmVwbGljYXRpb25fdGltZW91dGAgc2Vjb25kcyAoZ2gtNDY2OSkuCj4+IGRp ZmYgLS1naXQgYS9zcmMvYm94L2JveC5jYyBiL3NyYy9ib3gvYm94LmNjCj4+IGluZGV4IGIxMTU0 YWZmYS4uYzJlNGE1NWE3IDEwMDY0NAo+PiAtLS0gYS9zcmMvYm94L2JveC5jYwo+PiArKysgYi9z cmMvYm94L2JveC5jYwo+PiBAQCAtMTI2MSw3ICsxMjYxLDcgQEAgY2ZnX2dldF9yZXBsaWNhdGlv bihpbnQgKnBfY291bnQpCj4+IMKgwqAqIGRvbid0IHN0YXJ0IGFwcGxpZXJzLgo+PiDCoMKgKi8K Pj4gwqBzdGF0aWMgdm9pZAo+PiAtYm94X3N5bmNfcmVwbGljYXRpb24oYm9vbCBjb25uZWN0X3F1 b3J1bSkKPj4gK2JveF9zeW5jX3JlcGxpY2F0aW9uKGJvb2wgZG9fcXVvcnVtLCBib29sIGRvX3Jl dXNlKQo+PiDCoHsKPj4gwqAgaW50IGNvdW50ID0gMDsKPj4gwqAgc3RydWN0IGFwcGxpZXIgKiph cHBsaWVycyA9IGNmZ19nZXRfcmVwbGljYXRpb24oJmNvdW50KTsKPj4gQEAgLTEyNzIsMTIgKzEy NzIsMjcgQEAgYm94X3N5bmNfcmVwbGljYXRpb24oYm9vbCBjb25uZWN0X3F1b3J1bSkKPj4gwqAg Zm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKQo+PiDCoCBhcHBsaWVyX2RlbGV0ZShhcHBs aWVyc1tpXSk7IC8qIGRvZXNuJ3QgYWZmZWN0IGRpYWcgKi8KPj4gwqAgfSk7Cj4+IC0KPj4gLSBy ZXBsaWNhc2V0X2Nvbm5lY3QoYXBwbGllcnMsIGNvdW50LCBjb25uZWN0X3F1b3J1bSk7Cj4+ICsg cmVwbGljYXNldF9jb25uZWN0KGFwcGxpZXJzLCBjb3VudCwgZG9fcXVvcnVtLCBkb19yZXVzZSk7 Cj4+Cj4+IMKgIGd1YXJkLmlzX2FjdGl2ZSA9IGZhbHNlOwo+PiDCoH0KPj4KPj4gK3N0YXRpYyBp bmxpbmUgdm9pZAo+PiArYm94X3Jlc3RhcnRfcmVwbGljYXRpb24odm9pZCkKPj4gK3sKPj4gKyBj b25zdCBib29sIGRvX3F1b3J1bSA9IHRydWU7Cj4+ICsgY29uc3QgYm9vbCBkb19yZXVzZSA9IGZh bHNlOwo+PiArIGJveF9zeW5jX3JlcGxpY2F0aW9uKGRvX3F1b3J1bSwgZG9fcmV1c2UpOwo+PiAr fQo+PiArCj4+ICtzdGF0aWMgaW5saW5lIHZvaWQKPj4gK2JveF91cGRhdGVfcmVwbGljYXRpb24o dm9pZCkKPj4gK3sKPj4gKyBjb25zdCBib29sIGRvX3F1b3J1bSA9IGZhbHNlOwo+PiArIGNvbnN0 IGJvb2wgZG9fcmV1c2UgPSB0cnVlOwo+PiArIGJveF9zeW5jX3JlcGxpY2F0aW9uKGRvX3F1b3J1 bSwgZG9fcmV1c2UpOwo+PiArfQo+PiArCj4+IMKgdm9pZAo+PiDCoGJveF9zZXRfcmVwbGljYXRp b24odm9pZCkKPj4gwqB7Cj4+IEBAIC0xMjk2LDcgKzEzMTEsNyBAQCBib3hfc2V0X3JlcGxpY2F0 aW9uKHZvaWQpCj4+IMKgICogU3RheSBpbiBvcnBoYW4gbW9kZSBpbiBjYXNlIHdlIGZhaWwgdG8g Y29ubmVjdCB0byBhdCBsZWFzdAo+PiDCoCAqICdyZXBsaWNhdGlvbl9jb25uZWN0X3F1b3J1bScg cmVtb3RlIGluc3RhbmNlcy4KPj4gwqAgKi8KPj4gLSBib3hfc3luY19yZXBsaWNhdGlvbihmYWxz ZSk7Cj4+ICsgYm94X3VwZGF0ZV9yZXBsaWNhdGlvbigpOwo+PiDCoCAvKiBGb2xsb3cgcmVwbGlj YSAqLwo+PiDCoCByZXBsaWNhc2V0X2ZvbGxvdygpOwo+PiDCoCAvKiBXYWl0IHVudGlsIGFwcGxp ZXJzIGFyZSBpbiBzeW5jICovCj4+IEBAIC0xNDE2LDcgKzE0MzEsNyBAQCBib3hfc2V0X3JlcGxp Y2F0aW9uX2Fub24odm9pZCkKPj4gwqAgKiB0aGVtIGNhbiByZWdpc3RlciBhbmQgb3RoZXJzIHJl c2VuZCBhCj4+IMKgICogbm9uLWFub255bW91cyBzdWJzY3JpYmUuCj4+IMKgICovCj4+IC0gYm94 X3N5bmNfcmVwbGljYXRpb24odHJ1ZSk7Cj4+ICsgYm94X3Jlc3RhcnRfcmVwbGljYXRpb24oKTsK Pj4gwqAgLyoKPj4gwqAgKiBXYWl0IHVudGlsIHRoZSBtYXN0ZXIgaGFzIHJlZ2lzdGVyZWQgdGhp cwo+PiDCoCAqIGluc3RhbmNlLgo+PiBAQCAtMzI3OSw3ICszMjk0LDcgQEAgYm9vdHN0cmFwKGNv bnN0IHN0cnVjdCB0dF91dWlkICppbnN0YW5jZV91dWlkLAo+PiDCoCAqIHdpdGggY29ubmVjdGlu ZyB0byAncmVwbGljYXRpb25fY29ubmVjdF9xdW9ydW0nIG1hc3RlcnMuCj4+IMKgICogSWYgdGhp cyBhbHNvIGZhaWxzLCB0aHJvdyBhbiBlcnJvci4KPj4gwqAgKi8KPj4gLSBib3hfc3luY19yZXBs aWNhdGlvbih0cnVlKTsKPj4gKyBib3hfcmVzdGFydF9yZXBsaWNhdGlvbigpOwo+Pgo+PiDCoCBz dHJ1Y3QgcmVwbGljYSAqbWFzdGVyID0gcmVwbGljYXNldF9maW5kX2pvaW5fbWFzdGVyKCk7Cj4+ IMKgIGFzc2VydChtYXN0ZXIgPT0gTlVMTCB8fCBtYXN0ZXItPmFwcGxpZXIgIT0gTlVMTCk7Cj4+ IEBAIC0zMzU2LDcgKzMzNzEsNyBAQCBsb2NhbF9yZWNvdmVyeShjb25zdCBzdHJ1Y3QgdHRfdXVp ZAo+PiAqaW5zdGFuY2VfdXVpZCwKPj4gwqAgaWYgKHdhbF9kaXJfbG9jayA+PSAwKSB7Cj4+IMKg IGlmIChib3hfbGlzdGVuKCkgIT0gMCkKPj4gwqAgZGlhZ19yYWlzZSgpOwo+PiAtIGJveF9zeW5j X3JlcGxpY2F0aW9uKGZhbHNlKTsKPj4gKyBib3hfdXBkYXRlX3JlcGxpY2F0aW9uKCk7Cj4+Cj4+ IMKgIHN0cnVjdCByZXBsaWNhICptYXN0ZXI7Cj4+IMKgIGlmIChyZXBsaWNhc2V0X25lZWRzX3Jl am9pbigmbWFzdGVyKSkgewo+PiBAQCAtMzQzNSw3ICszNDUwLDcgQEAgbG9jYWxfcmVjb3Zlcnko Y29uc3Qgc3RydWN0IHR0X3V1aWQKPj4gKmluc3RhbmNlX3V1aWQsCj4+IHZjbG9ja19jb3B5KCZy ZXBsaWNhc2V0LnZjbG9jaywgJnJlY292ZXJ5LT52Y2xvY2spOwo+PiDCoCBpZiAoYm94X2xpc3Rl bigpICE9IDApCj4+IMKgIGRpYWdfcmFpc2UoKTsKPj4gLSBib3hfc3luY19yZXBsaWNhdGlvbihm YWxzZSk7Cj4+ICsgYm94X3VwZGF0ZV9yZXBsaWNhdGlvbigpOwo+PiDCoCB9Cj4+IMKgIHN0cmVh bV9ndWFyZC5pc19hY3RpdmUgPSBmYWxzZTsKPj4gwqAgcmVjb3ZlcnlfZmluYWxpemUocmVjb3Zl cnkpOwo+PiBkaWZmIC0tZ2l0IGEvc3JjL2JveC9yZXBsaWNhdGlvbi5jYyBiL3NyYy9ib3gvcmVw bGljYXRpb24uY2MKPj4gaW5kZXggMTI4OGJjOWIxLi4xMGI0YWM5MTUgMTAwNjQ0Cj4+IC0tLSBh L3NyYy9ib3gvcmVwbGljYXRpb24uY2MKPj4gKysrIGIvc3JjL2JveC9yZXBsaWNhdGlvbi5jYwo+ PiBAQCAtNTA3LDcgKzUwNyw3IEBAIHJlcGxpY2Ffb25fYXBwbGllcl9zdGF0ZV9mKHN0cnVjdCB0 cmlnZ2VyCj4+ICp0cmlnZ2VyLCB2b2lkICpldmVudCkKPj4gwqDCoCogdXBvbiByZWNvbmZpZ3Vy YXRpb24gb2YgYm94LmNmZy5yZXBsaWNhdGlvbi4KPj4gwqDCoCovCj4+IMKgc3RhdGljIHZvaWQK Pj4gLXJlcGxpY2FzZXRfdXBkYXRlKHN0cnVjdCBhcHBsaWVyICoqYXBwbGllcnMsIGludCBjb3Vu dCkKPj4gK3JlcGxpY2FzZXRfdXBkYXRlKHN0cnVjdCBhcHBsaWVyICoqYXBwbGllcnMsIGludCBj b3VudCwgYm9vbAo+PiBrZWVwX2Nvbm5lY3QpCj4+IMKgewo+PiDCoCByZXBsaWNhX2hhc2hfdCB1 bmlxOwo+PiDCoCBtZW1zZXQoJnVuaXEsIDAsIHNpemVvZih1bmlxKSk7Cj4+IEBAIC01NzIsMjIg KzU3MiwzOSBAQCByZXBsaWNhc2V0X3VwZGF0ZShzdHJ1Y3QgYXBwbGllciAqKmFwcGxpZXJzLAo+ PiBpbnQgY291bnQpCj4+IMKgIGFwcGxpZXJfc3RvcChhcHBsaWVyKTsKPj4gwqAgYXBwbGllcl9k ZWxldGUoYXBwbGllcik7Cj4+IMKgIH0KPj4gKwo+PiArIHJlcGxpY2FzZXQuYXBwbGllci50b3Rh bCA9IGNvdW50Owo+PiArIHJlcGxpY2FzZXQuYXBwbGllci5jb25uZWN0ZWQgPSAwOwo+PiArIHJl cGxpY2FzZXQuYXBwbGllci5sb2FkaW5nID0gMDsKPj4gKyByZXBsaWNhc2V0LmFwcGxpZXIuc3lu Y2VkID0gMDsKPj4gwqAgcmVwbGljYXNldF9mb3JlYWNoKHJlcGxpY2EpIHsKPj4gwqAgaWYgKHJl cGxpY2EtPmFwcGxpZXIgPT0gTlVMTCkKPj4gwqAgY29udGludWU7Cj4+IC0gYXBwbGllciA9IHJl cGxpY2EtPmFwcGxpZXI7Cj4+IC0gcmVwbGljYV9jbGVhcl9hcHBsaWVyKHJlcGxpY2EpOwo+PiAt IHJlcGxpY2EtPmFwcGxpZXJfc3luY19zdGF0ZSA9IEFQUExJRVJfRElTQ09OTkVDVEVEOwo+PiAr IHN0cnVjdCByZXBsaWNhICpvdGhlciA9IHJlcGxpY2FfaGFzaF9zZWFyY2goJnVuaXEsIHJlcGxp Y2EpOwo+PiArIGlmIChrZWVwX2Nvbm5lY3QgJiYgb3RoZXIgIT0gTlVMTCAmJgo+PiArIChyZXBs aWNhLT5hcHBsaWVyLT5zdGF0ZSA9PSBBUFBMSUVSX0ZPTExPVyB8fAo+PiArIHJlcGxpY2EtPmFw cGxpZXItPnN0YXRlID09IEFQUExJRVJfU1lOQykpIHsKPj4gKyAvKgo+PiArICogVHJ5IG5vdCB0 byBpbnRlcnJ1cHQgd29ya2luZyBhcHBsaWVycyB1cG9uCj4+ICsgKiByZWNvbmZpZ3VyYXRpb24u Cj4+ICsgKi8KPj4gKyByZXBsaWNhc2V0LmFwcGxpZXIuY29ubmVjdGVkKys7Cj4+ICsgcmVwbGlj YXNldC5hcHBsaWVyLnN5bmNlZCsrOwo+PiArIHJlcGxpY2FfaGFzaF9yZW1vdmUoJnVuaXEsIG90 aGVyKTsKPj4gKyBhcHBsaWVyID0gb3RoZXItPmFwcGxpZXI7Cj4+ICsgcmVwbGljYV9jbGVhcl9h cHBsaWVyKG90aGVyKTsKPj4gKyByZXBsaWNhX2RlbGV0ZShvdGhlcik7Cj4+ICsgfSBlbHNlIHsK Pj4gKyBhcHBsaWVyID0gcmVwbGljYS0+YXBwbGllcjsKPj4gKyByZXBsaWNhX2NsZWFyX2FwcGxp ZXIocmVwbGljYSk7Cj4+ICsgcmVwbGljYS0+YXBwbGllcl9zeW5jX3N0YXRlID0gQVBQTElFUl9E SVNDT05ORUNURUQ7Cj4+ICsgfQo+PiDCoCBhcHBsaWVyX3N0b3AoYXBwbGllcik7Cj4+IMKgIGFw cGxpZXJfZGVsZXRlKGFwcGxpZXIpOwo+PiDCoCB9Cj4+Cj4+IC0gLyogU2F2ZSBuZXcgYXBwbGll cnMgKi8KPj4gLSByZXBsaWNhc2V0LmFwcGxpZXIudG90YWwgPSBjb3VudDsKPj4gLSByZXBsaWNh c2V0LmFwcGxpZXIuY29ubmVjdGVkID0gMDsKPj4gLSByZXBsaWNhc2V0LmFwcGxpZXIubG9hZGlu ZyA9IDA7Cj4+IC0gcmVwbGljYXNldC5hcHBsaWVyLnN5bmNlZCA9IDA7Cj4+Cj4+ICsgLyogU2F2 ZSBuZXcgYXBwbGllcnMgKi8KPj4gcmVwbGljYV9oYXNoX2ZvcmVhY2hfc2FmZSgmdW5pcSwgcmVw bGljYSwgbmV4dCkgewo+PiDCoCByZXBsaWNhX2hhc2hfcmVtb3ZlKCZ1bmlxLCByZXBsaWNhKTsK Pj4KPj4gQEAgLTY2NCwxMSArNjgxLDExIEBAIGFwcGxpZXJfb25fY29ubmVjdF9mKHN0cnVjdCB0 cmlnZ2VyCj4+ICp0cmlnZ2VyLCB2b2lkICpldmVudCkKPj4KPj4gwqB2b2lkCj4+IMKgcmVwbGlj YXNldF9jb25uZWN0KHN0cnVjdCBhcHBsaWVyICoqYXBwbGllcnMsIGludCBjb3VudCwKPj4gLSBi b29sIGNvbm5lY3RfcXVvcnVtKQo+PiArIGJvb2wgY29ubmVjdF9xdW9ydW0sIGJvb2wga2VlcF9j b25uZWN0KQo+PiDCoHsKPj4gwqAgaWYgKGNvdW50ID09IDApIHsKPj4gwqAgLyogQ2xlYW51cCB0 aGUgcmVwbGljYSBzZXQuICovCj4+IC0gcmVwbGljYXNldF91cGRhdGUoYXBwbGllcnMsIGNvdW50 KTsKPj4gKyByZXBsaWNhc2V0X3VwZGF0ZShhcHBsaWVycywgMCwgZmFsc2UpOwo+PiDCoCByZXR1 cm47Cj4+IMKgIH0KPj4KPj4gQEAgLTc3Miw3ICs3ODksNyBAQCByZXBsaWNhc2V0X2Nvbm5lY3Qo c3RydWN0IGFwcGxpZXIgKiphcHBsaWVycywKPj4gaW50IGNvdW50LAo+Pgo+PiDCoCAvKiBOb3cg YWxsIHRoZSBhcHBsaWVycyBhcmUgY29ubmVjdGVkLCB1cGRhdGUgdGhlIHJlcGxpY2Egc2V0LiAq Lwo+PiDCoCB0cnkgewo+PiAtIHJlcGxpY2FzZXRfdXBkYXRlKGFwcGxpZXJzLCBjb3VudCk7Cj4+ ICsgcmVwbGljYXNldF91cGRhdGUoYXBwbGllcnMsIGNvdW50LCBrZWVwX2Nvbm5lY3QpOwo+PiDC oCB9IGNhdGNoIChFeGNlcHRpb24gKmUpIHsKPj4gwqAgZ290byBlcnJvcjsKPj4gwqAgfQo+PiBk aWZmIC0tZ2l0IGEvc3JjL2JveC9yZXBsaWNhdGlvbi5oIGIvc3JjL2JveC9yZXBsaWNhdGlvbi5o Cj4+IGluZGV4IDRjODJjZDgzOS4uYThmZWQ0NWU4IDEwMDY0NAo+PiAtLS0gYS9zcmMvYm94L3Jl cGxpY2F0aW9uLmgKPj4gKysrIGIvc3JjL2JveC9yZXBsaWNhdGlvbi5oCj4+IEBAIC00MzksMTAg KzQzOSwxMiBAQCByZXBsaWNhc2V0X2FkZF9hbm9uKGNvbnN0IHN0cnVjdCB0dF91dWlkCj4+ICpy ZXBsaWNhX3V1aWQpOwo+PiDCoMKgKiBccGFyYW0gY29ubmVjdF9xdW9ydW0gaWYgdGhpcyBmbGFn IGlzIHNldCwgZmFpbCB1bmxlc3MgYXQKPj4gwqDCoCogbGVhc3QgcmVwbGljYXRpb25fY29ubmVj dF9xdW9ydW0KPj4gwqDCoCogYXBwbGllcnMgaGF2ZSBzdWNjZXNzZnVsbHkgY29ubmVjdGVkLgo+ PiArICogXHBhcmFtIGtlZXBfY29ubmVjdCBpZiB0aGlzIGZsYWcgaXMgc2V0IGRvIG5vdCBmb3Jj ZSBhCj4+IHJlY29ubmVjdCBpZiB0aGUKPj4gKyAqIG9sZCBjb25uZWN0aW9uIHRvIHRoZSByZXBs aWNhIGlzIGZpbmUuCj4+IMKgwqAqLwo+PiDCoHZvaWQKPj4gwqByZXBsaWNhc2V0X2Nvbm5lY3Qo c3RydWN0IGFwcGxpZXIgKiphcHBsaWVycywgaW50IGNvdW50LAo+PiAtIGJvb2wgY29ubmVjdF9x dW9ydW0pOwo+PiArIGJvb2wgY29ubmVjdF9xdW9ydW0sIGJvb2wga2VlcF9jb25uZWN0KTsKPj4K Pj4gwqAvKioKPj4gwqDCoCogQ2hlY2sgaWYgdGhlIGN1cnJlbnQgaW5zdGFuY2UgZmVsbCB0b28g bXVjaCBiZWhpbmQgaXRzCj4+IGRpZmYgLS1naXQKPj4gYS90ZXN0L3JlcGxpY2F0aW9uLWx1YXRl c3QvZ2hfNDY2OV9hcHBsaWVyX3JlY29ubmVjdF90ZXN0Lmx1YQo+PiBiL3Rlc3QvcmVwbGljYXRp b24tbHVhdGVzdC9naF80NjY5X2FwcGxpZXJfcmVjb25uZWN0X3Rlc3QubHVhCj4+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMC4uOWM2ZDI2MDM2Cj4+IC0tLSAvZGV2L251 bGwKPj4gKysrIGIvdGVzdC9yZXBsaWNhdGlvbi1sdWF0ZXN0L2doXzQ2NjlfYXBwbGllcl9yZWNv bm5lY3RfdGVzdC5sdWEKPj4gQEAgLTAsMCArMSw1MyBAQAo+PiArbG9jYWwgdCA9IHJlcXVpcmUo J2x1YXRlc3QnKQo+PiArbG9jYWwgY2x1c3RlciA9IHJlcXVpcmUoJ3Rlc3QubHVhdGVzdF9oZWxw ZXJzLmNsdXN0ZXInKQo+PiArbG9jYWwgaGVscGVycyA9IHJlcXVpcmUoJ3Rlc3QubHVhdGVzdF9o ZWxwZXJzJykKPj4gKwo+PiArbG9jYWwgZyA9IHQuZ3JvdXAoJ2doLTQ2NjktYXBwbGllci1yZWNv bm5lY3QnKQo+PiArCj4+ICtsb2NhbCBmdW5jdGlvbiBjaGVja19mb2xsb3dfbWFzdGVyKHNlcnZl cikKPj4gKyByZXR1cm4gdC5hc3NlcnRfZXF1YWxzKAo+PiArIHNlcnZlcjpldmFsKCdyZXR1cm4g Ym94LmluZm8ucmVwbGljYXRpb25bMV0udXBzdHJlYW0uc3RhdHVzJyksCj4+ICdmb2xsb3cnKQo+ PiArZW5kCj4+ICsKPj4gK2cuYmVmb3JlX2VhY2goZnVuY3Rpb24oKQo+PiArIGcuY2x1c3RlciA9 IGNsdXN0ZXI6bmV3KHt9KQo+PiArIGcubWFzdGVyID0gZy5jbHVzdGVyOmJ1aWxkX3NlcnZlcih7 YWxpYXMgPSAnbWFzdGVyJ30pCj4+ICsgbG9jYWwgYm94X2NmZyA9IHsKPj4gKyByZXBsaWNhdGlv biA9ICgnJXMvbWFzdGVyLmlwcm90bycpOmZvcm1hdChoZWxwZXJzLlNPQ0tFVF9ESVIpLAo+PiAr IH0KPj4gKyBnLnJlcGxpY2EgPSBnLmNsdXN0ZXI6YnVpbGRfc2VydmVyKHthbGlhcyA9ICdyZXBs aWNhJywgYm94X2NmZyA9Cj4+IGJveF9jZmd9KQo+PiArIGcucmVwbGljYTIgPSBnLmNsdXN0ZXI6 YnVpbGRfc2VydmVyKHthbGlhcyA9ICdyZXBsaWNhMicsIGJveF9jZmcKPj4gPSBib3hfY2ZnfSkK Pj4gKwo+PiArIGcuY2x1c3RlcjphZGRfc2VydmVyKGcubWFzdGVyKQo+PiArIGcuY2x1c3Rlcjph ZGRfc2VydmVyKGcucmVwbGljYSkKPj4gKyBnLmNsdXN0ZXI6YWRkX3NlcnZlcihnLnJlcGxpY2Ey KQo+PiArIGcuY2x1c3RlcjpzdGFydCgpCj4+ICsgY2hlY2tfZm9sbG93X21hc3RlcihnLnJlcGxp Y2EpCj4+ICtlbmQpCj4+ICsKPj4gK2cuYWZ0ZXJfZWFjaChmdW5jdGlvbigpCj4+ICsgZy5jbHVz dGVyOnN0b3AoKQo+PiArZW5kKQo+PiArCj4+ICstLSBUZXN0IHRoYXQgYXBwbGllcnMgYXJlbid0 IHJlY3JlYXRlZCB1cG9uIHJlcGxpY2F0aW9uCj4+IHJlY29uZmlndXJhdGlvbi4KPj4gKy0tIEFk ZCBhbmQgdGhlbiByZW1vdmUgdHdvIGV4dHJhIHJlcGxpY2FzIHRvIHRoZSBjb25maWd1cmF0aW9u Lgo+PiBUaGUgbWFzdGVyCj4+ICstLSBjb25uZWN0aW9uIHNob3VsZCBzdGF5IGludGFjdC4KPj4g K2cudGVzdF9hcHBsaWVyX2Nvbm5lY3Rpb25fb25fcmVjb25maWcgPSBmdW5jdGlvbihnKQo+PiAr IGcucmVwbGljYTpldmFsKChbWwo+PiArIGJveC5jZmd7Cj4+ICsgcmVwbGljYXRpb24gPSB7Cj4+ ICsgYm94LmNmZy5saXN0ZW4sCj4+ICsgYm94LmNmZy5yZXBsaWNhdGlvblsxXSwKPj4gKyAiJXMv cmVwbGljYTIuaXByb3RvIiwKPj4gKyB9Cj4+ICsgfV1dKTpmb3JtYXQoaGVscGVycy5TT0NLRVRf RElSKSkKPj4gKyBnLnJlcGxpY2E6ZXZhbChbWwo+PiArIGJveC5jZmd7Cj4+ICsgcmVwbGljYXRp b24gPSB7Cj4+ICsgYm94LmNmZy5yZXBsaWNhdGlvblsyXQo+PiArIH0KPj4gKyB9Cj4+ICsgXV0p Cj4+ICsgY2hlY2tfZm9sbG93X21hc3RlcihnLnJlcGxpY2EpCj4+ICsgdC5hc3NlcnRfZXF1YWxz KGcubWFzdGVyOmdyZXBfbG9nKCJleGl0aW5nIHRoZSByZWxheSBsb29wIiksIG5pbCkKPj4gK2Vu ZAo+PiAtLQo+PiAyLjMwLjEgKEFwcGxlIEdpdC0xMzApCj4+Cj4KPi0tCj5TZXJnZSBQZXRyZW5r bwrCoA== ----ALT--1aCdAcF369A77Eac9FdbB6696cCaA8bB1635343214 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+VGhhbmsgeW91ITwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGRpdj5R QSBMR1RNPC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXYgZGF0YS1z aWduYXR1cmUtd2lkZ2V0PSJjb250YWluZXIiPjxkaXYgZGF0YS1zaWduYXR1cmUtd2lkZ2V0PSJj b250ZW50Ij48ZGl2Pi0tPGJyPlZpdGFsaWlhIElvZmZlPC9kaXY+PC9kaXY+PC9kaXY+PGRpdj4m bmJzcDs8L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVm dDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRpbmc6MCAwIDAgMTBweDsiPtCh 0YDQtdC00LAsIDI3INC+0LrRgtGP0LHRgNGPIDIwMjEsIDExOjEwICswMzowMCDQvtGCIFNlcmdl IFBldHJlbmtvICZsdDtzZXJnZXBldHJlbmtvQHRhcmFudG9vbC5vcmcmZ3Q7Ojxicj4mbmJzcDs8 ZGl2IGlkPSIiPjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2 IGlkPSJzdHlsZV8xNjM1MzIyMjMyMDgwNzY3NzAxN19CT0RZIj48YnI+PGJyPjI3LjEwLjIwMjEg MTA6NTIsIFZpdGFsaWlhIElvZmZlINC/0LjRiNC10YI6PGJyPiZndDsgV2h5IGRpZCZuYnNwO25v dCB5b3UgdXNlPGJyPiZndDs8YnI+Jmd0OyBhc3NlcnRzOmFzc2VydF9zZXJ2ZXJfZm9sbG93X3Vw c3RyZWFtKHNlcnZlciwgaWQpPGJyPiZndDs8YnI+Jmd0OyBmcm9tIGFzc2VydHMubHVhIGhlcmU/ PGJyPjxicj5JIGZvcmdvdCBhYm91dCBpdHMgZXhpc3RlbmNlLCB0aGFua3MhPGJyPjxicj5Gb3Jj ZS1wdXNoZWQgdGhlIHVwZGF0ZWQgdmVyc2lvbiwgaGVyZSdzIHRoZSBkaWZmOjxicj48YnI+ZGlm ZiAtLWdpdCBhL3Rlc3QvcmVwbGljYXRpb24tbHVhdGVzdC9naF80NjY5X2FwcGxpZXJfcmVjb25u ZWN0X3Rlc3QubHVhPGJyPmIvdGVzdC9yZXBsaWNhdGlvbi1sdWF0ZXN0L2doXzQ2NjlfYXBwbGll cl9yZWNvbm5lY3RfdGVzdC5sdWE8YnI+aW5kZXggOWM2ZDI2MDM2Li4yZGFkODdkZDAgMTAwNjQ0 PGJyPi0tLSBhL3Rlc3QvcmVwbGljYXRpb24tbHVhdGVzdC9naF80NjY5X2FwcGxpZXJfcmVjb25u ZWN0X3Rlc3QubHVhPGJyPisrKyBiL3Rlc3QvcmVwbGljYXRpb24tbHVhdGVzdC9naF80NjY5X2Fw cGxpZXJfcmVjb25uZWN0X3Rlc3QubHVhPGJyPkBAIC0xLDE0ICsxLDEwIEBAPGJyPiZuYnNwOyZu YnNwO2xvY2FsIHQgPSByZXF1aXJlKCdsdWF0ZXN0Jyk8YnI+Jm5ic3A7Jm5ic3A7bG9jYWwgY2x1 c3RlciA9IHJlcXVpcmUoJ3Rlc3QubHVhdGVzdF9oZWxwZXJzLmNsdXN0ZXInKTxicj4rbG9jYWwg YXNzZXJ0cyA9IHJlcXVpcmUoJ3Rlc3QubHVhdGVzdF9oZWxwZXJzLmFzc2VydHMnKTxicj4mbmJz cDsmbmJzcDtsb2NhbCBoZWxwZXJzID0gcmVxdWlyZSgndGVzdC5sdWF0ZXN0X2hlbHBlcnMnKTxi cj48YnI+Jm5ic3A7Jm5ic3A7bG9jYWwgZyA9IHQuZ3JvdXAoJ2doLTQ2NjktYXBwbGllci1yZWNv bm5lY3QnKTxicj48YnI+LWxvY2FsIGZ1bmN0aW9uIGNoZWNrX2ZvbGxvd19tYXN0ZXIoc2VydmVy KTxicj4tJm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiB0LmFzc2VydF9lcXVhbHMoPGJyPi0mbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc2VydmVyOmV2YWwoJ3JldHVy biBib3guaW5mby5yZXBsaWNhdGlvblsxXS51cHN0cmVhbS5zdGF0dXMnKSw8YnI+J2ZvbGxvdycp PGJyPi1lbmQ8YnI+LTxicj4mbmJzcDsmbmJzcDtnLmJlZm9yZV9lYWNoKGZ1bmN0aW9uKCk8YnI+ Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGcuY2x1c3RlciA9IGNsdXN0ZXI6bmV3KHt9 KTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZy5tYXN0ZXIgPSBnLmNsdXN0ZXI6 YnVpbGRfc2VydmVyKHthbGlhcyA9ICdtYXN0ZXInfSk8YnI+QEAgLTIyLDcgKzE4LDcgQEAgZy5i ZWZvcmVfZWFjaChmdW5jdGlvbigpPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBn LmNsdXN0ZXI6YWRkX3NlcnZlcihnLnJlcGxpY2EpPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBnLmNsdXN0ZXI6YWRkX3NlcnZlcihnLnJlcGxpY2EyKTxicj4mbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgZy5jbHVzdGVyOnN0YXJ0KCk8YnI+LSZuYnNwOyZuYnNwOyZuYnNw OyBjaGVja19mb2xsb3dfbWFzdGVyKGcucmVwbGljYSk8YnI+KyZuYnNwOyZuYnNwOyZuYnNwOyBh c3NlcnRzOmFzc2VydF9zZXJ2ZXJfZm9sbG93X3Vwc3RyZWFtKGcucmVwbGljYSwgMSk8YnI+Jm5i c3A7Jm5ic3A7ZW5kKTxicj48YnI+Jm5ic3A7Jm5ic3A7Zy5hZnRlcl9lYWNoKGZ1bmN0aW9uKCk8 YnI+QEAgLTQ4LDYgKzQ0LDYgQEAgZy50ZXN0X2FwcGxpZXJfY29ubmVjdGlvbl9vbl9yZWNvbmZp ZyA9IGZ1bmN0aW9uKGcpPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBdXSk8YnI+LSZuYnNwOyZuYnNwOyZuYnNwOyBjaGVja19m b2xsb3dfbWFzdGVyKGcucmVwbGljYSk8YnI+KyZuYnNwOyZuYnNwOyZuYnNwOyBhc3NlcnRzOmFz c2VydF9zZXJ2ZXJfZm9sbG93X3Vwc3RyZWFtKGcucmVwbGljYSwgMSk8YnI+Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IHQuYXNzZXJ0X2VxdWFscyhnLm1hc3RlcjpncmVwX2xvZygiZXhp dGluZyB0aGUgcmVsYXkgbG9vcCIpLCBuaWwpPGJyPiZuYnNwOyZuYnNwO2VuZDxicj48YnI+Jmd0 OyArbG9jYWwgZnVuY3Rpb24gY2hlY2tfZm9sbG93X21hc3RlcihzZXJ2ZXIpPGJyPiZndDsgKyBy ZXR1cm4gdC5hc3NlcnRfZXF1YWxzKDxicj4mZ3Q7ICsgc2VydmVyOmV2YWwoJ3JldHVybiBib3gu aW5mby5yZXBsaWNhdGlvblsxXS51cHN0cmVhbS5zdGF0dXMnKSwgJ2ZvbGxvdycpPGJyPiZndDsg K2VuZDxicj4mZ3Q7IEFsc28sIGRvIHdlIHdhbnQgdG8gY2hlY2sgdGhpcyBwYXRjaCZuYnNwO29u bHkgZm9yIG1lbXR4PyBJIGFza2VkIGJlY2F1c2U8YnI+Jmd0OyB5b3UgaGF2ZW7igJl0IHByb3Zp ZGVkIGFueSBlbmdpbmUgZm9yIHRoZSB0ZXN0Ljxicj48YnI+RW5naW5lIG9ubHkgbWF0dGVycyB3 aGVuIHlvdSBjcmVhdGUgc3BhY2VzIGluIHRoZSB0ZXN0Y2FzZS48YnI+SSBoYXZlIG5vbmUgaGVy ZSBzbyB0aGVyZSdzIG5vdGhpbmcgdG8gdGVzdCBhY3R1YWxseS48YnI+PGJyPkFsc28sIGV2ZW4g d2hlbiBhIHJlcGxpY2F0aW9uIHRlc3QgY3JlYXRlcyBzb21lIHNwYWNlcyB3ZSB1c3VhbGx5PGJy PihidXQgbm90IGFsd2F5cykgZG9uJ3QgY2FyZSB3aGljaCBlbmdpbmUgaXQgdXNlcy4gUmVwbGlj YXRpb24gc3Vic3lzdGVtPGJyPmlzIGdlbmVyYWxseSBhZ25vc3RpYyBvZiB0aGUgc3RvcmFnZSBl bmdpbmUgdXNlZCwgYmVjYXVzZSByZXBsaWNhdGlvbiB3b3Jrczxicj52aWEgV0FMLCBhbmQgaXQn cyB0aGUgc2FtZSBmb3IgYm90aCBtZW10eCBhbmQgdmlueWwuPGJyPjxicj48YnI+Jmd0OyAtLTxi cj4mZ3Q7IFZpdGFsaWlhIElvZmZlPGJyPiZndDs8YnI+Jmd0OyDQodGA0LXQtNCwLCAyNyDQvtC6 0YLRj9Cx0YDRjyAyMDIxLCAxMDoyMCArMDM6MDAg0L7RgiBTZXJnZSBQZXRyZW5rbzxicj4mZ3Q7 ICZsdDs8YSBocmVmPSIvY29tcG9zZT9Ubz1zZXJnZXBldHJlbmtvQHRhcmFudG9vbC5vcmciPnNl cmdlcGV0cmVua29AdGFyYW50b29sLm9yZzwvYT4mZ3Q7Ojxicj4mZ3Q7IFJlcGxpY2F0aW9uIHJl Y29uZmlndXJhdGlvbiB1c2VkIHRvIHdvcmsgYXMgZm9sbG93czogdXBvbiByZWNlaXZpbmcgYTxi cj4mZ3Q7IG5ldyBjb25maWcgZGlzY29ubmVjdCBmcm9tIGFsbCB0aGUgZXhpc3RpbmcgbWFzdGVy cyBhbmQgdHJ5IHRvIGNvbm5lY3Q8YnI+Jmd0OyB0byBhbGwgdGhlIG1hc3RlcnMgZnJvbSB0aGUg bmV3IGNvbmZpZy48YnI+Jmd0Ozxicj4mZ3Q7IFRoaXMgbGVhZCB0byBpbnN0YW5jZXMgZG9pbmcg ZXh0cmEgd29yayB3aGVuIG9sZCBjb25maWcgYW5kIG5ldyBjb25maWc8YnI+Jmd0OyBoYWQgdGhl IHNhbWUgbm9kZXMgaW4gdGhlbTogaW5zdGVhZCBvZiBkb2luZyBub3RoaW5nLCB0YXJhbnRvb2w8 YnI+Jmd0OyByZWluaXRpYWxpemVkIHRoZSBjb25uZWN0aW9uLjxicj4mZ3Q7PGJyPiZndDsgVGhl cmUgd2FzIGFub3RoZXIgcHJvYmxlbTogd2hlbiBhbiBleGlzdGluZyBjb25uZWN0aW9uIGlzIGJy b2tlbiw8YnI+Jmd0OyBtYXN0ZXI8YnI+Jmd0OyB0YWtlcyBzb21lIHRpbWUgdG8gbm90aWNlIHRo YXQuIFNvLCB3aGVuIHJlcGxpY2EgcmVzZXRzIHRoZTxicj4mZ3Q7IGNvbm5lY3Rpb24sPGJyPiZn dDsgaXQgbWF5IHRyeSB0byByZWNvbm5lY3QgZmFzdGVyIHRoYW4gdGhlIG1hc3RlciBpcyBhYmxl IHRvIG5vdGljZSBpdHM8YnI+Jmd0OyBhYnNlbmNlLiBJbiB0aGlzIGNhc2UgcmVwbGljYSB3b3Vs ZG4ndCBiZSBhYmxlIHRvIHJlY29ubmVjdCBkdWUgdG88YnI+Jmd0OyBgZHVwbGljYXRlIGNvbm5l Y3Rpb24gd2l0aCB0aGUgc2FtZSByZXBsaWNhIFVVSURgLiBTbyByZXBsaWNhdGlvbjxicj4mZ3Q7 IHdvdWxkPGJyPiZndDsgc3RvcCBmb3IgYSByZXBsaWNhdGlvbl90aW1lb3V0LCB3aGljaCBtYXkg YmUgcXVpdGUgbGFyZ2UgKHNlY29uZHMgb3I8YnI+Jmd0OyB0ZW5zIG9mIHNlY29uZHMpLjxicj4m Z3Q7PGJyPiZndDsgTGV0J3MgcHJldmVudCB0YXJhbnRvb2wgZnJvbSByZWNvbm5lY3RpbmcgdG8g dGhlIHNhbWUgaW5zdGFuY2UsIGlmPGJyPiZndDsgdGhlcmU8YnI+Jmd0OyBhbHJlYWR5IGlzIGEg d29ya2luZyBjb25uZWN0aW9uLjxicj4mZ3Q7PGJyPiZndDsgQ2xvc2VzICM0NjY5PGJyPiZndDsg LS0tPGJyPiZndDsgJm5ic3A7Li4uL2doLTQ2NjktYXBwbGllci1yZWNvbmZpZy1yZWNvbm5lY3Qu bWQgfCA1ICsrPGJyPiZndDsgJm5ic3A7c3JjL2JveC9ib3guY2MgfCAzMSArKysrKysrKy0tLTxi cj4mZ3Q7ICZuYnNwO3NyYy9ib3gvcmVwbGljYXRpb24uY2MgfCA0MSArKysrKysrKystLS0tLTxi cj4mZ3Q7ICZuYnNwO3NyYy9ib3gvcmVwbGljYXRpb24uaCB8IDQgKy08YnI+Jmd0OyAmbmJzcDsu Li4vZ2hfNDY2OV9hcHBsaWVyX3JlY29ubmVjdF90ZXN0Lmx1YSB8IDUzICsrKysrKysrKysrKysr KysrKys8YnI+Jmd0OyAmbmJzcDs1IGZpbGVzIGNoYW5nZWQsIDExMyBpbnNlcnRpb25zKCspLCAy MSBkZWxldGlvbnMoLSk8YnI+Jmd0OyAmbmJzcDtjcmVhdGUgbW9kZSAxMDA2NDQ8YnI+Jmd0OyBj aGFuZ2Vsb2dzL3VucmVsZWFzZWQvZ2gtNDY2OS1hcHBsaWVyLXJlY29uZmlnLXJlY29ubmVjdC5t ZDxicj4mZ3Q7ICZuYnNwO2NyZWF0ZSBtb2RlIDEwMDY0NDxicj4mZ3Q7IHRlc3QvcmVwbGljYXRp b24tbHVhdGVzdC9naF80NjY5X2FwcGxpZXJfcmVjb25uZWN0X3Rlc3QubHVhPGJyPiZndDs8YnI+ Jmd0OyBkaWZmIC0tZ2l0PGJyPiZndDsgYS9jaGFuZ2Vsb2dzL3VucmVsZWFzZWQvZ2gtNDY2OS1h cHBsaWVyLXJlY29uZmlnLXJlY29ubmVjdC5tZDxicj4mZ3Q7IGIvY2hhbmdlbG9ncy91bnJlbGVh c2VkL2doLTQ2NjktYXBwbGllci1yZWNvbmZpZy1yZWNvbm5lY3QubWQ8YnI+Jmd0OyBuZXcgZmls ZSBtb2RlIDEwMDY0NDxicj4mZ3Q7IGluZGV4IDAwMDAwMDAwMC4uMmE3NzY4NzJiPGJyPiZndDsg LS0tIC9kZXYvbnVsbDxicj4mZ3Q7ICsrKyBiL2NoYW5nZWxvZ3MvdW5yZWxlYXNlZC9naC00NjY5 LWFwcGxpZXItcmVjb25maWctcmVjb25uZWN0Lm1kPGJyPiZndDsgQEAgLTAsMCArMSw1IEBAPGJy PiZndDsgKyMjIGJ1Z2ZpeC9yZXBsaWNhdGlvbjxicj4mZ3Q7ICs8YnI+Jmd0OyArKiBGaXhlZCBy ZXBsaWNhIHJlY29ubmVjdGluZyB0byBhIGxpdmluZyBtYXN0ZXIgb24gYW55PGJyPiZndDsgYGJv eC5jZmd7cmVwbGljYXRpb249Li4ufWA8YnI+Jmd0OyArIGNoYW5nZS4gU3VjaCByZWNvbm5lY3Rz IGNvdWxkIGxlYWQgdG8gcmVwbGljYSBmYWlsaW5nIHRvIHJlc3RvcmU8YnI+Jmd0OyBjb25uZWN0 aW9uPGJyPiZndDsgKyBmb3IgYHJlcGxpY2F0aW9uX3RpbWVvdXRgIHNlY29uZHMgKGdoLTQ2Njkp Ljxicj4mZ3Q7IGRpZmYgLS1naXQgYS9zcmMvYm94L2JveC5jYyBiL3NyYy9ib3gvYm94LmNjPGJy PiZndDsgaW5kZXggYjExNTRhZmZhLi5jMmU0YTU1YTcgMTAwNjQ0PGJyPiZndDsgLS0tIGEvc3Jj L2JveC9ib3guY2M8YnI+Jmd0OyArKysgYi9zcmMvYm94L2JveC5jYzxicj4mZ3Q7IEBAIC0xMjYx LDcgKzEyNjEsNyBAQCBjZmdfZ2V0X3JlcGxpY2F0aW9uKGludCAqcF9jb3VudCk8YnI+Jmd0OyAm bmJzcDsmbmJzcDsqIGRvbid0IHN0YXJ0IGFwcGxpZXJzLjxicj4mZ3Q7ICZuYnNwOyZuYnNwOyov PGJyPiZndDsgJm5ic3A7c3RhdGljIHZvaWQ8YnI+Jmd0OyAtYm94X3N5bmNfcmVwbGljYXRpb24o Ym9vbCBjb25uZWN0X3F1b3J1bSk8YnI+Jmd0OyArYm94X3N5bmNfcmVwbGljYXRpb24oYm9vbCBk b19xdW9ydW0sIGJvb2wgZG9fcmV1c2UpPGJyPiZndDsgJm5ic3A7ezxicj4mZ3Q7ICZuYnNwOyBp bnQgY291bnQgPSAwOzxicj4mZ3Q7ICZuYnNwOyBzdHJ1Y3QgYXBwbGllciAqKmFwcGxpZXJzID0g Y2ZnX2dldF9yZXBsaWNhdGlvbigmYW1wO2NvdW50KTs8YnI+Jmd0OyBAQCAtMTI3MiwxMiArMTI3 MiwyNyBAQCBib3hfc3luY19yZXBsaWNhdGlvbihib29sIGNvbm5lY3RfcXVvcnVtKTxicj4mZ3Q7 ICZuYnNwOyBmb3IgKGludCBpID0gMDsgaSAmbHQ7IGNvdW50OyBpKyspPGJyPiZndDsgJm5ic3A7 IGFwcGxpZXJfZGVsZXRlKGFwcGxpZXJzW2ldKTsgLyogZG9lc24ndCBhZmZlY3QgZGlhZyAqLzxi cj4mZ3Q7ICZuYnNwOyB9KTs8YnI+Jmd0OyAtPGJyPiZndDsgLSByZXBsaWNhc2V0X2Nvbm5lY3Qo YXBwbGllcnMsIGNvdW50LCBjb25uZWN0X3F1b3J1bSk7PGJyPiZndDsgKyByZXBsaWNhc2V0X2Nv bm5lY3QoYXBwbGllcnMsIGNvdW50LCBkb19xdW9ydW0sIGRvX3JldXNlKTs8YnI+Jmd0Ozxicj4m Z3Q7ICZuYnNwOyBndWFyZC5pc19hY3RpdmUgPSBmYWxzZTs8YnI+Jmd0OyAmbmJzcDt9PGJyPiZn dDs8YnI+Jmd0OyArc3RhdGljIGlubGluZSB2b2lkPGJyPiZndDsgK2JveF9yZXN0YXJ0X3JlcGxp Y2F0aW9uKHZvaWQpPGJyPiZndDsgK3s8YnI+Jmd0OyArIGNvbnN0IGJvb2wgZG9fcXVvcnVtID0g dHJ1ZTs8YnI+Jmd0OyArIGNvbnN0IGJvb2wgZG9fcmV1c2UgPSBmYWxzZTs8YnI+Jmd0OyArIGJv eF9zeW5jX3JlcGxpY2F0aW9uKGRvX3F1b3J1bSwgZG9fcmV1c2UpOzxicj4mZ3Q7ICt9PGJyPiZn dDsgKzxicj4mZ3Q7ICtzdGF0aWMgaW5saW5lIHZvaWQ8YnI+Jmd0OyArYm94X3VwZGF0ZV9yZXBs aWNhdGlvbih2b2lkKTxicj4mZ3Q7ICt7PGJyPiZndDsgKyBjb25zdCBib29sIGRvX3F1b3J1bSA9 IGZhbHNlOzxicj4mZ3Q7ICsgY29uc3QgYm9vbCBkb19yZXVzZSA9IHRydWU7PGJyPiZndDsgKyBi b3hfc3luY19yZXBsaWNhdGlvbihkb19xdW9ydW0sIGRvX3JldXNlKTs8YnI+Jmd0OyArfTxicj4m Z3Q7ICs8YnI+Jmd0OyAmbmJzcDt2b2lkPGJyPiZndDsgJm5ic3A7Ym94X3NldF9yZXBsaWNhdGlv bih2b2lkKTxicj4mZ3Q7ICZuYnNwO3s8YnI+Jmd0OyBAQCAtMTI5Niw3ICsxMzExLDcgQEAgYm94 X3NldF9yZXBsaWNhdGlvbih2b2lkKTxicj4mZ3Q7ICZuYnNwOyAqIFN0YXkgaW4gb3JwaGFuIG1v ZGUgaW4gY2FzZSB3ZSBmYWlsIHRvIGNvbm5lY3QgdG8gYXQgbGVhc3Q8YnI+Jmd0OyAmbmJzcDsg KiAncmVwbGljYXRpb25fY29ubmVjdF9xdW9ydW0nIHJlbW90ZSBpbnN0YW5jZXMuPGJyPiZndDsg Jm5ic3A7ICovPGJyPiZndDsgLSBib3hfc3luY19yZXBsaWNhdGlvbihmYWxzZSk7PGJyPiZndDsg KyBib3hfdXBkYXRlX3JlcGxpY2F0aW9uKCk7PGJyPiZndDsgJm5ic3A7IC8qIEZvbGxvdyByZXBs aWNhICovPGJyPiZndDsgJm5ic3A7IHJlcGxpY2FzZXRfZm9sbG93KCk7PGJyPiZndDsgJm5ic3A7 IC8qIFdhaXQgdW50aWwgYXBwbGllcnMgYXJlIGluIHN5bmMgKi88YnI+Jmd0OyBAQCAtMTQxNiw3 ICsxNDMxLDcgQEAgYm94X3NldF9yZXBsaWNhdGlvbl9hbm9uKHZvaWQpPGJyPiZndDsgJm5ic3A7 ICogdGhlbSBjYW4gcmVnaXN0ZXIgYW5kIG90aGVycyByZXNlbmQgYTxicj4mZ3Q7ICZuYnNwOyAq IG5vbi1hbm9ueW1vdXMgc3Vic2NyaWJlLjxicj4mZ3Q7ICZuYnNwOyAqLzxicj4mZ3Q7IC0gYm94 X3N5bmNfcmVwbGljYXRpb24odHJ1ZSk7PGJyPiZndDsgKyBib3hfcmVzdGFydF9yZXBsaWNhdGlv bigpOzxicj4mZ3Q7ICZuYnNwOyAvKjxicj4mZ3Q7ICZuYnNwOyAqIFdhaXQgdW50aWwgdGhlIG1h c3RlciBoYXMgcmVnaXN0ZXJlZCB0aGlzPGJyPiZndDsgJm5ic3A7ICogaW5zdGFuY2UuPGJyPiZn dDsgQEAgLTMyNzksNyArMzI5NCw3IEBAIGJvb3RzdHJhcChjb25zdCBzdHJ1Y3QgdHRfdXVpZCAq aW5zdGFuY2VfdXVpZCw8YnI+Jmd0OyAmbmJzcDsgKiB3aXRoIGNvbm5lY3RpbmcgdG8gJ3JlcGxp Y2F0aW9uX2Nvbm5lY3RfcXVvcnVtJyBtYXN0ZXJzLjxicj4mZ3Q7ICZuYnNwOyAqIElmIHRoaXMg YWxzbyBmYWlscywgdGhyb3cgYW4gZXJyb3IuPGJyPiZndDsgJm5ic3A7ICovPGJyPiZndDsgLSBi b3hfc3luY19yZXBsaWNhdGlvbih0cnVlKTs8YnI+Jmd0OyArIGJveF9yZXN0YXJ0X3JlcGxpY2F0 aW9uKCk7PGJyPiZndDs8YnI+Jmd0OyAmbmJzcDsgc3RydWN0IHJlcGxpY2EgKm1hc3RlciA9IHJl cGxpY2FzZXRfZmluZF9qb2luX21hc3RlcigpOzxicj4mZ3Q7ICZuYnNwOyBhc3NlcnQobWFzdGVy ID09IE5VTEwgfHwgbWFzdGVyLSZndDthcHBsaWVyICE9IE5VTEwpOzxicj4mZ3Q7IEBAIC0zMzU2 LDcgKzMzNzEsNyBAQCBsb2NhbF9yZWNvdmVyeShjb25zdCBzdHJ1Y3QgdHRfdXVpZDxicj4mZ3Q7 ICppbnN0YW5jZV91dWlkLDxicj4mZ3Q7ICZuYnNwOyBpZiAod2FsX2Rpcl9sb2NrICZndDs9IDAp IHs8YnI+Jmd0OyAmbmJzcDsgaWYgKGJveF9saXN0ZW4oKSAhPSAwKTxicj4mZ3Q7ICZuYnNwOyBk aWFnX3JhaXNlKCk7PGJyPiZndDsgLSBib3hfc3luY19yZXBsaWNhdGlvbihmYWxzZSk7PGJyPiZn dDsgKyBib3hfdXBkYXRlX3JlcGxpY2F0aW9uKCk7PGJyPiZndDs8YnI+Jmd0OyAmbmJzcDsgc3Ry dWN0IHJlcGxpY2EgKm1hc3Rlcjs8YnI+Jmd0OyAmbmJzcDsgaWYgKHJlcGxpY2FzZXRfbmVlZHNf cmVqb2luKCZhbXA7bWFzdGVyKSkgezxicj4mZ3Q7IEBAIC0zNDM1LDcgKzM0NTAsNyBAQCBsb2Nh bF9yZWNvdmVyeShjb25zdCBzdHJ1Y3QgdHRfdXVpZDxicj4mZ3Q7ICppbnN0YW5jZV91dWlkLDxi cj4mZ3Q7IHZjbG9ja19jb3B5KCZhbXA7cmVwbGljYXNldC52Y2xvY2ssICZhbXA7cmVjb3Zlcnkt Jmd0O3ZjbG9jayk7PGJyPiZndDsgJm5ic3A7IGlmIChib3hfbGlzdGVuKCkgIT0gMCk8YnI+Jmd0 OyAmbmJzcDsgZGlhZ19yYWlzZSgpOzxicj4mZ3Q7IC0gYm94X3N5bmNfcmVwbGljYXRpb24oZmFs c2UpOzxicj4mZ3Q7ICsgYm94X3VwZGF0ZV9yZXBsaWNhdGlvbigpOzxicj4mZ3Q7ICZuYnNwOyB9 PGJyPiZndDsgJm5ic3A7IHN0cmVhbV9ndWFyZC5pc19hY3RpdmUgPSBmYWxzZTs8YnI+Jmd0OyAm bmJzcDsgcmVjb3ZlcnlfZmluYWxpemUocmVjb3ZlcnkpOzxicj4mZ3Q7IGRpZmYgLS1naXQgYS9z cmMvYm94L3JlcGxpY2F0aW9uLmNjIGIvc3JjL2JveC9yZXBsaWNhdGlvbi5jYzxicj4mZ3Q7IGlu ZGV4IDEyODhiYzliMS4uMTBiNGFjOTE1IDEwMDY0NDxicj4mZ3Q7IC0tLSBhL3NyYy9ib3gvcmVw bGljYXRpb24uY2M8YnI+Jmd0OyArKysgYi9zcmMvYm94L3JlcGxpY2F0aW9uLmNjPGJyPiZndDsg QEAgLTUwNyw3ICs1MDcsNyBAQCByZXBsaWNhX29uX2FwcGxpZXJfc3RhdGVfZihzdHJ1Y3QgdHJp Z2dlcjxicj4mZ3Q7ICp0cmlnZ2VyLCB2b2lkICpldmVudCk8YnI+Jmd0OyAmbmJzcDsmbmJzcDsq IHVwb24gcmVjb25maWd1cmF0aW9uIG9mIGJveC5jZmcucmVwbGljYXRpb24uPGJyPiZndDsgJm5i c3A7Jm5ic3A7Ki88YnI+Jmd0OyAmbmJzcDtzdGF0aWMgdm9pZDxicj4mZ3Q7IC1yZXBsaWNhc2V0 X3VwZGF0ZShzdHJ1Y3QgYXBwbGllciAqKmFwcGxpZXJzLCBpbnQgY291bnQpPGJyPiZndDsgK3Jl cGxpY2FzZXRfdXBkYXRlKHN0cnVjdCBhcHBsaWVyICoqYXBwbGllcnMsIGludCBjb3VudCwgYm9v bDxicj4mZ3Q7IGtlZXBfY29ubmVjdCk8YnI+Jmd0OyAmbmJzcDt7PGJyPiZndDsgJm5ic3A7IHJl cGxpY2FfaGFzaF90IHVuaXE7PGJyPiZndDsgJm5ic3A7IG1lbXNldCgmYW1wO3VuaXEsIDAsIHNp emVvZih1bmlxKSk7PGJyPiZndDsgQEAgLTU3MiwyMiArNTcyLDM5IEBAIHJlcGxpY2FzZXRfdXBk YXRlKHN0cnVjdCBhcHBsaWVyICoqYXBwbGllcnMsPGJyPiZndDsgaW50IGNvdW50KTxicj4mZ3Q7 ICZuYnNwOyBhcHBsaWVyX3N0b3AoYXBwbGllcik7PGJyPiZndDsgJm5ic3A7IGFwcGxpZXJfZGVs ZXRlKGFwcGxpZXIpOzxicj4mZ3Q7ICZuYnNwOyB9PGJyPiZndDsgKzxicj4mZ3Q7ICsgcmVwbGlj YXNldC5hcHBsaWVyLnRvdGFsID0gY291bnQ7PGJyPiZndDsgKyByZXBsaWNhc2V0LmFwcGxpZXIu Y29ubmVjdGVkID0gMDs8YnI+Jmd0OyArIHJlcGxpY2FzZXQuYXBwbGllci5sb2FkaW5nID0gMDs8 YnI+Jmd0OyArIHJlcGxpY2FzZXQuYXBwbGllci5zeW5jZWQgPSAwOzxicj4mZ3Q7ICZuYnNwOyBy ZXBsaWNhc2V0X2ZvcmVhY2gocmVwbGljYSkgezxicj4mZ3Q7ICZuYnNwOyBpZiAocmVwbGljYS0m Z3Q7YXBwbGllciA9PSBOVUxMKTxicj4mZ3Q7ICZuYnNwOyBjb250aW51ZTs8YnI+Jmd0OyAtIGFw cGxpZXIgPSByZXBsaWNhLSZndDthcHBsaWVyOzxicj4mZ3Q7IC0gcmVwbGljYV9jbGVhcl9hcHBs aWVyKHJlcGxpY2EpOzxicj4mZ3Q7IC0gcmVwbGljYS0mZ3Q7YXBwbGllcl9zeW5jX3N0YXRlID0g QVBQTElFUl9ESVNDT05ORUNURUQ7PGJyPiZndDsgKyBzdHJ1Y3QgcmVwbGljYSAqb3RoZXIgPSBy ZXBsaWNhX2hhc2hfc2VhcmNoKCZhbXA7dW5pcSwgcmVwbGljYSk7PGJyPiZndDsgKyBpZiAoa2Vl cF9jb25uZWN0ICZhbXA7JmFtcDsgb3RoZXIgIT0gTlVMTCAmYW1wOyZhbXA7PGJyPiZndDsgKyAo cmVwbGljYS0mZ3Q7YXBwbGllci0mZ3Q7c3RhdGUgPT0gQVBQTElFUl9GT0xMT1cgfHw8YnI+Jmd0 OyArIHJlcGxpY2EtJmd0O2FwcGxpZXItJmd0O3N0YXRlID09IEFQUExJRVJfU1lOQykpIHs8YnI+ Jmd0OyArIC8qPGJyPiZndDsgKyAqIFRyeSBub3QgdG8gaW50ZXJydXB0IHdvcmtpbmcgYXBwbGll cnMgdXBvbjxicj4mZ3Q7ICsgKiByZWNvbmZpZ3VyYXRpb24uPGJyPiZndDsgKyAqLzxicj4mZ3Q7 ICsgcmVwbGljYXNldC5hcHBsaWVyLmNvbm5lY3RlZCsrOzxicj4mZ3Q7ICsgcmVwbGljYXNldC5h cHBsaWVyLnN5bmNlZCsrOzxicj4mZ3Q7ICsgcmVwbGljYV9oYXNoX3JlbW92ZSgmYW1wO3VuaXEs IG90aGVyKTs8YnI+Jmd0OyArIGFwcGxpZXIgPSBvdGhlci0mZ3Q7YXBwbGllcjs8YnI+Jmd0OyAr IHJlcGxpY2FfY2xlYXJfYXBwbGllcihvdGhlcik7PGJyPiZndDsgKyByZXBsaWNhX2RlbGV0ZShv dGhlcik7PGJyPiZndDsgKyB9IGVsc2Ugezxicj4mZ3Q7ICsgYXBwbGllciA9IHJlcGxpY2EtJmd0 O2FwcGxpZXI7PGJyPiZndDsgKyByZXBsaWNhX2NsZWFyX2FwcGxpZXIocmVwbGljYSk7PGJyPiZn dDsgKyByZXBsaWNhLSZndDthcHBsaWVyX3N5bmNfc3RhdGUgPSBBUFBMSUVSX0RJU0NPTk5FQ1RF RDs8YnI+Jmd0OyArIH08YnI+Jmd0OyAmbmJzcDsgYXBwbGllcl9zdG9wKGFwcGxpZXIpOzxicj4m Z3Q7ICZuYnNwOyBhcHBsaWVyX2RlbGV0ZShhcHBsaWVyKTs8YnI+Jmd0OyAmbmJzcDsgfTxicj4m Z3Q7PGJyPiZndDsgLSAvKiBTYXZlIG5ldyBhcHBsaWVycyAqLzxicj4mZ3Q7IC0gcmVwbGljYXNl dC5hcHBsaWVyLnRvdGFsID0gY291bnQ7PGJyPiZndDsgLSByZXBsaWNhc2V0LmFwcGxpZXIuY29u bmVjdGVkID0gMDs8YnI+Jmd0OyAtIHJlcGxpY2FzZXQuYXBwbGllci5sb2FkaW5nID0gMDs8YnI+ Jmd0OyAtIHJlcGxpY2FzZXQuYXBwbGllci5zeW5jZWQgPSAwOzxicj4mZ3Q7PGJyPiZndDsgKyAv KiBTYXZlIG5ldyBhcHBsaWVycyAqLzxicj4mZ3Q7IHJlcGxpY2FfaGFzaF9mb3JlYWNoX3NhZmUo JmFtcDt1bmlxLCByZXBsaWNhLCBuZXh0KSB7PGJyPiZndDsgJm5ic3A7IHJlcGxpY2FfaGFzaF9y ZW1vdmUoJmFtcDt1bmlxLCByZXBsaWNhKTs8YnI+Jmd0Ozxicj4mZ3Q7IEBAIC02NjQsMTEgKzY4 MSwxMSBAQCBhcHBsaWVyX29uX2Nvbm5lY3RfZihzdHJ1Y3QgdHJpZ2dlcjxicj4mZ3Q7ICp0cmln Z2VyLCB2b2lkICpldmVudCk8YnI+Jmd0Ozxicj4mZ3Q7ICZuYnNwO3ZvaWQ8YnI+Jmd0OyAmbmJz cDtyZXBsaWNhc2V0X2Nvbm5lY3Qoc3RydWN0IGFwcGxpZXIgKiphcHBsaWVycywgaW50IGNvdW50 LDxicj4mZ3Q7IC0gYm9vbCBjb25uZWN0X3F1b3J1bSk8YnI+Jmd0OyArIGJvb2wgY29ubmVjdF9x dW9ydW0sIGJvb2wga2VlcF9jb25uZWN0KTxicj4mZ3Q7ICZuYnNwO3s8YnI+Jmd0OyAmbmJzcDsg aWYgKGNvdW50ID09IDApIHs8YnI+Jmd0OyAmbmJzcDsgLyogQ2xlYW51cCB0aGUgcmVwbGljYSBz ZXQuICovPGJyPiZndDsgLSByZXBsaWNhc2V0X3VwZGF0ZShhcHBsaWVycywgY291bnQpOzxicj4m Z3Q7ICsgcmVwbGljYXNldF91cGRhdGUoYXBwbGllcnMsIDAsIGZhbHNlKTs8YnI+Jmd0OyAmbmJz cDsgcmV0dXJuOzxicj4mZ3Q7ICZuYnNwOyB9PGJyPiZndDs8YnI+Jmd0OyBAQCAtNzcyLDcgKzc4 OSw3IEBAIHJlcGxpY2FzZXRfY29ubmVjdChzdHJ1Y3QgYXBwbGllciAqKmFwcGxpZXJzLDxicj4m Z3Q7IGludCBjb3VudCw8YnI+Jmd0Ozxicj4mZ3Q7ICZuYnNwOyAvKiBOb3cgYWxsIHRoZSBhcHBs aWVycyBhcmUgY29ubmVjdGVkLCB1cGRhdGUgdGhlIHJlcGxpY2Egc2V0LiAqLzxicj4mZ3Q7ICZu YnNwOyB0cnkgezxicj4mZ3Q7IC0gcmVwbGljYXNldF91cGRhdGUoYXBwbGllcnMsIGNvdW50KTs8 YnI+Jmd0OyArIHJlcGxpY2FzZXRfdXBkYXRlKGFwcGxpZXJzLCBjb3VudCwga2VlcF9jb25uZWN0 KTs8YnI+Jmd0OyAmbmJzcDsgfSBjYXRjaCAoRXhjZXB0aW9uICplKSB7PGJyPiZndDsgJm5ic3A7 IGdvdG8gZXJyb3I7PGJyPiZndDsgJm5ic3A7IH08YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvc3JjL2Jv eC9yZXBsaWNhdGlvbi5oIGIvc3JjL2JveC9yZXBsaWNhdGlvbi5oPGJyPiZndDsgaW5kZXggNGM4 MmNkODM5Li5hOGZlZDQ1ZTggMTAwNjQ0PGJyPiZndDsgLS0tIGEvc3JjL2JveC9yZXBsaWNhdGlv bi5oPGJyPiZndDsgKysrIGIvc3JjL2JveC9yZXBsaWNhdGlvbi5oPGJyPiZndDsgQEAgLTQzOSwx MCArNDM5LDEyIEBAIHJlcGxpY2FzZXRfYWRkX2Fub24oY29uc3Qgc3RydWN0IHR0X3V1aWQ8YnI+ Jmd0OyAqcmVwbGljYV91dWlkKTs8YnI+Jmd0OyAmbmJzcDsmbmJzcDsqIFxwYXJhbSBjb25uZWN0 X3F1b3J1bSBpZiB0aGlzIGZsYWcgaXMgc2V0LCBmYWlsIHVubGVzcyBhdDxicj4mZ3Q7ICZuYnNw OyZuYnNwOyogbGVhc3QgcmVwbGljYXRpb25fY29ubmVjdF9xdW9ydW08YnI+Jmd0OyAmbmJzcDsm bmJzcDsqIGFwcGxpZXJzIGhhdmUgc3VjY2Vzc2Z1bGx5IGNvbm5lY3RlZC48YnI+Jmd0OyArICog XHBhcmFtIGtlZXBfY29ubmVjdCBpZiB0aGlzIGZsYWcgaXMgc2V0IGRvIG5vdCBmb3JjZSBhPGJy PiZndDsgcmVjb25uZWN0IGlmIHRoZTxicj4mZ3Q7ICsgKiBvbGQgY29ubmVjdGlvbiB0byB0aGUg cmVwbGljYSBpcyBmaW5lLjxicj4mZ3Q7ICZuYnNwOyZuYnNwOyovPGJyPiZndDsgJm5ic3A7dm9p ZDxicj4mZ3Q7ICZuYnNwO3JlcGxpY2FzZXRfY29ubmVjdChzdHJ1Y3QgYXBwbGllciAqKmFwcGxp ZXJzLCBpbnQgY291bnQsPGJyPiZndDsgLSBib29sIGNvbm5lY3RfcXVvcnVtKTs8YnI+Jmd0OyAr IGJvb2wgY29ubmVjdF9xdW9ydW0sIGJvb2wga2VlcF9jb25uZWN0KTs8YnI+Jmd0Ozxicj4mZ3Q7 ICZuYnNwOy8qKjxicj4mZ3Q7ICZuYnNwOyZuYnNwOyogQ2hlY2sgaWYgdGhlIGN1cnJlbnQgaW5z dGFuY2UgZmVsbCB0b28gbXVjaCBiZWhpbmQgaXRzPGJyPiZndDsgZGlmZiAtLWdpdDxicj4mZ3Q7 IGEvdGVzdC9yZXBsaWNhdGlvbi1sdWF0ZXN0L2doXzQ2NjlfYXBwbGllcl9yZWNvbm5lY3RfdGVz dC5sdWE8YnI+Jmd0OyBiL3Rlc3QvcmVwbGljYXRpb24tbHVhdGVzdC9naF80NjY5X2FwcGxpZXJf cmVjb25uZWN0X3Rlc3QubHVhPGJyPiZndDsgbmV3IGZpbGUgbW9kZSAxMDA2NDQ8YnI+Jmd0OyBp bmRleCAwMDAwMDAwMDAuLjljNmQyNjAzNjxicj4mZ3Q7IC0tLSAvZGV2L251bGw8YnI+Jmd0OyAr KysgYi90ZXN0L3JlcGxpY2F0aW9uLWx1YXRlc3QvZ2hfNDY2OV9hcHBsaWVyX3JlY29ubmVjdF90 ZXN0Lmx1YTxicj4mZ3Q7IEBAIC0wLDAgKzEsNTMgQEA8YnI+Jmd0OyArbG9jYWwgdCA9IHJlcXVp cmUoJ2x1YXRlc3QnKTxicj4mZ3Q7ICtsb2NhbCBjbHVzdGVyID0gcmVxdWlyZSgndGVzdC5sdWF0 ZXN0X2hlbHBlcnMuY2x1c3RlcicpPGJyPiZndDsgK2xvY2FsIGhlbHBlcnMgPSByZXF1aXJlKCd0 ZXN0Lmx1YXRlc3RfaGVscGVycycpPGJyPiZndDsgKzxicj4mZ3Q7ICtsb2NhbCBnID0gdC5ncm91 cCgnZ2gtNDY2OS1hcHBsaWVyLXJlY29ubmVjdCcpPGJyPiZndDsgKzxicj4mZ3Q7ICtsb2NhbCBm dW5jdGlvbiBjaGVja19mb2xsb3dfbWFzdGVyKHNlcnZlcik8YnI+Jmd0OyArIHJldHVybiB0LmFz c2VydF9lcXVhbHMoPGJyPiZndDsgKyBzZXJ2ZXI6ZXZhbCgncmV0dXJuIGJveC5pbmZvLnJlcGxp Y2F0aW9uWzFdLnVwc3RyZWFtLnN0YXR1cycpLDxicj4mZ3Q7ICdmb2xsb3cnKTxicj4mZ3Q7ICtl bmQ8YnI+Jmd0OyArPGJyPiZndDsgK2cuYmVmb3JlX2VhY2goZnVuY3Rpb24oKTxicj4mZ3Q7ICsg Zy5jbHVzdGVyID0gY2x1c3RlcjpuZXcoe30pPGJyPiZndDsgKyBnLm1hc3RlciA9IGcuY2x1c3Rl cjpidWlsZF9zZXJ2ZXIoe2FsaWFzID0gJ21hc3Rlcid9KTxicj4mZ3Q7ICsgbG9jYWwgYm94X2Nm ZyA9IHs8YnI+Jmd0OyArIHJlcGxpY2F0aW9uID0gKCclcy9tYXN0ZXIuaXByb3RvJyk6Zm9ybWF0 KGhlbHBlcnMuU09DS0VUX0RJUiksPGJyPiZndDsgKyB9PGJyPiZndDsgKyBnLnJlcGxpY2EgPSBn LmNsdXN0ZXI6YnVpbGRfc2VydmVyKHthbGlhcyA9ICdyZXBsaWNhJywgYm94X2NmZyA9PGJyPiZn dDsgYm94X2NmZ30pPGJyPiZndDsgKyBnLnJlcGxpY2EyID0gZy5jbHVzdGVyOmJ1aWxkX3NlcnZl cih7YWxpYXMgPSAncmVwbGljYTInLCBib3hfY2ZnPGJyPiZndDsgPSBib3hfY2ZnfSk8YnI+Jmd0 OyArPGJyPiZndDsgKyBnLmNsdXN0ZXI6YWRkX3NlcnZlcihnLm1hc3Rlcik8YnI+Jmd0OyArIGcu Y2x1c3RlcjphZGRfc2VydmVyKGcucmVwbGljYSk8YnI+Jmd0OyArIGcuY2x1c3RlcjphZGRfc2Vy dmVyKGcucmVwbGljYTIpPGJyPiZndDsgKyBnLmNsdXN0ZXI6c3RhcnQoKTxicj4mZ3Q7ICsgY2hl Y2tfZm9sbG93X21hc3RlcihnLnJlcGxpY2EpPGJyPiZndDsgK2VuZCk8YnI+Jmd0OyArPGJyPiZn dDsgK2cuYWZ0ZXJfZWFjaChmdW5jdGlvbigpPGJyPiZndDsgKyBnLmNsdXN0ZXI6c3RvcCgpPGJy PiZndDsgK2VuZCk8YnI+Jmd0OyArPGJyPiZndDsgKy0tIFRlc3QgdGhhdCBhcHBsaWVycyBhcmVu J3QgcmVjcmVhdGVkIHVwb24gcmVwbGljYXRpb248YnI+Jmd0OyByZWNvbmZpZ3VyYXRpb24uPGJy PiZndDsgKy0tIEFkZCBhbmQgdGhlbiByZW1vdmUgdHdvIGV4dHJhIHJlcGxpY2FzIHRvIHRoZSBj b25maWd1cmF0aW9uLjxicj4mZ3Q7IFRoZSBtYXN0ZXI8YnI+Jmd0OyArLS0gY29ubmVjdGlvbiBz aG91bGQgc3RheSBpbnRhY3QuPGJyPiZndDsgK2cudGVzdF9hcHBsaWVyX2Nvbm5lY3Rpb25fb25f cmVjb25maWcgPSBmdW5jdGlvbihnKTxicj4mZ3Q7ICsgZy5yZXBsaWNhOmV2YWwoKFtbPGJyPiZn dDsgKyBib3guY2Znezxicj4mZ3Q7ICsgcmVwbGljYXRpb24gPSB7PGJyPiZndDsgKyBib3guY2Zn Lmxpc3Rlbiw8YnI+Jmd0OyArIGJveC5jZmcucmVwbGljYXRpb25bMV0sPGJyPiZndDsgKyAiJXMv cmVwbGljYTIuaXByb3RvIiw8YnI+Jmd0OyArIH08YnI+Jmd0OyArIH1dXSk6Zm9ybWF0KGhlbHBl cnMuU09DS0VUX0RJUikpPGJyPiZndDsgKyBnLnJlcGxpY2E6ZXZhbChbWzxicj4mZ3Q7ICsgYm94 LmNmZ3s8YnI+Jmd0OyArIHJlcGxpY2F0aW9uID0gezxicj4mZ3Q7ICsgYm94LmNmZy5yZXBsaWNh dGlvblsyXTxicj4mZ3Q7ICsgfTxicj4mZ3Q7ICsgfTxicj4mZ3Q7ICsgXV0pPGJyPiZndDsgKyBj aGVja19mb2xsb3dfbWFzdGVyKGcucmVwbGljYSk8YnI+Jmd0OyArIHQuYXNzZXJ0X2VxdWFscyhn Lm1hc3RlcjpncmVwX2xvZygiZXhpdGluZyB0aGUgcmVsYXkgbG9vcCIpLCBuaWwpPGJyPiZndDsg K2VuZDxicj4mZ3Q7IC0tPGJyPiZndDsgMi4zMC4xIChBcHBsZSBHaXQtMTMwKTxicj4mZ3Q7PGJy Pjxicj4tLTxicj5TZXJnZSBQZXRyZW5rbzwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2tx dW90ZT48ZGl2PiZuYnNwOzwvZGl2PjwvQk9EWT48L0hUTUw+Cg== ----ALT--1aCdAcF369A77Eac9FdbB6696cCaA8bB1635343214--