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 6D9EB6ECD0; Mon, 29 Jun 2026 19:36:08 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 6D9EB6ECD0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1782750968; bh=6Buep5srDnOHipOGUxGgexKeXozqViicGezP4DfdZPA=; 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=P8fHx2DXDi1Bo0QNziGv8f17MCRNzi1zUQQq2Navt8d0ZBb3QZEllqPIjYaJVBOF4 CJ5lLRV4iIf/TSXYFNi2lf+XuxpCFeQZfHTM9kthqU8A7rqchxgy9l4YyNBxYy2EDh kQHv+aM8HMvH+gistWGPMew1//s+Ce3XwdjrOaZY= Received: from send226.i.mail.ru (send226.i.mail.ru [95.163.59.65]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 50BF56ECD0 for ; Mon, 29 Jun 2026 19:36:07 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 50BF56ECD0 Received: by exim-f-585b5cb64-wqmzm with local (envelope-from ) id 1weExW-00000000FoK-2jfZ; Mon, 29 Jun 2026 19:36:07 +0300 Received: by e.mail.ru with HTTP; Mon, 29 Jun 2026 19:35:46 +0300 To: =?UTF-8?B?U2VyZ2V5IEthcGx1bg==?= MIME-Version: 1.0 X-Priority: 3 (Normal) X-Mailer: Mail.Ru Mailer 1.0 X-Senderfield-Remsg: 17826643970950772660 X-Senderfield-Remind: 0 Date: Mon, 29 Jun 2026 19:35:46 +0300 Message-Id: <1782750946.808657657@f347.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--1bE9aF812A2f97aEA9eDA95d264918B81782750946" In-Reply-To: References: <20260625202903.3157425-1-skaplun@tarantool.org> <1782608610.240669306@f725.i.mail.ru> X-Mailru-Src: fe X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 119C1F4DF6A9251C6EDDC236F443E1975775B2631D62FC961AE246EECEC61BA1AA58F7AA52DA7B4BE2E5AD68070DAE16E730726D48E83DA04789C0054A74B46222FB55EF76A8E13451CE0648C9E8651D X-7FA49CB5: 70AAF3C13DB70168C09775C1D3CA48CF029A76E0CD6D3388B2086D80B0504778CF19DD082D7633A0587C8798DFFB2F5764CD17681C2FEB7A176DF2183F8FC7C0DCC25F9789CA5EB2C4224003CC8364766EDD4D152BE8CAA6BFD28B28ED4578739E625A9149C048EEB28585415E75ADA936C75B72B9FDC350B287FD4696A6DC2FA8DF7F3B2552694A4E2F5AFA99E116B42401471946AA11AFA417C69337E82CC2BCF491FFA38154B6B5C8C57E37DE458B543C44CD4AFD0029C6CDE5D1141D2B1C6AC9302941C78D8E8AD703DD902F53D9B5AF01286C80A6750ACB982F0549C2AA8941B15DA834481FA18204E546F3947C062BEEFFB5F8EA3EF6B57BC7E64490618DEB871D839B7333395957E7521B51C2DFABB839C843B9C08941B15DA834481F8AA50765F7900637D0FEED2715E18529389733CBF5DBD5E9B5C8C57E37DE458B9E9CE733340B9D5F3BBE47FD9DD3FB595F5C1EE8F4F765FC72CEEB2601E22B093A03B725D353964B0B7D0EA88DDEDAC722CA9DD8327EE4930A3850AC1BE2E735B344165809136645C4224003CC83647689D4C264860C145E X-C1DE0DAB: 0D63561A33F958A598257867EDD1DB465002B1117B3ED6968D55BD1FBBB56B0E5D145BB8EF0DE66B823CB91A9FED034534781492E4B8EEADC72A182EC22DCD89BDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0AD73CAD6646DEDE191543584D22441D852AB70F9BE574AE9C625B6776AC983F447FC0B9F89525902EE6F57B2FD27647F25E66C117BDB76D6596BC3359B7036CC4779204C463A9E21A7288402F992F63D0FB2B86C486F305B1DA7665CC6DD64A8B6B8341EE9D5BE9A0AB286604D48CD40290318E0A6566D52337D53F68DF6B94AA66536EB022892E5344C41F94D744909CEEF9E35A692215F79327F81E6EEE0AEB67A0F9F91F029B6AF33F2C28C22F508233FCF178C6DD14203 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+Od3uM/CLT152eL7j4ZacoUSF0MSa0v5VBmEtSutdC50BIKdL3VIRlkt/X9Gr7QWYXucPUinHATAeHXorM+S1NQOd7Dfgh+EySadFpJKBOaNF7e+eqm4IBOk= X-Mailru-MI: 20000000010000000000400800 X-Mailru-Sender: 015BA6FC0EFA223A63A6570A1A031285B7E5473BE7D03284B951B70A5BD4BD8E5C90919D14C92404D2C1C77B674EAA4DF9D778B853F92934B6CD0B84B37C39E28916C52554E253A2908EF71C4107D552197AF8DA6C69D34BA7BD66BEAC8CCB0C4198E0F3ECE9B5443453F38A29522196 X-Mras: Ok X-Spam: undefined Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_luajit_1/3=5D_dbg=3A_intr?= =?utf-8?q?oduce_lj-ir=2C_lj-jslots=2C_lj-trace_dumpers?= 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: Evgeniy Temirgaleev via Tarantool-patches Reply-To: =?UTF-8?B?RXZnZW5peSBUZW1pcmdhbGVldg==?= Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ----ALT--1bE9aF812A2f97aEA9eDA95d264918B81782750946 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGksIFNlcmdleSEKClRoYW5rcyBmb3IgeW91ciB1cGRhdGVzIGFuZCBmb3IgeW91ciBhbnN3ZXJz LCBMR1RNLgoKLS0KQmVzdCByZWdhcmRzLApFdmdlbml5IFRlbWlyZ2FsZWV2Cgo+IAo+IEZyb206 IFNlcmdleSBLYXBsdW4gPHNrYXBsdW5AdGFyYW50b29sLm9yZz4KPiBUbzogRXZnZW5peSBUZW1p cmdhbGVldiA8ZS50ZW1pcmdhbGVldkB0YXJhbnRvb2wub3JnPgo+IENjOiB0YXJhbnRvb2wtcGF0 Y2hlc0BkZXYudGFyYW50b29sLm9yZywgU2VyZ2V5IEJyb25uaWtvdiA8c2VyZ2V5YkB0YXJhbnRv b2wub3JnCj4gPgo+IERhdGU6IFN1bmRheSwgSnVuZSAyOCwgMjAyNiA3OjMzIFBNICswMzowMAo+ IEhpLCBFdmdlbml5IQo+IFRoYW5rcyBmb3IgdGhlIHJldmlldyEKPiBTZWUgbXkgYW5zd2VycyBi ZWxvdy4KPiAKPiBCcmFuY2ggaXMgZm9yY2UtcHVzaGVkIHdpdGggdGhlIGZpeGVzLgo+IAo+IE9u IDI4LjA2LjI2LCBFdmdlbml5IFRlbWlyZ2FsZWV2IHdyb3RlOgo+ID4gSGksIFNlcmdleSEKPiA+ Cj4gPiBUaGFua3MgZm9yIHRoZSBwYXRjaC4gUGxlYXNlLCBzZWUgbXkgY29tbWVudHMuCj4gPgo+ ID4gLS0KPiA+IEJlc3QgcmVnYXJkcywKPiA+IEV2Z2VuaXkgVGVtaXJnYWxlZXYKPiA+Cj4gPiA+ Cj4gPiA+INCe0YIg0LrQvtCz0L46IFNlcmdleSBLYXBsdW4gPHNrYXBsdW5AdGFyYW50b29sLm9y Zz4KPiA+ID4g0JrQvtC80YM6IFNlcmdleSBCcm9ubmlrb3YgPHNlcmdleWJAdGFyYW50b29sLm9y Zz4sIEV2Z2VuaXkgVGVtaXJnYWxlZXYgPGUudGVtaXJnYWxlZXZAdGFyYW50b29sLm9yZwo+IAo+ ID4gPiA+Cj4gPiA+INCa0L7Qv9C40Y86IHRhcmFudG9vbC1wYXRjaGVzQGRldi50YXJhbnRvb2wu b3JnLCBTZXJnZXkgS2FwbHVuIDxza2FwbHVuQHRhcmFudG9vbC5vcmcKPiAKPiA+ID4gPgo+ID4g PiDQlNCw0YLQsDog0KfQtdGC0LLQtdGA0LMsIDI1INC40Y7QvdGPIDIwMjYsIDIzOjI5ICswMzow MAo+ID4gPiBUaGlzIHBhdGNoIGFkZHMgZHVtcGVycyBmb3IgYSBzaW5nbGUgSVIgaW5zdHJ1Y3Rp b24gKGBsai1pcmApLCBhcyB3ZWxsCj4gCj4gPiA+IGFzIGZvciBhbGwgYnl0ZWNvZGVzIGluc2lk ZSBvbmUgdHJhY2UgKGBsai10cmFjZWApLiBJdHMgZHVtcCBpcyBxdWl0ZQo+ID4gPiBzaW1pbGFy IHRvIHRoZSAtamR1bXAgZmxhZyBidXQgYWxzbyByZXBvcnRzIHR5cGVzIG9mIHJlZ2lzdGVyIG9w ZXJhbmRzCj4gCj4gPiA+IChgcmVmYCwgYGxpdGAsIGBjc3RgKSBhbmQgb3BlcmF0aW9uIG1vZGUg KGBOYCwgYEFgLCBgV2AsIGV0Yy4pLgo+ID4gPiBUaGUgYGxqLXRyYWNlYCBjb21tYW5kIGFjY2Vw dHMgb3B0aW9uYWwgL3JzIGZsYWdzIHRvIGR1bXAgcmVnaXN0ZXJzCj4gPiA+IGFzc29jaWF0ZWQg d2l0aCBJUiBhbmQgc25hcHNob3RzIGZvciB0aGUgdHJhY2UgY29ycmVzcG9uZGluZ2x5Lgo+ID4g PiBUaGUgYGxqLWlyYCBjb21tYW5kIGNhbiBiZSB1c2VkIGZvciBkdW1waW5nIElSIGNvbnN0YW50 cyBhcyB3ZWxsLgo+ID4gPiBUaGUgYGxqLWpzbG90c2AgY29tbWFuZCBkdW1wcyB0aGUgY29udGVu dCBvZiBgSi0+c2xvdGAuIEl0IGlzIHVzZWZ1bAo+IHRvCj4gPiA+IHNpbXBsaWZ5IGRlYnVnZ2lu ZyBvZiBgcmVjX2NoZWNrX3Nsb3RzKClgIGFzc2VydGlvbiBmYWlsdXJlcy4KPiA+ID4KPiA+ID4g Rm9yIExMREIgdmFsdWUsIHRoZSBgX19nZXRpdGVtX19gIG1ldGFtZXRob2Qgbm93IGFjY2VwdHMg Ym9vbCBrZXlzLgo+ID4gPiBBbHNvLCBgX19pbmRleF9fYCBpcyBzZXQgdG8gYWxsb3cgbGxkYi52 YWx1ZSB0byBiZSB1c2VkIGFzIGFuIGluZGV4Cj4gPiA+IHdpdGhvdXQgZXhwbGljaXQgY29udmVy c2lvbiB0byBpbnQuIE9sZCBHREIgdmVyc2lvbnMgKGJlbG93IDcuMTIpIGFyZQo+ID4gPiBub3Qg c3VwcG9ydGVkIGJlY2F1c2Ugb2YgdGhlIGdkYi5WYWx1ZSBsYWNrcyB0aGUgYF9faW5kZXhfX2AK PiBtZXRhbWV0aG9kCj4gPiA+IGFuZCBjYW4ndCBiZSBtb25rZXktcGF0Y2hlZC4gVGhlIHN1cHBv cnQgZm9yIHRoZXNlIHZlcnNpb25zIG1heSBiZQo+IGFkZGVkCj4gPiA+IGJ5IGRlbWFuZC4KPiA+ ID4KPiA+ID4gUGFydCBvZiB0YXJhbnRvb2wvdGFyYW50b29sIzQ4MDgKPiA+ID4gLS0tCj4gPiA+ IHNyYy9sdWFqaXRfZGJnLnB5IHwgMTIxNiArKysrKysrKysrKysrKysrLQo+ID4gPiAuLi4vZGVi dWctZXh0ZW5zaW9uLXRlc3RzLnB5IHwgMzY1ICsrKysrCj4gPiA+IDIgZmlsZXMgY2hhbmdlZCwg MTU3MCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKPiA+ID4KPiA+ID4gZGlmZiAtLWdp dCBhL3NyYy9sdWFqaXRfZGJnLnB5IGIvc3JjL2x1YWppdF9kYmcucHkKPiA+ID4gaW5kZXggMmVk YjE5OWEuLmZkNmNhOGE1IDEwMDY0NAo+ID4gPiAtLS0gYS9zcmMvbHVhaml0X2RiZy5weQo+ID4g PiArKysgYi9zcmMvbHVhaml0X2RiZy5weQo+IAo+IDxzbmlwcGVkPgo+IAo+ID4gPiArIGlmIHRw LkdldFR5cGVDbGFzcygpID09IGxsZGIuZVR5cGVDbGFzc1N0cnVjdDoKPiA+ID4gKyBsZW5fZmll bGRzID0gdHAuR2V0TnVtYmVyT2ZGaWVsZHMoKQo+ID4gPiArIGZvciBuX2ZpZWxkIGluIHJhbmdl KGxlbl9maWVsZHMpOgo+ID4gPiArIGlzbGFzdCA9IG5fZmllbGQgPT0gKGxlbl9maWVsZHMgLSAx KQo+ID4gPiArIGZpZWxkID0gdHAuR2V0RmllbGRBdEluZGV4KG5fZmllbGQpCj4gPiA+ICsgc3Rh cnRfZmllbGQgPSBmaWVsZC5HZXRPZmZzZXRJbkJ5dGVzKCkKPiA+ID4gKyBpZiBub3QgaXNsYXN0 Ogo+ID4gPiArIGVuZF9maWVsZCA9IHRwLkdldEZpZWxkQXRJbmRleCgKPiA+ID4gKyBuX2ZpZWxk ICsgMQo+ID4gPiArICkuR2V0T2Zmc2V0SW5CeXRlcygpCj4gPiA+ICsgZWxzZToKPiA+ID4gKyBl bmRfZmllbGQgPSB0cC5HZXRCeXRlU2l6ZSgpCj4gPiA+ICsgaWYgc3RhcnRfZmllbGQgPD0gb2Zm c2V0IGFuZCBvZmZzZXQgPCBlbmRfZmllbGQ6Cj4gPiA+ICsgbmV4dF9uYW1lID0gc2VsZi5tZW1i ZXJfYnlfb2Zmc2V0KAo+ID4gPiArIGZpZWxkLkdldFR5cGUoKSwKPiA+ID4gKyBvZmZzZXQgLSBz dGFydF9maWVsZCwKPiA+ID4gKyBwcmV2X25hbWU9ZmllbGQuR2V0TmFtZSgpCj4gPiA+ICsgKQo+ ID4gPiArIHJldHVybiAnLntmaWVsZH17c3VmZml4fScuZm9ybWF0KAo+ID4gPiArIGZpZWxkPWZp ZWxkLkdldE5hbWUoKSwKPiA+ID4gKyBzdWZmaXg9bmV4dF9uYW1lIGlmIG5leHRfbmFtZSBlbHNl ICcnCj4gPiA+ICsgKQo+ID4gPiArIGlmIHRwLkdldFR5cGVDbGFzcygpID09IGxsZGIuZVR5cGVD bGFzc0FycmF5Ogo+ID4gPgo+ID4KPiA+IFR5cG8/OiBlbGlmCj4gCj4gRml4ZWQsIHRoYW5rcyEK PiAKPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Cj4gZGlmZiAtLWdpdCBhL3NyYy9sdWFqaXRfZGJnLnB5IGIvc3JjL2x1 YWppdF9kYmcucHkKPiBpbmRleCA2MmNkNjVkNS4uM2I3Y2Y3YTEgMTAwNjQ0Cj4gLS0tIGEvc3Jj L2x1YWppdF9kYmcucHkKPiArKysgYi9zcmMvbHVhaml0X2RiZy5weQo+IEBAIC02NTcsNyArNjU3 LDcgQEAgY2xhc3MgX0xMREJEZWJ1Z2dlcihEZWJ1Z2dlcik6Cj4gZmllbGQ9ZmllbGQuR2V0TmFt ZSgpLAo+IHN1ZmZpeD1uZXh0X25hbWUgaWYgbmV4dF9uYW1lIGVsc2UgJycKPiApCj4gLSBpZiB0 cC5HZXRUeXBlQ2xhc3MoKSA9PSBsbGRiLmVUeXBlQ2xhc3NBcnJheToKPiArIGVsaWYgdHAuR2V0 VHlwZUNsYXNzKCkgPT0gbGxkYi5lVHlwZUNsYXNzQXJyYXk6Cj4gIyBHZXQgYXJyYXkgZmllbGQg dHlwZS4KPiB0YXJnZXQgPSB0cC5HZXRBcnJheUVsZW1lbnRUeXBlKCkKPiB0c2l6ZSA9IHRhcmdl dC5HZXRCeXRlU2l6ZSgpCj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+IAo+IDxzbmlwcGVkPgo+IAo+ID4gPiArIyBN b2RlIGJpdHM6IENvbW11dGF0aXZlLCB7Tm9ybWFsL1JlZiwgQWxsb2MsIExvYWQsIFN0b3JlfSwK PiA+ID4gKyMgTm9uLXdlYWsgZ3VhcmQuICovCj4gPiA+Cj4gPgo+ID4gVHlwbzogQyBjb21tZW50 IGVuZCAqLwo+IAo+IFJlbW92ZWQsIHRoYW5rcyEKPiAKPiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gZGlmZiAtLWdp dCBhL3NyYy9sdWFqaXRfZGJnLnB5IGIvc3JjL2x1YWppdF9kYmcucHkKPiBpbmRleCA2MmNkNjVk NS4uM2I3Y2Y3YTEgMTAwNjQ0Cj4gQEAgLTE2MTIsMTIgKzE2MTIsMTYgQEAgSVJTID0gWwo+IAo+ IAo+ICMgTW9kZSBiaXRzOiBDb21tdXRhdGl2ZSwge05vcm1hbC9SZWYsIEFsbG9jLCBMb2FkLCBT dG9yZX0sCj4gLSMgTm9uLXdlYWsgZ3VhcmQuICovCj4gKyMgTm9uLXdlYWsgZ3VhcmQuCj4gSVJN X0MgPSAweDEwCj4gSVJNX0EgPSAweDIwCj4gSVJNX0wgPSAweDQwCj4gPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+IAo+ ID4KPiA+ID4KPiA+ID4gK0lSTV9DID0gMHgxMAo+ID4gPiArSVJNX0EgPSAweDIwCj4gPiA+ICtJ Uk1fTCA9IDB4NDAKPiA+ID4gK0lSTV9TID0gMHg2MAo+ID4gPiArSVJNX1cgPSAweDgwCj4gPiA+ ICsKPiA+ID4gKwo+ID4gPiArIyBJUiBvcGVyYW5kIG1vZGUgKDIgYml0KS4KPiA+ID4gK0lSTSA9 IFsKPiA+ID4gKyAncmVmJywKPiA+ID4gKyAnbGl0JywKPiA+ID4gKyAnY3N0JywKPiA+ID4gKyAn JywgIyBub25lCj4gPiA+ICtdCj4gPiA+ICsKPiA+ID4gKwo+ID4gPiArbGpfaXJfbW9kZV8gPSBO b25lCj4gPiA+ICsKPiA+ID4gKwo+ID4gPiArZGVmIGxqX2lyX21vZGUoKToKPiA+ID4gKyBnbG9i YWwgbGpfaXJfbW9kZV8KPiA+ID4gKyBpZiBsal9pcl9tb2RlXzoKPiA+ID4gKyByZXR1cm4gbGpf aXJfbW9kZV8KPiA+ID4gKyBsal9pcl9tb2RlXyA9IGRiZy5sb29rdXBfZ2xvYmFsKCdsal9pcl9t b2RlJykKPiA+ID4gKyByZXR1cm4gbGpfaXJfbW9kZV8KPiA+ID4gKwo+ID4gPiArCj4gPiA+ICtk ZWYgaXJfbGVmdChvcCk6Cj4gPiA+ICsgcmV0dXJuIElSTVtpbnQobGpfaXJfbW9kZSgpW29wXSAm IDMpXQo+ID4gPgo+ID4KPiA+IE1heSBiZSBiaW5hcnkgY29uc3RhbnQgd2lsbCBiZSBtb3JlIGNs ZWFyP8KgeHh4ICbCoDBiMDAxMQo+IAo+IEkgcHJlZmVyIHRvIGxlYXZlIGl0IGNvbnNpc3RlbnQg d2l0aCB0aGUgb3JpZ2luYWwgc291cmNlcywgc2VlCj4gPHNyYy9sal9pci5oPi4gQWxzbywgdGhl IGJjIGRlY29kaW5nIGhhcyB0aGUgc2FtZSBmb3JtYXQuCj4gCj4gPgo+ID4gPgo+ID4gPiArCj4g PiA+ICsKPiA+ID4gK2RlZiBpcl9yaWdodChvcCk6Cj4gPiA+ICsgcmV0dXJuIElSTVtpbnQobGpf aXJfbW9kZSgpW29wXSA+PiAyICYgMyldCj4gPiA+Cj4gPgo+ID4gTWF5IGJlIGJpbmFyeSBjb25z dGFudCB3aWxsIGJlIG1vcmUgY2xlYXI/ICh4eHggJsKgMGIxMTAwKSA+PsKgMgo+IAo+IERpdHRv Lgo+IAo+ID4KPiA+ID4KPiA+ID4gKwo+ID4gPiArCj4gPiA+ICtkZWYgaXJfbW9kZShvcCk6Cj4g PiA+ICsgbW9kZSA9ICcnCj4gPiA+ICsgaXJfbW9kZSA9IGludChsal9pcl9tb2RlKClbb3BdIF4g SVJNX1cpCj4gPiA+Cj4gPgo+ID4gPgo+ID4gPiArIGlmIGlyX21vZGUgPT0gSVJNX0M6Cj4gPiA+ ICsgbW9kZSA9ICdDJwo+ID4gPiArIGVsaWYgaXJfbW9kZSA9PSBJUk1fQToKPiA+ID4gKyBtb2Rl ID0gJ0EnCj4gPiA+ICsgZWxpZiBpcl9tb2RlID09IElSTV9MOgo+ID4gPiArIG1vZGUgPSAnTCcK PiA+ID4gKyBlbGlmIGlyX21vZGUgPT0gSVJNX1M6Cj4gPiA+ICsgbW9kZSA9ICdTJwo+ID4gPiAr IGVsc2U6Cj4gPiA+ICsgbW9kZSA9ICdOJwo+ID4gPgo+ID4KPiA+ID4KPiA+ID4gKyBtb2RlICs9 ICdXJyBpZiBpcl9tb2RlICYgSVJNX1cgZWxzZSAnJwo+ID4gPgo+ID4KPiA+IE1heSBiZSB0YWJs ZSB3aXRoIDE2IGl0ZW1zIGFuZCBjb21tZW50c8Kgd2lsbCBiZSBtb3JlIGNsZWFyP8KgRS4gZy7C oHJldHVybgo+IFhYWFsobGpfaXJfbW9kZSgpW29wXSAmIDBiMTExMTAwMDApwqA+PiA0XQo+ID4g QW5kIGl0IHdpbGwgY29udGFpbiBpbnZhbGlkIHZhbHVlcyBhbHNvLgo+ID4gIyA8ZmxhZyBiaXRz IGluIGEgY29tbWVudD4KPiA+IFhYWFswYjAwMDBdID0g4oCYTlfigJkgI8KgTm9ybWFsL1JlZiB8 wqAhTm9uLXdlYWsgZ3VhcmQKPiA+IFhYWFswYjAwMDFdID0g4oCYQ1figJkgIyBDb21tdXRhdGl2 ZSB8wqAhTm9uLXdlYWsgZ3VhcmQKPiA+IFhYWFswYjAwMTFdID0g4oCYSW52YWxpZOKAmQo+ID4g Li4uCj4gPiBYWFhbMGIxMDAwXSA9IOKAmE7igJkgIyBOb3JtYWwvUmVmIHzCoE5vbi13ZWFrIGd1 YXJkCj4gPiBYWFhbMGIxMDAxXSA9IOKAmEPigJkgIyBDb21tdXRhdGl2ZSB8wqBOb24td2VhayBn dWFyZAo+ID4gWFhYWzBiMTAxMV0gPSDigJhJbnZhbGlk4oCZCj4gPiAuLi4KPiAKPiBSZXdyb3Rl IHdpdGggdGFibGUgdXNhZ2UgYXMgdGhlIGZvbGxvd2luZzoKPiBBbHNvLCB5b3UgaGVscCBtZSB0 byBub3RpY2UgdGhhdCB0aGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24gd2FzCj4gaW5jb3JyZWN0 IChkdWUgdG8gYml0cyBvZiBvcGVyYW5kIG1vZGVzIGFmdGVyIHhvcikuIFRlc3RzIHdhcyBjb3Jy dXB0ZWQKPiBhcyB3ZWxsLCBmaXhlZC4gVGhhbmtzIQo+IAo+ID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiBkaWZmIC0t Z2l0IGEvc3JjL2x1YWppdF9kYmcucHkgYi9zcmMvbHVhaml0X2RiZy5weQo+IGluZGV4IGQ0Zjg5 ZWI1Li4zMmIwY2VhNyAxMDA2NDQKPiAtLS0gYS9zcmMvbHVhaml0X2RiZy5weQo+ICsrKyBiL3Ny Yy9sdWFqaXRfZGJnLnB5Cj4gQEAgLTE2MTMsMTEgKzE2MTMsMTUgQEAgSVJTID0gWwo+IAo+ICMg TW9kZSBiaXRzOiBDb21tdXRhdGl2ZSwge05vcm1hbC9SZWYsIEFsbG9jLCBMb2FkLCBTdG9yZX0s Cj4gIyBOb24td2VhayBndWFyZC4KPiAtSVJNX0MgPSAweDEwCj4gLUlSTV9BID0gMHgyMAo+IC1J Uk1fTCA9IDB4NDAKPiAtSVJNX1MgPSAweDYwCj4gLUlSTV9XID0gMHg4MAo+ICtJUk1fQklUU19X ID0gMHg4MAo+ICtJUk1fQklUUyA9IHsKPiArIDB4MDA6ICdOJywKPiArIDB4MTA6ICdDJywKPiAr IDB4MjA6ICdBJywKPiArIDB4NDA6ICdMJywKPiArIDB4NjA6ICdTJywKPiArfQo+ICtJUk1fQklU U19NQVNLID0gMHg3MAo+IAo+IAo+ICMgSVIgb3BlcmFuZCBtb2RlICgyIGJpdCkuCj4gQEAgLTE2 NDksMTkgKzE2NTMsMTAgQEAgZGVmIGlyX3JpZ2h0KG9wKToKPiAKPiAKPiBkZWYgaXJfbW9kZShv cCk6Cj4gLSBtb2RlID0gJycKPiAtIGlyX21vZGUgPSBpbnQobGpfaXJfbW9kZSgpW29wXSBeIElS TV9XKQo+IC0gaWYgaXJfbW9kZSA9PSBJUk1fQzoKPiAtIG1vZGUgPSAnQycKPiAtIGVsaWYgaXJf bW9kZSA9PSBJUk1fQToKPiAtIG1vZGUgPSAnQScKPiAtIGVsaWYgaXJfbW9kZSA9PSBJUk1fTDoK PiAtIG1vZGUgPSAnTCcKPiAtIGVsaWYgaXJfbW9kZSA9PSBJUk1fUzoKPiAtIG1vZGUgPSAnUycK PiAtIGVsc2U6Cj4gLSBtb2RlID0gJ04nCj4gLSBtb2RlICs9ICdXJyBpZiBpcl9tb2RlICYgSVJN X1cgZWxzZSAnJwo+ICsgaXJtb2RlID0gaW50KChsal9pcl9tb2RlKClbb3BdKSkKPiArIGlzd2Vh ayA9IG5vdCBib29sKGlybW9kZSAmIElSTV9CSVRTX1cpCj4gKyBtb2RlID0gSVJNX0JJVFNbaXJt b2RlICYgSVJNX0JJVFNfTUFTS10KPiArIG1vZGUgKz0gJ1cnIGlmIGlzd2VhayBlbHNlICcnCj4g cmV0dXJuIG1vZGUKPiAKPiAKPiBkaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wtZGVidWdnZXIt dGVzdHMvZGVidWctZXh0ZW5zaW9uLXRlc3RzLnB5Cj4gYi90ZXN0L3RhcmFudG9vbC1kZWJ1Z2dl ci10ZXN0cy9kZWJ1Zy1leHRlbnNpb24tdGVzdHMucHkKPiBpbmRleCA4ZTA2OWZlMC4uZjE3ZGUy N2UgMTAwNjQ0Cj4gLS0tIGEvdGVzdC90YXJhbnRvb2wtZGVidWdnZXItdGVzdHMvZGVidWctZXh0 ZW5zaW9uLXRlc3RzLnB5Cj4gKysrIGIvdGVzdC90YXJhbnRvb2wtZGVidWdnZXItdGVzdHMvZGVi dWctZXh0ZW5zaW9uLXRlc3RzLnB5Cj4gQEAgLTUzMCwxMiArNTMwLDEyIEBAIGNsYXNzIFRlc3RM SlRyYWNlQmFzZShUZXN0Q2FzZUJhc2UpOgo+IHInXHQqcHJvdG86ICcgKyBSWF9BRERSICsgcidc bicgKwo+IHInXHQqQkM6ICcgKyBSWF9BRERSICsgcidcbicgKwo+IHInLS0tLSBUUkFDRSBJUlxu JyArCj4gLSBSWF9JUk4gKyByJ1xzKyBpbnQgU0xPQUQgXFtOIFxdIGxpdDogI1sxMl0gbGl0OiBD P0lcbicgKwo+ICsgUlhfSVJOICsgcidccysgaW50IFNMT0FEIFxbTCBcXSBsaXQ6ICNbMTJdIGxp dDogQz9JXG4nICsKPiBSWF9JUk4gKyByJ1xzKyBcKyBpbnQgQUREIFxbQyBcXSByZWY6ICcgKyBS WF9JUk4gKwo+IHInIHJlZjogaW50ZWdlciAxXG4nICsKPiBSWF9JUk4gKyByJ1xzKyA+IGludCBM RSBcW04gXF0gcmVmOiAnICsgUlhfSVJOICsKPiByJyByZWY6IGludGVnZXIgNFxuJyArCj4gLSBS WF9JUk4gKyByJ1xzKyA+IC0tLSBMT09QIFxbTiBcXVxzKlxuJyArCj4gKyBSWF9JUk4gKyByJ1xz KyA+IC0tLSBMT09QIFxbUyBcXVxzKlxuJyArCj4gUlhfSVJOICsgcidccysgXCsgaW50IEFERCBc W0MgXF0gcmVmOiAnICsgUlhfSVJOICsKPiByJyByZWY6IGludGVnZXIgMVxuJyArCj4gUlhfSVJO ICsgcidccysgPiBpbnQgTEUgXFtOIFxdIHJlZjogJyArIFJYX0lSTiArCj4gPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ IAo+IEJ1dCBpbnRlbnRpb25hbGx5IGRpZG4ndCB1c2UgYml0IG5vdGF0aW9uIHRvIGJlIGNvbnNp c3RlbnQgd2l0aCBvcmlnaW5hbAo+IGRlY2xhcmF0aW9ucyBpbiA8c3JjL2xqX2lyLmg+LiBJJ3Zl IHVzZWQgdGhlIG1hc2sgdG8gc3RyaXAgbG93ZXIgYml0cwo+IHJlbGF0ZWQgdG8gIk5vbldlYWsi IGd1YXJkIGFuZCBvcGVyYW5kIG1vZGVzLgo+IAo+IDxzbmlwcGVkPgo+IAo+ID4gPiArIyBEb24n dCB1c2UgKlsgdG8gYmUgY29tcGF0aWJsZSB3aXRoIFB5dGhvbiAyLgo+ID4gPiArUkVHSVNURVJT ID0geyd4NjQnOiBbCj4gPiA+ICsgJ3JheCcsCj4gPiA+ICsgJ3JjeCcsCj4gPiA+ICsgJ3JkeCcs Cj4gPiA+ICsgJ3JieCcsCj4gPiA+ICsgJ3JzcCcsCj4gPiA+ICsgJ3JicCcsCj4gPiA+ICsgJ3Jz aScsCj4gPiA+ICsgJ3JkaScsCj4gPiA+ICtdICsgWwo+ID4gPiArICdye30nLmZvcm1hdChpKSBm b3IgaSBpbiByYW5nZSg4LCAxNikgIyByOCAuLiByMTUKPiA+ID4gK10gKyBbCj4gPiA+ICsgJ3ht bXt9Jy5mb3JtYXQoaSkgZm9yIGkgaW4gcmFuZ2UoMCwgMTYpICMgeG1tMCAuLiB4bW0xNQo+ID4g PiArXSwgJ2FybTY0JzogWwo+ID4gPiArICd4e30nLmZvcm1hdChpKSBmb3IgaSBpbiByYW5nZSgw LCAzMSkgIyB4MCAuLiB4MzAKPiA+ID4gK10gKyBbJ3NwJ10gKyBbICMgeDMxCj4gPiA+ICsgJ2R7 fScuZm9ybWF0KGkpIGZvciBpIGluIHJhbmdlKDAsIDMyKSAjIGQwIC4uIGQzMQo+ID4gPiArXX0K PiA+ID4KPiA+Cj4gPiBJdCBzZWVtcywgdGhlwqDigJhhcm02NOKAmSByZWdpc3RlcnMgYXJlIG1p c3NlZC4KPiAKPiBBY3RpdWFsbHkgbm8sIGJ1dCBJIHVuZGVyc3RhbmQgeW91ciBjb25mdXNpb24u Cj4gUmVmb3JtYXRlZCBhcyB0aGUgZm9sbG93aW5nOgo+ID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiBkaWZmIC0tZ2l0 IGEvc3JjL2x1YWppdF9kYmcucHkgYi9zcmMvbHVhaml0X2RiZy5weQo+IGluZGV4IDMyYjBjZWE3 Li5hNzljYWFkMCAxMDA2NDQKPiAtLS0gYS9zcmMvbHVhaml0X2RiZy5weQo+ICsrKyBiL3NyYy9s dWFqaXRfZGJnLnB5Cj4gQEAgLTE3MjgsMjQgKzE3MjgsMjkgQEAgSVJGUE1TID0gWwo+IAo+IAo+ ICMgRG9uJ3QgdXNlICpbIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBQeXRob24gMi4KPiAtUkVHSVNU RVJTID0geyd4NjQnOiBbCj4gLSAncmF4JywKPiAtICdyY3gnLAo+IC0gJ3JkeCcsCj4gLSAncmJ4 JywKPiAtICdyc3AnLAo+IC0gJ3JicCcsCj4gLSAncnNpJywKPiAtICdyZGknLAo+IC1dICsgWwo+ IC0gJ3J7fScuZm9ybWF0KGkpIGZvciBpIGluIHJhbmdlKDgsIDE2KSAjIHI4IC4uIHIxNQo+IC1d ICsgWwo+IC0gJ3htbXt9Jy5mb3JtYXQoaSkgZm9yIGkgaW4gcmFuZ2UoMCwgMTYpICMgeG1tMCAu LiB4bW0xNQo+IC1dLCAnYXJtNjQnOiBbCj4gLSAneHt9Jy5mb3JtYXQoaSkgZm9yIGkgaW4gcmFu Z2UoMCwgMzEpICMgeDAgLi4geDMwCj4gLV0gKyBbJ3NwJ10gKyBbICMgeDMxCj4gLSAnZHt9Jy5m b3JtYXQoaSkgZm9yIGkgaW4gcmFuZ2UoMCwgMzIpICMgZDAgLi4gZDMxCj4gLV19Cj4gK1JFR0lT VEVSUyA9IHsKPiArICd4NjQnOiBbCj4gKyAncmF4JywKPiArICdyY3gnLAo+ICsgJ3JkeCcsCj4g KyAncmJ4JywKPiArICdyc3AnLAo+ICsgJ3JicCcsCj4gKyAncnNpJywKPiArICdyZGknLAo+ICsg XSArIFsKPiArICdye30nLmZvcm1hdChpKSBmb3IgaSBpbiByYW5nZSg4LCAxNikgIyByOCAuLiBy MTUKPiArIF0gKyBbCj4gKyAneG1te30nLmZvcm1hdChpKSBmb3IgaSBpbiByYW5nZSgwLCAxNikg IyB4bW0wIC4uIHhtbTE1Cj4gKyBdLAo+ICsgJ2FybTY0JzogWwo+ICsgJ3h7fScuZm9ybWF0KGkp IGZvciBpIGluIHJhbmdlKDAsIDMxKSAjIHgwIC4uIHgzMAo+ICsgXSArIFsKPiArICdzcCcgIyB4 MzEKPiArIF0gKyBbCj4gKyAnZHt9Jy5mb3JtYXQoaSkgZm9yIGkgaW4gcmFuZ2UoMCwgMzIpICMg ZDAgLi4gZDMxCj4gKyBdCj4gK30KPiAKPiAKPiBJUl9DQUxMUyA9IFsKPiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4g Cj4gPgo+IAo+IDxzbmlwcGVkPgo+IAo+ID4gPiArZGVmIGxpdG5hbWVfeGxvYWQobW9kZSk6Cj4g PiA+ICsgZmxhZ3MgPSBbJy0nLCAnUicsICdWJywgJ1JWJywgJ1UnLCAnUlUnLCAnVlUnLCAnUlZV J10KPiA+ID4KPiA+Cj4gPiBEb2VzIHdlIG5lZWQgYcKgcmFuZ2UgY2hlY2sgYXMgaW7CoGxpdG5h bWVfYnVmaGRyKCk/Cj4gCj4gSSBwcmVmZXIgZXJyb3IgcmFpc2luZyBpZiBzb21ldGhpbmcgZ29l cyB3cm9uZyBoZXJlIChpbnZhbGlkIElSIG9yCj4gaW5jb3JyZWN0IGV4dGVuc2lvbiBpbXBsZW1l bnRhdGlvbikuCj4gCj4gPgo+ID4gPgo+ID4gPiArIHJldHVybiBmbGFnc1ttb2RlXQo+ID4gPiAr Cj4gPiA+ICsKPiA+ID4gK2RlZiBsaXRuYW1lX2NvbnYobW9kZSk6Cj4gPiA+Cj4gPgo+ID4gRG9l cyB3ZSBuZWVkIHNvbWUgcmFuZ2UgY2hlY2tpbmcgaGVyZT8KPiAKPiBEaXR0by4KPiAKPiA+Cj4g PiA+Cj4gCj4gPHNuaXBwcGVkPgo+IAo+ID4gPiArCj4gPiA+ICsKPiA+ID4gK2RlZiBpcnRfaXNt YXJrZWQodCk6Cj4gPiA+ICsgcmV0dXJuIHRbJ2lydCddICYgSVJUX01BUksKPiA+ID4KPiA+Cj4g PiBJIHByb3Bvc2UgZXhwbGljaXQgYm9vbCBjYXN0ICghPSAwKSBoZXJlIGFuZCBiZWxvdy4KPiAK PiBBZGRlZDoKPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Cj4gZGlmZiAtLWdpdCBhL3NyYy9sdWFqaXRfZGJnLnB5IGIv c3JjL2x1YWppdF9kYmcucHkKPiBpbmRleCBhNzljYWFkMC4uNmIwODI3ZDkgMTAwNjQ0Cj4gLS0t IGEvc3JjL2x1YWppdF9kYmcucHkKPiArKysgYi9zcmMvbHVhaml0X2RiZy5weQo+IEBAIC0xOTc4 LDE1ICsxOTc4LDE1IEBAIGRlZiB0cmVmX3JlZih0cik6Cj4gCj4gCj4gZGVmIGlydF9pc21hcmtl ZCh0KToKPiAtIHJldHVybiB0WydpcnQnXSAmIElSVF9NQVJLCj4gKyByZXR1cm4gYm9vbCh0Wydp cnQnXSAmIElSVF9NQVJLKQo+IAo+IAo+IGRlZiBpcnRfaXNwaGkodCk6Cj4gLSByZXR1cm4gdFsn aXJ0J10gJiBJUlRfSVNQSEkKPiArIHJldHVybiBib29sKHRbJ2lydCddICYgSVJUX0lTUEhJKQo+ IAo+IAo+IGRlZiBpcnRfaXNndWFyZCh0KToKPiAtIHJldHVybiB0WydpcnQnXSAmIElSVF9HVUFS RAo+ICsgcmV0dXJuIGJvb2wodFsnaXJ0J10gJiBJUlRfR1VBUkQpCj4gCj4gCj4gZGVmIGlydF90 b2l0eXBlKGlydCk6Cj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQo+IAo+ID4KPiA+ID4KPiA+ID4gKwo+ID4gPiArCj4g PiA+ICtkZWYgaXJ0X2lzcGhpKHQpOgo+ID4gPiArIHJldHVybiB0WydpcnQnXSAmIElSVF9JU1BI SQo+ID4gPiArCj4gPiA+ICsKPiA+ID4gK2RlZiBpcnRfaXNndWFyZCh0KToKPiA+ID4gKyByZXR1 cm4gdFsnaXJ0J10gJiBJUlRfR1VBUkQKPiA+ID4gKwo+ID4gPiArCj4gCj4gPHNuaXBwZWQ+Cj4g Cj4gPiA+Cj4gPiA+IC0tCj4gPiA+IDIuNTQuMAo+ID4gPgo+IAo+IC0tCj4gQmVzdCByZWdhcmRz LAo+IFNlcmdleSBLYXBsdW4KPg== ----ALT--1bE9aF812A2f97aEA9eDA95d264918B81782750946 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXYgY2xhc3M9ImNsLWM1ZzNlMTdmdTgiPjxkaXY+SGksIFNlcmdleSE8 L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+VGhhbmtzIGZvciB5b3VyIHVwZGF0ZXMgYW5kIGZv ciB5b3VyIGFuc3dlcnMsIExHVE0uPGJyPjxicj4mbmJzcDs8L2Rpdj48ZGl2IGRhdGEtc2lnbmF0 dXJlLXdpZGdldD0iY29udGFpbmVyIj48ZGl2IGRhdGEtc2lnbmF0dXJlLXdpZGdldD0iY29udGVu dCI+PGRpdj4tLTxicj5CZXN0IHJlZ2FyZHMsPC9kaXY+PGRpdj5Fdmdlbml5IFRlbWlyZ2FsZWV2 PC9kaXY+PC9kaXY+PC9kaXY+PGJyPjxkaXYgY2xhc3M9Im1haWwtcXVvdGUtY29sbGFwc2UiPjxi bG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjttYXJnaW46MTBw eDtwYWRkaW5nOjAgMCAwIDEwcHgiPjxzcGFuPkZyb206IFNlcmdleSBLYXBsdW4gJmx0OzxhIGhy ZWY9Im1haWx0bzpza2FwbHVuQHRhcmFudG9vbC5vcmciPnNrYXBsdW5AdGFyYW50b29sLm9yZzwv YT4mZ3Q7PGJyPlRvOiBFdmdlbml5IFRlbWlyZ2FsZWV2ICZsdDs8YSBocmVmPSJtYWlsdG86ZS50 ZW1pcmdhbGVldkB0YXJhbnRvb2wub3JnIj5lLnRlbWlyZ2FsZWV2QHRhcmFudG9vbC5vcmc8L2E+ Jmd0Ozxicj5DYzogdGFyYW50b29sLXBhdGNoZXNAZGV2LnRhcmFudG9vbC5vcmcsIFNlcmdleSBC cm9ubmlrb3YgJmx0OzxhIGhyZWY9Im1haWx0bzpzZXJnZXliQHRhcmFudG9vbC5vcmciPnNlcmdl eWJAdGFyYW50b29sLm9yZzwvYT4mZ3Q7PGJyPkRhdGU6IFN1bmRheSwgSnVuZSAyOCwgMjAyNiA3 OjMzIFBNICswMzowMDwvc3Bhbj48YnI+Jm5ic3A7PGRpdj48ZGl2IGlkPSIiPjxkaXYgY2xhc3M9 ImNsLXowbDhweDluNGEiPjxkaXYgY2xhc3M9ImpzLWhlbHBlcl9tcl9jc3NfYXR0ciBqcy1yZWFk bXNnLW1zZ19tcl9jc3NfYXR0ciI+PGRpdiBpZD0ic3R5bGVfMTc4MjY2NDM5NzA5NTA3NzI2NjBf bXJfY3NzX2F0dHIiPjxkaXYgaWQ9InN0eWxlXzE3ODI2NjQzOTcwOTUwNzcyNjYwX0JPRFlfbXJf Y3NzX2F0dHIiPkhpLCBFdmdlbml5ITxicj5UaGFua3MgZm9yIHRoZSByZXZpZXchPGJyPlNlZSBt eSBhbnN3ZXJzIGJlbG93Ljxicj48YnI+QnJhbmNoIGlzIGZvcmNlLXB1c2hlZCB3aXRoIHRoZSBm aXhlcy48YnI+PGJyPk9uIDI4LjA2LjI2LCBFdmdlbml5IFRlbWlyZ2FsZWV2IHdyb3RlOjxicj4m Z3Q7IEhpLCBTZXJnZXkhPGJyPiZndDs8YnI+Jmd0OyBUaGFua3MgZm9yIHRoZSBwYXRjaC4gUGxl YXNlLCBzZWUgbXkgY29tbWVudHMuPGJyPiZndDs8YnI+Jmd0OyAtLTxicj4mZ3Q7IEJlc3QgcmVn YXJkcyw8YnI+Jmd0OyBFdmdlbml5IFRlbWlyZ2FsZWV2PGJyPiZndDs8YnI+Jmd0OyAmZ3Q7PGJy PiZndDsgJmd0OyDQntGCINC60L7Qs9C+OiBTZXJnZXkgS2FwbHVuICZsdDs8YSBocmVmPSJtYWls dG86c2thcGx1bkB0YXJhbnRvb2wub3JnIj5za2FwbHVuQHRhcmFudG9vbC5vcmc8L2E+Jmd0Ozxi cj4mZ3Q7ICZndDsg0JrQvtC80YM6IFNlcmdleSBCcm9ubmlrb3YgJmx0OzxhIGhyZWY9Im1haWx0 bzpzZXJnZXliQHRhcmFudG9vbC5vcmciPnNlcmdleWJAdGFyYW50b29sLm9yZzwvYT4mZ3Q7LCBF dmdlbml5IFRlbWlyZ2FsZWV2ICZsdDs8YSBocmVmPSJtYWlsdG86ZS50ZW1pcmdhbGVldkB0YXJh bnRvb2wub3JnIj5lLnRlbWlyZ2FsZWV2QHRhcmFudG9vbC5vcmc8L2E+PGJyPiZndDsgJmd0OyAm Z3Q7PGJyPiZndDsgJmd0OyDQmtC+0L/QuNGPOiB0YXJhbnRvb2wtcGF0Y2hlc0BkZXYudGFyYW50 b29sLm9yZywgU2VyZ2V5IEthcGx1biAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNrYXBsdW5AdGFyYW50 b29sLm9yZyI+c2thcGx1bkB0YXJhbnRvb2wub3JnPC9hPjxicj4mZ3Q7ICZndDsgJmd0Ozxicj4m Z3Q7ICZndDsg0JTQsNGC0LA6INCn0LXRgtCy0LXRgNCzLCAyNSDQuNGO0L3RjyAyMDI2LCAyMzoy OSArMDM6MDA8YnI+Jmd0OyAmZ3Q7IFRoaXMgcGF0Y2ggYWRkcyBkdW1wZXJzIGZvciBhIHNpbmds ZSBJUiBpbnN0cnVjdGlvbiAoYGxqLWlyYCksIGFzIHdlbGw8YnI+Jmd0OyAmZ3Q7IGFzIGZvciBh bGwgYnl0ZWNvZGVzIGluc2lkZSBvbmUgdHJhY2UgKGBsai10cmFjZWApLiBJdHMgZHVtcCBpcyBx dWl0ZTxicj4mZ3Q7ICZndDsgc2ltaWxhciB0byB0aGUgLWpkdW1wIGZsYWcgYnV0IGFsc28gcmVw b3J0cyB0eXBlcyBvZiByZWdpc3RlciBvcGVyYW5kczxicj4mZ3Q7ICZndDsgKGByZWZgLCBgbGl0 YCwgYGNzdGApIGFuZCBvcGVyYXRpb24gbW9kZSAoYE5gLCBgQWAsIGBXYCwgZXRjLikuPGJyPiZn dDsgJmd0OyBUaGUgYGxqLXRyYWNlYCBjb21tYW5kIGFjY2VwdHMgb3B0aW9uYWwgL3JzIGZsYWdz IHRvIGR1bXAgcmVnaXN0ZXJzPGJyPiZndDsgJmd0OyBhc3NvY2lhdGVkIHdpdGggSVIgYW5kIHNu YXBzaG90cyBmb3IgdGhlIHRyYWNlIGNvcnJlc3BvbmRpbmdseS48YnI+Jmd0OyAmZ3Q7IFRoZSBg bGotaXJgIGNvbW1hbmQgY2FuIGJlIHVzZWQgZm9yIGR1bXBpbmcgSVIgY29uc3RhbnRzIGFzIHdl bGwuPGJyPiZndDsgJmd0OyBUaGUgYGxqLWpzbG90c2AgY29tbWFuZCBkdW1wcyB0aGUgY29udGVu dCBvZiBgSi0mZ3Q7c2xvdGAuIEl0IGlzIHVzZWZ1bCB0bzxicj4mZ3Q7ICZndDsgc2ltcGxpZnkg ZGVidWdnaW5nIG9mIGByZWNfY2hlY2tfc2xvdHMoKWAgYXNzZXJ0aW9uIGZhaWx1cmVzLjxicj4m Z3Q7ICZndDs8YnI+Jmd0OyAmZ3Q7IEZvciBMTERCIHZhbHVlLCB0aGUgYF9fZ2V0aXRlbV9fYCBt ZXRhbWV0aG9kIG5vdyBhY2NlcHRzIGJvb2wga2V5cy48YnI+Jmd0OyAmZ3Q7IEFsc28sIGBfX2lu ZGV4X19gIGlzIHNldCB0byBhbGxvdyBsbGRiLnZhbHVlIHRvIGJlIHVzZWQgYXMgYW4gaW5kZXg8 YnI+Jmd0OyAmZ3Q7IHdpdGhvdXQgZXhwbGljaXQgY29udmVyc2lvbiB0byBpbnQuIE9sZCBHREIg dmVyc2lvbnMgKGJlbG93IDcuMTIpIGFyZTxicj4mZ3Q7ICZndDsgbm90IHN1cHBvcnRlZCBiZWNh dXNlIG9mIHRoZSBnZGIuVmFsdWUgbGFja3MgdGhlIGBfX2luZGV4X19gIG1ldGFtZXRob2Q8YnI+ Jmd0OyAmZ3Q7IGFuZCBjYW4ndCBiZSBtb25rZXktcGF0Y2hlZC4gVGhlIHN1cHBvcnQgZm9yIHRo ZXNlIHZlcnNpb25zIG1heSBiZSBhZGRlZDxicj4mZ3Q7ICZndDsgYnkgZGVtYW5kLjxicj4mZ3Q7 ICZndDs8YnI+Jmd0OyAmZ3Q7IFBhcnQgb2YgdGFyYW50b29sL3RhcmFudG9vbCM0ODA4PGJyPiZn dDsgJmd0OyAtLS08YnI+Jmd0OyAmZ3Q7IHNyYy9sdWFqaXRfZGJnLnB5IHwgMTIxNiArKysrKysr KysrKysrKysrLTxicj4mZ3Q7ICZndDsgLi4uL2RlYnVnLWV4dGVuc2lvbi10ZXN0cy5weSB8IDM2 NSArKysrKzxicj4mZ3Q7ICZndDsgMiBmaWxlcyBjaGFuZ2VkLCAxNTcwIGluc2VydGlvbnMoKyks IDExIGRlbGV0aW9ucygtKTxicj4mZ3Q7ICZndDs8YnI+Jmd0OyAmZ3Q7IGRpZmYgLS1naXQgYS9z cmMvbHVhaml0X2RiZy5weSBiL3NyYy9sdWFqaXRfZGJnLnB5PGJyPiZndDsgJmd0OyBpbmRleCAy ZWRiMTk5YS4uZmQ2Y2E4YTUgMTAwNjQ0PGJyPiZndDsgJmd0OyAtLS0gYS9zcmMvbHVhaml0X2Ri Zy5weTxicj4mZ3Q7ICZndDsgKysrIGIvc3JjL2x1YWppdF9kYmcucHk8YnI+PGJyPiZsdDtzbmlw cGVkJmd0Ozxicj48YnI+Jmd0OyAmZ3Q7ICsgaWYgdHAuR2V0VHlwZUNsYXNzKCkgPT0gbGxkYi5l VHlwZUNsYXNzU3RydWN0Ojxicj4mZ3Q7ICZndDsgKyBsZW5fZmllbGRzID0gdHAuR2V0TnVtYmVy T2ZGaWVsZHMoKTxicj4mZ3Q7ICZndDsgKyBmb3Igbl9maWVsZCBpbiByYW5nZShsZW5fZmllbGRz KTo8YnI+Jmd0OyAmZ3Q7ICsgaXNsYXN0ID0gbl9maWVsZCA9PSAobGVuX2ZpZWxkcyAtIDEpPGJy PiZndDsgJmd0OyArIGZpZWxkID0gdHAuR2V0RmllbGRBdEluZGV4KG5fZmllbGQpPGJyPiZndDsg Jmd0OyArIHN0YXJ0X2ZpZWxkID0gZmllbGQuR2V0T2Zmc2V0SW5CeXRlcygpPGJyPiZndDsgJmd0 OyArIGlmIG5vdCBpc2xhc3Q6PGJyPiZndDsgJmd0OyArIGVuZF9maWVsZCA9IHRwLkdldEZpZWxk QXRJbmRleCg8YnI+Jmd0OyAmZ3Q7ICsgbl9maWVsZCArIDE8YnI+Jmd0OyAmZ3Q7ICsgKS5HZXRP ZmZzZXRJbkJ5dGVzKCk8YnI+Jmd0OyAmZ3Q7ICsgZWxzZTo8YnI+Jmd0OyAmZ3Q7ICsgZW5kX2Zp ZWxkID0gdHAuR2V0Qnl0ZVNpemUoKTxicj4mZ3Q7ICZndDsgKyBpZiBzdGFydF9maWVsZCAmbHQ7 PSBvZmZzZXQgYW5kIG9mZnNldCAmbHQ7IGVuZF9maWVsZDo8YnI+Jmd0OyAmZ3Q7ICsgbmV4dF9u YW1lID0gc2VsZi5tZW1iZXJfYnlfb2Zmc2V0KDxicj4mZ3Q7ICZndDsgKyBmaWVsZC5HZXRUeXBl KCksPGJyPiZndDsgJmd0OyArIG9mZnNldCAtIHN0YXJ0X2ZpZWxkLDxicj4mZ3Q7ICZndDsgKyBw cmV2X25hbWU9ZmllbGQuR2V0TmFtZSgpPGJyPiZndDsgJmd0OyArICk8YnI+Jmd0OyAmZ3Q7ICsg cmV0dXJuICcue2ZpZWxkfXtzdWZmaXh9Jy5mb3JtYXQoPGJyPiZndDsgJmd0OyArIGZpZWxkPWZp ZWxkLkdldE5hbWUoKSw8YnI+Jmd0OyAmZ3Q7ICsgc3VmZml4PW5leHRfbmFtZSBpZiBuZXh0X25h bWUgZWxzZSAnJzxicj4mZ3Q7ICZndDsgKyApPGJyPiZndDsgJmd0OyArIGlmIHRwLkdldFR5cGVD bGFzcygpID09IGxsZGIuZVR5cGVDbGFzc0FycmF5Ojxicj4mZ3Q7ICZndDs8YnI+Jmd0Ozxicj4m Z3Q7IFR5cG8/OiBlbGlmPGJyPjxicj5GaXhlZCwgdGhhbmtzITxicj48YnI+PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PTxi cj5kaWZmIC0tZ2l0IGEvc3JjL2x1YWppdF9kYmcucHkgYi9zcmMvbHVhaml0X2RiZy5weTxicj5p bmRleCA2MmNkNjVkNS4uM2I3Y2Y3YTEgMTAwNjQ0PGJyPi0tLSBhL3NyYy9sdWFqaXRfZGJnLnB5 PGJyPisrKyBiL3NyYy9sdWFqaXRfZGJnLnB5PGJyPkBAIC02NTcsNyArNjU3LDcgQEAgY2xhc3Mg X0xMREJEZWJ1Z2dlcihEZWJ1Z2dlcik6PGJyPmZpZWxkPWZpZWxkLkdldE5hbWUoKSw8YnI+c3Vm Zml4PW5leHRfbmFtZSBpZiBuZXh0X25hbWUgZWxzZSAnJzxicj4pPGJyPi0gaWYgdHAuR2V0VHlw ZUNsYXNzKCkgPT0gbGxkYi5lVHlwZUNsYXNzQXJyYXk6PGJyPisgZWxpZiB0cC5HZXRUeXBlQ2xh c3MoKSA9PSBsbGRiLmVUeXBlQ2xhc3NBcnJheTo8YnI+IyBHZXQgYXJyYXkgZmllbGQgdHlwZS48 YnI+dGFyZ2V0ID0gdHAuR2V0QXJyYXlFbGVtZW50VHlwZSgpPGJyPnRzaXplID0gdGFyZ2V0Lkdl dEJ5dGVTaXplKCk8YnI+PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PTxicj48YnI+Jmx0O3NuaXBwZWQmZ3Q7PGJyPjxicj4m Z3Q7ICZndDsgKyMgTW9kZSBiaXRzOiBDb21tdXRhdGl2ZSwge05vcm1hbC9SZWYsIEFsbG9jLCBM b2FkLCBTdG9yZX0sPGJyPiZndDsgJmd0OyArIyBOb24td2VhayBndWFyZC4gKi88YnI+Jmd0OyAm Z3Q7PGJyPiZndDs8YnI+Jmd0OyBUeXBvOiBDIGNvbW1lbnQgZW5kICovPGJyPjxicj5SZW1vdmVk LCB0aGFua3MhPGJyPjxicj49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PGJyPmRpZmYgLS1naXQgYS9zcmMvbHVhaml0X2Ri Zy5weSBiL3NyYy9sdWFqaXRfZGJnLnB5PGJyPmluZGV4IDYyY2Q2NWQ1Li4zYjdjZjdhMSAxMDA2 NDQ8YnI+QEAgLTE2MTIsMTIgKzE2MTIsMTYgQEAgSVJTID0gWzxicj48YnI+PGJyPiMgTW9kZSBi aXRzOiBDb21tdXRhdGl2ZSwge05vcm1hbC9SZWYsIEFsbG9jLCBMb2FkLCBTdG9yZX0sPGJyPi0j IE5vbi13ZWFrIGd1YXJkLiAqLzxicj4rIyBOb24td2VhayBndWFyZC48YnI+SVJNX0MgPSAweDEw PGJyPklSTV9BID0gMHgyMDxicj5JUk1fTCA9IDB4NDA8YnI+PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PTxicj48YnI+Jmd0 Ozxicj4mZ3Q7ICZndDs8YnI+Jmd0OyAmZ3Q7ICtJUk1fQyA9IDB4MTA8YnI+Jmd0OyAmZ3Q7ICtJ Uk1fQSA9IDB4MjA8YnI+Jmd0OyAmZ3Q7ICtJUk1fTCA9IDB4NDA8YnI+Jmd0OyAmZ3Q7ICtJUk1f UyA9IDB4NjA8YnI+Jmd0OyAmZ3Q7ICtJUk1fVyA9IDB4ODA8YnI+Jmd0OyAmZ3Q7ICs8YnI+Jmd0 OyAmZ3Q7ICs8YnI+Jmd0OyAmZ3Q7ICsjIElSIG9wZXJhbmQgbW9kZSAoMiBiaXQpLjxicj4mZ3Q7 ICZndDsgK0lSTSA9IFs8YnI+Jmd0OyAmZ3Q7ICsgJ3JlZicsPGJyPiZndDsgJmd0OyArICdsaXQn LDxicj4mZ3Q7ICZndDsgKyAnY3N0Jyw8YnI+Jmd0OyAmZ3Q7ICsgJycsICMgbm9uZTxicj4mZ3Q7 ICZndDsgK108YnI+Jmd0OyAmZ3Q7ICs8YnI+Jmd0OyAmZ3Q7ICs8YnI+Jmd0OyAmZ3Q7ICtsal9p cl9tb2RlXyA9IE5vbmU8YnI+Jmd0OyAmZ3Q7ICs8YnI+Jmd0OyAmZ3Q7ICs8YnI+Jmd0OyAmZ3Q7 ICtkZWYgbGpfaXJfbW9kZSgpOjxicj4mZ3Q7ICZndDsgKyBnbG9iYWwgbGpfaXJfbW9kZV88YnI+ Jmd0OyAmZ3Q7ICsgaWYgbGpfaXJfbW9kZV86PGJyPiZndDsgJmd0OyArIHJldHVybiBsal9pcl9t b2RlXzxicj4mZ3Q7ICZndDsgKyBsal9pcl9tb2RlXyA9IGRiZy5sb29rdXBfZ2xvYmFsKCdsal9p cl9tb2RlJyk8YnI+Jmd0OyAmZ3Q7ICsgcmV0dXJuIGxqX2lyX21vZGVfPGJyPiZndDsgJmd0OyAr PGJyPiZndDsgJmd0OyArPGJyPiZndDsgJmd0OyArZGVmIGlyX2xlZnQob3ApOjxicj4mZ3Q7ICZn dDsgKyByZXR1cm4gSVJNW2ludChsal9pcl9tb2RlKClbb3BdICZhbXA7IDMpXTxicj4mZ3Q7ICZn dDs8YnI+Jmd0Ozxicj4mZ3Q7IE1heSBiZSBiaW5hcnkgY29uc3RhbnQgd2lsbCBiZSBtb3JlIGNs ZWFyPyZuYnNwO3h4eCAmYW1wOyZuYnNwOzBiMDAxMTxicj48YnI+SSBwcmVmZXIgdG8gbGVhdmUg aXQgY29uc2lzdGVudCB3aXRoIHRoZSBvcmlnaW5hbCBzb3VyY2VzLCBzZWU8YnI+Jmx0O3NyYy9s al9pci5oJmd0Oy4gQWxzbywgdGhlIGJjIGRlY29kaW5nIGhhcyB0aGUgc2FtZSBmb3JtYXQuPGJy Pjxicj4mZ3Q7PGJyPiZndDsgJmd0Ozxicj4mZ3Q7ICZndDsgKzxicj4mZ3Q7ICZndDsgKzxicj4m Z3Q7ICZndDsgK2RlZiBpcl9yaWdodChvcCk6PGJyPiZndDsgJmd0OyArIHJldHVybiBJUk1baW50 KGxqX2lyX21vZGUoKVtvcF0gJmd0OyZndDsgMiAmYW1wOyAzKV08YnI+Jmd0OyAmZ3Q7PGJyPiZn dDs8YnI+Jmd0OyBNYXkgYmUgYmluYXJ5IGNvbnN0YW50IHdpbGwgYmUgbW9yZSBjbGVhcj8gKHh4 eCAmYW1wOyZuYnNwOzBiMTEwMCkgJmd0OyZndDsmbmJzcDsyPGJyPjxicj5EaXR0by48YnI+PGJy PiZndDs8YnI+Jmd0OyAmZ3Q7PGJyPiZndDsgJmd0OyArPGJyPiZndDsgJmd0OyArPGJyPiZndDsg Jmd0OyArZGVmIGlyX21vZGUob3ApOjxicj4mZ3Q7ICZndDsgKyBtb2RlID0gJyc8YnI+Jmd0OyAm Z3Q7ICsgaXJfbW9kZSA9IGludChsal9pcl9tb2RlKClbb3BdIF4gSVJNX1cpPGJyPiZndDsgJmd0 Ozxicj4mZ3Q7PGJyPiZndDsgJmd0Ozxicj4mZ3Q7ICZndDsgKyBpZiBpcl9tb2RlID09IElSTV9D Ojxicj4mZ3Q7ICZndDsgKyBtb2RlID0gJ0MnPGJyPiZndDsgJmd0OyArIGVsaWYgaXJfbW9kZSA9 PSBJUk1fQTo8YnI+Jmd0OyAmZ3Q7ICsgbW9kZSA9ICdBJzxicj4mZ3Q7ICZndDsgKyBlbGlmIGly X21vZGUgPT0gSVJNX0w6PGJyPiZndDsgJmd0OyArIG1vZGUgPSAnTCc8YnI+Jmd0OyAmZ3Q7ICsg ZWxpZiBpcl9tb2RlID09IElSTV9TOjxicj4mZ3Q7ICZndDsgKyBtb2RlID0gJ1MnPGJyPiZndDsg Jmd0OyArIGVsc2U6PGJyPiZndDsgJmd0OyArIG1vZGUgPSAnTic8YnI+Jmd0OyAmZ3Q7PGJyPiZn dDs8YnI+Jmd0OyAmZ3Q7PGJyPiZndDsgJmd0OyArIG1vZGUgKz0gJ1cnIGlmIGlyX21vZGUgJmFt cDsgSVJNX1cgZWxzZSAnJzxicj4mZ3Q7ICZndDs8YnI+Jmd0Ozxicj4mZ3Q7IE1heSBiZSB0YWJs ZSB3aXRoIDE2IGl0ZW1zIGFuZCBjb21tZW50cyZuYnNwO3dpbGwgYmUgbW9yZSBjbGVhcj8mbmJz cDtFLiBnLiZuYnNwO3JldHVybiBYWFhbKGxqX2lyX21vZGUoKVtvcF0gJmFtcDsgMGIxMTExMDAw MCkmbmJzcDsmZ3Q7Jmd0OyA0XTxicj4mZ3Q7IEFuZCBpdCB3aWxsIGNvbnRhaW4gaW52YWxpZCB2 YWx1ZXMgYWxzby48YnI+Jmd0OyAjICZsdDtmbGFnIGJpdHMgaW4gYSBjb21tZW50Jmd0Ozxicj4m Z3Q7IFhYWFswYjAwMDBdID0g4oCYTlfigJkgIyZuYnNwO05vcm1hbC9SZWYgfCZuYnNwOyFOb24t d2VhayBndWFyZDxicj4mZ3Q7IFhYWFswYjAwMDFdID0g4oCYQ1figJkgIyBDb21tdXRhdGl2ZSB8 Jm5ic3A7IU5vbi13ZWFrIGd1YXJkPGJyPiZndDsgWFhYWzBiMDAxMV0gPSDigJhJbnZhbGlk4oCZ PGJyPiZndDsgLi4uPGJyPiZndDsgWFhYWzBiMTAwMF0gPSDigJhO4oCZICMgTm9ybWFsL1JlZiB8 Jm5ic3A7Tm9uLXdlYWsgZ3VhcmQ8YnI+Jmd0OyBYWFhbMGIxMDAxXSA9IOKAmEPigJkgIyBDb21t dXRhdGl2ZSB8Jm5ic3A7Tm9uLXdlYWsgZ3VhcmQ8YnI+Jmd0OyBYWFhbMGIxMDExXSA9IOKAmElu dmFsaWTigJk8YnI+Jmd0OyAuLi48YnI+PGJyPlJld3JvdGUgd2l0aCB0YWJsZSB1c2FnZSBhcyB0 aGUgZm9sbG93aW5nOjxicj5BbHNvLCB5b3UgaGVscCBtZSB0byBub3RpY2UgdGhhdCB0aGUgb3Jp Z2luYWwgaW1wbGVtZW50YXRpb24gd2FzPGJyPmluY29ycmVjdCAoZHVlIHRvIGJpdHMgb2Ygb3Bl cmFuZCBtb2RlcyBhZnRlciB4b3IpLiBUZXN0cyB3YXMgY29ycnVwdGVkPGJyPmFzIHdlbGwsIGZp eGVkLiBUaGFua3MhPGJyPjxicj49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PGJyPmRpZmYgLS1naXQgYS9zcmMvbHVhaml0 X2RiZy5weSBiL3NyYy9sdWFqaXRfZGJnLnB5PGJyPmluZGV4IGQ0Zjg5ZWI1Li4zMmIwY2VhNyAx MDA2NDQ8YnI+LS0tIGEvc3JjL2x1YWppdF9kYmcucHk8YnI+KysrIGIvc3JjL2x1YWppdF9kYmcu cHk8YnI+QEAgLTE2MTMsMTEgKzE2MTMsMTUgQEAgSVJTID0gWzxicj48YnI+IyBNb2RlIGJpdHM6 IENvbW11dGF0aXZlLCB7Tm9ybWFsL1JlZiwgQWxsb2MsIExvYWQsIFN0b3JlfSw8YnI+IyBOb24t d2VhayBndWFyZC48YnI+LUlSTV9DID0gMHgxMDxicj4tSVJNX0EgPSAweDIwPGJyPi1JUk1fTCA9 IDB4NDA8YnI+LUlSTV9TID0gMHg2MDxicj4tSVJNX1cgPSAweDgwPGJyPitJUk1fQklUU19XID0g MHg4MDxicj4rSVJNX0JJVFMgPSB7PGJyPisgMHgwMDogJ04nLDxicj4rIDB4MTA6ICdDJyw8YnI+ KyAweDIwOiAnQScsPGJyPisgMHg0MDogJ0wnLDxicj4rIDB4NjA6ICdTJyw8YnI+K308YnI+K0lS TV9CSVRTX01BU0sgPSAweDcwPGJyPjxicj48YnI+IyBJUiBvcGVyYW5kIG1vZGUgKDIgYml0KS48 YnI+QEAgLTE2NDksMTkgKzE2NTMsMTAgQEAgZGVmIGlyX3JpZ2h0KG9wKTo8YnI+PGJyPjxicj5k ZWYgaXJfbW9kZShvcCk6PGJyPi0gbW9kZSA9ICcnPGJyPi0gaXJfbW9kZSA9IGludChsal9pcl9t b2RlKClbb3BdIF4gSVJNX1cpPGJyPi0gaWYgaXJfbW9kZSA9PSBJUk1fQzo8YnI+LSBtb2RlID0g J0MnPGJyPi0gZWxpZiBpcl9tb2RlID09IElSTV9BOjxicj4tIG1vZGUgPSAnQSc8YnI+LSBlbGlm IGlyX21vZGUgPT0gSVJNX0w6PGJyPi0gbW9kZSA9ICdMJzxicj4tIGVsaWYgaXJfbW9kZSA9PSBJ Uk1fUzo8YnI+LSBtb2RlID0gJ1MnPGJyPi0gZWxzZTo8YnI+LSBtb2RlID0gJ04nPGJyPi0gbW9k ZSArPSAnVycgaWYgaXJfbW9kZSAmYW1wOyBJUk1fVyBlbHNlICcnPGJyPisgaXJtb2RlID0gaW50 KChsal9pcl9tb2RlKClbb3BdKSk8YnI+KyBpc3dlYWsgPSBub3QgYm9vbChpcm1vZGUgJmFtcDsg SVJNX0JJVFNfVyk8YnI+KyBtb2RlID0gSVJNX0JJVFNbaXJtb2RlICZhbXA7IElSTV9CSVRTX01B U0tdPGJyPisgbW9kZSArPSAnVycgaWYgaXN3ZWFrIGVsc2UgJyc8YnI+cmV0dXJuIG1vZGU8YnI+ PGJyPjxicj5kaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wtZGVidWdnZXItdGVzdHMvZGVidWct ZXh0ZW5zaW9uLXRlc3RzLnB5IGIvdGVzdC90YXJhbnRvb2wtZGVidWdnZXItdGVzdHMvZGVidWct ZXh0ZW5zaW9uLXRlc3RzLnB5PGJyPmluZGV4IDhlMDY5ZmUwLi5mMTdkZTI3ZSAxMDA2NDQ8YnI+ LS0tIGEvdGVzdC90YXJhbnRvb2wtZGVidWdnZXItdGVzdHMvZGVidWctZXh0ZW5zaW9uLXRlc3Rz LnB5PGJyPisrKyBiL3Rlc3QvdGFyYW50b29sLWRlYnVnZ2VyLXRlc3RzL2RlYnVnLWV4dGVuc2lv bi10ZXN0cy5weTxicj5AQCAtNTMwLDEyICs1MzAsMTIgQEAgY2xhc3MgVGVzdExKVHJhY2VCYXNl KFRlc3RDYXNlQmFzZSk6PGJyPnInXHQqcHJvdG86ICcgKyBSWF9BRERSICsgcidcbicgKzxicj5y J1x0KkJDOiAnICsgUlhfQUREUiArIHInXG4nICs8YnI+cictLS0tIFRSQUNFIElSXG4nICs8YnI+ LSBSWF9JUk4gKyByJ1xzKyBpbnQgU0xPQUQgXFtOIFxdIGxpdDogI1sxMl0gbGl0OiBDP0lcbicg Kzxicj4rIFJYX0lSTiArIHInXHMrIGludCBTTE9BRCBcW0wgXF0gbGl0OiAjWzEyXSBsaXQ6IEM/ SVxuJyArPGJyPlJYX0lSTiArIHInXHMrIFwrIGludCBBREQgXFtDIFxdIHJlZjogJyArIFJYX0lS TiArPGJyPnInIHJlZjogaW50ZWdlciAxXG4nICs8YnI+UlhfSVJOICsgcidccysgJmd0OyBpbnQg TEUgXFtOIFxdIHJlZjogJyArIFJYX0lSTiArPGJyPnInIHJlZjogaW50ZWdlciA0XG4nICs8YnI+ LSBSWF9JUk4gKyByJ1xzKyAmZ3Q7IC0tLSBMT09QIFxbTiBcXVxzKlxuJyArPGJyPisgUlhfSVJO ICsgcidccysgJmd0OyAtLS0gTE9PUCBcW1MgXF1ccypcbicgKzxicj5SWF9JUk4gKyByJ1xzKyBc KyBpbnQgQUREIFxbQyBcXSByZWY6ICcgKyBSWF9JUk4gKzxicj5yJyByZWY6IGludGVnZXIgMVxu JyArPGJyPlJYX0lSTiArIHInXHMrICZndDsgaW50IExFIFxbTiBcXSByZWY6ICcgKyBSWF9JUk4g Kzxicj49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PGJyPjxicj5CdXQgaW50ZW50aW9uYWxseSBkaWRuJ3QgdXNlIGJpdCBu b3RhdGlvbiB0byBiZSBjb25zaXN0ZW50IHdpdGggb3JpZ2luYWw8YnI+ZGVjbGFyYXRpb25zIGlu ICZsdDtzcmMvbGpfaXIuaCZndDsuIEkndmUgdXNlZCB0aGUgbWFzayB0byBzdHJpcCBsb3dlciBi aXRzPGJyPnJlbGF0ZWQgdG8gIk5vbldlYWsiIGd1YXJkIGFuZCBvcGVyYW5kIG1vZGVzLjxicj48 YnI+Jmx0O3NuaXBwZWQmZ3Q7PGJyPjxicj4mZ3Q7ICZndDsgKyMgRG9uJ3QgdXNlICpbIHRvIGJl IGNvbXBhdGlibGUgd2l0aCBQeXRob24gMi48YnI+Jmd0OyAmZ3Q7ICtSRUdJU1RFUlMgPSB7J3g2 NCc6IFs8YnI+Jmd0OyAmZ3Q7ICsgJ3JheCcsPGJyPiZndDsgJmd0OyArICdyY3gnLDxicj4mZ3Q7 ICZndDsgKyAncmR4Jyw8YnI+Jmd0OyAmZ3Q7ICsgJ3JieCcsPGJyPiZndDsgJmd0OyArICdyc3An LDxicj4mZ3Q7ICZndDsgKyAncmJwJyw8YnI+Jmd0OyAmZ3Q7ICsgJ3JzaScsPGJyPiZndDsgJmd0 OyArICdyZGknLDxicj4mZ3Q7ICZndDsgK10gKyBbPGJyPiZndDsgJmd0OyArICdye30nLmZvcm1h dChpKSBmb3IgaSBpbiByYW5nZSg4LCAxNikgIyByOCAuLiByMTU8YnI+Jmd0OyAmZ3Q7ICtdICsg Wzxicj4mZ3Q7ICZndDsgKyAneG1te30nLmZvcm1hdChpKSBmb3IgaSBpbiByYW5nZSgwLCAxNikg IyB4bW0wIC4uIHhtbTE1PGJyPiZndDsgJmd0OyArXSwgJ2FybTY0JzogWzxicj4mZ3Q7ICZndDsg KyAneHt9Jy5mb3JtYXQoaSkgZm9yIGkgaW4gcmFuZ2UoMCwgMzEpICMgeDAgLi4geDMwPGJyPiZn dDsgJmd0OyArXSArIFsnc3AnXSArIFsgIyB4MzE8YnI+Jmd0OyAmZ3Q7ICsgJ2R7fScuZm9ybWF0 KGkpIGZvciBpIGluIHJhbmdlKDAsIDMyKSAjIGQwIC4uIGQzMTxicj4mZ3Q7ICZndDsgK119PGJy PiZndDsgJmd0Ozxicj4mZ3Q7PGJyPiZndDsgSXQgc2VlbXMsIHRoZSZuYnNwO+KAmGFybTY04oCZ IHJlZ2lzdGVycyBhcmUgbWlzc2VkLjxicj48YnI+QWN0aXVhbGx5IG5vLCBidXQgSSB1bmRlcnN0 YW5kIHlvdXIgY29uZnVzaW9uLjxicj5SZWZvcm1hdGVkIGFzIHRoZSBmb2xsb3dpbmc6PGJyPj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT08YnI+ZGlmZiAtLWdpdCBhL3NyYy9sdWFqaXRfZGJnLnB5IGIvc3JjL2x1YWppdF9k YmcucHk8YnI+aW5kZXggMzJiMGNlYTcuLmE3OWNhYWQwIDEwMDY0NDxicj4tLS0gYS9zcmMvbHVh aml0X2RiZy5weTxicj4rKysgYi9zcmMvbHVhaml0X2RiZy5weTxicj5AQCAtMTcyOCwyNCArMTcy OCwyOSBAQCBJUkZQTVMgPSBbPGJyPjxicj48YnI+IyBEb24ndCB1c2UgKlsgdG8gYmUgY29tcGF0 aWJsZSB3aXRoIFB5dGhvbiAyLjxicj4tUkVHSVNURVJTID0geyd4NjQnOiBbPGJyPi0gJ3JheCcs PGJyPi0gJ3JjeCcsPGJyPi0gJ3JkeCcsPGJyPi0gJ3JieCcsPGJyPi0gJ3JzcCcsPGJyPi0gJ3Ji cCcsPGJyPi0gJ3JzaScsPGJyPi0gJ3JkaScsPGJyPi1dICsgWzxicj4tICdye30nLmZvcm1hdChp KSBmb3IgaSBpbiByYW5nZSg4LCAxNikgIyByOCAuLiByMTU8YnI+LV0gKyBbPGJyPi0gJ3htbXt9 Jy5mb3JtYXQoaSkgZm9yIGkgaW4gcmFuZ2UoMCwgMTYpICMgeG1tMCAuLiB4bW0xNTxicj4tXSwg J2FybTY0JzogWzxicj4tICd4e30nLmZvcm1hdChpKSBmb3IgaSBpbiByYW5nZSgwLCAzMSkgIyB4 MCAuLiB4MzA8YnI+LV0gKyBbJ3NwJ10gKyBbICMgeDMxPGJyPi0gJ2R7fScuZm9ybWF0KGkpIGZv ciBpIGluIHJhbmdlKDAsIDMyKSAjIGQwIC4uIGQzMTxicj4tXX08YnI+K1JFR0lTVEVSUyA9IHs8 YnI+KyAneDY0JzogWzxicj4rICdyYXgnLDxicj4rICdyY3gnLDxicj4rICdyZHgnLDxicj4rICdy YngnLDxicj4rICdyc3AnLDxicj4rICdyYnAnLDxicj4rICdyc2knLDxicj4rICdyZGknLDxicj4r IF0gKyBbPGJyPisgJ3J7fScuZm9ybWF0KGkpIGZvciBpIGluIHJhbmdlKDgsIDE2KSAjIHI4IC4u IHIxNTxicj4rIF0gKyBbPGJyPisgJ3htbXt9Jy5mb3JtYXQoaSkgZm9yIGkgaW4gcmFuZ2UoMCwg MTYpICMgeG1tMCAuLiB4bW0xNTxicj4rIF0sPGJyPisgJ2FybTY0JzogWzxicj4rICd4e30nLmZv cm1hdChpKSBmb3IgaSBpbiByYW5nZSgwLCAzMSkgIyB4MCAuLiB4MzA8YnI+KyBdICsgWzxicj4r ICdzcCcgIyB4MzE8YnI+KyBdICsgWzxicj4rICdke30nLmZvcm1hdChpKSBmb3IgaSBpbiByYW5n ZSgwLCAzMikgIyBkMCAuLiBkMzE8YnI+KyBdPGJyPit9PGJyPjxicj48YnI+SVJfQ0FMTFMgPSBb PGJyPj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT08YnI+PGJyPiZndDs8YnI+PGJyPiZsdDtzbmlwcGVkJmd0Ozxicj48YnI+ Jmd0OyAmZ3Q7ICtkZWYgbGl0bmFtZV94bG9hZChtb2RlKTo8YnI+Jmd0OyAmZ3Q7ICsgZmxhZ3Mg PSBbJy0nLCAnUicsICdWJywgJ1JWJywgJ1UnLCAnUlUnLCAnVlUnLCAnUlZVJ108YnI+Jmd0OyAm Z3Q7PGJyPiZndDs8YnI+Jmd0OyBEb2VzIHdlIG5lZWQgYSZuYnNwO3JhbmdlIGNoZWNrIGFzIGlu Jm5ic3A7bGl0bmFtZV9idWZoZHIoKT88YnI+PGJyPkkgcHJlZmVyIGVycm9yIHJhaXNpbmcgaWYg c29tZXRoaW5nIGdvZXMgd3JvbmcgaGVyZSAoaW52YWxpZCBJUiBvcjxicj5pbmNvcnJlY3QgZXh0 ZW5zaW9uIGltcGxlbWVudGF0aW9uKS48YnI+PGJyPiZndDs8YnI+Jmd0OyAmZ3Q7PGJyPiZndDsg Jmd0OyArIHJldHVybiBmbGFnc1ttb2RlXTxicj4mZ3Q7ICZndDsgKzxicj4mZ3Q7ICZndDsgKzxi cj4mZ3Q7ICZndDsgK2RlZiBsaXRuYW1lX2NvbnYobW9kZSk6PGJyPiZndDsgJmd0Ozxicj4mZ3Q7 PGJyPiZndDsgRG9lcyB3ZSBuZWVkIHNvbWUgcmFuZ2UgY2hlY2tpbmcgaGVyZT88YnI+PGJyPkRp dHRvLjxicj48YnI+Jmd0Ozxicj4mZ3Q7ICZndDs8YnI+PGJyPiZsdDtzbmlwcHBlZCZndDs8YnI+ PGJyPiZndDsgJmd0OyArPGJyPiZndDsgJmd0OyArPGJyPiZndDsgJmd0OyArZGVmIGlydF9pc21h cmtlZCh0KTo8YnI+Jmd0OyAmZ3Q7ICsgcmV0dXJuIHRbJ2lydCddICZhbXA7IElSVF9NQVJLPGJy PiZndDsgJmd0Ozxicj4mZ3Q7PGJyPiZndDsgSSBwcm9wb3NlIGV4cGxpY2l0IGJvb2wgY2FzdCAo IT0gMCkgaGVyZSBhbmQgYmVsb3cuPGJyPjxicj5BZGRlZDo8YnI+PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PTxicj5kaWZm IC0tZ2l0IGEvc3JjL2x1YWppdF9kYmcucHkgYi9zcmMvbHVhaml0X2RiZy5weTxicj5pbmRleCBh NzljYWFkMC4uNmIwODI3ZDkgMTAwNjQ0PGJyPi0tLSBhL3NyYy9sdWFqaXRfZGJnLnB5PGJyPisr KyBiL3NyYy9sdWFqaXRfZGJnLnB5PGJyPkBAIC0xOTc4LDE1ICsxOTc4LDE1IEBAIGRlZiB0cmVm X3JlZih0cik6PGJyPjxicj48YnI+ZGVmIGlydF9pc21hcmtlZCh0KTo8YnI+LSByZXR1cm4gdFsn aXJ0J10gJmFtcDsgSVJUX01BUks8YnI+KyByZXR1cm4gYm9vbCh0WydpcnQnXSAmYW1wOyBJUlRf TUFSSyk8YnI+PGJyPjxicj5kZWYgaXJ0X2lzcGhpKHQpOjxicj4tIHJldHVybiB0WydpcnQnXSAm YW1wOyBJUlRfSVNQSEk8YnI+KyByZXR1cm4gYm9vbCh0WydpcnQnXSAmYW1wOyBJUlRfSVNQSEkp PGJyPjxicj48YnI+ZGVmIGlydF9pc2d1YXJkKHQpOjxicj4tIHJldHVybiB0WydpcnQnXSAmYW1w OyBJUlRfR1VBUkQ8YnI+KyByZXR1cm4gYm9vbCh0WydpcnQnXSAmYW1wOyBJUlRfR1VBUkQpPGJy Pjxicj48YnI+ZGVmIGlydF90b2l0eXBlKGlydCk6PGJyPj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT08YnI+PGJyPiZndDs8 YnI+Jmd0OyAmZ3Q7PGJyPiZndDsgJmd0OyArPGJyPiZndDsgJmd0OyArPGJyPiZndDsgJmd0OyAr ZGVmIGlydF9pc3BoaSh0KTo8YnI+Jmd0OyAmZ3Q7ICsgcmV0dXJuIHRbJ2lydCddICZhbXA7IElS VF9JU1BISTxicj4mZ3Q7ICZndDsgKzxicj4mZ3Q7ICZndDsgKzxicj4mZ3Q7ICZndDsgK2RlZiBp cnRfaXNndWFyZCh0KTo8YnI+Jmd0OyAmZ3Q7ICsgcmV0dXJuIHRbJ2lydCddICZhbXA7IElSVF9H VUFSRDxicj4mZ3Q7ICZndDsgKzxicj4mZ3Q7ICZndDsgKzxicj48YnI+Jmx0O3NuaXBwZWQmZ3Q7 PGJyPjxicj4mZ3Q7ICZndDs8YnI+Jmd0OyAmZ3Q7IC0tPGJyPiZndDsgJmd0OyAyLjU0LjA8YnI+ Jmd0OyAmZ3Q7PGJyPjxicj4tLTxicj5CZXN0IHJlZ2FyZHMsPGJyPlNlcmdleSBLYXBsdW48L2Rp dj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PC9kaXY+ PC9CT0RZPjwvSFRNTD4K ----ALT--1bE9aF812A2f97aEA9eDA95d264918B81782750946--