/* ------------------------------------------------------------------ * Copyright (C) 1998-2009 PacketVideo * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. * See the License for the specific language governing permissions * and limitations under the License. * ------------------------------------------------------------------- */ /* ------------------------------------------------------------------------------ PacketVideo Corp. MP3 Decoder Library Filename: pvmp3_tables.cpp Date: 09/21/2007 ------------------------------------------------------------------------------ REVISION HISTORY Description: ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ REFERENCES [1] ISO MPEG Audio Subgroup Software Simulation Group (1996) ISO 13818-3 MPEG-2 Audio Decoder - Lower Sampling Frequency Extension ------------------------------------------------------------------------------ */ /*---------------------------------------------------------------------------- ; INCLUDES ----------------------------------------------------------------------------*/ #include "pvmp3_tables.h" /*---------------------------------------------------------------------------- ; MACROS ; Define module specific macros here ----------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------- ; DEFINES ; Include all pre-processor statements here. Include conditional ; compile variables also. ----------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------- ; LOCAL FUNCTION DEFINITIONS ; Function Prototype declaration ----------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------- ; LOCAL STORE/BUFFER/POINTER DEFINITIONS ; Variable declaration - defined here and used outside this module ----------------------------------------------------------------------------*/ const int32 mp3_s_freq[4][4] = { {44100, 48000, 32000, 0}, {22050, 24000, 16000, 0}, {11025, 12000, 8000, 0} }; // MPEG-2.5 /* * 144000./s_freq */ const int32 inv_sfreq[4] = { Qfmt_28(3.26530612244898), Qfmt_28(3.0), Qfmt_28(4.5), 0 }; /* 1: MPEG-1, 0: MPEG-2 LSF, 1995-07-11 shn */ const int16 mp3_bitrate[3][15] = { {0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320}, {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160}, {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160} }; const mp3_scaleFactorBandIndex mp3_sfBandIndex[9] = { /* MPEG 1 */ {{0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 52, 62, 74, 90, 110, 134, 162, 196, 238, 288, 342, 418, 576}, {0, 4, 8, 12, 16, 22, 30, 40, 52, 66, 84, 106, 136, 192}}, {{0, 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 60, 72, 88, 106, 128, 156, 190, 230, 276, 330, 384, 576}, {0, 4, 8, 12, 16, 22, 28, 38, 50, 64, 80, 100, 126, 192}}, {{0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 54, 66, 82, 102, 126, 156, 194, 240, 296, 364, 448, 550, 576}, {0, 4, 8, 12, 16, 22, 30, 42, 58, 78, 104, 138, 180, 192}}, /* MPEG 2 - LSF */ {{0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576}, {0, 4, 8, 12, 18, 24, 32, 42, 56, 74, 100, 132, 174, 192}}, {{0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 114, 136, 162, 194, 232, 278, 332, 394, 464, 540, 576}, {0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 136, 180, 192}}, {{0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576}, {0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192}}, /* MPEG 2.5 extension */ {{0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576}, {0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192}}, {{0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576}, {0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192}}, {{0, 12, 24, 36, 48, 60, 72, 88, 108, 132, 160, 192, 232, 280, 336, 400, 476, 566, 568, 570, 572, 574, 576}, {0, 8, 16, 24, 36, 52, 72, 96, 124, 160, 162, 164, 166, 192}} }; #define INV_Q31( x) (int32)(0x7FFFFFFF/(float)(x) - 1.0f) const int32 mp3_shortwindBandWidths[9][13] = { { INV_Q31(4), INV_Q31(4), INV_Q31(4), INV_Q31(4), INV_Q31(6), INV_Q31(8), INV_Q31(10), INV_Q31(12), INV_Q31(14), INV_Q31(18), INV_Q31(22), INV_Q31(30), INV_Q31(56)}, { INV_Q31(4), INV_Q31(4), INV_Q31(4), INV_Q31(4), INV_Q31(6), INV_Q31(6), INV_Q31(10), INV_Q31(12), INV_Q31(14), INV_Q31(16), INV_Q31(20), INV_Q31(26), INV_Q31(66)}, { INV_Q31(4), INV_Q31(4), INV_Q31(4), INV_Q31(4), INV_Q31(6), INV_Q31(8), INV_Q31(12), INV_Q31(16), INV_Q31(20), INV_Q31(26), INV_Q31(34), INV_Q31(42), INV_Q31(12)}, { INV_Q31(4), INV_Q31(4), INV_Q31(4), INV_Q31(6), INV_Q31(6), INV_Q31(8), INV_Q31(10), INV_Q31(14), INV_Q31(18), INV_Q31(26), INV_Q31(32), INV_Q31(42), INV_Q31(18)}, { INV_Q31(4), INV_Q31(4), INV_Q31(4), INV_Q31(6), INV_Q31(8), INV_Q31(10), INV_Q31(12), INV_Q31(14), INV_Q31(18), INV_Q31(24), INV_Q31(32), INV_Q31(44), INV_Q31(12)}, { INV_Q31(4), INV_Q31(4), INV_Q31(4), INV_Q31(6), INV_Q31(8), INV_Q31(10), INV_Q31(12), INV_Q31(14), INV_Q31(18), INV_Q31(24), INV_Q31(30), INV_Q31(40), INV_Q31(18)}, { INV_Q31(4), INV_Q31(4), INV_Q31(4), INV_Q31(6), INV_Q31(8), INV_Q31(10), INV_Q31(12), INV_Q31(14), INV_Q31(18), INV_Q31(24), INV_Q31(30), INV_Q31(40), INV_Q31(18)}, { INV_Q31(4), INV_Q31(4), INV_Q31(4), INV_Q31(6), INV_Q31(8), INV_Q31(10), INV_Q31(12), INV_Q31(14), INV_Q31(18), INV_Q31(24), INV_Q31(30), INV_Q31(40), INV_Q31(18)}, { INV_Q31(8), INV_Q31(8), INV_Q31(8), INV_Q31(12), INV_Q31(16), INV_Q31(20), INV_Q31(24), INV_Q31(28), INV_Q31(36), INV_Q31(2), INV_Q31(2), INV_Q31(2), INV_Q31(26)} }; #define Q30_fmt(a) (int32((0x40000000)*(a))) const int32 pqmfSynthWin[(HAN_SIZE/2) + 8] = { Q30_fmt(-0.000015259F), Q30_fmt(0.000396729F), Q30_fmt(0.000473022F), Q30_fmt(0.003173828F), Q30_fmt(0.003326416F), Q30_fmt(0.006118770F), Q30_fmt(0.007919310F), Q30_fmt(0.031478880F), Q30_fmt(0.030517578F), Q30_fmt(0.073059080F), Q30_fmt(0.084182740F), Q30_fmt(0.108856200F), Q30_fmt(0.090927124F), Q30_fmt(0.543823240F), Q30_fmt(0.600219727F), Q30_fmt(1.144287109F), Q30_fmt(-0.000015259F), Q30_fmt(0.000366211F), Q30_fmt(0.000534058F), Q30_fmt(0.003082275F), Q30_fmt(0.003387451F), Q30_fmt(0.005294800F), Q30_fmt(0.008865360F), Q30_fmt(0.031738280F), Q30_fmt(0.029785160F), Q30_fmt(0.067520140F), Q30_fmt(0.089706420F), Q30_fmt(0.116577150F), Q30_fmt(0.080688480F), Q30_fmt(0.515609740F), Q30_fmt(0.628295900F), Q30_fmt(1.142211914F), Q30_fmt(-0.000015259F), Q30_fmt(0.000320435F), Q30_fmt(0.000579834F), Q30_fmt(0.002990723F), Q30_fmt(0.003433228F), Q30_fmt(0.004486080F), Q30_fmt(0.009841920F), Q30_fmt(0.031845090F), Q30_fmt(0.028884890F), Q30_fmt(0.061996460F), Q30_fmt(0.095169070F), Q30_fmt(0.123474120F), Q30_fmt(0.069595340F), Q30_fmt(0.487472530F), Q30_fmt(0.656219480F), Q30_fmt(1.138763428F), Q30_fmt(-0.000015259F), Q30_fmt(0.000289917F), Q30_fmt(0.000625610F), Q30_fmt(0.002899170F), Q30_fmt(0.003463745F), Q30_fmt(0.003723140F), Q30_fmt(0.010849000F), Q30_fmt(0.031814580F), Q30_fmt(0.027801510F), Q30_fmt(0.056533810F), Q30_fmt(0.100540160F), Q30_fmt(0.129577640F), Q30_fmt(0.057617190F), Q30_fmt(0.459472660F), Q30_fmt(0.683914180F), Q30_fmt(1.133926392F), Q30_fmt(-0.000015259F), Q30_fmt(0.000259399F), Q30_fmt(0.000686646F), Q30_fmt(0.002792358F), Q30_fmt(0.003479004F), Q30_fmt(0.003005981F), Q30_fmt(0.011886600F), Q30_fmt(0.031661990F), Q30_fmt(0.026535030F), Q30_fmt(0.051132200F), Q30_fmt(0.105819700F), Q30_fmt(0.134887700F), Q30_fmt(0.044784550F), Q30_fmt(0.431655880F), Q30_fmt(0.711318970F), Q30_fmt(1.127746582F), Q30_fmt(-0.000015259F), Q30_fmt(0.000244141F), Q30_fmt(0.000747681F), Q30_fmt(0.002685547F), Q30_fmt(0.003479004F), Q30_fmt(0.002334595F), Q30_fmt(0.012939450F), Q30_fmt(0.031387330F), Q30_fmt(0.025085450F), Q30_fmt(0.045837400F), Q30_fmt(0.110946660F), Q30_fmt(0.139450070F), Q30_fmt(0.031082153F), Q30_fmt(0.404083250F), Q30_fmt(0.738372800F), Q30_fmt(1.120223999F), Q30_fmt(-0.000030518F), Q30_fmt(0.000213623F), Q30_fmt(0.000808716F), Q30_fmt(0.002578735F), Q30_fmt(0.003463745F), Q30_fmt(0.001693726F), Q30_fmt(0.014022830F), Q30_fmt(0.031005860F), Q30_fmt(0.023422240F), Q30_fmt(0.040634160F), Q30_fmt(0.115921020F), Q30_fmt(0.143264770F), Q30_fmt(0.016510010F), Q30_fmt(0.376800540F), Q30_fmt(0.765029907F), Q30_fmt(1.111373901F), Q30_fmt(-0.000030518F), Q30_fmt(0.000198364F), Q30_fmt(0.000885010F), Q30_fmt(0.002456665F), Q30_fmt(0.003417969F), Q30_fmt(0.001098633F), Q30_fmt(0.015121460F), Q30_fmt(0.030532840F), Q30_fmt(0.021575930F), Q30_fmt(0.035552980F), Q30_fmt(0.120697020F), Q30_fmt(0.146362300F), Q30_fmt(0.001068120F), Q30_fmt(0.349868770F), Q30_fmt(0.791213990F), Q30_fmt(1.101211548F), Q30_fmt(-0.000030518F), Q30_fmt(0.000167847F), Q30_fmt(0.000961304F), Q30_fmt(0.002349854F), Q30_fmt(0.003372192F), Q30_fmt(0.000549316F), Q30_fmt(0.016235350F), Q30_fmt(0.029937740F), Q30_fmt(0.019531250F), Q30_fmt(0.030609130F), Q30_fmt(0.125259400F), Q30_fmt(0.148773190F), Q30_fmt(-0.015228270F), Q30_fmt(0.323318480F), Q30_fmt(0.816864010F), Q30_fmt(1.089782715F), Q30_fmt(-0.000030518F), Q30_fmt(0.000152588F), Q30_fmt(0.001037598F), Q30_fmt(0.002243042F), Q30_fmt(0.003280640F), Q30_fmt(0.000030518F), Q30_fmt(0.017349240F), Q30_fmt(0.029281620F), Q30_fmt(0.017257690F), Q30_fmt(0.025817870F), Q30_fmt(0.129562380F), Q30_fmt(0.150497440F), Q30_fmt(-0.032379150F), Q30_fmt(0.297210693F), Q30_fmt(0.841949463F), Q30_fmt(1.077117920F), Q30_fmt(-0.000045776F), Q30_fmt(0.000137329F), Q30_fmt(0.001113892F), Q30_fmt(0.002120972F), Q30_fmt(0.003173828F), Q30_fmt(-0.000442505F), Q30_fmt(0.018463130F), Q30_fmt(0.028533940F), Q30_fmt(0.014801030F), Q30_fmt(0.021179200F), Q30_fmt(0.133590700F), Q30_fmt(0.151596070F), Q30_fmt(-0.050354000F), Q30_fmt(0.271591190F), Q30_fmt(0.866363530F), Q30_fmt(1.063217163F), Q30_fmt(-0.000045776F), Q30_fmt(0.000122070F), Q30_fmt(0.001205444F), Q30_fmt(0.002014160F), Q30_fmt(0.003051758F), Q30_fmt(-0.000869751F), Q30_fmt(0.019577030F), Q30_fmt(0.027725220F), Q30_fmt(0.012115480F), Q30_fmt(0.016708370F), Q30_fmt(0.137298580F), Q30_fmt(0.152069090F), Q30_fmt(-0.069168090F), Q30_fmt(0.246505740F), Q30_fmt(0.890090940F), Q30_fmt(1.048156738F), Q30_fmt(-0.000061035F), Q30_fmt(0.000106812F), Q30_fmt(0.001296997F), Q30_fmt(0.001907349F), Q30_fmt(0.002883911F), Q30_fmt(-0.001266479F), Q30_fmt(0.020690920F), Q30_fmt(0.026840210F), Q30_fmt(0.009231570F), Q30_fmt(0.012420650F), Q30_fmt(0.140670780F), Q30_fmt(0.151962280F), Q30_fmt(-0.088775630F), Q30_fmt(0.221984860F), Q30_fmt(0.913055420F), Q30_fmt(1.031936646F), Q30_fmt(-0.000061035F), Q30_fmt(0.000106812F), Q30_fmt(0.001388550F), Q30_fmt(0.001785278F), Q30_fmt(0.002700806F), Q30_fmt(-0.001617432F), Q30_fmt(0.021789550F), Q30_fmt(0.025909420F), Q30_fmt(0.006134030F), Q30_fmt(0.008316040F), Q30_fmt(0.143676760F), Q30_fmt(0.151306150F), Q30_fmt(-0.109161380F), Q30_fmt(0.198059080F), Q30_fmt(0.935195920F), Q30_fmt(1.014617920F), Q30_fmt(-0.000076294F), Q30_fmt(0.000091553F), Q30_fmt(0.001480103F), Q30_fmt(0.001693726F), Q30_fmt(0.002487183F), Q30_fmt(-0.001937866F), Q30_fmt(0.022857670F), Q30_fmt(0.024932860F), Q30_fmt(0.002822880F), Q30_fmt(0.004394530F), Q30_fmt(0.146255490F), Q30_fmt(0.150115970F), Q30_fmt(-0.130310060F), Q30_fmt(0.174789430F), Q30_fmt(0.956481930F), Q30_fmt(0.996246338F), Q30_fmt(0.000000000F), Q30_fmt(0.000442505F), Q30_fmt(0.001586910F), Q30_fmt(0.003250122F), Q30_fmt(0.007003780F), Q30_fmt(0.023910525F), Q30_fmt(0.031082153F), Q30_fmt(0.078628545F), Q30_fmt(0.148422240F), Q30_fmt(0.100311279F), Q30_fmt(0.572036740F), Q30_fmt(0.976852417F), Q30_fmt(1.144989014F), Q30_fmt(-0.572036745F), Q30_fmt(-0.152206421F), Q30_fmt(0.100311279F), Q30_fmt(-0.078628540F), Q30_fmt(-0.000686646F), Q30_fmt(0.031082153F), Q30_fmt(-0.007003785F), Q30_fmt(0.002227783F), Q30_fmt(0.003250122F), Q30_fmt(-0.000442500F), Q30_fmt(-0.000076294F), }; const uint16 huffTable_1[8] = { 0x1103, 0x0103, 0x1002, 0x1002, 0x0001, 0x0001, 0x0001, 0x0001 }; const uint16 huffTable_2[15] = { 0x1103, 0x0103, 0x1003, 0x0001, 0x0001, 0x0001, 0x0001, 0x2206, 0x0206, 0x1205, 0x1205, 0x2105, 0x2105, 0x2005, 0x2005 }; const uint16 huffTable_3[15] = { 0x1003, 0x1102, 0x1102, 0x0102, 0x0102, 0x0002, 0x0002, 0x2206, 0x0206, 0x1205, 0x1205, 0x2105, 0x2105, 0x2005, 0x2005 }; const uint16 huffTable_5[25] = { 0x1103, 0x0103, 0x1003, 0x0001, 0x0001, 0x0001, 0x0001, 0x3106, 0x3106, 0x1307, 0x0307, 0x3007, 0x2207, 0x1206, 0x1206, 0x2106, 0x2106, 0x0206, 0x0206, 0x2006, 0x2006, 0x3308, 0x2308, 0x3207, 0x3207 }; const uint16 huffTable_6[26] = { 0x1204, 0x2104, 0x2004, 0x0103, 0x0103, 0x1102, 0x1102, 0x1102, 0x1102, 0x1003, 0x1003, 0x0003, 0x0003, 0x2306, 0x3206, 0x3006, 0x1305, 0x1305, 0x3105, 0x3105, 0x2205, 0x2205, 0x0205, 0x0205, 0x3307, 0x0307 }; const uint16 huffTable_7[73] = { 0x0103, 0x1003, 0x0001, 0x0001, 0x0001, 0x0001, 0x1206, 0x2105, 0x2105, 0x0206, 0x2006, 0x1104, 0x1104, 0x1104, 0x1104, 0x3509, 0x4409, 0x2509, 0x5209, 0x1508, 0x1508, 0x5108, 0x5108, 0x0509, 0x3409, 0x5008, 0x5008, 0x4309, 0x3309, 0x2408, 0x2408, 0x4208, 0x4208, 0x1407, 0x1407, 0x1407, 0x1407, 0x4107, 0x4107, 0x4107, 0x4107, 0x4007, 0x4007, 0x4007, 0x4007, 0x0408, 0x0408, 0x2308, 0x2308, 0x3208, 0x3208, 0x0308, 0x0308, 0x1307, 0x1307, 0x1307, 0x1307, 0x3107, 0x3107, 0x3107, 0x3107, 0x3007, 0x3007, 0x3007, 0x3007, 0x2207, 0x2207, 0x2207, 0x2207, 0x550a, 0x450a, 0x540a, 0x530a }; const uint16 huffTable_8[66] = { 0x1204, 0x2104, 0x1102, 0x1102, 0x1102, 0x1102, 0x0103, 0x0103, 0x1003, 0x1003, 0x0002, 0x0002, 0x0002, 0x0002, 0x2206, 0x0206, 0x2006, 0x2509, 0x5209, 0x0509, 0x1508, 0x1508, 0x5108, 0x5108, 0x3409, 0x4309, 0x5009, 0x3309, 0x2408, 0x2408, 0x4208, 0x4208, 0x1408, 0x1408, 0x4107, 0x4107, 0x4107, 0x4107, 0x0408, 0x0408, 0x4008, 0x4008, 0x2308, 0x2308, 0x3208, 0x3208, 0x1308, 0x1308, 0x3108, 0x3108, 0x0308, 0x0308, 0x3008, 0x3008, 0x550b, 0x540b, 0x450a, 0x450a, 0x5309, 0x5309, 0x5309, 0x5309, 0x350a, 0x350a, 0x440a, 0x440a }; const uint16 huffTable_9[53] = { 0x1204, 0x2104, 0x2004, 0x1103, 0x1103, 0x0103, 0x0103, 0x1003, 0x1003, 0x0003, 0x0003, 0x1406, 0x4106, 0x2306, 0x3206, 0x1305, 0x1305, 0x3105, 0x3105, 0x0306, 0x3006, 0x2205, 0x2205, 0x0205, 0x0205, 0x4408, 0x2508, 0x5208, 0x1508, 0x5107, 0x5107, 0x3407, 0x3407, 0x4307, 0x4307, 0x5008, 0x0408, 0x2407, 0x2407, 0x4207, 0x4207, 0x3307, 0x3307, 0x4007, 0x4007, 0x5509, 0x4509, 0x3508, 0x3508, 0x5308, 0x5308, 0x5409, 0x0509 }; const uint16 huffTable_10[96] = { 0x0001, 0x1104, 0x0103, 0x0103, 0x1003, 0x1003, 0x1206, 0x2106, 0x0206, 0x2006, 0x1408, 0x4108, 0x4008, 0x2308, 0x3208, 0x0308, 0x1307, 0x1307, 0x3107, 0x3107, 0x3007, 0x3007, 0x2207, 0x2207, 0x1608, 0x1608, 0x6108, 0x6108, 0x6008, 0x6008, 0x0509, 0x5009, 0x2409, 0x4209, 0x3309, 0x0409, 0x2709, 0x2709, 0x7209, 0x7209, 0x640a, 0x070a, 0x7009, 0x7009, 0x6209, 0x6209, 0x450a, 0x350a, 0x0609, 0x0609, 0x530a, 0x440a, 0x1708, 0x1708, 0x1708, 0x1708, 0x7108, 0x7108, 0x7108, 0x7108, 0x3609, 0x3609, 0x2609, 0x2609, 0x250a, 0x520a, 0x1509, 0x1509, 0x5109, 0x5109, 0x340a, 0x430a, 0x770b, 0x670b, 0x760b, 0x570b, 0x750b, 0x660b, 0x470a, 0x470a, 0x740a, 0x740a, 0x560a, 0x560a, 0x650a, 0x650a, 0x370a, 0x370a, 0x730a, 0x730a, 0x460a, 0x460a, 0x550b, 0x540b, 0x630a, 0x630a }; const uint16 huffTable_11[116] = { 0x1103, 0x0103, 0x1003, 0x0002, 0x0002, 0x2105, 0x1204, /* 0100 */ 0x1204, /* 010 */ 0x0205, /* 01010 */ 0x2005, /* 01011 */ 0x1408, /* 10 */ 0x4108, /* 00 */ 0x0408, /* 0 0 */ 0x4008, /* 0 1 */ 0x2307, /* 0 */ 0x2307, /* */ 0x3207, /* 1 */ 0x3207, /* */ 0x1306, /* 010 */ 0x1306, /* 01 */ 0x1306, /* 01 */ 0x1306, /* 01 */ 0x3106, /* 011 */ 0x3106, /* 01 */ 0x3106, /* 01 */ 0x3106, /* 01 */ 0x0307, /* 1000 */ 0x0307, /* 100 */ 0x3007, /* 1 */ 0x3007, /* 100 */ 0x2206, /* 101 */ 0x2206, /* 10 */ 0x2206, /* 10 */ 0x2206, /* 10 */ 0x2708, 0x2708, /* 000 0 */ 0x7208, /* 000 10 */ 0x7208, /* 000 1 */ 0x6409, /* 000 110 */ 0x0709, 0x7107, 0x7107, 0x7107, /* 00 0 */ 0x7107, /* 00 0 */ 0x1708, 0x1708, /* 00 01 */ 0x7008, 0x7008, 0x3608, 0x3608, /* 00 10 */ 0x6308, /* 00 101 */ 0x6308, /* 00 10 */ 0x6008, 0x6008, /* 00 11 */ 0x4409, 0x2509, 0x5209, /* 0 */ 0x0509, /* 0 00 */ 0x1508, /* 0 0 */ 0x1508, /* 0 000 */ 0x6207, /* 0 */ 0x6207, /* 0 00 */ 0x6207, /* 0 00 */ 0x6207, /* 0 00 */ 0x2608, 0x2608, /* 0 010 */ 0x0608, 0x0608, 0x1607, 0x1607, 0x1607, 0x1607, 0x6107, 0x6107, 0x6107, 0x6107, 0x5108, 0x5108, 0x3408, 0x3408, 0x5008, 0x5008, 0x4309, 0x3309, 0x2408, 0x2408, /* 0 111 */ 0x4208, /* 0 1111 */ 0x4208, /* 0 111 */ 0x560a, 0x650a, 0x3709, 0x3709, 0x7309, 0x7309, 0x4609, 0x4609, 0x450a, 0x540a, /* 000 0 */ 0x350a, /* 000 0 */ 0x530a, /* 000 1 */ 0x770a, 0x770a, 0x670a, 0x670a, 0x760a, /* 0 */ 0x760a, /* */ 0x750a, /* 1 */ 0x750a, /* */ 0x660a, /* 00 */ 0x660a, /* 0 */ 0x470a, /* 01 */ 0x470a, /* 0 */ 0x740a, /* 10 */ 0x740a, /* 1 */ 0x570b, /* 110 */ 0x550b /* 111 */ }; const uint16 huffTable_12[134] = { 0x1103, /* 101 */ 0x0103, /* 110 */ 0x1003, /* 111 */ 0x1204, 0x1204, /* 011 */ 0x2104, /* 0111 */ 0x2104, /* 011 */ 0x0205, /* 10000 */ 0x2005, /* 10 */ 0x0004, /* 1 */ 0x0004, /* 100 */ 0x3006, 0x1305, /* 01 */ 0x1305, /* 0100 */ 0x3105, 0x3105, 0x2205, 0x2205, /* 0101 */ 0x1507, 0x1507, /* 000 */ 0x5107, /* 0 */ 0x5107, /* 000 */ 0x3407, /* 0 */ 0x3407, /* */ 0x4307, /* 1 */ 0x4307, /* */ 0x5008, 0x0408, 0x2407, 0x2407, /* 010 */ 0x4207, 0x4207, 0x1407, /* 0111 */ 0x1407, /* 011 */ 0x3306, 0x3306, 0x3306, 0x3306, 0x4106, 0x4106, 0x4106, 0x4106, 0x2306, 0x2306, 0x2306, 0x2306, 0x3206, 0x3206, 0x3206, 0x3206, 0x4007, 0x4007, 0x0307, 0x0307, /* 010000 */ 0x7208, 0x7208, /* 00 00 */ 0x4608, /* 00 */ 0x4608, /* 00 00 */ 0x6408, 0x6408, /* 00 01 */ 0x1708, /* 00 011 */ 0x1708, 0x7108, /* 00 100 */ 0x7108, 0x0709, 0x7009, 0x3608, 0x3608, /* 00 11 */ 0x6308, 0x6308, 0x4508, 0x4508, 0x5408, /* 0 0 */ 0x5408, /* 0 000 */ 0x4408, /* 0 0 */ 0x4408, /* 0 */ 0x0609, /* 0 10 */ 0x0509, /* 0 11 */ 0x2607, 0x2607, 0x2607, 0x2607, 0x6207, 0x6207, 0x6207, 0x6207, 0x6107, 0x6107, 0x6107, 0x6107, 0x1608, /* 0 1010 */ 0x1608, /* 0 101 */ 0x6008, /* 0 1011 */ 0x6008, /* 0 101 */ 0x3508, 0x3508, /* 0 110 */ 0x5308, /* 0 1101 */ 0x5308, /* 0 110 */ 0x2508, 0x2508, /* 0 111 */ 0x5208, /* 0 1111 */ 0x5208, /* 0 111 */ 0x770a, 0x670a, 0x7609, /* */ 0x7609, 0x5709, /* 0 */ 0x5709, /* */ 0x7509, /* 1 */ 0x7509, /* */ 0x6609, 0x6609, 0x4709, /* 0000 01 */ 0x4709, /* 0000 0 */ 0x7409, 0x7409, /* 0000 1 */ 0x6509, 0x6509, /* 0000 1 */ 0x5608, 0x5608, 0x5608, 0x5608, 0x3708, 0x3708, 0x3708, 0x3708, 0x7309, /* 000 100 */ 0x7309, /* 000 10 */ 0x5509, 0x5509, /* 000 10 */ 0x2708, 0x2708, 0x2708, 0x2708, }; const uint16 huffTable_13[491] = { 0x0001, 0x1104, 0x0104, 0x1003, 0x1003, 0x4107, 0x4107, 0x0408, 0x4008, 0x2308, 0x3208, 0x1307, 0x1307, 0x3107, 0x3107, 0x0307, 0x0307, 0x3007, 0x3007, 0x2207, 0x2207, 0x1206, 0x1206, 0x1206, 0x1206, 0x2106, 0x2106, 0x2106, 0x2106, 0x0206, 0x0206, 0x0206, 0x0206, 0x2006, 0x2006, 0x2006, 0x2006, 0x370a, 0x270a, /* 0 000 */ 0x1709, /* 0 00 */ 0x1709, 0x7109, 0x7109, /* 0 0 */ 0x550a, 0x070a, /* 0 0 11 */ 0x700a, 0x360a, /* 0 */ 0x630a, 0x450a, /* 0 011 */ 0x540a, 0x260a, /* 0 101 */ 0x620a, 0x350a, /* 0 111 */ 0x8108, 0x8108, /* 0 010 */ 0x8108, 0x8108, /* 0 010 */ 0x0809, 0x0809, /* 0 0101 */ 0x8009, 0x8009, /* 0 0101 */ 0x1609, 0x1609, /* 0 0110 */ 0x6109, 0x6109, /* 0 0110 */ 0x0609, 0x0609, /* 0 0111 */ 0x6009, 0x6009, /* 0 0111 */ 0x530a, 0x440a, /* 0 100 */ 0x2509, 0x2509, /* 0 1000 */ 0x5209, 0x5209, /* 0 1 */ 0x0509, 0x0509, /* 0 1 */ 0x1508, 0x1508, /* 0 101 */ 0x1508, 0x1508, /* 0 101 */ 0x5108, 0x5108, /* 0 101 */ 0x5108, 0x5108, /* 0 101 */ 0x3409, 0x3409, /* 0 1100 */ 0x4309, 0x4309, /* 0 1100 */ 0x5009, 0x5009, /* 0 1101 */ 0x2409, 0x2409, /* 0 1101 */ 0x4209, 0x4209, /* 0 1110 */ 0x3309, 0x3309, /* 0 1110 */ 0x1408, 0x1408, /* 0 111 */ 0x1408, 0x1408, /* 0 111 */ 0x1a0a, 0x1a0a, 0xa10a, /* 00 00 */ 0xa10a, 0x0a0b, 0x680b, 0xa00a, 0xa00a, 0x860b, 0x490b, 0x930a, 0x930a, 0x390b, 0x580b, 0x850b, 0x670b, 0x290a, 0x290a, 0x920a, 0x920a, 0x570b, 0x750b, 0x380a, 0x380a, 0x830a, 0x830a, 0x660b, 0x470b, 0x740b, 0x560b, 0x650b, 0x730b, 0x1909, 0x1909, 0x1909, 0x1909, 0x9109, 0x9109, 0x9109, 0x9109, 0x090a, /* 00 10100 */ 0x090a, 0x900a, /* 00 10101 */ 0x900a, 0x480a, /* 00 10110 */ 0x480a, 0x840a, /* 00 10111 */ 0x840a, 0x720a, /* 00 11000 */ 0x720a, 0x460b, /* 00 11 0 */ 0x640b, 0x2809, 0x2809, 0x2809, 0x2809, 0x8209, 0x8209, 0x8209, 0x8209, 0x1809, 0x1809, 0x1809, 0x1809, 0xc10b, 0xc10b, /* 000 0000 */ 0x980c, 0x0c0c, /* 000 00 1 */ 0xc00b, 0xc00b, /* 000 0 */ 0xb40c, 0x6a0c, /* 000 0 11 */ 0xa60c, 0x790c, /* 000 */ 0x3b0b, 0x3b0b, /* 000 0 */ 0xb30b, 0xb30b, /* 000 1 */ 0x880c, 0x5a0c, /* 000 111 */ 0x2b0b, 0x2b0b, /* 000 0100 */ 0xa50c, 0x690c, /* 000 01 1 */ 0xa40b, 0xa40b, /* 000 0101 */ 0x780c, 0x870c, 0x940b, 0x940b, /* 000 0110 */ 0x770c, 0x760c, /* 000 011011 */ 0xb20a, 0xb20a, /* 000 011 */ 0xb20a, 0xb20a, /* 000 011 */ 0x1b0a, 0x1b0a, /* 000 100 */ 0x1b0a, 0x1b0a, /* 000 100 */ 0xb10a, 0xb10a, 0xb10a, /* 000 100 */ 0xb10a, /* 000 100 */ 0x0b0b, /* 000 10100 */ 0x0b0b, /* 000 1010 */ 0xb00b, 0xb00b, /* 000 1010 */ 0x960b, /* 000 10110 */ 0x960b, /* 000 1011 */ 0x4a0b, 0x4a0b, /* 000 1011 */ 0x3a0b, /* 000 11000 */ 0x3a0b, /* 000 1100 */ 0xa30b, /* 000 11 */ 0xa30b, /* 000 1100 */ 0x590b, 0x590b, /* 000 1101 */ 0x950b, /* 000 11011 */ 0x950b, /* 000 1101 */ 0x2a0a, 0x2a0a, 0x2a0a, 0x2a0a, 0xa20a, 0xa20a, 0xa20a, 0xa20a, 0xf00c, 0xf00c, /* 000 */ 0xba0d, 0xe50d, /* 0 1 */ 0xe40d, 0x8c0d, /* 01 */ 0x6d0d, 0xe30d, /* 11 */ 0xe20c, /* 0100 */ 0xe20c, 0x2e0d, /* 01010 */ 0x0e0d, 0x1e0c, /* 0110 */ 0x1e0c, 0xe10c, /* 0111 */ 0xe10c, 0xe00d, /* 10000 */ 0x5d0d, 0xd50d, /* 1 0 */ 0x7c0d, 0xc70d, 0x4d0d, 0x8b0d, 0xb80d, 0xd40d, 0x9a0d, 0xa90d, 0x6c0d, 0xc60c, 0xc60c, 0x3d0c, 0x3d0c, /* 111 */ 0xd30d, /* 0000 */ 0x7b0d, 0x2d0c, 0x2d0c, 0xd20c, 0xd20c, 0x1d0c, 0x1d0c, 0xb70c, 0xb70c, /* 0000 0 */ 0x5c0d, 0xc50d, /* 0000 011 */ 0x990d, 0x7a0d, 0xc30c, 0xc30c, /* 0000 1 */ 0xa70d, 0x970d, 0x4b0c, 0x4b0c, 0xd10b, 0xd10b, 0xd10b, /* 0000 010 */ 0xd10b, 0x0d0c, 0x0d0c, 0xd00c, 0xd00c, 0x8a0c, 0x8a0c, 0xa80c, 0xa80c, 0x4c0c, 0x4c0c, 0xc40c, 0xc40c, 0x6b0c, 0x6b0c, /* 0000 1 */ 0xb60c, /* 0000 1 1 */ 0xb60c, /* 0000 1 */ 0x3c0b, 0x3c0b, 0x3c0b, 0x3c0b, 0x2c0b, /* 0000 1011 */ 0x2c0b, /* 0000 101 */ 0x2c0b, /* 0000 101 */ 0x2c0b, /* 0000 101 */ 0xc20b, 0xc20b, 0xc20b, 0xc20b, 0x5b0b, /* 0000 1101 */ 0x5b0b, 0x5b0b, /* 0000 110 */ 0x5b0b, /* 0000 110 */ 0xb50c, 0xb50c, 0x890c, 0x890c, /* 0000 1110 */ 0x1c0b, 0x1c0b, 0x1c0b, 0x1c0b, 0x2f0d, 0x2f0d, /* 000 */ 0xf20d, /* 0 */ 0xf20d, /* 000 */ 0x6e0e, /* 00 */ 0x9c0e, /* 01 */ 0x0f0d, /* 1 */ 0x0f0d, /* */ 0xc90e, 0x5e0e, /* 01 */ 0xab0d, /* 0101 */ 0xab0d, 0x7d0e, /* 01100 */ 0xd70e, 0x4e0d, /* 0111 */ 0x4e0d, 0xc80e, 0xd60e, /* 10 */ 0x3e0d, 0x3e0d, /* 100 */ 0xb90d, 0xb90d, /* 101 */ 0x9b0e, 0xaa0e, /* 10111 */ 0x1f0c, 0x1f0c, /* 11 */ 0x1f0c, /* 11 */ 0x1f0c, 0xf10c, /* 111 */ 0xf10c, /* 11 */ 0xf10c, /* 11 */ 0xf10c, /* 11 */ 0xe80e, 0xe80e, 0x5f0e, 0x5f0e, 0x9d0e, 0x9d0e, 0xd90e, 0xd90e, /* 0000000 */ 0xf50e, 0xf50e, 0xe70e, 0xe70e, 0xac0e, 0xac0e, 0xbb0e, 0xbb0e, 0x4f0e, 0x4f0e, 0xf40e, /* 0000000 1 */ 0xf40e, 0xca0f, 0xe60f, 0xf30e, 0xf30e, /* 0000000 101 */ 0x3f0d, 0x3f0d, /* 0000000 11 */ 0x3f0d, 0x3f0d, /* 0000000 11 */ 0x8d0e, 0x8d0e, 0xd80e, /* 0000000 1111 */ 0xd80e, 0x8f0f, 0x8f0f, /* 00000000 000 */ 0xf80f, /* 00000000 0 */ 0xf80f, 0xcc0f, /* 00000000 0 */ 0xcc0f, 0xae10, 0x9e10, /* 00000000 11 */ 0x8e0f, 0x8e0f, 0x7f10, 0x7e10, 0xf70e, /* 00000000 011 */ 0xf70e, 0xf70e, 0xf70e, /* 00000000 01 */ 0xda0e, 0xda0e, /* 00000000 10 */ 0xda0e, 0xda0e, /* 00000000 10 */ 0xad0f, 0xad0f, /* 00000000 101 */ 0xbc0f, 0xbc0f, /* 00000000 101 */ 0xcb0f, 0xcb0f, /* 00000000 110 */ 0xf60f, 0xf60f, /* 00000000 110 */ 0x6f0e, 0x6f0e, /* 00000000 11 */ 0x6f0e, /* 00000000 11 */ 0x6f0e, /* 00000000 11 */ 0xff10, 0xff10, 0xef10, 0xef10, /* 000000000000 */ 0xdf10, /* 000000000000 1 */ 0xdf10, /* 000000000000 */ 0xee10, /* 00000000000 00 */ 0xee10, /* 00000000000 0 */ 0xcf10, /* 00000000000 01 */ 0xcf10, 0xde10, /* 00000000000 10 */ 0xde10, 0xbf10, /* 00000000000 11 */ 0xbf10, /* 00000000000 1 */ 0xfb10, 0xfb10, 0xce10, 0xce10, /* 0000000000 00 */ 0xdc10, /* 0000000000 010 */ 0xdc10, 0xaf11, 0xe911, 0xec0f, /* 0000000000 10 */ 0xec0f, /* 0000000000 1 */ 0xec0f, /* 0000000000 1 */ 0xec0f, /* 0000000000 1 */ 0xdd0f, /* 0000000000 11 */ 0xdd0f, /* 0000000000 1 */ 0xdd0f, /* 0000000000 1 */ 0xdd0f, /* 0000000000 1 */ 0xfa10, /* 000000000 0000 */ 0xfa10, /* 000000000 000 */ 0xcd10, /* 000000000 0 */ 0xcd10, /* 000000000 000 */ 0xbe0f, /* 000000000 */ 0xbe0f, 0xbe0f, 0xbe0f, 0xeb0f, 0xeb0f, 0xeb0f, 0xeb0f, /* 000000000 01 */ 0x9f0f, /* 000000000 011 */ 0x9f0f, /* 000000000 01 */ 0x9f0f, 0x9f0f, 0xf90f, /* 000000000 100 */ 0xf90f, /* 000000000 10 */ 0xf90f, /* 000000000 10 */ 0xf90f, /* 000000000 10 */ 0xea0f, /* 000000000 101 */ 0xea0f, /* 000000000 10 */ 0xea0f, /* 000000000 10 */ 0xea0f, /* 000000000 10 */ 0xbd0f, /* 000000000 110 */ 0xbd0f, /* 000000000 11 */ 0xbd0f, /* 000000000 11 */ 0xbd0f, /* 000000000 11 */ 0xdb0f, /* 000000000 111 */ 0xdb0f, /* 000000000 11 */ 0xdb0f, /* 000000000 11 */ 0xdb0f, /* 000000000 11 */ 0xfe13, 0xfc13, 0xfd12, 0xfd12, 0xed11, 0xed11, 0xed11, 0xed11 }; const uint16 huffTable_15[421] = { 0x1103, 0x1103, 0x0104, 0x1004, 0x0003, /* 111 */ 0x0003, /* 11 */ 0x3407, 0x4307, 0x2407, /* 0101 */ 0x4207, /* 0101010 */ 0x3307, 0x4106, /* 010110 */ 0x4106, 0x1407, /* 0101110 */ 0x0407, 0x2306, /* 011000 */ 0x2306, 0x3206, /* 011 */ 0x3206, 0x4007, 0x0307, 0x1306, /* 011011 */ 0x1306, /* 01101 */ 0x3106, /* 011100 */ 0x3106, /* 01110 */ 0x3006, /* 011101 */ 0x3006, /* 01110 */ 0x2205, /* 01111 */ 0x2205, /* 0111 */ 0x2205, /* 0111 */ 0x2205, /* 0111 */ 0x1205, /* 10000 */ 0x1205, /* 1000 */ 0x1205, /* 1000 */ 0x1205, /* 1000 */ 0x2105, /* 10 */ 0x2105, /* 1000 */ 0x2105, /* 1000 */ 0x2105, /* 1000 */ 0x0205, 0x0205, /* 1 */ 0x0205, /* 1 */ 0x0205, /* 1 */ 0x2005, /* 1 1 */ 0x2005, /* 1 */ 0x2005, /* 1 */ 0x2005, /* 1 */ 0x5809, 0x8509, 0x2909, /* */ 0x6709, /* 000 */ 0x7609, /* 00 0 */ 0x9209, /* 00 1 */ 0x9108, /* 0 0 */ 0x9108, /* 0 */ 0x1909, /* 0 10 */ 0x9009, /* 0 11 */ 0x4809, /* 000 */ 0x8409, /* */ 0x5709, /* 010 */ 0x7509, /* 011 */ 0x3809, /* 100 */ 0x8309, /* 101 */ 0x6609, /* 110 */ 0x4709, /* 111 */ 0x2808, 0x2808, /* 0100 */ 0x8208, /* 01 */ 0x8208, /* 0100 */ 0x1808, /* 01010 */ 0x1808, /* 0101 */ 0x8108, /* 01011 */ 0x8108, /* 0101 */ 0x7409, 0x0809, /* 011 */ 0x8009, /* 011010 */ 0x5609, 0x6509, /* 011100 */ 0x3709, 0x7309, /* 011110 */ 0x4609, 0x2708, /* 10000 */ 0x2708, /* 1000 */ 0x7208, /* 10 */ 0x7208, /* 1000 */ 0x6408, /* 1 0 */ 0x6408, /* 1 */ 0x1708, /* 1 1 */ 0x1708, /* 1 */ 0x5508, /* 10100 */ 0x5508, 0x7108, /* 10101 */ 0x7108, 0x0709, /* 101100 */ 0x7009, /* 101101 */ 0x3608, /* 10111 */ 0x3608, /* 1011 */ 0x6308, /* 11000 */ 0x6308, /* 1100 */ 0x4508, /* 11 */ 0x4508, /* 1100 */ 0x5408, /* 11010 */ 0x5408, /* 1101 */ 0x2608, /* 11011 */ 0x2608, /* 1101 */ 0x6208, /* 11100 */ 0x6208, /* 1110 */ 0x1608, /* 11101 */ 0x1608, /* 1110 */ 0x0609, /* 111100 */ 0x6009, /* 111101 */ 0x3508, /* 11111 */ 0x3508, /* 1111 */ 0x6107, 0x6107, 0x6107, 0x6107, 0x5308, /* 0100 0 */ 0x5308, /* 0100 */ 0x4408, /* 0100 1 */ 0x4408, /* 0100 */ 0x2507, /* 010 0 */ 0x2507, /* 010 */ 0x2507, /* 010 */ 0x2507, /* 010 */ 0x5207, /* 010 1 */ 0x5207, /* 010 */ 0x5207, /* 010 */ 0x5207, /* 010 */ 0x1507, /* 01 00 */ 0x1507, /* 01 0 */ 0x1507, /* 01 0 */ 0x1507, /* 01 0 */ 0x5107, /* 01 01 */ 0x5107, /* 01 0 */ 0x5107, /* 01 0 */ 0x5107, /* 01 0 */ 0x0508, /* 01 100 */ 0x0508, /* 01 10 */ 0x5008, /* 01 101 */ 0x5008, /* 01 10 */ 0xc209, 0xc209, 0x2c0a, /* 00 11110 */ 0x5b0a, 0xb50a, /* 0 */ 0x1c0a, /* 0 000 */ 0x890a, /* 0 00 0 */ 0x980a, 0xc10a, /* 0 0 00 */ 0x4b0a, /* 0 0 01 */ 0xb40a, /* 0 0 10 */ 0x6a0a, /* 0 0 11 */ 0x3b0a, /* 0 000 */ 0x790a, /* 0 */ 0xb309, /* 0 01 */ 0xb309, /* 0 0 */ 0x970a, /* 0 100 */ 0x880a, /* 0 101 */ 0x2b0a, /* 0 110 */ 0x5a0a, /* 0 111 */ 0xb209, /* 0 01000 */ 0xb209, /* 0 0100 */ 0xa50a, /* 0 01 0 */ 0x1b0a, /* 0 01 1 */ 0xb109, /* 0 01010 */ 0xb109, /* 0 0101 */ 0xb00a, /* 0 010110 */ 0x690a, /* 0 010111 */ 0x960a, /* 0 011000 */ 0x4a0a, /* 0 011 */ 0xa40a, /* 0 011010 */ 0x780a, /* 0 011011 */ 0x870a, /* 0 011100 */ 0x3a0a, /* 0 011101 */ 0xa309, /* 0 01111 */ 0xa309, /* 0 0111 */ 0x5909, /* 0 10000 */ 0x5909, /* 0 1000 */ 0x9509, /* 0 10 */ 0x9509, /* 0 1000 */ 0x2a09, /* 0 1 0 */ 0x2a09, /* 0 1 */ 0xa209, /* 0 1 1 */ 0xa209, /* 0 1 */ 0x1a09, /* 0 10100 */ 0x1a09, /* 0 1010 */ 0xa109, /* 0 10101 */ 0xa109, /* 0 1010 */ 0x0a0a, /* 0 101100 */ 0xa00a, /* 0 101101 */ 0x6809, /* 0 10111 */ 0x6809, /* 0 1011 */ 0x8609, /* 0 11000 */ 0x8609, /* 0 1100 */ 0x4909, /* 0 11 */ 0x4909, /* 0 1100 */ 0x9409, /* 0 11010 */ 0x9409, /* 0 1101 */ 0x3909, /* 0 11011 */ 0x3909, /* 0 1101 */ 0x9309, /* 0 11100 */ 0x9309, /* 0 1110 */ 0x770a, /* 0 111010 */ 0x090a, /* 0 111011 */ 0x7c0b, 0xc70b, /* 00 000 */ 0x4d0b, /* 00 00 0 */ 0x8b0b, /* 00 00 1 */ 0xd40a, /* 00 0 0 */ 0xd40a, /* 00 0 */ 0xb80b, /* 00 0 10 */ 0x9a0b, /* 00 0 11 */ 0xa90b, /* 00 000 */ 0x6c0b, /* 00 */ 0xc60b, /* 00 010 */ 0x3d0b, /* 00 011 */ 0xd30a, /* 00 10 */ 0xd30a, /* 00 1 */ 0xd20a, /* 00 11 */ 0xd20a, /* 00 1 */ 0x2d0b, /* 00 010000 */ 0x0d0b, /* 00 010 */ 0x1d0a, /* 00 01 */ 0x1d0a, /* 00 0100 */ 0x7b0a, /* 00 01010 */ 0x7b0a, /* 00 0101 */ 0xb70a, /* 00 01011 */ 0xb70a, /* 00 0101 */ 0xd10a, /* 00 01100 */ 0xd10a, /* 00 0110 */ 0x5c0b, /* 00 011010 */ 0xd00b, /* 00 011011 */ 0xc50a, /* 00 01110 */ 0xc50a, /* 00 0111 */ 0x8a0a, /* 00 01111 */ 0x8a0a, /* 00 0111 */ 0xa80a, /* 00 10000 */ 0xa80a, /* 00 1000 */ 0x4c0a, /* 00 10 */ 0x4c0a, /* 00 1000 */ 0xc40a, /* 00 1 0 */ 0xc40a, /* 00 1 */ 0x6b0a, /* 00 1 1 */ 0x6b0a, /* 00 1 */ 0xb60a, /* 00 10100 */ 0xb60a, /* 00 1010 */ 0x990b, /* 00 101010 */ 0x0c0b, /* 00 101011 */ 0x3c0a, /* 00 10110 */ 0x3c0a, /* 00 1011 */ 0xc30a, /* 00 10111 */ 0xc30a, /* 00 1011 */ 0x7a0a, /* 00 11000 */ 0x7a0a, /* 00 1100 */ 0xa70a, /* 00 11 */ 0xa70a, /* 00 1100 */ 0xa60a, /* 00 11010 */ 0xa60a, /* 00 1101 */ 0xc00b, /* 00 110110 */ 0x0b0b, /* 00 110111 */ 0xcb0b, 0xcb0b, /* 0000 000 */ 0xf60b, /* 0000 0 */ 0xf60b, /* 0000 000 */ 0x8e0c, /* 0000 00 */ 0xe80c, /* 0000 01 */ 0x5f0c, /* 0000 10 */ 0x9d0c, /* 0000 11 */ 0xf50b, /* 0000 0100 */ 0xf50b, /* 0000 010 */ 0x7e0b, /* 0000 0101 */ 0x7e0b, /* 0000 010 */ 0xe70b, /* 0000 0110 */ 0xe70b, /* 0000 011 */ 0xac0b, /* 0000 0111 */ 0xac0b, /* 0000 011 */ 0xca0b, /* 0000 1000 */ 0xca0b, /* 0000 100 */ 0xbb0b, /* 0000 1 */ 0xbb0b, /* 0000 100 */ 0xd90c, /* 0000 10100 */ 0x8d0c, /* 0000 10101 */ 0x4f0b, /* 0000 1011 */ 0x4f0b, /* 0000 101 */ 0xf40b, /* 0000 1100 */ 0xf40b, /* 0000 110 */ 0x3f0b, /* 0000 1101 */ 0x3f0b, /* 0000 110 */ 0xf30b, /* 0000 1110 */ 0xf30b, /* 0000 111 */ 0xd80b, /* 0000 1111 */ 0xd80b, /* 0000 111 */ 0xe60b, /* 000 */ 0xe60b, /* 000 0000 */ 0x2f0b, /* 000 00 */ 0x2f0b, /* 000 0000 */ 0xf20b, /* 000 0 0 */ 0xf20b, /* 000 0 */ 0x6e0c, /* 000 0 10 */ 0xf00c, /* 000 0 11 */ 0x1f0b, /* 000 00 */ 0x1f0b, /* 000 0 */ 0xf10b, /* 000 01 */ 0xf10b, /* 000 0 */ 0x9c0b, /* 000 10 */ 0x9c0b, /* 000 1 */ 0xc90b, /* 000 11 */ 0xc90b, /* 000 1 */ 0x5e0b, /* 000 01000 */ 0x5e0b, /* 000 0100 */ 0xab0b, /* 000 01 */ 0xab0b, /* 000 0100 */ 0xba0b, /* 000 01010 */ 0xba0b, /* 000 0101 */ 0xe50b, /* 000 01011 */ 0xe50b, /* 000 0101 */ 0x7d0b, /* 000 01100 */ 0x7d0b, /* 000 0110 */ 0xd70b, /* 000 01101 */ 0xd70b, 0x4e0b, /* 000 01110 */ 0x4e0b, 0xe40b, /* 000 01111 */ 0xe40b, /* 000 0111 */ 0x8c0b, 0x8c0b, /* 000 1000 */ 0xc80b, /* 000 10 */ 0xc80b, 0x3e0b, /* 000 1 0 */ 0x3e0b, /* 000 1 */ 0x6d0b, 0x6d0b, /* 000 1 */ 0xd60b, /* 000 10100 */ 0xd60b, /* 000 1010 */ 0xe30b, 0xe30b, /* 000 1010 */ 0x9b0b, /* 000 10110 */ 0x9b0b, /* 000 1011 */ 0xb90b, 0xb90b, /* 000 1011 */ 0x2e0b, /* 000 11000 */ 0x2e0b, /* 000 1100 */ 0xaa0b, 0xaa0b, /* 000 1100 */ 0xe20b, 0xe20b, /* 000 1101 */ 0x1e0b, 0x1e0b, /* 000 1101 */ 0xe10b, 0xe10b, /* 000 1110 */ 0x0e0c, 0xe00c, /* 000 111011 */ 0x5d0b, 0x5d0b, /* 000 1111 */ 0xd50b, 0xd50b, /* 000 1111 */ 0xff0d, 0xef0d, 0xfe0d, 0xdf0d, 0xee0c, 0xee0c, 0xfd0d, 0xcf0d, 0xfc0d, 0xde0d, 0xed0d, 0xbf0d, 0xfb0c, 0xfb0c, 0xce0d, 0xec0d, 0xdd0c, /* 000 */ 0xdd0c, /* 00 */ 0xaf0c, /* */ 0xaf0c, /* 00 */ 0xfa0c, /* 010 */ 0xfa0c, /* 01 */ 0xbe0c, /* 011 */ 0xbe0c, /* 01 */ 0xeb0c, /* 100 */ 0xeb0c, /* 10 */ 0xcd0c, /* 101 */ 0xcd0c, /* 10 */ 0xdc0c, /* 110 */ 0xdc0c, /* 11 */ 0x9f0c, /* 111 */ 0x9f0c, /* 11 */ 0xf90c, /* 0000 */ 0xf90c, /* 000 */ 0xea0c, /* 0 */ 0xea0c, /* 000 */ 0xbd0c, /* 0 */ 0xbd0c, /* */ 0xdb0c, /* 1 */ 0xdb0c, /* */ 0x8f0c, /* 0100 */ 0x8f0c, /* 010 */ 0xf80c, /* 0101 */ 0xf80c, /* 010 */ 0xcc0c, 0xcc0c, /* 011 */ 0x9e0c, /* 0111 */ 0x9e0c, /* 011 */ 0xe90c, /* 1000 */ 0xe90c, /* 100 */ 0x7f0c, /* 1 */ 0x7f0c, 0xf70c, /* 1010 */ 0xf70c, /* 101 */ 0xad0c, /* 1011 */ 0xad0c, /* 101 */ 0xda0c, /* 1100 */ 0xda0c, /* 110 */ 0xbc0c, 0xbc0c, /* 110 */ 0x6f0c, /* 1110 */ 0x6f0c, /* 111 */ 0xae0d, /* 11110 */ 0x0f0d }; const uint16 huffTable_16[465] = { 0x0001, 0x1104, 0x0104, 0x1003, 0x1003, 0x2308, 0x3208, /* 11 */ 0x1307, /* 0100 */ 0x1307, /* 010 */ 0x3107, 0x3107, 0x0308, 0x3008, 0x2207, /* 0111 */ 0x2207, /* 011 */ 0x1206, /* 100 */ 0x1206, /* 10 */ 0x1206, /* 10 */ 0x1206, /* 10 */ 0x2106, /* 101 */ 0x2106, /* 10 */ 0x2106, /* 10 */ 0x2106, /* 10 */ 0x0206, 0x0206, 0x0206, 0x0206, 0x2006, 0x2006, 0x2006, 0x2006, 0x1709, 0x1709, /* 0 0111 */ 0x7109, /* 0 10000 */ 0x7109, /* 0 1000 */ 0x700a, /* 0 10 0 */ 0x360a, /* 0 10 1 */ 0x630a, /* 0 1 00 */ 0x450a, /* 0 1 01 */ 0x540a, /* 0 1 10 */ 0x260a, /* 0 1 11 */ 0x6209, /* 0 10100 */ 0x6209, /* 0 1010 */ 0x1609, 0x1609, 0x6109, /* 0 10110 */ 0x6109, /* 0 1011 */ 0x060a, /* 0 101110 */ 0x600a, 0x5309, 0x5309, /* 0 1100 */ 0x350a, /* 0 11 0 */ 0x440a, /* 0 11 1 */ 0x2509, /* 0 11010 */ 0x2509, /* 0 1101 */ 0x5209, /* 0 11011 */ 0x5209, /* 0 1101 */ 0x5108, 0x5108, 0x5108, 0x5108, 0x1509, 0x1509, /* 0 1111 */ 0x0509, /* 0 11111 */ 0x0509, /* 0 1111 */ 0x3409, /* */ 0x3409, /* */ 0x4309, /* 000 */ 0x4309, /* */ 0x5009, /* 00 0 */ 0x5009, /* 00 */ 0x2409, /* 00 1 */ 0x2409, /* 00 */ 0x4209, /* 0 00 */ 0x4209, /* 0 0 */ 0x3309, /* 0 01 */ 0x3309, /* 0 0 */ 0x1408, /* 0 1 */ 0x1408, /* 0 */ 0x1408, /* 0 */ 0x1408, /* 0 */ 0x4108, /* 00 */ 0x4108, /* 0 */ 0x4108, /* 0 */ 0x4108, /* 0 */ 0x0409, /* 010 */ 0x0409, /* 01 */ 0x4009, /* 011 */ 0x4009, /* 01 */ 0x1d0b, 0x1d0b, /* 00 10101 */ 0xc40c, /* 00 1011000 */ 0x6b0c, /* 00 1011 */ 0xc30c, /* 00 1011010 */ 0xa70c, /* 00 1011011 */ 0x2c0b, /* 00 101110 */ 0x2c0b, /* 00 10111 */ 0xc20c, /* 00 1011110 */ 0xb50c, /* 00 1011111 */ 0xc10c, /* 00 1100000 */ 0x0c0c, /* 00 1100 */ 0x4b0c, /* 00 110 0 */ 0xb40c, /* 00 110 1 */ 0x6a0c, /* 00 11 00 */ 0xa60c, /* 00 11 01 */ 0xb30b, /* 00 11 1 */ 0xb30b, /* 00 11 */ 0x5a0c, /* 00 1101000 */ 0xa50c, /* 00 1101 */ 0x2b0b, /* 00 110101 */ 0x2b0b, /* 00 11010 */ 0xb20b, /* 00 110110 */ 0xb20b, /* 00 11011 */ 0x1b0b, /* 00 110111 */ 0x1b0b, /* 00 11011 */ 0xb10b, /* 00 111000 */ 0xb10b, /* 00 11100 */ 0x0b0c, /* 00 111 0 */ 0xb00c, /* 00 111 1 */ 0x690c, /* 00 1110100 */ 0x960c, /* 00 1110101 */ 0x4a0c, /* 00 1110110 */ 0xa40c, /* 00 1110111 */ 0x780c, /* 00 1111000 */ 0x870c, /* 00 1111 */ 0xa30b, /* 00 111101 */ 0xa30b, /* 00 11110 */ 0x3a0c, /* 00 1111100 */ 0x590c, /* 00 1111101 */ 0x2a0b, /* 00 111111 */ 0x2a0b, /* 00 11111 */ 0x950c, /* 0 00000000 */ 0x680c, /* 0 */ 0xa10b, /* 0 0000 */ 0xa10b, /* 0 */ 0x860c, /* 0 000 00 */ 0x770c, /* 0 000 01 */ 0x940b, /* 0 000 1 */ 0x940b, /* 0 000 */ 0x490c, /* 0 00 000 */ 0x570c, /* 0 00 */ 0x670b, /* 0 00 01 */ 0x670b, /* 0 00 0 */ 0xa20a, /* 0 00 1 */ 0xa20a, /* 0 00 */ 0xa20a, /* 0 00 */ 0xa20a, /* 0 00 */ 0x1a0a, /* 0 0 00 */ 0x1a0a, /* 0 0 0 */ 0x1a0a, /* 0 0 0 */ 0x1a0a, /* 0 0 0 */ 0x0a0b, /* 0 0 010 */ 0x0a0b, /* 0 0 01 */ 0xa00b, /* 0 0 011 */ 0xa00b, /* 0 0 01 */ 0x390b, /* 0 0 100 */ 0x390b, /* 0 0 10 */ 0x930b, /* 0 0 101 */ 0x930b, /* 0 0 10 */ 0x580b, /* 0 0 110 */ 0x580b, /* 0 0 11 */ 0x850b, /* 0 0 111 */ 0x850b, /* 0 0 11 */ 0x290a, /* 0 000 */ 0x290a, /* 0 00 */ 0x290a, /* 0 00 */ 0x290a, /* 0 00 */ 0x920a, /* 0 */ 0x920a, /* 0 00 */ 0x920a, /* 0 00 */ 0x920a, /* 0 00 */ 0x760b, /* 0 0100 */ 0x760b, /* 0 010 */ 0x090b, /* 0 0101 */ 0x090b, /* 0 010 */ 0x190a, /* 0 011 */ 0x190a, /* 0 01 */ 0x190a, /* 0 01 */ 0x190a, /* 0 01 */ 0x910a, /* 0 100 */ 0x910a, /* 0 10 */ 0x910a, /* 0 10 */ 0x910a, /* 0 10 */ 0x900b, /* 0 1010 */ 0x900b, /* 0 101 */ 0x480b, /* 0 1011 */ 0x480b, /* 0 101 */ 0x840b, /* 0 1100 */ 0x840b, /* 0 110 */ 0x750b, /* 0 1101 */ 0x750b, /* 0 110 */ 0x380b, /* 0 1110 */ 0x380b, /* 0 111 */ 0x830b, /* 0 1111 */ 0x830b, /* 0 111 */ 0x660b, /* 0 0100000 */ 0x660b, /* 0 010000 */ 0x280b, /* 0 0100 */ 0x280b, /* 0 010000 */ 0x820a, /* 0 010 */ 0x820a, /* 0 01000 */ 0x820a, /* 0 01000 */ 0x820a, /* 0 01000 */ 0x470b, /* 0 01 00 */ 0x470b, /* 0 01 0 */ 0x740b, /* 0 01 01 */ 0x740b, /* 0 01 0 */ 0x180a, /* 0 01 1 */ 0x180a, /* 0 01 */ 0x180a, /* 0 01 */ 0x180a, /* 0 01 */ 0x810a, /* 0 010100 */ 0x810a, /* 0 01010 */ 0x810a, /* 0 01010 */ 0x810a, /* 0 01010 */ 0x800a, /* 0 010101 */ 0x800a, /* 0 01010 */ 0x800a, /* 0 01010 */ 0x800a, /* 0 01010 */ 0x080b, /* 0 0101100 */ 0x080b, /* 0 010110 */ 0x560b, /* 0 0101101 */ 0x560b, /* 0 010110 */ 0x370a, /* 0 010111 */ 0x370a, /* 0 01011 */ 0x370a, /* 0 01011 */ 0x370a, /* 0 01011 */ 0x730a, /* 0 011000 */ 0x730a, /* 0 01100 */ 0x730a, /* 0 01100 */ 0x730a, /* 0 01100 */ 0x650b, /* 0 011 0 */ 0x650b, /* 0 011 */ 0x460b, /* 0 011 1 */ 0x460b, /* 0 011 */ 0x270a, /* 0 011010 */ 0x270a, /* 0 01101 */ 0x270a, /* 0 01101 */ 0x270a, /* 0 01101 */ 0x720a, /* 0 011011 */ 0x720a, /* 0 01101 */ 0x720a, /* 0 01101 */ 0x720a, /* 0 01101 */ 0x640b, /* 0 0111000 */ 0x640b, /* 0 011100 */ 0x550b, /* 0 0111 */ 0x550b, /* 0 011100 */ 0x070a, /* 0 011101 */ 0x070a, /* 0 01110 */ 0x070a, /* 0 01110 */ 0x070a, /* 0 01110 */ 0x9e0d, 0x9e0d, /* 00 0110000 */ 0xbc0e, /* 00 01100 0 */ 0xcb0e, /* 00 01100 1 */ 0x8e0e, /* 00 0110 00 */ 0xe80e, /* 00 0110 01 */ 0x9d0e, /* 00 0110 10 */ 0xe70e, /* 00 0110 11 */ 0xbb0e, /* 00 011 000 */ 0x8d0e, /* 00 011 */ 0xd80e, /* 00 011 010 */ 0x6e0e, /* 00 011 011 */ 0xe60d, /* 00 011 10 */ 0xe60d, /* 00 011 1 */ 0x9c0d, /* 00 011 11 */ 0x9c0d, /* 00 011 1 */ 0xab0e, /* 00 011010000 */ 0xba0e, /* 00 011010 */ 0xe50e, /* 00 01101 0 */ 0xd70e, /* 00 01101 1 */ 0x4e0d, /* 00 01101010 */ 0x4e0d, /* 00 0110101 */ 0xe40e, /* 00 011010110 */ 0x8c0e, /* 00 011010111 */ 0xc80d, /* 00 01101100 */ 0xc80d, /* 00 0110110 */ 0x3e0d, /* 00 01101101 */ 0x3e0d, /* 00 0110110 */ 0x6d0d, /* 00 01101110 */ 0x6d0d, /* 00 0110111 */ 0xd60e, /* 00 011011110 */ 0x9b0e, /* 00 011011111 */ 0xb90e, /* 00 011100000 */ 0xaa0e, /* 00 011100 */ 0xe10d, /* 00 01110 */ 0xe10d, /* 00 0111000 */ 0xd40d, /* 00 0111 0 */ 0xd40d, /* 00 0111 */ 0xb80e, /* 00 0111 10 */ 0xa90e, /* 00 0111 11 */ 0x7b0d, /* 00 01110100 */ 0x7b0d, /* 00 0111010 */ 0xb70e, /* 00 011101010 */ 0xd00e, /* 00 011101011 */ 0xe30c, /* 00 0111011 */ 0xe30c, /* 00 011101 */ 0xe30c, /* 00 011101 */ 0xe30c, /* 00 011101 */ 0x0e0d, /* 00 01111000 */ 0x0e0d, /* 00 0111100 */ 0xe00d, /* 00 01111 */ 0xe00d, /* 00 0111100 */ 0x5d0d, /* 00 01111010 */ 0x5d0d, /* 00 0111101 */ 0xd50d, /* 00 01111011 */ 0xd50d, /* 00 0111101 */ 0x7c0d, /* 00 01111100 */ 0x7c0d, /* 00 0111110 */ 0xc70d, /* 00 01111101 */ 0xc70d, /* 00 0111110 */ 0x4d0d, /* 00 01111110 */ 0x4d0d, /* 00 0111111 */ 0x8b0d, /* 00 01111111 */ 0x8b0d, /* 00 0111111 */ 0x9a0d, 0x6c0d, /* 00 10000 */ 0xc60d, /* 00 1000 0 */ 0x3d0d, /* 00 1000 1 */ 0x5c0d, /* 00 100 00 */ 0xc50d, /* 00 100 01 */ 0x0d0c, /* 00 100 1 */ 0x0d0c, /* 00 100 */ 0x8a0d, /* 00 10 000 */ 0xa80d, /* 00 10 */ 0x990d, /* 00 10 010 */ 0x4c0d, /* 00 10 011 */ 0xb60d, /* 00 10 100 */ 0x7a0d, /* 00 10 101 */ 0x3c0c, /* 00 10 11 */ 0x3c0c, /* 00 10 1 */ 0x5b0d, /* 00 1 0000 */ 0x890d, /* 00 1 0 */ 0x1c0c, /* 00 1 */ 0x1c0c, /* 00 1 00 */ 0xc00c, /* 00 1 010 */ 0xc00c, /* 00 1 01 */ 0x980d, /* 00 1 0110 */ 0x790d, /* 00 1 0111 */ 0xe20b, /* 00 1 10 */ 0xe20b, /* 00 1 1 */ 0xe20b, /* 00 1 1 */ 0xe20b, /* 00 1 1 */ 0x2e0c, /* 00 1 110 */ 0x2e0c, /* 00 1 11 */ 0x1e0c, /* 00 1 111 */ 0x1e0c, /* 00 1 11 */ 0xd30c, /* 00 1010000 */ 0xd30c, /* 00 101000 */ 0x2d0c, /* 00 1010 */ 0x2d0c, /* 00 101000 */ 0xd20c, /* 00 101 0 */ 0xd20c, /* 00 101 */ 0xd10c, /* 00 101 1 */ 0xd10c, /* 00 101 */ 0x3b0c, /* 00 1010100 */ 0x3b0c, /* 00 101010 */ 0x970d, /* 00 10101010 */ 0x880d, /* 00 10101011 */ 0xf208, 0xf208, /* 000 1 */ 0x2f09, /* 00 0000 */ 0x0f09, /* 00 0 */ 0x1f08, /* 00 */ 0x1f08, /* 00 00 */ 0xf108, /* 00 010 */ 0xf108, /* 00 01 */ 0xce10, 0xce10, /* 000 101100000 */ 0xec11, /* 000 1011000 0 */ 0xdd11, /* 000 1011000 1 */ 0xde0f, /* 000 101100 */ 0xde0f, /* 000 10110000 */ 0xde0f, /* 000 10110000 */ 0xde0f, /* 000 10110000 */ 0xe90f, /* 000 10110 0 */ 0xe90f, /* 000 10110 */ 0xe90f, /* 000 10110 */ 0xe90f, /* 000 10110 */ 0xea10, /* 000 10110 10 */ 0xea10, /* 000 10110 1 */ 0xd910, /* 000 10110 11 */ 0xd910, /* 000 10110 1 */ 0xee0e, 0xee0e, /* 000 1011 */ 0xed0f, /* 000 1011 10 */ 0xeb0f, /* 000 1011 11 */ 0xbe0e, /* 000 10110100 */ 0xbe0e, /* 000 1011010 */ 0xcd0e, /* 000 10110101 */ 0xcd0e, /* 000 1011010 */ 0xdc0f, /* 000 101101100 */ 0xdb0f, /* 000 101101101 */ 0xae0e, /* 000 10110111 */ 0xae0e, /* 000 1011011 */ 0xcc0e, /* 000 10111000 */ 0xcc0e, /* 000 1011100 */ 0xad0f, /* 000 10111 0 */ 0xda0f, /* 000 10111 1 */ 0x7e0f, /* 000 101110100 */ 0xac0f, /* 000 101110101 */ 0xca0e, /* 000 10111011 */ 0xca0e, /* 000 1011101 */ 0xc90f, /* 000 101111000 */ 0x7d0f, /* 000 101111 */ 0x5e0e, /* 000 10111101 */ 0x5e0e, /* 000 1011110 */ 0xbd0d, /* 000 1011111 */ 0xbd0d, /* 000 101111 */ 0xbd0d, /* 000 101111 */ 0xbd0d, /* 000 101111 */ 0xef0b, 0xfe0b, /* 00000000 */ 0xdf0b, /* 0000000 0 */ 0xfd0b, /* 0000000 1 */ 0xcf0b, /* 00 */ 0xfc0b, /* 01 */ 0xbf0b, /* 10 */ 0xfb0b, /* 11 */ 0xaf0a, /* 00 */ 0xaf0a, /* 0 */ 0xfa0b, /* 010 */ 0x9f0b, /* 011 */ 0xf90b, /* 100 */ 0xf80b, /* 101 */ 0x8f0a, /* 11 */ 0x8f0a, /* 1 */ 0x7f0a, /* 0000 000 */ 0x7f0a, /* 0000 00 */ 0xf70a, /* 0000 */ 0xf70a, /* 0000 00 */ 0x6f0a, /* 0000 010 */ 0x6f0a, /* 0000 01 */ 0xf60a, /* 0000 011 */ 0xf60a, /* 0000 01 */ 0xff08, /* 0000 1 */ 0xff08, /* 0000 */ 0xff08, /* 0000 */ 0xff08, /* 0000 */ 0xff08, /* 0000 */ 0xff08, /* 0000 */ 0xff08, /* 0000 */ 0xff08, /* 0000 */ 0x5f0a, /* 000 0000 */ 0x5f0a, /* 000 000 */ 0xf50a, /* 000 0 */ 0xf50a, /* 000 000 */ 0x4f09, /* 000 */ 0x4f09, /* 000 00 */ 0x4f09, /* 000 00 */ 0x4f09, /* 000 00 */ 0xf409, /* 000 010 */ 0xf409, /* 000 01 */ 0xf409, /* 000 01 */ 0xf409, /* 000 01 */ 0xf309, /* 000 011 */ 0xf309, /* 000 01 */ 0xf309, /* 000 01 */ 0xf309, /* 000 01 */ 0xf009, /* 000 100 */ 0xf009, /* 000 10 */ 0xf009, /* 000 10 */ 0xf009, /* 000 10 */ 0x3f0a, 0x3f0a }; const uint16 huffTable_24[478] = { 0x2206, /* 101 */ 0x1205, /* 10101 */ 0x1205, /* 1010 */ 0x2105, /* 10110 */ 0x2105, /* 1011 */ 0x0206, /* 101110 */ 0x2006, /* 101111 */ 0x1104, 0x1104, 0x1104, 0x1104, 0x0104, 0x0104, 0x0104, 0x0104, 0x1004, 0x1004, 0x1004, 0x1004, 0x0004, 0x0004, 0x0004, 0x0004, 0x7308, 0x7308, 0x3709, 0x2709, 0x7208, 0x7208, 0x4608, /* 01110000 */ 0x4608, /* 0111000 */ 0x6408, /* 01110 */ 0x6408, /* 0111000 */ 0x5508, /* 0111 0 */ 0x5508, /* 0111 */ 0x7108, /* 0111 1 */ 0x7108, /* 0111 */ 0x3608, /* 01110100 */ 0x3608, /* 0111010 */ 0x6308, /* 01110101 */ 0x6308, /* 0111010 */ 0x4508, /* 01110110 */ 0x4508, /* 0111011 */ 0x5408, /* 01110111 */ 0x5408, /* 0111011 */ 0x2608, /* 01111000 */ 0x2608, /* 0111100 */ 0x6208, /* 01111 */ 0x6208, /* 0111100 */ 0x1608, /* 01111010 */ 0x1608, /* 0111101 */ 0x6108, /* 01111011 */ 0x6108, /* 0111101 */ 0x0609, /* 011111000 */ 0x6009, /* 011111 */ 0x3508, /* 01111101 */ 0x3508, /* 0111110 */ 0x5308, /* 01111110 */ 0x5308, /* 0111111 */ 0x4408, /* 01111111 */ 0x4408, /* 0111111 */ 0x2508, /* 10000000 */ 0x2508, /* 1000000 */ 0x5208, /* 10000 */ 0x5208, /* 1000000 */ 0x1508, /* 1000 0 */ 0x1508, /* 1000 */ 0x0509, /* 1000 10 */ 0x5009, /* 1000 11 */ 0x5107, /* 100 0 */ 0x5107, /* 100 */ 0x5107, /* 100 */ 0x5107, /* 100 */ 0x3408, /* 100 10 */ 0x3408, /* 100 1 */ 0x4308, /* 100 11 */ 0x4308, /* 100 1 */ 0x2407, /* 10 00 */ 0x2407, /* 10 0 */ 0x2407, /* 10 0 */ 0x2407, /* 10 0 */ 0x4207, /* 10 01 */ 0x4207, /* 10 0 */ 0x4207, /* 10 0 */ 0x4207, /* 10 0 */ 0x3307, /* 10 10 */ 0x3307, /* 10 1 */ 0x3307, /* 10 1 */ 0x3307, /* 10 1 */ 0x1407, /* 10 11 */ 0x1407, /* 10 1 */ 0x1407, /* 10 1 */ 0x1407, /* 10 1 */ 0x4107, /* 1 000 */ 0x4107, /* 1 00 */ 0x4107, /* 1 00 */ 0x4107, /* 1 00 */ 0x0408, /* 1 0 */ 0x0408, /* 1 */ 0x4008, /* 1 1 */ 0x4008, /* 1 */ 0x2307, /* 1 010 */ 0x2307, /* 1 01 */ 0x2307, /* 1 01 */ 0x2307, /* 1 01 */ 0x3207, /* 1 011 */ 0x3207, /* 1 01 */ 0x3207, /* 1 01 */ 0x3207, /* 1 01 */ 0x1306, /* 1 10 */ 0x1306, /* 1 1 */ 0x1306, /* 1 1 */ 0x1306, /* 1 1 */ 0x1306, /* 1 1 */ 0x1306, /* 1 1 */ 0x1306, /* 1 1 */ 0x1306, /* 1 1 */ 0x3106, /* 1 11 */ 0x3106, /* 1 1 */ 0x3106, /* 1 1 */ 0x3106, /* 1 1 */ 0x3106, /* 1 1 */ 0x3106, /* 1 1 */ 0x3106, /* 1 1 */ 0x3106, /* 1 1 */ 0x0307, /* 1010000 */ 0x0307, /* 101000 */ 0x0307, /* 101000 */ 0x0307, /* 101000 */ 0x3007, /* 1010 */ 0x3007, /* 101000 */ 0x3007, /* 101000 */ 0x3007, /* 101000 */ 0xb309, 0xb309, 0x8809, /* 010101 */ 0x8809, /* 01010100 */ 0x2b0a, /* 0101010100 */ 0x5a0a, /* 0101010101 */ 0xb209, /* 010101011 */ 0xb209, /* 01010101 */ 0xa50a, /* 0101011000 */ 0x1b0a, /* 0101011 */ 0xb10a, /* 0101011010 */ 0x690a, /* 0101011011 */ 0x9609, /* 010101110 */ 0x9609, /* 01010111 */ 0xa409, /* 010101111 */ 0xa409, /* 01010111 */ 0x4a0a, /* 0101100000 */ 0x780a, /* 0101100 */ 0x8709, /* 010110 */ 0x8709, /* 01011000 */ 0x3a09, /* 01011 0 */ 0x3a09, /* 01011 */ 0xa309, /* 01011 1 */ 0xa309, /* 01011 */ 0x5909, /* 010110100 */ 0x5909, /* 01011010 */ 0x9509, /* 010110101 */ 0x9509, /* 01011010 */ 0x2a09, /* 010110110 */ 0x2a09, /* 01011011 */ 0xa209, /* 010110111 */ 0xa209, /* 01011011 */ 0xa109, /* 010111000 */ 0xa109, /* 01011100 */ 0x6809, /* 010111 */ 0x6809, /* 01011100 */ 0x8609, /* 010111010 */ 0x8609, /* 01011101 */ 0x7709, /* 010111011 */ 0x7709, /* 01011101 */ 0x4909, /* 010111100 */ 0x4909, /* 01011110 */ 0x9409, /* 010111101 */ 0x9409, /* 01011110 */ 0x3909, /* 010111110 */ 0x3909, /* 01011111 */ 0x9309, /* 010111111 */ 0x9309, /* 01011111 */ 0x5809, /* 011000000 */ 0x5809, /* 01100000 */ 0x8509, /* 011000 */ 0x8509, /* 01100000 */ 0x2909, /* 01100 0 */ 0x2909, /* 01100 */ 0x6709, /* 01100 1 */ 0x6709, /* 01100 */ 0x7609, /* 0110 00 */ 0x7609, /* 0110 0 */ 0x9209, /* 0110 01 */ 0x9209, /* 0110 0 */ 0x1909, /* 0110 10 */ 0x1909, /* 0110 1 */ 0x9109, /* 0110 11 */ 0x9109, /* 0110 1 */ 0x4809, /* 011 000 */ 0x4809, /* 011 00 */ 0x8409, /* 011 */ 0x8409, /* 011 00 */ 0x5709, /* 011 010 */ 0x5709, /* 011 01 */ 0x7509, /* 011 011 */ 0x7509, /* 011 01 */ 0x3809, /* 011 100 */ 0x3809, /* 011 10 */ 0x8309, /* 011 101 */ 0x8309, /* 011 10 */ 0x6609, /* 011 110 */ 0x6609, /* 011 11 */ 0x2809, /* 011 111 */ 0x2809, /* 011 11 */ 0x8209, /* 011010000 */ 0x8209, /* 01101000 */ 0x1809, /* 011010 */ 0x1809, /* 01101000 */ 0x4709, /* 01101 0 */ 0x4709, /* 01101 */ 0x7409, /* 01101 1 */ 0x7409, /* 01101 */ 0x8109, /* 011010100 */ 0x8109, /* 01101010 */ 0x080a, /* 0110101010 */ 0x800a, /* 0110101011 */ 0x5609, /* 011010110 */ 0x5609, /* 01101011 */ 0x6509, /* 011010111 */ 0x6509, /* 01101011 */ 0x1709, /* 011011000 */ 0x1709, /* 01101100 */ 0x070a, /* 011011 0 */ 0x700a, /* 011011 1 */ 0x6e0b, 0x9c0b, 0xc90a, /* 01000 01 */ 0xc90a, /* 01000 0 */ 0x5e0a, /* 01000 10 */ 0x5e0a, /* 01000 1 */ 0xba0a, /* 01000 11 */ 0xba0a, /* 01000 1 */ 0xe50a, /* 0100 000 */ 0xe50a, /* 0100 00 */ 0xab0b, /* 0100 0 */ 0x7d0b, /* 0100 1 */ 0xd70a, /* 0100 010 */ 0xd70a, /* 0100 01 */ 0xe40a, /* 0100 011 */ 0xe40a, /* 0100 01 */ 0x8c0a, /* 0100 100 */ 0x8c0a, 0xc80a, 0xc80a, 0x4e0b, /* 0100 1100 */ 0x2e0b, /* 0100 1101 */ 0x3e0a, /* 0100 111 */ 0x3e0a, /* 0100 11 */ 0x6d0a, /* 010 0000 */ 0x6d0a, /* 010 000 */ 0xd60a, /* 010 0 */ 0xd60a, /* 010 000 */ 0xe30a, /* 010 0 */ 0xe30a, /* 010 */ 0x9b0a, /* 010 1 */ 0x9b0a, /* 010 */ 0xb90a, /* 010 0100 */ 0xb90a, /* 010 010 */ 0xaa0a, /* 010 0101 */ 0xaa0a, 0xe20a, 0xe20a, 0x1e0a, 0x1e0a, 0xe10a, 0xe10a, 0x5d0a, 0x5d0a, 0xd50a, 0xd50a, 0x7c0a, 0x7c0a, 0xc70a, 0xc70a, 0x4d0a, 0x4d0a, 0x8b0a, 0x8b0a, 0xb80a, 0xb80a, 0xd40a, 0xd40a, 0x9a0a, 0x9a0a, 0xa90a, /* 01 0 0 */ 0xa90a, /* 01 0 */ 0x6c0a, /* 01 0 1 */ 0x6c0a, /* 01 0 */ 0xc60a, /* 01 00 */ 0xc60a, /* 01 0 */ 0x3d0a, /* 01 01 */ 0x3d0a, /* 01 0 */ 0xd30a, /* 01 10 */ 0xd30a, /* 01 1 */ 0x2d0a, /* 01 11 */ 0x2d0a, /* 01 1 */ 0xd20a, 0xd20a, 0x1d0a, /* 01 01 */ 0x1d0a, /* 01 0100 */ 0x7b0a, /* 01 01010 */ 0x7b0a, /* 01 0101 */ 0xb70a, /* 01 01011 */ 0xb70a, 0xd10a, 0xd10a, /* 01 0110 */ 0x5c0a, /* 01 01101 */ 0x5c0a, /* 01 0110 */ 0xc50a, /* 01 01110 */ 0xc50a, /* 01 0111 */ 0x8a0a, /* 01 01111 */ 0x8a0a, /* 01 0111 */ 0xa80a, /* 01 10000 */ 0xa80a, /* 01 1000 */ 0x990a, /* 01 10 */ 0x990a, /* 01 1000 */ 0x4c0a, /* 01 1 0 */ 0x4c0a, /* 01 1 */ 0xc40a, /* 01 1 1 */ 0xc40a, /* 01 1 */ 0x6b0a, /* 01 10100 */ 0x6b0a, /* 01 1010 */ 0xb60a, /* 01 10101 */ 0xb60a, /* 01 1010 */ 0xd00b, /* 01 101100 */ 0x0c0b, /* 01 101101 */ 0x3c0a, /* 01 10111 */ 0x3c0a, /* 01 1011 */ 0xc30a, /* 01 11000 */ 0xc30a, /* 01 1100 */ 0x7a0a, /* 01 11 */ 0x7a0a, /* 01 1100 */ 0xa70a, /* 01 11010 */ 0xa70a, /* 01 1101 */ 0x2c0a, /* 01 11011 */ 0x2c0a, /* 01 1101 */ 0xc20a, /* 01 11100 */ 0xc20a, /* 01 1110 */ 0x5b0a, /* 01 11101 */ 0x5b0a, /* 01 1110 */ 0xb50a, /* 01 11110 */ 0xb50a, /* 01 1111 */ 0x1c0a, 0x1c0a, 0x890a, 0x890a, 0x980a, 0x980a, 0xc10a, /* 010100 0 */ 0xc10a, /* 010100 */ 0x4b0a, /* 010100 1 */ 0x4b0a, /* 010100 */ 0xc00b, /* 01010 000 */ 0x0b0b, /* 01010 */ 0x3b0a, /* 01010 01 */ 0x3b0a, /* 01010 0 */ 0xb00b, /* 01010 100 */ 0x0a0b, /* 01010 101 */ 0x1a0a, /* 01010 11 */ 0x1a0a, /* 01010 1 */ 0xb409, /* 0101 00 */ 0xb409, /* 0101 0 */ 0xb409, /* 0101 0 */ 0xb409, /* 0101 0 */ 0x6a0a, /* 0101 010 */ 0x6a0a, /* 0101 01 */ 0xa60a, /* 0101 011 */ 0xa60a, /* 0101 01 */ 0x790a, /* 0101 100 */ 0x790a, /* 0101 10 */ 0x970a, /* 0101 101 */ 0x970a, /* 0101 10 */ 0xa00b, /* 0101 1100 */ 0x090b, /* 0101 1101 */ 0x900a, /* 0101 111 */ 0x900a, /* 0101 11 */ 0xca0b, 0xca0b, 0xbb0b, 0xbb0b, 0x8d0b, 0x8d0b, /* 0100000 */ 0xd80b, /* 0100000 1 */ 0xd80b, /* 0100000 */ 0x0e0c, /* 010000 000 */ 0xe00c, /* 010000 */ 0x0d0b, /* 010000 01 */ 0x0d0b, /* 010000 0 */ 0xe60a, /* 010000 1 */ 0xe60a, /* 010000 */ 0xe60a, /* 010000 */ 0xe60a, /* 010000 */ 0x0f09, /* 011000 401 */ 0x0f09, /* 01100 */ 0x0f09, /* 01100 */ 0x0f09, /* 01100 */ 0xee0b, /* 011 00 */ 0xde0b, /* 011 01 */ 0xed0b, /* 011 10 */ 0xce0b, /* 011 11 */ 0xec0b, /* 01101000 */ 0xdd0b, /* 01101 */ 0xbe0b, /* 01101010 */ 0xeb0b, /* 01101011 */ 0xcd0b, /* 01101100 */ 0xdc0b, /* 01101101 */ 0xae0b, /* 01101110 */ 0xea0b, /* 01101111 */ 0xbd0b, /* 01110000 */ 0xdb0b, /* 01110 */ 0xcc0b, /* 0111 0 */ 0x9e0b, /* 0111 1 */ 0xe90b, /* 01110100 */ 0xad0b, /* 01110101 */ 0xda0b, /* 01110110 */ 0xbc0b, /* 01110111 */ 0xcb0b, /* 01111000 */ 0x8e0b, 0xe80b, 0x9d0b, 0xd90b, 0x7e0b, 0xe70b, 0xac0b, 0xff04, 0xef08, 0xfe08, 0xdf08, /* 0000 0 */ 0xfd08, /* 0000 1 */ 0xcf08, /* 000 00 */ 0xfc08, /* 000 01 */ 0xbf08, /* 000 10 */ 0xfb08, /* 000 11 */ 0xfa07, /* 00 00 */ 0xfa07, /* 00 0 */ 0xaf08, /* 00 010 */ 0x9f08, /* 00 011 */ 0xf907, /* 00 10 */ 0xf907, /* 00 1 */ 0xf807, /* 00 11 */ 0xf807, /* 00 1 */ 0x8f08, 0x7f08, /* 0 0 */ 0xf707, /* 0 */ 0xf707, /* 0 00 */ 0x6f07, /* 0 010 */ 0x6f07, /* 0 01 */ 0xf607, /* 0 011 */ 0xf607, /* 0 01 */ 0x5f07, 0x5f07, /* 0 10 */ 0xf507, /* 0 101 */ 0xf507, /* 0 10 */ 0x4f07, /* 0 110 */ 0x4f07, /* 0 11 */ 0xf407, /* 0 111 */ 0xf407, /* 0 11 */ 0x3f07, 0x3f07, 0xf307, /* 0 */ 0xf307, 0x2f07, /* 0 */ 0x2f07, /* */ 0xf207, /* 1 */ 0xf207, /* */ 0xf107, 0xf107, 0x1f08, 0xf008 }; const uint16 huffTable_32[33] = { 0x0b06, 0x0f06, 0x0d06, 0x0e06, 0x0706, 0x0506, 0x0905, 0x0905, 0x0605, 0x0605, 0x0305, 0x0305, 0x0a05, 0x0a05, 0x0c05, 0x0c05, 0x0204, 0x0204, 0x0204, 0x0204, 0x0104, 0x0104, 0x0104, 0x0104, 0x0404, 0x0404, 0x0404, 0x0404, 0x0804, 0x0804, 0x0804, 0x0804, 0x0001 }; /* * MM = 512; z = [0:(MM)]; a = z.^(1/3); * Table is in Q27 */ const int32 power_one_third[513] = { 0x00000000, 0x08000000, 0x0A14517D, 0x0B89BA25, 0x0CB2FF53, 0x0DAE07DE, 0x0E897685, 0x0F4DAEDD, 0x10000000, 0x10A402FD, 0x113C4841, 0x11CAB613, 0x1250BFE2, 0x12CF8890, 0x1347F8AB, 0x13BACD65, 0x1428A2FA, 0x1491FC15, 0x14F74744, 0x1558E2F7, 0x15B72095, 0x161246D7, 0x166A9399, 0x16C03D55, 0x17137449, 0x17646369, 0x17B33124, 0x18000000, 0x184AEF29, 0x18941AD8, 0x18DB9CB7, 0x19218C2E, 0x1965FEA5, 0x19A907C2, 0x19EAB998, 0x1A2B24D0, 0x1A6A58D5, 0x1AA863EE, 0x1AE5535D, 0x1B213377, 0x1B5C0FBD, 0x1B95F2EC, 0x1BCEE70F, 0x1C06F590, 0x1C3E2745, 0x1C74847A, 0x1CAA1501, 0x1CDEE035, 0x1D12ED0B, 0x1D464212, 0x1D78E582, 0x1DAADD3A, 0x1DDC2ECF, 0x1E0CDF8C, 0x1E3CF476, 0x1E6C7257, 0x1E9B5DBA, 0x1EC9BAF6, 0x1EF78E2C, 0x1F24DB4E, 0x1F51A620, 0x1F7DF23C, 0x1FA9C314, 0x1FD51BF2, 0x20000000, 0x202A7244, 0x205475A6, 0x207E0CEE, 0x20A73ACA, 0x20D001CC, 0x20F8646D, 0x2120650E, 0x214805FA, 0x216F4963, 0x2196316C, 0x21BCC020, 0x21E2F77A, 0x2208D961, 0x222E67AD, 0x2253A425, 0x22789082, 0x229D2E6E, 0x22C17F82, 0x22E5854F, 0x23094155, 0x232CB509, 0x234FE1D5, 0x2372C918, 0x23956C26, 0x23B7CC47, 0x23D9EABB, 0x23FBC8B9, 0x241D676E, 0x243EC7FF, 0x245FEB86, 0x2480D319, 0x24A17FC3, 0x24C1F28B, 0x24E22C6C, 0x25022E5F, 0x2521F954, 0x25418E33, 0x2560EDE2, 0x2580193E, 0x259F111F, 0x25BDD657, 0x25DC69B4, 0x25FACBFE, 0x2618FDF8, 0x26370060, 0x2654D3EF, 0x2672795C, 0x268FF156, 0x26AD3C8A, 0x26CA5BA2, 0x26E74F41, 0x27041808, 0x2720B695, 0x273D2B81, 0x27597762, 0x27759ACB, 0x2791964B, 0x27AD6A6F, 0x27C917C0, 0x27E49EC5, 0x28000000, 0x281B3BF3, 0x2836531B, 0x285145F3, 0x286C14F5, 0x2886C096, 0x28A1494B, 0x28BBAF85, 0x28D5F3B3, 0x28F01641, 0x290A179B, 0x2923F82A, 0x293DB854, 0x2957587E, 0x2970D90A, 0x298A3A59, 0x29A37CCA, 0x29BCA0BB, 0x29D5A687, 0x29EE8E87, 0x2A075914, 0x2A200684, 0x2A38972C, 0x2A510B5F, 0x2A696370, 0x2A819FAE, 0x2A99C069, 0x2AB1C5ED, 0x2AC9B088, 0x2AE18085, 0x2AF9362C, 0x2B10D1C6, 0x2B28539B, 0x2B3FBBEF, 0x2B570B09, 0x2B6E412B, 0x2B855E97, 0x2B9C6390, 0x2BB35056, 0x2BCA2527, 0x2BE0E242, 0x2BF787E4, 0x2C0E1649, 0x2C248DAD, 0x2C3AEE4A, 0x2C513859, 0x2C676C13, 0x2C7D89AF, 0x2C939164, 0x2CA98368, 0x2CBF5FF1, 0x2CD52731, 0x2CEAD95E, 0x2D0076A9, 0x2D15FF45, 0x2D2B7363, 0x2D40D332, 0x2D561EE4, 0x2D6B56A7, 0x2D807AAA, 0x2D958B19, 0x2DAA8823, 0x2DBF71F4, 0x2DD448B7, 0x2DE90C98, 0x2DFDBDC0, 0x2E125C5C, 0x2E26E892, 0x2E3B628D, 0x2E4FCA75, 0x2E642070, 0x2E7864A8, 0x2E8C9741, 0x2EA0B862, 0x2EB4C831, 0x2EC8C6D3, 0x2EDCB46C, 0x2EF09121, 0x2F045D14, 0x2F18186A, 0x2F2BC345, 0x2F3F5DC7, 0x2F52E812, 0x2F666247, 0x2F79CC88, 0x2F8D26F4, 0x2FA071AC, 0x2FB3ACD0, 0x2FC6D87F, 0x2FD9F4D7, 0x2FED01F8, 0x30000000, 0x3012EF0C, 0x3025CF39, 0x3038A0A6, 0x304B636D, 0x305E17AD, 0x3070BD81, 0x30835504, 0x3095DE51, 0x30A85985, 0x30BAC6B9, 0x30CD2609, 0x30DF778D, 0x30F1BB60, 0x3103F19C, 0x31161A59, 0x312835B0, 0x313A43BA, 0x314C4490, 0x315E3849, 0x31701EFD, 0x3181F8C4, 0x3193C5B4, 0x31A585E6, 0x31B7396F, 0x31C8E066, 0x31DA7AE1, 0x31EC08F6, 0x31FD8ABC, 0x320F0047, 0x322069AC, 0x3231C702, 0x3243185C, 0x32545DCF, 0x32659770, 0x3276C552, 0x3287E78A, 0x3298FE2C, 0x32AA094A, 0x32BB08F9, 0x32CBFD4A, 0x32DCE652, 0x32EDC423, 0x32FE96D0, 0x330F5E6A, 0x33201B04, 0x3330CCB0, 0x33417380, 0x33520F85, 0x3362A0D0, 0x33732774, 0x3383A380, 0x33941506, 0x33A47C17, 0x33B4D8C4, 0x33C52B1B, 0x33D5732F, 0x33E5B10F, 0x33F5E4CA, 0x34060E71, 0x34162E14, 0x342643C1, 0x34364F88, 0x34465178, 0x345649A1, 0x34663810, 0x34761CD6, 0x3485F800, 0x3495C99D, 0x34A591BB, 0x34B55069, 0x34C505B4, 0x34D4B1AB, 0x34E4545B, 0x34F3EDD2, 0x35037E1D, 0x3513054B, 0x35228367, 0x3531F881, 0x354164A3, 0x3550C7DC, 0x35602239, 0x356F73C5, 0x357EBC8E, 0x358DFCA0, 0x359D3408, 0x35AC62D1, 0x35BB8908, 0x35CAA6B9, 0x35D9BBF0, 0x35E8C8B9, 0x35F7CD20, 0x3606C92F, 0x3615BCF3, 0x3624A878, 0x36338BC8, 0x364266EE, 0x365139F6, 0x366004EC, 0x366EC7D9, 0x367D82C9, 0x368C35C6, 0x369AE0DC, 0x36A98414, 0x36B81F7A, 0x36C6B317, 0x36D53EF7, 0x36E3C323, 0x36F23FA5, 0x3700B488, 0x370F21D5, 0x371D8797, 0x372BE5D7, 0x373A3CA0, 0x37488BF9, 0x3756D3EF, 0x37651489, 0x37734DD1, 0x37817FD1, 0x378FAA92, 0x379DCE1D, 0x37ABEA7C, 0x37B9FFB7, 0x37C80DD7, 0x37D614E6, 0x37E414EC, 0x37F20DF1, 0x38000000, 0x380DEB20, 0x381BCF5A, 0x3829ACB6, 0x3837833D, 0x384552F8, 0x38531BEE, 0x3860DE28, 0x386E99AF, 0x387C4E89, 0x3889FCC0, 0x3897A45B, 0x38A54563, 0x38B2DFDF, 0x38C073D7, 0x38CE0152, 0x38DB885A, 0x38E908F4, 0x38F68329, 0x3903F701, 0x39116483, 0x391ECBB6, 0x392C2CA1, 0x3939874D, 0x3946DBC0, 0x39542A01, 0x39617218, 0x396EB40C, 0x397BEFE4, 0x398925A7, 0x3996555C, 0x39A37F09, 0x39B0A2B7, 0x39BDC06A, 0x39CAD82B, 0x39D7EA01, 0x39E4F5F0, 0x39F1FC01, 0x39FEFC3A, 0x3A0BF6A2, 0x3A18EB3E, 0x3A25DA16, 0x3A32C32F, 0x3A3FA691, 0x3A4C8441, 0x3A595C46, 0x3A662EA6, 0x3A72FB67, 0x3A7FC28F, 0x3A8C8425, 0x3A99402E, 0x3AA5F6B1, 0x3AB2A7B3, 0x3ABF533A, 0x3ACBF94D, 0x3AD899F1, 0x3AE5352C, 0x3AF1CB03, 0x3AFE5B7D, 0x3B0AE6A0, 0x3B176C70, 0x3B23ECF3, 0x3B306830, 0x3B3CDE2C, 0x3B494EEB, 0x3B55BA74, 0x3B6220CC, 0x3B6E81F9, 0x3B7ADE00, 0x3B8734E5, 0x3B9386B0, 0x3B9FD364, 0x3BAC1B07, 0x3BB85D9E, 0x3BC49B2F, 0x3BD0D3BE, 0x3BDD0751, 0x3BE935ED, 0x3BF55F97, 0x3C018453, 0x3C0DA427, 0x3C19BF17, 0x3C25D52A, 0x3C31E662, 0x3C3DF2C6, 0x3C49FA5B, 0x3C55FD24, 0x3C61FB27, 0x3C6DF468, 0x3C79E8ED, 0x3C85D8B9, 0x3C91C3D2, 0x3C9DAA3C, 0x3CA98BFC, 0x3CB56915, 0x3CC1418E, 0x3CCD156A, 0x3CD8E4AE, 0x3CE4AF5E, 0x3CF0757F, 0x3CFC3714, 0x3D07F423, 0x3D13ACB0, 0x3D1F60BF, 0x3D2B1055, 0x3D36BB75, 0x3D426224, 0x3D4E0466, 0x3D59A23F, 0x3D653BB4, 0x3D70D0C8, 0x3D7C6180, 0x3D87EDE0, 0x3D9375EC, 0x3D9EF9A8, 0x3DAA7918, 0x3DB5F43F, 0x3DC16B23, 0x3DCCDDC7, 0x3DD84C2E, 0x3DE3B65D, 0x3DEF1C58, 0x3DFA7E22, 0x3E05DBC0, 0x3E113535, 0x3E1C8A85, 0x3E27DBB3, 0x3E3328C4, 0x3E3E71BB, 0x3E49B69C, 0x3E54F76B, 0x3E60342B, 0x3E6B6CE0, 0x3E76A18D, 0x3E81D237, 0x3E8CFEE0, 0x3E98278D, 0x3EA34C40, 0x3EAE6CFE, 0x3EB989CA, 0x3EC4A2A8, 0x3ECFB79A, 0x3EDAC8A5, 0x3EE5D5CB, 0x3EF0DF10, 0x3EFBE478, 0x3F06E606, 0x3F11E3BE, 0x3F1CDDA2, 0x3F27D3B6, 0x3F32C5FD, 0x3F3DB47B, 0x3F489F32, 0x3F538627, 0x3F5E695C, 0x3F6948D5, 0x3F742494, 0x3F7EFC9D, 0x3F89D0F3, 0x3F94A19A, 0x3F9F6E94, 0x3FAA37E4, 0x3FB4FD8E, 0x3FBFBF94, 0x3FCA7DFB, 0x3FD538C4, 0x3FDFEFF3, 0x3FEAA38A, 0x3FF5538E, 0x40000000 };