From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id CC6BE404BD for ; Wed, 25 May 2022 01:21:51 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 09AD268B581; Wed, 25 May 2022 04:21:46 +0300 (EEST) Received: from smtp-fw-33001.amazon.com (smtp-fw-33001.amazon.com [207.171.190.10]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 77B1768B4D7 for ; Wed, 25 May 2022 04:21:38 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1653441704; x=1684977704; h=from:to:cc:subject:date:message-id: content-transfer-encoding:mime-version; bh=G5Rd8ibjrItVBm43sP5bwOH7+kEBrZSp8P8VjHQY09o=; b=t+ia764np52covSQsCItXUKXncy6GgFT0uOcTtGWA9b1DQWi1Umk7zYJ 6FLzCshtNtOERELvIcv5G81InlU/eIHU0sMrR2nPdC+R46L4QGODAvfrY KgoBdU1DQJjUv7Up3MhAWeV9Nj0dhIYJIk0enuLKfH+7IWBSxEww743qG k=; X-IronPort-AV: E=Sophos;i="5.91,250,1647302400"; d="scan'208";a="197492611" Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO email-inbound-relay-pdx-2a-2dbf0206.us-west-2.amazon.com) ([10.43.8.2]) by smtp-border-fw-33001.sea14.amazon.com with ESMTP; 25 May 2022 01:21:37 +0000 Received: from EX13MTAUWB001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan2.pdx.amazon.com [10.236.137.194]) by email-inbound-relay-pdx-2a-2dbf0206.us-west-2.amazon.com (Postfix) with ESMTPS id 99B19A284F; Wed, 25 May 2022 01:21:35 +0000 (UTC) Received: from EX13D01UWB002.ant.amazon.com (10.43.161.136) by EX13MTAUWB001.ant.amazon.com (10.43.161.249) with Microsoft SMTP Server (TLS) id 15.0.1497.36; Wed, 25 May 2022 01:21:33 +0000 Received: from EX13D07UWB004.ant.amazon.com (10.43.161.196) by EX13d01UWB002.ant.amazon.com (10.43.161.136) with Microsoft SMTP Server (TLS) id 15.0.1497.36; Wed, 25 May 2022 01:21:33 +0000 Received: from EX13D07UWB004.ant.amazon.com ([10.43.161.196]) by EX13D07UWB004.ant.amazon.com ([10.43.161.196]) with mapi id 15.00.1497.036; Wed, 25 May 2022 01:21:33 +0000 From: "Swinney, Jonathan" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v2 2/2] swscale/aarch64: add hscale specializations Thread-Index: Adhv1cRpNExxZPbdTiOfH5NTcEyfrw== Date: Wed, 25 May 2022 01:21:33 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.43.160.132] MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 2/2] swscale/aarch64: add hscale specializations X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: =?utf-8?B?TWFydGluIFN0b3JzasO2?= , "Pop, Sebastian" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: VGhpcyBwYXRjaCBhZGRzIGNvZGUgdG8gc3VwcG9ydCBzcGVjaWFsaXphdGlvbnMgb2YgdGhlIGhz Y2FsZSBmdW5jdGlvbiBhbmQgYWRkcw0KYSBzcGVjaWFsaXphdGlvbiBmb3IgZmlsdGVyU2l6ZSA9 PSA0Lg0KDQpmZl9oc2NhbGU4dG8xNV80X25lb24gaXMgYSBjb21wbGV0ZSByZXdyaXRlLiBTaW5j ZSB0aGUgbWFpbiBib3R0bGVuZWNrIGhlcmUgaXMNCmxvYWRpbmcgdGhlIGRhdGEgZnJvbSBzcmMs IHRoaXMgZGF0YSBpcyBsb2FkZWQgYSB3aG9sZSBibG9jayBhaGVhZCBhbmQgc3RvcmVkDQpiYWNr IHRvIHRoZSBzdGFjayB0byBiZSBsb2FkZWQgYWdhaW4gd2l0aCBsZDQuIFRoaXMgYXJyYW5nZXMg dGhlIGRhdGEgZm9yIG1vc3QNCmVmZmljaWVudCB1c2Ugb2YgdGhlIHZlY3RvciBpbnN0cnVjdGlv bnMgYW5kIHJlbW92ZXMgdGhlIG5lZWQgZm9yIGNvbXBsZXRpb24NCmFkZHMgYXQgdGhlIGVuZC4g VGhlIG51bWJlciBvZiBpdGVyYXRpb25zIG9mIHRoZSBDIHBlciBpdGVyYXRpb24gb2YgdGhlIGFz c2VtYmx5DQppcyBpbmNyZWFzZWQgZnJvbSA0IHRvIDgsIGJ1dCBiZWNhdXNlIG9mIHRoZSBwcmVm ZXRjaGluZywgdGhlcmUgbXVzdCBiZSBhDQpzcGVjaWFsIHNlY3Rpb24gd2l0aG91dCBwcmVmZXRj aGluZyB3aGVuIGRzdFcgPCAxNi4NCg0KVGhpcyBpbXByb3ZlcyBzcGVlZCBvbiBHcmF2aXRvbiAy IChOZW92ZXJzZSBOMSkgZHJhbWF0aWNhbGx5IGluIHRoZSBjYXNlIHdoZXJlDQpwcmV2aW91c2x5 IGZzPTggd291bGQgaGF2ZSBiZWVuIHJlcXVpcmVkLg0KDQpiZWZvcmU6IGhzY2FsZV84X3RvXzE1 X19mc184X2RzdFdfNTEyX25lb246IDE5NjIuOA0KYWZ0ZXIgOiBoc2NhbGVfOF90b18xNV9fZnNf NF9kc3RXXzUxMl9uZW9uOiAxMjIwLjkNCg0KU2lnbmVkLW9mZi1ieTogSm9uYXRoYW4gU3dpbm5l eSA8anN3aW5uZXlAYW1hem9uLmNvbT4NCi0tLQ0KIGxpYnN3c2NhbGUvYWFyY2g2NC9oc2NhbGUu UyAgfCAxNzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0NCiBsaWJzd3NjYWxl L2FhcmNoNjQvc3dzY2FsZS5jIHwgIDQwICsrKysrKy0tDQogbGlic3dzY2FsZS91dGlscy5jICAg ICAgICAgICB8ICAgMiArLQ0KIDMgZmlsZXMgY2hhbmdlZCwgMjAzIGluc2VydGlvbnMoKyksIDEx IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvbGlic3dzY2FsZS9hYXJjaDY0L2hzY2FsZS5T IGIvbGlic3dzY2FsZS9hYXJjaDY0L2hzY2FsZS5TDQppbmRleCBkYTM0ZjFjYjhkLi42MGJjZDc4 M2U3IDEwMDY0NA0KLS0tIGEvbGlic3dzY2FsZS9hYXJjaDY0L2hzY2FsZS5TDQorKysgYi9saWJz d3NjYWxlL2FhcmNoNjQvaHNjYWxlLlMNCkBAIC0xLDUgKzEsNyBAQA0KIC8qDQogICogQ29weXJp Z2h0IChjKSAyMDE2IENsw6ltZW50IELFk3NjaCA8Y2xlbWVudCBzdHVwZWZsaXguY29tPg0KKyAq IENvcHlyaWdodCAoYykgMjAxOS0yMDIxIFNlYmFzdGlhbiBQb3AgPHNwb3BAYW1hem9uLmNvbT4N CisgKiBDb3B5cmlnaHQgKGMpIDIwMjIgSm9uYXRoYW4gU3dpbm5leSA8anN3aW5uZXlAYW1hem9u LmNvbT4NCiAgKg0KICAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4NCiAgKg0KQEAgLTIw LDcgKzIyLDI1IEBADQogDQogI2luY2x1ZGUgImxpYmF2dXRpbC9hYXJjaDY0L2FzbS5TIg0KIA0K LWZ1bmN0aW9uIGZmX2hzY2FsZV84X3RvXzE1X25lb24sIGV4cG9ydD0xDQorLyoNCis7LS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCis7IGhvcml6b250YWwgbGluZSBzY2FsaW5nDQorOw0KKzsgdm9pZCBo c2NhbGU8c291cmNlX3dpZHRoPnRvPGludGVybWVkaWF0ZV9uYml0cz5fPGZpbHRlclNpemU+Xzxv cHQ+DQorOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU3dzQ29udGV4dCAqYywgaW50 ezE2LDMyfV90ICpkc3QsDQorOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRz dFcsIGNvbnN0IHVpbnR7OCwxNn1fdCAqc3JjLA0KKzsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IGludDE2X3QgKmZpbHRlciwNCis7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBpbnQzMl90ICpmaWx0ZXJQb3MsIGludCBmaWx0ZXJTaXplKTsNCis7DQor OyBTY2FsZSBvbmUgaG9yaXpvbnRhbCBsaW5lLiBJbnB1dCBpcyBlaXRoZXIgOC1iaXQgd2lkdGgg b3IgMTYtYml0IHdpZHRoDQorOyAoJHNvdXJjZV93aWR0aCBjYW4gYmUgZWl0aGVyIDgsIDksIDEw IG9yIDE2LCBkaWZmZXJlbmNlIGlzIHdoZXRoZXIgd2UgaGF2ZSB0bw0KKzsgZG93bnNjYWxlIGJl Zm9yZSBtdWx0aXBseWluZykuIEZpbHRlciBpcyAxNCBiaXRzLiBPdXRwdXQgaXMgZWl0aGVyIDE1 IGJpdHMNCis7IChpbiBpbnQxNl90KSBvciAxOSBiaXRzIChpbiBpbnQzMl90KSwgYXMgZ2l2ZW4g aW4gJGludGVybWVkaWF0ZV9uYml0cy4gRWFjaA0KKzsgb3V0cHV0IHBpeGVsIGlzIGdlbmVyYXRl ZCBmcm9tICRmaWx0ZXJTaXplIGlucHV0IHBpeGVscywgdGhlIHBvc2l0aW9uIG9mDQorOyB0aGUg Zmlyc3QgcGl4ZWwgaXMgZ2l2ZW4gaW4gZmlsdGVyUG9zW25PdXRwdXRQaXhlbF0uDQorOy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tICovDQorDQorZnVuY3Rpb24gZmZfaHNjYWxlOHRvMTVfWDhfbmVvbiwg ZXhwb3J0PTENCiAgICAgICAgIHNiZml6ICAgICAgICAgICAgICAgeDcsIHg2LCAjMSwgIzMyICAg ICAgICAgICAgIC8vIGZpbHRlclNpemUqMiAoKjIgYmVjYXVzZSBpbnQxNikNCiAxOiAgICAgIGxk ciAgICAgICAgICAgICAgICAgdzgsIFt4NV0sICM0ICAgICAgICAgICAgICAgIC8vIGZpbHRlclBv c1tpZHhdDQogICAgICAgICBsZHIgICAgICAgICAgICAgICAgIHcwLCBbeDVdLCAjNCAgICAgICAg ICAgICAgICAvLyBmaWx0ZXJQb3NbaWR4ICsgMV0NCkBAIC03MCwzICs5MCwxNTMgQEAgZnVuY3Rp b24gZmZfaHNjYWxlXzhfdG9fMTVfbmVvbiwgZXhwb3J0PTENCiAgICAgICAgIGIuZ3QgICAgICAg ICAgICAgICAgMWIgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvb3AgdW50aWwgZW5kIG9m IGxpbmUNCiAgICAgICAgIHJldA0KIGVuZGZ1bmMNCisNCitmdW5jdGlvbiBmZl9oc2NhbGU4dG8x NV80X25lb24sIGV4cG9ydD0xDQorLy8geDAgIFN3c0NvbnRleHQgKmMgKG5vdCB1c2VkKQ0KKy8v IHgxICBpbnQxNl90ICpkc3QNCisvLyB4MiAgaW50IGRzdFcNCisvLyB4MyAgY29uc3QgdWludDhf dCAqc3JjDQorLy8geDQgIGNvbnN0IGludDE2X3QgKmZpbHRlcg0KKy8vIHg1ICBjb25zdCBpbnQz Ml90ICpmaWx0ZXJQb3MNCisvLyB4NiAgaW50IGZpbHRlclNpemUNCisvLyB4OC14MTUgcmVnaXN0 ZXJzIGZvciBnYXRoZXJpbmcgc3JjIGRhdGENCisNCisvLyB2MCAgICAgIG1hZGQgYWNjdW11bGF0 b3IgNFMNCisvLyB2MS12NCAgIGZpbHRlciB2YWx1ZXMgKDE2IGJpdCkgOEgNCisvLyB2NSAgICAg IG1hZGQgYWNjdW11bGF0b3IgNFMNCisvLyB2MTYtdjE5IHNyYyB2YWx1ZXMgKDggYml0KSA4Qg0K Kw0KKy8vIFRoaXMgaW1wbGVtZW50YXRpb24gaGFzIDQgc2VjdGlvbnM6DQorLy8gIDEuIFByZWZl dGNoIHNyYyBkYXRhDQorLy8gIDIuIEludGVybGVhdmVkIHByZWZldGNoaW5nIHNyYyBkYXRhIGFu ZCBtYWRkDQorLy8gIDMuIENvbXBsZXRlIG1hZGQNCisvLyAgNC4gQ29tcGxldGUgcmVtYWluaW5n IGl0ZXJhdGlvbnMgd2hlbiBkc3RXICUgOCAhPSAwDQorDQorICAgICAgICBhZGQgICAgICAgICAg ICAgICAgIHNwLCBzcCwgIy0zMiAgICAgICAgICAgICAgICAvLyBhbGxvY2F0ZSAzMiBieXRlcyBv biB0aGUgc3RhY2sNCisgICAgICAgIGNtcCAgICAgICAgICAgICAgICAgdzIsICMxNiAgICAgICAg ICAgICAgICAgICAgIC8vIGlmIGRzdFcgPDE2LCBza2lwIHRvIHRoZSBsYXN0IGJsb2NrIHVzZWQg Zm9yIHdyYXBwaW5nIHVwDQorICAgICAgICBiLmx0ICAgICAgICAgICAgICAgIDJmDQorDQorICAg ICAgICAvLyBsb2FkIDggdmFsdWVzIGZyb20gZmlsdGVyUG9zIHRvIGJlIHVzZWQgYXMgb2Zmc2V0 cyBpbnRvIHNyYw0KKyAgICAgICAgbGRwICAgICAgICAgICAgICAgICB3OCwgdzksICBbeDVdICAg ICAgICAgICAgICAgLy8gZmlsdGVyUG9zW2lkeCArIDBdLCBbaWR4ICsgMV0NCisgICAgICAgIGxk cCAgICAgICAgICAgICAgICAgdzEwLCB3MTEsIFt4NSwgOF0gICAgICAgICAgIC8vIGZpbHRlclBv c1tpZHggKyAyXSwgW2lkeCArIDNdDQorICAgICAgICBsZHAgICAgICAgICAgICAgICAgIHcxMiwg dzEzLCBbeDUsIDE2XSAgICAgICAgICAvLyBmaWx0ZXJQb3NbaWR4ICsgNF0sIFtpZHggKyA1XQ0K KyAgICAgICAgbGRwICAgICAgICAgICAgICAgICB3MTQsIHcxNSwgW3g1LCAyNF0gICAgICAgICAg Ly8gZmlsdGVyUG9zW2lkeCArIDZdLCBbaWR4ICsgN10NCisgICAgICAgIGFkZCAgICAgICAgICAg ICAgICAgeDUsIHg1LCAjMzIgICAgICAgICAgICAgICAgIC8vIGFkdmFuY2UgZmlsdGVyUG9zDQor DQorICAgICAgICAvLyBnYXRoZXIgcmFuZG9tIGFjY2VzcyBkYXRhIGZyb20gc3JjIGludG8gY29u dGlndW91cyBtZW1vcnkNCisgICAgICAgIGxkciAgICAgICAgICAgICAgICAgdzgsIFt4Mywgdzgs IFVYVFddICAgICAgICAgIC8vIHNyY1tmaWx0ZXJQb3NbaWR4ICsgMF1dWzAuLjNdDQorICAgICAg ICBsZHIgICAgICAgICAgICAgICAgIHc5LCBbeDMsIHc5LCBVWFRXXSAgICAgICAgICAvLyBzcmNb ZmlsdGVyUG9zW2lkeCArIDFdXVswLi4zXQ0KKyAgICAgICAgbGRyICAgICAgICAgICAgICAgICB3 MTAsIFt4MywgdzEwLCBVWFRXXSAgICAgICAgLy8gc3JjW2ZpbHRlclBvc1tpZHggKyAyXV1bMC4u M10NCisgICAgICAgIGxkciAgICAgICAgICAgICAgICAgdzExLCBbeDMsIHcxMSwgVVhUV10gICAg ICAgIC8vIHNyY1tmaWx0ZXJQb3NbaWR4ICsgM11dWzAuLjNdDQorICAgICAgICBsZHIgICAgICAg ICAgICAgICAgIHcxMiwgW3gzLCB3MTIsIFVYVFddICAgICAgICAvLyBzcmNbZmlsdGVyUG9zW2lk eCArIDRdXVswLi4zXQ0KKyAgICAgICAgbGRyICAgICAgICAgICAgICAgICB3MTMsIFt4MywgdzEz LCBVWFRXXSAgICAgICAgLy8gc3JjW2ZpbHRlclBvc1tpZHggKyA1XV1bMC4uM10NCisgICAgICAg IGxkciAgICAgICAgICAgICAgICAgdzE0LCBbeDMsIHcxNCwgVVhUV10gICAgICAgIC8vIHNyY1tm aWx0ZXJQb3NbaWR4ICsgNl1dWzAuLjNdDQorICAgICAgICBsZHIgICAgICAgICAgICAgICAgIHcx NSwgW3gzLCB3MTUsIFVYVFddICAgICAgICAvLyBzcmNbZmlsdGVyUG9zW2lkeCArIDddXVswLi4z XQ0KKyAgICAgICAgc3RwICAgICAgICAgICAgICAgICB3OCwgdzksIFtzcF0gICAgICAgICAgICAg ICAgLy8gKnNjcmF0Y2hfbWVtID0geyBzcmNbZmlsdGVyUG9zW2lkeCArIDBdXVswLi4zXSwgc3Jj W2ZpbHRlclBvc1tpZHggKyAxXV1bMC4uM10gfQ0KKyAgICAgICAgc3RwICAgICAgICAgICAgICAg ICB3MTAsIHcxMSwgW3NwLCA4XSAgICAgICAgICAgLy8gKnNjcmF0Y2hfbWVtID0geyBzcmNbZmls dGVyUG9zW2lkeCArIDJdXVswLi4zXSwgc3JjW2ZpbHRlclBvc1tpZHggKyAzXV1bMC4uM10gfQ0K KyAgICAgICAgc3RwICAgICAgICAgICAgICAgICB3MTIsIHcxMywgW3NwLCAxNl0gICAgICAgICAg Ly8gKnNjcmF0Y2hfbWVtID0geyBzcmNbZmlsdGVyUG9zW2lkeCArIDRdXVswLi4zXSwgc3JjW2Zp bHRlclBvc1tpZHggKyA1XV1bMC4uM10gfQ0KKyAgICAgICAgc3RwICAgICAgICAgICAgICAgICB3 MTQsIHcxNSwgW3NwLCAyNF0gICAgICAgICAgLy8gKnNjcmF0Y2hfbWVtID0geyBzcmNbZmlsdGVy UG9zW2lkeCArIDZdXVswLi4zXSwgc3JjW2ZpbHRlclBvc1tpZHggKyA3XV1bMC4uM10gfQ0KKw0K KzE6DQorICAgICAgICBsZDQgICAgICAgICAgICAgICAgIHt2MTYuOEIsIHYxNy44QiwgdjE4LjhC LCB2MTkuOEJ9LCBbc3BdIC8vIHRyYW5zcG9zZSA4IGJ5dGVzIGVhY2ggZnJvbSBzcmMgaW50byA0 IHJlZ2lzdGVycw0KKw0KKyAgICAgICAgLy8gbG9hZCA4IHZhbHVlcyBmcm9tIGZpbHRlclBvcyB0 byBiZSB1c2VkIGFzIG9mZnNldHMgaW50byBzcmMNCisgICAgICAgIGxkcCAgICAgICAgICAgICAg ICAgdzgsIHc5LCAgW3g1XSAgICAgICAgICAgICAgIC8vIGZpbHRlclBvc1tpZHggKyAwXVswLi4z XSwgW2lkeCArIDFdWzAuLjNdLCBuZXh0IGl0ZXJhdGlvbg0KKyAgICAgICAgbGRwICAgICAgICAg ICAgICAgICB3MTAsIHcxMSwgW3g1LCA4XSAgICAgICAgICAgLy8gZmlsdGVyUG9zW2lkeCArIDJd WzAuLjNdLCBbaWR4ICsgM11bMC4uM10sIG5leHQgaXRlcmF0aW9uDQorICAgICAgICBsZHAgICAg ICAgICAgICAgICAgIHcxMiwgdzEzLCBbeDUsIDE2XSAgICAgICAgICAvLyBmaWx0ZXJQb3NbaWR4 ICsgNF1bMC4uM10sIFtpZHggKyA1XVswLi4zXSwgbmV4dCBpdGVyYXRpb24NCisgICAgICAgIGxk cCAgICAgICAgICAgICAgICAgdzE0LCB3MTUsIFt4NSwgMjRdICAgICAgICAgIC8vIGZpbHRlclBv c1tpZHggKyA2XVswLi4zXSwgW2lkeCArIDddWzAuLjNdLCBuZXh0IGl0ZXJhdGlvbg0KKw0KKyAg ICAgICAgbW92aSAgICAgICAgICAgICAgICB2MC4yRCwgIzAgICAgICAgICAgICAgICAgICAgLy8g Q2xlYXIgbWFkZCBhY2N1bXVsYXRvciBmb3IgaWR4IDAuLjMNCisgICAgICAgIG1vdmkgICAgICAg ICAgICAgICAgdjUuMkQsICMwICAgICAgICAgICAgICAgICAgIC8vIENsZWFyIG1hZGQgYWNjdW11 bGF0b3IgZm9yIGlkeCA0Li43DQorDQorICAgICAgICBsZDQgICAgICAgICAgICAgICAgIHt2MS44 SCwgdjIuOEgsIHYzLjhILCB2NC44SH0sIFt4NF0sICM2NCAvLyBsb2FkIGZpbHRlciBpZHggKyAw Li43DQorDQorICAgICAgICBhZGQgICAgICAgICAgICAgICAgIHg1LCB4NSwgIzMyICAgICAgICAg ICAgICAgICAvLyBhZHZhbmNlIGZpbHRlclBvcw0KKw0KKyAgICAgICAgLy8gaW50ZXJsZWF2ZWQg U0lNRCBhbmQgcHJlZmV0Y2hpbmcgaW50ZW5kZWQgdG8ga2VlcCBsZC9zdCBhbmQgdmVjdG9yIHBp cGVsaW5lcyBidXN5DQorICAgICAgICB1eHRsICAgICAgICAgICAgICAgIHYxNi44SCwgdjE2LjhC ICAgICAgICAgICAgICAvLyB1bnNpZ25lZCBleHRlbmQgbG9uZywgY292ZXJ0IHNyYyBkYXRhIHRv IDE2LWJpdA0KKyAgICAgICAgdXh0bCAgICAgICAgICAgICAgICB2MTcuOEgsIHYxNy44QiAgICAg ICAgICAgICAgLy8gdW5zaWduZWQgZXh0ZW5kIGxvbmcsIGNvdmVydCBzcmMgZGF0YSB0byAxNi1i aXQNCisgICAgICAgIGxkciAgICAgICAgICAgICAgICAgdzgsIFt4MywgdzgsIFVYVFddICAgICAg ICAgIC8vIHNyY1tmaWx0ZXJQb3NbaWR4ICsgMF1dLCBuZXh0IGl0ZXJhdGlvbg0KKyAgICAgICAg bGRyICAgICAgICAgICAgICAgICB3OSwgW3gzLCB3OSwgVVhUV10gICAgICAgICAgLy8gc3JjW2Zp bHRlclBvc1tpZHggKyAxXV0sIG5leHQgaXRlcmF0aW9uDQorICAgICAgICB1eHRsICAgICAgICAg ICAgICAgIHYxOC44SCwgdjE4LjhCICAgICAgICAgICAgICAvLyB1bnNpZ25lZCBleHRlbmQgbG9u ZywgY292ZXJ0IHNyYyBkYXRhIHRvIDE2LWJpdA0KKyAgICAgICAgdXh0bCAgICAgICAgICAgICAg ICB2MTkuOEgsIHYxOS44QiAgICAgICAgICAgICAgLy8gdW5zaWduZWQgZXh0ZW5kIGxvbmcsIGNv dmVydCBzcmMgZGF0YSB0byAxNi1iaXQNCisgICAgICAgIGxkciAgICAgICAgICAgICAgICAgdzEw LCBbeDMsIHcxMCwgVVhUV10gICAgICAgIC8vIHNyY1tmaWx0ZXJQb3NbaWR4ICsgMl1dLCBuZXh0 IGl0ZXJhdGlvbg0KKyAgICAgICAgbGRyICAgICAgICAgICAgICAgICB3MTEsIFt4MywgdzExLCBV WFRXXSAgICAgICAgLy8gc3JjW2ZpbHRlclBvc1tpZHggKyAzXV0sIG5leHQgaXRlcmF0aW9uDQor DQorICAgICAgICBzbWxhbCAgICAgICAgICAgICAgIHYwLjRTLCB2MS40SCwgdjE2LjRIICAgICAg ICAvLyBtdWx0aXBseSBhY2N1bXVsYXRlIGlubmVyIGxvb3AgaiA9IDAsIGlkeCA9IDAuLjMNCisg ICAgICAgIHNtbGFsICAgICAgICAgICAgICAgdjAuNFMsIHYyLjRILCB2MTcuNEggICAgICAgIC8v IG11bHRpcGx5IGFjY3VtdWxhdGUgaW5uZXIgbG9vcCBqID0gMSwgaWR4ID0gMC4uMw0KKyAgICAg ICAgbGRyICAgICAgICAgICAgICAgICB3MTIsIFt4MywgdzEyLCBVWFRXXSAgICAgICAgLy8gc3Jj W2ZpbHRlclBvc1tpZHggKyA0XV0sIG5leHQgaXRlcmF0aW9uDQorICAgICAgICBsZHIgICAgICAg ICAgICAgICAgIHcxMywgW3gzLCB3MTMsIFVYVFddICAgICAgICAvLyBzcmNbZmlsdGVyUG9zW2lk eCArIDVdXSwgbmV4dCBpdGVyYXRpb24NCisgICAgICAgIHNtbGFsICAgICAgICAgICAgICAgdjAu NFMsIHYzLjRILCB2MTguNEggICAgICAgIC8vIG11bHRpcGx5IGFjY3VtdWxhdGUgaW5uZXIgbG9v cCBqID0gMiwgaWR4ID0gMC4uMw0KKyAgICAgICAgc21sYWwgICAgICAgICAgICAgICB2MC40Uywg djQuNEgsIHYxOS40SCAgICAgICAgLy8gbXVsdGlwbHkgYWNjdW11bGF0ZSBpbm5lciBsb29wIGog PSAzLCBpZHggPSAwLi4zDQorICAgICAgICBsZHIgICAgICAgICAgICAgICAgIHcxNCwgW3gzLCB3 MTQsIFVYVFddICAgICAgICAvLyBzcmNbZmlsdGVyUG9zW2lkeCArIDZdXSwgbmV4dCBpdGVyYXRp b24NCisgICAgICAgIGxkciAgICAgICAgICAgICAgICAgdzE1LCBbeDMsIHcxNSwgVVhUV10gICAg ICAgIC8vIHNyY1tmaWx0ZXJQb3NbaWR4ICsgN11dLCBuZXh0IGl0ZXJhdGlvbg0KKw0KKyAgICAg ICAgc21sYWwyICAgICAgICAgICAgICB2NS40UywgdjEuOEgsIHYxNi44SCAgICAgICAgLy8gbXVs dGlwbHkgYWNjdW11bGF0ZSBpbm5lciBsb29wIGogPSAwLCBpZHggPSA0Li43DQorICAgICAgICBz bWxhbDIgICAgICAgICAgICAgIHY1LjRTLCB2Mi44SCwgdjE3LjhIICAgICAgICAvLyBtdWx0aXBs eSBhY2N1bXVsYXRlIGlubmVyIGxvb3AgaiA9IDEsIGlkeCA9IDQuLjcNCisgICAgICAgIHN0cCAg ICAgICAgICAgICAgICAgdzgsIHc5LCBbc3BdICAgICAgICAgICAgICAgIC8vICpzY3JhdGNoX21l bSA9IHsgc3JjW2ZpbHRlclBvc1tpZHggKyAwXV1bMC4uM10sIHNyY1tmaWx0ZXJQb3NbaWR4ICsg MV1dWzAuLjNdIH0NCisgICAgICAgIHN0cCAgICAgICAgICAgICAgICAgdzEwLCB3MTEsIFtzcCwg OF0gICAgICAgICAgIC8vICpzY3JhdGNoX21lbSA9IHsgc3JjW2ZpbHRlclBvc1tpZHggKyAyXV1b MC4uM10sIHNyY1tmaWx0ZXJQb3NbaWR4ICsgM11dWzAuLjNdIH0NCisgICAgICAgIHNtbGFsMiAg ICAgICAgICAgICAgdjUuNFMsIHYzLjhILCB2MTguOEggICAgICAgIC8vIG11bHRpcGx5IGFjY3Vt dWxhdGUgaW5uZXIgbG9vcCBqID0gMiwgaWR4ID0gNC4uNw0KKyAgICAgICAgc21sYWwyICAgICAg ICAgICAgICB2NS40UywgdjQuOEgsIHYxOS44SCAgICAgICAgLy8gbXVsdGlwbHkgYWNjdW11bGF0 ZSBpbm5lciBsb29wIGogPSAzLCBpZHggPSA0Li43DQorICAgICAgICBzdHAgICAgICAgICAgICAg ICAgIHcxMiwgdzEzLCBbc3AsIDE2XSAgICAgICAgICAvLyAqc2NyYXRjaF9tZW0gPSB7IHNyY1tm aWx0ZXJQb3NbaWR4ICsgNF1dWzAuLjNdLCBzcmNbZmlsdGVyUG9zW2lkeCArIDVdXVswLi4zXSB9 DQorICAgICAgICBzdHAgICAgICAgICAgICAgICAgIHcxNCwgdzE1LCBbc3AsIDI0XSAgICAgICAg ICAvLyAqc2NyYXRjaF9tZW0gPSB7IHNyY1tmaWx0ZXJQb3NbaWR4ICsgNl1dWzAuLjNdLCBzcmNb ZmlsdGVyUG9zW2lkeCArIDddXVswLi4zXSB9DQorDQorICAgICAgICBzdWIgICAgICAgICAgICAg ICAgIHcyLCB3MiwgIzggICAgICAgICAgICAgICAgICAvLyBkc3RXIC09IDgNCisgICAgICAgIHNx c2hybiAgICAgICAgICAgICAgdjAuNEgsIHYwLjRTLCAjNyAgICAgICAgICAgIC8vIHNoaWZ0IGFu ZCBjbGlwIHRoZSAyeDE2LWJpdCBmaW5hbCB2YWx1ZXMNCisgICAgICAgIHNxc2hybiAgICAgICAg ICAgICAgdjEuNEgsIHY1LjRTLCAjNyAgICAgICAgICAgIC8vIHNoaWZ0IGFuZCBjbGlwIHRoZSAy eDE2LWJpdCBmaW5hbCB2YWx1ZXMNCisgICAgICAgIHN0MSAgICAgICAgICAgICAgICAge3YwLjRI LCB2MS40SH0sIFt4MV0sICMxNiAgIC8vIHdyaXRlIHRvIGRzdFtpZHggKyAwLi43XQ0KKyAgICAg ICAgY21wICAgICAgICAgICAgICAgICB3MiwgIzE2ICAgICAgICAgICAgICAgICAgICAgLy8gY29u dGludWUgb24gbWFpbiBsb29wIGlmIHRoZXJlIGFyZSBhdCBsZWFzdCAxNiBpdGVyYXRpb25zIGxl ZnQNCisgICAgICAgIGIuZ2UgICAgICAgICAgICAgICAgMWINCisNCisgICAgICAgIC8vIGxhc3Qg ZnVsbCBpdGVyYXRpb24NCisgICAgICAgIGxkNCAgICAgICAgICAgICAgICAge3YxNi44QiwgdjE3 LjhCLCB2MTguOEIsIHYxOS44Qn0sIFtzcF0NCisgICAgICAgIGxkNCAgICAgICAgICAgICAgICAg e3YxLjhILCB2Mi44SCwgdjMuOEgsIHY0LjhIfSwgW3g0XSwgIzY0IC8vIGxvYWQgZmlsdGVyIGlk eCArIDAuLjcNCisNCisgICAgICAgIG1vdmkgICAgICAgICAgICAgICAgdjAuMkQsICMwICAgICAg ICAgICAgICAgICAgIC8vIENsZWFyIG1hZGQgYWNjdW11bGF0b3IgZm9yIGlkeCAwLi4zDQorICAg ICAgICBtb3ZpICAgICAgICAgICAgICAgIHY1LjJELCAjMCAgICAgICAgICAgICAgICAgICAvLyBD bGVhciBtYWRkIGFjY3VtdWxhdG9yIGZvciBpZHggNC4uNw0KKw0KKyAgICAgICAgdXh0bCAgICAg ICAgICAgICAgICB2MTYuOEgsIHYxNi44QiAgICAgICAgICAgICAgLy8gdW5zaWduZWQgZXh0ZW5k IGxvbmcsIGNvdmVydCBzcmMgZGF0YSB0byAxNi1iaXQNCisgICAgICAgIHV4dGwgICAgICAgICAg ICAgICAgdjE3LjhILCB2MTcuOEIgICAgICAgICAgICAgIC8vIHVuc2lnbmVkIGV4dGVuZCBsb25n LCBjb3ZlcnQgc3JjIGRhdGEgdG8gMTYtYml0DQorICAgICAgICB1eHRsICAgICAgICAgICAgICAg IHYxOC44SCwgdjE4LjhCICAgICAgICAgICAgICAvLyB1bnNpZ25lZCBleHRlbmQgbG9uZywgY292 ZXJ0IHNyYyBkYXRhIHRvIDE2LWJpdA0KKyAgICAgICAgdXh0bCAgICAgICAgICAgICAgICB2MTku OEgsIHYxOS44QiAgICAgICAgICAgICAgLy8gdW5zaWduZWQgZXh0ZW5kIGxvbmcsIGNvdmVydCBz cmMgZGF0YSB0byAxNi1iaXQNCisNCisgICAgICAgIHNtbGFsICAgICAgICAgICAgICAgdjAuNFMs IHYxLjRILCB2MTYuNEggICAgICAgIC8vIG11bHRpcGx5IGFjY3VtdWxhdGUgaW5uZXIgbG9vcCBq ID0gMCwgaWR4ID0gMC4uMw0KKyAgICAgICAgc21sYWwgICAgICAgICAgICAgICB2MC40UywgdjIu NEgsIHYxNy40SCAgICAgICAgLy8gbXVsdGlwbHkgYWNjdW11bGF0ZSBpbm5lciBsb29wIGogPSAx LCBpZHggPSAwLi4zDQorICAgICAgICBzbWxhbCAgICAgICAgICAgICAgIHYwLjRTLCB2My40SCwg djE4LjRIICAgICAgICAvLyBtdWx0aXBseSBhY2N1bXVsYXRlIGlubmVyIGxvb3AgaiA9IDIsIGlk eCA9IDAuLjMNCisgICAgICAgIHNtbGFsICAgICAgICAgICAgICAgdjAuNFMsIHY0LjRILCB2MTku NEggICAgICAgIC8vIG11bHRpcGx5IGFjY3VtdWxhdGUgaW5uZXIgbG9vcCBqID0gMywgaWR4ID0g MC4uMw0KKw0KKyAgICAgICAgc21sYWwyICAgICAgICAgICAgICB2NS40UywgdjEuOEgsIHYxNi44 SCAgICAgICAgLy8gbXVsdGlwbHkgYWNjdW11bGF0ZSBpbm5lciBsb29wIGogPSAwLCBpZHggPSA0 Li43DQorICAgICAgICBzbWxhbDIgICAgICAgICAgICAgIHY1LjRTLCB2Mi44SCwgdjE3LjhIICAg ICAgICAvLyBtdWx0aXBseSBhY2N1bXVsYXRlIGlubmVyIGxvb3AgaiA9IDEsIGlkeCA9IDQuLjcN CisgICAgICAgIHNtbGFsMiAgICAgICAgICAgICAgdjUuNFMsIHYzLjhILCB2MTguOEggICAgICAg IC8vIG11bHRpcGx5IGFjY3VtdWxhdGUgaW5uZXIgbG9vcCBqID0gMiwgaWR4ID0gNC4uNw0KKyAg ICAgICAgc21sYWwyICAgICAgICAgICAgICB2NS40UywgdjQuOEgsIHYxOS44SCAgICAgICAgLy8g bXVsdGlwbHkgYWNjdW11bGF0ZSBpbm5lciBsb29wIGogPSAzLCBpZHggPSA0Li43DQorDQorICAg ICAgICBzdWJzICAgICAgICAgICAgICAgIHcyLCB3MiwgIzggICAgICAgICAgICAgICAgICAvLyBk c3RXIC09IDgNCisgICAgICAgIHNxc2hybiAgICAgICAgICAgICAgdjAuNEgsIHYwLjRTLCAjNyAg ICAgICAgICAgIC8vIHNoaWZ0IGFuZCBjbGlwIHRoZSAyeDE2LWJpdCBmaW5hbCB2YWx1ZXMNCisg ICAgICAgIHNxc2hybiAgICAgICAgICAgICAgdjEuNEgsIHY1LjRTLCAjNyAgICAgICAgICAgIC8v IHNoaWZ0IGFuZCBjbGlwIHRoZSAyeDE2LWJpdCBmaW5hbCB2YWx1ZXMNCisgICAgICAgIHN0MSAg ICAgICAgICAgICAgICAge3YwLjRILCB2MS40SH0sIFt4MV0sICMxNiAgIC8vIHdyaXRlIHRvIGRz dFtpZHggKyAwLi43XQ0KKw0KKyAgICAgICAgY2JueiAgICAgICAgICAgICAgICB3MiwgMmYgICAg ICAgICAgICAgICAgICAgICAgLy8gaWYgPjAgaXRlcmF0aW9ucyByZW1haW4sIGp1bXAgdG8gdGhl IHdyYXAgdXAgc2VjdGlvbg0KKw0KKyAgICAgICAgYWRkICAgICAgICAgICAgICAgICBzcCwgc3As ICMzMiAgICAgICAgICAgICAgICAgLy8gY2xlYW4gdXAgc3RhY2sNCisgICAgICAgIHJldA0KKw0K KyAgICAgICAgLy8gZmluaXNoIHVwIHdoZW4gZHN0VyAlIDggIT0gMCBvciBkc3RXIDwgMTYNCisy Og0KKyAgICAgICAgLy8gbG9hZCBzcmMNCisgICAgICAgIGxkciAgICAgICAgICAgICAgICAgdzgs IFt4NV0sICM0ICAgICAgICAgICAgICAgIC8vIGZpbHRlclBvc1tpXQ0KKyAgICAgICAgYWRkICAg ICAgICAgICAgICAgICB4OSwgeDMsIHc4LCBVWFRXICAgICAgICAgICAgLy8gY2FsY3VsYXRlIHRo ZSBhZGRyZXNzIGZvciBzcmMgbG9hZA0KKyAgICAgICAgbGQxICAgICAgICAgICAgICAgICB7djUu U31bMF0sIFt4OV0gICAgICAgICAgICAgLy8gc3JjW2ZpbHRlclBvc1tpXSArIDAuLjNdDQorICAg ICAgICAvLyBsb2FkIGZpbHRlcg0KKyAgICAgICAgbGQxICAgICAgICAgICAgICAgICB7djYuNEh9 LCBbeDRdLCAjOCAgICAgICAgICAgLy8gZmlsdGVyW2ZpbHRlclNpemUgKiBpICsgMC4uM10NCisN CisgICAgICAgIHV4dGwgICAgICAgICAgICAgICAgdjUuOEgsIHY1LjhCICAgICAgICAgICAgICAg IC8vIHVuc2lnbmVkIGV4dGVuIGxvbmcsIGNvbnZlcnQgc3JjIGRhdGEgdG8gMTYtYml0DQorICAg ICAgICBzbXVsbCAgICAgICAgICAgICAgIHYwLjRTLCB2NS40SCwgdjYuNEggICAgICAgICAvLyA0 IGl0ZXJhdGlvbnMgb2Ygc3JjWy4uLl0gKiBmaWx0ZXJbLi4uXQ0KKyAgICAgICAgYWRkdiAgICAg ICAgICAgICAgICBzMCwgdjAuNFMgICAgICAgICAgICAgICAgICAgLy8gYWRkIHVwIHByb2R1Y3Rz IG9mIHNyYyBhbmQgZmlsdGVyIHZhbHVlcw0KKyAgICAgICAgc3FzaHJuICAgICAgICAgICAgICBo MCwgczAsICM3ICAgICAgICAgICAgICAgICAgLy8gc2hpZnQgYW5kIGNsaXAgdGhlIDJ4MTYtYml0 IGZpbmFsIHZhbHVlDQorICAgICAgICBzdDEgICAgICAgICAgICAgICAgIHt2MC5IfVswXSwgW3gx XSwgIzIgICAgICAgICAvLyBkc3RbaV0gPSAuLi4NCisgICAgICAgIHN1YiAgICAgICAgICAgICAg ICAgdzIsIHcyLCAjMSAgICAgICAgICAgICAgICAgIC8vIGRzdFctLQ0KKyAgICAgICAgY2JueiAg ICAgICAgICAgICAgICB3MiwgMmINCisNCisgICAgICAgIGFkZCAgICAgICAgICAgICAgICAgc3As IHNwLCAjMzIgICAgICAgICAgICAgICAgIC8vIGNsZWFuIHVwIHN0YWNrDQorICAgICAgICByZXQN CitlbmRmdW5jDQpkaWZmIC0tZ2l0IGEvbGlic3dzY2FsZS9hYXJjaDY0L3N3c2NhbGUuYyBiL2xp YnN3c2NhbGUvYWFyY2g2NC9zd3NjYWxlLmMNCmluZGV4IDA5ZDBhNzEzMGUuLjU4M2UzODU4MjUg MTAwNjQ0DQotLS0gYS9saWJzd3NjYWxlL2FhcmNoNjQvc3dzY2FsZS5jDQorKysgYi9saWJzd3Nj YWxlL2FhcmNoNjQvc3dzY2FsZS5jDQpAQCAtMjIsMjUgKzIyLDQ3IEBADQogI2luY2x1ZGUgImxp YnN3c2NhbGUvc3dzY2FsZV9pbnRlcm5hbC5oIg0KICNpbmNsdWRlICJsaWJhdnV0aWwvYWFyY2g2 NC9jcHUuaCINCiANCi12b2lkIGZmX2hzY2FsZV84X3RvXzE1X25lb24oU3dzQ29udGV4dCAqYywg aW50MTZfdCAqZHN0LCBpbnQgZHN0VywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgdWludDhfdCAqc3JjLCBjb25zdCBpbnQxNl90ICpmaWx0ZXIsDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IGludDMyX3QgKmZpbHRlclBvcywgaW50IGZpbHRlclNpemUpOw0K KyNkZWZpbmUgU0NBTEVfRlVOQyhmaWx0ZXJfbiwgZnJvbV9icGMsIHRvX2JwYywgb3B0KSBcDQor dm9pZCBmZl9oc2NhbGUgIyMgZnJvbV9icGMgIyMgdG8gIyMgdG9fYnBjICMjIF8gIyMgZmlsdGVy X24gIyMgXyAjIyBvcHQoIFwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTd3NDb250ZXh0ICpjLCBpbnQxNl90ICpkYXRhLCBcDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRzdFcsIGNvbnN0IHVpbnQ4 X3QgKnNyYywgXA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGludDE2X3QgKmZpbHRlciwgXA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDMyX3QgKmZpbHRlclBvcywgaW50IGZpbHRl clNpemUpDQorI2RlZmluZSBTQ0FMRV9GVU5DUyhmaWx0ZXJfbiwgb3B0KSBcDQorICAgIFNDQUxF X0ZVTkMoZmlsdGVyX24sICA4LCAxNSwgb3B0KTsNCisjZGVmaW5lIEFMTF9TQ0FMRV9GVU5DUyhv cHQpIFwNCisgICAgU0NBTEVfRlVOQ1MoNCwgb3B0KTsgXA0KKyAgICBTQ0FMRV9GVU5DUyg4LCBv cHQpOyBcDQorICAgIFNDQUxFX0ZVTkNTKFg4LCBvcHQpDQorDQorQUxMX1NDQUxFX0ZVTkNTKG5l b24pOw0KIA0KIHZvaWQgZmZfeXV2MnBsYW5lWF84X25lb24oY29uc3QgaW50MTZfdCAqZmlsdGVy LCBpbnQgZmlsdGVyU2l6ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2 X3QgKipzcmMsIHVpbnQ4X3QgKmRlc3QsIGludCBkc3RXLA0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgdWludDhfdCAqZGl0aGVyLCBpbnQgb2Zmc2V0KTsNCiANCisjZGVmaW5lIEFT U0lHTl9TQ0FMRV9GVU5DMihoc2NhbGVmbiwgZmlsdGVyc2l6ZSwgb3B0KSBkbyB7ICAgICAgICAg ICAgICBcDQorICAgIGlmIChjLT5zcmNCcGMgPT0gOCAmJiBjLT5kc3RCcGMgPD0gMTQpIHsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXA0KKyAgICAgIGhzY2FsZWZuID0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCisgICAgICAgIGZm X2hzY2FsZTh0bzE1XyAjIyBmaWx0ZXJzaXplICMjIF8gIyMgb3B0OyAgICAgICAgICAgICAgICAg ICAgICBcDQorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXA0KK30gd2hpbGUgKDApDQorDQorI2RlZmluZSBBU1NJ R05fU0NBTEVfRlVOQyhoc2NhbGVmbiwgZmlsdGVyc2l6ZSwgb3B0KSAgICAgICAgICAgICAgICAg ICAgXA0KKyAgc3dpdGNoIChmaWx0ZXJzaXplKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwNCisgIGNhc2UgNDogIEFTU0lHTl9TQ0FMRV9GVU5DMiho c2NhbGVmbiwgNCwgb3B0KTsgYnJlYWs7ICAgICAgICAgICAgICAgICBcDQorICBkZWZhdWx0OiBp ZiAoZmlsdGVyc2l6ZSAlIDggPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXA0KKyAgICAgICAgICAgICAgIEFTU0lHTl9TQ0FMRV9GVU5DMihoc2NhbGVmbiwgWDgsIG9w dCk7ICAgICAgICAgICAgICAgICAgIFwNCisgICAgICAgICAgIGJyZWFrOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorICB9DQorDQogYXZf Y29sZCB2b2lkIGZmX3N3c19pbml0X3N3c2NhbGVfYWFyY2g2NChTd3NDb250ZXh0ICpjKQ0KIHsN CiAgICAgaW50IGNwdV9mbGFncyA9IGF2X2dldF9jcHVfZmxhZ3MoKTsNCiANCiAgICAgaWYgKGhh dmVfbmVvbihjcHVfZmxhZ3MpKSB7DQotICAgICAgICBpZiAoYy0+c3JjQnBjID09IDggJiYgYy0+ ZHN0QnBjIDw9IDE0ICYmDQotICAgICAgICAgICAgKGMtPmhMdW1GaWx0ZXJTaXplICUgOCkgPT0g MCAmJg0KLSAgICAgICAgICAgIChjLT5oQ2hyRmlsdGVyU2l6ZSAlIDgpID09IDApDQotICAgICAg ICB7DQotICAgICAgICAgICAgYy0+aHlTY2FsZSA9IGMtPmhjU2NhbGUgPSBmZl9oc2NhbGVfOF90 b18xNV9uZW9uOw0KLSAgICAgICAgfQ0KKyAgICAgICAgQVNTSUdOX1NDQUxFX0ZVTkMoYy0+aHlT Y2FsZSwgYy0+aEx1bUZpbHRlclNpemUsIG5lb24pOw0KKyAgICAgICAgQVNTSUdOX1NDQUxFX0ZV TkMoYy0+aGNTY2FsZSwgYy0+aENockZpbHRlclNpemUsIG5lb24pOw0KICAgICAgICAgaWYgKGMt PmRzdEJwYyA9PSA4KSB7DQogICAgICAgICAgICAgYy0+eXV2MnBsYW5lWCA9IGZmX3l1djJwbGFu ZVhfOF9uZW9uOw0KICAgICAgICAgfQ0KZGlmZiAtLWdpdCBhL2xpYnN3c2NhbGUvdXRpbHMuYyBi L2xpYnN3c2NhbGUvdXRpbHMuYw0KaW5kZXggZmZhMTMwNTI0YS4uMTA1NzgxYzRmNCAxMDA2NDQN Ci0tLSBhL2xpYnN3c2NhbGUvdXRpbHMuYw0KKysrIGIvbGlic3dzY2FsZS91dGlscy5jDQpAQCAt MTgyMCw3ICsxODIwLDcgQEAgYXZfY29sZCBpbnQgc3dzX2luaXRfY29udGV4dChTd3NDb250ZXh0 ICpjLCBTd3NGaWx0ZXIgKnNyY0ZpbHRlciwNCiAgICAgICAgIHsNCiAgICAgICAgICAgICBjb25z dCBpbnQgZmlsdGVyQWxpZ24gPSBYODZfTU1YKGNwdV9mbGFncykgICAgID8gNCA6DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFBDX0FMVElWRUMoY3B1X2ZsYWdzKSA/IDgg Og0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhdmVfbmVvbihjcHVfZmxh Z3MpICAgPyA4IDogMTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXZl X25lb24oY3B1X2ZsYWdzKSAgID8gNCA6IDE7DQogDQogICAgICAgICAgICAgaWYgKChyZXQgPSBp bml0RmlsdGVyKCZjLT5oTHVtRmlsdGVyLCAmYy0+aEx1bUZpbHRlclBvcywNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmYy0+aEx1bUZpbHRlclNpemUsIGMtPmx1bVhJbmMsDQotLSANCjIu MzIuMA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpm Zm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8v ZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUs IHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5v cmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==