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 3C6546EC40; Thu, 27 Aug 2026 12:35:40 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 3C6546EC40 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1787823340; bh=kvxQL1VVNngDmAYyHMPEkyDkLP9ybnyLquC/uSA4F34=; 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=RExdRXOtIxn9fTz8RIpywrqIlPLBI0cfaefCscyzZ6FSHpSDM/DEOZqniM/hrcacR GRAZuNSHPSbFHNV8KGCKTT2XxdOv+ZU9CQMqS0g7CzpuLThwChe2ZbAgZ4Y7l/uqgg RzyFQ/6FCOTIx26yi7VZjD2u4oNdAShIwm62Q+RA= Received: from send203.i.mail.ru (send203.i.mail.ru [95.163.59.42]) (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 79A0D6EC40 for ; Thu, 27 Aug 2026 12:35:15 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 79A0D6EC40 Received: by exim-f-fd6f9ff96-nvcxk with local (envelope-from ) id 1wzWVa-00000000M8t-3DRH; Thu, 27 Aug 2026 12:35:15 +0300 Received: by e.mail.ru with HTTP; Thu, 27 Aug 2026 12:34:54 +0300 To: =?UTF-8?B?U2VyZ2V5IEthcGx1bg==?= MIME-Version: 1.0 X-Priority: 3 (Normal) X-Mailer: Mail.Ru Mailer 1.0 X-Senderfield-Remsg: 17877549221272458378 X-Senderfield-Remind: 0 Date: Thu, 27 Aug 2026 12:34:54 +0300 Message-Id: <1787823294.145835739@f485.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--9a44AdDEfC6E63Ba9DE457e953E58b341787823294" In-Reply-To: <20260826143447.3761605-1-skaplun@tarantool.org> References: <20260826143447.3761605-1-skaplun@tarantool.org> X-Mailru-Src: fe X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 119C1F4DF6A9251C08AE80BC00004EE66F54BCD21F131A9CC991D7A4A68FCFDB8FD872164937FA4CB06F5937228947313DE06ABAFEAF6705CAE69F0B0970E12F0C508E5C64F3A7D48D5BC34CF4E3E8BC X-7FA49CB5: 70AAF3C13DB70168C09775C1D3CA48CFB20C53E177445283B2086D80B0504778CF19DD082D7633A0587C8798DFFB2F5764CD17681C2FEB7A176DF2183F8FC7C069F352006F678CB7C4224003CC836476519853189F76E43EBFD28B28ED4578739E625A9149C048EE26055571C92BF10FAC83A81C8FD4AD23E2E44EFD321A7F275571747095F342E85644E22E05AA81AEE6DE07D961CB05C233AC447995A7AD180B8ADF238913687C52120BFB3F63BC18BE95F64BC9A3199D1BDDB23E98D2D38BAC5E2E0391675A9525B3C51B661346C9C7D9E3273ACD412806143AE82CDA8D4AA471835C12D1D9774AD6D5ED66289B5278DA827A17800CE77A825AB47F0FC8649FA2833FD35BB23D2EF20D2F80756B5F868A13BD56FB6657A471835C12D1D977725E5C173C3A84C327ED053E960B195E117882F4460429728AD0CFFFB425014E868A13BD56FB6657E2021AF6380DFAD1A18204E546F3947CB11811A4A51E3B096D1867E19FE1407959CC434672EE6371089D37D7C0E48F6C8AA50765F7900637E62180BDA7F10F15EFF80C71ABB335746BA297DBC24807EABDAD6C7F3747799A X-C1DE0DAB: 0D63561A33F958A55A8712DF99DD26BD5002B1117B3ED696E7106479FC386719C638DF663A625AFA823CB91A9FED034534781492E4B8EEADA3FB0D9844EF8EC5BDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0AD73CAD6646DEDE191543584D22441D852AB70F9BE574AE9C625B6776AC983F447FC0B9F89525902EE6F57B2FD27647F25E66C117BDB76D6594A6CAEFC756F90D9AE4E57972EF175898C8681B1E1A6797CD4AFC924276BC7081075C63821EC8638B8341EE9D5BE9A0AAE3F52DD2D65CD52B2B8FF089E1DBEA7222B67CA35872B736536EB022892E5344C41F94D744909CEEF9E35A692215F79327F81E6EEE0AEB67A0F9F91F029B6AF33F2C28C22F508233FCF178C6DD14203 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+Od3uM/CLT152eL7j4ZacoUSF0MSa0v5VBmEtSutdC50BIKdL3VIRlkt/X9Gr7QWYXucPUinHATAeHXorM+S1NQOd7Dfgh+EySX5itwep224cQdlLyDhOWaA= X-Mailru-MI: 20000000010000000000400800 X-Mailru-Sender: CAEA8D1BB05FFE65712D1C17D30F5CA474CD55241DA91D87EAE04967732FC4589A0483B78BB071B95348A29716E67956993BB86843564D3151581E2F20B473F559EDE0DBA644B6F995FB2EA1359BB612E1EF5E1C5BB7B70978184EDC3E27953A3A5DB60FBEB33A8A0DA7A0AF5A3A8387 X-Mras: Ok X-Spam: undefined Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_luajit=5D_perf=3A_add_hel?= =?utf-8?q?per_for_benchmark_results_comparison?= 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--9a44AdDEfC6E63Ba9DE457e953E58b341787823294 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGksIFNlcmdleSEgVGhhbmtzIGZvciB0aGUgcGF0Y2ghCkxHVE0gd2l0aCBvbmUgc3VnZ2VzdGlv bi4KCj4gCj4gRnJvbTogU2VyZ2V5IEthcGx1biA8c2thcGx1bkB0YXJhbnRvb2wub3JnPgo+IFRv OiBTZXJnZXkgQnJvbm5pa292IDxzZXJnZXliQHRhcmFudG9vbC5vcmc+LCBFdmdlbml5IFRlbWly Z2FsZWV2IDxlLnRlbWlyZ2FsZWV2QHRhcmFudG9vbC5vcmcKPiA+Cj4gQ2M6IHRhcmFudG9vbC1w YXRjaGVzQGRldi50YXJhbnRvb2wub3JnLCBTZXJnZXkgS2FwbHVuIDxza2FwbHVuQHRhcmFudG9v bC5vcmcKPiA+Cj4gRGF0ZTogV2VkbmVzZGF5LCBBdWd1c3QgMjYsIDIwMjYgNTozNSBQTSArMDM6 MDAKPiBUaGlzIHBhdGNoIGFkZHMgdGhlIGhlbHBlciwgd2hpY2ggaXMgc2ltaWxhciB0byB0aGUg R29vZ2xlLWJlbmNobWFyawo+IGNvbXBhcmUucHkgc2NyaXB0IFsxXS4gTmV2ZXJ0aGVsZXNzLCBp dCBoYXMgdGhlIGZvbGxvd2luZyBzZW1hbnRpYwo+IGNoYW5nZXM6Cj4gCj4gKiBjb21wYXJlLnB5 IGNvbXBhcmVzIHRoZSBhYnNvbHV0ZSB0aW1lIG9mIHRoZSBiZW5jaG1hcmssIHdoaWNoIG1heSBs ZWFkCj4gdG8gY29uZnVzaW9uIHdoZW4gdGhlIHRpbWUgaXMgYXV0b3R1bmVkIHRvIGJlIHN1cmUg dGhhdCB0aGUgYmVuY2htYXJrCj4gcnVucyB0aGUgbWluaW11bSByZXF1aXJlZCB0aW1lIGFtb3Vu dC4gSGVuY2UsIHRoaXMgc2NyaXB0IGNvbXBhcmVzIHRoZQo+IGl0ZW1zX3Blcl9zZWNvbmQgbWV0 cmljIHRvIGNoZWNrIHRoZSBwZXJmb3JtYW5jZSBkaWZmZXJlbmNlIGV2ZW4gZm9yCj4gdGhlIHNh bWUgYWJzb2x1dGUgdGltZXMgb2YgdGhlIGJlbmNobWFya3MuCj4gKiBjb21wYXJlLnB5IGNvbXBh cmVzIG9ubHkgMiBmaWxlcywgd2hpbGUgdGhpcyBzY3JpcHQgYWxsb3dzIGNvbXBhcmluZwo+IGRp cmVjdG9yaWVzIGZpbGxlZCB3aXRoIHRoZSBzYW1lIGJlbmNobWFya3MgKGNoZWNrcyBpbnRlcnNl Y3Rpb24gd2l0aAo+IHdhcm5pbmcgb2YgdW5tYXRjaGVkIGJlbmNobWFya3MpLCB3aGljaCBhbGxv d3MgdG8gc2VlIHRoZSBmdWxsCj4gc3RhdGlzdGljIG9mIHRoZSBwYXRjaCBmb3IgdGhlIHN1aXRl Lgo+ICogVGhpcyBoZWxwZXIgZG9lc24ndCBhbGxvdyBydW5uaW5nIHRoZSBiZW5jaG1hcmtzIHRv IGNvbXBhcmUuIEl0Cj4gcHJvY2VlZHMgb25seSB3aXRoIHRoZSBnaXZlbiByZXN1bHRzLgo+ICog VGhlcmUgaXMgbm8gc3VwcG9ydCBmb3IgVSB0ZXN0Lgo+ICogLS1hbHBoYSBmbGFnIGFsbG93cyBz ZXR0aW5nIHRoZSByZWxhdGl2ZSBkaWZmZXJlbmNlIHRocmVzaG9sZCBmcm9tCj4gd2hpY2ggcmVz dWx0cyBhcmUgY29uc2lkZXJlZCBhcyBjaGFuZ2VkLCBpbnN0ZWFkIG9mIHRoZSBwLXZhbHVlIGZv cgo+IFUgdGVzdC4KPiAqIFRoZSBnZW9tZWFuIG9mIHRoZSBiZW5jaG1hcmtzIGNhbiBiZSBoaWRk ZW4gYnkgdGhlIGZsYWcKPiAtLWhpZGVfYWdncmVnYXRlcywgLWkuCj4gKiBUaGUgb3V0cHV0IG1h eSBiZSBmaWx0ZXJlZCB0byBjb250YWluIG9ubHkgY2hhbmdlZCBiZW5jaG1hcmtzIGJ5IHRoZQo+ IG9wdGlvbiAtLWNoYW5nZXNfb25seSwgLWMuCj4gCj4gRm9yIG1vcmUgZGV0YWlscywgc2VlIGhl bHAgaW4gdGhlIHNjcmlwdC4KPiAKPiBbMV06IGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvYmVu Y2htYXJrL2Jsb2IvMjY3YTExMTU0ZjE0MjY5Mzg0ODc5ZGM3ZjZiOGQyNWFjYjM2ODRkYi90b29s cy9jb21wYXJlLnB5Cj4gCj4gLS0tCj4gCj4gQnJhbmNoOiBodHRwczovL2dpdGh1Yi5jb20vdGFy YW50b29sL2x1YWppdC90cmVlL3NrYXBsdW4vZ2gtbm90aWNrZXQtcGVyZi1jb21wYXJlCj4gCj4g U2lkZSBub3RlOiBDSSBpcyByZWQgZHVlIHRvIHRoZSBrbm93biBUYXJhbnRvb2wgbWV0cmljcyBp c3N1ZS4KPiAKPiBUaGUgZXhhbXBsZSBvZiB0aGUgb3V0cHV0IChjb21wYXJpbmcgbWFzdGVyIHdp dGggdGhpcyBbMl0gcGF0Y2gKPiBhcHBsaWVkKToKPiAKPiB8ICQgbHVhaml0IHBlcmYvaGVscGVy cy9jb21wYXJlLmx1YSAtLWFscGhhPTAuMDUgLWMKPiAuLi9iZW5jaC9wZXJmL291dHB1dC9MdWFK SVQtYmVuY2hlcwo+IC4uL2djNjQtYmVuY2htYXJrcy1wYXRjaGVkL3BlcmYvb3V0cHV0L0x1YUpJ VC1iZW5jaGVzCj4gfCBDb21wYXJpbmcgLi4vYmVuY2gvcGVyZi9vdXRwdXQvTHVhSklULWJlbmNo ZXMvY2hhbWVuZW9zLmpzb24gdG8KPiAuLi9nYzY0LWJlbmNobWFya3MtcGF0Y2hlZC9wZXJmL291 dHB1dC9MdWFKSVQtYmVuY2hlcy9jaGFtZW5lb3MuanNvbgo+IHwgQmVuY2htYXJrIGl0ZW1zX3Bl cl9zZWNvbmQgSVBTIE5ldyBJUFMgT2xkCj4gfAo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiB8IGNoYW1l bmVvcyArMC4xNCAyLjg3TS9zIDIuNTJNL3MKPiB8IE9WRVJBTExfR0VPTUVBTiArMC4xNCAyLjg3 TS9zIDIuNTJNL3MKPiB8Cj4gfCBDb21wYXJpbmcgLi4vYmVuY2gvcGVyZi9vdXRwdXQvTHVhSklU LWJlbmNoZXMvY29yb3V0aW5lLXJpbmcuanNvbiB0bwo+IC4uL2djNjQtYmVuY2htYXJrcy1wYXRj aGVkL3BlcmYvb3V0cHV0L0x1YUpJVC1iZW5jaGVzL2Nvcm91dGluZS1yaW5nLmpzb24KPiB8IEJl bmNobWFyayBpdGVtc19wZXJfc2Vjb25kIElQUyBOZXcgSVBTIE9sZAo+IHwKPiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCj4gfCBjb3JvdXRpbmVfcmluZyArMC4yMSAxNy40MU0vcyAxNC4zOE0vcwo+IHwgT1ZF UkFMTF9HRU9NRUFOICswLjIxIDE3LjQxTS9zIDE0LjM4TS9zCj4gfAo+IHwgQ29tcGFyaW5nIC4u L2JlbmNoL3BlcmYvb3V0cHV0L0x1YUpJVC1iZW5jaGVzL2V1bGVyMTQtYml0Lmpzb24gdG8KPiAu Li9nYzY0LWJlbmNobWFya3MtcGF0Y2hlZC9wZXJmL291dHB1dC9MdWFKSVQtYmVuY2hlcy9ldWxl cjE0LWJpdC5qc29uCj4gfCBCZW5jaG1hcmsgaXRlbXNfcGVyX3NlY29uZCBJUFMgTmV3IElQUyBP bGQKPiB8Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IHwgZXVsZXIxNF9iaXQgKzAuMTYgMjEuMDBNL3Mg MTguMTZNL3MKPiB8IE9WRVJBTExfR0VPTUVBTiArMC4xNiAyMS4wME0vcyAxOC4xNk0vcwo+IHwK PiB8IENvbXBhcmluZyAuLi9iZW5jaC9wZXJmL291dHB1dC9MdWFKSVQtYmVuY2hlcy9yZWN1cnNp dmUtYWNrLmpzb24gdG8KPiAuLi9nYzY0LWJlbmNobWFya3MtcGF0Y2hlZC9wZXJmL291dHB1dC9M dWFKSVQtYmVuY2hlcy9yZWN1cnNpdmUtYWNrLmpzb24KPiB8IEJlbmNobWFyayBpdGVtc19wZXJf c2Vjb25kIElQUyBOZXcgSVBTIE9sZAo+IHwKPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gfCByZWN1cnNp dmVfYWNrICswLjEyIDI0MS4wN00vcyAyMTQuOTVNL3MKPiB8IE9WRVJBTExfR0VPTUVBTiArMC4x MiAyNDEuMDdNL3MgMjE0Ljk1TS9zCj4gfAo+IHwgQ29tcGFyaW5nIC4uL2JlbmNoL3BlcmYvb3V0 cHV0L0x1YUpJVC1iZW5jaGVzL3JlY3Vyc2l2ZS1maWIuanNvbiB0bwo+IC4uL2djNjQtYmVuY2ht YXJrcy1wYXRjaGVkL3BlcmYvb3V0cHV0L0x1YUpJVC1iZW5jaGVzL3JlY3Vyc2l2ZS1maWIuanNv bgo+IHwgQmVuY2htYXJrIGl0ZW1zX3Blcl9zZWNvbmQgSVBTIE5ldyBJUFMgT2xkCj4gfAo+IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPiB8IHJlY3Vyc2l2ZV9maWIgKzAuNDIgMzAyLjcwTS9zIDIxMi41ME0v cwo+IHwgT1ZFUkFMTF9HRU9NRUFOICswLjQyIDMwMi43ME0vcyAyMTIuNTBNL3MKPiAKPiBbMl06 IGh0dHBzOi8vZ2l0aHViLmNvbS9MdWFKSVQvTHVhSklUL2lzc3Vlcy8xNDg1I2lzc3VlLTQ5MDA4 NjI2MzYKPiAKPiBwZXJmL2hlbHBlcnMvY29tcGFyZS5sdWEgfCA0NjMgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCj4gMSBmaWxlIGNoYW5nZWQsIDQ2MyBpbnNlcnRpb25z KCspCj4gY3JlYXRlIG1vZGUgMTAwNjQ0IHBlcmYvaGVscGVycy9jb21wYXJlLmx1YQo+IAo+IGRp ZmYgLS1naXQgYS9wZXJmL2hlbHBlcnMvY29tcGFyZS5sdWEgYi9wZXJmL2hlbHBlcnMvY29tcGFy ZS5sdWEKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwLi4yYWJlNjI1Ngo+ IC0tLSAvZGV2L251bGwKPiArKysgYi9wZXJmL2hlbHBlcnMvY29tcGFyZS5sdWEKPiBAQCAtMCww ICsxLDQ2MyBAQAo+ICtsb2NhbCBqc29uID0gcmVxdWlyZSgnY2pzb24nKQo+ICsKPiArbG9jYWwg YWJzLCBleHAsIGxvZywgbWF4ID0gbWF0aC5hYnMsIG1hdGguZXhwLCBtYXRoLmxvZywgbWF0aC5t YXgKPiArbG9jYWwgZmluZCwgZm9ybWF0ID0gc3RyaW5nLmZpbmQsIHN0cmluZy5mb3JtYXQKPiAr bG9jYWwgbWF0Y2gsIHJlcCwgc3ViID0gc3RyaW5nLm1hdGNoLCBzdHJpbmcucmVwLCBzdHJpbmcu c3ViCj4gK2xvY2FsIHRhYmxlX2luc2VydCwgdGFibGVfcmVtb3ZlID0gdGFibGUuaW5zZXJ0LCB0 YWJsZS5yZW1vdmUKPiArbG9jYWwgdGFibGVfc29ydCA9IHRhYmxlLnNvcnQKPiArCj4gCgo8c25p cHBlZD4KCj4gCj4gKy0tLS0tLS0tLS0tLSBDb21wYXJpc29uIG9mIHRoZSByZXN1bHRzLiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICsKPiArLS0gQ29tcGFyZSB0byBsaXN0cyBhbmQgcmV0 dXJuIGludGVyc2VjdGlvbiBvZiB0aGVtLgo+ICstLSBQcmludCB3YXJuaW5nIGlmIGFueSBlbGVt ZW50IGlzIG1pc3NpbmcuCj4gK2xvY2FsIGZ1bmN0aW9uIGludGVyc2VjdGlvbihhLCBiLCBtc2dh LCBtc2diKQo+ICsgbG9jYWwgaW50ZXJzZWN0ID0ge30KPiArIC0tIFNjYW4gdGFibGVzLCB3aXRo IHNvcnRlZCBlbGVtZW50cy4KPiArIC0tIElmIGFueSBlbGVtZW50IG1pc3NpbmcgKHRoaXMgZWxl bWVudCBpcyBsZXNzIHRoYW4gdGhlIG5lYXJlc3QKPiArIC0tIGZyb20gYW5vdGhlciBsaXN0KSwg cHJpbnQgd2FybmluZy4KPiArIHRhYmxlX3NvcnQoYSkKPiArIHRhYmxlX3NvcnQoYikKPiArIGxv Y2FsIGFpLCBiaSA9IDEsIDEKPiArIHdoaWxlIGFpIDw9ICNhIG9yIGJpIDw9ICNiIGRvCj4gKyBp ZiBhW2FpXSA9PSBiW2JpXSB0aGVuCj4gKyB0YWJsZV9pbnNlcnQoaW50ZXJzZWN0LCBhW2FpXSkK PiArIGFpID0gYWkgKyAxCj4gKyBiaSA9IGJpICsgMQo+ICsgZWxzZWlmIGJpID4gI2Igb3IgKGFp IDwgI2EgYW5kIGFbYWldIDwgYltiaV0pIHRoZW4KPiArIHdhcm4oZm9ybWF0KG1zZ2EsIGFbYWld KSkKPiArIGFpID0gYWkgKyAxCj4gKyBlbHNlCj4gKyBhc3NlcnQoYWkgPiAjYSBvciAoYmkgPCAj YiBhbmQgYVthaV0gPiBiW2JpXSksICdpbmNvcnJlY3QgaW50ZXJzZWN0aW9uJykKPiAKPiArIHdh cm4oZm9ybWF0KG1zZ2IsIGJbYmldKSkKPiArIGJpID0gYmkgKyAxCj4gKyBlbmQKPiArIGVuZAo+ ICsgcmV0dXJuIGludGVyc2VjdAo+ICtlbmQKPiAKCkhlcmUgdGhlIG11bHRpLWJyYW5jaCBsb29w wqAoRGlqa3N0cmEtbG9vcCkgbWF5IGJlIHVzZWQgdG8gbWFrZSB0aGluZ3MgbW9yZSBjbGVhci4g SW4gTHVhIGl0IG1heSBiZSB3cml0dGVuIHdpdGggaW5maW5pdGUgbG9vcCBwbHVzIG11bHRpLWJy YW5jaCBpZiB3aXRoIHNpbmdsZcKgYnJlYWsgaW4gZWxzZSBicmFuY2guCgpsb2NhbCBhaSwgYmkg PSAxLCAxCndoaWxlIHRydWUgZG8KaWYgYWkgPD0gI2EgYW5kIGJpIDw9ICNiIGFuZCBhW2FpXSA9 PSBiW2JpXSB0aGVuCnRhYmxlX2luc2VydChpbnRlcnNlY3QsIGFbYWldKQphaSA9IGFpICsgMQpi aSA9IGJpICsgMQplbHNlaWYgYWkgPD0gI2EgYW5kIChiaSA+ICNiIG9yIGFbYWldIDwgYltiaV0p IHRoZW4Kd2Fybihmb3JtYXQobXNnYSwgYVthaV0pKQphaSA9IGFpICsgMQplbHNlaWYgYmkgPD0g I2IgYW5kIChhaSA+ICNhIG9yIGJbYmldIDwgYVthaV0pIHRoZW4Kd2Fybihmb3JtYXQobXNnYiwg YltiaV0pKQpiaSA9IGJpICsgMQplbHNlIC0tIGFpID4gI2EgYW5kIGJpID4gI2IKYnJlYWsKZW5k CmVuZAoKPiAKPiArCj4gKy0tIENhbGN1bGF0ZSBnZW9tZWFuIGZvciB0aGUgZ2l2ZW4gYmVuY2gg bmFtZXMuCj4gK2xvY2FsIGZ1bmN0aW9uIGdtZWFuKHJlc3VsdHMsIGxpc3QpCj4gKyBsb2NhbCBu ID0gI2xpc3QKPiArIGlmIG4gPT0gMSB0aGVuCj4gKyByZXR1cm4gcmVzdWx0c1tsaXN0WzFdXQo+ ICsgZW5kCj4gKyBsb2NhbCBnbW4gPSAwCj4gKyAtLSBVc2UgTG9nLVRyYW5zZm9ybSBjYWxjdWxh dGlvbiB0byBhdm9pZCBpbmZpbml0ZSB2YWx1ZXMuCj4gKyBmb3IgaSA9IDEsIG4gZG8KPiArIGdt biA9IGdtbiArIGxvZyhyZXN1bHRzW2xpc3RbaV1dKQo+ICsgZW5kCj4gKyBnbW4gPSBnbW4gLyBu Cj4gKyByZXR1cm4gZXhwKGdtbikKPiArZW5kCj4gKwo+IAoKPHNuaXBwZWQ+Cgo+IAo+ICstLS0t LS0tLS0tLS0gTWFpbi4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KPiArCj4gK2FyZ3BhcnNlKGFyZykKPiArCj4gK2xvY2FsIGJhc2VsaW5lX3BhdGgsIGNv bnRlbmRlcl9wYXRoID0gYXJnWzFdLCBhcmdbMl0KPiArbG9jYWwgYmFzZV9pc2RpciA9IGlzZGly KGJhc2VsaW5lX3BhdGgpCj4gK2xvY2FsIGNvbnRfaXNkaXIgPSBpc2Rpcihjb250ZW5kZXJfcGF0 aCkKPiArCj4gK2lmIGJhc2VfaXNkaXIgfj0gY29udF9pc2RpciB0aGVuCj4gKyBmYXRhbCgnQmFz ZWxpbmUgYW5kIGNvbnRlbmRlciBmaWxlIHR5cGVzIHNob3VsZCBlaXRoZXIgYmUgZmlsZSBvcgo+ IGRpcmVjdG9yeS4nKQo+ICtlbmQKPiArCj4gK2lmIGJhc2VfaXNkaXIgdGhlbgo+ICsgb3V0cHV0 X3NldHNfcmVzdWx0cyhjb21wYXJlX2JlbmNobWFya3Nfc2V0cyhiYXNlbGluZV9wYXRoLAo+IGNv bnRlbmRlcl9wYXRoKSwKPiArIGJhc2VsaW5lX3BhdGgsIGNvbnRlbmRlcl9wYXRoCj4gKyApCj4g K2Vsc2UKPiArIG91dHB1dF9yZXN1bHRzKGNvbXBhcmVfYmVuY2htYXJrcyhiYXNlbGluZV9wYXRo LCBjb250ZW5kZXJfcGF0aCksCj4gKyBiYXNlbGluZV9wYXRoLCBjb250ZW5kZXJfcGF0aAo+ICsg KQo+ICtlbmQKPiAtLQo+IDIuNTUuMAo+IAoKQmVzdCByZWdhcmRzLApFdmdlbml5IFRlbWlyZ2Fs ZWV2 ----ALT--9a44AdDEfC6E63Ba9DE457e953E58b341787823294 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXYgY2xhc3M9ImNsLW42b203Ymx1emEiPkhpLCBTZXJnZXkhIFRoYW5r cyBmb3IgdGhlIHBhdGNoITxicj5MR1RNIHdpdGggb25lIHN1Z2dlc3Rpb24uPGRpdiBjbGFzcz0i bWFpbC1xdW90ZS1jb2xsYXBzZSI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBz b2xpZCAjMDg1N0E2O21hcmdpbjoxMHB4O3BhZGRpbmc6MCAwIDAgMTBweCI+PHNwYW4+RnJvbTog U2VyZ2V5IEthcGx1biAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNrYXBsdW5AdGFyYW50b29sLm9yZyI+ c2thcGx1bkB0YXJhbnRvb2wub3JnPC9hPiZndDs8YnI+VG86IFNlcmdleSBCcm9ubmlrb3YgJmx0 OzxhIGhyZWY9Im1haWx0bzpzZXJnZXliQHRhcmFudG9vbC5vcmciPnNlcmdleWJAdGFyYW50b29s Lm9yZzwvYT4mZ3Q7LCBFdmdlbml5IFRlbWlyZ2FsZWV2ICZsdDs8YSBocmVmPSJtYWlsdG86ZS50 ZW1pcmdhbGVldkB0YXJhbnRvb2wub3JnIj5lLnRlbWlyZ2FsZWV2QHRhcmFudG9vbC5vcmc8L2E+ Jmd0Ozxicj5DYzogdGFyYW50b29sLXBhdGNoZXNAZGV2LnRhcmFudG9vbC5vcmcsIFNlcmdleSBL YXBsdW4gJmx0OzxhIGhyZWY9Im1haWx0bzpza2FwbHVuQHRhcmFudG9vbC5vcmciPnNrYXBsdW5A dGFyYW50b29sLm9yZzwvYT4mZ3Q7PGJyPkRhdGU6IFdlZG5lc2RheSwgQXVndXN0IDI2LCAyMDI2 IDU6MzUgUE0gKzAzOjAwPC9zcGFuPjxicj4mbmJzcDs8ZGl2PjxkaXYgaWQ9IiI+PGRpdiBjbGFz cz0iY2wtbnFqcnA1OTdnMSI+PGRpdiBjbGFzcz0ianMtaGVscGVyX21yX2Nzc19hdHRyIGpzLXJl YWRtc2ctbXNnX21yX2Nzc19hdHRyIj48ZGl2IGlkPSJzdHlsZV8xNzg3NzU0OTIyMTI3MjQ1ODM3 OF9tcl9jc3NfYXR0ciI+PGRpdiBpZD0ic3R5bGVfMTc4Nzc1NDkyMjEyNzI0NTgzNzhfQk9EWV9t cl9jc3NfYXR0ciI+VGhpcyBwYXRjaCBhZGRzIHRoZSBoZWxwZXIsIHdoaWNoIGlzIHNpbWlsYXIg dG8gdGhlIEdvb2dsZS1iZW5jaG1hcms8YnI+Y29tcGFyZS5weSBzY3JpcHQgWzFdLiBOZXZlcnRo ZWxlc3MsIGl0IGhhcyB0aGUgZm9sbG93aW5nIHNlbWFudGljPGJyPmNoYW5nZXM6PGJyPjxicj4q IGNvbXBhcmUucHkgY29tcGFyZXMgdGhlIGFic29sdXRlIHRpbWUgb2YgdGhlIGJlbmNobWFyaywg d2hpY2ggbWF5IGxlYWQ8YnI+dG8gY29uZnVzaW9uIHdoZW4gdGhlIHRpbWUgaXMgYXV0b3R1bmVk IHRvIGJlIHN1cmUgdGhhdCB0aGUgYmVuY2htYXJrPGJyPnJ1bnMgdGhlIG1pbmltdW0gcmVxdWly ZWQgdGltZSBhbW91bnQuIEhlbmNlLCB0aGlzIHNjcmlwdCBjb21wYXJlcyB0aGU8YnI+aXRlbXNf cGVyX3NlY29uZCBtZXRyaWMgdG8gY2hlY2sgdGhlIHBlcmZvcm1hbmNlIGRpZmZlcmVuY2UgZXZl biBmb3I8YnI+dGhlIHNhbWUgYWJzb2x1dGUgdGltZXMgb2YgdGhlIGJlbmNobWFya3MuPGJyPiog Y29tcGFyZS5weSBjb21wYXJlcyBvbmx5IDIgZmlsZXMsIHdoaWxlIHRoaXMgc2NyaXB0IGFsbG93 cyBjb21wYXJpbmc8YnI+ZGlyZWN0b3JpZXMgZmlsbGVkIHdpdGggdGhlIHNhbWUgYmVuY2htYXJr cyAoY2hlY2tzIGludGVyc2VjdGlvbiB3aXRoPGJyPndhcm5pbmcgb2YgdW5tYXRjaGVkIGJlbmNo bWFya3MpLCB3aGljaCBhbGxvd3MgdG8gc2VlIHRoZSBmdWxsPGJyPnN0YXRpc3RpYyBvZiB0aGUg cGF0Y2ggZm9yIHRoZSBzdWl0ZS48YnI+KiBUaGlzIGhlbHBlciBkb2Vzbid0IGFsbG93IHJ1bm5p bmcgdGhlIGJlbmNobWFya3MgdG8gY29tcGFyZS4gSXQ8YnI+cHJvY2VlZHMgb25seSB3aXRoIHRo ZSBnaXZlbiByZXN1bHRzLjxicj4qIFRoZXJlIGlzIG5vIHN1cHBvcnQgZm9yIFUgdGVzdC48YnI+ KiAtLWFscGhhIGZsYWcgYWxsb3dzIHNldHRpbmcgdGhlIHJlbGF0aXZlIGRpZmZlcmVuY2UgdGhy ZXNob2xkIGZyb208YnI+d2hpY2ggcmVzdWx0cyBhcmUgY29uc2lkZXJlZCBhcyBjaGFuZ2VkLCBp bnN0ZWFkIG9mIHRoZSBwLXZhbHVlIGZvcjxicj5VIHRlc3QuPGJyPiogVGhlIGdlb21lYW4gb2Yg dGhlIGJlbmNobWFya3MgY2FuIGJlIGhpZGRlbiBieSB0aGUgZmxhZzxicj4tLWhpZGVfYWdncmVn YXRlcywgLWkuPGJyPiogVGhlIG91dHB1dCBtYXkgYmUgZmlsdGVyZWQgdG8gY29udGFpbiBvbmx5 IGNoYW5nZWQgYmVuY2htYXJrcyBieSB0aGU8YnI+b3B0aW9uIC0tY2hhbmdlc19vbmx5LCAtYy48 YnI+PGJyPkZvciBtb3JlIGRldGFpbHMsIHNlZSBoZWxwIGluIHRoZSBzY3JpcHQuPGJyPjxicj5b MV06IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvYmVuY2htYXJrL2Jsb2IvMjY3 YTExMTU0ZjE0MjY5Mzg0ODc5ZGM3ZjZiOGQyNWFjYjM2ODRkYi90b29scy9jb21wYXJlLnB5Ij5o dHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2JlbmNobWFyay9ibG9iLzI2N2ExMTE1NGYxNDI2OTM4 NDg3OWRjN2Y2YjhkMjVhY2IzNjg0ZGIvdG9vbHMvY29tcGFyZS5weTwvYT48YnI+LS0tPGJyPjxi cj5CcmFuY2g6IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90YXJhbnRvb2wvbHVhaml0L3Ry ZWUvc2thcGx1bi9naC1ub3RpY2tldC1wZXJmLWNvbXBhcmUiPmh0dHBzOi8vZ2l0aHViLmNvbS90 YXJhbnRvb2wvbHVhaml0L3RyZWUvc2thcGx1bi9naC1ub3RpY2tldC1wZXJmLWNvbXBhcmU8L2E+ PGJyPlNpZGUgbm90ZTogQ0kgaXMgcmVkIGR1ZSB0byB0aGUga25vd24gVGFyYW50b29sIG1ldHJp Y3MgaXNzdWUuPGJyPjxicj5UaGUgZXhhbXBsZSBvZiB0aGUgb3V0cHV0IChjb21wYXJpbmcgbWFz dGVyIHdpdGggdGhpcyBbMl0gcGF0Y2g8YnI+YXBwbGllZCk6PGJyPjxicj58ICQgbHVhaml0IHBl cmYvaGVscGVycy9jb21wYXJlLmx1YSAtLWFscGhhPTAuMDUgLWMgLi4vYmVuY2gvcGVyZi9vdXRw dXQvTHVhSklULWJlbmNoZXMgLi4vZ2M2NC1iZW5jaG1hcmtzLXBhdGNoZWQvcGVyZi9vdXRwdXQv THVhSklULWJlbmNoZXM8YnI+fCBDb21wYXJpbmcgLi4vYmVuY2gvcGVyZi9vdXRwdXQvTHVhSklU LWJlbmNoZXMvY2hhbWVuZW9zLmpzb24gdG8gLi4vZ2M2NC1iZW5jaG1hcmtzLXBhdGNoZWQvcGVy Zi9vdXRwdXQvTHVhSklULWJlbmNoZXMvY2hhbWVuZW9zLmpzb248YnI+fCBCZW5jaG1hcmsgaXRl bXNfcGVyX3NlY29uZCBJUFMgTmV3IElQUyBPbGQ8YnI+fCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPnwg Y2hhbWVuZW9zICswLjE0IDIuODdNL3MgMi41Mk0vczxicj58IE9WRVJBTExfR0VPTUVBTiArMC4x NCAyLjg3TS9zIDIuNTJNL3M8YnI+fDxicj58IENvbXBhcmluZyAuLi9iZW5jaC9wZXJmL291dHB1 dC9MdWFKSVQtYmVuY2hlcy9jb3JvdXRpbmUtcmluZy5qc29uIHRvIC4uL2djNjQtYmVuY2htYXJr cy1wYXRjaGVkL3BlcmYvb3V0cHV0L0x1YUpJVC1iZW5jaGVzL2Nvcm91dGluZS1yaW5nLmpzb248 YnI+fCBCZW5jaG1hcmsgaXRlbXNfcGVyX3NlY29uZCBJUFMgTmV3IElQUyBPbGQ8YnI+fCAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tPGJyPnwgY29yb3V0aW5lX3JpbmcgKzAuMjEgMTcuNDFNL3MgMTQuMzhNL3M8 YnI+fCBPVkVSQUxMX0dFT01FQU4gKzAuMjEgMTcuNDFNL3MgMTQuMzhNL3M8YnI+fDxicj58IENv bXBhcmluZyAuLi9iZW5jaC9wZXJmL291dHB1dC9MdWFKSVQtYmVuY2hlcy9ldWxlcjE0LWJpdC5q c29uIHRvIC4uL2djNjQtYmVuY2htYXJrcy1wYXRjaGVkL3BlcmYvb3V0cHV0L0x1YUpJVC1iZW5j aGVzL2V1bGVyMTQtYml0Lmpzb248YnI+fCBCZW5jaG1hcmsgaXRlbXNfcGVyX3NlY29uZCBJUFMg TmV3IElQUyBPbGQ8YnI+fCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPnwgZXVsZXIxNF9iaXQgKzAuMTYg MjEuMDBNL3MgMTguMTZNL3M8YnI+fCBPVkVSQUxMX0dFT01FQU4gKzAuMTYgMjEuMDBNL3MgMTgu MTZNL3M8YnI+fDxicj58IENvbXBhcmluZyAuLi9iZW5jaC9wZXJmL291dHB1dC9MdWFKSVQtYmVu Y2hlcy9yZWN1cnNpdmUtYWNrLmpzb24gdG8gLi4vZ2M2NC1iZW5jaG1hcmtzLXBhdGNoZWQvcGVy Zi9vdXRwdXQvTHVhSklULWJlbmNoZXMvcmVjdXJzaXZlLWFjay5qc29uPGJyPnwgQmVuY2htYXJr IGl0ZW1zX3Blcl9zZWNvbmQgSVBTIE5ldyBJUFMgT2xkPGJyPnwgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxi cj58IHJlY3Vyc2l2ZV9hY2sgKzAuMTIgMjQxLjA3TS9zIDIxNC45NU0vczxicj58IE9WRVJBTExf R0VPTUVBTiArMC4xMiAyNDEuMDdNL3MgMjE0Ljk1TS9zPGJyPnw8YnI+fCBDb21wYXJpbmcgLi4v YmVuY2gvcGVyZi9vdXRwdXQvTHVhSklULWJlbmNoZXMvcmVjdXJzaXZlLWZpYi5qc29uIHRvIC4u L2djNjQtYmVuY2htYXJrcy1wYXRjaGVkL3BlcmYvb3V0cHV0L0x1YUpJVC1iZW5jaGVzL3JlY3Vy c2l2ZS1maWIuanNvbjxicj58IEJlbmNobWFyayBpdGVtc19wZXJfc2Vjb25kIElQUyBOZXcgSVBT IE9sZDxicj58IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+fCByZWN1cnNpdmVfZmliICswLjQyIDMwMi43 ME0vcyAyMTIuNTBNL3M8YnI+fCBPVkVSQUxMX0dFT01FQU4gKzAuNDIgMzAyLjcwTS9zIDIxMi41 ME0vczxicj48YnI+WzJdOiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vTHVhSklUL0x1YUpJ VC9pc3N1ZXMvMTQ4NSNpc3N1ZS00OTAwODYyNjM2Ij5odHRwczovL2dpdGh1Yi5jb20vTHVhSklU L0x1YUpJVC9pc3N1ZXMvMTQ4NSNpc3N1ZS00OTAwODYyNjM2PC9hPjxicj48YnI+cGVyZi9oZWxw ZXJzL2NvbXBhcmUubHVhIHwgNDYzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKzxicj4xIGZpbGUgY2hhbmdlZCwgNDYzIGluc2VydGlvbnMoKyk8YnI+Y3JlYXRlIG1vZGUg MTAwNjQ0IHBlcmYvaGVscGVycy9jb21wYXJlLmx1YTxicj48YnI+ZGlmZiAtLWdpdCBhL3BlcmYv aGVscGVycy9jb21wYXJlLmx1YSBiL3BlcmYvaGVscGVycy9jb21wYXJlLmx1YTxicj5uZXcgZmls ZSBtb2RlIDEwMDY0NDxicj5pbmRleCAwMDAwMDAwMC4uMmFiZTYyNTY8YnI+LS0tIC9kZXYvbnVs bDxicj4rKysgYi9wZXJmL2hlbHBlcnMvY29tcGFyZS5sdWE8YnI+QEAgLTAsMCArMSw0NjMgQEA8 YnI+K2xvY2FsIGpzb24gPSByZXF1aXJlKCdjanNvbicpPGJyPis8YnI+K2xvY2FsIGFicywgZXhw LCBsb2csIG1heCA9IG1hdGguYWJzLCBtYXRoLmV4cCwgbWF0aC5sb2csIG1hdGgubWF4PGJyPits b2NhbCBmaW5kLCBmb3JtYXQgPSBzdHJpbmcuZmluZCwgc3RyaW5nLmZvcm1hdDxicj4rbG9jYWwg bWF0Y2gsIHJlcCwgc3ViID0gc3RyaW5nLm1hdGNoLCBzdHJpbmcucmVwLCBzdHJpbmcuc3ViPGJy Pitsb2NhbCB0YWJsZV9pbnNlcnQsIHRhYmxlX3JlbW92ZSA9IHRhYmxlLmluc2VydCwgdGFibGUu cmVtb3ZlPGJyPitsb2NhbCB0YWJsZV9zb3J0ID0gdGFibGUuc29ydDxicj4rPC9kaXY+PC9kaXY+ PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2PjxkaXY+Jmx0 O3NuaXBwZWQmZ3Q7PC9kaXY+PGRpdiBjbGFzcz0iY2wtbjZvbTdibHV6YSI+PGRpdiBjbGFzcz0i bWFpbC1xdW90ZS1jb2xsYXBzZSI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBz b2xpZCAjMDg1N0E2O21hcmdpbjoxMHB4O3BhZGRpbmc6MCAwIDAgMTBweCI+PGRpdj48ZGl2Pjxk aXYgY2xhc3M9ImNsLW5xanJwNTk3ZzEiPjxkaXYgY2xhc3M9ImpzLWhlbHBlcl9tcl9jc3NfYXR0 ciBqcy1yZWFkbXNnLW1zZ19tcl9jc3NfYXR0ciI+PGRpdj48ZGl2PistLS0tLS0tLS0tLS0gQ29t cGFyaXNvbiBvZiB0aGUgcmVzdWx0cy4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+Kzxi cj4rLS0gQ29tcGFyZSB0byBsaXN0cyBhbmQgcmV0dXJuIGludGVyc2VjdGlvbiBvZiB0aGVtLjxi cj4rLS0gUHJpbnQgd2FybmluZyBpZiBhbnkgZWxlbWVudCBpcyBtaXNzaW5nLjxicj4rbG9jYWwg ZnVuY3Rpb24gaW50ZXJzZWN0aW9uKGEsIGIsIG1zZ2EsIG1zZ2IpPGJyPisgbG9jYWwgaW50ZXJz ZWN0ID0ge308YnI+KyAtLSBTY2FuIHRhYmxlcywgd2l0aCBzb3J0ZWQgZWxlbWVudHMuPGJyPisg LS0gSWYgYW55IGVsZW1lbnQgbWlzc2luZyAodGhpcyBlbGVtZW50IGlzIGxlc3MgdGhhbiB0aGUg bmVhcmVzdDxicj4rIC0tIGZyb20gYW5vdGhlciBsaXN0KSwgcHJpbnQgd2FybmluZy48YnI+KyB0 YWJsZV9zb3J0KGEpPGJyPisgdGFibGVfc29ydChiKTxicj4rIGxvY2FsIGFpLCBiaSA9IDEsIDE8 YnI+KyB3aGlsZSBhaSAmbHQ7PSAjYSBvciBiaSAmbHQ7PSAjYiBkbzxicj4rIGlmIGFbYWldID09 IGJbYmldIHRoZW48YnI+KyB0YWJsZV9pbnNlcnQoaW50ZXJzZWN0LCBhW2FpXSk8YnI+KyBhaSA9 IGFpICsgMTxicj4rIGJpID0gYmkgKyAxPGJyPisgZWxzZWlmIGJpICZndDsgI2Igb3IgKGFpICZs dDsgI2EgYW5kIGFbYWldICZsdDsgYltiaV0pIHRoZW48YnI+KyB3YXJuKGZvcm1hdChtc2dhLCBh W2FpXSkpPGJyPisgYWkgPSBhaSArIDE8YnI+KyBlbHNlPGJyPisgYXNzZXJ0KGFpICZndDsgI2Eg b3IgKGJpICZsdDsgI2IgYW5kIGFbYWldICZndDsgYltiaV0pLCAnaW5jb3JyZWN0IGludGVyc2Vj dGlvbicpPGJyPisgd2Fybihmb3JtYXQobXNnYiwgYltiaV0pKTxicj4rIGJpID0gYmkgKyAxPGJy PisgZW5kPGJyPisgZW5kPGJyPisgcmV0dXJuIGludGVyc2VjdDxicj4rZW5kPC9kaXY+PC9kaXY+ PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2PjxkaXY+SGVy ZSB0aGUgbXVsdGktYnJhbmNoIGxvb3AmbmJzcDsoRGlqa3N0cmEtbG9vcCkgbWF5IGJlIHVzZWQg dG8gbWFrZSB0aGluZ3MgbW9yZSBjbGVhci4gSW4gTHVhIGl0IG1heSBiZSB3cml0dGVuIHdpdGgg aW5maW5pdGUgbG9vcCBwbHVzIG11bHRpLWJyYW5jaCBpZiB3aXRoIHNpbmdsZSZuYnNwO2JyZWFr IGluIGVsc2UgYnJhbmNoLjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGRpdj48ZGl2PjxkaXY+Jm5i c3A7IGxvY2FsIGFpLCBiaSA9IDEsIDE8L2Rpdj48ZGl2PiZuYnNwOyB3aGlsZSB0cnVlIGRvPC9k aXY+PGRpdj4mbmJzcDsgJm5ic3A7IGlmIGFpICZsdDs9ICNhIGFuZCBiaSAmbHQ7PSAjYiBhbmQg YVthaV0gPT0gYltiaV0gdGhlbjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgdGFibGVf aW5zZXJ0KGludGVyc2VjdCwgYVthaV0pPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBh aSA9IGFpICsgMTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgYmkgPSBiaSArIDE8L2Rp dj48ZGl2PiZuYnNwOyAmbmJzcDsgZWxzZWlmIGFpICZsdDs9ICNhIGFuZCAoYmkgJmd0OyAjYiBv ciBhW2FpXSAmbHQ7IGJbYmldKSB0aGVuPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyB3 YXJuKGZvcm1hdChtc2dhLCBhW2FpXSkpPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyBh aSA9IGFpICsgMTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBlbHNlaWYgYmkgJmx0Oz0gI2IgYW5k IChhaSAmZ3Q7ICNhIG9yIGJbYmldICZsdDsgYVthaV0pIHRoZW48L2Rpdj48ZGl2PiZuYnNwOyAm bmJzcDsgJm5ic3A7IHdhcm4oZm9ybWF0KG1zZ2IsIGJbYmldKSk8L2Rpdj48ZGl2PiZuYnNwOyAm bmJzcDsgJm5ic3A7IGJpID0gYmkgKyAxPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGVsc2UgLS0g YWkgJmd0OyAjYSBhbmQgYmkgJmd0OyAjYjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsg YnJlYWs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgZW5kPC9kaXY+PGRpdj4mbmJzcDsgZW5kPC9k aXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iY2wtbjZvbTdibHV6YSI+PGRpdiBjbGFzcz0ibWFp bC1xdW90ZS1jb2xsYXBzZSI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xp ZCAjMDg1N0E2O21hcmdpbjoxMHB4O3BhZGRpbmc6MCAwIDAgMTBweCI+PGRpdj48ZGl2PjxkaXYg Y2xhc3M9ImNsLW5xanJwNTk3ZzEiPjxkaXYgY2xhc3M9ImpzLWhlbHBlcl9tcl9jc3NfYXR0ciBq cy1yZWFkbXNnLW1zZ19tcl9jc3NfYXR0ciI+PGRpdj48ZGl2Pis8YnI+Ky0tIENhbGN1bGF0ZSBn ZW9tZWFuIGZvciB0aGUgZ2l2ZW4gYmVuY2ggbmFtZXMuPGJyPitsb2NhbCBmdW5jdGlvbiBnbWVh bihyZXN1bHRzLCBsaXN0KTxicj4rIGxvY2FsIG4gPSAjbGlzdDxicj4rIGlmIG4gPT0gMSB0aGVu PGJyPisgcmV0dXJuIHJlc3VsdHNbbGlzdFsxXV08YnI+KyBlbmQ8YnI+KyBsb2NhbCBnbW4gPSAw PGJyPisgLS0gVXNlIExvZy1UcmFuc2Zvcm0gY2FsY3VsYXRpb24gdG8gYXZvaWQgaW5maW5pdGUg dmFsdWVzLjxicj4rIGZvciBpID0gMSwgbiBkbzxicj4rIGdtbiA9IGdtbiArIGxvZyhyZXN1bHRz W2xpc3RbaV1dKTxicj4rIGVuZDxicj4rIGdtbiA9IGdtbiAvIG48YnI+KyByZXR1cm4gZXhwKGdt bik8YnI+K2VuZDxicj4rPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9j a3F1b3RlPjwvZGl2PjwvZGl2PjxkaXY+Jmx0O3NuaXBwZWQmZ3Q7PC9kaXY+PGRpdiBjbGFzcz0i Y2wtbjZvbTdibHV6YSI+PGRpdiBjbGFzcz0ibWFpbC1xdW90ZS1jb2xsYXBzZSI+PGJsb2NrcXVv dGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2O21hcmdpbjoxMHB4O3BhZGRp bmc6MCAwIDAgMTBweCI+PGRpdj48ZGl2PjxkaXYgY2xhc3M9ImNsLW5xanJwNTk3ZzEiPjxkaXYg Y2xhc3M9ImpzLWhlbHBlcl9tcl9jc3NfYXR0ciBqcy1yZWFkbXNnLW1zZ19tcl9jc3NfYXR0ciI+ PGRpdj48ZGl2PistLS0tLS0tLS0tLS0gTWFpbi4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+Kzxicj4rYXJncGFyc2UoYXJnKTxicj4rPGJyPitsb2Nh bCBiYXNlbGluZV9wYXRoLCBjb250ZW5kZXJfcGF0aCA9IGFyZ1sxXSwgYXJnWzJdPGJyPitsb2Nh bCBiYXNlX2lzZGlyID0gaXNkaXIoYmFzZWxpbmVfcGF0aCk8YnI+K2xvY2FsIGNvbnRfaXNkaXIg PSBpc2Rpcihjb250ZW5kZXJfcGF0aCk8YnI+Kzxicj4raWYgYmFzZV9pc2RpciB+PSBjb250X2lz ZGlyIHRoZW48YnI+KyBmYXRhbCgnQmFzZWxpbmUgYW5kIGNvbnRlbmRlciBmaWxlIHR5cGVzIHNo b3VsZCBlaXRoZXIgYmUgZmlsZSBvciBkaXJlY3RvcnkuJyk8YnI+K2VuZDxicj4rPGJyPitpZiBi YXNlX2lzZGlyIHRoZW48YnI+KyBvdXRwdXRfc2V0c19yZXN1bHRzKGNvbXBhcmVfYmVuY2htYXJr c19zZXRzKGJhc2VsaW5lX3BhdGgsIGNvbnRlbmRlcl9wYXRoKSw8YnI+KyBiYXNlbGluZV9wYXRo LCBjb250ZW5kZXJfcGF0aDxicj4rICk8YnI+K2Vsc2U8YnI+KyBvdXRwdXRfcmVzdWx0cyhjb21w YXJlX2JlbmNobWFya3MoYmFzZWxpbmVfcGF0aCwgY29udGVuZGVyX3BhdGgpLDxicj4rIGJhc2Vs aW5lX3BhdGgsIGNvbnRlbmRlcl9wYXRoPGJyPisgKTxicj4rZW5kPGJyPi0tPGJyPjIuNTUuMDwv ZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48L2Rp dj48ZGl2PjxkaXY+QmVzdCByZWdhcmRzLDwvZGl2PjxkaXY+RXZnZW5peSBUZW1pcmdhbGVldjwv ZGl2PjwvZGl2PjwvQk9EWT48L0hUTUw+Cg== ----ALT--9a44AdDEfC6E63Ba9DE457e953E58b341787823294--