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 BFF7949F06 for ; Mon, 15 Jul 2024 05:50:55 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C10B868D92B; Mon, 15 Jul 2024 08:50:51 +0300 (EEST) Received: from fout4-smtp.messagingengine.com (fout4-smtp.messagingengine.com [103.168.172.147]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 807F468D66D for ; Mon, 15 Jul 2024 08:50:44 +0300 (EEST) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailfout.nyi.internal (Postfix) with ESMTP id 8B0601388E27 for ; Mon, 15 Jul 2024 01:50:42 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Mon, 15 Jul 2024 01:50:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=itanimul.li; h= cc:content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:message-id:mime-version:reply-to:subject :subject:to:to; s=fm3; t=1721022642; x=1721109042; bh=MKObwTvhfh IzcIw24ugrO8UPhBJUnK+3iKxlqNRueOc=; b=guEtIbtsvbtNd4h8aaznanxjVt VhXR+XC09/DnJp9tCAySaVHIF1eikh1QplI1HT8TRIaOUQL4gfNrwoyeB6AICo9z IdAWXhVPLHiode6KBo3fsgDOecGGhlN1mdYDZQi+iMZ4suYfAOgVf8Iq0YDiZaEY qU2hkX1BCXjBsNZeNjTjrUFqkd3q94/JpqUlSOQF7qg83Bxwfc7k1cYTCR97zwMX MfokLg4gqZUKnw1zJQ6h44DTcHmg90K5RDfcGRScte3u1Z62qeG1GpprJp25Jl3R gDEMCWh/9eQ76oi5plgp5M5XbtfknH7KA+hUK46g7x/rkIt9uxaqX+22m7YQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:message-id:mime-version:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1721022642; x=1721109042; bh=MKObwTvhfhIzcIw24ugrO8UPhBJU nK+3iKxlqNRueOc=; b=bhW/EqKVtPxrs00j+hG4+85QzQizN5pbKmJvdu8XOQ7v yUlrx0UMln6MVEwWbQGl0Zz1EjzRxPNDPp9IiMHRge0NcOloRQrxh8N1DnhzZSTU 8i2ID2sUQ3Rd1eaWdTrKwRmgMhgo4xy1l5fnW28N8/5v9RtK1qlmBTNAuvbizGPb RJ/Khit5/2IyX0d/dVwjgAu2UG8hyhOpl9zrhaJaCmoAd+Es3F5iWtLXt+ybjdW7 z0Kr+VRaVhoOj4a5aawULv7dQWjuBPhynEtDbzh+gNxkjleyF1fcMbn1RiQeIDoZ braSfSsRyT94SucBJ8AAxKdT4okYcwNb+AZ0d0/ToQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrgedugddutddvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkofggtgfgsehtkeertd ertdejnecuhfhrohhmpedflfdrucffvghkkhgvrhdfuceojhguvghksehithgrnhhimhhu lhdrlhhiqeenucggtffrrghtthgvrhhnpeekuedvvddtffeludfgjeefgfeiffdtteehhf etgeevtdfgteevjefghffhjeffudenucffohhmrghinhephhdvieegughsphgprhhvvhdr shgsnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepjh guvghksehithgrnhhimhhulhdrlhhi X-ME-Proxy: Feedback-ID: i84994747:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Mon, 15 Jul 2024 01:50:40 -0400 (EDT) From: "J. Dekker" To: ffmpeg-devel@ffmpeg.org Date: Mon, 15 Jul 2024 07:50:38 +0200 Message-ID: <20240715055039.592571-1-jdek@itanimul.li> X-Mailer: git-send-email 2.44.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v3] 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: Y2hlY2thc206IGJlbmNoIHJ1bnMgMTMxMDcyICgxIDw8IDE3KQpoMjY0X2lkY3Q0X2FkZF9kY184 YnBwX2M6IDEuNQpoMjY0X2lkY3Q0X2FkZF9kY184YnBwX3J2dl9pNjQ6IDAuNwpoMjY0X2lkY3Q0 X2FkZF9kY185YnBwX2M6IDEuNQpoMjY0X2lkY3Q0X2FkZF9kY185YnBwX3J2dl9pNjQ6IDAuNwpo MjY0X2lkY3Q0X2FkZF9kY18xMGJwcF9jOiAxLjUKaDI2NF9pZGN0NF9hZGRfZGNfMTBicHBfcnZ2 X2k2NDogMC43CmgyNjRfaWRjdDRfYWRkX2RjXzEyYnBwX2M6IDEuMgpoMjY0X2lkY3Q0X2FkZF9k Y18xMmJwcF9ydnZfaTY0OiAwLjcKaDI2NF9pZGN0NF9hZGRfZGNfMTRicHBfYzogMS4yCmgyNjRf aWRjdDRfYWRkX2RjXzE0YnBwX3J2dl9pNjQ6IDAuNwpoMjY0X2lkY3Q4X2FkZF9kY184YnBwX2M6 IDUuMgpoMjY0X2lkY3Q4X2FkZF9kY184YnBwX3J2dl9pNjQ6IDEuNQpoMjY0X2lkY3Q4X2FkZF9k Y185YnBwX2M6IDUuNQpoMjY0X2lkY3Q4X2FkZF9kY185YnBwX3J2dl9pNjQ6IDEuMgpoMjY0X2lk Y3Q4X2FkZF9kY18xMGJwcF9jOiA1LjUKaDI2NF9pZGN0OF9hZGRfZGNfMTBicHBfcnZ2X2k2NDog MS4yCmgyNjRfaWRjdDhfYWRkX2RjXzEyYnBwX2M6IDQuMgpoMjY0X2lkY3Q4X2FkZF9kY18xMmJw cF9ydnZfaTY0OiAxLjIKaDI2NF9pZGN0OF9hZGRfZGNfMTRicHBfYzogNC4yCmgyNjRfaWRjdDhf YWRkX2RjXzE0YnBwX3J2dl9pNjQ6IDEuMgoKU2lnbmVkLW9mZi1ieTogSi4gRGVra2VyIDxqZGVr QGl0YW5pbXVsLmxpPgotLS0KIGxpYmF2Y29kZWMvcmlzY3YvTWFrZWZpbGUgICAgICAgfCAgIDEg KwogbGliYXZjb2RlYy9yaXNjdi9oMjY0ZHNwX2luaXQuYyB8ICA0NCArKysrKysrKysrLQogbGli YXZjb2RlYy9yaXNjdi9oMjY0ZHNwX3J2di5TICB8IDEzMCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAxNzIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdmNvZGVjL3Jpc2N2L2gyNjRkc3BfcnZ2LlMK CiBBcyBSZW1pIG1lbnRpb25lZCwgaGlnaCBiaXQtZGVwdGggNHg0IGNvdWxkIGJlIGRvbmUgaW4g dGhlIHNhbWUgd2F5IGFzIGxvdwogYml0LWRlcHRoLiBJJ3ZlIGxlZnQgaXQgd2l0aCB0aGUgaGln aCBiaXQtZGVwdGggaW50ZW50aW9uYWxseSBzaW5jZSB0aGlzIGVhc2VzCiB0ZW1wbGF0aW5nLiBV c2Ugb2Ygc2VnbWVudHMgcmVtb3ZlZCBhbmQgcmVwZWF0ZWQgaW5zdHJ1Y3Rpb25zIGNoYW5nZWQg dG8gdXNlCiBtOC4KCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3Jpc2N2L01ha2VmaWxlIGIvbGli YXZjb2RlYy9yaXNjdi9NYWtlZmlsZQppbmRleCBjMTgwMjIzMTQxLi5hMTUxMGU4YzZlIDEwMDY0 NAotLS0gYS9saWJhdmNvZGVjL3Jpc2N2L01ha2VmaWxlCisrKyBiL2xpYmF2Y29kZWMvcmlzY3Yv TWFrZWZpbGUKQEAgLTMxLDYgKzMxLDcgQEAgUlZWLU9CSlMtJChDT05GSUdfSDI2M0RTUCkgKz0g cmlzY3YvaDI2M2RzcF9ydnYubwogT0JKUy0kKENPTkZJR19IMjY0Q0hST01BKSArPSByaXNjdi9o MjY0X2Nocm9tYV9pbml0X3Jpc2N2Lm8KIFJWVi1PQkpTLSQoQ09ORklHX0gyNjRDSFJPTUEpICs9 IHJpc2N2L2gyNjRfbWNfY2hyb21hLm8KIE9CSlMtJChDT05GSUdfSDI2NERTUCkgKz0gcmlzY3Yv aDI2NGRzcF9pbml0Lm8KK1JWVi1PQkpTLSQoQ09ORklHX0gyNjREU1ApICs9IHJpc2N2L2gyNjRk c3BfcnZ2Lm8KIE9CSlMtJChDT05GSUdfSFVGRllVVl9ERUNPREVSKSArPSByaXNjdi9odWZmeXV2 ZHNwX2luaXQubwogUlZWLU9CSlMtJChDT05GSUdfSFVGRllVVl9ERUNPREVSKSArPSByaXNjdi9o dWZmeXV2ZHNwX3J2di5vCiBPQkpTLSQoQ09ORklHX0lEQ1REU1ApICs9IHJpc2N2L2lkY3Rkc3Bf aW5pdC5vCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3Jpc2N2L2gyNjRkc3BfaW5pdC5jIGIvbGli YXZjb2RlYy9yaXNjdi9oMjY0ZHNwX2luaXQuYwppbmRleCBkYmJmM2RiNDAwLi4zMjU2MTk5MzAz IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3Jpc2N2L2gyNjRkc3BfaW5pdC5jCisrKyBiL2xpYmF2 Y29kZWMvcmlzY3YvaDI2NGRzcF9pbml0LmMKQEAgLTEsNCArMSw1IEBACiAvKgorICogQ29weXJp Z2h0IChjKSAyMDI0IEouIERla2tlciA8amRla0BpdGFuaW11bC5saT4KICAqIENvcHlyaWdodCDC qSAyMDI0IFLDqW1pIERlbmlzLUNvdXJtb250LgogICoKICAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9m IEZGbXBlZy4KQEAgLTI0LDIyICsyNSw1OSBAQAogCiAjaW5jbHVkZSAibGliYXZ1dGlsL2F0dHJp YnV0ZXMuaCIKICNpbmNsdWRlICJsaWJhdnV0aWwvY3B1LmgiCisjaW5jbHVkZSAibGliYXZ1dGls L3Jpc2N2L2NwdS5oIgogI2luY2x1ZGUgImxpYmF2Y29kZWMvaDI2NGRzcC5oIgogCiBleHRlcm4g aW50IGZmX3N0YXJ0Y29kZV9maW5kX2NhbmRpZGF0ZV9ydmIoY29uc3QgdWludDhfdCAqLCBpbnQp OwogZXh0ZXJuIGludCBmZl9zdGFydGNvZGVfZmluZF9jYW5kaWRhdGVfcnZ2KGNvbnN0IHVpbnQ4 X3QgKiwgaW50KTsKK3ZvaWQgZmZfaDI2NF9pZGN0NF9kY19hZGRfOF9ydnYodWludDhfdCAqLCBp bnQxNl90ICosIGludCk7Cit2b2lkIGZmX2gyNjRfaWRjdDhfZGNfYWRkXzhfcnZ2KHVpbnQ4X3Qg KiwgaW50MTZfdCAqLCBpbnQpOwordm9pZCBmZl9oMjY0X2lkY3Q0X2RjX2FkZF85X3J2dih1aW50 OF90ICosIGludDE2X3QgKiwgaW50KTsKK3ZvaWQgZmZfaDI2NF9pZGN0OF9kY19hZGRfOV9ydnYo dWludDhfdCAqLCBpbnQxNl90ICosIGludCk7Cit2b2lkIGZmX2gyNjRfaWRjdDRfZGNfYWRkXzEw X3J2dih1aW50OF90ICosIGludDE2X3QgKiwgaW50KTsKK3ZvaWQgZmZfaDI2NF9pZGN0OF9kY19h ZGRfMTBfcnZ2KHVpbnQ4X3QgKiwgaW50MTZfdCAqLCBpbnQpOwordm9pZCBmZl9oMjY0X2lkY3Q0 X2RjX2FkZF8xMl9ydnYodWludDhfdCAqLCBpbnQxNl90ICosIGludCk7Cit2b2lkIGZmX2gyNjRf aWRjdDhfZGNfYWRkXzEyX3J2dih1aW50OF90ICosIGludDE2X3QgKiwgaW50KTsKK3ZvaWQgZmZf aDI2NF9pZGN0NF9kY19hZGRfMTRfcnZ2KHVpbnQ4X3QgKiwgaW50MTZfdCAqLCBpbnQpOwordm9p ZCBmZl9oMjY0X2lkY3Q4X2RjX2FkZF8xNF9ydnYodWludDhfdCAqLCBpbnQxNl90ICosIGludCk7 CiAKLWF2X2NvbGQgdm9pZCBmZl9oMjY0ZHNwX2luaXRfcmlzY3YoSDI2NERTUENvbnRleHQgKmRz cCwgY29uc3QgaW50IGJpdF9kZXB0aCwKK2F2X2NvbGQgdm9pZCBmZl9oMjY0ZHNwX2luaXRfcmlz Y3YoSDI2NERTUENvbnRleHQgKmMsIGNvbnN0IGludCBiaXRfZGVwdGgsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBjaHJvbWFfZm9ybWF0X2lkYykKIHsKICNp ZiBIQVZFX1JWCiAgICAgaW50IGZsYWdzID0gYXZfZ2V0X2NwdV9mbGFncygpOwogCiAgICAgaWYg KGZsYWdzICYgQVZfQ1BVX0ZMQUdfUlZCX0JBU0lDKQotICAgICAgICBkc3AtPnN0YXJ0Y29kZV9m aW5kX2NhbmRpZGF0ZSA9IGZmX3N0YXJ0Y29kZV9maW5kX2NhbmRpZGF0ZV9ydmI7CisgICAgICAg IGMtPnN0YXJ0Y29kZV9maW5kX2NhbmRpZGF0ZSA9IGZmX3N0YXJ0Y29kZV9maW5kX2NhbmRpZGF0 ZV9ydmI7CiAjIGlmIEhBVkVfUlZWCiAgICAgaWYgKGZsYWdzICYgQVZfQ1BVX0ZMQUdfUlZWX0kz MikKLSAgICAgICAgZHNwLT5zdGFydGNvZGVfZmluZF9jYW5kaWRhdGUgPSBmZl9zdGFydGNvZGVf ZmluZF9jYW5kaWRhdGVfcnZ2OworICAgICAgICBjLT5zdGFydGNvZGVfZmluZF9jYW5kaWRhdGUg PSBmZl9zdGFydGNvZGVfZmluZF9jYW5kaWRhdGVfcnZ2OwogIyBlbmRpZgorICAgIGlmIChmZl9y dl92bGVuX2xlYXN0KDEyOCkpIHsKKyAgICAgICAgc3dpdGNoKGJpdF9kZXB0aCkgeworICAgICAg ICBjYXNlIDg6CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiBBVl9DUFVfRkxBR19SVlZfSTY0KSB7 CisgICAgICAgICAgICAgICAgYy0+aDI2NF9pZGN0X2RjX2FkZCAgPSBmZl9oMjY0X2lkY3Q0X2Rj X2FkZF84X3J2djsKKyAgICAgICAgICAgICAgICBjLT5oMjY0X2lkY3Q4X2RjX2FkZCA9IGZmX2gy NjRfaWRjdDhfZGNfYWRkXzhfcnZ2OworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7 CisgICAgICAgIGNhc2UgOToKKyAgICAgICAgICAgIGMtPmgyNjRfaWRjdF9kY19hZGQgID0gZmZf aDI2NF9pZGN0NF9kY19hZGRfOV9ydnY7CisgICAgICAgICAgICBjLT5oMjY0X2lkY3Q4X2RjX2Fk ZCA9IGZmX2gyNjRfaWRjdDhfZGNfYWRkXzlfcnZ2OworICAgICAgICAgICAgYnJlYWs7CisgICAg ICAgIGNhc2UgMTA6CisgICAgICAgICAgICBjLT5oMjY0X2lkY3RfZGNfYWRkICA9IGZmX2gyNjRf aWRjdDRfZGNfYWRkXzEwX3J2djsKKyAgICAgICAgICAgIGMtPmgyNjRfaWRjdDhfZGNfYWRkID0g ZmZfaDI2NF9pZGN0OF9kY19hZGRfMTBfcnZ2OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg IGNhc2UgMTI6CisgICAgICAgICAgICBjLT5oMjY0X2lkY3RfZGNfYWRkICA9IGZmX2gyNjRfaWRj dDRfZGNfYWRkXzEyX3J2djsKKyAgICAgICAgICAgIGMtPmgyNjRfaWRjdDhfZGNfYWRkID0gZmZf aDI2NF9pZGN0OF9kY19hZGRfMTJfcnZ2OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh c2UgMTQ6CisgICAgICAgICAgICBjLT5oMjY0X2lkY3RfZGNfYWRkICA9IGZmX2gyNjRfaWRjdDRf ZGNfYWRkXzE0X3J2djsKKyAgICAgICAgICAgIGMtPmgyNjRfaWRjdDhfZGNfYWRkID0gZmZfaDI2 NF9pZGN0OF9kY19hZGRfMTRfcnZ2OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgfQorICAg IH0KICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9yaXNjdi9oMjY0ZHNwX3J2di5T IGIvbGliYXZjb2RlYy9yaXNjdi9oMjY0ZHNwX3J2di5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLjBlNmMyZTQ5ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJhdmNvZGVj L3Jpc2N2L2gyNjRkc3BfcnZ2LlMKQEAgLTAsMCArMSwxMzAgQEAKKy8qCisgKiBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlCisgKgorICogQ29weXJpZ2h0IChjKSAyMDI0IEou IERla2tlciA8amRla0BpdGFuaW11bC5saT4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0 IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1 dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB UyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUg RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05U UklCVVRPUlMgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF RCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl ICJsaWJhdnV0aWwvcmlzY3YvYXNtLlMiCisKKy5tYWNybyBpZGN0X2RjX2FkZDggd2lkdGgKK2Z1 bmMgZmZfaDI2NF9pZGN0XHdpZHRoXCgpX2RjX2FkZF84X3J2diwgenZlNjR4LCB6YmEKKy5pZiBc d2lkdGggPT0gOAorICAgICAgICB2c2V0aXZsaSAgICAgICAgemVybywgXHdpZHRoLCBlMTYsIG0x LCB0YSwgbWEKKy5lbHNlCisgICAgICAgIHZzZXRpdmxpICAgICAgICB6ZXJvLCBcd2lkdGgsIGUx NiwgbWYyLCB0YSwgbWEKKy5lbmRpZgorICAgICAgICBsaCAgICAgICAgICAgICAgYTMsIDAoYTEp CisgICAgICAgIGFkZGkgICAgICAgICAgICBhMywgYTMsIDMyCisgICAgICAgIHNyYWkgICAgICAg ICAgICBhMywgYTMsIDYKKyAgICAgICAgc2ggICAgICAgICAgICAgIHplcm8sIDAoYTEpCisuaWYg XHdpZHRoID09IDgKKyAgICAgICAgdmxzZTY0LnYgICAgICAgIHYyNCwgKGEwKSwgYTIKKyAgICAg ICAgdnNldHZsaSAgICAgICAgIHQwLCB6ZXJvLCBlMTYsIG04LCB0YSwgbWEKKy5lbHNlCisgICAg ICAgIHZsc2UzMi52ICAgICAgICB2MjQsIChhMCksIGEyCisgICAgICAgIHZzZXR2bGkgICAgICAg ICB0MCwgemVybywgZTE2LCBtNCwgdGEsIG1hCisuZW5kaWYKKyAgICAgICAgdnpleHQudmYyICAg ICAgIHYwLCB2MjQKKyAgICAgICAgdmFkZC52eCAgICAgICAgIHYwLCB2MCwgYTMKKyAgICAgICAg dm1heC52eCAgICAgICAgIHYwLCB2MCwgemVybworLmlmIFx3aWR0aCA9PSA4CisgICAgICAgIHZz ZXR2bGkgICAgICAgICB6ZXJvLCB6ZXJvLCBlOCwgbTQsIHRhLCBtYQorLmVsc2UKKyAgICAgICAg dnNldHZsaSAgICAgICAgIHplcm8sIHplcm8sIGU4LCBtMiwgdGEsIG1hCisuZW5kaWYKKyAgICAg ICAgdm5jbGlwdS53aSAgICAgIHYyNCwgdjAsIDAKKyAgICAgICAgdnNldGl2bGkgICAgICAgIHpl cm8sIFx3aWR0aCwgZTgsIG0xLCB0YSwgbWEKKy5pZiBcd2lkdGggPT0gOAorICAgICAgICB2c3Nl NjQudiAgICAgICAgdjI0LCAoYTApLCBhMgorLmVsc2UKKyAgICAgICAgdnNzZTMyLnYgICAgICAg IHYyNCwgKGEwKSwgYTIKKy5lbmRpZgorICAgICAgICByZXQKK2VuZGZ1bmMKKy5lbmRtCisKK2lk Y3RfZGNfYWRkOCA0CitpZGN0X2RjX2FkZDggOAorCisubWFjcm8gaWRjdF9kY19hZGQgd2lkdGgK K2Z1bmMgZmZfaDI2NF9pZGN0XHdpZHRoXCgpX2RjX2FkZF8xNl9ydnYsIHp2ZTY0eCwgemJhCisg ICAgICAgIHZzZXRpdmxpICAgICAgICB6ZXJvLCBcd2lkdGgsIGUxNiwgbTEsIHRhLCBtYQorICAg ICAgICBsdyAgICAgICAgICAgICAgYTMsIDAoYTEpCisgICAgICAgIGFkZGkgICAgICAgICAgICBh MywgYTMsIDMyCisgICAgICAgIHNyYWkgICAgICAgICAgICBhMywgYTMsIDYKKyAgICAgICAgc3cg ICAgICAgICAgICAgIHplcm8sIDAoYTEpCisgICAgICAgIGFkZCAgICAgICAgICAgICB0NCwgYTAs IGEyCisgICAgICAgIHNoMWFkZCAgICAgICAgICB0NSwgYTIsIGEwCisgICAgICAgIHNoMWFkZCAg ICAgICAgICB0NiwgYTIsIHQ0CisuaWYgXHdpZHRoID09IDgKKyAgICAgICAgc2gyYWRkICAgICAg ICAgIHQwLCBhMiwgYTAKKyAgICAgICAgc2gyYWRkICAgICAgICAgIHQxLCBhMiwgdDQKKyAgICAg ICAgc2gyYWRkICAgICAgICAgIHQyLCBhMiwgdDUKKyAgICAgICAgc2gyYWRkICAgICAgICAgIHQz LCBhMiwgdDYKKy5lbmRpZgorICAgICAgICB2bGUxNi52ICAgICAgICAgdjAsIChhMCkKKyAgICAg ICAgdmxlMTYudiAgICAgICAgIHYxLCAodDQpCisgICAgICAgIHZsZTE2LnYgICAgICAgICB2Miwg KHQ1KQorICAgICAgICB2bGUxNi52ICAgICAgICAgdjMsICh0NikKKy5pZiBcd2lkdGggPT0gOAor ICAgICAgICB2bGUxNi52ICAgICAgICAgdjQsICh0MCkKKyAgICAgICAgdmxlMTYudiAgICAgICAg IHY1LCAodDEpCisgICAgICAgIHZsZTE2LnYgICAgICAgICB2NiwgKHQyKQorICAgICAgICB2bGUx Ni52ICAgICAgICAgdjcsICh0MykKKyAgICAgICAgdnNldHZsaSAgICAgICAgIGE2LCB6ZXJvLCBl MTYsIG04LCB0YSwgbWEKKy5lbHNlCisgICAgICAgIHZzZXR2bGkgICAgICAgICBhNiwgemVybywg ZTE2LCBtNCwgdGEsIG1hCisuZW5kaWYKKyAgICAgICAgdmFkZC52eCAgICAgICAgIHYwLCB2MCwg YTMKKyAgICAgICAgdm1heC52eCAgICAgICAgIHYwLCB2MCwgemVybworICAgICAgICB2bWluLnZ4 ICAgICAgICAgdjAsIHYwLCBhNQorICAgICAgICB2c2V0aXZsaSAgICAgICAgemVybywgXHdpZHRo LCBlMTYsIG0xLCB0YSwgbWEKKyAgICAgICAgdnNlMTYudiAgICAgICAgIHYwLCAoYTApCisgICAg ICAgIHZzZTE2LnYgICAgICAgICB2MSwgKHQ0KQorICAgICAgICB2c2UxNi52ICAgICAgICAgdjIs ICh0NSkKKyAgICAgICAgdnNlMTYudiAgICAgICAgIHYzLCAodDYpCisuaWYgXHdpZHRoID09IDgK KyAgICAgICAgdnNlMTYudiAgICAgICAgIHY0LCAodDApCisgICAgICAgIHZzZTE2LnYgICAgICAg ICB2NSwgKHQxKQorICAgICAgICB2c2UxNi52ICAgICAgICAgdjYsICh0MikKKyAgICAgICAgdnNl MTYudiAgICAgICAgIHY3LCAodDMpCisuZW5kaWYKKyAgICAgICAgcmV0CitlbmRmdW5jCisuZW5k bQorCitpZGN0X2RjX2FkZCA0CitpZGN0X2RjX2FkZCA4CisKKy5pcnAgZGVwdGgsOSwxMCwxMiwx NAorZnVuYyBmZl9oMjY0X2lkY3Q0X2RjX2FkZF9cZGVwdGhcKClfcnZ2LCB6dmU2NHgKKyAgICAg ICAgbGkgICAgICAgICAgICAgIGE1LCAoMSA8PCBcZGVwdGgpIC0gMQorICAgICAgICBqICAgICAg ICAgICAgICAgZmZfaDI2NF9pZGN0NF9kY19hZGRfMTZfcnZ2CitlbmRmdW5jCisKK2Z1bmMgZmZf aDI2NF9pZGN0OF9kY19hZGRfXGRlcHRoXCgpX3J2diwgenZlNjR4CisgICAgICAgIGxpICAgICAg ICAgICAgICBhNSwgKDEgPDwgXGRlcHRoKSAtIDEKKyAgICAgICAgaiAgICAgICAgICAgICAgIGZm X2gyNjRfaWRjdDhfZGNfYWRkXzE2X3J2dgorZW5kZnVuYworLmVuZHIKLS0gCjIuNDQuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVs IG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcv bWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5r IGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3Vi amVjdCAidW5zdWJzY3JpYmUiLgo=