xref: /aosp_15_r20/external/grpc-grpc/test/cpp/microbenchmarks/huffman_geometries/decode_huff_10_12_8.cc (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1 // Copyright 2023 gRPC authors.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 // This file is autogenerated: see
16 // tools/codegen/core/gen_huffman_decompressor.cc
17 
18 #include "test/cpp/microbenchmarks/huffman_geometries/decode_huff_10_12_8.h"
19 
20 #include <grpc/support/port_platform.h>
21 namespace grpc_core {
22 namespace geometry_10_12_8 {
23 const uint8_t HuffDecoderCommon::table2_0_emit_[10] = {
24     0x30, 0x31, 0x32, 0x61, 0x63, 0x65, 0x69, 0x6f, 0x73, 0x74};
25 const uint8_t HuffDecoderCommon::table2_0_ops_[32] = {
26     0x00, 0x04, 0x08, 0x0c, 0x10, 0x14, 0x18, 0x1c, 0x20, 0x24, 0x01,
27     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
28     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02};
29 const uint8_t HuffDecoderCommon::table3_0_emit_[36] = {
30     0x30, 0x31, 0x32, 0x61, 0x63, 0x65, 0x69, 0x6f, 0x73, 0x74, 0x20, 0x25,
31     0x2d, 0x2e, 0x2f, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3d, 0x41,
32     0x5f, 0x62, 0x64, 0x66, 0x67, 0x68, 0x6c, 0x6d, 0x6e, 0x70, 0x72, 0x75};
33 const uint8_t HuffDecoderCommon::table3_0_ops_[64] = {
34     0x00, 0x01, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, 0x00,
35     0x15, 0x00, 0x19, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x25, 0x29, 0x2d,
36     0x31, 0x35, 0x39, 0x3d, 0x41, 0x45, 0x49, 0x4d, 0x51, 0x55, 0x59,
37     0x5d, 0x61, 0x65, 0x69, 0x6d, 0x71, 0x75, 0x79, 0x7d, 0x81, 0x85,
38     0x89, 0x8d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02};
40 const uint8_t HuffDecoderCommon::table4_0_emit_[22] = {
41     0x30, 0x31, 0x32, 0x61, 0x63, 0x65, 0x69, 0x6f, 0x73, 0x74, 0x20,
42     0x25, 0x2d, 0x2e, 0x2f, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39};
43 const uint8_t HuffDecoderCommon::table4_0_ops_[64] = {
44     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
45     0x09, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00,
46     0x00, 0x15, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1d, 0x00,
47     0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x25, 0x00, 0x29, 0x00, 0x2d,
48     0x00, 0x31, 0x00, 0x35, 0x00, 0x39, 0x00, 0x3d, 0x00, 0x41, 0x00,
49     0x45, 0x00, 0x49, 0x00, 0x4d, 0x00, 0x51, 0x00, 0x55};
50 const uint8_t HuffDecoderCommon::table4_1_emit_[46] = {
51     0x3d, 0x41, 0x5f, 0x62, 0x64, 0x66, 0x67, 0x68, 0x6c, 0x6d, 0x6e, 0x70,
52     0x72, 0x75, 0x3a, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
53     0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
54     0x57, 0x59, 0x6a, 0x6b, 0x71, 0x76, 0x77, 0x78, 0x79, 0x7a};
55 const uint8_t HuffDecoderCommon::table4_1_ops_[64] = {
56     0x00, 0x01, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, 0x00,
57     0x15, 0x00, 0x19, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x25, 0x00, 0x29,
58     0x00, 0x2d, 0x00, 0x31, 0x00, 0x35, 0x39, 0x3d, 0x41, 0x45, 0x49,
59     0x4d, 0x51, 0x55, 0x59, 0x5d, 0x61, 0x65, 0x69, 0x6d, 0x71, 0x75,
60     0x79, 0x7d, 0x81, 0x85, 0x89, 0x8d, 0x91, 0x95, 0x99, 0x9d, 0xa1,
61     0xa5, 0xa9, 0xad, 0xb1, 0xb5, 0x00, 0x00, 0x00, 0x02};
62 const uint8_t* const HuffDecoderCommon::table4_emit_[2] = {
63     table4_0_emit_,
64     table4_1_emit_,
65 };
66 const uint8_t* const HuffDecoderCommon::table4_ops_[2] = {
67     table4_0_ops_,
68     table4_1_ops_,
69 };
70 const uint8_t HuffDecoderCommon::table5_0_ops_[128] = {
71     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
72     0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
73     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00,
74     0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15,
75     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00,
76     0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
77     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x29,
78     0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x35,
79     0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x41,
80     0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x4d,
81     0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x55};
82 const uint8_t HuffDecoderCommon::table5_1_emit_[52] = {
83     0x3d, 0x41, 0x5f, 0x62, 0x64, 0x66, 0x67, 0x68, 0x6c, 0x6d, 0x6e,
84     0x70, 0x72, 0x75, 0x3a, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
85     0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53,
86     0x54, 0x55, 0x56, 0x57, 0x59, 0x6a, 0x6b, 0x71, 0x76, 0x77, 0x78,
87     0x79, 0x7a, 0x26, 0x2a, 0x2c, 0x3b, 0x58, 0x5a};
88 const uint8_t HuffDecoderCommon::table5_1_ops_[128] = {
89     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x09,
90     0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x15,
91     0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21,
92     0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2d,
93     0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x35, 0x00, 0x39, 0x00, 0x3d,
94     0x00, 0x41, 0x00, 0x45, 0x00, 0x49, 0x00, 0x4d, 0x00, 0x51, 0x00, 0x55,
95     0x00, 0x59, 0x00, 0x5d, 0x00, 0x61, 0x00, 0x65, 0x00, 0x69, 0x00, 0x6d,
96     0x00, 0x71, 0x00, 0x75, 0x00, 0x79, 0x00, 0x7d, 0x00, 0x81, 0x00, 0x85,
97     0x00, 0x89, 0x00, 0x8d, 0x00, 0x91, 0x00, 0x95, 0x00, 0x99, 0x00, 0x9d,
98     0x00, 0xa1, 0x00, 0xa5, 0x00, 0xa9, 0x00, 0xad, 0x00, 0xb1, 0x00, 0xb5,
99     0xb9, 0xbd, 0xc1, 0xc5, 0xc9, 0xcd, 0x00, 0x02};
100 const uint8_t* const HuffDecoderCommon::table5_emit_[2] = {
101     table4_0_emit_,
102     table5_1_emit_,
103 };
104 const uint8_t* const HuffDecoderCommon::table5_ops_[2] = {
105     table5_0_ops_,
106     table5_1_ops_,
107 };
108 const uint8_t HuffDecoderCommon::table6_0_emit_[2] = {0x30, 0x31};
109 const uint8_t HuffDecoderCommon::table6_0_ops_[32] = {
110     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
111     0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
112     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05};
113 const uint8_t HuffDecoderCommon::table6_1_emit_[2] = {0x32, 0x61};
114 const uint8_t HuffDecoderCommon::table6_2_emit_[2] = {0x63, 0x65};
115 const uint8_t HuffDecoderCommon::table6_3_emit_[2] = {0x69, 0x6f};
116 const uint8_t HuffDecoderCommon::table6_4_emit_[2] = {0x73, 0x74};
117 const uint8_t HuffDecoderCommon::table6_5_emit_[4] = {0x20, 0x25, 0x2d, 0x2e};
118 const uint8_t HuffDecoderCommon::table6_5_ops_[32] = {
119     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
120     0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
121     0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d};
122 const uint8_t HuffDecoderCommon::table6_6_emit_[4] = {0x2f, 0x33, 0x34, 0x35};
123 const uint8_t HuffDecoderCommon::table6_7_emit_[4] = {0x36, 0x37, 0x38, 0x39};
124 const uint8_t HuffDecoderCommon::table6_8_emit_[4] = {0x3d, 0x41, 0x5f, 0x62};
125 const uint8_t HuffDecoderCommon::table6_9_emit_[4] = {0x64, 0x66, 0x67, 0x68};
126 const uint8_t HuffDecoderCommon::table6_10_emit_[4] = {0x6c, 0x6d, 0x6e, 0x70};
127 const uint8_t HuffDecoderCommon::table6_11_emit_[6] = {0x72, 0x75, 0x3a,
128                                                        0x42, 0x43, 0x44};
129 const uint8_t HuffDecoderCommon::table6_11_ops_[32] = {
130     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
131     0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00,
132     0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x15};
133 const uint8_t HuffDecoderCommon::table6_12_emit_[8] = {0x45, 0x46, 0x47, 0x48,
134                                                        0x49, 0x4a, 0x4b, 0x4c};
135 const uint8_t HuffDecoderCommon::table6_12_ops_[32] = {
136     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
137     0x09, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00,
138     0x00, 0x15, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1d};
139 const uint8_t HuffDecoderCommon::table6_13_emit_[8] = {0x4d, 0x4e, 0x4f, 0x50,
140                                                        0x51, 0x52, 0x53, 0x54};
141 const uint8_t HuffDecoderCommon::table6_14_emit_[8] = {0x55, 0x56, 0x57, 0x59,
142                                                        0x6a, 0x6b, 0x71, 0x76};
143 const uint8_t HuffDecoderCommon::table6_15_emit_[10] = {
144     0x77, 0x78, 0x79, 0x7a, 0x26, 0x2a, 0x2c, 0x3b, 0x58, 0x5a};
145 const uint8_t HuffDecoderCommon::table6_15_ops_[32] = {
146     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
147     0x09, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x11, 0x00, 0x15, 0x00, 0x19,
148     0x00, 0x1d, 0x00, 0x21, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02};
149 const uint8_t* const HuffDecoderCommon::table6_emit_[16] = {
150     table6_0_emit_,  table6_1_emit_,  table6_2_emit_,  table6_3_emit_,
151     table6_4_emit_,  table6_5_emit_,  table6_6_emit_,  table6_7_emit_,
152     table6_8_emit_,  table6_9_emit_,  table6_10_emit_, table6_11_emit_,
153     table6_12_emit_, table6_13_emit_, table6_14_emit_, table6_15_emit_,
154 };
155 const uint8_t* const HuffDecoderCommon::table6_ops_[16] = {
156     table6_0_ops_,  table6_0_ops_,  table6_0_ops_,  table6_0_ops_,
157     table6_0_ops_,  table6_5_ops_,  table6_5_ops_,  table6_5_ops_,
158     table6_5_ops_,  table6_5_ops_,  table6_5_ops_,  table6_11_ops_,
159     table6_12_ops_, table6_12_ops_, table6_12_ops_, table6_15_ops_,
160 };
161 const uint8_t HuffDecoderCommon::table1_0_emit_[36] = {
162     0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x61, 0x30, 0x63, 0x30, 0x65, 0x30,
163     0x69, 0x30, 0x6f, 0x30, 0x73, 0x30, 0x74, 0x31, 0x31, 0x32, 0x31, 0x61,
164     0x31, 0x63, 0x31, 0x65, 0x31, 0x69, 0x31, 0x6f, 0x31, 0x73, 0x31, 0x74};
165 const uint16_t HuffDecoderCommon::table1_0_inner_[22] = {
166     0x000a, 0x008a, 0x018a, 0x028a, 0x038a, 0x048a, 0x058a, 0x068a,
167     0x078a, 0x088a, 0x0015, 0x010a, 0x098a, 0x0a0a, 0x0b0a, 0x0c0a,
168     0x0d0a, 0x0e0a, 0x0f0a, 0x100a, 0x110a, 0x0115};
169 const uint8_t HuffDecoderCommon::table1_0_outer_[64] = {
170     0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 10, 10, 10, 10, 10,
171     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
172     11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 21, 21, 21, 21, 21,
173     21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21};
174 const uint8_t HuffDecoderCommon::table1_1_emit_[36] = {
175     0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x61, 0x32, 0x63, 0x32, 0x65, 0x32,
176     0x69, 0x32, 0x6f, 0x32, 0x73, 0x32, 0x74, 0x61, 0x30, 0x61, 0x31, 0x61,
177     0x61, 0x63, 0x61, 0x65, 0x61, 0x69, 0x61, 0x6f, 0x61, 0x73, 0x61, 0x74};
178 const uint16_t HuffDecoderCommon::table1_1_inner_[22] = {
179     0x000a, 0x010a, 0x020a, 0x028a, 0x038a, 0x048a, 0x058a, 0x068a,
180     0x078a, 0x088a, 0x0015, 0x098a, 0x0a8a, 0x030a, 0x0b8a, 0x0c0a,
181     0x0d0a, 0x0e0a, 0x0f0a, 0x100a, 0x110a, 0x0315};
182 const uint8_t HuffDecoderCommon::table1_2_emit_[36] = {
183     0x63, 0x30, 0x63, 0x31, 0x63, 0x32, 0x63, 0x61, 0x63, 0x63, 0x65, 0x63,
184     0x69, 0x63, 0x6f, 0x63, 0x73, 0x63, 0x74, 0x65, 0x30, 0x65, 0x31, 0x65,
185     0x32, 0x65, 0x61, 0x65, 0x65, 0x69, 0x65, 0x6f, 0x65, 0x73, 0x65, 0x74};
186 const uint16_t HuffDecoderCommon::table1_2_inner_[22] = {
187     0x000a, 0x010a, 0x020a, 0x030a, 0x040a, 0x048a, 0x058a, 0x068a,
188     0x078a, 0x088a, 0x0015, 0x098a, 0x0a8a, 0x0b8a, 0x0c8a, 0x050a,
189     0x0d8a, 0x0e0a, 0x0f0a, 0x100a, 0x110a, 0x0515};
190 const uint8_t HuffDecoderCommon::table1_3_emit_[36] = {
191     0x69, 0x30, 0x69, 0x31, 0x69, 0x32, 0x69, 0x61, 0x69, 0x63, 0x69, 0x65,
192     0x69, 0x69, 0x6f, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x30, 0x6f, 0x31, 0x6f,
193     0x32, 0x6f, 0x61, 0x6f, 0x63, 0x6f, 0x65, 0x6f, 0x6f, 0x73, 0x6f, 0x74};
194 const uint16_t HuffDecoderCommon::table1_3_inner_[22] = {
195     0x000a, 0x010a, 0x020a, 0x030a, 0x040a, 0x050a, 0x060a, 0x068a,
196     0x078a, 0x088a, 0x0015, 0x098a, 0x0a8a, 0x0b8a, 0x0c8a, 0x0d8a,
197     0x0e8a, 0x070a, 0x0f8a, 0x100a, 0x110a, 0x0715};
198 const uint8_t HuffDecoderCommon::table1_4_emit_[38] = {
199     0x73, 0x30, 0x73, 0x31, 0x73, 0x32, 0x73, 0x61, 0x73, 0x63,
200     0x73, 0x65, 0x73, 0x69, 0x73, 0x6f, 0x73, 0x73, 0x74, 0x30,
201     0x74, 0x31, 0x74, 0x32, 0x74, 0x61, 0x74, 0x63, 0x74, 0x65,
202     0x74, 0x69, 0x74, 0x6f, 0x74, 0x73, 0x74, 0x74};
203 const uint16_t HuffDecoderCommon::table1_4_inner_[22] = {
204     0x000a, 0x010a, 0x020a, 0x030a, 0x040a, 0x050a, 0x060a, 0x070a,
205     0x080a, 0x088a, 0x0015, 0x090a, 0x0a0a, 0x0b0a, 0x0c0a, 0x0d0a,
206     0x0e0a, 0x0f0a, 0x100a, 0x110a, 0x120a, 0x0915};
207 const uint16_t HuffDecoderCommon::table1_5_inner_[4] = {0x0016, 0x0096, 0x0116,
208                                                         0x0196};
209 const uint8_t HuffDecoderCommon::table1_5_outer_[64] = {
210     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
211     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
212     2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3};
213 const uint16_t HuffDecoderCommon::table1_11_inner_[6] = {
214     0x0016, 0x0096, 0x0117, 0x0197, 0x0217, 0x0297};
215 const uint8_t HuffDecoderCommon::table1_11_outer_[64] = {
216     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
217     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,
218     3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5};
219 const uint16_t HuffDecoderCommon::table1_12_inner_[8] = {
220     0x0017, 0x0097, 0x0117, 0x0197, 0x0217, 0x0297, 0x0317, 0x0397};
221 const uint8_t HuffDecoderCommon::table1_12_outer_[64] = {
222     0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
223     2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5,
224     5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7};
225 const uint8_t HuffDecoderCommon::table1_15_emit_[15] = {
226     0x77, 0x78, 0x79, 0x7a, 0x26, 0x2a, 0x2c, 0x3b,
227     0x58, 0x5a, 0x21, 0x22, 0x28, 0x29, 0x3f};
228 const uint16_t HuffDecoderCommon::table1_15_inner_[18] = {
229     0x0017, 0x0097, 0x0117, 0x0197, 0x0218, 0x0298, 0x0318, 0x0398, 0x0418,
230     0x0498, 0x051a, 0x059a, 0x061a, 0x069a, 0x071a, 0x002a, 0x003a, 0x004a};
231 const uint8_t HuffDecoderCommon::table1_15_outer_[64] = {
232     0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,  1,  1,  1,  2,  2,  2,  2, 2, 2,
233     2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4,  4,  5,  5,  5,  5,  6,  6, 6, 6,
234     7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 11, 12, 13, 14, 15, 16, 17};
235 const uint8_t* const HuffDecoderCommon::table1_emit_[16] = {
236     table1_0_emit_,  table1_1_emit_,  table1_2_emit_,  table1_3_emit_,
237     table1_4_emit_,  table6_5_emit_,  table6_6_emit_,  table6_7_emit_,
238     table6_8_emit_,  table6_9_emit_,  table6_10_emit_, table6_11_emit_,
239     table6_12_emit_, table6_13_emit_, table6_14_emit_, table1_15_emit_,
240 };
241 const uint16_t* const HuffDecoderCommon::table1_inner_[16] = {
242     table1_0_inner_,  table1_1_inner_,  table1_2_inner_,  table1_3_inner_,
243     table1_4_inner_,  table1_5_inner_,  table1_5_inner_,  table1_5_inner_,
244     table1_5_inner_,  table1_5_inner_,  table1_5_inner_,  table1_11_inner_,
245     table1_12_inner_, table1_12_inner_, table1_12_inner_, table1_15_inner_,
246 };
247 const uint8_t* const HuffDecoderCommon::table1_outer_[16] = {
248     table1_0_outer_,  table1_0_outer_,  table1_0_outer_,  table1_0_outer_,
249     table1_0_outer_,  table1_5_outer_,  table1_5_outer_,  table1_5_outer_,
250     table1_5_outer_,  table1_5_outer_,  table1_5_outer_,  table1_11_outer_,
251     table1_12_outer_, table1_12_outer_, table1_12_outer_, table1_15_outer_,
252 };
253 const uint8_t HuffDecoderCommon::table9_0_emit_[6] = {0x00, 0x24, 0x40,
254                                                       0x5b, 0x5d, 0x7e};
255 const uint8_t HuffDecoderCommon::table9_0_inner_[8] = {0x00, 0x04, 0x08, 0x0c,
256                                                        0x10, 0x14, 0x01, 0x02};
257 const uint8_t HuffDecoderCommon::table10_0_emit_[8] = {0x00, 0x24, 0x40, 0x5b,
258                                                        0x5d, 0x7e, 0x5e, 0x7d};
259 const uint8_t HuffDecoderCommon::table10_0_inner_[10] = {
260     0x00, 0x01, 0x05, 0x09, 0x0d, 0x11, 0x15, 0x19, 0x1d, 0x02};
261 const uint8_t HuffDecoderCommon::table10_0_outer_[16] = {
262     0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 7, 8, 0, 9};
263 const uint8_t HuffDecoderCommon::table11_0_emit_[11] = {
264     0x00, 0x24, 0x40, 0x5b, 0x5d, 0x7e, 0x5e, 0x7d, 0x3c, 0x60, 0x7b};
265 const uint8_t HuffDecoderCommon::table11_0_ops_[32] = {
266     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
267     0x09, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00,
268     0x00, 0x15, 0x00, 0x19, 0x00, 0x1d, 0x21, 0x25, 0x29, 0x02};
269 const uint8_t HuffDecoderCommon::table12_0_ops_[64] = {
270     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
271     0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
272     0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00,
273     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00,
274     0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
275     0x1d, 0x00, 0x21, 0x00, 0x25, 0x00, 0x29, 0x00, 0x02};
276 const uint8_t HuffDecoderCommon::table13_0_ops_[128] = {
277     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
278     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
279     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
280     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
281     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
282     0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
283     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00,
284     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15,
285     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00,
286     0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x25,
287     0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x02};
288 const uint8_t HuffDecoderCommon::table14_0_emit_[40] = {
289     0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x61, 0x00, 0x63,
290     0x00, 0x65, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x74,
291     0x24, 0x30, 0x24, 0x31, 0x24, 0x32, 0x24, 0x61, 0x24, 0x63,
292     0x24, 0x65, 0x24, 0x69, 0x24, 0x6f, 0x24, 0x73, 0x24, 0x74};
293 const uint8_t HuffDecoderCommon::table14_0_ops_[64] = {
294     0x00, 0x08, 0x10, 0x18, 0x20, 0x28, 0x30, 0x38, 0x40, 0x48, 0x01,
295     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
296     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x50,
297     0x58, 0x60, 0x68, 0x70, 0x78, 0x80, 0x88, 0x90, 0x98, 0x01, 0x01,
298     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
299     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x52};
300 const uint8_t HuffDecoderCommon::table14_1_emit_[40] = {
301     0x40, 0x30, 0x40, 0x31, 0x40, 0x32, 0x40, 0x61, 0x40, 0x63,
302     0x40, 0x65, 0x40, 0x69, 0x40, 0x6f, 0x40, 0x73, 0x40, 0x74,
303     0x5b, 0x30, 0x5b, 0x31, 0x5b, 0x32, 0x5b, 0x61, 0x5b, 0x63,
304     0x5b, 0x65, 0x5b, 0x69, 0x5b, 0x6f, 0x5b, 0x73, 0x5b, 0x74};
305 const uint8_t HuffDecoderCommon::table14_2_emit_[40] = {
306     0x5d, 0x30, 0x5d, 0x31, 0x5d, 0x32, 0x5d, 0x61, 0x5d, 0x63,
307     0x5d, 0x65, 0x5d, 0x69, 0x5d, 0x6f, 0x5d, 0x73, 0x5d, 0x74,
308     0x7e, 0x30, 0x7e, 0x31, 0x7e, 0x32, 0x7e, 0x61, 0x7e, 0x63,
309     0x7e, 0x65, 0x7e, 0x69, 0x7e, 0x6f, 0x7e, 0x73, 0x7e, 0x74};
310 const uint8_t HuffDecoderCommon::table14_3_emit_[5] = {0x5e, 0x7d, 0x3c, 0x60,
311                                                        0x7b};
312 const uint8_t HuffDecoderCommon::table14_3_ops_[64] = {
313     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
314     0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
315     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x01,
316     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0a, 0x01, 0x01, 0x01, 0x01,
317     0x01, 0x01, 0x01, 0x0e, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
318     0x12, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03};
319 const uint8_t* const HuffDecoderCommon::table14_emit_[4] = {
320     table14_0_emit_,
321     table14_1_emit_,
322     table14_2_emit_,
323     table14_3_emit_,
324 };
325 const uint8_t* const HuffDecoderCommon::table14_ops_[4] = {
326     table14_0_ops_,
327     table14_0_ops_,
328     table14_0_ops_,
329     table14_3_ops_,
330 };
331 const uint8_t HuffDecoderCommon::table15_0_emit_[72] = {
332     0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x61, 0x00, 0x63, 0x00, 0x65,
333     0x00, 0x69, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x74, 0x00, 0x20, 0x00, 0x25,
334     0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35,
335     0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3d, 0x00, 0x41,
336     0x00, 0x5f, 0x00, 0x62, 0x00, 0x64, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68,
337     0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x70, 0x00, 0x72, 0x00, 0x75};
338 const uint16_t HuffDecoderCommon::table15_0_ops_[64] = {
339     0x0000, 0x0001, 0x0000, 0x0009, 0x0000, 0x0011, 0x0000, 0x0019,
340     0x0000, 0x0021, 0x0000, 0x0029, 0x0000, 0x0031, 0x0000, 0x0039,
341     0x0000, 0x0041, 0x0000, 0x0049, 0x0051, 0x0059, 0x0061, 0x0069,
342     0x0071, 0x0079, 0x0081, 0x0089, 0x0091, 0x0099, 0x00a1, 0x00a9,
343     0x00b1, 0x00b9, 0x00c1, 0x00c9, 0x00d1, 0x00d9, 0x00e1, 0x00e9,
344     0x00f1, 0x00f9, 0x0101, 0x0109, 0x0111, 0x0119, 0x0000, 0x0000,
345     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
346     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002};
347 const uint8_t HuffDecoderCommon::table15_1_emit_[72] = {
348     0x24, 0x30, 0x24, 0x31, 0x24, 0x32, 0x24, 0x61, 0x24, 0x63, 0x24, 0x65,
349     0x24, 0x69, 0x24, 0x6f, 0x24, 0x73, 0x24, 0x74, 0x24, 0x20, 0x24, 0x25,
350     0x24, 0x2d, 0x24, 0x2e, 0x24, 0x2f, 0x24, 0x33, 0x24, 0x34, 0x24, 0x35,
351     0x24, 0x36, 0x24, 0x37, 0x24, 0x38, 0x24, 0x39, 0x24, 0x3d, 0x24, 0x41,
352     0x24, 0x5f, 0x24, 0x62, 0x24, 0x64, 0x24, 0x66, 0x24, 0x67, 0x24, 0x68,
353     0x24, 0x6c, 0x24, 0x6d, 0x24, 0x6e, 0x24, 0x70, 0x24, 0x72, 0x24, 0x75};
354 const uint8_t HuffDecoderCommon::table15_2_emit_[72] = {
355     0x40, 0x30, 0x40, 0x31, 0x40, 0x32, 0x40, 0x61, 0x40, 0x63, 0x40, 0x65,
356     0x40, 0x69, 0x40, 0x6f, 0x40, 0x73, 0x40, 0x74, 0x40, 0x20, 0x40, 0x25,
357     0x40, 0x2d, 0x40, 0x2e, 0x40, 0x2f, 0x40, 0x33, 0x40, 0x34, 0x40, 0x35,
358     0x40, 0x36, 0x40, 0x37, 0x40, 0x38, 0x40, 0x39, 0x40, 0x3d, 0x40, 0x41,
359     0x40, 0x5f, 0x40, 0x62, 0x40, 0x64, 0x40, 0x66, 0x40, 0x67, 0x40, 0x68,
360     0x40, 0x6c, 0x40, 0x6d, 0x40, 0x6e, 0x40, 0x70, 0x40, 0x72, 0x40, 0x75};
361 const uint8_t HuffDecoderCommon::table15_3_emit_[72] = {
362     0x5b, 0x30, 0x5b, 0x31, 0x5b, 0x32, 0x5b, 0x61, 0x5b, 0x63, 0x5b, 0x65,
363     0x5b, 0x69, 0x5b, 0x6f, 0x5b, 0x73, 0x5b, 0x74, 0x5b, 0x20, 0x5b, 0x25,
364     0x5b, 0x2d, 0x5b, 0x2e, 0x5b, 0x2f, 0x5b, 0x33, 0x5b, 0x34, 0x5b, 0x35,
365     0x5b, 0x36, 0x5b, 0x37, 0x5b, 0x38, 0x5b, 0x39, 0x5b, 0x3d, 0x5b, 0x41,
366     0x5b, 0x5f, 0x5b, 0x62, 0x5b, 0x64, 0x5b, 0x66, 0x5b, 0x67, 0x5b, 0x68,
367     0x5b, 0x6c, 0x5b, 0x6d, 0x5b, 0x6e, 0x5b, 0x70, 0x5b, 0x72, 0x5b, 0x75};
368 const uint8_t HuffDecoderCommon::table15_4_emit_[72] = {
369     0x5d, 0x30, 0x5d, 0x31, 0x5d, 0x32, 0x5d, 0x61, 0x5d, 0x63, 0x5d, 0x65,
370     0x5d, 0x69, 0x5d, 0x6f, 0x5d, 0x73, 0x5d, 0x74, 0x5d, 0x20, 0x5d, 0x25,
371     0x5d, 0x2d, 0x5d, 0x2e, 0x5d, 0x2f, 0x5d, 0x33, 0x5d, 0x34, 0x5d, 0x35,
372     0x5d, 0x36, 0x5d, 0x37, 0x5d, 0x38, 0x5d, 0x39, 0x5d, 0x3d, 0x5d, 0x41,
373     0x5d, 0x5f, 0x5d, 0x62, 0x5d, 0x64, 0x5d, 0x66, 0x5d, 0x67, 0x5d, 0x68,
374     0x5d, 0x6c, 0x5d, 0x6d, 0x5d, 0x6e, 0x5d, 0x70, 0x5d, 0x72, 0x5d, 0x75};
375 const uint8_t HuffDecoderCommon::table15_5_emit_[72] = {
376     0x7e, 0x30, 0x7e, 0x31, 0x7e, 0x32, 0x7e, 0x61, 0x7e, 0x63, 0x7e, 0x65,
377     0x7e, 0x69, 0x7e, 0x6f, 0x7e, 0x73, 0x7e, 0x74, 0x7e, 0x20, 0x7e, 0x25,
378     0x7e, 0x2d, 0x7e, 0x2e, 0x7e, 0x2f, 0x7e, 0x33, 0x7e, 0x34, 0x7e, 0x35,
379     0x7e, 0x36, 0x7e, 0x37, 0x7e, 0x38, 0x7e, 0x39, 0x7e, 0x3d, 0x7e, 0x41,
380     0x7e, 0x5f, 0x7e, 0x62, 0x7e, 0x64, 0x7e, 0x66, 0x7e, 0x67, 0x7e, 0x68,
381     0x7e, 0x6c, 0x7e, 0x6d, 0x7e, 0x6e, 0x7e, 0x70, 0x7e, 0x72, 0x7e, 0x75};
382 const uint8_t HuffDecoderCommon::table15_6_emit_[40] = {
383     0x5e, 0x30, 0x5e, 0x31, 0x5e, 0x32, 0x5e, 0x61, 0x5e, 0x63,
384     0x5e, 0x65, 0x5e, 0x69, 0x5e, 0x6f, 0x5e, 0x73, 0x5e, 0x74,
385     0x7d, 0x30, 0x7d, 0x31, 0x7d, 0x32, 0x7d, 0x61, 0x7d, 0x63,
386     0x7d, 0x65, 0x7d, 0x69, 0x7d, 0x6f, 0x7d, 0x73, 0x7d, 0x74};
387 const uint16_t HuffDecoderCommon::table15_6_ops_[64] = {
388     0x0001, 0x0009, 0x0011, 0x0019, 0x0021, 0x0029, 0x0031, 0x0039,
389     0x0041, 0x0049, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
390     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
391     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
392     0x0051, 0x0059, 0x0061, 0x0069, 0x0071, 0x0079, 0x0081, 0x0089,
393     0x0091, 0x0099, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
394     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
395     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0052};
396 const uint8_t HuffDecoderCommon::table15_7_emit_[6] = {0x3c, 0x60, 0x7b,
397                                                        0x5c, 0xc3, 0xd0};
398 const uint16_t HuffDecoderCommon::table15_7_ops_[64] = {
399     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
400     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
401     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
402     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
403     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
404     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a,
405     0x000e, 0x0012, 0x0016, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
406     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003};
407 const uint8_t* const HuffDecoderCommon::table15_emit_[8] = {
408     table15_0_emit_, table15_1_emit_, table15_2_emit_, table15_3_emit_,
409     table15_4_emit_, table15_5_emit_, table15_6_emit_, table15_7_emit_,
410 };
411 const uint16_t* const HuffDecoderCommon::table15_ops_[8] = {
412     table15_0_ops_, table15_0_ops_, table15_0_ops_, table15_0_ops_,
413     table15_0_ops_, table15_0_ops_, table15_6_ops_, table15_7_ops_,
414 };
415 const uint8_t HuffDecoderCommon::table16_0_emit_[44] = {
416     0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x61, 0x00, 0x63, 0x00,
417     0x65, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x74, 0x00, 0x20,
418     0x00, 0x25, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x33, 0x00,
419     0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39};
420 const uint16_t HuffDecoderCommon::table16_0_ops_[64] = {
421     0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0009,
422     0x0000, 0x0000, 0x0000, 0x0011, 0x0000, 0x0000, 0x0000, 0x0019,
423     0x0000, 0x0000, 0x0000, 0x0021, 0x0000, 0x0000, 0x0000, 0x0029,
424     0x0000, 0x0000, 0x0000, 0x0031, 0x0000, 0x0000, 0x0000, 0x0039,
425     0x0000, 0x0000, 0x0000, 0x0041, 0x0000, 0x0000, 0x0000, 0x0049,
426     0x0000, 0x0051, 0x0000, 0x0059, 0x0000, 0x0061, 0x0000, 0x0069,
427     0x0000, 0x0071, 0x0000, 0x0079, 0x0000, 0x0081, 0x0000, 0x0089,
428     0x0000, 0x0091, 0x0000, 0x0099, 0x0000, 0x00a1, 0x0000, 0x00a9};
429 const uint8_t HuffDecoderCommon::table16_1_emit_[92] = {
430     0x00, 0x3d, 0x00, 0x41, 0x00, 0x5f, 0x00, 0x62, 0x00, 0x64, 0x00, 0x66,
431     0x00, 0x67, 0x00, 0x68, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x70,
432     0x00, 0x72, 0x00, 0x75, 0x00, 0x3a, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44,
433     0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a,
434     0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50,
435     0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56,
436     0x00, 0x57, 0x00, 0x59, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x71, 0x00, 0x76,
437     0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a};
438 const uint16_t HuffDecoderCommon::table16_1_ops_[64] = {
439     0x0000, 0x0001, 0x0000, 0x0009, 0x0000, 0x0011, 0x0000, 0x0019,
440     0x0000, 0x0021, 0x0000, 0x0029, 0x0000, 0x0031, 0x0000, 0x0039,
441     0x0000, 0x0041, 0x0000, 0x0049, 0x0000, 0x0051, 0x0000, 0x0059,
442     0x0000, 0x0061, 0x0000, 0x0069, 0x0071, 0x0079, 0x0081, 0x0089,
443     0x0091, 0x0099, 0x00a1, 0x00a9, 0x00b1, 0x00b9, 0x00c1, 0x00c9,
444     0x00d1, 0x00d9, 0x00e1, 0x00e9, 0x00f1, 0x00f9, 0x0101, 0x0109,
445     0x0111, 0x0119, 0x0121, 0x0129, 0x0131, 0x0139, 0x0141, 0x0149,
446     0x0151, 0x0159, 0x0161, 0x0169, 0x0000, 0x0000, 0x0000, 0x0002};
447 const uint8_t HuffDecoderCommon::table16_2_emit_[44] = {
448     0x24, 0x30, 0x24, 0x31, 0x24, 0x32, 0x24, 0x61, 0x24, 0x63, 0x24,
449     0x65, 0x24, 0x69, 0x24, 0x6f, 0x24, 0x73, 0x24, 0x74, 0x24, 0x20,
450     0x24, 0x25, 0x24, 0x2d, 0x24, 0x2e, 0x24, 0x2f, 0x24, 0x33, 0x24,
451     0x34, 0x24, 0x35, 0x24, 0x36, 0x24, 0x37, 0x24, 0x38, 0x24, 0x39};
452 const uint8_t HuffDecoderCommon::table16_3_emit_[92] = {
453     0x24, 0x3d, 0x24, 0x41, 0x24, 0x5f, 0x24, 0x62, 0x24, 0x64, 0x24, 0x66,
454     0x24, 0x67, 0x24, 0x68, 0x24, 0x6c, 0x24, 0x6d, 0x24, 0x6e, 0x24, 0x70,
455     0x24, 0x72, 0x24, 0x75, 0x24, 0x3a, 0x24, 0x42, 0x24, 0x43, 0x24, 0x44,
456     0x24, 0x45, 0x24, 0x46, 0x24, 0x47, 0x24, 0x48, 0x24, 0x49, 0x24, 0x4a,
457     0x24, 0x4b, 0x24, 0x4c, 0x24, 0x4d, 0x24, 0x4e, 0x24, 0x4f, 0x24, 0x50,
458     0x24, 0x51, 0x24, 0x52, 0x24, 0x53, 0x24, 0x54, 0x24, 0x55, 0x24, 0x56,
459     0x24, 0x57, 0x24, 0x59, 0x24, 0x6a, 0x24, 0x6b, 0x24, 0x71, 0x24, 0x76,
460     0x24, 0x77, 0x24, 0x78, 0x24, 0x79, 0x24, 0x7a};
461 const uint8_t HuffDecoderCommon::table16_4_emit_[44] = {
462     0x40, 0x30, 0x40, 0x31, 0x40, 0x32, 0x40, 0x61, 0x40, 0x63, 0x40,
463     0x65, 0x40, 0x69, 0x40, 0x6f, 0x40, 0x73, 0x40, 0x74, 0x40, 0x20,
464     0x40, 0x25, 0x40, 0x2d, 0x40, 0x2e, 0x40, 0x2f, 0x40, 0x33, 0x40,
465     0x34, 0x40, 0x35, 0x40, 0x36, 0x40, 0x37, 0x40, 0x38, 0x40, 0x39};
466 const uint8_t HuffDecoderCommon::table16_5_emit_[92] = {
467     0x40, 0x3d, 0x40, 0x41, 0x40, 0x5f, 0x40, 0x62, 0x40, 0x64, 0x40, 0x66,
468     0x40, 0x67, 0x40, 0x68, 0x40, 0x6c, 0x40, 0x6d, 0x40, 0x6e, 0x40, 0x70,
469     0x40, 0x72, 0x40, 0x75, 0x40, 0x3a, 0x40, 0x42, 0x40, 0x43, 0x40, 0x44,
470     0x40, 0x45, 0x40, 0x46, 0x40, 0x47, 0x40, 0x48, 0x40, 0x49, 0x40, 0x4a,
471     0x40, 0x4b, 0x40, 0x4c, 0x40, 0x4d, 0x40, 0x4e, 0x40, 0x4f, 0x40, 0x50,
472     0x40, 0x51, 0x40, 0x52, 0x40, 0x53, 0x40, 0x54, 0x40, 0x55, 0x40, 0x56,
473     0x40, 0x57, 0x40, 0x59, 0x40, 0x6a, 0x40, 0x6b, 0x40, 0x71, 0x40, 0x76,
474     0x40, 0x77, 0x40, 0x78, 0x40, 0x79, 0x40, 0x7a};
475 const uint8_t HuffDecoderCommon::table16_6_emit_[44] = {
476     0x5b, 0x30, 0x5b, 0x31, 0x5b, 0x32, 0x5b, 0x61, 0x5b, 0x63, 0x5b,
477     0x65, 0x5b, 0x69, 0x5b, 0x6f, 0x5b, 0x73, 0x5b, 0x74, 0x5b, 0x20,
478     0x5b, 0x25, 0x5b, 0x2d, 0x5b, 0x2e, 0x5b, 0x2f, 0x5b, 0x33, 0x5b,
479     0x34, 0x5b, 0x35, 0x5b, 0x36, 0x5b, 0x37, 0x5b, 0x38, 0x5b, 0x39};
480 const uint8_t HuffDecoderCommon::table16_7_emit_[92] = {
481     0x5b, 0x3d, 0x5b, 0x41, 0x5b, 0x5f, 0x5b, 0x62, 0x5b, 0x64, 0x5b, 0x66,
482     0x5b, 0x67, 0x5b, 0x68, 0x5b, 0x6c, 0x5b, 0x6d, 0x5b, 0x6e, 0x5b, 0x70,
483     0x5b, 0x72, 0x5b, 0x75, 0x5b, 0x3a, 0x5b, 0x42, 0x5b, 0x43, 0x5b, 0x44,
484     0x5b, 0x45, 0x5b, 0x46, 0x5b, 0x47, 0x5b, 0x48, 0x5b, 0x49, 0x5b, 0x4a,
485     0x5b, 0x4b, 0x5b, 0x4c, 0x5b, 0x4d, 0x5b, 0x4e, 0x5b, 0x4f, 0x5b, 0x50,
486     0x5b, 0x51, 0x5b, 0x52, 0x5b, 0x53, 0x5b, 0x54, 0x5b, 0x55, 0x5b, 0x56,
487     0x5b, 0x57, 0x5b, 0x59, 0x5b, 0x6a, 0x5b, 0x6b, 0x5b, 0x71, 0x5b, 0x76,
488     0x5b, 0x77, 0x5b, 0x78, 0x5b, 0x79, 0x5b, 0x7a};
489 const uint8_t HuffDecoderCommon::table16_8_emit_[44] = {
490     0x5d, 0x30, 0x5d, 0x31, 0x5d, 0x32, 0x5d, 0x61, 0x5d, 0x63, 0x5d,
491     0x65, 0x5d, 0x69, 0x5d, 0x6f, 0x5d, 0x73, 0x5d, 0x74, 0x5d, 0x20,
492     0x5d, 0x25, 0x5d, 0x2d, 0x5d, 0x2e, 0x5d, 0x2f, 0x5d, 0x33, 0x5d,
493     0x34, 0x5d, 0x35, 0x5d, 0x36, 0x5d, 0x37, 0x5d, 0x38, 0x5d, 0x39};
494 const uint8_t HuffDecoderCommon::table16_9_emit_[92] = {
495     0x5d, 0x3d, 0x5d, 0x41, 0x5d, 0x5f, 0x5d, 0x62, 0x5d, 0x64, 0x5d, 0x66,
496     0x5d, 0x67, 0x5d, 0x68, 0x5d, 0x6c, 0x5d, 0x6d, 0x5d, 0x6e, 0x5d, 0x70,
497     0x5d, 0x72, 0x5d, 0x75, 0x5d, 0x3a, 0x5d, 0x42, 0x5d, 0x43, 0x5d, 0x44,
498     0x5d, 0x45, 0x5d, 0x46, 0x5d, 0x47, 0x5d, 0x48, 0x5d, 0x49, 0x5d, 0x4a,
499     0x5d, 0x4b, 0x5d, 0x4c, 0x5d, 0x4d, 0x5d, 0x4e, 0x5d, 0x4f, 0x5d, 0x50,
500     0x5d, 0x51, 0x5d, 0x52, 0x5d, 0x53, 0x5d, 0x54, 0x5d, 0x55, 0x5d, 0x56,
501     0x5d, 0x57, 0x5d, 0x59, 0x5d, 0x6a, 0x5d, 0x6b, 0x5d, 0x71, 0x5d, 0x76,
502     0x5d, 0x77, 0x5d, 0x78, 0x5d, 0x79, 0x5d, 0x7a};
503 const uint8_t HuffDecoderCommon::table16_10_emit_[44] = {
504     0x7e, 0x30, 0x7e, 0x31, 0x7e, 0x32, 0x7e, 0x61, 0x7e, 0x63, 0x7e,
505     0x65, 0x7e, 0x69, 0x7e, 0x6f, 0x7e, 0x73, 0x7e, 0x74, 0x7e, 0x20,
506     0x7e, 0x25, 0x7e, 0x2d, 0x7e, 0x2e, 0x7e, 0x2f, 0x7e, 0x33, 0x7e,
507     0x34, 0x7e, 0x35, 0x7e, 0x36, 0x7e, 0x37, 0x7e, 0x38, 0x7e, 0x39};
508 const uint8_t HuffDecoderCommon::table16_11_emit_[92] = {
509     0x7e, 0x3d, 0x7e, 0x41, 0x7e, 0x5f, 0x7e, 0x62, 0x7e, 0x64, 0x7e, 0x66,
510     0x7e, 0x67, 0x7e, 0x68, 0x7e, 0x6c, 0x7e, 0x6d, 0x7e, 0x6e, 0x7e, 0x70,
511     0x7e, 0x72, 0x7e, 0x75, 0x7e, 0x3a, 0x7e, 0x42, 0x7e, 0x43, 0x7e, 0x44,
512     0x7e, 0x45, 0x7e, 0x46, 0x7e, 0x47, 0x7e, 0x48, 0x7e, 0x49, 0x7e, 0x4a,
513     0x7e, 0x4b, 0x7e, 0x4c, 0x7e, 0x4d, 0x7e, 0x4e, 0x7e, 0x4f, 0x7e, 0x50,
514     0x7e, 0x51, 0x7e, 0x52, 0x7e, 0x53, 0x7e, 0x54, 0x7e, 0x55, 0x7e, 0x56,
515     0x7e, 0x57, 0x7e, 0x59, 0x7e, 0x6a, 0x7e, 0x6b, 0x7e, 0x71, 0x7e, 0x76,
516     0x7e, 0x77, 0x7e, 0x78, 0x7e, 0x79, 0x7e, 0x7a};
517 const uint8_t HuffDecoderCommon::table16_12_emit_[72] = {
518     0x5e, 0x30, 0x5e, 0x31, 0x5e, 0x32, 0x5e, 0x61, 0x5e, 0x63, 0x5e, 0x65,
519     0x5e, 0x69, 0x5e, 0x6f, 0x5e, 0x73, 0x5e, 0x74, 0x5e, 0x20, 0x5e, 0x25,
520     0x5e, 0x2d, 0x5e, 0x2e, 0x5e, 0x2f, 0x5e, 0x33, 0x5e, 0x34, 0x5e, 0x35,
521     0x5e, 0x36, 0x5e, 0x37, 0x5e, 0x38, 0x5e, 0x39, 0x5e, 0x3d, 0x5e, 0x41,
522     0x5e, 0x5f, 0x5e, 0x62, 0x5e, 0x64, 0x5e, 0x66, 0x5e, 0x67, 0x5e, 0x68,
523     0x5e, 0x6c, 0x5e, 0x6d, 0x5e, 0x6e, 0x5e, 0x70, 0x5e, 0x72, 0x5e, 0x75};
524 const uint8_t HuffDecoderCommon::table16_13_emit_[72] = {
525     0x7d, 0x30, 0x7d, 0x31, 0x7d, 0x32, 0x7d, 0x61, 0x7d, 0x63, 0x7d, 0x65,
526     0x7d, 0x69, 0x7d, 0x6f, 0x7d, 0x73, 0x7d, 0x74, 0x7d, 0x20, 0x7d, 0x25,
527     0x7d, 0x2d, 0x7d, 0x2e, 0x7d, 0x2f, 0x7d, 0x33, 0x7d, 0x34, 0x7d, 0x35,
528     0x7d, 0x36, 0x7d, 0x37, 0x7d, 0x38, 0x7d, 0x39, 0x7d, 0x3d, 0x7d, 0x41,
529     0x7d, 0x5f, 0x7d, 0x62, 0x7d, 0x64, 0x7d, 0x66, 0x7d, 0x67, 0x7d, 0x68,
530     0x7d, 0x6c, 0x7d, 0x6d, 0x7d, 0x6e, 0x7d, 0x70, 0x7d, 0x72, 0x7d, 0x75};
531 const uint8_t HuffDecoderCommon::table16_14_emit_[40] = {
532     0x3c, 0x30, 0x3c, 0x31, 0x3c, 0x32, 0x3c, 0x61, 0x3c, 0x63,
533     0x3c, 0x65, 0x3c, 0x69, 0x3c, 0x6f, 0x3c, 0x73, 0x3c, 0x74,
534     0x60, 0x30, 0x60, 0x31, 0x60, 0x32, 0x60, 0x61, 0x60, 0x63,
535     0x60, 0x65, 0x60, 0x69, 0x60, 0x6f, 0x60, 0x73, 0x60, 0x74};
536 const uint8_t HuffDecoderCommon::table16_15_emit_[31] = {
537     0x7b, 0x30, 0x7b, 0x31, 0x7b, 0x32, 0x7b, 0x61, 0x7b, 0x63, 0x7b,
538     0x65, 0x7b, 0x69, 0x7b, 0x6f, 0x7b, 0x73, 0x7b, 0x74, 0x5c, 0xc3,
539     0xd0, 0x80, 0x82, 0x83, 0xa2, 0xb8, 0xc2, 0xe0, 0xe2};
540 const uint16_t HuffDecoderCommon::table16_15_ops_[64] = {
541     0x0001, 0x0009, 0x0011, 0x0019, 0x0021, 0x0029, 0x0031, 0x0039,
542     0x0041, 0x0049, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
543     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
544     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
545     0x0000, 0x0052, 0x0000, 0x0056, 0x0000, 0x005a, 0x005e, 0x0062,
546     0x0066, 0x006a, 0x006e, 0x0072, 0x0076, 0x007a, 0x0000, 0x0000,
547     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
548     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003};
549 const uint8_t* const HuffDecoderCommon::table16_emit_[16] = {
550     table16_0_emit_,  table16_1_emit_,  table16_2_emit_,  table16_3_emit_,
551     table16_4_emit_,  table16_5_emit_,  table16_6_emit_,  table16_7_emit_,
552     table16_8_emit_,  table16_9_emit_,  table16_10_emit_, table16_11_emit_,
553     table16_12_emit_, table16_13_emit_, table16_14_emit_, table16_15_emit_,
554 };
555 const uint16_t* const HuffDecoderCommon::table16_ops_[16] = {
556     table16_0_ops_, table16_1_ops_, table16_0_ops_, table16_1_ops_,
557     table16_0_ops_, table16_1_ops_, table16_0_ops_, table16_1_ops_,
558     table16_0_ops_, table16_1_ops_, table16_0_ops_, table16_1_ops_,
559     table15_0_ops_, table15_0_ops_, table15_6_ops_, table16_15_ops_,
560 };
561 const uint8_t HuffDecoderCommon::table17_0_emit_[16] = {
562     0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x61,
563     0x00, 0x63, 0x00, 0x65, 0x00, 0x69, 0x00, 0x6f};
564 const uint16_t HuffDecoderCommon::table17_0_ops_[64] = {
565     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
566     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0009,
567     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0011,
568     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0019,
569     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021,
570     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0029,
571     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0031,
572     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0039};
573 const uint8_t HuffDecoderCommon::table17_1_emit_[28] = {
574     0x00, 0x73, 0x00, 0x74, 0x00, 0x20, 0x00, 0x25, 0x00, 0x2d,
575     0x00, 0x2e, 0x00, 0x2f, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35,
576     0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39};
577 const uint16_t HuffDecoderCommon::table17_1_ops_[64] = {
578     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
579     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0009,
580     0x0000, 0x0000, 0x0000, 0x0011, 0x0000, 0x0000, 0x0000, 0x0019,
581     0x0000, 0x0000, 0x0000, 0x0021, 0x0000, 0x0000, 0x0000, 0x0029,
582     0x0000, 0x0000, 0x0000, 0x0031, 0x0000, 0x0000, 0x0000, 0x0039,
583     0x0000, 0x0000, 0x0000, 0x0041, 0x0000, 0x0000, 0x0000, 0x0049,
584     0x0000, 0x0000, 0x0000, 0x0051, 0x0000, 0x0000, 0x0000, 0x0059,
585     0x0000, 0x0000, 0x0000, 0x0061, 0x0000, 0x0000, 0x0000, 0x0069};
586 const uint8_t HuffDecoderCommon::table17_2_emit_[36] = {
587     0x00, 0x3d, 0x00, 0x41, 0x00, 0x5f, 0x00, 0x62, 0x00, 0x64, 0x00, 0x66,
588     0x00, 0x67, 0x00, 0x68, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, 0x00, 0x70,
589     0x00, 0x72, 0x00, 0x75, 0x00, 0x3a, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44};
590 const uint16_t HuffDecoderCommon::table17_2_ops_[64] = {
591     0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0009,
592     0x0000, 0x0000, 0x0000, 0x0011, 0x0000, 0x0000, 0x0000, 0x0019,
593     0x0000, 0x0000, 0x0000, 0x0021, 0x0000, 0x0000, 0x0000, 0x0029,
594     0x0000, 0x0000, 0x0000, 0x0031, 0x0000, 0x0000, 0x0000, 0x0039,
595     0x0000, 0x0000, 0x0000, 0x0041, 0x0000, 0x0000, 0x0000, 0x0049,
596     0x0000, 0x0000, 0x0000, 0x0051, 0x0000, 0x0000, 0x0000, 0x0059,
597     0x0000, 0x0000, 0x0000, 0x0061, 0x0000, 0x0000, 0x0000, 0x0069,
598     0x0000, 0x0071, 0x0000, 0x0079, 0x0000, 0x0081, 0x0000, 0x0089};
599 const uint8_t HuffDecoderCommon::table17_3_emit_[68] = {
600     0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a,
601     0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50,
602     0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56,
603     0x00, 0x57, 0x00, 0x59, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x71, 0x00, 0x76,
604     0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, 0x00, 0x26, 0x00, 0x2a,
605     0x00, 0x2c, 0x00, 0x3b, 0x00, 0x58, 0x00, 0x5a};
606 const uint16_t HuffDecoderCommon::table17_3_ops_[64] = {
607     0x0000, 0x0001, 0x0000, 0x0009, 0x0000, 0x0011, 0x0000, 0x0019,
608     0x0000, 0x0021, 0x0000, 0x0029, 0x0000, 0x0031, 0x0000, 0x0039,
609     0x0000, 0x0041, 0x0000, 0x0049, 0x0000, 0x0051, 0x0000, 0x0059,
610     0x0000, 0x0061, 0x0000, 0x0069, 0x0000, 0x0071, 0x0000, 0x0079,
611     0x0000, 0x0081, 0x0000, 0x0089, 0x0000, 0x0091, 0x0000, 0x0099,
612     0x0000, 0x00a1, 0x0000, 0x00a9, 0x0000, 0x00b1, 0x0000, 0x00b9,
613     0x0000, 0x00c1, 0x0000, 0x00c9, 0x0000, 0x00d1, 0x0000, 0x00d9,
614     0x00e1, 0x00e9, 0x00f1, 0x00f9, 0x0101, 0x0109, 0x0000, 0x0002};
615 const uint8_t HuffDecoderCommon::table17_4_emit_[16] = {
616     0x24, 0x30, 0x24, 0x31, 0x24, 0x32, 0x24, 0x61,
617     0x24, 0x63, 0x24, 0x65, 0x24, 0x69, 0x24, 0x6f};
618 const uint8_t HuffDecoderCommon::table17_5_emit_[28] = {
619     0x24, 0x73, 0x24, 0x74, 0x24, 0x20, 0x24, 0x25, 0x24, 0x2d,
620     0x24, 0x2e, 0x24, 0x2f, 0x24, 0x33, 0x24, 0x34, 0x24, 0x35,
621     0x24, 0x36, 0x24, 0x37, 0x24, 0x38, 0x24, 0x39};
622 const uint8_t HuffDecoderCommon::table17_6_emit_[36] = {
623     0x24, 0x3d, 0x24, 0x41, 0x24, 0x5f, 0x24, 0x62, 0x24, 0x64, 0x24, 0x66,
624     0x24, 0x67, 0x24, 0x68, 0x24, 0x6c, 0x24, 0x6d, 0x24, 0x6e, 0x24, 0x70,
625     0x24, 0x72, 0x24, 0x75, 0x24, 0x3a, 0x24, 0x42, 0x24, 0x43, 0x24, 0x44};
626 const uint8_t HuffDecoderCommon::table17_7_emit_[68] = {
627     0x24, 0x45, 0x24, 0x46, 0x24, 0x47, 0x24, 0x48, 0x24, 0x49, 0x24, 0x4a,
628     0x24, 0x4b, 0x24, 0x4c, 0x24, 0x4d, 0x24, 0x4e, 0x24, 0x4f, 0x24, 0x50,
629     0x24, 0x51, 0x24, 0x52, 0x24, 0x53, 0x24, 0x54, 0x24, 0x55, 0x24, 0x56,
630     0x24, 0x57, 0x24, 0x59, 0x24, 0x6a, 0x24, 0x6b, 0x24, 0x71, 0x24, 0x76,
631     0x24, 0x77, 0x24, 0x78, 0x24, 0x79, 0x24, 0x7a, 0x24, 0x26, 0x24, 0x2a,
632     0x24, 0x2c, 0x24, 0x3b, 0x24, 0x58, 0x24, 0x5a};
633 const uint8_t HuffDecoderCommon::table17_8_emit_[16] = {
634     0x40, 0x30, 0x40, 0x31, 0x40, 0x32, 0x40, 0x61,
635     0x40, 0x63, 0x40, 0x65, 0x40, 0x69, 0x40, 0x6f};
636 const uint8_t HuffDecoderCommon::table17_9_emit_[28] = {
637     0x40, 0x73, 0x40, 0x74, 0x40, 0x20, 0x40, 0x25, 0x40, 0x2d,
638     0x40, 0x2e, 0x40, 0x2f, 0x40, 0x33, 0x40, 0x34, 0x40, 0x35,
639     0x40, 0x36, 0x40, 0x37, 0x40, 0x38, 0x40, 0x39};
640 const uint8_t HuffDecoderCommon::table17_10_emit_[36] = {
641     0x40, 0x3d, 0x40, 0x41, 0x40, 0x5f, 0x40, 0x62, 0x40, 0x64, 0x40, 0x66,
642     0x40, 0x67, 0x40, 0x68, 0x40, 0x6c, 0x40, 0x6d, 0x40, 0x6e, 0x40, 0x70,
643     0x40, 0x72, 0x40, 0x75, 0x40, 0x3a, 0x40, 0x42, 0x40, 0x43, 0x40, 0x44};
644 const uint8_t HuffDecoderCommon::table17_11_emit_[68] = {
645     0x40, 0x45, 0x40, 0x46, 0x40, 0x47, 0x40, 0x48, 0x40, 0x49, 0x40, 0x4a,
646     0x40, 0x4b, 0x40, 0x4c, 0x40, 0x4d, 0x40, 0x4e, 0x40, 0x4f, 0x40, 0x50,
647     0x40, 0x51, 0x40, 0x52, 0x40, 0x53, 0x40, 0x54, 0x40, 0x55, 0x40, 0x56,
648     0x40, 0x57, 0x40, 0x59, 0x40, 0x6a, 0x40, 0x6b, 0x40, 0x71, 0x40, 0x76,
649     0x40, 0x77, 0x40, 0x78, 0x40, 0x79, 0x40, 0x7a, 0x40, 0x26, 0x40, 0x2a,
650     0x40, 0x2c, 0x40, 0x3b, 0x40, 0x58, 0x40, 0x5a};
651 const uint8_t HuffDecoderCommon::table17_12_emit_[16] = {
652     0x5b, 0x30, 0x5b, 0x31, 0x5b, 0x32, 0x5b, 0x61,
653     0x5b, 0x63, 0x5b, 0x65, 0x5b, 0x69, 0x5b, 0x6f};
654 const uint8_t HuffDecoderCommon::table17_13_emit_[28] = {
655     0x5b, 0x73, 0x5b, 0x74, 0x5b, 0x20, 0x5b, 0x25, 0x5b, 0x2d,
656     0x5b, 0x2e, 0x5b, 0x2f, 0x5b, 0x33, 0x5b, 0x34, 0x5b, 0x35,
657     0x5b, 0x36, 0x5b, 0x37, 0x5b, 0x38, 0x5b, 0x39};
658 const uint8_t HuffDecoderCommon::table17_14_emit_[36] = {
659     0x5b, 0x3d, 0x5b, 0x41, 0x5b, 0x5f, 0x5b, 0x62, 0x5b, 0x64, 0x5b, 0x66,
660     0x5b, 0x67, 0x5b, 0x68, 0x5b, 0x6c, 0x5b, 0x6d, 0x5b, 0x6e, 0x5b, 0x70,
661     0x5b, 0x72, 0x5b, 0x75, 0x5b, 0x3a, 0x5b, 0x42, 0x5b, 0x43, 0x5b, 0x44};
662 const uint8_t HuffDecoderCommon::table17_15_emit_[68] = {
663     0x5b, 0x45, 0x5b, 0x46, 0x5b, 0x47, 0x5b, 0x48, 0x5b, 0x49, 0x5b, 0x4a,
664     0x5b, 0x4b, 0x5b, 0x4c, 0x5b, 0x4d, 0x5b, 0x4e, 0x5b, 0x4f, 0x5b, 0x50,
665     0x5b, 0x51, 0x5b, 0x52, 0x5b, 0x53, 0x5b, 0x54, 0x5b, 0x55, 0x5b, 0x56,
666     0x5b, 0x57, 0x5b, 0x59, 0x5b, 0x6a, 0x5b, 0x6b, 0x5b, 0x71, 0x5b, 0x76,
667     0x5b, 0x77, 0x5b, 0x78, 0x5b, 0x79, 0x5b, 0x7a, 0x5b, 0x26, 0x5b, 0x2a,
668     0x5b, 0x2c, 0x5b, 0x3b, 0x5b, 0x58, 0x5b, 0x5a};
669 const uint8_t HuffDecoderCommon::table17_16_emit_[16] = {
670     0x5d, 0x30, 0x5d, 0x31, 0x5d, 0x32, 0x5d, 0x61,
671     0x5d, 0x63, 0x5d, 0x65, 0x5d, 0x69, 0x5d, 0x6f};
672 const uint8_t HuffDecoderCommon::table17_17_emit_[28] = {
673     0x5d, 0x73, 0x5d, 0x74, 0x5d, 0x20, 0x5d, 0x25, 0x5d, 0x2d,
674     0x5d, 0x2e, 0x5d, 0x2f, 0x5d, 0x33, 0x5d, 0x34, 0x5d, 0x35,
675     0x5d, 0x36, 0x5d, 0x37, 0x5d, 0x38, 0x5d, 0x39};
676 const uint8_t HuffDecoderCommon::table17_18_emit_[36] = {
677     0x5d, 0x3d, 0x5d, 0x41, 0x5d, 0x5f, 0x5d, 0x62, 0x5d, 0x64, 0x5d, 0x66,
678     0x5d, 0x67, 0x5d, 0x68, 0x5d, 0x6c, 0x5d, 0x6d, 0x5d, 0x6e, 0x5d, 0x70,
679     0x5d, 0x72, 0x5d, 0x75, 0x5d, 0x3a, 0x5d, 0x42, 0x5d, 0x43, 0x5d, 0x44};
680 const uint8_t HuffDecoderCommon::table17_19_emit_[68] = {
681     0x5d, 0x45, 0x5d, 0x46, 0x5d, 0x47, 0x5d, 0x48, 0x5d, 0x49, 0x5d, 0x4a,
682     0x5d, 0x4b, 0x5d, 0x4c, 0x5d, 0x4d, 0x5d, 0x4e, 0x5d, 0x4f, 0x5d, 0x50,
683     0x5d, 0x51, 0x5d, 0x52, 0x5d, 0x53, 0x5d, 0x54, 0x5d, 0x55, 0x5d, 0x56,
684     0x5d, 0x57, 0x5d, 0x59, 0x5d, 0x6a, 0x5d, 0x6b, 0x5d, 0x71, 0x5d, 0x76,
685     0x5d, 0x77, 0x5d, 0x78, 0x5d, 0x79, 0x5d, 0x7a, 0x5d, 0x26, 0x5d, 0x2a,
686     0x5d, 0x2c, 0x5d, 0x3b, 0x5d, 0x58, 0x5d, 0x5a};
687 const uint8_t HuffDecoderCommon::table17_20_emit_[16] = {
688     0x7e, 0x30, 0x7e, 0x31, 0x7e, 0x32, 0x7e, 0x61,
689     0x7e, 0x63, 0x7e, 0x65, 0x7e, 0x69, 0x7e, 0x6f};
690 const uint8_t HuffDecoderCommon::table17_21_emit_[28] = {
691     0x7e, 0x73, 0x7e, 0x74, 0x7e, 0x20, 0x7e, 0x25, 0x7e, 0x2d,
692     0x7e, 0x2e, 0x7e, 0x2f, 0x7e, 0x33, 0x7e, 0x34, 0x7e, 0x35,
693     0x7e, 0x36, 0x7e, 0x37, 0x7e, 0x38, 0x7e, 0x39};
694 const uint8_t HuffDecoderCommon::table17_22_emit_[36] = {
695     0x7e, 0x3d, 0x7e, 0x41, 0x7e, 0x5f, 0x7e, 0x62, 0x7e, 0x64, 0x7e, 0x66,
696     0x7e, 0x67, 0x7e, 0x68, 0x7e, 0x6c, 0x7e, 0x6d, 0x7e, 0x6e, 0x7e, 0x70,
697     0x7e, 0x72, 0x7e, 0x75, 0x7e, 0x3a, 0x7e, 0x42, 0x7e, 0x43, 0x7e, 0x44};
698 const uint8_t HuffDecoderCommon::table17_23_emit_[68] = {
699     0x7e, 0x45, 0x7e, 0x46, 0x7e, 0x47, 0x7e, 0x48, 0x7e, 0x49, 0x7e, 0x4a,
700     0x7e, 0x4b, 0x7e, 0x4c, 0x7e, 0x4d, 0x7e, 0x4e, 0x7e, 0x4f, 0x7e, 0x50,
701     0x7e, 0x51, 0x7e, 0x52, 0x7e, 0x53, 0x7e, 0x54, 0x7e, 0x55, 0x7e, 0x56,
702     0x7e, 0x57, 0x7e, 0x59, 0x7e, 0x6a, 0x7e, 0x6b, 0x7e, 0x71, 0x7e, 0x76,
703     0x7e, 0x77, 0x7e, 0x78, 0x7e, 0x79, 0x7e, 0x7a, 0x7e, 0x26, 0x7e, 0x2a,
704     0x7e, 0x2c, 0x7e, 0x3b, 0x7e, 0x58, 0x7e, 0x5a};
705 const uint8_t HuffDecoderCommon::table17_24_emit_[44] = {
706     0x5e, 0x30, 0x5e, 0x31, 0x5e, 0x32, 0x5e, 0x61, 0x5e, 0x63, 0x5e,
707     0x65, 0x5e, 0x69, 0x5e, 0x6f, 0x5e, 0x73, 0x5e, 0x74, 0x5e, 0x20,
708     0x5e, 0x25, 0x5e, 0x2d, 0x5e, 0x2e, 0x5e, 0x2f, 0x5e, 0x33, 0x5e,
709     0x34, 0x5e, 0x35, 0x5e, 0x36, 0x5e, 0x37, 0x5e, 0x38, 0x5e, 0x39};
710 const uint8_t HuffDecoderCommon::table17_25_emit_[92] = {
711     0x5e, 0x3d, 0x5e, 0x41, 0x5e, 0x5f, 0x5e, 0x62, 0x5e, 0x64, 0x5e, 0x66,
712     0x5e, 0x67, 0x5e, 0x68, 0x5e, 0x6c, 0x5e, 0x6d, 0x5e, 0x6e, 0x5e, 0x70,
713     0x5e, 0x72, 0x5e, 0x75, 0x5e, 0x3a, 0x5e, 0x42, 0x5e, 0x43, 0x5e, 0x44,
714     0x5e, 0x45, 0x5e, 0x46, 0x5e, 0x47, 0x5e, 0x48, 0x5e, 0x49, 0x5e, 0x4a,
715     0x5e, 0x4b, 0x5e, 0x4c, 0x5e, 0x4d, 0x5e, 0x4e, 0x5e, 0x4f, 0x5e, 0x50,
716     0x5e, 0x51, 0x5e, 0x52, 0x5e, 0x53, 0x5e, 0x54, 0x5e, 0x55, 0x5e, 0x56,
717     0x5e, 0x57, 0x5e, 0x59, 0x5e, 0x6a, 0x5e, 0x6b, 0x5e, 0x71, 0x5e, 0x76,
718     0x5e, 0x77, 0x5e, 0x78, 0x5e, 0x79, 0x5e, 0x7a};
719 const uint8_t HuffDecoderCommon::table17_26_emit_[44] = {
720     0x7d, 0x30, 0x7d, 0x31, 0x7d, 0x32, 0x7d, 0x61, 0x7d, 0x63, 0x7d,
721     0x65, 0x7d, 0x69, 0x7d, 0x6f, 0x7d, 0x73, 0x7d, 0x74, 0x7d, 0x20,
722     0x7d, 0x25, 0x7d, 0x2d, 0x7d, 0x2e, 0x7d, 0x2f, 0x7d, 0x33, 0x7d,
723     0x34, 0x7d, 0x35, 0x7d, 0x36, 0x7d, 0x37, 0x7d, 0x38, 0x7d, 0x39};
724 const uint8_t HuffDecoderCommon::table17_27_emit_[92] = {
725     0x7d, 0x3d, 0x7d, 0x41, 0x7d, 0x5f, 0x7d, 0x62, 0x7d, 0x64, 0x7d, 0x66,
726     0x7d, 0x67, 0x7d, 0x68, 0x7d, 0x6c, 0x7d, 0x6d, 0x7d, 0x6e, 0x7d, 0x70,
727     0x7d, 0x72, 0x7d, 0x75, 0x7d, 0x3a, 0x7d, 0x42, 0x7d, 0x43, 0x7d, 0x44,
728     0x7d, 0x45, 0x7d, 0x46, 0x7d, 0x47, 0x7d, 0x48, 0x7d, 0x49, 0x7d, 0x4a,
729     0x7d, 0x4b, 0x7d, 0x4c, 0x7d, 0x4d, 0x7d, 0x4e, 0x7d, 0x4f, 0x7d, 0x50,
730     0x7d, 0x51, 0x7d, 0x52, 0x7d, 0x53, 0x7d, 0x54, 0x7d, 0x55, 0x7d, 0x56,
731     0x7d, 0x57, 0x7d, 0x59, 0x7d, 0x6a, 0x7d, 0x6b, 0x7d, 0x71, 0x7d, 0x76,
732     0x7d, 0x77, 0x7d, 0x78, 0x7d, 0x79, 0x7d, 0x7a};
733 const uint8_t HuffDecoderCommon::table17_28_emit_[72] = {
734     0x3c, 0x30, 0x3c, 0x31, 0x3c, 0x32, 0x3c, 0x61, 0x3c, 0x63, 0x3c, 0x65,
735     0x3c, 0x69, 0x3c, 0x6f, 0x3c, 0x73, 0x3c, 0x74, 0x3c, 0x20, 0x3c, 0x25,
736     0x3c, 0x2d, 0x3c, 0x2e, 0x3c, 0x2f, 0x3c, 0x33, 0x3c, 0x34, 0x3c, 0x35,
737     0x3c, 0x36, 0x3c, 0x37, 0x3c, 0x38, 0x3c, 0x39, 0x3c, 0x3d, 0x3c, 0x41,
738     0x3c, 0x5f, 0x3c, 0x62, 0x3c, 0x64, 0x3c, 0x66, 0x3c, 0x67, 0x3c, 0x68,
739     0x3c, 0x6c, 0x3c, 0x6d, 0x3c, 0x6e, 0x3c, 0x70, 0x3c, 0x72, 0x3c, 0x75};
740 const uint8_t HuffDecoderCommon::table17_29_emit_[72] = {
741     0x60, 0x30, 0x60, 0x31, 0x60, 0x32, 0x60, 0x61, 0x60, 0x63, 0x60, 0x65,
742     0x60, 0x69, 0x60, 0x6f, 0x60, 0x73, 0x60, 0x74, 0x60, 0x20, 0x60, 0x25,
743     0x60, 0x2d, 0x60, 0x2e, 0x60, 0x2f, 0x60, 0x33, 0x60, 0x34, 0x60, 0x35,
744     0x60, 0x36, 0x60, 0x37, 0x60, 0x38, 0x60, 0x39, 0x60, 0x3d, 0x60, 0x41,
745     0x60, 0x5f, 0x60, 0x62, 0x60, 0x64, 0x60, 0x66, 0x60, 0x67, 0x60, 0x68,
746     0x60, 0x6c, 0x60, 0x6d, 0x60, 0x6e, 0x60, 0x70, 0x60, 0x72, 0x60, 0x75};
747 const uint8_t HuffDecoderCommon::table17_30_emit_[72] = {
748     0x7b, 0x30, 0x7b, 0x31, 0x7b, 0x32, 0x7b, 0x61, 0x7b, 0x63, 0x7b, 0x65,
749     0x7b, 0x69, 0x7b, 0x6f, 0x7b, 0x73, 0x7b, 0x74, 0x7b, 0x20, 0x7b, 0x25,
750     0x7b, 0x2d, 0x7b, 0x2e, 0x7b, 0x2f, 0x7b, 0x33, 0x7b, 0x34, 0x7b, 0x35,
751     0x7b, 0x36, 0x7b, 0x37, 0x7b, 0x38, 0x7b, 0x39, 0x7b, 0x3d, 0x7b, 0x41,
752     0x7b, 0x5f, 0x7b, 0x62, 0x7b, 0x64, 0x7b, 0x66, 0x7b, 0x67, 0x7b, 0x68,
753     0x7b, 0x6c, 0x7b, 0x6d, 0x7b, 0x6e, 0x7b, 0x70, 0x7b, 0x72, 0x7b, 0x75};
754 const uint8_t HuffDecoderCommon::table17_31_emit_[24] = {
755     0x5c, 0xc3, 0xd0, 0x80, 0x82, 0x83, 0xa2, 0xb8, 0xc2, 0xe0, 0xe2, 0x99,
756     0xa1, 0xa7, 0xac, 0xb0, 0xb1, 0xb3, 0xd1, 0xd8, 0xd9, 0xe3, 0xe5, 0xe6};
757 const uint16_t HuffDecoderCommon::table17_31_ops_[64] = {
758     0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0006,
759     0x0000, 0x0000, 0x0000, 0x000a, 0x0000, 0x000e, 0x0000, 0x0012,
760     0x0000, 0x0016, 0x0000, 0x001a, 0x0000, 0x001e, 0x0000, 0x0022,
761     0x0000, 0x0026, 0x0000, 0x002a, 0x002e, 0x0032, 0x0036, 0x003a,
762     0x003e, 0x0042, 0x0046, 0x004a, 0x004e, 0x0052, 0x0056, 0x005a,
763     0x005e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
764     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
765     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003};
766 const uint8_t* const HuffDecoderCommon::table17_emit_[32] = {
767     table17_0_emit_,  table17_1_emit_,  table17_2_emit_,  table17_3_emit_,
768     table17_4_emit_,  table17_5_emit_,  table17_6_emit_,  table17_7_emit_,
769     table17_8_emit_,  table17_9_emit_,  table17_10_emit_, table17_11_emit_,
770     table17_12_emit_, table17_13_emit_, table17_14_emit_, table17_15_emit_,
771     table17_16_emit_, table17_17_emit_, table17_18_emit_, table17_19_emit_,
772     table17_20_emit_, table17_21_emit_, table17_22_emit_, table17_23_emit_,
773     table17_24_emit_, table17_25_emit_, table17_26_emit_, table17_27_emit_,
774     table17_28_emit_, table17_29_emit_, table17_30_emit_, table17_31_emit_,
775 };
776 const uint16_t* const HuffDecoderCommon::table17_ops_[32] = {
777     table17_0_ops_, table17_1_ops_, table17_2_ops_, table17_3_ops_,
778     table17_0_ops_, table17_1_ops_, table17_2_ops_, table17_3_ops_,
779     table17_0_ops_, table17_1_ops_, table17_2_ops_, table17_3_ops_,
780     table17_0_ops_, table17_1_ops_, table17_2_ops_, table17_3_ops_,
781     table17_0_ops_, table17_1_ops_, table17_2_ops_, table17_3_ops_,
782     table17_0_ops_, table17_1_ops_, table17_2_ops_, table17_3_ops_,
783     table16_0_ops_, table16_1_ops_, table16_0_ops_, table16_1_ops_,
784     table15_0_ops_, table15_0_ops_, table15_0_ops_, table17_31_ops_,
785 };
786 const uint8_t HuffDecoderCommon::table8_0_emit_[1] = {0x00};
787 const uint16_t HuffDecoderCommon::table8_0_ops_[128] = {
788     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
789     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
790     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
791     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
792     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
793     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
794     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
795     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
796     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
797     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
798     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
799     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
800     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
801     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
802     0x0003, 0x0003};
803 const uint8_t HuffDecoderCommon::table8_4_emit_[1] = {0x24};
804 const uint8_t HuffDecoderCommon::table8_8_emit_[1] = {0x40};
805 const uint8_t HuffDecoderCommon::table8_12_emit_[1] = {0x5b};
806 const uint8_t HuffDecoderCommon::table8_16_emit_[1] = {0x5d};
807 const uint8_t HuffDecoderCommon::table8_20_emit_[1] = {0x7e};
808 const uint8_t HuffDecoderCommon::table8_24_emit_[1] = {0x5e};
809 const uint16_t HuffDecoderCommon::table8_24_ops_[128] = {
810     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
811     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
812     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
813     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
814     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
815     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
816     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
817     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
818     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
819     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
820     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
821     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
822     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
823     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
824     0x0004, 0x0004};
825 const uint8_t HuffDecoderCommon::table8_26_emit_[1] = {0x7d};
826 const uint8_t HuffDecoderCommon::table8_28_emit_[1] = {0x3c};
827 const uint16_t HuffDecoderCommon::table8_28_ops_[128] = {
828     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
829     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
830     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
831     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
832     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
833     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
834     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
835     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
836     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
837     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
838     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
839     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
840     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
841     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
842     0x0005, 0x0005};
843 const uint8_t HuffDecoderCommon::table8_29_emit_[1] = {0x60};
844 const uint8_t HuffDecoderCommon::table8_30_emit_[1] = {0x7b};
845 const uint8_t HuffDecoderCommon::table8_31_emit_[50] = {
846     0x5c, 0xc3, 0xd0, 0x80, 0x82, 0x83, 0xa2, 0xb8, 0xc2, 0xe0,
847     0xe2, 0x99, 0xa1, 0xa7, 0xac, 0xb0, 0xb1, 0xb3, 0xd1, 0xd8,
848     0xd9, 0xe3, 0xe5, 0xe6, 0x81, 0x84, 0x85, 0x86, 0x88, 0x92,
849     0x9a, 0x9c, 0xa0, 0xa3, 0xa4, 0xa9, 0xaa, 0xad, 0xb2, 0xb5,
850     0xb9, 0xba, 0xbb, 0xbd, 0xbe, 0xc4, 0xc6, 0xe4, 0xe8, 0xe9};
851 const uint16_t HuffDecoderCommon::table8_31_ops_[128] = {
852     0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0209,
853     0x0209, 0x0209, 0x0209, 0x0209, 0x0209, 0x0209, 0x0209, 0x0409, 0x0409,
854     0x0409, 0x0409, 0x0409, 0x0409, 0x0409, 0x0409, 0x060a, 0x060a, 0x060a,
855     0x060a, 0x080a, 0x080a, 0x080a, 0x080a, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a,
856     0x0c0a, 0x0c0a, 0x0c0a, 0x0c0a, 0x0e0a, 0x0e0a, 0x0e0a, 0x0e0a, 0x100a,
857     0x100a, 0x100a, 0x100a, 0x120a, 0x120a, 0x120a, 0x120a, 0x140a, 0x140a,
858     0x140a, 0x140a, 0x160b, 0x160b, 0x180b, 0x180b, 0x1a0b, 0x1a0b, 0x1c0b,
859     0x1c0b, 0x1e0b, 0x1e0b, 0x200b, 0x200b, 0x220b, 0x220b, 0x240b, 0x240b,
860     0x260b, 0x260b, 0x280b, 0x280b, 0x2a0b, 0x2a0b, 0x2c0b, 0x2c0b, 0x2e0b,
861     0x2e0b, 0x300c, 0x320c, 0x340c, 0x360c, 0x380c, 0x3a0c, 0x3c0c, 0x3e0c,
862     0x400c, 0x420c, 0x440c, 0x460c, 0x480c, 0x4a0c, 0x4c0c, 0x4e0c, 0x500c,
863     0x520c, 0x540c, 0x560c, 0x580c, 0x5a0c, 0x5c0c, 0x5e0c, 0x600c, 0x620c,
864     0x001c, 0x002c, 0x003c, 0x004c, 0x005c, 0x006c, 0x007c, 0x008c, 0x009c,
865     0x00ac, 0x00bc, 0x00cc, 0x00dc, 0x00ec, 0x00fc, 0x010c, 0x011c, 0x012c,
866     0x013c, 0x014c};
867 const uint8_t* const HuffDecoderCommon::table8_emit_[32] = {
868     table8_0_emit_,  table8_0_emit_,  table8_0_emit_,  table8_0_emit_,
869     table8_4_emit_,  table8_4_emit_,  table8_4_emit_,  table8_4_emit_,
870     table8_8_emit_,  table8_8_emit_,  table8_8_emit_,  table8_8_emit_,
871     table8_12_emit_, table8_12_emit_, table8_12_emit_, table8_12_emit_,
872     table8_16_emit_, table8_16_emit_, table8_16_emit_, table8_16_emit_,
873     table8_20_emit_, table8_20_emit_, table8_20_emit_, table8_20_emit_,
874     table8_24_emit_, table8_24_emit_, table8_26_emit_, table8_26_emit_,
875     table8_28_emit_, table8_29_emit_, table8_30_emit_, table8_31_emit_,
876 };
877 const uint16_t* const HuffDecoderCommon::table8_ops_[32] = {
878     table8_0_ops_,  table8_0_ops_,  table8_0_ops_,  table8_0_ops_,
879     table8_0_ops_,  table8_0_ops_,  table8_0_ops_,  table8_0_ops_,
880     table8_0_ops_,  table8_0_ops_,  table8_0_ops_,  table8_0_ops_,
881     table8_0_ops_,  table8_0_ops_,  table8_0_ops_,  table8_0_ops_,
882     table8_0_ops_,  table8_0_ops_,  table8_0_ops_,  table8_0_ops_,
883     table8_0_ops_,  table8_0_ops_,  table8_0_ops_,  table8_0_ops_,
884     table8_24_ops_, table8_24_ops_, table8_24_ops_, table8_24_ops_,
885     table8_28_ops_, table8_28_ops_, table8_28_ops_, table8_31_ops_,
886 };
887 const uint8_t HuffDecoderCommon::table35_0_emit_[15] = {
888     0xc0, 0xc1, 0xc8, 0xc9, 0xca, 0xcd, 0xd2, 0xd5,
889     0xda, 0xdb, 0xee, 0xf0, 0xf2, 0xf3, 0xff};
890 const uint8_t HuffDecoderCommon::table35_0_inner_[16] = {
891     0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e,
892     0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x01};
893 const uint8_t HuffDecoderCommon::table34_0_emit_[17] = {
894     0xc0, 0xc1, 0xc8, 0xc9, 0xca, 0xcd, 0xd2, 0xd5, 0xda,
895     0xdb, 0xee, 0xf0, 0xf2, 0xf3, 0xff, 0xcb, 0xcc};
896 const uint8_t HuffDecoderCommon::table34_0_ops_[32] = {
897     0x04, 0x04, 0x0c, 0x0c, 0x14, 0x14, 0x1c, 0x1c, 0x24, 0x24, 0x2c,
898     0x2c, 0x34, 0x34, 0x3c, 0x3c, 0x44, 0x44, 0x4c, 0x4c, 0x54, 0x54,
899     0x5c, 0x5c, 0x64, 0x64, 0x6c, 0x6c, 0x74, 0x74, 0x7d, 0x85};
900 const uint8_t HuffDecoderCommon::table38_0_emit_[6] = {0xec, 0xed, 0xc7,
901                                                        0xcf, 0xea, 0xeb};
902 const uint8_t HuffDecoderCommon::table38_0_inner_[6] = {0x02, 0x06, 0x0b,
903                                                         0x0f, 0x13, 0x17};
904 const uint8_t HuffDecoderCommon::table41_0_emit_[17] = {
905     0xd3, 0xd4, 0xd6, 0xdd, 0xde, 0xdf, 0xf1, 0xf4, 0xf5,
906     0xf6, 0xf7, 0xf8, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe};
907 const uint8_t HuffDecoderCommon::table41_0_ops_[32] = {
908     0x00, 0x04, 0x08, 0x0c, 0x10, 0x14, 0x18, 0x1c, 0x20, 0x24, 0x28,
909     0x2c, 0x30, 0x34, 0x38, 0x3c, 0x40, 0x01, 0x01, 0x01, 0x01, 0x01,
910     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02};
911 const uint8_t HuffDecoderCommon::table42_0_emit_[46] = {
912     0xd3, 0xd4, 0xd6, 0xdd, 0xde, 0xdf, 0xf1, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
913     0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
914     0x0b, 0x0c, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x17, 0x18,
915     0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x7f, 0xdc, 0xf9};
916 const uint8_t HuffDecoderCommon::table42_0_ops_[64] = {
917     0x00, 0x01, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, 0x00,
918     0x15, 0x00, 0x19, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x25, 0x00, 0x29,
919     0x00, 0x2d, 0x00, 0x31, 0x00, 0x35, 0x00, 0x39, 0x00, 0x3d, 0x00,
920     0x41, 0x45, 0x49, 0x4d, 0x51, 0x55, 0x59, 0x5d, 0x61, 0x65, 0x69,
921     0x6d, 0x71, 0x75, 0x79, 0x7d, 0x81, 0x85, 0x89, 0x8d, 0x91, 0x95,
922     0x99, 0x9d, 0xa1, 0xa5, 0xa9, 0xad, 0xb1, 0xb5, 0x02};
923 const uint8_t HuffDecoderCommon::table43_0_ops_[128] = {
924     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x09,
925     0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x15,
926     0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21,
927     0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2d,
928     0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x39,
929     0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x41, 0x00, 0x45, 0x00, 0x49,
930     0x00, 0x4d, 0x00, 0x51, 0x00, 0x55, 0x00, 0x59, 0x00, 0x5d, 0x00, 0x61,
931     0x00, 0x65, 0x00, 0x69, 0x00, 0x6d, 0x00, 0x71, 0x00, 0x75, 0x00, 0x79,
932     0x00, 0x7d, 0x00, 0x81, 0x00, 0x85, 0x00, 0x89, 0x00, 0x8d, 0x00, 0x91,
933     0x00, 0x95, 0x00, 0x99, 0x00, 0x9d, 0x00, 0xa1, 0x00, 0xa5, 0x00, 0xa9,
934     0x00, 0xad, 0x00, 0xb1, 0x00, 0xb5, 0x00, 0x02};
935 const uint8_t HuffDecoderCommon::table40_0_emit_[4] = {0xd3, 0xd4, 0xd6, 0xdd};
936 const uint16_t HuffDecoderCommon::table40_0_ops_[32] = {
937     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
938     0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0025,
939     0x0045, 0x0045, 0x0045, 0x0045, 0x0045, 0x0045, 0x0045, 0x0045,
940     0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065};
941 const uint8_t HuffDecoderCommon::table40_1_emit_[4] = {0xde, 0xdf, 0xf1, 0xf4};
942 const uint8_t HuffDecoderCommon::table40_2_emit_[4] = {0xf5, 0xf6, 0xf7, 0xf8};
943 const uint8_t HuffDecoderCommon::table40_3_emit_[4] = {0xfa, 0xfb, 0xfc, 0xfd};
944 const uint8_t HuffDecoderCommon::table40_4_emit_[7] = {0xfe, 0x02, 0x03, 0x04,
945                                                        0x05, 0x06, 0x07};
946 const uint16_t HuffDecoderCommon::table40_4_ops_[32] = {
947     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
948     0x0026, 0x0026, 0x0026, 0x0026, 0x0046, 0x0046, 0x0046, 0x0046,
949     0x0066, 0x0066, 0x0066, 0x0066, 0x0086, 0x0086, 0x0086, 0x0086,
950     0x00a6, 0x00a6, 0x00a6, 0x00a6, 0x00c6, 0x00c6, 0x00c6, 0x00c6};
951 const uint8_t HuffDecoderCommon::table40_5_emit_[8] = {0x08, 0x0b, 0x0c, 0x0e,
952                                                        0x0f, 0x10, 0x11, 0x12};
953 const uint16_t HuffDecoderCommon::table40_5_ops_[32] = {
954     0x0006, 0x0006, 0x0006, 0x0006, 0x0026, 0x0026, 0x0026, 0x0026,
955     0x0046, 0x0046, 0x0046, 0x0046, 0x0066, 0x0066, 0x0066, 0x0066,
956     0x0086, 0x0086, 0x0086, 0x0086, 0x00a6, 0x00a6, 0x00a6, 0x00a6,
957     0x00c6, 0x00c6, 0x00c6, 0x00c6, 0x00e6, 0x00e6, 0x00e6, 0x00e6};
958 const uint8_t HuffDecoderCommon::table40_6_emit_[8] = {0x13, 0x14, 0x15, 0x17,
959                                                        0x18, 0x19, 0x1a, 0x1b};
960 const uint8_t HuffDecoderCommon::table40_7_emit_[10] = {
961     0x1c, 0x1d, 0x1e, 0x1f, 0x7f, 0xdc, 0xf9, 0x0a, 0x0d, 0x16};
962 const uint16_t HuffDecoderCommon::table40_7_ops_[32] = {
963     0x0006, 0x0006, 0x0006, 0x0006, 0x0026, 0x0026, 0x0026, 0x0026,
964     0x0046, 0x0046, 0x0046, 0x0046, 0x0066, 0x0066, 0x0066, 0x0066,
965     0x0086, 0x0086, 0x0086, 0x0086, 0x00a6, 0x00a6, 0x00a6, 0x00a6,
966     0x00c6, 0x00c6, 0x00c6, 0x00c6, 0x00e8, 0x0108, 0x0128, 0x0018};
967 const uint8_t* const HuffDecoderCommon::table40_emit_[8] = {
968     table40_0_emit_, table40_1_emit_, table40_2_emit_, table40_3_emit_,
969     table40_4_emit_, table40_5_emit_, table40_6_emit_, table40_7_emit_,
970 };
971 const uint16_t* const HuffDecoderCommon::table40_ops_[8] = {
972     table40_0_ops_, table40_0_ops_, table40_0_ops_, table40_0_ops_,
973     table40_4_ops_, table40_5_ops_, table40_5_ops_, table40_7_ops_,
974 };
975 }  // namespace geometry_10_12_8
976 }  // namespace grpc_core
977