xref: /aosp_15_r20/external/cronet/net/third_party/quiche/src/quiche/http2/hpack/huffman/huffman_spec_tables.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright (c) 2018 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "quiche/http2/hpack/huffman/huffman_spec_tables.h"
6 
7 namespace http2 {
8 
9 // clang-format off
10 // static
11 const uint8_t HuffmanSpecTables::kCodeLengths[] = {
12     13, 23, 28, 28, 28, 28, 28, 28,  //   0 -   7
13     28, 24, 30, 28, 28, 30, 28, 28,  //   8 -  15
14     28, 28, 28, 28, 28, 28, 30, 28,  //  16 -  23
15     28, 28, 28, 28, 28, 28, 28, 28,  //  24 -  31
16      6, 10, 10, 12, 13,  6,  8, 11,  //  32 -  39
17     10, 10,  8, 11,  8,  6,  6,  6,  //  40 -  47
18      5,  5,  5,  6,  6,  6,  6,  6,  //  48 -  55
19      6,  6,  7,  8, 15,  6, 12, 10,  //  56 -  63
20     13,  6,  7,  7,  7,  7,  7,  7,  //  64 -  71
21      7,  7,  7,  7,  7,  7,  7,  7,  //  72 -  79
22      7,  7,  7,  7,  7,  7,  7,  7,  //  80 -  87
23      8,  7,  8, 13, 19, 13, 14,  6,  //  88 -  95
24     15,  5,  6,  5,  6,  5,  6,  6,  //  96 - 103
25      6,  5,  7,  7,  6,  6,  6,  5,  // 104 - 111
26      6,  7,  6,  5,  5,  6,  7,  7,  // 112 - 119
27      7,  7,  7, 15, 11, 14, 13, 28,  // 120 - 127
28     20, 22, 20, 20, 22, 22, 22, 23,  // 128 - 135
29     22, 23, 23, 23, 23, 23, 24, 23,  // 136 - 143
30     24, 24, 22, 23, 24, 23, 23, 23,  // 144 - 151
31     23, 21, 22, 23, 22, 23, 23, 24,  // 152 - 159
32     22, 21, 20, 22, 22, 23, 23, 21,  // 160 - 167
33     23, 22, 22, 24, 21, 22, 23, 23,  // 168 - 175
34     21, 21, 22, 21, 23, 22, 23, 23,  // 176 - 183
35     20, 22, 22, 22, 23, 22, 22, 23,  // 184 - 191
36     26, 26, 20, 19, 22, 23, 22, 25,  // 192 - 199
37     26, 26, 26, 27, 27, 26, 24, 25,  // 200 - 207
38     19, 21, 26, 27, 27, 26, 27, 24,  // 208 - 215
39     21, 21, 26, 26, 28, 27, 27, 27,  // 216 - 223
40     20, 24, 20, 21, 22, 21, 21, 23,  // 224 - 231
41     22, 22, 25, 25, 24, 24, 26, 23,  // 232 - 239
42     26, 27, 26, 26, 27, 27, 27, 27,  // 240 - 247
43     27, 28, 27, 27, 27, 27, 27, 26,  // 248 - 255
44     30,                              // 256
45 };
46 
47 // The encoding of each symbol, left justified (as printed), which means that
48 // the first bit of the encoding is the high-order bit of the uint32.
49 // static
50 const uint32_t HuffmanSpecTables::kLeftCodes[] = {
51     0b11111111110000000000000000000000,  // 0x00
52     0b11111111111111111011000000000000,  // 0x01
53     0b11111111111111111111111000100000,  // 0x02
54     0b11111111111111111111111000110000,  // 0x03
55     0b11111111111111111111111001000000,  // 0x04
56     0b11111111111111111111111001010000,  // 0x05
57     0b11111111111111111111111001100000,  // 0x06
58     0b11111111111111111111111001110000,  // 0x07
59     0b11111111111111111111111010000000,  // 0x08
60     0b11111111111111111110101000000000,  // 0x09
61     0b11111111111111111111111111110000,  // 0x0a
62     0b11111111111111111111111010010000,  // 0x0b
63     0b11111111111111111111111010100000,  // 0x0c
64     0b11111111111111111111111111110100,  // 0x0d
65     0b11111111111111111111111010110000,  // 0x0e
66     0b11111111111111111111111011000000,  // 0x0f
67     0b11111111111111111111111011010000,  // 0x10
68     0b11111111111111111111111011100000,  // 0x11
69     0b11111111111111111111111011110000,  // 0x12
70     0b11111111111111111111111100000000,  // 0x13
71     0b11111111111111111111111100010000,  // 0x14
72     0b11111111111111111111111100100000,  // 0x15
73     0b11111111111111111111111111111000,  // 0x16
74     0b11111111111111111111111100110000,  // 0x17
75     0b11111111111111111111111101000000,  // 0x18
76     0b11111111111111111111111101010000,  // 0x19
77     0b11111111111111111111111101100000,  // 0x1a
78     0b11111111111111111111111101110000,  // 0x1b
79     0b11111111111111111111111110000000,  // 0x1c
80     0b11111111111111111111111110010000,  // 0x1d
81     0b11111111111111111111111110100000,  // 0x1e
82     0b11111111111111111111111110110000,  // 0x1f
83     0b01010000000000000000000000000000,  // 0x20
84     0b11111110000000000000000000000000,  // '!'
85     0b11111110010000000000000000000000,  // '\"'
86     0b11111111101000000000000000000000,  // '#'
87     0b11111111110010000000000000000000,  // '$'
88     0b01010100000000000000000000000000,  // '%'
89     0b11111000000000000000000000000000,  // '&'
90     0b11111111010000000000000000000000,  // '\''
91     0b11111110100000000000000000000000,  // '('
92     0b11111110110000000000000000000000,  // ')'
93     0b11111001000000000000000000000000,  // '*'
94     0b11111111011000000000000000000000,  // '+'
95     0b11111010000000000000000000000000,  // ','
96     0b01011000000000000000000000000000,  // '-'
97     0b01011100000000000000000000000000,  // '.'
98     0b01100000000000000000000000000000,  // '/'
99     0b00000000000000000000000000000000,  // '0'
100     0b00001000000000000000000000000000,  // '1'
101     0b00010000000000000000000000000000,  // '2'
102     0b01100100000000000000000000000000,  // '3'
103     0b01101000000000000000000000000000,  // '4'
104     0b01101100000000000000000000000000,  // '5'
105     0b01110000000000000000000000000000,  // '6'
106     0b01110100000000000000000000000000,  // '7'
107     0b01111000000000000000000000000000,  // '8'
108     0b01111100000000000000000000000000,  // '9'
109     0b10111000000000000000000000000000,  // ':'
110     0b11111011000000000000000000000000,  // ';'
111     0b11111111111110000000000000000000,  // '<'
112     0b10000000000000000000000000000000,  // '='
113     0b11111111101100000000000000000000,  // '>'
114     0b11111111000000000000000000000000,  // '?'
115     0b11111111110100000000000000000000,  // '@'
116     0b10000100000000000000000000000000,  // 'A'
117     0b10111010000000000000000000000000,  // 'B'
118     0b10111100000000000000000000000000,  // 'C'
119     0b10111110000000000000000000000000,  // 'D'
120     0b11000000000000000000000000000000,  // 'E'
121     0b11000010000000000000000000000000,  // 'F'
122     0b11000100000000000000000000000000,  // 'G'
123     0b11000110000000000000000000000000,  // 'H'
124     0b11001000000000000000000000000000,  // 'I'
125     0b11001010000000000000000000000000,  // 'J'
126     0b11001100000000000000000000000000,  // 'K'
127     0b11001110000000000000000000000000,  // 'L'
128     0b11010000000000000000000000000000,  // 'M'
129     0b11010010000000000000000000000000,  // 'N'
130     0b11010100000000000000000000000000,  // 'O'
131     0b11010110000000000000000000000000,  // 'P'
132     0b11011000000000000000000000000000,  // 'Q'
133     0b11011010000000000000000000000000,  // 'R'
134     0b11011100000000000000000000000000,  // 'S'
135     0b11011110000000000000000000000000,  // 'T'
136     0b11100000000000000000000000000000,  // 'U'
137     0b11100010000000000000000000000000,  // 'V'
138     0b11100100000000000000000000000000,  // 'W'
139     0b11111100000000000000000000000000,  // 'X'
140     0b11100110000000000000000000000000,  // 'Y'
141     0b11111101000000000000000000000000,  // 'Z'
142     0b11111111110110000000000000000000,  // '['
143     0b11111111111111100000000000000000,  // '\\'
144     0b11111111111000000000000000000000,  // ']'
145     0b11111111111100000000000000000000,  // '^'
146     0b10001000000000000000000000000000,  // '_'
147     0b11111111111110100000000000000000,  // '`'
148     0b00011000000000000000000000000000,  // 'a'
149     0b10001100000000000000000000000000,  // 'b'
150     0b00100000000000000000000000000000,  // 'c'
151     0b10010000000000000000000000000000,  // 'd'
152     0b00101000000000000000000000000000,  // 'e'
153     0b10010100000000000000000000000000,  // 'f'
154     0b10011000000000000000000000000000,  // 'g'
155     0b10011100000000000000000000000000,  // 'h'
156     0b00110000000000000000000000000000,  // 'i'
157     0b11101000000000000000000000000000,  // 'j'
158     0b11101010000000000000000000000000,  // 'k'
159     0b10100000000000000000000000000000,  // 'l'
160     0b10100100000000000000000000000000,  // 'm'
161     0b10101000000000000000000000000000,  // 'n'
162     0b00111000000000000000000000000000,  // 'o'
163     0b10101100000000000000000000000000,  // 'p'
164     0b11101100000000000000000000000000,  // 'q'
165     0b10110000000000000000000000000000,  // 'r'
166     0b01000000000000000000000000000000,  // 's'
167     0b01001000000000000000000000000000,  // 't'
168     0b10110100000000000000000000000000,  // 'u'
169     0b11101110000000000000000000000000,  // 'v'
170     0b11110000000000000000000000000000,  // 'w'
171     0b11110010000000000000000000000000,  // 'x'
172     0b11110100000000000000000000000000,  // 'y'
173     0b11110110000000000000000000000000,  // 'z'
174     0b11111111111111000000000000000000,  // '{'
175     0b11111111100000000000000000000000,  // '|'
176     0b11111111111101000000000000000000,  // '}'
177     0b11111111111010000000000000000000,  // '~'
178     0b11111111111111111111111111000000,  // 0x7f
179     0b11111111111111100110000000000000,  // 0x80
180     0b11111111111111110100100000000000,  // 0x81
181     0b11111111111111100111000000000000,  // 0x82
182     0b11111111111111101000000000000000,  // 0x83
183     0b11111111111111110100110000000000,  // 0x84
184     0b11111111111111110101000000000000,  // 0x85
185     0b11111111111111110101010000000000,  // 0x86
186     0b11111111111111111011001000000000,  // 0x87
187     0b11111111111111110101100000000000,  // 0x88
188     0b11111111111111111011010000000000,  // 0x89
189     0b11111111111111111011011000000000,  // 0x8a
190     0b11111111111111111011100000000000,  // 0x8b
191     0b11111111111111111011101000000000,  // 0x8c
192     0b11111111111111111011110000000000,  // 0x8d
193     0b11111111111111111110101100000000,  // 0x8e
194     0b11111111111111111011111000000000,  // 0x8f
195     0b11111111111111111110110000000000,  // 0x90
196     0b11111111111111111110110100000000,  // 0x91
197     0b11111111111111110101110000000000,  // 0x92
198     0b11111111111111111100000000000000,  // 0x93
199     0b11111111111111111110111000000000,  // 0x94
200     0b11111111111111111100001000000000,  // 0x95
201     0b11111111111111111100010000000000,  // 0x96
202     0b11111111111111111100011000000000,  // 0x97
203     0b11111111111111111100100000000000,  // 0x98
204     0b11111111111111101110000000000000,  // 0x99
205     0b11111111111111110110000000000000,  // 0x9a
206     0b11111111111111111100101000000000,  // 0x9b
207     0b11111111111111110110010000000000,  // 0x9c
208     0b11111111111111111100110000000000,  // 0x9d
209     0b11111111111111111100111000000000,  // 0x9e
210     0b11111111111111111110111100000000,  // 0x9f
211     0b11111111111111110110100000000000,  // 0xa0
212     0b11111111111111101110100000000000,  // 0xa1
213     0b11111111111111101001000000000000,  // 0xa2
214     0b11111111111111110110110000000000,  // 0xa3
215     0b11111111111111110111000000000000,  // 0xa4
216     0b11111111111111111101000000000000,  // 0xa5
217     0b11111111111111111101001000000000,  // 0xa6
218     0b11111111111111101111000000000000,  // 0xa7
219     0b11111111111111111101010000000000,  // 0xa8
220     0b11111111111111110111010000000000,  // 0xa9
221     0b11111111111111110111100000000000,  // 0xaa
222     0b11111111111111111111000000000000,  // 0xab
223     0b11111111111111101111100000000000,  // 0xac
224     0b11111111111111110111110000000000,  // 0xad
225     0b11111111111111111101011000000000,  // 0xae
226     0b11111111111111111101100000000000,  // 0xaf
227     0b11111111111111110000000000000000,  // 0xb0
228     0b11111111111111110000100000000000,  // 0xb1
229     0b11111111111111111000000000000000,  // 0xb2
230     0b11111111111111110001000000000000,  // 0xb3
231     0b11111111111111111101101000000000,  // 0xb4
232     0b11111111111111111000010000000000,  // 0xb5
233     0b11111111111111111101110000000000,  // 0xb6
234     0b11111111111111111101111000000000,  // 0xb7
235     0b11111111111111101010000000000000,  // 0xb8
236     0b11111111111111111000100000000000,  // 0xb9
237     0b11111111111111111000110000000000,  // 0xba
238     0b11111111111111111001000000000000,  // 0xbb
239     0b11111111111111111110000000000000,  // 0xbc
240     0b11111111111111111001010000000000,  // 0xbd
241     0b11111111111111111001100000000000,  // 0xbe
242     0b11111111111111111110001000000000,  // 0xbf
243     0b11111111111111111111100000000000,  // 0xc0
244     0b11111111111111111111100001000000,  // 0xc1
245     0b11111111111111101011000000000000,  // 0xc2
246     0b11111111111111100010000000000000,  // 0xc3
247     0b11111111111111111001110000000000,  // 0xc4
248     0b11111111111111111110010000000000,  // 0xc5
249     0b11111111111111111010000000000000,  // 0xc6
250     0b11111111111111111111011000000000,  // 0xc7
251     0b11111111111111111111100010000000,  // 0xc8
252     0b11111111111111111111100011000000,  // 0xc9
253     0b11111111111111111111100100000000,  // 0xca
254     0b11111111111111111111101111000000,  // 0xcb
255     0b11111111111111111111101111100000,  // 0xcc
256     0b11111111111111111111100101000000,  // 0xcd
257     0b11111111111111111111000100000000,  // 0xce
258     0b11111111111111111111011010000000,  // 0xcf
259     0b11111111111111100100000000000000,  // 0xd0
260     0b11111111111111110001100000000000,  // 0xd1
261     0b11111111111111111111100110000000,  // 0xd2
262     0b11111111111111111111110000000000,  // 0xd3
263     0b11111111111111111111110000100000,  // 0xd4
264     0b11111111111111111111100111000000,  // 0xd5
265     0b11111111111111111111110001000000,  // 0xd6
266     0b11111111111111111111001000000000,  // 0xd7
267     0b11111111111111110010000000000000,  // 0xd8
268     0b11111111111111110010100000000000,  // 0xd9
269     0b11111111111111111111101000000000,  // 0xda
270     0b11111111111111111111101001000000,  // 0xdb
271     0b11111111111111111111111111010000,  // 0xdc
272     0b11111111111111111111110001100000,  // 0xdd
273     0b11111111111111111111110010000000,  // 0xde
274     0b11111111111111111111110010100000,  // 0xdf
275     0b11111111111111101100000000000000,  // 0xe0
276     0b11111111111111111111001100000000,  // 0xe1
277     0b11111111111111101101000000000000,  // 0xe2
278     0b11111111111111110011000000000000,  // 0xe3
279     0b11111111111111111010010000000000,  // 0xe4
280     0b11111111111111110011100000000000,  // 0xe5
281     0b11111111111111110100000000000000,  // 0xe6
282     0b11111111111111111110011000000000,  // 0xe7
283     0b11111111111111111010100000000000,  // 0xe8
284     0b11111111111111111010110000000000,  // 0xe9
285     0b11111111111111111111011100000000,  // 0xea
286     0b11111111111111111111011110000000,  // 0xeb
287     0b11111111111111111111010000000000,  // 0xec
288     0b11111111111111111111010100000000,  // 0xed
289     0b11111111111111111111101010000000,  // 0xee
290     0b11111111111111111110100000000000,  // 0xef
291     0b11111111111111111111101011000000,  // 0xf0
292     0b11111111111111111111110011000000,  // 0xf1
293     0b11111111111111111111101100000000,  // 0xf2
294     0b11111111111111111111101101000000,  // 0xf3
295     0b11111111111111111111110011100000,  // 0xf4
296     0b11111111111111111111110100000000,  // 0xf5
297     0b11111111111111111111110100100000,  // 0xf6
298     0b11111111111111111111110101000000,  // 0xf7
299     0b11111111111111111111110101100000,  // 0xf8
300     0b11111111111111111111111111100000,  // 0xf9
301     0b11111111111111111111110110000000,  // 0xfa
302     0b11111111111111111111110110100000,  // 0xfb
303     0b11111111111111111111110111000000,  // 0xfc
304     0b11111111111111111111110111100000,  // 0xfd
305     0b11111111111111111111111000000000,  // 0xfe
306     0b11111111111111111111101110000000,  // 0xff
307     0b11111111111111111111111111111100,  // 0x100
308 };
309 
310 // static
311 const uint32_t HuffmanSpecTables::kRightCodes[] = {
312     0b00000000000000000001111111111000,  // 0x00
313     0b00000000011111111111111111011000,  // 0x01
314     0b00001111111111111111111111100010,  // 0x02
315     0b00001111111111111111111111100011,  // 0x03
316     0b00001111111111111111111111100100,  // 0x04
317     0b00001111111111111111111111100101,  // 0x05
318     0b00001111111111111111111111100110,  // 0x06
319     0b00001111111111111111111111100111,  // 0x07
320     0b00001111111111111111111111101000,  // 0x08
321     0b00000000111111111111111111101010,  // 0x09
322     0b00111111111111111111111111111100,  // 0x0a
323     0b00001111111111111111111111101001,  // 0x0b
324     0b00001111111111111111111111101010,  // 0x0c
325     0b00111111111111111111111111111101,  // 0x0d
326     0b00001111111111111111111111101011,  // 0x0e
327     0b00001111111111111111111111101100,  // 0x0f
328     0b00001111111111111111111111101101,  // 0x10
329     0b00001111111111111111111111101110,  // 0x11
330     0b00001111111111111111111111101111,  // 0x12
331     0b00001111111111111111111111110000,  // 0x13
332     0b00001111111111111111111111110001,  // 0x14
333     0b00001111111111111111111111110010,  // 0x15
334     0b00111111111111111111111111111110,  // 0x16
335     0b00001111111111111111111111110011,  // 0x17
336     0b00001111111111111111111111110100,  // 0x18
337     0b00001111111111111111111111110101,  // 0x19
338     0b00001111111111111111111111110110,  // 0x1a
339     0b00001111111111111111111111110111,  // 0x1b
340     0b00001111111111111111111111111000,  // 0x1c
341     0b00001111111111111111111111111001,  // 0x1d
342     0b00001111111111111111111111111010,  // 0x1e
343     0b00001111111111111111111111111011,  // 0x1f
344     0b00000000000000000000000000010100,  // 0x20
345     0b00000000000000000000001111111000,  // '!'
346     0b00000000000000000000001111111001,  // '\"'
347     0b00000000000000000000111111111010,  // '#'
348     0b00000000000000000001111111111001,  // '$'
349     0b00000000000000000000000000010101,  // '%'
350     0b00000000000000000000000011111000,  // '&'
351     0b00000000000000000000011111111010,  // '\''
352     0b00000000000000000000001111111010,  // '('
353     0b00000000000000000000001111111011,  // ')'
354     0b00000000000000000000000011111001,  // '*'
355     0b00000000000000000000011111111011,  // '+'
356     0b00000000000000000000000011111010,  // ','
357     0b00000000000000000000000000010110,  // '-'
358     0b00000000000000000000000000010111,  // '.'
359     0b00000000000000000000000000011000,  // '/'
360     0b00000000000000000000000000000000,  // '0'
361     0b00000000000000000000000000000001,  // '1'
362     0b00000000000000000000000000000010,  // '2'
363     0b00000000000000000000000000011001,  // '3'
364     0b00000000000000000000000000011010,  // '4'
365     0b00000000000000000000000000011011,  // '5'
366     0b00000000000000000000000000011100,  // '6'
367     0b00000000000000000000000000011101,  // '7'
368     0b00000000000000000000000000011110,  // '8'
369     0b00000000000000000000000000011111,  // '9'
370     0b00000000000000000000000001011100,  // ':'
371     0b00000000000000000000000011111011,  // ';'
372     0b00000000000000000111111111111100,  // '<'
373     0b00000000000000000000000000100000,  // '='
374     0b00000000000000000000111111111011,  // '>'
375     0b00000000000000000000001111111100,  // '?'
376     0b00000000000000000001111111111010,  // '@'
377     0b00000000000000000000000000100001,  // 'A'
378     0b00000000000000000000000001011101,  // 'B'
379     0b00000000000000000000000001011110,  // 'C'
380     0b00000000000000000000000001011111,  // 'D'
381     0b00000000000000000000000001100000,  // 'E'
382     0b00000000000000000000000001100001,  // 'F'
383     0b00000000000000000000000001100010,  // 'G'
384     0b00000000000000000000000001100011,  // 'H'
385     0b00000000000000000000000001100100,  // 'I'
386     0b00000000000000000000000001100101,  // 'J'
387     0b00000000000000000000000001100110,  // 'K'
388     0b00000000000000000000000001100111,  // 'L'
389     0b00000000000000000000000001101000,  // 'M'
390     0b00000000000000000000000001101001,  // 'N'
391     0b00000000000000000000000001101010,  // 'O'
392     0b00000000000000000000000001101011,  // 'P'
393     0b00000000000000000000000001101100,  // 'Q'
394     0b00000000000000000000000001101101,  // 'R'
395     0b00000000000000000000000001101110,  // 'S'
396     0b00000000000000000000000001101111,  // 'T'
397     0b00000000000000000000000001110000,  // 'U'
398     0b00000000000000000000000001110001,  // 'V'
399     0b00000000000000000000000001110010,  // 'W'
400     0b00000000000000000000000011111100,  // 'X'
401     0b00000000000000000000000001110011,  // 'Y'
402     0b00000000000000000000000011111101,  // 'Z'
403     0b00000000000000000001111111111011,  // '['
404     0b00000000000001111111111111110000,  // '\\'
405     0b00000000000000000001111111111100,  // ']'
406     0b00000000000000000011111111111100,  // '^'
407     0b00000000000000000000000000100010,  // '_'
408     0b00000000000000000111111111111101,  // '`'
409     0b00000000000000000000000000000011,  // 'a'
410     0b00000000000000000000000000100011,  // 'b'
411     0b00000000000000000000000000000100,  // 'c'
412     0b00000000000000000000000000100100,  // 'd'
413     0b00000000000000000000000000000101,  // 'e'
414     0b00000000000000000000000000100101,  // 'f'
415     0b00000000000000000000000000100110,  // 'g'
416     0b00000000000000000000000000100111,  // 'h'
417     0b00000000000000000000000000000110,  // 'i'
418     0b00000000000000000000000001110100,  // 'j'
419     0b00000000000000000000000001110101,  // 'k'
420     0b00000000000000000000000000101000,  // 'l'
421     0b00000000000000000000000000101001,  // 'm'
422     0b00000000000000000000000000101010,  // 'n'
423     0b00000000000000000000000000000111,  // 'o'
424     0b00000000000000000000000000101011,  // 'p'
425     0b00000000000000000000000001110110,  // 'q'
426     0b00000000000000000000000000101100,  // 'r'
427     0b00000000000000000000000000001000,  // 's'
428     0b00000000000000000000000000001001,  // 't'
429     0b00000000000000000000000000101101,  // 'u'
430     0b00000000000000000000000001110111,  // 'v'
431     0b00000000000000000000000001111000,  // 'w'
432     0b00000000000000000000000001111001,  // 'x'
433     0b00000000000000000000000001111010,  // 'y'
434     0b00000000000000000000000001111011,  // 'z'
435     0b00000000000000000111111111111110,  // '{'
436     0b00000000000000000000011111111100,  // '|'
437     0b00000000000000000011111111111101,  // '}'
438     0b00000000000000000001111111111101,  // '~'
439     0b00001111111111111111111111111100,  // 0x7f
440     0b00000000000011111111111111100110,  // 0x80
441     0b00000000001111111111111111010010,  // 0x81
442     0b00000000000011111111111111100111,  // 0x82
443     0b00000000000011111111111111101000,  // 0x83
444     0b00000000001111111111111111010011,  // 0x84
445     0b00000000001111111111111111010100,  // 0x85
446     0b00000000001111111111111111010101,  // 0x86
447     0b00000000011111111111111111011001,  // 0x87
448     0b00000000001111111111111111010110,  // 0x88
449     0b00000000011111111111111111011010,  // 0x89
450     0b00000000011111111111111111011011,  // 0x8a
451     0b00000000011111111111111111011100,  // 0x8b
452     0b00000000011111111111111111011101,  // 0x8c
453     0b00000000011111111111111111011110,  // 0x8d
454     0b00000000111111111111111111101011,  // 0x8e
455     0b00000000011111111111111111011111,  // 0x8f
456     0b00000000111111111111111111101100,  // 0x90
457     0b00000000111111111111111111101101,  // 0x91
458     0b00000000001111111111111111010111,  // 0x92
459     0b00000000011111111111111111100000,  // 0x93
460     0b00000000111111111111111111101110,  // 0x94
461     0b00000000011111111111111111100001,  // 0x95
462     0b00000000011111111111111111100010,  // 0x96
463     0b00000000011111111111111111100011,  // 0x97
464     0b00000000011111111111111111100100,  // 0x98
465     0b00000000000111111111111111011100,  // 0x99
466     0b00000000001111111111111111011000,  // 0x9a
467     0b00000000011111111111111111100101,  // 0x9b
468     0b00000000001111111111111111011001,  // 0x9c
469     0b00000000011111111111111111100110,  // 0x9d
470     0b00000000011111111111111111100111,  // 0x9e
471     0b00000000111111111111111111101111,  // 0x9f
472     0b00000000001111111111111111011010,  // 0xa0
473     0b00000000000111111111111111011101,  // 0xa1
474     0b00000000000011111111111111101001,  // 0xa2
475     0b00000000001111111111111111011011,  // 0xa3
476     0b00000000001111111111111111011100,  // 0xa4
477     0b00000000011111111111111111101000,  // 0xa5
478     0b00000000011111111111111111101001,  // 0xa6
479     0b00000000000111111111111111011110,  // 0xa7
480     0b00000000011111111111111111101010,  // 0xa8
481     0b00000000001111111111111111011101,  // 0xa9
482     0b00000000001111111111111111011110,  // 0xaa
483     0b00000000111111111111111111110000,  // 0xab
484     0b00000000000111111111111111011111,  // 0xac
485     0b00000000001111111111111111011111,  // 0xad
486     0b00000000011111111111111111101011,  // 0xae
487     0b00000000011111111111111111101100,  // 0xaf
488     0b00000000000111111111111111100000,  // 0xb0
489     0b00000000000111111111111111100001,  // 0xb1
490     0b00000000001111111111111111100000,  // 0xb2
491     0b00000000000111111111111111100010,  // 0xb3
492     0b00000000011111111111111111101101,  // 0xb4
493     0b00000000001111111111111111100001,  // 0xb5
494     0b00000000011111111111111111101110,  // 0xb6
495     0b00000000011111111111111111101111,  // 0xb7
496     0b00000000000011111111111111101010,  // 0xb8
497     0b00000000001111111111111111100010,  // 0xb9
498     0b00000000001111111111111111100011,  // 0xba
499     0b00000000001111111111111111100100,  // 0xbb
500     0b00000000011111111111111111110000,  // 0xbc
501     0b00000000001111111111111111100101,  // 0xbd
502     0b00000000001111111111111111100110,  // 0xbe
503     0b00000000011111111111111111110001,  // 0xbf
504     0b00000011111111111111111111100000,  // 0xc0
505     0b00000011111111111111111111100001,  // 0xc1
506     0b00000000000011111111111111101011,  // 0xc2
507     0b00000000000001111111111111110001,  // 0xc3
508     0b00000000001111111111111111100111,  // 0xc4
509     0b00000000011111111111111111110010,  // 0xc5
510     0b00000000001111111111111111101000,  // 0xc6
511     0b00000001111111111111111111101100,  // 0xc7
512     0b00000011111111111111111111100010,  // 0xc8
513     0b00000011111111111111111111100011,  // 0xc9
514     0b00000011111111111111111111100100,  // 0xca
515     0b00000111111111111111111111011110,  // 0xcb
516     0b00000111111111111111111111011111,  // 0xcc
517     0b00000011111111111111111111100101,  // 0xcd
518     0b00000000111111111111111111110001,  // 0xce
519     0b00000001111111111111111111101101,  // 0xcf
520     0b00000000000001111111111111110010,  // 0xd0
521     0b00000000000111111111111111100011,  // 0xd1
522     0b00000011111111111111111111100110,  // 0xd2
523     0b00000111111111111111111111100000,  // 0xd3
524     0b00000111111111111111111111100001,  // 0xd4
525     0b00000011111111111111111111100111,  // 0xd5
526     0b00000111111111111111111111100010,  // 0xd6
527     0b00000000111111111111111111110010,  // 0xd7
528     0b00000000000111111111111111100100,  // 0xd8
529     0b00000000000111111111111111100101,  // 0xd9
530     0b00000011111111111111111111101000,  // 0xda
531     0b00000011111111111111111111101001,  // 0xdb
532     0b00001111111111111111111111111101,  // 0xdc
533     0b00000111111111111111111111100011,  // 0xdd
534     0b00000111111111111111111111100100,  // 0xde
535     0b00000111111111111111111111100101,  // 0xdf
536     0b00000000000011111111111111101100,  // 0xe0
537     0b00000000111111111111111111110011,  // 0xe1
538     0b00000000000011111111111111101101,  // 0xe2
539     0b00000000000111111111111111100110,  // 0xe3
540     0b00000000001111111111111111101001,  // 0xe4
541     0b00000000000111111111111111100111,  // 0xe5
542     0b00000000000111111111111111101000,  // 0xe6
543     0b00000000011111111111111111110011,  // 0xe7
544     0b00000000001111111111111111101010,  // 0xe8
545     0b00000000001111111111111111101011,  // 0xe9
546     0b00000001111111111111111111101110,  // 0xea
547     0b00000001111111111111111111101111,  // 0xeb
548     0b00000000111111111111111111110100,  // 0xec
549     0b00000000111111111111111111110101,  // 0xed
550     0b00000011111111111111111111101010,  // 0xee
551     0b00000000011111111111111111110100,  // 0xef
552     0b00000011111111111111111111101011,  // 0xf0
553     0b00000111111111111111111111100110,  // 0xf1
554     0b00000011111111111111111111101100,  // 0xf2
555     0b00000011111111111111111111101101,  // 0xf3
556     0b00000111111111111111111111100111,  // 0xf4
557     0b00000111111111111111111111101000,  // 0xf5
558     0b00000111111111111111111111101001,  // 0xf6
559     0b00000111111111111111111111101010,  // 0xf7
560     0b00000111111111111111111111101011,  // 0xf8
561     0b00001111111111111111111111111110,  // 0xf9
562     0b00000111111111111111111111101100,  // 0xfa
563     0b00000111111111111111111111101101,  // 0xfb
564     0b00000111111111111111111111101110,  // 0xfc
565     0b00000111111111111111111111101111,  // 0xfd
566     0b00000111111111111111111111110000,  // 0xfe
567     0b00000011111111111111111111101110,  // 0xff
568     0b00111111111111111111111111111111,  // 0x100
569 };
570 // clang-format off
571 
572 }  // namespace http2
573