• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #if LLHTTP_STRICT_MODE
2 
3 #include <stdlib.h>
4 #include <stdint.h>
5 #include <string.h>
6 
7 #ifdef __SSE4_2__
8  #ifdef _MSC_VER
9   #include <nmmintrin.h>
10  #else  /* !_MSC_VER */
11   #include <x86intrin.h>
12  #endif  /* _MSC_VER */
13 #endif  /* __SSE4_2__ */
14 
15 #ifdef _MSC_VER
16  #define ALIGN(n) _declspec(align(n))
17 #else  /* !_MSC_VER */
18  #define ALIGN(n) __attribute__((aligned(n)))
19 #endif  /* _MSC_VER */
20 
21 #include "llhttp.h"
22 
23 typedef int (*llhttp__internal__span_cb)(
24              llhttp__internal_t*, const char*, const char*);
25 
26 static const unsigned char llparse_blob0[] = {
27   'C', 'L'
28 };
29 static const unsigned char llparse_blob1[] = {
30   0xd, 0xa
31 };
32 static const unsigned char llparse_blob2[] = {
33   'o', 'n'
34 };
35 static const unsigned char llparse_blob3[] = {
36   'e', 'c', 't', 'i', 'o', 'n'
37 };
38 static const unsigned char llparse_blob4[] = {
39   'l', 'o', 's', 'e'
40 };
41 static const unsigned char llparse_blob5[] = {
42   'e', 'e', 'p', '-', 'a', 'l', 'i', 'v', 'e'
43 };
44 static const unsigned char llparse_blob6[] = {
45   'p', 'g', 'r', 'a', 'd', 'e'
46 };
47 static const unsigned char llparse_blob7[] = {
48   'c', 'h', 'u', 'n', 'k', 'e', 'd'
49 };
50 #ifdef __SSE4_2__
51 static const unsigned char ALIGN(16) llparse_blob8[] = {
52   0x9, 0x9, ' ', '~', 0x80, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
53   0x0, 0x0, 0x0, 0x0, 0x0
54 };
55 #endif  /* __SSE4_2__ */
56 #ifdef __SSE4_2__
57 static const unsigned char ALIGN(16) llparse_blob9[] = {
58   '!', '!', '#', '\'', '*', '+', '-', '.', '0', '9', 'A',
59   'Z', '^', 'z', '|', '|'
60 };
61 #endif  /* __SSE4_2__ */
62 #ifdef __SSE4_2__
63 static const unsigned char ALIGN(16) llparse_blob10[] = {
64   '~', '~', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
65   0x0, 0x0, 0x0, 0x0, 0x0
66 };
67 #endif  /* __SSE4_2__ */
68 static const unsigned char llparse_blob11[] = {
69   'e', 'n', 't', '-', 'l', 'e', 'n', 'g', 't', 'h'
70 };
71 static const unsigned char llparse_blob12[] = {
72   'r', 'o', 'x', 'y', '-', 'c', 'o', 'n', 'n', 'e', 'c',
73   't', 'i', 'o', 'n'
74 };
75 static const unsigned char llparse_blob13[] = {
76   'r', 'a', 'n', 's', 'f', 'e', 'r', '-', 'e', 'n', 'c',
77   'o', 'd', 'i', 'n', 'g'
78 };
79 static const unsigned char llparse_blob14[] = {
80   'p', 'g', 'r', 'a', 'd', 'e'
81 };
82 static const unsigned char llparse_blob15[] = {
83   'T', 'T', 'P', '/'
84 };
85 static const unsigned char llparse_blob16[] = {
86   'C', 'E', '/'
87 };
88 static const unsigned char llparse_blob17[] = {
89   'I', 'N', 'D'
90 };
91 static const unsigned char llparse_blob18[] = {
92   'E', 'C', 'K', 'O', 'U', 'T'
93 };
94 static const unsigned char llparse_blob19[] = {
95   'N', 'E', 'C', 'T'
96 };
97 static const unsigned char llparse_blob20[] = {
98   'E', 'L', 'E', 'T', 'E'
99 };
100 static const unsigned char llparse_blob21[] = {
101   'E', 'T'
102 };
103 static const unsigned char llparse_blob22[] = {
104   'E', 'A', 'D'
105 };
106 static const unsigned char llparse_blob23[] = {
107   'N', 'K'
108 };
109 static const unsigned char llparse_blob24[] = {
110   'C', 'K'
111 };
112 static const unsigned char llparse_blob25[] = {
113   'S', 'E', 'A', 'R', 'C', 'H'
114 };
115 static const unsigned char llparse_blob26[] = {
116   'R', 'G', 'E'
117 };
118 static const unsigned char llparse_blob27[] = {
119   'C', 'T', 'I', 'V', 'I', 'T', 'Y'
120 };
121 static const unsigned char llparse_blob28[] = {
122   'L', 'E', 'N', 'D', 'A', 'R'
123 };
124 static const unsigned char llparse_blob29[] = {
125   'V', 'E'
126 };
127 static const unsigned char llparse_blob30[] = {
128   'O', 'T', 'I', 'F', 'Y'
129 };
130 static const unsigned char llparse_blob31[] = {
131   'P', 'T', 'I', 'O', 'N', 'S'
132 };
133 static const unsigned char llparse_blob32[] = {
134   'T', 'C', 'H'
135 };
136 static const unsigned char llparse_blob33[] = {
137   'S', 'T'
138 };
139 static const unsigned char llparse_blob34[] = {
140   'I', 'N', 'D'
141 };
142 static const unsigned char llparse_blob35[] = {
143   'A', 'T', 'C', 'H'
144 };
145 static const unsigned char llparse_blob36[] = {
146   'G', 'E'
147 };
148 static const unsigned char llparse_blob37[] = {
149   'I', 'N', 'D'
150 };
151 static const unsigned char llparse_blob38[] = {
152   'O', 'R', 'T'
153 };
154 static const unsigned char llparse_blob39[] = {
155   'A', 'R', 'C', 'H'
156 };
157 static const unsigned char llparse_blob40[] = {
158   'U', 'R', 'C', 'E'
159 };
160 static const unsigned char llparse_blob41[] = {
161   'B', 'S', 'C', 'R', 'I', 'B', 'E'
162 };
163 static const unsigned char llparse_blob42[] = {
164   'R', 'A', 'C', 'E'
165 };
166 static const unsigned char llparse_blob43[] = {
167   'I', 'N', 'D'
168 };
169 static const unsigned char llparse_blob44[] = {
170   'N', 'K'
171 };
172 static const unsigned char llparse_blob45[] = {
173   'C', 'K'
174 };
175 static const unsigned char llparse_blob46[] = {
176   'U', 'B', 'S', 'C', 'R', 'I', 'B', 'E'
177 };
178 static const unsigned char llparse_blob47[] = {
179   'H', 'T', 'T', 'P', '/'
180 };
181 static const unsigned char llparse_blob48[] = {
182   'A', 'D'
183 };
184 static const unsigned char llparse_blob49[] = {
185   'T', 'P', '/'
186 };
187 
188 enum llparse_match_status_e {
189   kMatchComplete,
190   kMatchPause,
191   kMatchMismatch
192 };
193 typedef enum llparse_match_status_e llparse_match_status_t;
194 
195 struct llparse_match_s {
196   llparse_match_status_t status;
197   const unsigned char* current;
198 };
199 typedef struct llparse_match_s llparse_match_t;
200 
llparse__match_sequence_id(llhttp__internal_t * s,const unsigned char * p,const unsigned char * endp,const unsigned char * seq,uint32_t seq_len)201 static llparse_match_t llparse__match_sequence_id(
202     llhttp__internal_t* s, const unsigned char* p,
203     const unsigned char* endp,
204     const unsigned char* seq, uint32_t seq_len) {
205   uint32_t index;
206   llparse_match_t res;
207 
208   index = s->_index;
209   for (; p != endp; p++) {
210     unsigned char current;
211 
212     current = *p;
213     if (current == seq[index]) {
214       if (++index == seq_len) {
215         res.status = kMatchComplete;
216         goto reset;
217       }
218     } else {
219       res.status = kMatchMismatch;
220       goto reset;
221     }
222   }
223   s->_index = index;
224   res.status = kMatchPause;
225   res.current = p;
226   return res;
227 reset:
228   s->_index = 0;
229   res.current = p;
230   return res;
231 }
232 
llparse__match_sequence_to_lower(llhttp__internal_t * s,const unsigned char * p,const unsigned char * endp,const unsigned char * seq,uint32_t seq_len)233 static llparse_match_t llparse__match_sequence_to_lower(
234     llhttp__internal_t* s, const unsigned char* p,
235     const unsigned char* endp,
236     const unsigned char* seq, uint32_t seq_len) {
237   uint32_t index;
238   llparse_match_t res;
239 
240   index = s->_index;
241   for (; p != endp; p++) {
242     unsigned char current;
243 
244     current = ((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p));
245     if (current == seq[index]) {
246       if (++index == seq_len) {
247         res.status = kMatchComplete;
248         goto reset;
249       }
250     } else {
251       res.status = kMatchMismatch;
252       goto reset;
253     }
254   }
255   s->_index = index;
256   res.status = kMatchPause;
257   res.current = p;
258   return res;
259 reset:
260   s->_index = 0;
261   res.current = p;
262   return res;
263 }
264 
llparse__match_sequence_to_lower_unsafe(llhttp__internal_t * s,const unsigned char * p,const unsigned char * endp,const unsigned char * seq,uint32_t seq_len)265 static llparse_match_t llparse__match_sequence_to_lower_unsafe(
266     llhttp__internal_t* s, const unsigned char* p,
267     const unsigned char* endp,
268     const unsigned char* seq, uint32_t seq_len) {
269   uint32_t index;
270   llparse_match_t res;
271 
272   index = s->_index;
273   for (; p != endp; p++) {
274     unsigned char current;
275 
276     current = ((*p) | 0x20);
277     if (current == seq[index]) {
278       if (++index == seq_len) {
279         res.status = kMatchComplete;
280         goto reset;
281       }
282     } else {
283       res.status = kMatchMismatch;
284       goto reset;
285     }
286   }
287   s->_index = index;
288   res.status = kMatchPause;
289   res.current = p;
290   return res;
291 reset:
292   s->_index = 0;
293   res.current = p;
294   return res;
295 }
296 
297 enum llparse_state_e {
298   s_error,
299   s_n_llhttp__internal__n_closed,
300   s_n_llhttp__internal__n_invoke_llhttp__after_message_complete,
301   s_n_llhttp__internal__n_pause_1,
302   s_n_llhttp__internal__n_invoke_is_equal_upgrade,
303   s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2,
304   s_n_llhttp__internal__n_chunk_data_almost_done,
305   s_n_llhttp__internal__n_consume_content_length,
306   s_n_llhttp__internal__n_span_start_llhttp__on_body,
307   s_n_llhttp__internal__n_invoke_is_equal_content_length,
308   s_n_llhttp__internal__n_chunk_size_almost_done,
309   s_n_llhttp__internal__n_chunk_parameters,
310   s_n_llhttp__internal__n_chunk_size_otherwise,
311   s_n_llhttp__internal__n_chunk_size,
312   s_n_llhttp__internal__n_chunk_size_digit,
313   s_n_llhttp__internal__n_invoke_update_content_length,
314   s_n_llhttp__internal__n_consume_content_length_1,
315   s_n_llhttp__internal__n_span_start_llhttp__on_body_1,
316   s_n_llhttp__internal__n_eof,
317   s_n_llhttp__internal__n_span_start_llhttp__on_body_2,
318   s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete,
319   s_n_llhttp__internal__n_headers_almost_done,
320   s_n_llhttp__internal__n_header_field_colon_discard_ws,
321   s_n_llhttp__internal__n_error_20,
322   s_n_llhttp__internal__n_span_start_llhttp__on_header_value,
323   s_n_llhttp__internal__n_header_value_discard_lws,
324   s_n_llhttp__internal__n_header_value_discard_ws_almost_done,
325   s_n_llhttp__internal__n_header_value_lws,
326   s_n_llhttp__internal__n_header_value_almost_done,
327   s_n_llhttp__internal__n_header_value_lenient,
328   s_n_llhttp__internal__n_header_value_otherwise,
329   s_n_llhttp__internal__n_header_value_connection_token,
330   s_n_llhttp__internal__n_header_value_connection_ws,
331   s_n_llhttp__internal__n_header_value_connection_1,
332   s_n_llhttp__internal__n_header_value_connection_2,
333   s_n_llhttp__internal__n_header_value_connection_3,
334   s_n_llhttp__internal__n_header_value_connection,
335   s_n_llhttp__internal__n_error_26,
336   s_n_llhttp__internal__n_error_27,
337   s_n_llhttp__internal__n_header_value_content_length_ws,
338   s_n_llhttp__internal__n_header_value_content_length,
339   s_n_llhttp__internal__n_header_value_te_chunked_last,
340   s_n_llhttp__internal__n_header_value_te_token_ows,
341   s_n_llhttp__internal__n_header_value,
342   s_n_llhttp__internal__n_header_value_te_token,
343   s_n_llhttp__internal__n_header_value_te_chunked,
344   s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1,
345   s_n_llhttp__internal__n_header_value_discard_ws,
346   s_n_llhttp__internal__n_header_field_general_otherwise,
347   s_n_llhttp__internal__n_header_field_general,
348   s_n_llhttp__internal__n_header_field_colon,
349   s_n_llhttp__internal__n_header_field_3,
350   s_n_llhttp__internal__n_header_field_4,
351   s_n_llhttp__internal__n_header_field_2,
352   s_n_llhttp__internal__n_header_field_1,
353   s_n_llhttp__internal__n_header_field_5,
354   s_n_llhttp__internal__n_header_field_6,
355   s_n_llhttp__internal__n_header_field_7,
356   s_n_llhttp__internal__n_header_field,
357   s_n_llhttp__internal__n_span_start_llhttp__on_header_field,
358   s_n_llhttp__internal__n_header_field_start,
359   s_n_llhttp__internal__n_url_to_http_09,
360   s_n_llhttp__internal__n_url_skip_to_http09,
361   s_n_llhttp__internal__n_url_skip_lf_to_http09_1,
362   s_n_llhttp__internal__n_url_skip_lf_to_http09,
363   s_n_llhttp__internal__n_req_http_end_1,
364   s_n_llhttp__internal__n_req_http_end,
365   s_n_llhttp__internal__n_req_http_minor,
366   s_n_llhttp__internal__n_req_http_dot,
367   s_n_llhttp__internal__n_req_http_major,
368   s_n_llhttp__internal__n_req_http_start_1,
369   s_n_llhttp__internal__n_req_http_start_2,
370   s_n_llhttp__internal__n_req_http_start,
371   s_n_llhttp__internal__n_url_to_http,
372   s_n_llhttp__internal__n_url_skip_to_http,
373   s_n_llhttp__internal__n_url_fragment,
374   s_n_llhttp__internal__n_span_end_stub_query_3,
375   s_n_llhttp__internal__n_url_query,
376   s_n_llhttp__internal__n_url_query_or_fragment,
377   s_n_llhttp__internal__n_url_path,
378   s_n_llhttp__internal__n_span_start_stub_path_2,
379   s_n_llhttp__internal__n_span_start_stub_path,
380   s_n_llhttp__internal__n_span_start_stub_path_1,
381   s_n_llhttp__internal__n_url_server_with_at,
382   s_n_llhttp__internal__n_url_server,
383   s_n_llhttp__internal__n_url_schema_delim_1,
384   s_n_llhttp__internal__n_url_schema_delim,
385   s_n_llhttp__internal__n_span_end_stub_schema,
386   s_n_llhttp__internal__n_url_schema,
387   s_n_llhttp__internal__n_url_start,
388   s_n_llhttp__internal__n_span_start_llhttp__on_url_1,
389   s_n_llhttp__internal__n_url_entry_normal,
390   s_n_llhttp__internal__n_span_start_llhttp__on_url,
391   s_n_llhttp__internal__n_url_entry_connect,
392   s_n_llhttp__internal__n_req_spaces_before_url,
393   s_n_llhttp__internal__n_req_first_space_before_url,
394   s_n_llhttp__internal__n_start_req_1,
395   s_n_llhttp__internal__n_start_req_2,
396   s_n_llhttp__internal__n_start_req_4,
397   s_n_llhttp__internal__n_start_req_6,
398   s_n_llhttp__internal__n_start_req_7,
399   s_n_llhttp__internal__n_start_req_5,
400   s_n_llhttp__internal__n_start_req_3,
401   s_n_llhttp__internal__n_start_req_8,
402   s_n_llhttp__internal__n_start_req_9,
403   s_n_llhttp__internal__n_start_req_10,
404   s_n_llhttp__internal__n_start_req_12,
405   s_n_llhttp__internal__n_start_req_13,
406   s_n_llhttp__internal__n_start_req_11,
407   s_n_llhttp__internal__n_start_req_15,
408   s_n_llhttp__internal__n_start_req_16,
409   s_n_llhttp__internal__n_start_req_18,
410   s_n_llhttp__internal__n_start_req_20,
411   s_n_llhttp__internal__n_start_req_21,
412   s_n_llhttp__internal__n_start_req_19,
413   s_n_llhttp__internal__n_start_req_17,
414   s_n_llhttp__internal__n_start_req_22,
415   s_n_llhttp__internal__n_start_req_14,
416   s_n_llhttp__internal__n_start_req_23,
417   s_n_llhttp__internal__n_start_req_24,
418   s_n_llhttp__internal__n_start_req_26,
419   s_n_llhttp__internal__n_start_req_27,
420   s_n_llhttp__internal__n_start_req_31,
421   s_n_llhttp__internal__n_start_req_32,
422   s_n_llhttp__internal__n_start_req_30,
423   s_n_llhttp__internal__n_start_req_29,
424   s_n_llhttp__internal__n_start_req_28,
425   s_n_llhttp__internal__n_start_req_34,
426   s_n_llhttp__internal__n_start_req_33,
427   s_n_llhttp__internal__n_start_req_25,
428   s_n_llhttp__internal__n_start_req_37,
429   s_n_llhttp__internal__n_start_req_38,
430   s_n_llhttp__internal__n_start_req_36,
431   s_n_llhttp__internal__n_start_req_35,
432   s_n_llhttp__internal__n_start_req_40,
433   s_n_llhttp__internal__n_start_req_41,
434   s_n_llhttp__internal__n_start_req_42,
435   s_n_llhttp__internal__n_start_req_39,
436   s_n_llhttp__internal__n_start_req_43,
437   s_n_llhttp__internal__n_start_req_46,
438   s_n_llhttp__internal__n_start_req_48,
439   s_n_llhttp__internal__n_start_req_49,
440   s_n_llhttp__internal__n_start_req_47,
441   s_n_llhttp__internal__n_start_req_50,
442   s_n_llhttp__internal__n_start_req_45,
443   s_n_llhttp__internal__n_start_req_44,
444   s_n_llhttp__internal__n_start_req,
445   s_n_llhttp__internal__n_res_line_almost_done,
446   s_n_llhttp__internal__n_res_status,
447   s_n_llhttp__internal__n_span_start_llhttp__on_status,
448   s_n_llhttp__internal__n_res_status_start,
449   s_n_llhttp__internal__n_res_status_code_otherwise,
450   s_n_llhttp__internal__n_res_status_code,
451   s_n_llhttp__internal__n_res_http_end,
452   s_n_llhttp__internal__n_res_http_minor,
453   s_n_llhttp__internal__n_res_http_dot,
454   s_n_llhttp__internal__n_res_http_major,
455   s_n_llhttp__internal__n_start_res,
456   s_n_llhttp__internal__n_req_or_res_method_2,
457   s_n_llhttp__internal__n_req_or_res_method_3,
458   s_n_llhttp__internal__n_req_or_res_method_1,
459   s_n_llhttp__internal__n_req_or_res_method,
460   s_n_llhttp__internal__n_start_req_or_res,
461   s_n_llhttp__internal__n_invoke_load_type,
462   s_n_llhttp__internal__n_start,
463 };
464 typedef enum llparse_state_e llparse_state_t;
465 
466 int llhttp__on_url(
467     llhttp__internal_t* s, const unsigned char* p,
468     const unsigned char* endp);
469 
470 int llhttp__on_header_field(
471     llhttp__internal_t* s, const unsigned char* p,
472     const unsigned char* endp);
473 
474 int llhttp__on_header_value(
475     llhttp__internal_t* s, const unsigned char* p,
476     const unsigned char* endp);
477 
478 int llhttp__on_body(
479     llhttp__internal_t* s, const unsigned char* p,
480     const unsigned char* endp);
481 
482 int llhttp__on_status(
483     llhttp__internal_t* s, const unsigned char* p,
484     const unsigned char* endp);
485 
llhttp__internal__c_update_finish(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)486 int llhttp__internal__c_update_finish(
487     llhttp__internal_t* state,
488     const unsigned char* p,
489     const unsigned char* endp) {
490   state->finish = 2;
491   return 0;
492 }
493 
494 int llhttp__on_message_begin(
495     llhttp__internal_t* s, const unsigned char* p,
496     const unsigned char* endp);
497 
llhttp__internal__c_load_type(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)498 int llhttp__internal__c_load_type(
499     llhttp__internal_t* state,
500     const unsigned char* p,
501     const unsigned char* endp) {
502   return state->type;
503 }
504 
llhttp__internal__c_store_method(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)505 int llhttp__internal__c_store_method(
506     llhttp__internal_t* state,
507     const unsigned char* p,
508     const unsigned char* endp,
509     int match) {
510   state->method = match;
511   return 0;
512 }
513 
llhttp__internal__c_is_equal_method(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)514 int llhttp__internal__c_is_equal_method(
515     llhttp__internal_t* state,
516     const unsigned char* p,
517     const unsigned char* endp) {
518   return state->method == 5;
519 }
520 
llhttp__internal__c_update_http_major(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)521 int llhttp__internal__c_update_http_major(
522     llhttp__internal_t* state,
523     const unsigned char* p,
524     const unsigned char* endp) {
525   state->http_major = 0;
526   return 0;
527 }
528 
llhttp__internal__c_update_http_minor(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)529 int llhttp__internal__c_update_http_minor(
530     llhttp__internal_t* state,
531     const unsigned char* p,
532     const unsigned char* endp) {
533   state->http_minor = 9;
534   return 0;
535 }
536 
llhttp__internal__c_test_flags(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)537 int llhttp__internal__c_test_flags(
538     llhttp__internal_t* state,
539     const unsigned char* p,
540     const unsigned char* endp) {
541   return (state->flags & 128) == 128;
542 }
543 
544 int llhttp__on_chunk_complete(
545     llhttp__internal_t* s, const unsigned char* p,
546     const unsigned char* endp);
547 
548 int llhttp__on_message_complete(
549     llhttp__internal_t* s, const unsigned char* p,
550     const unsigned char* endp);
551 
llhttp__internal__c_is_equal_upgrade(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)552 int llhttp__internal__c_is_equal_upgrade(
553     llhttp__internal_t* state,
554     const unsigned char* p,
555     const unsigned char* endp) {
556   return state->upgrade == 1;
557 }
558 
559 int llhttp__after_message_complete(
560     llhttp__internal_t* s, const unsigned char* p,
561     const unsigned char* endp);
562 
llhttp__internal__c_update_finish_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)563 int llhttp__internal__c_update_finish_1(
564     llhttp__internal_t* state,
565     const unsigned char* p,
566     const unsigned char* endp) {
567   state->finish = 0;
568   return 0;
569 }
570 
llhttp__internal__c_test_flags_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)571 int llhttp__internal__c_test_flags_1(
572     llhttp__internal_t* state,
573     const unsigned char* p,
574     const unsigned char* endp) {
575   return (state->flags & 544) == 544;
576 }
577 
llhttp__internal__c_test_flags_2(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)578 int llhttp__internal__c_test_flags_2(
579     llhttp__internal_t* state,
580     const unsigned char* p,
581     const unsigned char* endp) {
582   return (state->flags & 256) == 256;
583 }
584 
llhttp__internal__c_test_flags_3(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)585 int llhttp__internal__c_test_flags_3(
586     llhttp__internal_t* state,
587     const unsigned char* p,
588     const unsigned char* endp) {
589   return (state->flags & 40) == 40;
590 }
591 
592 int llhttp__before_headers_complete(
593     llhttp__internal_t* s, const unsigned char* p,
594     const unsigned char* endp);
595 
596 int llhttp__on_headers_complete(
597     llhttp__internal_t* s, const unsigned char* p,
598     const unsigned char* endp);
599 
600 int llhttp__after_headers_complete(
601     llhttp__internal_t* s, const unsigned char* p,
602     const unsigned char* endp);
603 
llhttp__internal__c_update_content_length(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)604 int llhttp__internal__c_update_content_length(
605     llhttp__internal_t* state,
606     const unsigned char* p,
607     const unsigned char* endp) {
608   state->content_length = 0;
609   return 0;
610 }
611 
llhttp__internal__c_mul_add_content_length(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)612 int llhttp__internal__c_mul_add_content_length(
613     llhttp__internal_t* state,
614     const unsigned char* p,
615     const unsigned char* endp,
616     int match) {
617   /* Multiplication overflow */
618   if (state->content_length > 0xffffffffffffffffULL / 16) {
619     return 1;
620   }
621 
622   state->content_length *= 16;
623 
624   /* Addition overflow */
625   if (match >= 0) {
626     if (state->content_length > 0xffffffffffffffffULL - match) {
627       return 1;
628     }
629   } else {
630     if (state->content_length < 0ULL - match) {
631       return 1;
632     }
633   }
634   state->content_length += match;
635   return 0;
636 }
637 
638 int llhttp__on_chunk_header(
639     llhttp__internal_t* s, const unsigned char* p,
640     const unsigned char* endp);
641 
llhttp__internal__c_is_equal_content_length(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)642 int llhttp__internal__c_is_equal_content_length(
643     llhttp__internal_t* state,
644     const unsigned char* p,
645     const unsigned char* endp) {
646   return state->content_length == 0;
647 }
648 
llhttp__internal__c_or_flags(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)649 int llhttp__internal__c_or_flags(
650     llhttp__internal_t* state,
651     const unsigned char* p,
652     const unsigned char* endp) {
653   state->flags |= 128;
654   return 0;
655 }
656 
llhttp__internal__c_update_finish_3(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)657 int llhttp__internal__c_update_finish_3(
658     llhttp__internal_t* state,
659     const unsigned char* p,
660     const unsigned char* endp) {
661   state->finish = 1;
662   return 0;
663 }
664 
llhttp__internal__c_or_flags_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)665 int llhttp__internal__c_or_flags_1(
666     llhttp__internal_t* state,
667     const unsigned char* p,
668     const unsigned char* endp) {
669   state->flags |= 64;
670   return 0;
671 }
672 
llhttp__internal__c_update_upgrade(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)673 int llhttp__internal__c_update_upgrade(
674     llhttp__internal_t* state,
675     const unsigned char* p,
676     const unsigned char* endp) {
677   state->upgrade = 1;
678   return 0;
679 }
680 
llhttp__internal__c_store_header_state(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)681 int llhttp__internal__c_store_header_state(
682     llhttp__internal_t* state,
683     const unsigned char* p,
684     const unsigned char* endp,
685     int match) {
686   state->header_state = match;
687   return 0;
688 }
689 
llhttp__internal__c_load_header_state(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)690 int llhttp__internal__c_load_header_state(
691     llhttp__internal_t* state,
692     const unsigned char* p,
693     const unsigned char* endp) {
694   return state->header_state;
695 }
696 
llhttp__internal__c_or_flags_3(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)697 int llhttp__internal__c_or_flags_3(
698     llhttp__internal_t* state,
699     const unsigned char* p,
700     const unsigned char* endp) {
701   state->flags |= 1;
702   return 0;
703 }
704 
llhttp__internal__c_update_header_state(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)705 int llhttp__internal__c_update_header_state(
706     llhttp__internal_t* state,
707     const unsigned char* p,
708     const unsigned char* endp) {
709   state->header_state = 1;
710   return 0;
711 }
712 
llhttp__internal__c_or_flags_4(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)713 int llhttp__internal__c_or_flags_4(
714     llhttp__internal_t* state,
715     const unsigned char* p,
716     const unsigned char* endp) {
717   state->flags |= 2;
718   return 0;
719 }
720 
llhttp__internal__c_or_flags_5(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)721 int llhttp__internal__c_or_flags_5(
722     llhttp__internal_t* state,
723     const unsigned char* p,
724     const unsigned char* endp) {
725   state->flags |= 4;
726   return 0;
727 }
728 
llhttp__internal__c_or_flags_6(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)729 int llhttp__internal__c_or_flags_6(
730     llhttp__internal_t* state,
731     const unsigned char* p,
732     const unsigned char* endp) {
733   state->flags |= 8;
734   return 0;
735 }
736 
llhttp__internal__c_update_header_state_2(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)737 int llhttp__internal__c_update_header_state_2(
738     llhttp__internal_t* state,
739     const unsigned char* p,
740     const unsigned char* endp) {
741   state->header_state = 6;
742   return 0;
743 }
744 
llhttp__internal__c_update_header_state_4(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)745 int llhttp__internal__c_update_header_state_4(
746     llhttp__internal_t* state,
747     const unsigned char* p,
748     const unsigned char* endp) {
749   state->header_state = 0;
750   return 0;
751 }
752 
llhttp__internal__c_update_header_state_5(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)753 int llhttp__internal__c_update_header_state_5(
754     llhttp__internal_t* state,
755     const unsigned char* p,
756     const unsigned char* endp) {
757   state->header_state = 5;
758   return 0;
759 }
760 
llhttp__internal__c_update_header_state_6(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)761 int llhttp__internal__c_update_header_state_6(
762     llhttp__internal_t* state,
763     const unsigned char* p,
764     const unsigned char* endp) {
765   state->header_state = 7;
766   return 0;
767 }
768 
llhttp__internal__c_test_flags_6(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)769 int llhttp__internal__c_test_flags_6(
770     llhttp__internal_t* state,
771     const unsigned char* p,
772     const unsigned char* endp) {
773   return (state->flags & 32) == 32;
774 }
775 
llhttp__internal__c_mul_add_content_length_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)776 int llhttp__internal__c_mul_add_content_length_1(
777     llhttp__internal_t* state,
778     const unsigned char* p,
779     const unsigned char* endp,
780     int match) {
781   /* Multiplication overflow */
782   if (state->content_length > 0xffffffffffffffffULL / 10) {
783     return 1;
784   }
785 
786   state->content_length *= 10;
787 
788   /* Addition overflow */
789   if (match >= 0) {
790     if (state->content_length > 0xffffffffffffffffULL - match) {
791       return 1;
792     }
793   } else {
794     if (state->content_length < 0ULL - match) {
795       return 1;
796     }
797   }
798   state->content_length += match;
799   return 0;
800 }
801 
llhttp__internal__c_or_flags_15(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)802 int llhttp__internal__c_or_flags_15(
803     llhttp__internal_t* state,
804     const unsigned char* p,
805     const unsigned char* endp) {
806   state->flags |= 32;
807   return 0;
808 }
809 
llhttp__internal__c_or_flags_16(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)810 int llhttp__internal__c_or_flags_16(
811     llhttp__internal_t* state,
812     const unsigned char* p,
813     const unsigned char* endp) {
814   state->flags |= 512;
815   return 0;
816 }
817 
llhttp__internal__c_and_flags(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)818 int llhttp__internal__c_and_flags(
819     llhttp__internal_t* state,
820     const unsigned char* p,
821     const unsigned char* endp) {
822   state->flags &= -9;
823   return 0;
824 }
825 
llhttp__internal__c_update_header_state_7(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)826 int llhttp__internal__c_update_header_state_7(
827     llhttp__internal_t* state,
828     const unsigned char* p,
829     const unsigned char* endp) {
830   state->header_state = 8;
831   return 0;
832 }
833 
llhttp__internal__c_or_flags_17(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)834 int llhttp__internal__c_or_flags_17(
835     llhttp__internal_t* state,
836     const unsigned char* p,
837     const unsigned char* endp) {
838   state->flags |= 16;
839   return 0;
840 }
841 
llhttp__internal__c_store_http_major(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)842 int llhttp__internal__c_store_http_major(
843     llhttp__internal_t* state,
844     const unsigned char* p,
845     const unsigned char* endp,
846     int match) {
847   state->http_major = match;
848   return 0;
849 }
850 
llhttp__internal__c_store_http_minor(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)851 int llhttp__internal__c_store_http_minor(
852     llhttp__internal_t* state,
853     const unsigned char* p,
854     const unsigned char* endp,
855     int match) {
856   state->http_minor = match;
857   return 0;
858 }
859 
llhttp__internal__c_is_equal_method_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)860 int llhttp__internal__c_is_equal_method_1(
861     llhttp__internal_t* state,
862     const unsigned char* p,
863     const unsigned char* endp) {
864   return state->method == 33;
865 }
866 
llhttp__internal__c_update_status_code(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)867 int llhttp__internal__c_update_status_code(
868     llhttp__internal_t* state,
869     const unsigned char* p,
870     const unsigned char* endp) {
871   state->status_code = 0;
872   return 0;
873 }
874 
llhttp__internal__c_mul_add_status_code(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)875 int llhttp__internal__c_mul_add_status_code(
876     llhttp__internal_t* state,
877     const unsigned char* p,
878     const unsigned char* endp,
879     int match) {
880   /* Multiplication overflow */
881   if (state->status_code > 0xffff / 10) {
882     return 1;
883   }
884 
885   state->status_code *= 10;
886 
887   /* Addition overflow */
888   if (match >= 0) {
889     if (state->status_code > 0xffff - match) {
890       return 1;
891     }
892   } else {
893     if (state->status_code < 0 - match) {
894       return 1;
895     }
896   }
897   state->status_code += match;
898 
899   /* Enforce maximum */
900   if (state->status_code > 999) {
901     return 1;
902   }
903   return 0;
904 }
905 
llhttp__internal__c_update_type(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)906 int llhttp__internal__c_update_type(
907     llhttp__internal_t* state,
908     const unsigned char* p,
909     const unsigned char* endp) {
910   state->type = 1;
911   return 0;
912 }
913 
llhttp__internal__c_update_type_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)914 int llhttp__internal__c_update_type_1(
915     llhttp__internal_t* state,
916     const unsigned char* p,
917     const unsigned char* endp) {
918   state->type = 2;
919   return 0;
920 }
921 
llhttp__internal_init(llhttp__internal_t * state)922 int llhttp__internal_init(llhttp__internal_t* state) {
923   memset(state, 0, sizeof(*state));
924   state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_start;
925   return 0;
926 }
927 
llhttp__internal__run(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)928 static llparse_state_t llhttp__internal__run(
929     llhttp__internal_t* state,
930     const unsigned char* p,
931     const unsigned char* endp) {
932   int match;
933   switch ((llparse_state_t) (intptr_t) state->_current) {
934     case s_n_llhttp__internal__n_closed:
935     s_n_llhttp__internal__n_closed: {
936       if (p == endp) {
937         return s_n_llhttp__internal__n_closed;
938       }
939       switch (*p) {
940         case 10: {
941           p++;
942           goto s_n_llhttp__internal__n_closed;
943         }
944         case 13: {
945           p++;
946           goto s_n_llhttp__internal__n_closed;
947         }
948         default: {
949           p++;
950           goto s_n_llhttp__internal__n_error_4;
951         }
952       }
953       /* UNREACHABLE */;
954       abort();
955     }
956     case s_n_llhttp__internal__n_invoke_llhttp__after_message_complete:
957     s_n_llhttp__internal__n_invoke_llhttp__after_message_complete: {
958       switch (llhttp__after_message_complete(state, p, endp)) {
959         case 1:
960           goto s_n_llhttp__internal__n_invoke_update_finish_2;
961         default:
962           goto s_n_llhttp__internal__n_invoke_update_finish_1;
963       }
964       /* UNREACHABLE */;
965       abort();
966     }
967     case s_n_llhttp__internal__n_pause_1:
968     s_n_llhttp__internal__n_pause_1: {
969       state->error = 0x16;
970       state->reason = "Pause on CONNECT/Upgrade";
971       state->error_pos = (const char*) p;
972       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
973       return s_error;
974       /* UNREACHABLE */;
975       abort();
976     }
977     case s_n_llhttp__internal__n_invoke_is_equal_upgrade:
978     s_n_llhttp__internal__n_invoke_is_equal_upgrade: {
979       switch (llhttp__internal__c_is_equal_upgrade(state, p, endp)) {
980         case 0:
981           goto s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
982         default:
983           goto s_n_llhttp__internal__n_pause_1;
984       }
985       /* UNREACHABLE */;
986       abort();
987     }
988     case s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2:
989     s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2: {
990       switch (llhttp__on_message_complete(state, p, endp)) {
991         case 0:
992           goto s_n_llhttp__internal__n_invoke_is_equal_upgrade;
993         case 21:
994           goto s_n_llhttp__internal__n_pause_5;
995         default:
996           goto s_n_llhttp__internal__n_error_14;
997       }
998       /* UNREACHABLE */;
999       abort();
1000     }
1001     case s_n_llhttp__internal__n_chunk_data_almost_done:
1002     s_n_llhttp__internal__n_chunk_data_almost_done: {
1003       llparse_match_t match_seq;
1004 
1005       if (p == endp) {
1006         return s_n_llhttp__internal__n_chunk_data_almost_done;
1007       }
1008       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob1, 2);
1009       p = match_seq.current;
1010       switch (match_seq.status) {
1011         case kMatchComplete: {
1012           p++;
1013           goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete;
1014         }
1015         case kMatchPause: {
1016           return s_n_llhttp__internal__n_chunk_data_almost_done;
1017         }
1018         case kMatchMismatch: {
1019           goto s_n_llhttp__internal__n_error_8;
1020         }
1021       }
1022       /* UNREACHABLE */;
1023       abort();
1024     }
1025     case s_n_llhttp__internal__n_consume_content_length:
1026     s_n_llhttp__internal__n_consume_content_length: {
1027       size_t avail;
1028       uint64_t need;
1029 
1030       avail = endp - p;
1031       need = state->content_length;
1032       if (avail >= need) {
1033         p += need;
1034         state->content_length = 0;
1035         goto s_n_llhttp__internal__n_span_end_llhttp__on_body;
1036       }
1037 
1038       state->content_length -= avail;
1039       return s_n_llhttp__internal__n_consume_content_length;
1040       /* UNREACHABLE */;
1041       abort();
1042     }
1043     case s_n_llhttp__internal__n_span_start_llhttp__on_body:
1044     s_n_llhttp__internal__n_span_start_llhttp__on_body: {
1045       if (p == endp) {
1046         return s_n_llhttp__internal__n_span_start_llhttp__on_body;
1047       }
1048       state->_span_pos0 = (void*) p;
1049       state->_span_cb0 = llhttp__on_body;
1050       goto s_n_llhttp__internal__n_consume_content_length;
1051       /* UNREACHABLE */;
1052       abort();
1053     }
1054     case s_n_llhttp__internal__n_invoke_is_equal_content_length:
1055     s_n_llhttp__internal__n_invoke_is_equal_content_length: {
1056       switch (llhttp__internal__c_is_equal_content_length(state, p, endp)) {
1057         case 0:
1058           goto s_n_llhttp__internal__n_span_start_llhttp__on_body;
1059         default:
1060           goto s_n_llhttp__internal__n_invoke_or_flags;
1061       }
1062       /* UNREACHABLE */;
1063       abort();
1064     }
1065     case s_n_llhttp__internal__n_chunk_size_almost_done:
1066     s_n_llhttp__internal__n_chunk_size_almost_done: {
1067       if (p == endp) {
1068         return s_n_llhttp__internal__n_chunk_size_almost_done;
1069       }
1070       switch (*p) {
1071         case 10: {
1072           p++;
1073           goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_header;
1074         }
1075         default: {
1076           goto s_n_llhttp__internal__n_error_9;
1077         }
1078       }
1079       /* UNREACHABLE */;
1080       abort();
1081     }
1082     case s_n_llhttp__internal__n_chunk_parameters:
1083     s_n_llhttp__internal__n_chunk_parameters: {
1084       static uint8_t lookup_table[] = {
1085         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0,
1086         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1087         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1088         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1089         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1090         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1091         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1092         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1093         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1094         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1095         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1096         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1097         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1098         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1099         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1100         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
1101       };
1102       if (p == endp) {
1103         return s_n_llhttp__internal__n_chunk_parameters;
1104       }
1105       switch (lookup_table[(uint8_t) *p]) {
1106         case 1: {
1107           p++;
1108           goto s_n_llhttp__internal__n_chunk_parameters;
1109         }
1110         case 2: {
1111           p++;
1112           goto s_n_llhttp__internal__n_chunk_size_almost_done;
1113         }
1114         default: {
1115           goto s_n_llhttp__internal__n_error_10;
1116         }
1117       }
1118       /* UNREACHABLE */;
1119       abort();
1120     }
1121     case s_n_llhttp__internal__n_chunk_size_otherwise:
1122     s_n_llhttp__internal__n_chunk_size_otherwise: {
1123       if (p == endp) {
1124         return s_n_llhttp__internal__n_chunk_size_otherwise;
1125       }
1126       switch (*p) {
1127         case 13: {
1128           p++;
1129           goto s_n_llhttp__internal__n_chunk_size_almost_done;
1130         }
1131         case ' ': {
1132           p++;
1133           goto s_n_llhttp__internal__n_chunk_parameters;
1134         }
1135         case ';': {
1136           p++;
1137           goto s_n_llhttp__internal__n_chunk_parameters;
1138         }
1139         default: {
1140           goto s_n_llhttp__internal__n_error_11;
1141         }
1142       }
1143       /* UNREACHABLE */;
1144       abort();
1145     }
1146     case s_n_llhttp__internal__n_chunk_size:
1147     s_n_llhttp__internal__n_chunk_size: {
1148       if (p == endp) {
1149         return s_n_llhttp__internal__n_chunk_size;
1150       }
1151       switch (*p) {
1152         case '0': {
1153           p++;
1154           match = 0;
1155           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1156         }
1157         case '1': {
1158           p++;
1159           match = 1;
1160           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1161         }
1162         case '2': {
1163           p++;
1164           match = 2;
1165           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1166         }
1167         case '3': {
1168           p++;
1169           match = 3;
1170           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1171         }
1172         case '4': {
1173           p++;
1174           match = 4;
1175           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1176         }
1177         case '5': {
1178           p++;
1179           match = 5;
1180           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1181         }
1182         case '6': {
1183           p++;
1184           match = 6;
1185           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1186         }
1187         case '7': {
1188           p++;
1189           match = 7;
1190           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1191         }
1192         case '8': {
1193           p++;
1194           match = 8;
1195           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1196         }
1197         case '9': {
1198           p++;
1199           match = 9;
1200           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1201         }
1202         case 'A': {
1203           p++;
1204           match = 10;
1205           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1206         }
1207         case 'B': {
1208           p++;
1209           match = 11;
1210           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1211         }
1212         case 'C': {
1213           p++;
1214           match = 12;
1215           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1216         }
1217         case 'D': {
1218           p++;
1219           match = 13;
1220           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1221         }
1222         case 'E': {
1223           p++;
1224           match = 14;
1225           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1226         }
1227         case 'F': {
1228           p++;
1229           match = 15;
1230           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1231         }
1232         case 'a': {
1233           p++;
1234           match = 10;
1235           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1236         }
1237         case 'b': {
1238           p++;
1239           match = 11;
1240           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1241         }
1242         case 'c': {
1243           p++;
1244           match = 12;
1245           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1246         }
1247         case 'd': {
1248           p++;
1249           match = 13;
1250           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1251         }
1252         case 'e': {
1253           p++;
1254           match = 14;
1255           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1256         }
1257         case 'f': {
1258           p++;
1259           match = 15;
1260           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1261         }
1262         default: {
1263           goto s_n_llhttp__internal__n_chunk_size_otherwise;
1264         }
1265       }
1266       /* UNREACHABLE */;
1267       abort();
1268     }
1269     case s_n_llhttp__internal__n_chunk_size_digit:
1270     s_n_llhttp__internal__n_chunk_size_digit: {
1271       if (p == endp) {
1272         return s_n_llhttp__internal__n_chunk_size_digit;
1273       }
1274       switch (*p) {
1275         case '0': {
1276           p++;
1277           match = 0;
1278           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1279         }
1280         case '1': {
1281           p++;
1282           match = 1;
1283           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1284         }
1285         case '2': {
1286           p++;
1287           match = 2;
1288           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1289         }
1290         case '3': {
1291           p++;
1292           match = 3;
1293           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1294         }
1295         case '4': {
1296           p++;
1297           match = 4;
1298           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1299         }
1300         case '5': {
1301           p++;
1302           match = 5;
1303           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1304         }
1305         case '6': {
1306           p++;
1307           match = 6;
1308           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1309         }
1310         case '7': {
1311           p++;
1312           match = 7;
1313           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1314         }
1315         case '8': {
1316           p++;
1317           match = 8;
1318           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1319         }
1320         case '9': {
1321           p++;
1322           match = 9;
1323           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1324         }
1325         case 'A': {
1326           p++;
1327           match = 10;
1328           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1329         }
1330         case 'B': {
1331           p++;
1332           match = 11;
1333           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1334         }
1335         case 'C': {
1336           p++;
1337           match = 12;
1338           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1339         }
1340         case 'D': {
1341           p++;
1342           match = 13;
1343           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1344         }
1345         case 'E': {
1346           p++;
1347           match = 14;
1348           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1349         }
1350         case 'F': {
1351           p++;
1352           match = 15;
1353           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1354         }
1355         case 'a': {
1356           p++;
1357           match = 10;
1358           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1359         }
1360         case 'b': {
1361           p++;
1362           match = 11;
1363           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1364         }
1365         case 'c': {
1366           p++;
1367           match = 12;
1368           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1369         }
1370         case 'd': {
1371           p++;
1372           match = 13;
1373           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1374         }
1375         case 'e': {
1376           p++;
1377           match = 14;
1378           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1379         }
1380         case 'f': {
1381           p++;
1382           match = 15;
1383           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1384         }
1385         default: {
1386           goto s_n_llhttp__internal__n_error_13;
1387         }
1388       }
1389       /* UNREACHABLE */;
1390       abort();
1391     }
1392     case s_n_llhttp__internal__n_invoke_update_content_length:
1393     s_n_llhttp__internal__n_invoke_update_content_length: {
1394       switch (llhttp__internal__c_update_content_length(state, p, endp)) {
1395         default:
1396           goto s_n_llhttp__internal__n_chunk_size_digit;
1397       }
1398       /* UNREACHABLE */;
1399       abort();
1400     }
1401     case s_n_llhttp__internal__n_consume_content_length_1:
1402     s_n_llhttp__internal__n_consume_content_length_1: {
1403       size_t avail;
1404       uint64_t need;
1405 
1406       avail = endp - p;
1407       need = state->content_length;
1408       if (avail >= need) {
1409         p += need;
1410         state->content_length = 0;
1411         goto s_n_llhttp__internal__n_span_end_llhttp__on_body_1;
1412       }
1413 
1414       state->content_length -= avail;
1415       return s_n_llhttp__internal__n_consume_content_length_1;
1416       /* UNREACHABLE */;
1417       abort();
1418     }
1419     case s_n_llhttp__internal__n_span_start_llhttp__on_body_1:
1420     s_n_llhttp__internal__n_span_start_llhttp__on_body_1: {
1421       if (p == endp) {
1422         return s_n_llhttp__internal__n_span_start_llhttp__on_body_1;
1423       }
1424       state->_span_pos0 = (void*) p;
1425       state->_span_cb0 = llhttp__on_body;
1426       goto s_n_llhttp__internal__n_consume_content_length_1;
1427       /* UNREACHABLE */;
1428       abort();
1429     }
1430     case s_n_llhttp__internal__n_eof:
1431     s_n_llhttp__internal__n_eof: {
1432       if (p == endp) {
1433         return s_n_llhttp__internal__n_eof;
1434       }
1435       p++;
1436       goto s_n_llhttp__internal__n_eof;
1437       /* UNREACHABLE */;
1438       abort();
1439     }
1440     case s_n_llhttp__internal__n_span_start_llhttp__on_body_2:
1441     s_n_llhttp__internal__n_span_start_llhttp__on_body_2: {
1442       if (p == endp) {
1443         return s_n_llhttp__internal__n_span_start_llhttp__on_body_2;
1444       }
1445       state->_span_pos0 = (void*) p;
1446       state->_span_cb0 = llhttp__on_body;
1447       goto s_n_llhttp__internal__n_eof;
1448       /* UNREACHABLE */;
1449       abort();
1450     }
1451     case s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete:
1452     s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete: {
1453       switch (llhttp__after_headers_complete(state, p, endp)) {
1454         case 1:
1455           goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_1;
1456         case 2:
1457           goto s_n_llhttp__internal__n_invoke_update_content_length;
1458         case 3:
1459           goto s_n_llhttp__internal__n_span_start_llhttp__on_body_1;
1460         case 4:
1461           goto s_n_llhttp__internal__n_invoke_update_finish_3;
1462         case 5:
1463           goto s_n_llhttp__internal__n_error_15;
1464         default:
1465           goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete;
1466       }
1467       /* UNREACHABLE */;
1468       abort();
1469     }
1470     case s_n_llhttp__internal__n_headers_almost_done:
1471     s_n_llhttp__internal__n_headers_almost_done: {
1472       if (p == endp) {
1473         return s_n_llhttp__internal__n_headers_almost_done;
1474       }
1475       switch (*p) {
1476         case 10: {
1477           p++;
1478           goto s_n_llhttp__internal__n_invoke_test_flags;
1479         }
1480         default: {
1481           goto s_n_llhttp__internal__n_error_19;
1482         }
1483       }
1484       /* UNREACHABLE */;
1485       abort();
1486     }
1487     case s_n_llhttp__internal__n_header_field_colon_discard_ws:
1488     s_n_llhttp__internal__n_header_field_colon_discard_ws: {
1489       if (p == endp) {
1490         return s_n_llhttp__internal__n_header_field_colon_discard_ws;
1491       }
1492       switch (*p) {
1493         case ' ': {
1494           p++;
1495           goto s_n_llhttp__internal__n_header_field_colon_discard_ws;
1496         }
1497         default: {
1498           goto s_n_llhttp__internal__n_header_field_colon;
1499         }
1500       }
1501       /* UNREACHABLE */;
1502       abort();
1503     }
1504     case s_n_llhttp__internal__n_error_20:
1505     s_n_llhttp__internal__n_error_20: {
1506       state->error = 0xa;
1507       state->reason = "Invalid header field char";
1508       state->error_pos = (const char*) p;
1509       state->_current = (void*) (intptr_t) s_error;
1510       return s_error;
1511       /* UNREACHABLE */;
1512       abort();
1513     }
1514     case s_n_llhttp__internal__n_span_start_llhttp__on_header_value:
1515     s_n_llhttp__internal__n_span_start_llhttp__on_header_value: {
1516       if (p == endp) {
1517         return s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
1518       }
1519       state->_span_pos0 = (void*) p;
1520       state->_span_cb0 = llhttp__on_header_value;
1521       goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value;
1522       /* UNREACHABLE */;
1523       abort();
1524     }
1525     case s_n_llhttp__internal__n_header_value_discard_lws:
1526     s_n_llhttp__internal__n_header_value_discard_lws: {
1527       if (p == endp) {
1528         return s_n_llhttp__internal__n_header_value_discard_lws;
1529       }
1530       switch (*p) {
1531         case 9: {
1532           p++;
1533           goto s_n_llhttp__internal__n_header_value_discard_ws;
1534         }
1535         case ' ': {
1536           p++;
1537           goto s_n_llhttp__internal__n_header_value_discard_ws;
1538         }
1539         default: {
1540           goto s_n_llhttp__internal__n_invoke_load_header_state;
1541         }
1542       }
1543       /* UNREACHABLE */;
1544       abort();
1545     }
1546     case s_n_llhttp__internal__n_header_value_discard_ws_almost_done:
1547     s_n_llhttp__internal__n_header_value_discard_ws_almost_done: {
1548       if (p == endp) {
1549         return s_n_llhttp__internal__n_header_value_discard_ws_almost_done;
1550       }
1551       switch (*p) {
1552         case 10: {
1553           p++;
1554           goto s_n_llhttp__internal__n_header_value_discard_lws;
1555         }
1556         default: {
1557           goto s_n_llhttp__internal__n_error_22;
1558         }
1559       }
1560       /* UNREACHABLE */;
1561       abort();
1562     }
1563     case s_n_llhttp__internal__n_header_value_lws:
1564     s_n_llhttp__internal__n_header_value_lws: {
1565       if (p == endp) {
1566         return s_n_llhttp__internal__n_header_value_lws;
1567       }
1568       switch (*p) {
1569         case 9: {
1570           goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
1571         }
1572         case ' ': {
1573           goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
1574         }
1575         default: {
1576           goto s_n_llhttp__internal__n_invoke_load_header_state_3;
1577         }
1578       }
1579       /* UNREACHABLE */;
1580       abort();
1581     }
1582     case s_n_llhttp__internal__n_header_value_almost_done:
1583     s_n_llhttp__internal__n_header_value_almost_done: {
1584       if (p == endp) {
1585         return s_n_llhttp__internal__n_header_value_almost_done;
1586       }
1587       switch (*p) {
1588         case 10: {
1589           p++;
1590           goto s_n_llhttp__internal__n_header_value_lws;
1591         }
1592         default: {
1593           goto s_n_llhttp__internal__n_error_23;
1594         }
1595       }
1596       /* UNREACHABLE */;
1597       abort();
1598     }
1599     case s_n_llhttp__internal__n_header_value_lenient:
1600     s_n_llhttp__internal__n_header_value_lenient: {
1601       if (p == endp) {
1602         return s_n_llhttp__internal__n_header_value_lenient;
1603       }
1604       switch (*p) {
1605         case 10: {
1606           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1;
1607         }
1608         case 13: {
1609           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3;
1610         }
1611         default: {
1612           p++;
1613           goto s_n_llhttp__internal__n_header_value_lenient;
1614         }
1615       }
1616       /* UNREACHABLE */;
1617       abort();
1618     }
1619     case s_n_llhttp__internal__n_header_value_otherwise:
1620     s_n_llhttp__internal__n_header_value_otherwise: {
1621       if (p == endp) {
1622         return s_n_llhttp__internal__n_header_value_otherwise;
1623       }
1624       switch (*p) {
1625         case 10: {
1626           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1;
1627         }
1628         case 13: {
1629           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_2;
1630         }
1631         default: {
1632           goto s_n_llhttp__internal__n_invoke_test_flags_5;
1633         }
1634       }
1635       /* UNREACHABLE */;
1636       abort();
1637     }
1638     case s_n_llhttp__internal__n_header_value_connection_token:
1639     s_n_llhttp__internal__n_header_value_connection_token: {
1640       static uint8_t lookup_table[] = {
1641         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
1642         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1643         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
1644         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1645         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1646         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1647         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1648         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1649         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1650         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1651         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1652         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1653         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1654         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1655         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1656         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
1657       };
1658       if (p == endp) {
1659         return s_n_llhttp__internal__n_header_value_connection_token;
1660       }
1661       switch (lookup_table[(uint8_t) *p]) {
1662         case 1: {
1663           p++;
1664           goto s_n_llhttp__internal__n_header_value_connection_token;
1665         }
1666         case 2: {
1667           p++;
1668           goto s_n_llhttp__internal__n_header_value_connection;
1669         }
1670         default: {
1671           goto s_n_llhttp__internal__n_header_value_otherwise;
1672         }
1673       }
1674       /* UNREACHABLE */;
1675       abort();
1676     }
1677     case s_n_llhttp__internal__n_header_value_connection_ws:
1678     s_n_llhttp__internal__n_header_value_connection_ws: {
1679       if (p == endp) {
1680         return s_n_llhttp__internal__n_header_value_connection_ws;
1681       }
1682       switch (*p) {
1683         case 10: {
1684           goto s_n_llhttp__internal__n_header_value_otherwise;
1685         }
1686         case 13: {
1687           goto s_n_llhttp__internal__n_header_value_otherwise;
1688         }
1689         case ' ': {
1690           p++;
1691           goto s_n_llhttp__internal__n_header_value_connection_ws;
1692         }
1693         case ',': {
1694           p++;
1695           goto s_n_llhttp__internal__n_invoke_load_header_state_4;
1696         }
1697         default: {
1698           goto s_n_llhttp__internal__n_invoke_update_header_state_4;
1699         }
1700       }
1701       /* UNREACHABLE */;
1702       abort();
1703     }
1704     case s_n_llhttp__internal__n_header_value_connection_1:
1705     s_n_llhttp__internal__n_header_value_connection_1: {
1706       llparse_match_t match_seq;
1707 
1708       if (p == endp) {
1709         return s_n_llhttp__internal__n_header_value_connection_1;
1710       }
1711       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob4, 4);
1712       p = match_seq.current;
1713       switch (match_seq.status) {
1714         case kMatchComplete: {
1715           p++;
1716           goto s_n_llhttp__internal__n_invoke_update_header_state_2;
1717         }
1718         case kMatchPause: {
1719           return s_n_llhttp__internal__n_header_value_connection_1;
1720         }
1721         case kMatchMismatch: {
1722           goto s_n_llhttp__internal__n_header_value_connection_token;
1723         }
1724       }
1725       /* UNREACHABLE */;
1726       abort();
1727     }
1728     case s_n_llhttp__internal__n_header_value_connection_2:
1729     s_n_llhttp__internal__n_header_value_connection_2: {
1730       llparse_match_t match_seq;
1731 
1732       if (p == endp) {
1733         return s_n_llhttp__internal__n_header_value_connection_2;
1734       }
1735       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob5, 9);
1736       p = match_seq.current;
1737       switch (match_seq.status) {
1738         case kMatchComplete: {
1739           p++;
1740           goto s_n_llhttp__internal__n_invoke_update_header_state_5;
1741         }
1742         case kMatchPause: {
1743           return s_n_llhttp__internal__n_header_value_connection_2;
1744         }
1745         case kMatchMismatch: {
1746           goto s_n_llhttp__internal__n_header_value_connection_token;
1747         }
1748       }
1749       /* UNREACHABLE */;
1750       abort();
1751     }
1752     case s_n_llhttp__internal__n_header_value_connection_3:
1753     s_n_llhttp__internal__n_header_value_connection_3: {
1754       llparse_match_t match_seq;
1755 
1756       if (p == endp) {
1757         return s_n_llhttp__internal__n_header_value_connection_3;
1758       }
1759       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob6, 6);
1760       p = match_seq.current;
1761       switch (match_seq.status) {
1762         case kMatchComplete: {
1763           p++;
1764           goto s_n_llhttp__internal__n_invoke_update_header_state_6;
1765         }
1766         case kMatchPause: {
1767           return s_n_llhttp__internal__n_header_value_connection_3;
1768         }
1769         case kMatchMismatch: {
1770           goto s_n_llhttp__internal__n_header_value_connection_token;
1771         }
1772       }
1773       /* UNREACHABLE */;
1774       abort();
1775     }
1776     case s_n_llhttp__internal__n_header_value_connection:
1777     s_n_llhttp__internal__n_header_value_connection: {
1778       if (p == endp) {
1779         return s_n_llhttp__internal__n_header_value_connection;
1780       }
1781       switch (((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p))) {
1782         case 9: {
1783           p++;
1784           goto s_n_llhttp__internal__n_header_value_connection;
1785         }
1786         case ' ': {
1787           p++;
1788           goto s_n_llhttp__internal__n_header_value_connection;
1789         }
1790         case 'c': {
1791           p++;
1792           goto s_n_llhttp__internal__n_header_value_connection_1;
1793         }
1794         case 'k': {
1795           p++;
1796           goto s_n_llhttp__internal__n_header_value_connection_2;
1797         }
1798         case 'u': {
1799           p++;
1800           goto s_n_llhttp__internal__n_header_value_connection_3;
1801         }
1802         default: {
1803           goto s_n_llhttp__internal__n_header_value_connection_token;
1804         }
1805       }
1806       /* UNREACHABLE */;
1807       abort();
1808     }
1809     case s_n_llhttp__internal__n_error_26:
1810     s_n_llhttp__internal__n_error_26: {
1811       state->error = 0xb;
1812       state->reason = "Content-Length overflow";
1813       state->error_pos = (const char*) p;
1814       state->_current = (void*) (intptr_t) s_error;
1815       return s_error;
1816       /* UNREACHABLE */;
1817       abort();
1818     }
1819     case s_n_llhttp__internal__n_error_27:
1820     s_n_llhttp__internal__n_error_27: {
1821       state->error = 0xb;
1822       state->reason = "Invalid character in Content-Length";
1823       state->error_pos = (const char*) p;
1824       state->_current = (void*) (intptr_t) s_error;
1825       return s_error;
1826       /* UNREACHABLE */;
1827       abort();
1828     }
1829     case s_n_llhttp__internal__n_header_value_content_length_ws:
1830     s_n_llhttp__internal__n_header_value_content_length_ws: {
1831       if (p == endp) {
1832         return s_n_llhttp__internal__n_header_value_content_length_ws;
1833       }
1834       switch (*p) {
1835         case 10: {
1836           goto s_n_llhttp__internal__n_invoke_or_flags_15;
1837         }
1838         case 13: {
1839           goto s_n_llhttp__internal__n_invoke_or_flags_15;
1840         }
1841         case ' ': {
1842           p++;
1843           goto s_n_llhttp__internal__n_header_value_content_length_ws;
1844         }
1845         default: {
1846           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_5;
1847         }
1848       }
1849       /* UNREACHABLE */;
1850       abort();
1851     }
1852     case s_n_llhttp__internal__n_header_value_content_length:
1853     s_n_llhttp__internal__n_header_value_content_length: {
1854       if (p == endp) {
1855         return s_n_llhttp__internal__n_header_value_content_length;
1856       }
1857       switch (*p) {
1858         case '0': {
1859           p++;
1860           match = 0;
1861           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1862         }
1863         case '1': {
1864           p++;
1865           match = 1;
1866           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1867         }
1868         case '2': {
1869           p++;
1870           match = 2;
1871           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1872         }
1873         case '3': {
1874           p++;
1875           match = 3;
1876           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1877         }
1878         case '4': {
1879           p++;
1880           match = 4;
1881           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1882         }
1883         case '5': {
1884           p++;
1885           match = 5;
1886           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1887         }
1888         case '6': {
1889           p++;
1890           match = 6;
1891           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1892         }
1893         case '7': {
1894           p++;
1895           match = 7;
1896           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1897         }
1898         case '8': {
1899           p++;
1900           match = 8;
1901           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1902         }
1903         case '9': {
1904           p++;
1905           match = 9;
1906           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1907         }
1908         default: {
1909           goto s_n_llhttp__internal__n_header_value_content_length_ws;
1910         }
1911       }
1912       /* UNREACHABLE */;
1913       abort();
1914     }
1915     case s_n_llhttp__internal__n_header_value_te_chunked_last:
1916     s_n_llhttp__internal__n_header_value_te_chunked_last: {
1917       if (p == endp) {
1918         return s_n_llhttp__internal__n_header_value_te_chunked_last;
1919       }
1920       switch (*p) {
1921         case 10: {
1922           goto s_n_llhttp__internal__n_invoke_update_header_state_7;
1923         }
1924         case 13: {
1925           goto s_n_llhttp__internal__n_invoke_update_header_state_7;
1926         }
1927         case ' ': {
1928           p++;
1929           goto s_n_llhttp__internal__n_header_value_te_chunked_last;
1930         }
1931         default: {
1932           goto s_n_llhttp__internal__n_header_value_te_chunked;
1933         }
1934       }
1935       /* UNREACHABLE */;
1936       abort();
1937     }
1938     case s_n_llhttp__internal__n_header_value_te_token_ows:
1939     s_n_llhttp__internal__n_header_value_te_token_ows: {
1940       if (p == endp) {
1941         return s_n_llhttp__internal__n_header_value_te_token_ows;
1942       }
1943       switch (*p) {
1944         case 9: {
1945           p++;
1946           goto s_n_llhttp__internal__n_header_value_te_token_ows;
1947         }
1948         case ' ': {
1949           p++;
1950           goto s_n_llhttp__internal__n_header_value_te_token_ows;
1951         }
1952         default: {
1953           goto s_n_llhttp__internal__n_header_value_te_chunked;
1954         }
1955       }
1956       /* UNREACHABLE */;
1957       abort();
1958     }
1959     case s_n_llhttp__internal__n_header_value:
1960     s_n_llhttp__internal__n_header_value: {
1961       static uint8_t lookup_table[] = {
1962         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
1963         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1965         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1966         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1967         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1968         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1969         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1970         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1971         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1972         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1973         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1974         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1975         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1976         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1977         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
1978       };
1979       if (p == endp) {
1980         return s_n_llhttp__internal__n_header_value;
1981       }
1982       #ifdef __SSE4_2__
1983       if (endp - p >= 16) {
1984         __m128i ranges;
1985         __m128i input;
1986         int avail;
1987         int match_len;
1988 
1989         /* Load input */
1990         input = _mm_loadu_si128((__m128i const*) p);
1991         ranges = _mm_loadu_si128((__m128i const*) llparse_blob8);
1992 
1993         /* Find first character that does not match `ranges` */
1994         match_len = _mm_cmpestri(ranges, 6,
1995             input, 16,
1996             _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
1997               _SIDD_NEGATIVE_POLARITY);
1998 
1999         if (match_len != 0) {
2000           p += match_len;
2001           goto s_n_llhttp__internal__n_header_value;
2002         }
2003         goto s_n_llhttp__internal__n_header_value_otherwise;
2004       }
2005       #endif  /* __SSE4_2__ */
2006       switch (lookup_table[(uint8_t) *p]) {
2007         case 1: {
2008           p++;
2009           goto s_n_llhttp__internal__n_header_value;
2010         }
2011         default: {
2012           goto s_n_llhttp__internal__n_header_value_otherwise;
2013         }
2014       }
2015       /* UNREACHABLE */;
2016       abort();
2017     }
2018     case s_n_llhttp__internal__n_header_value_te_token:
2019     s_n_llhttp__internal__n_header_value_te_token: {
2020       static uint8_t lookup_table[] = {
2021         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
2022         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2023         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
2024         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2025         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2026         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2027         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2028         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
2029         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2030         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2031         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2032         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2033         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2034         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2035         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2036         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
2037       };
2038       if (p == endp) {
2039         return s_n_llhttp__internal__n_header_value_te_token;
2040       }
2041       switch (lookup_table[(uint8_t) *p]) {
2042         case 1: {
2043           p++;
2044           goto s_n_llhttp__internal__n_header_value_te_token;
2045         }
2046         case 2: {
2047           p++;
2048           goto s_n_llhttp__internal__n_header_value_te_token_ows;
2049         }
2050         default: {
2051           goto s_n_llhttp__internal__n_invoke_update_header_state_8;
2052         }
2053       }
2054       /* UNREACHABLE */;
2055       abort();
2056     }
2057     case s_n_llhttp__internal__n_header_value_te_chunked:
2058     s_n_llhttp__internal__n_header_value_te_chunked: {
2059       llparse_match_t match_seq;
2060 
2061       if (p == endp) {
2062         return s_n_llhttp__internal__n_header_value_te_chunked;
2063       }
2064       match_seq = llparse__match_sequence_to_lower_unsafe(state, p, endp, llparse_blob7, 7);
2065       p = match_seq.current;
2066       switch (match_seq.status) {
2067         case kMatchComplete: {
2068           p++;
2069           goto s_n_llhttp__internal__n_header_value_te_chunked_last;
2070         }
2071         case kMatchPause: {
2072           return s_n_llhttp__internal__n_header_value_te_chunked;
2073         }
2074         case kMatchMismatch: {
2075           goto s_n_llhttp__internal__n_header_value_te_token;
2076         }
2077       }
2078       /* UNREACHABLE */;
2079       abort();
2080     }
2081     case s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1:
2082     s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1: {
2083       if (p == endp) {
2084         return s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
2085       }
2086       state->_span_pos0 = (void*) p;
2087       state->_span_cb0 = llhttp__on_header_value;
2088       goto s_n_llhttp__internal__n_invoke_load_header_state_2;
2089       /* UNREACHABLE */;
2090       abort();
2091     }
2092     case s_n_llhttp__internal__n_header_value_discard_ws:
2093     s_n_llhttp__internal__n_header_value_discard_ws: {
2094       if (p == endp) {
2095         return s_n_llhttp__internal__n_header_value_discard_ws;
2096       }
2097       switch (*p) {
2098         case 9: {
2099           p++;
2100           goto s_n_llhttp__internal__n_header_value_discard_ws;
2101         }
2102         case 10: {
2103           p++;
2104           goto s_n_llhttp__internal__n_header_value_discard_lws;
2105         }
2106         case 13: {
2107           p++;
2108           goto s_n_llhttp__internal__n_header_value_discard_ws_almost_done;
2109         }
2110         case ' ': {
2111           p++;
2112           goto s_n_llhttp__internal__n_header_value_discard_ws;
2113         }
2114         default: {
2115           goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
2116         }
2117       }
2118       /* UNREACHABLE */;
2119       abort();
2120     }
2121     case s_n_llhttp__internal__n_header_field_general_otherwise:
2122     s_n_llhttp__internal__n_header_field_general_otherwise: {
2123       if (p == endp) {
2124         return s_n_llhttp__internal__n_header_field_general_otherwise;
2125       }
2126       switch (*p) {
2127         case ':': {
2128           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field_2;
2129         }
2130         default: {
2131           goto s_n_llhttp__internal__n_error_28;
2132         }
2133       }
2134       /* UNREACHABLE */;
2135       abort();
2136     }
2137     case s_n_llhttp__internal__n_header_field_general:
2138     s_n_llhttp__internal__n_header_field_general: {
2139       static uint8_t lookup_table[] = {
2140         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2141         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2142         0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0,
2143         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
2144         0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2145         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,
2146         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2147         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,
2148         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2149         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2150         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2151         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2152         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2153         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2154         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2155         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
2156       };
2157       if (p == endp) {
2158         return s_n_llhttp__internal__n_header_field_general;
2159       }
2160       #ifdef __SSE4_2__
2161       if (endp - p >= 16) {
2162         __m128i ranges;
2163         __m128i input;
2164         int avail;
2165         int match_len;
2166 
2167         /* Load input */
2168         input = _mm_loadu_si128((__m128i const*) p);
2169         ranges = _mm_loadu_si128((__m128i const*) llparse_blob9);
2170 
2171         /* Find first character that does not match `ranges` */
2172         match_len = _mm_cmpestri(ranges, 16,
2173             input, 16,
2174             _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
2175               _SIDD_NEGATIVE_POLARITY);
2176 
2177         if (match_len != 0) {
2178           p += match_len;
2179           goto s_n_llhttp__internal__n_header_field_general;
2180         }
2181         ranges = _mm_loadu_si128((__m128i const*) llparse_blob10);
2182 
2183         /* Find first character that does not match `ranges` */
2184         match_len = _mm_cmpestri(ranges, 2,
2185             input, 16,
2186             _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
2187               _SIDD_NEGATIVE_POLARITY);
2188 
2189         if (match_len != 0) {
2190           p += match_len;
2191           goto s_n_llhttp__internal__n_header_field_general;
2192         }
2193         goto s_n_llhttp__internal__n_header_field_general_otherwise;
2194       }
2195       #endif  /* __SSE4_2__ */
2196       switch (lookup_table[(uint8_t) *p]) {
2197         case 1: {
2198           p++;
2199           goto s_n_llhttp__internal__n_header_field_general;
2200         }
2201         default: {
2202           goto s_n_llhttp__internal__n_header_field_general_otherwise;
2203         }
2204       }
2205       /* UNREACHABLE */;
2206       abort();
2207     }
2208     case s_n_llhttp__internal__n_header_field_colon:
2209     s_n_llhttp__internal__n_header_field_colon: {
2210       if (p == endp) {
2211         return s_n_llhttp__internal__n_header_field_colon;
2212       }
2213       switch (*p) {
2214         case ' ': {
2215           goto s_n_llhttp__internal__n_invoke_test_flags_4;
2216         }
2217         case ':': {
2218           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field_1;
2219         }
2220         default: {
2221           goto s_n_llhttp__internal__n_invoke_update_header_state_9;
2222         }
2223       }
2224       /* UNREACHABLE */;
2225       abort();
2226     }
2227     case s_n_llhttp__internal__n_header_field_3:
2228     s_n_llhttp__internal__n_header_field_3: {
2229       llparse_match_t match_seq;
2230 
2231       if (p == endp) {
2232         return s_n_llhttp__internal__n_header_field_3;
2233       }
2234       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob3, 6);
2235       p = match_seq.current;
2236       switch (match_seq.status) {
2237         case kMatchComplete: {
2238           p++;
2239           match = 1;
2240           goto s_n_llhttp__internal__n_invoke_store_header_state;
2241         }
2242         case kMatchPause: {
2243           return s_n_llhttp__internal__n_header_field_3;
2244         }
2245         case kMatchMismatch: {
2246           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2247         }
2248       }
2249       /* UNREACHABLE */;
2250       abort();
2251     }
2252     case s_n_llhttp__internal__n_header_field_4:
2253     s_n_llhttp__internal__n_header_field_4: {
2254       llparse_match_t match_seq;
2255 
2256       if (p == endp) {
2257         return s_n_llhttp__internal__n_header_field_4;
2258       }
2259       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob11, 10);
2260       p = match_seq.current;
2261       switch (match_seq.status) {
2262         case kMatchComplete: {
2263           p++;
2264           match = 2;
2265           goto s_n_llhttp__internal__n_invoke_store_header_state;
2266         }
2267         case kMatchPause: {
2268           return s_n_llhttp__internal__n_header_field_4;
2269         }
2270         case kMatchMismatch: {
2271           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2272         }
2273       }
2274       /* UNREACHABLE */;
2275       abort();
2276     }
2277     case s_n_llhttp__internal__n_header_field_2:
2278     s_n_llhttp__internal__n_header_field_2: {
2279       if (p == endp) {
2280         return s_n_llhttp__internal__n_header_field_2;
2281       }
2282       switch (((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p))) {
2283         case 'n': {
2284           p++;
2285           goto s_n_llhttp__internal__n_header_field_3;
2286         }
2287         case 't': {
2288           p++;
2289           goto s_n_llhttp__internal__n_header_field_4;
2290         }
2291         default: {
2292           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2293         }
2294       }
2295       /* UNREACHABLE */;
2296       abort();
2297     }
2298     case s_n_llhttp__internal__n_header_field_1:
2299     s_n_llhttp__internal__n_header_field_1: {
2300       llparse_match_t match_seq;
2301 
2302       if (p == endp) {
2303         return s_n_llhttp__internal__n_header_field_1;
2304       }
2305       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob2, 2);
2306       p = match_seq.current;
2307       switch (match_seq.status) {
2308         case kMatchComplete: {
2309           p++;
2310           goto s_n_llhttp__internal__n_header_field_2;
2311         }
2312         case kMatchPause: {
2313           return s_n_llhttp__internal__n_header_field_1;
2314         }
2315         case kMatchMismatch: {
2316           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2317         }
2318       }
2319       /* UNREACHABLE */;
2320       abort();
2321     }
2322     case s_n_llhttp__internal__n_header_field_5:
2323     s_n_llhttp__internal__n_header_field_5: {
2324       llparse_match_t match_seq;
2325 
2326       if (p == endp) {
2327         return s_n_llhttp__internal__n_header_field_5;
2328       }
2329       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob12, 15);
2330       p = match_seq.current;
2331       switch (match_seq.status) {
2332         case kMatchComplete: {
2333           p++;
2334           match = 1;
2335           goto s_n_llhttp__internal__n_invoke_store_header_state;
2336         }
2337         case kMatchPause: {
2338           return s_n_llhttp__internal__n_header_field_5;
2339         }
2340         case kMatchMismatch: {
2341           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2342         }
2343       }
2344       /* UNREACHABLE */;
2345       abort();
2346     }
2347     case s_n_llhttp__internal__n_header_field_6:
2348     s_n_llhttp__internal__n_header_field_6: {
2349       llparse_match_t match_seq;
2350 
2351       if (p == endp) {
2352         return s_n_llhttp__internal__n_header_field_6;
2353       }
2354       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob13, 16);
2355       p = match_seq.current;
2356       switch (match_seq.status) {
2357         case kMatchComplete: {
2358           p++;
2359           match = 3;
2360           goto s_n_llhttp__internal__n_invoke_store_header_state;
2361         }
2362         case kMatchPause: {
2363           return s_n_llhttp__internal__n_header_field_6;
2364         }
2365         case kMatchMismatch: {
2366           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2367         }
2368       }
2369       /* UNREACHABLE */;
2370       abort();
2371     }
2372     case s_n_llhttp__internal__n_header_field_7:
2373     s_n_llhttp__internal__n_header_field_7: {
2374       llparse_match_t match_seq;
2375 
2376       if (p == endp) {
2377         return s_n_llhttp__internal__n_header_field_7;
2378       }
2379       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob14, 6);
2380       p = match_seq.current;
2381       switch (match_seq.status) {
2382         case kMatchComplete: {
2383           p++;
2384           match = 4;
2385           goto s_n_llhttp__internal__n_invoke_store_header_state;
2386         }
2387         case kMatchPause: {
2388           return s_n_llhttp__internal__n_header_field_7;
2389         }
2390         case kMatchMismatch: {
2391           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2392         }
2393       }
2394       /* UNREACHABLE */;
2395       abort();
2396     }
2397     case s_n_llhttp__internal__n_header_field:
2398     s_n_llhttp__internal__n_header_field: {
2399       if (p == endp) {
2400         return s_n_llhttp__internal__n_header_field;
2401       }
2402       switch (((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p))) {
2403         case 'c': {
2404           p++;
2405           goto s_n_llhttp__internal__n_header_field_1;
2406         }
2407         case 'p': {
2408           p++;
2409           goto s_n_llhttp__internal__n_header_field_5;
2410         }
2411         case 't': {
2412           p++;
2413           goto s_n_llhttp__internal__n_header_field_6;
2414         }
2415         case 'u': {
2416           p++;
2417           goto s_n_llhttp__internal__n_header_field_7;
2418         }
2419         default: {
2420           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2421         }
2422       }
2423       /* UNREACHABLE */;
2424       abort();
2425     }
2426     case s_n_llhttp__internal__n_span_start_llhttp__on_header_field:
2427     s_n_llhttp__internal__n_span_start_llhttp__on_header_field: {
2428       if (p == endp) {
2429         return s_n_llhttp__internal__n_span_start_llhttp__on_header_field;
2430       }
2431       state->_span_pos0 = (void*) p;
2432       state->_span_cb0 = llhttp__on_header_field;
2433       goto s_n_llhttp__internal__n_header_field;
2434       /* UNREACHABLE */;
2435       abort();
2436     }
2437     case s_n_llhttp__internal__n_header_field_start:
2438     s_n_llhttp__internal__n_header_field_start: {
2439       if (p == endp) {
2440         return s_n_llhttp__internal__n_header_field_start;
2441       }
2442       switch (*p) {
2443         case 10: {
2444           goto s_n_llhttp__internal__n_headers_almost_done;
2445         }
2446         case 13: {
2447           p++;
2448           goto s_n_llhttp__internal__n_headers_almost_done;
2449         }
2450         default: {
2451           goto s_n_llhttp__internal__n_span_start_llhttp__on_header_field;
2452         }
2453       }
2454       /* UNREACHABLE */;
2455       abort();
2456     }
2457     case s_n_llhttp__internal__n_url_to_http_09:
2458     s_n_llhttp__internal__n_url_to_http_09: {
2459       if (p == endp) {
2460         return s_n_llhttp__internal__n_url_to_http_09;
2461       }
2462       switch (*p) {
2463         case 9: {
2464           p++;
2465           goto s_n_llhttp__internal__n_error_1;
2466         }
2467         case 12: {
2468           p++;
2469           goto s_n_llhttp__internal__n_error_1;
2470         }
2471         default: {
2472           goto s_n_llhttp__internal__n_invoke_update_http_major;
2473         }
2474       }
2475       /* UNREACHABLE */;
2476       abort();
2477     }
2478     case s_n_llhttp__internal__n_url_skip_to_http09:
2479     s_n_llhttp__internal__n_url_skip_to_http09: {
2480       if (p == endp) {
2481         return s_n_llhttp__internal__n_url_skip_to_http09;
2482       }
2483       switch (*p) {
2484         case 9: {
2485           p++;
2486           goto s_n_llhttp__internal__n_error_1;
2487         }
2488         case 12: {
2489           p++;
2490           goto s_n_llhttp__internal__n_error_1;
2491         }
2492         default: {
2493           p++;
2494           goto s_n_llhttp__internal__n_url_to_http_09;
2495         }
2496       }
2497       /* UNREACHABLE */;
2498       abort();
2499     }
2500     case s_n_llhttp__internal__n_url_skip_lf_to_http09_1:
2501     s_n_llhttp__internal__n_url_skip_lf_to_http09_1: {
2502       if (p == endp) {
2503         return s_n_llhttp__internal__n_url_skip_lf_to_http09_1;
2504       }
2505       switch (*p) {
2506         case 10: {
2507           p++;
2508           goto s_n_llhttp__internal__n_url_to_http_09;
2509         }
2510         default: {
2511           goto s_n_llhttp__internal__n_error_29;
2512         }
2513       }
2514       /* UNREACHABLE */;
2515       abort();
2516     }
2517     case s_n_llhttp__internal__n_url_skip_lf_to_http09:
2518     s_n_llhttp__internal__n_url_skip_lf_to_http09: {
2519       if (p == endp) {
2520         return s_n_llhttp__internal__n_url_skip_lf_to_http09;
2521       }
2522       switch (*p) {
2523         case 9: {
2524           p++;
2525           goto s_n_llhttp__internal__n_error_1;
2526         }
2527         case 12: {
2528           p++;
2529           goto s_n_llhttp__internal__n_error_1;
2530         }
2531         case 13: {
2532           p++;
2533           goto s_n_llhttp__internal__n_url_skip_lf_to_http09_1;
2534         }
2535         default: {
2536           goto s_n_llhttp__internal__n_error_29;
2537         }
2538       }
2539       /* UNREACHABLE */;
2540       abort();
2541     }
2542     case s_n_llhttp__internal__n_req_http_end_1:
2543     s_n_llhttp__internal__n_req_http_end_1: {
2544       if (p == endp) {
2545         return s_n_llhttp__internal__n_req_http_end_1;
2546       }
2547       switch (*p) {
2548         case 10: {
2549           p++;
2550           goto s_n_llhttp__internal__n_header_field_start;
2551         }
2552         default: {
2553           goto s_n_llhttp__internal__n_error_30;
2554         }
2555       }
2556       /* UNREACHABLE */;
2557       abort();
2558     }
2559     case s_n_llhttp__internal__n_req_http_end:
2560     s_n_llhttp__internal__n_req_http_end: {
2561       if (p == endp) {
2562         return s_n_llhttp__internal__n_req_http_end;
2563       }
2564       switch (*p) {
2565         case 10: {
2566           p++;
2567           goto s_n_llhttp__internal__n_header_field_start;
2568         }
2569         case 13: {
2570           p++;
2571           goto s_n_llhttp__internal__n_req_http_end_1;
2572         }
2573         default: {
2574           goto s_n_llhttp__internal__n_error_30;
2575         }
2576       }
2577       /* UNREACHABLE */;
2578       abort();
2579     }
2580     case s_n_llhttp__internal__n_req_http_minor:
2581     s_n_llhttp__internal__n_req_http_minor: {
2582       if (p == endp) {
2583         return s_n_llhttp__internal__n_req_http_minor;
2584       }
2585       switch (*p) {
2586         case '0': {
2587           p++;
2588           match = 0;
2589           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2590         }
2591         case '1': {
2592           p++;
2593           match = 1;
2594           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2595         }
2596         case '2': {
2597           p++;
2598           match = 2;
2599           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2600         }
2601         case '3': {
2602           p++;
2603           match = 3;
2604           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2605         }
2606         case '4': {
2607           p++;
2608           match = 4;
2609           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2610         }
2611         case '5': {
2612           p++;
2613           match = 5;
2614           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2615         }
2616         case '6': {
2617           p++;
2618           match = 6;
2619           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2620         }
2621         case '7': {
2622           p++;
2623           match = 7;
2624           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2625         }
2626         case '8': {
2627           p++;
2628           match = 8;
2629           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2630         }
2631         case '9': {
2632           p++;
2633           match = 9;
2634           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2635         }
2636         default: {
2637           goto s_n_llhttp__internal__n_error_31;
2638         }
2639       }
2640       /* UNREACHABLE */;
2641       abort();
2642     }
2643     case s_n_llhttp__internal__n_req_http_dot:
2644     s_n_llhttp__internal__n_req_http_dot: {
2645       if (p == endp) {
2646         return s_n_llhttp__internal__n_req_http_dot;
2647       }
2648       switch (*p) {
2649         case '.': {
2650           p++;
2651           goto s_n_llhttp__internal__n_req_http_minor;
2652         }
2653         default: {
2654           goto s_n_llhttp__internal__n_error_32;
2655         }
2656       }
2657       /* UNREACHABLE */;
2658       abort();
2659     }
2660     case s_n_llhttp__internal__n_req_http_major:
2661     s_n_llhttp__internal__n_req_http_major: {
2662       if (p == endp) {
2663         return s_n_llhttp__internal__n_req_http_major;
2664       }
2665       switch (*p) {
2666         case '0': {
2667           p++;
2668           match = 0;
2669           goto s_n_llhttp__internal__n_invoke_store_http_major;
2670         }
2671         case '1': {
2672           p++;
2673           match = 1;
2674           goto s_n_llhttp__internal__n_invoke_store_http_major;
2675         }
2676         case '2': {
2677           p++;
2678           match = 2;
2679           goto s_n_llhttp__internal__n_invoke_store_http_major;
2680         }
2681         case '3': {
2682           p++;
2683           match = 3;
2684           goto s_n_llhttp__internal__n_invoke_store_http_major;
2685         }
2686         case '4': {
2687           p++;
2688           match = 4;
2689           goto s_n_llhttp__internal__n_invoke_store_http_major;
2690         }
2691         case '5': {
2692           p++;
2693           match = 5;
2694           goto s_n_llhttp__internal__n_invoke_store_http_major;
2695         }
2696         case '6': {
2697           p++;
2698           match = 6;
2699           goto s_n_llhttp__internal__n_invoke_store_http_major;
2700         }
2701         case '7': {
2702           p++;
2703           match = 7;
2704           goto s_n_llhttp__internal__n_invoke_store_http_major;
2705         }
2706         case '8': {
2707           p++;
2708           match = 8;
2709           goto s_n_llhttp__internal__n_invoke_store_http_major;
2710         }
2711         case '9': {
2712           p++;
2713           match = 9;
2714           goto s_n_llhttp__internal__n_invoke_store_http_major;
2715         }
2716         default: {
2717           goto s_n_llhttp__internal__n_error_33;
2718         }
2719       }
2720       /* UNREACHABLE */;
2721       abort();
2722     }
2723     case s_n_llhttp__internal__n_req_http_start_1:
2724     s_n_llhttp__internal__n_req_http_start_1: {
2725       llparse_match_t match_seq;
2726 
2727       if (p == endp) {
2728         return s_n_llhttp__internal__n_req_http_start_1;
2729       }
2730       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob15, 4);
2731       p = match_seq.current;
2732       switch (match_seq.status) {
2733         case kMatchComplete: {
2734           p++;
2735           goto s_n_llhttp__internal__n_req_http_major;
2736         }
2737         case kMatchPause: {
2738           return s_n_llhttp__internal__n_req_http_start_1;
2739         }
2740         case kMatchMismatch: {
2741           goto s_n_llhttp__internal__n_error_35;
2742         }
2743       }
2744       /* UNREACHABLE */;
2745       abort();
2746     }
2747     case s_n_llhttp__internal__n_req_http_start_2:
2748     s_n_llhttp__internal__n_req_http_start_2: {
2749       llparse_match_t match_seq;
2750 
2751       if (p == endp) {
2752         return s_n_llhttp__internal__n_req_http_start_2;
2753       }
2754       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob16, 3);
2755       p = match_seq.current;
2756       switch (match_seq.status) {
2757         case kMatchComplete: {
2758           p++;
2759           goto s_n_llhttp__internal__n_invoke_is_equal_method_1;
2760         }
2761         case kMatchPause: {
2762           return s_n_llhttp__internal__n_req_http_start_2;
2763         }
2764         case kMatchMismatch: {
2765           goto s_n_llhttp__internal__n_error_35;
2766         }
2767       }
2768       /* UNREACHABLE */;
2769       abort();
2770     }
2771     case s_n_llhttp__internal__n_req_http_start:
2772     s_n_llhttp__internal__n_req_http_start: {
2773       if (p == endp) {
2774         return s_n_llhttp__internal__n_req_http_start;
2775       }
2776       switch (*p) {
2777         case ' ': {
2778           p++;
2779           goto s_n_llhttp__internal__n_req_http_start;
2780         }
2781         case 'H': {
2782           p++;
2783           goto s_n_llhttp__internal__n_req_http_start_1;
2784         }
2785         case 'I': {
2786           p++;
2787           goto s_n_llhttp__internal__n_req_http_start_2;
2788         }
2789         default: {
2790           goto s_n_llhttp__internal__n_error_35;
2791         }
2792       }
2793       /* UNREACHABLE */;
2794       abort();
2795     }
2796     case s_n_llhttp__internal__n_url_to_http:
2797     s_n_llhttp__internal__n_url_to_http: {
2798       if (p == endp) {
2799         return s_n_llhttp__internal__n_url_to_http;
2800       }
2801       switch (*p) {
2802         case 9: {
2803           p++;
2804           goto s_n_llhttp__internal__n_error_1;
2805         }
2806         case 12: {
2807           p++;
2808           goto s_n_llhttp__internal__n_error_1;
2809         }
2810         default: {
2811           goto s_n_llhttp__internal__n_req_http_start;
2812         }
2813       }
2814       /* UNREACHABLE */;
2815       abort();
2816     }
2817     case s_n_llhttp__internal__n_url_skip_to_http:
2818     s_n_llhttp__internal__n_url_skip_to_http: {
2819       if (p == endp) {
2820         return s_n_llhttp__internal__n_url_skip_to_http;
2821       }
2822       switch (*p) {
2823         case 9: {
2824           p++;
2825           goto s_n_llhttp__internal__n_error_1;
2826         }
2827         case 12: {
2828           p++;
2829           goto s_n_llhttp__internal__n_error_1;
2830         }
2831         default: {
2832           p++;
2833           goto s_n_llhttp__internal__n_url_to_http;
2834         }
2835       }
2836       /* UNREACHABLE */;
2837       abort();
2838     }
2839     case s_n_llhttp__internal__n_url_fragment:
2840     s_n_llhttp__internal__n_url_fragment: {
2841       static uint8_t lookup_table[] = {
2842         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
2843         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2844         4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2845         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2846         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2847         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2848         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2849         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0,
2850         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2851         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2852         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2853         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2854         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2855         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2856         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2857         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
2858       };
2859       if (p == endp) {
2860         return s_n_llhttp__internal__n_url_fragment;
2861       }
2862       switch (lookup_table[(uint8_t) *p]) {
2863         case 1: {
2864           p++;
2865           goto s_n_llhttp__internal__n_error_1;
2866         }
2867         case 2: {
2868           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_6;
2869         }
2870         case 3: {
2871           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_7;
2872         }
2873         case 4: {
2874           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_8;
2875         }
2876         case 5: {
2877           p++;
2878           goto s_n_llhttp__internal__n_url_fragment;
2879         }
2880         default: {
2881           goto s_n_llhttp__internal__n_error_36;
2882         }
2883       }
2884       /* UNREACHABLE */;
2885       abort();
2886     }
2887     case s_n_llhttp__internal__n_span_end_stub_query_3:
2888     s_n_llhttp__internal__n_span_end_stub_query_3: {
2889       if (p == endp) {
2890         return s_n_llhttp__internal__n_span_end_stub_query_3;
2891       }
2892       p++;
2893       goto s_n_llhttp__internal__n_url_fragment;
2894       /* UNREACHABLE */;
2895       abort();
2896     }
2897     case s_n_llhttp__internal__n_url_query:
2898     s_n_llhttp__internal__n_url_query: {
2899       static uint8_t lookup_table[] = {
2900         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
2901         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2902         4, 5, 5, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2903         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2904         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2905         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2906         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2907         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0,
2908         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2909         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2910         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2911         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2912         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2913         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2914         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2915         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
2916       };
2917       if (p == endp) {
2918         return s_n_llhttp__internal__n_url_query;
2919       }
2920       switch (lookup_table[(uint8_t) *p]) {
2921         case 1: {
2922           p++;
2923           goto s_n_llhttp__internal__n_error_1;
2924         }
2925         case 2: {
2926           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_9;
2927         }
2928         case 3: {
2929           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_10;
2930         }
2931         case 4: {
2932           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_11;
2933         }
2934         case 5: {
2935           p++;
2936           goto s_n_llhttp__internal__n_url_query;
2937         }
2938         case 6: {
2939           goto s_n_llhttp__internal__n_span_end_stub_query_3;
2940         }
2941         default: {
2942           goto s_n_llhttp__internal__n_error_37;
2943         }
2944       }
2945       /* UNREACHABLE */;
2946       abort();
2947     }
2948     case s_n_llhttp__internal__n_url_query_or_fragment:
2949     s_n_llhttp__internal__n_url_query_or_fragment: {
2950       if (p == endp) {
2951         return s_n_llhttp__internal__n_url_query_or_fragment;
2952       }
2953       switch (*p) {
2954         case 9: {
2955           p++;
2956           goto s_n_llhttp__internal__n_error_1;
2957         }
2958         case 10: {
2959           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_3;
2960         }
2961         case 12: {
2962           p++;
2963           goto s_n_llhttp__internal__n_error_1;
2964         }
2965         case 13: {
2966           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_4;
2967         }
2968         case ' ': {
2969           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_5;
2970         }
2971         case '#': {
2972           p++;
2973           goto s_n_llhttp__internal__n_url_fragment;
2974         }
2975         case '?': {
2976           p++;
2977           goto s_n_llhttp__internal__n_url_query;
2978         }
2979         default: {
2980           goto s_n_llhttp__internal__n_error_38;
2981         }
2982       }
2983       /* UNREACHABLE */;
2984       abort();
2985     }
2986     case s_n_llhttp__internal__n_url_path:
2987     s_n_llhttp__internal__n_url_path: {
2988       static uint8_t lookup_table[] = {
2989         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,
2990         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2991         0, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2992         2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
2993         2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2994         2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2995         2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2996         2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
2997         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2998         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2999         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3000         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3001         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3002         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3003         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3004         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
3005       };
3006       if (p == endp) {
3007         return s_n_llhttp__internal__n_url_path;
3008       }
3009       switch (lookup_table[(uint8_t) *p]) {
3010         case 1: {
3011           p++;
3012           goto s_n_llhttp__internal__n_error_1;
3013         }
3014         case 2: {
3015           p++;
3016           goto s_n_llhttp__internal__n_url_path;
3017         }
3018         default: {
3019           goto s_n_llhttp__internal__n_url_query_or_fragment;
3020         }
3021       }
3022       /* UNREACHABLE */;
3023       abort();
3024     }
3025     case s_n_llhttp__internal__n_span_start_stub_path_2:
3026     s_n_llhttp__internal__n_span_start_stub_path_2: {
3027       if (p == endp) {
3028         return s_n_llhttp__internal__n_span_start_stub_path_2;
3029       }
3030       p++;
3031       goto s_n_llhttp__internal__n_url_path;
3032       /* UNREACHABLE */;
3033       abort();
3034     }
3035     case s_n_llhttp__internal__n_span_start_stub_path:
3036     s_n_llhttp__internal__n_span_start_stub_path: {
3037       if (p == endp) {
3038         return s_n_llhttp__internal__n_span_start_stub_path;
3039       }
3040       p++;
3041       goto s_n_llhttp__internal__n_url_path;
3042       /* UNREACHABLE */;
3043       abort();
3044     }
3045     case s_n_llhttp__internal__n_span_start_stub_path_1:
3046     s_n_llhttp__internal__n_span_start_stub_path_1: {
3047       if (p == endp) {
3048         return s_n_llhttp__internal__n_span_start_stub_path_1;
3049       }
3050       p++;
3051       goto s_n_llhttp__internal__n_url_path;
3052       /* UNREACHABLE */;
3053       abort();
3054     }
3055     case s_n_llhttp__internal__n_url_server_with_at:
3056     s_n_llhttp__internal__n_url_server_with_at: {
3057       static uint8_t lookup_table[] = {
3058         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
3059         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3060         4, 5, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6,
3061         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 0, 7,
3062         8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3063         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 0, 5,
3064         0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3065         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 5, 0,
3066         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3067         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3068         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3069         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3070         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3071         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3072         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3073         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
3074       };
3075       if (p == endp) {
3076         return s_n_llhttp__internal__n_url_server_with_at;
3077       }
3078       switch (lookup_table[(uint8_t) *p]) {
3079         case 1: {
3080           p++;
3081           goto s_n_llhttp__internal__n_error_1;
3082         }
3083         case 2: {
3084           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_12;
3085         }
3086         case 3: {
3087           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_13;
3088         }
3089         case 4: {
3090           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_14;
3091         }
3092         case 5: {
3093           p++;
3094           goto s_n_llhttp__internal__n_url_server;
3095         }
3096         case 6: {
3097           goto s_n_llhttp__internal__n_span_start_stub_path_1;
3098         }
3099         case 7: {
3100           p++;
3101           goto s_n_llhttp__internal__n_url_query;
3102         }
3103         case 8: {
3104           p++;
3105           goto s_n_llhttp__internal__n_error_39;
3106         }
3107         default: {
3108           goto s_n_llhttp__internal__n_error_40;
3109         }
3110       }
3111       /* UNREACHABLE */;
3112       abort();
3113     }
3114     case s_n_llhttp__internal__n_url_server:
3115     s_n_llhttp__internal__n_url_server: {
3116       static uint8_t lookup_table[] = {
3117         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
3118         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3119         4, 5, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6,
3120         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 0, 7,
3121         8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3122         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 0, 5,
3123         0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3124         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 5, 0,
3125         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3126         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3127         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3128         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3129         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3130         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3131         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3132         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
3133       };
3134       if (p == endp) {
3135         return s_n_llhttp__internal__n_url_server;
3136       }
3137       switch (lookup_table[(uint8_t) *p]) {
3138         case 1: {
3139           p++;
3140           goto s_n_llhttp__internal__n_error_1;
3141         }
3142         case 2: {
3143           goto s_n_llhttp__internal__n_span_end_llhttp__on_url;
3144         }
3145         case 3: {
3146           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_1;
3147         }
3148         case 4: {
3149           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_2;
3150         }
3151         case 5: {
3152           p++;
3153           goto s_n_llhttp__internal__n_url_server;
3154         }
3155         case 6: {
3156           goto s_n_llhttp__internal__n_span_start_stub_path;
3157         }
3158         case 7: {
3159           p++;
3160           goto s_n_llhttp__internal__n_url_query;
3161         }
3162         case 8: {
3163           p++;
3164           goto s_n_llhttp__internal__n_url_server_with_at;
3165         }
3166         default: {
3167           goto s_n_llhttp__internal__n_error_41;
3168         }
3169       }
3170       /* UNREACHABLE */;
3171       abort();
3172     }
3173     case s_n_llhttp__internal__n_url_schema_delim_1:
3174     s_n_llhttp__internal__n_url_schema_delim_1: {
3175       if (p == endp) {
3176         return s_n_llhttp__internal__n_url_schema_delim_1;
3177       }
3178       switch (*p) {
3179         case '/': {
3180           p++;
3181           goto s_n_llhttp__internal__n_url_server;
3182         }
3183         default: {
3184           goto s_n_llhttp__internal__n_error_43;
3185         }
3186       }
3187       /* UNREACHABLE */;
3188       abort();
3189     }
3190     case s_n_llhttp__internal__n_url_schema_delim:
3191     s_n_llhttp__internal__n_url_schema_delim: {
3192       if (p == endp) {
3193         return s_n_llhttp__internal__n_url_schema_delim;
3194       }
3195       switch (*p) {
3196         case 9: {
3197           p++;
3198           goto s_n_llhttp__internal__n_error_1;
3199         }
3200         case 10: {
3201           p++;
3202           goto s_n_llhttp__internal__n_error_42;
3203         }
3204         case 12: {
3205           p++;
3206           goto s_n_llhttp__internal__n_error_1;
3207         }
3208         case 13: {
3209           p++;
3210           goto s_n_llhttp__internal__n_error_42;
3211         }
3212         case ' ': {
3213           p++;
3214           goto s_n_llhttp__internal__n_error_42;
3215         }
3216         case '/': {
3217           p++;
3218           goto s_n_llhttp__internal__n_url_schema_delim_1;
3219         }
3220         default: {
3221           goto s_n_llhttp__internal__n_error_43;
3222         }
3223       }
3224       /* UNREACHABLE */;
3225       abort();
3226     }
3227     case s_n_llhttp__internal__n_span_end_stub_schema:
3228     s_n_llhttp__internal__n_span_end_stub_schema: {
3229       if (p == endp) {
3230         return s_n_llhttp__internal__n_span_end_stub_schema;
3231       }
3232       p++;
3233       goto s_n_llhttp__internal__n_url_schema_delim;
3234       /* UNREACHABLE */;
3235       abort();
3236     }
3237     case s_n_llhttp__internal__n_url_schema:
3238     s_n_llhttp__internal__n_url_schema: {
3239       static uint8_t lookup_table[] = {
3240         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 2, 0, 0,
3241         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3242         2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3243         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
3244         0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
3245         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0,
3246         0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
3247         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0,
3248         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3249         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3250         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3251         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3252         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3253         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3254         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3255         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
3256       };
3257       if (p == endp) {
3258         return s_n_llhttp__internal__n_url_schema;
3259       }
3260       switch (lookup_table[(uint8_t) *p]) {
3261         case 1: {
3262           p++;
3263           goto s_n_llhttp__internal__n_error_1;
3264         }
3265         case 2: {
3266           p++;
3267           goto s_n_llhttp__internal__n_error_42;
3268         }
3269         case 3: {
3270           goto s_n_llhttp__internal__n_span_end_stub_schema;
3271         }
3272         case 4: {
3273           p++;
3274           goto s_n_llhttp__internal__n_url_schema;
3275         }
3276         default: {
3277           goto s_n_llhttp__internal__n_error_44;
3278         }
3279       }
3280       /* UNREACHABLE */;
3281       abort();
3282     }
3283     case s_n_llhttp__internal__n_url_start:
3284     s_n_llhttp__internal__n_url_start: {
3285       static uint8_t lookup_table[] = {
3286         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 2, 0, 0,
3287         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3288         2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3,
3289         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3290         0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
3291         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0,
3292         0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
3293         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0,
3294         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3295         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3296         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3297         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3298         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3299         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3300         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3301         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
3302       };
3303       if (p == endp) {
3304         return s_n_llhttp__internal__n_url_start;
3305       }
3306       switch (lookup_table[(uint8_t) *p]) {
3307         case 1: {
3308           p++;
3309           goto s_n_llhttp__internal__n_error_1;
3310         }
3311         case 2: {
3312           p++;
3313           goto s_n_llhttp__internal__n_error_42;
3314         }
3315         case 3: {
3316           goto s_n_llhttp__internal__n_span_start_stub_path_2;
3317         }
3318         case 4: {
3319           goto s_n_llhttp__internal__n_url_schema;
3320         }
3321         default: {
3322           goto s_n_llhttp__internal__n_error_45;
3323         }
3324       }
3325       /* UNREACHABLE */;
3326       abort();
3327     }
3328     case s_n_llhttp__internal__n_span_start_llhttp__on_url_1:
3329     s_n_llhttp__internal__n_span_start_llhttp__on_url_1: {
3330       if (p == endp) {
3331         return s_n_llhttp__internal__n_span_start_llhttp__on_url_1;
3332       }
3333       state->_span_pos0 = (void*) p;
3334       state->_span_cb0 = llhttp__on_url;
3335       goto s_n_llhttp__internal__n_url_start;
3336       /* UNREACHABLE */;
3337       abort();
3338     }
3339     case s_n_llhttp__internal__n_url_entry_normal:
3340     s_n_llhttp__internal__n_url_entry_normal: {
3341       if (p == endp) {
3342         return s_n_llhttp__internal__n_url_entry_normal;
3343       }
3344       switch (*p) {
3345         case 9: {
3346           p++;
3347           goto s_n_llhttp__internal__n_error_1;
3348         }
3349         case 12: {
3350           p++;
3351           goto s_n_llhttp__internal__n_error_1;
3352         }
3353         default: {
3354           goto s_n_llhttp__internal__n_span_start_llhttp__on_url_1;
3355         }
3356       }
3357       /* UNREACHABLE */;
3358       abort();
3359     }
3360     case s_n_llhttp__internal__n_span_start_llhttp__on_url:
3361     s_n_llhttp__internal__n_span_start_llhttp__on_url: {
3362       if (p == endp) {
3363         return s_n_llhttp__internal__n_span_start_llhttp__on_url;
3364       }
3365       state->_span_pos0 = (void*) p;
3366       state->_span_cb0 = llhttp__on_url;
3367       goto s_n_llhttp__internal__n_url_server;
3368       /* UNREACHABLE */;
3369       abort();
3370     }
3371     case s_n_llhttp__internal__n_url_entry_connect:
3372     s_n_llhttp__internal__n_url_entry_connect: {
3373       if (p == endp) {
3374         return s_n_llhttp__internal__n_url_entry_connect;
3375       }
3376       switch (*p) {
3377         case 9: {
3378           p++;
3379           goto s_n_llhttp__internal__n_error_1;
3380         }
3381         case 12: {
3382           p++;
3383           goto s_n_llhttp__internal__n_error_1;
3384         }
3385         default: {
3386           goto s_n_llhttp__internal__n_span_start_llhttp__on_url;
3387         }
3388       }
3389       /* UNREACHABLE */;
3390       abort();
3391     }
3392     case s_n_llhttp__internal__n_req_spaces_before_url:
3393     s_n_llhttp__internal__n_req_spaces_before_url: {
3394       if (p == endp) {
3395         return s_n_llhttp__internal__n_req_spaces_before_url;
3396       }
3397       switch (*p) {
3398         case ' ': {
3399           p++;
3400           goto s_n_llhttp__internal__n_req_spaces_before_url;
3401         }
3402         default: {
3403           goto s_n_llhttp__internal__n_invoke_is_equal_method;
3404         }
3405       }
3406       /* UNREACHABLE */;
3407       abort();
3408     }
3409     case s_n_llhttp__internal__n_req_first_space_before_url:
3410     s_n_llhttp__internal__n_req_first_space_before_url: {
3411       if (p == endp) {
3412         return s_n_llhttp__internal__n_req_first_space_before_url;
3413       }
3414       switch (*p) {
3415         case ' ': {
3416           p++;
3417           goto s_n_llhttp__internal__n_req_spaces_before_url;
3418         }
3419         default: {
3420           goto s_n_llhttp__internal__n_error_46;
3421         }
3422       }
3423       /* UNREACHABLE */;
3424       abort();
3425     }
3426     case s_n_llhttp__internal__n_start_req_1:
3427     s_n_llhttp__internal__n_start_req_1: {
3428       llparse_match_t match_seq;
3429 
3430       if (p == endp) {
3431         return s_n_llhttp__internal__n_start_req_1;
3432       }
3433       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob0, 2);
3434       p = match_seq.current;
3435       switch (match_seq.status) {
3436         case kMatchComplete: {
3437           p++;
3438           match = 19;
3439           goto s_n_llhttp__internal__n_invoke_store_method_1;
3440         }
3441         case kMatchPause: {
3442           return s_n_llhttp__internal__n_start_req_1;
3443         }
3444         case kMatchMismatch: {
3445           goto s_n_llhttp__internal__n_error_55;
3446         }
3447       }
3448       /* UNREACHABLE */;
3449       abort();
3450     }
3451     case s_n_llhttp__internal__n_start_req_2:
3452     s_n_llhttp__internal__n_start_req_2: {
3453       llparse_match_t match_seq;
3454 
3455       if (p == endp) {
3456         return s_n_llhttp__internal__n_start_req_2;
3457       }
3458       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob17, 3);
3459       p = match_seq.current;
3460       switch (match_seq.status) {
3461         case kMatchComplete: {
3462           p++;
3463           match = 16;
3464           goto s_n_llhttp__internal__n_invoke_store_method_1;
3465         }
3466         case kMatchPause: {
3467           return s_n_llhttp__internal__n_start_req_2;
3468         }
3469         case kMatchMismatch: {
3470           goto s_n_llhttp__internal__n_error_55;
3471         }
3472       }
3473       /* UNREACHABLE */;
3474       abort();
3475     }
3476     case s_n_llhttp__internal__n_start_req_4:
3477     s_n_llhttp__internal__n_start_req_4: {
3478       llparse_match_t match_seq;
3479 
3480       if (p == endp) {
3481         return s_n_llhttp__internal__n_start_req_4;
3482       }
3483       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob18, 6);
3484       p = match_seq.current;
3485       switch (match_seq.status) {
3486         case kMatchComplete: {
3487           p++;
3488           match = 22;
3489           goto s_n_llhttp__internal__n_invoke_store_method_1;
3490         }
3491         case kMatchPause: {
3492           return s_n_llhttp__internal__n_start_req_4;
3493         }
3494         case kMatchMismatch: {
3495           goto s_n_llhttp__internal__n_error_55;
3496         }
3497       }
3498       /* UNREACHABLE */;
3499       abort();
3500     }
3501     case s_n_llhttp__internal__n_start_req_6:
3502     s_n_llhttp__internal__n_start_req_6: {
3503       llparse_match_t match_seq;
3504 
3505       if (p == endp) {
3506         return s_n_llhttp__internal__n_start_req_6;
3507       }
3508       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob19, 4);
3509       p = match_seq.current;
3510       switch (match_seq.status) {
3511         case kMatchComplete: {
3512           p++;
3513           match = 5;
3514           goto s_n_llhttp__internal__n_invoke_store_method_1;
3515         }
3516         case kMatchPause: {
3517           return s_n_llhttp__internal__n_start_req_6;
3518         }
3519         case kMatchMismatch: {
3520           goto s_n_llhttp__internal__n_error_55;
3521         }
3522       }
3523       /* UNREACHABLE */;
3524       abort();
3525     }
3526     case s_n_llhttp__internal__n_start_req_7:
3527     s_n_llhttp__internal__n_start_req_7: {
3528       if (p == endp) {
3529         return s_n_llhttp__internal__n_start_req_7;
3530       }
3531       switch (*p) {
3532         case 'Y': {
3533           p++;
3534           match = 8;
3535           goto s_n_llhttp__internal__n_invoke_store_method_1;
3536         }
3537         default: {
3538           goto s_n_llhttp__internal__n_error_55;
3539         }
3540       }
3541       /* UNREACHABLE */;
3542       abort();
3543     }
3544     case s_n_llhttp__internal__n_start_req_5:
3545     s_n_llhttp__internal__n_start_req_5: {
3546       if (p == endp) {
3547         return s_n_llhttp__internal__n_start_req_5;
3548       }
3549       switch (*p) {
3550         case 'N': {
3551           p++;
3552           goto s_n_llhttp__internal__n_start_req_6;
3553         }
3554         case 'P': {
3555           p++;
3556           goto s_n_llhttp__internal__n_start_req_7;
3557         }
3558         default: {
3559           goto s_n_llhttp__internal__n_error_55;
3560         }
3561       }
3562       /* UNREACHABLE */;
3563       abort();
3564     }
3565     case s_n_llhttp__internal__n_start_req_3:
3566     s_n_llhttp__internal__n_start_req_3: {
3567       if (p == endp) {
3568         return s_n_llhttp__internal__n_start_req_3;
3569       }
3570       switch (*p) {
3571         case 'H': {
3572           p++;
3573           goto s_n_llhttp__internal__n_start_req_4;
3574         }
3575         case 'O': {
3576           p++;
3577           goto s_n_llhttp__internal__n_start_req_5;
3578         }
3579         default: {
3580           goto s_n_llhttp__internal__n_error_55;
3581         }
3582       }
3583       /* UNREACHABLE */;
3584       abort();
3585     }
3586     case s_n_llhttp__internal__n_start_req_8:
3587     s_n_llhttp__internal__n_start_req_8: {
3588       llparse_match_t match_seq;
3589 
3590       if (p == endp) {
3591         return s_n_llhttp__internal__n_start_req_8;
3592       }
3593       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob20, 5);
3594       p = match_seq.current;
3595       switch (match_seq.status) {
3596         case kMatchComplete: {
3597           p++;
3598           match = 0;
3599           goto s_n_llhttp__internal__n_invoke_store_method_1;
3600         }
3601         case kMatchPause: {
3602           return s_n_llhttp__internal__n_start_req_8;
3603         }
3604         case kMatchMismatch: {
3605           goto s_n_llhttp__internal__n_error_55;
3606         }
3607       }
3608       /* UNREACHABLE */;
3609       abort();
3610     }
3611     case s_n_llhttp__internal__n_start_req_9:
3612     s_n_llhttp__internal__n_start_req_9: {
3613       llparse_match_t match_seq;
3614 
3615       if (p == endp) {
3616         return s_n_llhttp__internal__n_start_req_9;
3617       }
3618       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob21, 2);
3619       p = match_seq.current;
3620       switch (match_seq.status) {
3621         case kMatchComplete: {
3622           p++;
3623           match = 1;
3624           goto s_n_llhttp__internal__n_invoke_store_method_1;
3625         }
3626         case kMatchPause: {
3627           return s_n_llhttp__internal__n_start_req_9;
3628         }
3629         case kMatchMismatch: {
3630           goto s_n_llhttp__internal__n_error_55;
3631         }
3632       }
3633       /* UNREACHABLE */;
3634       abort();
3635     }
3636     case s_n_llhttp__internal__n_start_req_10:
3637     s_n_llhttp__internal__n_start_req_10: {
3638       llparse_match_t match_seq;
3639 
3640       if (p == endp) {
3641         return s_n_llhttp__internal__n_start_req_10;
3642       }
3643       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob22, 3);
3644       p = match_seq.current;
3645       switch (match_seq.status) {
3646         case kMatchComplete: {
3647           p++;
3648           match = 2;
3649           goto s_n_llhttp__internal__n_invoke_store_method_1;
3650         }
3651         case kMatchPause: {
3652           return s_n_llhttp__internal__n_start_req_10;
3653         }
3654         case kMatchMismatch: {
3655           goto s_n_llhttp__internal__n_error_55;
3656         }
3657       }
3658       /* UNREACHABLE */;
3659       abort();
3660     }
3661     case s_n_llhttp__internal__n_start_req_12:
3662     s_n_llhttp__internal__n_start_req_12: {
3663       llparse_match_t match_seq;
3664 
3665       if (p == endp) {
3666         return s_n_llhttp__internal__n_start_req_12;
3667       }
3668       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob23, 2);
3669       p = match_seq.current;
3670       switch (match_seq.status) {
3671         case kMatchComplete: {
3672           p++;
3673           match = 31;
3674           goto s_n_llhttp__internal__n_invoke_store_method_1;
3675         }
3676         case kMatchPause: {
3677           return s_n_llhttp__internal__n_start_req_12;
3678         }
3679         case kMatchMismatch: {
3680           goto s_n_llhttp__internal__n_error_55;
3681         }
3682       }
3683       /* UNREACHABLE */;
3684       abort();
3685     }
3686     case s_n_llhttp__internal__n_start_req_13:
3687     s_n_llhttp__internal__n_start_req_13: {
3688       llparse_match_t match_seq;
3689 
3690       if (p == endp) {
3691         return s_n_llhttp__internal__n_start_req_13;
3692       }
3693       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob24, 2);
3694       p = match_seq.current;
3695       switch (match_seq.status) {
3696         case kMatchComplete: {
3697           p++;
3698           match = 9;
3699           goto s_n_llhttp__internal__n_invoke_store_method_1;
3700         }
3701         case kMatchPause: {
3702           return s_n_llhttp__internal__n_start_req_13;
3703         }
3704         case kMatchMismatch: {
3705           goto s_n_llhttp__internal__n_error_55;
3706         }
3707       }
3708       /* UNREACHABLE */;
3709       abort();
3710     }
3711     case s_n_llhttp__internal__n_start_req_11:
3712     s_n_llhttp__internal__n_start_req_11: {
3713       if (p == endp) {
3714         return s_n_llhttp__internal__n_start_req_11;
3715       }
3716       switch (*p) {
3717         case 'I': {
3718           p++;
3719           goto s_n_llhttp__internal__n_start_req_12;
3720         }
3721         case 'O': {
3722           p++;
3723           goto s_n_llhttp__internal__n_start_req_13;
3724         }
3725         default: {
3726           goto s_n_llhttp__internal__n_error_55;
3727         }
3728       }
3729       /* UNREACHABLE */;
3730       abort();
3731     }
3732     case s_n_llhttp__internal__n_start_req_15:
3733     s_n_llhttp__internal__n_start_req_15: {
3734       llparse_match_t match_seq;
3735 
3736       if (p == endp) {
3737         return s_n_llhttp__internal__n_start_req_15;
3738       }
3739       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob25, 6);
3740       p = match_seq.current;
3741       switch (match_seq.status) {
3742         case kMatchComplete: {
3743           p++;
3744           match = 24;
3745           goto s_n_llhttp__internal__n_invoke_store_method_1;
3746         }
3747         case kMatchPause: {
3748           return s_n_llhttp__internal__n_start_req_15;
3749         }
3750         case kMatchMismatch: {
3751           goto s_n_llhttp__internal__n_error_55;
3752         }
3753       }
3754       /* UNREACHABLE */;
3755       abort();
3756     }
3757     case s_n_llhttp__internal__n_start_req_16:
3758     s_n_llhttp__internal__n_start_req_16: {
3759       llparse_match_t match_seq;
3760 
3761       if (p == endp) {
3762         return s_n_llhttp__internal__n_start_req_16;
3763       }
3764       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob26, 3);
3765       p = match_seq.current;
3766       switch (match_seq.status) {
3767         case kMatchComplete: {
3768           p++;
3769           match = 23;
3770           goto s_n_llhttp__internal__n_invoke_store_method_1;
3771         }
3772         case kMatchPause: {
3773           return s_n_llhttp__internal__n_start_req_16;
3774         }
3775         case kMatchMismatch: {
3776           goto s_n_llhttp__internal__n_error_55;
3777         }
3778       }
3779       /* UNREACHABLE */;
3780       abort();
3781     }
3782     case s_n_llhttp__internal__n_start_req_18:
3783     s_n_llhttp__internal__n_start_req_18: {
3784       llparse_match_t match_seq;
3785 
3786       if (p == endp) {
3787         return s_n_llhttp__internal__n_start_req_18;
3788       }
3789       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob27, 7);
3790       p = match_seq.current;
3791       switch (match_seq.status) {
3792         case kMatchComplete: {
3793           p++;
3794           match = 21;
3795           goto s_n_llhttp__internal__n_invoke_store_method_1;
3796         }
3797         case kMatchPause: {
3798           return s_n_llhttp__internal__n_start_req_18;
3799         }
3800         case kMatchMismatch: {
3801           goto s_n_llhttp__internal__n_error_55;
3802         }
3803       }
3804       /* UNREACHABLE */;
3805       abort();
3806     }
3807     case s_n_llhttp__internal__n_start_req_20:
3808     s_n_llhttp__internal__n_start_req_20: {
3809       llparse_match_t match_seq;
3810 
3811       if (p == endp) {
3812         return s_n_llhttp__internal__n_start_req_20;
3813       }
3814       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob28, 6);
3815       p = match_seq.current;
3816       switch (match_seq.status) {
3817         case kMatchComplete: {
3818           p++;
3819           match = 30;
3820           goto s_n_llhttp__internal__n_invoke_store_method_1;
3821         }
3822         case kMatchPause: {
3823           return s_n_llhttp__internal__n_start_req_20;
3824         }
3825         case kMatchMismatch: {
3826           goto s_n_llhttp__internal__n_error_55;
3827         }
3828       }
3829       /* UNREACHABLE */;
3830       abort();
3831     }
3832     case s_n_llhttp__internal__n_start_req_21:
3833     s_n_llhttp__internal__n_start_req_21: {
3834       if (p == endp) {
3835         return s_n_llhttp__internal__n_start_req_21;
3836       }
3837       switch (*p) {
3838         case 'L': {
3839           p++;
3840           match = 10;
3841           goto s_n_llhttp__internal__n_invoke_store_method_1;
3842         }
3843         default: {
3844           goto s_n_llhttp__internal__n_error_55;
3845         }
3846       }
3847       /* UNREACHABLE */;
3848       abort();
3849     }
3850     case s_n_llhttp__internal__n_start_req_19:
3851     s_n_llhttp__internal__n_start_req_19: {
3852       if (p == endp) {
3853         return s_n_llhttp__internal__n_start_req_19;
3854       }
3855       switch (*p) {
3856         case 'A': {
3857           p++;
3858           goto s_n_llhttp__internal__n_start_req_20;
3859         }
3860         case 'O': {
3861           p++;
3862           goto s_n_llhttp__internal__n_start_req_21;
3863         }
3864         default: {
3865           goto s_n_llhttp__internal__n_error_55;
3866         }
3867       }
3868       /* UNREACHABLE */;
3869       abort();
3870     }
3871     case s_n_llhttp__internal__n_start_req_17:
3872     s_n_llhttp__internal__n_start_req_17: {
3873       if (p == endp) {
3874         return s_n_llhttp__internal__n_start_req_17;
3875       }
3876       switch (*p) {
3877         case 'A': {
3878           p++;
3879           goto s_n_llhttp__internal__n_start_req_18;
3880         }
3881         case 'C': {
3882           p++;
3883           goto s_n_llhttp__internal__n_start_req_19;
3884         }
3885         default: {
3886           goto s_n_llhttp__internal__n_error_55;
3887         }
3888       }
3889       /* UNREACHABLE */;
3890       abort();
3891     }
3892     case s_n_llhttp__internal__n_start_req_22:
3893     s_n_llhttp__internal__n_start_req_22: {
3894       llparse_match_t match_seq;
3895 
3896       if (p == endp) {
3897         return s_n_llhttp__internal__n_start_req_22;
3898       }
3899       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob29, 2);
3900       p = match_seq.current;
3901       switch (match_seq.status) {
3902         case kMatchComplete: {
3903           p++;
3904           match = 11;
3905           goto s_n_llhttp__internal__n_invoke_store_method_1;
3906         }
3907         case kMatchPause: {
3908           return s_n_llhttp__internal__n_start_req_22;
3909         }
3910         case kMatchMismatch: {
3911           goto s_n_llhttp__internal__n_error_55;
3912         }
3913       }
3914       /* UNREACHABLE */;
3915       abort();
3916     }
3917     case s_n_llhttp__internal__n_start_req_14:
3918     s_n_llhttp__internal__n_start_req_14: {
3919       if (p == endp) {
3920         return s_n_llhttp__internal__n_start_req_14;
3921       }
3922       switch (*p) {
3923         case '-': {
3924           p++;
3925           goto s_n_llhttp__internal__n_start_req_15;
3926         }
3927         case 'E': {
3928           p++;
3929           goto s_n_llhttp__internal__n_start_req_16;
3930         }
3931         case 'K': {
3932           p++;
3933           goto s_n_llhttp__internal__n_start_req_17;
3934         }
3935         case 'O': {
3936           p++;
3937           goto s_n_llhttp__internal__n_start_req_22;
3938         }
3939         default: {
3940           goto s_n_llhttp__internal__n_error_55;
3941         }
3942       }
3943       /* UNREACHABLE */;
3944       abort();
3945     }
3946     case s_n_llhttp__internal__n_start_req_23:
3947     s_n_llhttp__internal__n_start_req_23: {
3948       llparse_match_t match_seq;
3949 
3950       if (p == endp) {
3951         return s_n_llhttp__internal__n_start_req_23;
3952       }
3953       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob30, 5);
3954       p = match_seq.current;
3955       switch (match_seq.status) {
3956         case kMatchComplete: {
3957           p++;
3958           match = 25;
3959           goto s_n_llhttp__internal__n_invoke_store_method_1;
3960         }
3961         case kMatchPause: {
3962           return s_n_llhttp__internal__n_start_req_23;
3963         }
3964         case kMatchMismatch: {
3965           goto s_n_llhttp__internal__n_error_55;
3966         }
3967       }
3968       /* UNREACHABLE */;
3969       abort();
3970     }
3971     case s_n_llhttp__internal__n_start_req_24:
3972     s_n_llhttp__internal__n_start_req_24: {
3973       llparse_match_t match_seq;
3974 
3975       if (p == endp) {
3976         return s_n_llhttp__internal__n_start_req_24;
3977       }
3978       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob31, 6);
3979       p = match_seq.current;
3980       switch (match_seq.status) {
3981         case kMatchComplete: {
3982           p++;
3983           match = 6;
3984           goto s_n_llhttp__internal__n_invoke_store_method_1;
3985         }
3986         case kMatchPause: {
3987           return s_n_llhttp__internal__n_start_req_24;
3988         }
3989         case kMatchMismatch: {
3990           goto s_n_llhttp__internal__n_error_55;
3991         }
3992       }
3993       /* UNREACHABLE */;
3994       abort();
3995     }
3996     case s_n_llhttp__internal__n_start_req_26:
3997     s_n_llhttp__internal__n_start_req_26: {
3998       llparse_match_t match_seq;
3999 
4000       if (p == endp) {
4001         return s_n_llhttp__internal__n_start_req_26;
4002       }
4003       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob32, 3);
4004       p = match_seq.current;
4005       switch (match_seq.status) {
4006         case kMatchComplete: {
4007           p++;
4008           match = 28;
4009           goto s_n_llhttp__internal__n_invoke_store_method_1;
4010         }
4011         case kMatchPause: {
4012           return s_n_llhttp__internal__n_start_req_26;
4013         }
4014         case kMatchMismatch: {
4015           goto s_n_llhttp__internal__n_error_55;
4016         }
4017       }
4018       /* UNREACHABLE */;
4019       abort();
4020     }
4021     case s_n_llhttp__internal__n_start_req_27:
4022     s_n_llhttp__internal__n_start_req_27: {
4023       llparse_match_t match_seq;
4024 
4025       if (p == endp) {
4026         return s_n_llhttp__internal__n_start_req_27;
4027       }
4028       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob33, 2);
4029       p = match_seq.current;
4030       switch (match_seq.status) {
4031         case kMatchComplete: {
4032           p++;
4033           match = 3;
4034           goto s_n_llhttp__internal__n_invoke_store_method_1;
4035         }
4036         case kMatchPause: {
4037           return s_n_llhttp__internal__n_start_req_27;
4038         }
4039         case kMatchMismatch: {
4040           goto s_n_llhttp__internal__n_error_55;
4041         }
4042       }
4043       /* UNREACHABLE */;
4044       abort();
4045     }
4046     case s_n_llhttp__internal__n_start_req_31:
4047     s_n_llhttp__internal__n_start_req_31: {
4048       llparse_match_t match_seq;
4049 
4050       if (p == endp) {
4051         return s_n_llhttp__internal__n_start_req_31;
4052       }
4053       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob34, 3);
4054       p = match_seq.current;
4055       switch (match_seq.status) {
4056         case kMatchComplete: {
4057           p++;
4058           match = 12;
4059           goto s_n_llhttp__internal__n_invoke_store_method_1;
4060         }
4061         case kMatchPause: {
4062           return s_n_llhttp__internal__n_start_req_31;
4063         }
4064         case kMatchMismatch: {
4065           goto s_n_llhttp__internal__n_error_55;
4066         }
4067       }
4068       /* UNREACHABLE */;
4069       abort();
4070     }
4071     case s_n_llhttp__internal__n_start_req_32:
4072     s_n_llhttp__internal__n_start_req_32: {
4073       llparse_match_t match_seq;
4074 
4075       if (p == endp) {
4076         return s_n_llhttp__internal__n_start_req_32;
4077       }
4078       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob35, 4);
4079       p = match_seq.current;
4080       switch (match_seq.status) {
4081         case kMatchComplete: {
4082           p++;
4083           match = 13;
4084           goto s_n_llhttp__internal__n_invoke_store_method_1;
4085         }
4086         case kMatchPause: {
4087           return s_n_llhttp__internal__n_start_req_32;
4088         }
4089         case kMatchMismatch: {
4090           goto s_n_llhttp__internal__n_error_55;
4091         }
4092       }
4093       /* UNREACHABLE */;
4094       abort();
4095     }
4096     case s_n_llhttp__internal__n_start_req_30:
4097     s_n_llhttp__internal__n_start_req_30: {
4098       if (p == endp) {
4099         return s_n_llhttp__internal__n_start_req_30;
4100       }
4101       switch (*p) {
4102         case 'F': {
4103           p++;
4104           goto s_n_llhttp__internal__n_start_req_31;
4105         }
4106         case 'P': {
4107           p++;
4108           goto s_n_llhttp__internal__n_start_req_32;
4109         }
4110         default: {
4111           goto s_n_llhttp__internal__n_error_55;
4112         }
4113       }
4114       /* UNREACHABLE */;
4115       abort();
4116     }
4117     case s_n_llhttp__internal__n_start_req_29:
4118     s_n_llhttp__internal__n_start_req_29: {
4119       if (p == endp) {
4120         return s_n_llhttp__internal__n_start_req_29;
4121       }
4122       switch (*p) {
4123         case 'P': {
4124           p++;
4125           goto s_n_llhttp__internal__n_start_req_30;
4126         }
4127         default: {
4128           goto s_n_llhttp__internal__n_error_55;
4129         }
4130       }
4131       /* UNREACHABLE */;
4132       abort();
4133     }
4134     case s_n_llhttp__internal__n_start_req_28:
4135     s_n_llhttp__internal__n_start_req_28: {
4136       if (p == endp) {
4137         return s_n_llhttp__internal__n_start_req_28;
4138       }
4139       switch (*p) {
4140         case 'I': {
4141           p++;
4142           match = 34;
4143           goto s_n_llhttp__internal__n_invoke_store_method_1;
4144         }
4145         case 'O': {
4146           p++;
4147           goto s_n_llhttp__internal__n_start_req_29;
4148         }
4149         default: {
4150           goto s_n_llhttp__internal__n_error_55;
4151         }
4152       }
4153       /* UNREACHABLE */;
4154       abort();
4155     }
4156     case s_n_llhttp__internal__n_start_req_34:
4157     s_n_llhttp__internal__n_start_req_34: {
4158       llparse_match_t match_seq;
4159 
4160       if (p == endp) {
4161         return s_n_llhttp__internal__n_start_req_34;
4162       }
4163       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob36, 2);
4164       p = match_seq.current;
4165       switch (match_seq.status) {
4166         case kMatchComplete: {
4167           p++;
4168           match = 29;
4169           goto s_n_llhttp__internal__n_invoke_store_method_1;
4170         }
4171         case kMatchPause: {
4172           return s_n_llhttp__internal__n_start_req_34;
4173         }
4174         case kMatchMismatch: {
4175           goto s_n_llhttp__internal__n_error_55;
4176         }
4177       }
4178       /* UNREACHABLE */;
4179       abort();
4180     }
4181     case s_n_llhttp__internal__n_start_req_33:
4182     s_n_llhttp__internal__n_start_req_33: {
4183       if (p == endp) {
4184         return s_n_llhttp__internal__n_start_req_33;
4185       }
4186       switch (*p) {
4187         case 'R': {
4188           p++;
4189           goto s_n_llhttp__internal__n_start_req_34;
4190         }
4191         case 'T': {
4192           p++;
4193           match = 4;
4194           goto s_n_llhttp__internal__n_invoke_store_method_1;
4195         }
4196         default: {
4197           goto s_n_llhttp__internal__n_error_55;
4198         }
4199       }
4200       /* UNREACHABLE */;
4201       abort();
4202     }
4203     case s_n_llhttp__internal__n_start_req_25:
4204     s_n_llhttp__internal__n_start_req_25: {
4205       if (p == endp) {
4206         return s_n_llhttp__internal__n_start_req_25;
4207       }
4208       switch (*p) {
4209         case 'A': {
4210           p++;
4211           goto s_n_llhttp__internal__n_start_req_26;
4212         }
4213         case 'O': {
4214           p++;
4215           goto s_n_llhttp__internal__n_start_req_27;
4216         }
4217         case 'R': {
4218           p++;
4219           goto s_n_llhttp__internal__n_start_req_28;
4220         }
4221         case 'U': {
4222           p++;
4223           goto s_n_llhttp__internal__n_start_req_33;
4224         }
4225         default: {
4226           goto s_n_llhttp__internal__n_error_55;
4227         }
4228       }
4229       /* UNREACHABLE */;
4230       abort();
4231     }
4232     case s_n_llhttp__internal__n_start_req_37:
4233     s_n_llhttp__internal__n_start_req_37: {
4234       llparse_match_t match_seq;
4235 
4236       if (p == endp) {
4237         return s_n_llhttp__internal__n_start_req_37;
4238       }
4239       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob37, 3);
4240       p = match_seq.current;
4241       switch (match_seq.status) {
4242         case kMatchComplete: {
4243           p++;
4244           match = 17;
4245           goto s_n_llhttp__internal__n_invoke_store_method_1;
4246         }
4247         case kMatchPause: {
4248           return s_n_llhttp__internal__n_start_req_37;
4249         }
4250         case kMatchMismatch: {
4251           goto s_n_llhttp__internal__n_error_55;
4252         }
4253       }
4254       /* UNREACHABLE */;
4255       abort();
4256     }
4257     case s_n_llhttp__internal__n_start_req_38:
4258     s_n_llhttp__internal__n_start_req_38: {
4259       llparse_match_t match_seq;
4260 
4261       if (p == endp) {
4262         return s_n_llhttp__internal__n_start_req_38;
4263       }
4264       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob38, 3);
4265       p = match_seq.current;
4266       switch (match_seq.status) {
4267         case kMatchComplete: {
4268           p++;
4269           match = 20;
4270           goto s_n_llhttp__internal__n_invoke_store_method_1;
4271         }
4272         case kMatchPause: {
4273           return s_n_llhttp__internal__n_start_req_38;
4274         }
4275         case kMatchMismatch: {
4276           goto s_n_llhttp__internal__n_error_55;
4277         }
4278       }
4279       /* UNREACHABLE */;
4280       abort();
4281     }
4282     case s_n_llhttp__internal__n_start_req_36:
4283     s_n_llhttp__internal__n_start_req_36: {
4284       if (p == endp) {
4285         return s_n_llhttp__internal__n_start_req_36;
4286       }
4287       switch (*p) {
4288         case 'B': {
4289           p++;
4290           goto s_n_llhttp__internal__n_start_req_37;
4291         }
4292         case 'P': {
4293           p++;
4294           goto s_n_llhttp__internal__n_start_req_38;
4295         }
4296         default: {
4297           goto s_n_llhttp__internal__n_error_55;
4298         }
4299       }
4300       /* UNREACHABLE */;
4301       abort();
4302     }
4303     case s_n_llhttp__internal__n_start_req_35:
4304     s_n_llhttp__internal__n_start_req_35: {
4305       if (p == endp) {
4306         return s_n_llhttp__internal__n_start_req_35;
4307       }
4308       switch (*p) {
4309         case 'E': {
4310           p++;
4311           goto s_n_llhttp__internal__n_start_req_36;
4312         }
4313         default: {
4314           goto s_n_llhttp__internal__n_error_55;
4315         }
4316       }
4317       /* UNREACHABLE */;
4318       abort();
4319     }
4320     case s_n_llhttp__internal__n_start_req_40:
4321     s_n_llhttp__internal__n_start_req_40: {
4322       llparse_match_t match_seq;
4323 
4324       if (p == endp) {
4325         return s_n_llhttp__internal__n_start_req_40;
4326       }
4327       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob39, 4);
4328       p = match_seq.current;
4329       switch (match_seq.status) {
4330         case kMatchComplete: {
4331           p++;
4332           match = 14;
4333           goto s_n_llhttp__internal__n_invoke_store_method_1;
4334         }
4335         case kMatchPause: {
4336           return s_n_llhttp__internal__n_start_req_40;
4337         }
4338         case kMatchMismatch: {
4339           goto s_n_llhttp__internal__n_error_55;
4340         }
4341       }
4342       /* UNREACHABLE */;
4343       abort();
4344     }
4345     case s_n_llhttp__internal__n_start_req_41:
4346     s_n_llhttp__internal__n_start_req_41: {
4347       llparse_match_t match_seq;
4348 
4349       if (p == endp) {
4350         return s_n_llhttp__internal__n_start_req_41;
4351       }
4352       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob40, 4);
4353       p = match_seq.current;
4354       switch (match_seq.status) {
4355         case kMatchComplete: {
4356           p++;
4357           match = 33;
4358           goto s_n_llhttp__internal__n_invoke_store_method_1;
4359         }
4360         case kMatchPause: {
4361           return s_n_llhttp__internal__n_start_req_41;
4362         }
4363         case kMatchMismatch: {
4364           goto s_n_llhttp__internal__n_error_55;
4365         }
4366       }
4367       /* UNREACHABLE */;
4368       abort();
4369     }
4370     case s_n_llhttp__internal__n_start_req_42:
4371     s_n_llhttp__internal__n_start_req_42: {
4372       llparse_match_t match_seq;
4373 
4374       if (p == endp) {
4375         return s_n_llhttp__internal__n_start_req_42;
4376       }
4377       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob41, 7);
4378       p = match_seq.current;
4379       switch (match_seq.status) {
4380         case kMatchComplete: {
4381           p++;
4382           match = 26;
4383           goto s_n_llhttp__internal__n_invoke_store_method_1;
4384         }
4385         case kMatchPause: {
4386           return s_n_llhttp__internal__n_start_req_42;
4387         }
4388         case kMatchMismatch: {
4389           goto s_n_llhttp__internal__n_error_55;
4390         }
4391       }
4392       /* UNREACHABLE */;
4393       abort();
4394     }
4395     case s_n_llhttp__internal__n_start_req_39:
4396     s_n_llhttp__internal__n_start_req_39: {
4397       if (p == endp) {
4398         return s_n_llhttp__internal__n_start_req_39;
4399       }
4400       switch (*p) {
4401         case 'E': {
4402           p++;
4403           goto s_n_llhttp__internal__n_start_req_40;
4404         }
4405         case 'O': {
4406           p++;
4407           goto s_n_llhttp__internal__n_start_req_41;
4408         }
4409         case 'U': {
4410           p++;
4411           goto s_n_llhttp__internal__n_start_req_42;
4412         }
4413         default: {
4414           goto s_n_llhttp__internal__n_error_55;
4415         }
4416       }
4417       /* UNREACHABLE */;
4418       abort();
4419     }
4420     case s_n_llhttp__internal__n_start_req_43:
4421     s_n_llhttp__internal__n_start_req_43: {
4422       llparse_match_t match_seq;
4423 
4424       if (p == endp) {
4425         return s_n_llhttp__internal__n_start_req_43;
4426       }
4427       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob42, 4);
4428       p = match_seq.current;
4429       switch (match_seq.status) {
4430         case kMatchComplete: {
4431           p++;
4432           match = 7;
4433           goto s_n_llhttp__internal__n_invoke_store_method_1;
4434         }
4435         case kMatchPause: {
4436           return s_n_llhttp__internal__n_start_req_43;
4437         }
4438         case kMatchMismatch: {
4439           goto s_n_llhttp__internal__n_error_55;
4440         }
4441       }
4442       /* UNREACHABLE */;
4443       abort();
4444     }
4445     case s_n_llhttp__internal__n_start_req_46:
4446     s_n_llhttp__internal__n_start_req_46: {
4447       llparse_match_t match_seq;
4448 
4449       if (p == endp) {
4450         return s_n_llhttp__internal__n_start_req_46;
4451       }
4452       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob43, 3);
4453       p = match_seq.current;
4454       switch (match_seq.status) {
4455         case kMatchComplete: {
4456           p++;
4457           match = 18;
4458           goto s_n_llhttp__internal__n_invoke_store_method_1;
4459         }
4460         case kMatchPause: {
4461           return s_n_llhttp__internal__n_start_req_46;
4462         }
4463         case kMatchMismatch: {
4464           goto s_n_llhttp__internal__n_error_55;
4465         }
4466       }
4467       /* UNREACHABLE */;
4468       abort();
4469     }
4470     case s_n_llhttp__internal__n_start_req_48:
4471     s_n_llhttp__internal__n_start_req_48: {
4472       llparse_match_t match_seq;
4473 
4474       if (p == endp) {
4475         return s_n_llhttp__internal__n_start_req_48;
4476       }
4477       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob44, 2);
4478       p = match_seq.current;
4479       switch (match_seq.status) {
4480         case kMatchComplete: {
4481           p++;
4482           match = 32;
4483           goto s_n_llhttp__internal__n_invoke_store_method_1;
4484         }
4485         case kMatchPause: {
4486           return s_n_llhttp__internal__n_start_req_48;
4487         }
4488         case kMatchMismatch: {
4489           goto s_n_llhttp__internal__n_error_55;
4490         }
4491       }
4492       /* UNREACHABLE */;
4493       abort();
4494     }
4495     case s_n_llhttp__internal__n_start_req_49:
4496     s_n_llhttp__internal__n_start_req_49: {
4497       llparse_match_t match_seq;
4498 
4499       if (p == endp) {
4500         return s_n_llhttp__internal__n_start_req_49;
4501       }
4502       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob45, 2);
4503       p = match_seq.current;
4504       switch (match_seq.status) {
4505         case kMatchComplete: {
4506           p++;
4507           match = 15;
4508           goto s_n_llhttp__internal__n_invoke_store_method_1;
4509         }
4510         case kMatchPause: {
4511           return s_n_llhttp__internal__n_start_req_49;
4512         }
4513         case kMatchMismatch: {
4514           goto s_n_llhttp__internal__n_error_55;
4515         }
4516       }
4517       /* UNREACHABLE */;
4518       abort();
4519     }
4520     case s_n_llhttp__internal__n_start_req_47:
4521     s_n_llhttp__internal__n_start_req_47: {
4522       if (p == endp) {
4523         return s_n_llhttp__internal__n_start_req_47;
4524       }
4525       switch (*p) {
4526         case 'I': {
4527           p++;
4528           goto s_n_llhttp__internal__n_start_req_48;
4529         }
4530         case 'O': {
4531           p++;
4532           goto s_n_llhttp__internal__n_start_req_49;
4533         }
4534         default: {
4535           goto s_n_llhttp__internal__n_error_55;
4536         }
4537       }
4538       /* UNREACHABLE */;
4539       abort();
4540     }
4541     case s_n_llhttp__internal__n_start_req_50:
4542     s_n_llhttp__internal__n_start_req_50: {
4543       llparse_match_t match_seq;
4544 
4545       if (p == endp) {
4546         return s_n_llhttp__internal__n_start_req_50;
4547       }
4548       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob46, 8);
4549       p = match_seq.current;
4550       switch (match_seq.status) {
4551         case kMatchComplete: {
4552           p++;
4553           match = 27;
4554           goto s_n_llhttp__internal__n_invoke_store_method_1;
4555         }
4556         case kMatchPause: {
4557           return s_n_llhttp__internal__n_start_req_50;
4558         }
4559         case kMatchMismatch: {
4560           goto s_n_llhttp__internal__n_error_55;
4561         }
4562       }
4563       /* UNREACHABLE */;
4564       abort();
4565     }
4566     case s_n_llhttp__internal__n_start_req_45:
4567     s_n_llhttp__internal__n_start_req_45: {
4568       if (p == endp) {
4569         return s_n_llhttp__internal__n_start_req_45;
4570       }
4571       switch (*p) {
4572         case 'B': {
4573           p++;
4574           goto s_n_llhttp__internal__n_start_req_46;
4575         }
4576         case 'L': {
4577           p++;
4578           goto s_n_llhttp__internal__n_start_req_47;
4579         }
4580         case 'S': {
4581           p++;
4582           goto s_n_llhttp__internal__n_start_req_50;
4583         }
4584         default: {
4585           goto s_n_llhttp__internal__n_error_55;
4586         }
4587       }
4588       /* UNREACHABLE */;
4589       abort();
4590     }
4591     case s_n_llhttp__internal__n_start_req_44:
4592     s_n_llhttp__internal__n_start_req_44: {
4593       if (p == endp) {
4594         return s_n_llhttp__internal__n_start_req_44;
4595       }
4596       switch (*p) {
4597         case 'N': {
4598           p++;
4599           goto s_n_llhttp__internal__n_start_req_45;
4600         }
4601         default: {
4602           goto s_n_llhttp__internal__n_error_55;
4603         }
4604       }
4605       /* UNREACHABLE */;
4606       abort();
4607     }
4608     case s_n_llhttp__internal__n_start_req:
4609     s_n_llhttp__internal__n_start_req: {
4610       if (p == endp) {
4611         return s_n_llhttp__internal__n_start_req;
4612       }
4613       switch (*p) {
4614         case 'A': {
4615           p++;
4616           goto s_n_llhttp__internal__n_start_req_1;
4617         }
4618         case 'B': {
4619           p++;
4620           goto s_n_llhttp__internal__n_start_req_2;
4621         }
4622         case 'C': {
4623           p++;
4624           goto s_n_llhttp__internal__n_start_req_3;
4625         }
4626         case 'D': {
4627           p++;
4628           goto s_n_llhttp__internal__n_start_req_8;
4629         }
4630         case 'G': {
4631           p++;
4632           goto s_n_llhttp__internal__n_start_req_9;
4633         }
4634         case 'H': {
4635           p++;
4636           goto s_n_llhttp__internal__n_start_req_10;
4637         }
4638         case 'L': {
4639           p++;
4640           goto s_n_llhttp__internal__n_start_req_11;
4641         }
4642         case 'M': {
4643           p++;
4644           goto s_n_llhttp__internal__n_start_req_14;
4645         }
4646         case 'N': {
4647           p++;
4648           goto s_n_llhttp__internal__n_start_req_23;
4649         }
4650         case 'O': {
4651           p++;
4652           goto s_n_llhttp__internal__n_start_req_24;
4653         }
4654         case 'P': {
4655           p++;
4656           goto s_n_llhttp__internal__n_start_req_25;
4657         }
4658         case 'R': {
4659           p++;
4660           goto s_n_llhttp__internal__n_start_req_35;
4661         }
4662         case 'S': {
4663           p++;
4664           goto s_n_llhttp__internal__n_start_req_39;
4665         }
4666         case 'T': {
4667           p++;
4668           goto s_n_llhttp__internal__n_start_req_43;
4669         }
4670         case 'U': {
4671           p++;
4672           goto s_n_llhttp__internal__n_start_req_44;
4673         }
4674         default: {
4675           goto s_n_llhttp__internal__n_error_55;
4676         }
4677       }
4678       /* UNREACHABLE */;
4679       abort();
4680     }
4681     case s_n_llhttp__internal__n_res_line_almost_done:
4682     s_n_llhttp__internal__n_res_line_almost_done: {
4683       if (p == endp) {
4684         return s_n_llhttp__internal__n_res_line_almost_done;
4685       }
4686       switch (*p) {
4687         case 10: {
4688           p++;
4689           goto s_n_llhttp__internal__n_header_field_start;
4690         }
4691         default: {
4692           goto s_n_llhttp__internal__n_error_48;
4693         }
4694       }
4695       /* UNREACHABLE */;
4696       abort();
4697     }
4698     case s_n_llhttp__internal__n_res_status:
4699     s_n_llhttp__internal__n_res_status: {
4700       if (p == endp) {
4701         return s_n_llhttp__internal__n_res_status;
4702       }
4703       switch (*p) {
4704         case 10: {
4705           goto s_n_llhttp__internal__n_span_end_llhttp__on_status;
4706         }
4707         case 13: {
4708           goto s_n_llhttp__internal__n_span_end_llhttp__on_status_1;
4709         }
4710         default: {
4711           p++;
4712           goto s_n_llhttp__internal__n_res_status;
4713         }
4714       }
4715       /* UNREACHABLE */;
4716       abort();
4717     }
4718     case s_n_llhttp__internal__n_span_start_llhttp__on_status:
4719     s_n_llhttp__internal__n_span_start_llhttp__on_status: {
4720       if (p == endp) {
4721         return s_n_llhttp__internal__n_span_start_llhttp__on_status;
4722       }
4723       state->_span_pos0 = (void*) p;
4724       state->_span_cb0 = llhttp__on_status;
4725       goto s_n_llhttp__internal__n_res_status;
4726       /* UNREACHABLE */;
4727       abort();
4728     }
4729     case s_n_llhttp__internal__n_res_status_start:
4730     s_n_llhttp__internal__n_res_status_start: {
4731       if (p == endp) {
4732         return s_n_llhttp__internal__n_res_status_start;
4733       }
4734       switch (*p) {
4735         case 10: {
4736           p++;
4737           goto s_n_llhttp__internal__n_header_field_start;
4738         }
4739         case 13: {
4740           p++;
4741           goto s_n_llhttp__internal__n_res_line_almost_done;
4742         }
4743         default: {
4744           goto s_n_llhttp__internal__n_span_start_llhttp__on_status;
4745         }
4746       }
4747       /* UNREACHABLE */;
4748       abort();
4749     }
4750     case s_n_llhttp__internal__n_res_status_code_otherwise:
4751     s_n_llhttp__internal__n_res_status_code_otherwise: {
4752       if (p == endp) {
4753         return s_n_llhttp__internal__n_res_status_code_otherwise;
4754       }
4755       switch (*p) {
4756         case 10: {
4757           goto s_n_llhttp__internal__n_res_status_start;
4758         }
4759         case 13: {
4760           goto s_n_llhttp__internal__n_res_status_start;
4761         }
4762         case ' ': {
4763           p++;
4764           goto s_n_llhttp__internal__n_res_status_start;
4765         }
4766         default: {
4767           goto s_n_llhttp__internal__n_error_49;
4768         }
4769       }
4770       /* UNREACHABLE */;
4771       abort();
4772     }
4773     case s_n_llhttp__internal__n_res_status_code:
4774     s_n_llhttp__internal__n_res_status_code: {
4775       if (p == endp) {
4776         return s_n_llhttp__internal__n_res_status_code;
4777       }
4778       switch (*p) {
4779         case '0': {
4780           p++;
4781           match = 0;
4782           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4783         }
4784         case '1': {
4785           p++;
4786           match = 1;
4787           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4788         }
4789         case '2': {
4790           p++;
4791           match = 2;
4792           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4793         }
4794         case '3': {
4795           p++;
4796           match = 3;
4797           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4798         }
4799         case '4': {
4800           p++;
4801           match = 4;
4802           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4803         }
4804         case '5': {
4805           p++;
4806           match = 5;
4807           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4808         }
4809         case '6': {
4810           p++;
4811           match = 6;
4812           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4813         }
4814         case '7': {
4815           p++;
4816           match = 7;
4817           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4818         }
4819         case '8': {
4820           p++;
4821           match = 8;
4822           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4823         }
4824         case '9': {
4825           p++;
4826           match = 9;
4827           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4828         }
4829         default: {
4830           goto s_n_llhttp__internal__n_res_status_code_otherwise;
4831         }
4832       }
4833       /* UNREACHABLE */;
4834       abort();
4835     }
4836     case s_n_llhttp__internal__n_res_http_end:
4837     s_n_llhttp__internal__n_res_http_end: {
4838       if (p == endp) {
4839         return s_n_llhttp__internal__n_res_http_end;
4840       }
4841       switch (*p) {
4842         case ' ': {
4843           p++;
4844           goto s_n_llhttp__internal__n_invoke_update_status_code;
4845         }
4846         default: {
4847           goto s_n_llhttp__internal__n_error_50;
4848         }
4849       }
4850       /* UNREACHABLE */;
4851       abort();
4852     }
4853     case s_n_llhttp__internal__n_res_http_minor:
4854     s_n_llhttp__internal__n_res_http_minor: {
4855       if (p == endp) {
4856         return s_n_llhttp__internal__n_res_http_minor;
4857       }
4858       switch (*p) {
4859         case '0': {
4860           p++;
4861           match = 0;
4862           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4863         }
4864         case '1': {
4865           p++;
4866           match = 1;
4867           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4868         }
4869         case '2': {
4870           p++;
4871           match = 2;
4872           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4873         }
4874         case '3': {
4875           p++;
4876           match = 3;
4877           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4878         }
4879         case '4': {
4880           p++;
4881           match = 4;
4882           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4883         }
4884         case '5': {
4885           p++;
4886           match = 5;
4887           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4888         }
4889         case '6': {
4890           p++;
4891           match = 6;
4892           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4893         }
4894         case '7': {
4895           p++;
4896           match = 7;
4897           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4898         }
4899         case '8': {
4900           p++;
4901           match = 8;
4902           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4903         }
4904         case '9': {
4905           p++;
4906           match = 9;
4907           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4908         }
4909         default: {
4910           goto s_n_llhttp__internal__n_error_51;
4911         }
4912       }
4913       /* UNREACHABLE */;
4914       abort();
4915     }
4916     case s_n_llhttp__internal__n_res_http_dot:
4917     s_n_llhttp__internal__n_res_http_dot: {
4918       if (p == endp) {
4919         return s_n_llhttp__internal__n_res_http_dot;
4920       }
4921       switch (*p) {
4922         case '.': {
4923           p++;
4924           goto s_n_llhttp__internal__n_res_http_minor;
4925         }
4926         default: {
4927           goto s_n_llhttp__internal__n_error_52;
4928         }
4929       }
4930       /* UNREACHABLE */;
4931       abort();
4932     }
4933     case s_n_llhttp__internal__n_res_http_major:
4934     s_n_llhttp__internal__n_res_http_major: {
4935       if (p == endp) {
4936         return s_n_llhttp__internal__n_res_http_major;
4937       }
4938       switch (*p) {
4939         case '0': {
4940           p++;
4941           match = 0;
4942           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4943         }
4944         case '1': {
4945           p++;
4946           match = 1;
4947           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4948         }
4949         case '2': {
4950           p++;
4951           match = 2;
4952           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4953         }
4954         case '3': {
4955           p++;
4956           match = 3;
4957           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4958         }
4959         case '4': {
4960           p++;
4961           match = 4;
4962           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4963         }
4964         case '5': {
4965           p++;
4966           match = 5;
4967           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4968         }
4969         case '6': {
4970           p++;
4971           match = 6;
4972           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4973         }
4974         case '7': {
4975           p++;
4976           match = 7;
4977           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4978         }
4979         case '8': {
4980           p++;
4981           match = 8;
4982           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4983         }
4984         case '9': {
4985           p++;
4986           match = 9;
4987           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4988         }
4989         default: {
4990           goto s_n_llhttp__internal__n_error_53;
4991         }
4992       }
4993       /* UNREACHABLE */;
4994       abort();
4995     }
4996     case s_n_llhttp__internal__n_start_res:
4997     s_n_llhttp__internal__n_start_res: {
4998       llparse_match_t match_seq;
4999 
5000       if (p == endp) {
5001         return s_n_llhttp__internal__n_start_res;
5002       }
5003       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob47, 5);
5004       p = match_seq.current;
5005       switch (match_seq.status) {
5006         case kMatchComplete: {
5007           p++;
5008           goto s_n_llhttp__internal__n_res_http_major;
5009         }
5010         case kMatchPause: {
5011           return s_n_llhttp__internal__n_start_res;
5012         }
5013         case kMatchMismatch: {
5014           goto s_n_llhttp__internal__n_error_56;
5015         }
5016       }
5017       /* UNREACHABLE */;
5018       abort();
5019     }
5020     case s_n_llhttp__internal__n_req_or_res_method_2:
5021     s_n_llhttp__internal__n_req_or_res_method_2: {
5022       llparse_match_t match_seq;
5023 
5024       if (p == endp) {
5025         return s_n_llhttp__internal__n_req_or_res_method_2;
5026       }
5027       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob48, 2);
5028       p = match_seq.current;
5029       switch (match_seq.status) {
5030         case kMatchComplete: {
5031           p++;
5032           match = 2;
5033           goto s_n_llhttp__internal__n_invoke_store_method;
5034         }
5035         case kMatchPause: {
5036           return s_n_llhttp__internal__n_req_or_res_method_2;
5037         }
5038         case kMatchMismatch: {
5039           goto s_n_llhttp__internal__n_error_54;
5040         }
5041       }
5042       /* UNREACHABLE */;
5043       abort();
5044     }
5045     case s_n_llhttp__internal__n_req_or_res_method_3:
5046     s_n_llhttp__internal__n_req_or_res_method_3: {
5047       llparse_match_t match_seq;
5048 
5049       if (p == endp) {
5050         return s_n_llhttp__internal__n_req_or_res_method_3;
5051       }
5052       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob49, 3);
5053       p = match_seq.current;
5054       switch (match_seq.status) {
5055         case kMatchComplete: {
5056           p++;
5057           goto s_n_llhttp__internal__n_invoke_update_type_1;
5058         }
5059         case kMatchPause: {
5060           return s_n_llhttp__internal__n_req_or_res_method_3;
5061         }
5062         case kMatchMismatch: {
5063           goto s_n_llhttp__internal__n_error_54;
5064         }
5065       }
5066       /* UNREACHABLE */;
5067       abort();
5068     }
5069     case s_n_llhttp__internal__n_req_or_res_method_1:
5070     s_n_llhttp__internal__n_req_or_res_method_1: {
5071       if (p == endp) {
5072         return s_n_llhttp__internal__n_req_or_res_method_1;
5073       }
5074       switch (*p) {
5075         case 'E': {
5076           p++;
5077           goto s_n_llhttp__internal__n_req_or_res_method_2;
5078         }
5079         case 'T': {
5080           p++;
5081           goto s_n_llhttp__internal__n_req_or_res_method_3;
5082         }
5083         default: {
5084           goto s_n_llhttp__internal__n_error_54;
5085         }
5086       }
5087       /* UNREACHABLE */;
5088       abort();
5089     }
5090     case s_n_llhttp__internal__n_req_or_res_method:
5091     s_n_llhttp__internal__n_req_or_res_method: {
5092       if (p == endp) {
5093         return s_n_llhttp__internal__n_req_or_res_method;
5094       }
5095       switch (*p) {
5096         case 'H': {
5097           p++;
5098           goto s_n_llhttp__internal__n_req_or_res_method_1;
5099         }
5100         default: {
5101           goto s_n_llhttp__internal__n_error_54;
5102         }
5103       }
5104       /* UNREACHABLE */;
5105       abort();
5106     }
5107     case s_n_llhttp__internal__n_start_req_or_res:
5108     s_n_llhttp__internal__n_start_req_or_res: {
5109       if (p == endp) {
5110         return s_n_llhttp__internal__n_start_req_or_res;
5111       }
5112       switch (*p) {
5113         case 'H': {
5114           goto s_n_llhttp__internal__n_req_or_res_method;
5115         }
5116         default: {
5117           goto s_n_llhttp__internal__n_invoke_update_type_2;
5118         }
5119       }
5120       /* UNREACHABLE */;
5121       abort();
5122     }
5123     case s_n_llhttp__internal__n_invoke_load_type:
5124     s_n_llhttp__internal__n_invoke_load_type: {
5125       switch (llhttp__internal__c_load_type(state, p, endp)) {
5126         case 1:
5127           goto s_n_llhttp__internal__n_start_req;
5128         case 2:
5129           goto s_n_llhttp__internal__n_start_res;
5130         default:
5131           goto s_n_llhttp__internal__n_start_req_or_res;
5132       }
5133       /* UNREACHABLE */;
5134       abort();
5135     }
5136     case s_n_llhttp__internal__n_start:
5137     s_n_llhttp__internal__n_start: {
5138       if (p == endp) {
5139         return s_n_llhttp__internal__n_start;
5140       }
5141       switch (*p) {
5142         case 10: {
5143           p++;
5144           goto s_n_llhttp__internal__n_start;
5145         }
5146         case 13: {
5147           p++;
5148           goto s_n_llhttp__internal__n_start;
5149         }
5150         default: {
5151           goto s_n_llhttp__internal__n_invoke_update_finish;
5152         }
5153       }
5154       /* UNREACHABLE */;
5155       abort();
5156     }
5157     default:
5158       /* UNREACHABLE */
5159       abort();
5160   }
5161   s_n_llhttp__internal__n_error_1: {
5162     state->error = 0x7;
5163     state->reason = "Invalid characters in url (strict mode)";
5164     state->error_pos = (const char*) p;
5165     state->_current = (void*) (intptr_t) s_error;
5166     return s_error;
5167     /* UNREACHABLE */;
5168     abort();
5169   }
5170   s_n_llhttp__internal__n_error_42: {
5171     state->error = 0x7;
5172     state->reason = "Invalid characters in url";
5173     state->error_pos = (const char*) p;
5174     state->_current = (void*) (intptr_t) s_error;
5175     return s_error;
5176     /* UNREACHABLE */;
5177     abort();
5178   }
5179   s_n_llhttp__internal__n_invoke_update_finish_2: {
5180     switch (llhttp__internal__c_update_finish_1(state, p, endp)) {
5181       default:
5182         goto s_n_llhttp__internal__n_start;
5183     }
5184     /* UNREACHABLE */;
5185     abort();
5186   }
5187   s_n_llhttp__internal__n_error_4: {
5188     state->error = 0x5;
5189     state->reason = "Data after `Connection: close`";
5190     state->error_pos = (const char*) p;
5191     state->_current = (void*) (intptr_t) s_error;
5192     return s_error;
5193     /* UNREACHABLE */;
5194     abort();
5195   }
5196   s_n_llhttp__internal__n_invoke_update_finish_1: {
5197     switch (llhttp__internal__c_update_finish_1(state, p, endp)) {
5198       default:
5199         goto s_n_llhttp__internal__n_closed;
5200     }
5201     /* UNREACHABLE */;
5202     abort();
5203   }
5204   s_n_llhttp__internal__n_pause_5: {
5205     state->error = 0x15;
5206     state->reason = "on_message_complete pause";
5207     state->error_pos = (const char*) p;
5208     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_is_equal_upgrade;
5209     return s_error;
5210     /* UNREACHABLE */;
5211     abort();
5212   }
5213   s_n_llhttp__internal__n_error_14: {
5214     state->error = 0x12;
5215     state->reason = "`on_message_complete` callback error";
5216     state->error_pos = (const char*) p;
5217     state->_current = (void*) (intptr_t) s_error;
5218     return s_error;
5219     /* UNREACHABLE */;
5220     abort();
5221   }
5222   s_n_llhttp__internal__n_pause_7: {
5223     state->error = 0x15;
5224     state->reason = "on_chunk_complete pause";
5225     state->error_pos = (const char*) p;
5226     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
5227     return s_error;
5228     /* UNREACHABLE */;
5229     abort();
5230   }
5231   s_n_llhttp__internal__n_error_18: {
5232     state->error = 0x14;
5233     state->reason = "`on_chunk_complete` callback error";
5234     state->error_pos = (const char*) p;
5235     state->_current = (void*) (intptr_t) s_error;
5236     return s_error;
5237     /* UNREACHABLE */;
5238     abort();
5239   }
5240   s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete_1: {
5241     switch (llhttp__on_chunk_complete(state, p, endp)) {
5242       case 0:
5243         goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
5244       case 21:
5245         goto s_n_llhttp__internal__n_pause_7;
5246       default:
5247         goto s_n_llhttp__internal__n_error_18;
5248     }
5249     /* UNREACHABLE */;
5250     abort();
5251   }
5252   s_n_llhttp__internal__n_error_16: {
5253     state->error = 0x4;
5254     state->reason = "Content-Length can't be present with Transfer-Encoding";
5255     state->error_pos = (const char*) p;
5256     state->_current = (void*) (intptr_t) s_error;
5257     return s_error;
5258     /* UNREACHABLE */;
5259     abort();
5260   }
5261   s_n_llhttp__internal__n_error_17: {
5262     state->error = 0x4;
5263     state->reason = "Content-Length can't be present with chunked encoding";
5264     state->error_pos = (const char*) p;
5265     state->_current = (void*) (intptr_t) s_error;
5266     return s_error;
5267     /* UNREACHABLE */;
5268     abort();
5269   }
5270   s_n_llhttp__internal__n_pause_2: {
5271     state->error = 0x15;
5272     state->reason = "on_message_complete pause";
5273     state->error_pos = (const char*) p;
5274     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_pause_1;
5275     return s_error;
5276     /* UNREACHABLE */;
5277     abort();
5278   }
5279   s_n_llhttp__internal__n_error_5: {
5280     state->error = 0x12;
5281     state->reason = "`on_message_complete` callback error";
5282     state->error_pos = (const char*) p;
5283     state->_current = (void*) (intptr_t) s_error;
5284     return s_error;
5285     /* UNREACHABLE */;
5286     abort();
5287   }
5288   s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_1: {
5289     switch (llhttp__on_message_complete(state, p, endp)) {
5290       case 0:
5291         goto s_n_llhttp__internal__n_pause_1;
5292       case 21:
5293         goto s_n_llhttp__internal__n_pause_2;
5294       default:
5295         goto s_n_llhttp__internal__n_error_5;
5296     }
5297     /* UNREACHABLE */;
5298     abort();
5299   }
5300   s_n_llhttp__internal__n_error_12: {
5301     state->error = 0xc;
5302     state->reason = "Chunk size overflow";
5303     state->error_pos = (const char*) p;
5304     state->_current = (void*) (intptr_t) s_error;
5305     return s_error;
5306     /* UNREACHABLE */;
5307     abort();
5308   }
5309   s_n_llhttp__internal__n_pause_3: {
5310     state->error = 0x15;
5311     state->reason = "on_chunk_complete pause";
5312     state->error_pos = (const char*) p;
5313     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_update_content_length;
5314     return s_error;
5315     /* UNREACHABLE */;
5316     abort();
5317   }
5318   s_n_llhttp__internal__n_error_7: {
5319     state->error = 0x14;
5320     state->reason = "`on_chunk_complete` callback error";
5321     state->error_pos = (const char*) p;
5322     state->_current = (void*) (intptr_t) s_error;
5323     return s_error;
5324     /* UNREACHABLE */;
5325     abort();
5326   }
5327   s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete: {
5328     switch (llhttp__on_chunk_complete(state, p, endp)) {
5329       case 0:
5330         goto s_n_llhttp__internal__n_invoke_update_content_length;
5331       case 21:
5332         goto s_n_llhttp__internal__n_pause_3;
5333       default:
5334         goto s_n_llhttp__internal__n_error_7;
5335     }
5336     /* UNREACHABLE */;
5337     abort();
5338   }
5339   s_n_llhttp__internal__n_error_8: {
5340     state->error = 0x2;
5341     state->reason = "Expected CRLF after chunk";
5342     state->error_pos = (const char*) p;
5343     state->_current = (void*) (intptr_t) s_error;
5344     return s_error;
5345     /* UNREACHABLE */;
5346     abort();
5347   }
5348   s_n_llhttp__internal__n_span_end_llhttp__on_body: {
5349     const unsigned char* start;
5350     int err;
5351 
5352     start = state->_span_pos0;
5353     state->_span_pos0 = NULL;
5354     err = llhttp__on_body(state, start, p);
5355     if (err != 0) {
5356       state->error = err;
5357       state->error_pos = (const char*) p;
5358       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_chunk_data_almost_done;
5359       return s_error;
5360     }
5361     goto s_n_llhttp__internal__n_chunk_data_almost_done;
5362     /* UNREACHABLE */;
5363     abort();
5364   }
5365   s_n_llhttp__internal__n_invoke_or_flags: {
5366     switch (llhttp__internal__c_or_flags(state, p, endp)) {
5367       default:
5368         goto s_n_llhttp__internal__n_header_field_start;
5369     }
5370     /* UNREACHABLE */;
5371     abort();
5372   }
5373   s_n_llhttp__internal__n_pause_4: {
5374     state->error = 0x15;
5375     state->reason = "on_chunk_header pause";
5376     state->error_pos = (const char*) p;
5377     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_is_equal_content_length;
5378     return s_error;
5379     /* UNREACHABLE */;
5380     abort();
5381   }
5382   s_n_llhttp__internal__n_error_6: {
5383     state->error = 0x13;
5384     state->reason = "`on_chunk_header` callback error";
5385     state->error_pos = (const char*) p;
5386     state->_current = (void*) (intptr_t) s_error;
5387     return s_error;
5388     /* UNREACHABLE */;
5389     abort();
5390   }
5391   s_n_llhttp__internal__n_invoke_llhttp__on_chunk_header: {
5392     switch (llhttp__on_chunk_header(state, p, endp)) {
5393       case 0:
5394         goto s_n_llhttp__internal__n_invoke_is_equal_content_length;
5395       case 21:
5396         goto s_n_llhttp__internal__n_pause_4;
5397       default:
5398         goto s_n_llhttp__internal__n_error_6;
5399     }
5400     /* UNREACHABLE */;
5401     abort();
5402   }
5403   s_n_llhttp__internal__n_error_9: {
5404     state->error = 0x2;
5405     state->reason = "Expected LF after chunk size";
5406     state->error_pos = (const char*) p;
5407     state->_current = (void*) (intptr_t) s_error;
5408     return s_error;
5409     /* UNREACHABLE */;
5410     abort();
5411   }
5412   s_n_llhttp__internal__n_error_10: {
5413     state->error = 0x2;
5414     state->reason = "Invalid character in chunk parameters";
5415     state->error_pos = (const char*) p;
5416     state->_current = (void*) (intptr_t) s_error;
5417     return s_error;
5418     /* UNREACHABLE */;
5419     abort();
5420   }
5421   s_n_llhttp__internal__n_error_11: {
5422     state->error = 0xc;
5423     state->reason = "Invalid character in chunk size";
5424     state->error_pos = (const char*) p;
5425     state->_current = (void*) (intptr_t) s_error;
5426     return s_error;
5427     /* UNREACHABLE */;
5428     abort();
5429   }
5430   s_n_llhttp__internal__n_invoke_mul_add_content_length: {
5431     switch (llhttp__internal__c_mul_add_content_length(state, p, endp, match)) {
5432       case 1:
5433         goto s_n_llhttp__internal__n_error_12;
5434       default:
5435         goto s_n_llhttp__internal__n_chunk_size;
5436     }
5437     /* UNREACHABLE */;
5438     abort();
5439   }
5440   s_n_llhttp__internal__n_error_13: {
5441     state->error = 0xc;
5442     state->reason = "Invalid character in chunk size";
5443     state->error_pos = (const char*) p;
5444     state->_current = (void*) (intptr_t) s_error;
5445     return s_error;
5446     /* UNREACHABLE */;
5447     abort();
5448   }
5449   s_n_llhttp__internal__n_span_end_llhttp__on_body_1: {
5450     const unsigned char* start;
5451     int err;
5452 
5453     start = state->_span_pos0;
5454     state->_span_pos0 = NULL;
5455     err = llhttp__on_body(state, start, p);
5456     if (err != 0) {
5457       state->error = err;
5458       state->error_pos = (const char*) p;
5459       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
5460       return s_error;
5461     }
5462     goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
5463     /* UNREACHABLE */;
5464     abort();
5465   }
5466   s_n_llhttp__internal__n_invoke_update_finish_3: {
5467     switch (llhttp__internal__c_update_finish_3(state, p, endp)) {
5468       default:
5469         goto s_n_llhttp__internal__n_span_start_llhttp__on_body_2;
5470     }
5471     /* UNREACHABLE */;
5472     abort();
5473   }
5474   s_n_llhttp__internal__n_error_15: {
5475     state->error = 0xf;
5476     state->reason = "Request has invalid `Transfer-Encoding`";
5477     state->error_pos = (const char*) p;
5478     state->_current = (void*) (intptr_t) s_error;
5479     return s_error;
5480     /* UNREACHABLE */;
5481     abort();
5482   }
5483   s_n_llhttp__internal__n_pause: {
5484     state->error = 0x15;
5485     state->reason = "on_message_complete pause";
5486     state->error_pos = (const char*) p;
5487     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
5488     return s_error;
5489     /* UNREACHABLE */;
5490     abort();
5491   }
5492   s_n_llhttp__internal__n_error_3: {
5493     state->error = 0x12;
5494     state->reason = "`on_message_complete` callback error";
5495     state->error_pos = (const char*) p;
5496     state->_current = (void*) (intptr_t) s_error;
5497     return s_error;
5498     /* UNREACHABLE */;
5499     abort();
5500   }
5501   s_n_llhttp__internal__n_invoke_llhttp__on_message_complete: {
5502     switch (llhttp__on_message_complete(state, p, endp)) {
5503       case 0:
5504         goto s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
5505       case 21:
5506         goto s_n_llhttp__internal__n_pause;
5507       default:
5508         goto s_n_llhttp__internal__n_error_3;
5509     }
5510     /* UNREACHABLE */;
5511     abort();
5512   }
5513   s_n_llhttp__internal__n_invoke_or_flags_1: {
5514     switch (llhttp__internal__c_or_flags_1(state, p, endp)) {
5515       default:
5516         goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
5517     }
5518     /* UNREACHABLE */;
5519     abort();
5520   }
5521   s_n_llhttp__internal__n_invoke_or_flags_2: {
5522     switch (llhttp__internal__c_or_flags_1(state, p, endp)) {
5523       default:
5524         goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
5525     }
5526     /* UNREACHABLE */;
5527     abort();
5528   }
5529   s_n_llhttp__internal__n_invoke_update_upgrade: {
5530     switch (llhttp__internal__c_update_upgrade(state, p, endp)) {
5531       default:
5532         goto s_n_llhttp__internal__n_invoke_or_flags_2;
5533     }
5534     /* UNREACHABLE */;
5535     abort();
5536   }
5537   s_n_llhttp__internal__n_pause_6: {
5538     state->error = 0x15;
5539     state->reason = "Paused by on_headers_complete";
5540     state->error_pos = (const char*) p;
5541     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
5542     return s_error;
5543     /* UNREACHABLE */;
5544     abort();
5545   }
5546   s_n_llhttp__internal__n_error_2: {
5547     state->error = 0x11;
5548     state->reason = "User callback error";
5549     state->error_pos = (const char*) p;
5550     state->_current = (void*) (intptr_t) s_error;
5551     return s_error;
5552     /* UNREACHABLE */;
5553     abort();
5554   }
5555   s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete: {
5556     switch (llhttp__on_headers_complete(state, p, endp)) {
5557       case 0:
5558         goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
5559       case 1:
5560         goto s_n_llhttp__internal__n_invoke_or_flags_1;
5561       case 2:
5562         goto s_n_llhttp__internal__n_invoke_update_upgrade;
5563       case 21:
5564         goto s_n_llhttp__internal__n_pause_6;
5565       default:
5566         goto s_n_llhttp__internal__n_error_2;
5567     }
5568     /* UNREACHABLE */;
5569     abort();
5570   }
5571   s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete: {
5572     switch (llhttp__before_headers_complete(state, p, endp)) {
5573       default:
5574         goto s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete;
5575     }
5576     /* UNREACHABLE */;
5577     abort();
5578   }
5579   s_n_llhttp__internal__n_invoke_test_flags_3: {
5580     switch (llhttp__internal__c_test_flags_3(state, p, endp)) {
5581       case 1:
5582         goto s_n_llhttp__internal__n_error_17;
5583       default:
5584         goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
5585     }
5586     /* UNREACHABLE */;
5587     abort();
5588   }
5589   s_n_llhttp__internal__n_invoke_test_flags_2: {
5590     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
5591       case 0:
5592         goto s_n_llhttp__internal__n_error_16;
5593       case 1:
5594         goto s_n_llhttp__internal__n_invoke_test_flags_3;
5595       default:
5596         goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
5597     }
5598     /* UNREACHABLE */;
5599     abort();
5600   }
5601   s_n_llhttp__internal__n_invoke_test_flags_1: {
5602     switch (llhttp__internal__c_test_flags_1(state, p, endp)) {
5603       case 1:
5604         goto s_n_llhttp__internal__n_invoke_test_flags_2;
5605       default:
5606         goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
5607     }
5608     /* UNREACHABLE */;
5609     abort();
5610   }
5611   s_n_llhttp__internal__n_invoke_test_flags: {
5612     switch (llhttp__internal__c_test_flags(state, p, endp)) {
5613       case 1:
5614         goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete_1;
5615       default:
5616         goto s_n_llhttp__internal__n_invoke_test_flags_1;
5617     }
5618     /* UNREACHABLE */;
5619     abort();
5620   }
5621   s_n_llhttp__internal__n_error_19: {
5622     state->error = 0x2;
5623     state->reason = "Expected LF after headers";
5624     state->error_pos = (const char*) p;
5625     state->_current = (void*) (intptr_t) s_error;
5626     return s_error;
5627     /* UNREACHABLE */;
5628     abort();
5629   }
5630   s_n_llhttp__internal__n_span_end_llhttp__on_header_field: {
5631     const unsigned char* start;
5632     int err;
5633 
5634     start = state->_span_pos0;
5635     state->_span_pos0 = NULL;
5636     err = llhttp__on_header_field(state, start, p);
5637     if (err != 0) {
5638       state->error = err;
5639       state->error_pos = (const char*) (p + 1);
5640       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_20;
5641       return s_error;
5642     }
5643     p++;
5644     goto s_n_llhttp__internal__n_error_20;
5645     /* UNREACHABLE */;
5646     abort();
5647   }
5648   s_n_llhttp__internal__n_invoke_test_flags_4: {
5649     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
5650       case 1:
5651         goto s_n_llhttp__internal__n_header_field_colon_discard_ws;
5652       default:
5653         goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field;
5654     }
5655     /* UNREACHABLE */;
5656     abort();
5657   }
5658   s_n_llhttp__internal__n_error_21: {
5659     state->error = 0xb;
5660     state->reason = "Empty Content-Length";
5661     state->error_pos = (const char*) p;
5662     state->_current = (void*) (intptr_t) s_error;
5663     return s_error;
5664     /* UNREACHABLE */;
5665     abort();
5666   }
5667   s_n_llhttp__internal__n_span_end_llhttp__on_header_value: {
5668     const unsigned char* start;
5669     int err;
5670 
5671     start = state->_span_pos0;
5672     state->_span_pos0 = NULL;
5673     err = llhttp__on_header_value(state, start, p);
5674     if (err != 0) {
5675       state->error = err;
5676       state->error_pos = (const char*) p;
5677       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_field_start;
5678       return s_error;
5679     }
5680     goto s_n_llhttp__internal__n_header_field_start;
5681     /* UNREACHABLE */;
5682     abort();
5683   }
5684   s_n_llhttp__internal__n_invoke_update_header_state: {
5685     switch (llhttp__internal__c_update_header_state(state, p, endp)) {
5686       default:
5687         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
5688     }
5689     /* UNREACHABLE */;
5690     abort();
5691   }
5692   s_n_llhttp__internal__n_invoke_or_flags_3: {
5693     switch (llhttp__internal__c_or_flags_3(state, p, endp)) {
5694       default:
5695         goto s_n_llhttp__internal__n_invoke_update_header_state;
5696     }
5697     /* UNREACHABLE */;
5698     abort();
5699   }
5700   s_n_llhttp__internal__n_invoke_or_flags_4: {
5701     switch (llhttp__internal__c_or_flags_4(state, p, endp)) {
5702       default:
5703         goto s_n_llhttp__internal__n_invoke_update_header_state;
5704     }
5705     /* UNREACHABLE */;
5706     abort();
5707   }
5708   s_n_llhttp__internal__n_invoke_or_flags_5: {
5709     switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
5710       default:
5711         goto s_n_llhttp__internal__n_invoke_update_header_state;
5712     }
5713     /* UNREACHABLE */;
5714     abort();
5715   }
5716   s_n_llhttp__internal__n_invoke_or_flags_6: {
5717     switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
5718       default:
5719         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
5720     }
5721     /* UNREACHABLE */;
5722     abort();
5723   }
5724   s_n_llhttp__internal__n_invoke_load_header_state_1: {
5725     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
5726       case 5:
5727         goto s_n_llhttp__internal__n_invoke_or_flags_3;
5728       case 6:
5729         goto s_n_llhttp__internal__n_invoke_or_flags_4;
5730       case 7:
5731         goto s_n_llhttp__internal__n_invoke_or_flags_5;
5732       case 8:
5733         goto s_n_llhttp__internal__n_invoke_or_flags_6;
5734       default:
5735         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
5736     }
5737     /* UNREACHABLE */;
5738     abort();
5739   }
5740   s_n_llhttp__internal__n_invoke_load_header_state: {
5741     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
5742       case 2:
5743         goto s_n_llhttp__internal__n_error_21;
5744       default:
5745         goto s_n_llhttp__internal__n_invoke_load_header_state_1;
5746     }
5747     /* UNREACHABLE */;
5748     abort();
5749   }
5750   s_n_llhttp__internal__n_error_22: {
5751     state->error = 0x2;
5752     state->reason = "Expected LF after CR";
5753     state->error_pos = (const char*) p;
5754     state->_current = (void*) (intptr_t) s_error;
5755     return s_error;
5756     /* UNREACHABLE */;
5757     abort();
5758   }
5759   s_n_llhttp__internal__n_invoke_update_header_state_1: {
5760     switch (llhttp__internal__c_update_header_state(state, p, endp)) {
5761       default:
5762         goto s_n_llhttp__internal__n_header_field_start;
5763     }
5764     /* UNREACHABLE */;
5765     abort();
5766   }
5767   s_n_llhttp__internal__n_invoke_or_flags_7: {
5768     switch (llhttp__internal__c_or_flags_3(state, p, endp)) {
5769       default:
5770         goto s_n_llhttp__internal__n_invoke_update_header_state_1;
5771     }
5772     /* UNREACHABLE */;
5773     abort();
5774   }
5775   s_n_llhttp__internal__n_invoke_or_flags_8: {
5776     switch (llhttp__internal__c_or_flags_4(state, p, endp)) {
5777       default:
5778         goto s_n_llhttp__internal__n_invoke_update_header_state_1;
5779     }
5780     /* UNREACHABLE */;
5781     abort();
5782   }
5783   s_n_llhttp__internal__n_invoke_or_flags_9: {
5784     switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
5785       default:
5786         goto s_n_llhttp__internal__n_invoke_update_header_state_1;
5787     }
5788     /* UNREACHABLE */;
5789     abort();
5790   }
5791   s_n_llhttp__internal__n_invoke_or_flags_10: {
5792     switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
5793       default:
5794         goto s_n_llhttp__internal__n_header_field_start;
5795     }
5796     /* UNREACHABLE */;
5797     abort();
5798   }
5799   s_n_llhttp__internal__n_invoke_load_header_state_3: {
5800     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
5801       case 5:
5802         goto s_n_llhttp__internal__n_invoke_or_flags_7;
5803       case 6:
5804         goto s_n_llhttp__internal__n_invoke_or_flags_8;
5805       case 7:
5806         goto s_n_llhttp__internal__n_invoke_or_flags_9;
5807       case 8:
5808         goto s_n_llhttp__internal__n_invoke_or_flags_10;
5809       default:
5810         goto s_n_llhttp__internal__n_header_field_start;
5811     }
5812     /* UNREACHABLE */;
5813     abort();
5814   }
5815   s_n_llhttp__internal__n_error_23: {
5816     state->error = 0x3;
5817     state->reason = "Missing expected LF after header value";
5818     state->error_pos = (const char*) p;
5819     state->_current = (void*) (intptr_t) s_error;
5820     return s_error;
5821     /* UNREACHABLE */;
5822     abort();
5823   }
5824   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1: {
5825     const unsigned char* start;
5826     int err;
5827 
5828     start = state->_span_pos0;
5829     state->_span_pos0 = NULL;
5830     err = llhttp__on_header_value(state, start, p);
5831     if (err != 0) {
5832       state->error = err;
5833       state->error_pos = (const char*) p;
5834       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_almost_done;
5835       return s_error;
5836     }
5837     goto s_n_llhttp__internal__n_header_value_almost_done;
5838     /* UNREACHABLE */;
5839     abort();
5840   }
5841   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_2: {
5842     const unsigned char* start;
5843     int err;
5844 
5845     start = state->_span_pos0;
5846     state->_span_pos0 = NULL;
5847     err = llhttp__on_header_value(state, start, p);
5848     if (err != 0) {
5849       state->error = err;
5850       state->error_pos = (const char*) (p + 1);
5851       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_almost_done;
5852       return s_error;
5853     }
5854     p++;
5855     goto s_n_llhttp__internal__n_header_value_almost_done;
5856     /* UNREACHABLE */;
5857     abort();
5858   }
5859   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3: {
5860     const unsigned char* start;
5861     int err;
5862 
5863     start = state->_span_pos0;
5864     state->_span_pos0 = NULL;
5865     err = llhttp__on_header_value(state, start, p);
5866     if (err != 0) {
5867       state->error = err;
5868       state->error_pos = (const char*) (p + 1);
5869       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_almost_done;
5870       return s_error;
5871     }
5872     p++;
5873     goto s_n_llhttp__internal__n_header_value_almost_done;
5874     /* UNREACHABLE */;
5875     abort();
5876   }
5877   s_n_llhttp__internal__n_error_24: {
5878     state->error = 0xa;
5879     state->reason = "Invalid header value char";
5880     state->error_pos = (const char*) p;
5881     state->_current = (void*) (intptr_t) s_error;
5882     return s_error;
5883     /* UNREACHABLE */;
5884     abort();
5885   }
5886   s_n_llhttp__internal__n_invoke_test_flags_5: {
5887     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
5888       case 1:
5889         goto s_n_llhttp__internal__n_header_value_lenient;
5890       default:
5891         goto s_n_llhttp__internal__n_error_24;
5892     }
5893     /* UNREACHABLE */;
5894     abort();
5895   }
5896   s_n_llhttp__internal__n_invoke_update_header_state_3: {
5897     switch (llhttp__internal__c_update_header_state(state, p, endp)) {
5898       default:
5899         goto s_n_llhttp__internal__n_header_value_connection;
5900     }
5901     /* UNREACHABLE */;
5902     abort();
5903   }
5904   s_n_llhttp__internal__n_invoke_or_flags_11: {
5905     switch (llhttp__internal__c_or_flags_3(state, p, endp)) {
5906       default:
5907         goto s_n_llhttp__internal__n_invoke_update_header_state_3;
5908     }
5909     /* UNREACHABLE */;
5910     abort();
5911   }
5912   s_n_llhttp__internal__n_invoke_or_flags_12: {
5913     switch (llhttp__internal__c_or_flags_4(state, p, endp)) {
5914       default:
5915         goto s_n_llhttp__internal__n_invoke_update_header_state_3;
5916     }
5917     /* UNREACHABLE */;
5918     abort();
5919   }
5920   s_n_llhttp__internal__n_invoke_or_flags_13: {
5921     switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
5922       default:
5923         goto s_n_llhttp__internal__n_invoke_update_header_state_3;
5924     }
5925     /* UNREACHABLE */;
5926     abort();
5927   }
5928   s_n_llhttp__internal__n_invoke_or_flags_14: {
5929     switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
5930       default:
5931         goto s_n_llhttp__internal__n_header_value_connection;
5932     }
5933     /* UNREACHABLE */;
5934     abort();
5935   }
5936   s_n_llhttp__internal__n_invoke_load_header_state_4: {
5937     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
5938       case 5:
5939         goto s_n_llhttp__internal__n_invoke_or_flags_11;
5940       case 6:
5941         goto s_n_llhttp__internal__n_invoke_or_flags_12;
5942       case 7:
5943         goto s_n_llhttp__internal__n_invoke_or_flags_13;
5944       case 8:
5945         goto s_n_llhttp__internal__n_invoke_or_flags_14;
5946       default:
5947         goto s_n_llhttp__internal__n_header_value_connection;
5948     }
5949     /* UNREACHABLE */;
5950     abort();
5951   }
5952   s_n_llhttp__internal__n_invoke_update_header_state_4: {
5953     switch (llhttp__internal__c_update_header_state_4(state, p, endp)) {
5954       default:
5955         goto s_n_llhttp__internal__n_header_value_connection_token;
5956     }
5957     /* UNREACHABLE */;
5958     abort();
5959   }
5960   s_n_llhttp__internal__n_invoke_update_header_state_2: {
5961     switch (llhttp__internal__c_update_header_state_2(state, p, endp)) {
5962       default:
5963         goto s_n_llhttp__internal__n_header_value_connection_ws;
5964     }
5965     /* UNREACHABLE */;
5966     abort();
5967   }
5968   s_n_llhttp__internal__n_invoke_update_header_state_5: {
5969     switch (llhttp__internal__c_update_header_state_5(state, p, endp)) {
5970       default:
5971         goto s_n_llhttp__internal__n_header_value_connection_ws;
5972     }
5973     /* UNREACHABLE */;
5974     abort();
5975   }
5976   s_n_llhttp__internal__n_invoke_update_header_state_6: {
5977     switch (llhttp__internal__c_update_header_state_6(state, p, endp)) {
5978       default:
5979         goto s_n_llhttp__internal__n_header_value_connection_ws;
5980     }
5981     /* UNREACHABLE */;
5982     abort();
5983   }
5984   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4: {
5985     const unsigned char* start;
5986     int err;
5987 
5988     start = state->_span_pos0;
5989     state->_span_pos0 = NULL;
5990     err = llhttp__on_header_value(state, start, p);
5991     if (err != 0) {
5992       state->error = err;
5993       state->error_pos = (const char*) p;
5994       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_26;
5995       return s_error;
5996     }
5997     goto s_n_llhttp__internal__n_error_26;
5998     /* UNREACHABLE */;
5999     abort();
6000   }
6001   s_n_llhttp__internal__n_invoke_mul_add_content_length_1: {
6002     switch (llhttp__internal__c_mul_add_content_length_1(state, p, endp, match)) {
6003       case 1:
6004         goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4;
6005       default:
6006         goto s_n_llhttp__internal__n_header_value_content_length;
6007     }
6008     /* UNREACHABLE */;
6009     abort();
6010   }
6011   s_n_llhttp__internal__n_invoke_or_flags_15: {
6012     switch (llhttp__internal__c_or_flags_15(state, p, endp)) {
6013       default:
6014         goto s_n_llhttp__internal__n_header_value_otherwise;
6015     }
6016     /* UNREACHABLE */;
6017     abort();
6018   }
6019   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_5: {
6020     const unsigned char* start;
6021     int err;
6022 
6023     start = state->_span_pos0;
6024     state->_span_pos0 = NULL;
6025     err = llhttp__on_header_value(state, start, p);
6026     if (err != 0) {
6027       state->error = err;
6028       state->error_pos = (const char*) p;
6029       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_27;
6030       return s_error;
6031     }
6032     goto s_n_llhttp__internal__n_error_27;
6033     /* UNREACHABLE */;
6034     abort();
6035   }
6036   s_n_llhttp__internal__n_error_25: {
6037     state->error = 0x4;
6038     state->reason = "Duplicate Content-Length";
6039     state->error_pos = (const char*) p;
6040     state->_current = (void*) (intptr_t) s_error;
6041     return s_error;
6042     /* UNREACHABLE */;
6043     abort();
6044   }
6045   s_n_llhttp__internal__n_invoke_test_flags_6: {
6046     switch (llhttp__internal__c_test_flags_6(state, p, endp)) {
6047       case 0:
6048         goto s_n_llhttp__internal__n_header_value_content_length;
6049       default:
6050         goto s_n_llhttp__internal__n_error_25;
6051     }
6052     /* UNREACHABLE */;
6053     abort();
6054   }
6055   s_n_llhttp__internal__n_invoke_update_header_state_7: {
6056     switch (llhttp__internal__c_update_header_state_7(state, p, endp)) {
6057       default:
6058         goto s_n_llhttp__internal__n_header_value_otherwise;
6059     }
6060     /* UNREACHABLE */;
6061     abort();
6062   }
6063   s_n_llhttp__internal__n_invoke_update_header_state_8: {
6064     switch (llhttp__internal__c_update_header_state_4(state, p, endp)) {
6065       default:
6066         goto s_n_llhttp__internal__n_header_value;
6067     }
6068     /* UNREACHABLE */;
6069     abort();
6070   }
6071   s_n_llhttp__internal__n_invoke_and_flags: {
6072     switch (llhttp__internal__c_and_flags(state, p, endp)) {
6073       default:
6074         goto s_n_llhttp__internal__n_header_value_te_chunked;
6075     }
6076     /* UNREACHABLE */;
6077     abort();
6078   }
6079   s_n_llhttp__internal__n_invoke_or_flags_16: {
6080     switch (llhttp__internal__c_or_flags_16(state, p, endp)) {
6081       default:
6082         goto s_n_llhttp__internal__n_invoke_and_flags;
6083     }
6084     /* UNREACHABLE */;
6085     abort();
6086   }
6087   s_n_llhttp__internal__n_invoke_or_flags_17: {
6088     switch (llhttp__internal__c_or_flags_17(state, p, endp)) {
6089       default:
6090         goto s_n_llhttp__internal__n_invoke_update_header_state_8;
6091     }
6092     /* UNREACHABLE */;
6093     abort();
6094   }
6095   s_n_llhttp__internal__n_invoke_load_header_state_2: {
6096     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
6097       case 1:
6098         goto s_n_llhttp__internal__n_header_value_connection;
6099       case 2:
6100         goto s_n_llhttp__internal__n_invoke_test_flags_6;
6101       case 3:
6102         goto s_n_llhttp__internal__n_invoke_or_flags_16;
6103       case 4:
6104         goto s_n_llhttp__internal__n_invoke_or_flags_17;
6105       default:
6106         goto s_n_llhttp__internal__n_header_value;
6107     }
6108     /* UNREACHABLE */;
6109     abort();
6110   }
6111   s_n_llhttp__internal__n_span_end_llhttp__on_header_field_1: {
6112     const unsigned char* start;
6113     int err;
6114 
6115     start = state->_span_pos0;
6116     state->_span_pos0 = NULL;
6117     err = llhttp__on_header_field(state, start, p);
6118     if (err != 0) {
6119       state->error = err;
6120       state->error_pos = (const char*) (p + 1);
6121       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_discard_ws;
6122       return s_error;
6123     }
6124     p++;
6125     goto s_n_llhttp__internal__n_header_value_discard_ws;
6126     /* UNREACHABLE */;
6127     abort();
6128   }
6129   s_n_llhttp__internal__n_span_end_llhttp__on_header_field_2: {
6130     const unsigned char* start;
6131     int err;
6132 
6133     start = state->_span_pos0;
6134     state->_span_pos0 = NULL;
6135     err = llhttp__on_header_field(state, start, p);
6136     if (err != 0) {
6137       state->error = err;
6138       state->error_pos = (const char*) (p + 1);
6139       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_discard_ws;
6140       return s_error;
6141     }
6142     p++;
6143     goto s_n_llhttp__internal__n_header_value_discard_ws;
6144     /* UNREACHABLE */;
6145     abort();
6146   }
6147   s_n_llhttp__internal__n_error_28: {
6148     state->error = 0xa;
6149     state->reason = "Invalid header token";
6150     state->error_pos = (const char*) p;
6151     state->_current = (void*) (intptr_t) s_error;
6152     return s_error;
6153     /* UNREACHABLE */;
6154     abort();
6155   }
6156   s_n_llhttp__internal__n_invoke_update_header_state_9: {
6157     switch (llhttp__internal__c_update_header_state_4(state, p, endp)) {
6158       default:
6159         goto s_n_llhttp__internal__n_header_field_general;
6160     }
6161     /* UNREACHABLE */;
6162     abort();
6163   }
6164   s_n_llhttp__internal__n_invoke_store_header_state: {
6165     switch (llhttp__internal__c_store_header_state(state, p, endp, match)) {
6166       default:
6167         goto s_n_llhttp__internal__n_header_field_colon;
6168     }
6169     /* UNREACHABLE */;
6170     abort();
6171   }
6172   s_n_llhttp__internal__n_invoke_update_header_state_10: {
6173     switch (llhttp__internal__c_update_header_state_4(state, p, endp)) {
6174       default:
6175         goto s_n_llhttp__internal__n_header_field_general;
6176     }
6177     /* UNREACHABLE */;
6178     abort();
6179   }
6180   s_n_llhttp__internal__n_invoke_update_http_minor: {
6181     switch (llhttp__internal__c_update_http_minor(state, p, endp)) {
6182       default:
6183         goto s_n_llhttp__internal__n_header_field_start;
6184     }
6185     /* UNREACHABLE */;
6186     abort();
6187   }
6188   s_n_llhttp__internal__n_invoke_update_http_major: {
6189     switch (llhttp__internal__c_update_http_major(state, p, endp)) {
6190       default:
6191         goto s_n_llhttp__internal__n_invoke_update_http_minor;
6192     }
6193     /* UNREACHABLE */;
6194     abort();
6195   }
6196   s_n_llhttp__internal__n_span_end_llhttp__on_url_3: {
6197     const unsigned char* start;
6198     int err;
6199 
6200     start = state->_span_pos0;
6201     state->_span_pos0 = NULL;
6202     err = llhttp__on_url(state, start, p);
6203     if (err != 0) {
6204       state->error = err;
6205       state->error_pos = (const char*) p;
6206       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
6207       return s_error;
6208     }
6209     goto s_n_llhttp__internal__n_url_skip_to_http09;
6210     /* UNREACHABLE */;
6211     abort();
6212   }
6213   s_n_llhttp__internal__n_error_29: {
6214     state->error = 0x7;
6215     state->reason = "Expected CRLF";
6216     state->error_pos = (const char*) p;
6217     state->_current = (void*) (intptr_t) s_error;
6218     return s_error;
6219     /* UNREACHABLE */;
6220     abort();
6221   }
6222   s_n_llhttp__internal__n_span_end_llhttp__on_url_4: {
6223     const unsigned char* start;
6224     int err;
6225 
6226     start = state->_span_pos0;
6227     state->_span_pos0 = NULL;
6228     err = llhttp__on_url(state, start, p);
6229     if (err != 0) {
6230       state->error = err;
6231       state->error_pos = (const char*) p;
6232       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
6233       return s_error;
6234     }
6235     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
6236     /* UNREACHABLE */;
6237     abort();
6238   }
6239   s_n_llhttp__internal__n_error_30: {
6240     state->error = 0x9;
6241     state->reason = "Expected CRLF after version";
6242     state->error_pos = (const char*) p;
6243     state->_current = (void*) (intptr_t) s_error;
6244     return s_error;
6245     /* UNREACHABLE */;
6246     abort();
6247   }
6248   s_n_llhttp__internal__n_invoke_store_http_minor: {
6249     switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) {
6250       default:
6251         goto s_n_llhttp__internal__n_req_http_end;
6252     }
6253     /* UNREACHABLE */;
6254     abort();
6255   }
6256   s_n_llhttp__internal__n_error_31: {
6257     state->error = 0x9;
6258     state->reason = "Invalid minor version";
6259     state->error_pos = (const char*) p;
6260     state->_current = (void*) (intptr_t) s_error;
6261     return s_error;
6262     /* UNREACHABLE */;
6263     abort();
6264   }
6265   s_n_llhttp__internal__n_error_32: {
6266     state->error = 0x9;
6267     state->reason = "Expected dot";
6268     state->error_pos = (const char*) p;
6269     state->_current = (void*) (intptr_t) s_error;
6270     return s_error;
6271     /* UNREACHABLE */;
6272     abort();
6273   }
6274   s_n_llhttp__internal__n_invoke_store_http_major: {
6275     switch (llhttp__internal__c_store_http_major(state, p, endp, match)) {
6276       default:
6277         goto s_n_llhttp__internal__n_req_http_dot;
6278     }
6279     /* UNREACHABLE */;
6280     abort();
6281   }
6282   s_n_llhttp__internal__n_error_33: {
6283     state->error = 0x9;
6284     state->reason = "Invalid major version";
6285     state->error_pos = (const char*) p;
6286     state->_current = (void*) (intptr_t) s_error;
6287     return s_error;
6288     /* UNREACHABLE */;
6289     abort();
6290   }
6291   s_n_llhttp__internal__n_error_35: {
6292     state->error = 0x8;
6293     state->reason = "Expected HTTP/";
6294     state->error_pos = (const char*) p;
6295     state->_current = (void*) (intptr_t) s_error;
6296     return s_error;
6297     /* UNREACHABLE */;
6298     abort();
6299   }
6300   s_n_llhttp__internal__n_error_34: {
6301     state->error = 0x8;
6302     state->reason = "Expected SOURCE method for ICE/x.x request";
6303     state->error_pos = (const char*) p;
6304     state->_current = (void*) (intptr_t) s_error;
6305     return s_error;
6306     /* UNREACHABLE */;
6307     abort();
6308   }
6309   s_n_llhttp__internal__n_invoke_is_equal_method_1: {
6310     switch (llhttp__internal__c_is_equal_method_1(state, p, endp)) {
6311       case 0:
6312         goto s_n_llhttp__internal__n_error_34;
6313       default:
6314         goto s_n_llhttp__internal__n_req_http_major;
6315     }
6316     /* UNREACHABLE */;
6317     abort();
6318   }
6319   s_n_llhttp__internal__n_span_end_llhttp__on_url_5: {
6320     const unsigned char* start;
6321     int err;
6322 
6323     start = state->_span_pos0;
6324     state->_span_pos0 = NULL;
6325     err = llhttp__on_url(state, start, p);
6326     if (err != 0) {
6327       state->error = err;
6328       state->error_pos = (const char*) p;
6329       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
6330       return s_error;
6331     }
6332     goto s_n_llhttp__internal__n_url_skip_to_http;
6333     /* UNREACHABLE */;
6334     abort();
6335   }
6336   s_n_llhttp__internal__n_span_end_llhttp__on_url_6: {
6337     const unsigned char* start;
6338     int err;
6339 
6340     start = state->_span_pos0;
6341     state->_span_pos0 = NULL;
6342     err = llhttp__on_url(state, start, p);
6343     if (err != 0) {
6344       state->error = err;
6345       state->error_pos = (const char*) p;
6346       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
6347       return s_error;
6348     }
6349     goto s_n_llhttp__internal__n_url_skip_to_http09;
6350     /* UNREACHABLE */;
6351     abort();
6352   }
6353   s_n_llhttp__internal__n_span_end_llhttp__on_url_7: {
6354     const unsigned char* start;
6355     int err;
6356 
6357     start = state->_span_pos0;
6358     state->_span_pos0 = NULL;
6359     err = llhttp__on_url(state, start, p);
6360     if (err != 0) {
6361       state->error = err;
6362       state->error_pos = (const char*) p;
6363       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
6364       return s_error;
6365     }
6366     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
6367     /* UNREACHABLE */;
6368     abort();
6369   }
6370   s_n_llhttp__internal__n_span_end_llhttp__on_url_8: {
6371     const unsigned char* start;
6372     int err;
6373 
6374     start = state->_span_pos0;
6375     state->_span_pos0 = NULL;
6376     err = llhttp__on_url(state, start, p);
6377     if (err != 0) {
6378       state->error = err;
6379       state->error_pos = (const char*) p;
6380       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
6381       return s_error;
6382     }
6383     goto s_n_llhttp__internal__n_url_skip_to_http;
6384     /* UNREACHABLE */;
6385     abort();
6386   }
6387   s_n_llhttp__internal__n_error_36: {
6388     state->error = 0x7;
6389     state->reason = "Invalid char in url fragment start";
6390     state->error_pos = (const char*) p;
6391     state->_current = (void*) (intptr_t) s_error;
6392     return s_error;
6393     /* UNREACHABLE */;
6394     abort();
6395   }
6396   s_n_llhttp__internal__n_span_end_llhttp__on_url_9: {
6397     const unsigned char* start;
6398     int err;
6399 
6400     start = state->_span_pos0;
6401     state->_span_pos0 = NULL;
6402     err = llhttp__on_url(state, start, p);
6403     if (err != 0) {
6404       state->error = err;
6405       state->error_pos = (const char*) p;
6406       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
6407       return s_error;
6408     }
6409     goto s_n_llhttp__internal__n_url_skip_to_http09;
6410     /* UNREACHABLE */;
6411     abort();
6412   }
6413   s_n_llhttp__internal__n_span_end_llhttp__on_url_10: {
6414     const unsigned char* start;
6415     int err;
6416 
6417     start = state->_span_pos0;
6418     state->_span_pos0 = NULL;
6419     err = llhttp__on_url(state, start, p);
6420     if (err != 0) {
6421       state->error = err;
6422       state->error_pos = (const char*) p;
6423       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
6424       return s_error;
6425     }
6426     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
6427     /* UNREACHABLE */;
6428     abort();
6429   }
6430   s_n_llhttp__internal__n_span_end_llhttp__on_url_11: {
6431     const unsigned char* start;
6432     int err;
6433 
6434     start = state->_span_pos0;
6435     state->_span_pos0 = NULL;
6436     err = llhttp__on_url(state, start, p);
6437     if (err != 0) {
6438       state->error = err;
6439       state->error_pos = (const char*) p;
6440       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
6441       return s_error;
6442     }
6443     goto s_n_llhttp__internal__n_url_skip_to_http;
6444     /* UNREACHABLE */;
6445     abort();
6446   }
6447   s_n_llhttp__internal__n_error_37: {
6448     state->error = 0x7;
6449     state->reason = "Invalid char in url query";
6450     state->error_pos = (const char*) p;
6451     state->_current = (void*) (intptr_t) s_error;
6452     return s_error;
6453     /* UNREACHABLE */;
6454     abort();
6455   }
6456   s_n_llhttp__internal__n_error_38: {
6457     state->error = 0x7;
6458     state->reason = "Invalid char in url path";
6459     state->error_pos = (const char*) p;
6460     state->_current = (void*) (intptr_t) s_error;
6461     return s_error;
6462     /* UNREACHABLE */;
6463     abort();
6464   }
6465   s_n_llhttp__internal__n_span_end_llhttp__on_url: {
6466     const unsigned char* start;
6467     int err;
6468 
6469     start = state->_span_pos0;
6470     state->_span_pos0 = NULL;
6471     err = llhttp__on_url(state, start, p);
6472     if (err != 0) {
6473       state->error = err;
6474       state->error_pos = (const char*) p;
6475       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
6476       return s_error;
6477     }
6478     goto s_n_llhttp__internal__n_url_skip_to_http09;
6479     /* UNREACHABLE */;
6480     abort();
6481   }
6482   s_n_llhttp__internal__n_span_end_llhttp__on_url_1: {
6483     const unsigned char* start;
6484     int err;
6485 
6486     start = state->_span_pos0;
6487     state->_span_pos0 = NULL;
6488     err = llhttp__on_url(state, start, p);
6489     if (err != 0) {
6490       state->error = err;
6491       state->error_pos = (const char*) p;
6492       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
6493       return s_error;
6494     }
6495     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
6496     /* UNREACHABLE */;
6497     abort();
6498   }
6499   s_n_llhttp__internal__n_span_end_llhttp__on_url_2: {
6500     const unsigned char* start;
6501     int err;
6502 
6503     start = state->_span_pos0;
6504     state->_span_pos0 = NULL;
6505     err = llhttp__on_url(state, start, p);
6506     if (err != 0) {
6507       state->error = err;
6508       state->error_pos = (const char*) p;
6509       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
6510       return s_error;
6511     }
6512     goto s_n_llhttp__internal__n_url_skip_to_http;
6513     /* UNREACHABLE */;
6514     abort();
6515   }
6516   s_n_llhttp__internal__n_span_end_llhttp__on_url_12: {
6517     const unsigned char* start;
6518     int err;
6519 
6520     start = state->_span_pos0;
6521     state->_span_pos0 = NULL;
6522     err = llhttp__on_url(state, start, p);
6523     if (err != 0) {
6524       state->error = err;
6525       state->error_pos = (const char*) p;
6526       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
6527       return s_error;
6528     }
6529     goto s_n_llhttp__internal__n_url_skip_to_http09;
6530     /* UNREACHABLE */;
6531     abort();
6532   }
6533   s_n_llhttp__internal__n_span_end_llhttp__on_url_13: {
6534     const unsigned char* start;
6535     int err;
6536 
6537     start = state->_span_pos0;
6538     state->_span_pos0 = NULL;
6539     err = llhttp__on_url(state, start, p);
6540     if (err != 0) {
6541       state->error = err;
6542       state->error_pos = (const char*) p;
6543       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
6544       return s_error;
6545     }
6546     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
6547     /* UNREACHABLE */;
6548     abort();
6549   }
6550   s_n_llhttp__internal__n_span_end_llhttp__on_url_14: {
6551     const unsigned char* start;
6552     int err;
6553 
6554     start = state->_span_pos0;
6555     state->_span_pos0 = NULL;
6556     err = llhttp__on_url(state, start, p);
6557     if (err != 0) {
6558       state->error = err;
6559       state->error_pos = (const char*) p;
6560       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
6561       return s_error;
6562     }
6563     goto s_n_llhttp__internal__n_url_skip_to_http;
6564     /* UNREACHABLE */;
6565     abort();
6566   }
6567   s_n_llhttp__internal__n_error_39: {
6568     state->error = 0x7;
6569     state->reason = "Double @ in url";
6570     state->error_pos = (const char*) p;
6571     state->_current = (void*) (intptr_t) s_error;
6572     return s_error;
6573     /* UNREACHABLE */;
6574     abort();
6575   }
6576   s_n_llhttp__internal__n_error_40: {
6577     state->error = 0x7;
6578     state->reason = "Unexpected char in url server";
6579     state->error_pos = (const char*) p;
6580     state->_current = (void*) (intptr_t) s_error;
6581     return s_error;
6582     /* UNREACHABLE */;
6583     abort();
6584   }
6585   s_n_llhttp__internal__n_error_41: {
6586     state->error = 0x7;
6587     state->reason = "Unexpected char in url server";
6588     state->error_pos = (const char*) p;
6589     state->_current = (void*) (intptr_t) s_error;
6590     return s_error;
6591     /* UNREACHABLE */;
6592     abort();
6593   }
6594   s_n_llhttp__internal__n_error_43: {
6595     state->error = 0x7;
6596     state->reason = "Unexpected char in url schema";
6597     state->error_pos = (const char*) p;
6598     state->_current = (void*) (intptr_t) s_error;
6599     return s_error;
6600     /* UNREACHABLE */;
6601     abort();
6602   }
6603   s_n_llhttp__internal__n_error_44: {
6604     state->error = 0x7;
6605     state->reason = "Unexpected char in url schema";
6606     state->error_pos = (const char*) p;
6607     state->_current = (void*) (intptr_t) s_error;
6608     return s_error;
6609     /* UNREACHABLE */;
6610     abort();
6611   }
6612   s_n_llhttp__internal__n_error_45: {
6613     state->error = 0x7;
6614     state->reason = "Unexpected start char in url";
6615     state->error_pos = (const char*) p;
6616     state->_current = (void*) (intptr_t) s_error;
6617     return s_error;
6618     /* UNREACHABLE */;
6619     abort();
6620   }
6621   s_n_llhttp__internal__n_invoke_is_equal_method: {
6622     switch (llhttp__internal__c_is_equal_method(state, p, endp)) {
6623       case 0:
6624         goto s_n_llhttp__internal__n_url_entry_normal;
6625       default:
6626         goto s_n_llhttp__internal__n_url_entry_connect;
6627     }
6628     /* UNREACHABLE */;
6629     abort();
6630   }
6631   s_n_llhttp__internal__n_error_46: {
6632     state->error = 0x6;
6633     state->reason = "Expected space after method";
6634     state->error_pos = (const char*) p;
6635     state->_current = (void*) (intptr_t) s_error;
6636     return s_error;
6637     /* UNREACHABLE */;
6638     abort();
6639   }
6640   s_n_llhttp__internal__n_invoke_store_method_1: {
6641     switch (llhttp__internal__c_store_method(state, p, endp, match)) {
6642       default:
6643         goto s_n_llhttp__internal__n_req_first_space_before_url;
6644     }
6645     /* UNREACHABLE */;
6646     abort();
6647   }
6648   s_n_llhttp__internal__n_error_55: {
6649     state->error = 0x6;
6650     state->reason = "Invalid method encountered";
6651     state->error_pos = (const char*) p;
6652     state->_current = (void*) (intptr_t) s_error;
6653     return s_error;
6654     /* UNREACHABLE */;
6655     abort();
6656   }
6657   s_n_llhttp__internal__n_error_47: {
6658     state->error = 0xd;
6659     state->reason = "Response overflow";
6660     state->error_pos = (const char*) p;
6661     state->_current = (void*) (intptr_t) s_error;
6662     return s_error;
6663     /* UNREACHABLE */;
6664     abort();
6665   }
6666   s_n_llhttp__internal__n_invoke_mul_add_status_code: {
6667     switch (llhttp__internal__c_mul_add_status_code(state, p, endp, match)) {
6668       case 1:
6669         goto s_n_llhttp__internal__n_error_47;
6670       default:
6671         goto s_n_llhttp__internal__n_res_status_code;
6672     }
6673     /* UNREACHABLE */;
6674     abort();
6675   }
6676   s_n_llhttp__internal__n_error_48: {
6677     state->error = 0x2;
6678     state->reason = "Expected LF after CR";
6679     state->error_pos = (const char*) p;
6680     state->_current = (void*) (intptr_t) s_error;
6681     return s_error;
6682     /* UNREACHABLE */;
6683     abort();
6684   }
6685   s_n_llhttp__internal__n_span_end_llhttp__on_status: {
6686     const unsigned char* start;
6687     int err;
6688 
6689     start = state->_span_pos0;
6690     state->_span_pos0 = NULL;
6691     err = llhttp__on_status(state, start, p);
6692     if (err != 0) {
6693       state->error = err;
6694       state->error_pos = (const char*) (p + 1);
6695       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_field_start;
6696       return s_error;
6697     }
6698     p++;
6699     goto s_n_llhttp__internal__n_header_field_start;
6700     /* UNREACHABLE */;
6701     abort();
6702   }
6703   s_n_llhttp__internal__n_span_end_llhttp__on_status_1: {
6704     const unsigned char* start;
6705     int err;
6706 
6707     start = state->_span_pos0;
6708     state->_span_pos0 = NULL;
6709     err = llhttp__on_status(state, start, p);
6710     if (err != 0) {
6711       state->error = err;
6712       state->error_pos = (const char*) (p + 1);
6713       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_res_line_almost_done;
6714       return s_error;
6715     }
6716     p++;
6717     goto s_n_llhttp__internal__n_res_line_almost_done;
6718     /* UNREACHABLE */;
6719     abort();
6720   }
6721   s_n_llhttp__internal__n_error_49: {
6722     state->error = 0xd;
6723     state->reason = "Invalid response status";
6724     state->error_pos = (const char*) p;
6725     state->_current = (void*) (intptr_t) s_error;
6726     return s_error;
6727     /* UNREACHABLE */;
6728     abort();
6729   }
6730   s_n_llhttp__internal__n_invoke_update_status_code: {
6731     switch (llhttp__internal__c_update_status_code(state, p, endp)) {
6732       default:
6733         goto s_n_llhttp__internal__n_res_status_code;
6734     }
6735     /* UNREACHABLE */;
6736     abort();
6737   }
6738   s_n_llhttp__internal__n_error_50: {
6739     state->error = 0x9;
6740     state->reason = "Expected space after version";
6741     state->error_pos = (const char*) p;
6742     state->_current = (void*) (intptr_t) s_error;
6743     return s_error;
6744     /* UNREACHABLE */;
6745     abort();
6746   }
6747   s_n_llhttp__internal__n_invoke_store_http_minor_1: {
6748     switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) {
6749       default:
6750         goto s_n_llhttp__internal__n_res_http_end;
6751     }
6752     /* UNREACHABLE */;
6753     abort();
6754   }
6755   s_n_llhttp__internal__n_error_51: {
6756     state->error = 0x9;
6757     state->reason = "Invalid minor version";
6758     state->error_pos = (const char*) p;
6759     state->_current = (void*) (intptr_t) s_error;
6760     return s_error;
6761     /* UNREACHABLE */;
6762     abort();
6763   }
6764   s_n_llhttp__internal__n_error_52: {
6765     state->error = 0x9;
6766     state->reason = "Expected dot";
6767     state->error_pos = (const char*) p;
6768     state->_current = (void*) (intptr_t) s_error;
6769     return s_error;
6770     /* UNREACHABLE */;
6771     abort();
6772   }
6773   s_n_llhttp__internal__n_invoke_store_http_major_1: {
6774     switch (llhttp__internal__c_store_http_major(state, p, endp, match)) {
6775       default:
6776         goto s_n_llhttp__internal__n_res_http_dot;
6777     }
6778     /* UNREACHABLE */;
6779     abort();
6780   }
6781   s_n_llhttp__internal__n_error_53: {
6782     state->error = 0x9;
6783     state->reason = "Invalid major version";
6784     state->error_pos = (const char*) p;
6785     state->_current = (void*) (intptr_t) s_error;
6786     return s_error;
6787     /* UNREACHABLE */;
6788     abort();
6789   }
6790   s_n_llhttp__internal__n_error_56: {
6791     state->error = 0x8;
6792     state->reason = "Expected HTTP/";
6793     state->error_pos = (const char*) p;
6794     state->_current = (void*) (intptr_t) s_error;
6795     return s_error;
6796     /* UNREACHABLE */;
6797     abort();
6798   }
6799   s_n_llhttp__internal__n_invoke_update_type: {
6800     switch (llhttp__internal__c_update_type(state, p, endp)) {
6801       default:
6802         goto s_n_llhttp__internal__n_req_first_space_before_url;
6803     }
6804     /* UNREACHABLE */;
6805     abort();
6806   }
6807   s_n_llhttp__internal__n_invoke_store_method: {
6808     switch (llhttp__internal__c_store_method(state, p, endp, match)) {
6809       default:
6810         goto s_n_llhttp__internal__n_invoke_update_type;
6811     }
6812     /* UNREACHABLE */;
6813     abort();
6814   }
6815   s_n_llhttp__internal__n_error_54: {
6816     state->error = 0x8;
6817     state->reason = "Invalid word encountered";
6818     state->error_pos = (const char*) p;
6819     state->_current = (void*) (intptr_t) s_error;
6820     return s_error;
6821     /* UNREACHABLE */;
6822     abort();
6823   }
6824   s_n_llhttp__internal__n_invoke_update_type_1: {
6825     switch (llhttp__internal__c_update_type_1(state, p, endp)) {
6826       default:
6827         goto s_n_llhttp__internal__n_res_http_major;
6828     }
6829     /* UNREACHABLE */;
6830     abort();
6831   }
6832   s_n_llhttp__internal__n_invoke_update_type_2: {
6833     switch (llhttp__internal__c_update_type(state, p, endp)) {
6834       default:
6835         goto s_n_llhttp__internal__n_start_req;
6836     }
6837     /* UNREACHABLE */;
6838     abort();
6839   }
6840   s_n_llhttp__internal__n_pause_8: {
6841     state->error = 0x15;
6842     state->reason = "on_message_begin pause";
6843     state->error_pos = (const char*) p;
6844     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_load_type;
6845     return s_error;
6846     /* UNREACHABLE */;
6847     abort();
6848   }
6849   s_n_llhttp__internal__n_error: {
6850     state->error = 0x10;
6851     state->reason = "`on_message_begin` callback error";
6852     state->error_pos = (const char*) p;
6853     state->_current = (void*) (intptr_t) s_error;
6854     return s_error;
6855     /* UNREACHABLE */;
6856     abort();
6857   }
6858   s_n_llhttp__internal__n_invoke_llhttp__on_message_begin: {
6859     switch (llhttp__on_message_begin(state, p, endp)) {
6860       case 0:
6861         goto s_n_llhttp__internal__n_invoke_load_type;
6862       case 21:
6863         goto s_n_llhttp__internal__n_pause_8;
6864       default:
6865         goto s_n_llhttp__internal__n_error;
6866     }
6867     /* UNREACHABLE */;
6868     abort();
6869   }
6870   s_n_llhttp__internal__n_invoke_update_finish: {
6871     switch (llhttp__internal__c_update_finish(state, p, endp)) {
6872       default:
6873         goto s_n_llhttp__internal__n_invoke_llhttp__on_message_begin;
6874     }
6875     /* UNREACHABLE */;
6876     abort();
6877   }
6878 }
6879 
llhttp__internal_execute(llhttp__internal_t * state,const char * p,const char * endp)6880 int llhttp__internal_execute(llhttp__internal_t* state, const char* p, const char* endp) {
6881   llparse_state_t next;
6882 
6883   /* check lingering errors */
6884   if (state->error != 0) {
6885     return state->error;
6886   }
6887 
6888   /* restart spans */
6889   if (state->_span_pos0 != NULL) {
6890     state->_span_pos0 = (void*) p;
6891   }
6892 
6893   next = llhttp__internal__run(state, (const unsigned char*) p, (const unsigned char*) endp);
6894   if (next == s_error) {
6895     return state->error;
6896   }
6897   state->_current = (void*) (intptr_t) next;
6898 
6899   /* execute spans */
6900   if (state->_span_pos0 != NULL) {
6901     int error;
6902 
6903     error = ((llhttp__internal__span_cb) state->_span_cb0)(state, state->_span_pos0, (const char*) endp);
6904     if (error != 0) {
6905       state->error = error;
6906       state->error_pos = endp;
6907       return error;
6908     }
6909   }
6910 
6911   return 0;
6912 }
6913 
6914 #else  /* !LLHTTP_STRICT_MODE */
6915 
6916 #include <stdlib.h>
6917 #include <stdint.h>
6918 #include <string.h>
6919 
6920 #ifdef __SSE4_2__
6921  #ifdef _MSC_VER
6922   #include <nmmintrin.h>
6923  #else  /* !_MSC_VER */
6924   #include <x86intrin.h>
6925  #endif  /* _MSC_VER */
6926 #endif  /* __SSE4_2__ */
6927 
6928 #ifdef _MSC_VER
6929  #define ALIGN(n) _declspec(align(n))
6930 #else  /* !_MSC_VER */
6931  #define ALIGN(n) __attribute__((aligned(n)))
6932 #endif  /* _MSC_VER */
6933 
6934 #include "llhttp.h"
6935 
6936 typedef int (*llhttp__internal__span_cb)(
6937              llhttp__internal_t*, const char*, const char*);
6938 
6939 static const unsigned char llparse_blob0[] = {
6940   'C', 'L'
6941 };
6942 #ifdef __SSE4_2__
6943 static const unsigned char ALIGN(16) llparse_blob1[] = {
6944   0x9, 0x9, 0xc, 0xc, '!', '"', '$', '>', '@', '~', 0x80,
6945   0xff, 0x0, 0x0, 0x0, 0x0
6946 };
6947 #endif  /* __SSE4_2__ */
6948 static const unsigned char llparse_blob2[] = {
6949   'o', 'n'
6950 };
6951 static const unsigned char llparse_blob3[] = {
6952   'e', 'c', 't', 'i', 'o', 'n'
6953 };
6954 static const unsigned char llparse_blob4[] = {
6955   'l', 'o', 's', 'e'
6956 };
6957 static const unsigned char llparse_blob5[] = {
6958   'e', 'e', 'p', '-', 'a', 'l', 'i', 'v', 'e'
6959 };
6960 static const unsigned char llparse_blob6[] = {
6961   'p', 'g', 'r', 'a', 'd', 'e'
6962 };
6963 static const unsigned char llparse_blob7[] = {
6964   'c', 'h', 'u', 'n', 'k', 'e', 'd'
6965 };
6966 #ifdef __SSE4_2__
6967 static const unsigned char ALIGN(16) llparse_blob8[] = {
6968   0x9, 0x9, ' ', '~', 0x80, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
6969   0x0, 0x0, 0x0, 0x0, 0x0
6970 };
6971 #endif  /* __SSE4_2__ */
6972 #ifdef __SSE4_2__
6973 static const unsigned char ALIGN(16) llparse_blob9[] = {
6974   ' ', '!', '#', '\'', '*', '+', '-', '.', '0', '9', 'A',
6975   'Z', '^', 'z', '|', '|'
6976 };
6977 #endif  /* __SSE4_2__ */
6978 #ifdef __SSE4_2__
6979 static const unsigned char ALIGN(16) llparse_blob10[] = {
6980   '~', '~', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
6981   0x0, 0x0, 0x0, 0x0, 0x0
6982 };
6983 #endif  /* __SSE4_2__ */
6984 static const unsigned char llparse_blob11[] = {
6985   'e', 'n', 't', '-', 'l', 'e', 'n', 'g', 't', 'h'
6986 };
6987 static const unsigned char llparse_blob12[] = {
6988   'r', 'o', 'x', 'y', '-', 'c', 'o', 'n', 'n', 'e', 'c',
6989   't', 'i', 'o', 'n'
6990 };
6991 static const unsigned char llparse_blob13[] = {
6992   'r', 'a', 'n', 's', 'f', 'e', 'r', '-', 'e', 'n', 'c',
6993   'o', 'd', 'i', 'n', 'g'
6994 };
6995 static const unsigned char llparse_blob14[] = {
6996   'p', 'g', 'r', 'a', 'd', 'e'
6997 };
6998 static const unsigned char llparse_blob15[] = {
6999   0xd, 0xa
7000 };
7001 static const unsigned char llparse_blob16[] = {
7002   'T', 'T', 'P', '/'
7003 };
7004 static const unsigned char llparse_blob17[] = {
7005   'C', 'E', '/'
7006 };
7007 static const unsigned char llparse_blob18[] = {
7008   'I', 'N', 'D'
7009 };
7010 static const unsigned char llparse_blob19[] = {
7011   'E', 'C', 'K', 'O', 'U', 'T'
7012 };
7013 static const unsigned char llparse_blob20[] = {
7014   'N', 'E', 'C', 'T'
7015 };
7016 static const unsigned char llparse_blob21[] = {
7017   'E', 'L', 'E', 'T', 'E'
7018 };
7019 static const unsigned char llparse_blob22[] = {
7020   'E', 'T'
7021 };
7022 static const unsigned char llparse_blob23[] = {
7023   'E', 'A', 'D'
7024 };
7025 static const unsigned char llparse_blob24[] = {
7026   'N', 'K'
7027 };
7028 static const unsigned char llparse_blob25[] = {
7029   'C', 'K'
7030 };
7031 static const unsigned char llparse_blob26[] = {
7032   'S', 'E', 'A', 'R', 'C', 'H'
7033 };
7034 static const unsigned char llparse_blob27[] = {
7035   'R', 'G', 'E'
7036 };
7037 static const unsigned char llparse_blob28[] = {
7038   'C', 'T', 'I', 'V', 'I', 'T', 'Y'
7039 };
7040 static const unsigned char llparse_blob29[] = {
7041   'L', 'E', 'N', 'D', 'A', 'R'
7042 };
7043 static const unsigned char llparse_blob30[] = {
7044   'V', 'E'
7045 };
7046 static const unsigned char llparse_blob31[] = {
7047   'O', 'T', 'I', 'F', 'Y'
7048 };
7049 static const unsigned char llparse_blob32[] = {
7050   'P', 'T', 'I', 'O', 'N', 'S'
7051 };
7052 static const unsigned char llparse_blob33[] = {
7053   'T', 'C', 'H'
7054 };
7055 static const unsigned char llparse_blob34[] = {
7056   'S', 'T'
7057 };
7058 static const unsigned char llparse_blob35[] = {
7059   'I', 'N', 'D'
7060 };
7061 static const unsigned char llparse_blob36[] = {
7062   'A', 'T', 'C', 'H'
7063 };
7064 static const unsigned char llparse_blob37[] = {
7065   'G', 'E'
7066 };
7067 static const unsigned char llparse_blob38[] = {
7068   'I', 'N', 'D'
7069 };
7070 static const unsigned char llparse_blob39[] = {
7071   'O', 'R', 'T'
7072 };
7073 static const unsigned char llparse_blob40[] = {
7074   'A', 'R', 'C', 'H'
7075 };
7076 static const unsigned char llparse_blob41[] = {
7077   'U', 'R', 'C', 'E'
7078 };
7079 static const unsigned char llparse_blob42[] = {
7080   'B', 'S', 'C', 'R', 'I', 'B', 'E'
7081 };
7082 static const unsigned char llparse_blob43[] = {
7083   'R', 'A', 'C', 'E'
7084 };
7085 static const unsigned char llparse_blob44[] = {
7086   'I', 'N', 'D'
7087 };
7088 static const unsigned char llparse_blob45[] = {
7089   'N', 'K'
7090 };
7091 static const unsigned char llparse_blob46[] = {
7092   'C', 'K'
7093 };
7094 static const unsigned char llparse_blob47[] = {
7095   'U', 'B', 'S', 'C', 'R', 'I', 'B', 'E'
7096 };
7097 static const unsigned char llparse_blob48[] = {
7098   'H', 'T', 'T', 'P', '/'
7099 };
7100 static const unsigned char llparse_blob49[] = {
7101   'A', 'D'
7102 };
7103 static const unsigned char llparse_blob50[] = {
7104   'T', 'P', '/'
7105 };
7106 
7107 enum llparse_match_status_e {
7108   kMatchComplete,
7109   kMatchPause,
7110   kMatchMismatch
7111 };
7112 typedef enum llparse_match_status_e llparse_match_status_t;
7113 
7114 struct llparse_match_s {
7115   llparse_match_status_t status;
7116   const unsigned char* current;
7117 };
7118 typedef struct llparse_match_s llparse_match_t;
7119 
llparse__match_sequence_id(llhttp__internal_t * s,const unsigned char * p,const unsigned char * endp,const unsigned char * seq,uint32_t seq_len)7120 static llparse_match_t llparse__match_sequence_id(
7121     llhttp__internal_t* s, const unsigned char* p,
7122     const unsigned char* endp,
7123     const unsigned char* seq, uint32_t seq_len) {
7124   uint32_t index;
7125   llparse_match_t res;
7126 
7127   index = s->_index;
7128   for (; p != endp; p++) {
7129     unsigned char current;
7130 
7131     current = *p;
7132     if (current == seq[index]) {
7133       if (++index == seq_len) {
7134         res.status = kMatchComplete;
7135         goto reset;
7136       }
7137     } else {
7138       res.status = kMatchMismatch;
7139       goto reset;
7140     }
7141   }
7142   s->_index = index;
7143   res.status = kMatchPause;
7144   res.current = p;
7145   return res;
7146 reset:
7147   s->_index = 0;
7148   res.current = p;
7149   return res;
7150 }
7151 
llparse__match_sequence_to_lower(llhttp__internal_t * s,const unsigned char * p,const unsigned char * endp,const unsigned char * seq,uint32_t seq_len)7152 static llparse_match_t llparse__match_sequence_to_lower(
7153     llhttp__internal_t* s, const unsigned char* p,
7154     const unsigned char* endp,
7155     const unsigned char* seq, uint32_t seq_len) {
7156   uint32_t index;
7157   llparse_match_t res;
7158 
7159   index = s->_index;
7160   for (; p != endp; p++) {
7161     unsigned char current;
7162 
7163     current = ((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p));
7164     if (current == seq[index]) {
7165       if (++index == seq_len) {
7166         res.status = kMatchComplete;
7167         goto reset;
7168       }
7169     } else {
7170       res.status = kMatchMismatch;
7171       goto reset;
7172     }
7173   }
7174   s->_index = index;
7175   res.status = kMatchPause;
7176   res.current = p;
7177   return res;
7178 reset:
7179   s->_index = 0;
7180   res.current = p;
7181   return res;
7182 }
7183 
llparse__match_sequence_to_lower_unsafe(llhttp__internal_t * s,const unsigned char * p,const unsigned char * endp,const unsigned char * seq,uint32_t seq_len)7184 static llparse_match_t llparse__match_sequence_to_lower_unsafe(
7185     llhttp__internal_t* s, const unsigned char* p,
7186     const unsigned char* endp,
7187     const unsigned char* seq, uint32_t seq_len) {
7188   uint32_t index;
7189   llparse_match_t res;
7190 
7191   index = s->_index;
7192   for (; p != endp; p++) {
7193     unsigned char current;
7194 
7195     current = ((*p) | 0x20);
7196     if (current == seq[index]) {
7197       if (++index == seq_len) {
7198         res.status = kMatchComplete;
7199         goto reset;
7200       }
7201     } else {
7202       res.status = kMatchMismatch;
7203       goto reset;
7204     }
7205   }
7206   s->_index = index;
7207   res.status = kMatchPause;
7208   res.current = p;
7209   return res;
7210 reset:
7211   s->_index = 0;
7212   res.current = p;
7213   return res;
7214 }
7215 
7216 enum llparse_state_e {
7217   s_error,
7218   s_n_llhttp__internal__n_invoke_llhttp__after_message_complete,
7219   s_n_llhttp__internal__n_pause_1,
7220   s_n_llhttp__internal__n_invoke_is_equal_upgrade,
7221   s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2,
7222   s_n_llhttp__internal__n_chunk_data_almost_done_skip,
7223   s_n_llhttp__internal__n_chunk_data_almost_done,
7224   s_n_llhttp__internal__n_consume_content_length,
7225   s_n_llhttp__internal__n_span_start_llhttp__on_body,
7226   s_n_llhttp__internal__n_invoke_is_equal_content_length,
7227   s_n_llhttp__internal__n_chunk_size_almost_done,
7228   s_n_llhttp__internal__n_chunk_parameters,
7229   s_n_llhttp__internal__n_chunk_size_otherwise,
7230   s_n_llhttp__internal__n_chunk_size,
7231   s_n_llhttp__internal__n_chunk_size_digit,
7232   s_n_llhttp__internal__n_invoke_update_content_length,
7233   s_n_llhttp__internal__n_consume_content_length_1,
7234   s_n_llhttp__internal__n_span_start_llhttp__on_body_1,
7235   s_n_llhttp__internal__n_eof,
7236   s_n_llhttp__internal__n_span_start_llhttp__on_body_2,
7237   s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete,
7238   s_n_llhttp__internal__n_headers_almost_done,
7239   s_n_llhttp__internal__n_header_field_colon_discard_ws,
7240   s_n_llhttp__internal__n_error_15,
7241   s_n_llhttp__internal__n_span_start_llhttp__on_header_value,
7242   s_n_llhttp__internal__n_header_value_discard_lws,
7243   s_n_llhttp__internal__n_header_value_discard_ws_almost_done,
7244   s_n_llhttp__internal__n_header_value_lws,
7245   s_n_llhttp__internal__n_header_value_almost_done,
7246   s_n_llhttp__internal__n_header_value_lenient,
7247   s_n_llhttp__internal__n_header_value_otherwise,
7248   s_n_llhttp__internal__n_header_value_connection_token,
7249   s_n_llhttp__internal__n_header_value_connection_ws,
7250   s_n_llhttp__internal__n_header_value_connection_1,
7251   s_n_llhttp__internal__n_header_value_connection_2,
7252   s_n_llhttp__internal__n_header_value_connection_3,
7253   s_n_llhttp__internal__n_header_value_connection,
7254   s_n_llhttp__internal__n_error_20,
7255   s_n_llhttp__internal__n_error_21,
7256   s_n_llhttp__internal__n_header_value_content_length_ws,
7257   s_n_llhttp__internal__n_header_value_content_length,
7258   s_n_llhttp__internal__n_header_value_te_chunked_last,
7259   s_n_llhttp__internal__n_header_value_te_token_ows,
7260   s_n_llhttp__internal__n_header_value,
7261   s_n_llhttp__internal__n_header_value_te_token,
7262   s_n_llhttp__internal__n_header_value_te_chunked,
7263   s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1,
7264   s_n_llhttp__internal__n_header_value_discard_ws,
7265   s_n_llhttp__internal__n_header_field_general_otherwise,
7266   s_n_llhttp__internal__n_header_field_general,
7267   s_n_llhttp__internal__n_header_field_colon,
7268   s_n_llhttp__internal__n_header_field_3,
7269   s_n_llhttp__internal__n_header_field_4,
7270   s_n_llhttp__internal__n_header_field_2,
7271   s_n_llhttp__internal__n_header_field_1,
7272   s_n_llhttp__internal__n_header_field_5,
7273   s_n_llhttp__internal__n_header_field_6,
7274   s_n_llhttp__internal__n_header_field_7,
7275   s_n_llhttp__internal__n_header_field,
7276   s_n_llhttp__internal__n_span_start_llhttp__on_header_field,
7277   s_n_llhttp__internal__n_header_field_start,
7278   s_n_llhttp__internal__n_url_skip_to_http09,
7279   s_n_llhttp__internal__n_url_skip_lf_to_http09,
7280   s_n_llhttp__internal__n_req_http_end_1,
7281   s_n_llhttp__internal__n_req_http_end,
7282   s_n_llhttp__internal__n_req_http_minor,
7283   s_n_llhttp__internal__n_req_http_dot,
7284   s_n_llhttp__internal__n_req_http_major,
7285   s_n_llhttp__internal__n_req_http_start_1,
7286   s_n_llhttp__internal__n_req_http_start_2,
7287   s_n_llhttp__internal__n_req_http_start,
7288   s_n_llhttp__internal__n_url_skip_to_http,
7289   s_n_llhttp__internal__n_url_fragment,
7290   s_n_llhttp__internal__n_span_end_stub_query_3,
7291   s_n_llhttp__internal__n_url_query,
7292   s_n_llhttp__internal__n_url_query_or_fragment,
7293   s_n_llhttp__internal__n_url_path,
7294   s_n_llhttp__internal__n_span_start_stub_path_2,
7295   s_n_llhttp__internal__n_span_start_stub_path,
7296   s_n_llhttp__internal__n_span_start_stub_path_1,
7297   s_n_llhttp__internal__n_url_server_with_at,
7298   s_n_llhttp__internal__n_url_server,
7299   s_n_llhttp__internal__n_url_schema_delim_1,
7300   s_n_llhttp__internal__n_url_schema_delim,
7301   s_n_llhttp__internal__n_span_end_stub_schema,
7302   s_n_llhttp__internal__n_url_schema,
7303   s_n_llhttp__internal__n_url_start,
7304   s_n_llhttp__internal__n_span_start_llhttp__on_url_1,
7305   s_n_llhttp__internal__n_span_start_llhttp__on_url,
7306   s_n_llhttp__internal__n_req_spaces_before_url,
7307   s_n_llhttp__internal__n_req_first_space_before_url,
7308   s_n_llhttp__internal__n_start_req_1,
7309   s_n_llhttp__internal__n_start_req_2,
7310   s_n_llhttp__internal__n_start_req_4,
7311   s_n_llhttp__internal__n_start_req_6,
7312   s_n_llhttp__internal__n_start_req_7,
7313   s_n_llhttp__internal__n_start_req_5,
7314   s_n_llhttp__internal__n_start_req_3,
7315   s_n_llhttp__internal__n_start_req_8,
7316   s_n_llhttp__internal__n_start_req_9,
7317   s_n_llhttp__internal__n_start_req_10,
7318   s_n_llhttp__internal__n_start_req_12,
7319   s_n_llhttp__internal__n_start_req_13,
7320   s_n_llhttp__internal__n_start_req_11,
7321   s_n_llhttp__internal__n_start_req_15,
7322   s_n_llhttp__internal__n_start_req_16,
7323   s_n_llhttp__internal__n_start_req_18,
7324   s_n_llhttp__internal__n_start_req_20,
7325   s_n_llhttp__internal__n_start_req_21,
7326   s_n_llhttp__internal__n_start_req_19,
7327   s_n_llhttp__internal__n_start_req_17,
7328   s_n_llhttp__internal__n_start_req_22,
7329   s_n_llhttp__internal__n_start_req_14,
7330   s_n_llhttp__internal__n_start_req_23,
7331   s_n_llhttp__internal__n_start_req_24,
7332   s_n_llhttp__internal__n_start_req_26,
7333   s_n_llhttp__internal__n_start_req_27,
7334   s_n_llhttp__internal__n_start_req_31,
7335   s_n_llhttp__internal__n_start_req_32,
7336   s_n_llhttp__internal__n_start_req_30,
7337   s_n_llhttp__internal__n_start_req_29,
7338   s_n_llhttp__internal__n_start_req_28,
7339   s_n_llhttp__internal__n_start_req_34,
7340   s_n_llhttp__internal__n_start_req_33,
7341   s_n_llhttp__internal__n_start_req_25,
7342   s_n_llhttp__internal__n_start_req_37,
7343   s_n_llhttp__internal__n_start_req_38,
7344   s_n_llhttp__internal__n_start_req_36,
7345   s_n_llhttp__internal__n_start_req_35,
7346   s_n_llhttp__internal__n_start_req_40,
7347   s_n_llhttp__internal__n_start_req_41,
7348   s_n_llhttp__internal__n_start_req_42,
7349   s_n_llhttp__internal__n_start_req_39,
7350   s_n_llhttp__internal__n_start_req_43,
7351   s_n_llhttp__internal__n_start_req_46,
7352   s_n_llhttp__internal__n_start_req_48,
7353   s_n_llhttp__internal__n_start_req_49,
7354   s_n_llhttp__internal__n_start_req_47,
7355   s_n_llhttp__internal__n_start_req_50,
7356   s_n_llhttp__internal__n_start_req_45,
7357   s_n_llhttp__internal__n_start_req_44,
7358   s_n_llhttp__internal__n_start_req,
7359   s_n_llhttp__internal__n_res_line_almost_done,
7360   s_n_llhttp__internal__n_res_status,
7361   s_n_llhttp__internal__n_span_start_llhttp__on_status,
7362   s_n_llhttp__internal__n_res_status_start,
7363   s_n_llhttp__internal__n_res_status_code_otherwise,
7364   s_n_llhttp__internal__n_res_status_code,
7365   s_n_llhttp__internal__n_res_http_end,
7366   s_n_llhttp__internal__n_res_http_minor,
7367   s_n_llhttp__internal__n_res_http_dot,
7368   s_n_llhttp__internal__n_res_http_major,
7369   s_n_llhttp__internal__n_start_res,
7370   s_n_llhttp__internal__n_req_or_res_method_2,
7371   s_n_llhttp__internal__n_req_or_res_method_3,
7372   s_n_llhttp__internal__n_req_or_res_method_1,
7373   s_n_llhttp__internal__n_req_or_res_method,
7374   s_n_llhttp__internal__n_start_req_or_res,
7375   s_n_llhttp__internal__n_invoke_load_type,
7376   s_n_llhttp__internal__n_start,
7377 };
7378 typedef enum llparse_state_e llparse_state_t;
7379 
7380 int llhttp__on_url(
7381     llhttp__internal_t* s, const unsigned char* p,
7382     const unsigned char* endp);
7383 
7384 int llhttp__on_header_field(
7385     llhttp__internal_t* s, const unsigned char* p,
7386     const unsigned char* endp);
7387 
7388 int llhttp__on_header_value(
7389     llhttp__internal_t* s, const unsigned char* p,
7390     const unsigned char* endp);
7391 
7392 int llhttp__on_body(
7393     llhttp__internal_t* s, const unsigned char* p,
7394     const unsigned char* endp);
7395 
7396 int llhttp__on_status(
7397     llhttp__internal_t* s, const unsigned char* p,
7398     const unsigned char* endp);
7399 
llhttp__internal__c_update_finish(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7400 int llhttp__internal__c_update_finish(
7401     llhttp__internal_t* state,
7402     const unsigned char* p,
7403     const unsigned char* endp) {
7404   state->finish = 2;
7405   return 0;
7406 }
7407 
7408 int llhttp__on_message_begin(
7409     llhttp__internal_t* s, const unsigned char* p,
7410     const unsigned char* endp);
7411 
llhttp__internal__c_load_type(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7412 int llhttp__internal__c_load_type(
7413     llhttp__internal_t* state,
7414     const unsigned char* p,
7415     const unsigned char* endp) {
7416   return state->type;
7417 }
7418 
llhttp__internal__c_store_method(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)7419 int llhttp__internal__c_store_method(
7420     llhttp__internal_t* state,
7421     const unsigned char* p,
7422     const unsigned char* endp,
7423     int match) {
7424   state->method = match;
7425   return 0;
7426 }
7427 
llhttp__internal__c_is_equal_method(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7428 int llhttp__internal__c_is_equal_method(
7429     llhttp__internal_t* state,
7430     const unsigned char* p,
7431     const unsigned char* endp) {
7432   return state->method == 5;
7433 }
7434 
llhttp__internal__c_update_http_major(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7435 int llhttp__internal__c_update_http_major(
7436     llhttp__internal_t* state,
7437     const unsigned char* p,
7438     const unsigned char* endp) {
7439   state->http_major = 0;
7440   return 0;
7441 }
7442 
llhttp__internal__c_update_http_minor(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7443 int llhttp__internal__c_update_http_minor(
7444     llhttp__internal_t* state,
7445     const unsigned char* p,
7446     const unsigned char* endp) {
7447   state->http_minor = 9;
7448   return 0;
7449 }
7450 
llhttp__internal__c_test_flags(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7451 int llhttp__internal__c_test_flags(
7452     llhttp__internal_t* state,
7453     const unsigned char* p,
7454     const unsigned char* endp) {
7455   return (state->flags & 128) == 128;
7456 }
7457 
7458 int llhttp__on_chunk_complete(
7459     llhttp__internal_t* s, const unsigned char* p,
7460     const unsigned char* endp);
7461 
7462 int llhttp__on_message_complete(
7463     llhttp__internal_t* s, const unsigned char* p,
7464     const unsigned char* endp);
7465 
llhttp__internal__c_is_equal_upgrade(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7466 int llhttp__internal__c_is_equal_upgrade(
7467     llhttp__internal_t* state,
7468     const unsigned char* p,
7469     const unsigned char* endp) {
7470   return state->upgrade == 1;
7471 }
7472 
7473 int llhttp__after_message_complete(
7474     llhttp__internal_t* s, const unsigned char* p,
7475     const unsigned char* endp);
7476 
llhttp__internal__c_update_finish_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7477 int llhttp__internal__c_update_finish_1(
7478     llhttp__internal_t* state,
7479     const unsigned char* p,
7480     const unsigned char* endp) {
7481   state->finish = 0;
7482   return 0;
7483 }
7484 
llhttp__internal__c_test_flags_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7485 int llhttp__internal__c_test_flags_1(
7486     llhttp__internal_t* state,
7487     const unsigned char* p,
7488     const unsigned char* endp) {
7489   return (state->flags & 544) == 544;
7490 }
7491 
llhttp__internal__c_test_flags_2(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7492 int llhttp__internal__c_test_flags_2(
7493     llhttp__internal_t* state,
7494     const unsigned char* p,
7495     const unsigned char* endp) {
7496   return (state->flags & 256) == 256;
7497 }
7498 
llhttp__internal__c_test_flags_3(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7499 int llhttp__internal__c_test_flags_3(
7500     llhttp__internal_t* state,
7501     const unsigned char* p,
7502     const unsigned char* endp) {
7503   return (state->flags & 40) == 40;
7504 }
7505 
7506 int llhttp__before_headers_complete(
7507     llhttp__internal_t* s, const unsigned char* p,
7508     const unsigned char* endp);
7509 
7510 int llhttp__on_headers_complete(
7511     llhttp__internal_t* s, const unsigned char* p,
7512     const unsigned char* endp);
7513 
7514 int llhttp__after_headers_complete(
7515     llhttp__internal_t* s, const unsigned char* p,
7516     const unsigned char* endp);
7517 
llhttp__internal__c_update_content_length(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7518 int llhttp__internal__c_update_content_length(
7519     llhttp__internal_t* state,
7520     const unsigned char* p,
7521     const unsigned char* endp) {
7522   state->content_length = 0;
7523   return 0;
7524 }
7525 
llhttp__internal__c_mul_add_content_length(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)7526 int llhttp__internal__c_mul_add_content_length(
7527     llhttp__internal_t* state,
7528     const unsigned char* p,
7529     const unsigned char* endp,
7530     int match) {
7531   /* Multiplication overflow */
7532   if (state->content_length > 0xffffffffffffffffULL / 16) {
7533     return 1;
7534   }
7535 
7536   state->content_length *= 16;
7537 
7538   /* Addition overflow */
7539   if (match >= 0) {
7540     if (state->content_length > 0xffffffffffffffffULL - match) {
7541       return 1;
7542     }
7543   } else {
7544     if (state->content_length < 0ULL - match) {
7545       return 1;
7546     }
7547   }
7548   state->content_length += match;
7549   return 0;
7550 }
7551 
7552 int llhttp__on_chunk_header(
7553     llhttp__internal_t* s, const unsigned char* p,
7554     const unsigned char* endp);
7555 
llhttp__internal__c_is_equal_content_length(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7556 int llhttp__internal__c_is_equal_content_length(
7557     llhttp__internal_t* state,
7558     const unsigned char* p,
7559     const unsigned char* endp) {
7560   return state->content_length == 0;
7561 }
7562 
llhttp__internal__c_or_flags(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7563 int llhttp__internal__c_or_flags(
7564     llhttp__internal_t* state,
7565     const unsigned char* p,
7566     const unsigned char* endp) {
7567   state->flags |= 128;
7568   return 0;
7569 }
7570 
llhttp__internal__c_update_finish_2(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7571 int llhttp__internal__c_update_finish_2(
7572     llhttp__internal_t* state,
7573     const unsigned char* p,
7574     const unsigned char* endp) {
7575   state->finish = 1;
7576   return 0;
7577 }
7578 
llhttp__internal__c_or_flags_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7579 int llhttp__internal__c_or_flags_1(
7580     llhttp__internal_t* state,
7581     const unsigned char* p,
7582     const unsigned char* endp) {
7583   state->flags |= 64;
7584   return 0;
7585 }
7586 
llhttp__internal__c_update_upgrade(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7587 int llhttp__internal__c_update_upgrade(
7588     llhttp__internal_t* state,
7589     const unsigned char* p,
7590     const unsigned char* endp) {
7591   state->upgrade = 1;
7592   return 0;
7593 }
7594 
llhttp__internal__c_store_header_state(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)7595 int llhttp__internal__c_store_header_state(
7596     llhttp__internal_t* state,
7597     const unsigned char* p,
7598     const unsigned char* endp,
7599     int match) {
7600   state->header_state = match;
7601   return 0;
7602 }
7603 
llhttp__internal__c_load_header_state(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7604 int llhttp__internal__c_load_header_state(
7605     llhttp__internal_t* state,
7606     const unsigned char* p,
7607     const unsigned char* endp) {
7608   return state->header_state;
7609 }
7610 
llhttp__internal__c_or_flags_3(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7611 int llhttp__internal__c_or_flags_3(
7612     llhttp__internal_t* state,
7613     const unsigned char* p,
7614     const unsigned char* endp) {
7615   state->flags |= 1;
7616   return 0;
7617 }
7618 
llhttp__internal__c_update_header_state(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7619 int llhttp__internal__c_update_header_state(
7620     llhttp__internal_t* state,
7621     const unsigned char* p,
7622     const unsigned char* endp) {
7623   state->header_state = 1;
7624   return 0;
7625 }
7626 
llhttp__internal__c_or_flags_4(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7627 int llhttp__internal__c_or_flags_4(
7628     llhttp__internal_t* state,
7629     const unsigned char* p,
7630     const unsigned char* endp) {
7631   state->flags |= 2;
7632   return 0;
7633 }
7634 
llhttp__internal__c_or_flags_5(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7635 int llhttp__internal__c_or_flags_5(
7636     llhttp__internal_t* state,
7637     const unsigned char* p,
7638     const unsigned char* endp) {
7639   state->flags |= 4;
7640   return 0;
7641 }
7642 
llhttp__internal__c_or_flags_6(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7643 int llhttp__internal__c_or_flags_6(
7644     llhttp__internal_t* state,
7645     const unsigned char* p,
7646     const unsigned char* endp) {
7647   state->flags |= 8;
7648   return 0;
7649 }
7650 
llhttp__internal__c_update_header_state_2(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7651 int llhttp__internal__c_update_header_state_2(
7652     llhttp__internal_t* state,
7653     const unsigned char* p,
7654     const unsigned char* endp) {
7655   state->header_state = 6;
7656   return 0;
7657 }
7658 
llhttp__internal__c_update_header_state_4(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7659 int llhttp__internal__c_update_header_state_4(
7660     llhttp__internal_t* state,
7661     const unsigned char* p,
7662     const unsigned char* endp) {
7663   state->header_state = 0;
7664   return 0;
7665 }
7666 
llhttp__internal__c_update_header_state_5(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7667 int llhttp__internal__c_update_header_state_5(
7668     llhttp__internal_t* state,
7669     const unsigned char* p,
7670     const unsigned char* endp) {
7671   state->header_state = 5;
7672   return 0;
7673 }
7674 
llhttp__internal__c_update_header_state_6(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7675 int llhttp__internal__c_update_header_state_6(
7676     llhttp__internal_t* state,
7677     const unsigned char* p,
7678     const unsigned char* endp) {
7679   state->header_state = 7;
7680   return 0;
7681 }
7682 
llhttp__internal__c_test_flags_6(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7683 int llhttp__internal__c_test_flags_6(
7684     llhttp__internal_t* state,
7685     const unsigned char* p,
7686     const unsigned char* endp) {
7687   return (state->flags & 32) == 32;
7688 }
7689 
llhttp__internal__c_mul_add_content_length_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)7690 int llhttp__internal__c_mul_add_content_length_1(
7691     llhttp__internal_t* state,
7692     const unsigned char* p,
7693     const unsigned char* endp,
7694     int match) {
7695   /* Multiplication overflow */
7696   if (state->content_length > 0xffffffffffffffffULL / 10) {
7697     return 1;
7698   }
7699 
7700   state->content_length *= 10;
7701 
7702   /* Addition overflow */
7703   if (match >= 0) {
7704     if (state->content_length > 0xffffffffffffffffULL - match) {
7705       return 1;
7706     }
7707   } else {
7708     if (state->content_length < 0ULL - match) {
7709       return 1;
7710     }
7711   }
7712   state->content_length += match;
7713   return 0;
7714 }
7715 
llhttp__internal__c_or_flags_15(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7716 int llhttp__internal__c_or_flags_15(
7717     llhttp__internal_t* state,
7718     const unsigned char* p,
7719     const unsigned char* endp) {
7720   state->flags |= 32;
7721   return 0;
7722 }
7723 
llhttp__internal__c_or_flags_16(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7724 int llhttp__internal__c_or_flags_16(
7725     llhttp__internal_t* state,
7726     const unsigned char* p,
7727     const unsigned char* endp) {
7728   state->flags |= 512;
7729   return 0;
7730 }
7731 
llhttp__internal__c_and_flags(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7732 int llhttp__internal__c_and_flags(
7733     llhttp__internal_t* state,
7734     const unsigned char* p,
7735     const unsigned char* endp) {
7736   state->flags &= -9;
7737   return 0;
7738 }
7739 
llhttp__internal__c_update_header_state_7(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7740 int llhttp__internal__c_update_header_state_7(
7741     llhttp__internal_t* state,
7742     const unsigned char* p,
7743     const unsigned char* endp) {
7744   state->header_state = 8;
7745   return 0;
7746 }
7747 
llhttp__internal__c_or_flags_17(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7748 int llhttp__internal__c_or_flags_17(
7749     llhttp__internal_t* state,
7750     const unsigned char* p,
7751     const unsigned char* endp) {
7752   state->flags |= 16;
7753   return 0;
7754 }
7755 
llhttp__internal__c_store_http_major(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)7756 int llhttp__internal__c_store_http_major(
7757     llhttp__internal_t* state,
7758     const unsigned char* p,
7759     const unsigned char* endp,
7760     int match) {
7761   state->http_major = match;
7762   return 0;
7763 }
7764 
llhttp__internal__c_store_http_minor(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)7765 int llhttp__internal__c_store_http_minor(
7766     llhttp__internal_t* state,
7767     const unsigned char* p,
7768     const unsigned char* endp,
7769     int match) {
7770   state->http_minor = match;
7771   return 0;
7772 }
7773 
llhttp__internal__c_is_equal_method_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7774 int llhttp__internal__c_is_equal_method_1(
7775     llhttp__internal_t* state,
7776     const unsigned char* p,
7777     const unsigned char* endp) {
7778   return state->method == 33;
7779 }
7780 
llhttp__internal__c_update_status_code(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7781 int llhttp__internal__c_update_status_code(
7782     llhttp__internal_t* state,
7783     const unsigned char* p,
7784     const unsigned char* endp) {
7785   state->status_code = 0;
7786   return 0;
7787 }
7788 
llhttp__internal__c_mul_add_status_code(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)7789 int llhttp__internal__c_mul_add_status_code(
7790     llhttp__internal_t* state,
7791     const unsigned char* p,
7792     const unsigned char* endp,
7793     int match) {
7794   /* Multiplication overflow */
7795   if (state->status_code > 0xffff / 10) {
7796     return 1;
7797   }
7798 
7799   state->status_code *= 10;
7800 
7801   /* Addition overflow */
7802   if (match >= 0) {
7803     if (state->status_code > 0xffff - match) {
7804       return 1;
7805     }
7806   } else {
7807     if (state->status_code < 0 - match) {
7808       return 1;
7809     }
7810   }
7811   state->status_code += match;
7812 
7813   /* Enforce maximum */
7814   if (state->status_code > 999) {
7815     return 1;
7816   }
7817   return 0;
7818 }
7819 
llhttp__internal__c_update_type(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7820 int llhttp__internal__c_update_type(
7821     llhttp__internal_t* state,
7822     const unsigned char* p,
7823     const unsigned char* endp) {
7824   state->type = 1;
7825   return 0;
7826 }
7827 
llhttp__internal__c_update_type_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7828 int llhttp__internal__c_update_type_1(
7829     llhttp__internal_t* state,
7830     const unsigned char* p,
7831     const unsigned char* endp) {
7832   state->type = 2;
7833   return 0;
7834 }
7835 
llhttp__internal_init(llhttp__internal_t * state)7836 int llhttp__internal_init(llhttp__internal_t* state) {
7837   memset(state, 0, sizeof(*state));
7838   state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_start;
7839   return 0;
7840 }
7841 
llhttp__internal__run(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7842 static llparse_state_t llhttp__internal__run(
7843     llhttp__internal_t* state,
7844     const unsigned char* p,
7845     const unsigned char* endp) {
7846   int match;
7847   switch ((llparse_state_t) (intptr_t) state->_current) {
7848     case s_n_llhttp__internal__n_invoke_llhttp__after_message_complete:
7849     s_n_llhttp__internal__n_invoke_llhttp__after_message_complete: {
7850       switch (llhttp__after_message_complete(state, p, endp)) {
7851         default:
7852           goto s_n_llhttp__internal__n_invoke_update_finish_1;
7853       }
7854       /* UNREACHABLE */;
7855       abort();
7856     }
7857     case s_n_llhttp__internal__n_pause_1:
7858     s_n_llhttp__internal__n_pause_1: {
7859       state->error = 0x16;
7860       state->reason = "Pause on CONNECT/Upgrade";
7861       state->error_pos = (const char*) p;
7862       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
7863       return s_error;
7864       /* UNREACHABLE */;
7865       abort();
7866     }
7867     case s_n_llhttp__internal__n_invoke_is_equal_upgrade:
7868     s_n_llhttp__internal__n_invoke_is_equal_upgrade: {
7869       switch (llhttp__internal__c_is_equal_upgrade(state, p, endp)) {
7870         case 0:
7871           goto s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
7872         default:
7873           goto s_n_llhttp__internal__n_pause_1;
7874       }
7875       /* UNREACHABLE */;
7876       abort();
7877     }
7878     case s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2:
7879     s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2: {
7880       switch (llhttp__on_message_complete(state, p, endp)) {
7881         case 0:
7882           goto s_n_llhttp__internal__n_invoke_is_equal_upgrade;
7883         case 21:
7884           goto s_n_llhttp__internal__n_pause_5;
7885         default:
7886           goto s_n_llhttp__internal__n_error_10;
7887       }
7888       /* UNREACHABLE */;
7889       abort();
7890     }
7891     case s_n_llhttp__internal__n_chunk_data_almost_done_skip:
7892     s_n_llhttp__internal__n_chunk_data_almost_done_skip: {
7893       if (p == endp) {
7894         return s_n_llhttp__internal__n_chunk_data_almost_done_skip;
7895       }
7896       p++;
7897       goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete;
7898       /* UNREACHABLE */;
7899       abort();
7900     }
7901     case s_n_llhttp__internal__n_chunk_data_almost_done:
7902     s_n_llhttp__internal__n_chunk_data_almost_done: {
7903       if (p == endp) {
7904         return s_n_llhttp__internal__n_chunk_data_almost_done;
7905       }
7906       p++;
7907       goto s_n_llhttp__internal__n_chunk_data_almost_done_skip;
7908       /* UNREACHABLE */;
7909       abort();
7910     }
7911     case s_n_llhttp__internal__n_consume_content_length:
7912     s_n_llhttp__internal__n_consume_content_length: {
7913       size_t avail;
7914       uint64_t need;
7915 
7916       avail = endp - p;
7917       need = state->content_length;
7918       if (avail >= need) {
7919         p += need;
7920         state->content_length = 0;
7921         goto s_n_llhttp__internal__n_span_end_llhttp__on_body;
7922       }
7923 
7924       state->content_length -= avail;
7925       return s_n_llhttp__internal__n_consume_content_length;
7926       /* UNREACHABLE */;
7927       abort();
7928     }
7929     case s_n_llhttp__internal__n_span_start_llhttp__on_body:
7930     s_n_llhttp__internal__n_span_start_llhttp__on_body: {
7931       if (p == endp) {
7932         return s_n_llhttp__internal__n_span_start_llhttp__on_body;
7933       }
7934       state->_span_pos0 = (void*) p;
7935       state->_span_cb0 = llhttp__on_body;
7936       goto s_n_llhttp__internal__n_consume_content_length;
7937       /* UNREACHABLE */;
7938       abort();
7939     }
7940     case s_n_llhttp__internal__n_invoke_is_equal_content_length:
7941     s_n_llhttp__internal__n_invoke_is_equal_content_length: {
7942       switch (llhttp__internal__c_is_equal_content_length(state, p, endp)) {
7943         case 0:
7944           goto s_n_llhttp__internal__n_span_start_llhttp__on_body;
7945         default:
7946           goto s_n_llhttp__internal__n_invoke_or_flags;
7947       }
7948       /* UNREACHABLE */;
7949       abort();
7950     }
7951     case s_n_llhttp__internal__n_chunk_size_almost_done:
7952     s_n_llhttp__internal__n_chunk_size_almost_done: {
7953       if (p == endp) {
7954         return s_n_llhttp__internal__n_chunk_size_almost_done;
7955       }
7956       p++;
7957       goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_header;
7958       /* UNREACHABLE */;
7959       abort();
7960     }
7961     case s_n_llhttp__internal__n_chunk_parameters:
7962     s_n_llhttp__internal__n_chunk_parameters: {
7963       static uint8_t lookup_table[] = {
7964         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0,
7965         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7966         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
7967         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
7968         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
7969         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
7970         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
7971         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
7972         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
7973         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
7974         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
7975         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
7976         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
7977         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
7978         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
7979         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
7980       };
7981       if (p == endp) {
7982         return s_n_llhttp__internal__n_chunk_parameters;
7983       }
7984       switch (lookup_table[(uint8_t) *p]) {
7985         case 1: {
7986           p++;
7987           goto s_n_llhttp__internal__n_chunk_parameters;
7988         }
7989         case 2: {
7990           p++;
7991           goto s_n_llhttp__internal__n_chunk_size_almost_done;
7992         }
7993         default: {
7994           goto s_n_llhttp__internal__n_error_6;
7995         }
7996       }
7997       /* UNREACHABLE */;
7998       abort();
7999     }
8000     case s_n_llhttp__internal__n_chunk_size_otherwise:
8001     s_n_llhttp__internal__n_chunk_size_otherwise: {
8002       if (p == endp) {
8003         return s_n_llhttp__internal__n_chunk_size_otherwise;
8004       }
8005       switch (*p) {
8006         case 13: {
8007           p++;
8008           goto s_n_llhttp__internal__n_chunk_size_almost_done;
8009         }
8010         case ' ': {
8011           p++;
8012           goto s_n_llhttp__internal__n_chunk_parameters;
8013         }
8014         case ';': {
8015           p++;
8016           goto s_n_llhttp__internal__n_chunk_parameters;
8017         }
8018         default: {
8019           goto s_n_llhttp__internal__n_error_7;
8020         }
8021       }
8022       /* UNREACHABLE */;
8023       abort();
8024     }
8025     case s_n_llhttp__internal__n_chunk_size:
8026     s_n_llhttp__internal__n_chunk_size: {
8027       if (p == endp) {
8028         return s_n_llhttp__internal__n_chunk_size;
8029       }
8030       switch (*p) {
8031         case '0': {
8032           p++;
8033           match = 0;
8034           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8035         }
8036         case '1': {
8037           p++;
8038           match = 1;
8039           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8040         }
8041         case '2': {
8042           p++;
8043           match = 2;
8044           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8045         }
8046         case '3': {
8047           p++;
8048           match = 3;
8049           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8050         }
8051         case '4': {
8052           p++;
8053           match = 4;
8054           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8055         }
8056         case '5': {
8057           p++;
8058           match = 5;
8059           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8060         }
8061         case '6': {
8062           p++;
8063           match = 6;
8064           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8065         }
8066         case '7': {
8067           p++;
8068           match = 7;
8069           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8070         }
8071         case '8': {
8072           p++;
8073           match = 8;
8074           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8075         }
8076         case '9': {
8077           p++;
8078           match = 9;
8079           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8080         }
8081         case 'A': {
8082           p++;
8083           match = 10;
8084           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8085         }
8086         case 'B': {
8087           p++;
8088           match = 11;
8089           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8090         }
8091         case 'C': {
8092           p++;
8093           match = 12;
8094           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8095         }
8096         case 'D': {
8097           p++;
8098           match = 13;
8099           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8100         }
8101         case 'E': {
8102           p++;
8103           match = 14;
8104           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8105         }
8106         case 'F': {
8107           p++;
8108           match = 15;
8109           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8110         }
8111         case 'a': {
8112           p++;
8113           match = 10;
8114           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8115         }
8116         case 'b': {
8117           p++;
8118           match = 11;
8119           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8120         }
8121         case 'c': {
8122           p++;
8123           match = 12;
8124           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8125         }
8126         case 'd': {
8127           p++;
8128           match = 13;
8129           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8130         }
8131         case 'e': {
8132           p++;
8133           match = 14;
8134           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8135         }
8136         case 'f': {
8137           p++;
8138           match = 15;
8139           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8140         }
8141         default: {
8142           goto s_n_llhttp__internal__n_chunk_size_otherwise;
8143         }
8144       }
8145       /* UNREACHABLE */;
8146       abort();
8147     }
8148     case s_n_llhttp__internal__n_chunk_size_digit:
8149     s_n_llhttp__internal__n_chunk_size_digit: {
8150       if (p == endp) {
8151         return s_n_llhttp__internal__n_chunk_size_digit;
8152       }
8153       switch (*p) {
8154         case '0': {
8155           p++;
8156           match = 0;
8157           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8158         }
8159         case '1': {
8160           p++;
8161           match = 1;
8162           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8163         }
8164         case '2': {
8165           p++;
8166           match = 2;
8167           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8168         }
8169         case '3': {
8170           p++;
8171           match = 3;
8172           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8173         }
8174         case '4': {
8175           p++;
8176           match = 4;
8177           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8178         }
8179         case '5': {
8180           p++;
8181           match = 5;
8182           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8183         }
8184         case '6': {
8185           p++;
8186           match = 6;
8187           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8188         }
8189         case '7': {
8190           p++;
8191           match = 7;
8192           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8193         }
8194         case '8': {
8195           p++;
8196           match = 8;
8197           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8198         }
8199         case '9': {
8200           p++;
8201           match = 9;
8202           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8203         }
8204         case 'A': {
8205           p++;
8206           match = 10;
8207           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8208         }
8209         case 'B': {
8210           p++;
8211           match = 11;
8212           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8213         }
8214         case 'C': {
8215           p++;
8216           match = 12;
8217           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8218         }
8219         case 'D': {
8220           p++;
8221           match = 13;
8222           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8223         }
8224         case 'E': {
8225           p++;
8226           match = 14;
8227           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8228         }
8229         case 'F': {
8230           p++;
8231           match = 15;
8232           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8233         }
8234         case 'a': {
8235           p++;
8236           match = 10;
8237           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8238         }
8239         case 'b': {
8240           p++;
8241           match = 11;
8242           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8243         }
8244         case 'c': {
8245           p++;
8246           match = 12;
8247           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8248         }
8249         case 'd': {
8250           p++;
8251           match = 13;
8252           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8253         }
8254         case 'e': {
8255           p++;
8256           match = 14;
8257           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8258         }
8259         case 'f': {
8260           p++;
8261           match = 15;
8262           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8263         }
8264         default: {
8265           goto s_n_llhttp__internal__n_error_9;
8266         }
8267       }
8268       /* UNREACHABLE */;
8269       abort();
8270     }
8271     case s_n_llhttp__internal__n_invoke_update_content_length:
8272     s_n_llhttp__internal__n_invoke_update_content_length: {
8273       switch (llhttp__internal__c_update_content_length(state, p, endp)) {
8274         default:
8275           goto s_n_llhttp__internal__n_chunk_size_digit;
8276       }
8277       /* UNREACHABLE */;
8278       abort();
8279     }
8280     case s_n_llhttp__internal__n_consume_content_length_1:
8281     s_n_llhttp__internal__n_consume_content_length_1: {
8282       size_t avail;
8283       uint64_t need;
8284 
8285       avail = endp - p;
8286       need = state->content_length;
8287       if (avail >= need) {
8288         p += need;
8289         state->content_length = 0;
8290         goto s_n_llhttp__internal__n_span_end_llhttp__on_body_1;
8291       }
8292 
8293       state->content_length -= avail;
8294       return s_n_llhttp__internal__n_consume_content_length_1;
8295       /* UNREACHABLE */;
8296       abort();
8297     }
8298     case s_n_llhttp__internal__n_span_start_llhttp__on_body_1:
8299     s_n_llhttp__internal__n_span_start_llhttp__on_body_1: {
8300       if (p == endp) {
8301         return s_n_llhttp__internal__n_span_start_llhttp__on_body_1;
8302       }
8303       state->_span_pos0 = (void*) p;
8304       state->_span_cb0 = llhttp__on_body;
8305       goto s_n_llhttp__internal__n_consume_content_length_1;
8306       /* UNREACHABLE */;
8307       abort();
8308     }
8309     case s_n_llhttp__internal__n_eof:
8310     s_n_llhttp__internal__n_eof: {
8311       if (p == endp) {
8312         return s_n_llhttp__internal__n_eof;
8313       }
8314       p++;
8315       goto s_n_llhttp__internal__n_eof;
8316       /* UNREACHABLE */;
8317       abort();
8318     }
8319     case s_n_llhttp__internal__n_span_start_llhttp__on_body_2:
8320     s_n_llhttp__internal__n_span_start_llhttp__on_body_2: {
8321       if (p == endp) {
8322         return s_n_llhttp__internal__n_span_start_llhttp__on_body_2;
8323       }
8324       state->_span_pos0 = (void*) p;
8325       state->_span_cb0 = llhttp__on_body;
8326       goto s_n_llhttp__internal__n_eof;
8327       /* UNREACHABLE */;
8328       abort();
8329     }
8330     case s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete:
8331     s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete: {
8332       switch (llhttp__after_headers_complete(state, p, endp)) {
8333         case 1:
8334           goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_1;
8335         case 2:
8336           goto s_n_llhttp__internal__n_invoke_update_content_length;
8337         case 3:
8338           goto s_n_llhttp__internal__n_span_start_llhttp__on_body_1;
8339         case 4:
8340           goto s_n_llhttp__internal__n_invoke_update_finish_2;
8341         case 5:
8342           goto s_n_llhttp__internal__n_error_11;
8343         default:
8344           goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete;
8345       }
8346       /* UNREACHABLE */;
8347       abort();
8348     }
8349     case s_n_llhttp__internal__n_headers_almost_done:
8350     s_n_llhttp__internal__n_headers_almost_done: {
8351       if (p == endp) {
8352         return s_n_llhttp__internal__n_headers_almost_done;
8353       }
8354       p++;
8355       goto s_n_llhttp__internal__n_invoke_test_flags;
8356       /* UNREACHABLE */;
8357       abort();
8358     }
8359     case s_n_llhttp__internal__n_header_field_colon_discard_ws:
8360     s_n_llhttp__internal__n_header_field_colon_discard_ws: {
8361       if (p == endp) {
8362         return s_n_llhttp__internal__n_header_field_colon_discard_ws;
8363       }
8364       switch (*p) {
8365         case ' ': {
8366           p++;
8367           goto s_n_llhttp__internal__n_header_field_colon_discard_ws;
8368         }
8369         default: {
8370           goto s_n_llhttp__internal__n_header_field_colon;
8371         }
8372       }
8373       /* UNREACHABLE */;
8374       abort();
8375     }
8376     case s_n_llhttp__internal__n_error_15:
8377     s_n_llhttp__internal__n_error_15: {
8378       state->error = 0xa;
8379       state->reason = "Invalid header field char";
8380       state->error_pos = (const char*) p;
8381       state->_current = (void*) (intptr_t) s_error;
8382       return s_error;
8383       /* UNREACHABLE */;
8384       abort();
8385     }
8386     case s_n_llhttp__internal__n_span_start_llhttp__on_header_value:
8387     s_n_llhttp__internal__n_span_start_llhttp__on_header_value: {
8388       if (p == endp) {
8389         return s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
8390       }
8391       state->_span_pos0 = (void*) p;
8392       state->_span_cb0 = llhttp__on_header_value;
8393       goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value;
8394       /* UNREACHABLE */;
8395       abort();
8396     }
8397     case s_n_llhttp__internal__n_header_value_discard_lws:
8398     s_n_llhttp__internal__n_header_value_discard_lws: {
8399       if (p == endp) {
8400         return s_n_llhttp__internal__n_header_value_discard_lws;
8401       }
8402       switch (*p) {
8403         case 9: {
8404           p++;
8405           goto s_n_llhttp__internal__n_header_value_discard_ws;
8406         }
8407         case ' ': {
8408           p++;
8409           goto s_n_llhttp__internal__n_header_value_discard_ws;
8410         }
8411         default: {
8412           goto s_n_llhttp__internal__n_invoke_load_header_state;
8413         }
8414       }
8415       /* UNREACHABLE */;
8416       abort();
8417     }
8418     case s_n_llhttp__internal__n_header_value_discard_ws_almost_done:
8419     s_n_llhttp__internal__n_header_value_discard_ws_almost_done: {
8420       if (p == endp) {
8421         return s_n_llhttp__internal__n_header_value_discard_ws_almost_done;
8422       }
8423       p++;
8424       goto s_n_llhttp__internal__n_header_value_discard_lws;
8425       /* UNREACHABLE */;
8426       abort();
8427     }
8428     case s_n_llhttp__internal__n_header_value_lws:
8429     s_n_llhttp__internal__n_header_value_lws: {
8430       if (p == endp) {
8431         return s_n_llhttp__internal__n_header_value_lws;
8432       }
8433       switch (*p) {
8434         case 9: {
8435           goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
8436         }
8437         case ' ': {
8438           goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
8439         }
8440         default: {
8441           goto s_n_llhttp__internal__n_invoke_load_header_state_3;
8442         }
8443       }
8444       /* UNREACHABLE */;
8445       abort();
8446     }
8447     case s_n_llhttp__internal__n_header_value_almost_done:
8448     s_n_llhttp__internal__n_header_value_almost_done: {
8449       if (p == endp) {
8450         return s_n_llhttp__internal__n_header_value_almost_done;
8451       }
8452       switch (*p) {
8453         case 10: {
8454           p++;
8455           goto s_n_llhttp__internal__n_header_value_lws;
8456         }
8457         default: {
8458           goto s_n_llhttp__internal__n_error_17;
8459         }
8460       }
8461       /* UNREACHABLE */;
8462       abort();
8463     }
8464     case s_n_llhttp__internal__n_header_value_lenient:
8465     s_n_llhttp__internal__n_header_value_lenient: {
8466       if (p == endp) {
8467         return s_n_llhttp__internal__n_header_value_lenient;
8468       }
8469       switch (*p) {
8470         case 10: {
8471           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1;
8472         }
8473         case 13: {
8474           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3;
8475         }
8476         default: {
8477           p++;
8478           goto s_n_llhttp__internal__n_header_value_lenient;
8479         }
8480       }
8481       /* UNREACHABLE */;
8482       abort();
8483     }
8484     case s_n_llhttp__internal__n_header_value_otherwise:
8485     s_n_llhttp__internal__n_header_value_otherwise: {
8486       if (p == endp) {
8487         return s_n_llhttp__internal__n_header_value_otherwise;
8488       }
8489       switch (*p) {
8490         case 10: {
8491           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1;
8492         }
8493         case 13: {
8494           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_2;
8495         }
8496         default: {
8497           goto s_n_llhttp__internal__n_invoke_test_flags_5;
8498         }
8499       }
8500       /* UNREACHABLE */;
8501       abort();
8502     }
8503     case s_n_llhttp__internal__n_header_value_connection_token:
8504     s_n_llhttp__internal__n_header_value_connection_token: {
8505       static uint8_t lookup_table[] = {
8506         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
8507         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8508         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
8509         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8510         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8511         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8512         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8513         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
8514         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8515         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8516         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8517         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8518         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8519         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8520         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8521         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
8522       };
8523       if (p == endp) {
8524         return s_n_llhttp__internal__n_header_value_connection_token;
8525       }
8526       switch (lookup_table[(uint8_t) *p]) {
8527         case 1: {
8528           p++;
8529           goto s_n_llhttp__internal__n_header_value_connection_token;
8530         }
8531         case 2: {
8532           p++;
8533           goto s_n_llhttp__internal__n_header_value_connection;
8534         }
8535         default: {
8536           goto s_n_llhttp__internal__n_header_value_otherwise;
8537         }
8538       }
8539       /* UNREACHABLE */;
8540       abort();
8541     }
8542     case s_n_llhttp__internal__n_header_value_connection_ws:
8543     s_n_llhttp__internal__n_header_value_connection_ws: {
8544       if (p == endp) {
8545         return s_n_llhttp__internal__n_header_value_connection_ws;
8546       }
8547       switch (*p) {
8548         case 10: {
8549           goto s_n_llhttp__internal__n_header_value_otherwise;
8550         }
8551         case 13: {
8552           goto s_n_llhttp__internal__n_header_value_otherwise;
8553         }
8554         case ' ': {
8555           p++;
8556           goto s_n_llhttp__internal__n_header_value_connection_ws;
8557         }
8558         case ',': {
8559           p++;
8560           goto s_n_llhttp__internal__n_invoke_load_header_state_4;
8561         }
8562         default: {
8563           goto s_n_llhttp__internal__n_invoke_update_header_state_4;
8564         }
8565       }
8566       /* UNREACHABLE */;
8567       abort();
8568     }
8569     case s_n_llhttp__internal__n_header_value_connection_1:
8570     s_n_llhttp__internal__n_header_value_connection_1: {
8571       llparse_match_t match_seq;
8572 
8573       if (p == endp) {
8574         return s_n_llhttp__internal__n_header_value_connection_1;
8575       }
8576       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob4, 4);
8577       p = match_seq.current;
8578       switch (match_seq.status) {
8579         case kMatchComplete: {
8580           p++;
8581           goto s_n_llhttp__internal__n_invoke_update_header_state_2;
8582         }
8583         case kMatchPause: {
8584           return s_n_llhttp__internal__n_header_value_connection_1;
8585         }
8586         case kMatchMismatch: {
8587           goto s_n_llhttp__internal__n_header_value_connection_token;
8588         }
8589       }
8590       /* UNREACHABLE */;
8591       abort();
8592     }
8593     case s_n_llhttp__internal__n_header_value_connection_2:
8594     s_n_llhttp__internal__n_header_value_connection_2: {
8595       llparse_match_t match_seq;
8596 
8597       if (p == endp) {
8598         return s_n_llhttp__internal__n_header_value_connection_2;
8599       }
8600       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob5, 9);
8601       p = match_seq.current;
8602       switch (match_seq.status) {
8603         case kMatchComplete: {
8604           p++;
8605           goto s_n_llhttp__internal__n_invoke_update_header_state_5;
8606         }
8607         case kMatchPause: {
8608           return s_n_llhttp__internal__n_header_value_connection_2;
8609         }
8610         case kMatchMismatch: {
8611           goto s_n_llhttp__internal__n_header_value_connection_token;
8612         }
8613       }
8614       /* UNREACHABLE */;
8615       abort();
8616     }
8617     case s_n_llhttp__internal__n_header_value_connection_3:
8618     s_n_llhttp__internal__n_header_value_connection_3: {
8619       llparse_match_t match_seq;
8620 
8621       if (p == endp) {
8622         return s_n_llhttp__internal__n_header_value_connection_3;
8623       }
8624       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob6, 6);
8625       p = match_seq.current;
8626       switch (match_seq.status) {
8627         case kMatchComplete: {
8628           p++;
8629           goto s_n_llhttp__internal__n_invoke_update_header_state_6;
8630         }
8631         case kMatchPause: {
8632           return s_n_llhttp__internal__n_header_value_connection_3;
8633         }
8634         case kMatchMismatch: {
8635           goto s_n_llhttp__internal__n_header_value_connection_token;
8636         }
8637       }
8638       /* UNREACHABLE */;
8639       abort();
8640     }
8641     case s_n_llhttp__internal__n_header_value_connection:
8642     s_n_llhttp__internal__n_header_value_connection: {
8643       if (p == endp) {
8644         return s_n_llhttp__internal__n_header_value_connection;
8645       }
8646       switch (((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p))) {
8647         case 9: {
8648           p++;
8649           goto s_n_llhttp__internal__n_header_value_connection;
8650         }
8651         case ' ': {
8652           p++;
8653           goto s_n_llhttp__internal__n_header_value_connection;
8654         }
8655         case 'c': {
8656           p++;
8657           goto s_n_llhttp__internal__n_header_value_connection_1;
8658         }
8659         case 'k': {
8660           p++;
8661           goto s_n_llhttp__internal__n_header_value_connection_2;
8662         }
8663         case 'u': {
8664           p++;
8665           goto s_n_llhttp__internal__n_header_value_connection_3;
8666         }
8667         default: {
8668           goto s_n_llhttp__internal__n_header_value_connection_token;
8669         }
8670       }
8671       /* UNREACHABLE */;
8672       abort();
8673     }
8674     case s_n_llhttp__internal__n_error_20:
8675     s_n_llhttp__internal__n_error_20: {
8676       state->error = 0xb;
8677       state->reason = "Content-Length overflow";
8678       state->error_pos = (const char*) p;
8679       state->_current = (void*) (intptr_t) s_error;
8680       return s_error;
8681       /* UNREACHABLE */;
8682       abort();
8683     }
8684     case s_n_llhttp__internal__n_error_21:
8685     s_n_llhttp__internal__n_error_21: {
8686       state->error = 0xb;
8687       state->reason = "Invalid character in Content-Length";
8688       state->error_pos = (const char*) p;
8689       state->_current = (void*) (intptr_t) s_error;
8690       return s_error;
8691       /* UNREACHABLE */;
8692       abort();
8693     }
8694     case s_n_llhttp__internal__n_header_value_content_length_ws:
8695     s_n_llhttp__internal__n_header_value_content_length_ws: {
8696       if (p == endp) {
8697         return s_n_llhttp__internal__n_header_value_content_length_ws;
8698       }
8699       switch (*p) {
8700         case 10: {
8701           goto s_n_llhttp__internal__n_invoke_or_flags_15;
8702         }
8703         case 13: {
8704           goto s_n_llhttp__internal__n_invoke_or_flags_15;
8705         }
8706         case ' ': {
8707           p++;
8708           goto s_n_llhttp__internal__n_header_value_content_length_ws;
8709         }
8710         default: {
8711           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_5;
8712         }
8713       }
8714       /* UNREACHABLE */;
8715       abort();
8716     }
8717     case s_n_llhttp__internal__n_header_value_content_length:
8718     s_n_llhttp__internal__n_header_value_content_length: {
8719       if (p == endp) {
8720         return s_n_llhttp__internal__n_header_value_content_length;
8721       }
8722       switch (*p) {
8723         case '0': {
8724           p++;
8725           match = 0;
8726           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8727         }
8728         case '1': {
8729           p++;
8730           match = 1;
8731           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8732         }
8733         case '2': {
8734           p++;
8735           match = 2;
8736           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8737         }
8738         case '3': {
8739           p++;
8740           match = 3;
8741           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8742         }
8743         case '4': {
8744           p++;
8745           match = 4;
8746           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8747         }
8748         case '5': {
8749           p++;
8750           match = 5;
8751           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8752         }
8753         case '6': {
8754           p++;
8755           match = 6;
8756           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8757         }
8758         case '7': {
8759           p++;
8760           match = 7;
8761           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8762         }
8763         case '8': {
8764           p++;
8765           match = 8;
8766           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8767         }
8768         case '9': {
8769           p++;
8770           match = 9;
8771           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8772         }
8773         default: {
8774           goto s_n_llhttp__internal__n_header_value_content_length_ws;
8775         }
8776       }
8777       /* UNREACHABLE */;
8778       abort();
8779     }
8780     case s_n_llhttp__internal__n_header_value_te_chunked_last:
8781     s_n_llhttp__internal__n_header_value_te_chunked_last: {
8782       if (p == endp) {
8783         return s_n_llhttp__internal__n_header_value_te_chunked_last;
8784       }
8785       switch (*p) {
8786         case 10: {
8787           goto s_n_llhttp__internal__n_invoke_update_header_state_7;
8788         }
8789         case 13: {
8790           goto s_n_llhttp__internal__n_invoke_update_header_state_7;
8791         }
8792         case ' ': {
8793           p++;
8794           goto s_n_llhttp__internal__n_header_value_te_chunked_last;
8795         }
8796         default: {
8797           goto s_n_llhttp__internal__n_header_value_te_chunked;
8798         }
8799       }
8800       /* UNREACHABLE */;
8801       abort();
8802     }
8803     case s_n_llhttp__internal__n_header_value_te_token_ows:
8804     s_n_llhttp__internal__n_header_value_te_token_ows: {
8805       if (p == endp) {
8806         return s_n_llhttp__internal__n_header_value_te_token_ows;
8807       }
8808       switch (*p) {
8809         case 9: {
8810           p++;
8811           goto s_n_llhttp__internal__n_header_value_te_token_ows;
8812         }
8813         case ' ': {
8814           p++;
8815           goto s_n_llhttp__internal__n_header_value_te_token_ows;
8816         }
8817         default: {
8818           goto s_n_llhttp__internal__n_header_value_te_chunked;
8819         }
8820       }
8821       /* UNREACHABLE */;
8822       abort();
8823     }
8824     case s_n_llhttp__internal__n_header_value:
8825     s_n_llhttp__internal__n_header_value: {
8826       static uint8_t lookup_table[] = {
8827         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
8828         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8829         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8830         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8831         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8832         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8833         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8834         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
8835         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8836         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8837         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8838         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8839         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8840         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8841         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8842         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
8843       };
8844       if (p == endp) {
8845         return s_n_llhttp__internal__n_header_value;
8846       }
8847       #ifdef __SSE4_2__
8848       if (endp - p >= 16) {
8849         __m128i ranges;
8850         __m128i input;
8851         int avail;
8852         int match_len;
8853 
8854         /* Load input */
8855         input = _mm_loadu_si128((__m128i const*) p);
8856         ranges = _mm_loadu_si128((__m128i const*) llparse_blob8);
8857 
8858         /* Find first character that does not match `ranges` */
8859         match_len = _mm_cmpestri(ranges, 6,
8860             input, 16,
8861             _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
8862               _SIDD_NEGATIVE_POLARITY);
8863 
8864         if (match_len != 0) {
8865           p += match_len;
8866           goto s_n_llhttp__internal__n_header_value;
8867         }
8868         goto s_n_llhttp__internal__n_header_value_otherwise;
8869       }
8870       #endif  /* __SSE4_2__ */
8871       switch (lookup_table[(uint8_t) *p]) {
8872         case 1: {
8873           p++;
8874           goto s_n_llhttp__internal__n_header_value;
8875         }
8876         default: {
8877           goto s_n_llhttp__internal__n_header_value_otherwise;
8878         }
8879       }
8880       /* UNREACHABLE */;
8881       abort();
8882     }
8883     case s_n_llhttp__internal__n_header_value_te_token:
8884     s_n_llhttp__internal__n_header_value_te_token: {
8885       static uint8_t lookup_table[] = {
8886         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
8887         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8888         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
8889         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8890         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8891         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8892         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8893         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
8894         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8895         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8896         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8897         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8898         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8899         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8900         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8901         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
8902       };
8903       if (p == endp) {
8904         return s_n_llhttp__internal__n_header_value_te_token;
8905       }
8906       switch (lookup_table[(uint8_t) *p]) {
8907         case 1: {
8908           p++;
8909           goto s_n_llhttp__internal__n_header_value_te_token;
8910         }
8911         case 2: {
8912           p++;
8913           goto s_n_llhttp__internal__n_header_value_te_token_ows;
8914         }
8915         default: {
8916           goto s_n_llhttp__internal__n_invoke_update_header_state_8;
8917         }
8918       }
8919       /* UNREACHABLE */;
8920       abort();
8921     }
8922     case s_n_llhttp__internal__n_header_value_te_chunked:
8923     s_n_llhttp__internal__n_header_value_te_chunked: {
8924       llparse_match_t match_seq;
8925 
8926       if (p == endp) {
8927         return s_n_llhttp__internal__n_header_value_te_chunked;
8928       }
8929       match_seq = llparse__match_sequence_to_lower_unsafe(state, p, endp, llparse_blob7, 7);
8930       p = match_seq.current;
8931       switch (match_seq.status) {
8932         case kMatchComplete: {
8933           p++;
8934           goto s_n_llhttp__internal__n_header_value_te_chunked_last;
8935         }
8936         case kMatchPause: {
8937           return s_n_llhttp__internal__n_header_value_te_chunked;
8938         }
8939         case kMatchMismatch: {
8940           goto s_n_llhttp__internal__n_header_value_te_token;
8941         }
8942       }
8943       /* UNREACHABLE */;
8944       abort();
8945     }
8946     case s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1:
8947     s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1: {
8948       if (p == endp) {
8949         return s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
8950       }
8951       state->_span_pos0 = (void*) p;
8952       state->_span_cb0 = llhttp__on_header_value;
8953       goto s_n_llhttp__internal__n_invoke_load_header_state_2;
8954       /* UNREACHABLE */;
8955       abort();
8956     }
8957     case s_n_llhttp__internal__n_header_value_discard_ws:
8958     s_n_llhttp__internal__n_header_value_discard_ws: {
8959       if (p == endp) {
8960         return s_n_llhttp__internal__n_header_value_discard_ws;
8961       }
8962       switch (*p) {
8963         case 9: {
8964           p++;
8965           goto s_n_llhttp__internal__n_header_value_discard_ws;
8966         }
8967         case 10: {
8968           p++;
8969           goto s_n_llhttp__internal__n_header_value_discard_lws;
8970         }
8971         case 13: {
8972           p++;
8973           goto s_n_llhttp__internal__n_header_value_discard_ws_almost_done;
8974         }
8975         case ' ': {
8976           p++;
8977           goto s_n_llhttp__internal__n_header_value_discard_ws;
8978         }
8979         default: {
8980           goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
8981         }
8982       }
8983       /* UNREACHABLE */;
8984       abort();
8985     }
8986     case s_n_llhttp__internal__n_header_field_general_otherwise:
8987     s_n_llhttp__internal__n_header_field_general_otherwise: {
8988       if (p == endp) {
8989         return s_n_llhttp__internal__n_header_field_general_otherwise;
8990       }
8991       switch (*p) {
8992         case ':': {
8993           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field_2;
8994         }
8995         default: {
8996           goto s_n_llhttp__internal__n_error_22;
8997         }
8998       }
8999       /* UNREACHABLE */;
9000       abort();
9001     }
9002     case s_n_llhttp__internal__n_header_field_general:
9003     s_n_llhttp__internal__n_header_field_general: {
9004       static uint8_t lookup_table[] = {
9005         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9006         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9007         1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0,
9008         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
9009         0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9010         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,
9011         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9012         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,
9013         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9014         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9015         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9016         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9017         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9018         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9019         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9020         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
9021       };
9022       if (p == endp) {
9023         return s_n_llhttp__internal__n_header_field_general;
9024       }
9025       #ifdef __SSE4_2__
9026       if (endp - p >= 16) {
9027         __m128i ranges;
9028         __m128i input;
9029         int avail;
9030         int match_len;
9031 
9032         /* Load input */
9033         input = _mm_loadu_si128((__m128i const*) p);
9034         ranges = _mm_loadu_si128((__m128i const*) llparse_blob9);
9035 
9036         /* Find first character that does not match `ranges` */
9037         match_len = _mm_cmpestri(ranges, 16,
9038             input, 16,
9039             _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
9040               _SIDD_NEGATIVE_POLARITY);
9041 
9042         if (match_len != 0) {
9043           p += match_len;
9044           goto s_n_llhttp__internal__n_header_field_general;
9045         }
9046         ranges = _mm_loadu_si128((__m128i const*) llparse_blob10);
9047 
9048         /* Find first character that does not match `ranges` */
9049         match_len = _mm_cmpestri(ranges, 2,
9050             input, 16,
9051             _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
9052               _SIDD_NEGATIVE_POLARITY);
9053 
9054         if (match_len != 0) {
9055           p += match_len;
9056           goto s_n_llhttp__internal__n_header_field_general;
9057         }
9058         goto s_n_llhttp__internal__n_header_field_general_otherwise;
9059       }
9060       #endif  /* __SSE4_2__ */
9061       switch (lookup_table[(uint8_t) *p]) {
9062         case 1: {
9063           p++;
9064           goto s_n_llhttp__internal__n_header_field_general;
9065         }
9066         default: {
9067           goto s_n_llhttp__internal__n_header_field_general_otherwise;
9068         }
9069       }
9070       /* UNREACHABLE */;
9071       abort();
9072     }
9073     case s_n_llhttp__internal__n_header_field_colon:
9074     s_n_llhttp__internal__n_header_field_colon: {
9075       if (p == endp) {
9076         return s_n_llhttp__internal__n_header_field_colon;
9077       }
9078       switch (*p) {
9079         case ' ': {
9080           goto s_n_llhttp__internal__n_invoke_test_flags_4;
9081         }
9082         case ':': {
9083           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field_1;
9084         }
9085         default: {
9086           goto s_n_llhttp__internal__n_invoke_update_header_state_9;
9087         }
9088       }
9089       /* UNREACHABLE */;
9090       abort();
9091     }
9092     case s_n_llhttp__internal__n_header_field_3:
9093     s_n_llhttp__internal__n_header_field_3: {
9094       llparse_match_t match_seq;
9095 
9096       if (p == endp) {
9097         return s_n_llhttp__internal__n_header_field_3;
9098       }
9099       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob3, 6);
9100       p = match_seq.current;
9101       switch (match_seq.status) {
9102         case kMatchComplete: {
9103           p++;
9104           match = 1;
9105           goto s_n_llhttp__internal__n_invoke_store_header_state;
9106         }
9107         case kMatchPause: {
9108           return s_n_llhttp__internal__n_header_field_3;
9109         }
9110         case kMatchMismatch: {
9111           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
9112         }
9113       }
9114       /* UNREACHABLE */;
9115       abort();
9116     }
9117     case s_n_llhttp__internal__n_header_field_4:
9118     s_n_llhttp__internal__n_header_field_4: {
9119       llparse_match_t match_seq;
9120 
9121       if (p == endp) {
9122         return s_n_llhttp__internal__n_header_field_4;
9123       }
9124       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob11, 10);
9125       p = match_seq.current;
9126       switch (match_seq.status) {
9127         case kMatchComplete: {
9128           p++;
9129           match = 2;
9130           goto s_n_llhttp__internal__n_invoke_store_header_state;
9131         }
9132         case kMatchPause: {
9133           return s_n_llhttp__internal__n_header_field_4;
9134         }
9135         case kMatchMismatch: {
9136           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
9137         }
9138       }
9139       /* UNREACHABLE */;
9140       abort();
9141     }
9142     case s_n_llhttp__internal__n_header_field_2:
9143     s_n_llhttp__internal__n_header_field_2: {
9144       if (p == endp) {
9145         return s_n_llhttp__internal__n_header_field_2;
9146       }
9147       switch (((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p))) {
9148         case 'n': {
9149           p++;
9150           goto s_n_llhttp__internal__n_header_field_3;
9151         }
9152         case 't': {
9153           p++;
9154           goto s_n_llhttp__internal__n_header_field_4;
9155         }
9156         default: {
9157           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
9158         }
9159       }
9160       /* UNREACHABLE */;
9161       abort();
9162     }
9163     case s_n_llhttp__internal__n_header_field_1:
9164     s_n_llhttp__internal__n_header_field_1: {
9165       llparse_match_t match_seq;
9166 
9167       if (p == endp) {
9168         return s_n_llhttp__internal__n_header_field_1;
9169       }
9170       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob2, 2);
9171       p = match_seq.current;
9172       switch (match_seq.status) {
9173         case kMatchComplete: {
9174           p++;
9175           goto s_n_llhttp__internal__n_header_field_2;
9176         }
9177         case kMatchPause: {
9178           return s_n_llhttp__internal__n_header_field_1;
9179         }
9180         case kMatchMismatch: {
9181           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
9182         }
9183       }
9184       /* UNREACHABLE */;
9185       abort();
9186     }
9187     case s_n_llhttp__internal__n_header_field_5:
9188     s_n_llhttp__internal__n_header_field_5: {
9189       llparse_match_t match_seq;
9190 
9191       if (p == endp) {
9192         return s_n_llhttp__internal__n_header_field_5;
9193       }
9194       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob12, 15);
9195       p = match_seq.current;
9196       switch (match_seq.status) {
9197         case kMatchComplete: {
9198           p++;
9199           match = 1;
9200           goto s_n_llhttp__internal__n_invoke_store_header_state;
9201         }
9202         case kMatchPause: {
9203           return s_n_llhttp__internal__n_header_field_5;
9204         }
9205         case kMatchMismatch: {
9206           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
9207         }
9208       }
9209       /* UNREACHABLE */;
9210       abort();
9211     }
9212     case s_n_llhttp__internal__n_header_field_6:
9213     s_n_llhttp__internal__n_header_field_6: {
9214       llparse_match_t match_seq;
9215 
9216       if (p == endp) {
9217         return s_n_llhttp__internal__n_header_field_6;
9218       }
9219       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob13, 16);
9220       p = match_seq.current;
9221       switch (match_seq.status) {
9222         case kMatchComplete: {
9223           p++;
9224           match = 3;
9225           goto s_n_llhttp__internal__n_invoke_store_header_state;
9226         }
9227         case kMatchPause: {
9228           return s_n_llhttp__internal__n_header_field_6;
9229         }
9230         case kMatchMismatch: {
9231           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
9232         }
9233       }
9234       /* UNREACHABLE */;
9235       abort();
9236     }
9237     case s_n_llhttp__internal__n_header_field_7:
9238     s_n_llhttp__internal__n_header_field_7: {
9239       llparse_match_t match_seq;
9240 
9241       if (p == endp) {
9242         return s_n_llhttp__internal__n_header_field_7;
9243       }
9244       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob14, 6);
9245       p = match_seq.current;
9246       switch (match_seq.status) {
9247         case kMatchComplete: {
9248           p++;
9249           match = 4;
9250           goto s_n_llhttp__internal__n_invoke_store_header_state;
9251         }
9252         case kMatchPause: {
9253           return s_n_llhttp__internal__n_header_field_7;
9254         }
9255         case kMatchMismatch: {
9256           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
9257         }
9258       }
9259       /* UNREACHABLE */;
9260       abort();
9261     }
9262     case s_n_llhttp__internal__n_header_field:
9263     s_n_llhttp__internal__n_header_field: {
9264       if (p == endp) {
9265         return s_n_llhttp__internal__n_header_field;
9266       }
9267       switch (((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p))) {
9268         case 'c': {
9269           p++;
9270           goto s_n_llhttp__internal__n_header_field_1;
9271         }
9272         case 'p': {
9273           p++;
9274           goto s_n_llhttp__internal__n_header_field_5;
9275         }
9276         case 't': {
9277           p++;
9278           goto s_n_llhttp__internal__n_header_field_6;
9279         }
9280         case 'u': {
9281           p++;
9282           goto s_n_llhttp__internal__n_header_field_7;
9283         }
9284         default: {
9285           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
9286         }
9287       }
9288       /* UNREACHABLE */;
9289       abort();
9290     }
9291     case s_n_llhttp__internal__n_span_start_llhttp__on_header_field:
9292     s_n_llhttp__internal__n_span_start_llhttp__on_header_field: {
9293       if (p == endp) {
9294         return s_n_llhttp__internal__n_span_start_llhttp__on_header_field;
9295       }
9296       state->_span_pos0 = (void*) p;
9297       state->_span_cb0 = llhttp__on_header_field;
9298       goto s_n_llhttp__internal__n_header_field;
9299       /* UNREACHABLE */;
9300       abort();
9301     }
9302     case s_n_llhttp__internal__n_header_field_start:
9303     s_n_llhttp__internal__n_header_field_start: {
9304       if (p == endp) {
9305         return s_n_llhttp__internal__n_header_field_start;
9306       }
9307       switch (*p) {
9308         case 10: {
9309           goto s_n_llhttp__internal__n_headers_almost_done;
9310         }
9311         case 13: {
9312           p++;
9313           goto s_n_llhttp__internal__n_headers_almost_done;
9314         }
9315         default: {
9316           goto s_n_llhttp__internal__n_span_start_llhttp__on_header_field;
9317         }
9318       }
9319       /* UNREACHABLE */;
9320       abort();
9321     }
9322     case s_n_llhttp__internal__n_url_skip_to_http09:
9323     s_n_llhttp__internal__n_url_skip_to_http09: {
9324       if (p == endp) {
9325         return s_n_llhttp__internal__n_url_skip_to_http09;
9326       }
9327       p++;
9328       goto s_n_llhttp__internal__n_invoke_update_http_major;
9329       /* UNREACHABLE */;
9330       abort();
9331     }
9332     case s_n_llhttp__internal__n_url_skip_lf_to_http09:
9333     s_n_llhttp__internal__n_url_skip_lf_to_http09: {
9334       llparse_match_t match_seq;
9335 
9336       if (p == endp) {
9337         return s_n_llhttp__internal__n_url_skip_lf_to_http09;
9338       }
9339       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob15, 2);
9340       p = match_seq.current;
9341       switch (match_seq.status) {
9342         case kMatchComplete: {
9343           p++;
9344           goto s_n_llhttp__internal__n_invoke_update_http_major;
9345         }
9346         case kMatchPause: {
9347           return s_n_llhttp__internal__n_url_skip_lf_to_http09;
9348         }
9349         case kMatchMismatch: {
9350           goto s_n_llhttp__internal__n_error_23;
9351         }
9352       }
9353       /* UNREACHABLE */;
9354       abort();
9355     }
9356     case s_n_llhttp__internal__n_req_http_end_1:
9357     s_n_llhttp__internal__n_req_http_end_1: {
9358       if (p == endp) {
9359         return s_n_llhttp__internal__n_req_http_end_1;
9360       }
9361       switch (*p) {
9362         case 10: {
9363           p++;
9364           goto s_n_llhttp__internal__n_header_field_start;
9365         }
9366         default: {
9367           goto s_n_llhttp__internal__n_error_24;
9368         }
9369       }
9370       /* UNREACHABLE */;
9371       abort();
9372     }
9373     case s_n_llhttp__internal__n_req_http_end:
9374     s_n_llhttp__internal__n_req_http_end: {
9375       if (p == endp) {
9376         return s_n_llhttp__internal__n_req_http_end;
9377       }
9378       switch (*p) {
9379         case 10: {
9380           p++;
9381           goto s_n_llhttp__internal__n_header_field_start;
9382         }
9383         case 13: {
9384           p++;
9385           goto s_n_llhttp__internal__n_req_http_end_1;
9386         }
9387         default: {
9388           goto s_n_llhttp__internal__n_error_24;
9389         }
9390       }
9391       /* UNREACHABLE */;
9392       abort();
9393     }
9394     case s_n_llhttp__internal__n_req_http_minor:
9395     s_n_llhttp__internal__n_req_http_minor: {
9396       if (p == endp) {
9397         return s_n_llhttp__internal__n_req_http_minor;
9398       }
9399       switch (*p) {
9400         case '0': {
9401           p++;
9402           match = 0;
9403           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9404         }
9405         case '1': {
9406           p++;
9407           match = 1;
9408           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9409         }
9410         case '2': {
9411           p++;
9412           match = 2;
9413           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9414         }
9415         case '3': {
9416           p++;
9417           match = 3;
9418           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9419         }
9420         case '4': {
9421           p++;
9422           match = 4;
9423           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9424         }
9425         case '5': {
9426           p++;
9427           match = 5;
9428           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9429         }
9430         case '6': {
9431           p++;
9432           match = 6;
9433           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9434         }
9435         case '7': {
9436           p++;
9437           match = 7;
9438           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9439         }
9440         case '8': {
9441           p++;
9442           match = 8;
9443           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9444         }
9445         case '9': {
9446           p++;
9447           match = 9;
9448           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9449         }
9450         default: {
9451           goto s_n_llhttp__internal__n_error_25;
9452         }
9453       }
9454       /* UNREACHABLE */;
9455       abort();
9456     }
9457     case s_n_llhttp__internal__n_req_http_dot:
9458     s_n_llhttp__internal__n_req_http_dot: {
9459       if (p == endp) {
9460         return s_n_llhttp__internal__n_req_http_dot;
9461       }
9462       switch (*p) {
9463         case '.': {
9464           p++;
9465           goto s_n_llhttp__internal__n_req_http_minor;
9466         }
9467         default: {
9468           goto s_n_llhttp__internal__n_error_26;
9469         }
9470       }
9471       /* UNREACHABLE */;
9472       abort();
9473     }
9474     case s_n_llhttp__internal__n_req_http_major:
9475     s_n_llhttp__internal__n_req_http_major: {
9476       if (p == endp) {
9477         return s_n_llhttp__internal__n_req_http_major;
9478       }
9479       switch (*p) {
9480         case '0': {
9481           p++;
9482           match = 0;
9483           goto s_n_llhttp__internal__n_invoke_store_http_major;
9484         }
9485         case '1': {
9486           p++;
9487           match = 1;
9488           goto s_n_llhttp__internal__n_invoke_store_http_major;
9489         }
9490         case '2': {
9491           p++;
9492           match = 2;
9493           goto s_n_llhttp__internal__n_invoke_store_http_major;
9494         }
9495         case '3': {
9496           p++;
9497           match = 3;
9498           goto s_n_llhttp__internal__n_invoke_store_http_major;
9499         }
9500         case '4': {
9501           p++;
9502           match = 4;
9503           goto s_n_llhttp__internal__n_invoke_store_http_major;
9504         }
9505         case '5': {
9506           p++;
9507           match = 5;
9508           goto s_n_llhttp__internal__n_invoke_store_http_major;
9509         }
9510         case '6': {
9511           p++;
9512           match = 6;
9513           goto s_n_llhttp__internal__n_invoke_store_http_major;
9514         }
9515         case '7': {
9516           p++;
9517           match = 7;
9518           goto s_n_llhttp__internal__n_invoke_store_http_major;
9519         }
9520         case '8': {
9521           p++;
9522           match = 8;
9523           goto s_n_llhttp__internal__n_invoke_store_http_major;
9524         }
9525         case '9': {
9526           p++;
9527           match = 9;
9528           goto s_n_llhttp__internal__n_invoke_store_http_major;
9529         }
9530         default: {
9531           goto s_n_llhttp__internal__n_error_27;
9532         }
9533       }
9534       /* UNREACHABLE */;
9535       abort();
9536     }
9537     case s_n_llhttp__internal__n_req_http_start_1:
9538     s_n_llhttp__internal__n_req_http_start_1: {
9539       llparse_match_t match_seq;
9540 
9541       if (p == endp) {
9542         return s_n_llhttp__internal__n_req_http_start_1;
9543       }
9544       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob16, 4);
9545       p = match_seq.current;
9546       switch (match_seq.status) {
9547         case kMatchComplete: {
9548           p++;
9549           goto s_n_llhttp__internal__n_req_http_major;
9550         }
9551         case kMatchPause: {
9552           return s_n_llhttp__internal__n_req_http_start_1;
9553         }
9554         case kMatchMismatch: {
9555           goto s_n_llhttp__internal__n_error_29;
9556         }
9557       }
9558       /* UNREACHABLE */;
9559       abort();
9560     }
9561     case s_n_llhttp__internal__n_req_http_start_2:
9562     s_n_llhttp__internal__n_req_http_start_2: {
9563       llparse_match_t match_seq;
9564 
9565       if (p == endp) {
9566         return s_n_llhttp__internal__n_req_http_start_2;
9567       }
9568       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob17, 3);
9569       p = match_seq.current;
9570       switch (match_seq.status) {
9571         case kMatchComplete: {
9572           p++;
9573           goto s_n_llhttp__internal__n_invoke_is_equal_method_1;
9574         }
9575         case kMatchPause: {
9576           return s_n_llhttp__internal__n_req_http_start_2;
9577         }
9578         case kMatchMismatch: {
9579           goto s_n_llhttp__internal__n_error_29;
9580         }
9581       }
9582       /* UNREACHABLE */;
9583       abort();
9584     }
9585     case s_n_llhttp__internal__n_req_http_start:
9586     s_n_llhttp__internal__n_req_http_start: {
9587       if (p == endp) {
9588         return s_n_llhttp__internal__n_req_http_start;
9589       }
9590       switch (*p) {
9591         case ' ': {
9592           p++;
9593           goto s_n_llhttp__internal__n_req_http_start;
9594         }
9595         case 'H': {
9596           p++;
9597           goto s_n_llhttp__internal__n_req_http_start_1;
9598         }
9599         case 'I': {
9600           p++;
9601           goto s_n_llhttp__internal__n_req_http_start_2;
9602         }
9603         default: {
9604           goto s_n_llhttp__internal__n_error_29;
9605         }
9606       }
9607       /* UNREACHABLE */;
9608       abort();
9609     }
9610     case s_n_llhttp__internal__n_url_skip_to_http:
9611     s_n_llhttp__internal__n_url_skip_to_http: {
9612       if (p == endp) {
9613         return s_n_llhttp__internal__n_url_skip_to_http;
9614       }
9615       p++;
9616       goto s_n_llhttp__internal__n_req_http_start;
9617       /* UNREACHABLE */;
9618       abort();
9619     }
9620     case s_n_llhttp__internal__n_url_fragment:
9621     s_n_llhttp__internal__n_url_fragment: {
9622       static uint8_t lookup_table[] = {
9623         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
9624         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9625         4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9626         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9627         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9628         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9629         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9630         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
9631         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9632         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9633         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9634         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9635         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9636         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9637         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9638         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
9639       };
9640       if (p == endp) {
9641         return s_n_llhttp__internal__n_url_fragment;
9642       }
9643       switch (lookup_table[(uint8_t) *p]) {
9644         case 1: {
9645           p++;
9646           goto s_n_llhttp__internal__n_url_fragment;
9647         }
9648         case 2: {
9649           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_6;
9650         }
9651         case 3: {
9652           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_7;
9653         }
9654         case 4: {
9655           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_8;
9656         }
9657         default: {
9658           goto s_n_llhttp__internal__n_error_30;
9659         }
9660       }
9661       /* UNREACHABLE */;
9662       abort();
9663     }
9664     case s_n_llhttp__internal__n_span_end_stub_query_3:
9665     s_n_llhttp__internal__n_span_end_stub_query_3: {
9666       if (p == endp) {
9667         return s_n_llhttp__internal__n_span_end_stub_query_3;
9668       }
9669       p++;
9670       goto s_n_llhttp__internal__n_url_fragment;
9671       /* UNREACHABLE */;
9672       abort();
9673     }
9674     case s_n_llhttp__internal__n_url_query:
9675     s_n_llhttp__internal__n_url_query: {
9676       static uint8_t lookup_table[] = {
9677         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
9678         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9679         4, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9680         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9681         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9682         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9683         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9684         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
9685         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9686         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9687         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9688         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9689         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9690         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9691         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9692         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
9693       };
9694       if (p == endp) {
9695         return s_n_llhttp__internal__n_url_query;
9696       }
9697       switch (lookup_table[(uint8_t) *p]) {
9698         case 1: {
9699           p++;
9700           goto s_n_llhttp__internal__n_url_query;
9701         }
9702         case 2: {
9703           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_9;
9704         }
9705         case 3: {
9706           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_10;
9707         }
9708         case 4: {
9709           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_11;
9710         }
9711         case 5: {
9712           goto s_n_llhttp__internal__n_span_end_stub_query_3;
9713         }
9714         default: {
9715           goto s_n_llhttp__internal__n_error_31;
9716         }
9717       }
9718       /* UNREACHABLE */;
9719       abort();
9720     }
9721     case s_n_llhttp__internal__n_url_query_or_fragment:
9722     s_n_llhttp__internal__n_url_query_or_fragment: {
9723       if (p == endp) {
9724         return s_n_llhttp__internal__n_url_query_or_fragment;
9725       }
9726       switch (*p) {
9727         case 10: {
9728           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_3;
9729         }
9730         case 13: {
9731           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_4;
9732         }
9733         case ' ': {
9734           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_5;
9735         }
9736         case '#': {
9737           p++;
9738           goto s_n_llhttp__internal__n_url_fragment;
9739         }
9740         case '?': {
9741           p++;
9742           goto s_n_llhttp__internal__n_url_query;
9743         }
9744         default: {
9745           goto s_n_llhttp__internal__n_error_32;
9746         }
9747       }
9748       /* UNREACHABLE */;
9749       abort();
9750     }
9751     case s_n_llhttp__internal__n_url_path:
9752     s_n_llhttp__internal__n_url_path: {
9753       static uint8_t lookup_table[] = {
9754         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,
9755         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9756         0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9757         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
9758         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9759         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9760         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9761         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
9762         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9763         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9764         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9765         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9766         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9767         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9768         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9769         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
9770       };
9771       if (p == endp) {
9772         return s_n_llhttp__internal__n_url_path;
9773       }
9774       #ifdef __SSE4_2__
9775       if (endp - p >= 16) {
9776         __m128i ranges;
9777         __m128i input;
9778         int avail;
9779         int match_len;
9780 
9781         /* Load input */
9782         input = _mm_loadu_si128((__m128i const*) p);
9783         ranges = _mm_loadu_si128((__m128i const*) llparse_blob1);
9784 
9785         /* Find first character that does not match `ranges` */
9786         match_len = _mm_cmpestri(ranges, 12,
9787             input, 16,
9788             _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
9789               _SIDD_NEGATIVE_POLARITY);
9790 
9791         if (match_len != 0) {
9792           p += match_len;
9793           goto s_n_llhttp__internal__n_url_path;
9794         }
9795         goto s_n_llhttp__internal__n_url_query_or_fragment;
9796       }
9797       #endif  /* __SSE4_2__ */
9798       switch (lookup_table[(uint8_t) *p]) {
9799         case 1: {
9800           p++;
9801           goto s_n_llhttp__internal__n_url_path;
9802         }
9803         default: {
9804           goto s_n_llhttp__internal__n_url_query_or_fragment;
9805         }
9806       }
9807       /* UNREACHABLE */;
9808       abort();
9809     }
9810     case s_n_llhttp__internal__n_span_start_stub_path_2:
9811     s_n_llhttp__internal__n_span_start_stub_path_2: {
9812       if (p == endp) {
9813         return s_n_llhttp__internal__n_span_start_stub_path_2;
9814       }
9815       p++;
9816       goto s_n_llhttp__internal__n_url_path;
9817       /* UNREACHABLE */;
9818       abort();
9819     }
9820     case s_n_llhttp__internal__n_span_start_stub_path:
9821     s_n_llhttp__internal__n_span_start_stub_path: {
9822       if (p == endp) {
9823         return s_n_llhttp__internal__n_span_start_stub_path;
9824       }
9825       p++;
9826       goto s_n_llhttp__internal__n_url_path;
9827       /* UNREACHABLE */;
9828       abort();
9829     }
9830     case s_n_llhttp__internal__n_span_start_stub_path_1:
9831     s_n_llhttp__internal__n_span_start_stub_path_1: {
9832       if (p == endp) {
9833         return s_n_llhttp__internal__n_span_start_stub_path_1;
9834       }
9835       p++;
9836       goto s_n_llhttp__internal__n_url_path;
9837       /* UNREACHABLE */;
9838       abort();
9839     }
9840     case s_n_llhttp__internal__n_url_server_with_at:
9841     s_n_llhttp__internal__n_url_server_with_at: {
9842       static uint8_t lookup_table[] = {
9843         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0,
9844         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9845         3, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5,
9846         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 6,
9847         7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
9848         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 4,
9849         0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
9850         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 4, 0,
9851         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9852         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9853         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9854         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9855         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9856         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9857         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9858         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
9859       };
9860       if (p == endp) {
9861         return s_n_llhttp__internal__n_url_server_with_at;
9862       }
9863       switch (lookup_table[(uint8_t) *p]) {
9864         case 1: {
9865           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_12;
9866         }
9867         case 2: {
9868           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_13;
9869         }
9870         case 3: {
9871           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_14;
9872         }
9873         case 4: {
9874           p++;
9875           goto s_n_llhttp__internal__n_url_server;
9876         }
9877         case 5: {
9878           goto s_n_llhttp__internal__n_span_start_stub_path_1;
9879         }
9880         case 6: {
9881           p++;
9882           goto s_n_llhttp__internal__n_url_query;
9883         }
9884         case 7: {
9885           p++;
9886           goto s_n_llhttp__internal__n_error_33;
9887         }
9888         default: {
9889           goto s_n_llhttp__internal__n_error_34;
9890         }
9891       }
9892       /* UNREACHABLE */;
9893       abort();
9894     }
9895     case s_n_llhttp__internal__n_url_server:
9896     s_n_llhttp__internal__n_url_server: {
9897       static uint8_t lookup_table[] = {
9898         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0,
9899         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9900         3, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5,
9901         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 6,
9902         7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
9903         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 4,
9904         0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
9905         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 4, 0,
9906         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9907         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9908         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9909         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9910         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9911         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9912         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9913         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
9914       };
9915       if (p == endp) {
9916         return s_n_llhttp__internal__n_url_server;
9917       }
9918       switch (lookup_table[(uint8_t) *p]) {
9919         case 1: {
9920           goto s_n_llhttp__internal__n_span_end_llhttp__on_url;
9921         }
9922         case 2: {
9923           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_1;
9924         }
9925         case 3: {
9926           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_2;
9927         }
9928         case 4: {
9929           p++;
9930           goto s_n_llhttp__internal__n_url_server;
9931         }
9932         case 5: {
9933           goto s_n_llhttp__internal__n_span_start_stub_path;
9934         }
9935         case 6: {
9936           p++;
9937           goto s_n_llhttp__internal__n_url_query;
9938         }
9939         case 7: {
9940           p++;
9941           goto s_n_llhttp__internal__n_url_server_with_at;
9942         }
9943         default: {
9944           goto s_n_llhttp__internal__n_error_35;
9945         }
9946       }
9947       /* UNREACHABLE */;
9948       abort();
9949     }
9950     case s_n_llhttp__internal__n_url_schema_delim_1:
9951     s_n_llhttp__internal__n_url_schema_delim_1: {
9952       if (p == endp) {
9953         return s_n_llhttp__internal__n_url_schema_delim_1;
9954       }
9955       switch (*p) {
9956         case '/': {
9957           p++;
9958           goto s_n_llhttp__internal__n_url_server;
9959         }
9960         default: {
9961           goto s_n_llhttp__internal__n_error_37;
9962         }
9963       }
9964       /* UNREACHABLE */;
9965       abort();
9966     }
9967     case s_n_llhttp__internal__n_url_schema_delim:
9968     s_n_llhttp__internal__n_url_schema_delim: {
9969       if (p == endp) {
9970         return s_n_llhttp__internal__n_url_schema_delim;
9971       }
9972       switch (*p) {
9973         case 10: {
9974           p++;
9975           goto s_n_llhttp__internal__n_error_36;
9976         }
9977         case 13: {
9978           p++;
9979           goto s_n_llhttp__internal__n_error_36;
9980         }
9981         case ' ': {
9982           p++;
9983           goto s_n_llhttp__internal__n_error_36;
9984         }
9985         case '/': {
9986           p++;
9987           goto s_n_llhttp__internal__n_url_schema_delim_1;
9988         }
9989         default: {
9990           goto s_n_llhttp__internal__n_error_37;
9991         }
9992       }
9993       /* UNREACHABLE */;
9994       abort();
9995     }
9996     case s_n_llhttp__internal__n_span_end_stub_schema:
9997     s_n_llhttp__internal__n_span_end_stub_schema: {
9998       if (p == endp) {
9999         return s_n_llhttp__internal__n_span_end_stub_schema;
10000       }
10001       p++;
10002       goto s_n_llhttp__internal__n_url_schema_delim;
10003       /* UNREACHABLE */;
10004       abort();
10005     }
10006     case s_n_llhttp__internal__n_url_schema:
10007     s_n_llhttp__internal__n_url_schema: {
10008       static uint8_t lookup_table[] = {
10009         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
10010         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10011         1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10012         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
10013         0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
10014         3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
10015         0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
10016         3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
10017         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10018         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10019         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10020         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10021         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10022         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10023         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10024         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
10025       };
10026       if (p == endp) {
10027         return s_n_llhttp__internal__n_url_schema;
10028       }
10029       switch (lookup_table[(uint8_t) *p]) {
10030         case 1: {
10031           p++;
10032           goto s_n_llhttp__internal__n_error_36;
10033         }
10034         case 2: {
10035           goto s_n_llhttp__internal__n_span_end_stub_schema;
10036         }
10037         case 3: {
10038           p++;
10039           goto s_n_llhttp__internal__n_url_schema;
10040         }
10041         default: {
10042           goto s_n_llhttp__internal__n_error_38;
10043         }
10044       }
10045       /* UNREACHABLE */;
10046       abort();
10047     }
10048     case s_n_llhttp__internal__n_url_start:
10049     s_n_llhttp__internal__n_url_start: {
10050       static uint8_t lookup_table[] = {
10051         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
10052         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10053         1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2,
10054         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10055         0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
10056         3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
10057         0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
10058         3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
10059         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10060         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10061         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10062         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10063         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10064         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10065         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10066         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
10067       };
10068       if (p == endp) {
10069         return s_n_llhttp__internal__n_url_start;
10070       }
10071       switch (lookup_table[(uint8_t) *p]) {
10072         case 1: {
10073           p++;
10074           goto s_n_llhttp__internal__n_error_36;
10075         }
10076         case 2: {
10077           goto s_n_llhttp__internal__n_span_start_stub_path_2;
10078         }
10079         case 3: {
10080           goto s_n_llhttp__internal__n_url_schema;
10081         }
10082         default: {
10083           goto s_n_llhttp__internal__n_error_39;
10084         }
10085       }
10086       /* UNREACHABLE */;
10087       abort();
10088     }
10089     case s_n_llhttp__internal__n_span_start_llhttp__on_url_1:
10090     s_n_llhttp__internal__n_span_start_llhttp__on_url_1: {
10091       if (p == endp) {
10092         return s_n_llhttp__internal__n_span_start_llhttp__on_url_1;
10093       }
10094       state->_span_pos0 = (void*) p;
10095       state->_span_cb0 = llhttp__on_url;
10096       goto s_n_llhttp__internal__n_url_start;
10097       /* UNREACHABLE */;
10098       abort();
10099     }
10100     case s_n_llhttp__internal__n_span_start_llhttp__on_url:
10101     s_n_llhttp__internal__n_span_start_llhttp__on_url: {
10102       if (p == endp) {
10103         return s_n_llhttp__internal__n_span_start_llhttp__on_url;
10104       }
10105       state->_span_pos0 = (void*) p;
10106       state->_span_cb0 = llhttp__on_url;
10107       goto s_n_llhttp__internal__n_url_server;
10108       /* UNREACHABLE */;
10109       abort();
10110     }
10111     case s_n_llhttp__internal__n_req_spaces_before_url:
10112     s_n_llhttp__internal__n_req_spaces_before_url: {
10113       if (p == endp) {
10114         return s_n_llhttp__internal__n_req_spaces_before_url;
10115       }
10116       switch (*p) {
10117         case ' ': {
10118           p++;
10119           goto s_n_llhttp__internal__n_req_spaces_before_url;
10120         }
10121         default: {
10122           goto s_n_llhttp__internal__n_invoke_is_equal_method;
10123         }
10124       }
10125       /* UNREACHABLE */;
10126       abort();
10127     }
10128     case s_n_llhttp__internal__n_req_first_space_before_url:
10129     s_n_llhttp__internal__n_req_first_space_before_url: {
10130       if (p == endp) {
10131         return s_n_llhttp__internal__n_req_first_space_before_url;
10132       }
10133       switch (*p) {
10134         case ' ': {
10135           p++;
10136           goto s_n_llhttp__internal__n_req_spaces_before_url;
10137         }
10138         default: {
10139           goto s_n_llhttp__internal__n_error_40;
10140         }
10141       }
10142       /* UNREACHABLE */;
10143       abort();
10144     }
10145     case s_n_llhttp__internal__n_start_req_1:
10146     s_n_llhttp__internal__n_start_req_1: {
10147       llparse_match_t match_seq;
10148 
10149       if (p == endp) {
10150         return s_n_llhttp__internal__n_start_req_1;
10151       }
10152       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob0, 2);
10153       p = match_seq.current;
10154       switch (match_seq.status) {
10155         case kMatchComplete: {
10156           p++;
10157           match = 19;
10158           goto s_n_llhttp__internal__n_invoke_store_method_1;
10159         }
10160         case kMatchPause: {
10161           return s_n_llhttp__internal__n_start_req_1;
10162         }
10163         case kMatchMismatch: {
10164           goto s_n_llhttp__internal__n_error_48;
10165         }
10166       }
10167       /* UNREACHABLE */;
10168       abort();
10169     }
10170     case s_n_llhttp__internal__n_start_req_2:
10171     s_n_llhttp__internal__n_start_req_2: {
10172       llparse_match_t match_seq;
10173 
10174       if (p == endp) {
10175         return s_n_llhttp__internal__n_start_req_2;
10176       }
10177       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob18, 3);
10178       p = match_seq.current;
10179       switch (match_seq.status) {
10180         case kMatchComplete: {
10181           p++;
10182           match = 16;
10183           goto s_n_llhttp__internal__n_invoke_store_method_1;
10184         }
10185         case kMatchPause: {
10186           return s_n_llhttp__internal__n_start_req_2;
10187         }
10188         case kMatchMismatch: {
10189           goto s_n_llhttp__internal__n_error_48;
10190         }
10191       }
10192       /* UNREACHABLE */;
10193       abort();
10194     }
10195     case s_n_llhttp__internal__n_start_req_4:
10196     s_n_llhttp__internal__n_start_req_4: {
10197       llparse_match_t match_seq;
10198 
10199       if (p == endp) {
10200         return s_n_llhttp__internal__n_start_req_4;
10201       }
10202       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob19, 6);
10203       p = match_seq.current;
10204       switch (match_seq.status) {
10205         case kMatchComplete: {
10206           p++;
10207           match = 22;
10208           goto s_n_llhttp__internal__n_invoke_store_method_1;
10209         }
10210         case kMatchPause: {
10211           return s_n_llhttp__internal__n_start_req_4;
10212         }
10213         case kMatchMismatch: {
10214           goto s_n_llhttp__internal__n_error_48;
10215         }
10216       }
10217       /* UNREACHABLE */;
10218       abort();
10219     }
10220     case s_n_llhttp__internal__n_start_req_6:
10221     s_n_llhttp__internal__n_start_req_6: {
10222       llparse_match_t match_seq;
10223 
10224       if (p == endp) {
10225         return s_n_llhttp__internal__n_start_req_6;
10226       }
10227       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob20, 4);
10228       p = match_seq.current;
10229       switch (match_seq.status) {
10230         case kMatchComplete: {
10231           p++;
10232           match = 5;
10233           goto s_n_llhttp__internal__n_invoke_store_method_1;
10234         }
10235         case kMatchPause: {
10236           return s_n_llhttp__internal__n_start_req_6;
10237         }
10238         case kMatchMismatch: {
10239           goto s_n_llhttp__internal__n_error_48;
10240         }
10241       }
10242       /* UNREACHABLE */;
10243       abort();
10244     }
10245     case s_n_llhttp__internal__n_start_req_7:
10246     s_n_llhttp__internal__n_start_req_7: {
10247       if (p == endp) {
10248         return s_n_llhttp__internal__n_start_req_7;
10249       }
10250       switch (*p) {
10251         case 'Y': {
10252           p++;
10253           match = 8;
10254           goto s_n_llhttp__internal__n_invoke_store_method_1;
10255         }
10256         default: {
10257           goto s_n_llhttp__internal__n_error_48;
10258         }
10259       }
10260       /* UNREACHABLE */;
10261       abort();
10262     }
10263     case s_n_llhttp__internal__n_start_req_5:
10264     s_n_llhttp__internal__n_start_req_5: {
10265       if (p == endp) {
10266         return s_n_llhttp__internal__n_start_req_5;
10267       }
10268       switch (*p) {
10269         case 'N': {
10270           p++;
10271           goto s_n_llhttp__internal__n_start_req_6;
10272         }
10273         case 'P': {
10274           p++;
10275           goto s_n_llhttp__internal__n_start_req_7;
10276         }
10277         default: {
10278           goto s_n_llhttp__internal__n_error_48;
10279         }
10280       }
10281       /* UNREACHABLE */;
10282       abort();
10283     }
10284     case s_n_llhttp__internal__n_start_req_3:
10285     s_n_llhttp__internal__n_start_req_3: {
10286       if (p == endp) {
10287         return s_n_llhttp__internal__n_start_req_3;
10288       }
10289       switch (*p) {
10290         case 'H': {
10291           p++;
10292           goto s_n_llhttp__internal__n_start_req_4;
10293         }
10294         case 'O': {
10295           p++;
10296           goto s_n_llhttp__internal__n_start_req_5;
10297         }
10298         default: {
10299           goto s_n_llhttp__internal__n_error_48;
10300         }
10301       }
10302       /* UNREACHABLE */;
10303       abort();
10304     }
10305     case s_n_llhttp__internal__n_start_req_8:
10306     s_n_llhttp__internal__n_start_req_8: {
10307       llparse_match_t match_seq;
10308 
10309       if (p == endp) {
10310         return s_n_llhttp__internal__n_start_req_8;
10311       }
10312       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob21, 5);
10313       p = match_seq.current;
10314       switch (match_seq.status) {
10315         case kMatchComplete: {
10316           p++;
10317           match = 0;
10318           goto s_n_llhttp__internal__n_invoke_store_method_1;
10319         }
10320         case kMatchPause: {
10321           return s_n_llhttp__internal__n_start_req_8;
10322         }
10323         case kMatchMismatch: {
10324           goto s_n_llhttp__internal__n_error_48;
10325         }
10326       }
10327       /* UNREACHABLE */;
10328       abort();
10329     }
10330     case s_n_llhttp__internal__n_start_req_9:
10331     s_n_llhttp__internal__n_start_req_9: {
10332       llparse_match_t match_seq;
10333 
10334       if (p == endp) {
10335         return s_n_llhttp__internal__n_start_req_9;
10336       }
10337       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob22, 2);
10338       p = match_seq.current;
10339       switch (match_seq.status) {
10340         case kMatchComplete: {
10341           p++;
10342           match = 1;
10343           goto s_n_llhttp__internal__n_invoke_store_method_1;
10344         }
10345         case kMatchPause: {
10346           return s_n_llhttp__internal__n_start_req_9;
10347         }
10348         case kMatchMismatch: {
10349           goto s_n_llhttp__internal__n_error_48;
10350         }
10351       }
10352       /* UNREACHABLE */;
10353       abort();
10354     }
10355     case s_n_llhttp__internal__n_start_req_10:
10356     s_n_llhttp__internal__n_start_req_10: {
10357       llparse_match_t match_seq;
10358 
10359       if (p == endp) {
10360         return s_n_llhttp__internal__n_start_req_10;
10361       }
10362       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob23, 3);
10363       p = match_seq.current;
10364       switch (match_seq.status) {
10365         case kMatchComplete: {
10366           p++;
10367           match = 2;
10368           goto s_n_llhttp__internal__n_invoke_store_method_1;
10369         }
10370         case kMatchPause: {
10371           return s_n_llhttp__internal__n_start_req_10;
10372         }
10373         case kMatchMismatch: {
10374           goto s_n_llhttp__internal__n_error_48;
10375         }
10376       }
10377       /* UNREACHABLE */;
10378       abort();
10379     }
10380     case s_n_llhttp__internal__n_start_req_12:
10381     s_n_llhttp__internal__n_start_req_12: {
10382       llparse_match_t match_seq;
10383 
10384       if (p == endp) {
10385         return s_n_llhttp__internal__n_start_req_12;
10386       }
10387       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob24, 2);
10388       p = match_seq.current;
10389       switch (match_seq.status) {
10390         case kMatchComplete: {
10391           p++;
10392           match = 31;
10393           goto s_n_llhttp__internal__n_invoke_store_method_1;
10394         }
10395         case kMatchPause: {
10396           return s_n_llhttp__internal__n_start_req_12;
10397         }
10398         case kMatchMismatch: {
10399           goto s_n_llhttp__internal__n_error_48;
10400         }
10401       }
10402       /* UNREACHABLE */;
10403       abort();
10404     }
10405     case s_n_llhttp__internal__n_start_req_13:
10406     s_n_llhttp__internal__n_start_req_13: {
10407       llparse_match_t match_seq;
10408 
10409       if (p == endp) {
10410         return s_n_llhttp__internal__n_start_req_13;
10411       }
10412       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob25, 2);
10413       p = match_seq.current;
10414       switch (match_seq.status) {
10415         case kMatchComplete: {
10416           p++;
10417           match = 9;
10418           goto s_n_llhttp__internal__n_invoke_store_method_1;
10419         }
10420         case kMatchPause: {
10421           return s_n_llhttp__internal__n_start_req_13;
10422         }
10423         case kMatchMismatch: {
10424           goto s_n_llhttp__internal__n_error_48;
10425         }
10426       }
10427       /* UNREACHABLE */;
10428       abort();
10429     }
10430     case s_n_llhttp__internal__n_start_req_11:
10431     s_n_llhttp__internal__n_start_req_11: {
10432       if (p == endp) {
10433         return s_n_llhttp__internal__n_start_req_11;
10434       }
10435       switch (*p) {
10436         case 'I': {
10437           p++;
10438           goto s_n_llhttp__internal__n_start_req_12;
10439         }
10440         case 'O': {
10441           p++;
10442           goto s_n_llhttp__internal__n_start_req_13;
10443         }
10444         default: {
10445           goto s_n_llhttp__internal__n_error_48;
10446         }
10447       }
10448       /* UNREACHABLE */;
10449       abort();
10450     }
10451     case s_n_llhttp__internal__n_start_req_15:
10452     s_n_llhttp__internal__n_start_req_15: {
10453       llparse_match_t match_seq;
10454 
10455       if (p == endp) {
10456         return s_n_llhttp__internal__n_start_req_15;
10457       }
10458       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob26, 6);
10459       p = match_seq.current;
10460       switch (match_seq.status) {
10461         case kMatchComplete: {
10462           p++;
10463           match = 24;
10464           goto s_n_llhttp__internal__n_invoke_store_method_1;
10465         }
10466         case kMatchPause: {
10467           return s_n_llhttp__internal__n_start_req_15;
10468         }
10469         case kMatchMismatch: {
10470           goto s_n_llhttp__internal__n_error_48;
10471         }
10472       }
10473       /* UNREACHABLE */;
10474       abort();
10475     }
10476     case s_n_llhttp__internal__n_start_req_16:
10477     s_n_llhttp__internal__n_start_req_16: {
10478       llparse_match_t match_seq;
10479 
10480       if (p == endp) {
10481         return s_n_llhttp__internal__n_start_req_16;
10482       }
10483       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob27, 3);
10484       p = match_seq.current;
10485       switch (match_seq.status) {
10486         case kMatchComplete: {
10487           p++;
10488           match = 23;
10489           goto s_n_llhttp__internal__n_invoke_store_method_1;
10490         }
10491         case kMatchPause: {
10492           return s_n_llhttp__internal__n_start_req_16;
10493         }
10494         case kMatchMismatch: {
10495           goto s_n_llhttp__internal__n_error_48;
10496         }
10497       }
10498       /* UNREACHABLE */;
10499       abort();
10500     }
10501     case s_n_llhttp__internal__n_start_req_18:
10502     s_n_llhttp__internal__n_start_req_18: {
10503       llparse_match_t match_seq;
10504 
10505       if (p == endp) {
10506         return s_n_llhttp__internal__n_start_req_18;
10507       }
10508       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob28, 7);
10509       p = match_seq.current;
10510       switch (match_seq.status) {
10511         case kMatchComplete: {
10512           p++;
10513           match = 21;
10514           goto s_n_llhttp__internal__n_invoke_store_method_1;
10515         }
10516         case kMatchPause: {
10517           return s_n_llhttp__internal__n_start_req_18;
10518         }
10519         case kMatchMismatch: {
10520           goto s_n_llhttp__internal__n_error_48;
10521         }
10522       }
10523       /* UNREACHABLE */;
10524       abort();
10525     }
10526     case s_n_llhttp__internal__n_start_req_20:
10527     s_n_llhttp__internal__n_start_req_20: {
10528       llparse_match_t match_seq;
10529 
10530       if (p == endp) {
10531         return s_n_llhttp__internal__n_start_req_20;
10532       }
10533       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob29, 6);
10534       p = match_seq.current;
10535       switch (match_seq.status) {
10536         case kMatchComplete: {
10537           p++;
10538           match = 30;
10539           goto s_n_llhttp__internal__n_invoke_store_method_1;
10540         }
10541         case kMatchPause: {
10542           return s_n_llhttp__internal__n_start_req_20;
10543         }
10544         case kMatchMismatch: {
10545           goto s_n_llhttp__internal__n_error_48;
10546         }
10547       }
10548       /* UNREACHABLE */;
10549       abort();
10550     }
10551     case s_n_llhttp__internal__n_start_req_21:
10552     s_n_llhttp__internal__n_start_req_21: {
10553       if (p == endp) {
10554         return s_n_llhttp__internal__n_start_req_21;
10555       }
10556       switch (*p) {
10557         case 'L': {
10558           p++;
10559           match = 10;
10560           goto s_n_llhttp__internal__n_invoke_store_method_1;
10561         }
10562         default: {
10563           goto s_n_llhttp__internal__n_error_48;
10564         }
10565       }
10566       /* UNREACHABLE */;
10567       abort();
10568     }
10569     case s_n_llhttp__internal__n_start_req_19:
10570     s_n_llhttp__internal__n_start_req_19: {
10571       if (p == endp) {
10572         return s_n_llhttp__internal__n_start_req_19;
10573       }
10574       switch (*p) {
10575         case 'A': {
10576           p++;
10577           goto s_n_llhttp__internal__n_start_req_20;
10578         }
10579         case 'O': {
10580           p++;
10581           goto s_n_llhttp__internal__n_start_req_21;
10582         }
10583         default: {
10584           goto s_n_llhttp__internal__n_error_48;
10585         }
10586       }
10587       /* UNREACHABLE */;
10588       abort();
10589     }
10590     case s_n_llhttp__internal__n_start_req_17:
10591     s_n_llhttp__internal__n_start_req_17: {
10592       if (p == endp) {
10593         return s_n_llhttp__internal__n_start_req_17;
10594       }
10595       switch (*p) {
10596         case 'A': {
10597           p++;
10598           goto s_n_llhttp__internal__n_start_req_18;
10599         }
10600         case 'C': {
10601           p++;
10602           goto s_n_llhttp__internal__n_start_req_19;
10603         }
10604         default: {
10605           goto s_n_llhttp__internal__n_error_48;
10606         }
10607       }
10608       /* UNREACHABLE */;
10609       abort();
10610     }
10611     case s_n_llhttp__internal__n_start_req_22:
10612     s_n_llhttp__internal__n_start_req_22: {
10613       llparse_match_t match_seq;
10614 
10615       if (p == endp) {
10616         return s_n_llhttp__internal__n_start_req_22;
10617       }
10618       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob30, 2);
10619       p = match_seq.current;
10620       switch (match_seq.status) {
10621         case kMatchComplete: {
10622           p++;
10623           match = 11;
10624           goto s_n_llhttp__internal__n_invoke_store_method_1;
10625         }
10626         case kMatchPause: {
10627           return s_n_llhttp__internal__n_start_req_22;
10628         }
10629         case kMatchMismatch: {
10630           goto s_n_llhttp__internal__n_error_48;
10631         }
10632       }
10633       /* UNREACHABLE */;
10634       abort();
10635     }
10636     case s_n_llhttp__internal__n_start_req_14:
10637     s_n_llhttp__internal__n_start_req_14: {
10638       if (p == endp) {
10639         return s_n_llhttp__internal__n_start_req_14;
10640       }
10641       switch (*p) {
10642         case '-': {
10643           p++;
10644           goto s_n_llhttp__internal__n_start_req_15;
10645         }
10646         case 'E': {
10647           p++;
10648           goto s_n_llhttp__internal__n_start_req_16;
10649         }
10650         case 'K': {
10651           p++;
10652           goto s_n_llhttp__internal__n_start_req_17;
10653         }
10654         case 'O': {
10655           p++;
10656           goto s_n_llhttp__internal__n_start_req_22;
10657         }
10658         default: {
10659           goto s_n_llhttp__internal__n_error_48;
10660         }
10661       }
10662       /* UNREACHABLE */;
10663       abort();
10664     }
10665     case s_n_llhttp__internal__n_start_req_23:
10666     s_n_llhttp__internal__n_start_req_23: {
10667       llparse_match_t match_seq;
10668 
10669       if (p == endp) {
10670         return s_n_llhttp__internal__n_start_req_23;
10671       }
10672       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob31, 5);
10673       p = match_seq.current;
10674       switch (match_seq.status) {
10675         case kMatchComplete: {
10676           p++;
10677           match = 25;
10678           goto s_n_llhttp__internal__n_invoke_store_method_1;
10679         }
10680         case kMatchPause: {
10681           return s_n_llhttp__internal__n_start_req_23;
10682         }
10683         case kMatchMismatch: {
10684           goto s_n_llhttp__internal__n_error_48;
10685         }
10686       }
10687       /* UNREACHABLE */;
10688       abort();
10689     }
10690     case s_n_llhttp__internal__n_start_req_24:
10691     s_n_llhttp__internal__n_start_req_24: {
10692       llparse_match_t match_seq;
10693 
10694       if (p == endp) {
10695         return s_n_llhttp__internal__n_start_req_24;
10696       }
10697       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob32, 6);
10698       p = match_seq.current;
10699       switch (match_seq.status) {
10700         case kMatchComplete: {
10701           p++;
10702           match = 6;
10703           goto s_n_llhttp__internal__n_invoke_store_method_1;
10704         }
10705         case kMatchPause: {
10706           return s_n_llhttp__internal__n_start_req_24;
10707         }
10708         case kMatchMismatch: {
10709           goto s_n_llhttp__internal__n_error_48;
10710         }
10711       }
10712       /* UNREACHABLE */;
10713       abort();
10714     }
10715     case s_n_llhttp__internal__n_start_req_26:
10716     s_n_llhttp__internal__n_start_req_26: {
10717       llparse_match_t match_seq;
10718 
10719       if (p == endp) {
10720         return s_n_llhttp__internal__n_start_req_26;
10721       }
10722       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob33, 3);
10723       p = match_seq.current;
10724       switch (match_seq.status) {
10725         case kMatchComplete: {
10726           p++;
10727           match = 28;
10728           goto s_n_llhttp__internal__n_invoke_store_method_1;
10729         }
10730         case kMatchPause: {
10731           return s_n_llhttp__internal__n_start_req_26;
10732         }
10733         case kMatchMismatch: {
10734           goto s_n_llhttp__internal__n_error_48;
10735         }
10736       }
10737       /* UNREACHABLE */;
10738       abort();
10739     }
10740     case s_n_llhttp__internal__n_start_req_27:
10741     s_n_llhttp__internal__n_start_req_27: {
10742       llparse_match_t match_seq;
10743 
10744       if (p == endp) {
10745         return s_n_llhttp__internal__n_start_req_27;
10746       }
10747       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob34, 2);
10748       p = match_seq.current;
10749       switch (match_seq.status) {
10750         case kMatchComplete: {
10751           p++;
10752           match = 3;
10753           goto s_n_llhttp__internal__n_invoke_store_method_1;
10754         }
10755         case kMatchPause: {
10756           return s_n_llhttp__internal__n_start_req_27;
10757         }
10758         case kMatchMismatch: {
10759           goto s_n_llhttp__internal__n_error_48;
10760         }
10761       }
10762       /* UNREACHABLE */;
10763       abort();
10764     }
10765     case s_n_llhttp__internal__n_start_req_31:
10766     s_n_llhttp__internal__n_start_req_31: {
10767       llparse_match_t match_seq;
10768 
10769       if (p == endp) {
10770         return s_n_llhttp__internal__n_start_req_31;
10771       }
10772       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob35, 3);
10773       p = match_seq.current;
10774       switch (match_seq.status) {
10775         case kMatchComplete: {
10776           p++;
10777           match = 12;
10778           goto s_n_llhttp__internal__n_invoke_store_method_1;
10779         }
10780         case kMatchPause: {
10781           return s_n_llhttp__internal__n_start_req_31;
10782         }
10783         case kMatchMismatch: {
10784           goto s_n_llhttp__internal__n_error_48;
10785         }
10786       }
10787       /* UNREACHABLE */;
10788       abort();
10789     }
10790     case s_n_llhttp__internal__n_start_req_32:
10791     s_n_llhttp__internal__n_start_req_32: {
10792       llparse_match_t match_seq;
10793 
10794       if (p == endp) {
10795         return s_n_llhttp__internal__n_start_req_32;
10796       }
10797       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob36, 4);
10798       p = match_seq.current;
10799       switch (match_seq.status) {
10800         case kMatchComplete: {
10801           p++;
10802           match = 13;
10803           goto s_n_llhttp__internal__n_invoke_store_method_1;
10804         }
10805         case kMatchPause: {
10806           return s_n_llhttp__internal__n_start_req_32;
10807         }
10808         case kMatchMismatch: {
10809           goto s_n_llhttp__internal__n_error_48;
10810         }
10811       }
10812       /* UNREACHABLE */;
10813       abort();
10814     }
10815     case s_n_llhttp__internal__n_start_req_30:
10816     s_n_llhttp__internal__n_start_req_30: {
10817       if (p == endp) {
10818         return s_n_llhttp__internal__n_start_req_30;
10819       }
10820       switch (*p) {
10821         case 'F': {
10822           p++;
10823           goto s_n_llhttp__internal__n_start_req_31;
10824         }
10825         case 'P': {
10826           p++;
10827           goto s_n_llhttp__internal__n_start_req_32;
10828         }
10829         default: {
10830           goto s_n_llhttp__internal__n_error_48;
10831         }
10832       }
10833       /* UNREACHABLE */;
10834       abort();
10835     }
10836     case s_n_llhttp__internal__n_start_req_29:
10837     s_n_llhttp__internal__n_start_req_29: {
10838       if (p == endp) {
10839         return s_n_llhttp__internal__n_start_req_29;
10840       }
10841       switch (*p) {
10842         case 'P': {
10843           p++;
10844           goto s_n_llhttp__internal__n_start_req_30;
10845         }
10846         default: {
10847           goto s_n_llhttp__internal__n_error_48;
10848         }
10849       }
10850       /* UNREACHABLE */;
10851       abort();
10852     }
10853     case s_n_llhttp__internal__n_start_req_28:
10854     s_n_llhttp__internal__n_start_req_28: {
10855       if (p == endp) {
10856         return s_n_llhttp__internal__n_start_req_28;
10857       }
10858       switch (*p) {
10859         case 'I': {
10860           p++;
10861           match = 34;
10862           goto s_n_llhttp__internal__n_invoke_store_method_1;
10863         }
10864         case 'O': {
10865           p++;
10866           goto s_n_llhttp__internal__n_start_req_29;
10867         }
10868         default: {
10869           goto s_n_llhttp__internal__n_error_48;
10870         }
10871       }
10872       /* UNREACHABLE */;
10873       abort();
10874     }
10875     case s_n_llhttp__internal__n_start_req_34:
10876     s_n_llhttp__internal__n_start_req_34: {
10877       llparse_match_t match_seq;
10878 
10879       if (p == endp) {
10880         return s_n_llhttp__internal__n_start_req_34;
10881       }
10882       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob37, 2);
10883       p = match_seq.current;
10884       switch (match_seq.status) {
10885         case kMatchComplete: {
10886           p++;
10887           match = 29;
10888           goto s_n_llhttp__internal__n_invoke_store_method_1;
10889         }
10890         case kMatchPause: {
10891           return s_n_llhttp__internal__n_start_req_34;
10892         }
10893         case kMatchMismatch: {
10894           goto s_n_llhttp__internal__n_error_48;
10895         }
10896       }
10897       /* UNREACHABLE */;
10898       abort();
10899     }
10900     case s_n_llhttp__internal__n_start_req_33:
10901     s_n_llhttp__internal__n_start_req_33: {
10902       if (p == endp) {
10903         return s_n_llhttp__internal__n_start_req_33;
10904       }
10905       switch (*p) {
10906         case 'R': {
10907           p++;
10908           goto s_n_llhttp__internal__n_start_req_34;
10909         }
10910         case 'T': {
10911           p++;
10912           match = 4;
10913           goto s_n_llhttp__internal__n_invoke_store_method_1;
10914         }
10915         default: {
10916           goto s_n_llhttp__internal__n_error_48;
10917         }
10918       }
10919       /* UNREACHABLE */;
10920       abort();
10921     }
10922     case s_n_llhttp__internal__n_start_req_25:
10923     s_n_llhttp__internal__n_start_req_25: {
10924       if (p == endp) {
10925         return s_n_llhttp__internal__n_start_req_25;
10926       }
10927       switch (*p) {
10928         case 'A': {
10929           p++;
10930           goto s_n_llhttp__internal__n_start_req_26;
10931         }
10932         case 'O': {
10933           p++;
10934           goto s_n_llhttp__internal__n_start_req_27;
10935         }
10936         case 'R': {
10937           p++;
10938           goto s_n_llhttp__internal__n_start_req_28;
10939         }
10940         case 'U': {
10941           p++;
10942           goto s_n_llhttp__internal__n_start_req_33;
10943         }
10944         default: {
10945           goto s_n_llhttp__internal__n_error_48;
10946         }
10947       }
10948       /* UNREACHABLE */;
10949       abort();
10950     }
10951     case s_n_llhttp__internal__n_start_req_37:
10952     s_n_llhttp__internal__n_start_req_37: {
10953       llparse_match_t match_seq;
10954 
10955       if (p == endp) {
10956         return s_n_llhttp__internal__n_start_req_37;
10957       }
10958       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob38, 3);
10959       p = match_seq.current;
10960       switch (match_seq.status) {
10961         case kMatchComplete: {
10962           p++;
10963           match = 17;
10964           goto s_n_llhttp__internal__n_invoke_store_method_1;
10965         }
10966         case kMatchPause: {
10967           return s_n_llhttp__internal__n_start_req_37;
10968         }
10969         case kMatchMismatch: {
10970           goto s_n_llhttp__internal__n_error_48;
10971         }
10972       }
10973       /* UNREACHABLE */;
10974       abort();
10975     }
10976     case s_n_llhttp__internal__n_start_req_38:
10977     s_n_llhttp__internal__n_start_req_38: {
10978       llparse_match_t match_seq;
10979 
10980       if (p == endp) {
10981         return s_n_llhttp__internal__n_start_req_38;
10982       }
10983       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob39, 3);
10984       p = match_seq.current;
10985       switch (match_seq.status) {
10986         case kMatchComplete: {
10987           p++;
10988           match = 20;
10989           goto s_n_llhttp__internal__n_invoke_store_method_1;
10990         }
10991         case kMatchPause: {
10992           return s_n_llhttp__internal__n_start_req_38;
10993         }
10994         case kMatchMismatch: {
10995           goto s_n_llhttp__internal__n_error_48;
10996         }
10997       }
10998       /* UNREACHABLE */;
10999       abort();
11000     }
11001     case s_n_llhttp__internal__n_start_req_36:
11002     s_n_llhttp__internal__n_start_req_36: {
11003       if (p == endp) {
11004         return s_n_llhttp__internal__n_start_req_36;
11005       }
11006       switch (*p) {
11007         case 'B': {
11008           p++;
11009           goto s_n_llhttp__internal__n_start_req_37;
11010         }
11011         case 'P': {
11012           p++;
11013           goto s_n_llhttp__internal__n_start_req_38;
11014         }
11015         default: {
11016           goto s_n_llhttp__internal__n_error_48;
11017         }
11018       }
11019       /* UNREACHABLE */;
11020       abort();
11021     }
11022     case s_n_llhttp__internal__n_start_req_35:
11023     s_n_llhttp__internal__n_start_req_35: {
11024       if (p == endp) {
11025         return s_n_llhttp__internal__n_start_req_35;
11026       }
11027       switch (*p) {
11028         case 'E': {
11029           p++;
11030           goto s_n_llhttp__internal__n_start_req_36;
11031         }
11032         default: {
11033           goto s_n_llhttp__internal__n_error_48;
11034         }
11035       }
11036       /* UNREACHABLE */;
11037       abort();
11038     }
11039     case s_n_llhttp__internal__n_start_req_40:
11040     s_n_llhttp__internal__n_start_req_40: {
11041       llparse_match_t match_seq;
11042 
11043       if (p == endp) {
11044         return s_n_llhttp__internal__n_start_req_40;
11045       }
11046       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob40, 4);
11047       p = match_seq.current;
11048       switch (match_seq.status) {
11049         case kMatchComplete: {
11050           p++;
11051           match = 14;
11052           goto s_n_llhttp__internal__n_invoke_store_method_1;
11053         }
11054         case kMatchPause: {
11055           return s_n_llhttp__internal__n_start_req_40;
11056         }
11057         case kMatchMismatch: {
11058           goto s_n_llhttp__internal__n_error_48;
11059         }
11060       }
11061       /* UNREACHABLE */;
11062       abort();
11063     }
11064     case s_n_llhttp__internal__n_start_req_41:
11065     s_n_llhttp__internal__n_start_req_41: {
11066       llparse_match_t match_seq;
11067 
11068       if (p == endp) {
11069         return s_n_llhttp__internal__n_start_req_41;
11070       }
11071       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob41, 4);
11072       p = match_seq.current;
11073       switch (match_seq.status) {
11074         case kMatchComplete: {
11075           p++;
11076           match = 33;
11077           goto s_n_llhttp__internal__n_invoke_store_method_1;
11078         }
11079         case kMatchPause: {
11080           return s_n_llhttp__internal__n_start_req_41;
11081         }
11082         case kMatchMismatch: {
11083           goto s_n_llhttp__internal__n_error_48;
11084         }
11085       }
11086       /* UNREACHABLE */;
11087       abort();
11088     }
11089     case s_n_llhttp__internal__n_start_req_42:
11090     s_n_llhttp__internal__n_start_req_42: {
11091       llparse_match_t match_seq;
11092 
11093       if (p == endp) {
11094         return s_n_llhttp__internal__n_start_req_42;
11095       }
11096       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob42, 7);
11097       p = match_seq.current;
11098       switch (match_seq.status) {
11099         case kMatchComplete: {
11100           p++;
11101           match = 26;
11102           goto s_n_llhttp__internal__n_invoke_store_method_1;
11103         }
11104         case kMatchPause: {
11105           return s_n_llhttp__internal__n_start_req_42;
11106         }
11107         case kMatchMismatch: {
11108           goto s_n_llhttp__internal__n_error_48;
11109         }
11110       }
11111       /* UNREACHABLE */;
11112       abort();
11113     }
11114     case s_n_llhttp__internal__n_start_req_39:
11115     s_n_llhttp__internal__n_start_req_39: {
11116       if (p == endp) {
11117         return s_n_llhttp__internal__n_start_req_39;
11118       }
11119       switch (*p) {
11120         case 'E': {
11121           p++;
11122           goto s_n_llhttp__internal__n_start_req_40;
11123         }
11124         case 'O': {
11125           p++;
11126           goto s_n_llhttp__internal__n_start_req_41;
11127         }
11128         case 'U': {
11129           p++;
11130           goto s_n_llhttp__internal__n_start_req_42;
11131         }
11132         default: {
11133           goto s_n_llhttp__internal__n_error_48;
11134         }
11135       }
11136       /* UNREACHABLE */;
11137       abort();
11138     }
11139     case s_n_llhttp__internal__n_start_req_43:
11140     s_n_llhttp__internal__n_start_req_43: {
11141       llparse_match_t match_seq;
11142 
11143       if (p == endp) {
11144         return s_n_llhttp__internal__n_start_req_43;
11145       }
11146       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob43, 4);
11147       p = match_seq.current;
11148       switch (match_seq.status) {
11149         case kMatchComplete: {
11150           p++;
11151           match = 7;
11152           goto s_n_llhttp__internal__n_invoke_store_method_1;
11153         }
11154         case kMatchPause: {
11155           return s_n_llhttp__internal__n_start_req_43;
11156         }
11157         case kMatchMismatch: {
11158           goto s_n_llhttp__internal__n_error_48;
11159         }
11160       }
11161       /* UNREACHABLE */;
11162       abort();
11163     }
11164     case s_n_llhttp__internal__n_start_req_46:
11165     s_n_llhttp__internal__n_start_req_46: {
11166       llparse_match_t match_seq;
11167 
11168       if (p == endp) {
11169         return s_n_llhttp__internal__n_start_req_46;
11170       }
11171       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob44, 3);
11172       p = match_seq.current;
11173       switch (match_seq.status) {
11174         case kMatchComplete: {
11175           p++;
11176           match = 18;
11177           goto s_n_llhttp__internal__n_invoke_store_method_1;
11178         }
11179         case kMatchPause: {
11180           return s_n_llhttp__internal__n_start_req_46;
11181         }
11182         case kMatchMismatch: {
11183           goto s_n_llhttp__internal__n_error_48;
11184         }
11185       }
11186       /* UNREACHABLE */;
11187       abort();
11188     }
11189     case s_n_llhttp__internal__n_start_req_48:
11190     s_n_llhttp__internal__n_start_req_48: {
11191       llparse_match_t match_seq;
11192 
11193       if (p == endp) {
11194         return s_n_llhttp__internal__n_start_req_48;
11195       }
11196       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob45, 2);
11197       p = match_seq.current;
11198       switch (match_seq.status) {
11199         case kMatchComplete: {
11200           p++;
11201           match = 32;
11202           goto s_n_llhttp__internal__n_invoke_store_method_1;
11203         }
11204         case kMatchPause: {
11205           return s_n_llhttp__internal__n_start_req_48;
11206         }
11207         case kMatchMismatch: {
11208           goto s_n_llhttp__internal__n_error_48;
11209         }
11210       }
11211       /* UNREACHABLE */;
11212       abort();
11213     }
11214     case s_n_llhttp__internal__n_start_req_49:
11215     s_n_llhttp__internal__n_start_req_49: {
11216       llparse_match_t match_seq;
11217 
11218       if (p == endp) {
11219         return s_n_llhttp__internal__n_start_req_49;
11220       }
11221       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob46, 2);
11222       p = match_seq.current;
11223       switch (match_seq.status) {
11224         case kMatchComplete: {
11225           p++;
11226           match = 15;
11227           goto s_n_llhttp__internal__n_invoke_store_method_1;
11228         }
11229         case kMatchPause: {
11230           return s_n_llhttp__internal__n_start_req_49;
11231         }
11232         case kMatchMismatch: {
11233           goto s_n_llhttp__internal__n_error_48;
11234         }
11235       }
11236       /* UNREACHABLE */;
11237       abort();
11238     }
11239     case s_n_llhttp__internal__n_start_req_47:
11240     s_n_llhttp__internal__n_start_req_47: {
11241       if (p == endp) {
11242         return s_n_llhttp__internal__n_start_req_47;
11243       }
11244       switch (*p) {
11245         case 'I': {
11246           p++;
11247           goto s_n_llhttp__internal__n_start_req_48;
11248         }
11249         case 'O': {
11250           p++;
11251           goto s_n_llhttp__internal__n_start_req_49;
11252         }
11253         default: {
11254           goto s_n_llhttp__internal__n_error_48;
11255         }
11256       }
11257       /* UNREACHABLE */;
11258       abort();
11259     }
11260     case s_n_llhttp__internal__n_start_req_50:
11261     s_n_llhttp__internal__n_start_req_50: {
11262       llparse_match_t match_seq;
11263 
11264       if (p == endp) {
11265         return s_n_llhttp__internal__n_start_req_50;
11266       }
11267       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob47, 8);
11268       p = match_seq.current;
11269       switch (match_seq.status) {
11270         case kMatchComplete: {
11271           p++;
11272           match = 27;
11273           goto s_n_llhttp__internal__n_invoke_store_method_1;
11274         }
11275         case kMatchPause: {
11276           return s_n_llhttp__internal__n_start_req_50;
11277         }
11278         case kMatchMismatch: {
11279           goto s_n_llhttp__internal__n_error_48;
11280         }
11281       }
11282       /* UNREACHABLE */;
11283       abort();
11284     }
11285     case s_n_llhttp__internal__n_start_req_45:
11286     s_n_llhttp__internal__n_start_req_45: {
11287       if (p == endp) {
11288         return s_n_llhttp__internal__n_start_req_45;
11289       }
11290       switch (*p) {
11291         case 'B': {
11292           p++;
11293           goto s_n_llhttp__internal__n_start_req_46;
11294         }
11295         case 'L': {
11296           p++;
11297           goto s_n_llhttp__internal__n_start_req_47;
11298         }
11299         case 'S': {
11300           p++;
11301           goto s_n_llhttp__internal__n_start_req_50;
11302         }
11303         default: {
11304           goto s_n_llhttp__internal__n_error_48;
11305         }
11306       }
11307       /* UNREACHABLE */;
11308       abort();
11309     }
11310     case s_n_llhttp__internal__n_start_req_44:
11311     s_n_llhttp__internal__n_start_req_44: {
11312       if (p == endp) {
11313         return s_n_llhttp__internal__n_start_req_44;
11314       }
11315       switch (*p) {
11316         case 'N': {
11317           p++;
11318           goto s_n_llhttp__internal__n_start_req_45;
11319         }
11320         default: {
11321           goto s_n_llhttp__internal__n_error_48;
11322         }
11323       }
11324       /* UNREACHABLE */;
11325       abort();
11326     }
11327     case s_n_llhttp__internal__n_start_req:
11328     s_n_llhttp__internal__n_start_req: {
11329       if (p == endp) {
11330         return s_n_llhttp__internal__n_start_req;
11331       }
11332       switch (*p) {
11333         case 'A': {
11334           p++;
11335           goto s_n_llhttp__internal__n_start_req_1;
11336         }
11337         case 'B': {
11338           p++;
11339           goto s_n_llhttp__internal__n_start_req_2;
11340         }
11341         case 'C': {
11342           p++;
11343           goto s_n_llhttp__internal__n_start_req_3;
11344         }
11345         case 'D': {
11346           p++;
11347           goto s_n_llhttp__internal__n_start_req_8;
11348         }
11349         case 'G': {
11350           p++;
11351           goto s_n_llhttp__internal__n_start_req_9;
11352         }
11353         case 'H': {
11354           p++;
11355           goto s_n_llhttp__internal__n_start_req_10;
11356         }
11357         case 'L': {
11358           p++;
11359           goto s_n_llhttp__internal__n_start_req_11;
11360         }
11361         case 'M': {
11362           p++;
11363           goto s_n_llhttp__internal__n_start_req_14;
11364         }
11365         case 'N': {
11366           p++;
11367           goto s_n_llhttp__internal__n_start_req_23;
11368         }
11369         case 'O': {
11370           p++;
11371           goto s_n_llhttp__internal__n_start_req_24;
11372         }
11373         case 'P': {
11374           p++;
11375           goto s_n_llhttp__internal__n_start_req_25;
11376         }
11377         case 'R': {
11378           p++;
11379           goto s_n_llhttp__internal__n_start_req_35;
11380         }
11381         case 'S': {
11382           p++;
11383           goto s_n_llhttp__internal__n_start_req_39;
11384         }
11385         case 'T': {
11386           p++;
11387           goto s_n_llhttp__internal__n_start_req_43;
11388         }
11389         case 'U': {
11390           p++;
11391           goto s_n_llhttp__internal__n_start_req_44;
11392         }
11393         default: {
11394           goto s_n_llhttp__internal__n_error_48;
11395         }
11396       }
11397       /* UNREACHABLE */;
11398       abort();
11399     }
11400     case s_n_llhttp__internal__n_res_line_almost_done:
11401     s_n_llhttp__internal__n_res_line_almost_done: {
11402       if (p == endp) {
11403         return s_n_llhttp__internal__n_res_line_almost_done;
11404       }
11405       p++;
11406       goto s_n_llhttp__internal__n_header_field_start;
11407       /* UNREACHABLE */;
11408       abort();
11409     }
11410     case s_n_llhttp__internal__n_res_status:
11411     s_n_llhttp__internal__n_res_status: {
11412       if (p == endp) {
11413         return s_n_llhttp__internal__n_res_status;
11414       }
11415       switch (*p) {
11416         case 10: {
11417           goto s_n_llhttp__internal__n_span_end_llhttp__on_status;
11418         }
11419         case 13: {
11420           goto s_n_llhttp__internal__n_span_end_llhttp__on_status_1;
11421         }
11422         default: {
11423           p++;
11424           goto s_n_llhttp__internal__n_res_status;
11425         }
11426       }
11427       /* UNREACHABLE */;
11428       abort();
11429     }
11430     case s_n_llhttp__internal__n_span_start_llhttp__on_status:
11431     s_n_llhttp__internal__n_span_start_llhttp__on_status: {
11432       if (p == endp) {
11433         return s_n_llhttp__internal__n_span_start_llhttp__on_status;
11434       }
11435       state->_span_pos0 = (void*) p;
11436       state->_span_cb0 = llhttp__on_status;
11437       goto s_n_llhttp__internal__n_res_status;
11438       /* UNREACHABLE */;
11439       abort();
11440     }
11441     case s_n_llhttp__internal__n_res_status_start:
11442     s_n_llhttp__internal__n_res_status_start: {
11443       if (p == endp) {
11444         return s_n_llhttp__internal__n_res_status_start;
11445       }
11446       switch (*p) {
11447         case 10: {
11448           p++;
11449           goto s_n_llhttp__internal__n_header_field_start;
11450         }
11451         case 13: {
11452           p++;
11453           goto s_n_llhttp__internal__n_res_line_almost_done;
11454         }
11455         default: {
11456           goto s_n_llhttp__internal__n_span_start_llhttp__on_status;
11457         }
11458       }
11459       /* UNREACHABLE */;
11460       abort();
11461     }
11462     case s_n_llhttp__internal__n_res_status_code_otherwise:
11463     s_n_llhttp__internal__n_res_status_code_otherwise: {
11464       if (p == endp) {
11465         return s_n_llhttp__internal__n_res_status_code_otherwise;
11466       }
11467       switch (*p) {
11468         case 10: {
11469           goto s_n_llhttp__internal__n_res_status_start;
11470         }
11471         case 13: {
11472           goto s_n_llhttp__internal__n_res_status_start;
11473         }
11474         case ' ': {
11475           p++;
11476           goto s_n_llhttp__internal__n_res_status_start;
11477         }
11478         default: {
11479           goto s_n_llhttp__internal__n_error_42;
11480         }
11481       }
11482       /* UNREACHABLE */;
11483       abort();
11484     }
11485     case s_n_llhttp__internal__n_res_status_code:
11486     s_n_llhttp__internal__n_res_status_code: {
11487       if (p == endp) {
11488         return s_n_llhttp__internal__n_res_status_code;
11489       }
11490       switch (*p) {
11491         case '0': {
11492           p++;
11493           match = 0;
11494           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11495         }
11496         case '1': {
11497           p++;
11498           match = 1;
11499           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11500         }
11501         case '2': {
11502           p++;
11503           match = 2;
11504           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11505         }
11506         case '3': {
11507           p++;
11508           match = 3;
11509           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11510         }
11511         case '4': {
11512           p++;
11513           match = 4;
11514           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11515         }
11516         case '5': {
11517           p++;
11518           match = 5;
11519           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11520         }
11521         case '6': {
11522           p++;
11523           match = 6;
11524           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11525         }
11526         case '7': {
11527           p++;
11528           match = 7;
11529           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11530         }
11531         case '8': {
11532           p++;
11533           match = 8;
11534           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11535         }
11536         case '9': {
11537           p++;
11538           match = 9;
11539           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11540         }
11541         default: {
11542           goto s_n_llhttp__internal__n_res_status_code_otherwise;
11543         }
11544       }
11545       /* UNREACHABLE */;
11546       abort();
11547     }
11548     case s_n_llhttp__internal__n_res_http_end:
11549     s_n_llhttp__internal__n_res_http_end: {
11550       if (p == endp) {
11551         return s_n_llhttp__internal__n_res_http_end;
11552       }
11553       switch (*p) {
11554         case ' ': {
11555           p++;
11556           goto s_n_llhttp__internal__n_invoke_update_status_code;
11557         }
11558         default: {
11559           goto s_n_llhttp__internal__n_error_43;
11560         }
11561       }
11562       /* UNREACHABLE */;
11563       abort();
11564     }
11565     case s_n_llhttp__internal__n_res_http_minor:
11566     s_n_llhttp__internal__n_res_http_minor: {
11567       if (p == endp) {
11568         return s_n_llhttp__internal__n_res_http_minor;
11569       }
11570       switch (*p) {
11571         case '0': {
11572           p++;
11573           match = 0;
11574           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11575         }
11576         case '1': {
11577           p++;
11578           match = 1;
11579           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11580         }
11581         case '2': {
11582           p++;
11583           match = 2;
11584           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11585         }
11586         case '3': {
11587           p++;
11588           match = 3;
11589           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11590         }
11591         case '4': {
11592           p++;
11593           match = 4;
11594           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11595         }
11596         case '5': {
11597           p++;
11598           match = 5;
11599           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11600         }
11601         case '6': {
11602           p++;
11603           match = 6;
11604           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11605         }
11606         case '7': {
11607           p++;
11608           match = 7;
11609           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11610         }
11611         case '8': {
11612           p++;
11613           match = 8;
11614           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11615         }
11616         case '9': {
11617           p++;
11618           match = 9;
11619           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11620         }
11621         default: {
11622           goto s_n_llhttp__internal__n_error_44;
11623         }
11624       }
11625       /* UNREACHABLE */;
11626       abort();
11627     }
11628     case s_n_llhttp__internal__n_res_http_dot:
11629     s_n_llhttp__internal__n_res_http_dot: {
11630       if (p == endp) {
11631         return s_n_llhttp__internal__n_res_http_dot;
11632       }
11633       switch (*p) {
11634         case '.': {
11635           p++;
11636           goto s_n_llhttp__internal__n_res_http_minor;
11637         }
11638         default: {
11639           goto s_n_llhttp__internal__n_error_45;
11640         }
11641       }
11642       /* UNREACHABLE */;
11643       abort();
11644     }
11645     case s_n_llhttp__internal__n_res_http_major:
11646     s_n_llhttp__internal__n_res_http_major: {
11647       if (p == endp) {
11648         return s_n_llhttp__internal__n_res_http_major;
11649       }
11650       switch (*p) {
11651         case '0': {
11652           p++;
11653           match = 0;
11654           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11655         }
11656         case '1': {
11657           p++;
11658           match = 1;
11659           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11660         }
11661         case '2': {
11662           p++;
11663           match = 2;
11664           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11665         }
11666         case '3': {
11667           p++;
11668           match = 3;
11669           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11670         }
11671         case '4': {
11672           p++;
11673           match = 4;
11674           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11675         }
11676         case '5': {
11677           p++;
11678           match = 5;
11679           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11680         }
11681         case '6': {
11682           p++;
11683           match = 6;
11684           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11685         }
11686         case '7': {
11687           p++;
11688           match = 7;
11689           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11690         }
11691         case '8': {
11692           p++;
11693           match = 8;
11694           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11695         }
11696         case '9': {
11697           p++;
11698           match = 9;
11699           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11700         }
11701         default: {
11702           goto s_n_llhttp__internal__n_error_46;
11703         }
11704       }
11705       /* UNREACHABLE */;
11706       abort();
11707     }
11708     case s_n_llhttp__internal__n_start_res:
11709     s_n_llhttp__internal__n_start_res: {
11710       llparse_match_t match_seq;
11711 
11712       if (p == endp) {
11713         return s_n_llhttp__internal__n_start_res;
11714       }
11715       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob48, 5);
11716       p = match_seq.current;
11717       switch (match_seq.status) {
11718         case kMatchComplete: {
11719           p++;
11720           goto s_n_llhttp__internal__n_res_http_major;
11721         }
11722         case kMatchPause: {
11723           return s_n_llhttp__internal__n_start_res;
11724         }
11725         case kMatchMismatch: {
11726           goto s_n_llhttp__internal__n_error_49;
11727         }
11728       }
11729       /* UNREACHABLE */;
11730       abort();
11731     }
11732     case s_n_llhttp__internal__n_req_or_res_method_2:
11733     s_n_llhttp__internal__n_req_or_res_method_2: {
11734       llparse_match_t match_seq;
11735 
11736       if (p == endp) {
11737         return s_n_llhttp__internal__n_req_or_res_method_2;
11738       }
11739       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob49, 2);
11740       p = match_seq.current;
11741       switch (match_seq.status) {
11742         case kMatchComplete: {
11743           p++;
11744           match = 2;
11745           goto s_n_llhttp__internal__n_invoke_store_method;
11746         }
11747         case kMatchPause: {
11748           return s_n_llhttp__internal__n_req_or_res_method_2;
11749         }
11750         case kMatchMismatch: {
11751           goto s_n_llhttp__internal__n_error_47;
11752         }
11753       }
11754       /* UNREACHABLE */;
11755       abort();
11756     }
11757     case s_n_llhttp__internal__n_req_or_res_method_3:
11758     s_n_llhttp__internal__n_req_or_res_method_3: {
11759       llparse_match_t match_seq;
11760 
11761       if (p == endp) {
11762         return s_n_llhttp__internal__n_req_or_res_method_3;
11763       }
11764       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob50, 3);
11765       p = match_seq.current;
11766       switch (match_seq.status) {
11767         case kMatchComplete: {
11768           p++;
11769           goto s_n_llhttp__internal__n_invoke_update_type_1;
11770         }
11771         case kMatchPause: {
11772           return s_n_llhttp__internal__n_req_or_res_method_3;
11773         }
11774         case kMatchMismatch: {
11775           goto s_n_llhttp__internal__n_error_47;
11776         }
11777       }
11778       /* UNREACHABLE */;
11779       abort();
11780     }
11781     case s_n_llhttp__internal__n_req_or_res_method_1:
11782     s_n_llhttp__internal__n_req_or_res_method_1: {
11783       if (p == endp) {
11784         return s_n_llhttp__internal__n_req_or_res_method_1;
11785       }
11786       switch (*p) {
11787         case 'E': {
11788           p++;
11789           goto s_n_llhttp__internal__n_req_or_res_method_2;
11790         }
11791         case 'T': {
11792           p++;
11793           goto s_n_llhttp__internal__n_req_or_res_method_3;
11794         }
11795         default: {
11796           goto s_n_llhttp__internal__n_error_47;
11797         }
11798       }
11799       /* UNREACHABLE */;
11800       abort();
11801     }
11802     case s_n_llhttp__internal__n_req_or_res_method:
11803     s_n_llhttp__internal__n_req_or_res_method: {
11804       if (p == endp) {
11805         return s_n_llhttp__internal__n_req_or_res_method;
11806       }
11807       switch (*p) {
11808         case 'H': {
11809           p++;
11810           goto s_n_llhttp__internal__n_req_or_res_method_1;
11811         }
11812         default: {
11813           goto s_n_llhttp__internal__n_error_47;
11814         }
11815       }
11816       /* UNREACHABLE */;
11817       abort();
11818     }
11819     case s_n_llhttp__internal__n_start_req_or_res:
11820     s_n_llhttp__internal__n_start_req_or_res: {
11821       if (p == endp) {
11822         return s_n_llhttp__internal__n_start_req_or_res;
11823       }
11824       switch (*p) {
11825         case 'H': {
11826           goto s_n_llhttp__internal__n_req_or_res_method;
11827         }
11828         default: {
11829           goto s_n_llhttp__internal__n_invoke_update_type_2;
11830         }
11831       }
11832       /* UNREACHABLE */;
11833       abort();
11834     }
11835     case s_n_llhttp__internal__n_invoke_load_type:
11836     s_n_llhttp__internal__n_invoke_load_type: {
11837       switch (llhttp__internal__c_load_type(state, p, endp)) {
11838         case 1:
11839           goto s_n_llhttp__internal__n_start_req;
11840         case 2:
11841           goto s_n_llhttp__internal__n_start_res;
11842         default:
11843           goto s_n_llhttp__internal__n_start_req_or_res;
11844       }
11845       /* UNREACHABLE */;
11846       abort();
11847     }
11848     case s_n_llhttp__internal__n_start:
11849     s_n_llhttp__internal__n_start: {
11850       if (p == endp) {
11851         return s_n_llhttp__internal__n_start;
11852       }
11853       switch (*p) {
11854         case 10: {
11855           p++;
11856           goto s_n_llhttp__internal__n_start;
11857         }
11858         case 13: {
11859           p++;
11860           goto s_n_llhttp__internal__n_start;
11861         }
11862         default: {
11863           goto s_n_llhttp__internal__n_invoke_update_finish;
11864         }
11865       }
11866       /* UNREACHABLE */;
11867       abort();
11868     }
11869     default:
11870       /* UNREACHABLE */
11871       abort();
11872   }
11873   s_n_llhttp__internal__n_error_36: {
11874     state->error = 0x7;
11875     state->reason = "Invalid characters in url";
11876     state->error_pos = (const char*) p;
11877     state->_current = (void*) (intptr_t) s_error;
11878     return s_error;
11879     /* UNREACHABLE */;
11880     abort();
11881   }
11882   s_n_llhttp__internal__n_invoke_update_finish_1: {
11883     switch (llhttp__internal__c_update_finish_1(state, p, endp)) {
11884       default:
11885         goto s_n_llhttp__internal__n_start;
11886     }
11887     /* UNREACHABLE */;
11888     abort();
11889   }
11890   s_n_llhttp__internal__n_pause_5: {
11891     state->error = 0x15;
11892     state->reason = "on_message_complete pause";
11893     state->error_pos = (const char*) p;
11894     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_is_equal_upgrade;
11895     return s_error;
11896     /* UNREACHABLE */;
11897     abort();
11898   }
11899   s_n_llhttp__internal__n_error_10: {
11900     state->error = 0x12;
11901     state->reason = "`on_message_complete` callback error";
11902     state->error_pos = (const char*) p;
11903     state->_current = (void*) (intptr_t) s_error;
11904     return s_error;
11905     /* UNREACHABLE */;
11906     abort();
11907   }
11908   s_n_llhttp__internal__n_pause_7: {
11909     state->error = 0x15;
11910     state->reason = "on_chunk_complete pause";
11911     state->error_pos = (const char*) p;
11912     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
11913     return s_error;
11914     /* UNREACHABLE */;
11915     abort();
11916   }
11917   s_n_llhttp__internal__n_error_14: {
11918     state->error = 0x14;
11919     state->reason = "`on_chunk_complete` callback error";
11920     state->error_pos = (const char*) p;
11921     state->_current = (void*) (intptr_t) s_error;
11922     return s_error;
11923     /* UNREACHABLE */;
11924     abort();
11925   }
11926   s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete_1: {
11927     switch (llhttp__on_chunk_complete(state, p, endp)) {
11928       case 0:
11929         goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
11930       case 21:
11931         goto s_n_llhttp__internal__n_pause_7;
11932       default:
11933         goto s_n_llhttp__internal__n_error_14;
11934     }
11935     /* UNREACHABLE */;
11936     abort();
11937   }
11938   s_n_llhttp__internal__n_error_12: {
11939     state->error = 0x4;
11940     state->reason = "Content-Length can't be present with Transfer-Encoding";
11941     state->error_pos = (const char*) p;
11942     state->_current = (void*) (intptr_t) s_error;
11943     return s_error;
11944     /* UNREACHABLE */;
11945     abort();
11946   }
11947   s_n_llhttp__internal__n_error_13: {
11948     state->error = 0x4;
11949     state->reason = "Content-Length can't be present with chunked encoding";
11950     state->error_pos = (const char*) p;
11951     state->_current = (void*) (intptr_t) s_error;
11952     return s_error;
11953     /* UNREACHABLE */;
11954     abort();
11955   }
11956   s_n_llhttp__internal__n_pause_2: {
11957     state->error = 0x15;
11958     state->reason = "on_message_complete pause";
11959     state->error_pos = (const char*) p;
11960     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_pause_1;
11961     return s_error;
11962     /* UNREACHABLE */;
11963     abort();
11964   }
11965   s_n_llhttp__internal__n_error_3: {
11966     state->error = 0x12;
11967     state->reason = "`on_message_complete` callback error";
11968     state->error_pos = (const char*) p;
11969     state->_current = (void*) (intptr_t) s_error;
11970     return s_error;
11971     /* UNREACHABLE */;
11972     abort();
11973   }
11974   s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_1: {
11975     switch (llhttp__on_message_complete(state, p, endp)) {
11976       case 0:
11977         goto s_n_llhttp__internal__n_pause_1;
11978       case 21:
11979         goto s_n_llhttp__internal__n_pause_2;
11980       default:
11981         goto s_n_llhttp__internal__n_error_3;
11982     }
11983     /* UNREACHABLE */;
11984     abort();
11985   }
11986   s_n_llhttp__internal__n_error_8: {
11987     state->error = 0xc;
11988     state->reason = "Chunk size overflow";
11989     state->error_pos = (const char*) p;
11990     state->_current = (void*) (intptr_t) s_error;
11991     return s_error;
11992     /* UNREACHABLE */;
11993     abort();
11994   }
11995   s_n_llhttp__internal__n_pause_3: {
11996     state->error = 0x15;
11997     state->reason = "on_chunk_complete pause";
11998     state->error_pos = (const char*) p;
11999     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_update_content_length;
12000     return s_error;
12001     /* UNREACHABLE */;
12002     abort();
12003   }
12004   s_n_llhttp__internal__n_error_5: {
12005     state->error = 0x14;
12006     state->reason = "`on_chunk_complete` callback error";
12007     state->error_pos = (const char*) p;
12008     state->_current = (void*) (intptr_t) s_error;
12009     return s_error;
12010     /* UNREACHABLE */;
12011     abort();
12012   }
12013   s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete: {
12014     switch (llhttp__on_chunk_complete(state, p, endp)) {
12015       case 0:
12016         goto s_n_llhttp__internal__n_invoke_update_content_length;
12017       case 21:
12018         goto s_n_llhttp__internal__n_pause_3;
12019       default:
12020         goto s_n_llhttp__internal__n_error_5;
12021     }
12022     /* UNREACHABLE */;
12023     abort();
12024   }
12025   s_n_llhttp__internal__n_span_end_llhttp__on_body: {
12026     const unsigned char* start;
12027     int err;
12028 
12029     start = state->_span_pos0;
12030     state->_span_pos0 = NULL;
12031     err = llhttp__on_body(state, start, p);
12032     if (err != 0) {
12033       state->error = err;
12034       state->error_pos = (const char*) p;
12035       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_chunk_data_almost_done;
12036       return s_error;
12037     }
12038     goto s_n_llhttp__internal__n_chunk_data_almost_done;
12039     /* UNREACHABLE */;
12040     abort();
12041   }
12042   s_n_llhttp__internal__n_invoke_or_flags: {
12043     switch (llhttp__internal__c_or_flags(state, p, endp)) {
12044       default:
12045         goto s_n_llhttp__internal__n_header_field_start;
12046     }
12047     /* UNREACHABLE */;
12048     abort();
12049   }
12050   s_n_llhttp__internal__n_pause_4: {
12051     state->error = 0x15;
12052     state->reason = "on_chunk_header pause";
12053     state->error_pos = (const char*) p;
12054     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_is_equal_content_length;
12055     return s_error;
12056     /* UNREACHABLE */;
12057     abort();
12058   }
12059   s_n_llhttp__internal__n_error_4: {
12060     state->error = 0x13;
12061     state->reason = "`on_chunk_header` callback error";
12062     state->error_pos = (const char*) p;
12063     state->_current = (void*) (intptr_t) s_error;
12064     return s_error;
12065     /* UNREACHABLE */;
12066     abort();
12067   }
12068   s_n_llhttp__internal__n_invoke_llhttp__on_chunk_header: {
12069     switch (llhttp__on_chunk_header(state, p, endp)) {
12070       case 0:
12071         goto s_n_llhttp__internal__n_invoke_is_equal_content_length;
12072       case 21:
12073         goto s_n_llhttp__internal__n_pause_4;
12074       default:
12075         goto s_n_llhttp__internal__n_error_4;
12076     }
12077     /* UNREACHABLE */;
12078     abort();
12079   }
12080   s_n_llhttp__internal__n_error_6: {
12081     state->error = 0x2;
12082     state->reason = "Invalid character in chunk parameters";
12083     state->error_pos = (const char*) p;
12084     state->_current = (void*) (intptr_t) s_error;
12085     return s_error;
12086     /* UNREACHABLE */;
12087     abort();
12088   }
12089   s_n_llhttp__internal__n_error_7: {
12090     state->error = 0xc;
12091     state->reason = "Invalid character in chunk size";
12092     state->error_pos = (const char*) p;
12093     state->_current = (void*) (intptr_t) s_error;
12094     return s_error;
12095     /* UNREACHABLE */;
12096     abort();
12097   }
12098   s_n_llhttp__internal__n_invoke_mul_add_content_length: {
12099     switch (llhttp__internal__c_mul_add_content_length(state, p, endp, match)) {
12100       case 1:
12101         goto s_n_llhttp__internal__n_error_8;
12102       default:
12103         goto s_n_llhttp__internal__n_chunk_size;
12104     }
12105     /* UNREACHABLE */;
12106     abort();
12107   }
12108   s_n_llhttp__internal__n_error_9: {
12109     state->error = 0xc;
12110     state->reason = "Invalid character in chunk size";
12111     state->error_pos = (const char*) p;
12112     state->_current = (void*) (intptr_t) s_error;
12113     return s_error;
12114     /* UNREACHABLE */;
12115     abort();
12116   }
12117   s_n_llhttp__internal__n_span_end_llhttp__on_body_1: {
12118     const unsigned char* start;
12119     int err;
12120 
12121     start = state->_span_pos0;
12122     state->_span_pos0 = NULL;
12123     err = llhttp__on_body(state, start, p);
12124     if (err != 0) {
12125       state->error = err;
12126       state->error_pos = (const char*) p;
12127       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
12128       return s_error;
12129     }
12130     goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
12131     /* UNREACHABLE */;
12132     abort();
12133   }
12134   s_n_llhttp__internal__n_invoke_update_finish_2: {
12135     switch (llhttp__internal__c_update_finish_2(state, p, endp)) {
12136       default:
12137         goto s_n_llhttp__internal__n_span_start_llhttp__on_body_2;
12138     }
12139     /* UNREACHABLE */;
12140     abort();
12141   }
12142   s_n_llhttp__internal__n_error_11: {
12143     state->error = 0xf;
12144     state->reason = "Request has invalid `Transfer-Encoding`";
12145     state->error_pos = (const char*) p;
12146     state->_current = (void*) (intptr_t) s_error;
12147     return s_error;
12148     /* UNREACHABLE */;
12149     abort();
12150   }
12151   s_n_llhttp__internal__n_pause: {
12152     state->error = 0x15;
12153     state->reason = "on_message_complete pause";
12154     state->error_pos = (const char*) p;
12155     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
12156     return s_error;
12157     /* UNREACHABLE */;
12158     abort();
12159   }
12160   s_n_llhttp__internal__n_error_2: {
12161     state->error = 0x12;
12162     state->reason = "`on_message_complete` callback error";
12163     state->error_pos = (const char*) p;
12164     state->_current = (void*) (intptr_t) s_error;
12165     return s_error;
12166     /* UNREACHABLE */;
12167     abort();
12168   }
12169   s_n_llhttp__internal__n_invoke_llhttp__on_message_complete: {
12170     switch (llhttp__on_message_complete(state, p, endp)) {
12171       case 0:
12172         goto s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
12173       case 21:
12174         goto s_n_llhttp__internal__n_pause;
12175       default:
12176         goto s_n_llhttp__internal__n_error_2;
12177     }
12178     /* UNREACHABLE */;
12179     abort();
12180   }
12181   s_n_llhttp__internal__n_invoke_or_flags_1: {
12182     switch (llhttp__internal__c_or_flags_1(state, p, endp)) {
12183       default:
12184         goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
12185     }
12186     /* UNREACHABLE */;
12187     abort();
12188   }
12189   s_n_llhttp__internal__n_invoke_or_flags_2: {
12190     switch (llhttp__internal__c_or_flags_1(state, p, endp)) {
12191       default:
12192         goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
12193     }
12194     /* UNREACHABLE */;
12195     abort();
12196   }
12197   s_n_llhttp__internal__n_invoke_update_upgrade: {
12198     switch (llhttp__internal__c_update_upgrade(state, p, endp)) {
12199       default:
12200         goto s_n_llhttp__internal__n_invoke_or_flags_2;
12201     }
12202     /* UNREACHABLE */;
12203     abort();
12204   }
12205   s_n_llhttp__internal__n_pause_6: {
12206     state->error = 0x15;
12207     state->reason = "Paused by on_headers_complete";
12208     state->error_pos = (const char*) p;
12209     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
12210     return s_error;
12211     /* UNREACHABLE */;
12212     abort();
12213   }
12214   s_n_llhttp__internal__n_error_1: {
12215     state->error = 0x11;
12216     state->reason = "User callback error";
12217     state->error_pos = (const char*) p;
12218     state->_current = (void*) (intptr_t) s_error;
12219     return s_error;
12220     /* UNREACHABLE */;
12221     abort();
12222   }
12223   s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete: {
12224     switch (llhttp__on_headers_complete(state, p, endp)) {
12225       case 0:
12226         goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
12227       case 1:
12228         goto s_n_llhttp__internal__n_invoke_or_flags_1;
12229       case 2:
12230         goto s_n_llhttp__internal__n_invoke_update_upgrade;
12231       case 21:
12232         goto s_n_llhttp__internal__n_pause_6;
12233       default:
12234         goto s_n_llhttp__internal__n_error_1;
12235     }
12236     /* UNREACHABLE */;
12237     abort();
12238   }
12239   s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete: {
12240     switch (llhttp__before_headers_complete(state, p, endp)) {
12241       default:
12242         goto s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete;
12243     }
12244     /* UNREACHABLE */;
12245     abort();
12246   }
12247   s_n_llhttp__internal__n_invoke_test_flags_3: {
12248     switch (llhttp__internal__c_test_flags_3(state, p, endp)) {
12249       case 1:
12250         goto s_n_llhttp__internal__n_error_13;
12251       default:
12252         goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
12253     }
12254     /* UNREACHABLE */;
12255     abort();
12256   }
12257   s_n_llhttp__internal__n_invoke_test_flags_2: {
12258     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
12259       case 0:
12260         goto s_n_llhttp__internal__n_error_12;
12261       case 1:
12262         goto s_n_llhttp__internal__n_invoke_test_flags_3;
12263       default:
12264         goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
12265     }
12266     /* UNREACHABLE */;
12267     abort();
12268   }
12269   s_n_llhttp__internal__n_invoke_test_flags_1: {
12270     switch (llhttp__internal__c_test_flags_1(state, p, endp)) {
12271       case 1:
12272         goto s_n_llhttp__internal__n_invoke_test_flags_2;
12273       default:
12274         goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
12275     }
12276     /* UNREACHABLE */;
12277     abort();
12278   }
12279   s_n_llhttp__internal__n_invoke_test_flags: {
12280     switch (llhttp__internal__c_test_flags(state, p, endp)) {
12281       case 1:
12282         goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete_1;
12283       default:
12284         goto s_n_llhttp__internal__n_invoke_test_flags_1;
12285     }
12286     /* UNREACHABLE */;
12287     abort();
12288   }
12289   s_n_llhttp__internal__n_span_end_llhttp__on_header_field: {
12290     const unsigned char* start;
12291     int err;
12292 
12293     start = state->_span_pos0;
12294     state->_span_pos0 = NULL;
12295     err = llhttp__on_header_field(state, start, p);
12296     if (err != 0) {
12297       state->error = err;
12298       state->error_pos = (const char*) (p + 1);
12299       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_15;
12300       return s_error;
12301     }
12302     p++;
12303     goto s_n_llhttp__internal__n_error_15;
12304     /* UNREACHABLE */;
12305     abort();
12306   }
12307   s_n_llhttp__internal__n_invoke_test_flags_4: {
12308     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
12309       case 1:
12310         goto s_n_llhttp__internal__n_header_field_colon_discard_ws;
12311       default:
12312         goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field;
12313     }
12314     /* UNREACHABLE */;
12315     abort();
12316   }
12317   s_n_llhttp__internal__n_error_16: {
12318     state->error = 0xb;
12319     state->reason = "Empty Content-Length";
12320     state->error_pos = (const char*) p;
12321     state->_current = (void*) (intptr_t) s_error;
12322     return s_error;
12323     /* UNREACHABLE */;
12324     abort();
12325   }
12326   s_n_llhttp__internal__n_span_end_llhttp__on_header_value: {
12327     const unsigned char* start;
12328     int err;
12329 
12330     start = state->_span_pos0;
12331     state->_span_pos0 = NULL;
12332     err = llhttp__on_header_value(state, start, p);
12333     if (err != 0) {
12334       state->error = err;
12335       state->error_pos = (const char*) p;
12336       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_field_start;
12337       return s_error;
12338     }
12339     goto s_n_llhttp__internal__n_header_field_start;
12340     /* UNREACHABLE */;
12341     abort();
12342   }
12343   s_n_llhttp__internal__n_invoke_update_header_state: {
12344     switch (llhttp__internal__c_update_header_state(state, p, endp)) {
12345       default:
12346         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
12347     }
12348     /* UNREACHABLE */;
12349     abort();
12350   }
12351   s_n_llhttp__internal__n_invoke_or_flags_3: {
12352     switch (llhttp__internal__c_or_flags_3(state, p, endp)) {
12353       default:
12354         goto s_n_llhttp__internal__n_invoke_update_header_state;
12355     }
12356     /* UNREACHABLE */;
12357     abort();
12358   }
12359   s_n_llhttp__internal__n_invoke_or_flags_4: {
12360     switch (llhttp__internal__c_or_flags_4(state, p, endp)) {
12361       default:
12362         goto s_n_llhttp__internal__n_invoke_update_header_state;
12363     }
12364     /* UNREACHABLE */;
12365     abort();
12366   }
12367   s_n_llhttp__internal__n_invoke_or_flags_5: {
12368     switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
12369       default:
12370         goto s_n_llhttp__internal__n_invoke_update_header_state;
12371     }
12372     /* UNREACHABLE */;
12373     abort();
12374   }
12375   s_n_llhttp__internal__n_invoke_or_flags_6: {
12376     switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
12377       default:
12378         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
12379     }
12380     /* UNREACHABLE */;
12381     abort();
12382   }
12383   s_n_llhttp__internal__n_invoke_load_header_state_1: {
12384     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
12385       case 5:
12386         goto s_n_llhttp__internal__n_invoke_or_flags_3;
12387       case 6:
12388         goto s_n_llhttp__internal__n_invoke_or_flags_4;
12389       case 7:
12390         goto s_n_llhttp__internal__n_invoke_or_flags_5;
12391       case 8:
12392         goto s_n_llhttp__internal__n_invoke_or_flags_6;
12393       default:
12394         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
12395     }
12396     /* UNREACHABLE */;
12397     abort();
12398   }
12399   s_n_llhttp__internal__n_invoke_load_header_state: {
12400     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
12401       case 2:
12402         goto s_n_llhttp__internal__n_error_16;
12403       default:
12404         goto s_n_llhttp__internal__n_invoke_load_header_state_1;
12405     }
12406     /* UNREACHABLE */;
12407     abort();
12408   }
12409   s_n_llhttp__internal__n_invoke_update_header_state_1: {
12410     switch (llhttp__internal__c_update_header_state(state, p, endp)) {
12411       default:
12412         goto s_n_llhttp__internal__n_header_field_start;
12413     }
12414     /* UNREACHABLE */;
12415     abort();
12416   }
12417   s_n_llhttp__internal__n_invoke_or_flags_7: {
12418     switch (llhttp__internal__c_or_flags_3(state, p, endp)) {
12419       default:
12420         goto s_n_llhttp__internal__n_invoke_update_header_state_1;
12421     }
12422     /* UNREACHABLE */;
12423     abort();
12424   }
12425   s_n_llhttp__internal__n_invoke_or_flags_8: {
12426     switch (llhttp__internal__c_or_flags_4(state, p, endp)) {
12427       default:
12428         goto s_n_llhttp__internal__n_invoke_update_header_state_1;
12429     }
12430     /* UNREACHABLE */;
12431     abort();
12432   }
12433   s_n_llhttp__internal__n_invoke_or_flags_9: {
12434     switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
12435       default:
12436         goto s_n_llhttp__internal__n_invoke_update_header_state_1;
12437     }
12438     /* UNREACHABLE */;
12439     abort();
12440   }
12441   s_n_llhttp__internal__n_invoke_or_flags_10: {
12442     switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
12443       default:
12444         goto s_n_llhttp__internal__n_header_field_start;
12445     }
12446     /* UNREACHABLE */;
12447     abort();
12448   }
12449   s_n_llhttp__internal__n_invoke_load_header_state_3: {
12450     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
12451       case 5:
12452         goto s_n_llhttp__internal__n_invoke_or_flags_7;
12453       case 6:
12454         goto s_n_llhttp__internal__n_invoke_or_flags_8;
12455       case 7:
12456         goto s_n_llhttp__internal__n_invoke_or_flags_9;
12457       case 8:
12458         goto s_n_llhttp__internal__n_invoke_or_flags_10;
12459       default:
12460         goto s_n_llhttp__internal__n_header_field_start;
12461     }
12462     /* UNREACHABLE */;
12463     abort();
12464   }
12465   s_n_llhttp__internal__n_error_17: {
12466     state->error = 0x3;
12467     state->reason = "Missing expected LF after header value";
12468     state->error_pos = (const char*) p;
12469     state->_current = (void*) (intptr_t) s_error;
12470     return s_error;
12471     /* UNREACHABLE */;
12472     abort();
12473   }
12474   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1: {
12475     const unsigned char* start;
12476     int err;
12477 
12478     start = state->_span_pos0;
12479     state->_span_pos0 = NULL;
12480     err = llhttp__on_header_value(state, start, p);
12481     if (err != 0) {
12482       state->error = err;
12483       state->error_pos = (const char*) p;
12484       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_almost_done;
12485       return s_error;
12486     }
12487     goto s_n_llhttp__internal__n_header_value_almost_done;
12488     /* UNREACHABLE */;
12489     abort();
12490   }
12491   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_2: {
12492     const unsigned char* start;
12493     int err;
12494 
12495     start = state->_span_pos0;
12496     state->_span_pos0 = NULL;
12497     err = llhttp__on_header_value(state, start, p);
12498     if (err != 0) {
12499       state->error = err;
12500       state->error_pos = (const char*) (p + 1);
12501       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_almost_done;
12502       return s_error;
12503     }
12504     p++;
12505     goto s_n_llhttp__internal__n_header_value_almost_done;
12506     /* UNREACHABLE */;
12507     abort();
12508   }
12509   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3: {
12510     const unsigned char* start;
12511     int err;
12512 
12513     start = state->_span_pos0;
12514     state->_span_pos0 = NULL;
12515     err = llhttp__on_header_value(state, start, p);
12516     if (err != 0) {
12517       state->error = err;
12518       state->error_pos = (const char*) (p + 1);
12519       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_almost_done;
12520       return s_error;
12521     }
12522     p++;
12523     goto s_n_llhttp__internal__n_header_value_almost_done;
12524     /* UNREACHABLE */;
12525     abort();
12526   }
12527   s_n_llhttp__internal__n_error_18: {
12528     state->error = 0xa;
12529     state->reason = "Invalid header value char";
12530     state->error_pos = (const char*) p;
12531     state->_current = (void*) (intptr_t) s_error;
12532     return s_error;
12533     /* UNREACHABLE */;
12534     abort();
12535   }
12536   s_n_llhttp__internal__n_invoke_test_flags_5: {
12537     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
12538       case 1:
12539         goto s_n_llhttp__internal__n_header_value_lenient;
12540       default:
12541         goto s_n_llhttp__internal__n_error_18;
12542     }
12543     /* UNREACHABLE */;
12544     abort();
12545   }
12546   s_n_llhttp__internal__n_invoke_update_header_state_3: {
12547     switch (llhttp__internal__c_update_header_state(state, p, endp)) {
12548       default:
12549         goto s_n_llhttp__internal__n_header_value_connection;
12550     }
12551     /* UNREACHABLE */;
12552     abort();
12553   }
12554   s_n_llhttp__internal__n_invoke_or_flags_11: {
12555     switch (llhttp__internal__c_or_flags_3(state, p, endp)) {
12556       default:
12557         goto s_n_llhttp__internal__n_invoke_update_header_state_3;
12558     }
12559     /* UNREACHABLE */;
12560     abort();
12561   }
12562   s_n_llhttp__internal__n_invoke_or_flags_12: {
12563     switch (llhttp__internal__c_or_flags_4(state, p, endp)) {
12564       default:
12565         goto s_n_llhttp__internal__n_invoke_update_header_state_3;
12566     }
12567     /* UNREACHABLE */;
12568     abort();
12569   }
12570   s_n_llhttp__internal__n_invoke_or_flags_13: {
12571     switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
12572       default:
12573         goto s_n_llhttp__internal__n_invoke_update_header_state_3;
12574     }
12575     /* UNREACHABLE */;
12576     abort();
12577   }
12578   s_n_llhttp__internal__n_invoke_or_flags_14: {
12579     switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
12580       default:
12581         goto s_n_llhttp__internal__n_header_value_connection;
12582     }
12583     /* UNREACHABLE */;
12584     abort();
12585   }
12586   s_n_llhttp__internal__n_invoke_load_header_state_4: {
12587     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
12588       case 5:
12589         goto s_n_llhttp__internal__n_invoke_or_flags_11;
12590       case 6:
12591         goto s_n_llhttp__internal__n_invoke_or_flags_12;
12592       case 7:
12593         goto s_n_llhttp__internal__n_invoke_or_flags_13;
12594       case 8:
12595         goto s_n_llhttp__internal__n_invoke_or_flags_14;
12596       default:
12597         goto s_n_llhttp__internal__n_header_value_connection;
12598     }
12599     /* UNREACHABLE */;
12600     abort();
12601   }
12602   s_n_llhttp__internal__n_invoke_update_header_state_4: {
12603     switch (llhttp__internal__c_update_header_state_4(state, p, endp)) {
12604       default:
12605         goto s_n_llhttp__internal__n_header_value_connection_token;
12606     }
12607     /* UNREACHABLE */;
12608     abort();
12609   }
12610   s_n_llhttp__internal__n_invoke_update_header_state_2: {
12611     switch (llhttp__internal__c_update_header_state_2(state, p, endp)) {
12612       default:
12613         goto s_n_llhttp__internal__n_header_value_connection_ws;
12614     }
12615     /* UNREACHABLE */;
12616     abort();
12617   }
12618   s_n_llhttp__internal__n_invoke_update_header_state_5: {
12619     switch (llhttp__internal__c_update_header_state_5(state, p, endp)) {
12620       default:
12621         goto s_n_llhttp__internal__n_header_value_connection_ws;
12622     }
12623     /* UNREACHABLE */;
12624     abort();
12625   }
12626   s_n_llhttp__internal__n_invoke_update_header_state_6: {
12627     switch (llhttp__internal__c_update_header_state_6(state, p, endp)) {
12628       default:
12629         goto s_n_llhttp__internal__n_header_value_connection_ws;
12630     }
12631     /* UNREACHABLE */;
12632     abort();
12633   }
12634   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4: {
12635     const unsigned char* start;
12636     int err;
12637 
12638     start = state->_span_pos0;
12639     state->_span_pos0 = NULL;
12640     err = llhttp__on_header_value(state, start, p);
12641     if (err != 0) {
12642       state->error = err;
12643       state->error_pos = (const char*) p;
12644       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_20;
12645       return s_error;
12646     }
12647     goto s_n_llhttp__internal__n_error_20;
12648     /* UNREACHABLE */;
12649     abort();
12650   }
12651   s_n_llhttp__internal__n_invoke_mul_add_content_length_1: {
12652     switch (llhttp__internal__c_mul_add_content_length_1(state, p, endp, match)) {
12653       case 1:
12654         goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4;
12655       default:
12656         goto s_n_llhttp__internal__n_header_value_content_length;
12657     }
12658     /* UNREACHABLE */;
12659     abort();
12660   }
12661   s_n_llhttp__internal__n_invoke_or_flags_15: {
12662     switch (llhttp__internal__c_or_flags_15(state, p, endp)) {
12663       default:
12664         goto s_n_llhttp__internal__n_header_value_otherwise;
12665     }
12666     /* UNREACHABLE */;
12667     abort();
12668   }
12669   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_5: {
12670     const unsigned char* start;
12671     int err;
12672 
12673     start = state->_span_pos0;
12674     state->_span_pos0 = NULL;
12675     err = llhttp__on_header_value(state, start, p);
12676     if (err != 0) {
12677       state->error = err;
12678       state->error_pos = (const char*) p;
12679       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_21;
12680       return s_error;
12681     }
12682     goto s_n_llhttp__internal__n_error_21;
12683     /* UNREACHABLE */;
12684     abort();
12685   }
12686   s_n_llhttp__internal__n_error_19: {
12687     state->error = 0x4;
12688     state->reason = "Duplicate Content-Length";
12689     state->error_pos = (const char*) p;
12690     state->_current = (void*) (intptr_t) s_error;
12691     return s_error;
12692     /* UNREACHABLE */;
12693     abort();
12694   }
12695   s_n_llhttp__internal__n_invoke_test_flags_6: {
12696     switch (llhttp__internal__c_test_flags_6(state, p, endp)) {
12697       case 0:
12698         goto s_n_llhttp__internal__n_header_value_content_length;
12699       default:
12700         goto s_n_llhttp__internal__n_error_19;
12701     }
12702     /* UNREACHABLE */;
12703     abort();
12704   }
12705   s_n_llhttp__internal__n_invoke_update_header_state_7: {
12706     switch (llhttp__internal__c_update_header_state_7(state, p, endp)) {
12707       default:
12708         goto s_n_llhttp__internal__n_header_value_otherwise;
12709     }
12710     /* UNREACHABLE */;
12711     abort();
12712   }
12713   s_n_llhttp__internal__n_invoke_update_header_state_8: {
12714     switch (llhttp__internal__c_update_header_state_4(state, p, endp)) {
12715       default:
12716         goto s_n_llhttp__internal__n_header_value;
12717     }
12718     /* UNREACHABLE */;
12719     abort();
12720   }
12721   s_n_llhttp__internal__n_invoke_and_flags: {
12722     switch (llhttp__internal__c_and_flags(state, p, endp)) {
12723       default:
12724         goto s_n_llhttp__internal__n_header_value_te_chunked;
12725     }
12726     /* UNREACHABLE */;
12727     abort();
12728   }
12729   s_n_llhttp__internal__n_invoke_or_flags_16: {
12730     switch (llhttp__internal__c_or_flags_16(state, p, endp)) {
12731       default:
12732         goto s_n_llhttp__internal__n_invoke_and_flags;
12733     }
12734     /* UNREACHABLE */;
12735     abort();
12736   }
12737   s_n_llhttp__internal__n_invoke_or_flags_17: {
12738     switch (llhttp__internal__c_or_flags_17(state, p, endp)) {
12739       default:
12740         goto s_n_llhttp__internal__n_invoke_update_header_state_8;
12741     }
12742     /* UNREACHABLE */;
12743     abort();
12744   }
12745   s_n_llhttp__internal__n_invoke_load_header_state_2: {
12746     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
12747       case 1:
12748         goto s_n_llhttp__internal__n_header_value_connection;
12749       case 2:
12750         goto s_n_llhttp__internal__n_invoke_test_flags_6;
12751       case 3:
12752         goto s_n_llhttp__internal__n_invoke_or_flags_16;
12753       case 4:
12754         goto s_n_llhttp__internal__n_invoke_or_flags_17;
12755       default:
12756         goto s_n_llhttp__internal__n_header_value;
12757     }
12758     /* UNREACHABLE */;
12759     abort();
12760   }
12761   s_n_llhttp__internal__n_span_end_llhttp__on_header_field_1: {
12762     const unsigned char* start;
12763     int err;
12764 
12765     start = state->_span_pos0;
12766     state->_span_pos0 = NULL;
12767     err = llhttp__on_header_field(state, start, p);
12768     if (err != 0) {
12769       state->error = err;
12770       state->error_pos = (const char*) (p + 1);
12771       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_discard_ws;
12772       return s_error;
12773     }
12774     p++;
12775     goto s_n_llhttp__internal__n_header_value_discard_ws;
12776     /* UNREACHABLE */;
12777     abort();
12778   }
12779   s_n_llhttp__internal__n_span_end_llhttp__on_header_field_2: {
12780     const unsigned char* start;
12781     int err;
12782 
12783     start = state->_span_pos0;
12784     state->_span_pos0 = NULL;
12785     err = llhttp__on_header_field(state, start, p);
12786     if (err != 0) {
12787       state->error = err;
12788       state->error_pos = (const char*) (p + 1);
12789       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_discard_ws;
12790       return s_error;
12791     }
12792     p++;
12793     goto s_n_llhttp__internal__n_header_value_discard_ws;
12794     /* UNREACHABLE */;
12795     abort();
12796   }
12797   s_n_llhttp__internal__n_error_22: {
12798     state->error = 0xa;
12799     state->reason = "Invalid header token";
12800     state->error_pos = (const char*) p;
12801     state->_current = (void*) (intptr_t) s_error;
12802     return s_error;
12803     /* UNREACHABLE */;
12804     abort();
12805   }
12806   s_n_llhttp__internal__n_invoke_update_header_state_9: {
12807     switch (llhttp__internal__c_update_header_state_4(state, p, endp)) {
12808       default:
12809         goto s_n_llhttp__internal__n_header_field_general;
12810     }
12811     /* UNREACHABLE */;
12812     abort();
12813   }
12814   s_n_llhttp__internal__n_invoke_store_header_state: {
12815     switch (llhttp__internal__c_store_header_state(state, p, endp, match)) {
12816       default:
12817         goto s_n_llhttp__internal__n_header_field_colon;
12818     }
12819     /* UNREACHABLE */;
12820     abort();
12821   }
12822   s_n_llhttp__internal__n_invoke_update_header_state_10: {
12823     switch (llhttp__internal__c_update_header_state_4(state, p, endp)) {
12824       default:
12825         goto s_n_llhttp__internal__n_header_field_general;
12826     }
12827     /* UNREACHABLE */;
12828     abort();
12829   }
12830   s_n_llhttp__internal__n_invoke_update_http_minor: {
12831     switch (llhttp__internal__c_update_http_minor(state, p, endp)) {
12832       default:
12833         goto s_n_llhttp__internal__n_header_field_start;
12834     }
12835     /* UNREACHABLE */;
12836     abort();
12837   }
12838   s_n_llhttp__internal__n_invoke_update_http_major: {
12839     switch (llhttp__internal__c_update_http_major(state, p, endp)) {
12840       default:
12841         goto s_n_llhttp__internal__n_invoke_update_http_minor;
12842     }
12843     /* UNREACHABLE */;
12844     abort();
12845   }
12846   s_n_llhttp__internal__n_span_end_llhttp__on_url_3: {
12847     const unsigned char* start;
12848     int err;
12849 
12850     start = state->_span_pos0;
12851     state->_span_pos0 = NULL;
12852     err = llhttp__on_url(state, start, p);
12853     if (err != 0) {
12854       state->error = err;
12855       state->error_pos = (const char*) p;
12856       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
12857       return s_error;
12858     }
12859     goto s_n_llhttp__internal__n_url_skip_to_http09;
12860     /* UNREACHABLE */;
12861     abort();
12862   }
12863   s_n_llhttp__internal__n_error_23: {
12864     state->error = 0x7;
12865     state->reason = "Expected CRLF";
12866     state->error_pos = (const char*) p;
12867     state->_current = (void*) (intptr_t) s_error;
12868     return s_error;
12869     /* UNREACHABLE */;
12870     abort();
12871   }
12872   s_n_llhttp__internal__n_span_end_llhttp__on_url_4: {
12873     const unsigned char* start;
12874     int err;
12875 
12876     start = state->_span_pos0;
12877     state->_span_pos0 = NULL;
12878     err = llhttp__on_url(state, start, p);
12879     if (err != 0) {
12880       state->error = err;
12881       state->error_pos = (const char*) p;
12882       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
12883       return s_error;
12884     }
12885     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
12886     /* UNREACHABLE */;
12887     abort();
12888   }
12889   s_n_llhttp__internal__n_error_24: {
12890     state->error = 0x9;
12891     state->reason = "Expected CRLF after version";
12892     state->error_pos = (const char*) p;
12893     state->_current = (void*) (intptr_t) s_error;
12894     return s_error;
12895     /* UNREACHABLE */;
12896     abort();
12897   }
12898   s_n_llhttp__internal__n_invoke_store_http_minor: {
12899     switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) {
12900       default:
12901         goto s_n_llhttp__internal__n_req_http_end;
12902     }
12903     /* UNREACHABLE */;
12904     abort();
12905   }
12906   s_n_llhttp__internal__n_error_25: {
12907     state->error = 0x9;
12908     state->reason = "Invalid minor version";
12909     state->error_pos = (const char*) p;
12910     state->_current = (void*) (intptr_t) s_error;
12911     return s_error;
12912     /* UNREACHABLE */;
12913     abort();
12914   }
12915   s_n_llhttp__internal__n_error_26: {
12916     state->error = 0x9;
12917     state->reason = "Expected dot";
12918     state->error_pos = (const char*) p;
12919     state->_current = (void*) (intptr_t) s_error;
12920     return s_error;
12921     /* UNREACHABLE */;
12922     abort();
12923   }
12924   s_n_llhttp__internal__n_invoke_store_http_major: {
12925     switch (llhttp__internal__c_store_http_major(state, p, endp, match)) {
12926       default:
12927         goto s_n_llhttp__internal__n_req_http_dot;
12928     }
12929     /* UNREACHABLE */;
12930     abort();
12931   }
12932   s_n_llhttp__internal__n_error_27: {
12933     state->error = 0x9;
12934     state->reason = "Invalid major version";
12935     state->error_pos = (const char*) p;
12936     state->_current = (void*) (intptr_t) s_error;
12937     return s_error;
12938     /* UNREACHABLE */;
12939     abort();
12940   }
12941   s_n_llhttp__internal__n_error_29: {
12942     state->error = 0x8;
12943     state->reason = "Expected HTTP/";
12944     state->error_pos = (const char*) p;
12945     state->_current = (void*) (intptr_t) s_error;
12946     return s_error;
12947     /* UNREACHABLE */;
12948     abort();
12949   }
12950   s_n_llhttp__internal__n_error_28: {
12951     state->error = 0x8;
12952     state->reason = "Expected SOURCE method for ICE/x.x request";
12953     state->error_pos = (const char*) p;
12954     state->_current = (void*) (intptr_t) s_error;
12955     return s_error;
12956     /* UNREACHABLE */;
12957     abort();
12958   }
12959   s_n_llhttp__internal__n_invoke_is_equal_method_1: {
12960     switch (llhttp__internal__c_is_equal_method_1(state, p, endp)) {
12961       case 0:
12962         goto s_n_llhttp__internal__n_error_28;
12963       default:
12964         goto s_n_llhttp__internal__n_req_http_major;
12965     }
12966     /* UNREACHABLE */;
12967     abort();
12968   }
12969   s_n_llhttp__internal__n_span_end_llhttp__on_url_5: {
12970     const unsigned char* start;
12971     int err;
12972 
12973     start = state->_span_pos0;
12974     state->_span_pos0 = NULL;
12975     err = llhttp__on_url(state, start, p);
12976     if (err != 0) {
12977       state->error = err;
12978       state->error_pos = (const char*) p;
12979       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
12980       return s_error;
12981     }
12982     goto s_n_llhttp__internal__n_url_skip_to_http;
12983     /* UNREACHABLE */;
12984     abort();
12985   }
12986   s_n_llhttp__internal__n_span_end_llhttp__on_url_6: {
12987     const unsigned char* start;
12988     int err;
12989 
12990     start = state->_span_pos0;
12991     state->_span_pos0 = NULL;
12992     err = llhttp__on_url(state, start, p);
12993     if (err != 0) {
12994       state->error = err;
12995       state->error_pos = (const char*) p;
12996       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
12997       return s_error;
12998     }
12999     goto s_n_llhttp__internal__n_url_skip_to_http09;
13000     /* UNREACHABLE */;
13001     abort();
13002   }
13003   s_n_llhttp__internal__n_span_end_llhttp__on_url_7: {
13004     const unsigned char* start;
13005     int err;
13006 
13007     start = state->_span_pos0;
13008     state->_span_pos0 = NULL;
13009     err = llhttp__on_url(state, start, p);
13010     if (err != 0) {
13011       state->error = err;
13012       state->error_pos = (const char*) p;
13013       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
13014       return s_error;
13015     }
13016     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
13017     /* UNREACHABLE */;
13018     abort();
13019   }
13020   s_n_llhttp__internal__n_span_end_llhttp__on_url_8: {
13021     const unsigned char* start;
13022     int err;
13023 
13024     start = state->_span_pos0;
13025     state->_span_pos0 = NULL;
13026     err = llhttp__on_url(state, start, p);
13027     if (err != 0) {
13028       state->error = err;
13029       state->error_pos = (const char*) p;
13030       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
13031       return s_error;
13032     }
13033     goto s_n_llhttp__internal__n_url_skip_to_http;
13034     /* UNREACHABLE */;
13035     abort();
13036   }
13037   s_n_llhttp__internal__n_error_30: {
13038     state->error = 0x7;
13039     state->reason = "Invalid char in url fragment start";
13040     state->error_pos = (const char*) p;
13041     state->_current = (void*) (intptr_t) s_error;
13042     return s_error;
13043     /* UNREACHABLE */;
13044     abort();
13045   }
13046   s_n_llhttp__internal__n_span_end_llhttp__on_url_9: {
13047     const unsigned char* start;
13048     int err;
13049 
13050     start = state->_span_pos0;
13051     state->_span_pos0 = NULL;
13052     err = llhttp__on_url(state, start, p);
13053     if (err != 0) {
13054       state->error = err;
13055       state->error_pos = (const char*) p;
13056       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
13057       return s_error;
13058     }
13059     goto s_n_llhttp__internal__n_url_skip_to_http09;
13060     /* UNREACHABLE */;
13061     abort();
13062   }
13063   s_n_llhttp__internal__n_span_end_llhttp__on_url_10: {
13064     const unsigned char* start;
13065     int err;
13066 
13067     start = state->_span_pos0;
13068     state->_span_pos0 = NULL;
13069     err = llhttp__on_url(state, start, p);
13070     if (err != 0) {
13071       state->error = err;
13072       state->error_pos = (const char*) p;
13073       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
13074       return s_error;
13075     }
13076     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
13077     /* UNREACHABLE */;
13078     abort();
13079   }
13080   s_n_llhttp__internal__n_span_end_llhttp__on_url_11: {
13081     const unsigned char* start;
13082     int err;
13083 
13084     start = state->_span_pos0;
13085     state->_span_pos0 = NULL;
13086     err = llhttp__on_url(state, start, p);
13087     if (err != 0) {
13088       state->error = err;
13089       state->error_pos = (const char*) p;
13090       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
13091       return s_error;
13092     }
13093     goto s_n_llhttp__internal__n_url_skip_to_http;
13094     /* UNREACHABLE */;
13095     abort();
13096   }
13097   s_n_llhttp__internal__n_error_31: {
13098     state->error = 0x7;
13099     state->reason = "Invalid char in url query";
13100     state->error_pos = (const char*) p;
13101     state->_current = (void*) (intptr_t) s_error;
13102     return s_error;
13103     /* UNREACHABLE */;
13104     abort();
13105   }
13106   s_n_llhttp__internal__n_error_32: {
13107     state->error = 0x7;
13108     state->reason = "Invalid char in url path";
13109     state->error_pos = (const char*) p;
13110     state->_current = (void*) (intptr_t) s_error;
13111     return s_error;
13112     /* UNREACHABLE */;
13113     abort();
13114   }
13115   s_n_llhttp__internal__n_span_end_llhttp__on_url: {
13116     const unsigned char* start;
13117     int err;
13118 
13119     start = state->_span_pos0;
13120     state->_span_pos0 = NULL;
13121     err = llhttp__on_url(state, start, p);
13122     if (err != 0) {
13123       state->error = err;
13124       state->error_pos = (const char*) p;
13125       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
13126       return s_error;
13127     }
13128     goto s_n_llhttp__internal__n_url_skip_to_http09;
13129     /* UNREACHABLE */;
13130     abort();
13131   }
13132   s_n_llhttp__internal__n_span_end_llhttp__on_url_1: {
13133     const unsigned char* start;
13134     int err;
13135 
13136     start = state->_span_pos0;
13137     state->_span_pos0 = NULL;
13138     err = llhttp__on_url(state, start, p);
13139     if (err != 0) {
13140       state->error = err;
13141       state->error_pos = (const char*) p;
13142       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
13143       return s_error;
13144     }
13145     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
13146     /* UNREACHABLE */;
13147     abort();
13148   }
13149   s_n_llhttp__internal__n_span_end_llhttp__on_url_2: {
13150     const unsigned char* start;
13151     int err;
13152 
13153     start = state->_span_pos0;
13154     state->_span_pos0 = NULL;
13155     err = llhttp__on_url(state, start, p);
13156     if (err != 0) {
13157       state->error = err;
13158       state->error_pos = (const char*) p;
13159       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
13160       return s_error;
13161     }
13162     goto s_n_llhttp__internal__n_url_skip_to_http;
13163     /* UNREACHABLE */;
13164     abort();
13165   }
13166   s_n_llhttp__internal__n_span_end_llhttp__on_url_12: {
13167     const unsigned char* start;
13168     int err;
13169 
13170     start = state->_span_pos0;
13171     state->_span_pos0 = NULL;
13172     err = llhttp__on_url(state, start, p);
13173     if (err != 0) {
13174       state->error = err;
13175       state->error_pos = (const char*) p;
13176       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
13177       return s_error;
13178     }
13179     goto s_n_llhttp__internal__n_url_skip_to_http09;
13180     /* UNREACHABLE */;
13181     abort();
13182   }
13183   s_n_llhttp__internal__n_span_end_llhttp__on_url_13: {
13184     const unsigned char* start;
13185     int err;
13186 
13187     start = state->_span_pos0;
13188     state->_span_pos0 = NULL;
13189     err = llhttp__on_url(state, start, p);
13190     if (err != 0) {
13191       state->error = err;
13192       state->error_pos = (const char*) p;
13193       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
13194       return s_error;
13195     }
13196     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
13197     /* UNREACHABLE */;
13198     abort();
13199   }
13200   s_n_llhttp__internal__n_span_end_llhttp__on_url_14: {
13201     const unsigned char* start;
13202     int err;
13203 
13204     start = state->_span_pos0;
13205     state->_span_pos0 = NULL;
13206     err = llhttp__on_url(state, start, p);
13207     if (err != 0) {
13208       state->error = err;
13209       state->error_pos = (const char*) p;
13210       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
13211       return s_error;
13212     }
13213     goto s_n_llhttp__internal__n_url_skip_to_http;
13214     /* UNREACHABLE */;
13215     abort();
13216   }
13217   s_n_llhttp__internal__n_error_33: {
13218     state->error = 0x7;
13219     state->reason = "Double @ in url";
13220     state->error_pos = (const char*) p;
13221     state->_current = (void*) (intptr_t) s_error;
13222     return s_error;
13223     /* UNREACHABLE */;
13224     abort();
13225   }
13226   s_n_llhttp__internal__n_error_34: {
13227     state->error = 0x7;
13228     state->reason = "Unexpected char in url server";
13229     state->error_pos = (const char*) p;
13230     state->_current = (void*) (intptr_t) s_error;
13231     return s_error;
13232     /* UNREACHABLE */;
13233     abort();
13234   }
13235   s_n_llhttp__internal__n_error_35: {
13236     state->error = 0x7;
13237     state->reason = "Unexpected char in url server";
13238     state->error_pos = (const char*) p;
13239     state->_current = (void*) (intptr_t) s_error;
13240     return s_error;
13241     /* UNREACHABLE */;
13242     abort();
13243   }
13244   s_n_llhttp__internal__n_error_37: {
13245     state->error = 0x7;
13246     state->reason = "Unexpected char in url schema";
13247     state->error_pos = (const char*) p;
13248     state->_current = (void*) (intptr_t) s_error;
13249     return s_error;
13250     /* UNREACHABLE */;
13251     abort();
13252   }
13253   s_n_llhttp__internal__n_error_38: {
13254     state->error = 0x7;
13255     state->reason = "Unexpected char in url schema";
13256     state->error_pos = (const char*) p;
13257     state->_current = (void*) (intptr_t) s_error;
13258     return s_error;
13259     /* UNREACHABLE */;
13260     abort();
13261   }
13262   s_n_llhttp__internal__n_error_39: {
13263     state->error = 0x7;
13264     state->reason = "Unexpected start char in url";
13265     state->error_pos = (const char*) p;
13266     state->_current = (void*) (intptr_t) s_error;
13267     return s_error;
13268     /* UNREACHABLE */;
13269     abort();
13270   }
13271   s_n_llhttp__internal__n_invoke_is_equal_method: {
13272     switch (llhttp__internal__c_is_equal_method(state, p, endp)) {
13273       case 0:
13274         goto s_n_llhttp__internal__n_span_start_llhttp__on_url_1;
13275       default:
13276         goto s_n_llhttp__internal__n_span_start_llhttp__on_url;
13277     }
13278     /* UNREACHABLE */;
13279     abort();
13280   }
13281   s_n_llhttp__internal__n_error_40: {
13282     state->error = 0x6;
13283     state->reason = "Expected space after method";
13284     state->error_pos = (const char*) p;
13285     state->_current = (void*) (intptr_t) s_error;
13286     return s_error;
13287     /* UNREACHABLE */;
13288     abort();
13289   }
13290   s_n_llhttp__internal__n_invoke_store_method_1: {
13291     switch (llhttp__internal__c_store_method(state, p, endp, match)) {
13292       default:
13293         goto s_n_llhttp__internal__n_req_first_space_before_url;
13294     }
13295     /* UNREACHABLE */;
13296     abort();
13297   }
13298   s_n_llhttp__internal__n_error_48: {
13299     state->error = 0x6;
13300     state->reason = "Invalid method encountered";
13301     state->error_pos = (const char*) p;
13302     state->_current = (void*) (intptr_t) s_error;
13303     return s_error;
13304     /* UNREACHABLE */;
13305     abort();
13306   }
13307   s_n_llhttp__internal__n_error_41: {
13308     state->error = 0xd;
13309     state->reason = "Response overflow";
13310     state->error_pos = (const char*) p;
13311     state->_current = (void*) (intptr_t) s_error;
13312     return s_error;
13313     /* UNREACHABLE */;
13314     abort();
13315   }
13316   s_n_llhttp__internal__n_invoke_mul_add_status_code: {
13317     switch (llhttp__internal__c_mul_add_status_code(state, p, endp, match)) {
13318       case 1:
13319         goto s_n_llhttp__internal__n_error_41;
13320       default:
13321         goto s_n_llhttp__internal__n_res_status_code;
13322     }
13323     /* UNREACHABLE */;
13324     abort();
13325   }
13326   s_n_llhttp__internal__n_span_end_llhttp__on_status: {
13327     const unsigned char* start;
13328     int err;
13329 
13330     start = state->_span_pos0;
13331     state->_span_pos0 = NULL;
13332     err = llhttp__on_status(state, start, p);
13333     if (err != 0) {
13334       state->error = err;
13335       state->error_pos = (const char*) (p + 1);
13336       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_field_start;
13337       return s_error;
13338     }
13339     p++;
13340     goto s_n_llhttp__internal__n_header_field_start;
13341     /* UNREACHABLE */;
13342     abort();
13343   }
13344   s_n_llhttp__internal__n_span_end_llhttp__on_status_1: {
13345     const unsigned char* start;
13346     int err;
13347 
13348     start = state->_span_pos0;
13349     state->_span_pos0 = NULL;
13350     err = llhttp__on_status(state, start, p);
13351     if (err != 0) {
13352       state->error = err;
13353       state->error_pos = (const char*) (p + 1);
13354       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_res_line_almost_done;
13355       return s_error;
13356     }
13357     p++;
13358     goto s_n_llhttp__internal__n_res_line_almost_done;
13359     /* UNREACHABLE */;
13360     abort();
13361   }
13362   s_n_llhttp__internal__n_error_42: {
13363     state->error = 0xd;
13364     state->reason = "Invalid response status";
13365     state->error_pos = (const char*) p;
13366     state->_current = (void*) (intptr_t) s_error;
13367     return s_error;
13368     /* UNREACHABLE */;
13369     abort();
13370   }
13371   s_n_llhttp__internal__n_invoke_update_status_code: {
13372     switch (llhttp__internal__c_update_status_code(state, p, endp)) {
13373       default:
13374         goto s_n_llhttp__internal__n_res_status_code;
13375     }
13376     /* UNREACHABLE */;
13377     abort();
13378   }
13379   s_n_llhttp__internal__n_error_43: {
13380     state->error = 0x9;
13381     state->reason = "Expected space after version";
13382     state->error_pos = (const char*) p;
13383     state->_current = (void*) (intptr_t) s_error;
13384     return s_error;
13385     /* UNREACHABLE */;
13386     abort();
13387   }
13388   s_n_llhttp__internal__n_invoke_store_http_minor_1: {
13389     switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) {
13390       default:
13391         goto s_n_llhttp__internal__n_res_http_end;
13392     }
13393     /* UNREACHABLE */;
13394     abort();
13395   }
13396   s_n_llhttp__internal__n_error_44: {
13397     state->error = 0x9;
13398     state->reason = "Invalid minor version";
13399     state->error_pos = (const char*) p;
13400     state->_current = (void*) (intptr_t) s_error;
13401     return s_error;
13402     /* UNREACHABLE */;
13403     abort();
13404   }
13405   s_n_llhttp__internal__n_error_45: {
13406     state->error = 0x9;
13407     state->reason = "Expected dot";
13408     state->error_pos = (const char*) p;
13409     state->_current = (void*) (intptr_t) s_error;
13410     return s_error;
13411     /* UNREACHABLE */;
13412     abort();
13413   }
13414   s_n_llhttp__internal__n_invoke_store_http_major_1: {
13415     switch (llhttp__internal__c_store_http_major(state, p, endp, match)) {
13416       default:
13417         goto s_n_llhttp__internal__n_res_http_dot;
13418     }
13419     /* UNREACHABLE */;
13420     abort();
13421   }
13422   s_n_llhttp__internal__n_error_46: {
13423     state->error = 0x9;
13424     state->reason = "Invalid major version";
13425     state->error_pos = (const char*) p;
13426     state->_current = (void*) (intptr_t) s_error;
13427     return s_error;
13428     /* UNREACHABLE */;
13429     abort();
13430   }
13431   s_n_llhttp__internal__n_error_49: {
13432     state->error = 0x8;
13433     state->reason = "Expected HTTP/";
13434     state->error_pos = (const char*) p;
13435     state->_current = (void*) (intptr_t) s_error;
13436     return s_error;
13437     /* UNREACHABLE */;
13438     abort();
13439   }
13440   s_n_llhttp__internal__n_invoke_update_type: {
13441     switch (llhttp__internal__c_update_type(state, p, endp)) {
13442       default:
13443         goto s_n_llhttp__internal__n_req_first_space_before_url;
13444     }
13445     /* UNREACHABLE */;
13446     abort();
13447   }
13448   s_n_llhttp__internal__n_invoke_store_method: {
13449     switch (llhttp__internal__c_store_method(state, p, endp, match)) {
13450       default:
13451         goto s_n_llhttp__internal__n_invoke_update_type;
13452     }
13453     /* UNREACHABLE */;
13454     abort();
13455   }
13456   s_n_llhttp__internal__n_error_47: {
13457     state->error = 0x8;
13458     state->reason = "Invalid word encountered";
13459     state->error_pos = (const char*) p;
13460     state->_current = (void*) (intptr_t) s_error;
13461     return s_error;
13462     /* UNREACHABLE */;
13463     abort();
13464   }
13465   s_n_llhttp__internal__n_invoke_update_type_1: {
13466     switch (llhttp__internal__c_update_type_1(state, p, endp)) {
13467       default:
13468         goto s_n_llhttp__internal__n_res_http_major;
13469     }
13470     /* UNREACHABLE */;
13471     abort();
13472   }
13473   s_n_llhttp__internal__n_invoke_update_type_2: {
13474     switch (llhttp__internal__c_update_type(state, p, endp)) {
13475       default:
13476         goto s_n_llhttp__internal__n_start_req;
13477     }
13478     /* UNREACHABLE */;
13479     abort();
13480   }
13481   s_n_llhttp__internal__n_pause_8: {
13482     state->error = 0x15;
13483     state->reason = "on_message_begin pause";
13484     state->error_pos = (const char*) p;
13485     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_load_type;
13486     return s_error;
13487     /* UNREACHABLE */;
13488     abort();
13489   }
13490   s_n_llhttp__internal__n_error: {
13491     state->error = 0x10;
13492     state->reason = "`on_message_begin` callback error";
13493     state->error_pos = (const char*) p;
13494     state->_current = (void*) (intptr_t) s_error;
13495     return s_error;
13496     /* UNREACHABLE */;
13497     abort();
13498   }
13499   s_n_llhttp__internal__n_invoke_llhttp__on_message_begin: {
13500     switch (llhttp__on_message_begin(state, p, endp)) {
13501       case 0:
13502         goto s_n_llhttp__internal__n_invoke_load_type;
13503       case 21:
13504         goto s_n_llhttp__internal__n_pause_8;
13505       default:
13506         goto s_n_llhttp__internal__n_error;
13507     }
13508     /* UNREACHABLE */;
13509     abort();
13510   }
13511   s_n_llhttp__internal__n_invoke_update_finish: {
13512     switch (llhttp__internal__c_update_finish(state, p, endp)) {
13513       default:
13514         goto s_n_llhttp__internal__n_invoke_llhttp__on_message_begin;
13515     }
13516     /* UNREACHABLE */;
13517     abort();
13518   }
13519 }
13520 
llhttp__internal_execute(llhttp__internal_t * state,const char * p,const char * endp)13521 int llhttp__internal_execute(llhttp__internal_t* state, const char* p, const char* endp) {
13522   llparse_state_t next;
13523 
13524   /* check lingering errors */
13525   if (state->error != 0) {
13526     return state->error;
13527   }
13528 
13529   /* restart spans */
13530   if (state->_span_pos0 != NULL) {
13531     state->_span_pos0 = (void*) p;
13532   }
13533 
13534   next = llhttp__internal__run(state, (const unsigned char*) p, (const unsigned char*) endp);
13535   if (next == s_error) {
13536     return state->error;
13537   }
13538   state->_current = (void*) (intptr_t) next;
13539 
13540   /* execute spans */
13541   if (state->_span_pos0 != NULL) {
13542     int error;
13543 
13544     error = ((llhttp__internal__span_cb) state->_span_cb0)(state, state->_span_pos0, (const char*) endp);
13545     if (error != 0) {
13546       state->error = error;
13547       state->error_pos = endp;
13548       return error;
13549     }
13550   }
13551 
13552   return 0;
13553 }
13554 
13555 #endif  /* LLHTTP_STRICT_MODE */
13556