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 B5F824B2DF for ; Wed, 3 Jul 2024 15:13:36 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1D4C168D9BB; Wed, 3 Jul 2024 18:13:34 +0300 (EEST) Received: from 20.mo581.mail-out.ovh.net (20.mo581.mail-out.ovh.net [46.105.49.208]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DEB7868D901 for ; Wed, 3 Jul 2024 18:13:27 +0300 (EEST) Received: from director6.ghost.mail-out.ovh.net (unknown [10.109.139.17]) by mo581.mail-out.ovh.net (Postfix) with ESMTP id 4WDjw70rknz1MNw for ; Wed, 3 Jul 2024 15:13:27 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-dh4tl (unknown [10.110.178.210]) by director6.ghost.mail-out.ovh.net (Postfix) with ESMTPS id C37F11FEB1 for ; Wed, 3 Jul 2024 15:13:26 +0000 (UTC) Received: from courmont.net ([37.59.142.95]) by ghost-submission-6684bf9d7b-dh4tl with ESMTPSA id q1EEK5ZqhWZXIQEAiQDyag (envelope-from ) for ; Wed, 03 Jul 2024 15:13:26 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-95G001283cdfb6-5272-42ab-89f6-6a823fe99daf, 003384923DF07A1F9786EA70FE2094C0F2A83019) smtp.auth=postmaster@courmont.net X-OVh-ClientIp: 87.92.194.88 From: =?ISO-8859-1?Q?R=E9mi?= Denis-Courmont To: ffmpeg-devel@ffmpeg.org Date: Wed, 03 Jul 2024 18:13:25 +0300 Message-ID: <13548095.uLZWGnKmhe@basile.remlab.net> Organization: Remlab In-Reply-To: <20240703104730.883009-1-jdek@itanimul.li> References: <20240703104730.883009-1-jdek@itanimul.li> MIME-Version: 1.0 X-Ovh-Tracer-Id: 7680607693719083513 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeeftddrudejgdekhecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecunecujfgurhephffvufffkfhojghfggfgtgesthhqredttddtjeenucfhrhhomheptformhhiucffvghnihhsqdevohhurhhmohhnthcuoehrvghmihesrhgvmhhlrggsrdhnvghtqeenucggtffrrghtthgvrhhnpeekteefkeeuvdejffevtdefuddtudevkeeuveeigeefkeeigedujeetjeeuffevveenucffohhmrghinhephhdvieegughsphgprhhvvhdrshgspdhrvghmlhgrsgdrnhgvthenucfkphepuddvjedrtddrtddruddpkeejrdelvddrudelgedrkeekpdefjedrheelrddugedvrdelheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomheprhgvmhhisehrvghmlhgrsgdrnhgvthdpnhgspghrtghpthhtohepuddprhgtphhtthhopehffhhmphgvghdquggvvhgvlhesfhhfmhhpvghgrdhorhhgpdfovfetjfhoshhtpehmohehkedupdhmohguvgepshhmthhpohhuth Subject: Re: [FFmpeg-devel] [PATCH v2] avcodec/riscv: add h264 dc idct rvv 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 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: TGUga2Vza2l2aWlra29uYSAzLiBoZWluw6RrdXV0YSAyMDI0LCAxMy40Ny4yOSBFRVNUIEouIERl a2tlciBhIMOpY3JpdCA6Cj4gY2hlY2thc206IGJlbmNoIHJ1bnMgMTMxMDcyICgxIDw8IDE3KQo+ IGgyNjRfaWRjdDRfYWRkX2RjXzhicHBfYzogMS41Cj4gaDI2NF9pZGN0NF9hZGRfZGNfOGJwcF9y dnZfaTY0OiAwLjcKPiBoMjY0X2lkY3Q0X2FkZF9kY185YnBwX2M6IDEuNQo+IGgyNjRfaWRjdDRf YWRkX2RjXzlicHBfcnZ2X2k2NDogMC43Cj4gaDI2NF9pZGN0NF9hZGRfZGNfMTBicHBfYzogMS41 Cj4gaDI2NF9pZGN0NF9hZGRfZGNfMTBicHBfcnZ2X2k2NDogMC43Cj4gaDI2NF9pZGN0NF9hZGRf ZGNfMTJicHBfYzogMS4yCj4gaDI2NF9pZGN0NF9hZGRfZGNfMTJicHBfcnZ2X2k2NDogMC43Cj4g aDI2NF9pZGN0NF9hZGRfZGNfMTRicHBfYzogMS4yCj4gaDI2NF9pZGN0NF9hZGRfZGNfMTRicHBf cnZ2X2k2NDogMC43Cj4gaDI2NF9pZGN0OF9hZGRfZGNfOGJwcF9jOiA1LjIKPiBoMjY0X2lkY3Q4 X2FkZF9kY184YnBwX3J2dl9pNjQ6IDEuNQo+IGgyNjRfaWRjdDhfYWRkX2RjXzlicHBfYzogNS41 Cj4gaDI2NF9pZGN0OF9hZGRfZGNfOWJwcF9ydnZfaTY0OiAxLjIKPiBoMjY0X2lkY3Q4X2FkZF9k Y18xMGJwcF9jOiA1LjUKPiBoMjY0X2lkY3Q4X2FkZF9kY18xMGJwcF9ydnZfaTY0OiAxLjIKPiBo MjY0X2lkY3Q4X2FkZF9kY18xMmJwcF9jOiA0LjIKPiBoMjY0X2lkY3Q4X2FkZF9kY18xMmJwcF9y dnZfaTY0OiAxLjIKPiBoMjY0X2lkY3Q4X2FkZF9kY18xNGJwcF9jOiA0LjIKPiBoMjY0X2lkY3Q4 X2FkZF9kY18xNGJwcF9ydnZfaTY0OiAxLjIKPiAKPiBTaWduZWQtb2ZmLWJ5OiBKLiBEZWtrZXIg PGpkZWtAaXRhbmltdWwubGk+Cj4gLS0tCj4gCj4gIHJkY3ljbGUgYWx3YXlzIHJldHVybnMgMCBv biBteSBib2FyZCwgY2xvY2tfZ2V0dGltZSgpIHNlZW1zIGFzIG5vaXN5IGFzCj4gIHJkdGltZSAo anVzdCB3aXRoIGJpZ2dlciBudW1iZXJzKS4KCk9uIEsyMzA/IE9kZC4gTWF5YmUgdmVuZG9yIG1h ZGUgc29tZSB1cGRhdGVzIGluIGxhdGVyIGJ1aWxkcy4KCj4gIGxpYmF2Y29kZWMvcmlzY3YvTWFr ZWZpbGUgICAgICAgfCAgIDEgKwo+ICBsaWJhdmNvZGVjL3Jpc2N2L2gyNjRkc3BfaW5pdC5jIHwg IDQyICsrKysrKystCj4gIGxpYmF2Y29kZWMvcmlzY3YvaDI2NGRzcF9ydnYuUyAgfCAxNzYgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCAyMTYgaW5z ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYmF2Y29k ZWMvcmlzY3YvaDI2NGRzcF9ydnYuUwo+IAo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3Jpc2N2 L01ha2VmaWxlIGIvbGliYXZjb2RlYy9yaXNjdi9NYWtlZmlsZQo+IGluZGV4IGMxODAyMjMxNDEu LmExNTEwZThjNmUgMTAwNjQ0Cj4gLS0tIGEvbGliYXZjb2RlYy9yaXNjdi9NYWtlZmlsZQo+ICsr KyBiL2xpYmF2Y29kZWMvcmlzY3YvTWFrZWZpbGUKPiBAQCAtMzEsNiArMzEsNyBAQCBSVlYtT0JK Uy0kKENPTkZJR19IMjYzRFNQKSArPSByaXNjdi9oMjYzZHNwX3J2di5vCj4gIE9CSlMtJChDT05G SUdfSDI2NENIUk9NQSkgKz0gcmlzY3YvaDI2NF9jaHJvbWFfaW5pdF9yaXNjdi5vCj4gIFJWVi1P QkpTLSQoQ09ORklHX0gyNjRDSFJPTUEpICs9IHJpc2N2L2gyNjRfbWNfY2hyb21hLm8KPiAgT0JK Uy0kKENPTkZJR19IMjY0RFNQKSArPSByaXNjdi9oMjY0ZHNwX2luaXQubwo+ICtSVlYtT0JKUy0k KENPTkZJR19IMjY0RFNQKSArPSByaXNjdi9oMjY0ZHNwX3J2di5vCj4gIE9CSlMtJChDT05GSUdf SFVGRllVVl9ERUNPREVSKSArPSByaXNjdi9odWZmeXV2ZHNwX2luaXQubwo+ICBSVlYtT0JKUy0k KENPTkZJR19IVUZGWVVWX0RFQ09ERVIpICs9IHJpc2N2L2h1ZmZ5dXZkc3BfcnZ2Lm8KPiAgT0JK Uy0kKENPTkZJR19JRENURFNQKSArPSByaXNjdi9pZGN0ZHNwX2luaXQubwo+IGRpZmYgLS1naXQg YS9saWJhdmNvZGVjL3Jpc2N2L2gyNjRkc3BfaW5pdC5jCj4gYi9saWJhdmNvZGVjL3Jpc2N2L2gy NjRkc3BfaW5pdC5jIGluZGV4IGRiYmYzZGI0MDAuLjhjNzczMDNlYzYgMTAwNjQ0Cj4gLS0tIGEv bGliYXZjb2RlYy9yaXNjdi9oMjY0ZHNwX2luaXQuYwo+ICsrKyBiL2xpYmF2Y29kZWMvcmlzY3Yv aDI2NGRzcF9pbml0LmMKPiBAQCAtMSw0ICsxLDUgQEAKPiAgLyoKPiArICogQ29weXJpZ2h0IChj KSAyMDI0IEouIERla2tlciA8amRla0BpdGFuaW11bC5saT4KPiAgICogQ29weXJpZ2h0IMKpIDIw MjQgUsOpbWkgRGVuaXMtQ291cm1vbnQuCj4gICAqCj4gICAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9m IEZGbXBlZy4KPiBAQCAtMjQsMjIgKzI1LDU3IEBACj4gCj4gICNpbmNsdWRlICJsaWJhdnV0aWwv YXR0cmlidXRlcy5oIgo+ICAjaW5jbHVkZSAibGliYXZ1dGlsL2NwdS5oIgo+ICsjaW5jbHVkZSAi bGliYXZ1dGlsL3Jpc2N2L2NwdS5oIgo+ICAjaW5jbHVkZSAibGliYXZjb2RlYy9oMjY0ZHNwLmgi Cj4gCj4gIGV4dGVybiBpbnQgZmZfc3RhcnRjb2RlX2ZpbmRfY2FuZGlkYXRlX3J2Yihjb25zdCB1 aW50OF90ICosIGludCk7Cj4gIGV4dGVybiBpbnQgZmZfc3RhcnRjb2RlX2ZpbmRfY2FuZGlkYXRl X3J2dihjb25zdCB1aW50OF90ICosIGludCk7Cj4gK3ZvaWQgZmZfaDI2NF9pZGN0NF9kY19hZGRf OF9ydnYodWludDhfdCAqZHN0LCBpbnQxNl90ICpibG9jaywgaW50IHN0cmlkZSk7Cj4gK3ZvaWQg ZmZfaDI2NF9pZGN0OF9kY19hZGRfOF9ydnYodWludDhfdCAqZHN0LCBpbnQxNl90ICpibG9jaywg aW50IHN0cmlkZSk7Cj4gK3ZvaWQgZmZfaDI2NF9pZGN0NF9kY19hZGRfOV9ydnYodWludDhfdCAq ZHN0LCBpbnQxNl90ICpibG9jaywgaW50IHN0cmlkZSk7Cj4gK3ZvaWQgZmZfaDI2NF9pZGN0OF9k Y19hZGRfOV9ydnYodWludDhfdCAqZHN0LCBpbnQxNl90ICpibG9jaywgaW50IHN0cmlkZSk7Cj4g K3ZvaWQgZmZfaDI2NF9pZGN0NF9kY19hZGRfMTBfcnZ2KHVpbnQ4X3QgKmRzdCwgaW50MTZfdCAq YmxvY2ssIGludCBzdHJpZGUpOwo+ICt2b2lkIGZmX2gyNjRfaWRjdDhfZGNfYWRkXzEwX3J2dih1 aW50OF90ICpkc3QsIGludDE2X3QgKmJsb2NrLCBpbnQKPiBzdHJpZGUpOyArdm9pZCBmZl9oMjY0 X2lkY3Q0X2RjX2FkZF8xMl9ydnYodWludDhfdCAqZHN0LCBpbnQxNl90ICpibG9jaywKPiBpbnQg c3RyaWRlKTsgK3ZvaWQgZmZfaDI2NF9pZGN0OF9kY19hZGRfMTJfcnZ2KHVpbnQ4X3QgKmRzdCwg aW50MTZfdAo+ICpibG9jaywgaW50IHN0cmlkZSk7ICt2b2lkIGZmX2gyNjRfaWRjdDRfZGNfYWRk XzE0X3J2dih1aW50OF90ICpkc3QsCj4gaW50MTZfdCAqYmxvY2ssIGludCBzdHJpZGUpOyArdm9p ZCBmZl9oMjY0X2lkY3Q4X2RjX2FkZF8xNF9ydnYodWludDhfdAo+ICpkc3QsIGludDE2X3QgKmJs b2NrLCBpbnQgc3RyaWRlKTsKPiAKPiAtYXZfY29sZCB2b2lkIGZmX2gyNjRkc3BfaW5pdF9yaXNj dihIMjY0RFNQQ29udGV4dCAqZHNwLCBjb25zdCBpbnQKPiBiaXRfZGVwdGgsICthdl9jb2xkIHZv aWQgZmZfaDI2NGRzcF9pbml0X3Jpc2N2KEgyNjREU1BDb250ZXh0ICpjLCBjb25zdCBpbnQKPiBi aXRfZGVwdGgsIGNvbnN0IGludCBjaHJvbWFfZm9ybWF0X2lkYykKPiAgewo+ICAjaWYgSEFWRV9S Vgo+ICAgICAgaW50IGZsYWdzID0gYXZfZ2V0X2NwdV9mbGFncygpOwo+IAo+ICAgICAgaWYgKGZs YWdzICYgQVZfQ1BVX0ZMQUdfUlZCX0JBU0lDKQo+IC0gICAgICAgIGRzcC0+c3RhcnRjb2RlX2Zp bmRfY2FuZGlkYXRlID0gZmZfc3RhcnRjb2RlX2ZpbmRfY2FuZGlkYXRlX3J2YjsKPiArICAgICAg ICBjLT5zdGFydGNvZGVfZmluZF9jYW5kaWRhdGUgPSBmZl9zdGFydGNvZGVfZmluZF9jYW5kaWRh dGVfcnZiOwo+ICAjIGlmIEhBVkVfUlZWCj4gICAgICBpZiAoZmxhZ3MgJiBBVl9DUFVfRkxBR19S VlZfSTMyKQo+IC0gICAgICAgIGRzcC0+c3RhcnRjb2RlX2ZpbmRfY2FuZGlkYXRlID0gZmZfc3Rh cnRjb2RlX2ZpbmRfY2FuZGlkYXRlX3J2djsKPiArICAgICAgICBjLT5zdGFydGNvZGVfZmluZF9j YW5kaWRhdGUgPSBmZl9zdGFydGNvZGVfZmluZF9jYW5kaWRhdGVfcnZ2Owo+ICAjIGVuZGlmCj4g KyAgICBpZiAoKGZsYWdzICYgQVZfQ1BVX0ZMQUdfUlZWX0k2NCkgJiYgZmZfcnZfdmxlbl9sZWFz dCgxNikpIHsKClRoZSBhc3NlbWJsZXIgYmVsb3cgZG9lcyBub3Qgc2VlbSB0byByZXF1aXJlIDY0 LWJpdCBlbGVtZW50cyBmb3IgYW55dGhpbmc/CkFsc28gZmZfcnZfdmxlbl9sZWFzdCgpIGV4cGVj dHMgYml0cywgbm90IGJ5dGVzLgoKPiArICAgICAgICBzd2l0Y2goYml0X2RlcHRoKSB7Cj4gKyAg ICAgICAgY2FzZSA4Ogo+ICsgICAgICAgICAgICBjLT5oMjY0X2lkY3RfZGNfYWRkICA9IGZmX2gy NjRfaWRjdDRfZGNfYWRkXzhfcnZ2Owo+ICsgICAgICAgICAgICBjLT5oMjY0X2lkY3Q4X2RjX2Fk ZCA9IGZmX2gyNjRfaWRjdDhfZGNfYWRkXzhfcnZ2Owo+ICsgICAgICAgICAgICBicmVhazsKPiAr ICAgICAgICBjYXNlIDk6Cj4gKyAgICAgICAgICAgIGMtPmgyNjRfaWRjdF9kY19hZGQgID0gZmZf aDI2NF9pZGN0NF9kY19hZGRfOV9ydnY7Cj4gKyAgICAgICAgICAgIGMtPmgyNjRfaWRjdDhfZGNf YWRkID0gZmZfaDI2NF9pZGN0OF9kY19hZGRfOV9ydnY7Cj4gKyAgICAgICAgICAgIGJyZWFrOwo+ ICsgICAgICAgIGNhc2UgMTA6Cj4gKyAgICAgICAgICAgIGMtPmgyNjRfaWRjdF9kY19hZGQgID0g ZmZfaDI2NF9pZGN0NF9kY19hZGRfMTBfcnZ2Owo+ICsgICAgICAgICAgICBjLT5oMjY0X2lkY3Q4 X2RjX2FkZCA9IGZmX2gyNjRfaWRjdDhfZGNfYWRkXzEwX3J2djsKPiArICAgICAgICAgICAgYnJl YWs7Cj4gKyAgICAgICAgY2FzZSAxMjoKPiArICAgICAgICAgICAgYy0+aDI2NF9pZGN0X2RjX2Fk ZCAgPSBmZl9oMjY0X2lkY3Q0X2RjX2FkZF8xMl9ydnY7Cj4gKyAgICAgICAgICAgIGMtPmgyNjRf aWRjdDhfZGNfYWRkID0gZmZfaDI2NF9pZGN0OF9kY19hZGRfMTJfcnZ2Owo+ICsgICAgICAgICAg ICBicmVhazsKPiArICAgICAgICBjYXNlIDE0Ogo+ICsgICAgICAgICAgICBjLT5oMjY0X2lkY3Rf ZGNfYWRkICA9IGZmX2gyNjRfaWRjdDRfZGNfYWRkXzE0X3J2djsKPiArICAgICAgICAgICAgYy0+ aDI2NF9pZGN0OF9kY19hZGQgPSBmZl9oMjY0X2lkY3Q4X2RjX2FkZF8xNF9ydnY7Cj4gKyAgICAg ICAgICAgIGJyZWFrOwo+ICsgICAgICAgfQo+ICsgICAgfQo+ICAjZW5kaWYKPiAgfQo+IGRpZmYg LS1naXQgYS9saWJhdmNvZGVjL3Jpc2N2L2gyNjRkc3BfcnZ2LlMgYi9saWJhdmNvZGVjL3Jpc2N2 L2gyNjRkc3BfcnZ2LlMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAu LjU3ZjA0MzNmN2MKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvbGliYXZjb2RlYy9yaXNjdi9oMjY0 ZHNwX3J2di5TCj4gQEAgLTAsMCArMSwxNzYgQEAKPiArLyoKPiArICogU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEJTRC0yLUNsYXVzZQo+ICsgKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjQgSi4g RGVra2VyIDxqZGVrQGl0YW5pbXVsLmxpPgo+ICsgKgo+ICsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPiArICogbW9k aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k aXRpb25zCj4gKyAqIGFyZSBtZXQ6Cj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhp cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiArICog Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92 ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQo+ICsgKiAgICBkb2N1bWVudGF0aW9uIGFu ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgo+ICsg Kgo+ICsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS UyBBTkQgQ09OVFJJQlVUT1JTICJBUwo+IElTIiArICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQKPiBUTywgVEhFICsgKiBJ TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBCj4g UEFSVElDVUxBUiBQVVJQT1NFICsgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg VEhFIENPUFlSSUdIVAo+IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSArICogTElBQkxFIEZPUiBB TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKPiBTUEVDSUFMLCBFWEVNUExBUlksIE9S ICsgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAo+IExJTUlURUQg VE8sIFBST0NVUkVNRU5UIE9GICsgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT IE9GIFVTRSwKPiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyArICogSU5URVJSVVBUSU9O KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCj4gVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF UiBJTiArICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKPiAoSU5DTFVESU5H IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSArICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU SEUgVVNFCj4gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSArICogUE9T U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgImxpYmF2dXRp bC9yaXNjdi9hc20uUyIKPiArCj4gKy5tYWNybyBpZGN0X2RjX2FkZDggd2lkdGgKPiArZnVuYyBm Zl9oMjY0X2lkY3Rcd2lkdGhcKClfZGNfYWRkXzhfcnZ2LCB6dmU2NHgsIHpiYQo+ICsgICAgICAg IHZzZXRpdmxpICAgICAgICB6ZXJvLCBcd2lkdGgsIGUxNiwgbTEsIHRhLCBtYQoKbWYyIHNob3Vs ZCBiZSBmYXN0ZXIgaWYgXHdpZHRoID09IDQuCgo+ICsgICAgICAgIGxoICAgICAgICAgICAgICBh MywgMChhMSkKPiArICAgICAgICBhZGRpICAgICAgICAgICAgYTMsIGEzLCAzMgo+ICsgICAgICAg IHNyYWkgICAgICAgICAgICBhMywgYTMsIDYKPiArICAgICAgICBzaCAgICAgICAgICAgICAgemVy bywgMChhMSkKPiArLmlmIFx3aWR0aCA9PSA4Cj4gKyAgICAgICAgdmxzc2VnOGU4LnYgICAgIHYy NCwgKGEwKSwgYTIKPiArLmVsc2UKPiArICAgICAgICB2bHNzZWc0ZTgudiAgICAgdjI0LCAoYTAp LCBhMgo+ICsuZW5kaWYKCllvdSBjb3VsZCBwcm9iYWJseSB1c2UgdmxzZTY0LnYgb3IgdmxzZTMy LnYgaGVyZSwgdHJlYXRpbmcgZWFjaCByb3cgYXMgYW4gCmVsZW1lbnQgLSBhbmQgcmVzcGVjdGl2 ZWx5IHZzc2V7NjQsMzJ9LnYgYXQgdGhlIGVuZC4gWW91IGNhbiB0aGVuIGxvYWQgYSB3aG9sZSAK OHg4IG9yIDR4NCBtYXRyaXggaW4gYSBzaW5nbGUgdmVjdG9yIGdyb3VwLgoKVGhpcyBzaG91bGQg d29yayBmaW5lIGdpdmVuIHRoYXQgdGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBuZWVkIHRvIGlkZW50 aWZ5IHJvd3MgCm9yIGNvbHVtbnMuIFRoaXMgaXMgcHJvYmFibHkgZmFzdGVyIHRoYW4gdXNpbmcg c2VnbWVudHMuIEl0IHdvdWxkIGFsc28gYXZvaWQgCnJlcGVhdGluZyBlYWNoIGluc3RydWN0aW9u IDggb3IgNCB0aW1lcyBiZWxvdy4KClRoYXQgc2hvdWxkIGFsc28gd29yayBmb3IgdGhlIDE2LWJp dCA0eDQgZnVuY3Rpb24uIFVuZm9ydHVuYXRlbHksIGl0IHdvbid0IAp3b3JrIGZvciAxNi1iaXQg OHg4LCBhcyB2bHNlMTI4LnYgZG9lcyBub3QgZXhpc3QuCgo+ICsgICAgICAgIHZ6ZXh0LnZmMiAg ICAgICB2MCwgdjI0Cj4gKyAgICAgICAgdnpleHQudmYyICAgICAgIHYyLCB2MjUKPiArICAgICAg ICB2emV4dC52ZjIgICAgICAgdjQsIHYyNgo+ICsgICAgICAgIHZ6ZXh0LnZmMiAgICAgICB2Niwg djI3Cj4gKy5pZiBcd2lkdGggPT0gOAo+ICsgICAgICAgIHZ6ZXh0LnZmMiAgICAgICB2MTAsIHYy OAo+ICsgICAgICAgIHZ6ZXh0LnZmMiAgICAgICB2MTIsIHYyOQo+ICsgICAgICAgIHZ6ZXh0LnZm MiAgICAgICB2MTQsIHYzMAo+ICsgICAgICAgIHZ6ZXh0LnZmMiAgICAgICB2MTYsIHYzMQo+ICsu ZW5kaWYKPiArICAgICAgICB2YWRkLnZ4ICAgICAgICAgdjAsIHYwLCBhMwo+ICsgICAgICAgIHZh ZGQudnggICAgICAgICB2MiwgdjIsIGEzCj4gKyAgICAgICAgdmFkZC52eCAgICAgICAgIHY0LCB2 NCwgYTMKPiArICAgICAgICB2YWRkLnZ4ICAgICAgICAgdjYsIHY2LCBhMwo+ICsuaWYgXHdpZHRo ID09IDgKPiArICAgICAgICB2YWRkLnZ4ICAgICAgICAgdjEwLCB2MTAsIGEzCj4gKyAgICAgICAg dmFkZC52eCAgICAgICAgIHYxMiwgdjEyLCBhMwo+ICsgICAgICAgIHZhZGQudnggICAgICAgICB2 MTQsIHYxNCwgYTMKPiArICAgICAgICB2YWRkLnZ4ICAgICAgICAgdjE2LCB2MTYsIGEzCj4gKy5l bmRpZgo+ICsgICAgICAgIHZtYXgudnggICAgICAgICB2MCwgdjAsIHplcm8KPiArICAgICAgICB2 bWF4LnZ4ICAgICAgICAgdjIsIHYyLCB6ZXJvCj4gKyAgICAgICAgdm1heC52eCAgICAgICAgIHY0 LCB2NCwgemVybwo+ICsgICAgICAgIHZtYXgudnggICAgICAgICB2NiwgdjYsIHplcm8KPiArLmlm IFx3aWR0aCA9PSA4Cj4gKyAgICAgICAgdm1heC52eCAgICAgICAgIHYxMCwgdjEwLCB6ZXJvCj4g KyAgICAgICAgdm1heC52eCAgICAgICAgIHYxMiwgdjEyLCB6ZXJvCj4gKyAgICAgICAgdm1heC52 eCAgICAgICAgIHYxNCwgdjE0LCB6ZXJvCj4gKyAgICAgICAgdm1heC52eCAgICAgICAgIHYxNiwg djE2LCB6ZXJvCj4gKy5lbmRpZgo+ICsgICAgICAgIHZzZXR2bGkgICAgICAgICB6ZXJvLCB6ZXJv LCBlOCwgbWYyLCB0YSwgbWEKPiArICAgICAgICB2bmNsaXB1LndpICAgICAgdjI0LCB2MCwgMAo+ ICsgICAgICAgIHZuY2xpcHUud2kgICAgICB2MjUsIHYyLCAwCj4gKyAgICAgICAgdm5jbGlwdS53 aSAgICAgIHYyNiwgdjQsIDAKPiArICAgICAgICB2bmNsaXB1LndpICAgICAgdjI3LCB2NiwgMAo+ ICsuaWYgXHdpZHRoID09IDgKPiArICAgICAgICB2bmNsaXB1LndpICAgICAgdjI4LCB2MTAsIDAK PiArICAgICAgICB2bmNsaXB1LndpICAgICAgdjI5LCB2MTIsIDAKPiArICAgICAgICB2bmNsaXB1 LndpICAgICAgdjMwLCB2MTQsIDAKPiArICAgICAgICB2bmNsaXB1LndpICAgICAgdjMxLCB2MTYs IDAKPiArICAgICAgICB2c3NzZWc4ZTgudiAgICAgdjI0LCAoYTApLCBhMgo+ICsuZWxzZQo+ICsg ICAgICAgIHZzc3NlZzRlOC52ICAgICB2MjQsIChhMCksIGEyCj4gKy5lbmRpZgo+ICsgICAgICAg IHJldAo+ICtlbmRmdW5jCj4gKy5lbmRtCj4gKwo+ICtpZGN0X2RjX2FkZDggNAo+ICtpZGN0X2Rj X2FkZDggOAo+ICsKPiArLm1hY3JvIGlkY3RfZGNfYWRkIHdpZHRoCj4gK2Z1bmMgZmZfaDI2NF9p ZGN0XHdpZHRoXCgpX2RjX2FkZF8xNl9ydnYsIHp2ZTY0eCwgemJhCj4gKyAgICAgICAgdnNldGl2 bGkgICAgICAgIHplcm8sIFx3aWR0aCwgZTE2LCBtMSwgdGEsIG1hCj4gKyAgICAgICAgbHcgICAg ICAgICAgICAgIGEzLCAwKGExKQo+ICsgICAgICAgIGFkZGkgICAgICAgICAgICBhMywgYTMsIDMy Cj4gKyAgICAgICAgc3JhaSAgICAgICAgICAgIGEzLCBhMywgNgo+ICsgICAgICAgIHN3ICAgICAg ICAgICAgICB6ZXJvLCAwKGExKQo+ICsgICAgICAgIGFkZCAgICAgICAgICAgICB0NCwgYTAsIGEy Cj4gKyAgICAgICAgc2gxYWRkICAgICAgICAgIHQ1LCBhMiwgYTAKPiArICAgICAgICBzaDFhZGQg ICAgICAgICAgdDYsIGEyLCB0NAo+ICsuaWYgXHdpZHRoID09IDgKPiArICAgICAgICBzaDJhZGQg ICAgICAgICAgdDAsIGEyLCBhMAo+ICsgICAgICAgIHNoMmFkZCAgICAgICAgICB0MSwgYTIsIHQ0 Cj4gKyAgICAgICAgc2gyYWRkICAgICAgICAgIHQyLCBhMiwgdDUKPiArICAgICAgICBzaDJhZGQg ICAgICAgICAgdDMsIGEyLCB0Ngo+ICsuZW5kaWYKPiArICAgICAgICB2bGUxNi52ICAgICAgICAg djAsIChhMCkKPiArICAgICAgICB2bGUxNi52ICAgICAgICAgdjIsICh0NCkKPiArICAgICAgICB2 bGUxNi52ICAgICAgICAgdjQsICh0NSkKPiArICAgICAgICB2bGUxNi52ICAgICAgICAgdjYsICh0 NikKPiArLmlmIFx3aWR0aCA9PSA4Cj4gKyAgICAgICAgdmxlMTYudiAgICAgICAgIHYxMCwgKHQw KQo+ICsgICAgICAgIHZsZTE2LnYgICAgICAgICB2MTIsICh0MSkKPiArICAgICAgICB2bGUxNi52 ICAgICAgICAgdjE0LCAodDIpCj4gKyAgICAgICAgdmxlMTYudiAgICAgICAgIHYxNiwgKHQzKQo+ ICsuZW5kaWYKPiArICAgICAgICB2YWRkLnZ4ICAgICAgICAgdjAsIHYwLCBhMwo+ICsgICAgICAg IHZhZGQudnggICAgICAgICB2MiwgdjIsIGEzCj4gKyAgICAgICAgdmFkZC52eCAgICAgICAgIHY0 LCB2NCwgYTMKPiArICAgICAgICB2YWRkLnZ4ICAgICAgICAgdjYsIHY2LCBhMwo+ICsuaWYgXHdp ZHRoID09IDgKPiArICAgICAgICB2YWRkLnZ4ICAgICAgICAgdjEwLCB2MTAsIGEzCj4gKyAgICAg ICAgdmFkZC52eCAgICAgICAgIHYxMiwgdjEyLCBhMwo+ICsgICAgICAgIHZhZGQudnggICAgICAg ICB2MTQsIHYxNCwgYTMKPiArICAgICAgICB2YWRkLnZ4ICAgICAgICAgdjE2LCB2MTYsIGEzCj4g Ky5lbmRpZgo+ICsgICAgICAgIHZtYXgudnggICAgICAgICB2MCwgdjAsIHplcm8KPiArICAgICAg ICB2bWF4LnZ4ICAgICAgICAgdjIsIHYyLCB6ZXJvCj4gKyAgICAgICAgdm1heC52eCAgICAgICAg IHY0LCB2NCwgemVybwo+ICsgICAgICAgIHZtYXgudnggICAgICAgICB2NiwgdjYsIHplcm8KPiAr LmlmIFx3aWR0aCA9PSA4Cj4gKyAgICAgICAgdm1heC52eCAgICAgICAgIHYxMCwgdjEwLCB6ZXJv Cj4gKyAgICAgICAgdm1heC52eCAgICAgICAgIHYxMiwgdjEyLCB6ZXJvCj4gKyAgICAgICAgdm1h eC52eCAgICAgICAgIHYxNCwgdjE0LCB6ZXJvCj4gKyAgICAgICAgdm1heC52eCAgICAgICAgIHYx NiwgdjE2LCB6ZXJvCj4gKy5lbmRpZgo+ICsgICAgICAgIHZtaW4udnggICAgICAgICB2MCwgdjAs IGE1Cj4gKyAgICAgICAgdm1pbi52eCAgICAgICAgIHYyLCB2MiwgYTUKPiArICAgICAgICB2bWlu LnZ4ICAgICAgICAgdjQsIHY0LCBhNQo+ICsgICAgICAgIHZtaW4udnggICAgICAgICB2NiwgdjYs IGE1Cj4gKy5pZiBcd2lkdGggPT0gOAo+ICsgICAgICAgIHZtaW4udnggICAgICAgICB2MTAsIHYx MCwgYTUKPiArICAgICAgICB2bWluLnZ4ICAgICAgICAgdjEyLCB2MTIsIGE1Cj4gKyAgICAgICAg dm1pbi52eCAgICAgICAgIHYxNCwgdjE0LCBhNQo+ICsgICAgICAgIHZtaW4udnggICAgICAgICB2 MTYsIHYxNiwgYTUKPiArLmVuZGlmCj4gKyAgICAgICAgdnNlMTYudiAgICAgICAgIHYwLCAoYTAp Cj4gKyAgICAgICAgdnNlMTYudiAgICAgICAgIHYyLCAodDQpCj4gKyAgICAgICAgdnNlMTYudiAg ICAgICAgIHY0LCAodDUpCj4gKyAgICAgICAgdnNlMTYudiAgICAgICAgIHY2LCAodDYpCj4gKy5p ZiBcd2lkdGggPT0gOAo+ICsgICAgICAgIHZzZTE2LnYgICAgICAgICB2MTAsICh0MCkKPiArICAg ICAgICB2c2UxNi52ICAgICAgICAgdjEyLCAodDEpCj4gKyAgICAgICAgdnNlMTYudiAgICAgICAg IHYxNCwgKHQyKQo+ICsgICAgICAgIHZzZTE2LnYgICAgICAgICB2MTYsICh0MykKPiArLmVuZGlm Cj4gKyAgICAgICAgcmV0Cj4gK2VuZGZ1bmMKPiArLmVuZG0KPiArCj4gK2lkY3RfZGNfYWRkIDQK PiAraWRjdF9kY19hZGQgOAo+ICsKPiArLmlycCBkZXB0aCw5LDEwLDEyLDE0Cj4gK2Z1bmMgZmZf aDI2NF9pZGN0NF9kY19hZGRfXGRlcHRoXCgpX3J2diwgenZlNjR4Cj4gKyAgICAgICAgbGkgICAg ICAgICAgICAgIGE1LCAoMSA8PCBcZGVwdGgpIC0gMQo+ICsgICAgICAgIGogICAgICAgICAgICAg ICBmZl9oMjY0X2lkY3Q0X2RjX2FkZF8xNl9ydnYKPiArZW5kZnVuYwo+ICsKPiArZnVuYyBmZl9o MjY0X2lkY3Q4X2RjX2FkZF9cZGVwdGhcKClfcnZ2LCB6dmU2NHgKPiArICAgICAgICBsaSAgICAg ICAgICAgICAgYTUsICgxIDw8IFxkZXB0aCkgLSAxCj4gKyAgICAgICAgaiAgICAgICAgICAgICAg IGZmX2gyNjRfaWRjdDhfZGNfYWRkXzE2X3J2dgo+ICtlbmRmdW5jCj4gKy5lbmRyCgoKLS0gCuOD rOODn+ODu+ODh+ODiy3jgq/jg7zjg6vjg6Ljg7MKaHR0cDovL3d3dy5yZW1sYWIubmV0LwoKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2 ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxp bmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBz dWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==