From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1A748C3600D for ; Tue, 25 Mar 2025 21:40:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=9Fi9e+reRQJWvXFSC8rrJncWptXwL6EMBDS/xKwvFrw=; b=4JqXaXuY27+eqkiI6m27XSYNUA Klux7amLaZZzbXBf/VfI96p4QW4ojf/25DufW0Dx92FuuaucAjL1IsoLBdl0CXXuXbyg41fxCiB3q vwW5TXF8RW2as2PgVs9Y8PnG4P0njez4EOOXH/OW85raSPc2Yfkk6z9/c1zMxCbz18biD2Eo1UryC T9XG2ITXHKD+PF6/WwvjQ1eX1hO4R6PoFHzKXr2BzWBMpS6gtN5JzDUo/rS8P50x4tqU5FxyQ84Cp CFNFXXhTihD0qCtIiT1tbdGTqAe13CLDvWwYNCy4hMkJH1JUJ5NSrhtqOZkXLc7tMLY7AdE5BOimp ZniQx+vQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1txC0Q-000000074qb-3ICW; Tue, 25 Mar 2025 21:40:18 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1txBto-000000073rL-1tTR; Tue, 25 Mar 2025 21:33:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1742938406; bh=6PqDOvoMssJU/pL+Bhr+518g3cjXaMHddGfZRhnmvDQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=erBx6a3cfR4fkm29keZ0C5AIGD5ibsisGfMkN+OfMRgVkxEWl3dl4sW67vmt5GD17 QEk5EmELfimJSX/yN6wCPAZF+jlc1sYMthLh1vzk5syOB1b5qd0exnmZNUt8s5Op2v luVH5jch3lWW+Javr/Uo+QHnaoio8F+6K1736ppvl49JhbfXW6LvvNk+i7MsMmaErN uJ5L8Voj+sxFs7lSDVi/sLI+cf9oyfmPUNHmC4vCvAmEcufyBhMGcW8OAww8mdc36/ r65wlV+ti/N+kNf3hD2JON7rqmXYYRpbXpB9U5SyV55TgbSiqmbZwabM6sDYJoy+rM QJPgMMxJeShDA== Received: from trenzalore.hitronhub.home (unknown [23.233.251.139]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: detlev) by bali.collaboradmins.com (Postfix) with ESMTPSA id BA73417E0865; Tue, 25 Mar 2025 22:33:22 +0100 (CET) From: Detlev Casanova To: linux-kernel@vger.kernel.org Cc: Ezequiel Garcia , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Greg Kroah-Hartman , Hans Verkuil , Nicolas Dufresne , Andrzej Pietrasiewicz , Jonas Karlman , Sebastian Reichel , Niklas Cassel , Alexey Charkov , Dragan Simic , Jianfeng Liu , Detlev Casanova , Jacopo Mondi , Sakari Ailus , Kieran Bingham , Laurent Pinchart , Umang Jain , Naushir Patuck , Jean-Michel Hautbois , Dmitry Perchanov , Tomi Valkeinen , linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-staging@lists.linux.dev, kernel@collabora.com Subject: [PATCH v4 3/6] media: rockchip: Move H264 CABAC table to header file Date: Tue, 25 Mar 2025 17:22:19 -0400 Message-ID: <20250325213303.826925-4-detlev.casanova@collabora.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250325213303.826925-1-detlev.casanova@collabora.com> References: <20250325213303.826925-1-detlev.casanova@collabora.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250325_143328_939770_29F82810 X-CRM114-Status: GOOD ( 15.32 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The table will be shared with the rkvdec2 driver in following commits. As HW formatted CABAC tables can be shared between drivers, it makes sense to group them in an include folder. Each driver can include the tables they need so that all tables are not built in the kernel, but rather in each driver, if the driver is enabled. Signed-off-by: Detlev Casanova --- drivers/staging/media/rkvdec/rkvdec-h264.c | 500 +------------------- include/media/v4l2-cabac/rkvdec-cabac.h | 509 +++++++++++++++++++++ 2 files changed, 510 insertions(+), 499 deletions(-) create mode 100644 include/media/v4l2-cabac/rkvdec-cabac.h diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c index 4fc167b42cf0c..ce63b6fbaa33b 100644 --- a/drivers/staging/media/rkvdec/rkvdec-h264.c +++ b/drivers/staging/media/rkvdec/rkvdec-h264.c @@ -11,6 +11,7 @@ #include #include +#include #include "rkvdec.h" #include "rkvdec-regs.h" @@ -117,505 +118,6 @@ struct rkvdec_h264_ctx { struct rkvdec_h264_reflists reflists; }; -#define CABAC_ENTRY(ctxidx, idc0_m, idc0_n, idc1_m, idc1_n, \ - idc2_m, idc2_n, intra_m, intra_n) \ - [0][(ctxidx)] = {idc0_m, idc0_n}, \ - [1][(ctxidx)] = {idc1_m, idc1_n}, \ - [2][(ctxidx)] = {idc2_m, idc2_n}, \ - [3][(ctxidx)] = {intra_m, intra_n} - -/* - * Constant CABAC table. - * Built from the tables described in section '9.3.1.1 Initialisation process - * for context variables' of the H264 spec. - */ -static const s8 rkvdec_h264_cabac_table[4][464][2] = { - /* Table 9-12 – Values of variables m and n for ctxIdx from 0 to 10 */ - CABAC_ENTRY(0, 20, -15, 20, -15, 20, -15, 20, -15), - CABAC_ENTRY(1, 2, 54, 2, 54, 2, 54, 2, 54), - CABAC_ENTRY(2, 3, 74, 3, 74, 3, 74, 3, 74), - CABAC_ENTRY(3, 20, -15, 20, -15, 20, -15, 20, -15), - CABAC_ENTRY(4, 2, 54, 2, 54, 2, 54, 2, 54), - CABAC_ENTRY(5, 3, 74, 3, 74, 3, 74, 3, 74), - CABAC_ENTRY(6, -28, 127, -28, 127, -28, 127, -28, 127), - CABAC_ENTRY(7, -23, 104, -23, 104, -23, 104, -23, 104), - CABAC_ENTRY(8, -6, 53, -6, 53, -6, 53, -6, 53), - CABAC_ENTRY(9, -1, 54, -1, 54, -1, 54, -1, 54), - CABAC_ENTRY(10, 7, 51, 7, 51, 7, 51, 7, 51), - - /* Table 9-13 – Values of variables m and n for ctxIdx from 11 to 23 */ - CABAC_ENTRY(11, 23, 33, 22, 25, 29, 16, 0, 0), - CABAC_ENTRY(12, 23, 2, 34, 0, 25, 0, 0, 0), - CABAC_ENTRY(13, 21, 0, 16, 0, 14, 0, 0, 0), - CABAC_ENTRY(14, 1, 9, -2, 9, -10, 51, 0, 0), - CABAC_ENTRY(15, 0, 49, 4, 41, -3, 62, 0, 0), - CABAC_ENTRY(16, -37, 118, -29, 118, -27, 99, 0, 0), - CABAC_ENTRY(17, 5, 57, 2, 65, 26, 16, 0, 0), - CABAC_ENTRY(18, -13, 78, -6, 71, -4, 85, 0, 0), - CABAC_ENTRY(19, -11, 65, -13, 79, -24, 102, 0, 0), - CABAC_ENTRY(20, 1, 62, 5, 52, 5, 57, 0, 0), - CABAC_ENTRY(21, 12, 49, 9, 50, 6, 57, 0, 0), - CABAC_ENTRY(22, -4, 73, -3, 70, -17, 73, 0, 0), - CABAC_ENTRY(23, 17, 50, 10, 54, 14, 57, 0, 0), - - /* Table 9-14 – Values of variables m and n for ctxIdx from 24 to 39 */ - CABAC_ENTRY(24, 18, 64, 26, 34, 20, 40, 0, 0), - CABAC_ENTRY(25, 9, 43, 19, 22, 20, 10, 0, 0), - CABAC_ENTRY(26, 29, 0, 40, 0, 29, 0, 0, 0), - CABAC_ENTRY(27, 26, 67, 57, 2, 54, 0, 0, 0), - CABAC_ENTRY(28, 16, 90, 41, 36, 37, 42, 0, 0), - CABAC_ENTRY(29, 9, 104, 26, 69, 12, 97, 0, 0), - CABAC_ENTRY(30, -46, 127, -45, 127, -32, 127, 0, 0), - CABAC_ENTRY(31, -20, 104, -15, 101, -22, 117, 0, 0), - CABAC_ENTRY(32, 1, 67, -4, 76, -2, 74, 0, 0), - CABAC_ENTRY(33, -13, 78, -6, 71, -4, 85, 0, 0), - CABAC_ENTRY(34, -11, 65, -13, 79, -24, 102, 0, 0), - CABAC_ENTRY(35, 1, 62, 5, 52, 5, 57, 0, 0), - CABAC_ENTRY(36, -6, 86, 6, 69, -6, 93, 0, 0), - CABAC_ENTRY(37, -17, 95, -13, 90, -14, 88, 0, 0), - CABAC_ENTRY(38, -6, 61, 0, 52, -6, 44, 0, 0), - CABAC_ENTRY(39, 9, 45, 8, 43, 4, 55, 0, 0), - - /* Table 9-15 – Values of variables m and n for ctxIdx from 40 to 53 */ - CABAC_ENTRY(40, -3, 69, -2, 69, -11, 89, 0, 0), - CABAC_ENTRY(41, -6, 81, -5, 82, -15, 103, 0, 0), - CABAC_ENTRY(42, -11, 96, -10, 96, -21, 116, 0, 0), - CABAC_ENTRY(43, 6, 55, 2, 59, 19, 57, 0, 0), - CABAC_ENTRY(44, 7, 67, 2, 75, 20, 58, 0, 0), - CABAC_ENTRY(45, -5, 86, -3, 87, 4, 84, 0, 0), - CABAC_ENTRY(46, 2, 88, -3, 100, 6, 96, 0, 0), - CABAC_ENTRY(47, 0, 58, 1, 56, 1, 63, 0, 0), - CABAC_ENTRY(48, -3, 76, -3, 74, -5, 85, 0, 0), - CABAC_ENTRY(49, -10, 94, -6, 85, -13, 106, 0, 0), - CABAC_ENTRY(50, 5, 54, 0, 59, 5, 63, 0, 0), - CABAC_ENTRY(51, 4, 69, -3, 81, 6, 75, 0, 0), - CABAC_ENTRY(52, -3, 81, -7, 86, -3, 90, 0, 0), - CABAC_ENTRY(53, 0, 88, -5, 95, -1, 101, 0, 0), - - /* Table 9-16 – Values of variables m and n for ctxIdx from 54 to 59 */ - CABAC_ENTRY(54, -7, 67, -1, 66, 3, 55, 0, 0), - CABAC_ENTRY(55, -5, 74, -1, 77, -4, 79, 0, 0), - CABAC_ENTRY(56, -4, 74, 1, 70, -2, 75, 0, 0), - CABAC_ENTRY(57, -5, 80, -2, 86, -12, 97, 0, 0), - CABAC_ENTRY(58, -7, 72, -5, 72, -7, 50, 0, 0), - CABAC_ENTRY(59, 1, 58, 0, 61, 1, 60, 0, 0), - - /* Table 9-17 – Values of variables m and n for ctxIdx from 60 to 69 */ - CABAC_ENTRY(60, 0, 41, 0, 41, 0, 41, 0, 41), - CABAC_ENTRY(61, 0, 63, 0, 63, 0, 63, 0, 63), - CABAC_ENTRY(62, 0, 63, 0, 63, 0, 63, 0, 63), - CABAC_ENTRY(63, 0, 63, 0, 63, 0, 63, 0, 63), - CABAC_ENTRY(64, -9, 83, -9, 83, -9, 83, -9, 83), - CABAC_ENTRY(65, 4, 86, 4, 86, 4, 86, 4, 86), - CABAC_ENTRY(66, 0, 97, 0, 97, 0, 97, 0, 97), - CABAC_ENTRY(67, -7, 72, -7, 72, -7, 72, -7, 72), - CABAC_ENTRY(68, 13, 41, 13, 41, 13, 41, 13, 41), - CABAC_ENTRY(69, 3, 62, 3, 62, 3, 62, 3, 62), - - /* Table 9-18 – Values of variables m and n for ctxIdx from 70 to 104 */ - CABAC_ENTRY(70, 0, 45, 13, 15, 7, 34, 0, 11), - CABAC_ENTRY(71, -4, 78, 7, 51, -9, 88, 1, 55), - CABAC_ENTRY(72, -3, 96, 2, 80, -20, 127, 0, 69), - CABAC_ENTRY(73, -27, 126, -39, 127, -36, 127, -17, 127), - CABAC_ENTRY(74, -28, 98, -18, 91, -17, 91, -13, 102), - CABAC_ENTRY(75, -25, 101, -17, 96, -14, 95, 0, 82), - CABAC_ENTRY(76, -23, 67, -26, 81, -25, 84, -7, 74), - CABAC_ENTRY(77, -28, 82, -35, 98, -25, 86, -21, 107), - CABAC_ENTRY(78, -20, 94, -24, 102, -12, 89, -27, 127), - CABAC_ENTRY(79, -16, 83, -23, 97, -17, 91, -31, 127), - CABAC_ENTRY(80, -22, 110, -27, 119, -31, 127, -24, 127), - CABAC_ENTRY(81, -21, 91, -24, 99, -14, 76, -18, 95), - CABAC_ENTRY(82, -18, 102, -21, 110, -18, 103, -27, 127), - CABAC_ENTRY(83, -13, 93, -18, 102, -13, 90, -21, 114), - CABAC_ENTRY(84, -29, 127, -36, 127, -37, 127, -30, 127), - CABAC_ENTRY(85, -7, 92, 0, 80, 11, 80, -17, 123), - CABAC_ENTRY(86, -5, 89, -5, 89, 5, 76, -12, 115), - CABAC_ENTRY(87, -7, 96, -7, 94, 2, 84, -16, 122), - CABAC_ENTRY(88, -13, 108, -4, 92, 5, 78, -11, 115), - CABAC_ENTRY(89, -3, 46, 0, 39, -6, 55, -12, 63), - CABAC_ENTRY(90, -1, 65, 0, 65, 4, 61, -2, 68), - CABAC_ENTRY(91, -1, 57, -15, 84, -14, 83, -15, 84), - CABAC_ENTRY(92, -9, 93, -35, 127, -37, 127, -13, 104), - CABAC_ENTRY(93, -3, 74, -2, 73, -5, 79, -3, 70), - CABAC_ENTRY(94, -9, 92, -12, 104, -11, 104, -8, 93), - CABAC_ENTRY(95, -8, 87, -9, 91, -11, 91, -10, 90), - CABAC_ENTRY(96, -23, 126, -31, 127, -30, 127, -30, 127), - CABAC_ENTRY(97, 5, 54, 3, 55, 0, 65, -1, 74), - CABAC_ENTRY(98, 6, 60, 7, 56, -2, 79, -6, 97), - CABAC_ENTRY(99, 6, 59, 7, 55, 0, 72, -7, 91), - CABAC_ENTRY(100, 6, 69, 8, 61, -4, 92, -20, 127), - CABAC_ENTRY(101, -1, 48, -3, 53, -6, 56, -4, 56), - CABAC_ENTRY(102, 0, 68, 0, 68, 3, 68, -5, 82), - CABAC_ENTRY(103, -4, 69, -7, 74, -8, 71, -7, 76), - CABAC_ENTRY(104, -8, 88, -9, 88, -13, 98, -22, 125), - - /* Table 9-19 – Values of variables m and n for ctxIdx from 105 to 165 */ - CABAC_ENTRY(105, -2, 85, -13, 103, -4, 86, -7, 93), - CABAC_ENTRY(106, -6, 78, -13, 91, -12, 88, -11, 87), - CABAC_ENTRY(107, -1, 75, -9, 89, -5, 82, -3, 77), - CABAC_ENTRY(108, -7, 77, -14, 92, -3, 72, -5, 71), - CABAC_ENTRY(109, 2, 54, -8, 76, -4, 67, -4, 63), - CABAC_ENTRY(110, 5, 50, -12, 87, -8, 72, -4, 68), - CABAC_ENTRY(111, -3, 68, -23, 110, -16, 89, -12, 84), - CABAC_ENTRY(112, 1, 50, -24, 105, -9, 69, -7, 62), - CABAC_ENTRY(113, 6, 42, -10, 78, -1, 59, -7, 65), - CABAC_ENTRY(114, -4, 81, -20, 112, 5, 66, 8, 61), - CABAC_ENTRY(115, 1, 63, -17, 99, 4, 57, 5, 56), - CABAC_ENTRY(116, -4, 70, -78, 127, -4, 71, -2, 66), - CABAC_ENTRY(117, 0, 67, -70, 127, -2, 71, 1, 64), - CABAC_ENTRY(118, 2, 57, -50, 127, 2, 58, 0, 61), - CABAC_ENTRY(119, -2, 76, -46, 127, -1, 74, -2, 78), - CABAC_ENTRY(120, 11, 35, -4, 66, -4, 44, 1, 50), - CABAC_ENTRY(121, 4, 64, -5, 78, -1, 69, 7, 52), - CABAC_ENTRY(122, 1, 61, -4, 71, 0, 62, 10, 35), - CABAC_ENTRY(123, 11, 35, -8, 72, -7, 51, 0, 44), - CABAC_ENTRY(124, 18, 25, 2, 59, -4, 47, 11, 38), - CABAC_ENTRY(125, 12, 24, -1, 55, -6, 42, 1, 45), - CABAC_ENTRY(126, 13, 29, -7, 70, -3, 41, 0, 46), - CABAC_ENTRY(127, 13, 36, -6, 75, -6, 53, 5, 44), - CABAC_ENTRY(128, -10, 93, -8, 89, 8, 76, 31, 17), - CABAC_ENTRY(129, -7, 73, -34, 119, -9, 78, 1, 51), - CABAC_ENTRY(130, -2, 73, -3, 75, -11, 83, 7, 50), - CABAC_ENTRY(131, 13, 46, 32, 20, 9, 52, 28, 19), - CABAC_ENTRY(132, 9, 49, 30, 22, 0, 67, 16, 33), - CABAC_ENTRY(133, -7, 100, -44, 127, -5, 90, 14, 62), - CABAC_ENTRY(134, 9, 53, 0, 54, 1, 67, -13, 108), - CABAC_ENTRY(135, 2, 53, -5, 61, -15, 72, -15, 100), - CABAC_ENTRY(136, 5, 53, 0, 58, -5, 75, -13, 101), - CABAC_ENTRY(137, -2, 61, -1, 60, -8, 80, -13, 91), - CABAC_ENTRY(138, 0, 56, -3, 61, -21, 83, -12, 94), - CABAC_ENTRY(139, 0, 56, -8, 67, -21, 64, -10, 88), - CABAC_ENTRY(140, -13, 63, -25, 84, -13, 31, -16, 84), - CABAC_ENTRY(141, -5, 60, -14, 74, -25, 64, -10, 86), - CABAC_ENTRY(142, -1, 62, -5, 65, -29, 94, -7, 83), - CABAC_ENTRY(143, 4, 57, 5, 52, 9, 75, -13, 87), - CABAC_ENTRY(144, -6, 69, 2, 57, 17, 63, -19, 94), - CABAC_ENTRY(145, 4, 57, 0, 61, -8, 74, 1, 70), - CABAC_ENTRY(146, 14, 39, -9, 69, -5, 35, 0, 72), - CABAC_ENTRY(147, 4, 51, -11, 70, -2, 27, -5, 74), - CABAC_ENTRY(148, 13, 68, 18, 55, 13, 91, 18, 59), - CABAC_ENTRY(149, 3, 64, -4, 71, 3, 65, -8, 102), - CABAC_ENTRY(150, 1, 61, 0, 58, -7, 69, -15, 100), - CABAC_ENTRY(151, 9, 63, 7, 61, 8, 77, 0, 95), - CABAC_ENTRY(152, 7, 50, 9, 41, -10, 66, -4, 75), - CABAC_ENTRY(153, 16, 39, 18, 25, 3, 62, 2, 72), - CABAC_ENTRY(154, 5, 44, 9, 32, -3, 68, -11, 75), - CABAC_ENTRY(155, 4, 52, 5, 43, -20, 81, -3, 71), - CABAC_ENTRY(156, 11, 48, 9, 47, 0, 30, 15, 46), - CABAC_ENTRY(157, -5, 60, 0, 44, 1, 7, -13, 69), - CABAC_ENTRY(158, -1, 59, 0, 51, -3, 23, 0, 62), - CABAC_ENTRY(159, 0, 59, 2, 46, -21, 74, 0, 65), - CABAC_ENTRY(160, 22, 33, 19, 38, 16, 66, 21, 37), - CABAC_ENTRY(161, 5, 44, -4, 66, -23, 124, -15, 72), - CABAC_ENTRY(162, 14, 43, 15, 38, 17, 37, 9, 57), - CABAC_ENTRY(163, -1, 78, 12, 42, 44, -18, 16, 54), - CABAC_ENTRY(164, 0, 60, 9, 34, 50, -34, 0, 62), - CABAC_ENTRY(165, 9, 69, 0, 89, -22, 127, 12, 72), - - /* Table 9-20 – Values of variables m and n for ctxIdx from 166 to 226 */ - CABAC_ENTRY(166, 11, 28, 4, 45, 4, 39, 24, 0), - CABAC_ENTRY(167, 2, 40, 10, 28, 0, 42, 15, 9), - CABAC_ENTRY(168, 3, 44, 10, 31, 7, 34, 8, 25), - CABAC_ENTRY(169, 0, 49, 33, -11, 11, 29, 13, 18), - CABAC_ENTRY(170, 0, 46, 52, -43, 8, 31, 15, 9), - CABAC_ENTRY(171, 2, 44, 18, 15, 6, 37, 13, 19), - CABAC_ENTRY(172, 2, 51, 28, 0, 7, 42, 10, 37), - CABAC_ENTRY(173, 0, 47, 35, -22, 3, 40, 12, 18), - CABAC_ENTRY(174, 4, 39, 38, -25, 8, 33, 6, 29), - CABAC_ENTRY(175, 2, 62, 34, 0, 13, 43, 20, 33), - CABAC_ENTRY(176, 6, 46, 39, -18, 13, 36, 15, 30), - CABAC_ENTRY(177, 0, 54, 32, -12, 4, 47, 4, 45), - CABAC_ENTRY(178, 3, 54, 102, -94, 3, 55, 1, 58), - CABAC_ENTRY(179, 2, 58, 0, 0, 2, 58, 0, 62), - CABAC_ENTRY(180, 4, 63, 56, -15, 6, 60, 7, 61), - CABAC_ENTRY(181, 6, 51, 33, -4, 8, 44, 12, 38), - CABAC_ENTRY(182, 6, 57, 29, 10, 11, 44, 11, 45), - CABAC_ENTRY(183, 7, 53, 37, -5, 14, 42, 15, 39), - CABAC_ENTRY(184, 6, 52, 51, -29, 7, 48, 11, 42), - CABAC_ENTRY(185, 6, 55, 39, -9, 4, 56, 13, 44), - CABAC_ENTRY(186, 11, 45, 52, -34, 4, 52, 16, 45), - CABAC_ENTRY(187, 14, 36, 69, -58, 13, 37, 12, 41), - CABAC_ENTRY(188, 8, 53, 67, -63, 9, 49, 10, 49), - CABAC_ENTRY(189, -1, 82, 44, -5, 19, 58, 30, 34), - CABAC_ENTRY(190, 7, 55, 32, 7, 10, 48, 18, 42), - CABAC_ENTRY(191, -3, 78, 55, -29, 12, 45, 10, 55), - CABAC_ENTRY(192, 15, 46, 32, 1, 0, 69, 17, 51), - CABAC_ENTRY(193, 22, 31, 0, 0, 20, 33, 17, 46), - CABAC_ENTRY(194, -1, 84, 27, 36, 8, 63, 0, 89), - CABAC_ENTRY(195, 25, 7, 33, -25, 35, -18, 26, -19), - CABAC_ENTRY(196, 30, -7, 34, -30, 33, -25, 22, -17), - CABAC_ENTRY(197, 28, 3, 36, -28, 28, -3, 26, -17), - CABAC_ENTRY(198, 28, 4, 38, -28, 24, 10, 30, -25), - CABAC_ENTRY(199, 32, 0, 38, -27, 27, 0, 28, -20), - CABAC_ENTRY(200, 34, -1, 34, -18, 34, -14, 33, -23), - CABAC_ENTRY(201, 30, 6, 35, -16, 52, -44, 37, -27), - CABAC_ENTRY(202, 30, 6, 34, -14, 39, -24, 33, -23), - CABAC_ENTRY(203, 32, 9, 32, -8, 19, 17, 40, -28), - CABAC_ENTRY(204, 31, 19, 37, -6, 31, 25, 38, -17), - CABAC_ENTRY(205, 26, 27, 35, 0, 36, 29, 33, -11), - CABAC_ENTRY(206, 26, 30, 30, 10, 24, 33, 40, -15), - CABAC_ENTRY(207, 37, 20, 28, 18, 34, 15, 41, -6), - CABAC_ENTRY(208, 28, 34, 26, 25, 30, 20, 38, 1), - CABAC_ENTRY(209, 17, 70, 29, 41, 22, 73, 41, 17), - CABAC_ENTRY(210, 1, 67, 0, 75, 20, 34, 30, -6), - CABAC_ENTRY(211, 5, 59, 2, 72, 19, 31, 27, 3), - CABAC_ENTRY(212, 9, 67, 8, 77, 27, 44, 26, 22), - CABAC_ENTRY(213, 16, 30, 14, 35, 19, 16, 37, -16), - CABAC_ENTRY(214, 18, 32, 18, 31, 15, 36, 35, -4), - CABAC_ENTRY(215, 18, 35, 17, 35, 15, 36, 38, -8), - CABAC_ENTRY(216, 22, 29, 21, 30, 21, 28, 38, -3), - CABAC_ENTRY(217, 24, 31, 17, 45, 25, 21, 37, 3), - CABAC_ENTRY(218, 23, 38, 20, 42, 30, 20, 38, 5), - CABAC_ENTRY(219, 18, 43, 18, 45, 31, 12, 42, 0), - CABAC_ENTRY(220, 20, 41, 27, 26, 27, 16, 35, 16), - CABAC_ENTRY(221, 11, 63, 16, 54, 24, 42, 39, 22), - CABAC_ENTRY(222, 9, 59, 7, 66, 0, 93, 14, 48), - CABAC_ENTRY(223, 9, 64, 16, 56, 14, 56, 27, 37), - CABAC_ENTRY(224, -1, 94, 11, 73, 15, 57, 21, 60), - CABAC_ENTRY(225, -2, 89, 10, 67, 26, 38, 12, 68), - CABAC_ENTRY(226, -9, 108, -10, 116, -24, 127, 2, 97), - - /* Table 9-21 – Values of variables m and n for ctxIdx from 227 to 275 */ - CABAC_ENTRY(227, -6, 76, -23, 112, -24, 115, -3, 71), - CABAC_ENTRY(228, -2, 44, -15, 71, -22, 82, -6, 42), - CABAC_ENTRY(229, 0, 45, -7, 61, -9, 62, -5, 50), - CABAC_ENTRY(230, 0, 52, 0, 53, 0, 53, -3, 54), - CABAC_ENTRY(231, -3, 64, -5, 66, 0, 59, -2, 62), - CABAC_ENTRY(232, -2, 59, -11, 77, -14, 85, 0, 58), - CABAC_ENTRY(233, -4, 70, -9, 80, -13, 89, 1, 63), - CABAC_ENTRY(234, -4, 75, -9, 84, -13, 94, -2, 72), - CABAC_ENTRY(235, -8, 82, -10, 87, -11, 92, -1, 74), - CABAC_ENTRY(236, -17, 102, -34, 127, -29, 127, -9, 91), - CABAC_ENTRY(237, -9, 77, -21, 101, -21, 100, -5, 67), - CABAC_ENTRY(238, 3, 24, -3, 39, -14, 57, -5, 27), - CABAC_ENTRY(239, 0, 42, -5, 53, -12, 67, -3, 39), - CABAC_ENTRY(240, 0, 48, -7, 61, -11, 71, -2, 44), - CABAC_ENTRY(241, 0, 55, -11, 75, -10, 77, 0, 46), - CABAC_ENTRY(242, -6, 59, -15, 77, -21, 85, -16, 64), - CABAC_ENTRY(243, -7, 71, -17, 91, -16, 88, -8, 68), - CABAC_ENTRY(244, -12, 83, -25, 107, -23, 104, -10, 78), - CABAC_ENTRY(245, -11, 87, -25, 111, -15, 98, -6, 77), - CABAC_ENTRY(246, -30, 119, -28, 122, -37, 127, -10, 86), - CABAC_ENTRY(247, 1, 58, -11, 76, -10, 82, -12, 92), - CABAC_ENTRY(248, -3, 29, -10, 44, -8, 48, -15, 55), - CABAC_ENTRY(249, -1, 36, -10, 52, -8, 61, -10, 60), - CABAC_ENTRY(250, 1, 38, -10, 57, -8, 66, -6, 62), - CABAC_ENTRY(251, 2, 43, -9, 58, -7, 70, -4, 65), - CABAC_ENTRY(252, -6, 55, -16, 72, -14, 75, -12, 73), - CABAC_ENTRY(253, 0, 58, -7, 69, -10, 79, -8, 76), - CABAC_ENTRY(254, 0, 64, -4, 69, -9, 83, -7, 80), - CABAC_ENTRY(255, -3, 74, -5, 74, -12, 92, -9, 88), - CABAC_ENTRY(256, -10, 90, -9, 86, -18, 108, -17, 110), - CABAC_ENTRY(257, 0, 70, 2, 66, -4, 79, -11, 97), - CABAC_ENTRY(258, -4, 29, -9, 34, -22, 69, -20, 84), - CABAC_ENTRY(259, 5, 31, 1, 32, -16, 75, -11, 79), - CABAC_ENTRY(260, 7, 42, 11, 31, -2, 58, -6, 73), - CABAC_ENTRY(261, 1, 59, 5, 52, 1, 58, -4, 74), - CABAC_ENTRY(262, -2, 58, -2, 55, -13, 78, -13, 86), - CABAC_ENTRY(263, -3, 72, -2, 67, -9, 83, -13, 96), - CABAC_ENTRY(264, -3, 81, 0, 73, -4, 81, -11, 97), - CABAC_ENTRY(265, -11, 97, -8, 89, -13, 99, -19, 117), - CABAC_ENTRY(266, 0, 58, 3, 52, -13, 81, -8, 78), - CABAC_ENTRY(267, 8, 5, 7, 4, -6, 38, -5, 33), - CABAC_ENTRY(268, 10, 14, 10, 8, -13, 62, -4, 48), - CABAC_ENTRY(269, 14, 18, 17, 8, -6, 58, -2, 53), - CABAC_ENTRY(270, 13, 27, 16, 19, -2, 59, -3, 62), - CABAC_ENTRY(271, 2, 40, 3, 37, -16, 73, -13, 71), - CABAC_ENTRY(272, 0, 58, -1, 61, -10, 76, -10, 79), - CABAC_ENTRY(273, -3, 70, -5, 73, -13, 86, -12, 86), - CABAC_ENTRY(274, -6, 79, -1, 70, -9, 83, -13, 90), - CABAC_ENTRY(275, -8, 85, -4, 78, -10, 87, -14, 97), - - /* Table 9-22 – Values of variables m and n for ctxIdx from 277 to 337 */ - CABAC_ENTRY(277, -13, 106, -21, 126, -22, 127, -6, 93), - CABAC_ENTRY(278, -16, 106, -23, 124, -25, 127, -6, 84), - CABAC_ENTRY(279, -10, 87, -20, 110, -25, 120, -8, 79), - CABAC_ENTRY(280, -21, 114, -26, 126, -27, 127, 0, 66), - CABAC_ENTRY(281, -18, 110, -25, 124, -19, 114, -1, 71), - CABAC_ENTRY(282, -14, 98, -17, 105, -23, 117, 0, 62), - CABAC_ENTRY(283, -22, 110, -27, 121, -25, 118, -2, 60), - CABAC_ENTRY(284, -21, 106, -27, 117, -26, 117, -2, 59), - CABAC_ENTRY(285, -18, 103, -17, 102, -24, 113, -5, 75), - CABAC_ENTRY(286, -21, 107, -26, 117, -28, 118, -3, 62), - CABAC_ENTRY(287, -23, 108, -27, 116, -31, 120, -4, 58), - CABAC_ENTRY(288, -26, 112, -33, 122, -37, 124, -9, 66), - CABAC_ENTRY(289, -10, 96, -10, 95, -10, 94, -1, 79), - CABAC_ENTRY(290, -12, 95, -14, 100, -15, 102, 0, 71), - CABAC_ENTRY(291, -5, 91, -8, 95, -10, 99, 3, 68), - CABAC_ENTRY(292, -9, 93, -17, 111, -13, 106, 10, 44), - CABAC_ENTRY(293, -22, 94, -28, 114, -50, 127, -7, 62), - CABAC_ENTRY(294, -5, 86, -6, 89, -5, 92, 15, 36), - CABAC_ENTRY(295, 9, 67, -2, 80, 17, 57, 14, 40), - CABAC_ENTRY(296, -4, 80, -4, 82, -5, 86, 16, 27), - CABAC_ENTRY(297, -10, 85, -9, 85, -13, 94, 12, 29), - CABAC_ENTRY(298, -1, 70, -8, 81, -12, 91, 1, 44), - CABAC_ENTRY(299, 7, 60, -1, 72, -2, 77, 20, 36), - CABAC_ENTRY(300, 9, 58, 5, 64, 0, 71, 18, 32), - CABAC_ENTRY(301, 5, 61, 1, 67, -1, 73, 5, 42), - CABAC_ENTRY(302, 12, 50, 9, 56, 4, 64, 1, 48), - CABAC_ENTRY(303, 15, 50, 0, 69, -7, 81, 10, 62), - CABAC_ENTRY(304, 18, 49, 1, 69, 5, 64, 17, 46), - CABAC_ENTRY(305, 17, 54, 7, 69, 15, 57, 9, 64), - CABAC_ENTRY(306, 10, 41, -7, 69, 1, 67, -12, 104), - CABAC_ENTRY(307, 7, 46, -6, 67, 0, 68, -11, 97), - CABAC_ENTRY(308, -1, 51, -16, 77, -10, 67, -16, 96), - CABAC_ENTRY(309, 7, 49, -2, 64, 1, 68, -7, 88), - CABAC_ENTRY(310, 8, 52, 2, 61, 0, 77, -8, 85), - CABAC_ENTRY(311, 9, 41, -6, 67, 2, 64, -7, 85), - CABAC_ENTRY(312, 6, 47, -3, 64, 0, 68, -9, 85), - CABAC_ENTRY(313, 2, 55, 2, 57, -5, 78, -13, 88), - CABAC_ENTRY(314, 13, 41, -3, 65, 7, 55, 4, 66), - CABAC_ENTRY(315, 10, 44, -3, 66, 5, 59, -3, 77), - CABAC_ENTRY(316, 6, 50, 0, 62, 2, 65, -3, 76), - CABAC_ENTRY(317, 5, 53, 9, 51, 14, 54, -6, 76), - CABAC_ENTRY(318, 13, 49, -1, 66, 15, 44, 10, 58), - CABAC_ENTRY(319, 4, 63, -2, 71, 5, 60, -1, 76), - CABAC_ENTRY(320, 6, 64, -2, 75, 2, 70, -1, 83), - CABAC_ENTRY(321, -2, 69, -1, 70, -2, 76, -7, 99), - CABAC_ENTRY(322, -2, 59, -9, 72, -18, 86, -14, 95), - CABAC_ENTRY(323, 6, 70, 14, 60, 12, 70, 2, 95), - CABAC_ENTRY(324, 10, 44, 16, 37, 5, 64, 0, 76), - CABAC_ENTRY(325, 9, 31, 0, 47, -12, 70, -5, 74), - CABAC_ENTRY(326, 12, 43, 18, 35, 11, 55, 0, 70), - CABAC_ENTRY(327, 3, 53, 11, 37, 5, 56, -11, 75), - CABAC_ENTRY(328, 14, 34, 12, 41, 0, 69, 1, 68), - CABAC_ENTRY(329, 10, 38, 10, 41, 2, 65, 0, 65), - CABAC_ENTRY(330, -3, 52, 2, 48, -6, 74, -14, 73), - CABAC_ENTRY(331, 13, 40, 12, 41, 5, 54, 3, 62), - CABAC_ENTRY(332, 17, 32, 13, 41, 7, 54, 4, 62), - CABAC_ENTRY(333, 7, 44, 0, 59, -6, 76, -1, 68), - CABAC_ENTRY(334, 7, 38, 3, 50, -11, 82, -13, 75), - CABAC_ENTRY(335, 13, 50, 19, 40, -2, 77, 11, 55), - CABAC_ENTRY(336, 10, 57, 3, 66, -2, 77, 5, 64), - CABAC_ENTRY(337, 26, 43, 18, 50, 25, 42, 12, 70), - - /* Table 9-23 – Values of variables m and n for ctxIdx from 338 to 398 */ - CABAC_ENTRY(338, 14, 11, 19, -6, 17, -13, 15, 6), - CABAC_ENTRY(339, 11, 14, 18, -6, 16, -9, 6, 19), - CABAC_ENTRY(340, 9, 11, 14, 0, 17, -12, 7, 16), - CABAC_ENTRY(341, 18, 11, 26, -12, 27, -21, 12, 14), - CABAC_ENTRY(342, 21, 9, 31, -16, 37, -30, 18, 13), - CABAC_ENTRY(343, 23, -2, 33, -25, 41, -40, 13, 11), - CABAC_ENTRY(344, 32, -15, 33, -22, 42, -41, 13, 15), - CABAC_ENTRY(345, 32, -15, 37, -28, 48, -47, 15, 16), - CABAC_ENTRY(346, 34, -21, 39, -30, 39, -32, 12, 23), - CABAC_ENTRY(347, 39, -23, 42, -30, 46, -40, 13, 23), - CABAC_ENTRY(348, 42, -33, 47, -42, 52, -51, 15, 20), - CABAC_ENTRY(349, 41, -31, 45, -36, 46, -41, 14, 26), - CABAC_ENTRY(350, 46, -28, 49, -34, 52, -39, 14, 44), - CABAC_ENTRY(351, 38, -12, 41, -17, 43, -19, 17, 40), - CABAC_ENTRY(352, 21, 29, 32, 9, 32, 11, 17, 47), - CABAC_ENTRY(353, 45, -24, 69, -71, 61, -55, 24, 17), - CABAC_ENTRY(354, 53, -45, 63, -63, 56, -46, 21, 21), - CABAC_ENTRY(355, 48, -26, 66, -64, 62, -50, 25, 22), - CABAC_ENTRY(356, 65, -43, 77, -74, 81, -67, 31, 27), - CABAC_ENTRY(357, 43, -19, 54, -39, 45, -20, 22, 29), - CABAC_ENTRY(358, 39, -10, 52, -35, 35, -2, 19, 35), - CABAC_ENTRY(359, 30, 9, 41, -10, 28, 15, 14, 50), - CABAC_ENTRY(360, 18, 26, 36, 0, 34, 1, 10, 57), - CABAC_ENTRY(361, 20, 27, 40, -1, 39, 1, 7, 63), - CABAC_ENTRY(362, 0, 57, 30, 14, 30, 17, -2, 77), - CABAC_ENTRY(363, -14, 82, 28, 26, 20, 38, -4, 82), - CABAC_ENTRY(364, -5, 75, 23, 37, 18, 45, -3, 94), - CABAC_ENTRY(365, -19, 97, 12, 55, 15, 54, 9, 69), - CABAC_ENTRY(366, -35, 125, 11, 65, 0, 79, -12, 109), - CABAC_ENTRY(367, 27, 0, 37, -33, 36, -16, 36, -35), - CABAC_ENTRY(368, 28, 0, 39, -36, 37, -14, 36, -34), - CABAC_ENTRY(369, 31, -4, 40, -37, 37, -17, 32, -26), - CABAC_ENTRY(370, 27, 6, 38, -30, 32, 1, 37, -30), - CABAC_ENTRY(371, 34, 8, 46, -33, 34, 15, 44, -32), - CABAC_ENTRY(372, 30, 10, 42, -30, 29, 15, 34, -18), - CABAC_ENTRY(373, 24, 22, 40, -24, 24, 25, 34, -15), - CABAC_ENTRY(374, 33, 19, 49, -29, 34, 22, 40, -15), - CABAC_ENTRY(375, 22, 32, 38, -12, 31, 16, 33, -7), - CABAC_ENTRY(376, 26, 31, 40, -10, 35, 18, 35, -5), - CABAC_ENTRY(377, 21, 41, 38, -3, 31, 28, 33, 0), - CABAC_ENTRY(378, 26, 44, 46, -5, 33, 41, 38, 2), - CABAC_ENTRY(379, 23, 47, 31, 20, 36, 28, 33, 13), - CABAC_ENTRY(380, 16, 65, 29, 30, 27, 47, 23, 35), - CABAC_ENTRY(381, 14, 71, 25, 44, 21, 62, 13, 58), - CABAC_ENTRY(382, 8, 60, 12, 48, 18, 31, 29, -3), - CABAC_ENTRY(383, 6, 63, 11, 49, 19, 26, 26, 0), - CABAC_ENTRY(384, 17, 65, 26, 45, 36, 24, 22, 30), - CABAC_ENTRY(385, 21, 24, 22, 22, 24, 23, 31, -7), - CABAC_ENTRY(386, 23, 20, 23, 22, 27, 16, 35, -15), - CABAC_ENTRY(387, 26, 23, 27, 21, 24, 30, 34, -3), - CABAC_ENTRY(388, 27, 32, 33, 20, 31, 29, 34, 3), - CABAC_ENTRY(389, 28, 23, 26, 28, 22, 41, 36, -1), - CABAC_ENTRY(390, 28, 24, 30, 24, 22, 42, 34, 5), - CABAC_ENTRY(391, 23, 40, 27, 34, 16, 60, 32, 11), - CABAC_ENTRY(392, 24, 32, 18, 42, 15, 52, 35, 5), - CABAC_ENTRY(393, 28, 29, 25, 39, 14, 60, 34, 12), - CABAC_ENTRY(394, 23, 42, 18, 50, 3, 78, 39, 11), - CABAC_ENTRY(395, 19, 57, 12, 70, -16, 123, 30, 29), - CABAC_ENTRY(396, 22, 53, 21, 54, 21, 53, 34, 26), - CABAC_ENTRY(397, 22, 61, 14, 71, 22, 56, 29, 39), - CABAC_ENTRY(398, 11, 86, 11, 83, 25, 61, 19, 66), - - /* Values of variables m and n for ctxIdx from 399 to 463 (not documented) */ - CABAC_ENTRY(399, 12, 40, 25, 32, 21, 33, 31, 21), - CABAC_ENTRY(400, 11, 51, 21, 49, 19, 50, 31, 31), - CABAC_ENTRY(401, 14, 59, 21, 54, 17, 61, 25, 50), - CABAC_ENTRY(402, -4, 79, -5, 85, -3, 78, -17, 120), - CABAC_ENTRY(403, -7, 71, -6, 81, -8, 74, -20, 112), - CABAC_ENTRY(404, -5, 69, -10, 77, -9, 72, -18, 114), - CABAC_ENTRY(405, -9, 70, -7, 81, -10, 72, -11, 85), - CABAC_ENTRY(406, -8, 66, -17, 80, -18, 75, -15, 92), - CABAC_ENTRY(407, -10, 68, -18, 73, -12, 71, -14, 89), - CABAC_ENTRY(408, -19, 73, -4, 74, -11, 63, -26, 71), - CABAC_ENTRY(409, -12, 69, -10, 83, -5, 70, -15, 81), - CABAC_ENTRY(410, -16, 70, -9, 71, -17, 75, -14, 80), - CABAC_ENTRY(411, -15, 67, -9, 67, -14, 72, 0, 68), - CABAC_ENTRY(412, -20, 62, -1, 61, -16, 67, -14, 70), - CABAC_ENTRY(413, -19, 70, -8, 66, -8, 53, -24, 56), - CABAC_ENTRY(414, -16, 66, -14, 66, -14, 59, -23, 68), - CABAC_ENTRY(415, -22, 65, 0, 59, -9, 52, -24, 50), - CABAC_ENTRY(416, -20, 63, 2, 59, -11, 68, -11, 74), - CABAC_ENTRY(417, 9, -2, 17, -10, 9, -2, 23, -13), - CABAC_ENTRY(418, 26, -9, 32, -13, 30, -10, 26, -13), - CABAC_ENTRY(419, 33, -9, 42, -9, 31, -4, 40, -15), - CABAC_ENTRY(420, 39, -7, 49, -5, 33, -1, 49, -14), - CABAC_ENTRY(421, 41, -2, 53, 0, 33, 7, 44, 3), - CABAC_ENTRY(422, 45, 3, 64, 3, 31, 12, 45, 6), - CABAC_ENTRY(423, 49, 9, 68, 10, 37, 23, 44, 34), - CABAC_ENTRY(424, 45, 27, 66, 27, 31, 38, 33, 54), - CABAC_ENTRY(425, 36, 59, 47, 57, 20, 64, 19, 82), - CABAC_ENTRY(426, -6, 66, -5, 71, -9, 71, -3, 75), - CABAC_ENTRY(427, -7, 35, 0, 24, -7, 37, -1, 23), - CABAC_ENTRY(428, -7, 42, -1, 36, -8, 44, 1, 34), - CABAC_ENTRY(429, -8, 45, -2, 42, -11, 49, 1, 43), - CABAC_ENTRY(430, -5, 48, -2, 52, -10, 56, 0, 54), - CABAC_ENTRY(431, -12, 56, -9, 57, -12, 59, -2, 55), - CABAC_ENTRY(432, -6, 60, -6, 63, -8, 63, 0, 61), - CABAC_ENTRY(433, -5, 62, -4, 65, -9, 67, 1, 64), - CABAC_ENTRY(434, -8, 66, -4, 67, -6, 68, 0, 68), - CABAC_ENTRY(435, -8, 76, -7, 82, -10, 79, -9, 92), - CABAC_ENTRY(436, -5, 85, -3, 81, -3, 78, -14, 106), - CABAC_ENTRY(437, -6, 81, -3, 76, -8, 74, -13, 97), - CABAC_ENTRY(438, -10, 77, -7, 72, -9, 72, -15, 90), - CABAC_ENTRY(439, -7, 81, -6, 78, -10, 72, -12, 90), - CABAC_ENTRY(440, -17, 80, -12, 72, -18, 75, -18, 88), - CABAC_ENTRY(441, -18, 73, -14, 68, -12, 71, -10, 73), - CABAC_ENTRY(442, -4, 74, -3, 70, -11, 63, -9, 79), - CABAC_ENTRY(443, -10, 83, -6, 76, -5, 70, -14, 86), - CABAC_ENTRY(444, -9, 71, -5, 66, -17, 75, -10, 73), - CABAC_ENTRY(445, -9, 67, -5, 62, -14, 72, -10, 70), - CABAC_ENTRY(446, -1, 61, 0, 57, -16, 67, -10, 69), - CABAC_ENTRY(447, -8, 66, -4, 61, -8, 53, -5, 66), - CABAC_ENTRY(448, -14, 66, -9, 60, -14, 59, -9, 64), - CABAC_ENTRY(449, 0, 59, 1, 54, -9, 52, -5, 58), - CABAC_ENTRY(450, 2, 59, 2, 58, -11, 68, 2, 59), - CABAC_ENTRY(451, 21, -13, 17, -10, 9, -2, 21, -10), - CABAC_ENTRY(452, 33, -14, 32, -13, 30, -10, 24, -11), - CABAC_ENTRY(453, 39, -7, 42, -9, 31, -4, 28, -8), - CABAC_ENTRY(454, 46, -2, 49, -5, 33, -1, 28, -1), - CABAC_ENTRY(455, 51, 2, 53, 0, 33, 7, 29, 3), - CABAC_ENTRY(456, 60, 6, 64, 3, 31, 12, 29, 9), - CABAC_ENTRY(457, 61, 17, 68, 10, 37, 23, 35, 20), - CABAC_ENTRY(458, 55, 34, 66, 27, 31, 38, 29, 36), - CABAC_ENTRY(459, 42, 62, 47, 57, 20, 64, 14, 67), -}; - static void set_ps_field(u32 *buf, struct rkvdec_ps_field field, u32 value) { u8 bit = field.offset % 32, word = field.offset / 32; diff --git a/include/media/v4l2-cabac/rkvdec-cabac.h b/include/media/v4l2-cabac/rkvdec-cabac.h new file mode 100644 index 0000000000000..3324c4cb6130d --- /dev/null +++ b/include/media/v4l2-cabac/rkvdec-cabac.h @@ -0,0 +1,509 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +/* + * Define the H264 CABAC table common to rkvdec and rkvdec2 drivers. + */ + +#ifndef RKVDEC_H264_CABAC_H_ +#define RKVDEC_H264_CABAC_H_ + +#define CABAC_ENTRY(ctxidx, idc0_m, idc0_n, idc1_m, idc1_n, \ + idc2_m, idc2_n, intra_m, intra_n) \ + [0][(ctxidx)] = {idc0_m, idc0_n}, \ + [1][(ctxidx)] = {idc1_m, idc1_n}, \ + [2][(ctxidx)] = {idc2_m, idc2_n}, \ + [3][(ctxidx)] = {intra_m, intra_n} + +/* + * Constant CABAC table. + * Built from the tables described in section '9.3.1.1 Initialisation process + * for context variables' of the H264 spec. + */ +static const s8 rkvdec_h264_cabac_table[4][464][2] = { + /* Table 9-12 – Values of variables m and n for ctxIdx from 0 to 10 */ + CABAC_ENTRY(0, 20, -15, 20, -15, 20, -15, 20, -15), + CABAC_ENTRY(1, 2, 54, 2, 54, 2, 54, 2, 54), + CABAC_ENTRY(2, 3, 74, 3, 74, 3, 74, 3, 74), + CABAC_ENTRY(3, 20, -15, 20, -15, 20, -15, 20, -15), + CABAC_ENTRY(4, 2, 54, 2, 54, 2, 54, 2, 54), + CABAC_ENTRY(5, 3, 74, 3, 74, 3, 74, 3, 74), + CABAC_ENTRY(6, -28, 127, -28, 127, -28, 127, -28, 127), + CABAC_ENTRY(7, -23, 104, -23, 104, -23, 104, -23, 104), + CABAC_ENTRY(8, -6, 53, -6, 53, -6, 53, -6, 53), + CABAC_ENTRY(9, -1, 54, -1, 54, -1, 54, -1, 54), + CABAC_ENTRY(10, 7, 51, 7, 51, 7, 51, 7, 51), + + /* Table 9-13 – Values of variables m and n for ctxIdx from 11 to 23 */ + CABAC_ENTRY(11, 23, 33, 22, 25, 29, 16, 0, 0), + CABAC_ENTRY(12, 23, 2, 34, 0, 25, 0, 0, 0), + CABAC_ENTRY(13, 21, 0, 16, 0, 14, 0, 0, 0), + CABAC_ENTRY(14, 1, 9, -2, 9, -10, 51, 0, 0), + CABAC_ENTRY(15, 0, 49, 4, 41, -3, 62, 0, 0), + CABAC_ENTRY(16, -37, 118, -29, 118, -27, 99, 0, 0), + CABAC_ENTRY(17, 5, 57, 2, 65, 26, 16, 0, 0), + CABAC_ENTRY(18, -13, 78, -6, 71, -4, 85, 0, 0), + CABAC_ENTRY(19, -11, 65, -13, 79, -24, 102, 0, 0), + CABAC_ENTRY(20, 1, 62, 5, 52, 5, 57, 0, 0), + CABAC_ENTRY(21, 12, 49, 9, 50, 6, 57, 0, 0), + CABAC_ENTRY(22, -4, 73, -3, 70, -17, 73, 0, 0), + CABAC_ENTRY(23, 17, 50, 10, 54, 14, 57, 0, 0), + + /* Table 9-14 – Values of variables m and n for ctxIdx from 24 to 39 */ + CABAC_ENTRY(24, 18, 64, 26, 34, 20, 40, 0, 0), + CABAC_ENTRY(25, 9, 43, 19, 22, 20, 10, 0, 0), + CABAC_ENTRY(26, 29, 0, 40, 0, 29, 0, 0, 0), + CABAC_ENTRY(27, 26, 67, 57, 2, 54, 0, 0, 0), + CABAC_ENTRY(28, 16, 90, 41, 36, 37, 42, 0, 0), + CABAC_ENTRY(29, 9, 104, 26, 69, 12, 97, 0, 0), + CABAC_ENTRY(30, -46, 127, -45, 127, -32, 127, 0, 0), + CABAC_ENTRY(31, -20, 104, -15, 101, -22, 117, 0, 0), + CABAC_ENTRY(32, 1, 67, -4, 76, -2, 74, 0, 0), + CABAC_ENTRY(33, -13, 78, -6, 71, -4, 85, 0, 0), + CABAC_ENTRY(34, -11, 65, -13, 79, -24, 102, 0, 0), + CABAC_ENTRY(35, 1, 62, 5, 52, 5, 57, 0, 0), + CABAC_ENTRY(36, -6, 86, 6, 69, -6, 93, 0, 0), + CABAC_ENTRY(37, -17, 95, -13, 90, -14, 88, 0, 0), + CABAC_ENTRY(38, -6, 61, 0, 52, -6, 44, 0, 0), + CABAC_ENTRY(39, 9, 45, 8, 43, 4, 55, 0, 0), + + /* Table 9-15 – Values of variables m and n for ctxIdx from 40 to 53 */ + CABAC_ENTRY(40, -3, 69, -2, 69, -11, 89, 0, 0), + CABAC_ENTRY(41, -6, 81, -5, 82, -15, 103, 0, 0), + CABAC_ENTRY(42, -11, 96, -10, 96, -21, 116, 0, 0), + CABAC_ENTRY(43, 6, 55, 2, 59, 19, 57, 0, 0), + CABAC_ENTRY(44, 7, 67, 2, 75, 20, 58, 0, 0), + CABAC_ENTRY(45, -5, 86, -3, 87, 4, 84, 0, 0), + CABAC_ENTRY(46, 2, 88, -3, 100, 6, 96, 0, 0), + CABAC_ENTRY(47, 0, 58, 1, 56, 1, 63, 0, 0), + CABAC_ENTRY(48, -3, 76, -3, 74, -5, 85, 0, 0), + CABAC_ENTRY(49, -10, 94, -6, 85, -13, 106, 0, 0), + CABAC_ENTRY(50, 5, 54, 0, 59, 5, 63, 0, 0), + CABAC_ENTRY(51, 4, 69, -3, 81, 6, 75, 0, 0), + CABAC_ENTRY(52, -3, 81, -7, 86, -3, 90, 0, 0), + CABAC_ENTRY(53, 0, 88, -5, 95, -1, 101, 0, 0), + + /* Table 9-16 – Values of variables m and n for ctxIdx from 54 to 59 */ + CABAC_ENTRY(54, -7, 67, -1, 66, 3, 55, 0, 0), + CABAC_ENTRY(55, -5, 74, -1, 77, -4, 79, 0, 0), + CABAC_ENTRY(56, -4, 74, 1, 70, -2, 75, 0, 0), + CABAC_ENTRY(57, -5, 80, -2, 86, -12, 97, 0, 0), + CABAC_ENTRY(58, -7, 72, -5, 72, -7, 50, 0, 0), + CABAC_ENTRY(59, 1, 58, 0, 61, 1, 60, 0, 0), + + /* Table 9-17 – Values of variables m and n for ctxIdx from 60 to 69 */ + CABAC_ENTRY(60, 0, 41, 0, 41, 0, 41, 0, 41), + CABAC_ENTRY(61, 0, 63, 0, 63, 0, 63, 0, 63), + CABAC_ENTRY(62, 0, 63, 0, 63, 0, 63, 0, 63), + CABAC_ENTRY(63, 0, 63, 0, 63, 0, 63, 0, 63), + CABAC_ENTRY(64, -9, 83, -9, 83, -9, 83, -9, 83), + CABAC_ENTRY(65, 4, 86, 4, 86, 4, 86, 4, 86), + CABAC_ENTRY(66, 0, 97, 0, 97, 0, 97, 0, 97), + CABAC_ENTRY(67, -7, 72, -7, 72, -7, 72, -7, 72), + CABAC_ENTRY(68, 13, 41, 13, 41, 13, 41, 13, 41), + CABAC_ENTRY(69, 3, 62, 3, 62, 3, 62, 3, 62), + + /* Table 9-18 – Values of variables m and n for ctxIdx from 70 to 104 */ + CABAC_ENTRY(70, 0, 45, 13, 15, 7, 34, 0, 11), + CABAC_ENTRY(71, -4, 78, 7, 51, -9, 88, 1, 55), + CABAC_ENTRY(72, -3, 96, 2, 80, -20, 127, 0, 69), + CABAC_ENTRY(73, -27, 126, -39, 127, -36, 127, -17, 127), + CABAC_ENTRY(74, -28, 98, -18, 91, -17, 91, -13, 102), + CABAC_ENTRY(75, -25, 101, -17, 96, -14, 95, 0, 82), + CABAC_ENTRY(76, -23, 67, -26, 81, -25, 84, -7, 74), + CABAC_ENTRY(77, -28, 82, -35, 98, -25, 86, -21, 107), + CABAC_ENTRY(78, -20, 94, -24, 102, -12, 89, -27, 127), + CABAC_ENTRY(79, -16, 83, -23, 97, -17, 91, -31, 127), + CABAC_ENTRY(80, -22, 110, -27, 119, -31, 127, -24, 127), + CABAC_ENTRY(81, -21, 91, -24, 99, -14, 76, -18, 95), + CABAC_ENTRY(82, -18, 102, -21, 110, -18, 103, -27, 127), + CABAC_ENTRY(83, -13, 93, -18, 102, -13, 90, -21, 114), + CABAC_ENTRY(84, -29, 127, -36, 127, -37, 127, -30, 127), + CABAC_ENTRY(85, -7, 92, 0, 80, 11, 80, -17, 123), + CABAC_ENTRY(86, -5, 89, -5, 89, 5, 76, -12, 115), + CABAC_ENTRY(87, -7, 96, -7, 94, 2, 84, -16, 122), + CABAC_ENTRY(88, -13, 108, -4, 92, 5, 78, -11, 115), + CABAC_ENTRY(89, -3, 46, 0, 39, -6, 55, -12, 63), + CABAC_ENTRY(90, -1, 65, 0, 65, 4, 61, -2, 68), + CABAC_ENTRY(91, -1, 57, -15, 84, -14, 83, -15, 84), + CABAC_ENTRY(92, -9, 93, -35, 127, -37, 127, -13, 104), + CABAC_ENTRY(93, -3, 74, -2, 73, -5, 79, -3, 70), + CABAC_ENTRY(94, -9, 92, -12, 104, -11, 104, -8, 93), + CABAC_ENTRY(95, -8, 87, -9, 91, -11, 91, -10, 90), + CABAC_ENTRY(96, -23, 126, -31, 127, -30, 127, -30, 127), + CABAC_ENTRY(97, 5, 54, 3, 55, 0, 65, -1, 74), + CABAC_ENTRY(98, 6, 60, 7, 56, -2, 79, -6, 97), + CABAC_ENTRY(99, 6, 59, 7, 55, 0, 72, -7, 91), + CABAC_ENTRY(100, 6, 69, 8, 61, -4, 92, -20, 127), + CABAC_ENTRY(101, -1, 48, -3, 53, -6, 56, -4, 56), + CABAC_ENTRY(102, 0, 68, 0, 68, 3, 68, -5, 82), + CABAC_ENTRY(103, -4, 69, -7, 74, -8, 71, -7, 76), + CABAC_ENTRY(104, -8, 88, -9, 88, -13, 98, -22, 125), + + /* Table 9-19 – Values of variables m and n for ctxIdx from 105 to 165 */ + CABAC_ENTRY(105, -2, 85, -13, 103, -4, 86, -7, 93), + CABAC_ENTRY(106, -6, 78, -13, 91, -12, 88, -11, 87), + CABAC_ENTRY(107, -1, 75, -9, 89, -5, 82, -3, 77), + CABAC_ENTRY(108, -7, 77, -14, 92, -3, 72, -5, 71), + CABAC_ENTRY(109, 2, 54, -8, 76, -4, 67, -4, 63), + CABAC_ENTRY(110, 5, 50, -12, 87, -8, 72, -4, 68), + CABAC_ENTRY(111, -3, 68, -23, 110, -16, 89, -12, 84), + CABAC_ENTRY(112, 1, 50, -24, 105, -9, 69, -7, 62), + CABAC_ENTRY(113, 6, 42, -10, 78, -1, 59, -7, 65), + CABAC_ENTRY(114, -4, 81, -20, 112, 5, 66, 8, 61), + CABAC_ENTRY(115, 1, 63, -17, 99, 4, 57, 5, 56), + CABAC_ENTRY(116, -4, 70, -78, 127, -4, 71, -2, 66), + CABAC_ENTRY(117, 0, 67, -70, 127, -2, 71, 1, 64), + CABAC_ENTRY(118, 2, 57, -50, 127, 2, 58, 0, 61), + CABAC_ENTRY(119, -2, 76, -46, 127, -1, 74, -2, 78), + CABAC_ENTRY(120, 11, 35, -4, 66, -4, 44, 1, 50), + CABAC_ENTRY(121, 4, 64, -5, 78, -1, 69, 7, 52), + CABAC_ENTRY(122, 1, 61, -4, 71, 0, 62, 10, 35), + CABAC_ENTRY(123, 11, 35, -8, 72, -7, 51, 0, 44), + CABAC_ENTRY(124, 18, 25, 2, 59, -4, 47, 11, 38), + CABAC_ENTRY(125, 12, 24, -1, 55, -6, 42, 1, 45), + CABAC_ENTRY(126, 13, 29, -7, 70, -3, 41, 0, 46), + CABAC_ENTRY(127, 13, 36, -6, 75, -6, 53, 5, 44), + CABAC_ENTRY(128, -10, 93, -8, 89, 8, 76, 31, 17), + CABAC_ENTRY(129, -7, 73, -34, 119, -9, 78, 1, 51), + CABAC_ENTRY(130, -2, 73, -3, 75, -11, 83, 7, 50), + CABAC_ENTRY(131, 13, 46, 32, 20, 9, 52, 28, 19), + CABAC_ENTRY(132, 9, 49, 30, 22, 0, 67, 16, 33), + CABAC_ENTRY(133, -7, 100, -44, 127, -5, 90, 14, 62), + CABAC_ENTRY(134, 9, 53, 0, 54, 1, 67, -13, 108), + CABAC_ENTRY(135, 2, 53, -5, 61, -15, 72, -15, 100), + CABAC_ENTRY(136, 5, 53, 0, 58, -5, 75, -13, 101), + CABAC_ENTRY(137, -2, 61, -1, 60, -8, 80, -13, 91), + CABAC_ENTRY(138, 0, 56, -3, 61, -21, 83, -12, 94), + CABAC_ENTRY(139, 0, 56, -8, 67, -21, 64, -10, 88), + CABAC_ENTRY(140, -13, 63, -25, 84, -13, 31, -16, 84), + CABAC_ENTRY(141, -5, 60, -14, 74, -25, 64, -10, 86), + CABAC_ENTRY(142, -1, 62, -5, 65, -29, 94, -7, 83), + CABAC_ENTRY(143, 4, 57, 5, 52, 9, 75, -13, 87), + CABAC_ENTRY(144, -6, 69, 2, 57, 17, 63, -19, 94), + CABAC_ENTRY(145, 4, 57, 0, 61, -8, 74, 1, 70), + CABAC_ENTRY(146, 14, 39, -9, 69, -5, 35, 0, 72), + CABAC_ENTRY(147, 4, 51, -11, 70, -2, 27, -5, 74), + CABAC_ENTRY(148, 13, 68, 18, 55, 13, 91, 18, 59), + CABAC_ENTRY(149, 3, 64, -4, 71, 3, 65, -8, 102), + CABAC_ENTRY(150, 1, 61, 0, 58, -7, 69, -15, 100), + CABAC_ENTRY(151, 9, 63, 7, 61, 8, 77, 0, 95), + CABAC_ENTRY(152, 7, 50, 9, 41, -10, 66, -4, 75), + CABAC_ENTRY(153, 16, 39, 18, 25, 3, 62, 2, 72), + CABAC_ENTRY(154, 5, 44, 9, 32, -3, 68, -11, 75), + CABAC_ENTRY(155, 4, 52, 5, 43, -20, 81, -3, 71), + CABAC_ENTRY(156, 11, 48, 9, 47, 0, 30, 15, 46), + CABAC_ENTRY(157, -5, 60, 0, 44, 1, 7, -13, 69), + CABAC_ENTRY(158, -1, 59, 0, 51, -3, 23, 0, 62), + CABAC_ENTRY(159, 0, 59, 2, 46, -21, 74, 0, 65), + CABAC_ENTRY(160, 22, 33, 19, 38, 16, 66, 21, 37), + CABAC_ENTRY(161, 5, 44, -4, 66, -23, 124, -15, 72), + CABAC_ENTRY(162, 14, 43, 15, 38, 17, 37, 9, 57), + CABAC_ENTRY(163, -1, 78, 12, 42, 44, -18, 16, 54), + CABAC_ENTRY(164, 0, 60, 9, 34, 50, -34, 0, 62), + CABAC_ENTRY(165, 9, 69, 0, 89, -22, 127, 12, 72), + + /* Table 9-20 – Values of variables m and n for ctxIdx from 166 to 226 */ + CABAC_ENTRY(166, 11, 28, 4, 45, 4, 39, 24, 0), + CABAC_ENTRY(167, 2, 40, 10, 28, 0, 42, 15, 9), + CABAC_ENTRY(168, 3, 44, 10, 31, 7, 34, 8, 25), + CABAC_ENTRY(169, 0, 49, 33, -11, 11, 29, 13, 18), + CABAC_ENTRY(170, 0, 46, 52, -43, 8, 31, 15, 9), + CABAC_ENTRY(171, 2, 44, 18, 15, 6, 37, 13, 19), + CABAC_ENTRY(172, 2, 51, 28, 0, 7, 42, 10, 37), + CABAC_ENTRY(173, 0, 47, 35, -22, 3, 40, 12, 18), + CABAC_ENTRY(174, 4, 39, 38, -25, 8, 33, 6, 29), + CABAC_ENTRY(175, 2, 62, 34, 0, 13, 43, 20, 33), + CABAC_ENTRY(176, 6, 46, 39, -18, 13, 36, 15, 30), + CABAC_ENTRY(177, 0, 54, 32, -12, 4, 47, 4, 45), + CABAC_ENTRY(178, 3, 54, 102, -94, 3, 55, 1, 58), + CABAC_ENTRY(179, 2, 58, 0, 0, 2, 58, 0, 62), + CABAC_ENTRY(180, 4, 63, 56, -15, 6, 60, 7, 61), + CABAC_ENTRY(181, 6, 51, 33, -4, 8, 44, 12, 38), + CABAC_ENTRY(182, 6, 57, 29, 10, 11, 44, 11, 45), + CABAC_ENTRY(183, 7, 53, 37, -5, 14, 42, 15, 39), + CABAC_ENTRY(184, 6, 52, 51, -29, 7, 48, 11, 42), + CABAC_ENTRY(185, 6, 55, 39, -9, 4, 56, 13, 44), + CABAC_ENTRY(186, 11, 45, 52, -34, 4, 52, 16, 45), + CABAC_ENTRY(187, 14, 36, 69, -58, 13, 37, 12, 41), + CABAC_ENTRY(188, 8, 53, 67, -63, 9, 49, 10, 49), + CABAC_ENTRY(189, -1, 82, 44, -5, 19, 58, 30, 34), + CABAC_ENTRY(190, 7, 55, 32, 7, 10, 48, 18, 42), + CABAC_ENTRY(191, -3, 78, 55, -29, 12, 45, 10, 55), + CABAC_ENTRY(192, 15, 46, 32, 1, 0, 69, 17, 51), + CABAC_ENTRY(193, 22, 31, 0, 0, 20, 33, 17, 46), + CABAC_ENTRY(194, -1, 84, 27, 36, 8, 63, 0, 89), + CABAC_ENTRY(195, 25, 7, 33, -25, 35, -18, 26, -19), + CABAC_ENTRY(196, 30, -7, 34, -30, 33, -25, 22, -17), + CABAC_ENTRY(197, 28, 3, 36, -28, 28, -3, 26, -17), + CABAC_ENTRY(198, 28, 4, 38, -28, 24, 10, 30, -25), + CABAC_ENTRY(199, 32, 0, 38, -27, 27, 0, 28, -20), + CABAC_ENTRY(200, 34, -1, 34, -18, 34, -14, 33, -23), + CABAC_ENTRY(201, 30, 6, 35, -16, 52, -44, 37, -27), + CABAC_ENTRY(202, 30, 6, 34, -14, 39, -24, 33, -23), + CABAC_ENTRY(203, 32, 9, 32, -8, 19, 17, 40, -28), + CABAC_ENTRY(204, 31, 19, 37, -6, 31, 25, 38, -17), + CABAC_ENTRY(205, 26, 27, 35, 0, 36, 29, 33, -11), + CABAC_ENTRY(206, 26, 30, 30, 10, 24, 33, 40, -15), + CABAC_ENTRY(207, 37, 20, 28, 18, 34, 15, 41, -6), + CABAC_ENTRY(208, 28, 34, 26, 25, 30, 20, 38, 1), + CABAC_ENTRY(209, 17, 70, 29, 41, 22, 73, 41, 17), + CABAC_ENTRY(210, 1, 67, 0, 75, 20, 34, 30, -6), + CABAC_ENTRY(211, 5, 59, 2, 72, 19, 31, 27, 3), + CABAC_ENTRY(212, 9, 67, 8, 77, 27, 44, 26, 22), + CABAC_ENTRY(213, 16, 30, 14, 35, 19, 16, 37, -16), + CABAC_ENTRY(214, 18, 32, 18, 31, 15, 36, 35, -4), + CABAC_ENTRY(215, 18, 35, 17, 35, 15, 36, 38, -8), + CABAC_ENTRY(216, 22, 29, 21, 30, 21, 28, 38, -3), + CABAC_ENTRY(217, 24, 31, 17, 45, 25, 21, 37, 3), + CABAC_ENTRY(218, 23, 38, 20, 42, 30, 20, 38, 5), + CABAC_ENTRY(219, 18, 43, 18, 45, 31, 12, 42, 0), + CABAC_ENTRY(220, 20, 41, 27, 26, 27, 16, 35, 16), + CABAC_ENTRY(221, 11, 63, 16, 54, 24, 42, 39, 22), + CABAC_ENTRY(222, 9, 59, 7, 66, 0, 93, 14, 48), + CABAC_ENTRY(223, 9, 64, 16, 56, 14, 56, 27, 37), + CABAC_ENTRY(224, -1, 94, 11, 73, 15, 57, 21, 60), + CABAC_ENTRY(225, -2, 89, 10, 67, 26, 38, 12, 68), + CABAC_ENTRY(226, -9, 108, -10, 116, -24, 127, 2, 97), + + /* Table 9-21 – Values of variables m and n for ctxIdx from 227 to 275 */ + CABAC_ENTRY(227, -6, 76, -23, 112, -24, 115, -3, 71), + CABAC_ENTRY(228, -2, 44, -15, 71, -22, 82, -6, 42), + CABAC_ENTRY(229, 0, 45, -7, 61, -9, 62, -5, 50), + CABAC_ENTRY(230, 0, 52, 0, 53, 0, 53, -3, 54), + CABAC_ENTRY(231, -3, 64, -5, 66, 0, 59, -2, 62), + CABAC_ENTRY(232, -2, 59, -11, 77, -14, 85, 0, 58), + CABAC_ENTRY(233, -4, 70, -9, 80, -13, 89, 1, 63), + CABAC_ENTRY(234, -4, 75, -9, 84, -13, 94, -2, 72), + CABAC_ENTRY(235, -8, 82, -10, 87, -11, 92, -1, 74), + CABAC_ENTRY(236, -17, 102, -34, 127, -29, 127, -9, 91), + CABAC_ENTRY(237, -9, 77, -21, 101, -21, 100, -5, 67), + CABAC_ENTRY(238, 3, 24, -3, 39, -14, 57, -5, 27), + CABAC_ENTRY(239, 0, 42, -5, 53, -12, 67, -3, 39), + CABAC_ENTRY(240, 0, 48, -7, 61, -11, 71, -2, 44), + CABAC_ENTRY(241, 0, 55, -11, 75, -10, 77, 0, 46), + CABAC_ENTRY(242, -6, 59, -15, 77, -21, 85, -16, 64), + CABAC_ENTRY(243, -7, 71, -17, 91, -16, 88, -8, 68), + CABAC_ENTRY(244, -12, 83, -25, 107, -23, 104, -10, 78), + CABAC_ENTRY(245, -11, 87, -25, 111, -15, 98, -6, 77), + CABAC_ENTRY(246, -30, 119, -28, 122, -37, 127, -10, 86), + CABAC_ENTRY(247, 1, 58, -11, 76, -10, 82, -12, 92), + CABAC_ENTRY(248, -3, 29, -10, 44, -8, 48, -15, 55), + CABAC_ENTRY(249, -1, 36, -10, 52, -8, 61, -10, 60), + CABAC_ENTRY(250, 1, 38, -10, 57, -8, 66, -6, 62), + CABAC_ENTRY(251, 2, 43, -9, 58, -7, 70, -4, 65), + CABAC_ENTRY(252, -6, 55, -16, 72, -14, 75, -12, 73), + CABAC_ENTRY(253, 0, 58, -7, 69, -10, 79, -8, 76), + CABAC_ENTRY(254, 0, 64, -4, 69, -9, 83, -7, 80), + CABAC_ENTRY(255, -3, 74, -5, 74, -12, 92, -9, 88), + CABAC_ENTRY(256, -10, 90, -9, 86, -18, 108, -17, 110), + CABAC_ENTRY(257, 0, 70, 2, 66, -4, 79, -11, 97), + CABAC_ENTRY(258, -4, 29, -9, 34, -22, 69, -20, 84), + CABAC_ENTRY(259, 5, 31, 1, 32, -16, 75, -11, 79), + CABAC_ENTRY(260, 7, 42, 11, 31, -2, 58, -6, 73), + CABAC_ENTRY(261, 1, 59, 5, 52, 1, 58, -4, 74), + CABAC_ENTRY(262, -2, 58, -2, 55, -13, 78, -13, 86), + CABAC_ENTRY(263, -3, 72, -2, 67, -9, 83, -13, 96), + CABAC_ENTRY(264, -3, 81, 0, 73, -4, 81, -11, 97), + CABAC_ENTRY(265, -11, 97, -8, 89, -13, 99, -19, 117), + CABAC_ENTRY(266, 0, 58, 3, 52, -13, 81, -8, 78), + CABAC_ENTRY(267, 8, 5, 7, 4, -6, 38, -5, 33), + CABAC_ENTRY(268, 10, 14, 10, 8, -13, 62, -4, 48), + CABAC_ENTRY(269, 14, 18, 17, 8, -6, 58, -2, 53), + CABAC_ENTRY(270, 13, 27, 16, 19, -2, 59, -3, 62), + CABAC_ENTRY(271, 2, 40, 3, 37, -16, 73, -13, 71), + CABAC_ENTRY(272, 0, 58, -1, 61, -10, 76, -10, 79), + CABAC_ENTRY(273, -3, 70, -5, 73, -13, 86, -12, 86), + CABAC_ENTRY(274, -6, 79, -1, 70, -9, 83, -13, 90), + CABAC_ENTRY(275, -8, 85, -4, 78, -10, 87, -14, 97), + + /* Table 9-22 – Values of variables m and n for ctxIdx from 277 to 337 */ + CABAC_ENTRY(277, -13, 106, -21, 126, -22, 127, -6, 93), + CABAC_ENTRY(278, -16, 106, -23, 124, -25, 127, -6, 84), + CABAC_ENTRY(279, -10, 87, -20, 110, -25, 120, -8, 79), + CABAC_ENTRY(280, -21, 114, -26, 126, -27, 127, 0, 66), + CABAC_ENTRY(281, -18, 110, -25, 124, -19, 114, -1, 71), + CABAC_ENTRY(282, -14, 98, -17, 105, -23, 117, 0, 62), + CABAC_ENTRY(283, -22, 110, -27, 121, -25, 118, -2, 60), + CABAC_ENTRY(284, -21, 106, -27, 117, -26, 117, -2, 59), + CABAC_ENTRY(285, -18, 103, -17, 102, -24, 113, -5, 75), + CABAC_ENTRY(286, -21, 107, -26, 117, -28, 118, -3, 62), + CABAC_ENTRY(287, -23, 108, -27, 116, -31, 120, -4, 58), + CABAC_ENTRY(288, -26, 112, -33, 122, -37, 124, -9, 66), + CABAC_ENTRY(289, -10, 96, -10, 95, -10, 94, -1, 79), + CABAC_ENTRY(290, -12, 95, -14, 100, -15, 102, 0, 71), + CABAC_ENTRY(291, -5, 91, -8, 95, -10, 99, 3, 68), + CABAC_ENTRY(292, -9, 93, -17, 111, -13, 106, 10, 44), + CABAC_ENTRY(293, -22, 94, -28, 114, -50, 127, -7, 62), + CABAC_ENTRY(294, -5, 86, -6, 89, -5, 92, 15, 36), + CABAC_ENTRY(295, 9, 67, -2, 80, 17, 57, 14, 40), + CABAC_ENTRY(296, -4, 80, -4, 82, -5, 86, 16, 27), + CABAC_ENTRY(297, -10, 85, -9, 85, -13, 94, 12, 29), + CABAC_ENTRY(298, -1, 70, -8, 81, -12, 91, 1, 44), + CABAC_ENTRY(299, 7, 60, -1, 72, -2, 77, 20, 36), + CABAC_ENTRY(300, 9, 58, 5, 64, 0, 71, 18, 32), + CABAC_ENTRY(301, 5, 61, 1, 67, -1, 73, 5, 42), + CABAC_ENTRY(302, 12, 50, 9, 56, 4, 64, 1, 48), + CABAC_ENTRY(303, 15, 50, 0, 69, -7, 81, 10, 62), + CABAC_ENTRY(304, 18, 49, 1, 69, 5, 64, 17, 46), + CABAC_ENTRY(305, 17, 54, 7, 69, 15, 57, 9, 64), + CABAC_ENTRY(306, 10, 41, -7, 69, 1, 67, -12, 104), + CABAC_ENTRY(307, 7, 46, -6, 67, 0, 68, -11, 97), + CABAC_ENTRY(308, -1, 51, -16, 77, -10, 67, -16, 96), + CABAC_ENTRY(309, 7, 49, -2, 64, 1, 68, -7, 88), + CABAC_ENTRY(310, 8, 52, 2, 61, 0, 77, -8, 85), + CABAC_ENTRY(311, 9, 41, -6, 67, 2, 64, -7, 85), + CABAC_ENTRY(312, 6, 47, -3, 64, 0, 68, -9, 85), + CABAC_ENTRY(313, 2, 55, 2, 57, -5, 78, -13, 88), + CABAC_ENTRY(314, 13, 41, -3, 65, 7, 55, 4, 66), + CABAC_ENTRY(315, 10, 44, -3, 66, 5, 59, -3, 77), + CABAC_ENTRY(316, 6, 50, 0, 62, 2, 65, -3, 76), + CABAC_ENTRY(317, 5, 53, 9, 51, 14, 54, -6, 76), + CABAC_ENTRY(318, 13, 49, -1, 66, 15, 44, 10, 58), + CABAC_ENTRY(319, 4, 63, -2, 71, 5, 60, -1, 76), + CABAC_ENTRY(320, 6, 64, -2, 75, 2, 70, -1, 83), + CABAC_ENTRY(321, -2, 69, -1, 70, -2, 76, -7, 99), + CABAC_ENTRY(322, -2, 59, -9, 72, -18, 86, -14, 95), + CABAC_ENTRY(323, 6, 70, 14, 60, 12, 70, 2, 95), + CABAC_ENTRY(324, 10, 44, 16, 37, 5, 64, 0, 76), + CABAC_ENTRY(325, 9, 31, 0, 47, -12, 70, -5, 74), + CABAC_ENTRY(326, 12, 43, 18, 35, 11, 55, 0, 70), + CABAC_ENTRY(327, 3, 53, 11, 37, 5, 56, -11, 75), + CABAC_ENTRY(328, 14, 34, 12, 41, 0, 69, 1, 68), + CABAC_ENTRY(329, 10, 38, 10, 41, 2, 65, 0, 65), + CABAC_ENTRY(330, -3, 52, 2, 48, -6, 74, -14, 73), + CABAC_ENTRY(331, 13, 40, 12, 41, 5, 54, 3, 62), + CABAC_ENTRY(332, 17, 32, 13, 41, 7, 54, 4, 62), + CABAC_ENTRY(333, 7, 44, 0, 59, -6, 76, -1, 68), + CABAC_ENTRY(334, 7, 38, 3, 50, -11, 82, -13, 75), + CABAC_ENTRY(335, 13, 50, 19, 40, -2, 77, 11, 55), + CABAC_ENTRY(336, 10, 57, 3, 66, -2, 77, 5, 64), + CABAC_ENTRY(337, 26, 43, 18, 50, 25, 42, 12, 70), + + /* Table 9-23 – Values of variables m and n for ctxIdx from 338 to 398 */ + CABAC_ENTRY(338, 14, 11, 19, -6, 17, -13, 15, 6), + CABAC_ENTRY(339, 11, 14, 18, -6, 16, -9, 6, 19), + CABAC_ENTRY(340, 9, 11, 14, 0, 17, -12, 7, 16), + CABAC_ENTRY(341, 18, 11, 26, -12, 27, -21, 12, 14), + CABAC_ENTRY(342, 21, 9, 31, -16, 37, -30, 18, 13), + CABAC_ENTRY(343, 23, -2, 33, -25, 41, -40, 13, 11), + CABAC_ENTRY(344, 32, -15, 33, -22, 42, -41, 13, 15), + CABAC_ENTRY(345, 32, -15, 37, -28, 48, -47, 15, 16), + CABAC_ENTRY(346, 34, -21, 39, -30, 39, -32, 12, 23), + CABAC_ENTRY(347, 39, -23, 42, -30, 46, -40, 13, 23), + CABAC_ENTRY(348, 42, -33, 47, -42, 52, -51, 15, 20), + CABAC_ENTRY(349, 41, -31, 45, -36, 46, -41, 14, 26), + CABAC_ENTRY(350, 46, -28, 49, -34, 52, -39, 14, 44), + CABAC_ENTRY(351, 38, -12, 41, -17, 43, -19, 17, 40), + CABAC_ENTRY(352, 21, 29, 32, 9, 32, 11, 17, 47), + CABAC_ENTRY(353, 45, -24, 69, -71, 61, -55, 24, 17), + CABAC_ENTRY(354, 53, -45, 63, -63, 56, -46, 21, 21), + CABAC_ENTRY(355, 48, -26, 66, -64, 62, -50, 25, 22), + CABAC_ENTRY(356, 65, -43, 77, -74, 81, -67, 31, 27), + CABAC_ENTRY(357, 43, -19, 54, -39, 45, -20, 22, 29), + CABAC_ENTRY(358, 39, -10, 52, -35, 35, -2, 19, 35), + CABAC_ENTRY(359, 30, 9, 41, -10, 28, 15, 14, 50), + CABAC_ENTRY(360, 18, 26, 36, 0, 34, 1, 10, 57), + CABAC_ENTRY(361, 20, 27, 40, -1, 39, 1, 7, 63), + CABAC_ENTRY(362, 0, 57, 30, 14, 30, 17, -2, 77), + CABAC_ENTRY(363, -14, 82, 28, 26, 20, 38, -4, 82), + CABAC_ENTRY(364, -5, 75, 23, 37, 18, 45, -3, 94), + CABAC_ENTRY(365, -19, 97, 12, 55, 15, 54, 9, 69), + CABAC_ENTRY(366, -35, 125, 11, 65, 0, 79, -12, 109), + CABAC_ENTRY(367, 27, 0, 37, -33, 36, -16, 36, -35), + CABAC_ENTRY(368, 28, 0, 39, -36, 37, -14, 36, -34), + CABAC_ENTRY(369, 31, -4, 40, -37, 37, -17, 32, -26), + CABAC_ENTRY(370, 27, 6, 38, -30, 32, 1, 37, -30), + CABAC_ENTRY(371, 34, 8, 46, -33, 34, 15, 44, -32), + CABAC_ENTRY(372, 30, 10, 42, -30, 29, 15, 34, -18), + CABAC_ENTRY(373, 24, 22, 40, -24, 24, 25, 34, -15), + CABAC_ENTRY(374, 33, 19, 49, -29, 34, 22, 40, -15), + CABAC_ENTRY(375, 22, 32, 38, -12, 31, 16, 33, -7), + CABAC_ENTRY(376, 26, 31, 40, -10, 35, 18, 35, -5), + CABAC_ENTRY(377, 21, 41, 38, -3, 31, 28, 33, 0), + CABAC_ENTRY(378, 26, 44, 46, -5, 33, 41, 38, 2), + CABAC_ENTRY(379, 23, 47, 31, 20, 36, 28, 33, 13), + CABAC_ENTRY(380, 16, 65, 29, 30, 27, 47, 23, 35), + CABAC_ENTRY(381, 14, 71, 25, 44, 21, 62, 13, 58), + CABAC_ENTRY(382, 8, 60, 12, 48, 18, 31, 29, -3), + CABAC_ENTRY(383, 6, 63, 11, 49, 19, 26, 26, 0), + CABAC_ENTRY(384, 17, 65, 26, 45, 36, 24, 22, 30), + CABAC_ENTRY(385, 21, 24, 22, 22, 24, 23, 31, -7), + CABAC_ENTRY(386, 23, 20, 23, 22, 27, 16, 35, -15), + CABAC_ENTRY(387, 26, 23, 27, 21, 24, 30, 34, -3), + CABAC_ENTRY(388, 27, 32, 33, 20, 31, 29, 34, 3), + CABAC_ENTRY(389, 28, 23, 26, 28, 22, 41, 36, -1), + CABAC_ENTRY(390, 28, 24, 30, 24, 22, 42, 34, 5), + CABAC_ENTRY(391, 23, 40, 27, 34, 16, 60, 32, 11), + CABAC_ENTRY(392, 24, 32, 18, 42, 15, 52, 35, 5), + CABAC_ENTRY(393, 28, 29, 25, 39, 14, 60, 34, 12), + CABAC_ENTRY(394, 23, 42, 18, 50, 3, 78, 39, 11), + CABAC_ENTRY(395, 19, 57, 12, 70, -16, 123, 30, 29), + CABAC_ENTRY(396, 22, 53, 21, 54, 21, 53, 34, 26), + CABAC_ENTRY(397, 22, 61, 14, 71, 22, 56, 29, 39), + CABAC_ENTRY(398, 11, 86, 11, 83, 25, 61, 19, 66), + + /* Values of variables m and n for ctxIdx from 399 to 463 (not documented) */ + CABAC_ENTRY(399, 12, 40, 25, 32, 21, 33, 31, 21), + CABAC_ENTRY(400, 11, 51, 21, 49, 19, 50, 31, 31), + CABAC_ENTRY(401, 14, 59, 21, 54, 17, 61, 25, 50), + CABAC_ENTRY(402, -4, 79, -5, 85, -3, 78, -17, 120), + CABAC_ENTRY(403, -7, 71, -6, 81, -8, 74, -20, 112), + CABAC_ENTRY(404, -5, 69, -10, 77, -9, 72, -18, 114), + CABAC_ENTRY(405, -9, 70, -7, 81, -10, 72, -11, 85), + CABAC_ENTRY(406, -8, 66, -17, 80, -18, 75, -15, 92), + CABAC_ENTRY(407, -10, 68, -18, 73, -12, 71, -14, 89), + CABAC_ENTRY(408, -19, 73, -4, 74, -11, 63, -26, 71), + CABAC_ENTRY(409, -12, 69, -10, 83, -5, 70, -15, 81), + CABAC_ENTRY(410, -16, 70, -9, 71, -17, 75, -14, 80), + CABAC_ENTRY(411, -15, 67, -9, 67, -14, 72, 0, 68), + CABAC_ENTRY(412, -20, 62, -1, 61, -16, 67, -14, 70), + CABAC_ENTRY(413, -19, 70, -8, 66, -8, 53, -24, 56), + CABAC_ENTRY(414, -16, 66, -14, 66, -14, 59, -23, 68), + CABAC_ENTRY(415, -22, 65, 0, 59, -9, 52, -24, 50), + CABAC_ENTRY(416, -20, 63, 2, 59, -11, 68, -11, 74), + CABAC_ENTRY(417, 9, -2, 17, -10, 9, -2, 23, -13), + CABAC_ENTRY(418, 26, -9, 32, -13, 30, -10, 26, -13), + CABAC_ENTRY(419, 33, -9, 42, -9, 31, -4, 40, -15), + CABAC_ENTRY(420, 39, -7, 49, -5, 33, -1, 49, -14), + CABAC_ENTRY(421, 41, -2, 53, 0, 33, 7, 44, 3), + CABAC_ENTRY(422, 45, 3, 64, 3, 31, 12, 45, 6), + CABAC_ENTRY(423, 49, 9, 68, 10, 37, 23, 44, 34), + CABAC_ENTRY(424, 45, 27, 66, 27, 31, 38, 33, 54), + CABAC_ENTRY(425, 36, 59, 47, 57, 20, 64, 19, 82), + CABAC_ENTRY(426, -6, 66, -5, 71, -9, 71, -3, 75), + CABAC_ENTRY(427, -7, 35, 0, 24, -7, 37, -1, 23), + CABAC_ENTRY(428, -7, 42, -1, 36, -8, 44, 1, 34), + CABAC_ENTRY(429, -8, 45, -2, 42, -11, 49, 1, 43), + CABAC_ENTRY(430, -5, 48, -2, 52, -10, 56, 0, 54), + CABAC_ENTRY(431, -12, 56, -9, 57, -12, 59, -2, 55), + CABAC_ENTRY(432, -6, 60, -6, 63, -8, 63, 0, 61), + CABAC_ENTRY(433, -5, 62, -4, 65, -9, 67, 1, 64), + CABAC_ENTRY(434, -8, 66, -4, 67, -6, 68, 0, 68), + CABAC_ENTRY(435, -8, 76, -7, 82, -10, 79, -9, 92), + CABAC_ENTRY(436, -5, 85, -3, 81, -3, 78, -14, 106), + CABAC_ENTRY(437, -6, 81, -3, 76, -8, 74, -13, 97), + CABAC_ENTRY(438, -10, 77, -7, 72, -9, 72, -15, 90), + CABAC_ENTRY(439, -7, 81, -6, 78, -10, 72, -12, 90), + CABAC_ENTRY(440, -17, 80, -12, 72, -18, 75, -18, 88), + CABAC_ENTRY(441, -18, 73, -14, 68, -12, 71, -10, 73), + CABAC_ENTRY(442, -4, 74, -3, 70, -11, 63, -9, 79), + CABAC_ENTRY(443, -10, 83, -6, 76, -5, 70, -14, 86), + CABAC_ENTRY(444, -9, 71, -5, 66, -17, 75, -10, 73), + CABAC_ENTRY(445, -9, 67, -5, 62, -14, 72, -10, 70), + CABAC_ENTRY(446, -1, 61, 0, 57, -16, 67, -10, 69), + CABAC_ENTRY(447, -8, 66, -4, 61, -8, 53, -5, 66), + CABAC_ENTRY(448, -14, 66, -9, 60, -14, 59, -9, 64), + CABAC_ENTRY(449, 0, 59, 1, 54, -9, 52, -5, 58), + CABAC_ENTRY(450, 2, 59, 2, 58, -11, 68, 2, 59), + CABAC_ENTRY(451, 21, -13, 17, -10, 9, -2, 21, -10), + CABAC_ENTRY(452, 33, -14, 32, -13, 30, -10, 24, -11), + CABAC_ENTRY(453, 39, -7, 42, -9, 31, -4, 28, -8), + CABAC_ENTRY(454, 46, -2, 49, -5, 33, -1, 28, -1), + CABAC_ENTRY(455, 51, 2, 53, 0, 33, 7, 29, 3), + CABAC_ENTRY(456, 60, 6, 64, 3, 31, 12, 29, 9), + CABAC_ENTRY(457, 61, 17, 68, 10, 37, 23, 35, 20), + CABAC_ENTRY(458, 55, 34, 66, 27, 31, 38, 29, 36), + CABAC_ENTRY(459, 42, 62, 47, 57, 20, 64, 14, 67), +}; + +#endif /* RKVDEC_H264_CABAC_H_ */ -- 2.49.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 13381C36005 for ; Tue, 25 Mar 2025 21:40:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=XWvlPyb0bVRqdiR1SklBh0yoRIXdOZNeOGO6oI9yJf4=; b=uYT1urmb7cyqow G2zJSHkIS9IQasYYwWOSvg6Zs2iHOpYbt41SJEzx8lpaCW5YDeJIdd0rY6BudoJaZFW4W8LtAbFME fdaDNDsbasSBf5qsLXxEjEzuTN9SsDdXCI5qYCxoTfiwVW3wRSIQ/acpQjfJLZ/dQQJ9F8VA1ZL4e 9/Z++MB5BmKU++gZEyBmA/c+/Z6gQsA9a7thXqNaUQGa7LaOPveOw9/n/bQpi/52fb5CGaq79hYqK WSVGvPeRhU5Hvnz/KKWIZVThrXe2MrfGpBC2o9okgQYMlcHq2pt1i6I6oJ9ODnGZ7CTsWJjlIt1G4 gu42zb99RBERXaTXSwLQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1txC0R-000000074qs-1UZv; Tue, 25 Mar 2025 21:40:19 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1txBto-000000073rL-1tTR; Tue, 25 Mar 2025 21:33:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1742938406; bh=6PqDOvoMssJU/pL+Bhr+518g3cjXaMHddGfZRhnmvDQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=erBx6a3cfR4fkm29keZ0C5AIGD5ibsisGfMkN+OfMRgVkxEWl3dl4sW67vmt5GD17 QEk5EmELfimJSX/yN6wCPAZF+jlc1sYMthLh1vzk5syOB1b5qd0exnmZNUt8s5Op2v luVH5jch3lWW+Javr/Uo+QHnaoio8F+6K1736ppvl49JhbfXW6LvvNk+i7MsMmaErN uJ5L8Voj+sxFs7lSDVi/sLI+cf9oyfmPUNHmC4vCvAmEcufyBhMGcW8OAww8mdc36/ r65wlV+ti/N+kNf3hD2JON7rqmXYYRpbXpB9U5SyV55TgbSiqmbZwabM6sDYJoy+rM QJPgMMxJeShDA== Received: from trenzalore.hitronhub.home (unknown [23.233.251.139]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: detlev) by bali.collaboradmins.com (Postfix) with ESMTPSA id BA73417E0865; Tue, 25 Mar 2025 22:33:22 +0100 (CET) From: Detlev Casanova To: linux-kernel@vger.kernel.org Cc: Ezequiel Garcia , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Greg Kroah-Hartman , Hans Verkuil , Nicolas Dufresne , Andrzej Pietrasiewicz , Jonas Karlman , Sebastian Reichel , Niklas Cassel , Alexey Charkov , Dragan Simic , Jianfeng Liu , Detlev Casanova , Jacopo Mondi , Sakari Ailus , Kieran Bingham , Laurent Pinchart , Umang Jain , Naushir Patuck , Jean-Michel Hautbois , Dmitry Perchanov , Tomi Valkeinen , linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-staging@lists.linux.dev, kernel@collabora.com Subject: [PATCH v4 3/6] media: rockchip: Move H264 CABAC table to header file Date: Tue, 25 Mar 2025 17:22:19 -0400 Message-ID: <20250325213303.826925-4-detlev.casanova@collabora.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250325213303.826925-1-detlev.casanova@collabora.com> References: <20250325213303.826925-1-detlev.casanova@collabora.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250325_143328_939770_29F82810 X-CRM114-Status: GOOD ( 15.32 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org VGhlIHRhYmxlIHdpbGwgYmUgc2hhcmVkIHdpdGggdGhlIHJrdmRlYzIgZHJpdmVyIGluIGZvbGxv d2luZyBjb21taXRzLgoKQXMgSFcgZm9ybWF0dGVkIENBQkFDIHRhYmxlcyBjYW4gYmUgc2hhcmVk IGJldHdlZW4gZHJpdmVycywgaXQgbWFrZXMgc2Vuc2UKdG8gZ3JvdXAgdGhlbSBpbiBhbiBpbmNs dWRlIGZvbGRlci4KCkVhY2ggZHJpdmVyIGNhbiBpbmNsdWRlIHRoZSB0YWJsZXMgdGhleSBuZWVk IHNvIHRoYXQgYWxsIHRhYmxlcyBhcmUgbm90CmJ1aWx0IGluIHRoZSBrZXJuZWwsIGJ1dCByYXRo ZXIgaW4gZWFjaCBkcml2ZXIsIGlmIHRoZSBkcml2ZXIgaXMgZW5hYmxlZC4KClNpZ25lZC1vZmYt Ynk6IERldGxldiBDYXNhbm92YSA8ZGV0bGV2LmNhc2Fub3ZhQGNvbGxhYm9yYS5jb20+Ci0tLQog ZHJpdmVycy9zdGFnaW5nL21lZGlhL3JrdmRlYy9ya3ZkZWMtaDI2NC5jIHwgNTAwICstLS0tLS0t LS0tLS0tLS0tLS0tCiBpbmNsdWRlL21lZGlhL3Y0bDItY2FiYWMvcmt2ZGVjLWNhYmFjLmggICAg fCA1MDkgKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDUxMCBpbnNlcnRp b25zKCspLCA0OTkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9tZWRp YS92NGwyLWNhYmFjL3JrdmRlYy1jYWJhYy5oCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5n L21lZGlhL3JrdmRlYy9ya3ZkZWMtaDI2NC5jIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL3JrdmRl Yy9ya3ZkZWMtaDI2NC5jCmluZGV4IDRmYzE2N2I0MmNmMGMuLmNlNjNiNmZiYWEzM2IgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9ya3ZkZWMvcmt2ZGVjLWgyNjQuYworKysgYi9k cml2ZXJzL3N0YWdpbmcvbWVkaWEvcmt2ZGVjL3JrdmRlYy1oMjY0LmMKQEAgLTExLDYgKzExLDcg QEAKIAogI2luY2x1ZGUgPG1lZGlhL3Y0bDItaDI2NC5oPgogI2luY2x1ZGUgPG1lZGlhL3Y0bDIt bWVtMm1lbS5oPgorI2luY2x1ZGUgPG1lZGlhL3Y0bDItY2FiYWMvcmt2ZGVjLWNhYmFjLmg+CiAK ICNpbmNsdWRlICJya3ZkZWMuaCIKICNpbmNsdWRlICJya3ZkZWMtcmVncy5oIgpAQCAtMTE3LDUw NSArMTE4LDYgQEAgc3RydWN0IHJrdmRlY19oMjY0X2N0eCB7CiAJc3RydWN0IHJrdmRlY19oMjY0 X3JlZmxpc3RzIHJlZmxpc3RzOwogfTsKIAotI2RlZmluZSBDQUJBQ19FTlRSWShjdHhpZHgsIGlk YzBfbSwgaWRjMF9uLCBpZGMxX20sIGlkYzFfbiwJCVwKLQkgICAgaWRjMl9tLCBpZGMyX24sIGlu dHJhX20sIGludHJhX24pCQkJXAotCVswXVsoY3R4aWR4KV0gPSB7aWRjMF9tLCBpZGMwX259LAkJ CVwKLQlbMV1bKGN0eGlkeCldID0ge2lkYzFfbSwgaWRjMV9ufSwJCQlcCi0JWzJdWyhjdHhpZHgp XSA9IHtpZGMyX20sIGlkYzJfbn0sCQkJXAotCVszXVsoY3R4aWR4KV0gPSB7aW50cmFfbSwgaW50 cmFfbn0KLQotLyoKLSAqIENvbnN0YW50IENBQkFDIHRhYmxlLgotICogQnVpbHQgZnJvbSB0aGUg dGFibGVzIGRlc2NyaWJlZCBpbiBzZWN0aW9uICc5LjMuMS4xIEluaXRpYWxpc2F0aW9uIHByb2Nl c3MKLSAqIGZvciBjb250ZXh0IHZhcmlhYmxlcycgb2YgdGhlIEgyNjQgc3BlYy4KLSAqLwotc3Rh dGljIGNvbnN0IHM4IHJrdmRlY19oMjY0X2NhYmFjX3RhYmxlWzRdWzQ2NF1bMl0gPSB7Ci0JLyog VGFibGUgOS0xMiDigJMgVmFsdWVzIG9mIHZhcmlhYmxlcyBtIGFuZCBuIGZvciBjdHhJZHggZnJv bSAwIHRvIDEwICovCi0JQ0FCQUNfRU5UUlkoMCwgMjAsIC0xNSwgMjAsIC0xNSwgMjAsIC0xNSwg MjAsIC0xNSksCi0JQ0FCQUNfRU5UUlkoMSwgMiwgNTQsIDIsIDU0LCAyLCA1NCwgMiwgNTQpLAot CUNBQkFDX0VOVFJZKDIsIDMsIDc0LCAzLCA3NCwgMywgNzQsIDMsIDc0KSwKLQlDQUJBQ19FTlRS WSgzLCAyMCwgLTE1LCAyMCwgLTE1LCAyMCwgLTE1LCAyMCwgLTE1KSwKLQlDQUJBQ19FTlRSWSg0 LCAyLCA1NCwgMiwgNTQsIDIsIDU0LCAyLCA1NCksCi0JQ0FCQUNfRU5UUlkoNSwgMywgNzQsIDMs IDc0LCAzLCA3NCwgMywgNzQpLAotCUNBQkFDX0VOVFJZKDYsIC0yOCwgMTI3LCAtMjgsIDEyNywg LTI4LCAxMjcsIC0yOCwgMTI3KSwKLQlDQUJBQ19FTlRSWSg3LCAtMjMsIDEwNCwgLTIzLCAxMDQs IC0yMywgMTA0LCAtMjMsIDEwNCksCi0JQ0FCQUNfRU5UUlkoOCwgLTYsIDUzLCAtNiwgNTMsIC02 LCA1MywgLTYsIDUzKSwKLQlDQUJBQ19FTlRSWSg5LCAtMSwgNTQsIC0xLCA1NCwgLTEsIDU0LCAt MSwgNTQpLAotCUNBQkFDX0VOVFJZKDEwLCA3LCA1MSwgNywgNTEsIDcsIDUxLCA3LCA1MSksCi0K LQkvKiBUYWJsZSA5LTEzIOKAkyBWYWx1ZXMgb2YgdmFyaWFibGVzIG0gYW5kIG4gZm9yIGN0eElk eCBmcm9tIDExIHRvIDIzICovCi0JQ0FCQUNfRU5UUlkoMTEsIDIzLCAzMywgMjIsIDI1LCAyOSwg MTYsIDAsIDApLAotCUNBQkFDX0VOVFJZKDEyLCAyMywgMiwgMzQsIDAsIDI1LCAwLCAwLCAwKSwK LQlDQUJBQ19FTlRSWSgxMywgMjEsIDAsIDE2LCAwLCAxNCwgMCwgMCwgMCksCi0JQ0FCQUNfRU5U UlkoMTQsIDEsIDksIC0yLCA5LCAtMTAsIDUxLCAwLCAwKSwKLQlDQUJBQ19FTlRSWSgxNSwgMCwg NDksIDQsIDQxLCAtMywgNjIsIDAsIDApLAotCUNBQkFDX0VOVFJZKDE2LCAtMzcsIDExOCwgLTI5 LCAxMTgsIC0yNywgOTksIDAsIDApLAotCUNBQkFDX0VOVFJZKDE3LCA1LCA1NywgMiwgNjUsIDI2 LCAxNiwgMCwgMCksCi0JQ0FCQUNfRU5UUlkoMTgsIC0xMywgNzgsIC02LCA3MSwgLTQsIDg1LCAw LCAwKSwKLQlDQUJBQ19FTlRSWSgxOSwgLTExLCA2NSwgLTEzLCA3OSwgLTI0LCAxMDIsIDAsIDAp LAotCUNBQkFDX0VOVFJZKDIwLCAxLCA2MiwgNSwgNTIsIDUsIDU3LCAwLCAwKSwKLQlDQUJBQ19F TlRSWSgyMSwgMTIsIDQ5LCA5LCA1MCwgNiwgNTcsIDAsIDApLAotCUNBQkFDX0VOVFJZKDIyLCAt NCwgNzMsIC0zLCA3MCwgLTE3LCA3MywgMCwgMCksCi0JQ0FCQUNfRU5UUlkoMjMsIDE3LCA1MCwg MTAsIDU0LCAxNCwgNTcsIDAsIDApLAotCi0JLyogVGFibGUgOS0xNCDigJMgVmFsdWVzIG9mIHZh cmlhYmxlcyBtIGFuZCBuIGZvciBjdHhJZHggZnJvbSAyNCB0byAzOSAqLwotCUNBQkFDX0VOVFJZ KDI0LCAxOCwgNjQsIDI2LCAzNCwgMjAsIDQwLCAwLCAwKSwKLQlDQUJBQ19FTlRSWSgyNSwgOSwg NDMsIDE5LCAyMiwgMjAsIDEwLCAwLCAwKSwKLQlDQUJBQ19FTlRSWSgyNiwgMjksIDAsIDQwLCAw LCAyOSwgMCwgMCwgMCksCi0JQ0FCQUNfRU5UUlkoMjcsIDI2LCA2NywgNTcsIDIsIDU0LCAwLCAw LCAwKSwKLQlDQUJBQ19FTlRSWSgyOCwgMTYsIDkwLCA0MSwgMzYsIDM3LCA0MiwgMCwgMCksCi0J Q0FCQUNfRU5UUlkoMjksIDksIDEwNCwgMjYsIDY5LCAxMiwgOTcsIDAsIDApLAotCUNBQkFDX0VO VFJZKDMwLCAtNDYsIDEyNywgLTQ1LCAxMjcsIC0zMiwgMTI3LCAwLCAwKSwKLQlDQUJBQ19FTlRS WSgzMSwgLTIwLCAxMDQsIC0xNSwgMTAxLCAtMjIsIDExNywgMCwgMCksCi0JQ0FCQUNfRU5UUlko MzIsIDEsIDY3LCAtNCwgNzYsIC0yLCA3NCwgMCwgMCksCi0JQ0FCQUNfRU5UUlkoMzMsIC0xMywg NzgsIC02LCA3MSwgLTQsIDg1LCAwLCAwKSwKLQlDQUJBQ19FTlRSWSgzNCwgLTExLCA2NSwgLTEz LCA3OSwgLTI0LCAxMDIsIDAsIDApLAotCUNBQkFDX0VOVFJZKDM1LCAxLCA2MiwgNSwgNTIsIDUs IDU3LCAwLCAwKSwKLQlDQUJBQ19FTlRSWSgzNiwgLTYsIDg2LCA2LCA2OSwgLTYsIDkzLCAwLCAw KSwKLQlDQUJBQ19FTlRSWSgzNywgLTE3LCA5NSwgLTEzLCA5MCwgLTE0LCA4OCwgMCwgMCksCi0J Q0FCQUNfRU5UUlkoMzgsIC02LCA2MSwgMCwgNTIsIC02LCA0NCwgMCwgMCksCi0JQ0FCQUNfRU5U UlkoMzksIDksIDQ1LCA4LCA0MywgNCwgNTUsIDAsIDApLAotCi0JLyogVGFibGUgOS0xNSDigJMg VmFsdWVzIG9mIHZhcmlhYmxlcyBtIGFuZCBuIGZvciBjdHhJZHggZnJvbSA0MCB0byA1MyAqLwot CUNBQkFDX0VOVFJZKDQwLCAtMywgNjksIC0yLCA2OSwgLTExLCA4OSwgMCwgMCksCi0JQ0FCQUNf RU5UUlkoNDEsIC02LCA4MSwgLTUsIDgyLCAtMTUsIDEwMywgMCwgMCksCi0JQ0FCQUNfRU5UUlko NDIsIC0xMSwgOTYsIC0xMCwgOTYsIC0yMSwgMTE2LCAwLCAwKSwKLQlDQUJBQ19FTlRSWSg0Mywg NiwgNTUsIDIsIDU5LCAxOSwgNTcsIDAsIDApLAotCUNBQkFDX0VOVFJZKDQ0LCA3LCA2NywgMiwg NzUsIDIwLCA1OCwgMCwgMCksCi0JQ0FCQUNfRU5UUlkoNDUsIC01LCA4NiwgLTMsIDg3LCA0LCA4 NCwgMCwgMCksCi0JQ0FCQUNfRU5UUlkoNDYsIDIsIDg4LCAtMywgMTAwLCA2LCA5NiwgMCwgMCks Ci0JQ0FCQUNfRU5UUlkoNDcsIDAsIDU4LCAxLCA1NiwgMSwgNjMsIDAsIDApLAotCUNBQkFDX0VO VFJZKDQ4LCAtMywgNzYsIC0zLCA3NCwgLTUsIDg1LCAwLCAwKSwKLQlDQUJBQ19FTlRSWSg0OSwg LTEwLCA5NCwgLTYsIDg1LCAtMTMsIDEwNiwgMCwgMCksCi0JQ0FCQUNfRU5UUlkoNTAsIDUsIDU0 LCAwLCA1OSwgNSwgNjMsIDAsIDApLAotCUNBQkFDX0VOVFJZKDUxLCA0LCA2OSwgLTMsIDgxLCA2 LCA3NSwgMCwgMCksCi0JQ0FCQUNfRU5UUlkoNTIsIC0zLCA4MSwgLTcsIDg2LCAtMywgOTAsIDAs IDApLAotCUNBQkFDX0VOVFJZKDUzLCAwLCA4OCwgLTUsIDk1LCAtMSwgMTAxLCAwLCAwKSwKLQot CS8qIFRhYmxlIDktMTYg4oCTIFZhbHVlcyBvZiB2YXJpYWJsZXMgbSBhbmQgbiBmb3IgY3R4SWR4 IGZyb20gNTQgdG8gNTkgKi8KLQlDQUJBQ19FTlRSWSg1NCwgLTcsIDY3LCAtMSwgNjYsIDMsIDU1 LCAwLCAwKSwKLQlDQUJBQ19FTlRSWSg1NSwgLTUsIDc0LCAtMSwgNzcsIC00LCA3OSwgMCwgMCks Ci0JQ0FCQUNfRU5UUlkoNTYsIC00LCA3NCwgMSwgNzAsIC0yLCA3NSwgMCwgMCksCi0JQ0FCQUNf RU5UUlkoNTcsIC01LCA4MCwgLTIsIDg2LCAtMTIsIDk3LCAwLCAwKSwKLQlDQUJBQ19FTlRSWSg1 OCwgLTcsIDcyLCAtNSwgNzIsIC03LCA1MCwgMCwgMCksCi0JQ0FCQUNfRU5UUlkoNTksIDEsIDU4 LCAwLCA2MSwgMSwgNjAsIDAsIDApLAotCi0JLyogVGFibGUgOS0xNyDigJMgVmFsdWVzIG9mIHZh cmlhYmxlcyBtIGFuZCBuIGZvciBjdHhJZHggZnJvbSA2MCB0byA2OSAqLwotCUNBQkFDX0VOVFJZ KDYwLCAwLCA0MSwgMCwgNDEsIDAsIDQxLCAwLCA0MSksCi0JQ0FCQUNfRU5UUlkoNjEsIDAsIDYz LCAwLCA2MywgMCwgNjMsIDAsIDYzKSwKLQlDQUJBQ19FTlRSWSg2MiwgMCwgNjMsIDAsIDYzLCAw LCA2MywgMCwgNjMpLAotCUNBQkFDX0VOVFJZKDYzLCAwLCA2MywgMCwgNjMsIDAsIDYzLCAwLCA2 MyksCi0JQ0FCQUNfRU5UUlkoNjQsIC05LCA4MywgLTksIDgzLCAtOSwgODMsIC05LCA4MyksCi0J Q0FCQUNfRU5UUlkoNjUsIDQsIDg2LCA0LCA4NiwgNCwgODYsIDQsIDg2KSwKLQlDQUJBQ19FTlRS WSg2NiwgMCwgOTcsIDAsIDk3LCAwLCA5NywgMCwgOTcpLAotCUNBQkFDX0VOVFJZKDY3LCAtNywg NzIsIC03LCA3MiwgLTcsIDcyLCAtNywgNzIpLAotCUNBQkFDX0VOVFJZKDY4LCAxMywgNDEsIDEz LCA0MSwgMTMsIDQxLCAxMywgNDEpLAotCUNBQkFDX0VOVFJZKDY5LCAzLCA2MiwgMywgNjIsIDMs IDYyLCAzLCA2MiksCi0KLQkvKiBUYWJsZSA5LTE4IOKAkyBWYWx1ZXMgb2YgdmFyaWFibGVzIG0g YW5kIG4gZm9yIGN0eElkeCBmcm9tIDcwIHRvIDEwNCAqLwotCUNBQkFDX0VOVFJZKDcwLCAwLCA0 NSwgMTMsIDE1LCA3LCAzNCwgMCwgMTEpLAotCUNBQkFDX0VOVFJZKDcxLCAtNCwgNzgsIDcsIDUx LCAtOSwgODgsIDEsIDU1KSwKLQlDQUJBQ19FTlRSWSg3MiwgLTMsIDk2LCAyLCA4MCwgLTIwLCAx MjcsIDAsIDY5KSwKLQlDQUJBQ19FTlRSWSg3MywgLTI3LCAxMjYsIC0zOSwgMTI3LCAtMzYsIDEy NywgLTE3LCAxMjcpLAotCUNBQkFDX0VOVFJZKDc0LCAtMjgsIDk4LCAtMTgsIDkxLCAtMTcsIDkx LCAtMTMsIDEwMiksCi0JQ0FCQUNfRU5UUlkoNzUsIC0yNSwgMTAxLCAtMTcsIDk2LCAtMTQsIDk1 LCAwLCA4MiksCi0JQ0FCQUNfRU5UUlkoNzYsIC0yMywgNjcsIC0yNiwgODEsIC0yNSwgODQsIC03 LCA3NCksCi0JQ0FCQUNfRU5UUlkoNzcsIC0yOCwgODIsIC0zNSwgOTgsIC0yNSwgODYsIC0yMSwg MTA3KSwKLQlDQUJBQ19FTlRSWSg3OCwgLTIwLCA5NCwgLTI0LCAxMDIsIC0xMiwgODksIC0yNywg MTI3KSwKLQlDQUJBQ19FTlRSWSg3OSwgLTE2LCA4MywgLTIzLCA5NywgLTE3LCA5MSwgLTMxLCAx MjcpLAotCUNBQkFDX0VOVFJZKDgwLCAtMjIsIDExMCwgLTI3LCAxMTksIC0zMSwgMTI3LCAtMjQs IDEyNyksCi0JQ0FCQUNfRU5UUlkoODEsIC0yMSwgOTEsIC0yNCwgOTksIC0xNCwgNzYsIC0xOCwg OTUpLAotCUNBQkFDX0VOVFJZKDgyLCAtMTgsIDEwMiwgLTIxLCAxMTAsIC0xOCwgMTAzLCAtMjcs IDEyNyksCi0JQ0FCQUNfRU5UUlkoODMsIC0xMywgOTMsIC0xOCwgMTAyLCAtMTMsIDkwLCAtMjEs IDExNCksCi0JQ0FCQUNfRU5UUlkoODQsIC0yOSwgMTI3LCAtMzYsIDEyNywgLTM3LCAxMjcsIC0z MCwgMTI3KSwKLQlDQUJBQ19FTlRSWSg4NSwgLTcsIDkyLCAwLCA4MCwgMTEsIDgwLCAtMTcsIDEy MyksCi0JQ0FCQUNfRU5UUlkoODYsIC01LCA4OSwgLTUsIDg5LCA1LCA3NiwgLTEyLCAxMTUpLAot CUNBQkFDX0VOVFJZKDg3LCAtNywgOTYsIC03LCA5NCwgMiwgODQsIC0xNiwgMTIyKSwKLQlDQUJB Q19FTlRSWSg4OCwgLTEzLCAxMDgsIC00LCA5MiwgNSwgNzgsIC0xMSwgMTE1KSwKLQlDQUJBQ19F TlRSWSg4OSwgLTMsIDQ2LCAwLCAzOSwgLTYsIDU1LCAtMTIsIDYzKSwKLQlDQUJBQ19FTlRSWSg5 MCwgLTEsIDY1LCAwLCA2NSwgNCwgNjEsIC0yLCA2OCksCi0JQ0FCQUNfRU5UUlkoOTEsIC0xLCA1 NywgLTE1LCA4NCwgLTE0LCA4MywgLTE1LCA4NCksCi0JQ0FCQUNfRU5UUlkoOTIsIC05LCA5Mywg LTM1LCAxMjcsIC0zNywgMTI3LCAtMTMsIDEwNCksCi0JQ0FCQUNfRU5UUlkoOTMsIC0zLCA3NCwg LTIsIDczLCAtNSwgNzksIC0zLCA3MCksCi0JQ0FCQUNfRU5UUlkoOTQsIC05LCA5MiwgLTEyLCAx MDQsIC0xMSwgMTA0LCAtOCwgOTMpLAotCUNBQkFDX0VOVFJZKDk1LCAtOCwgODcsIC05LCA5MSwg LTExLCA5MSwgLTEwLCA5MCksCi0JQ0FCQUNfRU5UUlkoOTYsIC0yMywgMTI2LCAtMzEsIDEyNywg LTMwLCAxMjcsIC0zMCwgMTI3KSwKLQlDQUJBQ19FTlRSWSg5NywgNSwgNTQsIDMsIDU1LCAwLCA2 NSwgLTEsIDc0KSwKLQlDQUJBQ19FTlRSWSg5OCwgNiwgNjAsIDcsIDU2LCAtMiwgNzksIC02LCA5 NyksCi0JQ0FCQUNfRU5UUlkoOTksIDYsIDU5LCA3LCA1NSwgMCwgNzIsIC03LCA5MSksCi0JQ0FC QUNfRU5UUlkoMTAwLCA2LCA2OSwgOCwgNjEsIC00LCA5MiwgLTIwLCAxMjcpLAotCUNBQkFDX0VO VFJZKDEwMSwgLTEsIDQ4LCAtMywgNTMsIC02LCA1NiwgLTQsIDU2KSwKLQlDQUJBQ19FTlRSWSgx MDIsIDAsIDY4LCAwLCA2OCwgMywgNjgsIC01LCA4MiksCi0JQ0FCQUNfRU5UUlkoMTAzLCAtNCwg NjksIC03LCA3NCwgLTgsIDcxLCAtNywgNzYpLAotCUNBQkFDX0VOVFJZKDEwNCwgLTgsIDg4LCAt OSwgODgsIC0xMywgOTgsIC0yMiwgMTI1KSwKLQotCS8qIFRhYmxlIDktMTkg4oCTIFZhbHVlcyBv ZiB2YXJpYWJsZXMgbSBhbmQgbiBmb3IgY3R4SWR4IGZyb20gMTA1IHRvIDE2NSAqLwotCUNBQkFD X0VOVFJZKDEwNSwgLTIsIDg1LCAtMTMsIDEwMywgLTQsIDg2LCAtNywgOTMpLAotCUNBQkFDX0VO VFJZKDEwNiwgLTYsIDc4LCAtMTMsIDkxLCAtMTIsIDg4LCAtMTEsIDg3KSwKLQlDQUJBQ19FTlRS WSgxMDcsIC0xLCA3NSwgLTksIDg5LCAtNSwgODIsIC0zLCA3NyksCi0JQ0FCQUNfRU5UUlkoMTA4 LCAtNywgNzcsIC0xNCwgOTIsIC0zLCA3MiwgLTUsIDcxKSwKLQlDQUJBQ19FTlRSWSgxMDksIDIs IDU0LCAtOCwgNzYsIC00LCA2NywgLTQsIDYzKSwKLQlDQUJBQ19FTlRSWSgxMTAsIDUsIDUwLCAt MTIsIDg3LCAtOCwgNzIsIC00LCA2OCksCi0JQ0FCQUNfRU5UUlkoMTExLCAtMywgNjgsIC0yMywg MTEwLCAtMTYsIDg5LCAtMTIsIDg0KSwKLQlDQUJBQ19FTlRSWSgxMTIsIDEsIDUwLCAtMjQsIDEw NSwgLTksIDY5LCAtNywgNjIpLAotCUNBQkFDX0VOVFJZKDExMywgNiwgNDIsIC0xMCwgNzgsIC0x LCA1OSwgLTcsIDY1KSwKLQlDQUJBQ19FTlRSWSgxMTQsIC00LCA4MSwgLTIwLCAxMTIsIDUsIDY2 LCA4LCA2MSksCi0JQ0FCQUNfRU5UUlkoMTE1LCAxLCA2MywgLTE3LCA5OSwgNCwgNTcsIDUsIDU2 KSwKLQlDQUJBQ19FTlRSWSgxMTYsIC00LCA3MCwgLTc4LCAxMjcsIC00LCA3MSwgLTIsIDY2KSwK LQlDQUJBQ19FTlRSWSgxMTcsIDAsIDY3LCAtNzAsIDEyNywgLTIsIDcxLCAxLCA2NCksCi0JQ0FC QUNfRU5UUlkoMTE4LCAyLCA1NywgLTUwLCAxMjcsIDIsIDU4LCAwLCA2MSksCi0JQ0FCQUNfRU5U UlkoMTE5LCAtMiwgNzYsIC00NiwgMTI3LCAtMSwgNzQsIC0yLCA3OCksCi0JQ0FCQUNfRU5UUlko MTIwLCAxMSwgMzUsIC00LCA2NiwgLTQsIDQ0LCAxLCA1MCksCi0JQ0FCQUNfRU5UUlkoMTIxLCA0 LCA2NCwgLTUsIDc4LCAtMSwgNjksIDcsIDUyKSwKLQlDQUJBQ19FTlRSWSgxMjIsIDEsIDYxLCAt NCwgNzEsIDAsIDYyLCAxMCwgMzUpLAotCUNBQkFDX0VOVFJZKDEyMywgMTEsIDM1LCAtOCwgNzIs IC03LCA1MSwgMCwgNDQpLAotCUNBQkFDX0VOVFJZKDEyNCwgMTgsIDI1LCAyLCA1OSwgLTQsIDQ3 LCAxMSwgMzgpLAotCUNBQkFDX0VOVFJZKDEyNSwgMTIsIDI0LCAtMSwgNTUsIC02LCA0MiwgMSwg NDUpLAotCUNBQkFDX0VOVFJZKDEyNiwgMTMsIDI5LCAtNywgNzAsIC0zLCA0MSwgMCwgNDYpLAot CUNBQkFDX0VOVFJZKDEyNywgMTMsIDM2LCAtNiwgNzUsIC02LCA1MywgNSwgNDQpLAotCUNBQkFD X0VOVFJZKDEyOCwgLTEwLCA5MywgLTgsIDg5LCA4LCA3NiwgMzEsIDE3KSwKLQlDQUJBQ19FTlRS WSgxMjksIC03LCA3MywgLTM0LCAxMTksIC05LCA3OCwgMSwgNTEpLAotCUNBQkFDX0VOVFJZKDEz MCwgLTIsIDczLCAtMywgNzUsIC0xMSwgODMsIDcsIDUwKSwKLQlDQUJBQ19FTlRSWSgxMzEsIDEz LCA0NiwgMzIsIDIwLCA5LCA1MiwgMjgsIDE5KSwKLQlDQUJBQ19FTlRSWSgxMzIsIDksIDQ5LCAz MCwgMjIsIDAsIDY3LCAxNiwgMzMpLAotCUNBQkFDX0VOVFJZKDEzMywgLTcsIDEwMCwgLTQ0LCAx MjcsIC01LCA5MCwgMTQsIDYyKSwKLQlDQUJBQ19FTlRSWSgxMzQsIDksIDUzLCAwLCA1NCwgMSwg NjcsIC0xMywgMTA4KSwKLQlDQUJBQ19FTlRSWSgxMzUsIDIsIDUzLCAtNSwgNjEsIC0xNSwgNzIs IC0xNSwgMTAwKSwKLQlDQUJBQ19FTlRSWSgxMzYsIDUsIDUzLCAwLCA1OCwgLTUsIDc1LCAtMTMs IDEwMSksCi0JQ0FCQUNfRU5UUlkoMTM3LCAtMiwgNjEsIC0xLCA2MCwgLTgsIDgwLCAtMTMsIDkx KSwKLQlDQUJBQ19FTlRSWSgxMzgsIDAsIDU2LCAtMywgNjEsIC0yMSwgODMsIC0xMiwgOTQpLAot CUNBQkFDX0VOVFJZKDEzOSwgMCwgNTYsIC04LCA2NywgLTIxLCA2NCwgLTEwLCA4OCksCi0JQ0FC QUNfRU5UUlkoMTQwLCAtMTMsIDYzLCAtMjUsIDg0LCAtMTMsIDMxLCAtMTYsIDg0KSwKLQlDQUJB Q19FTlRSWSgxNDEsIC01LCA2MCwgLTE0LCA3NCwgLTI1LCA2NCwgLTEwLCA4NiksCi0JQ0FCQUNf RU5UUlkoMTQyLCAtMSwgNjIsIC01LCA2NSwgLTI5LCA5NCwgLTcsIDgzKSwKLQlDQUJBQ19FTlRS WSgxNDMsIDQsIDU3LCA1LCA1MiwgOSwgNzUsIC0xMywgODcpLAotCUNBQkFDX0VOVFJZKDE0NCwg LTYsIDY5LCAyLCA1NywgMTcsIDYzLCAtMTksIDk0KSwKLQlDQUJBQ19FTlRSWSgxNDUsIDQsIDU3 LCAwLCA2MSwgLTgsIDc0LCAxLCA3MCksCi0JQ0FCQUNfRU5UUlkoMTQ2LCAxNCwgMzksIC05LCA2 OSwgLTUsIDM1LCAwLCA3MiksCi0JQ0FCQUNfRU5UUlkoMTQ3LCA0LCA1MSwgLTExLCA3MCwgLTIs IDI3LCAtNSwgNzQpLAotCUNBQkFDX0VOVFJZKDE0OCwgMTMsIDY4LCAxOCwgNTUsIDEzLCA5MSwg MTgsIDU5KSwKLQlDQUJBQ19FTlRSWSgxNDksIDMsIDY0LCAtNCwgNzEsIDMsIDY1LCAtOCwgMTAy KSwKLQlDQUJBQ19FTlRSWSgxNTAsIDEsIDYxLCAwLCA1OCwgLTcsIDY5LCAtMTUsIDEwMCksCi0J Q0FCQUNfRU5UUlkoMTUxLCA5LCA2MywgNywgNjEsIDgsIDc3LCAwLCA5NSksCi0JQ0FCQUNfRU5U UlkoMTUyLCA3LCA1MCwgOSwgNDEsIC0xMCwgNjYsIC00LCA3NSksCi0JQ0FCQUNfRU5UUlkoMTUz LCAxNiwgMzksIDE4LCAyNSwgMywgNjIsIDIsIDcyKSwKLQlDQUJBQ19FTlRSWSgxNTQsIDUsIDQ0 LCA5LCAzMiwgLTMsIDY4LCAtMTEsIDc1KSwKLQlDQUJBQ19FTlRSWSgxNTUsIDQsIDUyLCA1LCA0 MywgLTIwLCA4MSwgLTMsIDcxKSwKLQlDQUJBQ19FTlRSWSgxNTYsIDExLCA0OCwgOSwgNDcsIDAs IDMwLCAxNSwgNDYpLAotCUNBQkFDX0VOVFJZKDE1NywgLTUsIDYwLCAwLCA0NCwgMSwgNywgLTEz LCA2OSksCi0JQ0FCQUNfRU5UUlkoMTU4LCAtMSwgNTksIDAsIDUxLCAtMywgMjMsIDAsIDYyKSwK LQlDQUJBQ19FTlRSWSgxNTksIDAsIDU5LCAyLCA0NiwgLTIxLCA3NCwgMCwgNjUpLAotCUNBQkFD X0VOVFJZKDE2MCwgMjIsIDMzLCAxOSwgMzgsIDE2LCA2NiwgMjEsIDM3KSwKLQlDQUJBQ19FTlRS WSgxNjEsIDUsIDQ0LCAtNCwgNjYsIC0yMywgMTI0LCAtMTUsIDcyKSwKLQlDQUJBQ19FTlRSWSgx NjIsIDE0LCA0MywgMTUsIDM4LCAxNywgMzcsIDksIDU3KSwKLQlDQUJBQ19FTlRSWSgxNjMsIC0x LCA3OCwgMTIsIDQyLCA0NCwgLTE4LCAxNiwgNTQpLAotCUNBQkFDX0VOVFJZKDE2NCwgMCwgNjAs IDksIDM0LCA1MCwgLTM0LCAwLCA2MiksCi0JQ0FCQUNfRU5UUlkoMTY1LCA5LCA2OSwgMCwgODks IC0yMiwgMTI3LCAxMiwgNzIpLAotCi0JLyogVGFibGUgOS0yMCDigJMgVmFsdWVzIG9mIHZhcmlh YmxlcyBtIGFuZCBuIGZvciBjdHhJZHggZnJvbSAxNjYgdG8gMjI2ICovCi0JQ0FCQUNfRU5UUlko MTY2LCAxMSwgMjgsIDQsIDQ1LCA0LCAzOSwgMjQsIDApLAotCUNBQkFDX0VOVFJZKDE2NywgMiwg NDAsIDEwLCAyOCwgMCwgNDIsIDE1LCA5KSwKLQlDQUJBQ19FTlRSWSgxNjgsIDMsIDQ0LCAxMCwg MzEsIDcsIDM0LCA4LCAyNSksCi0JQ0FCQUNfRU5UUlkoMTY5LCAwLCA0OSwgMzMsIC0xMSwgMTEs IDI5LCAxMywgMTgpLAotCUNBQkFDX0VOVFJZKDE3MCwgMCwgNDYsIDUyLCAtNDMsIDgsIDMxLCAx NSwgOSksCi0JQ0FCQUNfRU5UUlkoMTcxLCAyLCA0NCwgMTgsIDE1LCA2LCAzNywgMTMsIDE5KSwK LQlDQUJBQ19FTlRSWSgxNzIsIDIsIDUxLCAyOCwgMCwgNywgNDIsIDEwLCAzNyksCi0JQ0FCQUNf RU5UUlkoMTczLCAwLCA0NywgMzUsIC0yMiwgMywgNDAsIDEyLCAxOCksCi0JQ0FCQUNfRU5UUlko MTc0LCA0LCAzOSwgMzgsIC0yNSwgOCwgMzMsIDYsIDI5KSwKLQlDQUJBQ19FTlRSWSgxNzUsIDIs IDYyLCAzNCwgMCwgMTMsIDQzLCAyMCwgMzMpLAotCUNBQkFDX0VOVFJZKDE3NiwgNiwgNDYsIDM5 LCAtMTgsIDEzLCAzNiwgMTUsIDMwKSwKLQlDQUJBQ19FTlRSWSgxNzcsIDAsIDU0LCAzMiwgLTEy LCA0LCA0NywgNCwgNDUpLAotCUNBQkFDX0VOVFJZKDE3OCwgMywgNTQsIDEwMiwgLTk0LCAzLCA1 NSwgMSwgNTgpLAotCUNBQkFDX0VOVFJZKDE3OSwgMiwgNTgsIDAsIDAsIDIsIDU4LCAwLCA2Miks Ci0JQ0FCQUNfRU5UUlkoMTgwLCA0LCA2MywgNTYsIC0xNSwgNiwgNjAsIDcsIDYxKSwKLQlDQUJB Q19FTlRSWSgxODEsIDYsIDUxLCAzMywgLTQsIDgsIDQ0LCAxMiwgMzgpLAotCUNBQkFDX0VOVFJZ KDE4MiwgNiwgNTcsIDI5LCAxMCwgMTEsIDQ0LCAxMSwgNDUpLAotCUNBQkFDX0VOVFJZKDE4Mywg NywgNTMsIDM3LCAtNSwgMTQsIDQyLCAxNSwgMzkpLAotCUNBQkFDX0VOVFJZKDE4NCwgNiwgNTIs IDUxLCAtMjksIDcsIDQ4LCAxMSwgNDIpLAotCUNBQkFDX0VOVFJZKDE4NSwgNiwgNTUsIDM5LCAt OSwgNCwgNTYsIDEzLCA0NCksCi0JQ0FCQUNfRU5UUlkoMTg2LCAxMSwgNDUsIDUyLCAtMzQsIDQs IDUyLCAxNiwgNDUpLAotCUNBQkFDX0VOVFJZKDE4NywgMTQsIDM2LCA2OSwgLTU4LCAxMywgMzcs IDEyLCA0MSksCi0JQ0FCQUNfRU5UUlkoMTg4LCA4LCA1MywgNjcsIC02MywgOSwgNDksIDEwLCA0 OSksCi0JQ0FCQUNfRU5UUlkoMTg5LCAtMSwgODIsIDQ0LCAtNSwgMTksIDU4LCAzMCwgMzQpLAot CUNBQkFDX0VOVFJZKDE5MCwgNywgNTUsIDMyLCA3LCAxMCwgNDgsIDE4LCA0MiksCi0JQ0FCQUNf RU5UUlkoMTkxLCAtMywgNzgsIDU1LCAtMjksIDEyLCA0NSwgMTAsIDU1KSwKLQlDQUJBQ19FTlRS WSgxOTIsIDE1LCA0NiwgMzIsIDEsIDAsIDY5LCAxNywgNTEpLAotCUNBQkFDX0VOVFJZKDE5Mywg MjIsIDMxLCAwLCAwLCAyMCwgMzMsIDE3LCA0NiksCi0JQ0FCQUNfRU5UUlkoMTk0LCAtMSwgODQs IDI3LCAzNiwgOCwgNjMsIDAsIDg5KSwKLQlDQUJBQ19FTlRSWSgxOTUsIDI1LCA3LCAzMywgLTI1 LCAzNSwgLTE4LCAyNiwgLTE5KSwKLQlDQUJBQ19FTlRSWSgxOTYsIDMwLCAtNywgMzQsIC0zMCwg MzMsIC0yNSwgMjIsIC0xNyksCi0JQ0FCQUNfRU5UUlkoMTk3LCAyOCwgMywgMzYsIC0yOCwgMjgs IC0zLCAyNiwgLTE3KSwKLQlDQUJBQ19FTlRSWSgxOTgsIDI4LCA0LCAzOCwgLTI4LCAyNCwgMTAs IDMwLCAtMjUpLAotCUNBQkFDX0VOVFJZKDE5OSwgMzIsIDAsIDM4LCAtMjcsIDI3LCAwLCAyOCwg LTIwKSwKLQlDQUJBQ19FTlRSWSgyMDAsIDM0LCAtMSwgMzQsIC0xOCwgMzQsIC0xNCwgMzMsIC0y MyksCi0JQ0FCQUNfRU5UUlkoMjAxLCAzMCwgNiwgMzUsIC0xNiwgNTIsIC00NCwgMzcsIC0yNyks Ci0JQ0FCQUNfRU5UUlkoMjAyLCAzMCwgNiwgMzQsIC0xNCwgMzksIC0yNCwgMzMsIC0yMyksCi0J Q0FCQUNfRU5UUlkoMjAzLCAzMiwgOSwgMzIsIC04LCAxOSwgMTcsIDQwLCAtMjgpLAotCUNBQkFD X0VOVFJZKDIwNCwgMzEsIDE5LCAzNywgLTYsIDMxLCAyNSwgMzgsIC0xNyksCi0JQ0FCQUNfRU5U UlkoMjA1LCAyNiwgMjcsIDM1LCAwLCAzNiwgMjksIDMzLCAtMTEpLAotCUNBQkFDX0VOVFJZKDIw NiwgMjYsIDMwLCAzMCwgMTAsIDI0LCAzMywgNDAsIC0xNSksCi0JQ0FCQUNfRU5UUlkoMjA3LCAz NywgMjAsIDI4LCAxOCwgMzQsIDE1LCA0MSwgLTYpLAotCUNBQkFDX0VOVFJZKDIwOCwgMjgsIDM0 LCAyNiwgMjUsIDMwLCAyMCwgMzgsIDEpLAotCUNBQkFDX0VOVFJZKDIwOSwgMTcsIDcwLCAyOSwg NDEsIDIyLCA3MywgNDEsIDE3KSwKLQlDQUJBQ19FTlRSWSgyMTAsIDEsIDY3LCAwLCA3NSwgMjAs IDM0LCAzMCwgLTYpLAotCUNBQkFDX0VOVFJZKDIxMSwgNSwgNTksIDIsIDcyLCAxOSwgMzEsIDI3 LCAzKSwKLQlDQUJBQ19FTlRSWSgyMTIsIDksIDY3LCA4LCA3NywgMjcsIDQ0LCAyNiwgMjIpLAot CUNBQkFDX0VOVFJZKDIxMywgMTYsIDMwLCAxNCwgMzUsIDE5LCAxNiwgMzcsIC0xNiksCi0JQ0FC QUNfRU5UUlkoMjE0LCAxOCwgMzIsIDE4LCAzMSwgMTUsIDM2LCAzNSwgLTQpLAotCUNBQkFDX0VO VFJZKDIxNSwgMTgsIDM1LCAxNywgMzUsIDE1LCAzNiwgMzgsIC04KSwKLQlDQUJBQ19FTlRSWSgy MTYsIDIyLCAyOSwgMjEsIDMwLCAyMSwgMjgsIDM4LCAtMyksCi0JQ0FCQUNfRU5UUlkoMjE3LCAy NCwgMzEsIDE3LCA0NSwgMjUsIDIxLCAzNywgMyksCi0JQ0FCQUNfRU5UUlkoMjE4LCAyMywgMzgs IDIwLCA0MiwgMzAsIDIwLCAzOCwgNSksCi0JQ0FCQUNfRU5UUlkoMjE5LCAxOCwgNDMsIDE4LCA0 NSwgMzEsIDEyLCA0MiwgMCksCi0JQ0FCQUNfRU5UUlkoMjIwLCAyMCwgNDEsIDI3LCAyNiwgMjcs IDE2LCAzNSwgMTYpLAotCUNBQkFDX0VOVFJZKDIyMSwgMTEsIDYzLCAxNiwgNTQsIDI0LCA0Miwg MzksIDIyKSwKLQlDQUJBQ19FTlRSWSgyMjIsIDksIDU5LCA3LCA2NiwgMCwgOTMsIDE0LCA0OCks Ci0JQ0FCQUNfRU5UUlkoMjIzLCA5LCA2NCwgMTYsIDU2LCAxNCwgNTYsIDI3LCAzNyksCi0JQ0FC QUNfRU5UUlkoMjI0LCAtMSwgOTQsIDExLCA3MywgMTUsIDU3LCAyMSwgNjApLAotCUNBQkFDX0VO VFJZKDIyNSwgLTIsIDg5LCAxMCwgNjcsIDI2LCAzOCwgMTIsIDY4KSwKLQlDQUJBQ19FTlRSWSgy MjYsIC05LCAxMDgsIC0xMCwgMTE2LCAtMjQsIDEyNywgMiwgOTcpLAotCi0JLyogVGFibGUgOS0y MSDigJMgVmFsdWVzIG9mIHZhcmlhYmxlcyBtIGFuZCBuIGZvciBjdHhJZHggZnJvbSAyMjcgdG8g Mjc1ICovCi0JQ0FCQUNfRU5UUlkoMjI3LCAtNiwgNzYsIC0yMywgMTEyLCAtMjQsIDExNSwgLTMs IDcxKSwKLQlDQUJBQ19FTlRSWSgyMjgsIC0yLCA0NCwgLTE1LCA3MSwgLTIyLCA4MiwgLTYsIDQy KSwKLQlDQUJBQ19FTlRSWSgyMjksIDAsIDQ1LCAtNywgNjEsIC05LCA2MiwgLTUsIDUwKSwKLQlD QUJBQ19FTlRSWSgyMzAsIDAsIDUyLCAwLCA1MywgMCwgNTMsIC0zLCA1NCksCi0JQ0FCQUNfRU5U UlkoMjMxLCAtMywgNjQsIC01LCA2NiwgMCwgNTksIC0yLCA2MiksCi0JQ0FCQUNfRU5UUlkoMjMy LCAtMiwgNTksIC0xMSwgNzcsIC0xNCwgODUsIDAsIDU4KSwKLQlDQUJBQ19FTlRSWSgyMzMsIC00 LCA3MCwgLTksIDgwLCAtMTMsIDg5LCAxLCA2MyksCi0JQ0FCQUNfRU5UUlkoMjM0LCAtNCwgNzUs IC05LCA4NCwgLTEzLCA5NCwgLTIsIDcyKSwKLQlDQUJBQ19FTlRSWSgyMzUsIC04LCA4MiwgLTEw LCA4NywgLTExLCA5MiwgLTEsIDc0KSwKLQlDQUJBQ19FTlRSWSgyMzYsIC0xNywgMTAyLCAtMzQs IDEyNywgLTI5LCAxMjcsIC05LCA5MSksCi0JQ0FCQUNfRU5UUlkoMjM3LCAtOSwgNzcsIC0yMSwg MTAxLCAtMjEsIDEwMCwgLTUsIDY3KSwKLQlDQUJBQ19FTlRSWSgyMzgsIDMsIDI0LCAtMywgMzks IC0xNCwgNTcsIC01LCAyNyksCi0JQ0FCQUNfRU5UUlkoMjM5LCAwLCA0MiwgLTUsIDUzLCAtMTIs IDY3LCAtMywgMzkpLAotCUNBQkFDX0VOVFJZKDI0MCwgMCwgNDgsIC03LCA2MSwgLTExLCA3MSwg LTIsIDQ0KSwKLQlDQUJBQ19FTlRSWSgyNDEsIDAsIDU1LCAtMTEsIDc1LCAtMTAsIDc3LCAwLCA0 NiksCi0JQ0FCQUNfRU5UUlkoMjQyLCAtNiwgNTksIC0xNSwgNzcsIC0yMSwgODUsIC0xNiwgNjQp LAotCUNBQkFDX0VOVFJZKDI0MywgLTcsIDcxLCAtMTcsIDkxLCAtMTYsIDg4LCAtOCwgNjgpLAot CUNBQkFDX0VOVFJZKDI0NCwgLTEyLCA4MywgLTI1LCAxMDcsIC0yMywgMTA0LCAtMTAsIDc4KSwK LQlDQUJBQ19FTlRSWSgyNDUsIC0xMSwgODcsIC0yNSwgMTExLCAtMTUsIDk4LCAtNiwgNzcpLAot CUNBQkFDX0VOVFJZKDI0NiwgLTMwLCAxMTksIC0yOCwgMTIyLCAtMzcsIDEyNywgLTEwLCA4Niks Ci0JQ0FCQUNfRU5UUlkoMjQ3LCAxLCA1OCwgLTExLCA3NiwgLTEwLCA4MiwgLTEyLCA5MiksCi0J Q0FCQUNfRU5UUlkoMjQ4LCAtMywgMjksIC0xMCwgNDQsIC04LCA0OCwgLTE1LCA1NSksCi0JQ0FC QUNfRU5UUlkoMjQ5LCAtMSwgMzYsIC0xMCwgNTIsIC04LCA2MSwgLTEwLCA2MCksCi0JQ0FCQUNf RU5UUlkoMjUwLCAxLCAzOCwgLTEwLCA1NywgLTgsIDY2LCAtNiwgNjIpLAotCUNBQkFDX0VOVFJZ KDI1MSwgMiwgNDMsIC05LCA1OCwgLTcsIDcwLCAtNCwgNjUpLAotCUNBQkFDX0VOVFJZKDI1Miwg LTYsIDU1LCAtMTYsIDcyLCAtMTQsIDc1LCAtMTIsIDczKSwKLQlDQUJBQ19FTlRSWSgyNTMsIDAs IDU4LCAtNywgNjksIC0xMCwgNzksIC04LCA3NiksCi0JQ0FCQUNfRU5UUlkoMjU0LCAwLCA2NCwg LTQsIDY5LCAtOSwgODMsIC03LCA4MCksCi0JQ0FCQUNfRU5UUlkoMjU1LCAtMywgNzQsIC01LCA3 NCwgLTEyLCA5MiwgLTksIDg4KSwKLQlDQUJBQ19FTlRSWSgyNTYsIC0xMCwgOTAsIC05LCA4Niwg LTE4LCAxMDgsIC0xNywgMTEwKSwKLQlDQUJBQ19FTlRSWSgyNTcsIDAsIDcwLCAyLCA2NiwgLTQs IDc5LCAtMTEsIDk3KSwKLQlDQUJBQ19FTlRSWSgyNTgsIC00LCAyOSwgLTksIDM0LCAtMjIsIDY5 LCAtMjAsIDg0KSwKLQlDQUJBQ19FTlRSWSgyNTksIDUsIDMxLCAxLCAzMiwgLTE2LCA3NSwgLTEx LCA3OSksCi0JQ0FCQUNfRU5UUlkoMjYwLCA3LCA0MiwgMTEsIDMxLCAtMiwgNTgsIC02LCA3Myks Ci0JQ0FCQUNfRU5UUlkoMjYxLCAxLCA1OSwgNSwgNTIsIDEsIDU4LCAtNCwgNzQpLAotCUNBQkFD X0VOVFJZKDI2MiwgLTIsIDU4LCAtMiwgNTUsIC0xMywgNzgsIC0xMywgODYpLAotCUNBQkFDX0VO VFJZKDI2MywgLTMsIDcyLCAtMiwgNjcsIC05LCA4MywgLTEzLCA5NiksCi0JQ0FCQUNfRU5UUlko MjY0LCAtMywgODEsIDAsIDczLCAtNCwgODEsIC0xMSwgOTcpLAotCUNBQkFDX0VOVFJZKDI2NSwg LTExLCA5NywgLTgsIDg5LCAtMTMsIDk5LCAtMTksIDExNyksCi0JQ0FCQUNfRU5UUlkoMjY2LCAw LCA1OCwgMywgNTIsIC0xMywgODEsIC04LCA3OCksCi0JQ0FCQUNfRU5UUlkoMjY3LCA4LCA1LCA3 LCA0LCAtNiwgMzgsIC01LCAzMyksCi0JQ0FCQUNfRU5UUlkoMjY4LCAxMCwgMTQsIDEwLCA4LCAt MTMsIDYyLCAtNCwgNDgpLAotCUNBQkFDX0VOVFJZKDI2OSwgMTQsIDE4LCAxNywgOCwgLTYsIDU4 LCAtMiwgNTMpLAotCUNBQkFDX0VOVFJZKDI3MCwgMTMsIDI3LCAxNiwgMTksIC0yLCA1OSwgLTMs IDYyKSwKLQlDQUJBQ19FTlRSWSgyNzEsIDIsIDQwLCAzLCAzNywgLTE2LCA3MywgLTEzLCA3MSks Ci0JQ0FCQUNfRU5UUlkoMjcyLCAwLCA1OCwgLTEsIDYxLCAtMTAsIDc2LCAtMTAsIDc5KSwKLQlD QUJBQ19FTlRSWSgyNzMsIC0zLCA3MCwgLTUsIDczLCAtMTMsIDg2LCAtMTIsIDg2KSwKLQlDQUJB Q19FTlRSWSgyNzQsIC02LCA3OSwgLTEsIDcwLCAtOSwgODMsIC0xMywgOTApLAotCUNBQkFDX0VO VFJZKDI3NSwgLTgsIDg1LCAtNCwgNzgsIC0xMCwgODcsIC0xNCwgOTcpLAotCi0JLyogVGFibGUg OS0yMiDigJMgVmFsdWVzIG9mIHZhcmlhYmxlcyBtIGFuZCBuIGZvciBjdHhJZHggZnJvbSAyNzcg dG8gMzM3ICovCi0JQ0FCQUNfRU5UUlkoMjc3LCAtMTMsIDEwNiwgLTIxLCAxMjYsIC0yMiwgMTI3 LCAtNiwgOTMpLAotCUNBQkFDX0VOVFJZKDI3OCwgLTE2LCAxMDYsIC0yMywgMTI0LCAtMjUsIDEy NywgLTYsIDg0KSwKLQlDQUJBQ19FTlRSWSgyNzksIC0xMCwgODcsIC0yMCwgMTEwLCAtMjUsIDEy MCwgLTgsIDc5KSwKLQlDQUJBQ19FTlRSWSgyODAsIC0yMSwgMTE0LCAtMjYsIDEyNiwgLTI3LCAx MjcsIDAsIDY2KSwKLQlDQUJBQ19FTlRSWSgyODEsIC0xOCwgMTEwLCAtMjUsIDEyNCwgLTE5LCAx MTQsIC0xLCA3MSksCi0JQ0FCQUNfRU5UUlkoMjgyLCAtMTQsIDk4LCAtMTcsIDEwNSwgLTIzLCAx MTcsIDAsIDYyKSwKLQlDQUJBQ19FTlRSWSgyODMsIC0yMiwgMTEwLCAtMjcsIDEyMSwgLTI1LCAx MTgsIC0yLCA2MCksCi0JQ0FCQUNfRU5UUlkoMjg0LCAtMjEsIDEwNiwgLTI3LCAxMTcsIC0yNiwg MTE3LCAtMiwgNTkpLAotCUNBQkFDX0VOVFJZKDI4NSwgLTE4LCAxMDMsIC0xNywgMTAyLCAtMjQs IDExMywgLTUsIDc1KSwKLQlDQUJBQ19FTlRSWSgyODYsIC0yMSwgMTA3LCAtMjYsIDExNywgLTI4 LCAxMTgsIC0zLCA2MiksCi0JQ0FCQUNfRU5UUlkoMjg3LCAtMjMsIDEwOCwgLTI3LCAxMTYsIC0z MSwgMTIwLCAtNCwgNTgpLAotCUNBQkFDX0VOVFJZKDI4OCwgLTI2LCAxMTIsIC0zMywgMTIyLCAt MzcsIDEyNCwgLTksIDY2KSwKLQlDQUJBQ19FTlRSWSgyODksIC0xMCwgOTYsIC0xMCwgOTUsIC0x MCwgOTQsIC0xLCA3OSksCi0JQ0FCQUNfRU5UUlkoMjkwLCAtMTIsIDk1LCAtMTQsIDEwMCwgLTE1 LCAxMDIsIDAsIDcxKSwKLQlDQUJBQ19FTlRSWSgyOTEsIC01LCA5MSwgLTgsIDk1LCAtMTAsIDk5 LCAzLCA2OCksCi0JQ0FCQUNfRU5UUlkoMjkyLCAtOSwgOTMsIC0xNywgMTExLCAtMTMsIDEwNiwg MTAsIDQ0KSwKLQlDQUJBQ19FTlRSWSgyOTMsIC0yMiwgOTQsIC0yOCwgMTE0LCAtNTAsIDEyNywg LTcsIDYyKSwKLQlDQUJBQ19FTlRSWSgyOTQsIC01LCA4NiwgLTYsIDg5LCAtNSwgOTIsIDE1LCAz NiksCi0JQ0FCQUNfRU5UUlkoMjk1LCA5LCA2NywgLTIsIDgwLCAxNywgNTcsIDE0LCA0MCksCi0J Q0FCQUNfRU5UUlkoMjk2LCAtNCwgODAsIC00LCA4MiwgLTUsIDg2LCAxNiwgMjcpLAotCUNBQkFD X0VOVFJZKDI5NywgLTEwLCA4NSwgLTksIDg1LCAtMTMsIDk0LCAxMiwgMjkpLAotCUNBQkFDX0VO VFJZKDI5OCwgLTEsIDcwLCAtOCwgODEsIC0xMiwgOTEsIDEsIDQ0KSwKLQlDQUJBQ19FTlRSWSgy OTksIDcsIDYwLCAtMSwgNzIsIC0yLCA3NywgMjAsIDM2KSwKLQlDQUJBQ19FTlRSWSgzMDAsIDks IDU4LCA1LCA2NCwgMCwgNzEsIDE4LCAzMiksCi0JQ0FCQUNfRU5UUlkoMzAxLCA1LCA2MSwgMSwg NjcsIC0xLCA3MywgNSwgNDIpLAotCUNBQkFDX0VOVFJZKDMwMiwgMTIsIDUwLCA5LCA1NiwgNCwg NjQsIDEsIDQ4KSwKLQlDQUJBQ19FTlRSWSgzMDMsIDE1LCA1MCwgMCwgNjksIC03LCA4MSwgMTAs IDYyKSwKLQlDQUJBQ19FTlRSWSgzMDQsIDE4LCA0OSwgMSwgNjksIDUsIDY0LCAxNywgNDYpLAot CUNBQkFDX0VOVFJZKDMwNSwgMTcsIDU0LCA3LCA2OSwgMTUsIDU3LCA5LCA2NCksCi0JQ0FCQUNf RU5UUlkoMzA2LCAxMCwgNDEsIC03LCA2OSwgMSwgNjcsIC0xMiwgMTA0KSwKLQlDQUJBQ19FTlRS WSgzMDcsIDcsIDQ2LCAtNiwgNjcsIDAsIDY4LCAtMTEsIDk3KSwKLQlDQUJBQ19FTlRSWSgzMDgs IC0xLCA1MSwgLTE2LCA3NywgLTEwLCA2NywgLTE2LCA5NiksCi0JQ0FCQUNfRU5UUlkoMzA5LCA3 LCA0OSwgLTIsIDY0LCAxLCA2OCwgLTcsIDg4KSwKLQlDQUJBQ19FTlRSWSgzMTAsIDgsIDUyLCAy LCA2MSwgMCwgNzcsIC04LCA4NSksCi0JQ0FCQUNfRU5UUlkoMzExLCA5LCA0MSwgLTYsIDY3LCAy LCA2NCwgLTcsIDg1KSwKLQlDQUJBQ19FTlRSWSgzMTIsIDYsIDQ3LCAtMywgNjQsIDAsIDY4LCAt OSwgODUpLAotCUNBQkFDX0VOVFJZKDMxMywgMiwgNTUsIDIsIDU3LCAtNSwgNzgsIC0xMywgODgp LAotCUNBQkFDX0VOVFJZKDMxNCwgMTMsIDQxLCAtMywgNjUsIDcsIDU1LCA0LCA2NiksCi0JQ0FC QUNfRU5UUlkoMzE1LCAxMCwgNDQsIC0zLCA2NiwgNSwgNTksIC0zLCA3NyksCi0JQ0FCQUNfRU5U UlkoMzE2LCA2LCA1MCwgMCwgNjIsIDIsIDY1LCAtMywgNzYpLAotCUNBQkFDX0VOVFJZKDMxNywg NSwgNTMsIDksIDUxLCAxNCwgNTQsIC02LCA3NiksCi0JQ0FCQUNfRU5UUlkoMzE4LCAxMywgNDks IC0xLCA2NiwgMTUsIDQ0LCAxMCwgNTgpLAotCUNBQkFDX0VOVFJZKDMxOSwgNCwgNjMsIC0yLCA3 MSwgNSwgNjAsIC0xLCA3NiksCi0JQ0FCQUNfRU5UUlkoMzIwLCA2LCA2NCwgLTIsIDc1LCAyLCA3 MCwgLTEsIDgzKSwKLQlDQUJBQ19FTlRSWSgzMjEsIC0yLCA2OSwgLTEsIDcwLCAtMiwgNzYsIC03 LCA5OSksCi0JQ0FCQUNfRU5UUlkoMzIyLCAtMiwgNTksIC05LCA3MiwgLTE4LCA4NiwgLTE0LCA5 NSksCi0JQ0FCQUNfRU5UUlkoMzIzLCA2LCA3MCwgMTQsIDYwLCAxMiwgNzAsIDIsIDk1KSwKLQlD QUJBQ19FTlRSWSgzMjQsIDEwLCA0NCwgMTYsIDM3LCA1LCA2NCwgMCwgNzYpLAotCUNBQkFDX0VO VFJZKDMyNSwgOSwgMzEsIDAsIDQ3LCAtMTIsIDcwLCAtNSwgNzQpLAotCUNBQkFDX0VOVFJZKDMy NiwgMTIsIDQzLCAxOCwgMzUsIDExLCA1NSwgMCwgNzApLAotCUNBQkFDX0VOVFJZKDMyNywgMywg NTMsIDExLCAzNywgNSwgNTYsIC0xMSwgNzUpLAotCUNBQkFDX0VOVFJZKDMyOCwgMTQsIDM0LCAx MiwgNDEsIDAsIDY5LCAxLCA2OCksCi0JQ0FCQUNfRU5UUlkoMzI5LCAxMCwgMzgsIDEwLCA0MSwg MiwgNjUsIDAsIDY1KSwKLQlDQUJBQ19FTlRSWSgzMzAsIC0zLCA1MiwgMiwgNDgsIC02LCA3NCwg LTE0LCA3MyksCi0JQ0FCQUNfRU5UUlkoMzMxLCAxMywgNDAsIDEyLCA0MSwgNSwgNTQsIDMsIDYy KSwKLQlDQUJBQ19FTlRSWSgzMzIsIDE3LCAzMiwgMTMsIDQxLCA3LCA1NCwgNCwgNjIpLAotCUNB QkFDX0VOVFJZKDMzMywgNywgNDQsIDAsIDU5LCAtNiwgNzYsIC0xLCA2OCksCi0JQ0FCQUNfRU5U UlkoMzM0LCA3LCAzOCwgMywgNTAsIC0xMSwgODIsIC0xMywgNzUpLAotCUNBQkFDX0VOVFJZKDMz NSwgMTMsIDUwLCAxOSwgNDAsIC0yLCA3NywgMTEsIDU1KSwKLQlDQUJBQ19FTlRSWSgzMzYsIDEw LCA1NywgMywgNjYsIC0yLCA3NywgNSwgNjQpLAotCUNBQkFDX0VOVFJZKDMzNywgMjYsIDQzLCAx OCwgNTAsIDI1LCA0MiwgMTIsIDcwKSwKLQotCS8qIFRhYmxlIDktMjMg4oCTIFZhbHVlcyBvZiB2 YXJpYWJsZXMgbSBhbmQgbiBmb3IgY3R4SWR4IGZyb20gMzM4IHRvIDM5OCAqLwotCUNBQkFDX0VO VFJZKDMzOCwgMTQsIDExLCAxOSwgLTYsIDE3LCAtMTMsIDE1LCA2KSwKLQlDQUJBQ19FTlRSWSgz MzksIDExLCAxNCwgMTgsIC02LCAxNiwgLTksIDYsIDE5KSwKLQlDQUJBQ19FTlRSWSgzNDAsIDks IDExLCAxNCwgMCwgMTcsIC0xMiwgNywgMTYpLAotCUNBQkFDX0VOVFJZKDM0MSwgMTgsIDExLCAy NiwgLTEyLCAyNywgLTIxLCAxMiwgMTQpLAotCUNBQkFDX0VOVFJZKDM0MiwgMjEsIDksIDMxLCAt MTYsIDM3LCAtMzAsIDE4LCAxMyksCi0JQ0FCQUNfRU5UUlkoMzQzLCAyMywgLTIsIDMzLCAtMjUs IDQxLCAtNDAsIDEzLCAxMSksCi0JQ0FCQUNfRU5UUlkoMzQ0LCAzMiwgLTE1LCAzMywgLTIyLCA0 MiwgLTQxLCAxMywgMTUpLAotCUNBQkFDX0VOVFJZKDM0NSwgMzIsIC0xNSwgMzcsIC0yOCwgNDgs IC00NywgMTUsIDE2KSwKLQlDQUJBQ19FTlRSWSgzNDYsIDM0LCAtMjEsIDM5LCAtMzAsIDM5LCAt MzIsIDEyLCAyMyksCi0JQ0FCQUNfRU5UUlkoMzQ3LCAzOSwgLTIzLCA0MiwgLTMwLCA0NiwgLTQw LCAxMywgMjMpLAotCUNBQkFDX0VOVFJZKDM0OCwgNDIsIC0zMywgNDcsIC00MiwgNTIsIC01MSwg MTUsIDIwKSwKLQlDQUJBQ19FTlRSWSgzNDksIDQxLCAtMzEsIDQ1LCAtMzYsIDQ2LCAtNDEsIDE0 LCAyNiksCi0JQ0FCQUNfRU5UUlkoMzUwLCA0NiwgLTI4LCA0OSwgLTM0LCA1MiwgLTM5LCAxNCwg NDQpLAotCUNBQkFDX0VOVFJZKDM1MSwgMzgsIC0xMiwgNDEsIC0xNywgNDMsIC0xOSwgMTcsIDQw KSwKLQlDQUJBQ19FTlRSWSgzNTIsIDIxLCAyOSwgMzIsIDksIDMyLCAxMSwgMTcsIDQ3KSwKLQlD QUJBQ19FTlRSWSgzNTMsIDQ1LCAtMjQsIDY5LCAtNzEsIDYxLCAtNTUsIDI0LCAxNyksCi0JQ0FC QUNfRU5UUlkoMzU0LCA1MywgLTQ1LCA2MywgLTYzLCA1NiwgLTQ2LCAyMSwgMjEpLAotCUNBQkFD X0VOVFJZKDM1NSwgNDgsIC0yNiwgNjYsIC02NCwgNjIsIC01MCwgMjUsIDIyKSwKLQlDQUJBQ19F TlRSWSgzNTYsIDY1LCAtNDMsIDc3LCAtNzQsIDgxLCAtNjcsIDMxLCAyNyksCi0JQ0FCQUNfRU5U UlkoMzU3LCA0MywgLTE5LCA1NCwgLTM5LCA0NSwgLTIwLCAyMiwgMjkpLAotCUNBQkFDX0VOVFJZ KDM1OCwgMzksIC0xMCwgNTIsIC0zNSwgMzUsIC0yLCAxOSwgMzUpLAotCUNBQkFDX0VOVFJZKDM1 OSwgMzAsIDksIDQxLCAtMTAsIDI4LCAxNSwgMTQsIDUwKSwKLQlDQUJBQ19FTlRSWSgzNjAsIDE4 LCAyNiwgMzYsIDAsIDM0LCAxLCAxMCwgNTcpLAotCUNBQkFDX0VOVFJZKDM2MSwgMjAsIDI3LCA0 MCwgLTEsIDM5LCAxLCA3LCA2MyksCi0JQ0FCQUNfRU5UUlkoMzYyLCAwLCA1NywgMzAsIDE0LCAz MCwgMTcsIC0yLCA3NyksCi0JQ0FCQUNfRU5UUlkoMzYzLCAtMTQsIDgyLCAyOCwgMjYsIDIwLCAz OCwgLTQsIDgyKSwKLQlDQUJBQ19FTlRSWSgzNjQsIC01LCA3NSwgMjMsIDM3LCAxOCwgNDUsIC0z LCA5NCksCi0JQ0FCQUNfRU5UUlkoMzY1LCAtMTksIDk3LCAxMiwgNTUsIDE1LCA1NCwgOSwgNjkp LAotCUNBQkFDX0VOVFJZKDM2NiwgLTM1LCAxMjUsIDExLCA2NSwgMCwgNzksIC0xMiwgMTA5KSwK LQlDQUJBQ19FTlRSWSgzNjcsIDI3LCAwLCAzNywgLTMzLCAzNiwgLTE2LCAzNiwgLTM1KSwKLQlD QUJBQ19FTlRSWSgzNjgsIDI4LCAwLCAzOSwgLTM2LCAzNywgLTE0LCAzNiwgLTM0KSwKLQlDQUJB Q19FTlRSWSgzNjksIDMxLCAtNCwgNDAsIC0zNywgMzcsIC0xNywgMzIsIC0yNiksCi0JQ0FCQUNf RU5UUlkoMzcwLCAyNywgNiwgMzgsIC0zMCwgMzIsIDEsIDM3LCAtMzApLAotCUNBQkFDX0VOVFJZ KDM3MSwgMzQsIDgsIDQ2LCAtMzMsIDM0LCAxNSwgNDQsIC0zMiksCi0JQ0FCQUNfRU5UUlkoMzcy LCAzMCwgMTAsIDQyLCAtMzAsIDI5LCAxNSwgMzQsIC0xOCksCi0JQ0FCQUNfRU5UUlkoMzczLCAy NCwgMjIsIDQwLCAtMjQsIDI0LCAyNSwgMzQsIC0xNSksCi0JQ0FCQUNfRU5UUlkoMzc0LCAzMywg MTksIDQ5LCAtMjksIDM0LCAyMiwgNDAsIC0xNSksCi0JQ0FCQUNfRU5UUlkoMzc1LCAyMiwgMzIs IDM4LCAtMTIsIDMxLCAxNiwgMzMsIC03KSwKLQlDQUJBQ19FTlRSWSgzNzYsIDI2LCAzMSwgNDAs IC0xMCwgMzUsIDE4LCAzNSwgLTUpLAotCUNBQkFDX0VOVFJZKDM3NywgMjEsIDQxLCAzOCwgLTMs IDMxLCAyOCwgMzMsIDApLAotCUNBQkFDX0VOVFJZKDM3OCwgMjYsIDQ0LCA0NiwgLTUsIDMzLCA0 MSwgMzgsIDIpLAotCUNBQkFDX0VOVFJZKDM3OSwgMjMsIDQ3LCAzMSwgMjAsIDM2LCAyOCwgMzMs IDEzKSwKLQlDQUJBQ19FTlRSWSgzODAsIDE2LCA2NSwgMjksIDMwLCAyNywgNDcsIDIzLCAzNSks Ci0JQ0FCQUNfRU5UUlkoMzgxLCAxNCwgNzEsIDI1LCA0NCwgMjEsIDYyLCAxMywgNTgpLAotCUNB QkFDX0VOVFJZKDM4MiwgOCwgNjAsIDEyLCA0OCwgMTgsIDMxLCAyOSwgLTMpLAotCUNBQkFDX0VO VFJZKDM4MywgNiwgNjMsIDExLCA0OSwgMTksIDI2LCAyNiwgMCksCi0JQ0FCQUNfRU5UUlkoMzg0 LCAxNywgNjUsIDI2LCA0NSwgMzYsIDI0LCAyMiwgMzApLAotCUNBQkFDX0VOVFJZKDM4NSwgMjEs IDI0LCAyMiwgMjIsIDI0LCAyMywgMzEsIC03KSwKLQlDQUJBQ19FTlRSWSgzODYsIDIzLCAyMCwg MjMsIDIyLCAyNywgMTYsIDM1LCAtMTUpLAotCUNBQkFDX0VOVFJZKDM4NywgMjYsIDIzLCAyNywg MjEsIDI0LCAzMCwgMzQsIC0zKSwKLQlDQUJBQ19FTlRSWSgzODgsIDI3LCAzMiwgMzMsIDIwLCAz MSwgMjksIDM0LCAzKSwKLQlDQUJBQ19FTlRSWSgzODksIDI4LCAyMywgMjYsIDI4LCAyMiwgNDEs IDM2LCAtMSksCi0JQ0FCQUNfRU5UUlkoMzkwLCAyOCwgMjQsIDMwLCAyNCwgMjIsIDQyLCAzNCwg NSksCi0JQ0FCQUNfRU5UUlkoMzkxLCAyMywgNDAsIDI3LCAzNCwgMTYsIDYwLCAzMiwgMTEpLAot CUNBQkFDX0VOVFJZKDM5MiwgMjQsIDMyLCAxOCwgNDIsIDE1LCA1MiwgMzUsIDUpLAotCUNBQkFD X0VOVFJZKDM5MywgMjgsIDI5LCAyNSwgMzksIDE0LCA2MCwgMzQsIDEyKSwKLQlDQUJBQ19FTlRS WSgzOTQsIDIzLCA0MiwgMTgsIDUwLCAzLCA3OCwgMzksIDExKSwKLQlDQUJBQ19FTlRSWSgzOTUs IDE5LCA1NywgMTIsIDcwLCAtMTYsIDEyMywgMzAsIDI5KSwKLQlDQUJBQ19FTlRSWSgzOTYsIDIy LCA1MywgMjEsIDU0LCAyMSwgNTMsIDM0LCAyNiksCi0JQ0FCQUNfRU5UUlkoMzk3LCAyMiwgNjEs IDE0LCA3MSwgMjIsIDU2LCAyOSwgMzkpLAotCUNBQkFDX0VOVFJZKDM5OCwgMTEsIDg2LCAxMSwg ODMsIDI1LCA2MSwgMTksIDY2KSwKLQotCS8qIFZhbHVlcyBvZiB2YXJpYWJsZXMgbSBhbmQgbiBm b3IgY3R4SWR4IGZyb20gMzk5IHRvIDQ2MyAobm90IGRvY3VtZW50ZWQpICovCi0JQ0FCQUNfRU5U UlkoMzk5LCAxMiwgNDAsIDI1LCAzMiwgMjEsIDMzLCAzMSwgMjEpLAotCUNBQkFDX0VOVFJZKDQw MCwgMTEsIDUxLCAyMSwgNDksIDE5LCA1MCwgMzEsIDMxKSwKLQlDQUJBQ19FTlRSWSg0MDEsIDE0 LCA1OSwgMjEsIDU0LCAxNywgNjEsIDI1LCA1MCksCi0JQ0FCQUNfRU5UUlkoNDAyLCAtNCwgNzks IC01LCA4NSwgLTMsIDc4LCAtMTcsIDEyMCksCi0JQ0FCQUNfRU5UUlkoNDAzLCAtNywgNzEsIC02 LCA4MSwgLTgsIDc0LCAtMjAsIDExMiksCi0JQ0FCQUNfRU5UUlkoNDA0LCAtNSwgNjksIC0xMCwg NzcsIC05LCA3MiwgLTE4LCAxMTQpLAotCUNBQkFDX0VOVFJZKDQwNSwgLTksIDcwLCAtNywgODEs IC0xMCwgNzIsIC0xMSwgODUpLAotCUNBQkFDX0VOVFJZKDQwNiwgLTgsIDY2LCAtMTcsIDgwLCAt MTgsIDc1LCAtMTUsIDkyKSwKLQlDQUJBQ19FTlRSWSg0MDcsIC0xMCwgNjgsIC0xOCwgNzMsIC0x MiwgNzEsIC0xNCwgODkpLAotCUNBQkFDX0VOVFJZKDQwOCwgLTE5LCA3MywgLTQsIDc0LCAtMTEs IDYzLCAtMjYsIDcxKSwKLQlDQUJBQ19FTlRSWSg0MDksIC0xMiwgNjksIC0xMCwgODMsIC01LCA3 MCwgLTE1LCA4MSksCi0JQ0FCQUNfRU5UUlkoNDEwLCAtMTYsIDcwLCAtOSwgNzEsIC0xNywgNzUs IC0xNCwgODApLAotCUNBQkFDX0VOVFJZKDQxMSwgLTE1LCA2NywgLTksIDY3LCAtMTQsIDcyLCAw LCA2OCksCi0JQ0FCQUNfRU5UUlkoNDEyLCAtMjAsIDYyLCAtMSwgNjEsIC0xNiwgNjcsIC0xNCwg NzApLAotCUNBQkFDX0VOVFJZKDQxMywgLTE5LCA3MCwgLTgsIDY2LCAtOCwgNTMsIC0yNCwgNTYp LAotCUNBQkFDX0VOVFJZKDQxNCwgLTE2LCA2NiwgLTE0LCA2NiwgLTE0LCA1OSwgLTIzLCA2OCks Ci0JQ0FCQUNfRU5UUlkoNDE1LCAtMjIsIDY1LCAwLCA1OSwgLTksIDUyLCAtMjQsIDUwKSwKLQlD QUJBQ19FTlRSWSg0MTYsIC0yMCwgNjMsIDIsIDU5LCAtMTEsIDY4LCAtMTEsIDc0KSwKLQlDQUJB Q19FTlRSWSg0MTcsIDksIC0yLCAxNywgLTEwLCA5LCAtMiwgMjMsIC0xMyksCi0JQ0FCQUNfRU5U UlkoNDE4LCAyNiwgLTksIDMyLCAtMTMsIDMwLCAtMTAsIDI2LCAtMTMpLAotCUNBQkFDX0VOVFJZ KDQxOSwgMzMsIC05LCA0MiwgLTksIDMxLCAtNCwgNDAsIC0xNSksCi0JQ0FCQUNfRU5UUlkoNDIw LCAzOSwgLTcsIDQ5LCAtNSwgMzMsIC0xLCA0OSwgLTE0KSwKLQlDQUJBQ19FTlRSWSg0MjEsIDQx LCAtMiwgNTMsIDAsIDMzLCA3LCA0NCwgMyksCi0JQ0FCQUNfRU5UUlkoNDIyLCA0NSwgMywgNjQs IDMsIDMxLCAxMiwgNDUsIDYpLAotCUNBQkFDX0VOVFJZKDQyMywgNDksIDksIDY4LCAxMCwgMzcs IDIzLCA0NCwgMzQpLAotCUNBQkFDX0VOVFJZKDQyNCwgNDUsIDI3LCA2NiwgMjcsIDMxLCAzOCwg MzMsIDU0KSwKLQlDQUJBQ19FTlRSWSg0MjUsIDM2LCA1OSwgNDcsIDU3LCAyMCwgNjQsIDE5LCA4 MiksCi0JQ0FCQUNfRU5UUlkoNDI2LCAtNiwgNjYsIC01LCA3MSwgLTksIDcxLCAtMywgNzUpLAot CUNBQkFDX0VOVFJZKDQyNywgLTcsIDM1LCAwLCAyNCwgLTcsIDM3LCAtMSwgMjMpLAotCUNBQkFD X0VOVFJZKDQyOCwgLTcsIDQyLCAtMSwgMzYsIC04LCA0NCwgMSwgMzQpLAotCUNBQkFDX0VOVFJZ KDQyOSwgLTgsIDQ1LCAtMiwgNDIsIC0xMSwgNDksIDEsIDQzKSwKLQlDQUJBQ19FTlRSWSg0MzAs IC01LCA0OCwgLTIsIDUyLCAtMTAsIDU2LCAwLCA1NCksCi0JQ0FCQUNfRU5UUlkoNDMxLCAtMTIs IDU2LCAtOSwgNTcsIC0xMiwgNTksIC0yLCA1NSksCi0JQ0FCQUNfRU5UUlkoNDMyLCAtNiwgNjAs IC02LCA2MywgLTgsIDYzLCAwLCA2MSksCi0JQ0FCQUNfRU5UUlkoNDMzLCAtNSwgNjIsIC00LCA2 NSwgLTksIDY3LCAxLCA2NCksCi0JQ0FCQUNfRU5UUlkoNDM0LCAtOCwgNjYsIC00LCA2NywgLTYs IDY4LCAwLCA2OCksCi0JQ0FCQUNfRU5UUlkoNDM1LCAtOCwgNzYsIC03LCA4MiwgLTEwLCA3OSwg LTksIDkyKSwKLQlDQUJBQ19FTlRSWSg0MzYsIC01LCA4NSwgLTMsIDgxLCAtMywgNzgsIC0xNCwg MTA2KSwKLQlDQUJBQ19FTlRSWSg0MzcsIC02LCA4MSwgLTMsIDc2LCAtOCwgNzQsIC0xMywgOTcp LAotCUNBQkFDX0VOVFJZKDQzOCwgLTEwLCA3NywgLTcsIDcyLCAtOSwgNzIsIC0xNSwgOTApLAot CUNBQkFDX0VOVFJZKDQzOSwgLTcsIDgxLCAtNiwgNzgsIC0xMCwgNzIsIC0xMiwgOTApLAotCUNB QkFDX0VOVFJZKDQ0MCwgLTE3LCA4MCwgLTEyLCA3MiwgLTE4LCA3NSwgLTE4LCA4OCksCi0JQ0FC QUNfRU5UUlkoNDQxLCAtMTgsIDczLCAtMTQsIDY4LCAtMTIsIDcxLCAtMTAsIDczKSwKLQlDQUJB Q19FTlRSWSg0NDIsIC00LCA3NCwgLTMsIDcwLCAtMTEsIDYzLCAtOSwgNzkpLAotCUNBQkFDX0VO VFJZKDQ0MywgLTEwLCA4MywgLTYsIDc2LCAtNSwgNzAsIC0xNCwgODYpLAotCUNBQkFDX0VOVFJZ KDQ0NCwgLTksIDcxLCAtNSwgNjYsIC0xNywgNzUsIC0xMCwgNzMpLAotCUNBQkFDX0VOVFJZKDQ0 NSwgLTksIDY3LCAtNSwgNjIsIC0xNCwgNzIsIC0xMCwgNzApLAotCUNBQkFDX0VOVFJZKDQ0Niwg LTEsIDYxLCAwLCA1NywgLTE2LCA2NywgLTEwLCA2OSksCi0JQ0FCQUNfRU5UUlkoNDQ3LCAtOCwg NjYsIC00LCA2MSwgLTgsIDUzLCAtNSwgNjYpLAotCUNBQkFDX0VOVFJZKDQ0OCwgLTE0LCA2Niwg LTksIDYwLCAtMTQsIDU5LCAtOSwgNjQpLAotCUNBQkFDX0VOVFJZKDQ0OSwgMCwgNTksIDEsIDU0 LCAtOSwgNTIsIC01LCA1OCksCi0JQ0FCQUNfRU5UUlkoNDUwLCAyLCA1OSwgMiwgNTgsIC0xMSwg NjgsIDIsIDU5KSwKLQlDQUJBQ19FTlRSWSg0NTEsIDIxLCAtMTMsIDE3LCAtMTAsIDksIC0yLCAy MSwgLTEwKSwKLQlDQUJBQ19FTlRSWSg0NTIsIDMzLCAtMTQsIDMyLCAtMTMsIDMwLCAtMTAsIDI0 LCAtMTEpLAotCUNBQkFDX0VOVFJZKDQ1MywgMzksIC03LCA0MiwgLTksIDMxLCAtNCwgMjgsIC04 KSwKLQlDQUJBQ19FTlRSWSg0NTQsIDQ2LCAtMiwgNDksIC01LCAzMywgLTEsIDI4LCAtMSksCi0J Q0FCQUNfRU5UUlkoNDU1LCA1MSwgMiwgNTMsIDAsIDMzLCA3LCAyOSwgMyksCi0JQ0FCQUNfRU5U UlkoNDU2LCA2MCwgNiwgNjQsIDMsIDMxLCAxMiwgMjksIDkpLAotCUNBQkFDX0VOVFJZKDQ1Nywg NjEsIDE3LCA2OCwgMTAsIDM3LCAyMywgMzUsIDIwKSwKLQlDQUJBQ19FTlRSWSg0NTgsIDU1LCAz NCwgNjYsIDI3LCAzMSwgMzgsIDI5LCAzNiksCi0JQ0FCQUNfRU5UUlkoNDU5LCA0MiwgNjIsIDQ3 LCA1NywgMjAsIDY0LCAxNCwgNjcpLAotfTsKLQogc3RhdGljIHZvaWQgc2V0X3BzX2ZpZWxkKHUz MiAqYnVmLCBzdHJ1Y3Qgcmt2ZGVjX3BzX2ZpZWxkIGZpZWxkLCB1MzIgdmFsdWUpCiB7CiAJdTgg Yml0ID0gZmllbGQub2Zmc2V0ICUgMzIsIHdvcmQgPSBmaWVsZC5vZmZzZXQgLyAzMjsKZGlmZiAt LWdpdCBhL2luY2x1ZGUvbWVkaWEvdjRsMi1jYWJhYy9ya3ZkZWMtY2FiYWMuaCBiL2luY2x1ZGUv bWVkaWEvdjRsMi1jYWJhYy9ya3ZkZWMtY2FiYWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAwLi4zMzI0YzRjYjYxMzBkCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVk ZS9tZWRpYS92NGwyLWNhYmFjL3JrdmRlYy1jYWJhYy5oCkBAIC0wLDAgKzEsNTA5IEBACisvKiBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCAqLworCisvKgorICogRGVmaW5lIHRoZSBI MjY0IENBQkFDIHRhYmxlIGNvbW1vbiB0byBya3ZkZWMgYW5kIHJrdmRlYzIgZHJpdmVycy4KKyAq LworCisjaWZuZGVmIFJLVkRFQ19IMjY0X0NBQkFDX0hfCisjZGVmaW5lIFJLVkRFQ19IMjY0X0NB QkFDX0hfCisKKyNkZWZpbmUgQ0FCQUNfRU5UUlkoY3R4aWR4LCBpZGMwX20sIGlkYzBfbiwgaWRj MV9tLCBpZGMxX24sCVwKKwkJICAgIGlkYzJfbSwgaWRjMl9uLCBpbnRyYV9tLCBpbnRyYV9uKQkJ XAorCVswXVsoY3R4aWR4KV0gPSB7aWRjMF9tLCBpZGMwX259LAkJCVwKKwlbMV1bKGN0eGlkeCld ID0ge2lkYzFfbSwgaWRjMV9ufSwJCQlcCisJWzJdWyhjdHhpZHgpXSA9IHtpZGMyX20sIGlkYzJf bn0sCQkJXAorCVszXVsoY3R4aWR4KV0gPSB7aW50cmFfbSwgaW50cmFfbn0KKworLyoKKyAqIENv bnN0YW50IENBQkFDIHRhYmxlLgorICogQnVpbHQgZnJvbSB0aGUgdGFibGVzIGRlc2NyaWJlZCBp biBzZWN0aW9uICc5LjMuMS4xIEluaXRpYWxpc2F0aW9uIHByb2Nlc3MKKyAqIGZvciBjb250ZXh0 IHZhcmlhYmxlcycgb2YgdGhlIEgyNjQgc3BlYy4KKyAqLworc3RhdGljIGNvbnN0IHM4IHJrdmRl Y19oMjY0X2NhYmFjX3RhYmxlWzRdWzQ2NF1bMl0gPSB7CisJLyogVGFibGUgOS0xMiDigJMgVmFs dWVzIG9mIHZhcmlhYmxlcyBtIGFuZCBuIGZvciBjdHhJZHggZnJvbSAwIHRvIDEwICovCisJQ0FC QUNfRU5UUlkoMCwgMjAsIC0xNSwgMjAsIC0xNSwgMjAsIC0xNSwgMjAsIC0xNSksCisJQ0FCQUNf RU5UUlkoMSwgMiwgNTQsIDIsIDU0LCAyLCA1NCwgMiwgNTQpLAorCUNBQkFDX0VOVFJZKDIsIDMs IDc0LCAzLCA3NCwgMywgNzQsIDMsIDc0KSwKKwlDQUJBQ19FTlRSWSgzLCAyMCwgLTE1LCAyMCwg LTE1LCAyMCwgLTE1LCAyMCwgLTE1KSwKKwlDQUJBQ19FTlRSWSg0LCAyLCA1NCwgMiwgNTQsIDIs IDU0LCAyLCA1NCksCisJQ0FCQUNfRU5UUlkoNSwgMywgNzQsIDMsIDc0LCAzLCA3NCwgMywgNzQp LAorCUNBQkFDX0VOVFJZKDYsIC0yOCwgMTI3LCAtMjgsIDEyNywgLTI4LCAxMjcsIC0yOCwgMTI3 KSwKKwlDQUJBQ19FTlRSWSg3LCAtMjMsIDEwNCwgLTIzLCAxMDQsIC0yMywgMTA0LCAtMjMsIDEw NCksCisJQ0FCQUNfRU5UUlkoOCwgLTYsIDUzLCAtNiwgNTMsIC02LCA1MywgLTYsIDUzKSwKKwlD QUJBQ19FTlRSWSg5LCAtMSwgNTQsIC0xLCA1NCwgLTEsIDU0LCAtMSwgNTQpLAorCUNBQkFDX0VO VFJZKDEwLCA3LCA1MSwgNywgNTEsIDcsIDUxLCA3LCA1MSksCisKKwkvKiBUYWJsZSA5LTEzIOKA kyBWYWx1ZXMgb2YgdmFyaWFibGVzIG0gYW5kIG4gZm9yIGN0eElkeCBmcm9tIDExIHRvIDIzICov CisJQ0FCQUNfRU5UUlkoMTEsIDIzLCAzMywgMjIsIDI1LCAyOSwgMTYsIDAsIDApLAorCUNBQkFD X0VOVFJZKDEyLCAyMywgMiwgMzQsIDAsIDI1LCAwLCAwLCAwKSwKKwlDQUJBQ19FTlRSWSgxMywg MjEsIDAsIDE2LCAwLCAxNCwgMCwgMCwgMCksCisJQ0FCQUNfRU5UUlkoMTQsIDEsIDksIC0yLCA5 LCAtMTAsIDUxLCAwLCAwKSwKKwlDQUJBQ19FTlRSWSgxNSwgMCwgNDksIDQsIDQxLCAtMywgNjIs IDAsIDApLAorCUNBQkFDX0VOVFJZKDE2LCAtMzcsIDExOCwgLTI5LCAxMTgsIC0yNywgOTksIDAs IDApLAorCUNBQkFDX0VOVFJZKDE3LCA1LCA1NywgMiwgNjUsIDI2LCAxNiwgMCwgMCksCisJQ0FC QUNfRU5UUlkoMTgsIC0xMywgNzgsIC02LCA3MSwgLTQsIDg1LCAwLCAwKSwKKwlDQUJBQ19FTlRS WSgxOSwgLTExLCA2NSwgLTEzLCA3OSwgLTI0LCAxMDIsIDAsIDApLAorCUNBQkFDX0VOVFJZKDIw LCAxLCA2MiwgNSwgNTIsIDUsIDU3LCAwLCAwKSwKKwlDQUJBQ19FTlRSWSgyMSwgMTIsIDQ5LCA5 LCA1MCwgNiwgNTcsIDAsIDApLAorCUNBQkFDX0VOVFJZKDIyLCAtNCwgNzMsIC0zLCA3MCwgLTE3 LCA3MywgMCwgMCksCisJQ0FCQUNfRU5UUlkoMjMsIDE3LCA1MCwgMTAsIDU0LCAxNCwgNTcsIDAs IDApLAorCisJLyogVGFibGUgOS0xNCDigJMgVmFsdWVzIG9mIHZhcmlhYmxlcyBtIGFuZCBuIGZv ciBjdHhJZHggZnJvbSAyNCB0byAzOSAqLworCUNBQkFDX0VOVFJZKDI0LCAxOCwgNjQsIDI2LCAz NCwgMjAsIDQwLCAwLCAwKSwKKwlDQUJBQ19FTlRSWSgyNSwgOSwgNDMsIDE5LCAyMiwgMjAsIDEw LCAwLCAwKSwKKwlDQUJBQ19FTlRSWSgyNiwgMjksIDAsIDQwLCAwLCAyOSwgMCwgMCwgMCksCisJ Q0FCQUNfRU5UUlkoMjcsIDI2LCA2NywgNTcsIDIsIDU0LCAwLCAwLCAwKSwKKwlDQUJBQ19FTlRS WSgyOCwgMTYsIDkwLCA0MSwgMzYsIDM3LCA0MiwgMCwgMCksCisJQ0FCQUNfRU5UUlkoMjksIDks IDEwNCwgMjYsIDY5LCAxMiwgOTcsIDAsIDApLAorCUNBQkFDX0VOVFJZKDMwLCAtNDYsIDEyNywg LTQ1LCAxMjcsIC0zMiwgMTI3LCAwLCAwKSwKKwlDQUJBQ19FTlRSWSgzMSwgLTIwLCAxMDQsIC0x NSwgMTAxLCAtMjIsIDExNywgMCwgMCksCisJQ0FCQUNfRU5UUlkoMzIsIDEsIDY3LCAtNCwgNzYs IC0yLCA3NCwgMCwgMCksCisJQ0FCQUNfRU5UUlkoMzMsIC0xMywgNzgsIC02LCA3MSwgLTQsIDg1 LCAwLCAwKSwKKwlDQUJBQ19FTlRSWSgzNCwgLTExLCA2NSwgLTEzLCA3OSwgLTI0LCAxMDIsIDAs IDApLAorCUNBQkFDX0VOVFJZKDM1LCAxLCA2MiwgNSwgNTIsIDUsIDU3LCAwLCAwKSwKKwlDQUJB Q19FTlRSWSgzNiwgLTYsIDg2LCA2LCA2OSwgLTYsIDkzLCAwLCAwKSwKKwlDQUJBQ19FTlRSWSgz NywgLTE3LCA5NSwgLTEzLCA5MCwgLTE0LCA4OCwgMCwgMCksCisJQ0FCQUNfRU5UUlkoMzgsIC02 LCA2MSwgMCwgNTIsIC02LCA0NCwgMCwgMCksCisJQ0FCQUNfRU5UUlkoMzksIDksIDQ1LCA4LCA0 MywgNCwgNTUsIDAsIDApLAorCisJLyogVGFibGUgOS0xNSDigJMgVmFsdWVzIG9mIHZhcmlhYmxl cyBtIGFuZCBuIGZvciBjdHhJZHggZnJvbSA0MCB0byA1MyAqLworCUNBQkFDX0VOVFJZKDQwLCAt MywgNjksIC0yLCA2OSwgLTExLCA4OSwgMCwgMCksCisJQ0FCQUNfRU5UUlkoNDEsIC02LCA4MSwg LTUsIDgyLCAtMTUsIDEwMywgMCwgMCksCisJQ0FCQUNfRU5UUlkoNDIsIC0xMSwgOTYsIC0xMCwg OTYsIC0yMSwgMTE2LCAwLCAwKSwKKwlDQUJBQ19FTlRSWSg0MywgNiwgNTUsIDIsIDU5LCAxOSwg NTcsIDAsIDApLAorCUNBQkFDX0VOVFJZKDQ0LCA3LCA2NywgMiwgNzUsIDIwLCA1OCwgMCwgMCks CisJQ0FCQUNfRU5UUlkoNDUsIC01LCA4NiwgLTMsIDg3LCA0LCA4NCwgMCwgMCksCisJQ0FCQUNf RU5UUlkoNDYsIDIsIDg4LCAtMywgMTAwLCA2LCA5NiwgMCwgMCksCisJQ0FCQUNfRU5UUlkoNDcs IDAsIDU4LCAxLCA1NiwgMSwgNjMsIDAsIDApLAorCUNBQkFDX0VOVFJZKDQ4LCAtMywgNzYsIC0z LCA3NCwgLTUsIDg1LCAwLCAwKSwKKwlDQUJBQ19FTlRSWSg0OSwgLTEwLCA5NCwgLTYsIDg1LCAt MTMsIDEwNiwgMCwgMCksCisJQ0FCQUNfRU5UUlkoNTAsIDUsIDU0LCAwLCA1OSwgNSwgNjMsIDAs IDApLAorCUNBQkFDX0VOVFJZKDUxLCA0LCA2OSwgLTMsIDgxLCA2LCA3NSwgMCwgMCksCisJQ0FC QUNfRU5UUlkoNTIsIC0zLCA4MSwgLTcsIDg2LCAtMywgOTAsIDAsIDApLAorCUNBQkFDX0VOVFJZ KDUzLCAwLCA4OCwgLTUsIDk1LCAtMSwgMTAxLCAwLCAwKSwKKworCS8qIFRhYmxlIDktMTYg4oCT IFZhbHVlcyBvZiB2YXJpYWJsZXMgbSBhbmQgbiBmb3IgY3R4SWR4IGZyb20gNTQgdG8gNTkgKi8K KwlDQUJBQ19FTlRSWSg1NCwgLTcsIDY3LCAtMSwgNjYsIDMsIDU1LCAwLCAwKSwKKwlDQUJBQ19F TlRSWSg1NSwgLTUsIDc0LCAtMSwgNzcsIC00LCA3OSwgMCwgMCksCisJQ0FCQUNfRU5UUlkoNTYs IC00LCA3NCwgMSwgNzAsIC0yLCA3NSwgMCwgMCksCisJQ0FCQUNfRU5UUlkoNTcsIC01LCA4MCwg LTIsIDg2LCAtMTIsIDk3LCAwLCAwKSwKKwlDQUJBQ19FTlRSWSg1OCwgLTcsIDcyLCAtNSwgNzIs IC03LCA1MCwgMCwgMCksCisJQ0FCQUNfRU5UUlkoNTksIDEsIDU4LCAwLCA2MSwgMSwgNjAsIDAs IDApLAorCisJLyogVGFibGUgOS0xNyDigJMgVmFsdWVzIG9mIHZhcmlhYmxlcyBtIGFuZCBuIGZv ciBjdHhJZHggZnJvbSA2MCB0byA2OSAqLworCUNBQkFDX0VOVFJZKDYwLCAwLCA0MSwgMCwgNDEs IDAsIDQxLCAwLCA0MSksCisJQ0FCQUNfRU5UUlkoNjEsIDAsIDYzLCAwLCA2MywgMCwgNjMsIDAs IDYzKSwKKwlDQUJBQ19FTlRSWSg2MiwgMCwgNjMsIDAsIDYzLCAwLCA2MywgMCwgNjMpLAorCUNB QkFDX0VOVFJZKDYzLCAwLCA2MywgMCwgNjMsIDAsIDYzLCAwLCA2MyksCisJQ0FCQUNfRU5UUlko NjQsIC05LCA4MywgLTksIDgzLCAtOSwgODMsIC05LCA4MyksCisJQ0FCQUNfRU5UUlkoNjUsIDQs IDg2LCA0LCA4NiwgNCwgODYsIDQsIDg2KSwKKwlDQUJBQ19FTlRSWSg2NiwgMCwgOTcsIDAsIDk3 LCAwLCA5NywgMCwgOTcpLAorCUNBQkFDX0VOVFJZKDY3LCAtNywgNzIsIC03LCA3MiwgLTcsIDcy LCAtNywgNzIpLAorCUNBQkFDX0VOVFJZKDY4LCAxMywgNDEsIDEzLCA0MSwgMTMsIDQxLCAxMywg NDEpLAorCUNBQkFDX0VOVFJZKDY5LCAzLCA2MiwgMywgNjIsIDMsIDYyLCAzLCA2MiksCisKKwkv KiBUYWJsZSA5LTE4IOKAkyBWYWx1ZXMgb2YgdmFyaWFibGVzIG0gYW5kIG4gZm9yIGN0eElkeCBm cm9tIDcwIHRvIDEwNCAqLworCUNBQkFDX0VOVFJZKDcwLCAwLCA0NSwgMTMsIDE1LCA3LCAzNCwg MCwgMTEpLAorCUNBQkFDX0VOVFJZKDcxLCAtNCwgNzgsIDcsIDUxLCAtOSwgODgsIDEsIDU1KSwK KwlDQUJBQ19FTlRSWSg3MiwgLTMsIDk2LCAyLCA4MCwgLTIwLCAxMjcsIDAsIDY5KSwKKwlDQUJB Q19FTlRSWSg3MywgLTI3LCAxMjYsIC0zOSwgMTI3LCAtMzYsIDEyNywgLTE3LCAxMjcpLAorCUNB QkFDX0VOVFJZKDc0LCAtMjgsIDk4LCAtMTgsIDkxLCAtMTcsIDkxLCAtMTMsIDEwMiksCisJQ0FC QUNfRU5UUlkoNzUsIC0yNSwgMTAxLCAtMTcsIDk2LCAtMTQsIDk1LCAwLCA4MiksCisJQ0FCQUNf RU5UUlkoNzYsIC0yMywgNjcsIC0yNiwgODEsIC0yNSwgODQsIC03LCA3NCksCisJQ0FCQUNfRU5U UlkoNzcsIC0yOCwgODIsIC0zNSwgOTgsIC0yNSwgODYsIC0yMSwgMTA3KSwKKwlDQUJBQ19FTlRS WSg3OCwgLTIwLCA5NCwgLTI0LCAxMDIsIC0xMiwgODksIC0yNywgMTI3KSwKKwlDQUJBQ19FTlRS WSg3OSwgLTE2LCA4MywgLTIzLCA5NywgLTE3LCA5MSwgLTMxLCAxMjcpLAorCUNBQkFDX0VOVFJZ KDgwLCAtMjIsIDExMCwgLTI3LCAxMTksIC0zMSwgMTI3LCAtMjQsIDEyNyksCisJQ0FCQUNfRU5U UlkoODEsIC0yMSwgOTEsIC0yNCwgOTksIC0xNCwgNzYsIC0xOCwgOTUpLAorCUNBQkFDX0VOVFJZ KDgyLCAtMTgsIDEwMiwgLTIxLCAxMTAsIC0xOCwgMTAzLCAtMjcsIDEyNyksCisJQ0FCQUNfRU5U UlkoODMsIC0xMywgOTMsIC0xOCwgMTAyLCAtMTMsIDkwLCAtMjEsIDExNCksCisJQ0FCQUNfRU5U UlkoODQsIC0yOSwgMTI3LCAtMzYsIDEyNywgLTM3LCAxMjcsIC0zMCwgMTI3KSwKKwlDQUJBQ19F TlRSWSg4NSwgLTcsIDkyLCAwLCA4MCwgMTEsIDgwLCAtMTcsIDEyMyksCisJQ0FCQUNfRU5UUlko ODYsIC01LCA4OSwgLTUsIDg5LCA1LCA3NiwgLTEyLCAxMTUpLAorCUNBQkFDX0VOVFJZKDg3LCAt NywgOTYsIC03LCA5NCwgMiwgODQsIC0xNiwgMTIyKSwKKwlDQUJBQ19FTlRSWSg4OCwgLTEzLCAx MDgsIC00LCA5MiwgNSwgNzgsIC0xMSwgMTE1KSwKKwlDQUJBQ19FTlRSWSg4OSwgLTMsIDQ2LCAw LCAzOSwgLTYsIDU1LCAtMTIsIDYzKSwKKwlDQUJBQ19FTlRSWSg5MCwgLTEsIDY1LCAwLCA2NSwg NCwgNjEsIC0yLCA2OCksCisJQ0FCQUNfRU5UUlkoOTEsIC0xLCA1NywgLTE1LCA4NCwgLTE0LCA4 MywgLTE1LCA4NCksCisJQ0FCQUNfRU5UUlkoOTIsIC05LCA5MywgLTM1LCAxMjcsIC0zNywgMTI3 LCAtMTMsIDEwNCksCisJQ0FCQUNfRU5UUlkoOTMsIC0zLCA3NCwgLTIsIDczLCAtNSwgNzksIC0z LCA3MCksCisJQ0FCQUNfRU5UUlkoOTQsIC05LCA5MiwgLTEyLCAxMDQsIC0xMSwgMTA0LCAtOCwg OTMpLAorCUNBQkFDX0VOVFJZKDk1LCAtOCwgODcsIC05LCA5MSwgLTExLCA5MSwgLTEwLCA5MCks CisJQ0FCQUNfRU5UUlkoOTYsIC0yMywgMTI2LCAtMzEsIDEyNywgLTMwLCAxMjcsIC0zMCwgMTI3 KSwKKwlDQUJBQ19FTlRSWSg5NywgNSwgNTQsIDMsIDU1LCAwLCA2NSwgLTEsIDc0KSwKKwlDQUJB Q19FTlRSWSg5OCwgNiwgNjAsIDcsIDU2LCAtMiwgNzksIC02LCA5NyksCisJQ0FCQUNfRU5UUlko OTksIDYsIDU5LCA3LCA1NSwgMCwgNzIsIC03LCA5MSksCisJQ0FCQUNfRU5UUlkoMTAwLCA2LCA2 OSwgOCwgNjEsIC00LCA5MiwgLTIwLCAxMjcpLAorCUNBQkFDX0VOVFJZKDEwMSwgLTEsIDQ4LCAt MywgNTMsIC02LCA1NiwgLTQsIDU2KSwKKwlDQUJBQ19FTlRSWSgxMDIsIDAsIDY4LCAwLCA2OCwg MywgNjgsIC01LCA4MiksCisJQ0FCQUNfRU5UUlkoMTAzLCAtNCwgNjksIC03LCA3NCwgLTgsIDcx LCAtNywgNzYpLAorCUNBQkFDX0VOVFJZKDEwNCwgLTgsIDg4LCAtOSwgODgsIC0xMywgOTgsIC0y MiwgMTI1KSwKKworCS8qIFRhYmxlIDktMTkg4oCTIFZhbHVlcyBvZiB2YXJpYWJsZXMgbSBhbmQg biBmb3IgY3R4SWR4IGZyb20gMTA1IHRvIDE2NSAqLworCUNBQkFDX0VOVFJZKDEwNSwgLTIsIDg1 LCAtMTMsIDEwMywgLTQsIDg2LCAtNywgOTMpLAorCUNBQkFDX0VOVFJZKDEwNiwgLTYsIDc4LCAt MTMsIDkxLCAtMTIsIDg4LCAtMTEsIDg3KSwKKwlDQUJBQ19FTlRSWSgxMDcsIC0xLCA3NSwgLTks IDg5LCAtNSwgODIsIC0zLCA3NyksCisJQ0FCQUNfRU5UUlkoMTA4LCAtNywgNzcsIC0xNCwgOTIs IC0zLCA3MiwgLTUsIDcxKSwKKwlDQUJBQ19FTlRSWSgxMDksIDIsIDU0LCAtOCwgNzYsIC00LCA2 NywgLTQsIDYzKSwKKwlDQUJBQ19FTlRSWSgxMTAsIDUsIDUwLCAtMTIsIDg3LCAtOCwgNzIsIC00 LCA2OCksCisJQ0FCQUNfRU5UUlkoMTExLCAtMywgNjgsIC0yMywgMTEwLCAtMTYsIDg5LCAtMTIs IDg0KSwKKwlDQUJBQ19FTlRSWSgxMTIsIDEsIDUwLCAtMjQsIDEwNSwgLTksIDY5LCAtNywgNjIp LAorCUNBQkFDX0VOVFJZKDExMywgNiwgNDIsIC0xMCwgNzgsIC0xLCA1OSwgLTcsIDY1KSwKKwlD QUJBQ19FTlRSWSgxMTQsIC00LCA4MSwgLTIwLCAxMTIsIDUsIDY2LCA4LCA2MSksCisJQ0FCQUNf RU5UUlkoMTE1LCAxLCA2MywgLTE3LCA5OSwgNCwgNTcsIDUsIDU2KSwKKwlDQUJBQ19FTlRSWSgx MTYsIC00LCA3MCwgLTc4LCAxMjcsIC00LCA3MSwgLTIsIDY2KSwKKwlDQUJBQ19FTlRSWSgxMTcs IDAsIDY3LCAtNzAsIDEyNywgLTIsIDcxLCAxLCA2NCksCisJQ0FCQUNfRU5UUlkoMTE4LCAyLCA1 NywgLTUwLCAxMjcsIDIsIDU4LCAwLCA2MSksCisJQ0FCQUNfRU5UUlkoMTE5LCAtMiwgNzYsIC00 NiwgMTI3LCAtMSwgNzQsIC0yLCA3OCksCisJQ0FCQUNfRU5UUlkoMTIwLCAxMSwgMzUsIC00LCA2 NiwgLTQsIDQ0LCAxLCA1MCksCisJQ0FCQUNfRU5UUlkoMTIxLCA0LCA2NCwgLTUsIDc4LCAtMSwg NjksIDcsIDUyKSwKKwlDQUJBQ19FTlRSWSgxMjIsIDEsIDYxLCAtNCwgNzEsIDAsIDYyLCAxMCwg MzUpLAorCUNBQkFDX0VOVFJZKDEyMywgMTEsIDM1LCAtOCwgNzIsIC03LCA1MSwgMCwgNDQpLAor CUNBQkFDX0VOVFJZKDEyNCwgMTgsIDI1LCAyLCA1OSwgLTQsIDQ3LCAxMSwgMzgpLAorCUNBQkFD X0VOVFJZKDEyNSwgMTIsIDI0LCAtMSwgNTUsIC02LCA0MiwgMSwgNDUpLAorCUNBQkFDX0VOVFJZ KDEyNiwgMTMsIDI5LCAtNywgNzAsIC0zLCA0MSwgMCwgNDYpLAorCUNBQkFDX0VOVFJZKDEyNywg MTMsIDM2LCAtNiwgNzUsIC02LCA1MywgNSwgNDQpLAorCUNBQkFDX0VOVFJZKDEyOCwgLTEwLCA5 MywgLTgsIDg5LCA4LCA3NiwgMzEsIDE3KSwKKwlDQUJBQ19FTlRSWSgxMjksIC03LCA3MywgLTM0 LCAxMTksIC05LCA3OCwgMSwgNTEpLAorCUNBQkFDX0VOVFJZKDEzMCwgLTIsIDczLCAtMywgNzUs IC0xMSwgODMsIDcsIDUwKSwKKwlDQUJBQ19FTlRSWSgxMzEsIDEzLCA0NiwgMzIsIDIwLCA5LCA1 MiwgMjgsIDE5KSwKKwlDQUJBQ19FTlRSWSgxMzIsIDksIDQ5LCAzMCwgMjIsIDAsIDY3LCAxNiwg MzMpLAorCUNBQkFDX0VOVFJZKDEzMywgLTcsIDEwMCwgLTQ0LCAxMjcsIC01LCA5MCwgMTQsIDYy KSwKKwlDQUJBQ19FTlRSWSgxMzQsIDksIDUzLCAwLCA1NCwgMSwgNjcsIC0xMywgMTA4KSwKKwlD QUJBQ19FTlRSWSgxMzUsIDIsIDUzLCAtNSwgNjEsIC0xNSwgNzIsIC0xNSwgMTAwKSwKKwlDQUJB Q19FTlRSWSgxMzYsIDUsIDUzLCAwLCA1OCwgLTUsIDc1LCAtMTMsIDEwMSksCisJQ0FCQUNfRU5U UlkoMTM3LCAtMiwgNjEsIC0xLCA2MCwgLTgsIDgwLCAtMTMsIDkxKSwKKwlDQUJBQ19FTlRSWSgx MzgsIDAsIDU2LCAtMywgNjEsIC0yMSwgODMsIC0xMiwgOTQpLAorCUNBQkFDX0VOVFJZKDEzOSwg MCwgNTYsIC04LCA2NywgLTIxLCA2NCwgLTEwLCA4OCksCisJQ0FCQUNfRU5UUlkoMTQwLCAtMTMs IDYzLCAtMjUsIDg0LCAtMTMsIDMxLCAtMTYsIDg0KSwKKwlDQUJBQ19FTlRSWSgxNDEsIC01LCA2 MCwgLTE0LCA3NCwgLTI1LCA2NCwgLTEwLCA4NiksCisJQ0FCQUNfRU5UUlkoMTQyLCAtMSwgNjIs IC01LCA2NSwgLTI5LCA5NCwgLTcsIDgzKSwKKwlDQUJBQ19FTlRSWSgxNDMsIDQsIDU3LCA1LCA1 MiwgOSwgNzUsIC0xMywgODcpLAorCUNBQkFDX0VOVFJZKDE0NCwgLTYsIDY5LCAyLCA1NywgMTcs IDYzLCAtMTksIDk0KSwKKwlDQUJBQ19FTlRSWSgxNDUsIDQsIDU3LCAwLCA2MSwgLTgsIDc0LCAx LCA3MCksCisJQ0FCQUNfRU5UUlkoMTQ2LCAxNCwgMzksIC05LCA2OSwgLTUsIDM1LCAwLCA3Miks CisJQ0FCQUNfRU5UUlkoMTQ3LCA0LCA1MSwgLTExLCA3MCwgLTIsIDI3LCAtNSwgNzQpLAorCUNB QkFDX0VOVFJZKDE0OCwgMTMsIDY4LCAxOCwgNTUsIDEzLCA5MSwgMTgsIDU5KSwKKwlDQUJBQ19F TlRSWSgxNDksIDMsIDY0LCAtNCwgNzEsIDMsIDY1LCAtOCwgMTAyKSwKKwlDQUJBQ19FTlRSWSgx NTAsIDEsIDYxLCAwLCA1OCwgLTcsIDY5LCAtMTUsIDEwMCksCisJQ0FCQUNfRU5UUlkoMTUxLCA5 LCA2MywgNywgNjEsIDgsIDc3LCAwLCA5NSksCisJQ0FCQUNfRU5UUlkoMTUyLCA3LCA1MCwgOSwg NDEsIC0xMCwgNjYsIC00LCA3NSksCisJQ0FCQUNfRU5UUlkoMTUzLCAxNiwgMzksIDE4LCAyNSwg MywgNjIsIDIsIDcyKSwKKwlDQUJBQ19FTlRSWSgxNTQsIDUsIDQ0LCA5LCAzMiwgLTMsIDY4LCAt MTEsIDc1KSwKKwlDQUJBQ19FTlRSWSgxNTUsIDQsIDUyLCA1LCA0MywgLTIwLCA4MSwgLTMsIDcx KSwKKwlDQUJBQ19FTlRSWSgxNTYsIDExLCA0OCwgOSwgNDcsIDAsIDMwLCAxNSwgNDYpLAorCUNB QkFDX0VOVFJZKDE1NywgLTUsIDYwLCAwLCA0NCwgMSwgNywgLTEzLCA2OSksCisJQ0FCQUNfRU5U UlkoMTU4LCAtMSwgNTksIDAsIDUxLCAtMywgMjMsIDAsIDYyKSwKKwlDQUJBQ19FTlRSWSgxNTks IDAsIDU5LCAyLCA0NiwgLTIxLCA3NCwgMCwgNjUpLAorCUNBQkFDX0VOVFJZKDE2MCwgMjIsIDMz LCAxOSwgMzgsIDE2LCA2NiwgMjEsIDM3KSwKKwlDQUJBQ19FTlRSWSgxNjEsIDUsIDQ0LCAtNCwg NjYsIC0yMywgMTI0LCAtMTUsIDcyKSwKKwlDQUJBQ19FTlRSWSgxNjIsIDE0LCA0MywgMTUsIDM4 LCAxNywgMzcsIDksIDU3KSwKKwlDQUJBQ19FTlRSWSgxNjMsIC0xLCA3OCwgMTIsIDQyLCA0NCwg LTE4LCAxNiwgNTQpLAorCUNBQkFDX0VOVFJZKDE2NCwgMCwgNjAsIDksIDM0LCA1MCwgLTM0LCAw LCA2MiksCisJQ0FCQUNfRU5UUlkoMTY1LCA5LCA2OSwgMCwgODksIC0yMiwgMTI3LCAxMiwgNzIp LAorCisJLyogVGFibGUgOS0yMCDigJMgVmFsdWVzIG9mIHZhcmlhYmxlcyBtIGFuZCBuIGZvciBj dHhJZHggZnJvbSAxNjYgdG8gMjI2ICovCisJQ0FCQUNfRU5UUlkoMTY2LCAxMSwgMjgsIDQsIDQ1 LCA0LCAzOSwgMjQsIDApLAorCUNBQkFDX0VOVFJZKDE2NywgMiwgNDAsIDEwLCAyOCwgMCwgNDIs IDE1LCA5KSwKKwlDQUJBQ19FTlRSWSgxNjgsIDMsIDQ0LCAxMCwgMzEsIDcsIDM0LCA4LCAyNSks CisJQ0FCQUNfRU5UUlkoMTY5LCAwLCA0OSwgMzMsIC0xMSwgMTEsIDI5LCAxMywgMTgpLAorCUNB QkFDX0VOVFJZKDE3MCwgMCwgNDYsIDUyLCAtNDMsIDgsIDMxLCAxNSwgOSksCisJQ0FCQUNfRU5U UlkoMTcxLCAyLCA0NCwgMTgsIDE1LCA2LCAzNywgMTMsIDE5KSwKKwlDQUJBQ19FTlRSWSgxNzIs IDIsIDUxLCAyOCwgMCwgNywgNDIsIDEwLCAzNyksCisJQ0FCQUNfRU5UUlkoMTczLCAwLCA0Nywg MzUsIC0yMiwgMywgNDAsIDEyLCAxOCksCisJQ0FCQUNfRU5UUlkoMTc0LCA0LCAzOSwgMzgsIC0y NSwgOCwgMzMsIDYsIDI5KSwKKwlDQUJBQ19FTlRSWSgxNzUsIDIsIDYyLCAzNCwgMCwgMTMsIDQz LCAyMCwgMzMpLAorCUNBQkFDX0VOVFJZKDE3NiwgNiwgNDYsIDM5LCAtMTgsIDEzLCAzNiwgMTUs IDMwKSwKKwlDQUJBQ19FTlRSWSgxNzcsIDAsIDU0LCAzMiwgLTEyLCA0LCA0NywgNCwgNDUpLAor CUNBQkFDX0VOVFJZKDE3OCwgMywgNTQsIDEwMiwgLTk0LCAzLCA1NSwgMSwgNTgpLAorCUNBQkFD X0VOVFJZKDE3OSwgMiwgNTgsIDAsIDAsIDIsIDU4LCAwLCA2MiksCisJQ0FCQUNfRU5UUlkoMTgw LCA0LCA2MywgNTYsIC0xNSwgNiwgNjAsIDcsIDYxKSwKKwlDQUJBQ19FTlRSWSgxODEsIDYsIDUx LCAzMywgLTQsIDgsIDQ0LCAxMiwgMzgpLAorCUNBQkFDX0VOVFJZKDE4MiwgNiwgNTcsIDI5LCAx MCwgMTEsIDQ0LCAxMSwgNDUpLAorCUNBQkFDX0VOVFJZKDE4MywgNywgNTMsIDM3LCAtNSwgMTQs IDQyLCAxNSwgMzkpLAorCUNBQkFDX0VOVFJZKDE4NCwgNiwgNTIsIDUxLCAtMjksIDcsIDQ4LCAx MSwgNDIpLAorCUNBQkFDX0VOVFJZKDE4NSwgNiwgNTUsIDM5LCAtOSwgNCwgNTYsIDEzLCA0NCks CisJQ0FCQUNfRU5UUlkoMTg2LCAxMSwgNDUsIDUyLCAtMzQsIDQsIDUyLCAxNiwgNDUpLAorCUNB QkFDX0VOVFJZKDE4NywgMTQsIDM2LCA2OSwgLTU4LCAxMywgMzcsIDEyLCA0MSksCisJQ0FCQUNf RU5UUlkoMTg4LCA4LCA1MywgNjcsIC02MywgOSwgNDksIDEwLCA0OSksCisJQ0FCQUNfRU5UUlko MTg5LCAtMSwgODIsIDQ0LCAtNSwgMTksIDU4LCAzMCwgMzQpLAorCUNBQkFDX0VOVFJZKDE5MCwg NywgNTUsIDMyLCA3LCAxMCwgNDgsIDE4LCA0MiksCisJQ0FCQUNfRU5UUlkoMTkxLCAtMywgNzgs IDU1LCAtMjksIDEyLCA0NSwgMTAsIDU1KSwKKwlDQUJBQ19FTlRSWSgxOTIsIDE1LCA0NiwgMzIs IDEsIDAsIDY5LCAxNywgNTEpLAorCUNBQkFDX0VOVFJZKDE5MywgMjIsIDMxLCAwLCAwLCAyMCwg MzMsIDE3LCA0NiksCisJQ0FCQUNfRU5UUlkoMTk0LCAtMSwgODQsIDI3LCAzNiwgOCwgNjMsIDAs IDg5KSwKKwlDQUJBQ19FTlRSWSgxOTUsIDI1LCA3LCAzMywgLTI1LCAzNSwgLTE4LCAyNiwgLTE5 KSwKKwlDQUJBQ19FTlRSWSgxOTYsIDMwLCAtNywgMzQsIC0zMCwgMzMsIC0yNSwgMjIsIC0xNyks CisJQ0FCQUNfRU5UUlkoMTk3LCAyOCwgMywgMzYsIC0yOCwgMjgsIC0zLCAyNiwgLTE3KSwKKwlD QUJBQ19FTlRSWSgxOTgsIDI4LCA0LCAzOCwgLTI4LCAyNCwgMTAsIDMwLCAtMjUpLAorCUNBQkFD X0VOVFJZKDE5OSwgMzIsIDAsIDM4LCAtMjcsIDI3LCAwLCAyOCwgLTIwKSwKKwlDQUJBQ19FTlRS WSgyMDAsIDM0LCAtMSwgMzQsIC0xOCwgMzQsIC0xNCwgMzMsIC0yMyksCisJQ0FCQUNfRU5UUlko MjAxLCAzMCwgNiwgMzUsIC0xNiwgNTIsIC00NCwgMzcsIC0yNyksCisJQ0FCQUNfRU5UUlkoMjAy LCAzMCwgNiwgMzQsIC0xNCwgMzksIC0yNCwgMzMsIC0yMyksCisJQ0FCQUNfRU5UUlkoMjAzLCAz MiwgOSwgMzIsIC04LCAxOSwgMTcsIDQwLCAtMjgpLAorCUNBQkFDX0VOVFJZKDIwNCwgMzEsIDE5 LCAzNywgLTYsIDMxLCAyNSwgMzgsIC0xNyksCisJQ0FCQUNfRU5UUlkoMjA1LCAyNiwgMjcsIDM1 LCAwLCAzNiwgMjksIDMzLCAtMTEpLAorCUNBQkFDX0VOVFJZKDIwNiwgMjYsIDMwLCAzMCwgMTAs IDI0LCAzMywgNDAsIC0xNSksCisJQ0FCQUNfRU5UUlkoMjA3LCAzNywgMjAsIDI4LCAxOCwgMzQs IDE1LCA0MSwgLTYpLAorCUNBQkFDX0VOVFJZKDIwOCwgMjgsIDM0LCAyNiwgMjUsIDMwLCAyMCwg MzgsIDEpLAorCUNBQkFDX0VOVFJZKDIwOSwgMTcsIDcwLCAyOSwgNDEsIDIyLCA3MywgNDEsIDE3 KSwKKwlDQUJBQ19FTlRSWSgyMTAsIDEsIDY3LCAwLCA3NSwgMjAsIDM0LCAzMCwgLTYpLAorCUNB QkFDX0VOVFJZKDIxMSwgNSwgNTksIDIsIDcyLCAxOSwgMzEsIDI3LCAzKSwKKwlDQUJBQ19FTlRS WSgyMTIsIDksIDY3LCA4LCA3NywgMjcsIDQ0LCAyNiwgMjIpLAorCUNBQkFDX0VOVFJZKDIxMywg MTYsIDMwLCAxNCwgMzUsIDE5LCAxNiwgMzcsIC0xNiksCisJQ0FCQUNfRU5UUlkoMjE0LCAxOCwg MzIsIDE4LCAzMSwgMTUsIDM2LCAzNSwgLTQpLAorCUNBQkFDX0VOVFJZKDIxNSwgMTgsIDM1LCAx NywgMzUsIDE1LCAzNiwgMzgsIC04KSwKKwlDQUJBQ19FTlRSWSgyMTYsIDIyLCAyOSwgMjEsIDMw LCAyMSwgMjgsIDM4LCAtMyksCisJQ0FCQUNfRU5UUlkoMjE3LCAyNCwgMzEsIDE3LCA0NSwgMjUs IDIxLCAzNywgMyksCisJQ0FCQUNfRU5UUlkoMjE4LCAyMywgMzgsIDIwLCA0MiwgMzAsIDIwLCAz OCwgNSksCisJQ0FCQUNfRU5UUlkoMjE5LCAxOCwgNDMsIDE4LCA0NSwgMzEsIDEyLCA0MiwgMCks CisJQ0FCQUNfRU5UUlkoMjIwLCAyMCwgNDEsIDI3LCAyNiwgMjcsIDE2LCAzNSwgMTYpLAorCUNB QkFDX0VOVFJZKDIyMSwgMTEsIDYzLCAxNiwgNTQsIDI0LCA0MiwgMzksIDIyKSwKKwlDQUJBQ19F TlRSWSgyMjIsIDksIDU5LCA3LCA2NiwgMCwgOTMsIDE0LCA0OCksCisJQ0FCQUNfRU5UUlkoMjIz LCA5LCA2NCwgMTYsIDU2LCAxNCwgNTYsIDI3LCAzNyksCisJQ0FCQUNfRU5UUlkoMjI0LCAtMSwg OTQsIDExLCA3MywgMTUsIDU3LCAyMSwgNjApLAorCUNBQkFDX0VOVFJZKDIyNSwgLTIsIDg5LCAx MCwgNjcsIDI2LCAzOCwgMTIsIDY4KSwKKwlDQUJBQ19FTlRSWSgyMjYsIC05LCAxMDgsIC0xMCwg MTE2LCAtMjQsIDEyNywgMiwgOTcpLAorCisJLyogVGFibGUgOS0yMSDigJMgVmFsdWVzIG9mIHZh cmlhYmxlcyBtIGFuZCBuIGZvciBjdHhJZHggZnJvbSAyMjcgdG8gMjc1ICovCisJQ0FCQUNfRU5U UlkoMjI3LCAtNiwgNzYsIC0yMywgMTEyLCAtMjQsIDExNSwgLTMsIDcxKSwKKwlDQUJBQ19FTlRS WSgyMjgsIC0yLCA0NCwgLTE1LCA3MSwgLTIyLCA4MiwgLTYsIDQyKSwKKwlDQUJBQ19FTlRSWSgy MjksIDAsIDQ1LCAtNywgNjEsIC05LCA2MiwgLTUsIDUwKSwKKwlDQUJBQ19FTlRSWSgyMzAsIDAs IDUyLCAwLCA1MywgMCwgNTMsIC0zLCA1NCksCisJQ0FCQUNfRU5UUlkoMjMxLCAtMywgNjQsIC01 LCA2NiwgMCwgNTksIC0yLCA2MiksCisJQ0FCQUNfRU5UUlkoMjMyLCAtMiwgNTksIC0xMSwgNzcs IC0xNCwgODUsIDAsIDU4KSwKKwlDQUJBQ19FTlRSWSgyMzMsIC00LCA3MCwgLTksIDgwLCAtMTMs IDg5LCAxLCA2MyksCisJQ0FCQUNfRU5UUlkoMjM0LCAtNCwgNzUsIC05LCA4NCwgLTEzLCA5NCwg LTIsIDcyKSwKKwlDQUJBQ19FTlRSWSgyMzUsIC04LCA4MiwgLTEwLCA4NywgLTExLCA5MiwgLTEs IDc0KSwKKwlDQUJBQ19FTlRSWSgyMzYsIC0xNywgMTAyLCAtMzQsIDEyNywgLTI5LCAxMjcsIC05 LCA5MSksCisJQ0FCQUNfRU5UUlkoMjM3LCAtOSwgNzcsIC0yMSwgMTAxLCAtMjEsIDEwMCwgLTUs IDY3KSwKKwlDQUJBQ19FTlRSWSgyMzgsIDMsIDI0LCAtMywgMzksIC0xNCwgNTcsIC01LCAyNyks CisJQ0FCQUNfRU5UUlkoMjM5LCAwLCA0MiwgLTUsIDUzLCAtMTIsIDY3LCAtMywgMzkpLAorCUNB QkFDX0VOVFJZKDI0MCwgMCwgNDgsIC03LCA2MSwgLTExLCA3MSwgLTIsIDQ0KSwKKwlDQUJBQ19F TlRSWSgyNDEsIDAsIDU1LCAtMTEsIDc1LCAtMTAsIDc3LCAwLCA0NiksCisJQ0FCQUNfRU5UUlko MjQyLCAtNiwgNTksIC0xNSwgNzcsIC0yMSwgODUsIC0xNiwgNjQpLAorCUNBQkFDX0VOVFJZKDI0 MywgLTcsIDcxLCAtMTcsIDkxLCAtMTYsIDg4LCAtOCwgNjgpLAorCUNBQkFDX0VOVFJZKDI0NCwg LTEyLCA4MywgLTI1LCAxMDcsIC0yMywgMTA0LCAtMTAsIDc4KSwKKwlDQUJBQ19FTlRSWSgyNDUs IC0xMSwgODcsIC0yNSwgMTExLCAtMTUsIDk4LCAtNiwgNzcpLAorCUNBQkFDX0VOVFJZKDI0Niwg LTMwLCAxMTksIC0yOCwgMTIyLCAtMzcsIDEyNywgLTEwLCA4NiksCisJQ0FCQUNfRU5UUlkoMjQ3 LCAxLCA1OCwgLTExLCA3NiwgLTEwLCA4MiwgLTEyLCA5MiksCisJQ0FCQUNfRU5UUlkoMjQ4LCAt MywgMjksIC0xMCwgNDQsIC04LCA0OCwgLTE1LCA1NSksCisJQ0FCQUNfRU5UUlkoMjQ5LCAtMSwg MzYsIC0xMCwgNTIsIC04LCA2MSwgLTEwLCA2MCksCisJQ0FCQUNfRU5UUlkoMjUwLCAxLCAzOCwg LTEwLCA1NywgLTgsIDY2LCAtNiwgNjIpLAorCUNBQkFDX0VOVFJZKDI1MSwgMiwgNDMsIC05LCA1 OCwgLTcsIDcwLCAtNCwgNjUpLAorCUNBQkFDX0VOVFJZKDI1MiwgLTYsIDU1LCAtMTYsIDcyLCAt MTQsIDc1LCAtMTIsIDczKSwKKwlDQUJBQ19FTlRSWSgyNTMsIDAsIDU4LCAtNywgNjksIC0xMCwg NzksIC04LCA3NiksCisJQ0FCQUNfRU5UUlkoMjU0LCAwLCA2NCwgLTQsIDY5LCAtOSwgODMsIC03 LCA4MCksCisJQ0FCQUNfRU5UUlkoMjU1LCAtMywgNzQsIC01LCA3NCwgLTEyLCA5MiwgLTksIDg4 KSwKKwlDQUJBQ19FTlRSWSgyNTYsIC0xMCwgOTAsIC05LCA4NiwgLTE4LCAxMDgsIC0xNywgMTEw KSwKKwlDQUJBQ19FTlRSWSgyNTcsIDAsIDcwLCAyLCA2NiwgLTQsIDc5LCAtMTEsIDk3KSwKKwlD QUJBQ19FTlRSWSgyNTgsIC00LCAyOSwgLTksIDM0LCAtMjIsIDY5LCAtMjAsIDg0KSwKKwlDQUJB Q19FTlRSWSgyNTksIDUsIDMxLCAxLCAzMiwgLTE2LCA3NSwgLTExLCA3OSksCisJQ0FCQUNfRU5U UlkoMjYwLCA3LCA0MiwgMTEsIDMxLCAtMiwgNTgsIC02LCA3MyksCisJQ0FCQUNfRU5UUlkoMjYx LCAxLCA1OSwgNSwgNTIsIDEsIDU4LCAtNCwgNzQpLAorCUNBQkFDX0VOVFJZKDI2MiwgLTIsIDU4 LCAtMiwgNTUsIC0xMywgNzgsIC0xMywgODYpLAorCUNBQkFDX0VOVFJZKDI2MywgLTMsIDcyLCAt MiwgNjcsIC05LCA4MywgLTEzLCA5NiksCisJQ0FCQUNfRU5UUlkoMjY0LCAtMywgODEsIDAsIDcz LCAtNCwgODEsIC0xMSwgOTcpLAorCUNBQkFDX0VOVFJZKDI2NSwgLTExLCA5NywgLTgsIDg5LCAt MTMsIDk5LCAtMTksIDExNyksCisJQ0FCQUNfRU5UUlkoMjY2LCAwLCA1OCwgMywgNTIsIC0xMywg ODEsIC04LCA3OCksCisJQ0FCQUNfRU5UUlkoMjY3LCA4LCA1LCA3LCA0LCAtNiwgMzgsIC01LCAz MyksCisJQ0FCQUNfRU5UUlkoMjY4LCAxMCwgMTQsIDEwLCA4LCAtMTMsIDYyLCAtNCwgNDgpLAor CUNBQkFDX0VOVFJZKDI2OSwgMTQsIDE4LCAxNywgOCwgLTYsIDU4LCAtMiwgNTMpLAorCUNBQkFD X0VOVFJZKDI3MCwgMTMsIDI3LCAxNiwgMTksIC0yLCA1OSwgLTMsIDYyKSwKKwlDQUJBQ19FTlRS WSgyNzEsIDIsIDQwLCAzLCAzNywgLTE2LCA3MywgLTEzLCA3MSksCisJQ0FCQUNfRU5UUlkoMjcy LCAwLCA1OCwgLTEsIDYxLCAtMTAsIDc2LCAtMTAsIDc5KSwKKwlDQUJBQ19FTlRSWSgyNzMsIC0z LCA3MCwgLTUsIDczLCAtMTMsIDg2LCAtMTIsIDg2KSwKKwlDQUJBQ19FTlRSWSgyNzQsIC02LCA3 OSwgLTEsIDcwLCAtOSwgODMsIC0xMywgOTApLAorCUNBQkFDX0VOVFJZKDI3NSwgLTgsIDg1LCAt NCwgNzgsIC0xMCwgODcsIC0xNCwgOTcpLAorCisJLyogVGFibGUgOS0yMiDigJMgVmFsdWVzIG9m IHZhcmlhYmxlcyBtIGFuZCBuIGZvciBjdHhJZHggZnJvbSAyNzcgdG8gMzM3ICovCisJQ0FCQUNf RU5UUlkoMjc3LCAtMTMsIDEwNiwgLTIxLCAxMjYsIC0yMiwgMTI3LCAtNiwgOTMpLAorCUNBQkFD X0VOVFJZKDI3OCwgLTE2LCAxMDYsIC0yMywgMTI0LCAtMjUsIDEyNywgLTYsIDg0KSwKKwlDQUJB Q19FTlRSWSgyNzksIC0xMCwgODcsIC0yMCwgMTEwLCAtMjUsIDEyMCwgLTgsIDc5KSwKKwlDQUJB Q19FTlRSWSgyODAsIC0yMSwgMTE0LCAtMjYsIDEyNiwgLTI3LCAxMjcsIDAsIDY2KSwKKwlDQUJB Q19FTlRSWSgyODEsIC0xOCwgMTEwLCAtMjUsIDEyNCwgLTE5LCAxMTQsIC0xLCA3MSksCisJQ0FC QUNfRU5UUlkoMjgyLCAtMTQsIDk4LCAtMTcsIDEwNSwgLTIzLCAxMTcsIDAsIDYyKSwKKwlDQUJB Q19FTlRSWSgyODMsIC0yMiwgMTEwLCAtMjcsIDEyMSwgLTI1LCAxMTgsIC0yLCA2MCksCisJQ0FC QUNfRU5UUlkoMjg0LCAtMjEsIDEwNiwgLTI3LCAxMTcsIC0yNiwgMTE3LCAtMiwgNTkpLAorCUNB QkFDX0VOVFJZKDI4NSwgLTE4LCAxMDMsIC0xNywgMTAyLCAtMjQsIDExMywgLTUsIDc1KSwKKwlD QUJBQ19FTlRSWSgyODYsIC0yMSwgMTA3LCAtMjYsIDExNywgLTI4LCAxMTgsIC0zLCA2MiksCisJ Q0FCQUNfRU5UUlkoMjg3LCAtMjMsIDEwOCwgLTI3LCAxMTYsIC0zMSwgMTIwLCAtNCwgNTgpLAor CUNBQkFDX0VOVFJZKDI4OCwgLTI2LCAxMTIsIC0zMywgMTIyLCAtMzcsIDEyNCwgLTksIDY2KSwK KwlDQUJBQ19FTlRSWSgyODksIC0xMCwgOTYsIC0xMCwgOTUsIC0xMCwgOTQsIC0xLCA3OSksCisJ Q0FCQUNfRU5UUlkoMjkwLCAtMTIsIDk1LCAtMTQsIDEwMCwgLTE1LCAxMDIsIDAsIDcxKSwKKwlD QUJBQ19FTlRSWSgyOTEsIC01LCA5MSwgLTgsIDk1LCAtMTAsIDk5LCAzLCA2OCksCisJQ0FCQUNf RU5UUlkoMjkyLCAtOSwgOTMsIC0xNywgMTExLCAtMTMsIDEwNiwgMTAsIDQ0KSwKKwlDQUJBQ19F TlRSWSgyOTMsIC0yMiwgOTQsIC0yOCwgMTE0LCAtNTAsIDEyNywgLTcsIDYyKSwKKwlDQUJBQ19F TlRSWSgyOTQsIC01LCA4NiwgLTYsIDg5LCAtNSwgOTIsIDE1LCAzNiksCisJQ0FCQUNfRU5UUlko Mjk1LCA5LCA2NywgLTIsIDgwLCAxNywgNTcsIDE0LCA0MCksCisJQ0FCQUNfRU5UUlkoMjk2LCAt NCwgODAsIC00LCA4MiwgLTUsIDg2LCAxNiwgMjcpLAorCUNBQkFDX0VOVFJZKDI5NywgLTEwLCA4 NSwgLTksIDg1LCAtMTMsIDk0LCAxMiwgMjkpLAorCUNBQkFDX0VOVFJZKDI5OCwgLTEsIDcwLCAt OCwgODEsIC0xMiwgOTEsIDEsIDQ0KSwKKwlDQUJBQ19FTlRSWSgyOTksIDcsIDYwLCAtMSwgNzIs IC0yLCA3NywgMjAsIDM2KSwKKwlDQUJBQ19FTlRSWSgzMDAsIDksIDU4LCA1LCA2NCwgMCwgNzEs IDE4LCAzMiksCisJQ0FCQUNfRU5UUlkoMzAxLCA1LCA2MSwgMSwgNjcsIC0xLCA3MywgNSwgNDIp LAorCUNBQkFDX0VOVFJZKDMwMiwgMTIsIDUwLCA5LCA1NiwgNCwgNjQsIDEsIDQ4KSwKKwlDQUJB Q19FTlRSWSgzMDMsIDE1LCA1MCwgMCwgNjksIC03LCA4MSwgMTAsIDYyKSwKKwlDQUJBQ19FTlRS WSgzMDQsIDE4LCA0OSwgMSwgNjksIDUsIDY0LCAxNywgNDYpLAorCUNBQkFDX0VOVFJZKDMwNSwg MTcsIDU0LCA3LCA2OSwgMTUsIDU3LCA5LCA2NCksCisJQ0FCQUNfRU5UUlkoMzA2LCAxMCwgNDEs IC03LCA2OSwgMSwgNjcsIC0xMiwgMTA0KSwKKwlDQUJBQ19FTlRSWSgzMDcsIDcsIDQ2LCAtNiwg NjcsIDAsIDY4LCAtMTEsIDk3KSwKKwlDQUJBQ19FTlRSWSgzMDgsIC0xLCA1MSwgLTE2LCA3Nywg LTEwLCA2NywgLTE2LCA5NiksCisJQ0FCQUNfRU5UUlkoMzA5LCA3LCA0OSwgLTIsIDY0LCAxLCA2 OCwgLTcsIDg4KSwKKwlDQUJBQ19FTlRSWSgzMTAsIDgsIDUyLCAyLCA2MSwgMCwgNzcsIC04LCA4 NSksCisJQ0FCQUNfRU5UUlkoMzExLCA5LCA0MSwgLTYsIDY3LCAyLCA2NCwgLTcsIDg1KSwKKwlD QUJBQ19FTlRSWSgzMTIsIDYsIDQ3LCAtMywgNjQsIDAsIDY4LCAtOSwgODUpLAorCUNBQkFDX0VO VFJZKDMxMywgMiwgNTUsIDIsIDU3LCAtNSwgNzgsIC0xMywgODgpLAorCUNBQkFDX0VOVFJZKDMx NCwgMTMsIDQxLCAtMywgNjUsIDcsIDU1LCA0LCA2NiksCisJQ0FCQUNfRU5UUlkoMzE1LCAxMCwg NDQsIC0zLCA2NiwgNSwgNTksIC0zLCA3NyksCisJQ0FCQUNfRU5UUlkoMzE2LCA2LCA1MCwgMCwg NjIsIDIsIDY1LCAtMywgNzYpLAorCUNBQkFDX0VOVFJZKDMxNywgNSwgNTMsIDksIDUxLCAxNCwg NTQsIC02LCA3NiksCisJQ0FCQUNfRU5UUlkoMzE4LCAxMywgNDksIC0xLCA2NiwgMTUsIDQ0LCAx MCwgNTgpLAorCUNBQkFDX0VOVFJZKDMxOSwgNCwgNjMsIC0yLCA3MSwgNSwgNjAsIC0xLCA3Niks CisJQ0FCQUNfRU5UUlkoMzIwLCA2LCA2NCwgLTIsIDc1LCAyLCA3MCwgLTEsIDgzKSwKKwlDQUJB Q19FTlRSWSgzMjEsIC0yLCA2OSwgLTEsIDcwLCAtMiwgNzYsIC03LCA5OSksCisJQ0FCQUNfRU5U UlkoMzIyLCAtMiwgNTksIC05LCA3MiwgLTE4LCA4NiwgLTE0LCA5NSksCisJQ0FCQUNfRU5UUlko MzIzLCA2LCA3MCwgMTQsIDYwLCAxMiwgNzAsIDIsIDk1KSwKKwlDQUJBQ19FTlRSWSgzMjQsIDEw LCA0NCwgMTYsIDM3LCA1LCA2NCwgMCwgNzYpLAorCUNBQkFDX0VOVFJZKDMyNSwgOSwgMzEsIDAs IDQ3LCAtMTIsIDcwLCAtNSwgNzQpLAorCUNBQkFDX0VOVFJZKDMyNiwgMTIsIDQzLCAxOCwgMzUs IDExLCA1NSwgMCwgNzApLAorCUNBQkFDX0VOVFJZKDMyNywgMywgNTMsIDExLCAzNywgNSwgNTYs IC0xMSwgNzUpLAorCUNBQkFDX0VOVFJZKDMyOCwgMTQsIDM0LCAxMiwgNDEsIDAsIDY5LCAxLCA2 OCksCisJQ0FCQUNfRU5UUlkoMzI5LCAxMCwgMzgsIDEwLCA0MSwgMiwgNjUsIDAsIDY1KSwKKwlD QUJBQ19FTlRSWSgzMzAsIC0zLCA1MiwgMiwgNDgsIC02LCA3NCwgLTE0LCA3MyksCisJQ0FCQUNf RU5UUlkoMzMxLCAxMywgNDAsIDEyLCA0MSwgNSwgNTQsIDMsIDYyKSwKKwlDQUJBQ19FTlRSWSgz MzIsIDE3LCAzMiwgMTMsIDQxLCA3LCA1NCwgNCwgNjIpLAorCUNBQkFDX0VOVFJZKDMzMywgNywg NDQsIDAsIDU5LCAtNiwgNzYsIC0xLCA2OCksCisJQ0FCQUNfRU5UUlkoMzM0LCA3LCAzOCwgMywg NTAsIC0xMSwgODIsIC0xMywgNzUpLAorCUNBQkFDX0VOVFJZKDMzNSwgMTMsIDUwLCAxOSwgNDAs IC0yLCA3NywgMTEsIDU1KSwKKwlDQUJBQ19FTlRSWSgzMzYsIDEwLCA1NywgMywgNjYsIC0yLCA3 NywgNSwgNjQpLAorCUNBQkFDX0VOVFJZKDMzNywgMjYsIDQzLCAxOCwgNTAsIDI1LCA0MiwgMTIs IDcwKSwKKworCS8qIFRhYmxlIDktMjMg4oCTIFZhbHVlcyBvZiB2YXJpYWJsZXMgbSBhbmQgbiBm b3IgY3R4SWR4IGZyb20gMzM4IHRvIDM5OCAqLworCUNBQkFDX0VOVFJZKDMzOCwgMTQsIDExLCAx OSwgLTYsIDE3LCAtMTMsIDE1LCA2KSwKKwlDQUJBQ19FTlRSWSgzMzksIDExLCAxNCwgMTgsIC02 LCAxNiwgLTksIDYsIDE5KSwKKwlDQUJBQ19FTlRSWSgzNDAsIDksIDExLCAxNCwgMCwgMTcsIC0x MiwgNywgMTYpLAorCUNBQkFDX0VOVFJZKDM0MSwgMTgsIDExLCAyNiwgLTEyLCAyNywgLTIxLCAx MiwgMTQpLAorCUNBQkFDX0VOVFJZKDM0MiwgMjEsIDksIDMxLCAtMTYsIDM3LCAtMzAsIDE4LCAx MyksCisJQ0FCQUNfRU5UUlkoMzQzLCAyMywgLTIsIDMzLCAtMjUsIDQxLCAtNDAsIDEzLCAxMSks CisJQ0FCQUNfRU5UUlkoMzQ0LCAzMiwgLTE1LCAzMywgLTIyLCA0MiwgLTQxLCAxMywgMTUpLAor CUNBQkFDX0VOVFJZKDM0NSwgMzIsIC0xNSwgMzcsIC0yOCwgNDgsIC00NywgMTUsIDE2KSwKKwlD QUJBQ19FTlRSWSgzNDYsIDM0LCAtMjEsIDM5LCAtMzAsIDM5LCAtMzIsIDEyLCAyMyksCisJQ0FC QUNfRU5UUlkoMzQ3LCAzOSwgLTIzLCA0MiwgLTMwLCA0NiwgLTQwLCAxMywgMjMpLAorCUNBQkFD X0VOVFJZKDM0OCwgNDIsIC0zMywgNDcsIC00MiwgNTIsIC01MSwgMTUsIDIwKSwKKwlDQUJBQ19F TlRSWSgzNDksIDQxLCAtMzEsIDQ1LCAtMzYsIDQ2LCAtNDEsIDE0LCAyNiksCisJQ0FCQUNfRU5U UlkoMzUwLCA0NiwgLTI4LCA0OSwgLTM0LCA1MiwgLTM5LCAxNCwgNDQpLAorCUNBQkFDX0VOVFJZ KDM1MSwgMzgsIC0xMiwgNDEsIC0xNywgNDMsIC0xOSwgMTcsIDQwKSwKKwlDQUJBQ19FTlRSWSgz NTIsIDIxLCAyOSwgMzIsIDksIDMyLCAxMSwgMTcsIDQ3KSwKKwlDQUJBQ19FTlRSWSgzNTMsIDQ1 LCAtMjQsIDY5LCAtNzEsIDYxLCAtNTUsIDI0LCAxNyksCisJQ0FCQUNfRU5UUlkoMzU0LCA1Mywg LTQ1LCA2MywgLTYzLCA1NiwgLTQ2LCAyMSwgMjEpLAorCUNBQkFDX0VOVFJZKDM1NSwgNDgsIC0y NiwgNjYsIC02NCwgNjIsIC01MCwgMjUsIDIyKSwKKwlDQUJBQ19FTlRSWSgzNTYsIDY1LCAtNDMs IDc3LCAtNzQsIDgxLCAtNjcsIDMxLCAyNyksCisJQ0FCQUNfRU5UUlkoMzU3LCA0MywgLTE5LCA1 NCwgLTM5LCA0NSwgLTIwLCAyMiwgMjkpLAorCUNBQkFDX0VOVFJZKDM1OCwgMzksIC0xMCwgNTIs IC0zNSwgMzUsIC0yLCAxOSwgMzUpLAorCUNBQkFDX0VOVFJZKDM1OSwgMzAsIDksIDQxLCAtMTAs IDI4LCAxNSwgMTQsIDUwKSwKKwlDQUJBQ19FTlRSWSgzNjAsIDE4LCAyNiwgMzYsIDAsIDM0LCAx LCAxMCwgNTcpLAorCUNBQkFDX0VOVFJZKDM2MSwgMjAsIDI3LCA0MCwgLTEsIDM5LCAxLCA3LCA2 MyksCisJQ0FCQUNfRU5UUlkoMzYyLCAwLCA1NywgMzAsIDE0LCAzMCwgMTcsIC0yLCA3NyksCisJ Q0FCQUNfRU5UUlkoMzYzLCAtMTQsIDgyLCAyOCwgMjYsIDIwLCAzOCwgLTQsIDgyKSwKKwlDQUJB Q19FTlRSWSgzNjQsIC01LCA3NSwgMjMsIDM3LCAxOCwgNDUsIC0zLCA5NCksCisJQ0FCQUNfRU5U UlkoMzY1LCAtMTksIDk3LCAxMiwgNTUsIDE1LCA1NCwgOSwgNjkpLAorCUNBQkFDX0VOVFJZKDM2 NiwgLTM1LCAxMjUsIDExLCA2NSwgMCwgNzksIC0xMiwgMTA5KSwKKwlDQUJBQ19FTlRSWSgzNjcs IDI3LCAwLCAzNywgLTMzLCAzNiwgLTE2LCAzNiwgLTM1KSwKKwlDQUJBQ19FTlRSWSgzNjgsIDI4 LCAwLCAzOSwgLTM2LCAzNywgLTE0LCAzNiwgLTM0KSwKKwlDQUJBQ19FTlRSWSgzNjksIDMxLCAt NCwgNDAsIC0zNywgMzcsIC0xNywgMzIsIC0yNiksCisJQ0FCQUNfRU5UUlkoMzcwLCAyNywgNiwg MzgsIC0zMCwgMzIsIDEsIDM3LCAtMzApLAorCUNBQkFDX0VOVFJZKDM3MSwgMzQsIDgsIDQ2LCAt MzMsIDM0LCAxNSwgNDQsIC0zMiksCisJQ0FCQUNfRU5UUlkoMzcyLCAzMCwgMTAsIDQyLCAtMzAs IDI5LCAxNSwgMzQsIC0xOCksCisJQ0FCQUNfRU5UUlkoMzczLCAyNCwgMjIsIDQwLCAtMjQsIDI0 LCAyNSwgMzQsIC0xNSksCisJQ0FCQUNfRU5UUlkoMzc0LCAzMywgMTksIDQ5LCAtMjksIDM0LCAy MiwgNDAsIC0xNSksCisJQ0FCQUNfRU5UUlkoMzc1LCAyMiwgMzIsIDM4LCAtMTIsIDMxLCAxNiwg MzMsIC03KSwKKwlDQUJBQ19FTlRSWSgzNzYsIDI2LCAzMSwgNDAsIC0xMCwgMzUsIDE4LCAzNSwg LTUpLAorCUNBQkFDX0VOVFJZKDM3NywgMjEsIDQxLCAzOCwgLTMsIDMxLCAyOCwgMzMsIDApLAor CUNBQkFDX0VOVFJZKDM3OCwgMjYsIDQ0LCA0NiwgLTUsIDMzLCA0MSwgMzgsIDIpLAorCUNBQkFD X0VOVFJZKDM3OSwgMjMsIDQ3LCAzMSwgMjAsIDM2LCAyOCwgMzMsIDEzKSwKKwlDQUJBQ19FTlRS WSgzODAsIDE2LCA2NSwgMjksIDMwLCAyNywgNDcsIDIzLCAzNSksCisJQ0FCQUNfRU5UUlkoMzgx LCAxNCwgNzEsIDI1LCA0NCwgMjEsIDYyLCAxMywgNTgpLAorCUNBQkFDX0VOVFJZKDM4MiwgOCwg NjAsIDEyLCA0OCwgMTgsIDMxLCAyOSwgLTMpLAorCUNBQkFDX0VOVFJZKDM4MywgNiwgNjMsIDEx LCA0OSwgMTksIDI2LCAyNiwgMCksCisJQ0FCQUNfRU5UUlkoMzg0LCAxNywgNjUsIDI2LCA0NSwg MzYsIDI0LCAyMiwgMzApLAorCUNBQkFDX0VOVFJZKDM4NSwgMjEsIDI0LCAyMiwgMjIsIDI0LCAy MywgMzEsIC03KSwKKwlDQUJBQ19FTlRSWSgzODYsIDIzLCAyMCwgMjMsIDIyLCAyNywgMTYsIDM1 LCAtMTUpLAorCUNBQkFDX0VOVFJZKDM4NywgMjYsIDIzLCAyNywgMjEsIDI0LCAzMCwgMzQsIC0z KSwKKwlDQUJBQ19FTlRSWSgzODgsIDI3LCAzMiwgMzMsIDIwLCAzMSwgMjksIDM0LCAzKSwKKwlD QUJBQ19FTlRSWSgzODksIDI4LCAyMywgMjYsIDI4LCAyMiwgNDEsIDM2LCAtMSksCisJQ0FCQUNf RU5UUlkoMzkwLCAyOCwgMjQsIDMwLCAyNCwgMjIsIDQyLCAzNCwgNSksCisJQ0FCQUNfRU5UUlko MzkxLCAyMywgNDAsIDI3LCAzNCwgMTYsIDYwLCAzMiwgMTEpLAorCUNBQkFDX0VOVFJZKDM5Miwg MjQsIDMyLCAxOCwgNDIsIDE1LCA1MiwgMzUsIDUpLAorCUNBQkFDX0VOVFJZKDM5MywgMjgsIDI5 LCAyNSwgMzksIDE0LCA2MCwgMzQsIDEyKSwKKwlDQUJBQ19FTlRSWSgzOTQsIDIzLCA0MiwgMTgs IDUwLCAzLCA3OCwgMzksIDExKSwKKwlDQUJBQ19FTlRSWSgzOTUsIDE5LCA1NywgMTIsIDcwLCAt MTYsIDEyMywgMzAsIDI5KSwKKwlDQUJBQ19FTlRSWSgzOTYsIDIyLCA1MywgMjEsIDU0LCAyMSwg NTMsIDM0LCAyNiksCisJQ0FCQUNfRU5UUlkoMzk3LCAyMiwgNjEsIDE0LCA3MSwgMjIsIDU2LCAy OSwgMzkpLAorCUNBQkFDX0VOVFJZKDM5OCwgMTEsIDg2LCAxMSwgODMsIDI1LCA2MSwgMTksIDY2 KSwKKworCS8qIFZhbHVlcyBvZiB2YXJpYWJsZXMgbSBhbmQgbiBmb3IgY3R4SWR4IGZyb20gMzk5 IHRvIDQ2MyAobm90IGRvY3VtZW50ZWQpICovCisJQ0FCQUNfRU5UUlkoMzk5LCAxMiwgNDAsIDI1 LCAzMiwgMjEsIDMzLCAzMSwgMjEpLAorCUNBQkFDX0VOVFJZKDQwMCwgMTEsIDUxLCAyMSwgNDks IDE5LCA1MCwgMzEsIDMxKSwKKwlDQUJBQ19FTlRSWSg0MDEsIDE0LCA1OSwgMjEsIDU0LCAxNywg NjEsIDI1LCA1MCksCisJQ0FCQUNfRU5UUlkoNDAyLCAtNCwgNzksIC01LCA4NSwgLTMsIDc4LCAt MTcsIDEyMCksCisJQ0FCQUNfRU5UUlkoNDAzLCAtNywgNzEsIC02LCA4MSwgLTgsIDc0LCAtMjAs IDExMiksCisJQ0FCQUNfRU5UUlkoNDA0LCAtNSwgNjksIC0xMCwgNzcsIC05LCA3MiwgLTE4LCAx MTQpLAorCUNBQkFDX0VOVFJZKDQwNSwgLTksIDcwLCAtNywgODEsIC0xMCwgNzIsIC0xMSwgODUp LAorCUNBQkFDX0VOVFJZKDQwNiwgLTgsIDY2LCAtMTcsIDgwLCAtMTgsIDc1LCAtMTUsIDkyKSwK KwlDQUJBQ19FTlRSWSg0MDcsIC0xMCwgNjgsIC0xOCwgNzMsIC0xMiwgNzEsIC0xNCwgODkpLAor CUNBQkFDX0VOVFJZKDQwOCwgLTE5LCA3MywgLTQsIDc0LCAtMTEsIDYzLCAtMjYsIDcxKSwKKwlD QUJBQ19FTlRSWSg0MDksIC0xMiwgNjksIC0xMCwgODMsIC01LCA3MCwgLTE1LCA4MSksCisJQ0FC QUNfRU5UUlkoNDEwLCAtMTYsIDcwLCAtOSwgNzEsIC0xNywgNzUsIC0xNCwgODApLAorCUNBQkFD X0VOVFJZKDQxMSwgLTE1LCA2NywgLTksIDY3LCAtMTQsIDcyLCAwLCA2OCksCisJQ0FCQUNfRU5U UlkoNDEyLCAtMjAsIDYyLCAtMSwgNjEsIC0xNiwgNjcsIC0xNCwgNzApLAorCUNBQkFDX0VOVFJZ KDQxMywgLTE5LCA3MCwgLTgsIDY2LCAtOCwgNTMsIC0yNCwgNTYpLAorCUNBQkFDX0VOVFJZKDQx NCwgLTE2LCA2NiwgLTE0LCA2NiwgLTE0LCA1OSwgLTIzLCA2OCksCisJQ0FCQUNfRU5UUlkoNDE1 LCAtMjIsIDY1LCAwLCA1OSwgLTksIDUyLCAtMjQsIDUwKSwKKwlDQUJBQ19FTlRSWSg0MTYsIC0y MCwgNjMsIDIsIDU5LCAtMTEsIDY4LCAtMTEsIDc0KSwKKwlDQUJBQ19FTlRSWSg0MTcsIDksIC0y LCAxNywgLTEwLCA5LCAtMiwgMjMsIC0xMyksCisJQ0FCQUNfRU5UUlkoNDE4LCAyNiwgLTksIDMy LCAtMTMsIDMwLCAtMTAsIDI2LCAtMTMpLAorCUNBQkFDX0VOVFJZKDQxOSwgMzMsIC05LCA0Miwg LTksIDMxLCAtNCwgNDAsIC0xNSksCisJQ0FCQUNfRU5UUlkoNDIwLCAzOSwgLTcsIDQ5LCAtNSwg MzMsIC0xLCA0OSwgLTE0KSwKKwlDQUJBQ19FTlRSWSg0MjEsIDQxLCAtMiwgNTMsIDAsIDMzLCA3 LCA0NCwgMyksCisJQ0FCQUNfRU5UUlkoNDIyLCA0NSwgMywgNjQsIDMsIDMxLCAxMiwgNDUsIDYp LAorCUNBQkFDX0VOVFJZKDQyMywgNDksIDksIDY4LCAxMCwgMzcsIDIzLCA0NCwgMzQpLAorCUNB QkFDX0VOVFJZKDQyNCwgNDUsIDI3LCA2NiwgMjcsIDMxLCAzOCwgMzMsIDU0KSwKKwlDQUJBQ19F TlRSWSg0MjUsIDM2LCA1OSwgNDcsIDU3LCAyMCwgNjQsIDE5LCA4MiksCisJQ0FCQUNfRU5UUlko NDI2LCAtNiwgNjYsIC01LCA3MSwgLTksIDcxLCAtMywgNzUpLAorCUNBQkFDX0VOVFJZKDQyNywg LTcsIDM1LCAwLCAyNCwgLTcsIDM3LCAtMSwgMjMpLAorCUNBQkFDX0VOVFJZKDQyOCwgLTcsIDQy LCAtMSwgMzYsIC04LCA0NCwgMSwgMzQpLAorCUNBQkFDX0VOVFJZKDQyOSwgLTgsIDQ1LCAtMiwg NDIsIC0xMSwgNDksIDEsIDQzKSwKKwlDQUJBQ19FTlRSWSg0MzAsIC01LCA0OCwgLTIsIDUyLCAt MTAsIDU2LCAwLCA1NCksCisJQ0FCQUNfRU5UUlkoNDMxLCAtMTIsIDU2LCAtOSwgNTcsIC0xMiwg NTksIC0yLCA1NSksCisJQ0FCQUNfRU5UUlkoNDMyLCAtNiwgNjAsIC02LCA2MywgLTgsIDYzLCAw LCA2MSksCisJQ0FCQUNfRU5UUlkoNDMzLCAtNSwgNjIsIC00LCA2NSwgLTksIDY3LCAxLCA2NCks CisJQ0FCQUNfRU5UUlkoNDM0LCAtOCwgNjYsIC00LCA2NywgLTYsIDY4LCAwLCA2OCksCisJQ0FC QUNfRU5UUlkoNDM1LCAtOCwgNzYsIC03LCA4MiwgLTEwLCA3OSwgLTksIDkyKSwKKwlDQUJBQ19F TlRSWSg0MzYsIC01LCA4NSwgLTMsIDgxLCAtMywgNzgsIC0xNCwgMTA2KSwKKwlDQUJBQ19FTlRS WSg0MzcsIC02LCA4MSwgLTMsIDc2LCAtOCwgNzQsIC0xMywgOTcpLAorCUNBQkFDX0VOVFJZKDQz OCwgLTEwLCA3NywgLTcsIDcyLCAtOSwgNzIsIC0xNSwgOTApLAorCUNBQkFDX0VOVFJZKDQzOSwg LTcsIDgxLCAtNiwgNzgsIC0xMCwgNzIsIC0xMiwgOTApLAorCUNBQkFDX0VOVFJZKDQ0MCwgLTE3 LCA4MCwgLTEyLCA3MiwgLTE4LCA3NSwgLTE4LCA4OCksCisJQ0FCQUNfRU5UUlkoNDQxLCAtMTgs IDczLCAtMTQsIDY4LCAtMTIsIDcxLCAtMTAsIDczKSwKKwlDQUJBQ19FTlRSWSg0NDIsIC00LCA3 NCwgLTMsIDcwLCAtMTEsIDYzLCAtOSwgNzkpLAorCUNBQkFDX0VOVFJZKDQ0MywgLTEwLCA4Mywg LTYsIDc2LCAtNSwgNzAsIC0xNCwgODYpLAorCUNBQkFDX0VOVFJZKDQ0NCwgLTksIDcxLCAtNSwg NjYsIC0xNywgNzUsIC0xMCwgNzMpLAorCUNBQkFDX0VOVFJZKDQ0NSwgLTksIDY3LCAtNSwgNjIs IC0xNCwgNzIsIC0xMCwgNzApLAorCUNBQkFDX0VOVFJZKDQ0NiwgLTEsIDYxLCAwLCA1NywgLTE2 LCA2NywgLTEwLCA2OSksCisJQ0FCQUNfRU5UUlkoNDQ3LCAtOCwgNjYsIC00LCA2MSwgLTgsIDUz LCAtNSwgNjYpLAorCUNBQkFDX0VOVFJZKDQ0OCwgLTE0LCA2NiwgLTksIDYwLCAtMTQsIDU5LCAt OSwgNjQpLAorCUNBQkFDX0VOVFJZKDQ0OSwgMCwgNTksIDEsIDU0LCAtOSwgNTIsIC01LCA1OCks CisJQ0FCQUNfRU5UUlkoNDUwLCAyLCA1OSwgMiwgNTgsIC0xMSwgNjgsIDIsIDU5KSwKKwlDQUJB Q19FTlRSWSg0NTEsIDIxLCAtMTMsIDE3LCAtMTAsIDksIC0yLCAyMSwgLTEwKSwKKwlDQUJBQ19F TlRSWSg0NTIsIDMzLCAtMTQsIDMyLCAtMTMsIDMwLCAtMTAsIDI0LCAtMTEpLAorCUNBQkFDX0VO VFJZKDQ1MywgMzksIC03LCA0MiwgLTksIDMxLCAtNCwgMjgsIC04KSwKKwlDQUJBQ19FTlRSWSg0 NTQsIDQ2LCAtMiwgNDksIC01LCAzMywgLTEsIDI4LCAtMSksCisJQ0FCQUNfRU5UUlkoNDU1LCA1 MSwgMiwgNTMsIDAsIDMzLCA3LCAyOSwgMyksCisJQ0FCQUNfRU5UUlkoNDU2LCA2MCwgNiwgNjQs IDMsIDMxLCAxMiwgMjksIDkpLAorCUNBQkFDX0VOVFJZKDQ1NywgNjEsIDE3LCA2OCwgMTAsIDM3 LCAyMywgMzUsIDIwKSwKKwlDQUJBQ19FTlRSWSg0NTgsIDU1LCAzNCwgNjYsIDI3LCAzMSwgMzgs IDI5LCAzNiksCisJQ0FCQUNfRU5UUlkoNDU5LCA0MiwgNjIsIDQ3LCA1NywgMjAsIDY0LCAxNCwg NjcpLAorfTsKKworI2VuZGlmIC8qIFJLVkRFQ19IMjY0X0NBQkFDX0hfICovCi0tIAoyLjQ5LjAK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1y b2NrY2hpcCBtYWlsaW5nIGxpc3QKTGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZwpo dHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJvY2tjaGlw Cg==