blob: 22b2730dda027d3191de752933dfbe5132145225 [file] [log] [blame]
/*
* MetaSound decoder
* Copyright (c) 2013 Konstantin Shishkov
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "config.h"
#include "metasound_data.h"
#if CONFIG_METASOUND_DECODER
static const int16_t cb0806sl0[] = {
-417, -225, -84, 16, -106, -34, -246, -164,
112, 48, -47, 36, -65, -68, -172, -1655,
-36, 140, -3, -2, -2, 2, 0, 0,
178, 7, -181, -177, 120, -64, -129, 80,
-6826, -38, -25, 147, 148, -13, -25, 110,
21, 21, -1, 0, 0, 0, 0, 0,
3319, 632, -734, -187, 40, -249, -155, -1,
-173, 95, 28, -2, 20, -44, 35, 120,
-47, -221, -5, 2, -7, 1, 0, 0,
63, 268, -260, -419, 187, -75, -228, 296,
-470, 177, -515, 318, 124, 308, 92, 371,
3046, 362, -1, -1, -10, 1, 0, 0,
-356, -16, -199, 117, -75, 46, -108, -14,
-124, -173, 4914, -75, -474, 105, 87, 190,
-183, -208, 0, 0, 1, 1, 0, -1,
162, 89, 49, -314, -2788, 265, -263, -3,
-3156, 316, 112, 128, -333, -138, -114, -141,
-287, -234, -1, 0, 0, 0, 0, 1,
733, 126, -424, -389, 642, 432, 134, -251,
407, -51, -151, -491, -308, 91, 50, 3836,
87, 100, -5, -6, 0, 1, 0, 0,
304, 1727, 83, -8, 216, -81, -189, 152,
-67, 15, 310, -93, 6, -37, 54, -110,
-15, 78, 0, 0, 1, 12, 0, -1,
129, -198, 1, -48, -66, -147, 30, 264,
-84, 102, 42, 126, 1, -6451, 225, -51,
8, 123, 0, -1, 0, -1, 0, 0,
-374, 66, -256, -80, -1139, 303, 2002, -199,
-98, -98, -39, -76, 180, 15, -456, 148,
-183, 118, -2, 1, 0, 0, 0, 0,
151, 13, -114, 65, 6156, 76, -82, -30,
-26, 163, 81, 167, -83, -101, 55, -40,
161, -793, -8, 0, 0, -1, -1, 0,
-102, -33, 55, -131, 434, 108, 70, 68,
62, 1913, -109, 235, 110, 124, -25, -58,
-76, 18, -1, -1, 0, 0, 0, 0,
-105, -7322, -9, 82, 53, -43, -5, 18,
90, 91, 20, -34, 26, -93, -50, -46,
-77, 105, 0, 6, -12, -6, 1, 0,
-1334, 980, -163, -351, -514, 537, 62, -300,
80, -318, 14, -3570, -52, -116, -280, 540,
250, -775, -7, 0, 0, 0, 0, 0,
507, 317, -417, -236, -2438, -72, -346, 2507,
302, -185, 30, 1539, 205, 87, -112, -482,
-296, 132, -1, 0, -1, 1, 0, 0,
-64, -208, -159, 1, 336, -62, -14, 13,
81, 101, 382, 32, 116, -5, -41, 25,
-175, -7829, 1, 0, 1, 0, 0, 0,
7551, -7, 86, -165, -57, -17, 183, -207,
69, 54, -99, -25, 167, -58, 107, -81,
165, 172, 2, -2, 0, 1, 0, -9,
26, 28, 86, -183, -320, -32, 116, -53,
-49, -15, 133, -283, -152, 576, 6630, 185,
44, 25, 20, 1, -12, 1, -1, 0,
-145, -51, -114, -29, -228, 78, -409, 235,
147, 45, -192, 177, -91, 68, -2572, -52,
81, 181, -5, 13, -1, -1, -17, 0,
-65, -23, -28, 9, 242, 14, -35, 88,
77, -20, 37, -7097, -58, 51, 137, 126,
-90, 136, 0, 4, -1, 0, 0, 0,
-266, -82, -205, 816, -309, 3267, 1053, 369,
-216, -302, 18, 168, 395, 273, 343, 243,
-98, -53, 1, 0, 0, 1, 0, 0,
-65, -76, 1850, -991, -454, -535, 2927, -145,
101, 23, 20, 234, -74, 77, 114, 4,
-106, 527, -11, 4, 0, 1, -1, 0,
573, -46, 207, 2640, -956, 47, 26, -10,
317, -217, -5, -867, -3, 213, 52, 53,
-428, -175, 0, 0, -1, -1, 0, -1,
-223, -55, 135, 184, 313, 0, 2868, 245,
-3187, -721, -291, 9, -265, -120, -105, -36,
454, 55, -1, 49, 0, 1, -1, 0,
-291, 41, 84, 557, -201, -2300, 429, 283,
21, -2, 132, 286, -124, 149, -14, 146,
320, -298, 0, -1, 1, -2, 0, 0,
-86, -3493, 131, -3581, 185, 26, -197, -65,
-96, 147, -53, -150, -35, -35, 179, 68,
-157, 0, 0, 2, 0, 1, 2, -1,
-22, -218, 13, -1447, -400, 288, -1295, 0,
-119, 69, -56, -139, 157, -26, -122, -61,
-38, -108, -1, 1, 0, 0, 0, 0,
-229, 3335, 103, -108, 10, 3008, -712, 50,
27, 152, -307, -106, 148, -77, -178, -46,
7, -114, 0, -9, 0, 0, 1, 0,
932, -443, 311, -75, 62, -80, -179, 459,
-232, -160, 2, 169, 134, -260, 41, -149,
23, 92, -2, 0, 11, 1, 0, 0,
16, -90, -574, -171, 163, 261, -299, 2994,
74, -3818, -396, -171, 13, -29, -45, -168,
-287, -390, 1, 0, 0, -4, 0, -1,
89, -702, 2223, 101, -249, 2983, 36, -333,
-382, 410, -262, 185, -146, 98, -8, -317,
-279, -879, 0, 0, 0, 0, 4, 0,
-98, -325, 75, -229, -13, 112, -5743, -34,
-89, 263, -155, 80, 140, -50, 33, 143,
-60, -77, 1, -2, 0, -1, 1, 0,
52, -576, -543, -1142, -947, -184, 449, -71,
-75, -156, -3412, -50, -487, 307, 663, -1000,
-415, -2348, -7, -1, -1, 0, 0, 0,
64, 3, -35, 11, 14, -198, -2, -8042,
140, -11, -93, 29, -65, 330, 34, 110,
-19, -137, 2, 0, 0, 0, 0, 0,
1236, 303, 2681, 234, -217, -406, -395, -380,
247, 349, -101, -33, 370, -39, 139, 59,
18, 24, 0, 0, 0, 0, 0, 0,
166, -21, -5392, -117, -296, 114, 230, -255,
131, -53, 13, -45, 200, 7, -56, 87,
46, 223, -59, 0, -1, 0, 0, -1,
214, -511, 175, 204, -123, -47, -440, 6,
23, 92, -355, 80, -4885, -238, -37, 78,
-218, 175, 0, 2, 0, 0, 0, 0,
-146, 74, -13, -4, 27, -45, 51, 81,
-80, 53, -18, 173, -146, -64, -8, 8192,
79, 15, 0, -3, 0, 1, 0, 0,
-3, -16, -28, 288, -61, 4, -187, 6,
-5, -14, 77, -12, -53, 16, -41, -7,
-10, -2, 7, -1, -9, 1, 0, 0,
-285, -35, -8, 221, -68, 114, 135, -8,
-203, -181, -91, 2043, -58, 127, 201, 111,
46, -344, -11, -49, 0, 1, 0, -1,
-160, -186, 58, 4761, 289, 51, -145, 51,
-32, 71, 62, 175, -13, 181, 203, 141,
-200, 106, -1, 4, -2, 0, 0, 0,
803, -76, -96, -940, 300, 3429, -84, 3037,
262, -9, -39, 120, -629, -309, 233, -374,
398, 894, -12, 1, 1, 1, 0, 0,
-282, 2525, -31, -176, -2473, 53, 102, -610,
180, -145, 42, -51, 223, 27, -69, 727,
-14, -51, 0, 0, 0, -3, 0, -40,
214, 72, 41, 1, 190, 78, -228, -235,
105, -4619, -140, -46, -7, 49, 9, -19,
137, -2, 9, 1, 0, 0, 0, 0,
-142, -262, 29, -142, 39, -39, -92, 95,
50, -282, 2, -106, 114, 8, 35, 78,
-121, 2589, 1, -4, -10, 1, 1, 0,
-192, 59, 287, 400, -67, -6989, -301, 446,
115, 7, 33, -60, 111, 102, 8, 206,
46, -31, -1, -1, -2, 0, 0, 0,
-104, 332, -223, 1066, -188, 1270, -222, 309,
-296, 259, 780, -460, -1914, 218, -556, 210,
2962, 130, 1, -2, 2, 0, 1, 0,
-320, -365, -266, 822, -119, 824, -312, 58,
-1857, 235, 48, -3985, 118, -307, -703, -931,
-560, 105, -2, -3, 0, 0, 0, 1,
156, -48, 187, 214, -212, 180, 342, 373,
1973, 128, -5, 146, -40, -11, 71, -60,
76, 17, 0, 0, -1, 2, 0, 7,
214, 63, 274, 2876, -65, 314, 400, 344,
140, 39, 193, -226, 124, -3177, 68, 46,
-60, -317, 2, 0, -1, 0, 7, 0,
-160, 118, 233, 239, -465, 96, 253, 3178,
-88, 299, 368, -220, 197, 397, -353, -463,
-202, -103, -4, 0, 0, 0, 0, 0,
687, -448, -749, 87, -35, 112, 309, -33,
-16, 88, 141, 63, -51, 274, -113, -76,
46, -273, -1, 1, 0, 1, 0, 1,
-298, -206, 670, 303, -451, -277, -493, 404,
-173, 284, 148, 626, -322, -296, -68, 3044,
-442, 1138, -7, 2, 0, 1, 0, 0,
-1338, 18, 2862, 223, 250, 260, 144, 259,
-38, -647, 602, -160, 75, -5, -8, 34,
237, 50, 2, 0, 1, -1, -1, 0,
-412, 2153, 933, 478, 768, 186, -424, -657,
-3458, -443, 294, 224, -468, -58, -120, -1565,
211, -420, 0, 0, 1, -1, 0, 0,
198, 227, -112, 350, 297, -303, 108, -192,
153, 32, -2717, -111, -1093, -200, 476, 326,
-271, 627, 0, -4, 0, 0, 0, -1,
462, -616, 126, 316, -2413, 204, -350, -3549,
-263, -386, -112, 483, -1339, 636, 70, -531,
96, 38, 8, -1, 0, -3, 0, 0,
-310, -1128, 616, -339, -168, -124, -905, -151,
-383, 76, 137, -44, 3689, -388, 184, 1799,
-102, -930, 6, -1, -1, -1, 0, 0,
-284, 280, 39, -728, 143, 15, 181, 798,
382, 10, 2267, -12, -3582, -27, 357, 514,
-565, -121, 0, -1, 0, -9, -1, 0,
429, -16, 2993, -2903, 47, -136, 30, 792,
-327, -347, -69, -50, -93, -223, -438, 158,
203, -475, 0, -4, -1, 2, 0, 0,
-3465, 415, -963, 252, 397, -945, -448, -231,
-130, 673, 504, 55, -355, 221, 29, 167,
-19, 134, -1, -1, -4, 0, -14, -2,
44, 433, -535, -216, 2485, 33, 19, -100,
-185, -171, 91, 336, -208, 140, -3, 46,
-67, -116, 32, 0, 5, 3, 0, 0,
220, 91, -65, -15, -169, 217, -183, -169,
-47, 181, -272, 138, -166, 110, -9, 41,
-6957, 33, -5, -2, 1, 1, 0, -1,
164, -4062, -109, 230, -220, 1748, -1338, -246,
-242, -98, 300, 217, -202, -130, 157, -3,
-19, -453, 0, 2, 0, 0, 0, 0,
};
static const int16_t cb0806sl1[] = {
75, 87, -31, 607, -132, 5963, -262, 494,
134, -4, 141, 19, 225, 229, 239, 93,
-20, -189, 2, 0, -3, -1, -1, 0,
214, -206, 877, 83, -588, 83, 132, 78,
5, -85, 66, -24, 47, -11, 25, 26,
-3, 46, 2, -5, 0, 1, -1, 0,
-113, 295, -81, 74, 223, -50, -93, -5671,
-28, 115, 256, -228, -31, -539, 300, -278,
-59, 426, -110, -1, 1, 1, 0, 0,
-95, -116, 266, 176, 761, -3, 90, -91,
98, -209, -414, -27, -56, 26, -76, 6,
-32, 4634, 1, 0, -4, 0, 0, 0,
177, 147, -236, -93, -7925, 11, -111, -74,
36, 176, 352, 88, 112, 16, 144, -110,
91, 329, -1, 2, 0, 1, 0, 1,
119, 304, -94, -422, 113, 129, -70, 155,
247, -116, -139, 327, -355, 77, 143, -5362,
27, -377, -1, 7, 2, 1, 0, 0,
179, 127, 1500, -324, -15, 673, 184, -1382,
167, 1833, -3058, 200, -1203, 459, -1905, 1020,
-259, -120, 10, -4, 0, 1, 0, 0,
995, -112, 37, -160, -21, -4011, 172, 228,
-210, 80, -131, 1, 20, -128, -252, -288,
-132, 337, -1, 0, -1, 0, 1, -1,
-60, 61, 197, -185, -40, -2951, -592, -57,
210, -3248, -226, -44, 391, -167, -7, 219,
-15, 172, 0, -1, 1, 0, 0, 0,
106, -70, -291, 192, 45, 162, 37, 143,
91, 21, -7032, 12, -173, -30, 1, 259,
-286, 387, -36, 0, 0, 0, 0, 0,
-1593, -210, 83, 47, 194, 61, 85, -182,
-23, 40, -74, 22, 12, 216, 59, -165,
-163, -159, -8, 0, 0, 2, 0, 0,
-3, 182, -80, 2068, 702, 115, -164, -85,
21, -124, -191, -113, 263, 138, 4235, 37,
204, -436, 0, 24, 1, -1, 0, 0,
147, 83, -177, -168, -609, -9, -16, -46,
127, 120, -25, 3435, 51, 31, 49, 366,
31, -129, 1, -32, 0, -1, 0, -2,
295, 158, 116, 11, -280, 471, 169, 29,
-2589, 338, 32, 299, 172, -187, -32, 437,
-38, 359, -1, -1, 1, 0, 0, 0,
243, 413, -29, -4774, 187, 12, -117, 168,
-114, -208, -55, 5, 0, -31, 436, 545,
-45, 272, 0, -4, 0, 0, 1, 0,
127, 38, 6620, -33, -103, 34, 84, -35,
30, -131, -8, -79, -126, -98, 17, -75,
-31, -176, 14, -1, 0, 0, -1, -1,
273, -219, 176, -83, 187, -36, 1, 2639,
158, 3812, 127, -233, 175, 310, 148, 387,
-14, 308, 0, -3, 0, 0, 0, 0,
3321, -447, 153, -128, 254, -275, 79, -181,
17, 146, 61, 46, -48, 253, 51, -17,
1, 1, 0, 1, -1, -2, 0, -13,
791, -130, 40, 78, -64, -179, 42, -455,
422, 112, -19, -4499, -113, -341, 52, 69,
67, 254, -6, -1, 4, 0, 0, 1,
-98, -976, 68, 1563, 228, 1018, 458, -1020,
411, 249, -627, 2321, 738, -460, -1469, 362,
884, -261, 0, -1, 1, 1, 0, 0,
-601, 378, -71, 61, -160, 800, -386, -773,
303, -53, 248, -22, 59, -3809, -61, 102,
-45, 395, 0, 0, 28, 0, -12, 0,
717, -424, 499, 296, -15, 11, 2732, -103,
-119, -116, 107, -50, 462, 73, -82, 75,
41, 131, 0, 3, 1, -1, 0, 0,
-134, 109, 48, -1847, -205, -6, 20, -203,
136, 197, 113, -77, -124, -50, 184, 225,
-175, -295, -1, -1, -6, -1, -1, 0,
-59, -2017, -193, -237, 226, 630, 1950, -2,
179, -3666, -34, 140, 88, 157, 51, 81,
-263, -169, 1, 0, 0, 0, 0, 0,
229, -14, -1590, -123, 162, 63, -224, -332,
119, 2931, 21, -48, 406, 15, 320, -51,
64, -228, -9, -1, 0, -1, 0, 0,
-453, 84, -320, -654, -4, -91, -61, 558,
-61, -233, 31, -224, -105, 63, 86, 3771,
162, -1535, 3, -3, 1, 1, 0, 1,
-1992, -279, -59, -3048, -1696, 102, -168, 194,
172, -142, 55, 134, 116, -146, -29, -287,
102, 265, -3, 1, 0, 1, 0, 0,
-96, 46, -16, 2474, -58, -712, -25, -294,
187, 22, -39, -102, 62, 2666, -237, -1,
32, -41, 0, 0, 0, 0, 0, 0,
-282, -25, -198, -862, -127, -379, -210, -20,
45, -79, -2805, -364, 575, 106, 215, -410,
-76, 511, 15, -44, -1, 1, 0, 0,
329, 224, 130, 43, -1, -255, -51, -297,
4529, 52, 186, 757, -68, -89, 46, 250,
46, -79, 5, 1, 0, 1, 0, -19,
79, 74, 65, 256, 260, 492, -106, -217,
-357, 20, 166, 233, 132, 165, 18, -1,
4445, -22, 5, 3, -7, 0, 0, -6,
-922, 2156, 269, 1385, 235, -206, -94, 130,
112, 145, -126, 166, 1, 45, 83, 36,
-153, -255, 0, -1, 0, 0, 1, 0,
241, -237, -117, -510, 85, 7, -4418, 30,
94, -92, 99, -71, 140, -265, 149, 69,
286, 104, 0, -2, 1, 0, 0, 0,
-165, 22, -245, 29, 50, 145, -53, 1641,
-40, -128, -112, -190, 47, 53, -247, -50,
88, 39, 1, -1, 0, 0, 0, 0,
-288, 130, 88, -132, 4055, -7, 55, -105,
277, 81, 69, -66, -53, 52, -56, 90,
160, 386, 1, -4, 0, -2, 0, 0,
107, 124, -39, 40, 25, -6, -248, -81,
70, -13, 46, 5, 20, 24, -5, -2,
-41, -34, 1, 1, -8, 0, -4, 0,
-61, 1, 457, 454, 768, 89, 640, 61,
66, -360, -2727, -155, -370, -44, -292, 570,
34, -3209, -5, -1, 1, 0, -1, 0,
22, -82, -20, -125, -91, 98, 7843, 25,
-2, -31, 2, -52, -73, -25, 31, -35,
-6, -114, 1, -1, 2, 0, 0, 0,
217, -5202, 86, -76, -76, 109, 389, -95,
-253, 124, 130, 58, 190, -44, -67, -142,
54, 6, -1, 1, 1, 1, 0, 0,
-183, 547, -200, 348, 372, 437, 425, 547,
-457, 388, 87, 38, -522, -210, -556, 41,
-2979, -17, 7, -4, 6, 0, 0, 0,
189, 196, 240, -75, 46, -50, 101, -160,
-16, -223, 92, 71, -7633, 78, 90, 69,
190, -75, 2, 1, -2, -1, 0, 1,
205, -433, -267, -175, 3068, -210, -514, 330,
-3099, -273, 155, 132, -306, 361, 316, -53,
-421, -125, -3, 0, -11, 0, 0, 0,
179, -38, 151, -36, 215, -102, -145, 139,
50, 200, 383, 37, 3102, -27, 9, -157,
-68, 367, 1, 1, 0, 0, 1, 0,
-50, 177, -24, 24, 119, 4, 76, 99,
-111, -7367, 26, 51, -11, -146, -125, -48,
54, 50, 1, 0, 0, 0, -1, 0,
-71, -16, -184, -61, -36, -151, 79, -128,
-102, 135, -228, 190, -79, -10, -176, -113,
1008, -856, -13, -4, 8, 28, 0, 1,
-4909, -93, -167, -141, 51, -203, 71, -199,
-49, 106, -142, -94, 126, -225, 158, 36,
269, 159, 0, 1, 1, 0, 0, -5,
-61, -79, -20, 306, 67, -621, 1774, 346,
-442, 125, 305, -170, 55, -2537, -103, 118,
87, 505, 16, -7, -2, 0, 20, 0,
35, -154, -158, 224, -36, -344, 79, 4232,
234, -219, -71, 204, -484, -131, 1153, 23,
111, 499, 5, 0, -17, 0, 0, 1,
1135, -3469, -489, 2572, -450, -432, -358, -34,
-78, -10, -775, 17, -131, -154, 218, 82,
-312, 279, 1, 0, 1, 0, 0, 0,
96, 230, 18, 47, -5, -102, 646, -122,
35, -81, 183, 171, -1479, 201, 84, -24,
143, 302, 1, 5, 0, 0, 0, 0,
-34, -48, 89, 7789, -85, -27, -56, 46,
39, 30, 98, -40, 138, -147, 104, -35,
-41, -151, 1, 9, 1, 0, 0, 0,
-140, -1970, -170, 273, 226, 33, -324, -38,
11, 188, 603, 188, -183, 98, -58, -67,
-63, 7, 0, 0, 0, 0, 1, 0,
384, 899, 493, 765, -1062, 646, 275, -2699,
93, 796, 120, -25, 177, -85, 721, -189,
-295, -436, 0, -1, 0, 0, -1, 0,
-358, 117, -2435, 325, -3137, -158, 23, 97,
6, 204, 288, -426, 156, 22, -101, 171,
-56, 235, 0, -1, 0, -1, 0, 0,
656, 3878, -286, -383, 75, -50, 114, -377,
-105, 106, 154, -30, -204, -105, 171, -56,
230, -587, 0, 1, 0, 8, 1, -1,
-58, 177, -7, 45, -159, 405, 45, 84,
-206, 77, 277, -259, 121, 3719, 140, 79,
-202, 843, -8, 0, -1, 1, -2, 0,
-248, 560, 2651, -49, -625, -147, -2416, 119,
-70, 87, 137, 18, -401, -147, -598, -150,
239, -1004, 7, 3, 13, 1, 1, 1,
276, 342, 97, 600, 230, 95, 213, 159,
-259, -25, -176, 3360, -283, -325, -37, -2626,
-151, 178, -1, -18, 0, 0, 0, 0,
-233, 237, -78, 290, -284, 141, -20, 146,
58, -21, 73, -35, -101, -23, -4068, -116,
49, -196, -5, -2, 0, 1, -1, 0,
-292, -195, 51, -714, 172, 44, -119, 134,
168, 107, -74, -2379, 308, 173, -252, -3470,
-135, 641, -10, 0, 0, 1, 0, 0,
146, 2060, -84, -164, -247, 26, -1724, 216,
226, -2499, 312, -66, 850, 41, -1, 20,
-1339, 411, 0, 0, -1, -12, 0, 0,
921, 17, -3510, -119, 325, 34, -97, -205,
3, -188, 252, 91, 0, -135, -76, 208,
199, -202, -1, 1, 1, 2, 0, -1,
-88, -461, 319, -963, 266, 1540, 643, -3424,
76, -1058, 501, 342, 297, 268, -158, -103,
26, -30, 0, -1, -1, 0, 0, 0,
211, 245, 183, 1579, 106, 26, -3450, -22,
-1053, -266, -736, 113, 475, -241, 117, -85,
-492, 372, 0, 1, 1, 0, 0, 0,
};
static const int16_t cb0806ss0[] = {
-381, -1638, -8192, 5, 983, -1481, -20, -719,
-238, 767, 571, -200, 754, 460, 1678, 1376,
-155, -1998, 294, -455, 80, 2, 26, 3,
10, 25, -931, -1098, -1166, -3221, -1995, 702,
104, -2429, -2270, 1372, 2326, -37, -1492, 1692,
644, -1283, 363, 624, -483, -15, 346, -6,
2, 0, 1, 3, 2, -2429, -8192, -956,
1190, 706, -955, 367, 959, -194, -723, -1104,
375, 554, -962, -229, 66, 368, 18, -150,
56, 968, -15, 0, -1, -5, 0, 9,
-250, -720, 1910, 827, 198, -645, 2021, 32,
-1972, -705, 441, 373, 800, -2293, 1747, 1504,
-537, -1731, -1192, 1597, -4031, 24, 0, -2,
1, 1, 1, -131, 1594, -153, 1127, 2732,
469, -558, -11, 1190, 115, -933, 1988, 1841,
-4530, 1385, 571, 2399, 1709, -63, -3663, -2681,
57, -4, 11, -4, 0, -3, 426, -4257,
2755, -76, -1667, 2450, -373, 3375, -91, -232,
511, 648, 886, 1182, 1667, 65, -3029, -579,
865, 2186, 2911, 537, 0, 2, -3, 0,
7, 585, 8192, -2855, 8192, 5527, -5491, -1926,
-4231, -1204, 1953, -1193, 191, 3278, -1726, 259,
-2794, 4205, 4315, -6121, -606, -1922, 3666, -324,
-238, -313, -720, -1447, -539, -794, 3151, -1726,
3444, 876, 584, -671, -497, 407, 909, -2183,
2575, 246, -673, 270, 824, 1784, -201, 7329,
589, -70, -1, 4, -5, -3, -8, -417,
382, 2786, -972, 520, 1154, 886, 521, 6032,
-687, 3791, -522, -1226, 608, 428, 891, -1524,
-1015, 1147, 1278, 559, -6, 3, 0, 6,
2, -3, 115, 3586, -2847, 95, 460, 2832,
2326, -1665, 1720, 453, 965, 1154, 452, -1721,
-1375, -269, 2138, -2032, 55, -674, -870, -124,
0, 5, 0, -5, -3, -283, 1077, 2604,
1270, -1082, -1753, 6840, -2502, 988, -1790, 1378,
1231, 438, -1188, 286, 540, -138, 1054, -111,
-2321, 74, 56, -3, -2, 0, -32, 5,
1539, -1399, 7413, -903, -1698, 1781, -255, -466,
-1436, 3419, 1916, 852, 590, -1126, -1617, -1309,
-5560, -241, 3363, -1225, 2682, 620, -6, 58,
2, -186, -17, -2959, 619, 2228, -2627, -3119,
730, 3716, -538, -101, -1863, -516, 142, -2384,
-1514, -5506, -825, 514, 714, 746, -2790, 569,
-425, 4, -68, 70, 24, 12, 817, -276,
-3363, -2942, 103, -581, -925, 651, 561, 43,
434, 712, -541, -2042, -1291, -453, -443, -4312,
-1344, 1277, 605, -4, 0, -1, -1, 1,
2, -930, 276, 3219, -404, -944, -497, 840,
278, -98, -1432, -1136, -1975, -1863, -1102, -1446,
938, 693, -5186, -1, 1085, -2275, 1, 1,
-1, -1, -2, 3, -1194, -312, -1257, 1973,
1570, -1703, -1637, 639, -855, 1925, 970, 604,
1313, 780, -5170, -603, 220, -731, 2952, -872,
166, 30, 0, -2, -1, 3, -1, -743,
504, 1363, 1436, 1632, -634, -709, -2346, 87,
1149, 3468, 2132, 3028, -1039, -92, 2087, -990,
-301, 966, -773, -1057, 42, 0, -2, 0,
2, 2, 252, 217, 3625, -2323, 212, -381,
-1121, 1664, -307, 1680, 2193, -1854, -187, -3100,
254, -673, 595, 1995, 669, -687, -509, 13,
0, 8, -3, 11, -3, -552, -87, 6,
2933, -267, -1392, 40, 644, 32, 2966, -1386,
-2480, -956, 1160, 1399, 1049, 3902, -2092, -525,
1724, 69, -33, 0, -2, 0, 2, 2,
-452, -4739, -3237, -510, -598, -1397, 855, 1573,
2143, -79, -1546, -17, -973, -2400, 1689, 133,
-1213, 784, 726, 916, -388, -390, 1, -1,
-3, -1, 0, 170, -205, -2905, 8192, -465,
3119, 4407, -709, -403, 859, -373, -1301, -1397,
-750, -88, 277, -2097, -222, -134, -88, -1189,
974, -56, -57, -83, -21, 102, 626, -114,
-2304, 979, -1836, -868, 1261, 2226, -261, 579,
983, 655, -2578, 1803, 117, -1128, 365, 3971,
3539, -21, -790, -62, 2, 3, 23, -3,
31, 1273, 3212, -1617, 4116, -281, 725, -284,
1079, 293, -3759, 2581, -1617, -259, -19, -1999,
3040, -3077, -1522, 1056, -92, 897, 243, -1,
36, -19, -10, -46, 231, 1129, 363, -1978,
-882, -1788, 319, 4807, -1707, -1379, -1465, 2327,
-827, -681, 410, -1816, -2507, 1036, 740, 730,
-687, 100, -1, -1, -1, 1, -4, -276,
303, -2331, -2912, -1864, -3694, 412, -1218, 1642,
4448, 658, -213, 872, 2867, 227, 868, -590,
2293, 1759, -1666, -1585, -140, 1, -3, -1,
26, -10, -287, 898, -2442, 3997, -1655, -1341,
-56, 689, -1869, 572, -2044, 616, -2603, -278,
2987, 2397, -2055, 247, 128, 598, 1732, -146,
0, 3, -1, -3, 5, 842, 597, 779,
-1529, -802, 2142, -1668, 2339, -3550, -2651, 1733,
-1531, -46, 600, 618, -867, -665, 1524, 392,
-1386, -3279, 45, 0, 9, -7, -3, -8,
-224, -2632, -147, -505, 2223, 1773, 1799, -1696,
194, -1186, -543, 775, -1171, 5491, -2319, -3193,
-313, -355, -133, -1097, 125, -22, -2, 2,
1, -3, -10, -354, -1447, -662, -313, -4302,
3888, -121, -323, 1112, -801, -1513, -814, -1646,
-616, -1207, 347, 483, 670, 900, -35, -885,
14, 1, 0, 1, -2, 7, -432, -486,
-1539, 785, 4853, 904, 925, 895, -1223, -2464,
3395, -506, -808, 207, 197, 874, -928, 1347,
-107, 1512, 1063, -182, 1, -4, -1, -6,
3, -1236, -1047, 774, 26, -630, 863, 1055,
-2632, -1187, -534, -619, -1079, -2574, -2037, 658,
1229, -262, 2702, -3393, -2187, 1764, 66, 0,
7, 0, 7, -3, 677, -444, -2111, -5256,
-4485, -1667, 2077, 1613, 1483, -1520, 1600, 1767,
1148, 2054, 1676, 1866, 783, -2199, 765, 568,
2779, -683, 4, 17, 0, -32, 15, 45,
228, -2445, 752, 2510, -1657, -1039, 113, 1107,
-1054, -1765, -1245, -2527, 589, 455, 328, 640,
-579, 2370, 1313, -540, 31, 1, -1, -4,
2, -3, -235, -560, 455, 3809, 102, 403,
-21, 1844, 402, 148, -32, 5573, -3765, -265,
-718, -399, -349, 366, -1105, 91, 1881, 34,
1, 1, 5, 0, 9, 289, -1146, 795,
-2504, 412, 1156, -302, -946, 2063, -2569, -273,
-1434, 141, 642, -631, 4856, -1008, 169, -40,
191, -2293, -86, 6, 1, -2, 0, 1,
139, 1955, -1111, -944, 140, -1074, 1071, -1312,
-541, 664, 1801, -892, 1605, -1750, -654, -680,
-8102, 120, -24, 1014, -351, -120, 0, -2,
1, -1, -1, 1038, 5199, 779, -1195, 128,
462, 184, 3705, -1292, -2247, -2481, 2610, 4396,
4161, 4039, 1111, 838, 188, -571, 2811, -1915,
-1909, 13, 99, -20, -2, 11, 395, 155,
2667, -202, -2639, 1303, -912, -1734, 1097, -583,
3532, -218, -1514, -3881, 378, -46, -1189, -957,
-3010, -743, -648, 15, 1, 3, 3, 4,
-4, 330, 198, -275, -677, -8192, -629, 1953,
-783, 592, 926, 1487, -39, -1002, 1134, 1560,
-27, -118, -1363, -360, 2163, 442, 92, 1,
1, -2, 5, 1, -670, 326, 2773, 1346,
-26, 327, 184, -1091, -121, 576, -1324, 212,
-645, 860, -2111, -493, -2119, 316, -688, 475,
-652, -33, 0, 1, 2, 0, -3, 92,
170, 6224, 2162, 761, -1994, 2176, 1692, -1773,
561, -966, 3406, -20, -593, 574, -681, 1121,
-335, -412, -2651, -4712, -79, 1, 2, -1,
4, -6, 932, -2579, 344, -2614, 1119, 6623,
-314, -1068, 338, 1977, -1375, -1338, -1996, 1310,
118, -500, -393, 622, -1798, -1232, 3, -75,
0, 17, 0, -2, -9, 715, 8135, 400,
3748, 2156, 1882, 772, 2728, -403, -775, 2110,
1603, -766, -2592, 767, -618, 4727, 668, 2280,
-1157, 1246, -794, -14, -2, 2, 5, 16,
-107, 642, -1806, -158, -2447, 309, -764, 2313,
-101, -766, 209, -691, 2001, 268, -273, 615,
803, 6062, -434, 1287, -543, -3, 0, 0,
1, 1, 0, 503, -598, -2043, -1160, 1074,
1255, 3269, 1405, 1182, 197, 3098, -138, 2326,
-244, -772, 901, -225, 337, -65, -536, -331,
15, 2, 13, 8, -3, 20, -32, -52,
-1012, 232, 1502, -17, -1574, -741, -57, 164,
-22, 74, -181, 1616, 296, -1483, 1387, -357,
-5380, -322, -1346, 6, -3, 2, -3, 1,
0, -392, -811, -650, -485, 3038, 2750, -776,
-503, -1664, -323, 253, -280, -3459, -1313, 541,
2182, 1287, -782, 1785, -695, -49, 72, -4,
0, -15, 3, -21, -211, 1382, -149, 684,
2210, 2654, -1440, -1209, 152, 1080, -3078, -694,
4738, 985, -1337, 819, -518, 1799, -671, 3201,
2636, 7, 1, -6, 14, -31, 0, -34,
4296, -23, 194, 1976, -993, 1353, 709, -342,
-1142, -140, -271, 2291, -709, 1734, 818, -3571,
1125, 912, -590, 784, -275, -2, -1, -5,
-1, 0, -381, 2754, 1545, -2270, 3608, 2308,
-1899, 178, 391, 1826, -127, -1417, -822, -712,
1682, 2225, 2247, 446, 994, 56, 734, 196,
7, 3, 8, 0, 7, 639, 833, -3313,
675, -263, -648, 3016, -701, 235, -1304, -582,
-2930, -210, -1243, 374, -3095, -2013, 354, 599,
-1469, 140, -17, -1, -3, 2, 0, -2,
-183, 399, -603, 796, -1424, 2685, -3929, 416,
-2291, 1737, 1906, 1667, 810, -222, 3242, -3636,
5196, -1542, 940, -124, 2047, -67, -4, 6,
-1, 13, 2, -161, 417, 4132, 492, -1068,
-817, 2732, -250, -1457, 1723, 2104, 1121, -1276,
1147, 990, -523, -1533, 297, 1219, 3901, -2549,
-22, 0, 0, 0, 0, 2, -1632, 172,
829, -747, -1229, -1990, -1070, 1134, 1623, 228,
3689, 625, -757, 8192, -82, 738, 213, 1900,
-1200, 91, 892, -45, 15, -1, 5, -4,
5, 392, -3067, -1903, 139, 661, 43, 2174,
-1919, -270, -1490, -569, 2, 85, -1091, 6740,
886, 85, -1052, -647, -563, -2971, -145, -1,
39, -5, -6, -7, -1023, -1104, -1774, -3154,
-1058, 3488, -2551, 3547, -253, -204, -235, -1544,
-73, -584, -302, -3118, -2314, -308, 1790, 916,
152, -155, -11, 6, -26, -1, -31, 21,
919, -1856, -456, -1050, 663, 1454, -1515, -2606,
-4287, 1553, 3564, 1334, 1797, 1540, -392, -701,
-971, -3442, 281, -271, 133, 1, 5, 4,
32, 3, -521, -1530, -1368, 1787, -515, -913,
-2391, 93, 2690, -578, -576, -1656, 554, 649,
-1509, -258, -605, 1233, -2258, 640, 837, -43,
1, -3, 0, 5, 3, 148, -4761, 1783,
3244, -277, -1139, 1539, -2016, 1898, -1276, -776,
-1725, -1900, -51, 559, 311, 1737, -928, 3687,
-1087, 1329, 134, 2, -2, -7, 9, 5,
-77, -1116, 4986, -940, -905, -3229, -773, 3335,
-23, 578, -2376, 386, 122, 1253, 363, -2748,
-512, -4612, 1690, 848, -1116, 195, 5, 2,
11, 1, 18, 659, -1282, 562, 1170, 4701,
903, 490, -3508, 3468, -39, 654, -1196, -909,
-268, 980, 283, 3221, 348, 1121, -897, -1011,
-103, -11, -2, -9, 16, -8, -274, -4100,
-2312, -2379, 617, 1629, 2154, 3026, -1737, -603,
-803, -366, 977, 1035, -1835, -255, -275, -1245,
1274, -161, -4476, -181, -4, 0, -2, 1,
2, 156, 551, -832, -630, 3740, -2115, 344,
229, 1295, 65, 290, -1462, -1794, 3297, -1049,
2451, 322, -2642, -2810, -1246, 613, 90, -1,
-1, 0, 0, 0, -277, 854, 1259, 1542,
-433, 3601, -453, 1091, -113, 1438, 994, -2746,
-786, 867, 1422, 1093, -1723, -1167, -1389, -1062,
-436, -81, 2, 1, 11, 1, 26, -197,
};
static const int16_t cb0806ss1[] = {
1760, -4335, 6384, -2036, 2874, -2504, -1529, 102,
6995, -1267, -3141, 1050, -59, 1556, -1002, 1536,
1024, 1867, 40, -1156, -2627, -213, -1034, -660,
291, -963, -323, 462, -804, 2219, -859, 1709,
550, -3390, 319, 24, 644, 3154, 4503, -1961,
744, 194, -151, -1255, -1318, 3033, -899, -18,
1, 0, 2, 0, 28, -1213, -3725, -2525,
-177, -1164, 361, -357, -649, -459, 1324, 2463,
-3108, -3323, -575, -2744, -108, -121, -508, -564,
-849, -773, -288, 0, 8, 0, -2, 5,
691, -602, 2269, 2373, -2027, 786, 3011, 3234,
-1387, -310, 659, -358, 1058, -1554, 1031, 795,
2254, -549, 334, 325, 599, -36, -1, -1,
-2, 3, 4, -450, -533, -1657, -1928, -1034,
-636, -1446, -320, 2695, 1184, 697, 1126, 1159,
2970, 449, -30, -2058, -1171, -684, -66, 905,
-43, 1, 0, 3, 0, 3, 228, 272,
-79, -718, 1978, 667, -2760, 1507, -1893, -796,
1164, 35, -4440, -4492, -1667, 4189, 6485, -495,
1721, -1639, -526, 458, 0, 385, -183, 511,
-153, -2025, -376, 2948, -2606, -910, -741, -427,
-1080, 2128, 565, -483, 1791, -2222, -45, -1204,
799, 512, -4790, 1462, 511, -1906, 15, 0,
0, 1, 3, 8, -867, -685, -140, 5299,
376, -891, 1657, 1843, -1465, -1297, 518, -4640,
303, -277, -650, -97, 2308, -679, 720, -171,
-475, -269, 0, -5, 4, -1, 9, -1155,
-4954, 1684, -2045, 939, 819, -751, -165, -93,
-2327, 306, 965, 4999, 557, -55, -999, 30,
-36, 989, -1680, -1594, 318, -3, -8, -4,
1, -9, -402, 8192, 475, 2080, -418, -1739,
-273, -55, -441, 794, -79, 272, -2039, 789,
2266, 874, 2495, 627, 2203, 1212, -1052, 389,
14, -24, -59, 10, 133, -535, -1160, -1139,
-146, 180, 1064, 3718, -1412, 1153, 1873, -549,
-1698, -1479, 209, 725, -940, 2152, 1848, 678,
2493, 4608, -11, 0, -1, -3, -3, 2,
334, 681, 673, -8192, 3958, -3111, 1641, 1500,
1184, -268, -3147, 571, 958, -663, -1031, -870,
-674, -1098, -529, 78, 1212, 120, -8, -13,
-5, -42, -37, -498, 1304, -2541, 1730, -355,
1462, 2315, 2017, -403, -2010, 555, 1391, 887,
2039, 366, 135, 85, 371, 1291, -225, 335,
-45, 0, 1, 2, -1, 2, -1095, -261,
3249, 3212, -1877, 934, -1671, -1289, 1398, -2287,
-205, 1659, 642, 1105, 751, 2864, 1171, -1001,
318, -290, 60, -54, 5, 3, 5, 2,
1, -105, 590, 36, -194, 1832, -639, 777,
3243, 578, 2820, 428, 2020, 623, -2104, -52,
-331, -1015, 3064, -347, -303, -1100, 61, -1,
-1, 0, 2, -1, 592, 127, 887, -1094,
-2819, 2573, -2670, -1693, -2775, 48, -266, -961,
1220, -472, 167, 3201, 1118, -173, 1304, -26,
-899, 76, 0, 3, 0, 1, -1, -718,
-746, 947, -524, 142, 958, -1609, -777, -1362,
385, -578, -6947, 157, -290, 1357, -1703, 484,
117, -2224, -3736, -838, -96, -1, 11, 5,
4, 2, 475, -426, 500, -767, -2304, 1248,
2200, -1829, -992, -225, -573, -1107, -832, 2555,
-2866, 3453, 4335, -88, -1160, -1666, -94, -33,
0, 0, 1, -2, -7, -147, -8192, 1204,
-1181, -702, -604, -770, 1032, -173, 770, 861,
611, -509, 802, -467, 839, 491, -785, 523,
-669, 73, -34, 0, 0, -2, -3, -3,
286, -2183, -1238, 1743, 387, -2228, -1404, -3439,
-1701, -2371, -451, 2294, 2061, 3062, -1122, -1489,
-1274, 51, 5649, -170, 2197, 365, -1, -13,
4, 3, -5, -15, -4099, 789, 4132, 4982,
-1996, 784, 748, 2123, 3535, -1493, -1454, -344,
-867, 40, 831, -1198, 66, 542, 1633, -2402,
117, -119, -18, 49, 18, 40, -500, 808,
-726, 1192, 3623, 1526, -484, 1080, -2502, -579,
1315, -1887, 84, 1771, -2902, 1387, -1098, 1559,
-1126, 652, -896, 32, -1, 3, 1, 3,
-2, 233, 782, 8192, 566, -701, -352, 1047,
581, -1070, 3159, -1157, -1585, 1599, -978, -663,
-931, -2581, 5074, 781, -551, -590, -247, -63,
-54, -50, 253, -138, -313, 387, -3004, -1136,
654, -1283, 1318, 434, 80, -1486, 694, -512,
393, -238, -700, -232, 706, 1478, -8192, 377,
601, 18, -1, -3, 0, -6, -3, 2221,
3531, -862, 1792, -242, -3686, 420, 1891, 918,
1324, 234, -819, -601, 2363, -1097, 2355, 754,
-125, 245, -615, 3285, 204, 0, 6, -4,
-3, -1, -637, 673, 1233, 2886, 265, -195,
-226, 2521, 281, -210, 1809, -2733, -3865, -2287,
641, -2604, -4235, 107, 789, 1163, -2600, -463,
-5, 10, 2, -10, 39, 1380, 754, -5077,
4061, -1633, -1738, -1604, 1937, 1815, 1039, 3696,
-593, 2218, -1061, 1081, -1217, 2062, -637, -1580,
149, -626, -253, -3, -17, 2, 33, 1,
118, 525, 158, 1213, 910, -105, -1437, -1311,
2255, -419, -2394, 1542, -3830, -1167, -998, -1099,
1635, 1678, -1112, -275, 122, -50, 0, 3,
0, -1, -1, 998, -4020, -1913, -1083, -159,
1853, -436, -683, 298, 211, 711, 4128, -1977,
-958, 1048, 642, -420, 329, -1150, 459, 2161,
29, -4, 0, -1, -6, 1, 1365, 1053,
1032, 952, 854, 2405, 5106, 1863, 3049, 981,
-863, -397, 508, -1283, -631, 17, 532, -1453,
-1056, 66, 501, -27, -1, 3, -1, -13,
-2, -273, -2924, 839, -433, -395, -252, 1945,
195, -307, -1297, -1474, -985, 4412, -1017, 1074,
2711, 996, 919, 183, -10, -605, 38, 1,
-1, -1, 2, 1, 2115, -422, 3655, -1972,
1473, -2033, 2461, -1112, -1267, 179, -394, -906,
-1273, -432, 1082, 367, -720, 1746, -657, 595,
701, 16, -1, 0, 0, 2, -3, -255,
443, -1840, -2379, 296, 258, -675, -221, 406,
-216, -6295, -1041, 1062, 199, 1705, -1032, -1627,
-2399, 198, -1097, -271, -99, 0, 1, -2,
2, -13, 343, -219, -1447, 1779, 630, -1944,
-1093, -1578, -62, -1334, 2811, -815, 1311, -3102,
-300, 67, 24, 98, 764, -1246, 203, 6,
0, -4, 0, 1, 0, -18, -1704, -1427,
-352, -2665, -588, 287, 715, -454, 688, -424,
1736, -1124, 1028, -7581, -752, -482, -363, -75,
-720, -619, 449, 0, 3, 0, 16, -3,
-1211, 2484, 3490, -547, -705, 1776, -286, -1580,
2896, -2257, -214, -1784, -1266, -562, -1170, -542,
785, 1606, 535, 51, -1405, -7, -1, -1,
0, -1, 2, -428, -579, -1091, -2627, 2287,
-757, 1445, -411, -160, 567, 108, -1305, -4356,
-390, -917, 345, -2169, -896, 3772, 1224, 691,
-25, 1, 1, 1, -2, 1, 281, 1365,
-1628, -585, 3485, 169, 746, -395, 1072, 1569,
-1073, 744, 1274, -3472, 1035, -906, -3394, -1537,
-869, 2841, 401, 4, -1, -3, -3, -1,
-3, -37, -1628, -888, 785, 3328, 1105, 3551,
6946, -1688, 2690, -2051, -2212, -3750, -1903, -497,
1251, 1187, -6198, 3930, 85, -1077, 16, -23,
-80, -130, 43, 66, -974, 579, -2047, -3607,
-666, -2248, 4619, 6846, 88, -649, 1129, -255,
3567, -124, 41, 58, 634, -1252, 696, 2536,
-1590, 209, 12, -102, -275, 27, 216, 1110,
259, -2091, 1775, -3768, 598, 441, -1809, -431,
22, -991, -621, 84, -1803, 1585, 559, -1101,
42, 456, -392, -874, -4, 0, 0, 1,
-1, 0, -371, -211, -339, -1232, 438, -2683,
-1007, 1250, 5343, 861, -1305, -577, 2107, -2649,
-3227, 1020, -127, 562, 5495, -3136, -414, -529,
12, -53, -34, 151, 106, -2946, -575, -1796,
3095, -257, -591, 126, 967, -547, -271, 560,
974, -3335, -2110, -1403, 5915, -1108, 388, -1266,
-522, 336, 167, 1, -3, -2, 2, -3,
-312, 19, 3356, 1123, -676, -247, 697, 548,
1768, 1174, -525, -253, -423, 546, -2373, -2940,
-1055, -2304, 203, 1309, -574, -8, 0, -3,
4, 0, 4, -215, 8192, -670, -1289, -1547,
-304, 1498, -967, -529, -582, -2205, 1752, 321,
573, -1096, 64, 1152, -87, 574, -250, 539,
62, 7, 2, -1, -3, 3, -465, 243,
-1179, 828, -2501, -223, 198, -883, -740, 1113,
-1821, -2068, -3234, 1715, 1989, 1817, 727, 1640,
3386, -1538, -864, 45, 0, -4, 0, 0,
2, 608, -1495, 1259, -132, 1311, 350, 537,
2735, 1428, 151, 1324, 547, -3983, -1892, 104,
2023, 1908, -1042, 1130, 1252, -701, 9, 0,
-2, -1, 1, 1, 602, -8192, -2776, -661,
1640, 443, 3452, -738, 829, 637, 292, 232,
1352, 4879, 1429, 912, 649, 1593, 308, -330,
68, 63, -3, 4, -57, 26, 25, 1250,
400, -4839, 211, -2748, -664, 996, 341, -1053,
321, 2458, 764, 743, -729, 12, -283, -346,
118, -249, -153, -2329, -37, 0, -1, 0,
1, 1, 352, -878, 2336, -634, -2690, -3415,
-2949, -531, 1259, 394, 163, -994, 845, 1259,
890, 1400, 279, 1908, 161, -2174, 1876, 76,
1, -1, -1, 10, 0, 47, -1123, 1611,
489, 618, -816, -7, 2001, -1190, 1857, -2749,
-311, -331, 733, 1412, 1390, -1525, 1262, -1393,
-263, 3124, -98, 0, 1, 0, 1, -2,
514, -3533, -2394, 3623, 249, -1056, 515, 1279,
2821, 477, 183, 689, 1182, 1378, 1287, -711,
1264, -713, -278, 217, -664, -225, -1, 0,
6, 2, 9, -1171, 3119, 1340, -1229, -1929,
1984, -1333, 1018, 10, 1205, 63, 358, -1108,
-455, -413, 854, -1550, -423, -180, 2529, -8192,
-18, 0, -2, -1, 0, 0, -678, 3819,
-1316, 1159, 590, -231, 2203, -1533, 986, 4289,
1114, 1135, -1162, -921, -58, 691, 11, -1718,
-270, -531, 530, 65, 0, -1, 1, 4,
0, -1184, -1359, 7230, -533, -2077, -1188, 113,
-1472, 490, 1518, 1476, -1885, 934, 244, 1840,
-696, -480, -2476, 3324, -2433, 1102, 120, 1,
-11, -2, 18, -3, -1016, 189, -3835, -1659,
-46, -180, -2659, 1998, -1437, 1107, -2248, 165,
-657, -5079, -224, 1246, 469, 421, 1145, 1148,
84, -18, 3, 0, 0, -6, 0, -66,
-206, 2279, -220, 1606, -421, -1482, -413, -1237,
374, 3691, 491, -774, 410, 791, 380, 3385,
615, -950, -620, -197, 65, -1, 3, -3,
2, -1, -484, 1396, 273, -3591, 1317, -1013,
1563, -134, 602, -1069, 733, -1167, 233, 319,
-262, 350, 780, -407, -496, -1285, 1326, -13,
0, 2, -1, 0, -1, -328, -626, -848,
745, -1047, 4048, -380, -456, -1894, 869, -1085,
-373, 2829, 622, 473, 394, 237, -2175, 1167,
-4942, 246, 100, -1, 1, -6, 1, -6,
-70, 35, 1613, 2597, 1307, 1756, -1184, 1082,
971, -2004, -1459, -494, -40, 745, 2788, -830,
76, 536, -2002, 401, -57, -20, 0, 0,
0, 0, 0, -8, 244, 1927, 1162, -2416,
-1414, 463, -89, 1217, -798, 394, -1527, -719,
-666, 998, 1518, -2455, -3049, -1174, -2696, -3119,
2, 0, -2, 2, 2, 3, 1093, -623,
1660, -1635, 1457, 2560, 763, -2750, 931, 1798,
2550, 1402, 914, -919, 1931, -383, -435, -583,
439, 9, -1106, -12, -1, 0, 0, 0,
-2, -335, -730, -2102, -1414, 2576, -3869, 1025,
-1657, -2, 857, -336, -3011, 205, 1108, 364,
-789, -179, 171, 331, 2204, 527, -13, 1,
-3, 2, 1, -4, -565, -211, -139, 1799,
195, -877, -632, 358, -244, -1459, 1398, 2271,
550, 1987, 2206, -337, 199, -7036, 589, 195,
-466, 72, -1, 2, 1, 0, 0, -27,
};
static const int16_t cb0806sm0[] = {
-8192, 389, 245, -67, -42, 79, 503, -488,
-310, 107, -13, -431, -203, 96, 510, 151,
270, 0, 0, 0, 0, 0, -463, -23,
-72, -322, 74, 1589, -152, -198, 81, 1120,
-125, -434, -3275, -2210, -348, -344, 91, 0,
0, 0, 0, 0, -254, -224, 46, -154,
-131, -465, -57, 8192, 345, 112, -725, -49,
183, -191, 246, 263, 370, 0, 0, 0,
0, 0, 39, -739, -6603, -2454, -95, 312,
-53, -392, 63, -165, 31, -505, 111, 484,
-535, 179, 143, 0, 0, 0, 0, 0,
1279, -139, -1769, 244, 59, -135, -429, 707,
809, -4355, -354, 428, -300, 108, -799, -1421,
599, 0, 0, 0, 0, 0, 4, -5,
7, 75, 49, 8192, 276, 200, 191, -167,
-14, 82, 222, -277, -483, -216, -441, 0,
0, 0, 0, 0, 171, -423, 174, 401,
-517, -377, -234, -644, -829, -350, -976, -146,
-928, 296, 3003, 3545, -30, 0, 0, 0,
0, 0, 161, -6753, 1138, -855, -132, -242,
559, -225, -346, -168, 10, -481, -6, -1208,
252, -323, -191, 0, 0, 0, 0, 0,
-262, 574, 433, -145, 622, 329, -2634, -439,
-1178, 351, -433, -842, 4125, 296, 305, 359,
-22, 0, 0, 0, 0, 0, -34, -56,
-1019, -247, -163, 305, 574, -51, -179, 24,
-1097, 248, -166, -18, 303, 252, -555, 0,
0, 0, 0, 0, -400, -254, -256, 2783,
-296, -1904, 552, 1284, -336, -2371, 3396, -1092,
102, 176, 140, 640, -359, 0, 0, 0,
0, 0, 373, 473, -2167, -774, -388, 405,
-1402, -1391, -1319, -155, 1104, -533, 382, 1561,
-2958, 406, 787, 0, 0, 0, 0, 0,
-3800, -58, 2098, -181, -570, 385, -4125, 759,
-1584, 9, -278, 201, -528, -527, -435, 436,
681, 0, 0, 0, 0, 0, 30, -80,
-60, -4031, -70, -3367, 316, -861, 67, -169,
-144, 1598, 966, 32, -1263, -434, -738, 0,
0, 0, 0, 0, 181, 12, 115, 91,
253, 518, 517, 216, 830, 336, -568, -3125,
-796, -847, 1627, 58, -158, 0, 0, 0,
0, 0, 48, -851, -286, 393, 390, 707,
595, 427, -235, -116, 814, -198, 6145, -1590,
647, 15, -259, 0, 0, 0, 0, 0,
-621, 152, 590, -16, 215, -633, -784, -140,
1087, 723, -4191, 2701, 951, -972, 273, -554,
387, 0, 0, 0, 0, 0, -124, -2939,
-38, 383, 234, 687, -2873, -466, 61, -472,
854, -396, 305, -233, 82, -2677, -206, 0,
0, 0, 0, 0, -120, -246, -614, -394,
8192, 75, -450, 177, -251, 45, -142, 65,
-1248, -14, 389, 375, 114, 0, 0, 0,
0, 0, 2870, 158, -473, -166, 928, -618,
-1909, 224, -931, 1898, -16, 427, 447, -1044,
85, -333, 197, 0, 0, 0, 0, 0,
78, 114, -167, 73, -1070, -80, 3512, -3004,
-1553, 769, 213, 851, -377, 978, 1097, 71,
66, 0, 0, 0, 0, 0, -129, 248,
455, -376, 344, 128, -60, 546, -321, -7898,
-719, -55, -941, 1242, 207, 215, 323, 0,
0, 0, 0, 0, -24, -225, 136, 142,
-739, -117, 2, 242, -152, -20, -1775, -484,
-36, -408, -2767, -471, 251, 0, 0, 0,
0, 0, 22, 111, -180, -7417, 365, 293,
-313, 1031, -191, 154, -210, -239, 121, -333,
-1504, 209, 146, 0, 0, 0, 0, 0,
898, -643, 3080, 528, -91, -718, -512, 275,
-3564, 396, 160, -850, 346, -595, 1558, 684,
-310, 0, 0, 0, 0, 0, 234, -419,
-724, -433, 292, -1003, 682, -117, -1318, -914,
-5137, 128, 53, 291, 408, 1269, -284, 0,
0, 0, 0, 0, -252, 190, -2911, 130,
255, -172, -4331, 26, -267, 280, -133, -613,
-1063, -1135, 759, -1290, 216, 0, 0, 0,
0, 0, 133, -177, 4069, -311, -197, 3260,
341, 201, -117, -515, 105, -658, 975, 81,
-333, -333, 262, 0, 0, 0, 0, 0,
273, -87, 321, 190, 1385, 274, 182, -2553,
-150, 164, -830, 89, -459, -5279, -624, -336,
399, 0, 0, 0, 0, 0, -172, -232,
11, 45, 121, -254, -457, 196, -3487, -838,
512, -310, -2831, -85, 98, -145, -331, 0,
0, 0, 0, 0, -55, -149, 2068, -61,
3087, -143, 1574, -1381, 2853, 1899, -453, -580,
-137, 1211, -1413, 171, 125, 0, 0, 0,
0, 0, -228, 30, -956, 5569, 209, -89,
25, 573, -1669, 507, 182, -132, 697, -132,
-2964, -637, 139, 0, 0, 0, 0, 0,
-3078, -3278, -771, 928, -38, -463, 820, 1141,
-1234, 620, 652, -1710, -382, -1618, -409, 179,
483, 0, 0, 0, 0, 0, -102, 4256,
-20, -162, 2021, 730, 1439, 2776, 459, 498,
-152, 482, 35, -271, 810, -1345, -249, 0,
0, 0, 0, 0, 131, 5, -281, 431,
-2498, -1046, 482, 842, 297, -311, -1260, 148,
-906, -4217, -1411, -102, -361, 0, 0, 0,
0, 0, 116, -3083, 235, -1195, -19, -646,
42, 487, 309, 1654, 1051, -1643, 689, -823,
2279, 1488, 571, 0, 0, 0, 0, 0,
42, -95, -3, 36, -170, -114, 8104, 217,
140, -217, 599, -774, -64, -675, -211, 166,
204, 0, 0, 0, 0, 0, 99, 594,
-48, 224, 52, -1499, 271, 2224, -219, 3184,
-165, 828, -1345, -785, 181, 133, 124, 0,
0, 0, 0, 0, -235, -286, 254, -171,
-4980, -453, -1432, 12, 734, -391, -640, 339,
537, 313, -700, 1016, 148, 0, 0, 0,
0, 0, -49, -19, 803, 935, 520, -90,
641, 1053, -454, 2338, -6071, -478, 616, -559,
-339, 445, -1464, 0, 0, 0, 0, 0,
-175, 111, -132, 65, -264, 732, 221, 231,
-1972, -305, 325, -859, 583, 1272, -441, 2651,
229, 0, 0, 0, 0, 0, -286, -4646,
-262, 593, 613, 936, 310, -615, 83, 223,
-816, 1910, 2041, 281, -190, -434, 114, 0,
0, 0, 0, 0, -123, 684, -208, 524,
-606, -1223, 264, -983, -109, -1057, 696, 195,
-521, 945, -7503, 193, -120, 0, 0, 0,
0, 0, 98, -358, -2165, 244, 277, 393,
771, 3360, -258, -1218, -122, -1253, -2297, 806,
-198, 540, 7, 0, 0, 0, 0, 0,
78, -281, -368, 2809, 159, 2611, 833, -120,
-3987, 933, 360, -49, -515, -106, -360, 650,
-125, 0, 0, 0, 0, 0, 203, 1369,
749, -502, -2295, -326, 448, -309, 630, -84,
345, -520, -4, -623, 1066, -3915, 373, 0,
0, 0, 0, 0, -4603, -794, -625, -355,
1071, -601, -553, 593, -296, 626, -328, 621,
85, 1348, 92, -288, 204, 0, 0, 0,
0, 0, -9, 602, -162, -749, -104, 464,
-372, -1375, -1905, 2200, 61, -3308, -897, 634,
1036, -2112, -182, 0, 0, 0, 0, 0,
-76, 2341, -675, -72, -29, 704, -536, 1656,
-541, -736, -1420, -1539, 2458, -228, 674, -1258,
-3, 0, 0, 0, 0, 0, -133, 1111,
63, 327, 470, 1226, 541, -276, -3042, -1594,
-3192, 357, -617, 658, -315, -978, 631, 0,
0, 0, 0, 0, 111, -188, 619, 236,
104, 54, 545, 424, 5912, -332, 711, -1249,
-533, 291, -1544, -216, 113, 0, 0, 0,
0, 0, -199, 267, 152, -301, -172, 1294,
2311, -482, -2451, -82, 1833, 214, 130, -1183,
-2212, 403, -625, 0, 0, 0, 0, 0,
-106, 662, -48, -131, 324, 2337, 445, 462,
-349, -189, 669, 4945, -1797, 16, 268, -602,
2, 0, 0, 0, 0, 0, 55, 154,
892, -35, -145, 357, 562, 42, -9, -284,
177, 84, 422, -181, -358, 7618, 29, 0,
0, 0, 0, 0, -353, 68, -41, -4096,
177, -20, -267, 782, 954, -430, 1573, -696,
1785, -3611, 89, -243, 683, 0, 0, 0,
0, 0, -220, 1983, -891, 614, 226, -202,
67, 761, 1904, 179, 226, 416, -657, -3409,
1026, 2834, -438, 0, 0, 0, 0, 0,
-551, -229, -304, -462, -2277, -419, 451, -122,
-108, 258, 784, 1105, 382, 137, 5695, -241,
-491, 0, 0, 0, 0, 0, 34, -272,
-1687, 1769, -332, 365, 33, -2594, 3729, 325,
85, -295, -290, -152, 2238, -611, -41, 0,
0, 0, 0, 0, 102, 166, 241, 1098,
-107, 775, -414, 4256, -277, 935, -200, 495,
255, 1144, 468, -184, -59, 0, 0, 0,
0, 0, 94, -282, -57, 12, -390, 245,
1872, -620, 1089, 3754, 432, 947, -509, -284,
-3836, 26, 482, 0, 0, 0, 0, 0,
9, 971, -373, 1111, -480, 2342, -182, 528,
802, 1196, -1017, -879, 499, 2800, -830, -230,
-4, 0, 0, 0, 0, 0, -382, -815,
-1669, -2437, -593, 193, -688, 632, 479, 2883,
565, 540, 5, 1598, 1618, -640, -246, 0,
0, 0, 0, 0, -421, -103, 1482, -3026,
-65, -101, 4, 3921, 688, -941, -234, 49,
202, 1905, 935, -1155, -4, 0, 0, 0,
0, 0, 210, -625, -118, -3215, 344, 978,
-10, 773, -126, -804, -1534, 182, -1146, -646,
-146, 2011, 463, 0, 0, 0, 0, 0,
};
static const int16_t cb0806sm1[] = {
35, -237, 547, 705, -9, 1612, 382, 195,
-191, -250, -101, -357, 709, 153, 850, -5091,
-100, 0, 0, 0, 0, 0, -6406, -158,
-527, 137, -330, 580, -484, 63, 541, -1245,
-205, 138, 247, -489, -147, -132, -863, 0,
0, 0, 0, 0, 53, -38, 283, -22,
-1506, -467, -418, 117, 133, -2152, -48, -991,
808, -1047, 2402, 261, 423, 0, 0, 0,
0, 0, -14, 500, 4697, -174, -544, 87,
-379, -243, 577, 682, 258, -1190, -1984, 599,
607, -123, -290, 0, 0, 0, 0, 0,
60, 4254, 194, 888, -81, -395, 422, -1786,
916, 288, 1191, -658, 502, 2177, -977, -301,
587, 0, 0, 0, 0, 0, 232, 204,
-452, -853, -4266, -219, 1164, 92, 91, 1561,
950, -705, -1217, -734, 1617, 120, -324, 0,
0, 0, 0, 0, -3442, -456, -667, 987,
-89, 1383, -704, -187, -280, -583, 341, -732,
649, -2129, -3505, -175, -215, 0, 0, 0,
0, 0, 200, -635, -471, -1221, 215, 2844,
1633, 522, -720, 1722, -272, 473, 198, -604,
480, -88, 169, 0, 0, 0, 0, 0,
-160, -268, 130, 284, -612, 95, 43, 42,
641, -258, -6884, -167, -689, 123, 276, -592,
717, 0, 0, 0, 0, 0, 313, -90,
-4310, 2706, -1708, 648, -796, 791, 998, -468,
632, 1893, 43, 1937, -1279, -22, -64, 0,
0, 0, 0, 0, -106, 135, -287, 335,
-7999, 51, -250, -388, 16, 285, -101, 685,
-944, 604, -624, -792, 209, 0, 0, 0,
0, 0, 496, -205, 422, 49, 274, -229,
220, 73, -734, 381, -394, -8192, -405, 755,
-9, 46, 116, 0, 0, 0, 0, 0,
-28, 332, 1152, -129, 244, 84, -2193, 632,
-1854, -384, 110, -302, -270, 435, -1689, -797,
686, 0, 0, 0, 0, 0, -1660, 624,
-664, 2611, 30, -1155, -419, -3539, -568, 1719,
-1374, -676, -55, -1934, 863, 1391, 433, 0,
0, 0, 0, 0, -1012, 290, 2302, -330,
-95, -2355, -55, -763, -1995, -298, -680, 715,
-85, 1615, 1011, -1989, -1028, 0, 0, 0,
0, 0, 21, -5001, 507, -58, 229, -37,
-113, 632, 1809, -62, 334, -1201, -893, -344,
98, 438, -65, 0, 0, 0, 0, 0,
0, 143, 131, -18, -135, -306, 392, 232,
265, 543, 376, -562, 362, 2458, 785, 3653,
-456, 0, 0, 0, 0, 0, 855, -4009,
-1207, 118, -86, -223, 266, 154, -1886, -1145,
241, -397, 246, 244, -776, 808, -132, 0,
0, 0, 0, 0, 2, -633, 113, -94,
-154, -173, -162, -168, 439, -6548, 778, -392,
-60, 99, -1901, 171, -130, 0, 0, 0,
0, 0, -11, -324, 711, -903, 560, -1654,
1473, -300, 1048, 137, -1140, -1115, -1302, -1008,
-792, -3264, -540, 0, 0, 0, 0, 0,
-347, 78, -103, -7, -3, 437, 6053, 299,
-435, 323, 664, 477, 1097, 158, 656, 273,
200, 0, 0, 0, 0, 0, -101, 80,
-153, 144, -235, 492, -399, -3, 4958, 699,
-586, -162, 153, -860, 161, 665, 4, 0,
0, 0, 0, 0, -87, -189, 1744, -350,
-1840, 325, -2354, 1193, 1386, -1589, 80, 1055,
-188, 273, 807, 2038, -419, 0, 0, 0,
0, 0, 50, -185, 68, -59, -9, 78,
-585, -121, -7888, 771, -908, -284, 349, 158,
-1122, -139, -189, 0, 0, 0, 0, 0,
310, -286, 235, -687, -919, -364, -697, -253,
492, 300, -238, 272, 518, -525, -5863, -190,
-59, 0, 0, 0, 0, 0, 151, 616,
-4420, 227, 240, -252, 516, -250, 68, 411,
-192, -87, -607, 671, 1281, -317, -305, 0,
0, 0, 0, 0, -9, 817, -451, -1079,
86, 5060, -1157, -1159, -421, 302, 1636, -316,
-66, -518, 1010, 1068, 96, 0, 0, 0,
0, 0, -576, -362, 107, 3516, 303, -364,
-402, 805, 574, 993, -554, 298, -925, 410,
1898, 13, 138, 0, 0, 0, 0, 0,
-340, -150, 528, 142, -464, 1034, -397, 3944,
-697, 962, 902, 1393, 2212, -1021, -1034, -961,
-319, 0, 0, 0, 0, 0, 58, 38,
382, 221, -212, 826, -1373, -4559, 1329, -123,
216, -23, -736, 95, -300, -418, -4, 0,
0, 0, 0, 0, -58, 7814, 218, 141,
-90, -124, 455, -27, 49, -311, -364, 80,
-136, -1257, 96, 332, -287, 0, 0, 0,
0, 0, -8, 624, 127, 1857, -480, -869,
-575, -1461, -493, -261, 97, 32, -328, -467,
173, -2588, 132, 0, 0, 0, 0, 0,
5257, -1037, 191, -844, 247, 130, -571, -548,
-496, 216, -161, 336, 62, 990, 130, 517,
-65, 0, 0, 0, 0, 0, -89, 9,
-138, 405, -701, -479, 3605, 699, -629, -102,
27, -1374, -1059, -18, -2707, -172, -557, 0,
0, 0, 0, 0, -67, 209, 571, -93,
-405, -172, -260, -19, 86, 22, 659, -630,
222, -8192, 106, -34, 60, 0, 0, 0,
0, 0, -10, -3386, 336, 651, -1377, 681,
-16, -45, -382, 1102, -280, 169, -822, 522,
434, -1111, -299, 0, 0, 0, 0, 0,
194, -445, -231, -532, -438, -180, -591, -1680,
179, 5921, -184, -685, -467, 875, -573, 282,
235, 0, 0, 0, 0, 0, 339, 139,
-745, -68, -201, 467, -743, 477, -23, -1177,
1384, -357, -1254, -3760, 454, 1175, 252, 0,
0, 0, 0, 0, 109, -252, 8027, -765,
136, 111, -86, -593, -84,