From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f452.i.mail.ru (f452.i.mail.ru [185.5.136.184]) (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 D845A430D59 for ; Thu, 7 Nov 2019 15:07:42 +0300 (MSK) From: =?UTF-8?B?SWx5YSBLb3NhcmV2?= MIME-Version: 1.0 Date: Thu, 07 Nov 2019 15:07:42 +0300 Reply-To: =?UTF-8?B?SWx5YSBLb3NhcmV2?= Message-ID: <1573128462.574678682@f452.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--53727V4KF8AOeaGreoRSdRvVgnc1fIEp1573128462" In-Reply-To: <20191028234155.vrpomghlhjalhbiq@tkn_work_nb> References: <1290bf755e9e93a36be6fe0cb586b91f2d581531.1572282336.git.i.kosarev@tarantool.org> <20191028234155.vrpomghlhjalhbiq@tkn_work_nb> Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_v4_3/4=5D_http=3A_enrich_h?= =?utf-8?q?ttpc=5Frequest_with_curl_error_message_buffer?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?QWxleGFuZGVyIFR1cmVua28=?= Cc: =?UTF-8?B?dGFyYW50b29sLXBhdGNoZXM=?= , =?UTF-8?B?dGFyYW50b29sLXBhdGNoZXM=?= ----ALT--53727V4KF8AOeaGreoRSdRvVgnc1fIEp1573128462 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGkhCgpUaGFua3MgZm9yIHlvdXIgcmV2aWV3LgoKSW4gdmVyYmFsIGRpc2N1c3Npb24gd2l0aCBH ZW9yZ3kgaGUgY2FtZSB1cCB3aXRoIGFuIGlkZWEgdG8gcHJvdmlkZQpzaW5nbGUgZXJyb3IgYnVm ZmVyIGZvciBhbGwgY3VybCByZXF1ZXN0cyBpbnN0ZWFkIG9mIHRoZSBlcnJvciBidWZmZXIKaW4g ZWFjaCByZXF1ZXN0IGFuZCBzdHJkdXAgaXQgaWYgbmVlZGVkLgpIb3dldmVyLCB0dXJucyBvdXQg dGhhdCB3ZSBjYW4ndCB1c2Ugc2luZ2xlIGVycm9yIGJ1ZmZlciBkdWUgdG8gYXN5bmMKY3VybCBy ZXF1ZXN0cyBhbmQgaW5jb25zaXN0ZW50IGJ1ZmZlciBmaWxsaW5nOiBpdCBtaWdodCBiZSBmaWxs ZWQgaW4KYXJiaXRyYXJ5IHBhcnQgb2YgdGhlIGN1cmwgcmVxdWVzdCwgd2hpY2ggbWVhbnMgaXQg aXMgaW5jb25zaXN0ZW50IHdpdGgKdGhlIHJlbWFpbmluZyBhbnN3ZXIgb2JqZWN0IGJvZHkuIElu IG90aGVyIHdvcmRzLCB3ZSBtaWdodCBnZXQgYW4KYW5zd2VyIGZyb20gb25lIHJlcXVlc3QgYW5k IGFuIGVycm9yIGJ1ZmZlciBmcm9tIHRoZSBvdGhlciBhc3luY2hyb25vdXMKcmVxdWVzdCwgd2hl cmUgaXQgd2FzIGFscmVhZHkgZmlsbGVkIGZvciBzb21lIHJlYXNvbi4KVGhlcmVmb3JlLCBvdXIg b25seSBvcHRpb24gc2VlbXMgdG8gYmUgYW4gZXJyb3IgYnVmZmVyIGluIGVhY2ggcmVxdWVzdCwK d2hpY2ggZG9lc24ndCBzZWVtIHZlcnkgcmVhc29uYWJsZSwgYXMgZmFyIGFzIHdlIGFscmVhZHkg aGF2ZSBzb21lCmVycm9yIGluZm8gYW5kIHdlIGNhbiBhbHNvIG9idGFpbiBtb3JlIGluZm8gdXNp bmcgQHBhcmFtIHZlcmJvc2Ugb3B0aW9uCm9mIGNsaWVudF9vYmplY3Q6cmVxdWVzdCgpIGlmIG5l ZWRlZCBmb3IgZGVidWcuCkFzIGEgY29uY2x1c2lvbiBmb3IgdGhlIHRob3VnaHRzIGFib3ZlLCBJ IGRlY2lkZSB0byBleGNsdWRlIHRoaXMgcGF0Y2gKZnJvbSB0aGUgdjUgb2YgdGhlIGN1cnJlbnQg cGF0Y2hzZXQgYW5kIGxlYXZlIGl0IGFsb25lIHVudGlsIHNvbWUKc2VyaW91cyByZWFzb24gdG8g cmVjb25zaWRlciB0aGlzIGRlY2lzaW9uIHdpbGwgY29tZSB1cC4KCj7QktGC0L7RgNC90LjQuiwg Mjkg0L7QutGC0Y/QsdGA0Y8gMjAxOSwgMjo0MiArMDM6MDAg0L7RgiBBbGV4YW5kZXIgVHVyZW5r byA8YWxleGFuZGVyLnR1cmVua29AdGFyYW50b29sLm9yZz46Cj4KPk5vdyBJIGRvbid0IHN1cmUg d2hldGhlciB3ZSBzaG91bGQgYWRkIHRoZSBmaWVsZDogdGhlIGNvc3QgaXMgaW5jcmVhc2VkCj5t ZW1vcnkgZm9vdHByaW50IChpdCBpcyBtZWdhYnl0ZXMgZXZlbiB0byAxMGsgcmVxdWVzdHMgaW4g dGhlIGZseSwgYnV0Cj50aGlzIHdpbGwgc3BvaWwgY2FjaGVzKSBhbmQgc28gcGVyZm9ybWFuY2Uu IERvbid0IHN1cmUgaG93IHNpZ25pZmljYW50Cj5jb25zIGFuZCBwcm9zIGFyZS4KPgo+QW55d2F5 LCBteSBjb21tZW50cyBhbmQgdGhvdWdodHMgYXJlIGJlbG93Lgo+Cj5XQlIsIEFsZXhhbmRlciBU dXJlbmtvLgo+Cj4+IGh0dHA6IGVucmljaCBodHRwY19yZXF1ZXN0IHdpdGggY3VybCBlcnJvciBt ZXNzYWdlIGJ1ZmZlcgo+VHJ5IHRvIGZpdCB0aGUgY29tbWl0IGhlYWRlciBpbnRvIDUwIHN5bWJv bHMgYW5kIGNvbmNlbnRyYXRlIG9uIGNoYW5nZXMKPnRoYXQgYXJlIHZpc2libGUgZm9yIGEgdXNl ci4gSG93IGFib3V0IHRoaXMgaGVhZGVyPwo+Cj7CoHwgaHR0cGM6IGdpdmUgbW9yZSBpbmZvcm1h dGlvbiBpcyBjYXNlIG9mIGFuIGVycm9yCj4KPj4gV2hlbiBwcm9jZXNzaW5nIGN1cmwgcmVxdWVz dCBlcnJvciBjb2RlLCB3ZSBhcmUgY29sbGVjdGluZyBlcnJvcgo+PiBtZXNzYWdlIHVzaW5nIGN1 cmxfZWFzeV9zdHJlcnJvci4gTm93IHdlIGFyZSBwcm92aWRpbmcgbW9yZSBpbmZvCj4+IGluIGVy cm1zZywgd2hpY2ggaXMgb2J0YWluZWQgdXNpbmcgY3VybF9lYXN5X3NldG9wdCB3aXRoCj4KPkkg d291bGQgc2F5OiBpbiAnZXJybXNnJyBmaWVsZCBvZiBhIHJlc3BvbnNlIG9iamVjdC4KPgo+PiBD VVJMT1BUX0VSUk9SQlVGRkVSIG9wdGlvbi4gVGVzdCBjYXNlIHRvIGNvbmZpcm0gaXQgaXMgYWRk ZWQuCj4+IAo+PiBDbG9zZXMgIzQ1NzgKPj4gCj4+IEBUYXJhbnRvb2xCb3QgZG9jdW1lbnQKPj4g VGl0bGU6IGh0dHA6IG5ldyBmaWVsZCBpbiBjbGllbnRfb2JqZWN0OnJlcXVlc3QgcmV0dXJuIHRh YmxlCj4KPmh0dHAgLT4gaHR0cGMKPgo+YGNsaWVudF9vYmplY3Q6cmVxdWVzdGAgaXMgbm90IHZh bGlkIEx1YSBzeW50YXg6IGJldHRlciB1c2UKPmBjbGllbnRfb2JqZWN0OnJlcXVlc3QoKWAuCj4K Pj4gVXBkYXRlIHRoZSBkb2N1bWVudGF0aW9uIGZvciBjbGllbnRfb2JqZWN0OnJlcXVlc3QgbWV0 aG9kIHRvIHJlZmxlY3QKPj4gbmV3IGZpZWxkIGVycm1zZyBpbiByZXR1cm4gdGFibGUuIEl0IGNv bnRhaW5zIGV4dGVuZGVkIGN1cmwgcmVxdWVzdAo+PiBlcnJvciBtZXNzYWdlIG9idGFpbmVkIHVz aW5nIENVUkxPUFRfRVJST1JCVUZGRVIgb3B0aW9uLgo+Cj5BbiBleGFtcGxlIGFib3V0LCBzYXks IHlvdXIgY2FzZSB3aXRoIHVuc3VwcG9ydGVkIGNvbnRlbnQgZW5jb2Rpbmcgd291bGQKPnNoZWQg bGlnaHQgb24gd2h5IHRoaXMgbWF5IGJlIG5lZWRlZCwgd2hlbiBhIHJlcXVlc3Qgb2JqZWN0IGFs cmVhZHkKPmNvbnRhaW5zICdyZWFzb24nIGZpZWxkLgo+Cj4+IGRpZmYgLS1naXQgYS9zcmMvaHR0 cGMuaCBiL3NyYy9odHRwYy5oCj4+IGluZGV4IGY3MTBiM2QxMy4uMTQ1YjU5OTI5IDEwMDY0NAo+ PiAtLS0gYS9zcmMvaHR0cGMuaAo+PiArKysgYi9zcmMvaHR0cGMuaAo+PiBAQCAtMTA1LDYgKzEw NSwxMSBAQCBzdHJ1Y3QgaHR0cGNfcmVxdWVzdCB7Cj4+ICAJaW50IHN0YXR1czsKPj4gIAkvKiog RXJyb3IgbWVzc2FnZSAqLwo+PiAgCWNvbnN0IGNoYXIgKnJlYXNvbjsKPj4gKwkvKioKPj4gKwkg KiBCdWZmZXIgZm9yIGVycm9yIG1lc3NhZ2Ugb2J0YWluZWQgdXNpbmcKPj4gKwkgKiBDVVJMT1BU X0VSUk9SQlVGRkVSIG9wdGlvbi4KPj4gKwkgKi8KPj4gKyAgICAgICAgY29uc3QgY2hhciBlcnJt c2dbQ1VSTF9FUlJPUl9TSVpFXTsKPgo+SXQgaXMgaW5kZW50ZWQgdXNpbmcgd2hpdGVzcGFjZXMg cmF0aGVyIHRoZW4gdGFidWxhdGlvbi4KPgo+SSdtIHRlbnRhdGl2ZSBhYm91dCBwbGFjaW5nIDI1 NiBieXRlcyBidWZmZXIgcmlnaHQgaW4gdGhlIHN0cnVjdHVyZS4KPkhvd2V2ZXIgdGhlIHdob2xl IHN0cnVjdHVyZSBpcyBhbGxvY2F0ZWQgd2l0aCBtZW1wb29sX2FsbG9jKCksIHNvIG1heWJlCj5p dCBpcyBva2F5Lgo+Cj5BbHNvIEkgZG9uJ3Qgc3VyZSB3aGV0aGVyIGl0IGlzIG9rYXkgdG8gYWRk IDI1NiBieXRlcyBvZiBhbGxvY2F0ZWQKPm1lbW9yeSBwZXIgcmVxdWVzdCB1bmNvbmRpdGlvbmFs bHk6IG1heWJlIHdlIHNob3VsZCBwcm92aWRlIGFuIG9wdGlvbiB0bwo+ZGlzYWJsZSBpdCBmb3Ig YXBwbGljYXRpb25zIHRoYXQgaGF2ZSB0aWdodCBTTEEgb24gYSByZXNwb25zZSBwcm9jZXNzaW5n Cj50aW1lLgo+Cj5JIHdvdWxkIGdpdmUgR2Vvcmd5IG5lY2Vzc2FyeSBjb250ZXh0ICh3aGF0IGFu ZCBob3cgd2UgYWxsb2NhdGUgaW4gb3VyCj5odHRwIGNsaWVudCBub3cpIGFuZCBhc2sgZm9yIGhp cyBvcGluaW9uIG9uIGhvdyBhbmQgd2hlcmUgYWxsb2NhdGUgdGhlCj5idWZmZXIuCj4KPkJUVywg SSB0aGluayB0aGF0IGl0IGlzIGdvb2QgdG8gcHJvdmlkZSB0aGUgZmllbGQgYnkgZGVmYXVsdCAo aW4gY2FzZSBvZgo+YW4gZXJyb3IpIHRvIGFsbG93IHRvIGZpbmQgYSBjYXVzZSBvZiBhbiBlcnJv ciBmYXN0ZXIgZHVyaW5nCj5kZXZlbG9wbWVudC4KPgo+TWF5YmUgYWRkaW5nIHRoaXMgZmllbGQg aXMgbm90IHRoZSBnb29kIGlkZWEgaWYgaXQgaXMgbm90IGNoZWFwIGFuZCBuZWVkCj50byBiZSBz d2l0Y2hlZCBvbi9vZmYgY2FzZSBieSBjYXNlOiBBRkFJUiB0aGUgc2FtZSBpbmZvcm1hdGlvbiBj YW4gYmUKPm9idGFpbmVkIHVzaW5nICd2ZXJib3NlJyBmbGFnLgo+Cj5JdCB3b3VsZCBiZSBnb29k IHRvIGNhdGNoIEdlb3JneSdzIG9waW5pb24gb24gdGhhdCB0b28uCj4KPj4gZGlmZiAtLWdpdCBh L3NyYy9sdWEvaHR0cGMuYyBiL3NyYy9sdWEvaHR0cGMuYwo+PiBpbmRleCA2ZWQ0ZWI3ODguLjlm YjhlNDgwMSAxMDA2NDQKPj4gLS0tIGEvc3JjL2x1YS9odHRwYy5jCj4+ICsrKyBiL3NyYy9sdWEv aHR0cGMuYwo+PiBAQCAtMzM1LDYgKzMzNSwxMCBAQCBsdWFUX2h0dHBjX3JlcXVlc3QobHVhX1N0 YXRlICpMKQo+PiAgCWx1YV9wdXNoc3RyaW5nKEwsIHJlcS0+cmVhc29uKTsKPj4gIAlsdWFfc2V0 dGFibGUoTCwgLTMpOwo+PiAKPj4gKwlsdWFfcHVzaHN0cmluZyhMLCAiZXJybXNnIik7Cj4+ICsJ bHVhX3B1c2hzdHJpbmcoTCwgcmVxLT5lcnJtc2cpOwo+PiArCWx1YV9zZXR0YWJsZShMLCAtMyk7 Cj4KPkkgdGhpbmsgd2Ugc2hvdWxkIGFkZCB0aGUgZmllbGQgb25seSB3aGVuIGFuIGVycm9yIG9j Y3Vycy4gTm93IHdlIGFkZCBpdAo+Zm9yIHN1Y2Nlc3NmdWwgcmVzcG9uc2VzIGFuZCBpdCBsb29r cyBhIGJpdCBjb25mdXNpbmcuCj4KPk1vcmUgb24gdGhhdDoKPgo+PiBGb3IgZWFybGllciB2ZXJz aW9ucyBpZiBhbiBlcnJvciBjb2RlIHdhcyByZXR1cm5lZCBidXQgdGhlcmUgd2FzIG5vCj4+IGVy cm9yIGRldGFpbCB0aGVuIHRoZSBidWZmZXIgaXMgdW50b3VjaGVkLiAKPj4gIGh0dHBzOi8vY3Vy bC5oYXh4LnNlL2xpYmN1cmwvYy9DVVJMT1BUX0VSUk9SQlVGRkVSLmh0bWwKPgo+V2Ugc2hvdWxk IGhhbmRsZSB0aGlzIGNhc2UgYW5kIHNldCBhIGJ1ZmZlciB0byBhbiBlbXB0eSBzdHJpbmcgYmVm b3JlIGEKPnJlcXVlc3QgYW5kIHZlcmlmeSB0aGF0IGEgY29kZSBpcyBub3QgQ1VSTEVfT0sgYWZ0 ZXJ3YXJkcyAoc2VlIHRoZQo+ZXhhbXBsZSBieSB0aGUgbGluayBhYm92ZSkuCgoKLS0gCklseWEg S29zYXJldgo= ----ALT--53727V4KF8AOeaGreoRSdRvVgnc1fIEp1573128462 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIFRhaG9tYSwgVmVy ZGFuYSwgc2Fucy1zZXJpZjsiIGRhdGEtbWNlLXN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIFRh aG9tYSwgVmVyZGFuYSwgc2Fucy1zZXJpZjsiPkhpITwvc3Bhbj48YnIgc3R5bGU9ImZvbnQtZmFt aWx5OiBBcmlhbCwgVGFob21hLCBWZXJkYW5hLCBzYW5zLXNlcmlmOyIgZGF0YS1tY2Utc3R5bGU9 ImZvbnQtZmFtaWx5OiBBcmlhbCwgVGFob21hLCBWZXJkYW5hLCBzYW5zLXNlcmlmOyI+PGJyIHN0 eWxlPSJmb250LWZhbWlseTogQXJpYWwsIFRhaG9tYSwgVmVyZGFuYSwgc2Fucy1zZXJpZjsiIGRh dGEtbWNlLXN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIFRhaG9tYSwgVmVyZGFuYSwgc2Fucy1z ZXJpZjsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIFRhaG9tYSwgVmVyZGFuYSwg c2Fucy1zZXJpZjsiIGRhdGEtbWNlLXN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIFRhaG9tYSwg VmVyZGFuYSwgc2Fucy1zZXJpZjsiPlRoYW5rcyBmb3IgeW91ciByZXZpZXcuPC9zcGFuPjxicj48 YnI+PHA+SW4gdmVyYmFsIGRpc2N1c3Npb24gd2l0aCBHZW9yZ3kgaGUgY2FtZSB1cCB3aXRoIGFu IGlkZWEgdG8gcHJvdmlkZTxicj5zaW5nbGUgZXJyb3IgYnVmZmVyIGZvciBhbGwgY3VybCByZXF1 ZXN0cyBpbnN0ZWFkIG9mIHRoZSBlcnJvciBidWZmZXI8YnI+aW4gZWFjaCByZXF1ZXN0IGFuZCBz dHJkdXAgaXQgaWYgbmVlZGVkLjxicj5Ib3dldmVyLCB0dXJucyBvdXQgdGhhdCB3ZSBjYW4ndCB1 c2Ugc2luZ2xlIGVycm9yIGJ1ZmZlciBkdWUgdG8gYXN5bmM8YnI+Y3VybCByZXF1ZXN0cyBhbmQg aW5jb25zaXN0ZW50IGJ1ZmZlciBmaWxsaW5nOiBpdCBtaWdodCBiZSBmaWxsZWQgaW48YnI+YXJi aXRyYXJ5IHBhcnQgb2YgdGhlIGN1cmwgcmVxdWVzdCwgd2hpY2ggbWVhbnMgaXQgaXMgaW5jb25z aXN0ZW50IHdpdGg8YnI+dGhlIHJlbWFpbmluZyBhbnN3ZXIgb2JqZWN0IGJvZHkuIEluIG90aGVy IHdvcmRzLCB3ZSBtaWdodCBnZXQgYW48YnI+YW5zd2VyIGZyb20gb25lIHJlcXVlc3QgYW5kIGFu IGVycm9yIGJ1ZmZlciBmcm9tIHRoZSBvdGhlciBhc3luY2hyb25vdXM8YnI+cmVxdWVzdCwgd2hl cmUgaXQgd2FzIGFscmVhZHkgZmlsbGVkIGZvciBzb21lIHJlYXNvbi48YnI+VGhlcmVmb3JlLCBv dXIgb25seSBvcHRpb24gc2VlbXMgdG8gYmUgYW4gZXJyb3IgYnVmZmVyIGluIGVhY2ggcmVxdWVz dCw8YnI+d2hpY2ggZG9lc24ndCBzZWVtIHZlcnkgcmVhc29uYWJsZSwgYXMgZmFyIGFzIHdlIGFs cmVhZHkgaGF2ZSBzb21lPGJyPmVycm9yIGluZm8gYW5kIHdlIGNhbiBhbHNvIG9idGFpbiBtb3Jl IGluZm8gdXNpbmcgQHBhcmFtIHZlcmJvc2Ugb3B0aW9uPGJyPm9mIGNsaWVudF9vYmplY3Q6cmVx dWVzdCgpIGlmIG5lZWRlZCBmb3IgZGVidWcuPGJyPkFzIGEgY29uY2x1c2lvbiBmb3IgdGhlIHRo b3VnaHRzIGFib3ZlLCBJIGRlY2lkZSB0byBleGNsdWRlIHRoaXMgcGF0Y2g8YnI+ZnJvbSB0aGUg djUgb2YgdGhlIGN1cnJlbnQgcGF0Y2hzZXQgYW5kIGxlYXZlIGl0IGFsb25lIHVudGlsIHNvbWU8 YnI+c2VyaW91cyByZWFzb24gdG8gcmVjb25zaWRlciB0aGlzIGRlY2lzaW9uIHdpbGwgY29tZSB1 cC48L3A+PGJyPjxicj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMw ODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij4KCdCS0YLQvtGA0L3QuNC6 LCAyOSDQvtC60YLRj9Cx0YDRjyAyMDE5LCAyOjQyICswMzowMCDQvtGCIEFsZXhhbmRlciBUdXJl bmtvICZsdDthbGV4YW5kZXIudHVyZW5rb0B0YXJhbnRvb2wub3JnJmd0Ozo8YnI+Cgk8YnI+Cgk8 ZGl2IGlkPSIiPgoKCgoKCgo8ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPgoJ PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPgogCTxkaXY+CgkJCgkJCiAgICAgICAgICAg IDxkaXYgaWQ9InN0eWxlXzE1NzIzMDYxMjQyMDY0NzUzMTg3X0JPRFkiPk5vdyBJIGRvbid0IHN1 cmUgd2hldGhlciB3ZSBzaG91bGQgYWRkIHRoZSBmaWVsZDogdGhlIGNvc3QgaXMgaW5jcmVhc2Vk PGJyPgptZW1vcnkgZm9vdHByaW50IChpdCBpcyBtZWdhYnl0ZXMgZXZlbiB0byAxMGsgcmVxdWVz dHMgaW4gdGhlIGZseSwgYnV0PGJyPgp0aGlzIHdpbGwgc3BvaWwgY2FjaGVzKSBhbmQgc28gcGVy Zm9ybWFuY2UuIERvbid0IHN1cmUgaG93IHNpZ25pZmljYW50PGJyPgpjb25zIGFuZCBwcm9zIGFy ZS48YnI+Cjxicj4KQW55d2F5LCBteSBjb21tZW50cyBhbmQgdGhvdWdodHMgYXJlIGJlbG93Ljxi cj4KPGJyPgpXQlIsIEFsZXhhbmRlciBUdXJlbmtvLjxicj4KPGJyPgomZ3Q7IGh0dHA6IGVucmlj aCBodHRwY19yZXF1ZXN0IHdpdGggY3VybCBlcnJvciBtZXNzYWdlIGJ1ZmZlcjxicj4KICAgIApU cnkgdG8gZml0IHRoZSBjb21taXQgaGVhZGVyIGludG8gNTAgc3ltYm9scyBhbmQgY29uY2VudHJh dGUgb24gY2hhbmdlczxicj4KdGhhdCBhcmUgdmlzaWJsZSBmb3IgYSB1c2VyLiBIb3cgYWJvdXQg dGhpcyBoZWFkZXI/PGJyPgo8YnI+CiZuYnNwO3wgaHR0cGM6IGdpdmUgbW9yZSBpbmZvcm1hdGlv biBpcyBjYXNlIG9mIGFuIGVycm9yPGJyPgo8YnI+CiZndDsgV2hlbiBwcm9jZXNzaW5nIGN1cmwg cmVxdWVzdCBlcnJvciBjb2RlLCB3ZSBhcmUgY29sbGVjdGluZyBlcnJvcjxicj4KJmd0OyBtZXNz YWdlIHVzaW5nIGN1cmxfZWFzeV9zdHJlcnJvci4gTm93IHdlIGFyZSBwcm92aWRpbmcgbW9yZSBp bmZvPGJyPgomZ3Q7IGluIGVycm1zZywgd2hpY2ggaXMgb2J0YWluZWQgdXNpbmcgY3VybF9lYXN5 X3NldG9wdCB3aXRoPGJyPgo8YnI+Ckkgd291bGQgc2F5OiBpbiAnZXJybXNnJyBmaWVsZCBvZiBh IHJlc3BvbnNlIG9iamVjdC48YnI+Cjxicj4KJmd0OyBDVVJMT1BUX0VSUk9SQlVGRkVSIG9wdGlv bi4gVGVzdCBjYXNlIHRvIGNvbmZpcm0gaXQgaXMgYWRkZWQuPGJyPgomZ3Q7IDxicj4KJmd0OyBD bG9zZXMgIzQ1Nzg8YnI+CiZndDsgPGJyPgomZ3Q7IEBUYXJhbnRvb2xCb3QgZG9jdW1lbnQ8YnI+ CiZndDsgVGl0bGU6IGh0dHA6IG5ldyBmaWVsZCBpbiBjbGllbnRfb2JqZWN0OnJlcXVlc3QgcmV0 dXJuIHRhYmxlPGJyPgo8YnI+Cmh0dHAgLSZndDsgaHR0cGM8YnI+Cjxicj4KYGNsaWVudF9vYmpl Y3Q6cmVxdWVzdGAgaXMgbm90IHZhbGlkIEx1YSBzeW50YXg6IGJldHRlciB1c2U8YnI+CmBjbGll bnRfb2JqZWN0OnJlcXVlc3QoKWAuPGJyPgo8YnI+CiZndDsgVXBkYXRlIHRoZSBkb2N1bWVudGF0 aW9uIGZvciBjbGllbnRfb2JqZWN0OnJlcXVlc3QgbWV0aG9kIHRvIHJlZmxlY3Q8YnI+CiZndDsg bmV3IGZpZWxkIGVycm1zZyBpbiByZXR1cm4gdGFibGUuIEl0IGNvbnRhaW5zIGV4dGVuZGVkIGN1 cmwgcmVxdWVzdDxicj4KJmd0OyBlcnJvciBtZXNzYWdlIG9idGFpbmVkIHVzaW5nIENVUkxPUFRf RVJST1JCVUZGRVIgb3B0aW9uLjxicj4KPGJyPgpBbiBleGFtcGxlIGFib3V0LCBzYXksIHlvdXIg Y2FzZSB3aXRoIHVuc3VwcG9ydGVkIGNvbnRlbnQgZW5jb2Rpbmcgd291bGQ8YnI+CnNoZWQgbGln aHQgb24gd2h5IHRoaXMgbWF5IGJlIG5lZWRlZCwgd2hlbiBhIHJlcXVlc3Qgb2JqZWN0IGFscmVh ZHk8YnI+CmNvbnRhaW5zICdyZWFzb24nIGZpZWxkLjxicj4KPGJyPgomZ3Q7IGRpZmYgLS1naXQg YS9zcmMvaHR0cGMuaCBiL3NyYy9odHRwYy5oPGJyPgomZ3Q7IGluZGV4IGY3MTBiM2QxMy4uMTQ1 YjU5OTI5IDEwMDY0NDxicj4KJmd0OyAtLS0gYS9zcmMvaHR0cGMuaDxicj4KJmd0OyArKysgYi9z cmMvaHR0cGMuaDxicj4KJmd0OyBAQCAtMTA1LDYgKzEwNSwxMSBAQCBzdHJ1Y3QgaHR0cGNfcmVx dWVzdCB7PGJyPgomZ3Q7ICAJaW50IHN0YXR1czs8YnI+CiZndDsgIAkvKiogRXJyb3IgbWVzc2Fn ZSAqLzxicj4KJmd0OyAgCWNvbnN0IGNoYXIgKnJlYXNvbjs8YnI+CiZndDsgKwkvKio8YnI+CiZn dDsgKwkgKiBCdWZmZXIgZm9yIGVycm9yIG1lc3NhZ2Ugb2J0YWluZWQgdXNpbmc8YnI+CiZndDsg KwkgKiBDVVJMT1BUX0VSUk9SQlVGRkVSIG9wdGlvbi48YnI+CiZndDsgKwkgKi88YnI+CiZndDsg KyAgICAgICAgY29uc3QgY2hhciBlcnJtc2dbQ1VSTF9FUlJPUl9TSVpFXTs8YnI+Cjxicj4KSXQg aXMgaW5kZW50ZWQgdXNpbmcgd2hpdGVzcGFjZXMgcmF0aGVyIHRoZW4gdGFidWxhdGlvbi48YnI+ Cjxicj4KSSdtIHRlbnRhdGl2ZSBhYm91dCBwbGFjaW5nIDI1NiBieXRlcyBidWZmZXIgcmlnaHQg aW4gdGhlIHN0cnVjdHVyZS48YnI+Ckhvd2V2ZXIgdGhlIHdob2xlIHN0cnVjdHVyZSBpcyBhbGxv Y2F0ZWQgd2l0aCBtZW1wb29sX2FsbG9jKCksIHNvIG1heWJlPGJyPgppdCBpcyBva2F5Ljxicj4K PGJyPgpBbHNvIEkgZG9uJ3Qgc3VyZSB3aGV0aGVyIGl0IGlzIG9rYXkgdG8gYWRkIDI1NiBieXRl cyBvZiBhbGxvY2F0ZWQ8YnI+Cm1lbW9yeSBwZXIgcmVxdWVzdCB1bmNvbmRpdGlvbmFsbHk6IG1h eWJlIHdlIHNob3VsZCBwcm92aWRlIGFuIG9wdGlvbiB0bzxicj4KZGlzYWJsZSBpdCBmb3IgYXBw bGljYXRpb25zIHRoYXQgaGF2ZSB0aWdodCBTTEEgb24gYSByZXNwb25zZSBwcm9jZXNzaW5nPGJy Pgp0aW1lLjxicj4KPGJyPgpJIHdvdWxkIGdpdmUgR2Vvcmd5IG5lY2Vzc2FyeSBjb250ZXh0ICh3 aGF0IGFuZCBob3cgd2UgYWxsb2NhdGUgaW4gb3VyPGJyPgpodHRwIGNsaWVudCBub3cpIGFuZCBh c2sgZm9yIGhpcyBvcGluaW9uIG9uIGhvdyBhbmQgd2hlcmUgYWxsb2NhdGUgdGhlPGJyPgpidWZm ZXIuPGJyPgo8YnI+CkJUVywgSSB0aGluayB0aGF0IGl0IGlzIGdvb2QgdG8gcHJvdmlkZSB0aGUg ZmllbGQgYnkgZGVmYXVsdCAoaW4gY2FzZSBvZjxicj4KYW4gZXJyb3IpIHRvIGFsbG93IHRvIGZp bmQgYSBjYXVzZSBvZiBhbiBlcnJvciBmYXN0ZXIgZHVyaW5nPGJyPgpkZXZlbG9wbWVudC48YnI+ Cjxicj4KTWF5YmUgYWRkaW5nIHRoaXMgZmllbGQgaXMgbm90IHRoZSBnb29kIGlkZWEgaWYgaXQg aXMgbm90IGNoZWFwIGFuZCBuZWVkPGJyPgp0byBiZSBzd2l0Y2hlZCBvbi9vZmYgY2FzZSBieSBj YXNlOiBBRkFJUiB0aGUgc2FtZSBpbmZvcm1hdGlvbiBjYW4gYmU8YnI+Cm9idGFpbmVkIHVzaW5n ICd2ZXJib3NlJyBmbGFnLjxicj4KPGJyPgpJdCB3b3VsZCBiZSBnb29kIHRvIGNhdGNoIEdlb3Jn eSdzIG9waW5pb24gb24gdGhhdCB0b28uPGJyPgo8YnI+CiZndDsgZGlmZiAtLWdpdCBhL3NyYy9s dWEvaHR0cGMuYyBiL3NyYy9sdWEvaHR0cGMuYzxicj4KJmd0OyBpbmRleCA2ZWQ0ZWI3ODguLjlm YjhlNDgwMSAxMDA2NDQ8YnI+CiZndDsgLS0tIGEvc3JjL2x1YS9odHRwYy5jPGJyPgomZ3Q7ICsr KyBiL3NyYy9sdWEvaHR0cGMuYzxicj4KJmd0OyBAQCAtMzM1LDYgKzMzNSwxMCBAQCBsdWFUX2h0 dHBjX3JlcXVlc3QobHVhX1N0YXRlICpMKTxicj4KJmd0OyAgCWx1YV9wdXNoc3RyaW5nKEwsIHJl cS0mZ3Q7cmVhc29uKTs8YnI+CiZndDsgIAlsdWFfc2V0dGFibGUoTCwgLTMpOzxicj4KJmd0OyAg PGJyPgomZ3Q7ICsJbHVhX3B1c2hzdHJpbmcoTCwgImVycm1zZyIpOzxicj4KJmd0OyArCWx1YV9w dXNoc3RyaW5nKEwsIHJlcS0mZ3Q7ZXJybXNnKTs8YnI+CiZndDsgKwlsdWFfc2V0dGFibGUoTCwg LTMpOzxicj4KPGJyPgpJIHRoaW5rIHdlIHNob3VsZCBhZGQgdGhlIGZpZWxkIG9ubHkgd2hlbiBh biBlcnJvciBvY2N1cnMuIE5vdyB3ZSBhZGQgaXQ8YnI+CmZvciBzdWNjZXNzZnVsIHJlc3BvbnNl cyBhbmQgaXQgbG9va3MgYSBiaXQgY29uZnVzaW5nLjxicj4KPGJyPgpNb3JlIG9uIHRoYXQ6PGJy Pgo8YnI+CiZndDsgRm9yIGVhcmxpZXIgdmVyc2lvbnMgaWYgYW4gZXJyb3IgY29kZSB3YXMgcmV0 dXJuZWQgYnV0IHRoZXJlIHdhcyBubzxicj4KJmd0OyBlcnJvciBkZXRhaWwgdGhlbiB0aGUgYnVm ZmVyIGlzIHVudG91Y2hlZC4gPGJyPgomZ3Q7IDxhIGhyZWY9Imh0dHBzOi8vY3VybC5oYXh4LnNl L2xpYmN1cmwvYy9DVVJMT1BUX0VSUk9SQlVGRkVSLmh0bWwiIHRhcmdldD0iX2JsYW5rIj5odHRw czovL2N1cmwuaGF4eC5zZS9saWJjdXJsL2MvQ1VSTE9QVF9FUlJPUkJVRkZFUi5odG1sPC9hPjxi cj4KPGJyPgpXZSBzaG91bGQgaGFuZGxlIHRoaXMgY2FzZSBhbmQgc2V0IGEgYnVmZmVyIHRvIGFu IGVtcHR5IHN0cmluZyBiZWZvcmUgYTxicj4KcmVxdWVzdCBhbmQgdmVyaWZ5IHRoYXQgYSBjb2Rl IGlzIG5vdCBDVVJMRV9PSyBhZnRlcndhcmRzIChzZWUgdGhlPGJyPgpleGFtcGxlIGJ5IHRoZSBs aW5rIGFib3ZlKS48YnI+CjwvZGl2PgogICAgICAgICAgICAKICAgICAgICAKCQkKCTwvZGl2PgoK CQo8L2Rpdj4KCgo8L2Rpdj4KPC9ibG9ja3F1b3RlPgo8YnI+Cjxicj4tLSA8YnI+SWx5YSBLb3Nh cmV2PGJyPjwvQk9EWT48L0hUTUw+Cg== ----ALT--53727V4KF8AOeaGreoRSdRvVgnc1fIEp1573128462--