1# -*- coding: utf-8 -*-
2"""
3hpack/huffman_constants
4~~~~~~~~~~~~~~~~~~~~~~~
5
6Defines the constant Huffman table. This takes up an upsetting amount of space,
7but c'est la vie.
8"""
9
10REQUEST_CODES = [
11    0x1ff8,
12    0x7fffd8,
13    0xfffffe2,
14    0xfffffe3,
15    0xfffffe4,
16    0xfffffe5,
17    0xfffffe6,
18    0xfffffe7,
19    0xfffffe8,
20    0xffffea,
21    0x3ffffffc,
22    0xfffffe9,
23    0xfffffea,
24    0x3ffffffd,
25    0xfffffeb,
26    0xfffffec,
27    0xfffffed,
28    0xfffffee,
29    0xfffffef,
30    0xffffff0,
31    0xffffff1,
32    0xffffff2,
33    0x3ffffffe,
34    0xffffff3,
35    0xffffff4,
36    0xffffff5,
37    0xffffff6,
38    0xffffff7,
39    0xffffff8,
40    0xffffff9,
41    0xffffffa,
42    0xffffffb,
43    0x14,
44    0x3f8,
45    0x3f9,
46    0xffa,
47    0x1ff9,
48    0x15,
49    0xf8,
50    0x7fa,
51    0x3fa,
52    0x3fb,
53    0xf9,
54    0x7fb,
55    0xfa,
56    0x16,
57    0x17,
58    0x18,
59    0x0,
60    0x1,
61    0x2,
62    0x19,
63    0x1a,
64    0x1b,
65    0x1c,
66    0x1d,
67    0x1e,
68    0x1f,
69    0x5c,
70    0xfb,
71    0x7ffc,
72    0x20,
73    0xffb,
74    0x3fc,
75    0x1ffa,
76    0x21,
77    0x5d,
78    0x5e,
79    0x5f,
80    0x60,
81    0x61,
82    0x62,
83    0x63,
84    0x64,
85    0x65,
86    0x66,
87    0x67,
88    0x68,
89    0x69,
90    0x6a,
91    0x6b,
92    0x6c,
93    0x6d,
94    0x6e,
95    0x6f,
96    0x70,
97    0x71,
98    0x72,
99    0xfc,
100    0x73,
101    0xfd,
102    0x1ffb,
103    0x7fff0,
104    0x1ffc,
105    0x3ffc,
106    0x22,
107    0x7ffd,
108    0x3,
109    0x23,
110    0x4,
111    0x24,
112    0x5,
113    0x25,
114    0x26,
115    0x27,
116    0x6,
117    0x74,
118    0x75,
119    0x28,
120    0x29,
121    0x2a,
122    0x7,
123    0x2b,
124    0x76,
125    0x2c,
126    0x8,
127    0x9,
128    0x2d,
129    0x77,
130    0x78,
131    0x79,
132    0x7a,
133    0x7b,
134    0x7ffe,
135    0x7fc,
136    0x3ffd,
137    0x1ffd,
138    0xffffffc,
139    0xfffe6,
140    0x3fffd2,
141    0xfffe7,
142    0xfffe8,
143    0x3fffd3,
144    0x3fffd4,
145    0x3fffd5,
146    0x7fffd9,
147    0x3fffd6,
148    0x7fffda,
149    0x7fffdb,
150    0x7fffdc,
151    0x7fffdd,
152    0x7fffde,
153    0xffffeb,
154    0x7fffdf,
155    0xffffec,
156    0xffffed,
157    0x3fffd7,
158    0x7fffe0,
159    0xffffee,
160    0x7fffe1,
161    0x7fffe2,
162    0x7fffe3,
163    0x7fffe4,
164    0x1fffdc,
165    0x3fffd8,
166    0x7fffe5,
167    0x3fffd9,
168    0x7fffe6,
169    0x7fffe7,
170    0xffffef,
171    0x3fffda,
172    0x1fffdd,
173    0xfffe9,
174    0x3fffdb,
175    0x3fffdc,
176    0x7fffe8,
177    0x7fffe9,
178    0x1fffde,
179    0x7fffea,
180    0x3fffdd,
181    0x3fffde,
182    0xfffff0,
183    0x1fffdf,
184    0x3fffdf,
185    0x7fffeb,
186    0x7fffec,
187    0x1fffe0,
188    0x1fffe1,
189    0x3fffe0,
190    0x1fffe2,
191    0x7fffed,
192    0x3fffe1,
193    0x7fffee,
194    0x7fffef,
195    0xfffea,
196    0x3fffe2,
197    0x3fffe3,
198    0x3fffe4,
199    0x7ffff0,
200    0x3fffe5,
201    0x3fffe6,
202    0x7ffff1,
203    0x3ffffe0,
204    0x3ffffe1,
205    0xfffeb,
206    0x7fff1,
207    0x3fffe7,
208    0x7ffff2,
209    0x3fffe8,
210    0x1ffffec,
211    0x3ffffe2,
212    0x3ffffe3,
213    0x3ffffe4,
214    0x7ffffde,
215    0x7ffffdf,
216    0x3ffffe5,
217    0xfffff1,
218    0x1ffffed,
219    0x7fff2,
220    0x1fffe3,
221    0x3ffffe6,
222    0x7ffffe0,
223    0x7ffffe1,
224    0x3ffffe7,
225    0x7ffffe2,
226    0xfffff2,
227    0x1fffe4,
228    0x1fffe5,
229    0x3ffffe8,
230    0x3ffffe9,
231    0xffffffd,
232    0x7ffffe3,
233    0x7ffffe4,
234    0x7ffffe5,
235    0xfffec,
236    0xfffff3,
237    0xfffed,
238    0x1fffe6,
239    0x3fffe9,
240    0x1fffe7,
241    0x1fffe8,
242    0x7ffff3,
243    0x3fffea,
244    0x3fffeb,
245    0x1ffffee,
246    0x1ffffef,
247    0xfffff4,
248    0xfffff5,
249    0x3ffffea,
250    0x7ffff4,
251    0x3ffffeb,
252    0x7ffffe6,
253    0x3ffffec,
254    0x3ffffed,
255    0x7ffffe7,
256    0x7ffffe8,
257    0x7ffffe9,
258    0x7ffffea,
259    0x7ffffeb,
260    0xffffffe,
261    0x7ffffec,
262    0x7ffffed,
263    0x7ffffee,
264    0x7ffffef,
265    0x7fffff0,
266    0x3ffffee,
267    0x3fffffff,
268]
269
270REQUEST_CODES_LENGTH = [
271    13, 23, 28, 28, 28, 28, 28, 28, 28, 24, 30, 28, 28, 30, 28, 28,
272    28, 28, 28, 28, 28, 28, 30, 28, 28, 28, 28, 28, 28, 28, 28, 28,
273     6, 10, 10, 12, 13,  6,  8, 11, 10, 10,  8, 11,  8,  6,  6,  6,
274     5,  5,  5,  6,  6,  6,  6,  6,  6,  6,  7,  8, 15,  6, 12, 10,
275    13,  6,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,
276     7,  7,  7,  7,  7,  7,  7,  7,  8,  7,  8, 13, 19, 13, 14,  6,
277    15,  5,  6,  5,  6,  5,  6,  6,  6,  5,  7,  7,  6,  6,  6,  5,
278     6,  7,  6,  5,  5,  6,  7,  7,  7,  7,  7, 15, 11, 14, 13, 28,
279    20, 22, 20, 20, 22, 22, 22, 23, 22, 23, 23, 23, 23, 23, 24, 23,
280    24, 24, 22, 23, 24, 23, 23, 23, 23, 21, 22, 23, 22, 23, 23, 24,
281    22, 21, 20, 22, 22, 23, 23, 21, 23, 22, 22, 24, 21, 22, 23, 23,
282    21, 21, 22, 21, 23, 22, 23, 23, 20, 22, 22, 22, 23, 22, 22, 23,
283    26, 26, 20, 19, 22, 23, 22, 25, 26, 26, 26, 27, 27, 26, 24, 25,
284    19, 21, 26, 27, 27, 26, 27, 24, 21, 21, 26, 26, 28, 27, 27, 27,
285    20, 24, 20, 21, 22, 21, 21, 23, 22, 22, 25, 25, 24, 24, 26, 23,
286    26, 27, 26, 26, 27, 27, 27, 27, 27, 28, 27, 27, 27, 27, 27, 26,
287    30,
288]
289