authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2026-09-26 19:20:09+03:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-09-27 02:49:10+02:00
logb46a7f3a25a61c68bbc25759087a01095dc8446e
tree24522dc67c9613f2143ee6650287cb6dedce65fb
parent9b08aca878557bf390cf8322b28ce069d41a5e3f
signature Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

sync aro & translate-c


66 files changed, 32376 insertions(+), 20328 deletions(-)

lib/compiler/aro/aro/Attribute.zig+537-1286
...@@ -1,665 +1,251 @@...@@ -1,665 +1,251 @@
1const std = @import("std");1const std = @import("std");
2const mem = std.mem;2const mem = std.mem;
3const ZigType = std.builtin.Type;3const Allocator = mem.Allocator;
4const CallingConvention = @import("../backend.zig").CallingConvention;4const assert = std.debug.assert;
5const Compilation = @import("Compilation.zig");5
6const Diagnostics = @import("Diagnostics.zig");
7const Parser = @import("Parser.zig");
8const Tree = @import("Tree.zig");6const Tree = @import("Tree.zig");
9const TokenIndex = Tree.TokenIndex;7const TokenIndex = Tree.TokenIndex;
10const TypeStore = @import("TypeStore.zig");
11const Type = TypeStore.Type;
12const QualType = TypeStore.QualType;
13const Value = @import("Value.zig");8const Value = @import("Value.zig");
149
15const Attribute = @This();10const Attribute = @This();
1611
17tag: Tag,12args: Args,
18syntax: Syntax,13syntax: Syntax,
19args: Arguments,14name: Namespaced,
2015tok: TokenIndex,
21pub const Syntax = enum {
22 c23,
23 declspec,
24 gnu,
25 keyword,
26};
27
28pub const Kind = enum {
29 c23,
30 declspec,
31 gnu,
32
33 pub fn toSyntax(kind: Kind) Syntax {
34 return switch (kind) {
35 .c23 => .c23,
36 .declspec => .declspec,
37 .gnu => .gnu,
38 };
39 }
40};
41
42pub const Iterator = struct {
43 source: ?struct {
44 qt: QualType,
45 comp: *const Compilation,
46 },
47 slice: []const Attribute,
48 index: usize,
49
50 pub fn initSlice(slice: []const Attribute) Iterator {
51 return .{ .source = null, .slice = slice, .index = 0 };
52 }
5316
54 pub fn initType(qt: QualType, comp: *const Compilation) Iterator {17pub const Tag = std.meta.Tag(Args);
55 return .{ .source = .{ .qt = qt, .comp = comp }, .slice = &.{}, .index = 0 };18pub const Wip = @import("Attribute/Wip.zig");
56 }19pub const Map = @import("Attribute/Map.zig");
5720
58 /// returns the next attribute as well as its index within the slice or current type21pub const Args = union(enum) {
59 /// The index can be used to determine when a nested type has been recursed into22 access: struct {
60 pub fn next(self: *Iterator) ?struct { Attribute, usize } {
61 if (self.index < self.slice.len) {
62 defer self.index += 1;
63 return .{ self.slice[self.index], self.index };
64 }
65 if (self.source) |*source| {
66 if (source.qt.isInvalid()) {
67 self.source = null;
68 return null;
69 }
70 loop: switch (source.qt.type(source.comp)) {
71 .typeof => |typeof| continue :loop typeof.base.type(source.comp),
72 .attributed => |attributed| {
73 self.slice = attributed.attributes;
74 self.index = 1;
75 source.qt = attributed.base;
76 return .{ self.slice[0], 0 };
77 },
78 .typedef => |typedef| continue :loop typedef.base.type(source.comp),
79 else => self.source = null,
80 }
81 }
82 return null;
83 }
84};
85
86/// number of required arguments
87pub fn requiredArgCount(attr: Tag) u32 {
88 switch (attr) {
89 inline else => |tag| {
90 comptime var needed = 0;
91 comptime {
92 const info = @typeInfo(@field(attributes, @tagName(tag))).@"struct";
93 for (info.field_names, info.field_types) |arg_field_name, arg_field_type| {
94 if (!mem.eql(u8, arg_field_name, "__name_tok") and @typeInfo(arg_field_type) != .optional) needed += 1;
95 }
96 }
97 return needed;
98 },
99 }
100}
101
102/// maximum number of args that can be passed
103pub fn maxArgCount(attr: Tag) u32 {
104 switch (attr) {
105 inline else => |tag| {
106 comptime var max = 0;
107 comptime {
108 const field_names = @typeInfo(@field(attributes, @tagName(tag))).@"struct".field_names;
109 for (field_names) |arg_field_name| {
110 if (!mem.eql(u8, arg_field_name, "__name_tok")) max += 1;
111 }
112 }
113 return max;
114 },
115 }
116}
117
118fn UnwrapOptional(comptime T: type) type {
119 return switch (@typeInfo(T)) {
120 .optional => |optional| optional.child,
121 else => T,
122 };
123}
124
125pub const Formatting = struct {
126 /// The quote char (single or double) to use when printing identifiers/strings corresponding
127 /// to the enum in the first field of the `attr`. Identifier enums use single quotes, string enums
128 /// use double quotes
129 fn quoteChar(attr: Tag) []const u8 {
130 switch (attr) {
131 .calling_convention => unreachable,
132 inline else => |tag| {
133 const field_types = @typeInfo(@field(attributes, @tagName(tag))).@"struct".field_types;
134
135 if (field_types.len == 0) unreachable;
136 const Unwrapped = UnwrapOptional(field_types[0]);
137 if (@typeInfo(Unwrapped) != .@"enum") unreachable;
138
139 return if (Unwrapped.opts.enum_kind == .identifier) "'" else "\"";
140 },
141 }
142 }
143
144 /// returns a comma-separated string of quoted enum values, representing the valid
145 /// choices for the string or identifier enum of the first field of the `attr`.
146 pub fn choices(attr: Tag) []const u8 {
147 switch (attr) {
148 .calling_convention => unreachable,
149 inline else => |tag| {
150 const field_types = @typeInfo(@field(attributes, @tagName(tag))).@"struct".field_types;
151
152 if (field_types.len == 0) unreachable;
153 const Unwrapped = UnwrapOptional(field_types[0]);
154 if (@typeInfo(Unwrapped) != .@"enum") unreachable;
155
156 const enum_field_names = @typeInfo(Unwrapped).@"enum".field_names;
157 const quote = comptime quoteChar(@fromBackingInt(@intCast(@backingInt(tag))));
158 comptime var values: []const u8 = quote ++ enum_field_names[0] ++ quote;
159 inline for (enum_field_names[1..]) |enum_field_name| {
160 values = values ++ ", ";
161 values = values ++ quote ++ enum_field_name ++ quote;
162 }
163 return values;
164 },
165 }
166 }
167};
168
169/// Checks if the first argument (if it exists) is an identifier enum
170pub fn wantsIdentEnum(attr: Tag) bool {
171 switch (attr) {
172 .calling_convention => return false,
173 inline else => |tag| {
174 const field_types = @typeInfo(@field(attributes, @tagName(tag))).@"struct".field_types;
175
176 if (field_types.len == 0) return false;
177 const Unwrapped = UnwrapOptional(field_types[0]);
178 if (@typeInfo(Unwrapped) != .@"enum") return false;
179
180 return Unwrapped.opts.enum_kind == .identifier;
181 },
182 }
183}
184
185pub fn diagnoseIdent(attr: Tag, arguments: *Arguments, ident: TokenIndex, p: *Parser) !bool {
186 switch (attr) {
187 inline else => |tag| {
188 const info = @typeInfo(@field(attributes, @tagName(tag))).@"struct";
189 if (info.field_names.len == 0) unreachable;
190 const Unwrapped = UnwrapOptional(info.field_types[0]);
191 if (@typeInfo(Unwrapped) != .@"enum") unreachable;
192 if (std.meta.stringToEnum(Unwrapped, normalize(p.tokSlice(ident)))) |enum_val| {
193 @field(@field(arguments, @tagName(tag)), info.field_names[0]) = enum_val;
194 return false;
195 }
196
197 try p.err(ident, .unknown_attr_enum, .{ @tagName(attr), Formatting.choices(attr) });
198 return true;
199 },
200 }
201}
202
203pub fn wantsAlignment(attr: Tag, idx: usize) bool {
204 switch (attr) {
205 inline else => |tag| {
206 const field_types = @typeInfo(@field(attributes, @tagName(tag))).@"struct".field_types;
207 if (field_types.len == 0) return false;
208
209 return switch (idx) {
210 inline 0...field_types.len - 1 => |i| UnwrapOptional(field_types[i]) == Alignment,
211 else => false,
212 };
213 },
214 }
215}
216
217pub fn diagnoseAlignment(attr: Tag, arguments: *Arguments, arg_idx: u32, res: Parser.Result, arg_start: TokenIndex, p: *Parser) !bool {
218 switch (attr) {
219 inline else => |tag| {
220 const arg_info = @typeInfo(@field(attributes, @tagName(tag))).@"struct";
221 if (arg_info.field_names.len == 0) unreachable;
222
223 switch (arg_idx) {
224 inline 0...arg_info.field_names.len - 1 => |arg_i| {
225 if (UnwrapOptional(arg_info.field_types[arg_i]) != Alignment) unreachable;
226
227 if (!res.val.is(.int, p.comp)) {
228 try p.err(arg_start, .alignas_unavailable, .{});
229 return true;
230 }
231 if (res.val.compare(.lt, Value.zero, p.comp)) {
232 try p.err(arg_start, .negative_alignment, .{res});
233 return true;
234 }
235 const requested = res.val.toInt(u29, p.comp) orelse {
236 try p.err(arg_start, .maximum_alignment, .{res});
237 return true;
238 };
239 if (!std.mem.isValidAlign(requested)) {
240 try p.err(arg_start, .non_pow2_align, .{});
241 return true;
242 }
243
244 @field(@field(arguments, @tagName(tag)), arg_info.field_names[arg_i]) = .{ .requested = requested };
245 return false;
246 },
247 else => unreachable,
248 }
249 },
250 }
251}
252
253fn diagnoseField(
254 comptime decl_name: []const u8,
255 comptime field_name: []const u8,
256 comptime Wanted: type,
257 arguments: *Arguments,
258 res: Parser.Result,
259 arg_start: TokenIndex,
260 node: Tree.Node,
261 p: *Parser,
262) !bool {
263 const string = "a string";
264 const identifier = "an identifier";
265 const int = "an integer constant";
266 const alignment = "an integer constant";
267 const nullptr_t = "nullptr";
268 const float = "a floating point number";
269 const complex_float = "a complex floating point number";
270 const expression = "an expression";
271
272 const expected: []const u8 = switch (Wanted) {
273 Value => string,
274 Identifier => identifier,
275 u32 => int,
276 Alignment => alignment,
277 CallingConvention => identifier,
278 else => switch (@typeInfo(Wanted)) {
279 .@"enum" => if (Wanted.opts.enum_kind == .string) string else identifier,
280 else => unreachable,
281 },
282 };
283
284 if (res.val.opt_ref == .none) {
285 if (Wanted == Identifier and node == .decl_ref_expr) {
286 @field(@field(arguments, decl_name), field_name) = .{ .tok = node.decl_ref_expr.name_tok };
287 return false;
288 }
289
290 try p.err(arg_start, .attribute_arg_invalid, .{ expected, expression });
291 return true;
292 }
293 const key = p.comp.interner.get(res.val.ref());
294 switch (key) {
295 .int => {
296 if (@typeInfo(Wanted) == .int) {
297 @field(@field(arguments, decl_name), field_name) = res.val.toInt(Wanted, p.comp) orelse {
298 try p.err(arg_start, .attribute_int_out_of_range, .{res});
299 return true;
300 };
301
302 return false;
303 }
304 },
305 .bytes => |bytes| {
306 if (Wanted == Value) {
307 validate: {
308 if (node != .string_literal_expr) break :validate;
309 switch (node.string_literal_expr.qt.childType(p.comp).get(p.comp, .int).?) {
310 .char, .uchar, .schar => {},
311 else => break :validate,
312 }
313 @field(@field(arguments, decl_name), field_name) = try p.removeNull(res.val);
314 return false;
315 }
316
317 try p.err(arg_start, .attribute_requires_string, .{decl_name});
318 return true;
319 } else if (@typeInfo(Wanted) == .@"enum" and @hasDecl(Wanted, "opts") and Wanted.opts.enum_kind == .string) {
320 const str = bytes[0 .. bytes.len - 1];
321 if (std.meta.stringToEnum(Wanted, str)) |enum_val| {
322 @field(@field(arguments, decl_name), field_name) = enum_val;
323 return false;
324 }
325
326 try p.err(arg_start, .unknown_attr_enum, .{ decl_name, Formatting.choices(@field(Tag, decl_name)) });
327 return true;
328 }
329 },
330 else => {},
331 }
332
333 try p.err(arg_start, .attribute_arg_invalid, .{ expected, switch (key) {
334 .int => int,
335 .bytes => string,
336 .float => float,
337 .complex => complex_float,
338 .null => nullptr_t,
339 else => unreachable,
340 } });
341 return true;
342}
343
344pub fn diagnose(attr: Tag, arguments: *Arguments, arg_idx: u32, res: Parser.Result, arg_start: TokenIndex, node: Tree.Node, p: *Parser) !bool {
345 switch (attr) {
346 inline else => |tag| {
347 const decl_name = @typeInfo(attributes).@"struct".decl_names[@backingInt(tag)];
348 const max_arg_count = comptime maxArgCount(tag);
349 if (arg_idx >= max_arg_count) {
350 try p.err(arg_start, .attribute_too_many_args, .{ @tagName(attr), max_arg_count });
351 return true;
352 }
353
354 const arg_field_names = @typeInfo(@field(attributes, decl_name)).@"struct".field_names;
355 const arg_field_types = @typeInfo(@field(attributes, decl_name)).@"struct".field_types;
356 switch (arg_idx) {
357 inline 0...arg_field_names.len - 1 => |arg_i| {
358 return diagnoseField(decl_name, arg_field_names[arg_i], UnwrapOptional(arg_field_types[arg_i]), arguments, res, arg_start, node, p);
359 },
360 else => unreachable,
361 }
362 },
363 }
364}
365
366const EnumTypes = enum {
367 string,
368 identifier,
369};
370pub const Alignment = struct {
371 node: Tree.Node.OptIndex = .null,
372 requested: u32,
373};
374pub const Identifier = struct {
375 tok: TokenIndex = 0,
376};
377
378const attributes = struct {
379 pub const access = struct {
380 access_mode: enum {23 access_mode: enum {
381 read_only,24 read_only,
382 read_write,25 read_write,
383 write_only,26 write_only,
384 none,27 none,
38528
386 pub const opts = struct {29 const opts = struct {
387 const enum_kind = .identifier;30 const enum_kind = .identifier;
388 };31 };
389 },32 },
390 ref_index: u32,33 ref_index: u32,
391 size_index: ?u32 = null,34 size_index: ?u32 = null,
392 };35 },
393 pub const alias = struct {36 alias: struct {
394 alias: Value,37 alias: Value,
395 };38 },
396 pub const aligned = struct {39 alignment: ?u32,
397 alignment: ?Alignment = null,40 alloc_align: struct {
398 __name_tok: TokenIndex,
399 };
400 pub const alloc_align = struct {
401 position: u32,41 position: u32,
402 };42 },
403 pub const alloc_size = struct {43 alloc_size: struct {
404 position_1: u32,44 position_1: u32,
405 position_2: ?u32 = null,45 position_2: ?u32 = null,
406 };46 },
407 pub const allocate = struct {47 allocator,
408 segname: Value,48 always_inline,
409 };49 appdomain,
410 pub const allocator = struct {};50 artificial,
411 pub const always_inline = struct {};51 assume_aligned: struct {
412 pub const appdomain = struct {};52 alignment: ?u32,
413 pub const artificial = struct {};
414 pub const assume_aligned = struct {
415 alignment: Alignment,
416 offset: ?u32 = null,53 offset: ?u32 = null,
417 };54 },
418 pub const cleanup = struct {55 cleanup: struct {
419 function: Identifier,56 function: Tree.Node.Index,
420 };57 },
421 pub const code_seg = struct {58 code_seg: struct {
422 segname: Value,59 segname: Value,
423 };60 },
424 pub const cold = struct {};61 cold,
425 pub const common = struct {};62 common,
426 pub const @"const" = struct {};63 @"const",
427 pub const constructor = struct {64 constructor: struct {
428 priority: ?u32 = null,65 priority: u16 = 65535,
429 };66 },
430 pub const copy = struct {67 copy: struct {
431 function: Identifier,68 function: Tree.Node.Index,
432 };69 },
433 pub const deprecated = struct {70 deprecated: struct {
434 msg: ?Value = null,71 msg: ?[]const u8 = null,
435 __name_tok: TokenIndex,72 replacement: ?[]const u8 = null,
436 };73 },
437 pub const designated_init = struct {};74 designated_init,
438 pub const destructor = struct {75 destructor: struct {
439 priority: ?u32 = null,76 priority: u16 = 65535,
440 };77 },
441 pub const dllexport = struct {};78 dllexport,
442 pub const dllimport = struct {};79 dllimport,
443 pub const @"error" = struct {80 @"error": []const u8,
444 msg: Value,81 externally_visible,
445 __name_tok: TokenIndex,82 fallthrough,
446 };83 flatten,
447 pub const externally_visible = struct {};84 format: struct {
448 pub const fallthrough = struct {};
449 pub const flatten = struct {};
450 pub const format = struct {
451 archetype: enum {85 archetype: enum {
452 printf,86 printf,
453 scanf,87 scanf,
454 strftime,88 strftime,
455 strfmon,89 strfmon,
45690
457 pub const opts = struct {91 const opts = struct {
458 const enum_kind = .identifier;92 const enum_kind = .identifier;
459 };93 };
460 },94 },
461 string_index: u32,95 string_index: u32,
462 first_to_check: u32,96 first_to_check: u32,
463 };97 },
464 pub const format_arg = struct {98 format_arg: u32,
465 string_index: u32,99 gnu_inline,
466 };100 hot,
467 pub const gnu_inline = struct {};101 ifunc: struct {
468 pub const hot = struct {};
469 pub const ifunc = struct {
470 resolver: Value,102 resolver: Value,
471 };103 },
472 pub const interrupt = struct {};104 interrupt,
473 pub const interrupt_handler = struct {};105 interrupt_handler,
474 pub const jitintrinsic = struct {};106 jitintrinsic,
475 pub const leaf = struct {};107 leaf,
476 pub const malloc = struct {};108 malloc,
477 pub const may_alias = struct {};109 may_alias,
478 pub const mode = struct {110 mode: enum {
479 mode: enum {111 // zig fmt: off
480 // zig fmt: off112 byte, word, pointer,
481 byte, word, pointer,113 BI, QI, HI,
482 BI, QI, HI,114 PSI, SI, PDI,
483 PSI, SI, PDI,115 DI, TI, OI,
484 DI, TI, OI,116 XI, QF, HF,
485 XI, QF, HF,117 TQF, SF, DF,
486 TQF, SF, DF,118 XF, SD, DD,
487 XF, SD, DD,119 TD, TF, QQ,
488 TD, TF, QQ,120 HQ, SQ, DQ,
489 HQ, SQ, DQ,121 TQ, UQQ, UHQ,
490 TQ, UQQ, UHQ,122 USQ, UDQ, UTQ,
491 USQ, UDQ, UTQ,123 HA, SA, DA,
492 HA, SA, DA,124 TA, UHA, USA,
493 TA, UHA, USA,125 UDA, UTA, CC,
494 UDA, UTA, CC,126 BLK, VOID, QC,
495 BLK, VOID, QC,127 HC, SC, DC,
496 HC, SC, DC,128 XC, TC, CQI,
497 XC, TC, CQI,129 CHI, CSI, CDI,
498 CHI, CSI, CDI,130 CTI, COI, CPSI,
499 CTI, COI, CPSI,131 BND32, BND64,
500 BND32, BND64,132 // zig fmt: on
501 // zig fmt: on
502
503 pub const opts = struct {
504 const enum_kind = .identifier;
505 };
506 },
507 };
508 pub const naked = struct {};
509 pub const no_address_safety_analysis = struct {};
510 pub const no_icf = struct {};
511 pub const no_instrument_function = struct {};
512 pub const no_profile_instrument_function = struct {};
513 pub const no_reorder = struct {};
514 pub const no_sanitize = struct {
515 /// Todo: represent args as union?
516 alignment: Value,
517 object_size: ?Value = null,
518 };
519 pub const no_sanitize_address = struct {};
520 pub const no_sanitize_coverage = struct {};
521 pub const no_sanitize_thread = struct {};
522 pub const no_sanitize_undefined = struct {};
523 pub const no_split_stack = struct {};
524 pub const no_stack_limit = struct {};
525 pub const no_stack_protector = struct {};
526 pub const @"noalias" = struct {};
527 pub const noclone = struct {};
528 pub const nocommon = struct {};
529 pub const nodiscard = struct {};
530 pub const noinit = struct {};
531 pub const @"noinline" = struct {};
532 pub const noipa = struct {};
533 // TODO: arbitrary number of arguments
534 // const nonnull = struct {
535 // // arg_index: []const u32,
536 // };
537 // };
538 pub const nonstring = struct {};
539 pub const noplt = struct {};
540 pub const @"noreturn" = struct {};
541 pub const nothrow = struct {};
542 // TODO: union args ?
543 // const optimize = struct {
544 // // optimize, // u32 | []const u8 -- optimize?
545 // };
546 // };
547 pub const @"packed" = struct {};
548 pub const patchable_function_entry = struct {};
549 pub const persistent = struct {};
550 pub const process = struct {};
551 pub const pure = struct {};
552 pub const reproducible = struct {};
553 pub const restrict = struct {};
554 pub const retain = struct {};
555 pub const returns_nonnull = struct {};
556 pub const returns_twice = struct {};
557 pub const safebuffers = struct {};
558 pub const scalar_storage_order = struct {
559 order: enum {
560 @"little-endian",
561 @"big-endian",
562133
563 pub const opts = struct {134 const opts = struct {
564 const enum_kind = .string;135 const enum_kind = .identifier;
565 };136 };
566 },137 },
567 };138 naked,
568 pub const section = struct {139 no_address_safety_analysis,
569 name: Value,140 no_icf,
570 };141 no_instrument_function,
571 pub const selectany = struct {};142 no_profile_instrument_function,
572 pub const sentinel = struct {143 no_reorder,
573 position: ?u32 = null,144 no_sanitize: []const Value,
574 };145 no_sanitize_address,
575 pub const simd = struct {146 no_sanitize_coverage,
147 no_sanitize_thread,
148 no_sanitize_undefined,
149 no_split_stack,
150 no_stack_limit,
151 no_stack_protector,
152 @"noalias",
153 noclone,
154 nocommon,
155 warn_unused_result: ?[]const u8,
156 noinit,
157 @"noinline",
158 noipa,
159 nonnull: []const u32,
160 nonstring,
161 noplt,
162 noreturn,
163 nothrow,
164 optimize: union(enum) {
165 index: u32,
166 features: []const u8,
167 },
168 @"packed",
169 patchable_function_entry: struct {},
170 persistent,
171 process,
172 pure,
173 reproducible,
174 retain,
175 returns_nonnull,
176 returns_twice,
177 scalar_storage_order: enum {
178 @"little-endian",
179 @"big-endian",
180
181 const opts = struct {
182 const enum_kind = .string;
183 };
184 },
185 section: []const u8,
186 selectany,
187 sentinel: struct {
188 position: u32 = 0,
189 },
190 simd: struct {
576 mask: ?enum {191 mask: ?enum {
577 notinbranch,192 notinbranch,
578 inbranch,193 inbranch,
579194
580 pub const opts = struct {195 const opts = struct {
581 const enum_kind = .string;196 const enum_kind = .string;
582 };197 };
583 } = null,198 } = null,
584 };199 },
585 pub const single = struct {};200 single,
586 pub const spectre = struct {201 spectre: enum {
587 arg: enum {202 nomitigation,
588 nomitigation,
589203
590 pub const opts = struct {204 const opts = struct {
591 const enum_kind = .identifier;205 const enum_kind = .identifier;
592 };206 };
593 },207 },
594 };208 stack_protect,
595 pub const stack_protect = struct {};209 symver: struct {
596 pub const symver = struct {
597 version: Value, // TODO: validate format "name2@nodename"210 version: Value, // TODO: validate format "name2@nodename"
598211 },
599 };212 target: struct {
600 pub const target = struct {213 options: []const Value,
601 options: Value, // TODO: multiple arguments214 },
602215 target_clones: struct {
603 };216 options: []const Value,
604 pub const target_clones = struct {217 },
605 options: Value, // TODO: multiple arguments218 tls_model: struct {
606
607 };
608 pub const thread = struct {};
609 pub const tls_model = struct {
610 model: enum {219 model: enum {
611 @"global-dynamic",220 @"global-dynamic",
612 @"local-dynamic",221 @"local-dynamic",
613 @"initial-exec",222 @"initial-exec",
614 @"local-exec",223 @"local-exec",
615224
616 pub const opts = struct {225 const opts = struct {
617 const enum_kind = .string;226 const enum_kind = .string;
618 };227 };
619 },228 },
620 };229 },
621 pub const transparent_union = struct {};230 transparent_union,
622 pub const unavailable = struct {231 unavailable: ?[]const u8,
623 msg: ?Value = null,232 unsafe_indexable,
624 __name_tok: TokenIndex,233 unsequenced,
625 };234 unused,
626 pub const uninitialized = struct {};235 used,
627 pub const unsafe_indexable = struct {};236 uuid: struct {
628 pub const unsequenced = struct {};
629 pub const unused = struct {};
630 pub const used = struct {};
631 pub const uuid = struct {
632 uuid: Value,237 uuid: Value,
633 };238 },
634 pub const vector_size = struct {239 visibility: Visibility,
635 bytes: u32, // TODO: validate "The bytes argument must be a positive power-of-two multiple of the base type size"240 warn_if_not_aligned: struct {
636241 alignment: ?u32,
637 };242 },
638 pub const visibility = struct {243 warning: []const u8,
639 visibility_type: enum {244 weak,
640 default,245 weakref: struct {
641 hidden,
642 internal,
643 protected,
644
645 pub const opts = struct {
646 const enum_kind = .string;
647 };
648 },
649 };
650 pub const warn_if_not_aligned = struct {
651 alignment: Alignment,
652 };
653 pub const warn_unused_result = struct {};
654 pub const warning = struct {
655 msg: Value,
656 __name_tok: TokenIndex,
657 };
658 pub const weak = struct {};
659 pub const weakref = struct {
660 target: ?Value = null,246 target: ?Value = null,
661 };247 },
662 pub const zero_call_used_regs = struct {248 zero_call_used_regs: struct {
663 choice: enum {249 choice: enum {
664 skip,250 skip,
665 used,251 used,
...@@ -671,714 +257,379 @@ const attributes = struct {...@@ -671,714 +257,379 @@ const attributes = struct {
671 @"all-arg",257 @"all-arg",
672 @"all-gpr-arg",258 @"all-gpr-arg",
673259
674 pub const opts = struct {260 const opts = struct {
675 const enum_kind = .string;261 const enum_kind = .string;
676 };262 };
677 },263 },
678 };264 },
679 pub const asm_label = struct {265 asm_label: struct {
680 name: Value,266 name: Value,
681 };267 },
682 pub const calling_convention = struct {268 unaligned,
683 cc: CallingConvention,269 // TODO cannot be combined with weak or selectany
684 };270 internal_linkage,
685 pub const nullability = struct {271 availability: struct {
686 kind: enum {272 platform: enum {
687 nonnull,273 android,
688 nullable,274 fuchsia,
689 nullable_result,275 ios,
690 unspecified,276 macos,
691277 tvos,
692 pub const opts = struct {278 watchos,
279 driverkit,
280 ios_app_extension,
281 macos_app_extension,
282 tvos_app_extension,
283 watchos_app_extension,
284 maccatalyst,
285 maccatalyst_app_extension,
286 xros,
287 xros_app_extension,
288 swift,
289 shadermodel,
290 ohos,
291
292 const opts = struct {
693 const enum_kind = .identifier;293 const enum_kind = .identifier;
694 };294 };
695 },295 },
296 introduced: ?std.SemanticVersion = null,
297 deprecated: ?std.SemanticVersion = null,
298 obsoleted: ?std.SemanticVersion = null,
299 unavailable: bool = false,
300 strict: bool = false,
301 message: ?Value = null,
302 replacement: ?Value = null,
303 priority: u32 = 0,
304 },
305 optnone,
306
307 pub const Visibility = enum {
308 default,
309 hidden,
310 protected,
311
312 pub const opts = struct {
313 pub const enum_kind = .string;
314 pub const map = std.StaticStringMap(Visibility).initComptime(.{
315 .{ "default", .default },
316 .{ "hidden", .hidden },
317 .{ "internal", .hidden },
318 .{ "protected", .protected },
319 });
320 };
696 };321 };
697 pub const unaligned = struct {};
698 pub const pcs = struct {
699 kind: enum {
700 aapcs,
701 @"aapcs-vfp",
702
703 pub const opts = struct {
704 const enum_kind = .string;
705 };
706 },
707 };
708 pub const riscv_vector_cc = struct {};
709 pub const aarch64_sve_pcs = struct {};
710 pub const aarch64_vector_pcs = struct {};
711 pub const fastcall = struct {};
712 pub const stdcall = struct {};
713 pub const vectorcall = struct {};
714 pub const cdecl = struct {};
715 pub const thiscall = struct {};
716 pub const sysv_abi = struct {};
717 pub const ms_abi = struct {};
718 // TODO cannot be combined with weak or selectany
719 pub const internal_linkage = struct {};
720 pub const availability = struct {};
721};322};
722323
723pub const Tag = std.meta.DeclEnum(attributes);324pub const Syntax = enum {
724325 standard,
725pub const Arguments = blk: {326 gnu,
726 const decl_names = @typeInfo(attributes).@"struct".decl_names;327 declspec,
727 var names: [decl_names.len][]const u8 = undefined;328 keyword,
728 var types: [decl_names.len]type = undefined;
729 for (decl_names, &names, &types) |decl_name, *name, *T| {
730 name.* = decl_name;
731 T.* = @field(attributes, decl_name);
732 }
733
734 break :blk @Union(.auto, null, &names, &types, &@splat(.{}));
735};329};
736330
737pub fn ArgumentsForTag(comptime tag: Tag) type {331pub const Namespaced = union(enum) {
738 const decl_name = @typeInfo(attributes).@"struct".decl_names[@backingInt(tag)];332 standard: Standard,
739 return @field(attributes, decl_name);333 gnu: Gnu,
740}334 clang: Clang,
741335 aro: Aro,
742pub fn initArguments(tag: Tag, name_tok: TokenIndex) Arguments {336 declspec: Declspec,
743 switch (tag) {337 msvc: Msvc,
744 inline else => |arg_tag| {338 riscv: Riscv,
745 const union_element = @field(attributes, @tagName(arg_tag));339 keyword: Keyword,
746 const init = std.mem.zeroInit(union_element, .{});340
747 var args = @unionInit(Arguments, @tagName(arg_tag), init);341 pub const Standard = enum {
748 if (@hasField(@field(attributes, @tagName(arg_tag)), "__name_tok")) {342 deprecated,
749 @field(args, @tagName(arg_tag)).__name_tok = name_tok;343 fallthrough,
750 }344 maybe_unused,
751 return args;345 nodiscard,
752 },346 noreturn,
753 }347 /// Deprecated in C23
754}348 _Noreturn,
755349 reproducible,
756pub fn fromString(kind: Kind, namespace: ?[]const u8, name: []const u8) ?Tag {350 unsequenced,
757 const Properties = struct {351
758 tag: Tag,352 pub const Vendors = enum {
759 gnu: bool = false,353 aro,
760 declspec: bool = false,354 clang,
761 c23: bool = false,355 gnu,
356 msvc,
357 riscv,
358 };
762 };359 };
763 const attribute_names = @import("Attribute/names.zig").with(Properties);360 pub const Gnu = enum {
764361 access, // Not supported by Clang
765 const normalized = normalize(name);362 alias,
766 const actual_kind: Kind = if (namespace) |ns| blk: {363 aligned,
767 const normalized_ns = normalize(ns);364 alloc_align,
768 if (mem.eql(u8, normalized_ns, "gnu")) {365 alloc_size,
769 break :blk .gnu;366 always_inline,
770 }367 artificial,
771 return null;368 assume_aligned,
772 } else kind;369 cdecl,
773370 cleanup,
774 const tag_and_opts = attribute_names.fromName(normalized) orelse return null;371 cold,
775 switch (actual_kind) {372 common,
776 inline else => |available_kind| {373 __const,
777 if (@field(tag_and_opts, @tagName(available_kind)))374 @"const",
778 return tag_and_opts.tag;375 constructor,
779 },376 copy, // Not supported by Clang
780 }377 deprecated,
781 return null;378 designated_init, // Not supported by Clang
782}379 destructor,
783380 dllexport,
784pub fn normalize(name: []const u8) []const u8 {381 dllimport,
785 if (name.len >= 4 and mem.startsWith(u8, name, "__") and mem.endsWith(u8, name, "__")) {382 @"error",
786 return name[2 .. name.len - 2];383 externally_visible, // Not supported by Clang
787 }384 fallthrough,
788 return name;385 fastcall,
789}386 flatten,
790387 format_arg,
791fn ignoredAttrErr(p: *Parser, tok: TokenIndex, attr: Attribute.Tag, context: []const u8) !void {388 format,
792 try p.err(tok, .ignored_attribute, .{ @tagName(attr), context });389 gnu_inline,
793}390 hot,
794391 ifunc,
795pub const applyParameterAttributes = applyVariableAttributes;392 interrupt_handler, // Not supported by Clang
796pub fn applyVariableAttributes(p: *Parser, qt: QualType, attr_buf_start: usize, diagnostic: ?Parser.Diagnostic) !QualType {393 interrupt,
797 const gpa = p.comp.gpa;394 leaf,
798 const attrs = p.attr_buf.items(.attr)[attr_buf_start..];395 malloc,
799 const toks = p.attr_buf.items(.tok)[attr_buf_start..];396 may_alias,
800 p.attr_application_buf.items.len = 0;397 mode,
801 var base_qt = qt;398 ms_abi,
802 var common = false;399 no_address_safety_analysis,
803 var nocommon = false;400 no_icf,
804 for (attrs, toks) |attr, tok| switch (attr.tag) {401 no_instrument_function,
805 // zig fmt: off402 no_profile_instrument_function,
806 .alias, .may_alias, .deprecated, .unavailable, .unused, .warn_if_not_aligned, .weak, .used,403 no_reorder, // Not supported by Clang
807 .noinit, .retain, .persistent, .section, .mode, .asm_label, .nullability, .unaligned, .selectany, .internal_linkage,404 no_sanitize_address,
808 .visibility,405 no_sanitize_coverage,
809 => try p.attr_application_buf.append(gpa, attr),406 no_sanitize_thread,
810 // zig fmt: on407 no_sanitize_undefined,
811 .common => if (nocommon) {408 no_sanitize,
812 try p.err(tok, .ignore_common, .{});409 no_split_stack, // Not supported by Clang
813 } else {410 no_stack_limit,
814 try p.attr_application_buf.append(gpa, attr);411 no_stack_protector,
815 common = true;412 noclone, // Not supported by Clang
816 },413 nocommon,
817 .nocommon => if (common) {414 noinit, // Not supported by Clang
818 try p.err(tok, .ignore_nocommon, .{});415 @"noinline",
819 } else {416 noipa, // Not supported by Clang
820 try p.attr_application_buf.append(gpa, attr);417 nonnull,
821 nocommon = true;418 nonstring,
822 },419 noplt, // Not supported by Clang
823 .vector_size => try attr.applyVectorSize(p, tok, &base_qt),420 noreturn,
824 .aligned => try attr.applyAligned(p, base_qt, diagnostic),421 nothrow,
825 .nonstring => {422 optimize, // Not supported by Clang
826 if (base_qt.get(p.comp, .array)) |array_ty| {423 @"packed",
827 if (array_ty.elem.get(p.comp, .int)) |int_ty| switch (int_ty) {424 patchable_function_entry,
828 .char, .uchar, .schar => {425 pcs,
829 try p.attr_application_buf.append(gpa, attr);426 persistent, // Not supported by Clang
830 continue;427 pure,
831 },428 regcall,
832 else => {},429 regparm,
430 retain,
431 returns_nonnull, // Not supported by Clang
432 returns_twice, // Not supported by Clang
433 riscv_rvv_vector_bits,
434 scalar_storage_order, // Not supported by Clang
435 section,
436 selectany,
437 sentinel,
438 simd, // Not supported by Clang
439 stack_protect, // Not supported by Clang
440 stdcall,
441 symver, // Not supported by Clang
442 sysv_abi,
443 target_clones,
444 target,
445 thiscall,
446 tls_model,
447 transparent_union,
448 unused,
449 used,
450 vector_size,
451 visibility,
452 warn_if_not_aligned, // Not supported by Clang
453 warn_unused_result,
454 warn_unused,
455 warning,
456 weak,
457 weakref,
458 zero_call_used_regs,
459 };
460 pub const Clang = enum {
461 aarch64_sve_pcs,
462 aarch64_vector_pcs,
463 address_space,
464 always_inline,
465 arm_sve_vector_bits,
466 availability,
467 ext_vector_type,
468 internal_linkage,
469 matrix_type,
470 neon_polyvector_type,
471 neon_vector_type,
472 no_sanitize_address,
473 no_sanitize_memory,
474 no_sanitize,
475 no_stack_protector,
476 noderef,
477 @"noinline",
478 optnone,
479 riscv_vector_cc,
480 riscv_vls_cc,
481 single,
482 unavailable,
483 unsafe_indexable,
484 vectorcall,
485 warn_unused_result,
486 };
487 pub const Aro = enum {};
488 pub const Declspec = enum {
489 @"align",
490 allocate,
491 allocator,
492 appdomain,
493 code_seg,
494 deprecated,
495 dllexport,
496 dllimport,
497 jitintrinsic,
498 naked,
499 @"noalias",
500 @"noinline",
501 noreturn,
502 process,
503 restrict,
504 safebuffers,
505 selectany,
506 spectre,
507 thread,
508 uuid,
509 };
510 pub const Msvc = enum {
511 forceinline_calls,
512 forceinline,
513 @"noinline",
514 };
515 pub const Riscv = enum {
516 vector_cc,
517 vls_cc,
518 };
519 pub const Keyword = enum {
520 _Alignas,
521 alignas,
522 noreturn,
523 asm_label,
524 nonnull,
525 null_unspecified,
526 nullable_result,
527 nullable,
528 __forceinline,
529 _forceinline,
530 __stdcall,
531 _stdcall,
532 __thiscall,
533 _thiscall,
534 __vectorcall,
535 _vectorcall,
536 __fastcall,
537 _fastcall,
538 _regcall,
539 __cdecl,
540 _cdecl,
541 ptr64,
542 ptr32,
543 sptr,
544 uptr,
545 };
546
547 pub fn fromString(syntax: Syntax, opt_vendor: ?[]const u8, name_raw: []const u8) ?Namespaced {
548 const name = normalize(name_raw);
549 switch (syntax) {
550 .standard => {
551 const vendor_str_raw = opt_vendor orelse {
552 const tag = std.meta.stringToEnum(Namespaced.Standard, name) orelse return null;
553 return .{ .standard = tag };
833 };554 };
834 }555 const vendor_str = normalize(vendor_str_raw);
835 try p.err(tok, .non_string_ignored, .{qt});556 const vendor = std.meta.stringToEnum(Namespaced.Standard.Vendors, vendor_str) orelse return null;
836 },557 switch (vendor) {
837 .uninitialized => if (p.func.qt == null) {558 .aro => return null,
838 try p.err(tok, .local_variable_attribute, .{"uninitialized"});559 inline else => |vendor_tag| {
839 } else {560 const vendor_name = @tagName(vendor_tag);
840 try p.attr_application_buf.append(gpa, attr);561 const tag = std.meta.stringToEnum(@FieldType(Namespaced, vendor_name), name) orelse return null;
841 },562 return @unionInit(Namespaced, vendor_name, tag);
842 .cleanup => if (p.func.qt == null) {563 },
843 try p.err(tok, .local_variable_attribute, .{"cleanup"});564 }
844 } else {
845 try p.attr_application_buf.append(gpa, attr);
846 },
847 .single,
848 .unsafe_indexable,
849 => try applyBoundsSafetyAttr(.fromTag(attr.tag), p, tok, &base_qt),
850
851 .calling_convention => try applyKeywordCallingConvention(attr, p, tok, base_qt),
852
853 .fastcall,
854 .stdcall,
855 .thiscall,
856 .vectorcall,
857 .cdecl,
858 .pcs,
859 .riscv_vector_cc,
860 .aarch64_sve_pcs,
861 .aarch64_vector_pcs,
862 .sysv_abi,
863 .ms_abi,
864 => try applyGnuAttrCallingConvention(attr, p, tok, base_qt),
865
866 .alloc_size,
867 .copy,
868 .tls_model,
869 => |t| try p.err(tok, .attribute_todo, .{ @tagName(t), "variables" }),
870 // There is already an error in Parser for _Noreturn keyword
871 .noreturn => if (attr.syntax != .keyword) try ignoredAttrErr(p, tok, attr.tag, "variables"),
872 else => try ignoredAttrErr(p, tok, attr.tag, "variables"),
873 };
874 return applySelected(base_qt, p);
875}
876
877pub fn applyFieldAttributes(p: *Parser, field_qt: *QualType, attr_buf_start: usize) ![]const Attribute {
878 const attrs = p.attr_buf.items(.attr)[attr_buf_start..];
879 const seen = p.attr_buf.items(.seen)[attr_buf_start..];
880 p.attr_application_buf.items.len = 0;
881 for (attrs, 0..) |attr, i| switch (attr.tag) {
882 .@"packed" => {
883 try p.attr_application_buf.append(p.comp.gpa, attr);
884 seen[i] = true;
885 },
886 .aligned => {
887 try attr.applyAligned(p, field_qt.*, null);
888 seen[i] = true;
889 },
890 else => {},
891 };
892 return p.attr_application_buf.items;
893}
894
895pub fn applyTypeAttributes(p: *Parser, qt: QualType, attr_buf_start: usize, diagnostic: ?Parser.Diagnostic) !QualType {
896 const gpa = p.comp.gpa;
897 const attrs = p.attr_buf.items(.attr)[attr_buf_start..];
898 const toks = p.attr_buf.items(.tok)[attr_buf_start..];
899 const seens = p.attr_buf.items(.seen)[attr_buf_start..];
900 p.attr_application_buf.items.len = 0;
901 var base_qt = qt;
902 for (attrs, toks, seens) |attr, tok, seen| {
903 if (seen) continue;
904
905 switch (attr.tag) {
906 // zig fmt: off
907 .@"packed", .may_alias, .deprecated, .unavailable, .unused, .warn_if_not_aligned, .mode,
908 .nullability, .unaligned, .warn_unused_result,
909 => try p.attr_application_buf.append(gpa, attr),
910 // zig fmt: on
911 .transparent_union => try attr.applyTransparentUnion(p, tok, base_qt),
912 .vector_size => try attr.applyVectorSize(p, tok, &base_qt),
913 .aligned => try attr.applyAligned(p, base_qt, diagnostic),
914 .designated_init => if (base_qt.is(p.comp, .@"struct")) {
915 try p.attr_application_buf.append(gpa, attr);
916 } else {
917 try p.err(tok, .designated_init_invalid, .{});
918 },565 },
919 .calling_convention => try applyKeywordCallingConvention(attr, p, tok, base_qt),566 .gnu => {
920567 assert(opt_vendor == null);
921 .fastcall,568 inline for (.{ "gnu", "clang" }) |vendor_name| { // , "aro"
922 .stdcall,569 if (std.meta.stringToEnum(@FieldType(Namespaced, vendor_name), name)) |tag| {
923 .thiscall,570 return @unionInit(Namespaced, vendor_name, tag);
924 .vectorcall,
925 .cdecl,
926 .pcs,
927 .riscv_vector_cc,
928 .aarch64_sve_pcs,
929 .aarch64_vector_pcs,
930 .sysv_abi,
931 .ms_abi,
932 => try applyGnuAttrCallingConvention(attr, p, tok, base_qt),
933
934 .single,
935 .unsafe_indexable,
936 => try applyBoundsSafetyAttr(.fromTag(attr.tag), p, tok, &base_qt),
937
938 .alloc_size,
939 .copy,
940 .scalar_storage_order,
941 .nonstring,
942 => |t| try p.err(tok, .attribute_todo, .{ @tagName(t), "types" }),
943 else => try ignoredAttrErr(p, tok, attr.tag, "types"),
944 }
945 }
946 return applySelected(base_qt, p);
947}
948
949pub fn applyFunctionAttributes(p: *Parser, qt: QualType, attr_buf_start: usize) !QualType {
950 const gpa = p.comp.gpa;
951 const attrs = p.attr_buf.items(.attr)[attr_buf_start..];
952 const toks = p.attr_buf.items(.tok)[attr_buf_start..];
953 p.attr_application_buf.items.len = 0;
954 var base_qt = qt;
955 var hot = false;
956 var cold = false;
957 var @"noinline" = false;
958 var always_inline = false;
959 for (attrs, toks) |attr, tok| switch (attr.tag) {
960 // zig fmt: off
961 .noreturn, .unused, .used, .warning, .deprecated, .unavailable, .weak, .pure, .leaf,
962 .@"const", .warn_unused_result, .section, .returns_nonnull, .returns_twice, .@"error",
963 .externally_visible, .retain, .flatten, .gnu_inline, .alias, .asm_label, .nodiscard,
964 .reproducible, .unsequenced, .nothrow, .nullability, .unaligned, .internal_linkage,
965 .visibility,
966 => try p.attr_application_buf.append(gpa, attr),
967 // zig fmt: on
968 .hot => if (cold) {
969 try p.err(tok, .ignore_hot, .{});
970 } else {
971 try p.attr_application_buf.append(gpa, attr);
972 hot = true;
973 },
974 .cold => if (hot) {
975 try p.err(tok, .ignore_cold, .{});
976 } else {
977 try p.attr_application_buf.append(gpa, attr);
978 cold = true;
979 },
980 .always_inline => if (@"noinline") {
981 try p.err(tok, .ignore_always_inline, .{});
982 } else {
983 try p.attr_application_buf.append(gpa, attr);
984 always_inline = true;
985 },
986 .@"noinline" => if (always_inline) {
987 try p.err(tok, .ignore_noinline, .{});
988 } else {
989 try p.attr_application_buf.append(gpa, attr);
990 @"noinline" = true;
991 },
992 .aligned => try attr.applyAligned(p, base_qt, null),
993 .format => try attr.applyFormat(p, base_qt),
994 .calling_convention => try applyKeywordCallingConvention(attr, p, tok, base_qt),
995
996 .fastcall,
997 .stdcall,
998 .thiscall,
999 .vectorcall,
1000 .cdecl,
1001 .pcs,
1002 .riscv_vector_cc,
1003 .aarch64_sve_pcs,
1004 .aarch64_vector_pcs,
1005 .sysv_abi,
1006 .ms_abi,
1007 => try applyGnuAttrCallingConvention(attr, p, tok, base_qt),
1008
1009 .malloc => {
1010 if (base_qt.get(p.comp, .func).?.return_type.isPointer(p.comp)) {
1011 try p.attr_application_buf.append(gpa, attr);
1012 } else {
1013 try ignoredAttrErr(p, tok, attr.tag, "functions that do not return pointers");
1014 }
1015 },
1016 .alloc_align => {
1017 const func_ty = base_qt.get(p.comp, .func).?;
1018 if (func_ty.return_type.isPointer(p.comp)) {
1019 if (attr.args.alloc_align.position == 0 or attr.args.alloc_align.position > func_ty.params.len) {
1020 try p.err(tok, .attribute_param_out_of_bounds, .{ "alloc_align", 1 });
1021 } else {
1022 const arg_qt = func_ty.params[attr.args.alloc_align.position - 1].qt;
1023 if (arg_qt.isInvalid()) continue;
1024 const arg_sk = arg_qt.scalarKind(p.comp);
1025 if (!arg_sk.isInt() or !arg_sk.isReal()) {
1026 try p.err(tok, .alloc_align_required_int_param, .{});
1027 } else {
1028 try p.attr_application_buf.append(gpa, attr);
1029 }571 }
1030 }572 }
1031 } else {573 return null;
1032 try p.err(tok, .alloc_align_requires_ptr_return, .{});574 },
1033 }575 .declspec => {
1034 },576 assert(opt_vendor == null);
1035 .access,577 const tag = std.meta.stringToEnum(Namespaced.Declspec, name) orelse return null;
1036 .alloc_size,578 return .{ .declspec = tag };
1037 .artificial,579 },
1038 .assume_aligned,580 .keyword => unreachable,
1039 .constructor,
1040 .copy,
1041 .destructor,
1042 .format_arg,
1043 .ifunc,
1044 .interrupt,
1045 .interrupt_handler,
1046 .no_address_safety_analysis,
1047 .no_icf,
1048 .no_instrument_function,
1049 .no_profile_instrument_function,
1050 .no_reorder,
1051 .no_sanitize,
1052 .no_sanitize_address,
1053 .no_sanitize_coverage,
1054 .no_sanitize_thread,
1055 .no_sanitize_undefined,
1056 .no_split_stack,
1057 .no_stack_limit,
1058 .no_stack_protector,
1059 .noclone,
1060 .noipa,
1061 // .nonnull,
1062 .noplt,
1063 // .optimize,
1064 .patchable_function_entry,
1065 .sentinel,
1066 .simd,
1067 .stack_protect,
1068 .symver,
1069 .target,
1070 .target_clones,
1071 .weakref,
1072 .zero_call_used_regs,
1073 => |t| try p.err(tok, .attribute_todo, .{ @tagName(t), "functions" }),
1074 else => try ignoredAttrErr(p, tok, attr.tag, "functions"),
1075 };
1076 return applySelected(qt, p);
1077}
1078
1079pub fn applyLabelAttributes(p: *Parser, attr_buf_start: usize) !QualType {
1080 const gpa = p.comp.gpa;
1081 const attrs = p.attr_buf.items(.attr)[attr_buf_start..];
1082 const toks = p.attr_buf.items(.tok)[attr_buf_start..];
1083 p.attr_application_buf.items.len = 0;
1084 var hot = false;
1085 var cold = false;
1086 for (attrs, toks) |attr, tok| switch (attr.tag) {
1087 .unused => try p.attr_application_buf.append(gpa, attr),
1088 .hot => if (cold) {
1089 try p.err(tok, .ignore_hot, .{});
1090 } else {
1091 try p.attr_application_buf.append(gpa, attr);
1092 hot = true;
1093 },
1094 .cold => if (hot) {
1095 try p.err(tok, .ignore_cold, .{});
1096 } else {
1097 try p.attr_application_buf.append(gpa, attr);
1098 cold = true;
1099 },
1100 else => try ignoredAttrErr(p, tok, attr.tag, "labels"),
1101 };
1102 return applySelected(.void, p);
1103}
1104
1105pub fn applyStatementAttributes(p: *Parser, expr_start: TokenIndex, attr_buf_start: usize) !QualType {
1106 const attrs = p.attr_buf.items(.attr)[attr_buf_start..];
1107 const toks = p.attr_buf.items(.tok)[attr_buf_start..];
1108 p.attr_application_buf.items.len = 0;
1109 for (attrs, toks) |attr, tok| switch (attr.tag) {
1110 .fallthrough => {
1111 for (p.tok_ids[p.tok_i..]) |tok_id| {
1112 switch (tok_id) {
1113 .keyword_case, .keyword_default, .eof => {
1114 try p.attr_application_buf.append(p.comp.gpa, attr);
1115 break;
1116 },
1117 .r_brace, .semicolon => {},
1118 else => {
1119 try p.err(expr_start, .invalid_fallthrough, .{});
1120 break;
1121 },
1122 }
1123 }
1124 },
1125 else => try p.err(tok, .cannot_apply_attribute_to_statement, .{@tagName(attr.tag)}),
1126 };
1127 return applySelected(.void, p);
1128}
1129
1130pub fn applyEnumeratorAttributes(p: *Parser, qt: QualType, attr_buf_start: usize) !QualType {
1131 const attrs = p.attr_buf.items(.attr)[attr_buf_start..];
1132 const toks = p.attr_buf.items(.tok)[attr_buf_start..];
1133 p.attr_application_buf.items.len = 0;
1134 for (attrs, toks) |attr, tok| switch (attr.tag) {
1135 .deprecated, .unavailable => try p.attr_application_buf.append(p.comp.gpa, attr),
1136 else => try ignoredAttrErr(p, tok, attr.tag, "enums"),
1137 };
1138 return applySelected(qt, p);
1139}
1140
1141fn applyAligned(attr: Attribute, p: *Parser, qt: QualType, diagnostic: ?Parser.Diagnostic) !void {
1142 if (attr.args.aligned.alignment) |alignment| alignas: {
1143 if (attr.syntax != .keyword) break :alignas;
1144
1145 const align_tok = attr.args.aligned.__name_tok;
1146 if (diagnostic) |d| try p.err(align_tok, d, .{});
1147
1148 if (qt.isInvalid()) return;
1149 const default_align = qt.base(p.comp).qt.alignof(p.comp);
1150 if (qt.is(p.comp, .func)) {
1151 try p.err(align_tok, .alignas_on_func, .{});
1152 } else if (alignment.requested < default_align) {
1153 try p.err(align_tok, .minimum_alignment, .{default_align});
1154 }
1155 }
1156 try p.attr_application_buf.append(p.comp.gpa, attr);
1157}
1158
1159fn applyTransparentUnion(attr: Attribute, p: *Parser, tok: TokenIndex, qt: QualType) !void {
1160 const union_ty = qt.get(p.comp, .@"union") orelse {
1161 return p.err(tok, .transparent_union_wrong_type, .{});
1162 };
1163 // TODO validate union defined at end
1164 if (union_ty.layout == null) return;
1165 if (union_ty.fields.len == 0) {
1166 return p.err(tok, .transparent_union_one_field, .{});
1167 }
1168 const first_field_size = union_ty.fields[0].qt.bitSizeof(p.comp);
1169 for (union_ty.fields[1..]) |field| {
1170 const field_size = field.qt.bitSizeof(p.comp);
1171 if (field_size == first_field_size) continue;
1172
1173 try p.err(field.name_tok, .transparent_union_size, .{ field.name.lookup(p.comp), field_size });
1174 return p.err(union_ty.fields[0].name_tok, .transparent_union_size_note, .{first_field_size});
1175 }
1176
1177 try p.attr_application_buf.append(p.comp.gpa, attr);
1178}
1179
1180fn applyVectorSize(attr: Attribute, p: *Parser, tok: TokenIndex, qt: *QualType) !void {
1181 if (qt.isInvalid()) return;
1182 const scalar_kind = qt.scalarKind(p.comp);
1183 if (scalar_kind != .int and scalar_kind != .float) {
1184 if (qt.get(p.comp, .@"enum")) |enum_ty| {
1185 if (p.comp.langopts.emulate == .clang and enum_ty.incomplete) {
1186 return; // Clang silently ignores vector_size on incomplete enums.
1187 }
1188 }
1189 try p.err(tok, .invalid_vec_elem_ty, .{qt.*});
1190 return error.ParsingFailed;
1191 }
1192 if (qt.get(p.comp, .bit_int)) |bit_int| {
1193 if (bit_int.bits < 8) {
1194 try p.err(tok, .bit_int_vec_too_small, .{});
1195 return error.ParsingFailed;
1196 } else if (!std.math.isPowerOfTwo(bit_int.bits)) {
1197 try p.err(tok, .bit_int_vec_not_pow2, .{});
1198 return error.ParsingFailed;
1199 }581 }
1200 }582 }
1201583
1202 const vec_bytes = attr.args.vector_size.bytes;584 pub fn fromKeyword(id: Tree.Token.Id) Namespaced {
1203 const elem_size = qt.sizeof(p.comp);585 return .{ .keyword = switch (id) {
1204 if (vec_bytes % elem_size != 0) {586 .keyword_alignas => ._Alignas,
1205 return p.err(tok, .vec_size_not_multiple, .{});587 .keyword_c23_alignas => .alignas,
1206 }588 .keyword_noreturn => .noreturn,
1207589 .keyword_asm, .keyword_asm1, .keyword_asm2 => .asm_label,
1208 qt.* = try p.comp.type_store.put(p.comp.gpa, .{ .vector = .{590 .keyword_nonnull => .nonnull,
1209 .elem = qt.*,591 .keyword_null_unspecified => .null_unspecified,
1210 .len = @intCast(vec_bytes / elem_size),592 .keyword_nullable_result => .nullable_result,
1211 } });593 .keyword_nullable => .nullable,
1212}594 .keyword_forceinline => .__forceinline,
1213595 .keyword_forceinline2 => ._forceinline,
1214fn applyFormat(attr: Attribute, p: *Parser, qt: QualType) !void {596 .keyword_stdcall => .__stdcall,
1215 // TODO validate597 .keyword_stdcall2 => ._stdcall,
1216 _ = qt;598 .keyword_thiscall => .__thiscall,
1217 try p.attr_application_buf.append(p.comp.gpa, attr);599 .keyword_thiscall2 => ._thiscall,
1218}600 .keyword_vectorcall => .__vectorcall,
1219601 .keyword_vectorcall2 => ._vectorcall,
1220/// These come from GNU attributes like __attribute__((sysv_abi))602 .keyword_fastcall => .__fastcall,
1221fn applyGnuAttrCallingConvention(attr: Attribute, p: *Parser, tok: TokenIndex, qt: QualType) !void {603 .keyword_fastcall2 => ._fastcall,
1222 if (!qt.isCallable(p.comp)) {604 .keyword_regcall => ._regcall,
1223 return p.err(tok, .callconv_non_func, .{ p.tokSlice(tok), qt });605 .keyword_cdecl => .__cdecl,
1224 }606 .keyword_cdecl2 => ._cdecl,
1225 const gpa = p.comp.gpa;607 .keyword_ptr64 => .ptr64,
1226 switch (attr.tag) {608 .keyword_ptr32 => .ptr32,
1227 .fastcall => if (p.comp.target.cpu.arch == .x86) {609 .keyword_sptr => .sptr,
1228 try p.attr_application_buf.append(gpa, .{610 .keyword_uptr => .uptr,
1229 .tag = .calling_convention,611 else => unreachable,
1230 .args = .{ .calling_convention = .{ .cc = .fastcall } },612 } };
1231 .syntax = attr.syntax,
1232 });
1233 } else {
1234 try p.err(tok, .callconv_not_supported, .{"fastcall"});
1235 },
1236 .stdcall => if (p.comp.target.cpu.arch == .x86) {
1237 try p.attr_application_buf.append(gpa, .{
1238 .tag = .calling_convention,
1239 .args = .{ .calling_convention = .{ .cc = .stdcall } },
1240 .syntax = attr.syntax,
1241 });
1242 } else {
1243 try p.err(tok, .callconv_not_supported, .{"stdcall"});
1244 },
1245 .thiscall => if (p.comp.target.cpu.arch == .x86) {
1246 try p.attr_application_buf.append(gpa, .{
1247 .tag = .calling_convention,
1248 .args = .{ .calling_convention = .{ .cc = .thiscall } },
1249 .syntax = attr.syntax,
1250 });
1251 } else {
1252 try p.err(tok, .callconv_not_supported, .{"thiscall"});
1253 },
1254 .vectorcall => if (p.comp.target.cpu.arch == .x86 or p.comp.target.cpu.arch.isAARCH64()) {
1255 try p.attr_application_buf.append(gpa, .{
1256 .tag = .calling_convention,
1257 .args = .{ .calling_convention = .{ .cc = .vectorcall } },
1258 .syntax = attr.syntax,
1259 });
1260 } else {
1261 try p.err(tok, .callconv_not_supported, .{"vectorcall"});
1262 },
1263 .cdecl => {},
1264 .pcs => if (p.comp.target.cpu.arch.isArm()) {
1265 try p.attr_application_buf.append(gpa, .{
1266 .tag = .calling_convention,
1267 .args = .{ .calling_convention = .{ .cc = switch (attr.args.pcs.kind) {
1268 .aapcs => .arm_aapcs,
1269 .@"aapcs-vfp" => .arm_aapcs_vfp,
1270 } } },
1271 .syntax = attr.syntax,
1272 });
1273 } else {
1274 try p.err(tok, .callconv_not_supported, .{"pcs"});
1275 },
1276 .riscv_vector_cc => if (p.comp.target.cpu.arch.isRISCV()) {
1277 try p.attr_application_buf.append(gpa, .{
1278 .tag = .calling_convention,
1279 .args = .{ .calling_convention = .{ .cc = .riscv_vector } },
1280 .syntax = attr.syntax,
1281 });
1282 } else {
1283 try p.err(tok, .callconv_not_supported, .{"pcs"});
1284 },
1285 .aarch64_sve_pcs => if (p.comp.target.cpu.arch.isAARCH64()) {
1286 try p.attr_application_buf.append(gpa, .{
1287 .tag = .calling_convention,
1288 .args = .{ .calling_convention = .{ .cc = .aarch64_sve_pcs } },
1289 .syntax = attr.syntax,
1290 });
1291 } else {
1292 try p.err(tok, .callconv_not_supported, .{"pcs"});
1293 },
1294 .aarch64_vector_pcs => if (p.comp.target.cpu.arch.isAARCH64()) {
1295 try p.attr_application_buf.append(gpa, .{
1296 .tag = .calling_convention,
1297 .args = .{ .calling_convention = .{ .cc = .aarch64_vector_pcs } },
1298 .syntax = attr.syntax,
1299 });
1300 } else {
1301 try p.err(tok, .callconv_not_supported, .{"pcs"});
1302 },
1303 .sysv_abi => if (p.comp.target.cpu.arch == .x86_64 and p.comp.target.os.tag == .windows) {
1304 try p.attr_application_buf.append(gpa, .{
1305 .tag = .calling_convention,
1306 .args = .{ .calling_convention = .{ .cc = .x86_64_sysv } },
1307 .syntax = attr.syntax,
1308 });
1309 },
1310 .ms_abi => if (p.comp.target.cpu.arch == .x86_64 and p.comp.target.os.tag != .windows) {
1311 try p.attr_application_buf.append(gpa, .{
1312 .tag = .calling_convention,
1313 .args = .{ .calling_convention = .{ .cc = .x86_64_win } },
1314 .syntax = attr.syntax,
1315 });
1316 },
1317 else => unreachable,
1318 }
1319}
1320
1321fn applyBoundsSafetyAttr(bounds: Type.Pointer.Bounds, p: *Parser, tok: TokenIndex, qt: *QualType) !void {
1322 if (qt.isInvalid()) return;
1323 const pointer = qt.get(p.comp, .pointer) orelse {
1324 return p.err(tok, .attribute_requires_pointer, .{@tagName(bounds)});
1325 };
1326 if (pointer.bounds == bounds) {
1327 return p.err(tok, .redundant_bounds_annotation, .{@tagName(bounds)});
1328 }
1329 if (pointer.bounds != .c) {
1330 return p.err(tok, .multiple_bounds_annotations, .{});
1331 }613 }
1332 qt.* = try p.comp.type_store.put(p.comp.gpa, .{ .pointer = .{
1333 .child = pointer.child,
1334 .decayed = pointer.decayed,
1335 .bounds = bounds,
1336 } });
1337}
1338614
1339/// These come from explicit MSVC keywords like __stdcall, __fastcall, etc615 pub fn hasIdentifierArg(n: Namespaced) bool {
1340fn applyKeywordCallingConvention(attr: Attribute, p: *Parser, tok: TokenIndex, qt: QualType) !void {616 return switch (n) {
1341 if (!qt.isCallable(p.comp)) {617 .gnu => |gnu_attr| switch (gnu_attr) {
1342 return p.err(tok, .callconv_non_func, .{ p.tokSlice(tok), qt });618 .access, .mode, .format => true,
1343 }619 else => false,
1344 switch (attr.args.calling_convention.cc) {620 },
1345 .c => {},621 .declspec => |declspec_attr| switch (declspec_attr) {
1346 .stdcall, .thiscall, .fastcall, .regcall => switch (p.comp.target.cpu.arch) {622 .spectre => true,
1347 .x86 => try p.attr_application_buf.append(p.comp.gpa, attr),623 else => false,
1348 else => try p.err(tok, .callconv_not_supported, .{p.tok_ids[tok].symbol()}),624 },
1349 },625 else => false,
1350 .vectorcall => switch (p.comp.target.cpu.arch) {626 };
1351 .x86, .aarch64, .aarch64_be => try p.attr_application_buf.append(p.comp.gpa, attr),
1352 else => try p.err(tok, .callconv_not_supported, .{p.tok_ids[tok].symbol()}),
1353 },
1354 .riscv_vector,
1355 .aarch64_sve_pcs,
1356 .aarch64_vector_pcs,
1357 .arm_aapcs,
1358 .arm_aapcs_vfp,
1359 .x86_64_sysv,
1360 .x86_64_win,
1361 => unreachable, // These can't come from keyword syntax
1362 }627 }
1363}628};
1364
1365fn applySelected(qt: QualType, p: *Parser) !QualType {
1366 if (p.attr_application_buf.items.len == 0) return qt;
1367 if (qt.isInvalid()) return qt;
1368 return (try p.comp.type_store.put(p.comp.gpa, .{ .attributed = .{
1369 .base = qt,
1370 .attributes = p.attr_application_buf.items,
1371 } })).withQualifiers(qt);
1372}
1373629
1374pub fn visibilityFromString(s: []const u8) ?std.builtin.SymbolVisibility {630pub fn normalize(name: []const u8) []const u8 {
1375 if (mem.eql(u8, s, "internal")) {631 if (name.len >= 4 and mem.startsWith(u8, name, "__") and mem.endsWith(u8, name, "__")) {
1376 return .hidden;632 return name[2 .. name.len - 2];
1377 }
1378 const visibility = std.meta.stringToEnum(std.builtin.SymbolVisibility, s) orelse return null;
1379 // compiler will notify us if .internal is added as a visibility type
1380 switch (visibility) {
1381 .default, .hidden, .protected => {},
1382 }633 }
1383 return visibility;634 return name;
1384}635}
lib/compiler/aro/aro/Attribute/Diagnostic.zig created+334
...@@ -0,0 +1,334 @@
1const std = @import("std");
2
3const Diagnostics = @import("../Diagnostics.zig");
4
5const Diagnostic = @This();
6
7fmt: []const u8,
8kind: Diagnostics.Message.Kind,
9opt: ?Diagnostics.Option = null,
10
11// TODO get rid of this
12pub const unimplemented: Diagnostic = .{
13 .fmt = "TODO: implement {at} attribute",
14 .kind = .warning,
15};
16
17pub const arg_count_zero: Diagnostic = .{
18 .fmt = "{at} attribute takes no arguments",
19 .kind = .@"error",
20};
21
22pub const arg_count_one: Diagnostic = .{
23 .fmt = "{at} attribute takes one argument",
24 .kind = .@"error",
25};
26
27pub const arg_count: Diagnostic = .{
28 .fmt = "{at} attribute takes {d} arguments",
29 .kind = .@"error",
30};
31
32pub const not_enough_args: Diagnostic = .{
33 .fmt = "{at} attribute takes at least {d} argument(s)",
34 .kind = .@"error",
35};
36
37pub const too_many_args: Diagnostic = .{
38 .fmt = "{at} attribute takes at most {d} argument(s)",
39 .kind = .@"error",
40};
41
42pub const arg_type: Diagnostic = .{
43 .fmt = "expected {s} as argmuent of {at} attribute but got {s}",
44 .kind = .@"error",
45};
46
47pub const arg_int_out_of_range: Diagnostic = .{
48 .fmt = "attribute {at} argument value '{value}' out of range",
49 .kind = .@"error",
50};
51
52pub const arg_requires_string: Diagnostic = .{
53 .fmt = "expected string literal as argmuent of {at} attribute",
54 .kind = .@"error",
55};
56
57pub const unknown_enum: Diagnostic = .{
58 .fmt = "unknown {at} argument. Possible values are: {choices}",
59 .kind = .warning,
60 .opt = .@"ignored-attributes",
61};
62
63pub const invalid_target: Diagnostic = .{
64 .fmt = "{at} attribute only applies to {choices}",
65 .kind = .warning,
66 .opt = .@"ignored-attributes",
67};
68
69pub const incompatible_attr: Diagnostic = .{
70 .fmt = "{at} and {at} attributes are not compatible",
71 .kind = .@"error",
72};
73
74pub const invalid_stmt_attr: Diagnostic = .{
75 .fmt = "{at} attribute cannot be applied to a statement",
76 .kind = .@"error",
77};
78
79pub const stmt_attr_on_decl: Diagnostic = .{
80 .fmt = "{at} attribute cannot be applied to a declaration",
81 .kind = .@"error",
82};
83
84pub const previous_attribute: Diagnostic = .{
85 .fmt = "previous attribute is here",
86 .kind = .note,
87};
88
89pub const ignored_attribute: Diagnostic = .{
90 .fmt = "{at} attribute ignored",
91 .kind = .warning,
92 .opt = .@"ignored-attributes",
93};
94
95pub const conflicting_attribute: Diagnostic = .{
96 .fmt = "conflicting attribute is here",
97 .kind = .note,
98};
99
100// vector_size
101pub const invalid_vec_elem_ty: Diagnostic = .{
102 .fmt = "invalid vector element type {qt}",
103 .kind = .@"error",
104};
105
106pub const bit_int_vec_too_small: Diagnostic = .{
107 .fmt = "'_BitInt' vector element width must be at least as wide as 'CHAR_BIT'",
108 .kind = .@"error",
109};
110
111pub const bit_int_vec_not_pow2: Diagnostic = .{
112 .fmt = "'_BitInt' vector element width must be a power of 2",
113 .kind = .@"error",
114};
115
116pub const vec_size_not_multiple: Diagnostic = .{
117 .fmt = "vector size not an integral multiple of component size",
118 .kind = .@"error",
119};
120
121// alignment
122pub const alignas_on_func: Diagnostic = .{
123 .fmt = "{at} attribute only applies to variables and fields",
124 .kind = .@"error",
125};
126
127pub const alignas_on_param: Diagnostic = .{
128 .fmt = "{at} attribute cannot be applied to a function parameter",
129 .kind = .@"error",
130};
131
132pub const alignas_bitfield: Diagnostic = .{
133 .fmt = "{at} attribute cannot be applied to a bit-field",
134 .kind = .@"error",
135};
136
137pub const minimum_alignment: Diagnostic = .{
138 .fmt = "requested alignment is less than minimum alignment of {d}",
139 .kind = .@"error",
140};
141
142pub const maximum_alignment: Diagnostic = .{
143 .fmt = "requested alignment of {d} is too large",
144 .kind = .@"error",
145};
146
147pub const negative_alignment: Diagnostic = .{
148 .fmt = "requested negative alignment of {d} is invalid",
149 .kind = .@"error",
150};
151
152pub const non_pow2_align: Diagnostic = .{
153 .fmt = "requested alignment is not a power of 2",
154 .kind = .@"error",
155};
156
157pub const msvc_enum_align_ignored: Diagnostic = .{
158 .fmt = "alignment specifier is ignored on enum",
159 .kind = .warning,
160 .opt = .@"ignored-attributes",
161};
162
163// warn_unused_result
164pub const warn_unused_result_void: Diagnostic = .{
165 .fmt = "attribute {at} cannot be applied to functions without return value",
166 .kind = .warning,
167 .opt = .@"ignored-attributes",
168};
169
170// nonnull
171pub const nonnull_param_args: Diagnostic = .{
172 .fmt = "{at} attribute when used on parameters takes no arguments",
173 .kind = .warning,
174 .opt = .@"ignored-attributes",
175};
176
177pub const param_out_of_bounds: Diagnostic = .{
178 .fmt = "{at} attribute parameter {d} is out of bounds",
179 .kind = .@"error",
180};
181
182pub const nonnull_pointer_only: Diagnostic = .{
183 .fmt = "{at} attribute only applies to pointer arguments",
184 .kind = .warning,
185 .opt = .@"ignored-attributes",
186};
187
188// neon_vector_type, neon_polyvector_type
189pub const invalid_neon_vec_size: Diagnostic = .{
190 .fmt = "Neon vector size must be 64 or 128 bits",
191 .kind = .@"error",
192};
193
194// transparent_union
195pub const transparent_union_forward_decl: Diagnostic = .{
196 .fmt = "{at} attribute can only be applied to a union definition; attribute ignored",
197 .kind = .warning,
198 .opt = .@"ignored-attributes",
199};
200
201pub const transparent_union_wrong_type: Diagnostic = .{
202 .fmt = "{at} attribute only applies to unions",
203 .kind = .warning,
204 .opt = .@"ignored-attributes",
205};
206
207pub const transparent_union_one_field: Diagnostic = .{
208 .fmt = "transparent union definition must contain at least one field; {at} attribute ignored",
209 .opt = .@"ignored-attributes",
210 .kind = .warning,
211};
212
213pub const transparent_union_size: Diagnostic = .{
214 .fmt = "size of field '{s}' ({d} bits) does not match the size of the first field in transparent union; {at} attribute ignored",
215 .kind = .warning,
216 .opt = .@"ignored-attributes",
217};
218
219pub const transparent_union_size_note: Diagnostic = .{
220 .fmt = "size of first field is {d}",
221 .kind = .note,
222};
223
224// designated_init
225pub const designated_init_invalid: Diagnostic = .{
226 .fmt = "{at} attribute is only valid on 'struct' type'",
227 .kind = .@"error",
228};
229
230// fallthrough
231pub const fallthrough_non_empty: Diagnostic = .{
232 .fmt = "{at} attribute is only allowed on empty statements",
233 .kind = .@"error",
234};
235
236pub const fallthrough_outside_switch: Diagnostic = .{
237 .fmt = "{at} attribute outside a switch statement",
238 .kind = .@"error",
239};
240
241pub const fallthrough_not_before_case: Diagnostic = .{
242 .fmt = "{at} attribute not preceding a switch label",
243 .kind = .@"error",
244};
245
246// callconvs
247pub const callconv_non_func: Diagnostic = .{
248 .fmt = "{at} only applies to function types; type here is {qt}",
249 .kind = .warning,
250 .opt = .@"ignored-attributes",
251};
252
253pub const callconv_not_supported: Diagnostic = .{
254 .fmt = "{at} calling convention is not supported for this target",
255 .kind = .warning,
256 .opt = .@"ignored-attributes",
257};
258
259pub const callconv_incompatible: Diagnostic = .{
260 .fmt = "{s} and {s} attributes are not compatible",
261 .kind = .warning,
262 .opt = .@"ignored-attributes",
263};
264
265// visibility
266pub const visibility_protected_invalid: Diagnostic = .{
267 .fmt = "target does not support 'protected' visibility; using 'default'",
268 .kind = .warning,
269 .opt = .@"unsupported-visibility",
270};
271
272pub const incompatible_visibility: Diagnostic = .{
273 .fmt = "visibility does not match previous declaration",
274 .kind = .@"error",
275};
276
277// nullability
278pub const conflicting_nullability: Diagnostic = .{
279 .fmt = "nullability specifier '{s}' conflicts with existing specifier '{s}'",
280 .kind = .@"error",
281};
282
283pub const invalid_nullability: Diagnostic = .{
284 .fmt = "nullability specifier cannot be applied to non-pointer type {qt}",
285 .kind = .@"error",
286};
287
288// [[_Noreturn]]
289pub const deprecated_noreturn: Diagnostic = .{
290 .fmt = "the '[[_Noreturn]]' attribute spelling is deprecated in C23; use '[[noreturn]]' instead",
291 .kind = .warning,
292 .opt = .@"deprecated-attributes",
293};
294
295// cleanup
296pub const cleanup_non_function: Diagnostic = .{
297 .fmt = "{at} argument '{s}' is not a function",
298 .kind = .@"error",
299};
300
301pub const cleanup_one_arg: Diagnostic = .{
302 .fmt = "{at} function '{s}' must take 1 parameter",
303 .kind = .@"error",
304};
305
306pub const cleanup_arg_ty: Diagnostic = .{
307 .fmt = "{at} function '{s}' parameter {qt} is incompatible with {qt}",
308 .kind = .@"error",
309};
310
311// gnu_inline
312pub const gnu_inline_non_inline: Diagnostic = .{
313 .fmt = "{at} attribute requires function to be marked 'inline', attribute ignored",
314 .kind = .warning,
315 .opt = .@"ignored-attributes",
316};
317
318// section
319pub const conflicting_section_name: Diagnostic = .{
320 .fmt = "{at} does not match previous declaration",
321 .kind = .warning,
322 .opt = .section,
323};
324
325// linkages
326pub const invalid_weak: Diagnostic = .{
327 .fmt = "{at} cannot be applied to declarations with internal linkage",
328 .kind = .@"error",
329};
330
331pub const invalid_selectany: Diagnostic = .{
332 .fmt = "{at} can only be applied to data items with external linkage",
333 .kind = .@"error",
334};
lib/compiler/aro/aro/Attribute/Map.zig created+336
...@@ -0,0 +1,336 @@
1const std = @import("std");
2const mem = std.mem;
3const Attribute = @import("../Attribute.zig");
4const Compilation = @import("../Compilation.zig");
5const Tree = @import("../Tree.zig");
6const TokenIndex = Tree.TokenIndex;
7
8const Repr = struct {
9 tag: Tag,
10 data: u32,
11 syntax: Attribute.Syntax,
12 name: Attribute.Namespaced,
13
14 pub const Tag = enum(u8) {
15 @"packed",
16 hot,
17 cold,
18 @"const",
19 alignment,
20 alignment_null,
21 deprecated_replacement,
22 deprecated_reason,
23 deprecated,
24 unavailable_reason,
25 unavailable,
26 warning,
27 @"error",
28 warn_unused_result_msg,
29 warn_unused_result,
30 nonnull_zero,
31 nonnull_one,
32 nonnull,
33 transparent_union,
34 designated_init,
35 fallthrough,
36 visibility_default,
37 visibility_hidden,
38 visibility_protected,
39 noreturn,
40 cleanup,
41 always_inline,
42 gnu_inline,
43 section,
44 weak,
45 selectany,
46 internal_linkage,
47 unsequenced,
48 reproducible,
49 unused,
50 };
51};
52
53const Map = @This();
54
55attributes: std.MultiArrayList(Repr) = .empty,
56extra: std.ArrayList(u32) = .empty,
57decl_attrs: std.AutoHashMapUnmanaged(Tree.Node.Index, struct { u32, u32 }) = .empty,
58
59pub const Ref = enum(u32) { _ };
60
61pub fn deinit(map: *Map, gpa: mem.Allocator) void {
62 map.attributes.deinit(gpa);
63 map.extra.deinit(gpa);
64 map.decl_attrs.deinit(gpa);
65 map.* = undefined;
66}
67
68pub fn put(map: *Map, gpa: mem.Allocator, attribute: Attribute) !Ref {
69 var repr: Repr = .{
70 .tag = undefined,
71 .data = attribute.tok,
72 .name = attribute.name,
73 .syntax = attribute.syntax,
74 };
75 switch (attribute.args) {
76 inline .@"packed",
77 .hot,
78 .cold,
79 .@"const",
80 .transparent_union,
81 .designated_init,
82 .fallthrough,
83 .noreturn,
84 .always_inline,
85 .gnu_inline,
86 .weak,
87 .selectany,
88 .internal_linkage,
89 .unsequenced,
90 .reproducible,
91 .unused,
92 => |_, tag| repr.tag = @field(Repr.Tag, @tagName(tag)),
93 .alignment => |opt_value| if (opt_value) |value| {
94 repr.tag = .alignment;
95 repr.data = @intCast(map.extra.items.len);
96 try map.extra.appendSlice(gpa, &.{ attribute.tok, value });
97 } else {
98 repr.tag = .alignment_null;
99 },
100 .deprecated => |deprecated| if (deprecated.replacement) |replacement| {
101 repr.tag = .deprecated_replacement;
102 repr.data = @intCast(map.extra.items.len);
103 try map.extra.append(gpa, attribute.tok);
104 try map.putString(gpa, deprecated.msg.?);
105 try map.putString(gpa, replacement);
106 } else if (deprecated.msg) |msg| {
107 repr.tag = .deprecated_reason;
108 repr.data = @intCast(map.extra.items.len);
109 try map.extra.append(gpa, attribute.tok);
110 try map.putString(gpa, msg);
111 } else {
112 repr.tag = .deprecated;
113 },
114 .unavailable => |opt_msg| if (opt_msg) |msg| {
115 repr.tag = .unavailable_reason;
116 repr.data = @intCast(map.extra.items.len);
117 try map.extra.append(gpa, attribute.tok);
118 try map.putString(gpa, msg);
119 } else {
120 repr.tag = .unavailable;
121 },
122 .warning => |msg| {
123 repr.tag = .warning;
124 repr.data = @intCast(map.extra.items.len);
125 try map.extra.append(gpa, attribute.tok);
126 try map.putString(gpa, msg);
127 },
128 .@"error" => |msg| {
129 repr.tag = .@"error";
130 repr.data = @intCast(map.extra.items.len);
131 try map.extra.append(gpa, attribute.tok);
132 try map.putString(gpa, msg);
133 },
134 .warn_unused_result => |opt_msg| if (opt_msg) |msg| {
135 repr.tag = .warn_unused_result_msg;
136 repr.data = @intCast(map.extra.items.len);
137 try map.extra.append(gpa, attribute.tok);
138 try map.putString(gpa, msg);
139 } else {
140 repr.tag = .warn_unused_result;
141 },
142 .nonnull => |positions| if (positions.len == 0) {
143 repr.tag = .nonnull_zero;
144 } else if (positions.len == 1) {
145 repr.tag = .nonnull_one;
146 repr.data = @intCast(map.extra.items.len);
147 try map.extra.appendSlice(gpa, &.{ attribute.tok, positions[0] });
148 } else {
149 repr.tag = .nonnull;
150 repr.data = @intCast(map.extra.items.len);
151 try map.extra.ensureUnusedCapacity(gpa, 2 + positions.len);
152 map.extra.appendAssumeCapacity(attribute.tok);
153 map.extra.appendAssumeCapacity(@intCast(positions.len));
154 map.extra.appendSliceAssumeCapacity(positions);
155 },
156 .visibility => |kind| {
157 repr.tag = switch (kind) {
158 .default => .visibility_default,
159 .hidden => .visibility_hidden,
160 .protected => .visibility_protected,
161 };
162 },
163 .cleanup => |cleanup| {
164 repr.tag = .cleanup;
165 repr.data = @intCast(map.extra.items.len);
166 try map.extra.append(gpa, attribute.tok);
167 try map.extra.append(gpa, @backingInt(cleanup.function));
168 },
169 .section => |name| {
170 repr.tag = .section;
171 repr.data = @intCast(map.extra.items.len);
172 try map.extra.append(gpa, attribute.tok);
173 try map.putString(gpa, name);
174 },
175 else => @panic("TODO"),
176 }
177
178 const index = map.attributes.len;
179 try map.attributes.append(gpa, repr);
180 return @fromBackingInt(@intCast(index));
181}
182
183pub fn get(map: *const Map, ref: Ref) Attribute {
184 const repr = map.attributes.get(@backingInt(ref));
185 var res: Attribute = .{
186 .name = repr.name,
187 .syntax = repr.syntax,
188 .tok = repr.data,
189 .args = undefined,
190 };
191 switch (repr.tag) {
192 inline .@"packed",
193 .hot,
194 .cold,
195 .@"const",
196 .transparent_union,
197 .designated_init,
198 .fallthrough,
199 .noreturn,
200 .always_inline,
201 .gnu_inline,
202 .weak,
203 .selectany,
204 .internal_linkage,
205 .unsequenced,
206 .reproducible,
207 .unused,
208 => |tag| res.args = @field(Attribute.Args, @tagName(tag)),
209 .alignment_null => res.args = .{ .alignment = null },
210 .alignment => {
211 res.tok = map.extra.items[repr.data];
212 res.args = .{ .alignment = map.extra.items[repr.data + 1] };
213 },
214 .deprecated_replacement => {
215 res.tok = map.extra.items[repr.data];
216 const msg, const replacement_index = map.getString(repr.data + 1);
217 const replacement, _ = map.getString(replacement_index);
218 res.args = .{ .deprecated = .{
219 .msg = msg,
220 .replacement = replacement,
221 } };
222 },
223 .deprecated_reason => {
224 res.tok = map.extra.items[repr.data];
225 const msg, _ = map.getString(repr.data + 1);
226 res.args = .{ .deprecated = .{ .msg = msg } };
227 },
228 .deprecated => res.args = .{ .deprecated = .{} },
229 .unavailable_reason => {
230 res.tok = map.extra.items[repr.data];
231 const msg, _ = map.getString(repr.data + 1);
232 res.args = .{ .unavailable = msg };
233 },
234 .unavailable => res.args = .{ .unavailable = null },
235 .warning => {
236 res.tok = map.extra.items[repr.data];
237 const msg, _ = map.getString(repr.data + 1);
238 res.args = .{ .warning = msg };
239 },
240 .@"error" => {
241 res.tok = map.extra.items[repr.data];
242 const msg, _ = map.getString(repr.data + 1);
243 res.args = .{ .@"error" = msg };
244 },
245 .warn_unused_result_msg => {
246 res.tok = map.extra.items[repr.data];
247 const msg, _ = map.getString(repr.data + 1);
248 res.args = .{ .warn_unused_result = msg };
249 },
250 .warn_unused_result => res.args = .{ .warn_unused_result = null },
251 .nonnull => {
252 res.tok = map.extra.items[repr.data];
253 const positions_len = map.extra.items[repr.data + 1];
254 res.args = .{ .nonnull = map.extra.items[repr.data + 2 ..][0..positions_len] };
255 },
256 .nonnull_one => {
257 res.tok = map.extra.items[repr.data];
258 res.args = .{ .nonnull = map.extra.items[repr.data + 1 ..][0..1] };
259 },
260 .nonnull_zero => res.args = .{ .nonnull = &.{} },
261 .visibility_default => res.args = .{ .visibility = .default },
262 .visibility_hidden => res.args = .{ .visibility = .hidden },
263 .visibility_protected => res.args = .{ .visibility = .protected },
264 .cleanup => {
265 res.tok = map.extra.items[repr.data];
266 res.args = .{ .cleanup = .{ .function = @fromBackingInt(map.extra.items[repr.data + 1]) } };
267 },
268 .section => {
269 res.tok = map.extra.items[repr.data];
270 const name, _ = map.getString(repr.data + 1);
271 res.args = .{ .section = name };
272 },
273 }
274 return res;
275}
276
277fn putString(map: *Map, gpa: mem.Allocator, str: []const u8) !void {
278 const str_len: u32 = @intCast(str.len);
279 const aligned_len = mem.alignForward(u32, str_len, 4) / 4;
280 try map.extra.ensureUnusedCapacity(gpa, aligned_len + 1);
281 map.extra.appendAssumeCapacity(str_len);
282 const dest = map.extra.addManyAsSliceAssumeCapacity(aligned_len);
283 @memcpy(@as([]u8, @ptrCast(dest))[0..str.len], str);
284}
285
286fn getString(map: *const Map, index: u32) struct { []const u8, u32 } {
287 const str_len = map.extra.items[index];
288 const aligned_len = mem.alignForward(u32, str_len, 4) / 4;
289 return .{
290 @as([]const u8, @ptrCast(map.extra.items[index + 1 ..]))[0..str_len],
291 index + 1 + aligned_len,
292 };
293}
294
295pub fn attrs(map: *const Map, opt_node: anytype) []const Attribute.Map.Ref {
296 const node: Tree.Node.Index = opt_node.unpack() orelse return &.{};
297 const index, const len = map.decl_attrs.get(node) orelse return &.{};
298 return @ptrCast(map.extra.items[index..][0..len]);
299}
300
301pub fn getAttribute(map: *const Map, opt_node: anytype, tag: Attribute.Tag) ?Attribute {
302 const node: Tree.Node.Index = opt_node.unpack() orelse return null;
303 const node_attrs = map.attrs(node);
304
305 var i: usize = node_attrs.len;
306 while (i > 0) {
307 i -= 1;
308 const attr = map.get(node_attrs[i]);
309 if (attr.args == tag) return attr;
310 }
311 return null;
312}
313
314pub fn requestedAlignment(map: *const Map, opt_node: anytype, comp: *const Compilation) ?u32 {
315 const node: Tree.Node.Index = opt_node.unpack() orelse return null;
316 var max_requested: ?u32 = null;
317 for (map.attrs(node)) |ref| {
318 const attr = map.get(ref);
319 if (attr.args != .alignment) continue;
320
321 const requested = if (attr.args.alignment) |alignment| alignment else comp.target.defaultAlignment();
322 if (max_requested == null or max_requested.? < requested) {
323 max_requested = requested;
324 }
325 }
326 return max_requested;
327}
328
329pub fn hasAttribute(map: *const Map, opt_node: anytype, tag: Attribute.Tag) bool {
330 const node: Tree.Node.Index = opt_node.unpack() orelse return false;
331 for (map.attrs(node)) |ref| {
332 const attr = map.get(ref);
333 if (attr.args == tag) return true;
334 }
335 return false;
336}
lib/compiler/aro/aro/Attribute/Wip.zig created+1467
...@@ -0,0 +1,1467 @@
1const std = @import("std");
2const Allocator = std.mem.Allocator;
3const assert = std.debug.assert;
4
5const Attribute = @import("../Attribute.zig");
6const Diagnostic = @import("Diagnostic.zig");
7const Parser = @import("../Parser.zig");
8const Tree = @import("../Tree.zig");
9const TokenIndex = Tree.TokenIndex;
10const TypeStore = @import("../TypeStore.zig");
11const QualType = TypeStore.QualType;
12const Type = TypeStore.Type;
13
14const Wip = @This();
15
16attrs: std.ArrayList(Parsed) = .empty,
17args: std.ArrayList(Parser.Result) = .empty,
18applied: std.ArrayList(Attribute.Map.Ref) = .empty,
19top: u32 = 0,
20
21current: struct {
22 attr: *Parsed,
23 target: ?Tree.Node.Index = null,
24 qt: QualType,
25 parser: *Parser,
26 arg_i: u32 = 0,
27
28 fn node(c: *const @This()) Tree.Node {
29 return c.target.?.get(&c.parser.tree);
30 }
31} = undefined,
32
33pub const Parsed = struct {
34 name: Attribute.Namespaced,
35 syntax: Attribute.Syntax,
36 args_index: u32,
37 args_len: u32,
38 tok: TokenIndex,
39 used_as_type_attr: bool = false,
40
41 fn args(a: Parsed, wip: *Wip) []const Parser.Result {
42 return wip.args.items[a.args_index..][0..a.args_len];
43 }
44};
45
46comptime {
47 assert(@sizeOf(Parsed) == 16);
48}
49
50pub const State = struct {
51 attrs: u32,
52 args: u32,
53 top: u32,
54};
55
56pub fn state(wip: *Wip, move_top: bool) State {
57 defer {
58 if (move_top) wip.top = @intCast(wip.attrs.items.len);
59 }
60 return .{ .attrs = @intCast(wip.attrs.items.len), .args = @intCast(wip.args.items.len), .top = wip.top };
61}
62
63pub fn restore(wip: *Wip, old_state: State) void {
64 wip.attrs.items.len = old_state.attrs;
65 wip.args.items.len = old_state.args;
66 wip.top = old_state.top;
67}
68
69pub fn deinit(wip: *Wip, gpa: Allocator) void {
70 wip.attrs.deinit(gpa);
71 wip.args.deinit(gpa);
72 wip.applied.deinit(gpa);
73 wip.* = undefined;
74}
75
76pub fn addKeyword(wip: *Wip, p: *const Parser, keyword: TokenIndex, args: []const Parser.Result) !void {
77 const args_index = wip.args.items.len;
78 const gpa = p.comp.gpa;
79 try wip.args.appendSlice(gpa, args);
80 try wip.attrs.append(gpa, .{
81 .name = .fromKeyword(p.tok_ids[keyword]),
82 .syntax = .keyword,
83 .args_len = @intCast(args.len),
84 .args_index = @intCast(args_index),
85 .tok = keyword,
86 });
87}
88
89fn err(wip: *Wip, diagnostic: Diagnostic, args: anytype) !void {
90 try wip.errTok(wip.current.attr.tok, diagnostic, args);
91}
92
93fn errTok(wip: *Wip, tok: TokenIndex, diagnostic: Diagnostic, args: anytype) !void {
94 try wip.current.parser.err(tok, .{
95 .fmt = diagnostic.fmt,
96 .kind = diagnostic.kind,
97 .opt = diagnostic.opt,
98 }, args);
99}
100
101fn argCountMinMax(wip: *Wip, min: u32, max: u32) !bool {
102 const actual_count = wip.current.attr.args_len;
103
104 if (actual_count < min) {
105 try wip.err(.not_enough_args, .{ wip.current.attr, min });
106 return true;
107 } else if (actual_count > max) {
108 try wip.err(.too_many_args, .{ wip.current.attr, max });
109 return true;
110 }
111 return false;
112}
113
114fn argCount(wip: *Wip, count: u32) !bool {
115 const actual_count = wip.current.attr.args_len;
116 if (actual_count == count) return false;
117
118 switch (count) {
119 0 => try wip.err(.arg_count_zero, .{wip.current.attr}),
120 1 => try wip.err(.arg_count_one, .{wip.current.attr}),
121 else => try wip.err(.arg_count, .{ wip.current.attr, count }),
122 }
123 return true;
124}
125
126fn arg(wip: *Wip, comptime WantedBase: type) !?WantedBase {
127 const args = wip.current.attr.args(wip);
128 const Wanted = if (@typeInfo(WantedBase) == .optional) blk: {
129 if (wip.current.arg_i >= args.len) return @as(WantedBase, null);
130 break :blk @typeInfo(WantedBase).optional.child;
131 } else WantedBase;
132 const arg_res = args[wip.current.arg_i];
133 wip.current.arg_i += 1;
134
135 const comp = wip.current.parser.comp;
136 const tree = &wip.current.parser.tree;
137 const tok = arg_res.node.tok(tree);
138
139 const string = "a string";
140 const identifier = "an identifier";
141 const int = "an integer constant";
142 const expression = "an expression";
143 const expected: []const u8 = switch (Wanted) {
144 []const u8 => string,
145 Tree.Node.DeclRef => identifier,
146 else => switch (@typeInfo(Wanted)) {
147 .int => int,
148 .@"enum" => if (Wanted.opts.enum_kind == .string) string else identifier,
149 else => comptime unreachable,
150 },
151 };
152
153 if (arg_res.val.opt_ref == .none) {
154 const node = arg_res.node.get(tree);
155 if (Wanted == Tree.Node.DeclRef and node == .decl_ref_expr) {
156 return node.decl_ref_expr;
157 }
158 if (@typeInfo(@TypeOf(Wanted)) == .@"enum" and Wanted.opts.enum_kind == .identifier and node == .identifier_arg) {
159 const str = tree.tokSlice(node.identifier_arg.identifier_tok);
160 if (Wanted.opts.map.get(str)) |enum_val| return enum_val;
161
162 try wip.errTok(tok, .unknown_enum, .{ wip.current.attr, Parser.ChoicesStr.init(Wanted.opts.map.keys(), null) });
163 return null;
164 }
165
166 if (Wanted == []const u8) {
167 try wip.errTok(tok, .arg_requires_string, .{wip.current.attr});
168 return null;
169 }
170
171 try wip.errTok(tok, .arg_type, .{ expected, wip.current.attr, expression });
172 return null;
173 }
174 const key = comp.interner.get(arg_res.val.ref());
175 switch (key) {
176 .int => {
177 if (@typeInfo(Wanted) == .int) {
178 if (arg_res.val.toInt(Wanted, comp)) |some| return some;
179 try wip.errTok(tok, .arg_int_out_of_range, .{ wip.current.attr, arg_res });
180 return null;
181 }
182 },
183 .bytes => |bytes| {
184 const str = bytes[0 .. bytes.len - 1];
185 if (Wanted == []const u8) {
186 validate: {
187 const node = arg_res.node.get(tree);
188 if (node != .string_literal_expr) break :validate;
189 switch (node.string_literal_expr.qt.childType(comp).get(comp, .int).?) {
190 .char, .uchar, .schar => {},
191 else => break :validate,
192 }
193 return str;
194 }
195
196 try wip.errTok(tok, .arg_requires_string, .{wip.current.attr});
197 return null;
198 } else if (@typeInfo(Wanted) == .@"enum" and Wanted.opts.enum_kind == .string) {
199 if (Wanted.opts.map.get(str)) |enum_val| return enum_val;
200
201 try wip.errTok(tok, .unknown_enum, .{ wip.current.attr, Parser.ChoicesStr.init(Wanted.opts.map.keys(), '"') });
202 return null;
203 }
204 },
205 else => {},
206 }
207
208 try wip.errTok(tok, .arg_type, .{
209 expected,
210 wip.current.attr,
211 switch (key) {
212 .int => int,
213 .bytes => string,
214 .float => "a floating point number",
215 .complex => "a complex floating point number",
216 .null => "nullptr",
217 else => unreachable,
218 },
219 });
220 return null;
221}
222
223const Target = enum {
224 function,
225 function_pointer,
226 variable,
227 local_variable,
228 global_variable,
229 label,
230 param,
231 tag,
232 field,
233 typedef,
234 function_type,
235
236 pub fn str(t: Target) []const u8 {
237 return switch (t) {
238 .function => "functions",
239 .function_pointer => "function pointers",
240 .variable => "variables",
241 .local_variable => "local variables",
242 .global_variable => "global variables",
243 .label => "labels",
244 .param => "parameters",
245 .tag => "tag types",
246 .field => "fields",
247 .typedef => "typedefs",
248 .function_type => "functions and function pointers",
249 };
250 }
251};
252
253fn checkTarget(wip: *Wip, list: []const Target) !bool {
254 const node = wip.current.node();
255 for (list) |target| switch (target) {
256 .function => switch (node) {
257 .function => return false,
258 else => {},
259 },
260 .function_pointer => {
261 const comp = wip.current.parser.comp;
262 const qt = wip.current.qt;
263
264 const ptr: TypeStore.Type.Pointer = qt.get(comp, .pointer) orelse continue;
265 if (ptr.child.is(comp, .func)) return false;
266 },
267 .variable => switch (node) {
268 .variable => return false,
269 else => {},
270 },
271 .local_variable => switch (node) {
272 .variable => |variable| switch (variable.storage_class) {
273 .auto, .register => if (wip.current.parser.func.qt != null) return false,
274 .@"extern", .static => {},
275 },
276 else => {},
277 },
278 .global_variable => switch (node) {
279 .variable => |variable| switch (variable.storage_class) {
280 .static => {},
281 .auto, .register => if (wip.current.parser.func.qt == null) return false,
282 .@"extern" => return false,
283 },
284 else => {},
285 },
286 .label => switch (node) {
287 .labeled_stmt, .default_stmt, .case_stmt => return false,
288 else => {},
289 },
290 .param => switch (node) {
291 .param => return false,
292 else => {},
293 },
294 .tag => switch (node) {
295 .struct_decl,
296 .union_decl,
297 .enum_decl,
298 .struct_forward_decl,
299 .union_forward_decl,
300 .enum_forward_decl,
301 => return false,
302 else => {},
303 },
304 .field => switch (node) {
305 .enum_field, .record_field => return false,
306 else => {},
307 },
308 .typedef => switch (node) {
309 .typedef => return false,
310 else => {},
311 },
312 .function_type => {
313 const comp = wip.current.parser.comp;
314 const qt = wip.current.qt;
315
316 const base_qt = if (qt.get(comp, .pointer)) |pointer| pointer.child else qt;
317 if (base_qt.is(comp, .func)) return false;
318 },
319 };
320
321 try wip.err(.invalid_target, .{ wip.current.attr, Parser.Choices(Target).init(list, null) });
322 return true;
323}
324
325fn incompatible(wip: *Wip, attr: Attribute.Tag) !void {
326 const am = &wip.current.parser.tree.attr_map;
327 var i: usize = 0;
328 while (i < wip.applied.items.len) {
329 const prev_attr = am.get(wip.applied.items[i]);
330 if (prev_attr.args == attr) {
331 try wip.err(.incompatible_attr, .{ wip.current.attr, prev_attr });
332 try wip.errTok(prev_attr.tok, .conflicting_attribute, .{});
333 _ = wip.applied.orderedRemove(i);
334 continue;
335 }
336 i += 1;
337 }
338}
339
340fn add(wip: *Wip, args: Attribute.Args) !void {
341 const parser = wip.current.parser;
342 const gpa = parser.comp.gpa;
343 const current = wip.current.attr;
344 const ref = try parser.tree.attr_map.put(gpa, .{
345 .args = args,
346 .name = current.name,
347 .syntax = current.syntax,
348 .tok = current.tok,
349 });
350 try wip.applied.append(gpa, ref);
351}
352
353pub fn applyDeclAttrs(wip: *Wip, p: *Parser, decl: Tree.Node.Index, prev_decl: ?Tree.Node.Index) !void {
354 return wip.applyDeclAttrsExtra(p, decl, decl.qt(&p.tree), prev_decl);
355}
356
357pub fn applyDeclAttrsExtra(
358 wip: *Wip,
359 p: *Parser,
360 decl: Tree.Node.Index,
361 qt: QualType,
362 prev_decl: ?Tree.Node.Index,
363) !void {
364 wip.applied.items.len = 0;
365 wip.current = .{
366 .attr = undefined,
367 .target = decl,
368 .qt = qt,
369 .parser = p,
370 };
371
372 if (prev_decl) |prev| try wip.inherit(p, prev);
373
374 for (wip.attrs.items[wip.top..]) |*attr| {
375 if (attr.used_as_type_attr) continue;
376 wip.current.attr = attr;
377 wip.current.arg_i = 0;
378
379 switch (attr.name) {
380 .standard => |standard_attr| switch (standard_attr) {
381 .deprecated => try wip.applyDeprecated(),
382 .nodiscard => try wip.applyWarnUnusedResult(),
383 .noreturn, ._Noreturn => try wip.applyNoreturn(),
384 .maybe_unused => try wip.applyUnused(),
385 .unsequenced => {
386 if (try wip.checkTarget(&.{.function_type})) continue;
387 if (try wip.argCount(0)) continue;
388 try wip.add(.unsequenced);
389 },
390 .reproducible => {
391 if (try wip.checkTarget(&.{.function_type})) continue;
392 if (try wip.argCount(0)) continue;
393 try wip.add(.reproducible);
394 },
395
396 .fallthrough => try wip.err(.stmt_attr_on_decl, .{attr}),
397 },
398 .gnu => |gnu_attr| switch (gnu_attr) {
399 .@"packed" => {
400 if (try wip.checkTarget(&.{ .tag, .field })) continue;
401 if (try wip.argCount(0)) continue;
402 try wip.add(.@"packed");
403 },
404 .cold => {
405 if (try wip.checkTarget(&.{.function})) continue;
406 if (try wip.argCount(0)) continue;
407 try wip.incompatible(.hot);
408 try wip.add(.cold);
409 },
410 .hot => {
411 if (try wip.checkTarget(&.{.function})) continue;
412 if (try wip.argCount(0)) continue;
413 try wip.incompatible(.cold);
414 try wip.add(.hot);
415 },
416 .@"const", .__const => {
417 if (try wip.argCount(0)) continue;
418 try wip.add(.@"const");
419 },
420 .aligned => try wip.applyAlignment(),
421 .deprecated => try wip.applyDeprecated(),
422 .warning => {
423 if (try wip.checkTarget(&.{.function})) continue;
424 if (try wip.argCount(1)) continue;
425
426 const msg = (try wip.arg([]const u8)) orelse continue;
427 try wip.add(.{ .warning = msg });
428 },
429 .@"error" => {
430 if (try wip.checkTarget(&.{.function})) continue;
431 if (try wip.argCount(1)) continue;
432
433 const msg = (try wip.arg([]const u8)) orelse continue;
434 try wip.add(.{ .@"error" = msg });
435 },
436 .warn_unused_result => try wip.applyWarnUnusedResult(),
437 .nonnull => try wip.applyNonnull(),
438 .transparent_union => try wip.applyTransparentUnion(),
439 .designated_init => {
440 if (wip.current.node() != .struct_decl) {
441 try wip.err(.designated_init_invalid, .{wip.current.attr});
442 continue;
443 }
444 if (try wip.argCount(0)) return;
445 try wip.add(.designated_init);
446 },
447 .cdecl,
448 .fastcall,
449 .ms_abi,
450 .pcs,
451 .regcall,
452 .stdcall,
453 .sysv_abi,
454 .thiscall,
455 => try wip.applyCallingConvention(),
456 .visibility => try wip.applyVisibility(),
457 .noreturn => try wip.applyNoreturn(),
458 .cleanup => try wip.applyCleanup(),
459 .always_inline => try wip.applyAlwaysInline(),
460 .gnu_inline => try wip.applyGnuInline(),
461 .section => try wip.applySection(),
462 .weak => {
463 if (try wip.checkTarget(&.{ .function, .variable })) continue;
464 if (try wip.argCount(0)) continue;
465 try wip.add(.weak);
466 },
467 .selectany => {
468 if (try wip.argCount(0)) continue;
469 try wip.add(.selectany);
470 },
471 .unused => try wip.applyUnused(),
472 else => {
473 try wip.err(.unimplemented, .{attr});
474 },
475
476 .fallthrough => try wip.err(.stmt_attr_on_decl, .{attr}),
477 },
478 .clang => |clang_attr| switch (clang_attr) {
479 .unavailable => {
480 if (try wip.argCountMinMax(0, 1)) continue;
481
482 const maybe_msg = (try wip.arg(?[]const u8)) orelse continue;
483 try wip.add(.{ .unavailable = maybe_msg });
484 },
485 .aarch64_sve_pcs,
486 .aarch64_vector_pcs,
487 .riscv_vector_cc,
488 .riscv_vls_cc,
489 .vectorcall,
490 => try wip.applyCallingConvention(),
491 .always_inline => try wip.applyAlwaysInline(),
492 .internal_linkage => {
493 if (try wip.checkTarget(&.{ .function, .variable })) continue;
494 if (try wip.argCount(0)) continue;
495 try wip.add(.internal_linkage);
496 },
497 else => {
498 try wip.err(.unimplemented, .{attr});
499 },
500 },
501 .aro => {
502 try wip.err(.unimplemented, .{attr});
503 },
504 .declspec => |declspec_attr| switch (declspec_attr) {
505 .@"align" => try wip.applyAlignment(),
506 .deprecated => try wip.applyDeprecated(),
507 .noreturn => try wip.applyNoreturn(),
508 .allocate => try wip.applySection(),
509 .selectany => {
510 if (try wip.argCount(0)) continue;
511 try wip.add(.selectany);
512 },
513 else => {
514 try wip.err(.unimplemented, .{attr});
515 },
516 },
517 .msvc => {
518 try wip.err(.unimplemented, .{attr});
519 },
520 .riscv => |riscv_attr| switch (riscv_attr) {
521 .vector_cc,
522 .vls_cc,
523 => try wip.applyCallingConvention(),
524 },
525 .keyword => |keyword_attr| switch (keyword_attr) {
526 ._Alignas, .alignas => try wip.applyAlignment(),
527 ._cdecl,
528 .__cdecl,
529 ._fastcall,
530 .__fastcall,
531 ._regcall,
532 ._stdcall,
533 .__stdcall,
534 ._thiscall,
535 .__thiscall,
536 ._vectorcall,
537 .__vectorcall,
538 => try wip.applyCallingConvention(),
539 .noreturn => try wip.applyNoreturn(),
540 ._forceinline, .__forceinline => try wip.applyAlwaysInline(),
541 else => {
542 try wip.err(.unimplemented, .{attr});
543 },
544 },
545 }
546 }
547
548 try wip.checkLinkageAttrs();
549
550 try wip.addAppliedAttrs();
551}
552
553fn inherit(wip: *Wip, p: *Parser, decl: Tree.Node.Index) !void {
554 const gpa = p.comp.gpa;
555 const am = &p.tree.attr_map;
556 for (am.attrs(decl)) |ref| {
557 const attr = am.get(ref);
558
559 switch (attr.args) {
560 .@"packed",
561 .hot,
562 .cold,
563 .@"const",
564 .deprecated,
565 .unavailable,
566 .@"error",
567 .warning,
568 .visibility,
569 .noreturn,
570 .cleanup,
571 .always_inline,
572 .gnu_inline,
573 => {},
574 .alignment => {
575 try wip.addAlignmentToTypeMap(attr.args.alignment);
576 },
577 else => continue,
578 }
579
580 try wip.applied.append(gpa, ref);
581 }
582}
583
584fn checkLinkageAttrs(wip: *Wip) !void {
585 const am = &wip.current.parser.tree.attr_map;
586
587 const internal_linkage = blk: {
588 for (wip.applied.items) |ref| {
589 const attr = am.get(ref);
590 if (attr.args == .internal_linkage) break :blk true;
591 }
592
593 break :blk switch (wip.current.node()) {
594 .function => |function| function.static,
595 .variable => |variable| switch (variable.storage_class) {
596 .static => true,
597 .@"extern" => false,
598 .auto, .register => wip.current.parser.func.qt != null,
599 },
600 else => false,
601 };
602 };
603
604 const remove_weak = internal_linkage;
605 const remove_selectany = internal_linkage or wip.current.node() == .function;
606
607 var err_weak = false;
608 var err_selectany = false;
609
610 var i: usize = 0;
611 for (wip.applied.items) |ref| {
612 const attr = am.get(ref);
613 if (attr.args == .weak and remove_weak) {
614 if (!err_weak) {
615 try wip.errTok(attr.tok, .invalid_weak, .{attr});
616 err_weak = true;
617 }
618 continue;
619 }
620 if (attr.args == .selectany and remove_selectany) {
621 if (!err_selectany) {
622 try wip.errTok(attr.tok, .invalid_selectany, .{attr});
623 err_selectany = true;
624 }
625 continue;
626 }
627 wip.applied.items[i] = ref;
628 i += 1;
629 }
630 wip.applied.items.len = i;
631}
632
633fn applyAlignment(wip: *Wip) !void {
634 const qt = wip.current.qt;
635 if (qt.isInvalid()) return;
636 if (try wip.argCountMinMax(0, 1)) return;
637 const is_alignas = wip.current.attr.syntax == .keyword;
638 if (is_alignas) {
639 switch (wip.current.node()) {
640 .variable,
641 .struct_decl,
642 .union_decl,
643 .enum_decl,
644 .struct_forward_decl,
645 .union_forward_decl,
646 .enum_forward_decl,
647 => {},
648 .record_field => |field| if (field.bit_width != null) {
649 try wip.err(.alignas_bitfield, .{wip.current.attr});
650 return;
651 },
652 .param => {
653 try wip.err(.alignas_on_param, .{wip.current.attr});
654 return;
655 },
656 else => {
657 try wip.err(.alignas_on_func, .{wip.current.attr});
658 return;
659 },
660 }
661 } else if (try wip.checkTarget(&.{ .function, .variable, .typedef, .tag, .param, .field })) return;
662
663 const comp = wip.current.parser.comp;
664
665 const alignas_requested = if (is_alignas) blk: {
666 const args = wip.current.attr.args(wip);
667 const arg_res = args[wip.current.arg_i];
668 const node = arg_res.node.get(&wip.current.parser.tree);
669 if (node != .alignas_type) break :blk null;
670 break :blk node.alignas_type.qt.alignof(comp);
671 } else null;
672 const maybe_requested = alignas_requested orelse (try wip.arg(?i64)) orelse return;
673 var casted: ?u32 = null;
674
675 if (maybe_requested) |requested| {
676 if (requested < 0) {
677 try wip.err(.negative_alignment, .{requested});
678 return;
679 }
680 if (requested > std.math.maxInt(u32)) {
681 try wip.err(.maximum_alignment, .{requested});
682 return;
683 }
684 if (!std.mem.isValidAlign(@intCast(requested))) {
685 try wip.err(.non_pow2_align, .{});
686 return;
687 }
688 if (is_alignas) {
689 const default_align = qt.alignof(comp);
690 if (is_alignas and requested < default_align) {
691 try wip.err(.minimum_alignment, .{default_align});
692 }
693 }
694 casted = @intCast(requested);
695 }
696 if (comp.langopts.emulate == .msvc) {
697 switch (wip.current.node()) {
698 .enum_forward_decl, .enum_decl => {
699 try wip.err(.msvc_enum_align_ignored, .{});
700 return;
701 },
702 else => {},
703 }
704 }
705 try wip.addAlignmentToTypeMap(casted);
706 try wip.add(.{ .alignment = casted });
707}
708
709fn addAlignmentToTypeMap(wip: *Wip, opt_alignment: ?u32) !void {
710 const comp = wip.current.parser.comp;
711 const qt = wip.current.qt;
712 switch (wip.current.node()) {
713 .typedef => assert(qt.type(comp) == .typedef),
714 .enum_forward_decl, .enum_decl => assert(qt.type(comp) == .@"enum"),
715 else => return,
716 }
717 const alignment = opt_alignment orelse comp.target.defaultAlignment();
718 const gop = try comp.type_store.requested_aligns.getOrPut(comp.gpa, qt);
719 if (gop.found_existing) {
720 gop.value_ptr.* = @max(gop.value_ptr.*, alignment);
721 } else {
722 gop.value_ptr.* = alignment;
723 }
724}
725
726fn addAppliedAttrs(wip: *Wip) !void {
727 const gpa = wip.current.parser.comp.gpa;
728 const am = &wip.current.parser.tree.attr_map;
729 const start_index = am.extra.items.len;
730
731 try am.extra.appendSlice(gpa, @ptrCast(wip.applied.items));
732 try am.decl_attrs.put(gpa, wip.current.target.?, .{ @intCast(start_index), @intCast(wip.applied.items.len) });
733}
734
735fn applyDeprecated(wip: *Wip) !void {
736 const max_args: u8 = if (wip.current.attr.syntax == .gnu) 2 else 1;
737 if (try wip.argCountMinMax(0, max_args)) return;
738
739 const maybe_msg = (try wip.arg(?[]const u8)) orelse return;
740 const maybe_replacement = (try wip.arg(?[]const u8)) orelse return;
741
742 try wip.add(.{ .deprecated = .{
743 .msg = maybe_msg,
744 .replacement = maybe_replacement,
745 } });
746}
747
748fn applyWarnUnusedResult(wip: *Wip) !void {
749 if (try wip.checkTarget(if (wip.current.attr.syntax == .standard)
750 &.{ .function, .tag }
751 else
752 &.{ .function, .tag, .function_pointer, .typedef })) return;
753
754 const max_args: u8 = if (wip.current.attr.syntax == .standard) 1 else 0;
755 if (try wip.argCountMinMax(0, max_args)) return;
756
757 const maybe_msg = (try wip.arg(?[]const u8)) orelse return;
758
759 const comp = wip.current.parser.comp;
760 if (wip.current.qt.getFunc(comp)) |func| {
761 if (func.return_type.is(comp, .void)) {
762 try wip.err(.warn_unused_result_void, .{wip.current.attr});
763 return;
764 }
765 }
766
767 try wip.add(.{ .warn_unused_result = maybe_msg });
768}
769
770fn applyNonnull(wip: *Wip) !void {
771 const parser = wip.current.parser;
772 const comp = parser.comp;
773 const qt = wip.current.qt;
774 if (qt.isInvalid()) return;
775 if (try wip.checkTarget(&.{ .function, .function_pointer, .param })) return;
776 if (wip.current.node() == .param) {
777 if (wip.current.attr.args_len != 0) {
778 try wip.err(.nonnull_param_args, .{wip.current.attr});
779 return;
780 }
781 if (!qt.isPointer(comp)) {
782 try wip.err(.nonnull_pointer_only, .{wip.current.attr});
783 return;
784 }
785 // TODO these should also be inherited
786 try wip.add(.{ .nonnull = &.{} });
787 return;
788 }
789
790 const list_buf_top = parser.list_buf.items.len;
791 defer parser.list_buf.items.len = list_buf_top;
792 try parser.list_buf.ensureUnusedCapacity(comp.gpa, wip.current.attr.args_len);
793
794 const func_ty = qt.getFunc(comp).?;
795 for (wip.current.attr.args(wip), 0..) |arg_res, i| {
796 const position = (try wip.arg(u32)) orelse return;
797 const tok = arg_res.node.tok(&parser.tree);
798
799 if (position == 0 or position > func_ty.params.len) {
800 try wip.errTok(tok, .param_out_of_bounds, .{ wip.current.attr, i + 1 });
801 return;
802 }
803
804 const arg_qt = func_ty.params[position - 1].qt;
805 if (arg_qt.isInvalid()) continue;
806 if (!arg_qt.isPointer(comp)) {
807 try wip.errTok(tok, .nonnull_pointer_only, .{wip.current.attr});
808 continue;
809 }
810 parser.list_buf.appendAssumeCapacity(@fromBackingInt(position));
811 }
812 try wip.add(.{ .nonnull = @ptrCast(parser.list_buf.items[list_buf_top..]) });
813}
814
815fn applyTransparentUnion(wip: *Wip) !void {
816 const qt = wip.current.qt;
817 if (qt.isInvalid()) return;
818 const fields = switch (wip.current.node()) {
819 .union_decl => |decl| decl.fields,
820 .union_forward_decl => {
821 try wip.err(.transparent_union_forward_decl, .{wip.current.attr});
822 return;
823 },
824 else => {
825 try wip.err(.transparent_union_wrong_type, .{wip.current.attr});
826 return;
827 },
828 };
829 if (try wip.argCount(0)) return;
830
831 const parser = wip.current.parser;
832 const comp = parser.comp;
833 const tree = &parser.tree;
834
835 if (fields.len == 0) {
836 try wip.err(.transparent_union_one_field, .{wip.current.attr});
837 return;
838 }
839 var opt_first_field_size: ?u64 = null;
840 for (fields) |field| {
841 const field_size = (field.qt(tree).sizeofOrNull(comp) orelse continue) * 8;
842 const first_field_size = opt_first_field_size orelse {
843 opt_first_field_size = field_size;
844 continue;
845 };
846 if (field_size == first_field_size) continue;
847
848 const field_tok = field.tok(tree);
849 try wip.errTok(field_tok, .transparent_union_size, .{ parser.tokSlice(field_tok), field_size, wip.current.attr });
850 try wip.errTok(fields[0].tok(tree), .transparent_union_size_note, .{first_field_size});
851 return;
852 }
853
854 try wip.add(.transparent_union);
855}
856
857fn applyVisibility(wip: *Wip) !void {
858 if (try wip.checkTarget(&.{ .function, .global_variable })) return;
859 if (try wip.argCount(1)) return;
860
861 var kind = (try wip.arg(Attribute.Args.Visibility)) orelse return;
862 if (kind == .protected and !wip.current.parser.comp.target.hasProtectedVisibility()) {
863 try wip.err(.visibility_protected_invalid, .{});
864 kind = .default;
865 }
866
867 const am = &wip.current.parser.tree.attr_map;
868 for (wip.applied.items, 0..) |ref, i| {
869 const prev_attr = am.get(ref);
870 if (prev_attr.args == .visibility) {
871 if (prev_attr.args.visibility == kind) {
872 _ = wip.applied.orderedRemove(i);
873 break;
874 }
875
876 try wip.err(.incompatible_visibility, .{});
877 try wip.errTok(prev_attr.tok, .previous_attribute, .{});
878 return;
879 }
880 }
881
882 try wip.add(.{ .visibility = kind });
883}
884
885fn applyNoreturn(wip: *Wip) !void {
886 if (try wip.checkTarget(&.{.function})) return;
887 if (try wip.argCount(0)) return;
888
889 const name = wip.current.attr.name;
890 if (name == .standard and name.standard == ._Noreturn) {
891 try wip.err(.deprecated_noreturn, .{});
892 }
893
894 try wip.add(.noreturn);
895}
896
897fn applyCleanup(wip: *Wip) !void {
898 const qt = wip.current.qt;
899 if (qt.isInvalid()) return;
900 if (try wip.checkTarget(&.{.local_variable})) return;
901 if (try wip.argCount(1)) return;
902
903 const decl_ref = (try wip.arg(Tree.Node.DeclRef)) orelse return;
904
905 const decl_node = decl_ref.decl.get(&wip.current.parser.tree);
906 if (decl_node != .function) {
907 try wip.err(.cleanup_non_function, .{ wip.current.attr, wip.current.parser.tokSlice(decl_ref.name_tok) });
908 return;
909 }
910 const comp = wip.current.parser.comp;
911 const func: Type.Func = decl_node.function.qt.get(comp, .func).?;
912
913 if (func.params.len != 1) {
914 try wip.err(.cleanup_one_arg, .{ wip.current.attr, wip.current.parser.tokSlice(decl_ref.name_tok) });
915 return;
916 }
917
918 const expected_qt = try comp.type_store.put(comp.gpa, .{ .pointer = .{
919 .child = qt,
920 } });
921 const actual_qt = func.params[0].qt;
922 if (!actual_qt.eql(expected_qt, comp)) {
923 try wip.err(.cleanup_arg_ty, .{ wip.current.attr, wip.current.parser.tokSlice(decl_ref.name_tok), actual_qt, expected_qt });
924 return;
925 }
926
927 try wip.add(.{ .cleanup = .{ .function = decl_ref.decl } });
928}
929
930fn applyAlwaysInline(wip: *Wip) !void {
931 if (try wip.checkTarget(&.{.function})) return;
932 if (try wip.argCount(0)) return;
933
934 const am = &wip.current.parser.tree.attr_map;
935 for (wip.applied.items) |ref| {
936 const prev_attr = am.get(ref);
937 if (prev_attr.args == .optnone) {
938 try wip.err(.ignored_attribute, .{wip.current.attr});
939 try wip.errTok(prev_attr.tok, .conflicting_attribute, .{});
940 return;
941 }
942 if (prev_attr.args == .always_inline) return;
943 }
944
945 try wip.add(.always_inline);
946}
947
948fn applyGnuInline(wip: *Wip) !void {
949 if (try wip.checkTarget(&.{.function})) return;
950 if (try wip.argCount(0)) return;
951
952 const node = wip.current.node();
953 if (!node.function.@"inline") {
954 try wip.err(.gnu_inline_non_inline, .{wip.current.attr});
955 return;
956 }
957
958 try wip.add(.gnu_inline);
959}
960
961fn applySection(wip: *Wip) !void {
962 if (try wip.checkTarget(&.{ .function, .global_variable })) return;
963 if (try wip.argCount(1)) return;
964
965 const section_name = (try wip.arg([]const u8)) orelse return;
966 // TODO Mach-O section name validation
967
968 const am = &wip.current.parser.tree.attr_map;
969 for (wip.applied.items) |ref| {
970 const prev_attr = am.get(ref);
971 if (prev_attr.args == .section) {
972 if (std.mem.eql(u8, prev_attr.args.section, section_name)) return;
973
974 try wip.err(.conflicting_section_name, .{wip.current.attr});
975 try wip.errTok(prev_attr.tok, .conflicting_attribute, .{});
976 return;
977 }
978 }
979
980 try wip.add(.{ .section = section_name });
981}
982
983fn applyUnused(wip: *Wip) !void {
984 if (try wip.checkTarget(&.{ .function, .variable, .param, .typedef, .tag, .field, .label })) return;
985 if (try wip.argCount(0)) return;
986 try wip.add(.unused);
987}
988
989pub fn applyTypeAttrs(wip: *Wip, p: *Parser, qt: QualType) !QualType {
990 wip.current = .{
991 .attr = undefined,
992 .qt = qt,
993 .parser = p,
994 };
995
996 for (wip.attrs.items[wip.top..]) |*attr| {
997 if (attr.used_as_type_attr) continue;
998 wip.current.attr = attr;
999 wip.current.arg_i = 0;
1000
1001 switch (attr.name) {
1002 .gnu => |gnu_attr| switch (gnu_attr) {
1003 .vector_size => {
1004 try wip.applyVectorSize();
1005 attr.used_as_type_attr = true;
1006 },
1007 .cdecl,
1008 .fastcall,
1009 .ms_abi,
1010 .pcs,
1011 .regcall,
1012 .stdcall,
1013 .sysv_abi,
1014 .thiscall,
1015 => try wip.applyCallingConvention(),
1016 .regparm,
1017 .riscv_rvv_vector_bits,
1018 => {
1019 try wip.err(.unimplemented, .{attr});
1020 attr.used_as_type_attr = true;
1021 },
1022 else => {},
1023 },
1024 .clang => |clang_attr| switch (clang_attr) {
1025 .neon_vector_type => {
1026 try wip.applyNeonVector(.neon);
1027 attr.used_as_type_attr = true;
1028 },
1029 .neon_polyvector_type => {
1030 try wip.applyNeonVector(.neon_poly);
1031 attr.used_as_type_attr = true;
1032 },
1033 .aarch64_sve_pcs,
1034 .aarch64_vector_pcs,
1035 .riscv_vector_cc,
1036 .riscv_vls_cc,
1037 .vectorcall,
1038 => try wip.applyCallingConvention(),
1039 .address_space,
1040 .arm_sve_vector_bits,
1041 .ext_vector_type,
1042 .matrix_type,
1043 .noderef,
1044 => {
1045 try wip.err(.unimplemented, .{attr});
1046 attr.used_as_type_attr = true;
1047 },
1048 else => {},
1049 },
1050 .riscv => |riscv_attr| switch (riscv_attr) {
1051 .vector_cc,
1052 .vls_cc,
1053 => try wip.applyCallingConvention(),
1054 },
1055 .keyword => |keyword_attr| switch (keyword_attr) {
1056 ._cdecl,
1057 .__cdecl,
1058 ._fastcall,
1059 .__fastcall,
1060 ._regcall,
1061 ._stdcall,
1062 .__stdcall,
1063 ._thiscall,
1064 .__thiscall,
1065 ._vectorcall,
1066 .__vectorcall,
1067 => try wip.applyCallingConvention(),
1068 .nonnull,
1069 .null_unspecified,
1070 .nullable_result,
1071 .nullable,
1072 => try wip.applyNullability(),
1073 .ptr32,
1074 .ptr64,
1075 .sptr,
1076 .uptr,
1077 => {
1078 try wip.err(.unimplemented, .{attr});
1079 attr.used_as_type_attr = true;
1080 },
1081 else => {},
1082 },
1083 else => {},
1084 }
1085 }
1086 return wip.current.qt;
1087}
1088
1089fn applyVectorSize(wip: *Wip) !void {
1090 const qt = wip.current.qt;
1091 if (qt.isInvalid()) return;
1092 if (try wip.argCount(1)) return;
1093
1094 if (qt.isAuto()) {
1095 try wip.err(.invalid_vec_elem_ty, .{qt});
1096 return error.ParsingFailed;
1097 }
1098
1099 const comp = wip.current.parser.comp;
1100
1101 const scalar_kind = qt.scalarKind(comp);
1102 if (scalar_kind != .int and scalar_kind != .float) {
1103 if (qt.get(comp, .@"enum")) |enum_ty| {
1104 if (comp.langopts.emulate == .clang and enum_ty.incomplete) {
1105 return; // Clang silently ignores vector_size on incomplete enums.
1106 }
1107 }
1108 try wip.err(.invalid_vec_elem_ty, .{qt});
1109 return error.ParsingFailed;
1110 }
1111 if (qt.get(comp, .bit_int)) |bit_int| {
1112 if (bit_int.bits < 8) {
1113 try wip.err(.bit_int_vec_too_small, .{});
1114 return error.ParsingFailed;
1115 } else if (!std.math.isPowerOfTwo(bit_int.bits)) {
1116 try wip.err(.bit_int_vec_not_pow2, .{});
1117 return error.ParsingFailed;
1118 }
1119 }
1120
1121 const vec_bytes = (try wip.arg(u32)) orelse return;
1122 const elem_size = qt.sizeof(comp);
1123 if (vec_bytes % elem_size != 0) {
1124 return wip.err(.vec_size_not_multiple, .{});
1125 }
1126
1127 wip.current.qt = try comp.type_store.put(comp.gpa, .{ .vector = .{
1128 .elem = qt,
1129 .len = @intCast(vec_bytes / elem_size),
1130 } });
1131}
1132
1133fn applyNeonVector(wip: *Wip, kind: Type.Vector.Kind) !void {
1134 const qt = wip.current.qt;
1135 if (qt.isInvalid()) return;
1136 if (try wip.argCount(1)) return;
1137
1138 if (qt.isAuto()) {
1139 try wip.err(.invalid_vec_elem_ty, .{qt});
1140 return error.ParsingFailed;
1141 }
1142
1143 const comp = wip.current.parser.comp;
1144
1145 const valid_elem_ty = blk: {
1146 if (kind == .neon_poly) {
1147 const int_ty = qt.get(comp, .int) orelse break :blk false;
1148 const poly_unsigned = comp.target.cpu.arch.isAARCH64();
1149 break :blk if (poly_unsigned)
1150 switch (int_ty) {
1151 .uchar, .ushort, .ulong, .ulong_long => true,
1152 else => false,
1153 }
1154 else switch (int_ty) {
1155 .schar, .short, .long_long => true,
1156 else => false,
1157 };
1158 }
1159
1160 const base_ty = qt.base(comp).type;
1161 break :blk switch (base_ty) {
1162 .int => |int| switch (int) {
1163 .schar, .uchar, .short, .ushort, .int, .uint, .long, .ulong, .long_long, .ulong_long => true,
1164 else => false,
1165 },
1166 .float => |float| switch (float) {
1167 .float, .fp16, .bf16 => true,
1168 .double => comp.target.cpu.arch.isAARCH64(),
1169 else => false,
1170 },
1171 .storage_float => |storage_float| switch (storage_float) {
1172 .mfp8 => true,
1173 },
1174 else => false,
1175 };
1176 };
1177 if (!valid_elem_ty) {
1178 try wip.err(.invalid_vec_elem_ty, .{qt});
1179 return;
1180 }
1181
1182 // Neon vector size must be 64 or 128 bits
1183 const elem_size = qt.bitSizeof(comp);
1184 const vec_len = (try wip.arg(u32)) orelse return;
1185 const vec_size = elem_size * vec_len;
1186 if (vec_size != 64 and vec_size != 128) {
1187 try wip.err(.invalid_neon_vec_size, .{});
1188 return;
1189 }
1190
1191 wip.current.qt = try comp.type_store.put(comp.gpa, .{ .vector = .{
1192 .elem = qt,
1193 .len = vec_len,
1194 .kind = kind,
1195 } });
1196}
1197
1198fn applyCallingConvention(wip: *Wip) !void {
1199 const attr = wip.current.attr;
1200 attr.used_as_type_attr = true;
1201 const qt = wip.current.qt;
1202 if (qt.isInvalid()) return;
1203
1204 const arg_count: u8 = if (attr.name == .gnu and attr.name.gnu == .pcs) 1 else 0;
1205 if (try wip.argCount(arg_count)) return;
1206
1207 const comp = wip.current.parser.comp;
1208 const base_qt, var func: Type.Func = blk: {
1209 const can_delay = attr.syntax != .standard and wip.current.target == null;
1210
1211 var base_qt = qt;
1212 while (true) {
1213 if (base_qt.isInvalid()) return;
1214 if (base_qt.isAuto()) {
1215 if (can_delay) {
1216 attr.used_as_type_attr = false;
1217 return;
1218 }
1219 try wip.err(.callconv_non_func, .{ attr, qt });
1220 return;
1221 }
1222
1223 if (base_qt._index == .declarator_combine) {
1224 // Incomplete declarator, try again later.
1225 attr.used_as_type_attr = false;
1226 return;
1227 }
1228 const base = base_qt.base(comp);
1229 switch (base.type) {
1230 .func => |func| break :blk .{ base.qt, func },
1231 .pointer => |pointer| {
1232 base_qt = pointer.child;
1233 },
1234 else => {
1235 if (can_delay) {
1236 // __attribute__ or keyword used in wrong place, try again later.
1237 attr.used_as_type_attr = false;
1238 return;
1239 }
1240 try wip.err(.callconv_non_func, .{ attr, qt });
1241 return;
1242 },
1243 }
1244 }
1245 };
1246
1247 const cc: Type.Func.CallingConvention = switch (attr.name) {
1248 .gnu => |gnu_attr| switch (gnu_attr) {
1249 .cdecl => .cdecl,
1250 .fastcall => .fastcall,
1251 .ms_abi => .ms_abi,
1252 .regcall => .regcall,
1253 .stdcall => .stdcall,
1254 .sysv_abi => .sysv_abi,
1255 .thiscall => .thiscall,
1256 .pcs => pcs: {
1257 const PcsKind = enum {
1258 aapcs,
1259 aapcs_vfp,
1260
1261 const PcsKind = @This();
1262 const opts = struct {
1263 const enum_kind = .string;
1264 const map = std.StaticStringMap(PcsKind).initComptime(.{
1265 .{ "aapcs", .aapcs },
1266 .{ "aapcs-vfp", .aapcs_vfp },
1267 });
1268 };
1269 };
1270 break :pcs switch ((try wip.arg(PcsKind)) orelse return) {
1271 .aapcs => .arm_aapcs,
1272 .aapcs_vfp => .arm_aapcs_vfp,
1273 };
1274 },
1275 else => unreachable,
1276 },
1277 .clang => |clang_attr| switch (clang_attr) {
1278 .aarch64_sve_pcs => .aarch64_sve_pcs,
1279 .aarch64_vector_pcs => .aarch64_vector_pcs,
1280 .riscv_vector_cc => .riscv_vector_cc,
1281 .riscv_vls_cc => .riscv_vls_cc,
1282 .vectorcall => .vectorcall,
1283 else => unreachable,
1284 },
1285 .riscv => |riscv_attr| switch (riscv_attr) {
1286 .vector_cc => .riscv_vector_cc,
1287 .vls_cc => .riscv_vls_cc,
1288 },
1289 .keyword => |keyword_attr| switch (keyword_attr) {
1290 .__cdecl, ._cdecl => .cdecl,
1291 .__fastcall, ._fastcall => .fastcall,
1292 ._regcall => .regcall,
1293 .__stdcall, ._stdcall => .stdcall,
1294 .__thiscall, ._thiscall => .thiscall,
1295 .__vectorcall, ._vectorcall => .vectorcall,
1296 else => unreachable,
1297 },
1298 else => unreachable,
1299 };
1300
1301 const ms_abi = comp.target.os.tag == .windows or comp.target.os.tag == .uefi;
1302 const supported = check: switch (cc) {
1303 .default => unreachable,
1304 .cdecl => !(comp.target.cpu.arch.isArm() and comp.target.os.tag != .windows) and
1305 !comp.target.cpu.arch.isPowerPC64() and
1306 !comp.target.cpu.arch.isSpirV(),
1307 .aarch64_sve_pcs, .aarch64_vector_pcs => comp.target.cpu.arch.isAARCH64(),
1308 .arm_aapcs_vfp, .arm_aapcs => comp.target.cpu.arch.isArm(),
1309 .riscv_vector_cc, .riscv_vls_cc => comp.target.cpu.arch.isRISCV(),
1310 .ms_abi => if (ms_abi) continue :check .cdecl else (comp.target.cpu.arch == .x86_64 or comp.target.cpu.arch.isAARCH64()),
1311 .sysv_abi => if (ms_abi) comp.target.cpu.arch == .x86_64 else continue :check .cdecl,
1312 .fastcall, .regcall, .stdcall, .thiscall => comp.target.cpu.arch == .x86,
1313 .vectorcall => comp.target.cpu.arch == .x86 or comp.target.cpu.arch == .x86_64 or comp.target.cpu.arch.isAARCH64(),
1314 };
1315 if (!supported) {
1316 try wip.err(.callconv_not_supported, .{attr});
1317 return;
1318 }
1319
1320 if (func.cc != cc and func.cc != .default) {
1321 try wip.err(.callconv_incompatible, .{ @tagName(cc), @tagName(func.cc) });
1322 return;
1323 }
1324 func.cc = cc;
1325
1326 // We cannot pass the function type directly here because the pointer to
1327 // type_store.extra might get invalidated while setting the updated type.
1328 const lb = &wip.current.parser.list_buf;
1329 const list_buf_top = lb.items.len;
1330 defer lb.items.len = list_buf_top;
1331 try lb.appendSlice(comp.gpa, @ptrCast(func.params));
1332 func.params = @ptrCast(lb.items[list_buf_top..]);
1333
1334 // TODO this can overwrite a typedef
1335 // typedef void (*fn_ptr)(void);
1336 // __cdecl fn_ptr a;
1337 try comp.type_store.set(comp.gpa, .{ .func = func }, @backingInt(base_qt._index));
1338}
1339
1340fn applyNullability(wip: *Wip) !void {
1341 const attr = wip.current.attr;
1342 attr.used_as_type_attr = true;
1343 const qt = wip.current.qt;
1344 if (qt.isInvalid()) return;
1345
1346 const new_nullability: Type.Pointer.Nullability = switch (attr.name.keyword) {
1347 .nonnull => .nonnull,
1348 .null_unspecified => .unspecified,
1349 .nullable_result => .nullable_result,
1350 .nullable => .nullable,
1351 else => unreachable,
1352 };
1353
1354 const comp = wip.current.parser.comp;
1355 var base_type = qt.base(comp).type;
1356 switch (base_type) {
1357 inline .pointer, .block => |*bt, tag| {
1358 if (bt.nullability != .default and bt.nullability != new_nullability) {
1359 try wip.err(.conflicting_nullability, .{ new_nullability.str(), bt.nullability.str() });
1360 return;
1361 }
1362
1363 bt.nullability = new_nullability;
1364 wip.current.qt = try comp.type_store.put(
1365 comp.gpa,
1366 @unionInit(TypeStore.Type, @tagName(tag), bt.*),
1367 );
1368 },
1369 else => {
1370 if (wip.current.target == null and qt.is(comp, .array)) {
1371 attr.used_as_type_attr = false;
1372 return;
1373 }
1374
1375 try wip.err(.invalid_nullability, .{qt});
1376 return;
1377 },
1378 }
1379}
1380
1381pub fn applyStmtAttrs(wip: *Wip, p: *Parser, stmt: Tree.Node.Index) !void {
1382 wip.applied.items.len = 0;
1383 wip.current = .{
1384 .attr = undefined,
1385 .qt = .invalid,
1386 .target = stmt,
1387 .parser = p,
1388 };
1389
1390 for (wip.attrs.items[wip.top..]) |*attr| {
1391 wip.current.attr = attr;
1392 wip.current.arg_i = 0;
1393
1394 switch (attr.name) {
1395 .standard => |standard_attr| switch (standard_attr) {
1396 .fallthrough => {
1397 try wip.applyFalltrhough();
1398 continue;
1399 },
1400 else => {},
1401 },
1402 .gnu => |gnu_attr| switch (gnu_attr) {
1403 .fallthrough => {
1404 try wip.applyFalltrhough();
1405 continue;
1406 },
1407 .always_inline => {}, // invalid, use clang::always_inline
1408 .cold => {
1409 if (try wip.checkTarget(&.{.label})) continue;
1410 if (try wip.argCount(0)) continue;
1411 try wip.incompatible(.hot);
1412 try wip.add(.cold);
1413 continue;
1414 },
1415 .hot => {
1416 if (try wip.checkTarget(&.{.label})) continue;
1417 if (try wip.argCount(0)) continue;
1418 try wip.incompatible(.cold);
1419 try wip.add(.hot);
1420 continue;
1421 },
1422 .unused => {
1423 try wip.applyUnused();
1424 continue;
1425 },
1426 else => {},
1427 },
1428 .clang => |clang_attr| switch (clang_attr) {
1429 .always_inline => {},
1430 else => {},
1431 },
1432 .aro => {},
1433 .declspec => {},
1434 .msvc => {},
1435 .riscv => {},
1436 .keyword => {},
1437 }
1438
1439 try wip.err(.invalid_stmt_attr, .{attr});
1440 }
1441
1442 try wip.addAppliedAttrs();
1443}
1444
1445fn applyFalltrhough(wip: *Wip) !void {
1446 if (try wip.argCount(0)) return;
1447 if (wip.current.node() != .null_stmt) {
1448 try wip.err(.fallthrough_non_empty, .{wip.current.attr});
1449 return;
1450 }
1451 if (wip.current.parser.@"switch" == null) {
1452 try wip.err(.fallthrough_outside_switch, .{wip.current.attr});
1453 return;
1454 }
1455 for (wip.current.parser.tok_ids[wip.current.parser.tok_i..]) |tok_id| {
1456 switch (tok_id) {
1457 .keyword_case, .keyword_default, .eof => break,
1458 .r_brace, .semicolon => {},
1459 else => {
1460 try wip.err(.fallthrough_not_before_case, .{wip.current.attr});
1461 break;
1462 },
1463 }
1464 }
1465
1466 try wip.add(.fallthrough);
1467}
lib/compiler/aro/aro/Builtins.zig+23-14
...@@ -33,11 +33,13 @@ const common = @import("Builtins/common.zig").with(BuiltinBase);...@@ -33,11 +33,13 @@ const common = @import("Builtins/common.zig").with(BuiltinBase);
33const hexagon = @import("Builtins/hexagon.zig").with(BuiltinTarget);33const hexagon = @import("Builtins/hexagon.zig").with(BuiltinTarget);
34const loongarch = @import("Builtins/loongarch.zig").with(BuiltinTarget);34const loongarch = @import("Builtins/loongarch.zig").with(BuiltinTarget);
35const mips = @import("Builtins/mips.zig").with(BuiltinBase);35const mips = @import("Builtins/mips.zig").with(BuiltinBase);
36const neon = @import("Builtins/neon.zig").with(BuiltinTarget);
36const nvptx = @import("Builtins/nvptx.zig").with(BuiltinTarget);37const nvptx = @import("Builtins/nvptx.zig").with(BuiltinTarget);
37const powerpc = @import("Builtins/powerpc.zig").with(BuiltinTarget);38const powerpc = @import("Builtins/powerpc.zig").with(BuiltinTarget);
38const riscv = @import("Builtins/riscv.zig").with(BuiltinTarget);39const riscv = @import("Builtins/riscv.zig").with(BuiltinTarget);
39const s390x = @import("Builtins/s390x.zig").with(BuiltinTarget);40const s390x = @import("Builtins/s390x.zig").with(BuiltinTarget);
40const ve = @import("Builtins/ve.zig").with(BuiltinBase);41const ve = @import("Builtins/ve.zig").with(BuiltinBase);
42const wasm = @import("Builtins/wasm.zig").with(BuiltinTarget);
41const x86_64 = @import("Builtins/x86_64.zig").with(BuiltinTarget);43const x86_64 = @import("Builtins/x86_64.zig").with(BuiltinTarget);
42const x86 = @import("Builtins/x86.zig").with(BuiltinTarget);44const x86 = @import("Builtins/x86.zig").with(BuiltinTarget);
43const xcore = @import("Builtins/xcore.zig").with(BuiltinBase);45const xcore = @import("Builtins/xcore.zig").with(BuiltinBase);
...@@ -51,11 +53,13 @@ pub const Tag = union(enum) {...@@ -51,11 +53,13 @@ pub const Tag = union(enum) {
51 hexagon: hexagon.Tag,53 hexagon: hexagon.Tag,
52 loongarch: loongarch.Tag,54 loongarch: loongarch.Tag,
53 mips: mips.Tag,55 mips: mips.Tag,
56 neon: neon.Tag,
54 nvptx: nvptx.Tag,57 nvptx: nvptx.Tag,
55 powerpc: powerpc.Tag,58 powerpc: powerpc.Tag,
56 riscv: riscv.Tag,59 riscv: riscv.Tag,
57 s390x: s390x.Tag,60 s390x: s390x.Tag,
58 ve: ve.Tag,61 ve: ve.Tag,
62 wasm: wasm.Tag,
59 x86_64: x86_64.Tag,63 x86_64: x86_64.Tag,
60 x86: x86.Tag,64 x86: x86.Tag,
61 xcore: xcore.Tag,65 xcore: xcore.Tag,
...@@ -105,14 +109,7 @@ fn createType(desc: TypeDescription, it: *TypeDescription.TypeIterator, comp: *C...@@ -105,14 +109,7 @@ fn createType(desc: TypeDescription, it: *TypeDescription.TypeIterator, comp: *C
105 switch (prefix) {109 switch (prefix) {
106 .L => builder.combine(.long, 0) catch unreachable,110 .L => builder.combine(.long, 0) catch unreachable,
107 .LL => builder.combine(.long_long, 0) catch unreachable,111 .LL => builder.combine(.long_long, 0) catch unreachable,
108 .LLL => {112 .LLL => builder.combine(.int128, 0) catch unreachable,
109 switch (builder.type) {
110 .none => builder.type = .int128,
111 .signed => builder.type = .sint128,
112 .unsigned => builder.type = .uint128,
113 else => unreachable,
114 }
115 },
116 .Z => require_native_int32 = true,113 .Z => require_native_int32 = true,
117 .W => require_native_int64 = true,114 .W => require_native_int64 = true,
118 .N => {115 .N => {
...@@ -141,9 +138,9 @@ fn createType(desc: TypeDescription, it: *TypeDescription.TypeIterator, comp: *C...@@ -141,9 +138,9 @@ fn createType(desc: TypeDescription, it: *TypeDescription.TypeIterator, comp: *C
141 .s => builder.combine(.short, 0) catch unreachable,138 .s => builder.combine(.short, 0) catch unreachable,
142 .i => {139 .i => {
143 if (require_native_int32) {140 if (require_native_int32) {
144 builder.type = specForSize(comp, 32);141 builder.combine(specForSize(comp, 32), 0) catch unreachable;
145 } else if (require_native_int64) {142 } else if (require_native_int64) {
146 builder.type = specForSize(comp, 64);143 builder.combine(specForSize(comp, 64), 0) catch unreachable;
147 } else {144 } else {
148 switch (builder.type) {145 switch (builder.type) {
149 .int128, .sint128, .uint128 => {},146 .int128, .sint128, .uint128 => {},
...@@ -154,6 +151,7 @@ fn createType(desc: TypeDescription, it: *TypeDescription.TypeIterator, comp: *C...@@ -154,6 +151,7 @@ fn createType(desc: TypeDescription, it: *TypeDescription.TypeIterator, comp: *C
154 .h => builder.combine(.fp16, 0) catch unreachable,151 .h => builder.combine(.fp16, 0) catch unreachable,
155 .x => builder.combine(.float16, 0) catch unreachable,152 .x => builder.combine(.float16, 0) catch unreachable,
156 .y => builder.combine(.bf16, 0) catch unreachable,153 .y => builder.combine(.bf16, 0) catch unreachable,
154 .m => builder.combine(.mfp8, 0) catch unreachable,
157 .f => builder.combine(.float, 0) catch unreachable,155 .f => builder.combine(.float, 0) catch unreachable,
158 .d => {156 .d => {
159 if (builder.type == .long_long) {157 if (builder.type == .long_long) {
...@@ -198,6 +196,10 @@ fn createType(desc: TypeDescription, it: *TypeDescription.TypeIterator, comp: *C...@@ -198,6 +196,10 @@ fn createType(desc: TypeDescription, it: *TypeDescription.TypeIterator, comp: *C
198 } });196 } });
199 builder.type = .{ .other = vector_qt };197 builder.type = .{ .other = vector_qt };
200 },198 },
199 .q => {
200 // Todo: scalable vector
201 return .invalid;
202 },
201 .Q => {203 .Q => {
202 // Todo: target builtin type204 // Todo: target builtin type
203 return .invalid;205 return .invalid;
...@@ -334,9 +336,15 @@ pub const FromName = struct {...@@ -334,9 +336,15 @@ pub const FromName = struct {
334pub fn fromName(comp: *Compilation, name: []const u8) ?FromName {336pub fn fromName(comp: *Compilation, name: []const u8) ?FromName {
335 if (fromNameExtra(name, .common)) |found| return found;337 if (fromNameExtra(name, .common)) |found| return found;
336 switch (comp.target.cpu.arch) {338 switch (comp.target.cpu.arch) {
337 .aarch64, .aarch64_be => if (fromNameExtra(name, .aarch64)) |found| return found,339 .aarch64, .aarch64_be => {
340 if (fromNameExtra(name, .aarch64)) |found| return found;
341 if (fromNameExtra(name, .neon)) |found| return found;
342 },
338 .amdgcn => if (fromNameExtra(name, .amdgcn)) |found| return found,343 .amdgcn => if (fromNameExtra(name, .amdgcn)) |found| return found,
339 .arm, .armeb, .thumb, .thumbeb => if (fromNameExtra(name, .arm)) |found| return found,344 .arm, .armeb, .thumb, .thumbeb => {
345 if (fromNameExtra(name, .arm)) |found| return found;
346 if (fromNameExtra(name, .neon)) |found| return found;
347 },
340 .bpfeb, .bpfel => if (fromNameExtra(name, .bpf)) |found| return found,348 .bpfeb, .bpfel => if (fromNameExtra(name, .bpf)) |found| return found,
341 .hexagon => if (fromNameExtra(name, .hexagon)) |found| return found,349 .hexagon => if (fromNameExtra(name, .hexagon)) |found| return found,
342 .loongarch32, .loongarch64 => if (fromNameExtra(name, .loongarch)) |found| return found,350 .loongarch32, .loongarch64 => if (fromNameExtra(name, .loongarch)) |found| return found,
...@@ -346,6 +354,7 @@ pub fn fromName(comp: *Compilation, name: []const u8) ?FromName {...@@ -346,6 +354,7 @@ pub fn fromName(comp: *Compilation, name: []const u8) ?FromName {
346 .riscv32, .riscv32be, .riscv64, .riscv64be => if (fromNameExtra(name, .riscv)) |found| return found,354 .riscv32, .riscv32be, .riscv64, .riscv64be => if (fromNameExtra(name, .riscv)) |found| return found,
347 .s390x => if (fromNameExtra(name, .s390x)) |found| return found,355 .s390x => if (fromNameExtra(name, .s390x)) |found| return found,
348 .ve => if (fromNameExtra(name, .ve)) |found| return found,356 .ve => if (fromNameExtra(name, .ve)) |found| return found,
357 .wasm32, .wasm64 => if (fromNameExtra(name, .wasm)) |found| return found,
349 .xcore => if (fromNameExtra(name, .xcore)) |found| return found,358 .xcore => if (fromNameExtra(name, .xcore)) |found| return found,
350 .x86_64 => {359 .x86_64 => {
351 if (fromNameExtra(name, .x86_64)) |found| return found;360 if (fromNameExtra(name, .x86_64)) |found| return found;
...@@ -368,7 +377,7 @@ fn fromNameExtra(name: []const u8, comptime arch: std.meta.Tag(Tag)) ?FromName {...@@ -368,7 +377,7 @@ fn fromNameExtra(name: []const u8, comptime arch: std.meta.Tag(Tag)) ?FromName {
368 .header = builtin.header,377 .header = builtin.header,
369 .language = builtin.language,378 .language = builtin.language,
370 .attributes = builtin.attributes,379 .attributes = builtin.attributes,
371 .features = if (@hasField(@TypeOf(builtin), "features")) builtin.features else null,380 .features = if (@hasField(@TypeOf(builtin), "features")) builtin.features else if (arch == .neon) "neon" else null,
372 };381 };
373}382}
374383
...@@ -382,7 +391,7 @@ test "all builtins" {...@@ -382,7 +391,7 @@ test "all builtins" {
382 while (it.next()) |_| {}391 while (it.next()) |_| {}
383 }392 }
384 if (@hasField(@TypeOf(builtin), "features")) {393 if (@hasField(@TypeOf(builtin), "features")) {
385 const corrected_name = comptime if (std.mem.eql(u8, list_name, "x86_64")) "x86" else list_name;394 const corrected_name = comptime if (std.mem.eql(u8, list_name, "x86_64")) "x86" else if (std.mem.eql(u8, list_name, "neon")) "aarch64" else list_name;
386 const features = &@field(std.Target, corrected_name).all_features;395 const features = &@field(std.Target, corrected_name).all_features;
387396
388 const feature_string = builtin.features orelse continue;397 const feature_string = builtin.features orelse continue;
lib/compiler/aro/aro/Builtins/TypeDescription.zig+9-1
...@@ -63,6 +63,7 @@ pub const ComponentIterator = struct {...@@ -63,6 +63,7 @@ pub const ComponentIterator = struct {
63 'h' => return .{ .spec = .h },63 'h' => return .{ .spec = .h },
64 'x' => return .{ .spec = .x },64 'x' => return .{ .spec = .x },
65 'y' => return .{ .spec = .y },65 'y' => return .{ .spec = .y },
66 'm' => return .{ .spec = .m },
66 'f' => return .{ .spec = .f },67 'f' => return .{ .spec = .f },
67 'd' => return .{ .spec = .d },68 'd' => return .{ .spec = .d },
68 'z' => return .{ .spec = .z },69 'z' => return .{ .spec = .z },
...@@ -70,12 +71,13 @@ pub const ComponentIterator = struct {...@@ -70,12 +71,13 @@ pub const ComponentIterator = struct {
70 'F' => return .{ .spec = .F },71 'F' => return .{ .spec = .F },
71 'a' => return .{ .spec = .a },72 'a' => return .{ .spec = .a },
72 'A' => return .{ .spec = .A },73 'A' => return .{ .spec = .A },
73 'V', 'E' => {74 'V', 'q', 'E' => {
74 const start = self.idx;75 const start = self.idx;
75 while (std.ascii.isDigit(self.str[self.idx])) : (self.idx += 1) {}76 while (std.ascii.isDigit(self.str[self.idx])) : (self.idx += 1) {}
76 const count = std.fmt.parseUnsigned(u32, self.str[start..self.idx], 10) catch unreachable;77 const count = std.fmt.parseUnsigned(u32, self.str[start..self.idx], 10) catch unreachable;
77 return switch (c) {78 return switch (c) {
78 'V' => .{ .spec = .{ .V = count } },79 'V' => .{ .spec = .{ .V = count } },
80 'q' => .{ .spec = .{ .q = count } },
79 'E' => .{ .spec = .{ .E = count } },81 'E' => .{ .spec = .{ .E = count } },
80 else => unreachable,82 else => unreachable,
81 };83 };
...@@ -120,6 +122,7 @@ pub const ComponentIterator = struct {...@@ -120,6 +122,7 @@ pub const ComponentIterator = struct {
120 switch (self.str[self.idx]) {122 switch (self.str[self.idx]) {
121 'a' => return .{ .spec = .{ .Q = .aarch64_svcount_t } },123 'a' => return .{ .spec = .{ .Q = .aarch64_svcount_t } },
122 'b' => return .{ .spec = .{ .Q = .amdgpu_buffer_rsrc_t } },124 'b' => return .{ .spec = .{ .Q = .amdgpu_buffer_rsrc_t } },
125 't' => return .{ .spec = .{ .Q = .amdgpu_texture_t } },
123 else => unreachable,126 else => unreachable,
124 }127 }
125 },128 },
...@@ -226,6 +229,8 @@ const Spec = union(enum) {...@@ -226,6 +229,8 @@ const Spec = union(enum) {
226 x,229 x,
227 /// half (__bf16)230 /// half (__bf16)
228 y,231 y,
232 /// __mfp8
233 m,
229 /// float234 /// float
230 f,235 f,
231 /// double236 /// double
...@@ -242,10 +247,13 @@ const Spec = union(enum) {...@@ -242,10 +247,13 @@ const Spec = union(enum) {
242 A,247 A,
243 /// Vector, followed by the number of elements and the base type.248 /// Vector, followed by the number of elements and the base type.
244 V: u32,249 V: u32,
250 /// Scalable vector, followed by the number of elements and the base type.
251 q: u32,
245 /// target builtin type, followed by a character to distinguish the builtin type252 /// target builtin type, followed by a character to distinguish the builtin type
246 Q: enum {253 Q: enum {
247 aarch64_svcount_t,254 aarch64_svcount_t,
248 amdgpu_buffer_rsrc_t,255 amdgpu_buffer_rsrc_t,
256 amdgpu_texture_t,
249 },257 },
250 /// ext_vector, followed by the number of elements and the base type.258 /// ext_vector, followed by the number of elements and the base type.
251 E: u32,259 E: u32,
lib/compiler/aro/aro/Builtins/aarch64.zig+397-297
...@@ -179,6 +179,8 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,...@@ -179,6 +179,8 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,
179 __builtin_arm_mops_memset_tag,179 __builtin_arm_mops_memset_tag,
180 __builtin_arm_nop,180 __builtin_arm_nop,
181 __builtin_arm_prefetch,181 __builtin_arm_prefetch,
182 __builtin_arm_range_prefetch,
183 __builtin_arm_range_prefetch_x,
182 __builtin_arm_rbit,184 __builtin_arm_rbit,
183 __builtin_arm_rbit64,185 __builtin_arm_rbit64,
184 __builtin_arm_rint32x,186 __builtin_arm_rint32x,
...@@ -204,11 +206,7 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,...@@ -204,11 +206,7 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,
204 __builtin_arm_stlex,206 __builtin_arm_stlex,
205 __builtin_arm_strex,207 __builtin_arm_strex,
206 __builtin_arm_subp,208 __builtin_arm_subp,
207 __builtin_arm_tcancel,
208 __builtin_arm_tcommit,
209 __builtin_arm_trap,209 __builtin_arm_trap,
210 __builtin_arm_tstart,
211 __builtin_arm_ttest,
212 __builtin_arm_wfe,210 __builtin_arm_wfe,
213 __builtin_arm_wfi,211 __builtin_arm_wfi,
214 __builtin_arm_wsr,212 __builtin_arm_wsr,
...@@ -217,6 +215,42 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,...@@ -217,6 +215,42 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,
217 __builtin_arm_wsrp,215 __builtin_arm_wsrp,
218 __builtin_arm_yield,216 __builtin_arm_yield,
219 __builtin_sponentry,217 __builtin_sponentry,
218 __builtin_sve_svdup_neonq_bf16,
219 __builtin_sve_svdup_neonq_f16,
220 __builtin_sve_svdup_neonq_f32,
221 __builtin_sve_svdup_neonq_f64,
222 __builtin_sve_svdup_neonq_s16,
223 __builtin_sve_svdup_neonq_s32,
224 __builtin_sve_svdup_neonq_s64,
225 __builtin_sve_svdup_neonq_s8,
226 __builtin_sve_svdup_neonq_u16,
227 __builtin_sve_svdup_neonq_u32,
228 __builtin_sve_svdup_neonq_u64,
229 __builtin_sve_svdup_neonq_u8,
230 __builtin_sve_svget_neonq_bf16,
231 __builtin_sve_svget_neonq_f16,
232 __builtin_sve_svget_neonq_f32,
233 __builtin_sve_svget_neonq_f64,
234 __builtin_sve_svget_neonq_s16,
235 __builtin_sve_svget_neonq_s32,
236 __builtin_sve_svget_neonq_s64,
237 __builtin_sve_svget_neonq_s8,
238 __builtin_sve_svget_neonq_u16,
239 __builtin_sve_svget_neonq_u32,
240 __builtin_sve_svget_neonq_u64,
241 __builtin_sve_svget_neonq_u8,
242 __builtin_sve_svset_neonq_bf16,
243 __builtin_sve_svset_neonq_f16,
244 __builtin_sve_svset_neonq_f32,
245 __builtin_sve_svset_neonq_f64,
246 __builtin_sve_svset_neonq_s16,
247 __builtin_sve_svset_neonq_s32,
248 __builtin_sve_svset_neonq_s64,
249 __builtin_sve_svset_neonq_s8,
250 __builtin_sve_svset_neonq_u16,
251 __builtin_sve_svset_neonq_u32,
252 __builtin_sve_svset_neonq_u64,
253 __builtin_sve_svset_neonq_u8,
220 __clear_cache,254 __clear_cache,
221 __dmb,255 __dmb,
222 __dsb,256 __dsb,
...@@ -300,7 +334,7 @@ pub const longest_name = 38;...@@ -300,7 +334,7 @@ pub const longest_name = 38;
300/// If found, returns the index of the node within the `dafsa` array.334/// If found, returns the index of the node within the `dafsa` array.
301/// Otherwise, returns `null`.335/// Otherwise, returns `null`.
302pub fn findInList(first_child_index: u16, char: u8) ?u16 {336pub fn findInList(first_child_index: u16, char: u8) ?u16 {
303 @setEvalBranchQuota(472);337 @setEvalBranchQuota(540);
304 var index = first_child_index;338 var index = first_child_index;
305 while (true) {339 while (true) {
306 if (dafsa[index].char == char) return index;340 if (dafsa[index].char == char) return index;
...@@ -395,14 +429,14 @@ const Node = packed struct {...@@ -395,14 +429,14 @@ const Node = packed struct {
395429
396const dafsa = [_]Node{430const dafsa = [_]Node{
397 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },431 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },
398 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 236, .child_index = 2 },432 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 270, .child_index = 2 },
399 .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 9 },433 .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 9 },
400 .{ .char = 'B', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 10 },434 .{ .char = 'B', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 10 },
401 .{ .char = 'C', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 11 },435 .{ .char = 'C', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 11 },
402 .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 115, .child_index = 12 },436 .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 115, .child_index = 12 },
403 .{ .char = 'R', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 13 },437 .{ .char = 'R', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 13 },
404 .{ .char = 'W', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 14 },438 .{ .char = 'W', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 14 },
405 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 101, .child_index = 15 },439 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 135, .child_index = 15 },
406 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 29 },440 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 29 },
407 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 30 },441 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 30 },
408 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 31 },442 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 31 },
...@@ -410,7 +444,7 @@ const dafsa = [_]Node{...@@ -410,7 +444,7 @@ const dafsa = [_]Node{
410 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 34 },444 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 34 },
411 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 35 },445 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 35 },
412 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 36 },446 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 36 },
413 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 70, .child_index = 37 },447 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 104, .child_index = 37 },
414 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 39 },448 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 39 },
415 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 40 },449 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 40 },
416 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 42 },450 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 42 },
...@@ -432,7 +466,7 @@ const dafsa = [_]Node{...@@ -432,7 +466,7 @@ const dafsa = [_]Node{
432 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 61 },466 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 61 },
433 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 62 },467 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 62 },
434 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 63 },468 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 63 },
435 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 69, .child_index = 64 },469 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 103, .child_index = 64 },
436 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 65 },470 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 65 },
437 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 66 },471 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 66 },
438 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 66 },472 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 66 },
...@@ -458,7 +492,7 @@ const dafsa = [_]Node{...@@ -458,7 +492,7 @@ const dafsa = [_]Node{
458 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 88 },492 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 88 },
459 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 89 },493 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 89 },
460 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 90 },494 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 90 },
461 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 69, .child_index = 91 },495 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 103, .child_index = 91 },
462 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 92 },496 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 92 },
463 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },497 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
464 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 93 },498 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 93 },
...@@ -485,7 +519,7 @@ const dafsa = [_]Node{...@@ -485,7 +519,7 @@ const dafsa = [_]Node{
485 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 109 },519 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 109 },
486 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 110 },520 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 110 },
487 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 111 },521 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 111 },
488 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 69, .child_index = 112 },522 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 103, .child_index = 112 },
489 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 113 },523 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 113 },
490 .{ .char = 'R', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 114 },524 .{ .char = 'R', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 114 },
491 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },525 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
...@@ -506,7 +540,7 @@ const dafsa = [_]Node{...@@ -506,7 +540,7 @@ const dafsa = [_]Node{
506 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 107 },540 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 107 },
507 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 128 },541 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 128 },
508 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },542 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
509 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 69, .child_index = 129 },543 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 103, .child_index = 129 },
510 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 130 },544 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 130 },
511 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 131 },545 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 131 },
512 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 132 },546 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 132 },
...@@ -523,7 +557,7 @@ const dafsa = [_]Node{...@@ -523,7 +557,7 @@ const dafsa = [_]Node{
523 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 143 },557 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 143 },
524 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 144 },558 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 144 },
525 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 145 },559 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 145 },
526 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 69, .child_index = 149 },560 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 103, .child_index = 149 },
527 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 150 },561 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 150 },
528 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },562 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
529 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 151 },563 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 151 },
...@@ -543,7 +577,7 @@ const dafsa = [_]Node{...@@ -543,7 +577,7 @@ const dafsa = [_]Node{
543 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 165 },577 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 165 },
544 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 165 },578 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 165 },
545 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 166 },579 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 166 },
546 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 69, .child_index = 167 },580 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 103, .child_index = 167 },
547 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 168 },581 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 168 },
548 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 94 },582 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 94 },
549 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 169 },583 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 169 },
...@@ -561,7 +595,7 @@ const dafsa = [_]Node{...@@ -561,7 +595,7 @@ const dafsa = [_]Node{
561 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },595 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },
562 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 166 },596 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 166 },
563 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 182 },597 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 182 },
564 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 69, .child_index = 183 },598 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 103, .child_index = 183 },
565 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 185 },599 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 185 },
566 .{ .char = 'R', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 186 },600 .{ .char = 'R', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 186 },
567 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 187 },601 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 187 },
...@@ -577,336 +611,368 @@ const dafsa = [_]Node{...@@ -577,336 +611,368 @@ const dafsa = [_]Node{
577 .{ .char = 'B', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 196 },611 .{ .char = 'B', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 196 },
578 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 197 },612 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 197 },
579 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 117 },613 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 117 },
580 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 68, .child_index = 198 },614 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 66, .child_index = 198 },
581 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 199 },615 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 199 },
582 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 200 },616 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 201 },
583 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 201 },617 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 202 },
584 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 202 },618 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 203 },
585 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 203 },619 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 204 },
586 .{ .char = 'F', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 204 },620 .{ .char = 'F', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 205 },
587 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 205 },
588 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 206 },621 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 206 },
589 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 207 },622 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 207 },
590 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 208 },623 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 208 },
591 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 209 },624 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 209 },
592 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 115, .child_index = 210 },625 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 210 },
593 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 217 },626 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 115, .child_index = 211 },
627 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 218 },
594 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },628 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
595 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 218 },629 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 66, .child_index = 219 },
596 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 219 },630 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 220 },
631 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 221 },
597 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 197 },632 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 197 },
598 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 220 },633 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 222 },
599 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 221 },634 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 223 },
600 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 222 },635 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 224 },
601 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 223 },636 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 225 },
602 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 224 },
603 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 225 },
604 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 226 },637 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 226 },
605 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 227 },638 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 227 },
606 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 230 },639 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 228 },
607 .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 231 },640 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 229 },
608 .{ .char = 'C', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 233 },641 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 232 },
609 .{ .char = 'D', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 234 },642 .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 233 },
610 .{ .char = 'E', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 235 },643 .{ .char = 'C', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 235 },
611 .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 236 },644 .{ .char = 'D', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 236 },
612 .{ .char = 'O', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 237 },645 .{ .char = 'E', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 237 },
613 .{ .char = 'X', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 238 },646 .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 238 },
614 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 239 },647 .{ .char = 'O', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 239 },
615 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 240 },648 .{ .char = 'X', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 240 },
616 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 241 },649 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 241 },
617 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 242 },650 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 66, .child_index = 242 },
618 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 243 },651 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 243 },
619 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 244 },652 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 244 },
620 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 245 },653 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 245 },
621 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 246 },654 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 246 },
622 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 247 },655 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 247 },
623 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 248 },656 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 248 },
624 .{ .char = 'O', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 249 },657 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 249 },
625 .{ .char = 'S', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 250 },658 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 250 },
626 .{ .char = 'Z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 251 },659 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 251 },
627 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 252 },660 .{ .char = 'O', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 252 },
628 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 253 },661 .{ .char = 'S', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 253 },
629 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 254 },662 .{ .char = 'Z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 254 },
630 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 255 },663 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 255 },
631 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 256 },664 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 256 },
632 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 257 },665 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 257 },
633 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 256 },666 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 258 },
634 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 258 },667 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 259 },
635 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 237 },668 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 260 },
636 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 262 },669 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 259 },
637 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 263 },670 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 261 },
638 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 278 },671 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 239 },
639 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 279 },672 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 265 },
640 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 230 },673 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 66, .child_index = 266 },
641 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 230 },674 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 281 },
642 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 280 },675 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 282 },
643 .{ .char = 'I', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 281 },676 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 283 },
644 .{ .char = 'F', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 282 },677 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 232 },
645 .{ .char = 'D', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 283 },678 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 232 },
646 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 284 },679 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 284 },
647 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 285 },680 .{ .char = 'I', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 285 },
648 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 286 },681 .{ .char = 'F', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 286 },
682 .{ .char = 'D', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 287 },
683 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 288 },
684 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 289 },
685 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 290 },
649 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },686 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
650 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 287 },687 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 291 },
651 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 258 },688 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 261 },
652 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 289 },689 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 293 },
653 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 290 },690 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 294 },
654 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 291 },691 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 295 },
655 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 292 },692 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 296 },
656 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 293 },693 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 297 },
657 .{ .char = '8', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 294 },694 .{ .char = '8', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 298 },
658 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 295 },695 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
659 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 298 },696 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 302 },
660 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 299 },697 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 303 },
661 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 300 },698 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 304 },
662 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 40 },699 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 40 },
663 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 303 },700 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 307 },
664 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 306 },701 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 310 },
665 .{ .char = 'j', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 308 },702 .{ .char = 'j', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 312 },
666 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 309 },703 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 313 },
667 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 310 },704 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 314 },
668 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 311 },705 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 315 },
669 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 47 },706 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 47 },
670 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 312 },707 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 316 },
671 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 316 },708 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 321 },
672 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 319 },709 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 324 },
673 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 323 },710 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 325 },
674 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 54 },711 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 54 },
675 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 325 },712 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },
676 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 326 },713 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 328 },
677 .{ .char = 'I', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },714 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 329 },
678 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 328 },715 .{ .char = 'I', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 330 },
679 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 329 },716 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 331 },
680 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 330 },717 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 332 },
681 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 209 },718 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 333 },
682 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 331 },719 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 210 },
683 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 332 },720 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 334 },
684 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 293 },721 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 335 },
685 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 295 },722 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 297 },
686 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 333 },723 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
687 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 334 },724 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 336 },
688 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 335 },725 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 337 },
689 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 294 },726 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 338 },
690 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 336 },727 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 298 },
691 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 295 },728 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 339 },
692 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 337 },729 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
693 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 338 },730 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 340 },
694 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 339 },731 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 341 },
695 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 340 },732 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 342 },
696 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 341 },733 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 343 },
697 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 342 },734 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
698 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 343 },735 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 345 },
699 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 346 },736 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 346 },
700 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 347 },737 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 349 },
701 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 348 },738 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 350 },
702 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 349 },739 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 351 },
740 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 352 },
703 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 131 },741 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 131 },
704 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 66 },742 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 66 },
705 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },743 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 353 },
706 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 351 },744 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 354 },
707 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 355 },745 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 358 },
708 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 356 },746 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 359 },
709 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 357 },747 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 360 },
710 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 358 },748 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 361 },
711 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 359 },749 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 362 },
712 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 360 },750 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 363 },
751 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 364 },
713 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 73 },752 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 73 },
714 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 361 },753 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 365 },
715 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 365 },754 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 369 },
716 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },755 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
717 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 368 },
718 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 369 },
719 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
720 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 75 },756 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 75 },
721 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 360 },757 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 364 },
722 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 371 },758 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 371 },
723 .{ .char = 'A', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 372 },759 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 372 },
724 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 373 },760 .{ .char = 'A', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 375 },
725 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 374 },761 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 376 },
726 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 375 },762 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 377 },
727 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 376 },763 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 378 },
728 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 209 },764 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 379 },
729 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 209 },765 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 210 },
730 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 377 },766 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 210 },
731 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 378 },767 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 380 },
732 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 379 },768 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 381 },
733 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 295 },769 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 382 },
734 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 380 },770 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
771 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 383 },
735 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },772 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
736 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 381 },773 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 384 },
737 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },774 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
738 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 131 },775 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 131 },
739 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 382 },776 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 385 },
740 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 383 },777 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 386 },
741 .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 230 },778 .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 232 },
742 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 230 },779 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 232 },
743 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 384 },780 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 387 },
744 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 385 },781 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 388 },
745 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },782 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 390 },
746 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },783 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
747 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 68 },784 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 68 },
748 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 388 },785 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 391 },
749 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 383 },786 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 386 },
750 .{ .char = 'g', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },787 .{ .char = 'g', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
751 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 383 },788 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 386 },
752 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 389 },789 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 392 },
753 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },790 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
754 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 390 },791 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 393 },
755 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 391 },792 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 394 },
756 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 392 },793 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 395 },
757 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 393 },794 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 396 },
758 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 396 },795 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 397 },
796 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 400 },
759 .{ .char = 'g', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },797 .{ .char = 'g', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
760 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 383 },798 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 386 },
761 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 383 },799 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 386 },
762 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 356 },800 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 359 },
763 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 397 },801 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 359 },
764 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 398 },
765 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 356 },
766 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 399 },
767 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 400 },
768 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 401 },802 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 401 },
769 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 402 },803 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 402 },
770 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 403 },804 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 403 },
771 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 404 },805 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 403 },
806 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 404 },
807 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 405 },
808 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 406 },
772 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 68 },809 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 68 },
773 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 405 },810 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 407 },
774 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 406 },811 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 408 },
775 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 407 },812 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 409 },
776 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 408 },813 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 410 },
777 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },814 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
778 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },815 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
779 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 409 },816 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 411 },
780 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 410 },817 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
781 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 411 },818 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 413 },
782 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 412 },819 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 414 },
783 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 74 },820 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 74 },
784 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 413 },821 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 415 },
785 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 66 },822 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 66 },
786 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 414 },823 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 416 },
787 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 230 },824 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 417 },
788 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 415 },825 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 232 },
789 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 417 },826 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 418 },
790 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 418 },827 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 420 },
791 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 252 },828 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 421 },
829 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 255 },
792 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },830 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
793 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 419 },831 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 422 },
794 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 420 },
795 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 421 },
796 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 422 },
797 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 68 },
798 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 423 },832 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 423 },
799 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 424 },833 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 424 },
800 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 252 },834 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 425 },
835 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 426 },
836 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 255 },
801 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },837 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
802 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 197 },838 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 197 },
803 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 425 },839 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 427 },
804 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 426 },840 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 428 },
805 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 427 },841 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 429 },
806 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 375 },842 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 378 },
807 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },843 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
808 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 428 },844 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 430 },
809 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 433 },845 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 435 },
810 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 434 },846 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 436 },
811 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 435 },847 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 437 },
812 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 436 },848 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 438 },
813 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 437 },849 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 439 },
850 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 440 },
814 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 74 },851 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 74 },
815 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 438 },852 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 441 },
816 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 439 },853 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 442 },
817 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 339 },
818 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 440 },
819 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 68 },
820 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },854 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
821 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 441 },855 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 443 },
822 .{ .char = 'E', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 442 },856 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 443 },
823 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 443 },857 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 444 },
824 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 444 },858 .{ .char = 'E', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 445 },
859 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 446 },
860 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 447 },
825 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },861 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
826 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 451 },862 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 454 },
827 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },863 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
828 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },864 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
829 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },865 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
830 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 455 },866 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
831 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 456 },867 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 459 },
832 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },868 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 460 },
833 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 458 },869 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 461 },
834 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 458 },870 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 462 },
871 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 462 },
835 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },872 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
836 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 460 },873 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 464 },
837 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 68 },874 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 465 },
838 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 461 },875 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 466 },
839 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 462 },876 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 467 },
840 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 463 },877 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 468 },
841 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 292 },878 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 296 },
842 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 293 },879 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 297 },
843 .{ .char = '8', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 294 },880 .{ .char = '8', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 298 },
844 .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 466 },881 .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 471 },
845 .{ .char = 'P', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 467 },882 .{ .char = 'P', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 472 },
846 .{ .char = 'S', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 468 },883 .{ .char = 'S', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 473 },
847 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 295 },884 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
848 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },885 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
849 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },886 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
850 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },887 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
851 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },888 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
852 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },889 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
853 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 469 },890 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 474 },
854 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 470 },891 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 475 },
855 .{ .char = 'x', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 471 },892 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 476 },
856 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 471 },893 .{ .char = 'x', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 477 },
894 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 477 },
857 .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },895 .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
896 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 478 },
858 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 74 },897 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 74 },
859 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 472 },898 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 479 },
860 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 292 },899 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 296 },
861 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 293 },900 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 297 },
862 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 295 },901 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
863 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 254 },902 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 257 },
864 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 473 },903 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 480 },
865 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 474 },904 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 481 },
866 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 475 },905 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 482 },
867 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 476 },906 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 483 },
907 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 484 },
868 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },908 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
869 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 477 },909 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 485 },
870 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 478 },910 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 486 },
871 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 403 },911 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 487 },
872 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 479 },912 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 405 },
873 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 480 },913 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 488 },
874 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 481 },914 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 489 },
875 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 482 },915 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 490 },
876 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 483 },916 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 491 },
877 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 484 },917 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 492 },
878 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 485 },918 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 493 },
879 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 486 },919 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 494 },
920 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 495 },
921 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 496 },
922 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 497 },
923 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 498 },
924 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 499 },
880 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },925 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },
881 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 487 },926 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 500 },
882 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 488 },927 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 501 },
883 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 489 },928 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 502 },
884 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 490 },929 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 503 },
885 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 491 },930 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 504 },
886 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 294 },931 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },
887 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },932 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 506 },
888 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 497 },933 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 507 },
889 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 499 },934 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 511 },
890 .{ .char = '8', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 294 },935 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 298 },
891 .{ .char = 'P', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 500 },936 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 516 },
892 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 295 },937 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 517 },
938 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 518 },
939 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 519 },
940 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 522 },
941 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 522 },
942 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 526 },
943 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 528 },
944 .{ .char = '8', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 298 },
945 .{ .char = 'P', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 529 },
946 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
893 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 131 },947 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 131 },
894 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 501 },948 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 530 },
895 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 294 },949 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 531 },
896 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 294 },950 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 532 },
897 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 502 },951 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 406 },
898 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 336 },952 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 255 },
899 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 503 },953 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 532 },
900 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 504 },954 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 406 },
901 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 505 },955 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 255 },
902 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 506 },956 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
903 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 507 },957 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 533 },
904 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 508 },958 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 298 },
905 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 337 },959 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 298 },
906 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 339 },960 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 534 },
961 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
962 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 532 },
963 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
964 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 339 },
965 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 535 },
966 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 536 },
967 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 537 },
968 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 538 },
969 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 539 },
970 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 540 },
971 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 340 },
972 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 342 },
907};973};
908pub const data = blk: {974pub const data = blk: {
909 @setEvalBranchQuota(2124);975 @setEvalBranchQuota(2430);
910 break :blk [_]Properties{976 break :blk [_]Properties{
911 .{ .param_str = "v*", .header = .intrin, .language = .all_ms_languages },977 .{ .param_str = "v*", .header = .intrin, .language = .all_ms_languages },
912 .{ .param_str = "UcUNi*UNi", .header = .intrin, .language = .all_ms_languages },978 .{ .param_str = "UcUNi*UNi", .header = .intrin, .language = .all_ms_languages },
...@@ -1079,6 +1145,8 @@ pub const data = blk: {...@@ -1079,6 +1145,8 @@ pub const data = blk: {
1079 .{ .param_str = "v*v*iz", .features = "mte,mops" },1145 .{ .param_str = "v*v*iz", .features = "mte,mops" },
1080 .{ .param_str = "v" },1146 .{ .param_str = "v" },
1081 .{ .param_str = "vvC*UiUiUiUi", .attributes = .{ .@"const" = true } },1147 .{ .param_str = "vvC*UiUiUiUi", .attributes = .{ .@"const" = true } },
1148 .{ .param_str = "vvC*UiUiWUi" },
1149 .{ .param_str = "vvC*UiUiiUiiz" },
1082 .{ .param_str = "UiUi", .attributes = .{ .@"const" = true } },1150 .{ .param_str = "UiUi", .attributes = .{ .@"const" = true } },
1083 .{ .param_str = "WUiWUi", .attributes = .{ .@"const" = true } },1151 .{ .param_str = "WUiWUi", .attributes = .{ .@"const" = true } },
1084 .{ .param_str = "dd", .features = "v8_5a" },1152 .{ .param_str = "dd", .features = "v8_5a" },
...@@ -1104,11 +1172,7 @@ pub const data = blk: {...@@ -1104,11 +1172,7 @@ pub const data = blk: {
1104 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true } },1172 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true } },
1105 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true } },1173 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true } },
1106 .{ .param_str = "Uiv*v*", .attributes = .{ .custom_typecheck = true }, .features = "mte" },1174 .{ .param_str = "Uiv*v*", .attributes = .{ .custom_typecheck = true }, .features = "mte" },
1107 .{ .param_str = "vWUIi" },
1108 .{ .param_str = "v" },
1109 .{ .param_str = "vUIs", .attributes = .{ .@"noreturn" = true } },1175 .{ .param_str = "vUIs", .attributes = .{ .@"noreturn" = true } },
1110 .{ .param_str = "WUi", .attributes = .{ .returns_twice = true } },
1111 .{ .param_str = "WUi", .attributes = .{ .@"const" = true } },
1112 .{ .param_str = "v" },1176 .{ .param_str = "v" },
1113 .{ .param_str = "v" },1177 .{ .param_str = "v" },
1114 .{ .param_str = "vcC*Ui", .attributes = .{ .@"const" = true } },1178 .{ .param_str = "vcC*Ui", .attributes = .{ .@"const" = true } },
...@@ -1117,6 +1181,42 @@ pub const data = blk: {...@@ -1117,6 +1181,42 @@ pub const data = blk: {
1117 .{ .param_str = "vcC*vC*", .attributes = .{ .@"const" = true } },1181 .{ .param_str = "vcC*vC*", .attributes = .{ .@"const" = true } },
1118 .{ .param_str = "v" },1182 .{ .param_str = "v" },
1119 .{ .param_str = "v*", .attributes = .{ .@"const" = true } },1183 .{ .param_str = "v*", .attributes = .{ .@"const" = true } },
1184 .{ .param_str = "q8yV8y", .features = "sve,bf16" },
1185 .{ .param_str = "q8hV8h", .features = "sve" },
1186 .{ .param_str = "q4fV4f", .features = "sve" },
1187 .{ .param_str = "q2dV2d", .features = "sve" },
1188 .{ .param_str = "q8sV8s", .features = "sve" },
1189 .{ .param_str = "q4iV4i", .features = "sve" },
1190 .{ .param_str = "q4iV4i", .features = "sve" },
1191 .{ .param_str = "q16ScV16Sc", .features = "sve" },
1192 .{ .param_str = "q8UsV8Us", .features = "sve" },
1193 .{ .param_str = "q4UiV4Ui", .features = "sve" },
1194 .{ .param_str = "q2UWiV2UWi", .features = "sve" },
1195 .{ .param_str = "q16UcV16Uc", .features = "sve" },
1196 .{ .param_str = "V8yq8y", .features = "sve,bf16" },
1197 .{ .param_str = "V8hq8h", .features = "sve" },
1198 .{ .param_str = "V4fq4f", .features = "sve" },
1199 .{ .param_str = "V2dq2d", .features = "sve" },
1200 .{ .param_str = "V8sq8s", .features = "sve" },
1201 .{ .param_str = "V4iq4i", .features = "sve" },
1202 .{ .param_str = "V2Wiq2Wi", .features = "sve" },
1203 .{ .param_str = "V16Scq16Sc", .features = "sve" },
1204 .{ .param_str = "V16Usq16Us", .features = "sve" },
1205 .{ .param_str = "V4Uiq4Ui", .features = "sve" },
1206 .{ .param_str = "V2UWiq2UWi", .features = "sve" },
1207 .{ .param_str = "V16Ucq16Uc", .features = "sve" },
1208 .{ .param_str = "q8yq8yV8y", .features = "sve,bf16" },
1209 .{ .param_str = "q8hq8hV8h", .features = "sve" },
1210 .{ .param_str = "q4fq4fV4f", .features = "sve" },
1211 .{ .param_str = "q2dq2dV2d", .features = "sve" },
1212 .{ .param_str = "q8sq8sV8s", .features = "sve" },
1213 .{ .param_str = "q4iq4iV4i", .features = "sve" },
1214 .{ .param_str = "q2Wiq2WiV2Wi", .features = "sve" },
1215 .{ .param_str = "q16Scq16ScV16Sc", .features = "sve" },
1216 .{ .param_str = "q8Usq8UsV8s", .features = "sve" },
1217 .{ .param_str = "q4Uiq4UiV4Ui", .features = "sve" },
1218 .{ .param_str = "q2UWiq2UWiV2UWi", .features = "sve" },
1219 .{ .param_str = "q16Ucq16UcV16Uc", .features = "sve" },
1120 .{ .param_str = "vv*v*" },1220 .{ .param_str = "vv*v*" },
1121 .{ .param_str = "vUi", .header = .arm_acle, .attributes = .{ .@"const" = true } },1221 .{ .param_str = "vUi", .header = .arm_acle, .attributes = .{ .@"const" = true } },
1122 .{ .param_str = "vUi", .header = .arm_acle, .attributes = .{ .@"const" = true } },1222 .{ .param_str = "vUi", .header = .arm_acle, .attributes = .{ .@"const" = true } },
lib/compiler/aro/aro/Builtins/amdgcn.zig+2910-1725
...@@ -8,7 +8,11 @@ return struct {...@@ -8,7 +8,11 @@ return struct {
88
9/// Integer starting at 0 derived from the unique index,9/// Integer starting at 0 derived from the unique index,
10/// corresponds with the data array index.10/// corresponds with the data array index.
11pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,11pub const Tag = enum(u16) { __builtin_amdgcn_add_max_i32,
12 __builtin_amdgcn_add_max_u32,
13 __builtin_amdgcn_add_min_i32,
14 __builtin_amdgcn_add_min_u32,
15 __builtin_amdgcn_alignbit,
12 __builtin_amdgcn_alignbyte,16 __builtin_amdgcn_alignbyte,
13 __builtin_amdgcn_ashr_pk_i8_i32,17 __builtin_amdgcn_ashr_pk_i8_i32,
14 __builtin_amdgcn_ashr_pk_u8_i32,18 __builtin_amdgcn_ashr_pk_u8_i32,
...@@ -25,6 +29,31 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -25,6 +29,31 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
25 __builtin_amdgcn_class,29 __builtin_amdgcn_class,
26 __builtin_amdgcn_classf,30 __builtin_amdgcn_classf,
27 __builtin_amdgcn_classh,31 __builtin_amdgcn_classh,
32 __builtin_amdgcn_cluster_id_x,
33 __builtin_amdgcn_cluster_id_y,
34 __builtin_amdgcn_cluster_id_z,
35 __builtin_amdgcn_cluster_load_async_to_lds_b128,
36 __builtin_amdgcn_cluster_load_async_to_lds_b32,
37 __builtin_amdgcn_cluster_load_async_to_lds_b64,
38 __builtin_amdgcn_cluster_load_async_to_lds_b8,
39 __builtin_amdgcn_cluster_load_b128,
40 __builtin_amdgcn_cluster_load_b32,
41 __builtin_amdgcn_cluster_load_b64,
42 __builtin_amdgcn_cluster_workgroup_flat_id,
43 __builtin_amdgcn_cluster_workgroup_id_x,
44 __builtin_amdgcn_cluster_workgroup_id_y,
45 __builtin_amdgcn_cluster_workgroup_id_z,
46 __builtin_amdgcn_cluster_workgroup_max_flat_id,
47 __builtin_amdgcn_cluster_workgroup_max_id_x,
48 __builtin_amdgcn_cluster_workgroup_max_id_y,
49 __builtin_amdgcn_cluster_workgroup_max_id_z,
50 __builtin_amdgcn_cooperative_atomic_load_16x8B,
51 __builtin_amdgcn_cooperative_atomic_load_32x4B,
52 __builtin_amdgcn_cooperative_atomic_load_8x16B,
53 __builtin_amdgcn_cooperative_atomic_store_16x8B,
54 __builtin_amdgcn_cooperative_atomic_store_32x4B,
55 __builtin_amdgcn_cooperative_atomic_store_8x16B,
56 __builtin_amdgcn_cos_bf16,
28 __builtin_amdgcn_cosf,57 __builtin_amdgcn_cosf,
29 __builtin_amdgcn_cosh,58 __builtin_amdgcn_cosh,
30 __builtin_amdgcn_cubeid,59 __builtin_amdgcn_cubeid,
...@@ -37,24 +66,48 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -37,24 +66,48 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
37 __builtin_amdgcn_cvt_f32_fp8,66 __builtin_amdgcn_cvt_f32_fp8,
38 __builtin_amdgcn_cvt_f32_fp8_e5m3,67 __builtin_amdgcn_cvt_f32_fp8_e5m3,
39 __builtin_amdgcn_cvt_off_f32_i4,68 __builtin_amdgcn_cvt_off_f32_i4,
69 __builtin_amdgcn_cvt_pk_bf8_f16,
40 __builtin_amdgcn_cvt_pk_bf8_f32,70 __builtin_amdgcn_cvt_pk_bf8_f32,
41 __builtin_amdgcn_cvt_pk_f16_bf8,71 __builtin_amdgcn_cvt_pk_f16_bf8,
42 __builtin_amdgcn_cvt_pk_f16_fp8,72 __builtin_amdgcn_cvt_pk_f16_fp8,
43 __builtin_amdgcn_cvt_pk_f32_bf8,73 __builtin_amdgcn_cvt_pk_f32_bf8,
44 __builtin_amdgcn_cvt_pk_f32_fp8,74 __builtin_amdgcn_cvt_pk_f32_fp8,
75 __builtin_amdgcn_cvt_pk_fp8_f16,
45 __builtin_amdgcn_cvt_pk_fp8_f32,76 __builtin_amdgcn_cvt_pk_fp8_f32,
77 __builtin_amdgcn_cvt_pk_fp8_f32_e5m3,
46 __builtin_amdgcn_cvt_pk_i16,78 __builtin_amdgcn_cvt_pk_i16,
47 __builtin_amdgcn_cvt_pk_u16,79 __builtin_amdgcn_cvt_pk_u16,
48 __builtin_amdgcn_cvt_pk_u8_f32,80 __builtin_amdgcn_cvt_pk_u8_f32,
49 __builtin_amdgcn_cvt_pknorm_i16,81 __builtin_amdgcn_cvt_pknorm_i16,
50 __builtin_amdgcn_cvt_pknorm_u16,82 __builtin_amdgcn_cvt_pknorm_u16,
51 __builtin_amdgcn_cvt_pkrtz,83 __builtin_amdgcn_cvt_pkrtz,
84 __builtin_amdgcn_cvt_scale_pk16_bf16_bf6,
85 __builtin_amdgcn_cvt_scale_pk16_bf16_fp6,
86 __builtin_amdgcn_cvt_scale_pk16_f16_bf6,
87 __builtin_amdgcn_cvt_scale_pk16_f16_fp6,
88 __builtin_amdgcn_cvt_scale_pk16_f32_bf6,
89 __builtin_amdgcn_cvt_scale_pk16_f32_fp6,
90 __builtin_amdgcn_cvt_scale_pk8_bf16_bf8,
91 __builtin_amdgcn_cvt_scale_pk8_bf16_fp4,
92 __builtin_amdgcn_cvt_scale_pk8_bf16_fp8,
93 __builtin_amdgcn_cvt_scale_pk8_f16_bf8,
94 __builtin_amdgcn_cvt_scale_pk8_f16_fp4,
95 __builtin_amdgcn_cvt_scale_pk8_f16_fp8,
96 __builtin_amdgcn_cvt_scale_pk8_f32_bf8,
97 __builtin_amdgcn_cvt_scale_pk8_f32_fp4,
98 __builtin_amdgcn_cvt_scale_pk8_f32_fp8,
52 __builtin_amdgcn_cvt_scalef32_2xpk16_bf6_f32,99 __builtin_amdgcn_cvt_scalef32_2xpk16_bf6_f32,
53 __builtin_amdgcn_cvt_scalef32_2xpk16_fp6_f32,100 __builtin_amdgcn_cvt_scalef32_2xpk16_fp6_f32,
54 __builtin_amdgcn_cvt_scalef32_f16_bf8,101 __builtin_amdgcn_cvt_scalef32_f16_bf8,
55 __builtin_amdgcn_cvt_scalef32_f16_fp8,102 __builtin_amdgcn_cvt_scalef32_f16_fp8,
56 __builtin_amdgcn_cvt_scalef32_f32_bf8,103 __builtin_amdgcn_cvt_scalef32_f32_bf8,
57 __builtin_amdgcn_cvt_scalef32_f32_fp8,104 __builtin_amdgcn_cvt_scalef32_f32_fp8,
105 __builtin_amdgcn_cvt_scalef32_pk16_bf6_bf16,
106 __builtin_amdgcn_cvt_scalef32_pk16_bf6_f16,
107 __builtin_amdgcn_cvt_scalef32_pk16_bf6_f32,
108 __builtin_amdgcn_cvt_scalef32_pk16_fp6_bf16,
109 __builtin_amdgcn_cvt_scalef32_pk16_fp6_f16,
110 __builtin_amdgcn_cvt_scalef32_pk16_fp6_f32,
58 __builtin_amdgcn_cvt_scalef32_pk32_bf16_bf6,111 __builtin_amdgcn_cvt_scalef32_pk32_bf16_bf6,
59 __builtin_amdgcn_cvt_scalef32_pk32_bf16_fp6,112 __builtin_amdgcn_cvt_scalef32_pk32_bf16_fp6,
60 __builtin_amdgcn_cvt_scalef32_pk32_bf6_bf16,113 __builtin_amdgcn_cvt_scalef32_pk32_bf6_bf16,
...@@ -65,6 +118,15 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -65,6 +118,15 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
65 __builtin_amdgcn_cvt_scalef32_pk32_f32_fp6,118 __builtin_amdgcn_cvt_scalef32_pk32_f32_fp6,
66 __builtin_amdgcn_cvt_scalef32_pk32_fp6_bf16,119 __builtin_amdgcn_cvt_scalef32_pk32_fp6_bf16,
67 __builtin_amdgcn_cvt_scalef32_pk32_fp6_f16,120 __builtin_amdgcn_cvt_scalef32_pk32_fp6_f16,
121 __builtin_amdgcn_cvt_scalef32_pk8_bf8_bf16,
122 __builtin_amdgcn_cvt_scalef32_pk8_bf8_f16,
123 __builtin_amdgcn_cvt_scalef32_pk8_bf8_f32,
124 __builtin_amdgcn_cvt_scalef32_pk8_fp4_bf16,
125 __builtin_amdgcn_cvt_scalef32_pk8_fp4_f16,
126 __builtin_amdgcn_cvt_scalef32_pk8_fp4_f32,
127 __builtin_amdgcn_cvt_scalef32_pk8_fp8_bf16,
128 __builtin_amdgcn_cvt_scalef32_pk8_fp8_f16,
129 __builtin_amdgcn_cvt_scalef32_pk8_fp8_f32,
68 __builtin_amdgcn_cvt_scalef32_pk_bf16_bf8,130 __builtin_amdgcn_cvt_scalef32_pk_bf16_bf8,
69 __builtin_amdgcn_cvt_scalef32_pk_bf16_fp4,131 __builtin_amdgcn_cvt_scalef32_pk_bf16_fp4,
70 __builtin_amdgcn_cvt_scalef32_pk_bf16_fp8,132 __builtin_amdgcn_cvt_scalef32_pk_bf16_fp8,
...@@ -89,19 +151,39 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -89,19 +151,39 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
89 __builtin_amdgcn_cvt_scalef32_sr_fp8_bf16,151 __builtin_amdgcn_cvt_scalef32_sr_fp8_bf16,
90 __builtin_amdgcn_cvt_scalef32_sr_fp8_f16,152 __builtin_amdgcn_cvt_scalef32_sr_fp8_f16,
91 __builtin_amdgcn_cvt_scalef32_sr_fp8_f32,153 __builtin_amdgcn_cvt_scalef32_sr_fp8_f32,
154 __builtin_amdgcn_cvt_scalef32_sr_pk16_bf6_bf16,
155 __builtin_amdgcn_cvt_scalef32_sr_pk16_bf6_f16,
156 __builtin_amdgcn_cvt_scalef32_sr_pk16_bf6_f32,
157 __builtin_amdgcn_cvt_scalef32_sr_pk16_fp6_bf16,
158 __builtin_amdgcn_cvt_scalef32_sr_pk16_fp6_f16,
159 __builtin_amdgcn_cvt_scalef32_sr_pk16_fp6_f32,
92 __builtin_amdgcn_cvt_scalef32_sr_pk32_bf6_bf16,160 __builtin_amdgcn_cvt_scalef32_sr_pk32_bf6_bf16,
93 __builtin_amdgcn_cvt_scalef32_sr_pk32_bf6_f16,161 __builtin_amdgcn_cvt_scalef32_sr_pk32_bf6_f16,
94 __builtin_amdgcn_cvt_scalef32_sr_pk32_bf6_f32,162 __builtin_amdgcn_cvt_scalef32_sr_pk32_bf6_f32,
95 __builtin_amdgcn_cvt_scalef32_sr_pk32_fp6_bf16,163 __builtin_amdgcn_cvt_scalef32_sr_pk32_fp6_bf16,
96 __builtin_amdgcn_cvt_scalef32_sr_pk32_fp6_f16,164 __builtin_amdgcn_cvt_scalef32_sr_pk32_fp6_f16,
97 __builtin_amdgcn_cvt_scalef32_sr_pk32_fp6_f32,165 __builtin_amdgcn_cvt_scalef32_sr_pk32_fp6_f32,
166 __builtin_amdgcn_cvt_scalef32_sr_pk8_bf8_bf16,
167 __builtin_amdgcn_cvt_scalef32_sr_pk8_bf8_f16,
168 __builtin_amdgcn_cvt_scalef32_sr_pk8_bf8_f32,
169 __builtin_amdgcn_cvt_scalef32_sr_pk8_fp4_bf16,
170 __builtin_amdgcn_cvt_scalef32_sr_pk8_fp4_f16,
171 __builtin_amdgcn_cvt_scalef32_sr_pk8_fp4_f32,
172 __builtin_amdgcn_cvt_scalef32_sr_pk8_fp8_bf16,
173 __builtin_amdgcn_cvt_scalef32_sr_pk8_fp8_f16,
174 __builtin_amdgcn_cvt_scalef32_sr_pk8_fp8_f32,
98 __builtin_amdgcn_cvt_scalef32_sr_pk_fp4_bf16,175 __builtin_amdgcn_cvt_scalef32_sr_pk_fp4_bf16,
99 __builtin_amdgcn_cvt_scalef32_sr_pk_fp4_f16,176 __builtin_amdgcn_cvt_scalef32_sr_pk_fp4_f16,
100 __builtin_amdgcn_cvt_scalef32_sr_pk_fp4_f32,177 __builtin_amdgcn_cvt_scalef32_sr_pk_fp4_f32,
101 __builtin_amdgcn_cvt_sr_bf16_f32,178 __builtin_amdgcn_cvt_sr_bf16_f32,
179 __builtin_amdgcn_cvt_sr_bf8_f16,
102 __builtin_amdgcn_cvt_sr_bf8_f32,180 __builtin_amdgcn_cvt_sr_bf8_f32,
103 __builtin_amdgcn_cvt_sr_f16_f32,181 __builtin_amdgcn_cvt_sr_f16_f32,
182 __builtin_amdgcn_cvt_sr_fp8_f16,
104 __builtin_amdgcn_cvt_sr_fp8_f32,183 __builtin_amdgcn_cvt_sr_fp8_f32,
184 __builtin_amdgcn_cvt_sr_fp8_f32_e5m3,
185 __builtin_amdgcn_cvt_sr_pk_bf16_f32,
186 __builtin_amdgcn_cvt_sr_pk_f16_f32,
105 __builtin_amdgcn_dispatch_ptr,187 __builtin_amdgcn_dispatch_ptr,
106 __builtin_amdgcn_div_fixup,188 __builtin_amdgcn_div_fixup,
107 __builtin_amdgcn_div_fixupf,189 __builtin_amdgcn_div_fixupf,
...@@ -152,6 +234,7 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -152,6 +234,7 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
152 __builtin_amdgcn_ds_read_tr8_b64_v2i32,234 __builtin_amdgcn_ds_read_tr8_b64_v2i32,
153 __builtin_amdgcn_ds_swizzle,235 __builtin_amdgcn_ds_swizzle,
154 __builtin_amdgcn_endpgm,236 __builtin_amdgcn_endpgm,
237 __builtin_amdgcn_exp2_bf16,
155 __builtin_amdgcn_exp2f,238 __builtin_amdgcn_exp2f,
156 __builtin_amdgcn_fcmp,239 __builtin_amdgcn_fcmp,
157 __builtin_amdgcn_fcmpf,240 __builtin_amdgcn_fcmpf,
...@@ -167,6 +250,10 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -167,6 +250,10 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
167 __builtin_amdgcn_flat_atomic_fadd_v2f16,250 __builtin_amdgcn_flat_atomic_fadd_v2f16,
168 __builtin_amdgcn_flat_atomic_fmax_f64,251 __builtin_amdgcn_flat_atomic_fmax_f64,
169 __builtin_amdgcn_flat_atomic_fmin_f64,252 __builtin_amdgcn_flat_atomic_fmin_f64,
253 __builtin_amdgcn_flat_load_monitor_b128,
254 __builtin_amdgcn_flat_load_monitor_b32,
255 __builtin_amdgcn_flat_load_monitor_b64,
256 __builtin_amdgcn_flat_prefetch,
170 __builtin_amdgcn_fmed3f,257 __builtin_amdgcn_fmed3f,
171 __builtin_amdgcn_fmed3h,258 __builtin_amdgcn_fmed3h,
172 __builtin_amdgcn_fract,259 __builtin_amdgcn_fract,
...@@ -185,7 +272,14 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -185,7 +272,14 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
185 __builtin_amdgcn_global_atomic_fadd_v2f16,272 __builtin_amdgcn_global_atomic_fadd_v2f16,
186 __builtin_amdgcn_global_atomic_fmax_f64,273 __builtin_amdgcn_global_atomic_fmax_f64,
187 __builtin_amdgcn_global_atomic_fmin_f64,274 __builtin_amdgcn_global_atomic_fmin_f64,
275 __builtin_amdgcn_global_load_async_to_lds_b128,
276 __builtin_amdgcn_global_load_async_to_lds_b32,
277 __builtin_amdgcn_global_load_async_to_lds_b64,
278 __builtin_amdgcn_global_load_async_to_lds_b8,
188 __builtin_amdgcn_global_load_lds,279 __builtin_amdgcn_global_load_lds,
280 __builtin_amdgcn_global_load_monitor_b128,
281 __builtin_amdgcn_global_load_monitor_b32,
282 __builtin_amdgcn_global_load_monitor_b64,
189 __builtin_amdgcn_global_load_tr16_b128_v8bf16,283 __builtin_amdgcn_global_load_tr16_b128_v8bf16,
190 __builtin_amdgcn_global_load_tr16_b128_v8f16,284 __builtin_amdgcn_global_load_tr16_b128_v8f16,
191 __builtin_amdgcn_global_load_tr16_b128_v8i16,285 __builtin_amdgcn_global_load_tr16_b128_v8i16,
...@@ -200,6 +294,11 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -200,6 +294,11 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
200 __builtin_amdgcn_global_load_tr_b128_v8i16,294 __builtin_amdgcn_global_load_tr_b128_v8i16,
201 __builtin_amdgcn_global_load_tr_b64_i32,295 __builtin_amdgcn_global_load_tr_b64_i32,
202 __builtin_amdgcn_global_load_tr_b64_v2i32,296 __builtin_amdgcn_global_load_tr_b64_v2i32,
297 __builtin_amdgcn_global_prefetch,
298 __builtin_amdgcn_global_store_async_from_lds_b128,
299 __builtin_amdgcn_global_store_async_from_lds_b32,
300 __builtin_amdgcn_global_store_async_from_lds_b64,
301 __builtin_amdgcn_global_store_async_from_lds_b8,
203 __builtin_amdgcn_grid_size_x,302 __builtin_amdgcn_grid_size_x,
204 __builtin_amdgcn_grid_size_y,303 __builtin_amdgcn_grid_size_y,
205 __builtin_amdgcn_grid_size_z,304 __builtin_amdgcn_grid_size_z,
...@@ -211,12 +310,125 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -211,12 +310,125 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
211 __builtin_amdgcn_image_bvh_intersect_ray_h,310 __builtin_amdgcn_image_bvh_intersect_ray_h,
212 __builtin_amdgcn_image_bvh_intersect_ray_l,311 __builtin_amdgcn_image_bvh_intersect_ray_l,
213 __builtin_amdgcn_image_bvh_intersect_ray_lh,312 __builtin_amdgcn_image_bvh_intersect_ray_lh,
313 __builtin_amdgcn_image_gather4_lz_2d_v4f32_f32,
314 __builtin_amdgcn_image_load_1d_v4f16_i32,
315 __builtin_amdgcn_image_load_1d_v4f32_i32,
316 __builtin_amdgcn_image_load_1darray_v4f16_i32,
317 __builtin_amdgcn_image_load_1darray_v4f32_i32,
318 __builtin_amdgcn_image_load_2d_f32_i32,
319 __builtin_amdgcn_image_load_2d_v4f16_i32,
320 __builtin_amdgcn_image_load_2d_v4f32_i32,
321 __builtin_amdgcn_image_load_2darray_f32_i32,
322 __builtin_amdgcn_image_load_2darray_v4f16_i32,
323 __builtin_amdgcn_image_load_2darray_v4f32_i32,
324 __builtin_amdgcn_image_load_3d_v4f16_i32,
325 __builtin_amdgcn_image_load_3d_v4f32_i32,
326 __builtin_amdgcn_image_load_cube_v4f16_i32,
327 __builtin_amdgcn_image_load_cube_v4f32_i32,
328 __builtin_amdgcn_image_load_mip_1d_v4f16_i32,
329 __builtin_amdgcn_image_load_mip_1d_v4f32_i32,
330 __builtin_amdgcn_image_load_mip_1darray_v4f16_i32,
331 __builtin_amdgcn_image_load_mip_1darray_v4f32_i32,
332 __builtin_amdgcn_image_load_mip_2d_f32_i32,
333 __builtin_amdgcn_image_load_mip_2d_v4f16_i32,
334 __builtin_amdgcn_image_load_mip_2d_v4f32_i32,
335 __builtin_amdgcn_image_load_mip_2darray_f32_i32,
336 __builtin_amdgcn_image_load_mip_2darray_v4f16_i32,
337 __builtin_amdgcn_image_load_mip_2darray_v4f32_i32,
338 __builtin_amdgcn_image_load_mip_3d_v4f16_i32,
339 __builtin_amdgcn_image_load_mip_3d_v4f32_i32,
340 __builtin_amdgcn_image_load_mip_cube_v4f16_i32,
341 __builtin_amdgcn_image_load_mip_cube_v4f32_i32,
342 __builtin_amdgcn_image_sample_1d_v4f16_f32,
343 __builtin_amdgcn_image_sample_1d_v4f32_f32,
344 __builtin_amdgcn_image_sample_1darray_v4f16_f32,
345 __builtin_amdgcn_image_sample_1darray_v4f32_f32,
346 __builtin_amdgcn_image_sample_2d_f32_f32,
347 __builtin_amdgcn_image_sample_2d_v4f16_f32,
348 __builtin_amdgcn_image_sample_2d_v4f32_f32,
349 __builtin_amdgcn_image_sample_2darray_f32_f32,
350 __builtin_amdgcn_image_sample_2darray_v4f16_f32,
351 __builtin_amdgcn_image_sample_2darray_v4f32_f32,
352 __builtin_amdgcn_image_sample_3d_v4f16_f32,
353 __builtin_amdgcn_image_sample_3d_v4f32_f32,
354 __builtin_amdgcn_image_sample_cube_v4f16_f32,
355 __builtin_amdgcn_image_sample_cube_v4f32_f32,
356 __builtin_amdgcn_image_sample_d_1d_v4f16_f32,
357 __builtin_amdgcn_image_sample_d_1d_v4f32_f32,
358 __builtin_amdgcn_image_sample_d_1darray_v4f16_f32,
359 __builtin_amdgcn_image_sample_d_1darray_v4f32_f32,
360 __builtin_amdgcn_image_sample_d_2d_f32_f32,
361 __builtin_amdgcn_image_sample_d_2d_v4f16_f32,
362 __builtin_amdgcn_image_sample_d_2d_v4f32_f32,
363 __builtin_amdgcn_image_sample_d_2darray_f32_f32,
364 __builtin_amdgcn_image_sample_d_2darray_v4f16_f32,
365 __builtin_amdgcn_image_sample_d_2darray_v4f32_f32,
366 __builtin_amdgcn_image_sample_d_3d_v4f16_f32,
367 __builtin_amdgcn_image_sample_d_3d_v4f32_f32,
368 __builtin_amdgcn_image_sample_l_1d_v4f16_f32,
369 __builtin_amdgcn_image_sample_l_1d_v4f32_f32,
370 __builtin_amdgcn_image_sample_l_1darray_v4f16_f32,
371 __builtin_amdgcn_image_sample_l_1darray_v4f32_f32,
372 __builtin_amdgcn_image_sample_l_2d_f32_f32,
373 __builtin_amdgcn_image_sample_l_2d_v4f16_f32,
374 __builtin_amdgcn_image_sample_l_2d_v4f32_f32,
375 __builtin_amdgcn_image_sample_l_2darray_f32_f32,
376 __builtin_amdgcn_image_sample_l_2darray_v4f16_f32,
377 __builtin_amdgcn_image_sample_l_2darray_v4f32_f32,
378 __builtin_amdgcn_image_sample_l_3d_v4f16_f32,
379 __builtin_amdgcn_image_sample_l_3d_v4f32_f32,
380 __builtin_amdgcn_image_sample_l_cube_v4f16_f32,
381 __builtin_amdgcn_image_sample_l_cube_v4f32_f32,
382 __builtin_amdgcn_image_sample_lz_1d_v4f16_f32,
383 __builtin_amdgcn_image_sample_lz_1d_v4f32_f32,
384 __builtin_amdgcn_image_sample_lz_1darray_v4f16_f32,
385 __builtin_amdgcn_image_sample_lz_1darray_v4f32_f32,
386 __builtin_amdgcn_image_sample_lz_2d_f32_f32,
387 __builtin_amdgcn_image_sample_lz_2d_v4f16_f32,
388 __builtin_amdgcn_image_sample_lz_2d_v4f32_f32,
389 __builtin_amdgcn_image_sample_lz_2darray_f32_f32,
390 __builtin_amdgcn_image_sample_lz_2darray_v4f16_f32,
391 __builtin_amdgcn_image_sample_lz_2darray_v4f32_f32,
392 __builtin_amdgcn_image_sample_lz_3d_v4f16_f32,
393 __builtin_amdgcn_image_sample_lz_3d_v4f32_f32,
394 __builtin_amdgcn_image_sample_lz_cube_v4f16_f32,
395 __builtin_amdgcn_image_sample_lz_cube_v4f32_f32,
396 __builtin_amdgcn_image_store_1d_v4f16_i32,
397 __builtin_amdgcn_image_store_1d_v4f32_i32,
398 __builtin_amdgcn_image_store_1darray_v4f16_i32,
399 __builtin_amdgcn_image_store_1darray_v4f32_i32,
400 __builtin_amdgcn_image_store_2d_f32_i32,
401 __builtin_amdgcn_image_store_2d_v4f16_i32,
402 __builtin_amdgcn_image_store_2d_v4f32_i32,
403 __builtin_amdgcn_image_store_2darray_f32_i32,
404 __builtin_amdgcn_image_store_2darray_v4f16_i32,
405 __builtin_amdgcn_image_store_2darray_v4f32_i32,
406 __builtin_amdgcn_image_store_3d_v4f16_i32,
407 __builtin_amdgcn_image_store_3d_v4f32_i32,
408 __builtin_amdgcn_image_store_cube_v4f16_i32,
409 __builtin_amdgcn_image_store_cube_v4f32_i32,
410 __builtin_amdgcn_image_store_mip_1d_v4f16_i32,
411 __builtin_amdgcn_image_store_mip_1d_v4f32_i32,
412 __builtin_amdgcn_image_store_mip_1darray_v4f16_i32,
413 __builtin_amdgcn_image_store_mip_1darray_v4f32_i32,
414 __builtin_amdgcn_image_store_mip_2d_f32_i32,
415 __builtin_amdgcn_image_store_mip_2d_v4f16_i32,
416 __builtin_amdgcn_image_store_mip_2d_v4f32_i32,
417 __builtin_amdgcn_image_store_mip_2darray_f32_i32,
418 __builtin_amdgcn_image_store_mip_2darray_v4f16_i32,
419 __builtin_amdgcn_image_store_mip_2darray_v4f32_i32,
420 __builtin_amdgcn_image_store_mip_3d_v4f16_i32,
421 __builtin_amdgcn_image_store_mip_3d_v4f32_i32,
422 __builtin_amdgcn_image_store_mip_cube_v4f16_i32,
423 __builtin_amdgcn_image_store_mip_cube_v4f32_i32,
214 __builtin_amdgcn_implicitarg_ptr,424 __builtin_amdgcn_implicitarg_ptr,
215 __builtin_amdgcn_interp_mov,425 __builtin_amdgcn_interp_mov,
216 __builtin_amdgcn_interp_p1,426 __builtin_amdgcn_interp_p1,
217 __builtin_amdgcn_interp_p1_f16,427 __builtin_amdgcn_interp_p1_f16,
218 __builtin_amdgcn_interp_p2,428 __builtin_amdgcn_interp_p2,
219 __builtin_amdgcn_interp_p2_f16,429 __builtin_amdgcn_interp_p2_f16,
430 __builtin_amdgcn_inverse_ballot_w32,
431 __builtin_amdgcn_inverse_ballot_w64,
220 __builtin_amdgcn_is_private,432 __builtin_amdgcn_is_private,
221 __builtin_amdgcn_is_shared,433 __builtin_amdgcn_is_shared,
222 __builtin_amdgcn_kernarg_segment_ptr,434 __builtin_amdgcn_kernarg_segment_ptr,
...@@ -225,6 +437,7 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -225,6 +437,7 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
225 __builtin_amdgcn_ldexph,437 __builtin_amdgcn_ldexph,
226 __builtin_amdgcn_lerp,438 __builtin_amdgcn_lerp,
227 __builtin_amdgcn_load_to_lds,439 __builtin_amdgcn_load_to_lds,
440 __builtin_amdgcn_log_bf16,
228 __builtin_amdgcn_log_clampf,441 __builtin_amdgcn_log_clampf,
229 __builtin_amdgcn_logf,442 __builtin_amdgcn_logf,
230 __builtin_amdgcn_make_buffer_rsrc,443 __builtin_amdgcn_make_buffer_rsrc,
...@@ -283,13 +496,25 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -283,13 +496,25 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
283 __builtin_amdgcn_mqsad_u32_u8,496 __builtin_amdgcn_mqsad_u32_u8,
284 __builtin_amdgcn_msad_u8,497 __builtin_amdgcn_msad_u8,
285 __builtin_amdgcn_perm,498 __builtin_amdgcn_perm,
499 __builtin_amdgcn_perm_pk16_b4_u4,
500 __builtin_amdgcn_perm_pk16_b6_u4,
501 __builtin_amdgcn_perm_pk16_b8_u4,
286 __builtin_amdgcn_permlane16,502 __builtin_amdgcn_permlane16,
287 __builtin_amdgcn_permlane16_swap,503 __builtin_amdgcn_permlane16_swap,
288 __builtin_amdgcn_permlane16_var,504 __builtin_amdgcn_permlane16_var,
289 __builtin_amdgcn_permlane32_swap,505 __builtin_amdgcn_permlane32_swap,
290 __builtin_amdgcn_permlane64,506 __builtin_amdgcn_permlane64,
507 __builtin_amdgcn_permlane_bcast,
508 __builtin_amdgcn_permlane_down,
509 __builtin_amdgcn_permlane_idx_gen,
510 __builtin_amdgcn_permlane_up,
511 __builtin_amdgcn_permlane_xor,
291 __builtin_amdgcn_permlanex16,512 __builtin_amdgcn_permlanex16,
292 __builtin_amdgcn_permlanex16_var,513 __builtin_amdgcn_permlanex16_var,
514 __builtin_amdgcn_pk_add_max_i16,
515 __builtin_amdgcn_pk_add_max_u16,
516 __builtin_amdgcn_pk_add_min_i16,
517 __builtin_amdgcn_pk_add_min_u16,
293 __builtin_amdgcn_prng_b32,518 __builtin_amdgcn_prng_b32,
294 __builtin_amdgcn_qsad_pk_u16_u8,519 __builtin_amdgcn_qsad_pk_u16_u8,
295 __builtin_amdgcn_queue_ptr,520 __builtin_amdgcn_queue_ptr,
...@@ -305,8 +530,16 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -305,8 +530,16 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
305 __builtin_amdgcn_raw_buffer_store_b64,530 __builtin_amdgcn_raw_buffer_store_b64,
306 __builtin_amdgcn_raw_buffer_store_b8,531 __builtin_amdgcn_raw_buffer_store_b8,
307 __builtin_amdgcn_raw_buffer_store_b96,532 __builtin_amdgcn_raw_buffer_store_b96,
533 __builtin_amdgcn_raw_ptr_buffer_atomic_add_i32,
534 __builtin_amdgcn_raw_ptr_buffer_atomic_fadd_f32,
535 __builtin_amdgcn_raw_ptr_buffer_atomic_fadd_v2f16,
536 __builtin_amdgcn_raw_ptr_buffer_atomic_fmax_f32,
537 __builtin_amdgcn_raw_ptr_buffer_atomic_fmax_f64,
538 __builtin_amdgcn_raw_ptr_buffer_atomic_fmin_f32,
539 __builtin_amdgcn_raw_ptr_buffer_atomic_fmin_f64,
308 __builtin_amdgcn_raw_ptr_buffer_load_lds,540 __builtin_amdgcn_raw_ptr_buffer_load_lds,
309 __builtin_amdgcn_rcp,541 __builtin_amdgcn_rcp,
542 __builtin_amdgcn_rcp_bf16,
310 __builtin_amdgcn_rcpf,543 __builtin_amdgcn_rcpf,
311 __builtin_amdgcn_rcph,544 __builtin_amdgcn_rcph,
312 __builtin_amdgcn_read_exec,545 __builtin_amdgcn_read_exec,
...@@ -315,16 +548,21 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -315,16 +548,21 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
315 __builtin_amdgcn_readfirstlane,548 __builtin_amdgcn_readfirstlane,
316 __builtin_amdgcn_readlane,549 __builtin_amdgcn_readlane,
317 __builtin_amdgcn_rsq,550 __builtin_amdgcn_rsq,
551 __builtin_amdgcn_rsq_bf16,
318 __builtin_amdgcn_rsq_clamp,552 __builtin_amdgcn_rsq_clamp,
319 __builtin_amdgcn_rsq_clampf,553 __builtin_amdgcn_rsq_clampf,
320 __builtin_amdgcn_rsqf,554 __builtin_amdgcn_rsqf,
321 __builtin_amdgcn_rsqh,555 __builtin_amdgcn_rsqh,
322 __builtin_amdgcn_s_barrier,556 __builtin_amdgcn_s_barrier,
557 __builtin_amdgcn_s_barrier_init,
558 __builtin_amdgcn_s_barrier_join,
559 __builtin_amdgcn_s_barrier_leave,
323 __builtin_amdgcn_s_barrier_signal,560 __builtin_amdgcn_s_barrier_signal,
324 __builtin_amdgcn_s_barrier_signal_isfirst,561 __builtin_amdgcn_s_barrier_signal_isfirst,
325 __builtin_amdgcn_s_barrier_signal_var,562 __builtin_amdgcn_s_barrier_signal_var,
326 __builtin_amdgcn_s_barrier_wait,563 __builtin_amdgcn_s_barrier_wait,
327 __builtin_amdgcn_s_buffer_prefetch_data,564 __builtin_amdgcn_s_buffer_prefetch_data,
565 __builtin_amdgcn_s_cluster_barrier,
328 __builtin_amdgcn_s_dcache_inv,566 __builtin_amdgcn_s_dcache_inv,
329 __builtin_amdgcn_s_dcache_inv_vol,567 __builtin_amdgcn_s_dcache_inv_vol,
330 __builtin_amdgcn_s_dcache_wb,568 __builtin_amdgcn_s_dcache_wb,
...@@ -353,9 +591,12 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -353,9 +591,12 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
353 __builtin_amdgcn_s_wait_event_export_ready,591 __builtin_amdgcn_s_wait_event_export_ready,
354 __builtin_amdgcn_s_wait_tensorcnt,592 __builtin_amdgcn_s_wait_tensorcnt,
355 __builtin_amdgcn_s_waitcnt,593 __builtin_amdgcn_s_waitcnt,
594 __builtin_amdgcn_s_wakeup_barrier,
356 __builtin_amdgcn_sad_hi_u8,595 __builtin_amdgcn_sad_hi_u8,
357 __builtin_amdgcn_sad_u16,596 __builtin_amdgcn_sad_u16,
358 __builtin_amdgcn_sad_u8,597 __builtin_amdgcn_sad_u8,
598 __builtin_amdgcn_sat_pk4_i4_i8,
599 __builtin_amdgcn_sat_pk4_u4_u8,
359 __builtin_amdgcn_sbfe,600 __builtin_amdgcn_sbfe,
360 __builtin_amdgcn_sched_barrier,601 __builtin_amdgcn_sched_barrier,
361 __builtin_amdgcn_sched_group_barrier,602 __builtin_amdgcn_sched_group_barrier,
...@@ -365,6 +606,7 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -365,6 +606,7 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
365 __builtin_amdgcn_set_fpenv,606 __builtin_amdgcn_set_fpenv,
366 __builtin_amdgcn_sicmp,607 __builtin_amdgcn_sicmp,
367 __builtin_amdgcn_sicmpl,608 __builtin_amdgcn_sicmpl,
609 __builtin_amdgcn_sin_bf16,
368 __builtin_amdgcn_sinf,610 __builtin_amdgcn_sinf,
369 __builtin_amdgcn_sinh,611 __builtin_amdgcn_sinh,
370 __builtin_amdgcn_smfmac_f32_16x16x128_bf8_bf8,612 __builtin_amdgcn_smfmac_f32_16x16x128_bf8_bf8,
...@@ -396,14 +638,27 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -396,14 +638,27 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
396 __builtin_amdgcn_smfmac_i32_32x32x32_i8,638 __builtin_amdgcn_smfmac_i32_32x32x32_i8,
397 __builtin_amdgcn_smfmac_i32_32x32x64_i8,639 __builtin_amdgcn_smfmac_i32_32x32x64_i8,
398 __builtin_amdgcn_sqrt,640 __builtin_amdgcn_sqrt,
641 __builtin_amdgcn_sqrt_bf16,
399 __builtin_amdgcn_sqrtf,642 __builtin_amdgcn_sqrtf,
400 __builtin_amdgcn_sqrth,643 __builtin_amdgcn_sqrth,
644 __builtin_amdgcn_struct_ptr_buffer_load_lds,
401 __builtin_amdgcn_sudot4,645 __builtin_amdgcn_sudot4,
402 __builtin_amdgcn_sudot8,646 __builtin_amdgcn_sudot8,
403 __builtin_amdgcn_swmmac_bf16_16x16x32_bf16_w32,647 __builtin_amdgcn_swmmac_bf16_16x16x32_bf16_w32,
404 __builtin_amdgcn_swmmac_bf16_16x16x32_bf16_w64,648 __builtin_amdgcn_swmmac_bf16_16x16x32_bf16_w64,
649 __builtin_amdgcn_swmmac_bf16_16x16x64_bf16,
650 __builtin_amdgcn_swmmac_bf16f32_16x16x64_bf16,
651 __builtin_amdgcn_swmmac_f16_16x16x128_bf8_bf8,
652 __builtin_amdgcn_swmmac_f16_16x16x128_bf8_fp8,
653 __builtin_amdgcn_swmmac_f16_16x16x128_fp8_bf8,
654 __builtin_amdgcn_swmmac_f16_16x16x128_fp8_fp8,
405 __builtin_amdgcn_swmmac_f16_16x16x32_f16_w32,655 __builtin_amdgcn_swmmac_f16_16x16x32_f16_w32,
406 __builtin_amdgcn_swmmac_f16_16x16x32_f16_w64,656 __builtin_amdgcn_swmmac_f16_16x16x32_f16_w64,
657 __builtin_amdgcn_swmmac_f16_16x16x64_f16,
658 __builtin_amdgcn_swmmac_f32_16x16x128_bf8_bf8,
659 __builtin_amdgcn_swmmac_f32_16x16x128_bf8_fp8,
660 __builtin_amdgcn_swmmac_f32_16x16x128_fp8_bf8,
661 __builtin_amdgcn_swmmac_f32_16x16x128_fp8_fp8,
407 __builtin_amdgcn_swmmac_f32_16x16x32_bf16_w32,662 __builtin_amdgcn_swmmac_f32_16x16x32_bf16_w32,
408 __builtin_amdgcn_swmmac_f32_16x16x32_bf16_w64,663 __builtin_amdgcn_swmmac_f32_16x16x32_bf16_w64,
409 __builtin_amdgcn_swmmac_f32_16x16x32_bf8_bf8_w32,664 __builtin_amdgcn_swmmac_f32_16x16x32_bf8_bf8_w32,
...@@ -416,6 +671,9 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -416,6 +671,9 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
416 __builtin_amdgcn_swmmac_f32_16x16x32_fp8_bf8_w64,671 __builtin_amdgcn_swmmac_f32_16x16x32_fp8_bf8_w64,
417 __builtin_amdgcn_swmmac_f32_16x16x32_fp8_fp8_w32,672 __builtin_amdgcn_swmmac_f32_16x16x32_fp8_fp8_w32,
418 __builtin_amdgcn_swmmac_f32_16x16x32_fp8_fp8_w64,673 __builtin_amdgcn_swmmac_f32_16x16x32_fp8_fp8_w64,
674 __builtin_amdgcn_swmmac_f32_16x16x64_bf16,
675 __builtin_amdgcn_swmmac_f32_16x16x64_f16,
676 __builtin_amdgcn_swmmac_i32_16x16x128_iu8,
419 __builtin_amdgcn_swmmac_i32_16x16x32_iu4_w32,677 __builtin_amdgcn_swmmac_i32_16x16x32_iu4_w32,
420 __builtin_amdgcn_swmmac_i32_16x16x32_iu4_w64,678 __builtin_amdgcn_swmmac_i32_16x16x32_iu4_w64,
421 __builtin_amdgcn_swmmac_i32_16x16x32_iu8_w32,679 __builtin_amdgcn_swmmac_i32_16x16x32_iu8_w32,
...@@ -423,6 +681,8 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -423,6 +681,8 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
423 __builtin_amdgcn_swmmac_i32_16x16x64_iu4_w32,681 __builtin_amdgcn_swmmac_i32_16x16x64_iu4_w32,
424 __builtin_amdgcn_swmmac_i32_16x16x64_iu4_w64,682 __builtin_amdgcn_swmmac_i32_16x16x64_iu4_w64,
425 __builtin_amdgcn_tanh_bf16,683 __builtin_amdgcn_tanh_bf16,
684 __builtin_amdgcn_tanhf,
685 __builtin_amdgcn_tanhh,
426 __builtin_amdgcn_tensor_load_to_lds,686 __builtin_amdgcn_tensor_load_to_lds,
427 __builtin_amdgcn_tensor_load_to_lds_d2,687 __builtin_amdgcn_tensor_load_to_lds_d2,
428 __builtin_amdgcn_tensor_store_from_lds,688 __builtin_amdgcn_tensor_store_from_lds,
...@@ -437,6 +697,28 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -437,6 +697,28 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
437 __builtin_amdgcn_uicmpl,697 __builtin_amdgcn_uicmpl,
438 __builtin_amdgcn_update_dpp,698 __builtin_amdgcn_update_dpp,
439 __builtin_amdgcn_wave_barrier,699 __builtin_amdgcn_wave_barrier,
700 __builtin_amdgcn_wave_reduce_add_u32,
701 __builtin_amdgcn_wave_reduce_add_u64,
702 __builtin_amdgcn_wave_reduce_and_b32,
703 __builtin_amdgcn_wave_reduce_and_b64,
704 __builtin_amdgcn_wave_reduce_fadd_f32,
705 __builtin_amdgcn_wave_reduce_fmax_f32,
706 __builtin_amdgcn_wave_reduce_fmin_f32,
707 __builtin_amdgcn_wave_reduce_fsub_f32,
708 __builtin_amdgcn_wave_reduce_max_i32,
709 __builtin_amdgcn_wave_reduce_max_i64,
710 __builtin_amdgcn_wave_reduce_max_u32,
711 __builtin_amdgcn_wave_reduce_max_u64,
712 __builtin_amdgcn_wave_reduce_min_i32,
713 __builtin_amdgcn_wave_reduce_min_i64,
714 __builtin_amdgcn_wave_reduce_min_u32,
715 __builtin_amdgcn_wave_reduce_min_u64,
716 __builtin_amdgcn_wave_reduce_or_b32,
717 __builtin_amdgcn_wave_reduce_or_b64,
718 __builtin_amdgcn_wave_reduce_sub_u32,
719 __builtin_amdgcn_wave_reduce_sub_u64,
720 __builtin_amdgcn_wave_reduce_xor_b32,
721 __builtin_amdgcn_wave_reduce_xor_b64,
440 __builtin_amdgcn_wavefrontsize,722 __builtin_amdgcn_wavefrontsize,
441 __builtin_amdgcn_wmma_bf16_16x16x16_bf16_tied_w32,723 __builtin_amdgcn_wmma_bf16_16x16x16_bf16_tied_w32,
442 __builtin_amdgcn_wmma_bf16_16x16x16_bf16_tied_w64,724 __builtin_amdgcn_wmma_bf16_16x16x16_bf16_tied_w64,
...@@ -444,12 +726,28 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -444,12 +726,28 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
444 __builtin_amdgcn_wmma_bf16_16x16x16_bf16_w32_gfx12,726 __builtin_amdgcn_wmma_bf16_16x16x16_bf16_w32_gfx12,
445 __builtin_amdgcn_wmma_bf16_16x16x16_bf16_w64,727 __builtin_amdgcn_wmma_bf16_16x16x16_bf16_w64,
446 __builtin_amdgcn_wmma_bf16_16x16x16_bf16_w64_gfx12,728 __builtin_amdgcn_wmma_bf16_16x16x16_bf16_w64_gfx12,
729 __builtin_amdgcn_wmma_bf16_16x16x32_bf16,
730 __builtin_amdgcn_wmma_bf16f32_16x16x32_bf16,
731 __builtin_amdgcn_wmma_f16_16x16x128_bf8_bf8,
732 __builtin_amdgcn_wmma_f16_16x16x128_bf8_fp8,
733 __builtin_amdgcn_wmma_f16_16x16x128_fp8_bf8,
734 __builtin_amdgcn_wmma_f16_16x16x128_fp8_fp8,
447 __builtin_amdgcn_wmma_f16_16x16x16_f16_tied_w32,735 __builtin_amdgcn_wmma_f16_16x16x16_f16_tied_w32,
448 __builtin_amdgcn_wmma_f16_16x16x16_f16_tied_w64,736 __builtin_amdgcn_wmma_f16_16x16x16_f16_tied_w64,
449 __builtin_amdgcn_wmma_f16_16x16x16_f16_w32,737 __builtin_amdgcn_wmma_f16_16x16x16_f16_w32,
450 __builtin_amdgcn_wmma_f16_16x16x16_f16_w32_gfx12,738 __builtin_amdgcn_wmma_f16_16x16x16_f16_w32_gfx12,
451 __builtin_amdgcn_wmma_f16_16x16x16_f16_w64,739 __builtin_amdgcn_wmma_f16_16x16x16_f16_w64,
452 __builtin_amdgcn_wmma_f16_16x16x16_f16_w64_gfx12,740 __builtin_amdgcn_wmma_f16_16x16x16_f16_w64_gfx12,
741 __builtin_amdgcn_wmma_f16_16x16x32_f16,
742 __builtin_amdgcn_wmma_f16_16x16x64_bf8_bf8,
743 __builtin_amdgcn_wmma_f16_16x16x64_bf8_fp8,
744 __builtin_amdgcn_wmma_f16_16x16x64_fp8_bf8,
745 __builtin_amdgcn_wmma_f16_16x16x64_fp8_fp8,
746 __builtin_amdgcn_wmma_f32_16x16x128_bf8_bf8,
747 __builtin_amdgcn_wmma_f32_16x16x128_bf8_fp8,
748 __builtin_amdgcn_wmma_f32_16x16x128_f8f6f4,
749 __builtin_amdgcn_wmma_f32_16x16x128_fp8_bf8,
750 __builtin_amdgcn_wmma_f32_16x16x128_fp8_fp8,
453 __builtin_amdgcn_wmma_f32_16x16x16_bf16_w32,751 __builtin_amdgcn_wmma_f32_16x16x16_bf16_w32,
454 __builtin_amdgcn_wmma_f32_16x16x16_bf16_w32_gfx12,752 __builtin_amdgcn_wmma_f32_16x16x16_bf16_w32_gfx12,
455 __builtin_amdgcn_wmma_f32_16x16x16_bf16_w64,753 __builtin_amdgcn_wmma_f32_16x16x16_bf16_w64,
...@@ -466,6 +764,14 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -466,6 +764,14 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
466 __builtin_amdgcn_wmma_f32_16x16x16_fp8_bf8_w64_gfx12,764 __builtin_amdgcn_wmma_f32_16x16x16_fp8_bf8_w64_gfx12,
467 __builtin_amdgcn_wmma_f32_16x16x16_fp8_fp8_w32_gfx12,765 __builtin_amdgcn_wmma_f32_16x16x16_fp8_fp8_w32_gfx12,
468 __builtin_amdgcn_wmma_f32_16x16x16_fp8_fp8_w64_gfx12,766 __builtin_amdgcn_wmma_f32_16x16x16_fp8_fp8_w64_gfx12,
767 __builtin_amdgcn_wmma_f32_16x16x32_bf16,
768 __builtin_amdgcn_wmma_f32_16x16x32_f16,
769 __builtin_amdgcn_wmma_f32_16x16x4_f32,
770 __builtin_amdgcn_wmma_f32_16x16x64_bf8_bf8,
771 __builtin_amdgcn_wmma_f32_16x16x64_bf8_fp8,
772 __builtin_amdgcn_wmma_f32_16x16x64_fp8_bf8,
773 __builtin_amdgcn_wmma_f32_16x16x64_fp8_fp8,
774 __builtin_amdgcn_wmma_f32_32x16x128_f4,
469 __builtin_amdgcn_wmma_i32_16x16x16_iu4_w32,775 __builtin_amdgcn_wmma_i32_16x16x16_iu4_w32,
470 __builtin_amdgcn_wmma_i32_16x16x16_iu4_w32_gfx12,776 __builtin_amdgcn_wmma_i32_16x16x16_iu4_w32_gfx12,
471 __builtin_amdgcn_wmma_i32_16x16x16_iu4_w64,777 __builtin_amdgcn_wmma_i32_16x16x16_iu4_w64,
...@@ -476,6 +782,11 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,...@@ -476,6 +782,11 @@ pub const Tag = enum(u16) { __builtin_amdgcn_alignbit,
476 __builtin_amdgcn_wmma_i32_16x16x16_iu8_w64_gfx12,782 __builtin_amdgcn_wmma_i32_16x16x16_iu8_w64_gfx12,
477 __builtin_amdgcn_wmma_i32_16x16x32_iu4_w32_gfx12,783 __builtin_amdgcn_wmma_i32_16x16x32_iu4_w32_gfx12,
478 __builtin_amdgcn_wmma_i32_16x16x32_iu4_w64_gfx12,784 __builtin_amdgcn_wmma_i32_16x16x32_iu4_w64_gfx12,
785 __builtin_amdgcn_wmma_i32_16x16x64_iu8,
786 __builtin_amdgcn_wmma_scale16_f32_16x16x128_f8f6f4,
787 __builtin_amdgcn_wmma_scale16_f32_32x16x128_f4,
788 __builtin_amdgcn_wmma_scale_f32_16x16x128_f8f6f4,
789 __builtin_amdgcn_wmma_scale_f32_32x16x128_f4,
479 __builtin_amdgcn_workgroup_id_x,790 __builtin_amdgcn_workgroup_id_x,
480 __builtin_amdgcn_workgroup_id_y,791 __builtin_amdgcn_workgroup_id_y,
481 __builtin_amdgcn_workgroup_id_z,792 __builtin_amdgcn_workgroup_id_z,
...@@ -550,7 +861,7 @@ pub const longest_name = 52;...@@ -550,7 +861,7 @@ pub const longest_name = 52;
550/// If found, returns the index of the node within the `dafsa` array.861/// If found, returns the index of the node within the `dafsa` array.
551/// Otherwise, returns `null`.862/// Otherwise, returns `null`.
552pub fn findInList(first_child_index: u16, char: u8) ?u16 {863pub fn findInList(first_child_index: u16, char: u8) ?u16 {
553 @setEvalBranchQuota(972);864 @setEvalBranchQuota(1594);
554 var index = first_child_index;865 var index = first_child_index;
555 while (true) {866 while (true) {
556 if (dafsa[index].char == char) return index;867 if (dafsa[index].char == char) return index;
...@@ -645,1720 +956,2287 @@ const Node = packed struct {...@@ -645,1720 +956,2287 @@ const Node = packed struct {
645956
646const dafsa = [_]Node{957const dafsa = [_]Node{
647 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },958 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },
648 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 486, .child_index = 2 },959 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 797, .child_index = 2 },
649 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 486, .child_index = 3 },960 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 797, .child_index = 3 },
650 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 486, .child_index = 4 },961 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 797, .child_index = 4 },
651 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 486, .child_index = 5 },962 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 797, .child_index = 5 },
652 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 486, .child_index = 6 },963 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 797, .child_index = 6 },
653 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 486, .child_index = 7 },964 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 797, .child_index = 7 },
654 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 486, .child_index = 8 },965 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 797, .child_index = 8 },
655 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 486, .child_index = 9 },966 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 797, .child_index = 9 },
656 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 486, .child_index = 10 },967 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 797, .child_index = 10 },
657 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 486, .child_index = 11 },968 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 797, .child_index = 11 },
658 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 477, .child_index = 13 },969 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 788, .child_index = 13 },
659 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 14 },970 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 14 },
660 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 477, .child_index = 15 },971 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 788, .child_index = 15 },
661 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 16 },972 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 16 },
662 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 477, .child_index = 17 },973 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 788, .child_index = 17 },
663 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 18 },974 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 18 },
664 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 477, .child_index = 19 },975 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 788, .child_index = 19 },
665 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 20 },976 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 20 },
666 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 477, .child_index = 21 },977 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 788, .child_index = 21 },
667 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 22 },978 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 22 },
668 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 477, .child_index = 24 },979 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 788, .child_index = 24 },
669 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 25 },980 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 25 },
670 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 26 },981 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 26 },
671 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 477, .child_index = 27 },982 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 788, .child_index = 27 },
672 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 45 },983 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 45 },
673 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 46 },984 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 46 },
674 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 48 },985 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 48 },
675 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 51 },986 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 52 },
676 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 80, .child_index = 54 },987 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 158, .child_index = 55 },
677 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 49, .child_index = 58 },988 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 49, .child_index = 59 },
678 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 61 },989 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 62 },
679 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 63 },990 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 64 },
680 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 69 },991 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 38, .child_index = 70 },
681 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 72 },992 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 128, .child_index = 73 },
682 .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 76 },993 .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 77 },
683 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 77 },994 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 78 },
684 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 55, .child_index = 80 },995 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 55, .child_index = 81 },
685 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 86 },996 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 87 },
686 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 88 },997 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 90 },
687 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 90 },998 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 35, .child_index = 92 },
688 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 103, .child_index = 94 },999 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 127, .child_index = 96 },
689 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 105 },1000 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 108 },
690 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 108 },1001 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 111 },
691 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 49, .child_index = 112 },1002 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 100, .child_index = 115 },
692 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 115 },1003 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 118 },
693 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 116 },1004 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 119 },
694 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 117 },1005 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 120 },
695 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 118 },1006 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 121 },
696 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 119 },1007 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 122 },
697 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 120 },1008 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 123 },
698 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 121 },1009 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 124 },
699 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 122 },1010 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 125 },
700 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 123 },1011 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 126 },
701 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 124 },1012 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 127 },
702 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 125 },1013 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 128 },
703 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 126 },1014 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 130 },
704 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 71, .child_index = 127 },1015 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 132 },
705 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 128 },1016 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 124, .child_index = 133 },
706 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 130 },1017 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 134 },
707 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 131 },1018 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 136 },
708 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 132 },1019 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 137 },
709 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 133 },1020 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 138 },
710 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 134 },1021 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 139 },
711 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 135 },1022 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 140 },
712 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 136 },1023 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 141 },
713 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 137 },1024 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 142 },
714 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 138 },1025 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 143 },
715 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 139 },1026 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 144 },
716 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 141 },1027 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 145 },
717 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 142 },1028 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 147 },
718 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 143 },1029 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 33, .child_index = 148 },
719 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 145 },1030 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 149 },
720 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 146 },1031 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 151 },
721 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 148 },1032 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 118, .child_index = 152 },
722 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 149 },1033 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 154 },
723 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 150 },1034 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 156 },
724 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 151 },1035 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 157 },
725 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 152 },1036 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 158 },
726 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 153 },1037 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 159 },
727 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 155 },1038 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 160 },
728 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 156 },1039 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 162 },
729 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 47, .child_index = 157 },1040 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 163 },
730 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 158 },1041 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 47, .child_index = 164 },
731 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 159 },1042 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 165 },
732 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 160 },1043 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 166 },
733 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 161 },1044 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 167 },
734 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 162 },1045 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 168 },
735 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 163 },1046 .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 169 },
736 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 164 },1047 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 170 },
737 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 165 },1048 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 171 },
738 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 166 },1049 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 172 },
739 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 167 },1050 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 173 },
740 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 168 },1051 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 174 },
741 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 34, .child_index = 169 },1052 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 175 },
742 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 178 },1053 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 176 },
743 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 179 },1054 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 39, .child_index = 177 },
744 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 180 },1055 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 187 },
745 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 181 },1056 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 189 },
746 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 141 },1057 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 190 },
747 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 182 },1058 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 191 },
748 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 184 },1059 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 147 },
749 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 185 },1060 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 192 },
750 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 186 },1061 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 194 },
751 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 187 },1062 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 195 },
752 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 188 },1063 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 196 },
753 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 189 },1064 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 197 },
754 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 190 },1065 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 198 },
755 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 179 },1066 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 199 },
756 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 181 },1067 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 200 },
757 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 191 },1068 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 201 },
758 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 192 },1069 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 189 },
759 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 193 },1070 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 191 },
760 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 38, .child_index = 194 },1071 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 202 },
761 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 195 },1072 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 203 },
762 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 196 },1073 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 204 },
763 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 197 },1074 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 67, .child_index = 205 },
764 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 198 },1075 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 206 },
765 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 199 },1076 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 207 },
766 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 200 },1077 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 208 },
767 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 201 },1078 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 209 },
768 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 202 },1079 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 210 },
769 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 203 },1080 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 211 },
770 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 204 },1081 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 212 },
771 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 205 },1082 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 213 },
772 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 206 },1083 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 214 },
773 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 208 },1084 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 215 },
774 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 71, .child_index = 209 },1085 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 216 },
775 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 210 },1086 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 217 },
776 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 211 },1087 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 218 },
777 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 212 },1088 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 219 },
778 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 213 },1089 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 220 },
779 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 222 },1090 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 223 },
780 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 223 },1091 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 124, .child_index = 224 },
781 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 224 },1092 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 225 },
782 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 225 },1093 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 226 },
783 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 226 },1094 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 227 },
784 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 227 },1095 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 228 },
785 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 228 },1096 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 237 },
786 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 229 },1097 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 238 },
787 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 230 },1098 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 239 },
788 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 231 },1099 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 240 },
789 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 21, .child_index = 232 },1100 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 241 },
790 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 233 },1101 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 242 },
791 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 234 },1102 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 243 },
792 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 235 },1103 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 244 },
793 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 236 },1104 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 245 },
794 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 115 },1105 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 246 },
795 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 237 },1106 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 247 },
796 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 238 },1107 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 248 },
797 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 240 },1108 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 249 },
798 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 241 },1109 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 250 },
799 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 242 },1110 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 117, .child_index = 251 },
800 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 243 },1111 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 118 },
801 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 244 },1112 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 252 },
802 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 246 },1113 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 253 },
803 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 247 },1114 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 254 },
804 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 248 },1115 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 256 },
805 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 249 },1116 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 257 },
806 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 250 },1117 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 258 },
807 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 251 },1118 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 259 },
808 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 252 },1119 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 260 },
809 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 253 },1120 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 262 },
810 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 254 },1121 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 263 },
811 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 255 },1122 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 264 },
812 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 256 },1123 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 265 },
813 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 257 },1124 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 266 },
814 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 259 },1125 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 267 },
815 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 260 },1126 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 268 },
816 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 263 },1127 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 269 },
817 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 265 },1128 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 270 },
818 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 267 },1129 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 271 },
819 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 268 },1130 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 272 },
820 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 269 },1131 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 273 },
821 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 271 },1132 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 274 },
822 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 272 },1133 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 277 },
823 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 274 },1134 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 278 },
824 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 275 },1135 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 281 },
825 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 276 },1136 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 283 },
826 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 277 },1137 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 284 },
827 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 278 },1138 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 286 },
828 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 279 },1139 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 287 },
829 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 280 },1140 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 288 },
830 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 206 },1141 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 290 },
831 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 281 },1142 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 291 },
832 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 282 },1143 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 293 },
833 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 283 },1144 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 294 },
834 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 284 },1145 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 295 },
835 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 285 },1146 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 296 },
836 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 286 },1147 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 297 },
837 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 287 },1148 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 298 },
838 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 280 },1149 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
839 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 288 },1150 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 300 },
840 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 289 },1151 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 220 },
841 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 38, .child_index = 290 },1152 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 301 },
842 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 291 },1153 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 302 },
843 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 292 },1154 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 303 },
844 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 293 },1155 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 304 },
845 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 294 },1156 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 305 },
846 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 295 },1157 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 306 },
847 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 296 },1158 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 307 },
848 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 297 },1159 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 308 },
849 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 298 },1160 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 300 },
850 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 299 },1161 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 309 },
851 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 300 },1162 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 310 },
852 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 301 },1163 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 67, .child_index = 311 },
1164 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 312 },
1165 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 313 },
1166 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 314 },
1167 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 315 },
1168 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 316 },
1169 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 317 },
1170 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 318 },
1171 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 319 },
1172 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 320 },
1173 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 321 },
1174 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 322 },
1175 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 323 },
1176 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 324 },
1177 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 325 },
1178 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 326 },
853 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1179 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
854 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1180 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
855 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 302 },1181 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 327 },
856 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 71, .child_index = 306 },1182 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 124, .child_index = 331 },
857 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 310 },1183 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },
858 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 311 },1184 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 336 },
859 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 313 },1185 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 338 },
860 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 314 },1186 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 339 },
861 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 316 },1187 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 341 },
862 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 318 },1188 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 343 },
863 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 319 },1189 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 344 },
864 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 321 },1190 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 346 },
865 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 322 },1191 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 347 },
866 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 323 },1192 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 348 },
867 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 324 },1193 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 349 },
868 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 325 },1194 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },
869 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 326 },1195 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 351 },
870 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },1196 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 352 },
871 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 328 },1197 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 354 },
872 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 329 },1198 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 355 },
873 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 277 },1199 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 297 },
874 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 330 },1200 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 356 },
875 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 331 },1201 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 357 },
876 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 282 },1202 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 358 },
877 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 332 },1203 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 359 },
878 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 333 },1204 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 360 },
879 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 21, .child_index = 334 },1205 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 361 },
880 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 335 },1206 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 362 },
881 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 336 },1207 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 363 },
882 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 337 },1208 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 364 },
883 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 338 },1209 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 117, .child_index = 365 },
884 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 339 },1210 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 366 },
885 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 340 },1211 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 367 },
886 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 341 },1212 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 368 },
887 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 342 },1213 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 369 },
888 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 166 },1214 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
1215 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 371 },
889 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1216 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
890 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 343 },1217 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 372 },
891 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 344 },1218 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 373 },
892 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1219 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
893 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 345 },1220 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 375 },
894 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 346 },1221 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 376 },
895 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 347 },1222 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 377 },
896 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 348 },1223 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 378 },
897 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 349 },1224 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 379 },
898 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },1225 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 380 },
899 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 351 },1226 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 16, .child_index = 381 },
900 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 352 },1227 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 383 },
901 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 353 },1228 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 384 },
902 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 354 },1229 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 385 },
903 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 355 },1230 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 386 },
1231 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 387 },
1232 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 326 },
904 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1233 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
905 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1234 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
906 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 357 },1235 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 389 },
907 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 360 },1236 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 392 },
908 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1237 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
909 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1238 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
910 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 361 },1239 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 394 },
911 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 362 },1240 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 395 },
912 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 363 },1241 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 396 },
913 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 364 },1242 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 397 },
914 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 365 },1243 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 398 },
915 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 364 },1244 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 399 },
916 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },1245 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 398 },
917 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 367 },1246 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 400 },
918 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 368 },1247 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 401 },
919 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 369 },1248 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 402 },
920 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 371 },1249 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 403 },
921 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 372 },1250 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 405 },
922 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 373 },1251 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 406 },
923 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 374 },1252 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 407 },
1253 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 409 },
1254 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 411 },
924 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1255 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
925 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 376 },1256 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 412 },
926 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 377 },1257 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 413 },
927 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 380 },1258 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 416 },
928 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 381 },1259 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 417 },
929 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 257 },1260 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 274 },
930 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 382 },1261 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 418 },
931 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 383 },1262 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 419 },
932 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 384 },1263 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 420 },
933 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 385 },1264 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 220 },
934 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 386 },1265 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 421 },
935 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },1266 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 422 },
936 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 388 },1267 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 423 },
937 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 38, .child_index = 390 },1268 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 424 },
938 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 391 },1269 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 67, .child_index = 426 },
939 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 393 },1270 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 427 },
940 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 394 },1271 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 429 },
941 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 396 },1272 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 430 },
942 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 397 },1273 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 432 },
943 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 398 },1274 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 433 },
944 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 399 },1275 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 435 },
945 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 400 },1276 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 436 },
946 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 401 },1277 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 437 },
947 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 402 },1278 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 438 },
948 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 257 },1279 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 439 },
949 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 403 },1280 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 440 },
950 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 404 },1281 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 441 },
951 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 405 },1282 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 443 },
952 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 405 },1283 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 444 },
953 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 406 },1284 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 445 },
954 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 408 },1285 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 446 },
955 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 409 },1286 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 447 },
956 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 410 },1287 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 448 },
957 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },1288 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 448 },
958 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 413 },1289 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 449 },
959 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 415 },1290 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 451 },
960 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 416 },1291 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 452 },
961 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 417 },1292 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 103, .child_index = 453 },
962 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 418 },1293 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 455 },
963 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 419 },1294 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 456 },
964 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 420 },1295 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 458 },
965 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 421 },1296 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 459 },
966 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 422 },1297 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 460 },
967 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 423 },1298 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 461 },
968 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 425 },1299 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 462 },
969 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 426 },1300 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 463 },
970 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 427 },1301 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 464 },
971 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 428 },1302 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 465 },
972 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 429 },1303 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 466 },
973 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 430 },1304 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 468 },
1305 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 469 },
1306 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 470 },
1307 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 471 },
1308 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 472 },
1309 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 473 },
1310 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 326 },
974 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1311 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
975 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1312 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
976 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 431 },1313 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 474 },
977 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 433 },1314 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 476 },
978 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 206 },1315 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 479 },
979 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 434 },1316 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 441 },
980 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 435 },1317 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 481 },
981 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 21, .child_index = 436 },1318 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 482 },
982 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 437 },1319 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 483 },
983 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 438 },1320 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 484 },
984 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 439 },1321 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 485 },
985 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 440 },1322 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },
986 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 441 },1323 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 117, .child_index = 487 },
987 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 442 },1324 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 488 },
988 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 443 },1325 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 489 },
989 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 444 },1326 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 490 },
990 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 445 },1327 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 491 },
991 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 446 },1328 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 492 },
992 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 447 },1329 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 441 },
993 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 448 },1330 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 493 },
994 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 449 },1331 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 445 },
995 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 452 },1332 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 494 },
996 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 453 },1333 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 495 },
997 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 454 },1334 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 496 },
998 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 455 },1335 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 497 },
999 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 456 },1336 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 500 },
1000 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },1337 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 501 },
1001 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },1338 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 502 },
1002 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 459 },1339 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 503 },
1003 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 460 },1340 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 504 },
1004 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 461 },1341 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 505 },
1005 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 462 },1342 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 506 },
1006 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },1343 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },
1007 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 464 },1344 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 508 },
1008 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 465 },1345 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 509 },
1009 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 466 },1346 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 510 },
1010 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 467 },1347 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 511 },
1011 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 468 },1348 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 512 },
1012 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 469 },1349 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 513 },
1013 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 472 },1350 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 445 },
1014 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 474 },1351 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 514 },
1015 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 475 },1352 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 515 },
1016 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 476 },1353 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 516 },
1017 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 477 },1354 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 517 },
1018 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 479 },1355 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 518 },
1019 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 480 },1356 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 519 },
1020 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 481 },1357 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 520 },
1021 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 482 },1358 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 523 },
1022 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 483 },1359 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 525 },
1023 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 485 },1360 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 526 },
1361 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 527 },
1362 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 528 },
1363 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 530 },
1364 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 531 },
1365 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 532 },
1366 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 533 },
1367 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 534 },
1368 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 535 },
1369 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 537 },
1370 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 538 },
1024 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1371 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1025 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1372 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1026 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1373 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1027 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 486 },1374 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 539 },
1028 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 487 },1375 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 540 },
1029 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 488 },1376 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 541 },
1030 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 490 },1377 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 542 },
1031 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 491 },1378 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 544 },
1032 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 492 },1379 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 545 },
1033 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 493 },1380 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 546 },
1034 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 494 },1381 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 547 },
1035 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 495 },1382 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 23, .child_index = 548 },
1036 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },1383 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 550 },
1037 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 38, .child_index = 497 },1384 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 67, .child_index = 551 },
1038 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 500 },1385 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 555 },
1039 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 501 },1386 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 556 },
1040 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 502 },1387 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 557 },
1041 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 503 },1388 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 558 },
1042 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 504 },1389 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 559 },
1043 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 505 },1390 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 560 },
1044 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 506 },1391 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 561 },
1045 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 508 },1392 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 562 },
1046 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 509 },1393 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 563 },
1047 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 510 },1394 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 565 },
1048 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 511 },1395 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 566 },
1049 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 512 },1396 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 567 },
1397 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 568 },
1398 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 569 },
1399 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1400 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1401 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 570 },
1402 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 571 },
1403 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
1050 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1404 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1051 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1405 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1052 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1406 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1053 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 513 },1407 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 573 },
1054 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 514 },1408 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 574 },
1055 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 515 },1409 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 575 },
1056 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 516 },1410 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 576 },
1057 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 49, .child_index = 519 },1411 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 94, .child_index = 579 },
1058 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 520 },1412 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 580 },
1059 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 521 },1413 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 581 },
1060 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 522 },1414 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 582 },
1061 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 523 },1415 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 583 },
1062 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 524 },1416 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 584 },
1063 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 525 },1417 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 585 },
1064 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 526 },1418 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 586 },
1065 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 527 },1419 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 587 },
1066 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 528 },1420 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 588 },
1067 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 529 },1421 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 589 },
1068 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 530 },1422 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 590 },
1069 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 531 },1423 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 591 },
1070 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 532 },1424 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 592 },
1071 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 533 },1425 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 593 },
1072 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 534 },1426 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 594 },
1073 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 535 },1427 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 595 },
1074 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 536 },1428 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 596 },
1075 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 537 },1429 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 597 },
1076 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 538 },1430 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 598 },
1077 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1431 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1078 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 539 },1432 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 599 },
1079 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 541 },1433 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 601 },
1080 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 542 },1434 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 602 },
1081 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 543 },1435 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 603 },
1082 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 545 },1436 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 604 },
1083 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 21, .child_index = 546 },1437 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1084 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 547 },1438 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1085 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 548 },1439 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 605 },
1086 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 549 },1440 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 607 },
1087 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 550 },1441 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 608 },
1088 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 551 },1442 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 609 },
1089 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 552 },1443 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 610 },
1090 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 553 },1444 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 611 },
1091 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 554 },1445 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 117, .child_index = 612 },
1092 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 555 },1446 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 616 },
1093 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 556 },1447 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 617 },
1094 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 557 },1448 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 618 },
1095 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 558 },1449 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 619 },
1096 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 560 },1450 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 620 },
1097 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 562 },1451 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 621 },
1098 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 563 },1452 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 622 },
1099 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 564 },1453 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 623 },
1100 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 565 },1454 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 624 },
1101 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 567 },1455 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 626 },
1102 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 568 },1456 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 628 },
1103 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },1457 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 629 },
1104 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 570 },1458 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 630 },
1105 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 571 },1459 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 631 },
1106 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 572 },1460 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
1107 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 573 },1461 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 634 },
1108 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 574 },1462 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 635 },
1109 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 575 },1463 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 636 },
1110 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 576 },1464 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 637 },
1111 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 577 },1465 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 638 },
1112 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 578 },1466 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 639 },
1113 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 579 },1467 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 640 },
1114 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 580 },1468 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 641 },
1115 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 581 },1469 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 642 },
1116 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 582 },1470 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 643 },
1117 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 405 },1471 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 644 },
1118 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 584 },1472 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 645 },
1119 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },1473 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 646 },
1120 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 586 },1474 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 647 },
1121 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 587 },1475 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 648 },
1122 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 588 },1476 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 649 },
1123 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 589 },1477 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 650 },
1124 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 590 },1478 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 651 },
1125 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 584 },1479 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 448 },
1126 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 591 },1480 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 653 },
1127 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 592 },1481 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 654 },
1128 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 593 },1482 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
1129 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },1483 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 656 },
1130 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 595 },1484 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 657 },
1485 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 658 },
1486 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 659 },
1487 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 653 },
1488 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 660 },
1489 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 661 },
1490 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 662 },
1491 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 664 },
1492 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 380 },
1493 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 665 },
1131 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1494 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1132 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 596 },1495 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 666 },
1496 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 667 },
1133 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1497 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1134 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 598 },1498 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 669 },
1499 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 670 },
1135 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1500 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1136 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1501 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1137 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 599 },1502 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 671 },
1138 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 600 },1503 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 672 },
1139 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 601 },1504 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 673 },
1140 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 602 },1505 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 674 },
1141 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 603 },1506 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 675 },
1142 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 604 },1507 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 676 },
1143 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 605 },1508 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 677 },
1144 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 606 },1509 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 678 },
1145 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 607 },1510 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 44, .child_index = 679 },
1146 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 609 },1511 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 681 },
1147 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 610 },1512 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 682 },
1148 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 611 },1513 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 683 },
1149 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 612 },1514 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 684 },
1150 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 613 },1515 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 685 },
1151 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 614 },1516 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 686 },
1152 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 615 },1517 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 687 },
1153 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 616 },1518 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 688 },
1154 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 617 },1519 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 689 },
1155 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 618 },1520 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 689 },
1156 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 619 },1521 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 690 },
1157 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 621 },1522 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },
1158 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 622 },1523 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 692 },
1159 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 623 },1524 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 693 },
1160 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 624 },1525 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 695 },
1161 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 625 },1526 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 696 },
1162 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 626 },1527 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 697 },
1163 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 627 },1528 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 698 },
1164 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 631 },1529 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 699 },
1165 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 632 },1530 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 665 },
1166 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 49, .child_index = 633 },1531 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 700 },
1167 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 634 },1532 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 701 },
1168 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 636 },1533 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 702 },
1169 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 637 },1534 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 703 },
1170 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 638 },1535 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 707 },
1171 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 639 },1536 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 708 },
1172 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 640 },1537 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 94, .child_index = 709 },
1173 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 641 },1538 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 710 },
1174 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 642 },1539 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 713 },
1175 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 643 },1540 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 714 },
1176 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 644 },1541 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 715 },
1177 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 645 },1542 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 716 },
1178 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },1543 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 717 },
1179 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },1544 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 718 },
1180 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },1545 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 719 },
1181 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 646 },1546 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 720 },
1182 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 649 },1547 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 721 },
1183 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 650 },1548 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 722 },
1184 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 651 },1549 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 723 },
1185 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 652 },1550 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 723 },
1186 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 653 },1551 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 723 },
1187 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 654 },1552 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 724 },
1188 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 656 },1553 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 727 },
1189 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 657 },1554 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 728 },
1190 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 241 },1555 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 729 },
1191 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 658 },1556 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 730 },
1192 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 659 },1557 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 731 },
1193 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 21, .child_index = 660 },1558 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 732 },
1194 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 662 },1559 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 734 },
1195 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 663 },1560 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 735 },
1196 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 616 },1561 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 736 },
1197 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 664 },1562 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 737 },
1198 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 665 },1563 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 257 },
1199 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 667 },1564 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 738 },
1200 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 668 },1565 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 739 },
1201 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 669 },1566 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 740 },
1202 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 670 },1567 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 744 },
1203 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 671 },1568 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 745 },
1204 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 672 },1569 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 690 },
1205 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 673 },1570 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 746 },
1206 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 674 },1571 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 747 },
1207 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 34, .child_index = 675 },1572 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 748 },
1208 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 676 },1573 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 82, .child_index = 749 },
1209 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 677 },1574 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 751 },
1210 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 678 },1575 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 753 },
1211 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 679 },1576 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 754 },
1212 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 570 },1577 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 755 },
1213 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 680 },1578 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 756 },
1579 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 757 },
1580 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 758 },
1581 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 759 },
1582 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 760 },
1583 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 761 },
1584 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 34, .child_index = 762 },
1585 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 763 },
1586 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 764 },
1587 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 765 },
1588 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 766 },
1589 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 638 },
1590 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 767 },
1214 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1591 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1215 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 681 },1592 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 768 },
1216 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 682 },1593 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 769 },
1217 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 683 },1594 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 770 },
1218 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 684 },1595 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 771 },
1219 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 685 },1596 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 772 },
1220 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 686 },1597 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 773 },
1221 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 687 },1598 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 774 },
1222 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 688 },1599 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 775 },
1223 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 277 },1600 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 776 },
1224 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 134 },1601 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 777 },
1225 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 689 },1602 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 297 },
1226 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 690 },1603 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 140 },
1227 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 691 },1604 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 778 },
1228 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 692 },1605 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 779 },
1229 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 693 },1606 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 780 },
1230 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 694 },1607 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 781 },
1231 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 695 },1608 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 782 },
1232 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 696 },1609 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 783 },
1233 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 697 },1610 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 784 },
1234 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 698 },1611 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 785 },
1235 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 699 },1612 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 786 },
1236 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 700 },1613 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 787 },
1237 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 701 },1614 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 788 },
1238 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 702 },1615 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 789 },
1239 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 703 },1616 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 790 },
1240 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 704 },1617 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 791 },
1241 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 707 },1618 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 792 },
1619 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 793 },
1620 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 794 },
1621 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 797 },
1622 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 798 },
1242 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1623 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1243 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 604 },1624 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 799 },
1244 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 708 },1625 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 675 },
1245 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 709 },1626 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 800 },
1246 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 711 },1627 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 801 },
1247 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 714 },1628 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 803 },
1248 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 715 },1629 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 804 },
1249 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 717 },1630 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 807 },
1250 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 718 },1631 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 809 },
1251 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 719 },1632 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 810 },
1252 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 720 },1633 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 811 },
1253 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 721 },1634 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 812 },
1254 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 722 },1635 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 813 },
1255 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 723 },1636 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 814 },
1256 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 724 },1637 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 815 },
1257 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 725 },1638 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 816 },
1258 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 726 },1639 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 817 },
1259 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 727 },1640 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 818 },
1260 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 728 },1641 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 819 },
1261 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 729 },1642 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 820 },
1262 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 730 },1643 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 821 },
1644 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 822 },
1645 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 823 },
1646 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 824 },
1647 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 825 },
1263 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1648 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1264 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 277 },1649 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 297 },
1265 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 731 },1650 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 827 },
1266 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 733 },1651 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 829 },
1267 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 734 },1652 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 830 },
1268 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 735 },1653 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 831 },
1269 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 737 },1654 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 833 },
1270 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 739 },1655 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 835 },
1271 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 740 },1656 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 836 },
1272 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 742 },1657 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 839 },
1273 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 744 },1658 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 840 },
1274 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 745 },1659 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 842 },
1275 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 746 },1660 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 844 },
1276 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 714 },1661 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 845 },
1277 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 749 },1662 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 846 },
1278 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 751 },1663 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 572 },
1279 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 752 },1664 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 849 },
1280 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 49, .child_index = 753 },1665 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 851 },
1281 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 754 },1666 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 852 },
1282 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 755 },1667 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 94, .child_index = 853 },
1283 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },1668 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 854 },
1284 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 166 },1669 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 855 },
1285 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 328 },1670 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 857 },
1286 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 757 },1671 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 508 },
1287 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 758 },1672 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 371 },
1288 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 403 },1673 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 354 },
1289 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 759 },1674 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 858 },
1290 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 760 },1675 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 859 },
1291 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 761 },1676 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 446 },
1292 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 697 },1677 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 860 },
1293 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 604 },1678 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 861 },
1294 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 762 },1679 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 862 },
1295 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 763 },1680 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 787 },
1296 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 764 },1681 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1297 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 617 },1682 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 675 },
1298 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 765 },1683 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 863 },
1299 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 766 },1684 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 864 },
1300 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 767 },1685 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 865 },
1301 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 768 },1686 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },
1302 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 769 },1687 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 866 },
1303 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 770 },1688 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 867 },
1304 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 771 },1689 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 868 },
1305 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 772 },1690 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 869 },
1306 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 773 },1691 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 870 },
1307 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 542 },1692 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 871 },
1308 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 774 },1693 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 872 },
1309 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 775 },1694 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 873 },
1310 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 776 },1695 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 874 },
1311 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 777 },1696 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 875 },
1312 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 778 },1697 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 876 },
1313 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 779 },1698 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 602 },
1314 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 617 },1699 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 877 },
1315 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 403 },1700 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 604 },
1316 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 781 },1701 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 878 },
1317 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 782 },1702 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 879 },
1318 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 783 },1703 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 880 },
1319 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 784 },1704 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 881 },
1705 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 882 },
1706 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 883 },
1707 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 54, .child_index = 884 },
1708 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 885 },
1709 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 886 },
1710 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 887 },
1711 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 889 },
1712 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },
1713 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 446 },
1714 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 890 },
1715 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 891 },
1716 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 892 },
1717 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 893 },
1320 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1718 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1321 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1719 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1322 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 34, .child_index = 785 },1720 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 34, .child_index = 894 },
1323 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 786 },1721 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 895 },
1324 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 787 },1722 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 896 },
1325 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 788 },1723 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 897 },
1326 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1724 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1327 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 789 },1725 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 898 },
1328 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 790 },1726 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 899 },
1727 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 900 },
1728 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 905 },
1329 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1729 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1330 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 794 },1730 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 907 },
1331 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 795 },1731 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 908 },
1332 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 796 },1732 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 909 },
1333 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 797 },1733 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 910 },
1334 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 798 },1734 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 911 },
1335 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 799 },1735 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 912 },
1336 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 800 },1736 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 913 },
1337 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 801 },1737 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 914 },
1338 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 802 },1738 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 915 },
1339 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 803 },1739 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 916 },
1340 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 804 },1740 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 917 },
1341 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },1741 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 918 },
1742 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 919 },
1342 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1743 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1343 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 806 },1744 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 920 },
1344 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 277 },1745 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 297 },
1345 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 807 },1746 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 921 },
1346 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 808 },1747 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 922 },
1347 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 809 },1748 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 923 },
1348 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 810 },1749 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 924 },
1349 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 811 },1750 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 925 },
1350 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 812 },1751 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 926 },
1351 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 813 },1752 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 927 },
1352 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 814 },1753 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 928 },
1353 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 815 },1754 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 929 },
1354 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 616 },1755 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 690 },
1355 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 816 },1756 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 930 },
1356 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 817 },1757 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 931 },
1357 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 818 },1758 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 933 },
1358 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 819 },1759 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 934 },
1359 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 820 },1760 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 935 },
1360 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 822 },1761 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 936 },
1361 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 595 },1762 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 937 },
1362 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 823 },1763 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 938 },
1363 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 824 },1764 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 940 },
1364 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 825 },1765 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 941 },
1365 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 826 },1766 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 942 },
1366 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 827 },1767 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 943 },
1367 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 828 },1768 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 944 },
1368 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 829 },1769 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 945 },
1369 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 830 },1770 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 946 },
1370 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 831 },1771 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 947 },
1371 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 832 },1772 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 948 },
1372 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 833 },1773 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 949 },
1373 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 834 },1774 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 950 },
1374 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 835 },1775 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 951 },
1375 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 836 },1776 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 952 },
1376 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 728 },1777 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 953 },
1377 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 839 },1778 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 954 },
1378 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 840 },1779 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 955 },
1379 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 840 },1780 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 956 },
1380 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 841 },1781 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 822 },
1381 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 841 },1782 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 959 },
1382 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 682 },1783 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 637 },
1383 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 842 },1784 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 637 },
1384 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 595 },1785 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 960 },
1385 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 682 },1786 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 960 },
1386 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 843 },1787 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 961 },
1387 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 844 },1788 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 961 },
1388 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 845 },1789 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 771 },
1389 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 844 },1790 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 962 },
1390 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 846 },1791 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 665 },
1391 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 847 },1792 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 771 },
1392 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 848 },1793 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 963 },
1393 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 513 },1794 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 686 },
1394 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 849 },1795 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 964 },
1395 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 848 },1796 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 965 },
1396 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 595 },1797 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 966 },
1397 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 850 },1798 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 967 },
1398 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 851 },1799 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 968 },
1800 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 967 },
1801 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 969 },
1802 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 970 },
1803 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 971 },
1804 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 573 },
1805 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 972 },
1806 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 973 },
1807 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 665 },
1808 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 974 },
1809 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 975 },
1399 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1810 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1400 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 49, .child_index = 852 },1811 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 94, .child_index = 976 },
1401 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 853 },1812 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 978 },
1402 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 855 },1813 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 980 },
1403 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 848 },1814 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 973 },
1404 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 328 },1815 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 981 },
1405 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 856 },1816 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 354 },
1406 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 858 },1817 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 982 },
1407 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 859 },1818 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 984 },
1408 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 860 },1819 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 985 },
1409 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 861 },1820 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 986 },
1410 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 862 },1821 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 987 },
1411 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 863 },1822 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 988 },
1412 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 864 },1823 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 989 },
1413 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 277 },1824 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 990 },
1414 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 865 },1825 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 297 },
1415 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 866 },1826 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 991 },
1416 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 384 },1827 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 992 },
1417 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 769 },1828 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 993 },
1418 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 867 },1829 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 870 },
1419 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 282 },1830 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 994 },
1831 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 995 },
1832 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 996 },
1833 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 358 },
1420 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1834 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1421 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 868 },1835 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 997 },
1422 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 728 },1836 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 998 },
1423 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 869 },1837 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 822 },
1424 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 870 },1838 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 999 },
1425 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 773 },1839 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1000 },
1426 .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 872 },1840 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1002 },
1427 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 872 },1841 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1003 },
1428 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 873 },1842 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 54, .child_index = 1004 },
1429 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 874 },1843 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1005 },
1430 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },1844 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 876 },
1431 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 875 },1845 .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1006 },
1432 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 34, .child_index = 876 },1846 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1006 },
1433 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 879 },1847 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1007 },
1434 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 881 },1848 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1008 },
1435 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 884 },1849 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1009 },
1436 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },1850 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 723 },
1437 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 885 },1851 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1010 },
1438 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 886 },1852 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 34, .child_index = 1011 },
1439 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 842 },1853 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1014 },
1440 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 887 },1854 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1016 },
1441 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 888 },1855 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1019 },
1856 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 380 },
1857 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1020 },
1858 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1021 },
1859 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1022 },
1860 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 962 },
1861 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1023 },
1862 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1028 },
1863 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1029 },
1864 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1030 },
1865 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1031 },
1442 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1866 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1443 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 889 },1867 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1032 },
1444 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 890 },1868 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1033 },
1445 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 891 },1869 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1034 },
1446 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 892 },1870 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1035 },
1447 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 893 },1871 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1036 },
1448 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 894 },1872 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1037 },
1449 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 895 },1873 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 930 },
1450 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 897 },1874 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1038 },
1451 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 898 },1875 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1040 },
1452 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 899 },1876 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1041 },
1453 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 900 },1877 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1042 },
1454 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 901 },1878 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1043 },
1455 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 902 },1879 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1044 },
1456 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 903 },1880 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1045 },
1457 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 905 },1881 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1046 },
1458 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 906 },1882 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1048 },
1459 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 907 },1883 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1049 },
1460 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 908 },1884 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1050 },
1461 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 909 },1885 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1051 },
1462 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 910 },1886 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1052 },
1463 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 911 },1887 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1053 },
1464 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 912 },1888 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1054 },
1465 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 913 },1889 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1055 },
1466 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 914 },1890 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1056 },
1467 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 915 },1891 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 664 },
1468 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 916 },1892 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1057 },
1469 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 917 },1893 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1058 },
1470 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 918 },1894 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1059 },
1471 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 919 },1895 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1060 },
1472 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 224 },1896 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1061 },
1473 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 242 },1897 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1062 },
1474 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 920 },1898 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1063 },
1475 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 921 },1899 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1064 },
1476 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 922 },1900 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1065 },
1477 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 923 },1901 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 239 },
1478 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 924 },1902 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 258 },
1479 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 925 },1903 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1066 },
1480 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 926 },1904 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 1067 },
1481 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 503 },1905 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1068 },
1482 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },1906 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1069 },
1907 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1071 },
1908 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 1072 },
1909 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 1074 },
1910 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1075 },
1911 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1076 },
1912 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 558 },
1913 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 508 },
1483 .{ .char = 'x', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1914 .{ .char = 'x', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1484 .{ .char = 'y', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1915 .{ .char = 'y', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1485 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1916 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1486 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 927 },1917 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1077 },
1487 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 928 },1918 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1078 },
1488 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 735 },1919 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 831 },
1489 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1920 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1490 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 929 },1921 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1079 },
1491 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 567 },1922 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1080 },
1492 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 567 },1923 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1081 },
1493 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 930 },1924 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1082 },
1494 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 931 },1925 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
1495 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 850 },1926 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
1496 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 624 },1927 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1083 },
1497 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 932 },1928 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1084 },
1498 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 933 },1929 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1085 },
1499 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 49, .child_index = 934 },1930 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 700 },
1500 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 855 },1931 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1086 },
1501 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 850 },1932 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1087 },
1502 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 850 },1933 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1088 },
1503 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 935 },1934 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 1089 },
1504 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 936 },1935 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 79, .child_index = 1090 },
1505 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 937 },1936 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 980 },
1506 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 940 },1937 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1085 },
1507 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 941 },1938 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 974 },
1508 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 616 },1939 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1091 },
1509 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 942 },1940 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1093 },
1510 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 943 },1941 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1094 },
1511 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 947 },1942 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1095 },
1512 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 384 },1943 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1098 },
1513 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 600 },1944 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1099 },
1514 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 951 },1945 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 690 },
1515 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 952 },1946 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1100 },
1516 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 953 },1947 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1101 },
1517 .{ .char = '8', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 954 },1948 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1105 },
1518 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 955 },1949 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 993 },
1519 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 600 },1950 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 445 },
1520 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 957 },1951 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 326 },
1521 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 958 },1952 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1109 },
1522 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 959 },1953 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1110 },
1523 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 960 },1954 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1111 },
1524 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 961 },1955 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 1112 },
1525 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 962 },1956 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1113 },
1526 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 963 },1957 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1114 },
1527 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 964 },1958 .{ .char = '8', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1115 },
1528 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 965 },1959 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1116 },
1529 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 966 },1960 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1118 },
1530 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 967 },1961 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1119 },
1531 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 968 },1962 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 54, .child_index = 1120 },
1532 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 969 },1963 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1121 },
1533 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 970 },1964 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 445 },
1534 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 971 },1965 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 125 },
1535 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 972 },1966 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1122 },
1536 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 973 },1967 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1123 },
1537 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 974 },1968 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1124 },
1538 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 558 },1969 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 1125 },
1539 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },1970 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 1126 },
1540 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 975 },1971 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1127 },
1541 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 271 },1972 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1128 },
1542 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 977 },1973 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1129 },
1543 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 978 },1974 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1130 },
1544 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 979 },1975 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1131 },
1545 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 980 },1976 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1132 },
1546 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 981 },1977 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1133 },
1547 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 586 },1978 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1134 },
1548 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 982 },1979 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1135 },
1549 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 983 },1980 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1136 },
1550 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 984 },1981 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1137 },
1551 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 985 },1982 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1138 },
1552 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 986 },1983 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1139 },
1553 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 795 },1984 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 258 },
1554 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 987 },1985 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1140 },
1555 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 988 },1986 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1141 },
1556 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 989 },1987 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1088 },
1557 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 990 },1988 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1088 },
1558 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 991 },1989 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1142 },
1559 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 992 },1990 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1143 },
1560 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 993 },1991 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1144 },
1561 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 994 },1992 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 624 },
1562 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 995 },1993 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 513 },
1563 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 996 },1994 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1145 },
1564 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 997 },1995 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 290 },
1565 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 998 },1996 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1150 },
1566 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 999 },1997 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1151 },
1567 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1000 },1998 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1152 },
1568 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1001 },1999 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1153 },
1569 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1002 },2000 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1154 },
1570 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1003 },2001 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
1571 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1004 },2002 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1155 },
1572 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1005 },2003 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1156 },
1573 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1006 },2004 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1157 },
1574 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1008 },2005 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1158 },
1575 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1009 },2006 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1159 },
1576 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1010 },2007 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 908 },
1577 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1011 },2008 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1160 },
1578 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1012 },2009 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1161 },
1579 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },2010 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1162 },
1580 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1013 },2011 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1163 },
1581 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 49, .child_index = 1015 },2012 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 675 },
1582 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1016 },2013 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1164 },
1583 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1016 },2014 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 380 },
1584 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1017 },2015 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1165 },
1585 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1018 },2016 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1166 },
1586 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1019 },2017 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1167 },
1587 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1020 },2018 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1168 },
1588 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1021 },2019 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1169 },
1589 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1022 },2020 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1170 },
1590 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1023 },2021 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1171 },
1591 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1024 },2022 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1172 },
1592 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1025 },2023 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1173 },
1593 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1024 },2024 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1174 },
1594 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1026 },2025 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 1175 },
1595 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1024 },2026 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1176 },
1596 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1025 },2027 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1177 },
1597 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1024 },2028 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1178 },
1598 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1027 },2029 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1179 },
1599 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1028 },2030 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 1180 },
1600 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 921 },2031 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1181 },
1601 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1029 },2032 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 1182 },
1602 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1030 },2033 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1183 },
1603 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1031 },2034 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1185 },
1604 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1032 },2035 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1187 },
2036 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1188 },
2037 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1189 },
2038 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1190 },
2039 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1191 },
2040 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1192 },
2041 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1193 },
2042 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1194 },
2043 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1195 },
2044 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1196 },
2045 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 637 },
2046 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1197 },
2047 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1199 },
2048 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 79, .child_index = 1200 },
2049 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1201 },
2050 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1202 },
2051 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1203 },
2052 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1203 },
2053 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1204 },
2054 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1205 },
2055 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1206 },
2056 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1207 },
2057 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1208 },
2058 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1209 },
2059 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1210 },
2060 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1211 },
2061 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1212 },
2062 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1211 },
2063 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1213 },
2064 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1211 },
2065 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1212 },
2066 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1211 },
2067 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1214 },
2068 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1215 },
2069 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1216 },
2070 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 1217 },
2071 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1218 },
2072 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1068 },
2073 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1219 },
2074 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1220 },
2075 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1221 },
2076 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1222 },
2077 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1223 },
2078 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 54, .child_index = 1228 },
2079 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1119 },
2080 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1229 },
1605 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2081 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1606 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1033 },2082 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1230 },
1607 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1034 },2083 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1231 },
1608 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1035 },2084 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1232 },
1609 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1036 },2085 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1233 },
1610 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1037 },2086 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1234 },
1611 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1038 },2087 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1235 },
1612 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1039 },2088 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1236 },
1613 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1040 },2089 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1237 },
1614 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1041 },2090 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1238 },
1615 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1042 },2091 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1239 },
1616 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1043 },2092 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1240 },
1617 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1045 },2093 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1243 },
1618 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 702 },2094 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1245 },
1619 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },2095 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1246 },
1620 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1046 },2096 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1247 },
1621 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1048 },2097 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1248 },
1622 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1049 },2098 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 908 },
1623 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1050 },2099 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 792 },
1624 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1051 },2100 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 380 },
2101 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1249 },
2102 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1251 },
2103 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 863 },
2104 .{ .char = 'j', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1252 },
2105 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1253 },
2106 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1254 },
2107 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1255 },
2108 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1256 },
1625 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2109 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1626 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1052 },2110 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1257 },
1627 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1053 },2111 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1258 },
1628 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1054 },2112 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1259 },
1629 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1055 },2113 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1260 },
1630 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1056 },2114 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1261 },
1631 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1057 },2115 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1262 },
1632 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1058 },2116 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1263 },
1633 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1059 },2117 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1264 },
1634 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1060 },2118 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1265 },
1635 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1061 },2119 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1266 },
1636 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1062 },2120 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1267 },
1637 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1063 },2121 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1268 },
1638 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1064 },2122 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1269 },
1639 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1065 },2123 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1270 },
1640 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1067 },2124 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1272 },
1641 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1069 },2125 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1274 },
1642 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1070 },2126 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1275 },
1643 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1071 },2127 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1277 },
1644 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1072 },2128 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1278 },
1645 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1073 },2129 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1279 },
1646 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1074 },2130 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1280 },
1647 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 795 },2131 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1281 },
1648 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1075 },2132 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 908 },
1649 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1076 },2133 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 1282 },
1650 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1077 },2134 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1283 },
1651 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1078 },2135 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1284 },
1652 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1079 },2136 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1285 },
1653 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 613 },2137 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1286 },
1654 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 547 },2138 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1287 },
1655 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 757 },2139 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1288 },
1656 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },2140 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 1289 },
1657 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1080 },2141 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1290 },
1658 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1081 },2142 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1291 },
1659 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1082 },2143 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 686 },
1660 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 714 },2144 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 609 },
1661 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 714 },2145 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 858 },
1662 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 49, .child_index = 1083 },2146 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 637 },
1663 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 624 },2147 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1292 },
1664 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1084 },2148 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1293 },
1665 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1085 },2149 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1294 },
1666 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1086 },2150 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1295 },
1667 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1087 },2151 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1296 },
1668 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1088 },2152 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1297 },
1669 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1089 },2153 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 833 },
1670 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },2154 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1298 },
1671 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1094 },2155 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 572 },
1672 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1095 },2156 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
1673 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1096 },2157 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1300 },
1674 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1097 },2158 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 79, .child_index = 1302 },
1675 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1098 },2159 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1202 },
1676 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1100 },2160 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 980 },
1677 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1101 },2161 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 700 },
1678 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1102 },2162 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1303 },
1679 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1103 },2163 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1304 },
1680 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1104 },2164 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1305 },
1681 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1105 },2165 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1306 },
1682 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1106 },2166 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1307 },
1683 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1107 },2167 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1308 },
1684 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1108 },2168 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1312 },
1685 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1109 },2169 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1313 },
1686 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1110 },2170 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1314 },
1687 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1111 },2171 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1315 },
1688 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1112 },2172 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1316 },
1689 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1113 },2173 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1317 },
1690 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1114 },2174 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1318 },
1691 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 906 },2175 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 1319 },
1692 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1114 },2176 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1323 },
1693 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1115 },2177 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1324 },
1694 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1116 },2178 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1325 },
1695 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1117 },2179 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1326 },
1696 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1118 },2180 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1327 },
1697 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 861 },2181 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1328 },
1698 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1119 },2182 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1329 },
1699 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1120 },2183 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1330 },
1700 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1121 },2184 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1331 },
1701 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1122 },2185 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1332 },
1702 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1123 },2186 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 54, .child_index = 1333 },
1703 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1124 },2187 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1334 },
1704 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1125 },2188 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1335 },
1705 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 616 },2189 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1336 },
1706 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1126 },2190 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1337 },
1707 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1127 },2191 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1338 },
1708 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1128 },2192 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1339 },
1709 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1129 },2193 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1340 },
1710 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1130 },2194 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1341 },
1711 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 495 },2195 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1342 },
1712 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1131 },2196 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1343 },
1713 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1132 },2197 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1344 },
1714 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1133 },2198 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1345 },
1715 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1134 },2199 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1345 },
1716 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1135 },2200 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1345 },
1717 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1136 },2201 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1346 },
1718 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1137 },2202 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1049 },
1719 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1138 },2203 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1346 },
1720 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1139 },2204 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1347 },
1721 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1140 },2205 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1348 },
1722 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 277 },2206 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1349 },
1723 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1141 },2207 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1350 },
1724 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1142 },2208 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1351 },
1725 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1143 },2209 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1352 },
1726 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1144 },2210 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1353 },
1727 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1145 },2211 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1354 },
1728 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1146 },2212 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1355 },
1729 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 842 },2213 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 987 },
1730 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 49, .child_index = 1147 },2214 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1356 },
1731 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1151 },2215 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1357 },
1732 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1152 },2216 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1358 },
1733 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1153 },2217 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1359 },
1734 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1154 },2218 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1360 },
1735 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1155 },2219 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1361 },
1736 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 795 },2220 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1362 },
2221 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 690 },
2222 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1363 },
2223 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1364 },
2224 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1365 },
2225 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1366 },
2226 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1367 },
2227 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
2228 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1368 },
2229 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1369 },
2230 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1370 },
2231 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1371 },
2232 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1372 },
2233 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1373 },
2234 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1374 },
2235 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1375 },
2236 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1376 },
2237 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1377 },
2238 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1378 },
2239 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1379 },
2240 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 1380 },
2241 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 297 },
2242 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1386 },
2243 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1387 },
2244 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1388 },
2245 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1389 },
2246 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1390 },
2247 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 1391 },
2248 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1392 },
2249 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1393 },
2250 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1394 },
2251 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1395 },
2252 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1397 },
2253 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1398 },
2254 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1399 },
2255 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 962 },
2256 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 665 },
2257 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1400 },
2258 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1401 },
2259 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1402 },
2260 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 79, .child_index = 1403 },
2261 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1407 },
2262 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1408 },
2263 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1409 },
2264 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1410 },
2265 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1411 },
2266 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 908 },
1737 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2267 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1738 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1157 },2268 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1413 },
1739 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2269 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1740 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1158 },2270 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1414 },
1741 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1159 },2271 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1415 },
1742 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1160 },2272 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1416 },
1743 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1161 },2273 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1417 },
1744 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1162 },2274 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1418 },
1745 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 874 },2275 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1420 },
1746 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1164 },2276 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1747 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1165 },2277 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1421 },
1748 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },2278 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1009 },
1749 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1167 },2279 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1215 },
1750 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1168 },2280 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1422 },
1751 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1169 },2281 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1423 },
1752 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1170 },2282 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1424 },
1753 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1171 },2283 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1425 },
1754 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1172 },2284 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1426 },
1755 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1175 },2285 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1427 },
1756 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1176 },2286 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1428 },
1757 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1177 },2287 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1430 },
1758 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1178 },2288 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1432 },
1759 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1179 },2289 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1433 },
1760 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1180 },2290 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1434 },
1761 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1181 },2291 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 54, .child_index = 1435 },
1762 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1182 },2292 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1441 },
1763 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1183 },2293 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1442 },
1764 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1184 },2294 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1443 },
1765 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1185 },2295 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1444 },
1766 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1186 },2296 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1445 },
1767 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1187 },2297 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1448 },
1768 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1188 },2298 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1449 },
1769 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },2299 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1450 },
1770 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1189 },2300 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1451 },
1771 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1190 },2301 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1452 },
1772 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 486 },2302 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1453 },
1773 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1191 },2303 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1454 },
1774 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1192 },2304 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1455 },
1775 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 707 },2305 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 690 },
1776 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1193 },2306 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1777 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1128 },2307 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1456 },
1778 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1194 },2308 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1457 },
1779 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1195 },2309 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1458 },
1780 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1196 },2310 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1459 },
1781 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1197 },2311 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1348 },
1782 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1198 },2312 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1460 },
1783 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1199 },2313 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1461 },
1784 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1200 },2314 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1462 },
1785 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1201 },2315 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1463 },
1786 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1202 },2316 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1464 },
1787 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1203 },2317 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 783 },
1788 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1204 },2318 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1465 },
1789 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1205 },2319 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1466 },
1790 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1206 },2320 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 539 },
1791 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1207 },2321 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1467 },
1792 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1119 },2322 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1468 },
1793 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1208 },2323 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 797 },
1794 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1209 },2324 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1469 },
1795 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1210 },2325 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1365 },
1796 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 1212 },2326 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1470 },
1797 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1213 },2327 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1471 },
1798 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1214 },2328 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1472 },
1799 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1215 },2329 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1473 },
1800 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1216 },2330 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1474 },
1801 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 352 },2331 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1475 },
1802 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1217 },2332 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1476 },
1803 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1218 },2333 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1477 },
1804 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1219 },2334 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1478 },
1805 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1220 },2335 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1479 },
1806 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1221 },2336 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1480 },
1807 .{ .char = '9', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1222 },2337 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1481 },
1808 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1223 },2338 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1482 },
1809 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1086 },2339 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1484 },
1810 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1224 },2340 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1487 },
1811 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1226 },2341 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1489 },
1812 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1231 },2342 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1490 },
1813 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 954 },2343 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1491 },
1814 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1232 },2344 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1492 },
1815 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1233 },2345 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1493 },
1816 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1234 },2346 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1494 },
1817 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1235 },2347 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1495 },
1818 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1236 },2348 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1496 },
1819 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 932 },2349 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 1497 },
1820 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 491 },2350 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1291 },
1821 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1237 },2351 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1498 },
1822 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1109 },2352 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1356 },
1823 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1239 },2353 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1421 },
1824 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1240 },2354 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1499 },
1825 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1241 },2355 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1502 },
1826 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1242 },2356 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1503 },
1827 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1243 },2357 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1504 },
1828 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 242 },2358 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1193 },
1829 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1244 },2359 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1505 },
1830 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1245 },2360 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1506 },
1831 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1246 },2361 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1508 },
1832 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1247 },2362 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1509 },
1833 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1248 },2363 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 43, .child_index = 1511 },
2364 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 1512 },
2365 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1513 },
2366 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1514 },
2367 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1515 },
2368 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 384 },
2369 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1516 },
2370 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1517 },
2371 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1518 },
2372 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1519 },
2373 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1520 },
2374 .{ .char = '9', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1521 },
2375 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1522 },
2376 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1305 },
2377 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1523 },
2378 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1525 },
2379 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1526 },
2380 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1527 },
2381 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1532 },
2382 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1533 },
2383 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1115 },
2384 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1534 },
2385 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1535 },
2386 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1536 },
2387 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1537 },
2388 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1538 },
2389 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1540 },
2390 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1536 },
2391 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1541 },
2392 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1542 },
2393 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1543 },
2394 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1544 },
2395 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1545 },
2396 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1546 },
2397 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1547 },
2398 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1548 },
2399 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1550 },
2400 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1551 },
2401 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1552 },
2402 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1553 },
2403 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1087 },
2404 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 326 },
2405 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1554 },
2406 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1340 },
2407 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1556 },
2408 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1557 },
2409 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1558 },
2410 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1269 },
2411 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1559 },
2412 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 962 },
2413 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 258 },
2414 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1560 },
2415 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1561 },
2416 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1562 },
2417 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1563 },
2418 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 297 },
2419 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1564 },
2420 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1565 },
1834 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2421 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1835 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1249 },2422 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1566 },
1836 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 242 },2423 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 258 },
1837 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 404 },2424 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 447 },
1838 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1250 },2425 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1567 },
1839 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1251 },2426 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1568 },
1840 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1252 },2427 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1569 },
1841 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1253 },2428 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1570 },
1842 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1254 },2429 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1571 },
1843 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1255 },2430 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1572 },
1844 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1256 },2431 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1573 },
1845 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1257 },2432 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1574 },
1846 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1258 },2433 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1575 },
1847 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1259 },2434 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1576 },
1848 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1260 },2435 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1577 },
1849 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1261 },2436 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1578 },
1850 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1262 },2437 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1579 },
1851 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1263 },2438 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1580 },
1852 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1264 },2439 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1581 },
1853 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1265 },2440 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1582 },
1854 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1266 },2441 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1583 },
1855 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1267 },2442 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1584 },
1856 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1268 },2443 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1585 },
1857 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 513 },2444 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1587 },
1858 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 849 },2445 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1588 },
1859 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1269 },2446 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1589 },
1860 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1271 },2447 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1590 },
1861 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1272 },2448 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1591 },
1862 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1273 },2449 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1489 },
1863 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1274 },2450 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1592 },
1864 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1276 },2451 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1593 },
1865 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1277 },2452 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1594 },
1866 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1278 },2453 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1595 },
1867 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1279 },2454 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1596 },
1868 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1280 },2455 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 1597 },
1869 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1281 },2456 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1598 },
1870 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1282 },2457 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1599 },
1871 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1283 },2458 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 771 },
1872 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1284 },2459 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 962 },
1873 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1023 },2460 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1600 },
1874 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1024 },2461 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1601 },
1875 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1025 },2462 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1602 },
1876 .{ .char = '8', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1024 },2463 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1603 },
1877 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1285 },2464 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1605 },
1878 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1286 },2465 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1606 },
1879 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1287 },2466 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1608 },
1880 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },2467 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 573 },
1881 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 405 },2468 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 972 },
1882 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1288 },2469 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 43, .child_index = 1609 },
1883 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1293 },2470 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 1613 },
1884 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1297 },2471 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1614 },
1885 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 714 },2472 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1615 },
1886 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1298 },2473 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1616 },
1887 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1299 },2474 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1618 },
1888 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1303 },2475 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1348 },
1889 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 567 },2476 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1619 },
1890 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1307 },2477 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1620 },
1891 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1309 },2478 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1621 },
1892 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1310 },2479 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1622 },
1893 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1311 },2480 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1623 },
1894 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1312 },2481 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1624 },
1895 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1187 },2482 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1625 },
1896 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1313 },2483 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1626 },
1897 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 695 },2484 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1627 },
1898 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 430 },2485 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1210 },
1899 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1314 },2486 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1211 },
1900 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1315 },2487 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1212 },
1901 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1316 },2488 .{ .char = '8', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1211 },
1902 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1317 },2489 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1628 },
1903 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1318 },2490 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1629 },
1904 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1319 },2491 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1630 },
1905 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1320 },2492 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1631 },
1906 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1321 },2493 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1632 },
1907 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1322 },2494 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1633 },
1908 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1323 },2495 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1634 },
1909 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1324 },2496 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1635 },
1910 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1325 },2497 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1633 },
1911 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1326 },2498 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1636 },
1912 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1327 },2499 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1432 },
1913 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1328 },2500 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1637 },
2501 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1641 },
2502 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1643 },
2503 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1645 },
2504 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1646 },
2505 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1647 },
2506 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 1650 },
2507 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1654 },
2508 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 508 },
2509 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 448 },
2510 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1655 },
2511 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1660 },
2512 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1664 },
2513 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
2514 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1665 },
2515 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1666 },
2516 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1670 },
2517 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1674 },
2518 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1348 },
2519 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1676 },
2520 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1677 },
2521 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1678 },
2522 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1680 },
2523 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1463 },
2524 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1681 },
2525 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 785 },
2526 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 473 },
2527 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1682 },
2528 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1683 },
2529 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1684 },
2530 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1685 },
2531 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1686 },
2532 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1687 },
2533 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1688 },
2534 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1689 },
2535 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1690 },
2536 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1691 },
2537 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1692 },
2538 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1693 },
2539 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1694 },
2540 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1695 },
2541 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1590 },
2542 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1696 },
2543 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1697 },
2544 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1698 },
2545 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1699 },
2546 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1700 },
2547 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1700 },
2548 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1701 },
2549 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1695 },
2550 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1702 },
2551 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1703 },
2552 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1704 },
2553 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1707 },
2554 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1711 },
2555 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 1712 },
2556 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1715 },
2557 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
2558 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1717 },
2559 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1718 },
1914 .{ .char = '3', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2560 .{ .char = '3', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1915 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1330 },2561 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1719 },
1916 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1331 },2562 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1720 },
1917 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1332 },2563 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1722 },
1918 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1334 },2564 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1723 },
1919 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1337 },2565 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1724 },
1920 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1338 },2566 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1725 },
1921 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 735 },2567 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1726 },
1922 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1339 },2568 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1727 },
1923 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1340 },2569 .{ .char = '8', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1728 },
1924 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2570 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1729 },
1925 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1341 },2571 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 1731 },
1926 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1342 },2572 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1734 },
1927 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1343 },2573 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1735 },
1928 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1344 },2574 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 831 },
1929 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1345 },2575 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1736 },
1930 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1346 },2576 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1737 },
1931 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1346 },2577 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1738 },
1932 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1347 },2578 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1739 },
1933 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1349 },2579 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1740 },
1934 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1350 },2580 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1741 },
1935 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1351 },2581 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1742 },
1936 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 491 },2582 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1743 },
1937 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1353 },2583 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1743 },
1938 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1354 },2584 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1744 },
1939 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1356 },2585 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1745 },
1940 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1358 },2586 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1746 },
1941 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1360 },2587 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1748 },
1942 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1362 },2588 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1749 },
1943 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1237 },2589 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1750 },
1944 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1365 },2590 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1751 },
1945 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 842 },2591 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1752 },
1946 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1366 },2592 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1753 },
1947 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1367 },2593 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1754 },
1948 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1242 },2594 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1755 },
1949 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1368 },2595 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1328 },
1950 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1369 },2596 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1329 },
1951 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1367 },2597 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1330 },
1952 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1242 },2598 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1331 },
1953 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1242 },2599 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1756 },
1954 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1370 },2600 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1757 },
1955 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1371 },2601 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1758 },
1956 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1372 },2602 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1760 },
1957 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1309 },2603 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1756 },
1958 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1373 },2604 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1761 },
1959 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1374 },2605 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1543 },
1960 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 667 },2606 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1544 },
1961 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1375 },2607 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1545 },
1962 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1376 },2608 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1543 },
1963 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1377 },2609 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1544 },
1964 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1378 },2610 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1545 },
1965 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1379 },2611 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1546 },
1966 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1380 },2612 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1650 },
1967 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1381 },2613 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1762 },
1968 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1382 },2614 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 326 },
1969 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1383 },2615 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1764 },
1970 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1384 },2616 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1765 },
1971 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1385 },2617 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1767 },
1972 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1386 },2618 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1769 },
1973 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1387 },2619 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1771 },
1974 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1388 },2620 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1773 },
1975 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1389 },2621 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1554 },
1976 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1390 },2622 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1776 },
1977 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1391 },2623 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 962 },
1978 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1392 },2624 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1777 },
1979 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1393 },2625 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1778 },
1980 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1394 },2626 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1269 },
1981 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1397 },2627 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1055 },
1982 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1398 },2628 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1779 },
1983 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1399 },2629 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1778 },
1984 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1400 },2630 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1269 },
1985 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1401 },2631 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1269 },
1986 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1402 },2632 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1780 },
1987 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1404 },2633 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1781 },
1988 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1406 },2634 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1782 },
1989 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1407 },2635 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1676 },
1990 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1408 },2636 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1783 },
1991 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1409 },2637 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1784 },
1992 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1410 },2638 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1785 },
1993 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1239 },2639 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 754 },
1994 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1411 },2640 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1786 },
1995 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1412 },2641 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1787 },
1996 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1413 },2642 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1788 },
1997 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1414 },2643 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1789 },
1998 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1237 },2644 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1790 },
1999 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },2645 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1791 },
2000 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1415 },2646 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1792 },
2001 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1297 },2647 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1793 },
2002 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 737 },2648 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1794 },
2003 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1416 },2649 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1795 },
2004 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 600 },2650 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1796 },
2005 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1415 },2651 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1797 },
2006 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },2652 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1798 },
2007 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 600 },2653 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1799 },
2008 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },2654 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 974 },
2009 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1416 },2655 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 974 },
2010 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1417 },2656 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 974 },
2011 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 714 },2657 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 974 },
2012 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1418 },2658 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1800 },
2013 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1242 },2659 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 831 },
2014 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1419 },2660 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1802 },
2015 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1419 },2661 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1804 },
2016 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1419 },2662 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1805 },
2017 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1420 },2663 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1807 },
2018 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1421 },2664 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1808 },
2019 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1422 },2665 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 1809 },
2020 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1427 },2666 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1811 },
2021 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1428 },2667 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 974 },
2022 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1430 },2668 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1808 },
2023 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1431 },2669 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1812 },
2024 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1434 },2670 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1813 },
2025 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1437 },2671 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1814 },
2026 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1439 },2672 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1815 },
2027 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1441 },2673 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1780 },
2028 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1442 },2674 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1181 },
2029 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1443 },2675 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1816 },
2030 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1444 },2676 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1817 },
2031 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1446 },2677 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1818 },
2032 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1261 },2678 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1819 },
2033 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1447 },2679 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1820 },
2034 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1448 },2680 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1723 },
2035 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1449 },2681 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1821 },
2036 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1450 },2682 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1821 },
2037 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1451 },2683 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1822 },
2038 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1452 },2684 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1823 },
2039 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1453 },2685 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1824 },
2040 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1455 },2686 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1825 },
2041 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1457 },2687 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1827 },
2042 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1458 },2688 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1828 },
2043 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1459 },2689 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1831 },
2044 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1461 },2690 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1832 },
2045 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1461 },2691 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1833 },
2046 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1462 },2692 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1834 },
2047 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1464 },2693 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1835 },
2048 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1465 },2694 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1836 },
2049 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 600 },2695 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1838 },
2050 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 714 },2696 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1840 },
2051 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1466 },2697 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1841 },
2052 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1467 },2698 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1842 },
2053 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1468 },2699 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1843 },
2054 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1469 },2700 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1844 },
2055 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1009 },2701 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1556 },
2056 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1009 },2702 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1845 },
2057 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1470 },2703 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1846 },
2058 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1471 },2704 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1847 },
2059 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1472 },2705 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1848 },
2060 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1473 },2706 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1849 },
2061 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1474 },2707 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1850 },
2062 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1475 },2708 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1851 },
2063 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 932 },2709 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1852 },
2064 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1477 },2710 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1853 },
2065 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1478 },2711 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1855 },
2066 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1242 },2712 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1078 },
2067 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1479 },2713 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1856 },
2068 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1480 },2714 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1857 },
2069 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1481 },2715 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1858 },
2070 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 682 },2716 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1859 },
2071 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 842 },2717 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1857 },
2718 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1860 },
2719 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1645 },
2720 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1554 },
2721 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 637 },
2722 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1861 },
2723 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1664 },
2724 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 833 },
2725 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1862 },
2726 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 445 },
2727 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1861 },
2728 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 637 },
2729 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 445 },
2730 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 637 },
2731 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1862 },
2732 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1863 },
2733 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
2734 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1864 },
2735 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1269 },
2736 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1164 },
2737 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1164 },
2738 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1865 },
2739 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1866 },
2740 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1867 },
2741 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1872 },
2742 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1873 },
2743 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1874 },
2744 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1876 },
2745 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1877 },
2746 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1880 },
2747 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1883 },
2748 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1885 },
2749 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1887 },
2750 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1888 },
2751 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1889 },
2752 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1890 },
2753 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1893 },
2754 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1896 },
2755 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1899 },
2756 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1580 },
2757 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 831 },
2758 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 831 },
2759 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 831 },
2760 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1900 },
2761 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 870 },
2762 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1901 },
2763 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1902 },
2764 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1903 },
2765 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 992 },
2766 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 859 },
2767 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1904 },
2768 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1905 },
2769 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1906 },
2770 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1907 },
2771 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1908 },
2772 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1909 },
2773 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1910 },
2774 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1911 },
2775 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1914 },
2776 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1819 },
2777 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1915 },
2778 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1915 },
2779 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1916 },
2780 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1918 },
2781 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1919 },
2782 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1921 },
2783 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1831 },
2784 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1923 },
2785 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1924 },
2786 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1723 },
2787 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1724 },
2788 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1926 },
2789 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1928 },
2790 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1928 },
2791 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1929 },
2792 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1933 },
2793 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1934 },
2794 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 445 },
2795 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
2796 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1935 },
2797 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1936 },
2798 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1937 },
2799 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1938 },
2800 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1188 },
2801 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1188 },
2802 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1939 },
2803 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1940 },
2804 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1941 },
2805 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1942 },
2806 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1943 },
2807 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1944 },
2808 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1945 },
2809 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1946 },
2810 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1947 },
2811 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1948 },
2812 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1754 },
2813 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1432 },
2814 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1949 },
2815 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1950 },
2816 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1951 },
2817 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1952 },
2818 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1953 },
2819 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1954 },
2820 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1087 },
2821 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1956 },
2822 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1957 },
2823 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1958 },
2824 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1959 },
2825 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1960 },
2826 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 771 },
2827 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 962 },
2072 .{ .char = '8', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2828 .{ .char = '8', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2073 .{ .char = '9', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 595 },2829 .{ .char = '9', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 665 },
2074 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1483 },2830 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1962 },
2075 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1484 },2831 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1963 },
2076 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 906 },2832 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1964 },
2077 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1485 },2833 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1049 },
2078 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1486 },2834 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1965 },
2079 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1487 },2835 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1966 },
2080 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1488 },2836 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1811 },
2081 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1489 },2837 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1967 },
2082 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1353 },2838 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1968 },
2083 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1490 },2839 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1764 },
2084 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1491 },2840 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1808 },
2085 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1368 },2841 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1969 },
2086 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1367 },2842 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1055 },
2087 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1368 },2843 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1778 },
2088 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1492 },2844 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1055 },
2089 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1493 },2845 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1970 },
2090 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1494 },2846 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1971 },
2091 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1495 },2847 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1973 },
2092 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1496 },2848 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1966 },
2093 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1497 },2849 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1974 },
2094 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1498 },2850 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1975 },
2095 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1499 },2851 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1966 },
2096 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1500 },2852 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1976 },
2097 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1502 },2853 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1977 },
2098 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1503 },2854 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1978 },
2099 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1504 },2855 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1979 },
2100 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1505 },2856 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1980 },
2101 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1506 },2857 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1981 },
2102 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1457 },2858 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1982 },
2103 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1509 },2859 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1983 },
2104 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1510 },2860 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 859 },
2105 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1510 },2861 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1984 },
2106 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1509 },2862 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1985 },
2107 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1509 },2863 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1986 },
2108 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1509 },2864 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1836 },
2109 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1511 },2865 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1988 },
2110 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1512 },2866 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1989 },
2111 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1513 },2867 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1990 },
2112 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1514 },2868 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1991 },
2113 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1515 },2869 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1992 },
2114 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1516 },2870 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 686 },
2115 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1517 },2871 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1993 },
2116 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1518 },2872 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1994 },
2117 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1519 },2873 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1996 },
2118 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1522 },2874 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 967 },
2119 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1523 },2875 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1998 },
2120 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1525 },2876 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1999 },
2121 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1526 },2877 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2000 },
2122 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1527 },2878 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2001 },
2123 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1528 },2879 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2002 },
2124 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1530 },2880 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2003 },
2125 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1531 },2881 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1926 },
2126 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1532 },2882 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1723 },
2127 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1533 },2883 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2006 },
2128 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 567 },2884 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2006 },
2885 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2006 },
2886 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2006 },
2887 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1726 },
2888 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2007 },
2889 .{ .char = '8', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1728 },
2890 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2008 },
2891 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2009 },
2892 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2010 },
2893 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2011 },
2894 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2012 },
2895 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2013 },
2896 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2014 },
2897 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2015 },
2898 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1499 },
2899 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2018 },
2900 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2019 },
2901 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2020 },
2902 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2022 },
2903 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2023 },
2904 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2024 },
2905 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2025 },
2906 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1078 },
2907 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1538 },
2908 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2026 },
2909 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2028 },
2910 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 974 },
2911 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2029 },
2912 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2030 },
2913 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2031 },
2914 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2033 },
2915 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2034 },
2916 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2035 },
2917 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2036 },
2918 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 633 },
2129 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2919 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2130 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 670 },2920 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2037 },
2131 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1534 },2921 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 757 },
2132 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1535 },2922 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2038 },
2133 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1536 },2923 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2039 },
2134 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1537 },2924 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1902 },
2135 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1415 },2925 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1861 },
2136 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1537 },2926 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1906 },
2137 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 758 },2927 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2040 },
2138 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1538 },2928 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1784 },
2139 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1539 },2929 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2041 },
2140 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1540 },2930 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2042 },
2141 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1541 },2931 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2043 },
2142 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1542 },2932 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2044 },
2143 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1543 },2933 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 992 },
2144 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1544 },2934 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2045 },
2145 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1545 },2935 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1906 },
2146 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1546 },2936 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2046 },
2147 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1547 },2937 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2047 },
2148 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1548 },2938 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2048 },
2149 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1550 },2939 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2049 },
2150 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1551 },2940 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2050 },
2151 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1552 },2941 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 871 },
2152 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1554 },2942 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2051 },
2153 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1556 },2943 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2052 },
2154 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1557 },2944 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2054 },
2155 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1489 },2945 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2055 },
2156 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1558 },2946 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2057 },
2157 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1560 },2947 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2058 },
2158 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1562 },2948 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2059 },
2159 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1563 },2949 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 502 },
2160 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1564 },2950 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2060 },
2161 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1565 },2951 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2061 },
2162 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1566 },2952 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2062 },
2163 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1567 },2953 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2063 },
2164 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1568 },2954 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2064 },
2165 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1519 },2955 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2065 },
2166 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 600 },2956 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 542 },
2167 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 714 },2957 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2066 },
2168 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 714 },2958 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2068 },
2169 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1569 },2959 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2068 },
2170 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 569 },2960 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2069 },
2171 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1408 },2961 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1819 },
2172 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1570 },2962 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1820 },
2173 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1571 },2963 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1968 },
2174 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1572 },2964 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2071 },
2175 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 595 },2965 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1823 },
2176 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1016 },2966 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2073 },
2177 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1574 },2967 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2074 },
2178 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1575 },2968 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2075 },
2179 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1576 },2969 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2076 },
2180 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1577 },2970 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2077 },
2181 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1578 },2971 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2078 },
2182 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1579 },2972 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2015 },
2183 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 758 },2973 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 445 },
2184 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1402 },2974 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 572 },
2185 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1419 },2975 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
2186 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1580 },2976 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2079 },
2187 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1581 },2977 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2080 },
2188 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1582 },2978 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 637 },
2189 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1584 },2979 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1842 },
2190 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1585 },2980 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2081 },
2191 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 682 },2981 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2082 },
2192 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1499 },2982 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2083 },
2193 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1586 },2983 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2084 },
2194 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1587 },2984 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 980 },
2195 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1589 },2985 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1952 },
2196 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1590 },2986 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1645 },
2197 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1591 },2987 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2085 },
2198 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1593 },2988 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2086 },
2199 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1594 },2989 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 665 },
2200 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1595 },2990 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1203 },
2201 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1556 },2991 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2088 },
2202 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1537 },2992 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2089 },
2203 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1596 },2993 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2090 },
2204 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1596 },2994 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2091 },
2205 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 600 },2995 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2092 },
2206 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 737 },2996 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2093 },
2207 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 844 },2997 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2094 },
2208 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1597 },2998 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1164 },
2209 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1598 },2999 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2095 },
2210 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1600 },3000 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 993 },
2211 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1601 },3001 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2096 },
2212 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1602 },3002 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2097 },
2213 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1603 },3003 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2098 },
2214 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1604 },3004 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1910 },
2215 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1605 },3005 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2100 },
2216 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1606 },3006 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2101 },
2217 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1608 },3007 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 771 },
2218 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1609 },3008 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1984 },
2219 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 595 },3009 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2102 },
2220 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 624 },3010 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1093 },
2221 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1531 },3011 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2103 },
3012 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2105 },
3013 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2107 },
3014 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2108 },
3015 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 962 },
3016 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2109 },
3017 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2111 },
3018 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2112 },
3019 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2113 },
3020 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2114 },
3021 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2115 },
3022 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 665 },
3023 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 665 },
3024 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2116 },
3025 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2117 },
3026 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2006 },
3027 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1819 },
3028 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1906 },
3029 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 445 },
3030 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 833 },
3031 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2118 },
3032 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2119 },
3033 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2120 },
3034 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2121 },
3035 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2122 },
3036 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2123 },
3037 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2124 },
3038 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2125 },
3039 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2127 },
3040 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2128 },
3041 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2129 },
3042 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2130 },
3043 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1758 },
3044 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 665 },
3045 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 700 },
3046 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2034 },
2222 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3047 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2223 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1610 },3048 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2131 },
2224 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1611 },3049 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2132 },
2225 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1612 },3050 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2133 },
2226 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1613 },3051 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2134 },
2227 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1614 },3052 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2135 },
2228 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1615 },3053 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2136 },
2229 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1616 },3054 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2137 },
2230 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1617 },3055 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2138 },
2231 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1619 },3056 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2139 },
2232 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },3057 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2140 },
2233 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1621 },3058 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2142 },
2234 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1589 },3059 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2143 },
2235 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1622 },3060 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2144 },
2236 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1623 },3061 .{ .char = '8', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2145 },
2237 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1622 },3062 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1203 },
2238 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1623 },3063 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2107 },
2239 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1623 },3064 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2146 },
2240 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1624 },3065 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2147 },
2241 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 855 },3066 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2146 },
2242 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 855 },3067 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2147 },
2243 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1625 },3068 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2147 },
2244 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 488 },3069 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2148 },
2245 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1627 },3070 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2149 },
2246 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1628 },3071 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2150 },
2247 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1509 },3072 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2152 },
2248 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1629 },3073 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2153 },
2249 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1630 },3074 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 980 },
2250 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1631 },3075 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 980 },
2251 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1632 },3076 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2006 },
2252 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1187 },3077 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2154 },
2253 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1519 },3078 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2155 },
2254 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1519 },3079 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2156 },
2255 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1634 },3080 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2157 },
2256 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1635 },3081 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1463 },
2257 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1636 },3082 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2159 },
2258 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1637 },3083 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2015 },
2259 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1638 },3084 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2015 },
2260 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1639 },3085 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2160 },
2261 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1581 },3086 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2161 },
2262 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1640 },3087 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2162 },
2263 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1641 },3088 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2163 },
2264 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1640 },3089 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2164 },
2265 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1643 },3090 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2165 },
2266 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1644 },3091 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2166 },
2267 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1646 },3092 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1347 },
2268 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1647 },3093 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2168 },
2269 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1649 },3094 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2097 },
2270 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1651 },3095 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2042 },
2271 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1652 },3096 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2169 },
2272 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1653 },3097 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2170 },
2273 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1654 },3098 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2169 },
2274 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1655 },3099 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2172 },
2275 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1655 },3100 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2173 },
2276 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1656 },3101 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2175 },
2277 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1657 },3102 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2176 },
2278 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1658 },3103 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2178 },
2279 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1658 },3104 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2179 },
2280 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1658 },3105 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2181 },
2281 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1659 },3106 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2182 },
2282 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1660 },3107 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2183 },
2283 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1661 },3108 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1992 },
2284 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1662 },3109 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 686 },
2285 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 616 },3110 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2184 },
2286 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1663 },3111 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2185 },
2287 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 510 },3112 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2186 },
2288 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1640 },3113 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2187 },
2289 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1664 },3114 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2188 },
2290 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1664 },3115 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2188 },
2291 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 510 },3116 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2188 },
2292 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 510 },3117 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2189 },
2293 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 510 },3118 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2079 },
2294 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1665 },3119 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2190 },
2295 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1666 },3120 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2191 },
2296 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1668 },3121 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1859 },
2297 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1669 },3122 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2192 },
2298 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1666 },3123 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2193 },
2299 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1670 },3124 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2194 },
2300 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 595 },3125 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2195 },
2301 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 595 },3126 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2197 },
2302 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1509 },3127 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 567 },
2303 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1672 },3128 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2169 },
2304 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1673 },3129 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2198 },
2305 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1674 },3130 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2198 },
3131 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 567 },
3132 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 567 },
3133 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 567 },
3134 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2199 },
3135 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2200 },
3136 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2057 },
3137 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2202 },
3138 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2203 },
3139 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2200 },
3140 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2204 },
3141 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 446 },
3142 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2206 },
3143 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2184 },
3144 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2209 },
3145 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2210 },
3146 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2211 },
3147 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2212 },
2306 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3148 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2307 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1675 },3149 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2213 },
2308 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1662 },3150 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2193 },
2309 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1677 },3151 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2215 },
2310 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1659 },3152 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2216 },
2311 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1678 },3153 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2217 },
2312 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1680 },3154 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2218 },
2313 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1681 },3155 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2190 },
2314 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1682 },3156 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2220 },
2315 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1683 },3157 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2222 },
2316 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1683 },3158 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2223 },
2317 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1684 },3159 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2224 },
2318 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1685 },3160 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2225 },
2319 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1686 },3161 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2225 },
2320 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1687 },3162 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2226 },
2321 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1218 },3163 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2227 },
3164 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2228 },
3165 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2229 },
3166 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2230 },
3167 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2231 },
3168 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2232 },
3169 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1517 },
3170 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2233 },
2322 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3171 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2323 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1688 },3172 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2234 },
2324 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1689 },3173 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2235 },
2325 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1690 },3174 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1078 },
2326 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1691 },3175 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2236 },
2327 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1692 },3176 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2237 },
2328 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1693 },3177 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2238 },
2329 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1693 },3178 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2239 },
2330 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1624 },3179 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2240 },
2331 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1694 },3180 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2241 },
2332 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1694 },3181 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2242 },
2333 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1695 },3182 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2242 },
2334 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1696 },3183 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2148 },
3184 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2243 },
3185 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2243 },
3186 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2244 },
3187 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2245 },
3188 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2246 },
3189 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2247 },
3190 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2248 },
3191 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2249 },
2335 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3192 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2336 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1697 },3193 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2145 },
2337 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1698 },3194 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2253 },
2338 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1698 },3195 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2254 },
2339 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 510 },3196 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2254 },
2340 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1699 },3197 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2255 },
2341 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1699 },3198 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2255 },
2342 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1700 },3199 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 567 },
2343 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1701 },3200 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2256 },
2344 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1702 },3201 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2256 },
2345 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 510 },3202 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2257 },
2346 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1703 },3203 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2258 },
2347 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1704 },3204 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2259 },
2348 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1705 },3205 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2260 },
2349 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1706 },3206 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2261 },
2350 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1707 },3207 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1599 },
2351 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1708 },3208 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 771 },
2352 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1709 },3209 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 962 },
2353 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 842 },3210 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2354 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1710 },3211 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2262 },
2355 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1705 },3212 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2264 },
2356 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1298 },3213 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 567 },
2357 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 682 },3214 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2265 },
3215 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2266 },
3216 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2266 },
3217 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2266 },
3218 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2267 },
3219 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2268 },
3220 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 637 },
3221 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2269 },
3222 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 831 },
3223 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2270 },
3224 .{ .char = 'B', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3225 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2271 },
3226 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2272 },
3227 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 445 },
3228 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2273 },
3229 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2268 },
3230 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1665 },
3231 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 771 },
2358};3232};
2359pub const data = blk: {3233pub const data = blk: {
2360 @setEvalBranchQuota(4374);3234 @setEvalBranchQuota(7173);
2361 break :blk [_]Properties{3235 break :blk [_]Properties{
3236 .{ .param_str = "iiiiIb", .attributes = .{ .@"const" = true }, .features = "add_min_max_insts" },
3237 .{ .param_str = "UiUiUiUiIb", .attributes = .{ .@"const" = true }, .features = "add_min_max_insts" },
3238 .{ .param_str = "iiiiIb", .attributes = .{ .@"const" = true }, .features = "add_min_max_insts" },
3239 .{ .param_str = "UiUiUiUiIb", .attributes = .{ .@"const" = true }, .features = "add_min_max_insts" },
2362 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true } },3240 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true } },
2363 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true } },3241 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true } },
2364 .{ .param_str = "UsUiUiUi", .attributes = .{ .@"const" = true }, .features = "ashr_pk_insts" },3242 .{ .param_str = "UsUiUiUi", .attributes = .{ .@"const" = true }, .features = "ashr_pk_insts" },
...@@ -2376,83 +3254,161 @@ pub const data = blk: {...@@ -2376,83 +3254,161 @@ pub const data = blk: {
2376 .{ .param_str = "bdi", .attributes = .{ .@"const" = true } },3254 .{ .param_str = "bdi", .attributes = .{ .@"const" = true } },
2377 .{ .param_str = "bfi", .attributes = .{ .@"const" = true } },3255 .{ .param_str = "bfi", .attributes = .{ .@"const" = true } },
2378 .{ .param_str = "bhi", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },3256 .{ .param_str = "bhi", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },
3257 .{ .param_str = "Ui", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3258 .{ .param_str = "Ui", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3259 .{ .param_str = "Ui", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3260 .{ .param_str = "vV4i*1V4i*3IiIii", .attributes = .{ .@"const" = true }, .features = "mcast_load_insts,wavefrontsize32" },
3261 .{ .param_str = "vi*1i*3IiIii", .attributes = .{ .@"const" = true }, .features = "mcast_load_insts,wavefrontsize32" },
3262 .{ .param_str = "vV2i*1V2i*3IiIii", .attributes = .{ .@"const" = true }, .features = "mcast_load_insts,wavefrontsize32" },
3263 .{ .param_str = "vc*1c*3IiIii", .attributes = .{ .@"const" = true }, .features = "mcast_load_insts,wavefrontsize32" },
3264 .{ .param_str = "V4iV4i*1Iii", .attributes = .{ .@"const" = true }, .features = "mcast_load_insts,wavefrontsize32" },
3265 .{ .param_str = "ii*1Iii", .attributes = .{ .@"const" = true }, .features = "mcast_load_insts,wavefrontsize32" },
3266 .{ .param_str = "V2iV2i*1Iii", .attributes = .{ .@"const" = true }, .features = "mcast_load_insts,wavefrontsize32" },
3267 .{ .param_str = "Ui", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3268 .{ .param_str = "Ui", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3269 .{ .param_str = "Ui", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3270 .{ .param_str = "Ui", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3271 .{ .param_str = "Ui", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3272 .{ .param_str = "Ui", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3273 .{ .param_str = "Ui", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3274 .{ .param_str = "Ui", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3275 .{ .param_str = "V2iV2i*IicC*", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3276 .{ .param_str = "ii*IicC*", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3277 .{ .param_str = "V4iV4i*IicC*", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3278 .{ .param_str = "vV2i*V2iIicC*", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3279 .{ .param_str = "vi*iIicC*", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3280 .{ .param_str = "vV4i*V4iIicC*", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3281 .{ .param_str = "yy", .attributes = .{ .@"const" = true }, .features = "bf16_trans_insts" },
2379 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },3282 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },
2380 .{ .param_str = "hh", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },3283 .{ .param_str = "hh", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },
2381 .{ .param_str = "ffff", .attributes = .{ .@"const" = true } },3284 .{ .param_str = "ffff", .attributes = .{ .@"const" = true }, .features = "cube_insts" },
2382 .{ .param_str = "ffff", .attributes = .{ .@"const" = true } },3285 .{ .param_str = "ffff", .attributes = .{ .@"const" = true }, .features = "cube_insts" },
2383 .{ .param_str = "ffff", .attributes = .{ .@"const" = true } },3286 .{ .param_str = "ffff", .attributes = .{ .@"const" = true }, .features = "cube_insts" },
2384 .{ .param_str = "ffff", .attributes = .{ .@"const" = true } },3287 .{ .param_str = "ffff", .attributes = .{ .@"const" = true }, .features = "cube_insts" },
2385 .{ .param_str = "hiIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },3288 .{ .param_str = "hiIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2386 .{ .param_str = "hiIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },3289 .{ .param_str = "hiIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2387 .{ .param_str = "fiIi", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },3290 .{ .param_str = "fiIi", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },
2388 .{ .param_str = "fiIi", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },3291 .{ .param_str = "fiIi", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },
2389 .{ .param_str = "fiIi", .attributes = .{ .@"const" = true }, .features = "fp8e5m3_insts" },3292 .{ .param_str = "fiIi", .attributes = .{ .@"const" = true }, .features = "fp8e5m3_insts" },
2390 .{ .param_str = "fi", .attributes = .{ .@"const" = true } },3293 .{ .param_str = "fi", .attributes = .{ .@"const" = true } },
3294 .{ .param_str = "sV2h", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2391 .{ .param_str = "iffiIb", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },3295 .{ .param_str = "iffiIb", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },
2392 .{ .param_str = "V2hs", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },3296 .{ .param_str = "V2hs", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2393 .{ .param_str = "V2hs", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },3297 .{ .param_str = "V2hs", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2394 .{ .param_str = "V2fiIb", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },3298 .{ .param_str = "V2fiIb", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },
2395 .{ .param_str = "V2fiIb", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },3299 .{ .param_str = "V2fiIb", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },
3300 .{ .param_str = "sV2h", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2396 .{ .param_str = "iffiIb", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },3301 .{ .param_str = "iffiIb", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },
3302 .{ .param_str = "iffiIb", .attributes = .{ .@"const" = true }, .features = "fp8e5m3_insts" },
2397 .{ .param_str = "E2sii", .attributes = .{ .@"const" = true } },3303 .{ .param_str = "E2sii", .attributes = .{ .@"const" = true } },
2398 .{ .param_str = "E2UsUiUi", .attributes = .{ .@"const" = true } },3304 .{ .param_str = "E2UsUiUi", .attributes = .{ .@"const" = true } },
2399 .{ .param_str = "UifUiUi", .attributes = .{ .@"const" = true } },3305 .{ .param_str = "UifUiUi", .attributes = .{ .@"const" = true } },
2400 .{ .param_str = "E2sff", .attributes = .{ .@"const" = true } },3306 .{ .param_str = "E2sff", .attributes = .{ .@"const" = true }, .features = "cvt_pknorm_vop2_insts" },
2401 .{ .param_str = "E2Usff", .attributes = .{ .@"const" = true } },3307 .{ .param_str = "E2Usff", .attributes = .{ .@"const" = true }, .features = "cvt_pknorm_vop2_insts" },
2402 .{ .param_str = "E2hff", .attributes = .{ .@"const" = true } },3308 .{ .param_str = "E2hff", .attributes = .{ .@"const" = true } },
3309 .{ .param_str = "V16yV3UiUiIUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3310 .{ .param_str = "V16yV3UiUiIUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3311 .{ .param_str = "V16hV3UiUiIUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3312 .{ .param_str = "V16hV3UiUiIUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3313 .{ .param_str = "V16fV3UiUiIUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3314 .{ .param_str = "V16fV3UiUiIUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3315 .{ .param_str = "V8yV2UiUiIUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3316 .{ .param_str = "V8yUiUiIUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3317 .{ .param_str = "V8yV2UiUiIUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3318 .{ .param_str = "V8hV2UiUiIUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3319 .{ .param_str = "V8hUiUiIUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3320 .{ .param_str = "V8hV2UiUiIUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3321 .{ .param_str = "V8fV2UiUiIUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3322 .{ .param_str = "V8fUiUiIUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3323 .{ .param_str = "V8fV2UiUiIUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2403 .{ .param_str = "V6UiV16fV16ff", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3324 .{ .param_str = "V6UiV16fV16ff", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
2404 .{ .param_str = "V6UiV16fV16ff", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3325 .{ .param_str = "V6UiV16fV16ff", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
2405 .{ .param_str = "V2hV2hifIiIb", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },3326 .{ .param_str = "V2xV2xifIiIb", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },
2406 .{ .param_str = "V2hV2hifIiIb", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },3327 .{ .param_str = "V2xV2xifIiIb", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },
2407 .{ .param_str = "fifIi", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },3328 .{ .param_str = "fifIi", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },
2408 .{ .param_str = "fifIi", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },3329 .{ .param_str = "fifIi", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },
3330 .{ .param_str = "V3UiV16yf", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3331 .{ .param_str = "V3UiV16hf", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3332 .{ .param_str = "V3UiV16ff", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3333 .{ .param_str = "V3UiV16yf", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3334 .{ .param_str = "V3UiV16hf", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3335 .{ .param_str = "V3UiV16ff", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2409 .{ .param_str = "V32yV6Uif", .attributes = .{ .@"const" = true }, .features = "fp6bf6_cvt_scale_insts" },3336 .{ .param_str = "V32yV6Uif", .attributes = .{ .@"const" = true }, .features = "fp6bf6_cvt_scale_insts" },
2410 .{ .param_str = "V32yV6Uif", .attributes = .{ .@"const" = true }, .features = "fp6bf6_cvt_scale_insts" },3337 .{ .param_str = "V32yV6Uif", .attributes = .{ .@"const" = true }, .features = "fp6bf6_cvt_scale_insts" },
2411 .{ .param_str = "V6UiV32yf", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },3338 .{ .param_str = "V6UiV32yf", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },
2412 .{ .param_str = "V6UiV32hf", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },3339 .{ .param_str = "V6UiV32xf", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },
2413 .{ .param_str = "V32hV6Uif", .attributes = .{ .@"const" = true }, .features = "fp6bf6_cvt_scale_insts" },3340 .{ .param_str = "V32xV6Uif", .attributes = .{ .@"const" = true }, .features = "fp6bf6_cvt_scale_insts" },
2414 .{ .param_str = "V32hV6Uif", .attributes = .{ .@"const" = true }, .features = "fp6bf6_cvt_scale_insts" },3341 .{ .param_str = "V32xV6Uif", .attributes = .{ .@"const" = true }, .features = "fp6bf6_cvt_scale_insts" },
2415 .{ .param_str = "V32fV6Uif", .attributes = .{ .@"const" = true }, .features = "fp6bf6_cvt_scale_insts" },3342 .{ .param_str = "V32fV6Uif", .attributes = .{ .@"const" = true }, .features = "fp6bf6_cvt_scale_insts" },
2416 .{ .param_str = "V32fV6Uif", .attributes = .{ .@"const" = true }, .features = "fp6bf6_cvt_scale_insts" },3343 .{ .param_str = "V32fV6Uif", .attributes = .{ .@"const" = true }, .features = "fp6bf6_cvt_scale_insts" },
2417 .{ .param_str = "V6UiV32yf", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },3344 .{ .param_str = "V6UiV32yf", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },
2418 .{ .param_str = "V6UiV32hf", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },3345 .{ .param_str = "V6UiV32xf", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },
3346 .{ .param_str = "V2UiV8yf", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3347 .{ .param_str = "V2UiV8hf", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3348 .{ .param_str = "V2UiV8ff", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3349 .{ .param_str = "UiV8yf", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3350 .{ .param_str = "UiV8hf", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3351 .{ .param_str = "UiV8ff", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3352 .{ .param_str = "V2UiV8yf", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3353 .{ .param_str = "V2UiV8hf", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3354 .{ .param_str = "V2UiV8ff", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2419 .{ .param_str = "V2yUifIb", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },3355 .{ .param_str = "V2yUifIb", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },
2420 .{ .param_str = "V2yUifIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },3356 .{ .param_str = "V2yUifIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },
2421 .{ .param_str = "V2yUifIb", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },3357 .{ .param_str = "V2yUifIb", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },
2422 .{ .param_str = "V2sV2sV2yfIb", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },3358 .{ .param_str = "V2sV2sV2yfIb", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },
2423 .{ .param_str = "V2sV2sV2hfIb", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },3359 .{ .param_str = "V2sV2sV2xfIb", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },
2424 .{ .param_str = "V2sV2sfffIb", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },3360 .{ .param_str = "V2sV2sfffIb", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },
2425 .{ .param_str = "V2hUifIb", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },3361 .{ .param_str = "V2xUifIb", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },
2426 .{ .param_str = "V2hUifIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },3362 .{ .param_str = "V2xUifIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },
2427 .{ .param_str = "V2hUifIb", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },3363 .{ .param_str = "V2xUifIb", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },
2428 .{ .param_str = "V2fUifIb", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },3364 .{ .param_str = "V2fUifIb", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },
2429 .{ .param_str = "V2fUifIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },3365 .{ .param_str = "V2fUifIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },
2430 .{ .param_str = "V2fUifIb", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },3366 .{ .param_str = "V2fUifIb", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },
2431 .{ .param_str = "UiUiV2yfIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },3367 .{ .param_str = "UiUiV2yfIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },
2432 .{ .param_str = "UiUiV2hfIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },3368 .{ .param_str = "UiUiV2xfIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },
2433 .{ .param_str = "UiUifffIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },3369 .{ .param_str = "UiUifffIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },
2434 .{ .param_str = "V2sV2sV2yfIb", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },3370 .{ .param_str = "V2sV2sV2yfIb", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },
2435 .{ .param_str = "V2sV2sV2hfIb", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },3371 .{ .param_str = "V2sV2sV2xfIb", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },
2436 .{ .param_str = "V2sV2sfffIb", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },3372 .{ .param_str = "V2sV2sfffIb", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },
2437 .{ .param_str = "iiyUifIi", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },3373 .{ .param_str = "iiyUifIi", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },
2438 .{ .param_str = "iihUifIi", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },3374 .{ .param_str = "iixUifIi", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },
2439 .{ .param_str = "iifUifIi", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },3375 .{ .param_str = "iifUifIi", .attributes = .{ .@"const" = true }, .features = "bf8_cvt_scale_insts" },
2440 .{ .param_str = "iiyUifIi", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },3376 .{ .param_str = "iiyUifIi", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },
2441 .{ .param_str = "iihUifIi", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },3377 .{ .param_str = "iixUifIi", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },
2442 .{ .param_str = "iifUifIi", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },3378 .{ .param_str = "iifUifIi", .attributes = .{ .@"const" = true }, .features = "fp8_cvt_scale_insts" },
3379 .{ .param_str = "V3UiV16yUif", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3380 .{ .param_str = "V3UiV16hUif", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3381 .{ .param_str = "V3UiV16fUif", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3382 .{ .param_str = "V3UiV16yUif", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3383 .{ .param_str = "V3UiV16hUif", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3384 .{ .param_str = "V3UiV16fUif", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2443 .{ .param_str = "V6UiV32yUif", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },3385 .{ .param_str = "V6UiV32yUif", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },
2444 .{ .param_str = "V6UiV32hUif", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },3386 .{ .param_str = "V6UiV32xUif", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },
2445 .{ .param_str = "V6UiV32fUif", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },3387 .{ .param_str = "V6UiV32fUif", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },
2446 .{ .param_str = "V6UiV32yUif", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },3388 .{ .param_str = "V6UiV32yUif", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },
2447 .{ .param_str = "V6UiV32hUif", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },3389 .{ .param_str = "V6UiV32xUif", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },
2448 .{ .param_str = "V6UiV32fUif", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },3390 .{ .param_str = "V6UiV32fUif", .attributes = .{ .@"const" = true }, .features = "f16bf16_to_fp6bf6_cvt_scale_insts" },
3391 .{ .param_str = "V2UiV8yUif", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3392 .{ .param_str = "V2UiV8hUif", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3393 .{ .param_str = "V2UiV8fUif", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3394 .{ .param_str = "UiV8yUif", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3395 .{ .param_str = "UiV8hUif", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3396 .{ .param_str = "UiV8fUif", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3397 .{ .param_str = "V2UiV8yUif", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3398 .{ .param_str = "V2UiV8hUif", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3399 .{ .param_str = "V2UiV8fUif", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2449 .{ .param_str = "UiUiV2yUifIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },3400 .{ .param_str = "UiUiV2yUifIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },
2450 .{ .param_str = "UiUiV2hUifIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },3401 .{ .param_str = "UiUiV2xUifIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },
2451 .{ .param_str = "UiUiV2fUifIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },3402 .{ .param_str = "UiUiV2fUifIi", .attributes = .{ .@"const" = true }, .features = "fp4_cvt_scale_insts" },
2452 .{ .param_str = "V2yV2yfUiIb", .attributes = .{ .@"const" = true }, .features = "f32_to_f16bf16_cvt_sr_insts" },3403 .{ .param_str = "V2yV2yfUiIb", .attributes = .{ .@"const" = true }, .features = "f32_to_f16bf16_cvt_sr_insts" },
3404 .{ .param_str = "ihiUiIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2453 .{ .param_str = "ifiiIi", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },3405 .{ .param_str = "ifiiIi", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },
2454 .{ .param_str = "V2hV2hfUiIb", .attributes = .{ .@"const" = true }, .features = "f32_to_f16bf16_cvt_sr_insts" },3406 .{ .param_str = "V2xV2xfUiIb", .attributes = .{ .@"const" = true }, .features = "f32_to_f16bf16_cvt_sr_insts" },
3407 .{ .param_str = "ihiUiIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2455 .{ .param_str = "ifiiIi", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },3408 .{ .param_str = "ifiiIi", .attributes = .{ .@"const" = true }, .features = "fp8_conversion_insts" },
3409 .{ .param_str = "ifiiIi", .attributes = .{ .@"const" = true }, .features = "fp8e5m3_insts" },
3410 .{ .param_str = "V2yffi", .attributes = .{ .@"const" = true }, .features = "bf16_cvt_insts" },
3411 .{ .param_str = "V2hffi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2456 .{ .param_str = "v*4", .attributes = .{ .@"const" = true } },3412 .{ .param_str = "v*4", .attributes = .{ .@"const" = true } },
2457 .{ .param_str = "dddd", .attributes = .{ .@"const" = true } },3413 .{ .param_str = "dddd", .attributes = .{ .@"const" = true } },
2458 .{ .param_str = "ffff", .attributes = .{ .@"const" = true } },3414 .{ .param_str = "ffff", .attributes = .{ .@"const" = true } },
...@@ -2468,10 +3424,10 @@ pub const data = blk: {...@@ -2468,10 +3424,10 @@ pub const data = blk: {
2468 .{ .param_str = "ii*3" },3424 .{ .param_str = "ii*3" },
2469 .{ .param_str = "vLi*3", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },3425 .{ .param_str = "vLi*3", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2470 .{ .param_str = "LiLi*3Li", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },3426 .{ .param_str = "LiLi*3Li", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2471 .{ .param_str = "ff*3f", .attributes = .{ .custom_typecheck = true }, .features = "gfx8_insts" },3427 .{ .param_str = "ff*3f", .features = "gfx8_insts" },
2472 .{ .param_str = "dd*3d", .attributes = .{ .custom_typecheck = true }, .features = "gfx90a_insts" },3428 .{ .param_str = "dd*3d", .features = "gfx90a_insts" },
2473 .{ .param_str = "V2sV2s*3V2s", .attributes = .{ .custom_typecheck = true }, .features = "atomic_ds_pk_add_16_insts" },3429 .{ .param_str = "V2sV2s*3V2s", .attributes = .{ .custom_typecheck = true }, .features = "atomic_ds_pk_add_16_insts" },
2474 .{ .param_str = "V2hV2h*3V2h", .attributes = .{ .custom_typecheck = true }, .features = "atomic_ds_pk_add_16_insts" },3430 .{ .param_str = "V2xV2x*3V2x", .attributes = .{ .custom_typecheck = true }, .features = "atomic_ds_pk_add_16_insts" },
2475 .{ .param_str = "iii", .attributes = .{ .@"const" = true } },3431 .{ .param_str = "iii", .attributes = .{ .@"const" = true } },
2476 .{ .param_str = "iii", .attributes = .{ .@"const" = true }, .features = "gfx12_insts" },3432 .{ .param_str = "iii", .attributes = .{ .@"const" = true }, .features = "gfx12_insts" },
2477 .{ .param_str = "V2UiUiUiV4UiIi", .features = "gfx11_insts" },3433 .{ .param_str = "V2UiUiUiV4UiIi", .features = "gfx11_insts" },
...@@ -2503,21 +3459,26 @@ pub const data = blk: {...@@ -2503,21 +3459,26 @@ pub const data = blk: {
2503 .{ .param_str = "V2iV2i*3", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3459 .{ .param_str = "V2iV2i*3", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
2504 .{ .param_str = "iiIi", .attributes = .{ .@"const" = true } },3460 .{ .param_str = "iiIi", .attributes = .{ .@"const" = true } },
2505 .{ .param_str = "v", .attributes = .{ .@"noreturn" = true } },3461 .{ .param_str = "v", .attributes = .{ .@"noreturn" = true } },
3462 .{ .param_str = "yy", .attributes = .{ .@"const" = true }, .features = "bf16_trans_insts" },
2506 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },3463 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },
2507 .{ .param_str = "WUiddIi", .attributes = .{ .@"const" = true } },3464 .{ .param_str = "WUiddIi", .attributes = .{ .@"const" = true } },
2508 .{ .param_str = "WUiffIi", .attributes = .{ .@"const" = true } },3465 .{ .param_str = "WUiffIi", .attributes = .{ .@"const" = true } },
2509 .{ .param_str = "fV2hV2hfIb", .attributes = .{ .@"const" = true }, .features = "dot10_insts" },3466 .{ .param_str = "fV2xV2xfIb", .attributes = .{ .@"const" = true }, .features = "dot10_insts" },
2510 .{ .param_str = "sV2sV2ss", .attributes = .{ .@"const" = true }, .features = "dot9_insts" },3467 .{ .param_str = "sV2sV2ss", .attributes = .{ .@"const" = true }, .features = "dot9_insts" },
2511 .{ .param_str = "hV2hV2hh", .attributes = .{ .@"const" = true }, .features = "dot9_insts" },3468 .{ .param_str = "xV2xV2xx", .attributes = .{ .@"const" = true }, .features = "dot9_insts" },
2512 .{ .param_str = "fV2sV2sfIb", .attributes = .{ .@"const" = true }, .features = "dot12_insts" },3469 .{ .param_str = "fV2sV2sfIb", .attributes = .{ .@"const" = true }, .features = "dot12_insts" },
2513 .{ .param_str = "fV2yV2yfIb", .attributes = .{ .@"const" = true }, .features = "dot13_insts" },3470 .{ .param_str = "fV2yV2yfIb", .attributes = .{ .@"const" = true }, .features = "dot13_insts" },
2514 .{ .param_str = "vUicC*." },3471 .{ .param_str = "vUicC*." },
2515 .{ .param_str = "ff*0f", .attributes = .{ .custom_typecheck = true }, .features = "gfx940_insts" },3472 .{ .param_str = "ff*0f", .features = "gfx940_insts" },
2516 .{ .param_str = "dd*0d", .attributes = .{ .custom_typecheck = true }, .features = "gfx90a_insts" },3473 .{ .param_str = "dd*0d", .features = "gfx90a_insts" },
2517 .{ .param_str = "V2sV2s*0V2s", .attributes = .{ .custom_typecheck = true }, .features = "atomic_flat_pk_add_16_insts" },3474 .{ .param_str = "V2sV2s*0V2s", .attributes = .{ .custom_typecheck = true }, .features = "atomic_flat_pk_add_16_insts" },
2518 .{ .param_str = "V2hV2h*0V2h", .attributes = .{ .custom_typecheck = true }, .features = "atomic_flat_pk_add_16_insts" },3475 .{ .param_str = "V2xV2x*0V2x", .attributes = .{ .custom_typecheck = true }, .features = "atomic_flat_pk_add_16_insts" },
2519 .{ .param_str = "dd*0d", .attributes = .{ .custom_typecheck = true }, .features = "gfx90a_insts" },3476 .{ .param_str = "dd*0d", .features = "gfx90a_insts" },
2520 .{ .param_str = "dd*0d", .attributes = .{ .custom_typecheck = true }, .features = "gfx90a_insts" },3477 .{ .param_str = "dd*0d", .features = "gfx90a_insts" },
3478 .{ .param_str = "V4iV4i*0Ii", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3479 .{ .param_str = "ii*0Ii", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3480 .{ .param_str = "V2iV2i*0Ii", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3481 .{ .param_str = "vvC*0Ii", .attributes = .{ .@"const" = true }, .features = "vmem_pref_insts" },
2521 .{ .param_str = "ffff", .attributes = .{ .@"const" = true } },3482 .{ .param_str = "ffff", .attributes = .{ .@"const" = true } },
2522 .{ .param_str = "hhhh", .attributes = .{ .@"const" = true }, .features = "gfx9_insts" },3483 .{ .param_str = "hhhh", .attributes = .{ .@"const" = true }, .features = "gfx9_insts" },
2523 .{ .param_str = "dd", .attributes = .{ .@"const" = true } },3484 .{ .param_str = "dd", .attributes = .{ .@"const" = true } },
...@@ -2530,13 +3491,20 @@ pub const data = blk: {...@@ -2530,13 +3491,20 @@ pub const data = blk: {
2530 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },3491 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },
2531 .{ .param_str = "hh", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },3492 .{ .param_str = "hh", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },
2532 .{ .param_str = "WUi" },3493 .{ .param_str = "WUi" },
2533 .{ .param_str = "ff*1f", .attributes = .{ .custom_typecheck = true }, .features = "atomic_fadd_rtn_insts" },3494 .{ .param_str = "ff*1f", .features = "atomic_fadd_rtn_insts" },
2534 .{ .param_str = "dd*1d", .attributes = .{ .custom_typecheck = true }, .features = "gfx90a_insts" },3495 .{ .param_str = "dd*1d", .features = "gfx90a_insts" },
2535 .{ .param_str = "V2sV2s*1V2s", .attributes = .{ .custom_typecheck = true }, .features = "atomic_global_pk_add_bf16_inst" },3496 .{ .param_str = "V2sV2s*1V2s", .attributes = .{ .custom_typecheck = true }, .features = "atomic_global_pk_add_bf16_inst" },
2536 .{ .param_str = "V2hV2h*1V2h", .attributes = .{ .custom_typecheck = true }, .features = "atomic_buffer_global_pk_add_f16_insts" },3497 .{ .param_str = "V2xV2x*1V2x", .attributes = .{ .custom_typecheck = true }, .features = "atomic_buffer_global_pk_add_f16_insts" },
2537 .{ .param_str = "dd*1d", .attributes = .{ .custom_typecheck = true }, .features = "gfx90a_insts" },3498 .{ .param_str = "dd*1d", .features = "gfx90a_insts" },
2538 .{ .param_str = "dd*1d", .attributes = .{ .custom_typecheck = true }, .features = "gfx90a_insts" },3499 .{ .param_str = "dd*1d", .features = "gfx90a_insts" },
2539 .{ .param_str = "vv*1v*3IUiIiIUi", .attributes = .{ .custom_typecheck = true }, .features = "vmem_to_lds_load_insts" },3500 .{ .param_str = "vV4i*1V4i*3IiIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3501 .{ .param_str = "vi*1i*3IiIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3502 .{ .param_str = "vV2i*1V2i*3IiIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3503 .{ .param_str = "vc*1c*3IiIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3504 .{ .param_str = "vv*1v*3IUiIiIUi", .features = "vmem_to_lds_load_insts" },
3505 .{ .param_str = "V4iV4i*1Ii", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3506 .{ .param_str = "ii*1Ii", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3507 .{ .param_str = "V2iV2i*1Ii", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2540 .{ .param_str = "V8yV8y*1", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },3508 .{ .param_str = "V8yV8y*1", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
2541 .{ .param_str = "V8hV8h*1", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },3509 .{ .param_str = "V8hV8h*1", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
2542 .{ .param_str = "V8sV8s*1", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },3510 .{ .param_str = "V8sV8s*1", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
...@@ -2551,6 +3519,11 @@ pub const data = blk: {...@@ -2551,6 +3519,11 @@ pub const data = blk: {
2551 .{ .param_str = "V8sV8s*1", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3519 .{ .param_str = "V8sV8s*1", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
2552 .{ .param_str = "ii*1", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },3520 .{ .param_str = "ii*1", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
2553 .{ .param_str = "V2iV2i*1", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3521 .{ .param_str = "V2iV2i*1", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
3522 .{ .param_str = "vvC*1Ii", .attributes = .{ .@"const" = true }, .features = "vmem_pref_insts" },
3523 .{ .param_str = "vV4i*1V4i*3IiIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3524 .{ .param_str = "vi*1i*3IiIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3525 .{ .param_str = "vV2i*1V2i*3IiIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3526 .{ .param_str = "vc*1c*3IiIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2554 .{ .param_str = "Ui", .attributes = .{ .@"const" = true } },3527 .{ .param_str = "Ui", .attributes = .{ .@"const" = true } },
2555 .{ .param_str = "Ui", .attributes = .{ .@"const" = true } },3528 .{ .param_str = "Ui", .attributes = .{ .@"const" = true } },
2556 .{ .param_str = "Ui", .attributes = .{ .@"const" = true } },3529 .{ .param_str = "Ui", .attributes = .{ .@"const" = true } },
...@@ -2559,47 +3532,161 @@ pub const data = blk: {...@@ -2559,47 +3532,161 @@ pub const data = blk: {
2559 .{ .param_str = "V10UiWUifUcV3fV3fUiV4UiV3f*V3f*", .attributes = .{ .@"const" = true }, .features = "gfx12_insts" },3532 .{ .param_str = "V10UiWUifUcV3fV3fUiV4UiV3f*V3f*", .attributes = .{ .@"const" = true }, .features = "gfx12_insts" },
2560 .{ .param_str = "V10UiWUifUcV3fV3fV2UiV4UiV3f*V3f*", .attributes = .{ .@"const" = true }, .features = "gfx12_insts" },3533 .{ .param_str = "V10UiWUifUcV3fV3fV2UiV4UiV3f*V3f*", .attributes = .{ .@"const" = true }, .features = "gfx12_insts" },
2561 .{ .param_str = "V4UiUifV4fV4fV4fV4Ui", .attributes = .{ .@"const" = true }, .features = "gfx10_insts" },3534 .{ .param_str = "V4UiUifV4fV4fV4fV4Ui", .attributes = .{ .@"const" = true }, .features = "gfx10_insts" },
2562 .{ .param_str = "V4UiUifV4fV4hV4hV4Ui", .attributes = .{ .@"const" = true }, .features = "gfx10_insts" },3535 .{ .param_str = "V4UiUifV4fV4xV4xV4Ui", .attributes = .{ .@"const" = true }, .features = "gfx10_insts" },
2563 .{ .param_str = "V4UiWUifV4fV4fV4fV4Ui", .attributes = .{ .@"const" = true }, .features = "gfx10_insts" },3536 .{ .param_str = "V4UiWUifV4fV4fV4fV4Ui", .attributes = .{ .@"const" = true }, .features = "gfx10_insts" },
2564 .{ .param_str = "V4UiWUifV4fV4hV4hV4Ui", .attributes = .{ .@"const" = true }, .features = "gfx10_insts" },3537 .{ .param_str = "V4UiWUifV4fV4xV4xV4Ui", .attributes = .{ .@"const" = true }, .features = "gfx10_insts" },
3538 .{ .param_str = "V4fiffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3539 .{ .param_str = "V4xiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3540 .{ .param_str = "V4fiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3541 .{ .param_str = "V4xiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3542 .{ .param_str = "V4fiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3543 .{ .param_str = "fiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3544 .{ .param_str = "V4xiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3545 .{ .param_str = "V4fiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3546 .{ .param_str = "fiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3547 .{ .param_str = "V4xiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3548 .{ .param_str = "V4fiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3549 .{ .param_str = "V4xiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3550 .{ .param_str = "V4fiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3551 .{ .param_str = "V4xiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3552 .{ .param_str = "V4fiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3553 .{ .param_str = "V4xiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3554 .{ .param_str = "V4fiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3555 .{ .param_str = "V4xiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3556 .{ .param_str = "V4fiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3557 .{ .param_str = "fiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3558 .{ .param_str = "V4xiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3559 .{ .param_str = "V4fiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3560 .{ .param_str = "fiiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3561 .{ .param_str = "V4xiiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3562 .{ .param_str = "V4fiiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3563 .{ .param_str = "V4xiiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3564 .{ .param_str = "V4fiiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3565 .{ .param_str = "V4xiiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3566 .{ .param_str = "V4fiiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3567 .{ .param_str = "V4xifQtV4ibii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3568 .{ .param_str = "V4fifQtV4ibii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3569 .{ .param_str = "V4xiffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3570 .{ .param_str = "V4fiffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3571 .{ .param_str = "fiffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3572 .{ .param_str = "V4xiffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3573 .{ .param_str = "V4fiffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3574 .{ .param_str = "fifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3575 .{ .param_str = "V4xifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3576 .{ .param_str = "V4fifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3577 .{ .param_str = "V4xifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3578 .{ .param_str = "V4fifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3579 .{ .param_str = "V4xifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3580 .{ .param_str = "V4fifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3581 .{ .param_str = "V4xifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3582 .{ .param_str = "V4fifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3583 .{ .param_str = "V4xiffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3584 .{ .param_str = "V4fiffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3585 .{ .param_str = "fiffffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3586 .{ .param_str = "V4xiffffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3587 .{ .param_str = "V4fiffffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3588 .{ .param_str = "fifffffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3589 .{ .param_str = "V4xifffffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3590 .{ .param_str = "V4fifffffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3591 .{ .param_str = "V4xifffffffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3592 .{ .param_str = "V4fifffffffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3593 .{ .param_str = "V4xiffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3594 .{ .param_str = "V4fiffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3595 .{ .param_str = "V4xifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3596 .{ .param_str = "V4fifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3597 .{ .param_str = "fifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3598 .{ .param_str = "V4xifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3599 .{ .param_str = "V4fifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3600 .{ .param_str = "fiffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3601 .{ .param_str = "V4xiffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3602 .{ .param_str = "V4fiffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3603 .{ .param_str = "V4xiffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3604 .{ .param_str = "V4fiffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3605 .{ .param_str = "V4xiffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3606 .{ .param_str = "V4fiffffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3607 .{ .param_str = "V4xifQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3608 .{ .param_str = "V4fifQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3609 .{ .param_str = "V4xiffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3610 .{ .param_str = "V4fiffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3611 .{ .param_str = "fiffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3612 .{ .param_str = "V4xiffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3613 .{ .param_str = "V4fiffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3614 .{ .param_str = "fifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3615 .{ .param_str = "V4xifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3616 .{ .param_str = "V4fifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3617 .{ .param_str = "V4xifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3618 .{ .param_str = "V4fifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3619 .{ .param_str = "V4xifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3620 .{ .param_str = "V4fifffQtV4ibii", .attributes = .{ .@"const" = true }, .features = "extended_image_insts" },
3621 .{ .param_str = "vV4xiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3622 .{ .param_str = "vV4fiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3623 .{ .param_str = "vV4xiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3624 .{ .param_str = "vV4fiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3625 .{ .param_str = "vfiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3626 .{ .param_str = "vV4xiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3627 .{ .param_str = "vV4fiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3628 .{ .param_str = "vfiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3629 .{ .param_str = "vV4xiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3630 .{ .param_str = "vV4fiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3631 .{ .param_str = "vV4xiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3632 .{ .param_str = "vV4fiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3633 .{ .param_str = "vV4xiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3634 .{ .param_str = "vV4fiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3635 .{ .param_str = "vV4xiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3636 .{ .param_str = "vV4fiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3637 .{ .param_str = "vV4xiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3638 .{ .param_str = "vV4fiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3639 .{ .param_str = "vfiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3640 .{ .param_str = "vV4xiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3641 .{ .param_str = "vV4fiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3642 .{ .param_str = "vfiiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3643 .{ .param_str = "vV4xiiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3644 .{ .param_str = "vV4fiiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3645 .{ .param_str = "vV4xiiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3646 .{ .param_str = "vV4fiiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3647 .{ .param_str = "vV4xiiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
3648 .{ .param_str = "vV4fiiiiiQtii", .attributes = .{ .@"const" = true }, .features = "image_insts" },
2565 .{ .param_str = "v*4", .attributes = .{ .@"const" = true } },3649 .{ .param_str = "v*4", .attributes = .{ .@"const" = true } },
2566 .{ .param_str = "fUiUiUiUi", .attributes = .{ .@"const" = true } },3650 .{ .param_str = "fUiUiUiUi", .attributes = .{ .@"const" = true } },
2567 .{ .param_str = "ffUiUiUi", .attributes = .{ .@"const" = true } },3651 .{ .param_str = "ffUiUiUi", .attributes = .{ .@"const" = true } },
2568 .{ .param_str = "ffUiUibUi", .attributes = .{ .@"const" = true } },3652 .{ .param_str = "ffUiUibUi", .attributes = .{ .@"const" = true } },
2569 .{ .param_str = "fffUiUiUi", .attributes = .{ .@"const" = true } },3653 .{ .param_str = "fffUiUiUi", .attributes = .{ .@"const" = true } },
2570 .{ .param_str = "hffUiUibUi", .attributes = .{ .@"const" = true } },3654 .{ .param_str = "hffUiUibUi", .attributes = .{ .@"const" = true } },
3655 .{ .param_str = "bZUi", .attributes = .{ .@"const" = true }, .features = "wavefrontsize32" },
3656 .{ .param_str = "bWUi", .attributes = .{ .@"const" = true }, .features = "wavefrontsize64" },
2571 .{ .param_str = "bvC*0", .attributes = .{ .@"const" = true } },3657 .{ .param_str = "bvC*0", .attributes = .{ .@"const" = true } },
2572 .{ .param_str = "bvC*0", .attributes = .{ .@"const" = true } },3658 .{ .param_str = "bvC*0", .attributes = .{ .@"const" = true } },
2573 .{ .param_str = "v*4", .attributes = .{ .@"const" = true } },3659 .{ .param_str = "v*4", .attributes = .{ .@"const" = true } },
2574 .{ .param_str = "ddi", .attributes = .{ .@"const" = true } },3660 .{ .param_str = "ddi", .attributes = .{ .@"const" = true } },
2575 .{ .param_str = "ffi", .attributes = .{ .@"const" = true } },3661 .{ .param_str = "ffi", .attributes = .{ .@"const" = true } },
2576 .{ .param_str = "hhi", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },3662 .{ .param_str = "hhi", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },
2577 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true } },3663 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true }, .features = "lerp_inst" },
2578 .{ .param_str = "vv*v*3IUiIiIUi", .features = "vmem_to_lds_load_insts" },3664 .{ .param_str = "vv*v*3IUiIiIUi", .features = "vmem_to_lds_load_insts" },
3665 .{ .param_str = "yy", .attributes = .{ .@"const" = true }, .features = "bf16_trans_insts" },
2579 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },3666 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },
2580 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },3667 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },
2581 .{ .param_str = "Qbv*sii", .attributes = .{ .@"const" = true } },3668 .{ .param_str = "Qbv*sWii", .attributes = .{ .@"const" = true } },
2582 .{ .param_str = "UiUiUi", .attributes = .{ .@"const" = true } },3669 .{ .param_str = "UiUiUi", .attributes = .{ .@"const" = true } },
2583 .{ .param_str = "UiUiUi", .attributes = .{ .@"const" = true } },3670 .{ .param_str = "UiUiUi", .attributes = .{ .@"const" = true } },
2584 .{ .param_str = "V4fV4sV4sV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3671 .{ .param_str = "V4fV4sV4sV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2585 .{ .param_str = "V4fV4hV4hV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3672 .{ .param_str = "V4fV4xV4xV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2586 .{ .param_str = "V16fffV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3673 .{ .param_str = "V16fffV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2587 .{ .param_str = "V16fV2sV2sV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3674 .{ .param_str = "V16fV2sV2sV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2588 .{ .param_str = "V4fV8yV8yV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3675 .{ .param_str = "V4fV8yV8yV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
2589 .{ .param_str = "V4fWiWiV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3676 .{ .param_str = "V4fWiWiV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2590 .{ .param_str = "V4fWiWiV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3677 .{ .param_str = "V4fWiWiV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2591 .{ .param_str = "V4fV8hV8hV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3678 .{ .param_str = "V4fV8xV8xV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
2592 .{ .param_str = "V4fWiWiV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3679 .{ .param_str = "V4fWiWiV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2593 .{ .param_str = "V4fWiWiV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3680 .{ .param_str = "V4fWiWiV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2594 .{ .param_str = "V16fV4sV4sV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3681 .{ .param_str = "V16fV4sV4sV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2595 .{ .param_str = "V16fV4hV4hV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3682 .{ .param_str = "V16fV4xV4xV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2596 .{ .param_str = "V4fffV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3683 .{ .param_str = "V4fffV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2597 .{ .param_str = "V4fV2fV2fV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3684 .{ .param_str = "V4fV2fV2fV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2598 .{ .param_str = "V4fV2sV2sV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3685 .{ .param_str = "V4fV2sV2sV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2599 .{ .param_str = "V16fV8yV8yV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3686 .{ .param_str = "V16fV8yV8yV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
2600 .{ .param_str = "V16fWiWiV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3687 .{ .param_str = "V16fWiWiV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2601 .{ .param_str = "V16fWiWiV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3688 .{ .param_str = "V16fWiWiV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2602 .{ .param_str = "V16fV8hV8hV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3689 .{ .param_str = "V16fV8xV8xV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
2603 .{ .param_str = "V16fWiWiV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3690 .{ .param_str = "V16fWiWiV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2604 .{ .param_str = "V16fWiWiV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3691 .{ .param_str = "V16fWiWiV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2605 .{ .param_str = "V32fffV32fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3692 .{ .param_str = "V32fffV32fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
...@@ -2608,13 +3695,13 @@ pub const data = blk: {...@@ -2608,13 +3695,13 @@ pub const data = blk: {
2608 .{ .param_str = "V16fV2fV2fV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3695 .{ .param_str = "V16fV2fV2fV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2609 .{ .param_str = "V16fV2sV2sV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3696 .{ .param_str = "V16fV2sV2sV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2610 .{ .param_str = "V32fV4sV4sV32fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3697 .{ .param_str = "V32fV4sV4sV32fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2611 .{ .param_str = "V32fV4hV4hV32fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3698 .{ .param_str = "V32fV4xV4xV32fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2612 .{ .param_str = "V16fV4sV4sV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3699 .{ .param_str = "V16fV4sV4sV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2613 .{ .param_str = "V16fV4hV4hV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3700 .{ .param_str = "V16fV4xV4xV16fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2614 .{ .param_str = "V4fffV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3701 .{ .param_str = "V4fffV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2615 .{ .param_str = "V4fV2sV2sV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3702 .{ .param_str = "V4fV2sV2sV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2616 .{ .param_str = "V4fV4sV4sV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3703 .{ .param_str = "V4fV4sV4sV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2617 .{ .param_str = "V4fV4hV4hV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3704 .{ .param_str = "V4fV4xV4xV4fIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2618 .{ .param_str = "V4dddV4dIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3705 .{ .param_str = "V4dddV4dIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2619 .{ .param_str = "ddddIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3706 .{ .param_str = "ddddIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2620 .{ .param_str = "V4iiiV4iIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3707 .{ .param_str = "V4iiiV4iIiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
...@@ -2634,15 +3721,27 @@ pub const data = blk: {...@@ -2634,15 +3721,27 @@ pub const data = blk: {
2634 .{ .param_str = "V4UiWUiUiV4Ui", .attributes = .{ .@"const" = true } },3721 .{ .param_str = "V4UiWUiUiV4Ui", .attributes = .{ .@"const" = true } },
2635 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true } },3722 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true } },
2636 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true }, .features = "gfx8_insts" },3723 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true }, .features = "gfx8_insts" },
3724 .{ .param_str = "V2UiUiUiV2Ui", .attributes = .{ .@"const" = true }, .features = "tensor_cvt_lut_insts" },
3725 .{ .param_str = "V3UiUiULiV2Ui", .attributes = .{ .@"const" = true }, .features = "tensor_cvt_lut_insts" },
3726 .{ .param_str = "V4UiULiULiV2Ui", .attributes = .{ .@"const" = true }, .features = "tensor_cvt_lut_insts" },
2637 .{ .param_str = "UiUiUiUiUiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx10_insts" },3727 .{ .param_str = "UiUiUiUiUiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx10_insts" },
2638 .{ .param_str = "V2UiUiUiIbIb", .attributes = .{ .@"const" = true }, .features = "permlane16_swap" },3728 .{ .param_str = "V2UiUiUiIbIb", .attributes = .{ .@"const" = true }, .features = "permlane16_swap" },
2639 .{ .param_str = "UiUiUiUiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts" },3729 .{ .param_str = "UiUiUiUiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts" },
2640 .{ .param_str = "V2UiUiUiIbIb", .attributes = .{ .@"const" = true }, .features = "permlane32_swap" },3730 .{ .param_str = "V2UiUiUiIbIb", .attributes = .{ .@"const" = true }, .features = "permlane32_swap" },
2641 .{ .param_str = "UiUi", .attributes = .{ .@"const" = true }, .features = "gfx11_insts" },3731 .{ .param_str = "UiUi", .attributes = .{ .@"const" = true }, .features = "gfx11_insts" },
3732 .{ .param_str = "iiii", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3733 .{ .param_str = "iiii", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3734 .{ .param_str = "iii", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3735 .{ .param_str = "iiii", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3736 .{ .param_str = "iiii", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
2642 .{ .param_str = "UiUiUiUiUiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx10_insts" },3737 .{ .param_str = "UiUiUiUiUiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx10_insts" },
2643 .{ .param_str = "UiUiUiUiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts" },3738 .{ .param_str = "UiUiUiUiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts" },
3739 .{ .param_str = "V2sV2sV2sV2sIb", .attributes = .{ .@"const" = true }, .features = "pk_add_min_max_insts" },
3740 .{ .param_str = "V2UsV2UsV2UsV2UsIb", .attributes = .{ .@"const" = true }, .features = "pk_add_min_max_insts" },
3741 .{ .param_str = "V2sV2sV2sV2sIb", .attributes = .{ .@"const" = true }, .features = "pk_add_min_max_insts" },
3742 .{ .param_str = "V2UsV2UsV2UsV2UsIb", .attributes = .{ .@"const" = true }, .features = "pk_add_min_max_insts" },
2644 .{ .param_str = "UiUi", .attributes = .{ .@"const" = true }, .features = "prng_inst" },3743 .{ .param_str = "UiUi", .attributes = .{ .@"const" = true }, .features = "prng_inst" },
2645 .{ .param_str = "WUiWUiUiWUi", .attributes = .{ .@"const" = true } },3744 .{ .param_str = "WUiWUiUiWUi", .attributes = .{ .@"const" = true }, .features = "qsad_insts" },
2646 .{ .param_str = "v*4", .attributes = .{ .@"const" = true } },3745 .{ .param_str = "v*4", .attributes = .{ .@"const" = true } },
2647 .{ .param_str = "V4UiQbiiIi" },3746 .{ .param_str = "V4UiQbiiIi" },
2648 .{ .param_str = "UsQbiiIi" },3747 .{ .param_str = "UsQbiiIi" },
...@@ -2656,8 +3755,16 @@ pub const data = blk: {...@@ -2656,8 +3755,16 @@ pub const data = blk: {
2656 .{ .param_str = "vV2UiQbiiIi" },3755 .{ .param_str = "vV2UiQbiiIi" },
2657 .{ .param_str = "vUcQbiiIi" },3756 .{ .param_str = "vUcQbiiIi" },
2658 .{ .param_str = "vV3UiQbiiIi" },3757 .{ .param_str = "vV3UiQbiiIi" },
2659 .{ .param_str = "vQbv*3IUiiiIiIi", .attributes = .{ .custom_typecheck = true }, .features = "vmem_to_lds_load_insts" },3758 .{ .param_str = "iiQbiiIi" },
3759 .{ .param_str = "ffQbiiIi", .features = "atomic_fadd_rtn_insts" },
3760 .{ .param_str = "V2xV2xQbiiIi", .features = "atomic_buffer_global_pk_add_f16_insts" },
3761 .{ .param_str = "ffQbiiIi", .features = "atomic_fmin_fmax_global_f32" },
3762 .{ .param_str = "ddQbiiIi", .features = "atomic_fmin_fmax_global_f64" },
3763 .{ .param_str = "ffQbiiIi", .features = "atomic_fmin_fmax_global_f32" },
3764 .{ .param_str = "ddQbiiIi", .features = "atomic_fmin_fmax_global_f64" },
3765 .{ .param_str = "vQbv*3IUiiiIiIi", .features = "vmem_to_lds_load_insts" },
2660 .{ .param_str = "dd", .attributes = .{ .@"const" = true } },3766 .{ .param_str = "dd", .attributes = .{ .@"const" = true } },
3767 .{ .param_str = "yy", .attributes = .{ .@"const" = true }, .features = "bf16_trans_insts" },
2661 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },3768 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },
2662 .{ .param_str = "hh", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },3769 .{ .param_str = "hh", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },
2663 .{ .param_str = "WUi", .attributes = .{ .@"const" = true } },3770 .{ .param_str = "WUi", .attributes = .{ .@"const" = true } },
...@@ -2666,16 +3773,21 @@ pub const data = blk: {...@@ -2666,16 +3773,21 @@ pub const data = blk: {
2666 .{ .param_str = "ii", .attributes = .{ .@"const" = true } },3773 .{ .param_str = "ii", .attributes = .{ .@"const" = true } },
2667 .{ .param_str = "iii", .attributes = .{ .@"const" = true } },3774 .{ .param_str = "iii", .attributes = .{ .@"const" = true } },
2668 .{ .param_str = "dd", .attributes = .{ .@"const" = true } },3775 .{ .param_str = "dd", .attributes = .{ .@"const" = true } },
3776 .{ .param_str = "yy", .attributes = .{ .@"const" = true }, .features = "bf16_trans_insts" },
2669 .{ .param_str = "dd", .attributes = .{ .@"const" = true } },3777 .{ .param_str = "dd", .attributes = .{ .@"const" = true } },
2670 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },3778 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },
2671 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },3779 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },
2672 .{ .param_str = "hh", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },3780 .{ .param_str = "hh", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },
2673 .{ .param_str = "v" },3781 .{ .param_str = "v" },
3782 .{ .param_str = "vv*i", .features = "gfx12_insts" },
3783 .{ .param_str = "vv*", .features = "gfx12_insts" },
3784 .{ .param_str = "vIs", .features = "gfx12_insts" },
2674 .{ .param_str = "vIi", .features = "gfx12_insts" },3785 .{ .param_str = "vIi", .features = "gfx12_insts" },
2675 .{ .param_str = "bIi", .features = "gfx12_insts" },3786 .{ .param_str = "bIi", .features = "gfx12_insts" },
2676 .{ .param_str = "vv*i", .features = "gfx12_insts" },3787 .{ .param_str = "vv*i", .features = "gfx12_insts" },
2677 .{ .param_str = "vIs", .features = "gfx12_insts" },3788 .{ .param_str = "vIs", .features = "gfx12_insts" },
2678 .{ .param_str = "vQbIiUi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts" },3789 .{ .param_str = "vQbIiUi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts" },
3790 .{ .param_str = "v", .features = "gfx1250_insts" },
2679 .{ .param_str = "v" },3791 .{ .param_str = "v" },
2680 .{ .param_str = "v", .features = "ci_insts" },3792 .{ .param_str = "v", .features = "ci_insts" },
2681 .{ .param_str = "v", .features = "gfx8_insts" },3793 .{ .param_str = "v", .features = "gfx8_insts" },
...@@ -2704,9 +3816,12 @@ pub const data = blk: {...@@ -2704,9 +3816,12 @@ pub const data = blk: {
2704 .{ .param_str = "v", .features = "gfx11_insts" },3816 .{ .param_str = "v", .features = "gfx11_insts" },
2705 .{ .param_str = "vIUs", .features = "gfx1250_insts" },3817 .{ .param_str = "vIUs", .features = "gfx1250_insts" },
2706 .{ .param_str = "vIi" },3818 .{ .param_str = "vIi" },
2707 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true } },3819 .{ .param_str = "vv*", .features = "s_wakeup_barrier_inst" },
2708 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true } },3820 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true }, .features = "sad_insts" },
2709 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true } },3821 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true }, .features = "sad_insts" },
3822 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true }, .features = "sad_insts" },
3823 .{ .param_str = "UsUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
3824 .{ .param_str = "UsUi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2710 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true } },3825 .{ .param_str = "UiUiUiUi", .attributes = .{ .@"const" = true } },
2711 .{ .param_str = "vIi" },3826 .{ .param_str = "vIi" },
2712 .{ .param_str = "vIiIiIi" },3827 .{ .param_str = "vIiIiIi" },
...@@ -2716,6 +3831,7 @@ pub const data = blk: {...@@ -2716,6 +3831,7 @@ pub const data = blk: {
2716 .{ .param_str = "vWUi" },3831 .{ .param_str = "vWUi" },
2717 .{ .param_str = "WUiiiIi", .attributes = .{ .@"const" = true } },3832 .{ .param_str = "WUiiiIi", .attributes = .{ .@"const" = true } },
2718 .{ .param_str = "WUiWiWiIi", .attributes = .{ .@"const" = true } },3833 .{ .param_str = "WUiWiWiIi", .attributes = .{ .@"const" = true } },
3834 .{ .param_str = "yy", .attributes = .{ .@"const" = true }, .features = "bf16_trans_insts" },
2719 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },3835 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },
2720 .{ .param_str = "hh", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },3836 .{ .param_str = "hh", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },
2721 .{ .param_str = "V4fV4iV8iV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3837 .{ .param_str = "V4fV4iV8iV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
...@@ -2723,19 +3839,19 @@ pub const data = blk: {...@@ -2723,19 +3839,19 @@ pub const data = blk: {
2723 .{ .param_str = "V4fV4iV8iV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3839 .{ .param_str = "V4fV4iV8iV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
2724 .{ .param_str = "V4fV4iV8iV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3840 .{ .param_str = "V4fV4iV8iV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
2725 .{ .param_str = "V4fV4sV8sV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3841 .{ .param_str = "V4fV4sV8sV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2726 .{ .param_str = "V4fV4hV8hV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3842 .{ .param_str = "V4fV4xV8xV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2727 .{ .param_str = "V4fV8yV16yV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3843 .{ .param_str = "V4fV8yV16yV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
2728 .{ .param_str = "V4fV2iV4iV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3844 .{ .param_str = "V4fV2iV4iV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2729 .{ .param_str = "V4fV2iV4iV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3845 .{ .param_str = "V4fV2iV4iV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2730 .{ .param_str = "V4fV8hV16hV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3846 .{ .param_str = "V4fV8xV16xV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
2731 .{ .param_str = "V4fV2iV4iV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3847 .{ .param_str = "V4fV2iV4iV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2732 .{ .param_str = "V4fV2iV4iV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3848 .{ .param_str = "V4fV2iV4iV4fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2733 .{ .param_str = "V16fV4sV8sV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3849 .{ .param_str = "V16fV4sV8sV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2734 .{ .param_str = "V16fV4hV8hV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3850 .{ .param_str = "V16fV4xV8xV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2735 .{ .param_str = "V16fV8yV16yV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3851 .{ .param_str = "V16fV8yV16yV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
2736 .{ .param_str = "V16fV2iV4iV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3852 .{ .param_str = "V16fV2iV4iV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2737 .{ .param_str = "V16fV2iV4iV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3853 .{ .param_str = "V16fV2iV4iV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2738 .{ .param_str = "V16fV8hV16hV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3854 .{ .param_str = "V16fV8xV16xV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
2739 .{ .param_str = "V16fV2iV4iV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3855 .{ .param_str = "V16fV2iV4iV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2740 .{ .param_str = "V16fV2iV4iV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },3856 .{ .param_str = "V16fV2iV4iV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "fp8_insts" },
2741 .{ .param_str = "V16fV4iV8iV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3857 .{ .param_str = "V16fV4iV8iV16fiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
...@@ -2747,14 +3863,27 @@ pub const data = blk: {...@@ -2747,14 +3863,27 @@ pub const data = blk: {
2747 .{ .param_str = "V16iV2iV4iV16iiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },3863 .{ .param_str = "V16iV2iV4iV16iiIiIi", .attributes = .{ .@"const" = true }, .features = "mai_insts" },
2748 .{ .param_str = "V16iV4iV8iV16iiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },3864 .{ .param_str = "V16iV4iV8iV16iiIiIi", .attributes = .{ .@"const" = true }, .features = "gfx950_insts" },
2749 .{ .param_str = "dd", .attributes = .{ .@"const" = true } },3865 .{ .param_str = "dd", .attributes = .{ .@"const" = true } },
3866 .{ .param_str = "yy", .attributes = .{ .@"const" = true }, .features = "bf16_trans_insts" },
2750 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },3867 .{ .param_str = "ff", .attributes = .{ .@"const" = true } },
2751 .{ .param_str = "hh", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },3868 .{ .param_str = "hh", .attributes = .{ .@"const" = true }, .features = "16_bit_insts" },
3869 .{ .param_str = "vQbv*3IUiiiiIiIi", .features = "vmem_to_lds_load_insts" },
2752 .{ .param_str = "iIbiIbiiIb", .attributes = .{ .@"const" = true }, .features = "dot8_insts" },3870 .{ .param_str = "iIbiIbiiIb", .attributes = .{ .@"const" = true }, .features = "dot8_insts" },
2753 .{ .param_str = "iIbiIbiiIb", .attributes = .{ .@"const" = true }, .features = "dot8_insts" },3871 .{ .param_str = "iIbiIbiiIb", .attributes = .{ .@"const" = true }, .features = "dot8_insts" },
2754 .{ .param_str = "V8sV8sV16sV8si", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3872 .{ .param_str = "V8sV8sV16sV8si", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
2755 .{ .param_str = "V4sV4sV8sV4si", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },3873 .{ .param_str = "V4sV4sV8sV4si", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
3874 .{ .param_str = "V8yIbV16yIbV32yV8yiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3875 .{ .param_str = "V8fIbV16yIbV32yV8fiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3876 .{ .param_str = "V8hV8iV16iV8hiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3877 .{ .param_str = "V8hV8iV16iV8hiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3878 .{ .param_str = "V8hV8iV16iV8hiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3879 .{ .param_str = "V8hV8iV16iV8hiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
2756 .{ .param_str = "V8hV8hV16hV8hi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3880 .{ .param_str = "V8hV8hV16hV8hi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
2757 .{ .param_str = "V4hV4hV8hV4hi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },3881 .{ .param_str = "V4hV4hV8hV4hi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
3882 .{ .param_str = "V8hIbV16hIbV32hV8hiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3883 .{ .param_str = "V8fV8iV16iV8fiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3884 .{ .param_str = "V8fV8iV16iV8fiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3885 .{ .param_str = "V8fV8iV16iV8fiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3886 .{ .param_str = "V8fV8iV16iV8fiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
2758 .{ .param_str = "V8fV8sV16sV8fi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3887 .{ .param_str = "V8fV8sV16sV8fi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
2759 .{ .param_str = "V4fV4sV8sV4fi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },3888 .{ .param_str = "V4fV4sV8sV4fi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
2760 .{ .param_str = "V8fV2iV4iV8fi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3889 .{ .param_str = "V8fV2iV4iV8fi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
...@@ -2767,6 +3896,9 @@ pub const data = blk: {...@@ -2767,6 +3896,9 @@ pub const data = blk: {
2767 .{ .param_str = "V4fiV2iV4fi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },3896 .{ .param_str = "V4fiV2iV4fi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
2768 .{ .param_str = "V8fV2iV4iV8fi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3897 .{ .param_str = "V8fV2iV4iV8fi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
2769 .{ .param_str = "V4fiV2iV4fi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },3898 .{ .param_str = "V4fiV2iV4fi", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
3899 .{ .param_str = "V8fIbV16yIbV32yV8fiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3900 .{ .param_str = "V8fIbV16hIbV32hV8fiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3901 .{ .param_str = "V8iIbV8iIbV16iV8iiIbIb.", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
2770 .{ .param_str = "V8iIbiIbV2iV8iiIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3902 .{ .param_str = "V8iIbiIbV2iV8iiIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
2771 .{ .param_str = "V4iIbiIbiV4iiIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },3903 .{ .param_str = "V4iIbiIbiV4iiIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
2772 .{ .param_str = "V8iIbV2iIbV4iV8iiIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3904 .{ .param_str = "V8iIbV2iIbV4iV8iiIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
...@@ -2774,6 +3906,8 @@ pub const data = blk: {...@@ -2774,6 +3906,8 @@ pub const data = blk: {
2774 .{ .param_str = "V8iIbV2iIbV4iV8iiIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3906 .{ .param_str = "V8iIbV2iIbV4iV8iiIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
2775 .{ .param_str = "V4iIbiIbV2iV4iiIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },3907 .{ .param_str = "V4iIbiIbV2iV4iiIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
2776 .{ .param_str = "yy", .attributes = .{ .@"const" = true }, .features = "bf16_trans_insts" },3908 .{ .param_str = "yy", .attributes = .{ .@"const" = true }, .features = "bf16_trans_insts" },
3909 .{ .param_str = "ff", .attributes = .{ .@"const" = true }, .features = "tanh_insts" },
3910 .{ .param_str = "hh", .attributes = .{ .@"const" = true }, .features = "tanh_insts" },
2777 .{ .param_str = "vV4iV8iV4iV4iIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },3911 .{ .param_str = "vV4iV8iV4iV4iIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2778 .{ .param_str = "vV4iV8iIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },3912 .{ .param_str = "vV4iV8iIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
2779 .{ .param_str = "vV4iV8iV4iV4iIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },3913 .{ .param_str = "vV4iV8iV4iV4iIi", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts" },
...@@ -2788,6 +3922,28 @@ pub const data = blk: {...@@ -2788,6 +3922,28 @@ pub const data = blk: {
2788 .{ .param_str = "WUiWUiWUiIi", .attributes = .{ .@"const" = true } },3922 .{ .param_str = "WUiWUiWUiIi", .attributes = .{ .@"const" = true } },
2789 .{ .param_str = "iiiIiIiIiIb", .attributes = .{ .@"const" = true, .custom_typecheck = true }, .features = "dpp" },3923 .{ .param_str = "iiiIiIiIiIb", .attributes = .{ .@"const" = true, .custom_typecheck = true }, .features = "dpp" },
2790 .{ .param_str = "v" },3924 .{ .param_str = "v" },
3925 .{ .param_str = "ZUiZUiZi", .attributes = .{ .@"const" = true } },
3926 .{ .param_str = "WUiWUiZi", .attributes = .{ .@"const" = true } },
3927 .{ .param_str = "ZiZiZi", .attributes = .{ .@"const" = true } },
3928 .{ .param_str = "WiWiZi", .attributes = .{ .@"const" = true } },
3929 .{ .param_str = "ffZi", .attributes = .{ .@"const" = true } },
3930 .{ .param_str = "ffZi", .attributes = .{ .@"const" = true } },
3931 .{ .param_str = "ffZi", .attributes = .{ .@"const" = true } },
3932 .{ .param_str = "ffZi", .attributes = .{ .@"const" = true } },
3933 .{ .param_str = "ZiZiZi", .attributes = .{ .@"const" = true } },
3934 .{ .param_str = "WiWiZi", .attributes = .{ .@"const" = true } },
3935 .{ .param_str = "ZUiZUiZi", .attributes = .{ .@"const" = true } },
3936 .{ .param_str = "WUiWUiZi", .attributes = .{ .@"const" = true } },
3937 .{ .param_str = "ZiZiZi", .attributes = .{ .@"const" = true } },
3938 .{ .param_str = "WiWiZi", .attributes = .{ .@"const" = true } },
3939 .{ .param_str = "ZUiZUiZi", .attributes = .{ .@"const" = true } },
3940 .{ .param_str = "WUiWUiZi", .attributes = .{ .@"const" = true } },
3941 .{ .param_str = "ZiZiZi", .attributes = .{ .@"const" = true } },
3942 .{ .param_str = "WiWiZi", .attributes = .{ .@"const" = true } },
3943 .{ .param_str = "ZUiZUiZi", .attributes = .{ .@"const" = true } },
3944 .{ .param_str = "WUiWUiZi", .attributes = .{ .@"const" = true } },
3945 .{ .param_str = "ZiZiZi", .attributes = .{ .@"const" = true } },
3946 .{ .param_str = "WiWiZi", .attributes = .{ .@"const" = true } },
2791 .{ .param_str = "Ui", .attributes = .{ .@"const" = true } },3947 .{ .param_str = "Ui", .attributes = .{ .@"const" = true } },
2792 .{ .param_str = "V16sV16sV16sV16sIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize32" },3948 .{ .param_str = "V16sV16sV16sV16sIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize32" },
2793 .{ .param_str = "V8sV16sV16sV8sIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize64" },3949 .{ .param_str = "V8sV16sV16sV8sIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize64" },
...@@ -2795,12 +3951,28 @@ pub const data = blk: {...@@ -2795,12 +3951,28 @@ pub const data = blk: {
2795 .{ .param_str = "V8sV8sV8sV8s", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3951 .{ .param_str = "V8sV8sV8sV8s", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
2796 .{ .param_str = "V8sV16sV16sV8sIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize64" },3952 .{ .param_str = "V8sV16sV16sV8sIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize64" },
2797 .{ .param_str = "V4sV4sV4sV4s", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },3953 .{ .param_str = "V4sV4sV4sV4s", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
2798 .{ .param_str = "V16hV16hV16hV16hIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize32" },3954 .{ .param_str = "V8yIbV16yIbV16yIsV8yIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
2799 .{ .param_str = "V8hV16hV16hV8hIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize64" },3955 .{ .param_str = "V8yIbV16yIbV16yIsV8fIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
2800 .{ .param_str = "V16hV16hV16hV16hIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize32" },3956 .{ .param_str = "V8hV16iV16iIsV8hIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
2801 .{ .param_str = "V8hV8hV8hV8h", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3957 .{ .param_str = "V8hV16iV16iIsV8hIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
2802 .{ .param_str = "V8hV16hV16hV8hIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize64" },3958 .{ .param_str = "V8hV16iV16iIsV8hIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
2803 .{ .param_str = "V4hV4hV4hV4h", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },3959 .{ .param_str = "V8hV16iV16iIsV8hIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3960 .{ .param_str = "V16xV16xV16xV16xIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize32" },
3961 .{ .param_str = "V8xV16xV16xV8xIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize64" },
3962 .{ .param_str = "V16xV16xV16xV16xIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize32" },
3963 .{ .param_str = "V8xV8xV8xV8x", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
3964 .{ .param_str = "V8xV16xV16xV8xIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize64" },
3965 .{ .param_str = "V4xV4xV4xV4x", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
3966 .{ .param_str = "V8hIbV16hIbV16hIsV8hIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3967 .{ .param_str = "V8hV8iV8iIsV8hIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3968 .{ .param_str = "V8hV8iV8iIsV8hIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3969 .{ .param_str = "V8hV8iV8iIsV8hIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3970 .{ .param_str = "V8hV8iV8iIsV8hIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3971 .{ .param_str = "V8fV16iV16iIsV8fIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3972 .{ .param_str = "V8fV16iV16iIsV8fIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3973 .{ .param_str = "V8fIiV16iIiV16iIsV8f", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3974 .{ .param_str = "V8fV16iV16iIsV8fIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3975 .{ .param_str = "V8fV16iV16iIsV8fIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
2804 .{ .param_str = "V8fV16sV16sV8f", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize32" },3976 .{ .param_str = "V8fV16sV16sV8f", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize32" },
2805 .{ .param_str = "V8fV8sV8sV8f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3977 .{ .param_str = "V8fV8sV8sV8f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
2806 .{ .param_str = "V4fV16sV16sV4f", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize64" },3978 .{ .param_str = "V4fV16sV16sV4f", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize64" },
...@@ -2809,14 +3981,22 @@ pub const data = blk: {...@@ -2809,14 +3981,22 @@ pub const data = blk: {
2809 .{ .param_str = "V4fiiV4f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },3981 .{ .param_str = "V4fiiV4f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
2810 .{ .param_str = "V8fV2iV2iV8f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3982 .{ .param_str = "V8fV2iV2iV8f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
2811 .{ .param_str = "V4fiiV4f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },3983 .{ .param_str = "V4fiiV4f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
2812 .{ .param_str = "V8fV16hV16hV8f", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize32" },3984 .{ .param_str = "V8fV16xV16xV8f", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize32" },
2813 .{ .param_str = "V8fV8hV8hV8f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3985 .{ .param_str = "V8fV8xV8xV8f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
2814 .{ .param_str = "V4fV16hV16hV4f", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize64" },3986 .{ .param_str = "V4fV16xV16xV4f", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize64" },
2815 .{ .param_str = "V4fV4hV4hV4f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },3987 .{ .param_str = "V4fV4xV4xV4f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
2816 .{ .param_str = "V8fV2iV2iV8f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3988 .{ .param_str = "V8fV2iV2iV8f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
2817 .{ .param_str = "V4fiiV4f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },3989 .{ .param_str = "V4fiiV4f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
2818 .{ .param_str = "V8fV2iV2iV8f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },3990 .{ .param_str = "V8fV2iV2iV8f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
2819 .{ .param_str = "V4fiiV4f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },3991 .{ .param_str = "V4fiiV4f", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
3992 .{ .param_str = "V8fIbV16yIbV16yIsV8fIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3993 .{ .param_str = "V8fIbV16hIbV16hIsV8fIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3994 .{ .param_str = "V8fIbV2fIbV2fIsV8fIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3995 .{ .param_str = "V8fV8iV8iIsV8fIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3996 .{ .param_str = "V8fV8iV8iIsV8fIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3997 .{ .param_str = "V8fV8iV8iIsV8fIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3998 .{ .param_str = "V8fV8iV8iIsV8fIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
3999 .{ .param_str = "V16fV16iV8iIsV16f", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
2820 .{ .param_str = "V8iIbV2iIbV2iV8iIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize32" },4000 .{ .param_str = "V8iIbV2iIbV2iV8iIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize32" },
2821 .{ .param_str = "V8iIbiIbiV8iIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },4001 .{ .param_str = "V8iIbiIbiV8iIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
2822 .{ .param_str = "V4iIbV2iIbV2iV4iIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize64" },4002 .{ .param_str = "V4iIbV2iIbV2iV4iIb", .attributes = .{ .@"const" = true }, .features = "gfx11_insts,wavefrontsize64" },
...@@ -2827,6 +4007,11 @@ pub const data = blk: {...@@ -2827,6 +4007,11 @@ pub const data = blk: {
2827 .{ .param_str = "V4iIbiIbiV4iIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },4007 .{ .param_str = "V4iIbiIbiV4iIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
2828 .{ .param_str = "V8iIbV2iIbV2iV8iIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },4008 .{ .param_str = "V8iIbV2iIbV2iV8iIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize32" },
2829 .{ .param_str = "V4iIbiIbiV4iIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },4009 .{ .param_str = "V4iIbiIbiV4iIb", .attributes = .{ .@"const" = true }, .features = "gfx12_insts,wavefrontsize64" },
4010 .{ .param_str = "V8iIbV8iIbV8iV8iIbIb.", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
4011 .{ .param_str = "V8fIiV16iIiV16iIsV8fIiIiLiIiIiLiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
4012 .{ .param_str = "V16fV16iV8iIsV16fIiIiLiIiIiLiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
4013 .{ .param_str = "V8fIiV16iIiV16iIsV8fIiIiiIiIiiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
4014 .{ .param_str = "V16fV16iV8iIsV16fIiIiiIiIiiIbIb", .attributes = .{ .@"const" = true }, .features = "gfx1250_insts,wavefrontsize32" },
2830 .{ .param_str = "Ui", .attributes = .{ .@"const" = true } },4015 .{ .param_str = "Ui", .attributes = .{ .@"const" = true } },
2831 .{ .param_str = "Ui", .attributes = .{ .@"const" = true } },4016 .{ .param_str = "Ui", .attributes = .{ .@"const" = true } },
2832 .{ .param_str = "Ui", .attributes = .{ .@"const" = true } },4017 .{ .param_str = "Ui", .attributes = .{ .@"const" = true } },
lib/compiler/aro/aro/Builtins/arm.zig+2-2
...@@ -951,7 +951,7 @@ pub const data = blk: {...@@ -951,7 +951,7 @@ pub const data = blk: {
951 .{ .param_str = "vUIiUIivC*" },951 .{ .param_str = "vUIiUIivC*" },
952 .{ .param_str = "vUIiUIivC*" },952 .{ .param_str = "vUIiUIivC*" },
953 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },953 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
954 .{ .param_str = "LLUiv*" },954 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
955 .{ .param_str = "vUIiUIiUiUIiUIiUIi" },955 .{ .param_str = "vUIiUIiUiUIiUIiUIi" },
956 .{ .param_str = "vUIiUIiUiUIiUIiUIi" },956 .{ .param_str = "vUIiUIiUiUIiUIiUIi" },
957 .{ .param_str = "vUIiUIiLLUiUIi" },957 .{ .param_str = "vUIiUIiLLUiUIi" },
...@@ -1023,7 +1023,7 @@ pub const data = blk: {...@@ -1023,7 +1023,7 @@ pub const data = blk: {
1023 .{ .param_str = "vUIiUIiv*" },1023 .{ .param_str = "vUIiUIiv*" },
1024 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true } },1024 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true } },
1025 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true } },1025 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true } },
1026 .{ .param_str = "iLLUiv*" },1026 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true } },
1027 .{ .param_str = "iii", .attributes = .{ .@"const" = true } },1027 .{ .param_str = "iii", .attributes = .{ .@"const" = true } },
1028 .{ .param_str = "ii", .attributes = .{ .@"const" = true } },1028 .{ .param_str = "ii", .attributes = .{ .@"const" = true } },
1029 .{ .param_str = "UiUiUi", .attributes = .{ .@"const" = true } },1029 .{ .param_str = "UiUiUi", .attributes = .{ .@"const" = true } },
lib/compiler/aro/aro/Builtins/common.zig+1633-1506
...@@ -61,6 +61,8 @@ pub const Tag = enum(u16) { _Block_object_assign,...@@ -61,6 +61,8 @@ pub const Tag = enum(u16) { _Block_object_assign,
61 __atomic_fetch_nand,61 __atomic_fetch_nand,
62 __atomic_fetch_or,62 __atomic_fetch_or,
63 __atomic_fetch_sub,63 __atomic_fetch_sub,
64 __atomic_fetch_udec,
65 __atomic_fetch_uinc,
64 __atomic_fetch_xor,66 __atomic_fetch_xor,
65 __atomic_is_lock_free,67 __atomic_is_lock_free,
66 __atomic_load,68 __atomic_load,
...@@ -129,6 +131,7 @@ pub const Tag = enum(u16) { _Block_object_assign,...@@ -129,6 +131,7 @@ pub const Tag = enum(u16) { _Block_object_assign,
129 __builtin_alloca_with_align,131 __builtin_alloca_with_align,
130 __builtin_alloca_with_align_uninitialized,132 __builtin_alloca_with_align_uninitialized,
131 __builtin_allow_runtime_check,133 __builtin_allow_runtime_check,
134 __builtin_allow_sanitize_check,
132 __builtin_annotation,135 __builtin_annotation,
133 __builtin_asin,136 __builtin_asin,
134 __builtin_asinf,137 __builtin_asinf,
...@@ -168,6 +171,7 @@ pub const Tag = enum(u16) { _Block_object_assign,...@@ -168,6 +171,7 @@ pub const Tag = enum(u16) { _Block_object_assign,
168 __builtin_bswap16,171 __builtin_bswap16,
169 __builtin_bswap32,172 __builtin_bswap32,
170 __builtin_bswap64,173 __builtin_bswap64,
174 __builtin_bswapg,
171 __builtin_bzero,175 __builtin_bzero,
172 __builtin_c23_va_start,176 __builtin_c23_va_start,
173 __builtin_cabs,177 __builtin_cabs,
...@@ -305,23 +309,30 @@ pub const Tag = enum(u16) { _Block_object_assign,...@@ -305,23 +309,30 @@ pub const Tag = enum(u16) { _Block_object_assign,
305 __builtin_elementwise_bitreverse,309 __builtin_elementwise_bitreverse,
306 __builtin_elementwise_canonicalize,310 __builtin_elementwise_canonicalize,
307 __builtin_elementwise_ceil,311 __builtin_elementwise_ceil,
312 __builtin_elementwise_clzg,
308 __builtin_elementwise_copysign,313 __builtin_elementwise_copysign,
309 __builtin_elementwise_cos,314 __builtin_elementwise_cos,
310 __builtin_elementwise_cosh,315 __builtin_elementwise_cosh,
316 __builtin_elementwise_ctzg,
311 __builtin_elementwise_exp,317 __builtin_elementwise_exp,
312 __builtin_elementwise_exp10,318 __builtin_elementwise_exp10,
313 __builtin_elementwise_exp2,319 __builtin_elementwise_exp2,
314 __builtin_elementwise_floor,320 __builtin_elementwise_floor,
315 __builtin_elementwise_fma,321 __builtin_elementwise_fma,
316 __builtin_elementwise_fmod,322 __builtin_elementwise_fmod,
323 __builtin_elementwise_fshl,
324 __builtin_elementwise_fshr,
325 __builtin_elementwise_ldexp,
317 __builtin_elementwise_log,326 __builtin_elementwise_log,
318 __builtin_elementwise_log10,327 __builtin_elementwise_log10,
319 __builtin_elementwise_log2,328 __builtin_elementwise_log2,
320 __builtin_elementwise_max,329 __builtin_elementwise_max,
321 __builtin_elementwise_maximum,330 __builtin_elementwise_maximum,
331 __builtin_elementwise_maximumnum,
322 __builtin_elementwise_maxnum,332 __builtin_elementwise_maxnum,
323 __builtin_elementwise_min,333 __builtin_elementwise_min,
324 __builtin_elementwise_minimum,334 __builtin_elementwise_minimum,
335 __builtin_elementwise_minimumnum,
325 __builtin_elementwise_minnum,336 __builtin_elementwise_minnum,
326 __builtin_elementwise_nearbyint,337 __builtin_elementwise_nearbyint,
327 __builtin_elementwise_popcount,338 __builtin_elementwise_popcount,
...@@ -442,6 +453,7 @@ pub const Tag = enum(u16) { _Block_object_assign,...@@ -442,6 +453,7 @@ pub const Tag = enum(u16) { _Block_object_assign,
442 __builtin_ilogbl,453 __builtin_ilogbl,
443 __builtin_index,454 __builtin_index,
444 __builtin_inf,455 __builtin_inf,
456 __builtin_infer_alloc_token,
445 __builtin_inff,457 __builtin_inff,
446 __builtin_inff128,458 __builtin_inff128,
447 __builtin_inff16,459 __builtin_inff16,
...@@ -517,6 +529,12 @@ pub const Tag = enum(u16) { _Block_object_assign,...@@ -517,6 +529,12 @@ pub const Tag = enum(u16) { _Block_object_assign,
517 __builtin_lroundf128,529 __builtin_lroundf128,
518 __builtin_lroundl,530 __builtin_lroundl,
519 __builtin_malloc,531 __builtin_malloc,
532 __builtin_masked_compress_store,
533 __builtin_masked_expand_load,
534 __builtin_masked_gather,
535 __builtin_masked_load,
536 __builtin_masked_scatter,
537 __builtin_masked_store,
520 __builtin_matrix_column_major_load,538 __builtin_matrix_column_major_load,
521 __builtin_matrix_column_major_store,539 __builtin_matrix_column_major_store,
522 __builtin_matrix_transpose,540 __builtin_matrix_transpose,
...@@ -689,6 +707,7 @@ pub const Tag = enum(u16) { _Block_object_assign,...@@ -689,6 +707,7 @@ pub const Tag = enum(u16) { _Block_object_assign,
689 __builtin_ssub_overflow,707 __builtin_ssub_overflow,
690 __builtin_ssubl_overflow,708 __builtin_ssubl_overflow,
691 __builtin_ssubll_overflow,709 __builtin_ssubll_overflow,
710 __builtin_stack_address,
692 __builtin_stdarg_start,711 __builtin_stdarg_start,
693 __builtin_stpcpy,712 __builtin_stpcpy,
694 __builtin_stpncpy,713 __builtin_stpncpy,
...@@ -853,6 +872,8 @@ pub const Tag = enum(u16) { _Block_object_assign,...@@ -853,6 +872,8 @@ pub const Tag = enum(u16) { _Block_object_assign,
853 __scoped_atomic_fetch_nand,872 __scoped_atomic_fetch_nand,
854 __scoped_atomic_fetch_or,873 __scoped_atomic_fetch_or,
855 __scoped_atomic_fetch_sub,874 __scoped_atomic_fetch_sub,
875 __scoped_atomic_fetch_udec,
876 __scoped_atomic_fetch_uinc,
856 __scoped_atomic_fetch_xor,877 __scoped_atomic_fetch_xor,
857 __scoped_atomic_load,878 __scoped_atomic_load,
858 __scoped_atomic_load_n,879 __scoped_atomic_load_n,
...@@ -1438,7 +1459,7 @@ pub const longest_name = 41;...@@ -1438,7 +1459,7 @@ pub const longest_name = 41;
1438/// If found, returns the index of the node within the `dafsa` array.1459/// If found, returns the index of the node within the `dafsa` array.
1439/// Otherwise, returns `null`.1460/// Otherwise, returns `null`.
1440pub fn findInList(first_child_index: u16, char: u8) ?u16 {1461pub fn findInList(first_child_index: u16, char: u8) ?u16 {
1441 @setEvalBranchQuota(2748);1462 @setEvalBranchQuota(2790);
1442 var index = first_child_index;1463 var index = first_child_index;
1443 while (true) {1464 while (true) {
1444 if (dafsa[index].char == char) return index;1465 if (dafsa[index].char == char) return index;
...@@ -1533,7 +1554,7 @@ const Node = packed struct {...@@ -1533,7 +1554,7 @@ const Node = packed struct {
15331554
1534const dafsa = [_]Node{1555const dafsa = [_]Node{
1535 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },1556 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },
1536 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1018, .child_index = 19 },1557 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1039, .child_index = 19 },
1537 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 31 },1558 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 31 },
1538 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 36 },1559 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 36 },
1539 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 82, .child_index = 38 },1560 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 82, .child_index = 38 },
...@@ -1555,7 +1576,7 @@ const dafsa = [_]Node{...@@ -1555,7 +1576,7 @@ const dafsa = [_]Node{
1555 .{ .char = 'E', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 102 },1576 .{ .char = 'E', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 102 },
1556 .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 103 },1577 .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 103 },
1557 .{ .char = 'R', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 104 },1578 .{ .char = 'R', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 104 },
1558 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 940, .child_index = 105 },1579 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 961, .child_index = 105 },
1559 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 123 },1580 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 123 },
1560 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 125 },1581 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 125 },
1561 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 127 },1582 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 127 },
...@@ -1638,8 +1659,8 @@ const dafsa = [_]Node{...@@ -1638,8 +1659,8 @@ const dafsa = [_]Node{
1638 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 237 },1659 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 237 },
1639 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 238 },1660 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 238 },
1640 .{ .char = 'G', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 239 },1661 .{ .char = 'G', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 239 },
1641 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 34, .child_index = 240 },1662 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 240 },
1642 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 696, .child_index = 245 },1663 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 713, .child_index = 245 },
1643 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 246 },1664 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 246 },
1644 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 248 },1665 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 248 },
1645 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 249 },1666 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 249 },
...@@ -1650,7 +1671,7 @@ const dafsa = [_]Node{...@@ -1650,7 +1671,7 @@ const dafsa = [_]Node{
1650 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 255 },1671 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 255 },
1651 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 256 },1672 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 256 },
1652 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 257 },1673 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 257 },
1653 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 135, .child_index = 258 },1674 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 137, .child_index = 258 },
1654 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 261 },1675 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 261 },
1655 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 262 },1676 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 262 },
1656 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 263 },1677 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 263 },
...@@ -1776,8 +1797,8 @@ const dafsa = [_]Node{...@@ -1776,8 +1797,8 @@ const dafsa = [_]Node{
1776 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 397 },1797 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 397 },
1777 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 398 },1798 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 398 },
1778 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 399 },1799 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 399 },
1779 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 400 },1800 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 400 },
1780 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 696, .child_index = 401 },1801 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 713, .child_index = 401 },
1781 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 402 },1802 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 402 },
1782 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 403 },1803 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 403 },
1783 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 404 },1804 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 404 },
...@@ -1790,7 +1811,7 @@ const dafsa = [_]Node{...@@ -1790,7 +1811,7 @@ const dafsa = [_]Node{
1790 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 411 },1811 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 411 },
1791 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 412 },1812 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 412 },
1792 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 413 },1813 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 413 },
1793 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 414 },1814 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 27, .child_index = 414 },
1794 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 415 },1815 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 415 },
1795 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 107, .child_index = 417 },1816 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 107, .child_index = 417 },
1796 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 418 },1817 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 418 },
...@@ -1932,8 +1953,8 @@ const dafsa = [_]Node{...@@ -1932,8 +1953,8 @@ const dafsa = [_]Node{
1932 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 522 },1953 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 522 },
1933 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 523 },1954 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 523 },
1934 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 524 },1955 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 524 },
1935 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 525 },1956 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 525 },
1936 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 696, .child_index = 526 },1957 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 713, .child_index = 526 },
1937 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 527 },1958 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 527 },
1938 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 528 },1959 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 528 },
1939 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 529 },1960 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 529 },
...@@ -1946,7 +1967,7 @@ const dafsa = [_]Node{...@@ -1946,7 +1967,7 @@ const dafsa = [_]Node{
1946 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 281 },1967 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 281 },
1947 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 535 },1968 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 535 },
1948 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 410 },1969 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 410 },
1949 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 536 },1970 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 536 },
1950 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 537 },1971 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 537 },
1951 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 528 },1972 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 528 },
1952 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 107, .child_index = 538 },1973 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 107, .child_index = 538 },
...@@ -2057,8 +2078,8 @@ const dafsa = [_]Node{...@@ -2057,8 +2078,8 @@ const dafsa = [_]Node{
2057 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 609 },2078 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 609 },
2058 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 610 },2079 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 610 },
2059 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 611 },2080 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 611 },
2060 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 612 },2081 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 612 },
2061 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 696, .child_index = 613 },2082 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 713, .child_index = 613 },
2062 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 614 },2083 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 614 },
2063 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 615 },2084 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 615 },
2064 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 616 },2085 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 616 },
...@@ -2068,7 +2089,7 @@ const dafsa = [_]Node{...@@ -2068,7 +2089,7 @@ const dafsa = [_]Node{
2068 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 620 },2089 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 620 },
2069 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 621 },2090 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 621 },
2070 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 622 },2091 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 622 },
2071 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 623 },2092 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 623 },
2072 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 489 },2093 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 489 },
2073 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 107, .child_index = 624 },2094 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 107, .child_index = 624 },
2074 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 511 },2095 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 511 },
...@@ -2144,8 +2165,8 @@ const dafsa = [_]Node{...@@ -2144,8 +2165,8 @@ const dafsa = [_]Node{
2144 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 657 },2165 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 657 },
2145 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 658 },2166 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 658 },
2146 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },2167 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
2147 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 659 },2168 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 659 },
2148 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 696, .child_index = 660 },2169 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 713, .child_index = 660 },
2149 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 661 },2170 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 661 },
2150 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 662 },2171 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 662 },
2151 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 663 },2172 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 663 },
...@@ -2155,7 +2176,7 @@ const dafsa = [_]Node{...@@ -2155,7 +2176,7 @@ const dafsa = [_]Node{
2155 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 666 },2176 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 666 },
2156 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 667 },2177 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 667 },
2157 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 669 },2178 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 669 },
2158 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 670 },2179 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 670 },
2159 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 107, .child_index = 671 },2180 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 107, .child_index = 671 },
2160 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 680 },2181 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 680 },
2161 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 681 },2182 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 681 },
...@@ -2191,8 +2212,8 @@ const dafsa = [_]Node{...@@ -2191,8 +2212,8 @@ const dafsa = [_]Node{
2191 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 699 },2212 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 699 },
2192 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 700 },2213 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 700 },
2193 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 701 },2214 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 701 },
2194 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 702 },2215 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 702 },
2195 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 696, .child_index = 703 },2216 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 713, .child_index = 703 },
2196 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 704 },2217 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 704 },
2197 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2218 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2198 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 705 },2219 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 705 },
...@@ -2202,7 +2223,7 @@ const dafsa = [_]Node{...@@ -2202,7 +2223,7 @@ const dafsa = [_]Node{
2202 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 632 },2223 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 632 },
2203 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },2224 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
2204 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 709 },2225 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 709 },
2205 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 710 },2226 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 710 },
2206 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 711 },2227 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 711 },
2207 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 713 },2228 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 713 },
2208 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 714 },2229 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 714 },
...@@ -2234,15 +2255,15 @@ const dafsa = [_]Node{...@@ -2234,15 +2255,15 @@ const dafsa = [_]Node{
2234 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 739 },2255 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 739 },
2235 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 740 },2256 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 740 },
2236 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 741 },2257 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 741 },
2237 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 742 },2258 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 742 },
2238 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 696, .child_index = 754 },2259 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 713, .child_index = 754 },
2239 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 755 },2260 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 755 },
2240 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 756 },2261 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 756 },
2241 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 640 },2262 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 640 },
2242 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 757 },2263 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 757 },
2243 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 758 },2264 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 758 },
2244 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 759 },2265 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 759 },
2245 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 760 },2266 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 760 },
2246 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 761 },2267 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 761 },
2247 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 761 },2268 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 761 },
2248 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 762 },2269 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 762 },
...@@ -2277,7 +2298,7 @@ const dafsa = [_]Node{...@@ -2277,7 +2298,7 @@ const dafsa = [_]Node{
2277 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 786 },2298 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 786 },
2278 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 789 },2299 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 789 },
2279 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 791 },2300 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 791 },
2280 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 792 },2301 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 792 },
2281 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 793 },2302 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 793 },
2282 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 794 },2303 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 794 },
2283 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 795 },2304 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 795 },
...@@ -2286,13 +2307,13 @@ const dafsa = [_]Node{...@@ -2286,13 +2307,13 @@ const dafsa = [_]Node{
2286 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 799 },2307 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 799 },
2287 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 802 },2308 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 802 },
2288 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 804 },2309 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 804 },
2289 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 696, .child_index = 805 },2310 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 713, .child_index = 805 },
2290 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 825 },2311 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 825 },
2291 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 826 },2312 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 826 },
2292 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 827 },2313 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 827 },
2293 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 828 },2314 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 828 },
2294 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 829 },2315 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 829 },
2295 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 830 },2316 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 830 },
2296 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 766 },2317 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 766 },
2297 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 770 },2318 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 770 },
2298 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 831 },2319 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 831 },
...@@ -2324,7 +2345,7 @@ const dafsa = [_]Node{...@@ -2324,7 +2345,7 @@ const dafsa = [_]Node{
2324 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 853 },2345 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 853 },
2325 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 854 },2346 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 854 },
2326 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 855 },2347 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 855 },
2327 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 856 },2348 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 856 },
2328 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 857 },2349 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 857 },
2329 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 858 },2350 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 858 },
2330 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 859 },2351 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 859 },
...@@ -2338,21 +2359,21 @@ const dafsa = [_]Node{...@@ -2338,21 +2359,21 @@ const dafsa = [_]Node{
2338 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 867 },2359 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 867 },
2339 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 798 },2360 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 798 },
2340 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 868 },2361 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 868 },
2341 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 53, .child_index = 869 },2362 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 54, .child_index = 869 },
2342 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 876 },2363 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 876 },
2343 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 120, .child_index = 880 },2364 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 120, .child_index = 880 },
2344 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 893 },2365 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 893 },
2345 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 73, .child_index = 897 },2366 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 80, .child_index = 897 },
2346 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 60, .child_index = 901 },2367 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 60, .child_index = 901 },
2347 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 910 },2368 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 910 },
2348 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 912 },2369 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 912 },
2349 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 52, .child_index = 915 },2370 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 52, .child_index = 915 },
2350 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 921 },2371 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 921 },
2351 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 926 },2372 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 926 },
2352 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 929 },2373 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 929 },
2353 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 933 },2374 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 933 },
2354 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 45, .child_index = 937 },2375 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 45, .child_index = 937 },
2355 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 76, .child_index = 940 },2376 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 77, .child_index = 940 },
2356 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 23, .child_index = 952 },2377 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 23, .child_index = 952 },
2357 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 957 },2378 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 957 },
2358 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 961 },2379 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 961 },
...@@ -2362,7 +2383,7 @@ const dafsa = [_]Node{...@@ -2362,7 +2383,7 @@ const dafsa = [_]Node{
2362 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 967 },2383 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 967 },
2363 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 968 },2384 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 968 },
2364 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 969 },2385 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 969 },
2365 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 970 },2386 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 970 },
2366 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 971 },2387 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 971 },
2367 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 972 },2388 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 972 },
2368 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 973 },2389 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 973 },
...@@ -2388,7 +2409,7 @@ const dafsa = [_]Node{...@@ -2388,7 +2409,7 @@ const dafsa = [_]Node{
2388 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1002 },2409 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1002 },
2389 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1003 },2410 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1003 },
2390 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1004 },2411 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1004 },
2391 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1005 },2412 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1005 },
2392 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1006 },2413 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1006 },
2393 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1007 },2414 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1007 },
2394 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 862 },2415 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 862 },
...@@ -2404,13 +2425,13 @@ const dafsa = [_]Node{...@@ -2404,13 +2425,13 @@ const dafsa = [_]Node{
2404 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 133 },2425 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 133 },
2405 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1022 },2426 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1022 },
2406 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1023 },2427 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1023 },
2407 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1024 },2428 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1024 },
2408 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 397 },2429 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 397 },
2409 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 1026 },2430 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 1026 },
2410 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1028 },2431 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1028 },
2411 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 140 },2432 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 140 },
2412 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1029 },2433 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1029 },
2413 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1030 },2434 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1030 },
2414 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 142 },2435 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 142 },
2415 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1031 },2436 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1031 },
2416 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 1032 },2437 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 1032 },
...@@ -2430,7 +2451,7 @@ const dafsa = [_]Node{...@@ -2430,7 +2451,7 @@ const dafsa = [_]Node{
2430 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1060 },2451 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1060 },
2431 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1061 },2452 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1061 },
2432 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1062 },2453 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1062 },
2433 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 1063 },2454 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 47, .child_index = 1063 },
2434 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1064 },2455 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1064 },
2435 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 23, .child_index = 1065 },2456 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 23, .child_index = 1065 },
2436 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1067 },2457 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1067 },
...@@ -2445,7 +2466,7 @@ const dafsa = [_]Node{...@@ -2445,7 +2466,7 @@ const dafsa = [_]Node{
2445 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1081 },2466 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1081 },
2446 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1082 },2467 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1082 },
2447 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1083 },2468 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1083 },
2448 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1084 },2469 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1084 },
2449 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1088 },2470 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1088 },
2450 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1097 },2471 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1097 },
2451 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1099 },2472 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1099 },
...@@ -2453,458 +2474,463 @@ const dafsa = [_]Node{...@@ -2453,458 +2474,463 @@ const dafsa = [_]Node{
2453 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1101 },2474 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1101 },
2454 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 1103 },2475 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 1103 },
2455 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1105 },2476 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1105 },
2456 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1107 },2477 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1107 },
2457 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1109 },2478 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1110 },
2458 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1110 },2479 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1111 },
2459 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1111 },2480 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1112 },
2460 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1112 },2481 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1113 },
2461 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1113 },2482 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1114 },
2462 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1114 },2483 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1115 },
2463 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1116 },2484 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1117 },
2464 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1117 },2485 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1118 },
2465 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1118 },2486 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1119 },
2466 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1119 },2487 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1120 },
2467 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1120 },2488 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1121 },
2468 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1121 },2489 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1122 },
2469 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1122 },2490 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1123 },
2470 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1124 },2491 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1125 },
2471 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1126 },2492 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1127 },
2472 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 1127 },2493 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 1128 },
2473 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1131 },2494 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1132 },
2474 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1132 },2495 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1133 },
2475 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1134 },2496 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1135 },
2476 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1135 },2497 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1136 },
2477 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1136 },2498 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1137 },
2478 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1137 },2499 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1138 },
2479 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 1138 },2500 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 1139 },
2480 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1140 },2501 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1141 },
2481 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 218 },2502 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 218 },
2482 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 174 },2503 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 174 },
2483 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1141 },2504 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1142 },
2484 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1142 },2505 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1143 },
2485 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 1144 },2506 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 1145 },
2486 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1147 },2507 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1149 },
2487 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1148 },2508 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1150 },
2488 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1100 },2509 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1100 },
2489 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1149 },2510 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1151 },
2490 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1150 },2511 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1152 },
2491 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1153 },2512 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1155 },
2492 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1134 },2513 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1135 },
2493 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1140 },2514 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1141 },
2494 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1154 },2515 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1156 },
2495 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1157 },2516 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1159 },
2496 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1158 },2517 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1160 },
2497 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1159 },2518 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1161 },
2498 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1160 },2519 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1162 },
2499 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 174 },2520 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 174 },
2500 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 229 },2521 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 229 },
2501 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 1162 },2522 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 1164 },
2502 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1163 },2523 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1165 },
2503 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1164 },2524 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1166 },
2504 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1165 },2525 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1167 },
2505 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 1166 },2526 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 1168 },
2506 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1167 },2527 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1169 },
2507 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1168 },2528 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1170 },
2508 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1170 },2529 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1172 },
2509 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1171 },2530 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1173 },
2510 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1175 },2531 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1177 },
2511 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1176 },2532 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1178 },
2512 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1177 },2533 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1179 },
2513 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1178 },2534 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1180 },
2514 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1179 },2535 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1181 },
2515 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1180 },2536 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1182 },
2516 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1181 },2537 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1183 },
2517 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1182 },2538 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1184 },
2518 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1183 },2539 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1185 },
2519 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1184 },2540 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1186 },
2520 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1185 },2541 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1187 },
2521 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1186 },2542 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1188 },
2522 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1187 },2543 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1189 },
2523 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1188 },2544 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1190 },
2524 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1189 },2545 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1191 },
2525 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1190 },2546 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1192 },
2526 .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1191 },2547 .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1193 },
2527 .{ .char = 'C', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1192 },2548 .{ .char = 'C', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1194 },
2528 .{ .char = 'D', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1193 },2549 .{ .char = 'D', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1195 },
2529 .{ .char = 'E', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1194 },2550 .{ .char = 'E', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1196 },
2530 .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1195 },2551 .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1197 },
2531 .{ .char = 'O', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1196 },2552 .{ .char = 'O', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1198 },
2532 .{ .char = 'X', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1197 },2553 .{ .char = 'X', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1199 },
2533 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },2554 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },
2534 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1198 },2555 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1200 },
2535 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1199 },2556 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1201 },
2536 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1200 },2557 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1202 },
2537 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },2558 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
2538 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1201 },2559 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1203 },
2539 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1202 },2560 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1204 },
2540 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1203 },2561 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1205 },
2541 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1204 },2562 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1206 },
2542 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1205 },2563 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1207 },
2543 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1206 },2564 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1208 },
2544 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1207 },2565 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1209 },
2545 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1208 },2566 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1210 },
2546 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1209 },2567 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1211 },
2547 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1210 },2568 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1212 },
2548 .{ .char = 'C', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1211 },2569 .{ .char = 'C', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1213 },
2549 .{ .char = 'N', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1212 },2570 .{ .char = 'N', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1214 },
2550 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1213 },2571 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1215 },
2551 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1214 },2572 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1216 },
2552 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1215 },2573 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1217 },
2553 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1216 },2574 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1218 },
2554 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1217 },2575 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1219 },
2555 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1218 },2576 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1220 },
2556 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1221 },2577 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1223 },
2557 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1224 },2578 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1226 },
2558 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1225 },2579 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1227 },
2559 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1228 },2580 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1230 },
2560 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1229 },2581 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1231 },
2561 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1230 },2582 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1232 },
2562 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1231 },2583 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1233 },
2563 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1232 },2584 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1234 },
2564 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1233 },2585 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1235 },
2565 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1236 },2586 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1238 },
2566 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1237 },2587 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1239 },
2567 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 284 },2588 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 284 },
2568 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 135 },2589 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 135 },
2569 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1238 },2590 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1240 },
2570 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1239 },2591 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1241 },
2571 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 286 },2592 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 286 },
2572 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 138 },2593 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 138 },
2573 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 162 },2594 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 162 },
2574 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1240 },2595 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1242 },
2575 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1241 },2596 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1243 },
2576 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 289 },2597 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 289 },
2577 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1242 },
2578 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1243 },
2579 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1244 },2598 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1244 },
2599 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1245 },
2600 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1246 },
2580 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 286 },2601 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 286 },
2581 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1245 },2602 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1247 },
2582 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1246 },2603 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1248 },
2583 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1249 },2604 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1251 },
2584 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1250 },2605 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1252 },
2585 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1253 },2606 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1255 },
2586 .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 10, .child_index = 1254 },2607 .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 10, .child_index = 1256 },
2587 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1257 },2608 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1259 },
2588 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 207 },2609 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 207 },
2589 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 296 },2610 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 296 },
2590 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1258 },2611 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1260 },
2591 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 221 },2612 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 221 },
2592 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1246 },2613 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1248 },
2593 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1259 },2614 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1261 },
2594 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1260 },2615 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1262 },
2595 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1261 },2616 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1263 },
2596 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1262 },2617 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1264 },
2597 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1263 },2618 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1265 },
2598 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1264 },2619 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 1266 },
2599 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1265 },2620 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1267 },
2600 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 21, .child_index = 1268 },2621 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 21, .child_index = 1270 },
2601 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1274 },2622 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1276 },
2602 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1276 },2623 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1278 },
2603 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1277 },2624 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1279 },
2604 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1278 },2625 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1280 },
2605 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1279 },2626 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1281 },
2606 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1280 },2627 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1282 },
2607 .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 15, .child_index = 1281 },2628 .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 15, .child_index = 1283 },
2608 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1284 },2629 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1286 },
2609 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1285 },2630 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1287 },
2610 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1286 },2631 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1288 },
2611 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 208 },2632 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 208 },
2612 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1287 },2633 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1289 },
2613 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1288 },2634 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1290 },
2614 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1290 },2635 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1292 },
2615 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1291 },2636 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1293 },
2616 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1292 },2637 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1294 },
2617 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1293 },2638 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1295 },
2618 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1294 },2639 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1296 },
2619 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 323 },2640 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 323 },
2620 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1295 },2641 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1297 },
2621 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1297 },2642 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1300 },
2622 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1298 },2643 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1301 },
2623 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1299 },2644 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1302 },
2624 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1300 },2645 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1303 },
2625 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1302 },2646 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1305 },
2626 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1303 },2647 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1306 },
2627 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1304 },2648 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1307 },
2628 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1305 },2649 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1308 },
2629 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1307 },2650 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1310 },
2630 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1309 },2651 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1312 },
2631 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 142 },2652 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 142 },
2632 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 335 },2653 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 335 },
2633 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1310 },2654 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1313 },
2634 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1311 },2655 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1314 },
2635 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1312 },2656 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1315 },
2636 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 192 },2657 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 192 },
2637 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1105 },2658 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1105 },
2638 .{ .char = 'g', .end_of_word = true, .end_of_list = false, .number = 23, .child_index = 1313 },2659 .{ .char = 'g', .end_of_word = true, .end_of_list = false, .number = 23, .child_index = 1316 },
2639 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 343 },2660 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 343 },
2640 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1318 },2661 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1321 },
2641 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1319 },2662 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1322 },
2642 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 285 },2663 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 285 },
2643 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1320 },2664 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1323 },
2644 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1321 },2665 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1324 },
2645 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1325 },2666 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1325 },
2646 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1326 },2667 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1329 },
2647 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1327 },2668 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1330 },
2648 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 1328 },2669 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1331 },
2649 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1331 },2670 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 1332 },
2650 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1332 },2671 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1335 },
2651 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1333 },2672 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1336 },
2652 .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1335 },2673 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1337 },
2653 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1337 },2674 .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1339 },
2654 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1338 },2675 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1341 },
2655 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1339 },2676 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1342 },
2656 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1340 },2677 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1343 },
2657 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1341 },2678 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1344 },
2658 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1342 },2679 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1345 },
2659 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1345 },2680 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1346 },
2681 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1349 },
2660 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 356 },2682 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 356 },
2661 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1347 },2683 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1351 },
2662 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1348 },2684 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1352 },
2663 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1350 },2685 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1354 },
2664 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1351 },2686 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1355 },
2665 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1353 },2687 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1357 },
2666 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1354 },2688 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1358 },
2667 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1356 },2689 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1360 },
2668 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1357 },2690 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1361 },
2669 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1358 },2691 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1362 },
2670 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1359 },2692 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1363 },
2671 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1361 },2693 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1365 },
2672 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1363 },2694 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1367 },
2673 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1364 },2695 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1368 },
2674 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 18, .child_index = 1365 },2696 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 18, .child_index = 1369 },
2675 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1369 },2697 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1373 },
2676 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1370 },2698 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1374 },
2677 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 318 },2699 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 318 },
2678 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1371 },2700 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1375 },
2679 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1372 },2701 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1376 },
2702 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1377 },
2680 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 372 },2703 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 372 },
2681 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 1373 },2704 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 1378 },
2682 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1380 },2705 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1385 },
2683 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 1254 },2706 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 1256 },
2684 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1382 },2707 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1387 },
2685 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 281 },2708 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 281 },
2686 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1383 },2709 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1388 },
2687 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1384 },2710 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1389 },
2688 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1385 },2711 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1390 },
2689 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1386 },2712 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1391 },
2690 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1387 },2713 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1392 },
2691 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1388 },2714 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1393 },
2692 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1371 },2715 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1375 },
2693 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1389 },2716 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1394 },
2694 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1393 },2717 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1398 },
2695 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 174 },2718 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 174 },
2696 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 176 },2719 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 176 },
2697 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 1394 },2720 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 1399 },
2698 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1401 },2721 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1406 },
2699 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1406 },2722 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1411 },
2700 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1407 },2723 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1412 },
2701 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 1408 },2724 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 1413 },
2702 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1409 },2725 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1414 },
2703 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1410 },2726 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1415 },
2704 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1411 },2727 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1416 },
2705 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1412 },2728 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1417 },
2706 .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1413 },2729 .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1418 },
2707 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2730 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2708 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2731 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2709 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2732 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2710 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1414 },2733 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1419 },
2711 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1415 },2734 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1420 },
2712 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1416 },2735 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1421 },
2713 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1179 },2736 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1181 },
2714 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1417 },2737 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1422 },
2715 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1418 },2738 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1423 },
2716 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1419 },2739 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1424 },
2717 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1420 },2740 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1425 },
2718 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1421 },2741 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1426 },
2719 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1422 },2742 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1427 },
2720 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1423 },2743 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1428 },
2721 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1424 },2744 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1429 },
2722 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1425 },2745 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1430 },
2723 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1426 },2746 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1431 },
2724 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1427 },2747 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1432 },
2725 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1428 },2748 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1433 },
2726 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1430 },2749 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1435 },
2727 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1431 },2750 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1436 },
2728 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1432 },2751 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1437 },
2729 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1433 },2752 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1438 },
2730 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1432 },2753 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1437 },
2731 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1434 },2754 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1439 },
2732 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1196 },2755 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1198 },
2733 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1436 },2756 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1441 },
2734 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1437 },2757 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1442 },
2735 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 793 },2758 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 793 },
2736 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1438 },2759 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1443 },
2737 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1439 },2760 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1444 },
2738 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1440 },2761 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1445 },
2739 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1441 },2762 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1446 },
2740 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 447 },2763 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 447 },
2741 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1442 },2764 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1447 },
2742 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1443 },2765 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1448 },
2743 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1205 },2766 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1207 },
2744 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1444 },2767 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1449 },
2745 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1445 },2768 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1450 },
2746 .{ .char = 'F', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1446 },2769 .{ .char = 'F', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1451 },
2747 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1446 },2770 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1451 },
2748 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1447 },2771 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1452 },
2749 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1217 },2772 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1219 },
2750 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1448 },2773 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1453 },
2751 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1449 },2774 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1454 },
2752 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1450 },2775 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1455 },
2753 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1214 },2776 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1216 },
2754 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1217 },2777 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1219 },
2755 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1451 },2778 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1456 },
2756 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1214 },2779 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1216 },
2757 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1217 },2780 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1219 },
2758 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1453 },2781 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1458 },
2759 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 9, .child_index = 1455 },2782 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 9, .child_index = 1460 },
2760 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1458 },2783 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1463 },
2761 .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1459 },2784 .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1464 },
2762 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1462 },2785 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1467 },
2763 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1463 },2786 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1468 },
2764 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1464 },2787 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1469 },
2765 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 9, .child_index = 1455 },2788 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 9, .child_index = 1460 },
2766 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1466 },2789 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1471 },
2767 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 14, .child_index = 1467 },2790 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 14, .child_index = 1472 },
2768 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1471 },2791 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1476 },
2769 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1472 },2792 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1477 },
2770 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1473 },2793 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1478 },
2771 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1474 },2794 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1479 },
2772 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1475 },2795 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1480 },
2773 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1476 },2796 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1481 },
2774 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1478 },2797 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1483 },
2775 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1479 },2798 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1484 },
2776 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1295 },2799 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1486 },
2777 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1481 },2800 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1488 },
2778 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1482 },2801 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1489 },
2779 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1483 },2802 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1490 },
2780 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1484 },2803 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1491 },
2781 .{ .char = 'g', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2804 .{ .char = 'g', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2782 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 695 },2805 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 695 },
2783 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2806 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2784 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1485 },2807 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1492 },
2785 .{ .char = 'j', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 352 },2808 .{ .char = 'j', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 352 },
2786 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1486 },2809 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1493 },
2787 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1487 },2810 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1494 },
2788 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1488 },2811 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1495 },
2789 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1489 },2812 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1496 },
2790 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1295 },2813 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1486 },
2791 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2814 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2792 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1490 },2815 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1497 },
2793 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1491 },2816 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1498 },
2794 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1493 },2817 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1500 },
2795 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1494 },2818 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1501 },
2796 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1495 },2819 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1502 },
2797 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1496 },2820 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1503 },
2798 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1497 },2821 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1504 },
2799 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1498 },2822 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 1505 },
2800 .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1479 },2823 .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1484 },
2801 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1499 },2824 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1506 },
2802 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2825 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2803 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1500 },2826 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1507 },
2804 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1295 },2827 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1486 },
2805 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1501 },2828 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1508 },
2806 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1489 },2829 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1496 },
2807 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2830 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2808 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1502 },2831 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1509 },
2809 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1503 },2832 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1510 },
2810 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1504 },2833 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1511 },
2811 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1295 },2834 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1486 },
2812 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1479 },2835 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1484 },
2813 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 695 },2836 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 695 },
2814 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1505 },2837 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1512 },
2815 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1506 },2838 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1513 },
2816 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1489 },2839 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1496 },
2817 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2840 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2818 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 1507 },2841 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 1514 },
2819 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 1507 },2842 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 1514 },
2820 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1295 },2843 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1486 },
2821 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1510 },2844 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1517 },
2822 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1511 },2845 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1518 },
2823 .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2846 .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2824 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1512 },2847 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1519 },
2825 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1513 },2848 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1520 },
2826 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1514 },2849 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1521 },
2827 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1515 },2850 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1522 },
2828 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1240 },2851 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1242 },
2829 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1516 },2852 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1523 },
2830 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1489 },2853 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1524 },
2854 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1496 },
2831 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2855 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2832 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1517 },2856 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1525 },
2833 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1518 },2857 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1526 },
2834 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1519 },2858 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1527 },
2835 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1520 },2859 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1528 },
2836 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1521 },2860 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1529 },
2837 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1522 },2861 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1530 },
2838 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1523 },2862 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1531 },
2839 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1524 },2863 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1532 },
2840 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 447 },2864 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 447 },
2841 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1525 },2865 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1533 },
2842 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1526 },2866 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1534 },
2843 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1527 },2867 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1535 },
2844 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1528 },2868 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1536 },
2845 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1529 },2869 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1537 },
2846 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1512 },2870 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1519 },
2847 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1530 },2871 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1538 },
2848 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1531 },2872 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1539 },
2849 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1295 },2873 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1486 },
2850 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1479 },2874 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1484 },
2851 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1489 },2875 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1496 },
2852 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2876 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2853 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1240 },2877 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1242 },
2854 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1533 },2878 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1541 },
2855 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1534 },2879 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1542 },
2856 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1535 },2880 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1543 },
2881 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1544 },
2857 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 474 },2882 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 474 },
2858 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 475 },2883 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 475 },
2859 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1538 },2884 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1547 },
2860 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1479 },2885 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1484 },
2861 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1539 },2886 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1548 },
2862 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1458 },2887 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1463 },
2863 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1489 },2888 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1496 },
2864 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2889 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2865 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1295 },2890 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1486 },
2866 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1540 },2891 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1549 },
2867 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1541 },2892 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1550 },
2868 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1543 },2893 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1552 },
2869 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1544 },2894 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1553 },
2870 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1545 },2895 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1554 },
2871 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1546 },2896 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1555 },
2872 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1547 },2897 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1556 },
2873 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1548 },2898 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1557 },
2874 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1549 },2899 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1558 },
2875 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1550 },2900 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1559 },
2876 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1551 },2901 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1560 },
2877 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1489 },2902 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1496 },
2878 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 352 },2903 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 352 },
2879 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2904 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2880 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1206 },2905 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1208 },
2881 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1552 },2906 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1561 },
2882 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1553 },2907 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1562 },
2883 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1554 },2908 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1563 },
2884 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 285 },2909 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 285 },
2885 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1556 },2910 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1565 },
2886 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1557 },2911 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1566 },
2887 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1558 },2912 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1567 },
2888 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1559 },2913 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1568 },
2889 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 323 },2914 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 323 },
2890 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1295 },2915 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1486 },
2891 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1560 },2916 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1569 },
2892 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1561 },2917 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1570 },
2893 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1562 },2918 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1571 },
2894 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1564 },2919 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1573 },
2895 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },2920 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },
2896 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1565 },2921 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1574 },
2897 .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 487 },2922 .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 487 },
2898 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1566 },2923 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1575 },
2899 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1567 },2924 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1576 },
2900 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1568 },2925 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1577 },
2901 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1489 },2926 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1496 },
2902 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1295 },2927 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1486 },
2903 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2928 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2904 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1562 },2929 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1571 },
2905 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1295 },2930 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1486 },
2906 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1562 },2931 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1571 },
2907 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1569 },2932 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1578 },
2933 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1579 },
2908 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 491 },2934 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 491 },
2909 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 496 },2935 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 496 },
2910 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 314 },2936 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 314 },
...@@ -2912,1251 +2938,1331 @@ const dafsa = [_]Node{...@@ -2912,1251 +2938,1331 @@ const dafsa = [_]Node{
2912 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 502 },2938 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 502 },
2913 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 503 },2939 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 503 },
2914 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 504 },2940 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 504 },
2915 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1458 },2941 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1463 },
2916 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1459 },2942 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1464 },
2917 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1570 },2943 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1580 },
2918 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1571 },2944 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1581 },
2919 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1572 },2945 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1582 },
2920 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1573 },2946 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1583 },
2921 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1574 },2947 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1584 },
2922 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1575 },2948 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1585 },
2923 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1576 },2949 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1586 },
2924 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1577 },2950 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1587 },
2925 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 509 },2951 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 509 },
2926 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 510 },2952 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 510 },
2927 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 511 },2953 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 511 },
2928 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1578 },2954 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1588 },
2929 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1579 },2955 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1589 },
2930 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1580 },2956 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1590 },
2931 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 792 },2957 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1591 },
2932 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1581 },2958 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1592 },
2933 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1583 },2959 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1594 },
2934 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1584 },2960 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1595 },
2935 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1586 },2961 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1597 },
2936 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1579 },2962 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1589 },
2937 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1580 },2963 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1590 },
2938 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1587 },2964 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1598 },
2939 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1583 },2965 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1594 },
2940 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1588 },2966 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1599 },
2941 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1589 },2967 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1600 },
2942 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1590 },2968 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1601 },
2943 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 1591 },2969 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 1602 },
2944 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1592 },2970 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1603 },
2945 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1593 },2971 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1604 },
2946 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1594 },2972 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1605 },
2947 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1595 },2973 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1606 },
2948 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2974 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2949 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1596 },2975 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1607 },
2950 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1597 },2976 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1608 },
2951 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1598 },2977 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1609 },
2952 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1599 },2978 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1610 },
2953 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1600 },2979 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1611 },
2954 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1601 },2980 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1612 },
2955 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1183 },2981 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1185 },
2956 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1602 },2982 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1613 },
2957 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1603 },2983 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1614 },
2958 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1604 },2984 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1615 },
2959 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 276 },2985 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 276 },
2960 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },2986 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
2961 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 438 },2987 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 438 },
2962 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1605 },2988 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1616 },
2963 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1606 },2989 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1617 },
2964 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1607 },2990 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1618 },
2965 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1434 },2991 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1439 },
2966 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1608 },2992 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1619 },
2967 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1609 },2993 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },
2968 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1610 },2994 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1621 },
2969 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 632 },2995 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 632 },
2970 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2996 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2971 .{ .char = 'I', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1188 },2997 .{ .char = 'I', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1190 },
2972 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1611 },2998 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1622 },
2973 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1612 },2999 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1623 },
2974 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1613 },3000 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1624 },
2975 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1614 },3001 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1625 },
2976 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1620 },3002 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1632 },
2977 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1621 },3003 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1633 },
2978 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1000 },3004 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1000 },
2979 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1622 },3005 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1634 },
2980 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1000 },3006 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1000 },
2981 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1623 },3007 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1635 },
2982 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1624 },3008 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1636 },
2983 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1625 },3009 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1637 },
2984 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1626 },3010 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1638 },
2985 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1630 },3011 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1642 },
2986 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1631 },3012 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1643 },
2987 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1633 },3013 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1645 },
2988 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1214 },3014 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1216 },
2989 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1217 },3015 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1219 },
2990 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1489 },3016 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1496 },
2991 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1479 },3017 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1484 },
2992 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3018 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2993 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1636 },3019 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1648 },
2994 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3020 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2995 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 695 },3021 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 695 },
2996 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3022 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2997 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1637 },3023 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1649 },
2998 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1638 },3024 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1650 },
2999 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1639 },3025 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1651 },
3000 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1640 },3026 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1652 },
3001 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1641 },3027 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1653 },
3002 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1295 },3028 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1486 },
3003 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1489 },3029 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1496 },
3004 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1479 },3030 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1484 },
3005 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3031 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3006 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1642 },3032 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1654 },
3007 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1118 },3033 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1119 },
3008 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1643 },3034 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1655 },
3009 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1644 },3035 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1656 },
3010 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 262 },3036 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 262 },
3011 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1647 },3037 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1660 },
3012 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 555 },3038 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 555 },
3013 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1648 },3039 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1661 },
3014 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1499 },3040 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1506 },
3015 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3041 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3016 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1649 },3042 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1496 },
3017 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1650 },
3018 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1651 },
3019 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1278 },
3020 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 323 },
3021 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1652 },
3022 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1653 },
3023 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1654 },
3024 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1655 },
3025 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1657 },
3026 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1658 },
3027 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1660 },
3028 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1661 },
3029 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1662 },
3030 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1663 },
3031 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1664 },
3032 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1665 },
3033 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1666 },
3034 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1667 },
3035 .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1295 },
3036 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1668 },
3037 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1479 },
3038 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1669 },
3039 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1670 },
3040 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1295 },
3041 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1671 },
3042 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1489 },
3043 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1672 },
3044 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3043 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3045 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1673 },3044 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1662 },
3046 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1674 },3045 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1663 },
3047 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1295 },3046 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1664 },
3047 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1280 },
3048 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 323 },
3049 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1665 },
3050 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1666 },
3051 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1667 },
3052 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1668 },
3053 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1670 },
3054 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1671 },
3055 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1673 },
3056 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1674 },
3048 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1675 },3057 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1675 },
3049 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1676 },3058 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1676 },
3050 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1677 },3059 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1677 },
3051 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1479 },3060 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1678 },
3052 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1678 },3061 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 1679 },
3062 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1680 },
3063 .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1486 },
3064 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1681 },
3065 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1484 },
3066 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1682 },
3067 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1683 },
3068 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1486 },
3069 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1684 },
3070 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1496 },
3071 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1685 },
3072 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3073 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1686 },
3074 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1687 },
3075 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1486 },
3076 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1688 },
3077 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1689 },
3078 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1690 },
3079 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1484 },
3080 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1691 },
3081 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1692 },
3053 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },3082 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
3054 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1679 },3083 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1693 },
3055 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 319 },3084 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 319 },
3056 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1680 },3085 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1694 },
3057 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1681 },3086 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1695 },
3058 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1682 },3087 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1696 },
3059 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1683 },3088 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1697 },
3060 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1684 },3089 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1698 },
3061 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1685 },3090 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1699 },
3062 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1686 },3091 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1700 },
3063 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1687 },3092 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1701 },
3064 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 566 },3093 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 566 },
3065 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1688 },3094 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1702 },
3066 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1295 },3095 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1486 },
3067 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1479 },3096 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1484 },
3068 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1689 },3097 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1703 },
3069 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1690 },3098 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1704 },
3099 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1705 },
3070 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 572 },3100 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 572 },
3071 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 281 },3101 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 281 },
3072 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1691 },3102 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1706 },
3073 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1692 },3103 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1707 },
3074 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 225 },3104 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 225 },
3075 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1693 },3105 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1708 },
3076 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1694 },3106 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1709 },
3077 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1695 },3107 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1710 },
3078 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1696 },3108 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1711 },
3079 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1697 },3109 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1712 },
3080 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1698 },3110 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1713 },
3081 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1699 },3111 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1714 },
3082 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1700 },3112 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1715 },
3083 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1701 },3113 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1716 },
3084 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1702 },3114 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1717 },
3085 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1703 },3115 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1718 },
3086 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1704 },3116 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1719 },
3087 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1705 },3117 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1720 },
3088 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1706 },3118 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1721 },
3089 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1707 },3119 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1722 },
3090 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1708 },3120 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1723 },
3091 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1709 },3121 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1724 },
3092 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1710 },3122 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1725 },
3093 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1711 },3123 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1726 },
3094 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1712 },3124 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1727 },
3095 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1713 },3125 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1728 },
3096 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 1714 },3126 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 1729 },
3097 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1458 },3127 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1463 },
3098 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1717 },3128 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1732 },
3099 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1719 },3129 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1734 },
3100 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1721 },3130 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1736 },
3101 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1722 },3131 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1737 },
3102 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1723 },3132 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1738 },
3103 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1724 },3133 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1739 },
3104 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1725 },3134 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1687 },
3105 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1669 },3135 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1740 },
3106 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1726 },3136 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1682 },
3107 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1295 },3137 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1741 },
3108 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1727 },3138 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1486 },
3109 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1728 },3139 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1742 },
3110 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1729 },3140 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1743 },
3111 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1730 },3141 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1744 },
3112 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1731 },3142 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1745 },
3113 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1732 },3143 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1746 },
3114 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1733 },3144 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1747 },
3115 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1734 },3145 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1748 },
3146 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1749 },
3147 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1750 },
3116 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 236 },3148 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 236 },
3117 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 857 },3149 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 857 },
3118 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1735 },3150 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1751 },
3119 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 863 },3151 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 863 },
3120 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1736 },3152 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1752 },
3121 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 867 },3153 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 867 },
3122 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1737 },3154 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1753 },
3123 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1736 },3155 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1752 },
3124 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1738 },3156 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1754 },
3125 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1740 },3157 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1756 },
3126 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 1741 },3158 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 1757 },
3127 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1742 },3159 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1758 },
3128 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1743 },3160 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1759 },
3129 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1744 },3161 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1760 },
3130 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1745 },3162 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1761 },
3131 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1746 },3163 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1762 },
3132 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1747 },3164 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1763 },
3133 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1748 },3165 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1764 },
3134 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 567 },3166 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 567 },
3135 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1749 },3167 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1765 },
3136 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1750 },3168 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1766 },
3137 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },3169 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
3138 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },3170 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
3139 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3171 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3140 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1751 },3172 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1767 },
3141 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1752 },3173 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1768 },
3142 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1753 },3174 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1769 },
3143 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1754 },3175 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1770 },
3144 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1755 },3176 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1771 },
3145 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1756 },3177 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1772 },
3146 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },3178 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
3147 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1757 },3179 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1773 },
3148 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1208 },3180 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1210 },
3149 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1758 },3181 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1774 },
3150 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1760 },3182 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1776 },
3151 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1762 },3183 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1778 },
3152 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 572 },3184 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 572 },
3153 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1763 },3185 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1779 },
3186 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1780 },
3154 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },3187 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
3155 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1764 },3188 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1782 },
3156 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 641 },3189 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 641 },
3157 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1765 },3190 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1783 },
3158 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1766 },3191 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1784 },
3159 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1767 },3192 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1785 },
3160 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1768 },3193 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1786 },
3161 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1769 },3194 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1787 },
3162 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1771 },3195 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1789 },
3163 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1772 },3196 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1790 },
3164 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1773 },3197 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1791 },
3165 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1774 },3198 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1792 },
3166 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1775 },3199 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1793 },
3167 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1772 },3200 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1790 },
3168 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1776 },3201 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1794 },
3169 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1778 },3202 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1796 },
3170 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1778 },3203 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1796 },
3171 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1779 },3204 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1797 },
3172 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1780 },3205 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1798 },
3173 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1781 },3206 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1799 },
3174 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1783 },3207 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1801 },
3175 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1784 },3208 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1802 },
3176 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1785 },3209 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1804 },
3177 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1786 },3210 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1805 },
3178 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1787 },3211 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1806 },
3179 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 632 },3212 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 632 },
3180 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1788 },3213 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1807 },
3181 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },3214 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 633 },
3182 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1789 },3215 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3183 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1790 },3216 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1808 },
3184 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1791 },3217 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1809 },
3185 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1792 },3218 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1810 },
3186 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1793 },3219 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1811 },
3187 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1794 },3220 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1812 },
3188 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1795 },3221 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1813 },
3189 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1796 },3222 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1814 },
3190 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1797 },3223 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1815 },
3224 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1816 },
3191 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3225 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3192 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1798 },3226 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1817 },
3193 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 236 },3227 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 236 },
3194 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3228 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3195 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1799 },3229 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1818 },
3196 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1800 },3230 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1819 },
3197 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1801 },3231 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1820 },
3198 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1802 },3232 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1821 },
3199 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1804 },3233 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1823 },
3200 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1805 },3234 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1824 },
3201 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1806 },3235 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 1825 },
3202 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1797 },3236 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1816 },
3203 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1807 },3237 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1826 },
3204 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1808 },3238 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1827 },
3205 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1809 },3239 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1828 },
3206 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1810 },3240 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1829 },
3207 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1811 },3241 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1830 },
3208 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1812 },3242 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1831 },
3209 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1813 },3243 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1832 },
3210 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1814 },3244 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1833 },
3211 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1815 },3245 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1834 },
3212 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1816 },3246 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1835 },
3213 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1817 },3247 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1836 },
3214 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1818 },3248 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1837 },
3215 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1819 },3249 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1838 },
3216 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1820 },3250 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1839 },
3217 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1752 },3251 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1840 },
3218 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1821 },3252 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1768 },
3219 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1823 },3253 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1841 },
3220 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1824 },3254 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1843 },
3221 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1825 },3255 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1844 },
3222 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1826 },3256 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1845 },
3223 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1479 },3257 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1846 },
3224 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1479 },3258 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1484 },
3225 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1827 },3259 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1484 },
3226 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1828 },3260 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1847 },
3227 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1828 },3261 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1848 },
3228 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1829 },3262 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1849 },
3229 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1830 },3263 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1849 },
3230 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1831 },3264 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1850 },
3231 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1832 },3265 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1851 },
3232 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1833 },3266 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1852 },
3233 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1834 },3267 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1853 },
3234 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1835 },3268 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1854 },
3235 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1836 },3269 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1855 },
3236 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1837 },3270 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1856 },
3237 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1838 },3271 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1857 },
3238 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1278 },3272 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1858 },
3239 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1839 },3273 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1859 },
3240 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1840 },3274 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1280 },
3241 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1841 },3275 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1860 },
3242 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1842 },3276 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1861 },
3243 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1843 },3277 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1862 },
3244 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1844 },3278 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1863 },
3245 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1845 },3279 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1864 },
3246 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1479 },3280 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1865 },
3247 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1674 },3281 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1866 },
3248 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1846 },3282 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1484 },
3249 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1848 },3283 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1687 },
3250 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1489 },3284 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1867 },
3285 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1869 },
3286 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1496 },
3251 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3287 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3252 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1458 },3288 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1463 },
3253 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1327 },3289 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1331 },
3254 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1849 },3290 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1870 },
3255 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1479 },3291 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1484 },
3256 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1850 },3292 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1871 },
3257 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1851 },3293 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1872 },
3258 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 287 },3294 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 287 },
3259 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1852 },3295 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1873 },
3260 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 419 },3296 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 419 },
3261 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1855 },3297 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1876 },
3262 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1856 },3298 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1877 },
3263 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1857 },3299 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1878 },
3264 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1858 },3300 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1879 },
3265 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1859 },3301 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1880 },
3266 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1860 },3302 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1881 },
3267 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1861 },3303 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1882 },
3268 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1862 },3304 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1883 },
3269 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1863 },3305 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1884 },
3306 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1885 },
3270 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 448 },3307 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 448 },
3271 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1864 },3308 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1886 },
3272 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1865 },3309 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1887 },
3273 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1866 },3310 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1888 },
3274 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1867 },3311 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1889 },
3275 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1868 },3312 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1890 },
3276 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 1874 },3313 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 1896 },
3277 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1885 },3314 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1907 },
3278 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1886 },3315 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1908 },
3279 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1887 },3316 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1909 },
3280 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1888 },3317 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1910 },
3281 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1889 },3318 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1911 },
3282 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1890 },3319 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1912 },
3283 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1891 },3320 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1913 },
3284 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 657 },3321 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 657 },
3285 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1892 },3322 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1914 },
3286 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1893 },3323 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1915 },
3287 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 571 },3324 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 571 },
3288 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1894 },3325 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1916 },
3289 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1895 },3326 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1917 },
3290 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1896 },3327 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1918 },
3291 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1897 },3328 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1919 },
3292 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1898 },3329 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1920 },
3293 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 448 },3330 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 448 },
3294 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 448 },3331 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 448 },
3295 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 453 },3332 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 453 },
3296 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 447 },3333 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 447 },
3297 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 510 },3334 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 510 },
3298 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1899 },3335 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1921 },
3299 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1900 },3336 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1922 },
3300 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1901 },3337 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1923 },
3301 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1902 },3338 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1924 },
3302 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1903 },3339 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1925 },
3303 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1904 },3340 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1926 },
3304 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1775 },3341 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1927 },
3305 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1905 },3342 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1928 },
3306 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1906 },3343 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1793 },
3307 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1775 },3344 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1929 },
3308 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1907 },3345 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1930 },
3309 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1908 },3346 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1793 },
3310 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1905 },3347 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1931 },
3311 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1907 },3348 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1932 },
3312 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1905 },3349 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1929 },
3313 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1776 },3350 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1931 },
3314 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1909 },3351 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1929 },
3315 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1836 },3352 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1794 },
3316 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1910 },3353 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1933 },
3354 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1857 },
3355 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1934 },
3317 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 281 },3356 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 281 },
3318 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1911 },3357 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1935 },
3319 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1913 },3358 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1937 },
3320 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1914 },3359 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1938 },
3360 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1939 },
3321 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 301 },3361 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 301 },
3322 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1917 },3362 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1942 },
3323 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3363 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3324 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1918 },3364 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1943 },
3325 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1919 },3365 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1944 },
3326 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1920 },3366 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1945 },
3327 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1921 },3367 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1946 },
3328 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1922 },3368 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1947 },
3329 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1923 },3369 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1948 },
3330 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1924 },3370 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1949 },
3331 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1925 },3371 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1950 },
3332 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3372 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3333 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1926 },3373 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1951 },
3334 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1927 },3374 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1952 },
3335 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1928 },3375 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1953 },
3336 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1929 },3376 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1954 },
3337 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1930 },3377 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1955 },
3338 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1931 },3378 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1956 },
3339 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1932 },3379 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1957 },
3340 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1933 },3380 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1958 },
3341 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1934 },3381 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 1959 },
3342 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1935 },3382 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1960 },
3343 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1936 },3383 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1961 },
3344 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1513 },3384 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1520 },
3345 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1937 },3385 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1962 },
3346 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1938 },3386 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1963 },
3347 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1939 },3387 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1964 },
3348 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 698 },3388 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 698 },
3349 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1940 },3389 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1965 },
3350 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1941 },3390 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1966 },
3351 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1241 },3391 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1243 },
3352 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1942 },3392 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1967 },
3353 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1943 },3393 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1968 },
3394 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1969 },
3354 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 998 },3395 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 998 },
3355 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1944 },3396 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1970 },
3356 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1945 },3397 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1971 },
3357 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1946 },3398 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1972 },
3358 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 640 },3399 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 640 },
3359 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1947 },3400 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1973 },
3360 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1525 },3401 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1533 },
3361 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1948 },3402 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1974 },
3362 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1949 },3403 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1975 },
3363 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1951 },3404 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1980 },
3364 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1318 },3405 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1982 },
3365 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1952 },3406 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1321 },
3366 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1953 },3407 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1983 },
3367 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1954 },3408 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1984 },
3368 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1955 },3409 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1985 },
3369 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1956 },3410 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1986 },
3370 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1957 },3411 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1987 },
3412 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1988 },
3371 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },3413 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },
3372 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1958 },3414 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1989 },
3373 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1959 },3415 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1990 },
3374 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1960 },3416 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1991 },
3375 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1961 },3417 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1992 },
3376 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1962 },3418 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1993 },
3377 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1963 },3419 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1994 },
3378 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1964 },3420 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1995 },
3379 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1965 },3421 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1996 },
3380 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1952 },3422 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1983 },
3381 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1969 },3423 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2000 },
3382 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1970 },3424 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2001 },
3383 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1971 },3425 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2002 },
3384 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1479 },3426 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1484 },
3385 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1280 },3427 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1282 },
3386 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1924 },3428 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1949 },
3387 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1489 },3429 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1496 },
3388 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3430 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3389 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1972 },3431 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2003 },
3390 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1973 },3432 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2004 },
3391 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1974 },3433 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2005 },
3392 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1975 },3434 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2006 },
3393 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1976 },3435 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2007 },
3394 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1977 },3436 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2008 },
3395 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1978 },3437 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2009 },
3396 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1979 },3438 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2010 },
3397 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1980 },3439 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2011 },
3398 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1981 },3440 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2012 },
3441 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2013 },
3399 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },3442 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
3400 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1982 },3443 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2014 },
3401 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1983 },3444 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2015 },
3402 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1984 },3445 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2016 },
3403 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1579 },3446 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1589 },
3404 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1580 },3447 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1590 },
3405 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1587 },3448 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1598 },
3406 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1985 },3449 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2017 },
3407 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1583 },3450 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1594 },
3408 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1588 },3451 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1599 },
3409 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1986 },3452 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2018 },
3410 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1988 },3453 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2020 },
3411 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 791 },3454 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 791 },
3412 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 792 },3455 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 792 },
3413 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 794 },3456 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 794 },
3414 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 795 },3457 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 795 },
3415 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 797 },3458 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 797 },
3416 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 798 },3459 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 798 },
3417 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1989 },3460 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2021 },
3418 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1586 },3461 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1597 },
3419 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 804 },3462 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 804 },
3420 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1991 },3463 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 2023 },
3421 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1998 },3464 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2030 },
3422 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1999 },3465 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2031 },
3423 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2000 },3466 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2032 },
3424 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },3467 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
3425 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2001 },3468 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2033 },
3426 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2002 },3469 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2034 },
3427 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2003 },3470 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2035 },
3428 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2004 },3471 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2036 },
3429 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2005 },3472 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2037 },
3430 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2006 },3473 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2038 },
3431 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2007 },3474 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2039 },
3432 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2008 },3475 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2040 },
3433 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 791 },3476 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 791 },
3434 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3477 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3435 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2009 },3478 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 555 },
3436 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2010 },3479 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 555 },
3437 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2011 },3480 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2041 },
3438 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2012 },3481 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2042 },
3439 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2013 },3482 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2043 },
3440 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2014 },3483 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2044 },
3441 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2015 },3484 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2045 },
3442 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2014 },3485 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2046 },
3443 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2014 },3486 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2047 },
3444 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2016 },3487 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2046 },
3445 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2017 },3488 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2046 },
3446 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2018 },3489 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2048 },
3447 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2019 },3490 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2049 },
3448 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2020 },3491 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2050 },
3449 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1519 },3492 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2051 },
3450 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2021 },3493 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2052 },
3451 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2022 },3494 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2053 },
3452 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2023 },3495 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1527 },
3453 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2024 },3496 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2054 },
3454 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2025 },3497 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2055 },
3498 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2056 },
3499 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2057 },
3500 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2058 },
3455 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 503 },3501 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 503 },
3456 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2026 },3502 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2059 },
3457 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2027 },3503 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2060 },
3458 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2028 },3504 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2061 },
3459 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2029 },3505 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2062 },
3460 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1295 },3506 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1486 },
3461 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2030 },3507 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2063 },
3462 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2031 },3508 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2064 },
3463 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 281 },3509 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 281 },
3464 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2032 },3510 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2065 },
3465 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 554 },3511 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 554 },
3466 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2033 },3512 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2066 },
3467 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2034 },3513 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2067 },
3468 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2035 },3514 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2068 },
3469 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 2036 },3515 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 2069 },
3470 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2037 },3516 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2070 },
3471 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2038 },3517 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2071 },
3472 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2039 },3518 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2072 },
3473 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2040 },3519 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2073 },
3474 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2041 },3520 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2074 },
3475 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2042 },3521 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2075 },
3476 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 419 },3522 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 419 },
3477 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2043 },3523 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2076 },
3478 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2044 },3524 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2077 },
3479 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2045 },3525 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2078 },
3480 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2046 },3526 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2079 },
3481 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2047 },3527 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2080 },
3482 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2048 },3528 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2081 },
3483 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2049 },3529 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2082 },
3484 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2050 },3530 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2083 },
3485 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2051 },3531 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2084 },
3486 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2052 },3532 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2085 },
3487 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2053 },3533 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2086 },
3488 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2054 },3534 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1594 },
3489 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2055 },3535 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2087 },
3490 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2056 },3536 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2089 },
3491 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2057 },3537 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2090 },
3492 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1746 },3538 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2091 },
3493 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2058 },3539 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2092 },
3494 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2059 },3540 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2093 },
3495 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2060 },3541 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2094 },
3496 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2062 },3542 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2095 },
3497 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2063 },3543 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2096 },
3498 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2066 },3544 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1762 },
3499 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2067 },3545 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2097 },
3500 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1758 },3546 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2098 },
3501 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2068 },3547 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2099 },
3548 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2101 },
3549 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2102 },
3550 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2105 },
3551 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2106 },
3552 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1774 },
3553 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2107 },
3502 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 572 },3554 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 572 },
3503 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },3555 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
3504 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2071 },3556 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2110 },
3505 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2072 },3557 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2111 },
3506 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1925 },3558 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1950 },
3507 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 352 },3559 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 352 },
3508 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2073 },3560 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2112 },
3509 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2074 },3561 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2113 },
3510 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2075 },3562 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2114 },
3511 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2076 },3563 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2115 },
3512 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1985 },3564 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2017 },
3513 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2077 },3565 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2116 },
3514 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1661 },3566 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1674 },
3515 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2078 },3567 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2117 },
3516 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2079 },3568 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2118 },
3517 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2080 },3569 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2119 },
3518 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2081 },3570 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2120 },
3519 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2082 },3571 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2121 },
3572 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2122 },
3520 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 236 },3573 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 236 },
3521 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 851 },3574 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 851 },
3522 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 851 },3575 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 851 },
3523 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 854 },3576 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 854 },
3524 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 864 },3577 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 864 },
3525 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 865 },3578 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 865 },
3526 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 2083 },3579 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 2123 },
3527 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1760 },3580 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1776 },
3528 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2085 },3581 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2125 },
3529 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2086 },3582 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2126 },
3530 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2087 },3583 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2127 },
3531 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2088 },3584 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2128 },
3532 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2089 },3585 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2129 },
3533 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2090 },3586 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2130 },
3534 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2091 },3587 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2131 },
3535 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2092 },3588 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2132 },
3536 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2093 },3589 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2133 },
3537 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2094 },3590 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2134 },
3538 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2095 },3591 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2135 },
3539 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2096 },3592 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2136 },
3540 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2097 },3593 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2137 },
3541 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2098 },3594 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2138 },
3542 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2099 },3595 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2139 },
3543 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2100 },3596 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2140 },
3544 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2101 },3597 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2141 },
3545 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 476 },3598 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 476 },
3546 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2102 },3599 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2142 },
3547 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2103 },3600 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2143 },
3548 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2104 },3601 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2144 },
3549 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2105 },3602 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2145 },
3550 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2014 },3603 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2046 },
3551 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2106 },3604 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2146 },
3552 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 447 },3605 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 447 },
3553 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2107 },3606 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2147 },
3554 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2108 },3607 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2148 },
3555 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2109 },3608 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2149 },
3556 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2110 },3609 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2150 },
3557 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2111 },3610 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2151 },
3558 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2112 },3611 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2152 },
3559 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2113 },3612 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2153 },
3560 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2114 },3613 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2154 },
3561 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2115 },3614 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2155 },
3562 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2116 },3615 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2156 },
3616 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2157 },
3563 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 281 },3617 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 281 },
3564 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2117 },3618 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2158 },
3565 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2118 },3619 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2159 },
3566 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2119 },3620 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2160 },
3567 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },3621 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },
3568 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2120 },3622 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2161 },
3569 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2121 },3623 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2162 },
3570 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2122 },3624 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2163 },
3571 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 2123 },3625 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 2164 },
3572 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2124 },3626 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2165 },
3573 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2125 },3627 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2166 },
3574 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },3628 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },
3575 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2126 },3629 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2167 },
3576 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 437 },3630 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 437 },
3577 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2127 },3631 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2168 },
3578 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2128 },3632 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2169 },
3633 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2170 },
3579 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 448 },3634 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 448 },
3580 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2129 },3635 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2171 },
3581 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1823 },3636 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1843 },
3582 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2130 },3637 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2172 },
3583 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1423 },3638 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1428 },
3584 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2044 },3639 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2078 },
3585 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2131 },3640 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2173 },
3586 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2132 },3641 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2174 },
3587 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2133 },3642 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2175 },
3588 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1479 },3643 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2176 },
3589 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1689 },3644 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1752 },
3590 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2134 },3645 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2177 },
3591 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2135 },3646 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2178 },
3592 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2136 },3647 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2179 },
3593 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2137 },3648 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1484 },
3594 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2139 },3649 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1703 },
3650 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2180 },
3651 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2181 },
3652 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2182 },
3653 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2183 },
3654 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2185 },
3595 .{ .char = 'g', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3655 .{ .char = 'g', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3596 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 695 },3656 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 695 },
3597 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2140 },3657 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2186 },
3598 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2141 },3658 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2187 },
3599 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2142 },3659 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2188 },
3600 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2143 },3660 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2189 },
3601 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2145 },3661 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2191 },
3602 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2146 },3662 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2192 },
3603 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2147 },3663 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2193 },
3604 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2148 },3664 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2194 },
3605 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 640 },3665 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 640 },
3606 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2149 },3666 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2195 },
3607 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2150 },3667 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2196 },
3608 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2151 },3668 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2197 },
3609 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2152 },3669 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2198 },
3610 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1976 },3670 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2007 },
3611 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2153 },3671 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2199 },
3612 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2154 },3672 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2200 },
3613 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2155 },3673 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2201 },
3614 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2156 },3674 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2202 },
3615 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2157 },3675 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2203 },
3616 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2162 },3676 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2209 },
3617 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2112 },3677 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2214 },
3618 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2166 },3678 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2153 },
3619 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2166 },3679 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2218 },
3620 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2167 },3680 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2218 },
3681 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2219 },
3621 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 974 },3682 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 974 },
3622 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2168 },3683 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2220 },
3623 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1760 },3684 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1776 },
3624 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2086 },3685 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2126 },
3625 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 974 },3686 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 974 },
3626 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2169 },3687 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2221 },
3627 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 974 },3688 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 974 },
3628 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2170 },3689 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2222 },
3629 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2171 },3690 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2223 },
3630 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2172 },3691 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2224 },
3631 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2173 },3692 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2225 },
3632 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },3693 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
3633 .{ .char = 'E', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2174 },3694 .{ .char = 'E', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2226 },
3634 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2175 },3695 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2227 },
3635 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 2176 },3696 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 2228 },
3636 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },3697 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
3637 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2181 },3698 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2233 },
3638 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2182 },3699 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2234 },
3639 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2183 },3700 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2235 },
3640 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2184 },3701 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2236 },
3641 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2185 },3702 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2237 },
3642 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2186 },3703 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2238 },
3643 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2187 },3704 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2239 },
3644 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2188 },3705 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2240 },
3645 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2189 },3706 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2241 },
3646 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2190 },3707 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2242 },
3647 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2162 },3708 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2243 },
3648 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2191 },3709 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2214 },
3649 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2192 },3710 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2244 },
3711 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2245 },
3650 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },3712 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
3651 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2193 },3713 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2246 },
3652 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2194 },3714 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2247 },
3653 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2195 },3715 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2248 },
3654 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2196 },3716 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2249 },
3655 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2197 },3717 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2250 },
3656 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2198 },3718 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2251 },
3657 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2199 },3719 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2252 },
3658 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 2200 },3720 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 2253 },
3659 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2201 },3721 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2254 },
3660 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2202 },3722 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2255 },
3661 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2203 },3723 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2256 },
3662 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2204 },3724 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2257 },
3663 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2205 },3725 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2258 },
3664 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1945 },3726 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2259 },
3665 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2206 },3727 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1971 },
3666 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2207 },3728 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2260 },
3667 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2208 },3729 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2261 },
3668 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2209 },3730 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2262 },
3669 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2210 },3731 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2263 },
3670 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2211 },3732 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2264 },
3671 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2212 },3733 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2265 },
3672 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2213 },3734 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2266 },
3673 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2214 },3735 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2267 },
3674 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2215 },3736 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2268 },
3675 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2216 },3737 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2269 },
3676 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2217 },3738 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2270 },
3677 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2218 },3739 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2271 },
3678 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2219 },3740 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2272 },
3679 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2220 },3741 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2273 },
3680 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2221 },3742 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2274 },
3681 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2145 },3743 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2275 },
3682 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2222 },3744 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2276 },
3683 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2222 },3745 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2277 },
3684 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2162 },3746 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2278 },
3685 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2149 },3747 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2279 },
3686 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2223 },3748 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2191 },
3687 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2224 },3749 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2280 },
3750 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2280 },
3751 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2214 },
3752 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2195 },
3753 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2281 },
3754 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2282 },
3688 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },3755 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
3689 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2225 },3756 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2283 },
3690 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2226 },3757 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2284 },
3691 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },3758 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
3692 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1758 },3759 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1774 },
3693 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1760 },3760 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1776 },
3761 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1778 },
3762 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 572 },
3763 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1779 },
3764 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
3765 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1774 },
3766 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1776 },
3694 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 572 },3767 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 572 },
3695 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1763 },3768 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1779 },
3696 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },3769 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
3697 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 632 },3770 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 632 },
3698 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1788 },3771 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1807 },
3699 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 633 },3772 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 633 },
3700 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3773 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3701 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 974 },3774 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 974 },
3702 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2166 },3775 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2218 },
3703 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 974 },3776 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 974 },
3704 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2227 },3777 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2285 },
3705 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2228 },3778 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2286 },
3706 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 314 },3779 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 314 },
3707 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1421 },3780 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1426 },
3708 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2229 },3781 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2287 },
3709 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2230 },3782 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2288 },
3710 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2231 },3783 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2289 },
3711 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 632 },3784 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 632 },
3712 .{ .char = '8', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3785 .{ .char = '8', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3713 .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2232 },3786 .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2290 },
3714 .{ .char = 'P', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2038 },3787 .{ .char = 'P', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2071 },
3715 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2233 },3788 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2291 },
3716 .{ .char = 'M', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2234 },3789 .{ .char = 'M', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2292 },
3717 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2235 },3790 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2293 },
3718 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2236 },3791 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2294 },
3719 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },3792 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },
3720 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2237 },3793 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2295 },
3721 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2238 },3794 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2296 },
3722 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2239 },3795 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2297 },
3723 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2240 },3796 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2298 },
3724 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2241 },3797 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2299 },
3725 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2242 },3798 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2300 },
3726 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2243 },3799 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2301 },
3727 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2244 },3800 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2302 },
3728 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2245 },3801 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2303 },
3802 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2304 },
3729 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },3803 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
3730 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2246 },3804 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2305 },
3731 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },3805 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },
3732 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2247 },3806 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2306 },
3733 .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2248 },3807 .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2307 },
3734 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2249 },3808 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2308 },
3735 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 2250 },3809 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 2309 },
3736 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2251 },3810 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2310 },
3737 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2206 },3811 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2260 },
3738 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2252 },3812 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2311 },
3739 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2253 },3813 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2312 },
3740 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2254 },3814 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2313 },
3815 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2314 },
3741 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 566 },3816 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 566 },
3742 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2255 },3817 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2315 },
3743 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1753 },3818 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2316 },
3744 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2256 },3819 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 566 },
3745 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2257 },3820 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2260 },
3746 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2258 },3821 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2317 },
3747 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2259 },3822 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1769 },
3748 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2260 },3823 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2318 },
3749 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2237 },3824 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2319 },
3750 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2261 },3825 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2320 },
3751 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2262 },3826 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2321 },
3752 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2263 },3827 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2322 },
3753 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2264 },3828 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2295 },
3754 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2265 },3829 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2323 },
3755 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2266 },3830 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2324 },
3756 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2267 },3831 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2325 },
3757 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2268 },3832 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2326 },
3758 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2269 },3833 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2327 },
3759 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2270 },3834 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2328 },
3760 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2271 },3835 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2329 },
3761 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2272 },3836 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2330 },
3762 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2273 },3837 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2331 },
3763 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2274 },3838 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2332 },
3764 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2275 },3839 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2333 },
3765 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2276 },3840 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2334 },
3841 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2335 },
3842 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2336 },
3843 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2337 },
3844 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2338 },
3766 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 632 },3845 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 632 },
3767 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1430 },3846 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1435 },
3768 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2277 },3847 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2339 },
3769 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2278 },3848 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2340 },
3770 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },3849 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
3771 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2279 },3850 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2341 },
3772 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3851 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3773 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2280 },3852 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2342 },
3774 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2281 },3853 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2343 },
3775 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2282 },3854 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2344 },
3776 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2283 },3855 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2345 },
3777 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2284 },3856 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2346 },
3778 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2285 },3857 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2347 },
3779 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2286 },3858 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2348 },
3859 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2349 },
3780 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },3860 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
3781 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2288 },3861 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2351 },
3782 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2289 },3862 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2352 },
3783 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1546 },3863 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1555 },
3784 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2290 },3864 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2353 },
3785 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 2291 },3865 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 2354 },
3786 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2303 },3866 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2366 },
3787 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1295 },3867 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1486 },
3788 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2304 },3868 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2367 },
3789 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2305 },3869 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2368 },
3790 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2306 },3870 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2369 },
3871 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2370 },
3872 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2371 },
3873 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2372 },
3791 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },3874 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
3792 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2307 },3875 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2373 },
3793 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2308 },3876 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2374 },
3794 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2310 },3877 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2376 },
3795 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2311 },3878 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2377 },
3796 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2312 },3879 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2378 },
3797 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2313 },3880 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2379 },
3798 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2314 },3881 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2380 },
3799 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2315 },3882 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2381 },
3800 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2316 },3883 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2382 },
3801 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2317 },3884 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2383 },
3802 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2202 },3885 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2255 },
3803 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 561 },3886 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 561 },
3804 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2319 },3887 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2385 },
3805 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2320 },3888 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2386 },
3806 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2171 },3889 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2223 },
3807 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2321 },3890 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2387 },
3808 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2322 },3891 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2388 },
3809 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2323 },3892 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2389 },
3810 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2324 },3893 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2390 },
3811 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2326 },3894 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2392 },
3812 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1434 },3895 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1439 },
3813 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2327 },3896 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2393 },
3814 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2328 },3897 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2394 },
3815 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2329 },3898 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2395 },
3816 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2330 },3899 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2396 },
3817 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2331 },3900 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2397 },
3818 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2332 },3901 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2344 },
3819 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2333 },3902 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2398 },
3820 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2334 },3903 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2399 },
3821 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2231 },3904 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2400 },
3905 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2289 },
3822 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3906 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3823 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },3907 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },
3824 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2335 },3908 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2401 },
3825 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2336 },3909 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2402 },
3826 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2337 },3910 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2403 },
3827 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2342 },3911 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2408 },
3828 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2343 },3912 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 2409 },
3829 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2346 },3913 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2414 },
3830 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2347 },3914 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2415 },
3831 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2349 },3915 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2418 },
3832 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2350 },3916 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2420 },
3833 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2352 },3917 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2422 },
3834 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2353 },3918 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2423 },
3835 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2354 },3919 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2424 },
3836 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2356 },3920 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2426 },
3837 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2359 },3921 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2429 },
3838 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2361 },3922 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2431 },
3839 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2362 },3923 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2432 },
3840 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2363 },3924 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2433 },
3841 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2364 },3925 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2434 },
3842 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2365 },3926 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2435 },
3843 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1583 },3927 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2436 },
3844 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1588 },3928 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2437 },
3845 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2366 },3929 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2438 },
3930 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1594 },
3931 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1599 },
3932 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2439 },
3846 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },3933 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
3847 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2367 },3934 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2440 },
3848 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2368 },3935 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2441 },
3849 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2369 },3936 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2442 },
3850 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2370 },3937 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2443 },
3851 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2371 },3938 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2444 },
3852 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2374 },3939 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2447 },
3853 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3940 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3854 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2375 },3941 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2448 },
3855 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2376 },3942 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2449 },
3856 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2377 },3943 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2450 },
3857 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2378 },3944 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2451 },
3858 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2379 },3945 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2452 },
3859 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2380 },3946 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2453 },
3860 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2381 },3947 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2454 },
3861 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2382 },3948 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2455 },
3862 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2383 },3949 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2456 },
3863 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2384 },3950 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2457 },
3864 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2385 },3951 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2458 },
3865 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2386 },3952 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2459 },
3866 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2387 },3953 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2460 },
3867 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2388 },3954 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2461 },
3868 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2389 },3955 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2462 },
3869 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2390 },3956 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2463 },
3870 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 447 },3957 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 447 },
3871 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2391 },3958 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2464 },
3872 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 335 },3959 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 335 },
3873 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2392 },3960 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2465 },
3874 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2393 },3961 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2466 },
3875 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2394 },3962 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2467 },
3876 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2395 },3963 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2468 },
3877 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2396 },3964 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2469 },
3878 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2397 },3965 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2470 },
3879 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 706 },3966 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 706 },
3880 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2398 },3967 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2471 },
3881 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2400 },3968 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2472 },
3882 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2401 },3969 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2471 },
3883 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2402 },3970 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2474 },
3884 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2404 },3971 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2475 },
3885 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2405 },3972 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2476 },
3886 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2406 },3973 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2478 },
3887 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2407 },3974 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2479 },
3888 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2408 },3975 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2480 },
3976 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2481 },
3977 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2482 },
3978 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2483 },
3979 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2484 },
3889 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 567 },3980 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 567 },
3890 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2410 },3981 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2486 },
3891 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2411 },3982 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2487 },
3892 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 276 },3983 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 276 },
3893 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2412 },3984 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2488 },
3894 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2411 },3985 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2487 },
3895 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2413 },3986 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2489 },
3896 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2414 },3987 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2490 },
3897 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2415 },3988 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2491 },
3898 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2416 },3989 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2492 },
3899 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2417 },3990 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2493 },
3900 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2418 },3991 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2494 },
3901 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2419 },3992 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2495 },
3902 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2420 },3993 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2496 },
3903 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2421 },3994 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2497 },
3904 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2422 },3995 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2498 },
3905 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2423 },3996 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2499 },
3906 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2424 },3997 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2500 },
3907 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2425 },3998 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2501 },
3908 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2426 },3999 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2502 },
3909 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2370 },4000 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2503 },
3910 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2427 },4001 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2504 },
3911 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2428 },4002 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2505 },
3912 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2429 },4003 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2443 },
4004 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2506 },
4005 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2507 },
4006 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2508 },
3913 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 974 },4007 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 974 },
3914 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2430 },4008 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2509 },
3915 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2431 },4009 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2510 },
3916 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2432 },4010 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2511 },
3917 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2433 },4011 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2512 },
3918 .{ .char = 'C', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2434 },4012 .{ .char = 'C', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2513 },
3919 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2435 },4013 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2514 },
3920 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2436 },4014 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2515 },
3921 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2437 },4015 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2516 },
3922 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2438 },4016 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2517 },
3923 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2439 },4017 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2518 },
3924 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2440 },4018 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2519 },
3925 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2441 },4019 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2520 },
3926 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2442 },4020 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2521 },
3927 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },4021 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },
3928 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2443 },4022 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2522 },
3929 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 447 },4023 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 447 },
3930 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2444 },4024 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2523 },
3931 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2445 },4025 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2524 },
3932 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2446 },4026 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2525 },
3933 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2447 },4027 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1615 },
3934 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2448 },4028 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2526 },
3935 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 2449 },4029 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2527 },
4030 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 2528 },
3936 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },4031 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
3937 .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },4032 .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3938 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 448 },4033 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 448 },
3939 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 2449 },4034 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 547 },
3940 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 2451 },4035 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2530 },
3941 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 2451 },4036 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 2528 },
3942 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2453 },4037 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2531 },
3943 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2454 },4038 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2531 },
4039 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2533 },
4040 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2534 },
3944 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4041 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3945 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2455 },4042 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2535 },
3946 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2448 },4043 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2527 },
3947 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2443 },4044 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2522 },
3948 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2456 },4045 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1923 },
3949 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2457 },4046 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2536 },
3950 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },4047 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
3951 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2458 },4048 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 314 },
3952 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2459 },4049 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2537 },
3953 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2460 },4050 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2538 },
3954 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2461 },4051 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1594 },
3955 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2462 },4052 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2539 },
3956 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2463 },4053 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2540 },
3957 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2464 },4054 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2541 },
3958 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2465 },4055 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2542 },
3959 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2466 },4056 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2543 },
3960 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2467 },4057 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2544 },
3961 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2468 },4058 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2545 },
3962 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2469 },4059 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2546 },
3963 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2470 },4060 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2547 },
3964 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2471 },4061 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2548 },
4062 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2549 },
4063 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2550 },
4064 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2551 },
3965 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 768 },4065 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 768 },
3966 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2381 },4066 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2454 },
3967 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 2472 },4067 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 2552 },
3968 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2474 },4068 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2554 },
3969 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2475 },4069 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2555 },
3970 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2476 },4070 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2556 },
3971 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2477 },4071 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2557 },
3972 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2478 },4072 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2558 },
3973 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2479 },4073 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2559 },
3974 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2480 },4074 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2560 },
3975 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2481 },4075 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2561 },
3976 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2482 },4076 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2562 },
3977 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2483 },4077 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2563 },
3978 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2484 },4078 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2564 },
3979 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2485 },4079 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2565 },
3980 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2486 },4080 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2566 },
3981 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2487 },4081 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2567 },
3982 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1752 },4082 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1768 },
3983 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4083 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3984 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2488 },4084 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2568 },
3985 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4085 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3986 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2268 },4086 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 281 },
4087 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2569 },
3987 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 561 },4088 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 561 },
3988 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2489 },4089 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2570 },
3989 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2490 },4090 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2571 },
3990 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2491 },4091 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2572 },
3991 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 555 },4092 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2573 },
3992 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2492 },4093 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2574 },
3993 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2493 },4094 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2575 },
3994 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2494 },4095 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2576 },
3995 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2495 },4096 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2577 },
3996 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2496 },4097 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2578 },
3997 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2497 },4098 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2579 },
3998 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2498 },4099 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2580 },
3999 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2499 },4100 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2581 },
4000 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2500 },4101 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2582 },
4001 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2501 },4102 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2583 },
4002 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2502 },4103 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2584 },
4003 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2503 },4104 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2585 },
4004 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },4105 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
4005 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2028 },4106 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2061 },
4006 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2504 },4107 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2586 },
4007 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2505 },4108 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2587 },
4008 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2506 },4109 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2588 },
4009 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 2509 },4110 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 2591 },
4010 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2513 },4111 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2595 },
4011 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2514 },4112 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2596 },
4012 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2515 },4113 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2597 },
4013 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2516 },4114 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2598 },
4014 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2517 },4115 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2599 },
4015 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2518 },4116 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2600 },
4016 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2519 },4117 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2601 },
4017 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2520 },4118 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2602 },
4018 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2521 },4119 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2603 },
4019 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2522 },4120 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2604 },
4020 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4121 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4021 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2523 },4122 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2605 },
4022 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2524 },4123 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2606 },
4023 .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4124 .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4024 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2525 },4125 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2607 },
4025 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2526 },4126 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2608 },
4026 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2527 },4127 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2609 },
4027 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2528 },4128 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2610 },
4028 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2529 },4129 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2611 },
4029 .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2530 },4130 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2612 },
4030 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2531 },4131 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1599 },
4031 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2532 },4132 .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2613 },
4032 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2533 },4133 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2614 },
4033 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2534 },4134 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2615 },
4034 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2535 },4135 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2616 },
4035 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2536 },4136 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2617 },
4036 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2537 },4137 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2618 },
4037 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2538 },4138 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2619 },
4038 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2539 },4139 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2620 },
4039 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2540 },4140 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2621 },
4040 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2541 },4141 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2622 },
4041 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2542 },4142 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2623 },
4143 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2624 },
4144 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2625 },
4042 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 486 },4145 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 486 },
4043 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2543 },4146 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2626 },
4044 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 632 },4147 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 632 },
4045 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 633 },4148 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 633 },
4046 .{ .char = '8', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },4149 .{ .char = '8', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
4047 .{ .char = 'P', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2544 },4150 .{ .char = 'P', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2627 },
4048 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2545 },4151 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2628 },
4049 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2546 },4152 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2629 },
4050 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2044 },4153 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2078 },
4051 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2547 },4154 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2630 },
4052 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },4155 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },
4053 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1976 },4156 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2007 },
4054 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2548 },4157 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2631 },
4055 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2549 },4158 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2632 },
4056 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2550 },4159 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2633 },
4057 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 301 },4160 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 301 },
4058 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2551 },4161 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2634 },
4059 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2552 },4162 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2635 },
4163 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2636 },
4060 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 461 },4164 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 461 },
4061 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 567 },4165 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 567 },
4062 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2553 },4166 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2637 },
4063 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2554 },4167 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2638 },
4064 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2555 },4168 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2639 },
4065 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2556 },4169 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2640 },
4066 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2557 },4170 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2641 },
4067 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1975 },4171 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2006 },
4068 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2558 },4172 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2642 },
4069 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },4173 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },
4070 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2559 },4174 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2643 },
4071 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2560 },4175 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2644 },
4072 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2561 },4176 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2645 },
4073 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2562 },4177 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2646 },
4074 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2563 },4178 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2647 },
4075 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2564 },4179 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2648 },
4076 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2506 },4180 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2588 },
4077 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2565 },4181 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2649 },
4078 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 640 },4182 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 640 },
4079 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2566 },4183 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2650 },
4080 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2567 },4184 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2651 },
4081 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2568 },4185 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2652 },
4082 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2018 },4186 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2050 },
4083 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2572 },4187 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2656 },
4084 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2573 },4188 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2657 },
4085 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 438 },4189 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 438 },
4086 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2574 },4190 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2658 },
4087 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2575 },4191 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2659 },
4192 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2660 },
4088 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 314 },4193 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 314 },
4089 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2576 },4194 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2661 },
4090 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2577 },4195 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2662 },
4091 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2258 },4196 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2320 },
4092 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2578 },4197 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2663 },
4093 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2579 },4198 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2664 },
4094 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1752 },4199 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1768 },
4095 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2580 },4200 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2665 },
4096 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 567 },4201 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 567 },
4097 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2581 },4202 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2666 },
4098 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2582 },4203 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2667 },
4099 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2583 },4204 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2668 },
4100 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4205 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4101 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2584 },4206 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2669 },
4102 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2585 },4207 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2670 },
4103 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2586 },4208 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2671 },
4104 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2587 },4209 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2672 },
4105 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 511 },4210 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 511 },
4106 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 411 },4211 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 411 },
4107 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2588 },4212 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2673 },
4108 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2394 },4213 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2467 },
4109 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2097 },4214 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2137 },
4110 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2589 },4215 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2674 },
4111 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2590 },4216 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 561 },
4112 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2075 },4217 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2675 },
4113 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2591 },4218 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2114 },
4114 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1835 },4219 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2676 },
4115 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2592 },4220 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1856 },
4116 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2593 },4221 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2677 },
4117 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2594 },4222 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2678 },
4118 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2595 },4223 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2679 },
4119 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2597 },4224 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2680 },
4120 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2598 },4225 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2682 },
4121 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2599 },4226 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2683 },
4227 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2684 },
4122 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },4228 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
4123 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2156 },4229 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2202 },
4124 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1746 },4230 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1762 },
4125 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2600 },4231 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2685 },
4126 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },4232 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
4127 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2601 },4233 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2686 },
4128 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2602 },4234 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2687 },
4129 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2603 },4235 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2688 },
4130 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2604 },4236 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2689 },
4131 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 756 },4237 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 756 },
4132 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2605 },4238 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2690 },
4133 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2606 },4239 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2691 },
4134 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2607 },4240 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2692 },
4135 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 437 },4241 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 437 },
4136 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2608 },4242 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2693 },
4137 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2609 },4243 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2694 },
4138 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2610 },4244 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2695 },
4139 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2611 },4245 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2696 },
4140 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2612 },4246 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2697 },
4141 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2613 },4247 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2698 },
4142 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2614 },4248 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2699 },
4143 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2615 },4249 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2700 },
4144 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2616 },4250 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2701 },
4145 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2617 },4251 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2702 },
4146 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1185 },4252 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1187 },
4147 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2618 },4253 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2703 },
4148 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2619 },4254 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2704 },
4149 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 639 },4255 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 639 },
4150 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2194 },4256 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2247 },
4151 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 554 },4257 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 554 },
4152 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2620 },4258 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2705 },
4153 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 449 },4259 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 449 },
4154 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2048 },4260 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2082 },
4155 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2621 },4261 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2706 },
4156 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2044 },4262 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2078 },
4157};4263};
4158pub const data = blk: {4264pub const data = blk: {
4159 @setEvalBranchQuota(12366);4265 @setEvalBranchQuota(12555);
4160 break :blk [_]Properties{4266 break :blk [_]Properties{
4161 .{ .param_str = "vv*vC*iC", .header = .blocks, .language = .all_languages, .attributes = .{ .lib_function_without_prefix = true } },4267 .{ .param_str = "vv*vC*iC", .header = .blocks, .language = .all_languages, .attributes = .{ .lib_function_without_prefix = true } },
4162 .{ .param_str = "vvC*iC", .header = .blocks, .language = .all_languages, .attributes = .{ .lib_function_without_prefix = true } },4268 .{ .param_str = "vvC*iC", .header = .blocks, .language = .all_languages, .attributes = .{ .lib_function_without_prefix = true } },
...@@ -4212,6 +4318,8 @@ pub const data = blk: {...@@ -4212,6 +4318,8 @@ pub const data = blk: {
4212 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },4318 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
4213 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },4319 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
4214 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },4320 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
4321 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
4322 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
4215 .{ .param_str = "bzvCD*", .attributes = .{ .const_evaluable = true } },4323 .{ .param_str = "bzvCD*", .attributes = .{ .const_evaluable = true } },
4216 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },4324 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
4217 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },4325 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
...@@ -4279,6 +4387,7 @@ pub const data = blk: {...@@ -4279,6 +4387,7 @@ pub const data = blk: {
4279 .{ .param_str = "v*zIz", .attributes = .{ .lib_function_with_builtin_prefix = true } },4387 .{ .param_str = "v*zIz", .attributes = .{ .lib_function_with_builtin_prefix = true } },
4280 .{ .param_str = "v*zIz", .attributes = .{ .lib_function_with_builtin_prefix = true } },4388 .{ .param_str = "v*zIz", .attributes = .{ .lib_function_with_builtin_prefix = true } },
4281 .{ .param_str = "bcC*", .attributes = .{ .pure = true, .@"const" = true } },4389 .{ .param_str = "bcC*", .attributes = .{ .pure = true, .@"const" = true } },
4390 .{ .param_str = "bcC*", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4282 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },4391 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
4283 .{ .param_str = "dd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },4392 .{ .param_str = "dd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },
4284 .{ .param_str = "ff", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },4393 .{ .param_str = "ff", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },
...@@ -4291,7 +4400,7 @@ pub const data = blk: {...@@ -4291,7 +4400,7 @@ pub const data = blk: {
4291 .{ .param_str = "LdLd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },4400 .{ .param_str = "LdLd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },
4292 .{ .param_str = "vb", .attributes = .{ .const_evaluable = true } },4401 .{ .param_str = "vb", .attributes = .{ .const_evaluable = true } },
4293 .{ .param_str = "v*vC*z.", .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } },4402 .{ .param_str = "v*vC*z.", .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } },
4294 .{ .param_str = "vvC*Iz", .attributes = .{ .@"const" = true } },4403 .{ .param_str = "vvC*z", .attributes = .{ .@"const" = true } },
4295 .{ .param_str = "vvCD*vCD*", .attributes = .{ .const_evaluable = true } },4404 .{ .param_str = "vvCD*vCD*", .attributes = .{ .const_evaluable = true } },
4296 .{ .param_str = "dd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },4405 .{ .param_str = "dd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },
4297 .{ .param_str = "ddd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },4406 .{ .param_str = "ddd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },
...@@ -4318,6 +4427,7 @@ pub const data = blk: {...@@ -4318,6 +4427,7 @@ pub const data = blk: {
4318 .{ .param_str = "UsUs", .attributes = .{ .@"const" = true, .const_evaluable = true } },4427 .{ .param_str = "UsUs", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4319 .{ .param_str = "UZiUZi", .attributes = .{ .@"const" = true, .const_evaluable = true } },4428 .{ .param_str = "UZiUZi", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4320 .{ .param_str = "UWiUWi", .attributes = .{ .@"const" = true, .const_evaluable = true } },4429 .{ .param_str = "UWiUWi", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4430 .{ .param_str = "i.", .attributes = .{ .@"const" = true, .const_evaluable = true, .custom_typecheck = true } },
4321 .{ .param_str = "vv*z", .attributes = .{ .lib_function_with_builtin_prefix = true } },4431 .{ .param_str = "vv*z", .attributes = .{ .lib_function_with_builtin_prefix = true } },
4322 .{ .param_str = "vA.", .language = .c23_lang, .attributes = .{ .custom_typecheck = true } },4432 .{ .param_str = "vA.", .language = .c23_lang, .attributes = .{ .custom_typecheck = true } },
4323 .{ .param_str = "dXd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },4433 .{ .param_str = "dXd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },
...@@ -4446,7 +4556,7 @@ pub const data = blk: {...@@ -4446,7 +4556,7 @@ pub const data = blk: {
4446 .{ .param_str = "zvC*i", .attributes = .{ .eval_args = false, .const_evaluable = true } },4556 .{ .param_str = "zvC*i", .attributes = .{ .eval_args = false, .const_evaluable = true } },
4447 .{ .param_str = "vzv*" },4557 .{ .param_str = "vzv*" },
4448 .{ .param_str = "iIi", .attributes = .{ .@"const" = true, .const_evaluable = true } },4558 .{ .param_str = "iIi", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4449 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4559 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } },
4450 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4560 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4451 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } },4561 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } },
4452 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4562 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
...@@ -4455,21 +4565,28 @@ pub const data = blk: {...@@ -4455,21 +4565,28 @@ pub const data = blk: {
4455 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } },4565 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } },
4456 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4566 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4457 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4567 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4568 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } },
4458 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4569 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4459 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4570 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4460 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4571 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4572 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } },
4461 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4573 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4462 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4574 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4463 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4575 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4464 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4576 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4577 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } },
4465 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4578 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4579 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } },
4580 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } },
4466 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4581 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4467 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4582 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4468 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4583 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4469 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4584 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4585 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } },
4470 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4586 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4471 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4587 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4472 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4588 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4589 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } },
4473 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4590 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4474 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4591 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
4475 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },4592 .{ .param_str = "v.", .attributes = .{ .@"const" = true, .custom_typecheck = true } },
...@@ -4592,6 +4709,7 @@ pub const data = blk: {...@@ -4592,6 +4709,7 @@ pub const data = blk: {
4592 .{ .param_str = "iLd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },4709 .{ .param_str = "iLd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },
4593 .{ .param_str = "c*cC*i", .attributes = .{ .lib_function_with_builtin_prefix = true } },4710 .{ .param_str = "c*cC*i", .attributes = .{ .lib_function_with_builtin_prefix = true } },
4594 .{ .param_str = "d", .attributes = .{ .@"const" = true, .const_evaluable = true } },4711 .{ .param_str = "d", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4712 .{ .param_str = "z.", .attributes = .{ .@"const" = true, .pure = true, .custom_typecheck = true, .const_evaluable = true, .eval_args = false } },
4595 .{ .param_str = "f", .attributes = .{ .@"const" = true, .const_evaluable = true } },4713 .{ .param_str = "f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4596 .{ .param_str = "LLd", .attributes = .{ .@"const" = true, .const_evaluable = true } },4714 .{ .param_str = "LLd", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4597 .{ .param_str = "x", .attributes = .{ .@"const" = true, .const_evaluable = true } },4715 .{ .param_str = "x", .attributes = .{ .@"const" = true, .const_evaluable = true } },
...@@ -4667,6 +4785,12 @@ pub const data = blk: {...@@ -4667,6 +4785,12 @@ pub const data = blk: {
4667 .{ .param_str = "LiLLd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },4785 .{ .param_str = "LiLLd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },
4668 .{ .param_str = "LiLd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },4786 .{ .param_str = "LiLd", .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } },
4669 .{ .param_str = "v*z", .attributes = .{ .lib_function_with_builtin_prefix = true } },4787 .{ .param_str = "v*z", .attributes = .{ .lib_function_with_builtin_prefix = true } },
4788 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
4789 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
4790 .{ .param_str = "v.", .attributes = .{ .pure = true, .custom_typecheck = true } },
4791 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
4792 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
4793 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
4670 .{ .param_str = "v.", .attributes = .{ .lib_function_with_builtin_prefix = true, .custom_typecheck = true } },4794 .{ .param_str = "v.", .attributes = .{ .lib_function_with_builtin_prefix = true, .custom_typecheck = true } },
4671 .{ .param_str = "v.", .attributes = .{ .lib_function_with_builtin_prefix = true, .custom_typecheck = true } },4795 .{ .param_str = "v.", .attributes = .{ .lib_function_with_builtin_prefix = true, .custom_typecheck = true } },
4672 .{ .param_str = "v.", .attributes = .{ .lib_function_with_builtin_prefix = true, .custom_typecheck = true } },4796 .{ .param_str = "v.", .attributes = .{ .lib_function_with_builtin_prefix = true, .custom_typecheck = true } },
...@@ -4839,6 +4963,7 @@ pub const data = blk: {...@@ -4839,6 +4963,7 @@ pub const data = blk: {
4839 .{ .param_str = "biCiCi*", .attributes = .{ .const_evaluable = true } },4963 .{ .param_str = "biCiCi*", .attributes = .{ .const_evaluable = true } },
4840 .{ .param_str = "bLiCLiCLi*", .attributes = .{ .const_evaluable = true } },4964 .{ .param_str = "bLiCLiCLi*", .attributes = .{ .const_evaluable = true } },
4841 .{ .param_str = "bLLiCLLiCLLi*", .attributes = .{ .const_evaluable = true } },4965 .{ .param_str = "bLLiCLLiCLLi*", .attributes = .{ .const_evaluable = true } },
4966 .{ .param_str = "v*" },
4842 .{ .param_str = "vA.", .attributes = .{ .custom_typecheck = true } },4967 .{ .param_str = "vA.", .attributes = .{ .custom_typecheck = true } },
4843 .{ .param_str = "c*c*cC*", .attributes = .{ .lib_function_with_builtin_prefix = true } },4968 .{ .param_str = "c*c*cC*", .attributes = .{ .lib_function_with_builtin_prefix = true } },
4844 .{ .param_str = "c*c*cC*z", .attributes = .{ .lib_function_with_builtin_prefix = true } },4969 .{ .param_str = "c*c*cC*z", .attributes = .{ .lib_function_with_builtin_prefix = true } },
...@@ -5013,6 +5138,8 @@ pub const data = blk: {...@@ -5013,6 +5138,8 @@ pub const data = blk: {
5013 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },5138 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
5014 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },5139 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
5015 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },5140 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
5141 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
5142 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
5016 .{ .param_str = "vii" },5143 .{ .param_str = "vii" },
5017 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },5144 .{ .param_str = "v.", .attributes = .{ .custom_typecheck = true } },
5018 .{ .param_str = "iSJi", .header = .setjmp, .language = .all_languages, .attributes = .{ .lib_function_without_prefix = true, .returns_twice = true } },5145 .{ .param_str = "iSJi", .header = .setjmp, .language = .all_languages, .attributes = .{ .lib_function_without_prefix = true, .returns_twice = true } },
lib/compiler/aro/aro/Builtins/hexagon.zig+3959-3761
...@@ -977,6 +977,14 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,...@@ -977,6 +977,14 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,
977 __builtin_HEXAGON_V6_vabs_f8_128B,977 __builtin_HEXAGON_V6_vabs_f8_128B,
978 __builtin_HEXAGON_V6_vabs_hf,978 __builtin_HEXAGON_V6_vabs_hf,
979 __builtin_HEXAGON_V6_vabs_hf_128B,979 __builtin_HEXAGON_V6_vabs_hf_128B,
980 __builtin_HEXAGON_V6_vabs_qf16_hf,
981 __builtin_HEXAGON_V6_vabs_qf16_hf_128B,
982 __builtin_HEXAGON_V6_vabs_qf16_qf16,
983 __builtin_HEXAGON_V6_vabs_qf16_qf16_128B,
984 __builtin_HEXAGON_V6_vabs_qf32_qf32,
985 __builtin_HEXAGON_V6_vabs_qf32_qf32_128B,
986 __builtin_HEXAGON_V6_vabs_qf32_sf,
987 __builtin_HEXAGON_V6_vabs_qf32_sf_128B,
980 __builtin_HEXAGON_V6_vabs_sf,988 __builtin_HEXAGON_V6_vabs_sf,
981 __builtin_HEXAGON_V6_vabs_sf_128B,989 __builtin_HEXAGON_V6_vabs_sf_128B,
982 __builtin_HEXAGON_V6_vabsb,990 __builtin_HEXAGON_V6_vabsb,
...@@ -1093,6 +1101,8 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,...@@ -1093,6 +1101,8 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,
1093 __builtin_HEXAGON_V6_vaddwsat_128B,1101 __builtin_HEXAGON_V6_vaddwsat_128B,
1094 __builtin_HEXAGON_V6_vaddwsat_dv,1102 __builtin_HEXAGON_V6_vaddwsat_dv,
1095 __builtin_HEXAGON_V6_vaddwsat_dv_128B,1103 __builtin_HEXAGON_V6_vaddwsat_dv_128B,
1104 __builtin_HEXAGON_V6_valign4,
1105 __builtin_HEXAGON_V6_valign4_128B,
1096 __builtin_HEXAGON_V6_valignb,1106 __builtin_HEXAGON_V6_valignb,
1097 __builtin_HEXAGON_V6_valignb_128B,1107 __builtin_HEXAGON_V6_valignb_128B,
1098 __builtin_HEXAGON_V6_valignbi,1108 __builtin_HEXAGON_V6_valignbi,
...@@ -1211,14 +1221,30 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,...@@ -1211,14 +1221,30 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,
1211 __builtin_HEXAGON_V6_vcl0w_128B,1221 __builtin_HEXAGON_V6_vcl0w_128B,
1212 __builtin_HEXAGON_V6_vcombine,1222 __builtin_HEXAGON_V6_vcombine,
1213 __builtin_HEXAGON_V6_vcombine_128B,1223 __builtin_HEXAGON_V6_vcombine_128B,
1224 __builtin_HEXAGON_V6_vconv_bf_qf32,
1225 __builtin_HEXAGON_V6_vconv_bf_qf32_128B,
1226 __builtin_HEXAGON_V6_vconv_f8_qf16,
1227 __builtin_HEXAGON_V6_vconv_f8_qf16_128B,
1214 __builtin_HEXAGON_V6_vconv_h_hf,1228 __builtin_HEXAGON_V6_vconv_h_hf,
1215 __builtin_HEXAGON_V6_vconv_h_hf_128B,1229 __builtin_HEXAGON_V6_vconv_h_hf_128B,
1230 __builtin_HEXAGON_V6_vconv_h_hf_rnd,
1231 __builtin_HEXAGON_V6_vconv_h_hf_rnd_128B,
1216 __builtin_HEXAGON_V6_vconv_hf_h,1232 __builtin_HEXAGON_V6_vconv_hf_h,
1217 __builtin_HEXAGON_V6_vconv_hf_h_128B,1233 __builtin_HEXAGON_V6_vconv_hf_h_128B,
1218 __builtin_HEXAGON_V6_vconv_hf_qf16,1234 __builtin_HEXAGON_V6_vconv_hf_qf16,
1219 __builtin_HEXAGON_V6_vconv_hf_qf16_128B,1235 __builtin_HEXAGON_V6_vconv_hf_qf16_128B,
1220 __builtin_HEXAGON_V6_vconv_hf_qf32,1236 __builtin_HEXAGON_V6_vconv_hf_qf32,
1221 __builtin_HEXAGON_V6_vconv_hf_qf32_128B,1237 __builtin_HEXAGON_V6_vconv_hf_qf32_128B,
1238 __builtin_HEXAGON_V6_vconv_qf16_f8,
1239 __builtin_HEXAGON_V6_vconv_qf16_f8_128B,
1240 __builtin_HEXAGON_V6_vconv_qf16_hf,
1241 __builtin_HEXAGON_V6_vconv_qf16_hf_128B,
1242 __builtin_HEXAGON_V6_vconv_qf16_qf16,
1243 __builtin_HEXAGON_V6_vconv_qf16_qf16_128B,
1244 __builtin_HEXAGON_V6_vconv_qf32_qf32,
1245 __builtin_HEXAGON_V6_vconv_qf32_qf32_128B,
1246 __builtin_HEXAGON_V6_vconv_qf32_sf,
1247 __builtin_HEXAGON_V6_vconv_qf32_sf_128B,
1222 __builtin_HEXAGON_V6_vconv_sf_qf32,1248 __builtin_HEXAGON_V6_vconv_sf_qf32,
1223 __builtin_HEXAGON_V6_vconv_sf_qf32_128B,1249 __builtin_HEXAGON_V6_vconv_sf_qf32_128B,
1224 __builtin_HEXAGON_V6_vconv_sf_w,1250 __builtin_HEXAGON_V6_vconv_sf_w,
...@@ -1333,6 +1359,22 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,...@@ -1333,6 +1359,22 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,
1333 __builtin_HEXAGON_V6_veqh_or_128B,1359 __builtin_HEXAGON_V6_veqh_or_128B,
1334 __builtin_HEXAGON_V6_veqh_xor,1360 __builtin_HEXAGON_V6_veqh_xor,
1335 __builtin_HEXAGON_V6_veqh_xor_128B,1361 __builtin_HEXAGON_V6_veqh_xor_128B,
1362 __builtin_HEXAGON_V6_veqhf,
1363 __builtin_HEXAGON_V6_veqhf_128B,
1364 __builtin_HEXAGON_V6_veqhf_and,
1365 __builtin_HEXAGON_V6_veqhf_and_128B,
1366 __builtin_HEXAGON_V6_veqhf_or,
1367 __builtin_HEXAGON_V6_veqhf_or_128B,
1368 __builtin_HEXAGON_V6_veqhf_xor,
1369 __builtin_HEXAGON_V6_veqhf_xor_128B,
1370 __builtin_HEXAGON_V6_veqsf,
1371 __builtin_HEXAGON_V6_veqsf_128B,
1372 __builtin_HEXAGON_V6_veqsf_and,
1373 __builtin_HEXAGON_V6_veqsf_and_128B,
1374 __builtin_HEXAGON_V6_veqsf_or,
1375 __builtin_HEXAGON_V6_veqsf_or_128B,
1376 __builtin_HEXAGON_V6_veqsf_xor,
1377 __builtin_HEXAGON_V6_veqsf_xor_128B,
1336 __builtin_HEXAGON_V6_veqw,1378 __builtin_HEXAGON_V6_veqw,
1337 __builtin_HEXAGON_V6_veqw_128B,1379 __builtin_HEXAGON_V6_veqw_128B,
1338 __builtin_HEXAGON_V6_veqw_and,1380 __builtin_HEXAGON_V6_veqw_and,
...@@ -1443,6 +1485,14 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,...@@ -1443,6 +1485,14 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,
1443 __builtin_HEXAGON_V6_vgtw_or_128B,1485 __builtin_HEXAGON_V6_vgtw_or_128B,
1444 __builtin_HEXAGON_V6_vgtw_xor,1486 __builtin_HEXAGON_V6_vgtw_xor,
1445 __builtin_HEXAGON_V6_vgtw_xor_128B,1487 __builtin_HEXAGON_V6_vgtw_xor_128B,
1488 __builtin_HEXAGON_V6_vilog2_hf,
1489 __builtin_HEXAGON_V6_vilog2_hf_128B,
1490 __builtin_HEXAGON_V6_vilog2_qf16,
1491 __builtin_HEXAGON_V6_vilog2_qf16_128B,
1492 __builtin_HEXAGON_V6_vilog2_qf32,
1493 __builtin_HEXAGON_V6_vilog2_qf32_128B,
1494 __builtin_HEXAGON_V6_vilog2_sf,
1495 __builtin_HEXAGON_V6_vilog2_sf_128B,
1446 __builtin_HEXAGON_V6_vinsertwr,1496 __builtin_HEXAGON_V6_vinsertwr,
1447 __builtin_HEXAGON_V6_vinsertwr_128B,1497 __builtin_HEXAGON_V6_vinsertwr_128B,
1448 __builtin_HEXAGON_V6_vlalignb,1498 __builtin_HEXAGON_V6_vlalignb,
...@@ -1697,6 +1747,14 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,...@@ -1697,6 +1747,14 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,
1697 __builtin_HEXAGON_V6_vnavgub_128B,1747 __builtin_HEXAGON_V6_vnavgub_128B,
1698 __builtin_HEXAGON_V6_vnavgw,1748 __builtin_HEXAGON_V6_vnavgw,
1699 __builtin_HEXAGON_V6_vnavgw_128B,1749 __builtin_HEXAGON_V6_vnavgw_128B,
1750 __builtin_HEXAGON_V6_vneg_qf16_hf,
1751 __builtin_HEXAGON_V6_vneg_qf16_hf_128B,
1752 __builtin_HEXAGON_V6_vneg_qf16_qf16,
1753 __builtin_HEXAGON_V6_vneg_qf16_qf16_128B,
1754 __builtin_HEXAGON_V6_vneg_qf32_qf32,
1755 __builtin_HEXAGON_V6_vneg_qf32_qf32_128B,
1756 __builtin_HEXAGON_V6_vneg_qf32_sf,
1757 __builtin_HEXAGON_V6_vneg_qf32_sf_128B,
1700 __builtin_HEXAGON_V6_vnormamth,1758 __builtin_HEXAGON_V6_vnormamth,
1701 __builtin_HEXAGON_V6_vnormamth_128B,1759 __builtin_HEXAGON_V6_vnormamth_128B,
1702 __builtin_HEXAGON_V6_vnormamtw,1760 __builtin_HEXAGON_V6_vnormamtw,
...@@ -1841,6 +1899,8 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,...@@ -1841,6 +1899,8 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,
1841 __builtin_HEXAGON_V6_vsub_hf_f8_128B,1899 __builtin_HEXAGON_V6_vsub_hf_f8_128B,
1842 __builtin_HEXAGON_V6_vsub_hf_hf,1900 __builtin_HEXAGON_V6_vsub_hf_hf,
1843 __builtin_HEXAGON_V6_vsub_hf_hf_128B,1901 __builtin_HEXAGON_V6_vsub_hf_hf_128B,
1902 __builtin_HEXAGON_V6_vsub_hf_mix,
1903 __builtin_HEXAGON_V6_vsub_hf_mix_128B,
1844 __builtin_HEXAGON_V6_vsub_qf16,1904 __builtin_HEXAGON_V6_vsub_qf16,
1845 __builtin_HEXAGON_V6_vsub_qf16_128B,1905 __builtin_HEXAGON_V6_vsub_qf16_128B,
1846 __builtin_HEXAGON_V6_vsub_qf16_mix,1906 __builtin_HEXAGON_V6_vsub_qf16_mix,
...@@ -1855,6 +1915,8 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,...@@ -1855,6 +1915,8 @@ pub const Tag = enum(u16) { __builtin_HEXAGON_A2_abs,
1855 __builtin_HEXAGON_V6_vsub_sf_bf_128B,1915 __builtin_HEXAGON_V6_vsub_sf_bf_128B,
1856 __builtin_HEXAGON_V6_vsub_sf_hf,1916 __builtin_HEXAGON_V6_vsub_sf_hf,
1857 __builtin_HEXAGON_V6_vsub_sf_hf_128B,1917 __builtin_HEXAGON_V6_vsub_sf_hf_128B,
1918 __builtin_HEXAGON_V6_vsub_sf_mix,
1919 __builtin_HEXAGON_V6_vsub_sf_mix_128B,
1858 __builtin_HEXAGON_V6_vsub_sf_sf,1920 __builtin_HEXAGON_V6_vsub_sf_sf,
1859 __builtin_HEXAGON_V6_vsub_sf_sf_128B,1921 __builtin_HEXAGON_V6_vsub_sf_sf_128B,
1860 __builtin_HEXAGON_V6_vsubb,1922 __builtin_HEXAGON_V6_vsubb,
...@@ -2042,7 +2104,7 @@ pub const longest_name = 46;...@@ -2042,7 +2104,7 @@ pub const longest_name = 46;
2042/// If found, returns the index of the node within the `dafsa` array.2104/// If found, returns the index of the node within the `dafsa` array.
2043/// Otherwise, returns `null`.2105/// Otherwise, returns `null`.
2044pub fn findInList(first_child_index: u16, char: u8) ?u16 {2106pub fn findInList(first_child_index: u16, char: u8) ?u16 {
2045 @setEvalBranchQuota(3956);2107 @setEvalBranchQuota(4080);
2046 var index = first_child_index;2108 var index = first_child_index;
2047 while (true) {2109 while (true) {
2048 if (dafsa[index].char == char) return index;2110 if (dafsa[index].char == char) return index;
...@@ -2137,44 +2199,44 @@ const Node = packed struct {...@@ -2137,44 +2199,44 @@ const Node = packed struct {
21372199
2138const dafsa = [_]Node{2200const dafsa = [_]Node{
2139 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },2201 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },
2140 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1978, .child_index = 2 },2202 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2040, .child_index = 2 },
2141 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1978, .child_index = 3 },2203 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2040, .child_index = 3 },
2142 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1978, .child_index = 4 },2204 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2040, .child_index = 4 },
2143 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1978, .child_index = 5 },2205 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2040, .child_index = 5 },
2144 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1978, .child_index = 6 },2206 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2040, .child_index = 6 },
2145 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1978, .child_index = 7 },2207 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2040, .child_index = 7 },
2146 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1978, .child_index = 8 },2208 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2040, .child_index = 8 },
2147 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1978, .child_index = 9 },2209 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2040, .child_index = 9 },
2148 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1978, .child_index = 10 },2210 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2040, .child_index = 10 },
2149 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1978, .child_index = 11 },2211 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2040, .child_index = 11 },
2150 .{ .char = 'H', .end_of_word = false, .end_of_list = false, .number = 1955, .child_index = 15 },2212 .{ .char = 'H', .end_of_word = false, .end_of_list = false, .number = 2017, .child_index = 15 },
2151 .{ .char = 'S', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 16 },2213 .{ .char = 'S', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 16 },
2152 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 17 },2214 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 17 },
2153 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 18 },2215 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 18 },
2154 .{ .char = 'E', .end_of_word = false, .end_of_list = true, .number = 1955, .child_index = 19 },2216 .{ .char = 'E', .end_of_word = false, .end_of_list = true, .number = 2017, .child_index = 19 },
2155 .{ .char = 'I', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 20 },2217 .{ .char = 'I', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 20 },
2156 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 21 },2218 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 21 },
2157 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 22 },2219 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 22 },
2158 .{ .char = 'X', .end_of_word = false, .end_of_list = true, .number = 1955, .child_index = 23 },2220 .{ .char = 'X', .end_of_word = false, .end_of_list = true, .number = 2017, .child_index = 23 },
2159 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 24 },2221 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 24 },
2160 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 25 },2222 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 25 },
2161 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 26 },2223 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 26 },
2162 .{ .char = 'A', .end_of_word = false, .end_of_list = true, .number = 1955, .child_index = 27 },2224 .{ .char = 'A', .end_of_word = false, .end_of_list = true, .number = 2017, .child_index = 27 },
2163 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 28 },2225 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 28 },
2164 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 29 },2226 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 29 },
2165 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 29 },2227 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 29 },
2166 .{ .char = 'G', .end_of_word = false, .end_of_list = true, .number = 1955, .child_index = 30 },2228 .{ .char = 'G', .end_of_word = false, .end_of_list = true, .number = 2017, .child_index = 30 },
2167 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 31 },2229 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 31 },
2168 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 32 },2230 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 32 },
2169 .{ .char = 'O', .end_of_word = false, .end_of_list = true, .number = 1955, .child_index = 34 },2231 .{ .char = 'O', .end_of_word = false, .end_of_list = true, .number = 2017, .child_index = 34 },
2170 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 35 },2232 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 35 },
2171 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 36 },2233 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 36 },
2172 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 37 },2234 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 37 },
2173 .{ .char = 'N', .end_of_word = false, .end_of_list = true, .number = 1955, .child_index = 38 },2235 .{ .char = 'N', .end_of_word = false, .end_of_list = true, .number = 2017, .child_index = 38 },
2174 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 39 },2236 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 39 },
2175 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 40 },2237 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 40 },
2176 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 45 },2238 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 45 },
2177 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1955, .child_index = 49 },2239 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2017, .child_index = 49 },
2178 .{ .char = 'X', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 58 },2240 .{ .char = 'X', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 58 },
2179 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2241 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2180 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2242 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
...@@ -2191,7 +2253,7 @@ const dafsa = [_]Node{...@@ -2191,7 +2253,7 @@ const dafsa = [_]Node{
2191 .{ .char = 'L', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 70 },2253 .{ .char = 'L', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 70 },
2192 .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 335, .child_index = 71 },2254 .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 335, .child_index = 71 },
2193 .{ .char = 'S', .end_of_word = false, .end_of_list = false, .number = 235, .child_index = 76 },2255 .{ .char = 'S', .end_of_word = false, .end_of_list = false, .number = 235, .child_index = 76 },
2194 .{ .char = 'V', .end_of_word = false, .end_of_list = false, .number = 1030, .child_index = 80 },2256 .{ .char = 'V', .end_of_word = false, .end_of_list = false, .number = 1092, .child_index = 80 },
2195 .{ .char = 'Y', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 81 },2257 .{ .char = 'Y', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 81 },
2196 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 85 },2258 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 85 },
2197 .{ .char = 'T', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 86 },2259 .{ .char = 'T', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 86 },
...@@ -2216,7 +2278,7 @@ const dafsa = [_]Node{...@@ -2216,7 +2278,7 @@ const dafsa = [_]Node{
2216 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 32, .child_index = 103 },2278 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 32, .child_index = 103 },
2217 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 104 },2279 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 104 },
2218 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 105 },2280 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 105 },
2219 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1030, .child_index = 106 },2281 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1092, .child_index = 106 },
2220 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 107 },2282 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 107 },
2221 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 108 },2283 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 108 },
2222 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 108 },2284 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 108 },
...@@ -2242,7 +2304,7 @@ const dafsa = [_]Node{...@@ -2242,7 +2304,7 @@ const dafsa = [_]Node{
2242 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 188 },2304 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 188 },
2243 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 197 },2305 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 197 },
2244 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 200 },2306 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 200 },
2245 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1030, .child_index = 202 },2307 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1092, .child_index = 202 },
2246 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 209 },2308 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 209 },
2247 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 210 },2309 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 210 },
2248 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 211 },2310 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 211 },
...@@ -2344,7 +2406,7 @@ const dafsa = [_]Node{...@@ -2344,7 +2406,7 @@ const dafsa = [_]Node{
2344 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 359 },2406 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 359 },
2345 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 361 },2407 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 361 },
2346 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 362 },2408 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 362 },
2347 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 992, .child_index = 364 },2409 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1054, .child_index = 364 },
2348 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 384 },2410 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 384 },
2349 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 385 },2411 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 385 },
2350 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 386 },2412 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 386 },
...@@ -2502,888 +2564,899 @@ const dafsa = [_]Node{...@@ -2502,888 +2564,899 @@ const dafsa = [_]Node{
2502 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 571 },2564 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 571 },
2503 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 572 },2565 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 572 },
2504 .{ .char = 'S', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 573 },2566 .{ .char = 'S', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 573 },
2505 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 232, .child_index = 574 },2567 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 242, .child_index = 574 },
2506 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 54, .child_index = 580 },2568 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 70, .child_index = 580 },
2507 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 58, .child_index = 583 },2569 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 58, .child_index = 583 },
2508 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 588 },2570 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 588 },
2509 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 589 },2571 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 589 },
2510 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 84, .child_index = 591 },2572 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 84, .child_index = 591 },
2511 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 593 },2573 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 593 },
2512 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 594 },2574 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 595 },
2513 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 208, .child_index = 597 },2575 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 208, .child_index = 598 },
2514 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 602 },2576 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 603 },
2515 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 604 },2577 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 606 },
2516 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 605 },2578 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 607 },
2517 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 58, .child_index = 608 },2579 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 58, .child_index = 610 },
2518 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 132, .child_index = 612 },2580 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 136, .child_index = 614 },
2519 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 618 },2581 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 620 },
2520 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 619 },2582 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 621 },
2521 .{ .char = 'x', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 620 },2583 .{ .char = 'x', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 622 },
2522 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 621 },2584 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 623 },
2523 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 623 },2585 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 625 },
2524 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 212 },2586 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 212 },
2525 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 627 },2587 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 629 },
2526 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 632 },2588 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 634 },
2527 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },2589 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 635 },
2528 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 634 },2590 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 636 },
2529 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 18, .child_index = 636 },2591 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 18, .child_index = 638 },
2530 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 399 },2592 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 399 },
2531 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 640 },2593 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 642 },
2532 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 640 },2594 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 642 },
2533 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 641 },2595 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 643 },
2534 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 642 },2596 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 644 },
2535 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 642 },2597 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 644 },
2536 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 634 },2598 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 636 },
2537 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 644 },2599 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 646 },
2538 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },2600 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },
2539 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2601 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2540 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 645 },2602 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 647 },
2541 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 646 },2603 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 648 },
2542 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 16, .child_index = 649 },2604 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 16, .child_index = 651 },
2543 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 653 },2605 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 655 },
2544 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 655 },2606 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 657 },
2545 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 656 },2607 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 658 },
2546 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 657 },2608 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 659 },
2547 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 658 },2609 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 660 },
2548 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 661 },2610 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 663 },
2549 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 664 },2611 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 666 },
2550 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 665 },2612 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 667 },
2551 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 666 },2613 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 668 },
2552 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 667 },2614 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 669 },
2553 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 668 },2615 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 670 },
2554 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 669 },2616 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 671 },
2555 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 670 },2617 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 672 },
2556 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 671 },2618 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 673 },
2557 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 672 },2619 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 674 },
2558 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 673 },2620 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 675 },
2559 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 674 },2621 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 676 },
2560 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 644 },2622 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 646 },
2561 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 59 },2623 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 59 },
2562 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 430 },2624 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 430 },
2563 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 675 },2625 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 677 },
2564 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 676 },2626 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 678 },
2565 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 677 },2627 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 679 },
2566 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 679 },2628 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 681 },
2567 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 680 },2629 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 682 },
2568 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 681 },2630 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 683 },
2569 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 644 },2631 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 646 },
2570 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 682 },2632 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 684 },
2571 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 683 },2633 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 685 },
2572 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 684 },2634 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 686 },
2573 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 685 },2635 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 687 },
2574 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 686 },2636 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 688 },
2575 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 688 },2637 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 690 },
2576 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 689 },2638 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },
2577 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 690 },2639 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 692 },
2578 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },2640 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },
2579 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 692 },2641 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 694 },
2580 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 439 },2642 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 439 },
2581 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },2643 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 695 },
2582 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 450 },2644 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 450 },
2583 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },2645 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 695 },
2584 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 694 },2646 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 696 },
2585 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 695 },2647 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 697 },
2586 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 698 },2648 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 700 },
2587 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 699 },2649 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 701 },
2588 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2650 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2589 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2651 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2590 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 701 },2652 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 703 },
2591 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 702 },2653 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 704 },
2592 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 704 },2654 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 706 },
2593 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 705 },2655 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 707 },
2594 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2656 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2595 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 459 },2657 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 459 },
2596 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 706 },2658 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 708 },
2597 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 708 },2659 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 710 },
2598 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 709 },2660 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 711 },
2599 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 26, .child_index = 711 },2661 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 26, .child_index = 713 },
2600 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 712 },2662 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 714 },
2601 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 713 },2663 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 715 },
2602 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 715 },2664 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 717 },
2603 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 716 },2665 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 718 },
2604 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 719 },2666 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 721 },
2605 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 712 },2667 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 714 },
2606 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 713 },2668 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 715 },
2607 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 720 },2669 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 722 },
2608 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 715 },2670 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 717 },
2609 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 722 },2671 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 724 },
2610 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 719 },2672 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 721 },
2611 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 725 },2673 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 727 },
2612 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 726 },2674 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 728 },
2613 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 727 },2675 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 729 },
2614 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 728 },2676 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 730 },
2615 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 729 },2677 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 731 },
2616 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 730 },2678 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 732 },
2617 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 731 },2679 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 733 },
2618 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 732 },2680 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },
2619 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 734 },2681 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 736 },
2620 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 735 },2682 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 737 },
2621 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 736 },2683 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 738 },
2622 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 152, .child_index = 737 },2684 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 152, .child_index = 739 },
2623 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 742 },2685 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 744 },
2624 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 743 },2686 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 745 },
2625 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 744 },
2626 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 746 },2687 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 746 },
2627 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 748 },2688 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 748 },
2628 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 749 },2689 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 750 },
2629 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 750 },2690 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 751 },
2630 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 751 },2691 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 752 },
2631 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 752 },2692 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 753 },
2632 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 754 },2693 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 754 },
2694 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 756 },
2633 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 498 },2695 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 498 },
2634 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 755 },2696 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 757 },
2635 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 756 },2697 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 758 },
2636 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 757 },2698 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 759 },
2637 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 758 },2699 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 760 },
2638 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 761 },2700 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 763 },
2639 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 762 },2701 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 764 },
2640 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 763 },2702 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 765 },
2641 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 764 },2703 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 766 },
2642 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 765 },2704 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 767 },
2643 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 767 },2705 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 769 },
2644 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 768 },2706 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 770 },
2645 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 504 },2707 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 504 },
2646 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 769 },2708 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 771 },
2647 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 770 },
2648 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 771 },
2649 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 772 },2709 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 772 },
2650 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 773 },2710 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 773 },
2651 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 774 },2711 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 774 },
2652 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 775 },2712 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 775 },
2653 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 776 },2713 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 776 },
2654 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 644 },2714 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 777 },
2655 .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 644 },2715 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 778 },
2656 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 777 },2716 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 646 },
2657 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 779 },2717 .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 646 },
2658 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 644 },2718 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 779 },
2659 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 644 },2719 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 781 },
2660 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 780 },2720 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 646 },
2661 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 781 },2721 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 646 },
2662 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 782 },2722 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 782 },
2663 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 783 },2723 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 783 },
2664 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },2724 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 784 },
2665 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 784 },2725 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 785 },
2666 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 785 },2726 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },
2667 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 786 },2727 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 786 },
2668 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 787 },2728 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 787 },
2669 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 779 },2729 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 788 },
2670 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 788 },2730 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 789 },
2671 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 789 },2731 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 781 },
2672 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 790 },2732 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 790 },
2673 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 791 },2733 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 791 },
2674 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 792 },2734 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 792 },
2675 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 793 },2735 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 793 },
2676 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 794 },2736 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 794 },
2677 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 795 },2737 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 795 },
2678 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 796 },2738 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 796 },
2679 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 797 },2739 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 797 },
2680 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 798 },2740 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 798 },
2681 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 799 },2741 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 799 },
2682 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 800 },2742 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 800 },
2683 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 801 },2743 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 801 },
2684 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 800 },2744 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 802 },
2685 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 802 },2745 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 803 },
2686 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 804 },2746 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 802 },
2687 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 805 },2747 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 804 },
2688 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 807 },2748 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 806 },
2749 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 807 },
2750 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 809 },
2689 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },2751 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },
2690 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 530 },2752 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 530 },
2691 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 808 },2753 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 810 },
2692 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 810 },2754 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 812 },
2693 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 811 },2755 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 813 },
2694 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 802 },2756 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 804 },
2695 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 812 },2757 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 814 },
2696 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 813 },2758 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 815 },
2697 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 814 },2759 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 816 },
2698 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 815 },2760 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 817 },
2699 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 816 },2761 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 818 },
2700 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 817 },2762 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 819 },
2701 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 818 },2763 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 820 },
2702 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 819 },2764 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 821 },
2703 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 820 },2765 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 822 },
2704 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 821 },2766 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 823 },
2705 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 822 },2767 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 824 },
2706 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 823 },2768 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 825 },
2707 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 824 },2769 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 826 },
2708 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 825 },2770 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 827 },
2709 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 826 },2771 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 828 },
2710 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 827 },2772 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 829 },
2711 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 828 },2773 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 830 },
2712 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 829 },2774 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 831 },
2713 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 830 },2775 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 34, .child_index = 832 },
2714 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 94, .child_index = 831 },2776 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 94, .child_index = 833 },
2715 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 832 },2777 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 834 },
2716 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 833 },2778 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 835 },
2717 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 66, .child_index = 834 },2779 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 66, .child_index = 836 },
2718 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 837 },2780 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 839 },
2719 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 838 },2781 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 840 },
2720 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 839 },2782 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 32, .child_index = 841 },
2721 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 34, .child_index = 841 },2783 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 34, .child_index = 843 },
2722 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },2784 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
2723 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 842 },2785 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 844 },
2724 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 843 },2786 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 845 },
2725 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 845 },2787 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 847 },
2726 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 846 },2788 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 848 },
2727 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 847 },2789 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 849 },
2728 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 850 },2790 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 853 },
2729 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 852 },2791 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 855 },
2730 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 853 },2792 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 856 },
2731 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 72, .child_index = 854 },2793 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 72, .child_index = 857 },
2732 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 859 },2794 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 862 },
2733 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 860 },2795 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 863 },
2734 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 861 },2796 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 864 },
2735 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 862 },2797 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 865 },
2736 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 863 },2798 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 866 },
2737 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 865 },2799 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 867 },
2738 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 866 },2800 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 869 },
2739 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 164, .child_index = 867 },2801 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 870 },
2740 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 870 },2802 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 164, .child_index = 871 },
2741 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 871 },2803 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 874 },
2742 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 872 },2804 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 875 },
2805 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 876 },
2806 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 877 },
2743 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },2807 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
2744 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 874 },2808 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 879 },
2745 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 875 },2809 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 880 },
2746 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 876 },2810 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 881 },
2747 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 877 },2811 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 882 },
2748 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 878 },2812 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 883 },
2749 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 879 },2813 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 884 },
2750 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 882 },2814 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 887 },
2751 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 883 },2815 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 888 },
2752 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },2816 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
2753 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 884 },2817 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 889 },
2754 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 20, .child_index = 885 },2818 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 20, .child_index = 890 },
2755 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 82, .child_index = 887 },2819 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 86, .child_index = 892 },
2756 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 888 },2820 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 893 },
2757 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 889 },2821 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 894 },
2758 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 890 },2822 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 895 },
2759 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 604 },2823 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 606 },
2760 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },2824 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
2761 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },2825 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
2762 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 891 },2826 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 896 },
2763 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 387 },2827 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 387 },
2764 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 892 },2828 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 897 },
2765 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 893 },2829 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 898 },
2766 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 894 },2830 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 899 },
2767 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 895 },2831 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 900 },
2768 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 897 },2832 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 902 },
2769 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 898 },2833 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 903 },
2770 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 899 },2834 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 904 },
2771 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 900 },2835 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 905 },
2772 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 901 },2836 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 906 },
2773 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2837 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2774 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 902 },2838 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 907 },
2775 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 903 },2839 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 908 },
2776 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2840 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2777 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 904 },2841 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 909 },
2778 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 905 },2842 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 910 },
2779 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2843 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2780 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 907 },2844 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 912 },
2781 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2845 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2782 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 644 },2846 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 646 },
2783 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2847 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2784 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 908 },2848 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 913 },
2785 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2849 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2786 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2850 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2787 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 59 },2851 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 59 },
2788 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 903 },2852 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 908 },
2789 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2853 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2790 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 87 },2854 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 87 },
2791 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 902 },2855 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 907 },
2792 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 909 },2856 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 914 },
2793 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 910 },2857 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 915 },
2794 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 911 },2858 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 916 },
2795 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 912 },2859 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 917 },
2796 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2860 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2797 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2861 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2798 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2862 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2799 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2863 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2800 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 913 },2864 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 918 },
2801 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 915 },2865 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 920 },
2802 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },2866 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },
2803 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 916 },2867 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 921 },
2804 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 918 },2868 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 923 },
2805 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 922 },2869 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 927 },
2806 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 925 },2870 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 930 },
2807 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 928 },2871 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 933 },
2808 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 929 },2872 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 934 },
2809 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 929 },2873 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 934 },
2810 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 933 },2874 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 938 },
2811 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 934 },2875 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 939 },
2812 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 934 },2876 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 939 },
2813 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 918 },2877 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 923 },
2814 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 935 },2878 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 940 },
2815 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 936 },2879 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 941 },
2816 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 937 },2880 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 942 },
2817 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 937 },2881 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 942 },
2818 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 939 },2882 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 944 },
2819 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 940 },2883 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 945 },
2820 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 941 },2884 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 946 },
2821 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 942 },2885 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 947 },
2822 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 944 },2886 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 949 },
2823 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 945 },2887 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 950 },
2824 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 946 },2888 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 951 },
2825 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 949 },2889 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 954 },
2826 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 950 },2890 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 955 },
2827 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 951 },2891 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 956 },
2828 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 952 },2892 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 957 },
2829 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 953 },2893 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 958 },
2830 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2894 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2831 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 954 },2895 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 959 },
2832 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2896 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2833 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 955 },2897 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 960 },
2834 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 957 },2898 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 962 },
2835 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 958 },2899 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 963 },
2836 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 960 },2900 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 965 },
2837 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2901 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2838 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 961 },2902 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 966 },
2839 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },2903 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },
2840 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 963 },2904 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 968 },
2841 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },2905 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },
2842 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },2906 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },
2843 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 964 },2907 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 969 },
2844 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2908 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2845 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 965 },2909 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 970 },
2846 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 966 },2910 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 971 },
2847 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 967 },2911 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 972 },
2848 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 968 },2912 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 973 },
2849 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 265 },2913 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 265 },
2850 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 26, .child_index = 969 },2914 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 26, .child_index = 974 },
2851 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 970 },2915 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 975 },
2852 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 971 },2916 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 976 },
2853 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 972 },2917 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 977 },
2854 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 973 },2918 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 978 },
2855 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 705 },2919 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 707 },
2856 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 974 },2920 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 979 },
2857 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 975 },2921 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 980 },
2858 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 976 },2922 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 981 },
2859 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 977 },2923 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 982 },
2860 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 978 },2924 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 983 },
2861 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 705 },2925 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 707 },
2862 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 974 },2926 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 979 },
2863 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 980 },2927 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 985 },
2864 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 981 },2928 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 986 },
2865 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 915 },2929 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 920 },
2866 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 982 },2930 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 987 },
2867 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 985 },2931 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 990 },
2868 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 988 },2932 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 993 },
2869 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 989 },2933 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 994 },
2870 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 990 },2934 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 995 },
2871 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2935 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2872 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 991 },2936 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 996 },
2873 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 992 },2937 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 997 },
2874 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 995 },2938 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1000 },
2875 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },2939 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },
2876 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 67, .child_index = 998 },2940 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 67, .child_index = 1003 },
2877 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 32, .child_index = 1005 },2941 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 32, .child_index = 1010 },
2878 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2942 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2879 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1006 },2943 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1011 },
2880 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 50, .child_index = 1008 },2944 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 50, .child_index = 1013 },
2881 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1011 },2945 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1016 },
2882 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1012 },2946 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1017 },
2883 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1013 },2947 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1018 },
2884 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1014 },2948 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1019 },
2885 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1015 },2949 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1020 },
2886 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1016 },2950 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1021 },
2887 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1017 },2951 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1022 },
2888 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1018 },2952 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1023 },
2889 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1019 },2953 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1024 },
2890 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 1020 },2954 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 1025 },
2891 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1022 },2955 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1027 },
2892 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1023 },2956 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1028 },
2893 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1024 },2957 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1029 },
2894 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1025 },2958 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1030 },
2895 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1027 },2959 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1032 },
2896 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1028 },2960 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1033 },
2897 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 968 },2961 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 973 },
2898 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },2962 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },
2899 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 270 },2963 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 270 },
2900 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1030 },2964 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1035 },
2901 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1031 },2965 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1036 },
2902 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1032 },2966 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1037 },
2903 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1033 },2967 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1038 },
2904 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1036 },2968 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1041 },
2905 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1037 },2969 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1042 },
2906 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1038 },2970 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1043 },
2907 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1038 },2971 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1043 },
2908 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1039 },2972 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1044 },
2909 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1040 },2973 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1045 },
2910 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1041 },2974 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1046 },
2911 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1042 },2975 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1047 },
2912 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1043 },2976 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1048 },
2913 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 1044 },2977 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 1049 },
2914 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 1046 },2978 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 1051 },
2915 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 644 },2979 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 646 },
2916 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1048 },2980 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1053 },
2917 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2981 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2918 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1049 },2982 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1054 },
2919 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1050 },2983 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1055 },
2920 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1051 },2984 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1056 },
2921 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1052 },2985 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1057 },
2922 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1053 },2986 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1058 },
2923 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1054 },2987 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1059 },
2924 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 1055 },2988 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 27, .child_index = 1060 },
2925 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1057 },2989 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1062 },
2926 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1058 },2990 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1063 },
2927 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1059 },2991 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1064 },
2928 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1060 },2992 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1065 },
2929 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1061 },2993 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1066 },
2930 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1062 },2994 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1067 },
2931 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1063 },2995 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1068 },
2932 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1064 },2996 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1069 },
2933 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1065 },2997 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1070 },
2934 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1066 },2998 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1071 },
2935 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 794 },2999 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 796 },
2936 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1067 },3000 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1072 },
2937 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1068 },3001 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1073 },
2938 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1070 },3002 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1075 },
2939 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1072 },3003 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1077 },
2940 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1074 },3004 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1079 },
2941 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1075 },3005 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1080 },
2942 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 810 },3006 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 812 },
2943 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 810 },3007 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 812 },
2944 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1075 },3008 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1080 },
2945 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1076 },3009 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1081 },
2946 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1078 },3010 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1083 },
2947 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1079 },3011 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1084 },
2948 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1080 },3012 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1085 },
2949 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1081 },3013 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1086 },
2950 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1083 },3014 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1088 },
2951 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1084 },3015 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1089 },
2952 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1085 },3016 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1090 },
2953 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1086 },3017 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1091 },
2954 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1087 },3018 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1092 },
2955 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1088 },3019 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1093 },
2956 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1089 },3020 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1094 },
2957 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1090 },3021 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1095 },
2958 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1091 },3022 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1096 },
2959 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1092 },3023 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1097 },
2960 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1093 },3024 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1098 },
2961 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1094 },3025 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1099 },
2962 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1095 },3026 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1100 },
2963 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1096 },3027 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1101 },
2964 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1097 },3028 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1102 },
2965 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1098 },3029 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1103 },
2966 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1099 },3030 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1104 },
2967 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1100 },3031 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1105 },
2968 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1101 },3032 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1106 },
2969 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 26, .child_index = 1102 },3033 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 34, .child_index = 1107 },
2970 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 94, .child_index = 1107 },3034 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 94, .child_index = 1112 },
2971 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1113 },3035 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1118 },
2972 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 18, .child_index = 1114 },3036 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 18, .child_index = 1119 },
2973 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1118 },3037 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1123 },
2974 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 48, .child_index = 1120 },3038 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 48, .child_index = 1125 },
2975 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1125 },3039 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1130 },
2976 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1126 },3040 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1131 },
2977 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1130 },3041 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1135 },
2978 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1132 },3042 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1137 },
2979 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1133 },3043 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 1138 },
2980 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 34, .child_index = 1134 },3044 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 34, .child_index = 1139 },
2981 .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3045 .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
2982 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1136 },3046 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1141 },
2983 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1137 },3047 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1142 },
2984 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1138 },3048 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1143 },
2985 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1139 },3049 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1144 },
2986 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 1140 },3050 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 1145 },
2987 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 1140 },3051 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 16, .child_index = 1146 },
2988 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1140 },3052 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1148 },
2989 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1141 },3053 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1145 },
2990 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1142 },3054 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1149 },
2991 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1143 },3055 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1150 },
2992 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1144 },3056 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1151 },
2993 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 16, .child_index = 1145 },3057 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1152 },
2994 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 16, .child_index = 1145 },3058 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 16, .child_index = 1146 },
2995 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1147 },3059 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 16, .child_index = 1146 },
2996 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 847 },3060 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1148 },
2997 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1140 },3061 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 1153 },
2998 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1148 },3062 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1145 },
2999 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 832 },3063 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1156 },
3000 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1149 },3064 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1157 },
3001 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 1152 },3065 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1158 },
3002 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1154 },3066 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1159 },
3003 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1155 },3067 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 1162 },
3004 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1160 },3068 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1164 },
3005 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1155 },3069 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1165 },
3006 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 1161 },3070 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1170 },
3007 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1164 },3071 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1165 },
3008 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 138, .child_index = 1165 },3072 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 1171 },
3073 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1174 },
3074 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 138, .child_index = 1175 },
3009 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3075 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3010 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1172 },3076 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1182 },
3011 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1173 },3077 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1183 },
3078 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1184 },
3012 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3079 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3013 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1174 },3080 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1185 },
3014 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1175 },3081 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1186 },
3015 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1176 },3082 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1187 },
3016 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1177 },3083 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1188 },
3017 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1178 },3084 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1189 },
3018 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },3085 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3019 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 604 },3086 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 606 },
3020 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1179 },3087 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1190 },
3021 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1180 },3088 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1191 },
3022 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1181 },3089 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1192 },
3023 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1185 },3090 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1196 },
3024 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 823 },3091 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 825 },
3025 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1186 },3092 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1197 },
3026 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 82, .child_index = 1187 },3093 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 86, .child_index = 1198 },
3027 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1193 },3094 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1204 },
3028 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1194 },3095 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1205 },
3029 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1195 },3096 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1206 },
3030 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1196 },3097 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1207 },
3031 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1197 },3098 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1208 },
3032 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1198 },3099 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1209 },
3033 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1199 },3100 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1210 },
3034 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1200 },3101 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1211 },
3035 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1201 },3102 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1212 },
3036 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1202 },3103 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1213 },
3037 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1203 },3104 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1214 },
3038 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1204 },3105 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1215 },
3039 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 640 },3106 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 642 },
3040 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 640 },3107 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 642 },
3041 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 449 },3108 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 449 },
3042 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1205 },3109 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1216 },
3043 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 902 },3110 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 907 },
3044 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 449 },3111 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 449 },
3045 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3112 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3046 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1207 },3113 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1218 },
3047 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1208 },3114 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1219 },
3048 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1209 },3115 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1220 },
3049 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1211 },3116 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1222 },
3050 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1065 },3117 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1070 },
3051 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1209 },3118 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1220 },
3052 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3119 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3053 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3120 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3054 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3121 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3055 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 904 },3122 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 909 },
3056 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 904 },3123 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 909 },
3057 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1212 },3124 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1223 },
3058 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1213 },3125 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1224 },
3059 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1214 },3126 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1225 },
3060 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1213 },3127 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1224 },
3061 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1216 },3128 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1227 },
3062 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1218 },3129 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1229 },
3063 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1216 },3130 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1227 },
3064 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1221 },3131 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1232 },
3065 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1223 },3132 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1234 },
3066 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1223 },3133 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1234 },
3067 .{ .char = 'j', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3134 .{ .char = 'j', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3068 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3135 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3069 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3136 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3070 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 658 },3137 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 660 },
3071 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3138 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3072 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1225 },3139 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1236 },
3073 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1227 },3140 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1238 },
3074 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1228 },3141 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1239 },
3075 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1229 },3142 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1240 },
3076 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1230 },3143 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1241 },
3077 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1231 },3144 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1242 },
3078 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1232 },3145 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1243 },
3079 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1233 },3146 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1244 },
3080 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1234 },3147 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1245 },
3081 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1230 },3148 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1241 },
3082 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 966 },3149 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 971 },
3083 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1235 },3150 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1246 },
3084 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 632 },3151 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 634 },
3085 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1236 },3152 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1247 },
3086 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1238 },3153 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1249 },
3087 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1238 },3154 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1249 },
3088 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1240 },3155 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1251 },
3089 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1240 },3156 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1251 },
3090 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1243 },3157 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1254 },
3091 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1244 },3158 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1255 },
3092 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1245 },3159 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1256 },
3093 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1246 },3160 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1257 },
3094 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1247 },3161 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1258 },
3095 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1248 },3162 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1259 },
3096 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1249 },3163 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1260 },
3097 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1251 },3164 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1262 },
3098 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1253 },3165 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1264 },
3099 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1256 },3166 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1267 },
3100 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3167 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3101 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3168 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3102 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1212 },3169 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1223 },
3103 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1257 },3170 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1268 },
3104 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1258 },3171 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1269 },
3105 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1230 },3172 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1241 },
3106 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1259 },3173 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1270 },
3107 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1260 },3174 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1271 },
3108 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 26, .child_index = 1261 },3175 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 26, .child_index = 1272 },
3109 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3176 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3110 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1265 },3177 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1276 },
3111 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1266 },3178 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1277 },
3112 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1269 },3179 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1280 },
3113 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3180 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3114 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1270 },3181 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1281 },
3115 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3182 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3116 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1273 },3183 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1284 },
3117 .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1274 },3184 .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1285 },
3118 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1275 },3185 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1286 },
3119 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3186 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3120 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1276 },3187 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1287 },
3121 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1281 },3188 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1292 },
3122 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1281 },3189 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1292 },
3123 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1282 },3190 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1293 },
3124 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1281 },3191 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1292 },
3125 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1284 },3192 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1295 },
3126 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1282 },3193 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1293 },
3127 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1282 },3194 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1293 },
3128 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1286 },3195 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1297 },
3129 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1288 },3196 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1299 },
3130 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1290 },3197 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1301 },
3131 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1292 },3198 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1303 },
3132 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1292 },3199 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1303 },
3133 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1293 },3200 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1304 },
3134 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1295 },3201 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1306 },
3135 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1295 },3202 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1306 },
3136 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1296 },3203 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1307 },
3137 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 1298 },3204 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 1309 },
3138 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1299 },3205 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1310 },
3139 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1299 },3206 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1310 },
3140 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 1301 },3207 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 1312 },
3141 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1302 },3208 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1313 },
3142 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 1303 },3209 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 1314 },
3143 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1304 },3210 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1315 },
3144 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 1305 },3211 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 1316 },
3145 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 87 },3212 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 87 },
3146 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1310 },3213 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1321 },
3147 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 1311 },3214 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 1322 },
3148 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 1316 },3215 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 1327 },
3149 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3216 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3150 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1317 },3217 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1328 },
3151 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1318 },3218 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1329 },
3152 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1319 },3219 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1330 },
3153 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1320 },3220 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1331 },
3154 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1321 },3221 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1332 },
3155 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1322 },3222 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1333 },
3156 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1324 },3223 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1335 },
3157 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1326 },3224 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1337 },
3158 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1328 },3225 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1339 },
3159 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1330 },3226 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1341 },
3160 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1331 },3227 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1342 },
3161 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1281 },3228 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1292 },
3162 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1281 },3229 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1292 },
3163 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 742 },3230 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 744 },
3164 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1332 },3231 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1343 },
3165 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1332 },3232 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1343 },
3166 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1333 },3233 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1344 },
3167 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1334 },3234 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1345 },
3168 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1335 },3235 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1346 },
3169 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1336 },3236 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1347 },
3170 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1337 },3237 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1348 },
3171 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1338 },3238 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1349 },
3172 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 968 },3239 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 973 },
3173 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },3240 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },
3174 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 742 },3241 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 744 },
3175 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1340 },3242 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1351 },
3176 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1340 },3243 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1351 },
3177 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1341 },3244 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1352 },
3178 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1343 },3245 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1354 },
3179 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1344 },3246 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1355 },
3180 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1336 },3247 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1347 },
3181 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1346 },3248 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1357 },
3182 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1348 },3249 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1359 },
3183 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 1349 },3250 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 1360 },
3184 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1350 },3251 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1361 },
3185 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 1351 },3252 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 1362 },
3186 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1352 },3253 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1363 },
3187 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1353 },3254 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1364 },
3188 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1354 },3255 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1365 },
3189 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 783 },3256 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 785 },
3190 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1355 },3257 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1366 },
3191 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1356 },3258 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1367 },
3192 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1357 },3259 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1368 },
3193 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1358 },3260 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1369 },
3194 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 1359 },3261 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 1370 },
3195 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1358 },3262 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1369 },
3196 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1360 },3263 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1371 },
3197 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1361 },3264 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1372 },
3198 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1362 },3265 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1373 },
3199 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1364 },3266 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1375 },
3200 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1365 },3267 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1376 },
3201 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1366 },3268 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1377 },
3202 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1367 },3269 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1378 },
3203 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1368 },3270 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1379 },
3204 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 640 },3271 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 642 },
3205 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1369 },3272 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1380 },
3206 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1370 },3273 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1381 },
3207 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1371 },3274 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1382 },
3208 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1373 },3275 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1384 },
3209 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1375 },3276 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1386 },
3210 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1376 },3277 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1387 },
3211 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 640 },3278 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 642 },
3212 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1377 },3279 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1388 },
3213 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1378 },3280 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1389 },
3214 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1380 },3281 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1391 },
3215 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1075 },3282 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1080 },
3216 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1048 },3283 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1053 },
3217 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1381 },3284 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1392 },
3218 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1382 },
3219 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },
3220 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1383 },
3221 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1384 },
3222 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 980 },
3223 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1385 },
3224 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1386 },
3225 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1387 },
3226 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1388 },
3227 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1389 },
3228 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1390 },
3229 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1391 },
3230 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1392 },
3231 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1393 },3285 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1393 },
3232 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1395 },3286 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },
3233 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1396 },3287 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1394 },
3234 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1397 },3288 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1395 },
3235 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1398 },3289 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 985 },
3236 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1399 },3290 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1396 },
3237 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1404 },3291 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1397 },
3238 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1405 },3292 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1398 },
3239 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1406 },3293 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1399 },
3240 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1408 },3294 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1400 },
3241 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1409 },3295 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1401 },
3242 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1412 },3296 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1402 },
3243 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1413 },3297 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1403 },
3244 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1412 },3298 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1404 },
3245 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1412 },3299 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1406 },
3246 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 1414 },3300 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1407 },
3247 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 12, .child_index = 1417 },3301 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1408 },
3248 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1421 },3302 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1409 },
3249 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 16, .child_index = 1423 },3303 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1410 },
3250 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 1428 },3304 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1415 },
3251 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 12, .child_index = 1417 },3305 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1416 },
3252 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1431 },3306 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1417 },
3253 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 823 },3307 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1419 },
3254 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1432 },3308 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 1420 },
3255 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1433 },3309 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1424 },
3256 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1434 },3310 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1425 },
3257 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1437 },3311 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1424 },
3258 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1437 },3312 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1424 },
3259 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1439 },3313 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 1426 },
3260 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 14, .child_index = 1440 },3314 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 12, .child_index = 1429 },
3261 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1444 },3315 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1433 },
3262 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1446 },3316 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 16, .child_index = 1435 },
3263 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 16, .child_index = 1448 },3317 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 1440 },
3264 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1452 },3318 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 12, .child_index = 1429 },
3265 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1453 },3319 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1443 },
3266 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1453 },3320 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 825 },
3267 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1455 },3321 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1444 },
3268 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1453 },3322 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1445 },
3323 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1446 },
3324 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1449 },
3325 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1449 },
3326 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1451 },
3327 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 14, .child_index = 1452 },
3328 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1456 },
3329 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1458 },
3330 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 16, .child_index = 1460 },
3331 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1464 },
3332 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1465 },
3333 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1465 },
3334 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1467 },
3335 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1465 },
3269 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },3336 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3270 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3337 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3271 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1458 },3338 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1470 },
3272 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1459 },3339 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 1471 },
3273 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1460 },3340 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1472 },
3274 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 26, .child_index = 1461 },3341 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 26, .child_index = 1473 },
3275 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1466 },3342 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1478 },
3276 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1469 },3343 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1481 },
3277 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1470 },3344 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1482 },
3278 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1473 },3345 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1485 },
3279 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1474 },3346 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1486 },
3280 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1478 },3347 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1486 },
3281 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1478 },3348 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1145 },
3282 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1478 },3349 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1145 },
3283 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1479 },3350 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1490 },
3284 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1474 },3351 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1490 },
3285 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1140 },3352 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1490 },
3286 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1140 },3353 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1491 },
3287 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1480 },3354 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 1145 },
3355 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 1145 },
3356 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1145 },
3357 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1492 },
3358 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1493 },
3359 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1494 },
3288 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },3360 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3289 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1481 },3361 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1495 },
3290 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1481 },3362 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1495 },
3291 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },3363 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3292 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 1483 },3364 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 1497 },
3293 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1485 },3365 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1499 },
3294 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1486 },3366 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1500 },
3295 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },3367 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3296 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },3368 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3297 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 621 },3369 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 623 },
3298 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3370 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3299 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1489 },3371 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1503 },
3300 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1490 },3372 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1504 },
3301 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1491 },3373 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1505 },
3302 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1493 },3374 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1507 },
3303 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1494 },3375 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1508 },
3304 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 1495 },3376 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 1509 },
3305 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1499 },3377 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1513 },
3306 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1501 },3378 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1515 },
3307 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 20, .child_index = 1502 },3379 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 20, .child_index = 1516 },
3308 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 1506 },3380 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 1520 },
3309 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1510 },3381 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1524 },
3310 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 1511 },3382 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 1525 },
3311 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1513 },3383 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1527 },
3312 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1517 },3384 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1531 },
3313 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1518 },3385 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1532 },
3314 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1522 },3386 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1533 },
3315 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1523 },3387 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1537 },
3316 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1137 },3388 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1538 },
3317 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1524 },3389 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1142 },
3318 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1526 },3390 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1539 },
3319 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1527 },3391 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1541 },
3320 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1528 },3392 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1542 },
3321 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1529 },3393 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1543 },
3322 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1530 },3394 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1544 },
3323 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1531 },3395 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1545 },
3324 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1532 },3396 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1546 },
3325 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1533 },3397 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1547 },
3326 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 1414 },3398 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1548 },
3327 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 12, .child_index = 1417 },3399 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 1551 },
3328 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1536 },3400 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 12, .child_index = 1429 },
3329 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 14, .child_index = 1537 },3401 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1554 },
3330 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 1542 },3402 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 14, .child_index = 1555 },
3331 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 12, .child_index = 1417 },3403 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 1560 },
3404 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 12, .child_index = 1429 },
3332 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3405 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3333 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1545 },3406 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1563 },
3334 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1547 },3407 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1565 },
3335 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1548 },3408 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1566 },
3336 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1549 },3409 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1567 },
3337 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1550 },3410 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1568 },
3338 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 698 },3411 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 700 },
3339 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1551 },3412 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1569 },
3340 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1360 },3413 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1371 },
3341 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1552 },3414 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1570 },
3342 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1553 },3415 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1571 },
3343 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 449 },3416 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 449 },
3344 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1554 },3417 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1572 },
3345 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1555 },3418 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1573 },
3346 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1556 },3419 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1574 },
3347 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 902 },3420 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 907 },
3348 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1213 },3421 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1224 },
3349 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1557 },3422 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1575 },
3350 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1213 },3423 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1224 },
3351 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1558 },3424 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1576 },
3352 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3425 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3353 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1213 },3426 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1224 },
3354 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1559 },3427 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1577 },
3355 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },3428 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },
3356 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3429 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3357 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1560 },3430 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1578 },
3358 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1560 },3431 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1578 },
3359 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1560 },3432 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1578 },
3360 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1561 },3433 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1579 },
3361 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1562 },3434 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1580 },
3362 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1561 },3435 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1579 },
3363 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 960 },3436 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 965 },
3364 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1216 },3437 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1227 },
3365 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1216 },3438 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1227 },
3366 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1563 },3439 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1581 },
3367 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1564 },3440 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1582 },
3368 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1565 },3441 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1583 },
3369 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 915 },3442 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 920 },
3370 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1566 },3443 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1584 },
3371 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1568 },3444 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1586 },
3372 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1569 },3445 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1587 },
3373 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1570 },3446 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1588 },
3374 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1571 },3447 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1589 },
3375 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1572 },3448 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1590 },
3376 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1573 },3449 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1591 },
3377 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1574 },3450 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1592 },
3378 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1575 },3451 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1593 },
3379 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3452 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3380 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1576 },3453 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1594 },
3381 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3454 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3382 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1578 },3455 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1596 },
3383 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1579 },3456 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1597 },
3384 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1580 },3457 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1598 },
3385 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1233 },3458 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1244 },
3386 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1581 },3459 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1599 },
3387 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 449 },3460 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 449 },
3388 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3461 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3389 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3462 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
...@@ -3391,1789 +3464,1852 @@ const dafsa = [_]Node{...@@ -3391,1789 +3464,1852 @@ const dafsa = [_]Node{
3391 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },3464 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },
3392 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3465 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3393 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3466 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3394 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1249 },3467 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1260 },
3395 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3468 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3396 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 698 },3469 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 700 },
3397 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1566 },3470 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1584 },
3398 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1582 },3471 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1600 },
3399 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 450 },3472 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 450 },
3400 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1583 },3473 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1601 },
3401 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1585 },3474 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1603 },
3402 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1586 },3475 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1604 },
3403 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1588 },3476 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1606 },
3404 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1559 },3477 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1577 },
3405 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1561 },3478 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1579 },
3406 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1589 },3479 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1607 },
3407 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1591 },3480 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1609 },
3408 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1290 },3481 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1301 },
3409 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1592 },3482 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1610 },
3410 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 640 },3483 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 642 },
3411 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 913 },3484 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 918 },
3412 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1593 },3485 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1611 },
3413 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1594 },3486 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1612 },
3414 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1596 },3487 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1614 },
3415 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1597 },3488 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1615 },
3416 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1597 },3489 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1615 },
3417 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1597 },3490 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1615 },
3418 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1597 },3491 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1615 },
3419 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1598 },3492 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1616 },
3420 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1600 },3493 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1618 },
3421 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1601 },3494 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1619 },
3422 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1602 },3495 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },
3423 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1600 },3496 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1618 },
3424 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1282 },3497 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1293 },
3425 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1603 },3498 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1621 },
3426 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1604 },3499 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1622 },
3427 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1605 },3500 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1623 },
3428 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1605 },3501 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1623 },
3429 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3502 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3430 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3503 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3431 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1295 },3504 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1306 },
3432 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1292 },3505 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1303 },
3433 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1292 },3506 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1303 },
3434 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1606 },3507 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1624 },
3435 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1295 },3508 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1306 },
3436 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1295 },3509 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1306 },
3437 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1608 },3510 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1626 },
3438 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1602 },3511 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1620 },
3439 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1602 },3512 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },
3440 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1608 },3513 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1626 },
3441 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1609 },3514 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1627 },
3442 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1610 },3515 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1628 },
3443 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1611 },3516 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1629 },
3444 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1612 },3517 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1630 },
3445 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1299 },3518 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1310 },
3446 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1299 },3519 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1310 },
3447 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1613 },3520 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1631 },
3448 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1302 },3521 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1313 },
3449 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1614 },3522 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1632 },
3450 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1612 },3523 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1630 },
3451 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1299 },3524 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1310 },
3452 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1299 },3525 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1310 },
3453 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1613 },3526 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1631 },
3454 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },3527 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },
3455 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1615 },3528 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1633 },
3456 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3529 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3457 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1619 },3530 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1637 },
3458 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },3531 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1638 },
3459 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1621 },3532 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1639 },
3460 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1602 },3533 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },
3461 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1321 },3534 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1332 },
3462 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1602 },3535 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },
3463 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1622 },3536 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1640 },
3464 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1623 },3537 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1641 },
3465 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1321 },3538 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1332 },
3466 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1625 },3539 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1643 },
3467 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3540 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3468 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 640 },3541 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 642 },
3469 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1627 },3542 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1645 },
3470 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1629 },3543 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1647 },
3471 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1632 },3544 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1650 },
3472 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1633 },3545 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1651 },
3473 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1634 },3546 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1652 },
3474 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1635 },3547 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1653 },
3475 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 742 },3548 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 744 },
3476 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1336 },3549 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1347 },
3477 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1636 },3550 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1654 },
3478 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1636 },3551 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1654 },
3479 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1637 },3552 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1655 },
3480 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1638 },3553 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1656 },
3481 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1638 },3554 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1656 },
3482 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1639 },3555 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1657 },
3483 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1640 },3556 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1658 },
3484 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1640 },3557 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1658 },
3485 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1641 },3558 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1659 },
3486 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1641 },3559 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1659 },
3487 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1642 },3560 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1660 },
3488 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1643 },3561 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1661 },
3489 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1646 },3562 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1664 },
3490 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 1649 },3563 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 1667 },
3491 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1653 },3564 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1671 },
3492 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1657 },3565 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1675 },
3493 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1658 },3566 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1676 },
3494 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1659 },3567 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1677 },
3495 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1660 },3568 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1678 },
3496 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1662 },3569 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1680 },
3497 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1663 },3570 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1681 },
3498 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1666 },3571 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1684 },
3499 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3572 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3500 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },3573 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },
3501 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 59 },3574 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 59 },
3502 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 59 },3575 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 59 },
3503 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1669 },3576 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1687 },
3504 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1674 },3577 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1692 },
3505 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1676 },3578 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1694 },
3506 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 779 },3579 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 781 },
3507 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1677 },3580 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1695 },
3508 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1679 },3581 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1697 },
3509 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1680 },3582 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1698 },
3510 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1681 },3583 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1699 },
3511 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1682 },3584 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1700 },
3512 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1681 },3585 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1699 },
3513 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1683 },3586 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1701 },
3514 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1684 },3587 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1702 },
3515 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1685 },3588 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1703 },
3516 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3589 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3517 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1686 },3590 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1704 },
3518 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1686 },3591 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1704 },
3519 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },3592 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },
3520 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1356 },3593 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1367 },
3521 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1688 },3594 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1706 },
3522 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1689 },3595 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1707 },
3523 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1690 },3596 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1708 },
3524 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1691 },3597 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1709 },
3525 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1692 },3598 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1710 },
3526 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1693 },3599 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1711 },
3527 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1694 },3600 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1712 },
3528 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1695 },3601 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1713 },
3529 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1696 },3602 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1714 },
3530 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1697 },3603 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1715 },
3531 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1699 },3604 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1717 },
3532 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1700 },3605 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1718 },
3533 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1700 },3606 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1718 },
3534 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1701 },3607 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1719 },
3535 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1702 },3608 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1720 },
3536 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1703 },3609 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1721 },
3537 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1704 },3610 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1722 },
3538 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1705 },3611 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1723 },
3539 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1706 },
3540 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1707 },
3541 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1708 },
3542 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 620 },
3543 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1709 },
3544 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1710 },
3545 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1711 },
3546 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1711 },
3547 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1712 },
3548 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1714 },
3549 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1715 },
3550 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1715 },
3551 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1716 },
3552 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1718 },
3553 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1719 },
3554 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1720 },
3555 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1721 },
3556 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1722 },
3557 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1724 },3612 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1724 },
3613 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1725 },
3614 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1726 },
3615 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 622 },
3616 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1727 },
3617 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1728 },
3618 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1729 },
3619 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1729 },
3620 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1730 },
3621 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1732 },
3622 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
3623 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1734 },
3624 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1733 },
3625 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1735 },
3626 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1737 },
3627 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1738 },
3628 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1739 },
3629 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1740 },
3630 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1741 },
3631 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1743 },
3558 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },3632 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3559 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1725 },3633 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1744 },
3560 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1726 },3634 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1745 },
3561 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1727 },3635 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1746 },
3562 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1722 },3636 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1741 },
3563 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1724 },3637 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1743 },
3564 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },3638 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3565 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1725 },3639 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1744 },
3566 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },3640 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
3567 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1729 },3641 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1748 },
3568 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1732 },3642 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1751 },
3569 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1734 },3643 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1753 },
3570 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1735 },3644 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1754 },
3571 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1433 },3645 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1445 },
3572 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1736 },3646 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1756 },
3573 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1737 },3647 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1757 },
3574 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1738 },3648 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1758 },
3575 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1736 },3649 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1756 },
3576 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1739 },3650 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1759 },
3577 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3651 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3578 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1741 },3652 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1761 },
3579 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1739 },3653 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1759 },
3580 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1742 },3654 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1762 },
3581 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1744 },3655 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1764 },
3582 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3656 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3583 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1745 },3657 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1765 },
3584 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1746 },3658 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1766 },
3585 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1747 },3659 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1767 },
3586 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1746 },3660 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1766 },
3587 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1739 },3661 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1759 },
3588 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1748 },3662 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1768 },
3589 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1751 },3663 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1771 },
3590 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3664 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3591 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1752 },3665 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1772 },
3592 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 823 },3666 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 825 },
3593 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1753 },3667 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1773 },
3594 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1453 },3668 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1465 },
3595 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1453 },3669 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1465 },
3596 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1453 },3670 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1465 },
3597 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1754 },3671 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1774 },
3598 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1755 },3672 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 1775 },
3599 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1758 },3673 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1781 },
3600 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1761 },3674 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1784 },
3601 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1763 },3675 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1786 },
3602 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 1764 },3676 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 1787 },
3603 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1766 },3677 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1789 },
3604 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1767 },3678 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1790 },
3605 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1769 },3679 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1792 },
3606 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },3680 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3607 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1771 },3681 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1794 },
3608 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3682 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3609 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1772 },3683 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1795 },
3610 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1773 },3684 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1796 },
3611 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1774 },3685 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1797 },
3612 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1778 },3686 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1801 },
3613 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },3687 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
3614 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1753 },3688 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1773 },
3615 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 604 },3689 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 606 },
3616 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 620 },3690 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 622 },
3617 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1409 },3691 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1802 },
3618 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1779 },3692 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1805 },
3619 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1780 },3693 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1806 },
3620 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 823 },3694 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1807 },
3695 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1808 },
3696 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 825 },
3621 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3697 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3622 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1781 },3698 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1809 },
3623 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1782 },3699 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1810 },
3624 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1783 },3700 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1811 },
3625 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1715 },3701 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
3626 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1715 },3702 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
3627 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1715 },3703 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1733 },
3628 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1784 },3704 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1812 },
3629 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1785 },3705 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1813 },
3630 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1728 },3706 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1747 },
3631 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1787 },3707 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1815 },
3632 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1788 },3708 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1816 },
3633 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1790 },3709 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1818 },
3634 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1791 },3710 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1819 },
3635 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 1792 },3711 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 1820 },
3636 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1793 },3712 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1821 },
3637 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1794 },3713 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1822 },
3638 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1795 },3714 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1823 },
3639 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },3715 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
3640 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1796 },3716 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1824 },
3641 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1739 },3717 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1759 },
3642 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1797 },3718 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1825 },
3643 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1800 },3719 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1828 },
3644 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1801 },3720 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1829 },
3645 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1803 },3721 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1831 },
3646 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 1805 },3722 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 1833 },
3647 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1807 },3723 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1835 },
3648 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1808 },3724 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1836 },
3649 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1811 },3725 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1839 },
3650 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 1812 },3726 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 1840 },
3651 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 14, .child_index = 1814 },3727 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 14, .child_index = 1842 },
3652 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },3728 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3653 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },3729 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3654 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1817 },3730 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1845 },
3655 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3731 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3656 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1818 },3732 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1734 },
3657 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 621 },3733 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1846 },
3658 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1819 },3734 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 623 },
3659 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 621 },3735 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1847 },
3660 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1821 },3736 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 623 },
3661 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1823 },3737 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1849 },
3662 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1824 },3738 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1851 },
3663 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 1825 },3739 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1852 },
3664 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1827 },3740 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 1853 },
3665 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1828 },3741 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1855 },
3666 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1831 },3742 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1856 },
3743 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1859 },
3667 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3744 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3668 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1817 },3745 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1845 },
3669 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1832 },3746 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1860 },
3670 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3747 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3671 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1833 },3748 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1861 },
3672 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1531 },3749 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1546 },
3673 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1834 },3750 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1862 },
3674 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1839 },3751 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1867 },
3675 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1841 },3752 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1869 },
3676 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1722 },3753 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1739 },
3677 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1724 },3754 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1870 },
3755 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1871 },
3756 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1741 },
3757 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1743 },
3678 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },3758 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3679 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1725 },3759 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1744 },
3680 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3760 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3681 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1842 },3761 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1872 },
3682 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1845 },3762 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1875 },
3683 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1734 },3763 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1753 },
3684 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 1847 },3764 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 1877 },
3685 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1849 },3765 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1879 },
3686 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1850 },3766 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1880 },
3687 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1851 },3767 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1881 },
3688 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3768 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3689 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1549 },3769 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1567 },
3690 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1852 },3770 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1882 },
3691 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1853 },3771 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1883 },
3692 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 449 },3772 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 449 },
3693 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1854 },3773 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1884 },
3694 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1855 },3774 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1885 },
3695 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1856 },3775 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1886 },
3696 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1559 },3776 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1577 },
3697 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1859 },3777 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1889 },
3698 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3778 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3699 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3779 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3700 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3780 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3701 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1638 },3781 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1656 },
3702 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1336 },3782 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1347 },
3703 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1860 },3783 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1890 },
3704 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1861 },3784 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1891 },
3705 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3785 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3706 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 915 },3786 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 920 },
3707 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1862 },3787 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1892 },
3708 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1864 },3788 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1894 },
3709 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1638 },3789 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1656 },
3710 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1865 },3790 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1895 },
3711 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1867 },3791 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1897 },
3712 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1869 },3792 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1899 },
3713 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },3793 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },
3714 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1251 },3794 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1262 },
3715 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3795 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3716 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3796 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3717 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1559 },3797 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1577 },
3718 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1871 },3798 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1901 },
3719 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1872 },3799 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1902 },
3720 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 915 },3800 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 920 },
3721 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1873 },3801 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1903 },
3722 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1874 },3802 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1904 },
3723 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1876 },3803 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1906 },
3724 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1877 },3804 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1907 },
3725 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1588 },3805 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1606 },
3726 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1588 },3806 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1606 },
3727 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1874 },3807 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1904 },
3728 .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3808 .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3729 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3809 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3730 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3810 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3731 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 705 },3811 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 707 },
3732 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1878 },3812 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1908 },
3733 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1881 },3813 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1911 },
3734 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1317 },3814 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1328 },
3735 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1881 },3815 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1911 },
3736 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1882 },3816 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1912 },
3737 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1597 },3817 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1615 },
3738 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1597 },3818 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1615 },
3739 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1883 },3819 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1913 },
3740 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1884 },3820 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1914 },
3741 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1601 },3821 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1619 },
3742 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1886 },3822 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1916 },
3743 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1887 },3823 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1917 },
3744 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1888 },3824 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1918 },
3745 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1601 },3825 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1619 },
3746 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1884 },3826 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1914 },
3747 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1890 },3827 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1920 },
3748 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1891 },3828 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1921 },
3749 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1892 },3829 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1922 },
3750 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1893 },3830 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1923 },
3751 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1894 },3831 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1924 },
3752 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1894 },3832 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1924 },
3753 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },3833 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },
3754 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1612 },3834 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1630 },
3755 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1299 },3835 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1310 },
3756 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1299 },3836 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1310 },
3757 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1613 },3837 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1631 },
3758 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1895 },3838 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1925 },
3759 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1896 },3839 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1926 },
3760 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1897 },3840 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1927 },
3761 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1899 },3841 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1929 },
3762 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1601 },3842 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1619 },
3763 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1602 },3843 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },
3764 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1900 },3844 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1930 },
3765 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1602 },3845 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },
3766 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1901 },3846 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1931 },
3767 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1901 },3847 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1931 },
3768 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1901 },3848 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1931 },
3769 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1901 },3849 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1931 },
3770 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1902 },3850 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1932 },
3771 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1903 },3851 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1933 },
3772 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1904 },3852 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1934 },
3773 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1905 },3853 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1935 },
3774 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1906 },3854 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1936 },
3775 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1907 },3855 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1937 },
3776 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1638 },3856 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1656 },
3777 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3857 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3778 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1908 },3858 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1938 },
3779 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1909 },3859 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1939 },
3780 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1911 },3860 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1941 },
3781 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1913 },3861 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1943 },
3782 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1914 },3862 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1944 },
3783 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 7, .child_index = 1915 },3863 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 7, .child_index = 1945 },
3784 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1576 },3864 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1594 },
3785 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1916 },3865 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1946 },
3786 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1917 },3866 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1947 },
3787 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1576 },3867 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1594 },
3788 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 7, .child_index = 1918 },3868 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 7, .child_index = 1948 },
3789 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 7, .child_index = 1918 },3869 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 7, .child_index = 1948 },
3790 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1919 },3870 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1949 },
3791 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1576 },3871 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1594 },
3792 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1916 },3872 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1946 },
3793 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1917 },3873 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1947 },
3794 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1919 },3874 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1949 },
3795 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1576 },3875 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1594 },
3796 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3876 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3797 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 961 },3877 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 966 },
3798 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1920 },3878 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1950 },
3799 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1921 },3879 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1951 },
3800 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1922 },3880 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1952 },
3801 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1923 },3881 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1953 },
3802 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1916 },3882 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1946 },
3803 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1924 },3883 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1954 },
3804 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1576 },3884 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1594 },
3805 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1914 },3885 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1944 },
3806 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1914 },3886 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1944 },
3807 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1576 },3887 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1594 },
3808 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1597 },3888 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1615 },
3809 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1597 },3889 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1615 },
3810 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1597 },3890 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1615 },
3811 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1597 },3891 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1615 },
3812 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1597 },3892 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1615 },
3813 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3893 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3814 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 976 },3894 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 981 },
3815 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1925 },3895 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1955 },
3816 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 976 },3896 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 981 },
3817 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 976 },3897 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 981 },
3818 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1852 },3898 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1882 },
3819 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1926 },3899 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1956 },
3820 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1927 },3900 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1957 },
3821 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1681 },3901 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1699 },
3822 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1681 },3902 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1699 },
3823 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 59 },3903 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 59 },
3824 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1677 },3904 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1695 },
3825 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 976 },3905 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 981 },
3826 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 640 },3906 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 642 },
3827 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1928 },3907 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1958 },
3828 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1929 },3908 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1959 },
3829 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1929 },3909 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1959 },
3830 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1930 },3910 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1960 },
3831 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1931 },3911 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1961 },
3832 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1932 },3912 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1962 },
3833 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1933 },3913 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1963 },
3834 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1935 },3914 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1965 },
3835 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1936 },3915 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1966 },
3836 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1914 },3916 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1944 },
3837 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1914 },3917 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1944 },
3838 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1937 },3918 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1967 },
3839 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1938 },3919 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1968 },
3840 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1528 },3920 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1543 },
3841 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1939 },3921 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1969 },
3842 .{ .char = 'B', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3922 .{ .char = 'B', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3843 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1940 },3923 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1970 },
3844 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1943 },3924 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1973 },
3845 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1944 },3925 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1974 },
3846 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1945 },3926 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1975 },
3847 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1946 },3927 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1976 },
3848 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1947 },3928 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1977 },
3849 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1130 },3929 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1135 },
3850 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1948 },3930 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1978 },
3851 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1949 },3931 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1979 },
3852 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1951 },3932 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1981 },
3853 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3933 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3854 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3934 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3855 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },3935 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1982 },
3856 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1952 },3936 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
3857 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1953 },3937 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1984 },
3858 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1954 },3938 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1985 },
3859 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1955 },3939 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1986 },
3860 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1957 },3940 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1987 },
3861 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },3941 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1989 },
3862 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1738 },3942 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
3943 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1758 },
3863 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3944 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3864 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1958 },3945 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1990 },
3865 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1959 },3946 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1991 },
3866 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1130 },3947 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1135 },
3867 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1739 },3948 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1759 },
3868 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1728 },3949 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1747 },
3869 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1725 },3950 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1744 },
3870 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1960 },3951 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1992 },
3871 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1725 },3952 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1744 },
3872 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },3953 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
3873 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1725 },3954 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1744 },
3874 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1961 },3955 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3875 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },3956 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1993 },
3876 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1738 },3957 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
3958 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1758 },
3877 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },3959 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3878 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },3960 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
3879 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1963 },3961 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1995 },
3880 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1964 },3962 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1996 },
3881 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1965 },3963 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1997 },
3882 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1952 },3964 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1984 },
3883 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1742 },3965 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1762 },
3884 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1744 },3966 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1764 },
3885 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1751 },3967 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1771 },
3886 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1745 },3968 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1765 },
3887 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 823 },3969 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 825 },
3888 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1965 },3970 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1997 },
3889 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1952 },3971 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1984 },
3890 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1742 },3972 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1762 },
3891 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1966 },3973 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1998 },
3892 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1968 },3974 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2000 },
3893 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1969 },3975 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2001 },
3894 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1970 },3976 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2002 },
3895 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1972 },3977 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2003 },
3896 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1973 },3978 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 2004 },
3897 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1974 },3979 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 2006 },
3898 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1975 },3980 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2007 },
3899 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1976 },3981 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2008 },
3900 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1977 },3982 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2009 },
3901 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1973 },3983 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2010 },
3902 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1974 },3984 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2011 },
3903 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1977 },3985 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2012 },
3904 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1978 },3986 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2008 },
3905 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1974 },3987 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2009 },
3906 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1974 },3988 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2012 },
3907 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1974 },3989 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2013 },
3908 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1528 },3990 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2009 },
3909 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 823 },3991 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2009 },
3910 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1968 },3992 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2009 },
3911 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1979 },3993 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1543 },
3912 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1980 },3994 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 825 },
3913 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 1981 },3995 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2000 },
3914 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1982 },3996 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2014 },
3915 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1983 },3997 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2015 },
3916 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1982 },3998 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 2016 },
3917 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },3999 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2017 },
3918 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1985 },4000 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 2018 },
3919 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1986 },4001 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2017 },
3920 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 1987 },4002 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
3921 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 1987 },4003 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1732 },
3922 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1989 },4004 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
3923 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1990 },4005 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1733 },
3924 .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1437 },4006 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2020 },
3925 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1437 },4007 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2021 },
3926 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1952 },4008 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2024 },
3927 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1728 },4009 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2025 },
3928 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1991 },4010 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 2026 },
3929 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1991 },4011 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 2026 },
3930 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1992 },4012 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2028 },
3931 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1993 },4013 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2029 },
3932 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1995 },4014 .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1449 },
3933 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1996 },4015 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1449 },
3934 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1812 },4016 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1984 },
3935 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1997 },4017 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1747 },
3936 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1998 },4018 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2030 },
3937 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1999 },4019 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2030 },
4020 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2031 },
4021 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2032 },
4022 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2034 },
4023 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2035 },
4024 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1840 },
4025 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2036 },
4026 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2037 },
4027 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2038 },
3938 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4028 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3939 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },4029 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
3940 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1739 },4030 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1759 },
3941 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2000 },4031 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2039 },
3942 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1531 },4032 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1546 },
3943 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2001 },4033 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2040 },
3944 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1739 },4034 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1759 },
3945 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },4035 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
3946 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1531 },4036 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1546 },
3947 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1728 },4037 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1747 },
3948 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1728 },4038 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1747 },
3949 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1849 },4039 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1879 },
3950 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 2003 },4040 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 2042 },
3951 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1739 },4041 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1759 },
3952 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },4042 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
3953 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1739 },4043 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1759 },
3954 .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1728 },4044 .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1747 },
3955 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 2004 },4045 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 2043 },
3956 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4046 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3957 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2006 },4047 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2045 },
3958 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2007 },4048 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2046 },
3959 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2008 },4049 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2047 },
3960 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2007 },4050 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2046 },
3961 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2009 },4051 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2048 },
3962 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2010 },4052 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2049 },
3963 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2011 },4053 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2050 },
3964 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 2012 },4054 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 2051 },
3965 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },4055 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
3966 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 16, .child_index = 2014 },4056 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 16, .child_index = 2053 },
3967 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2017 },4057 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2056 },
3968 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2019 },4058 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2058 },
3969 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2021 },4059 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2060 },
3970 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2023 },4060 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2062 },
3971 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1531 },4061 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1546 },
3972 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2024 },4062 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2063 },
3973 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4063 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3974 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1817 },4064 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1845 },
3975 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4065 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3976 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1817 },4066 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1845 },
3977 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1771 },4067 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1794 },
3978 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 621 },4068 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 623 },
3979 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4069 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3980 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2025 },4070 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 2064 },
4071 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 2065 },
4072 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2066 },
3981 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4073 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
3982 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1725 },4074 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1744 },
3983 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1960 },4075 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1992 },
3984 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1725 },4076 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1744 },
3985 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4077 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
3986 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1739 },4078 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1759 },
3987 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1800 },4079 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1828 },
3988 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },4080 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
3989 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2026 },4081 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2067 },
3990 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2030 },4082 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2071 },
3991 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4083 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3992 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1852 },4084 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1882 },
3993 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2032 },4085 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2073 },
3994 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2033 },4086 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2074 },
3995 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2034 },4087 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2075 },
3996 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 87 },4088 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 87 },
3997 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4089 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3998 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },4090 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },
3999 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 915 },4091 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 920 },
4000 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2036 },4092 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2077 },
4001 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },4093 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },
4002 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },4094 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },
4003 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 961 },4095 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 966 },
4004 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2037 },4096 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2078 },
4005 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2037 },4097 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2078 },
4006 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2038 },4098 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2079 },
4007 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4099 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4008 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },4100 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
4009 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },4101 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },
4010 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2039 },4102 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2080 },
4011 .{ .char = 'R', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2040 },4103 .{ .char = 'R', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2081 },
4012 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2041 },4104 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2082 },
4013 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2042 },4105 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2083 },
4014 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2042 },4106 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2083 },
4015 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 2043 },4107 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 2084 },
4016 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 2047 },4108 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 2088 },
4017 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },4109 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
4018 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },4110 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
4019 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4111 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4020 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 976 },4112 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 981 },
4021 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2050 },4113 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2091 },
4022 .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4114 .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4023 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },4115 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
4024 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4116 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4025 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2051 },4117 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2092 },
4026 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2055 },4118 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2096 },
4027 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2058 },4119 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2099 },
4028 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2059 },4120 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2100 },
4029 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2060 },4121 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2101 },
4030 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2063 },4122 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2104 },
4031 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2065 },4123 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2106 },
4032 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2068 },4124 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2109 },
4033 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1891 },4125 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1921 },
4034 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1576 },4126 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1594 },
4035 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2069 },4127 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2110 },
4036 .{ .char = '0', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2069 },4128 .{ .char = '0', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2110 },
4037 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2069 },4129 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2110 },
4038 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1601 },4130 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1619 },
4039 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2070 },4131 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2111 },
4040 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2072 },4132 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2113 },
4041 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2073 },4133 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2114 },
4042 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2075 },4134 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2116 },
4043 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2076 },4135 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2117 },
4044 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2077 },4136 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2118 },
4045 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2078 },4137 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2119 },
4046 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2079 },4138 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2120 },
4047 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1674 },4139 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1692 },
4048 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 742 },4140 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 744 },
4049 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1336 },4141 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1347 },
4050 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2081 },4142 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2122 },
4051 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2082 },4143 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2123 },
4052 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2083 },4144 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2124 },
4053 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2084 },4145 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2125 },
4054 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2088 },4146 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2129 },
4055 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2093 },4147 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2134 },
4056 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2097 },4148 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2138 },
4057 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2101 },4149 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2142 },
4058 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2105 },4150 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2146 },
4059 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1660 },4151 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1678 },
4060 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },4152 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },
4061 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1921 },4153 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1951 },
4062 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2106 },4154 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2147 },
4063 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2107 },4155 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2148 },
4064 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2110 },4156 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2151 },
4065 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2114 },4157 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2155 },
4066 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2115 },4158 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2156 },
4067 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4159 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4068 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1080 },4160 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1085 },
4069 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2116 },4161 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2157 },
4070 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2117 },4162 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2158 },
4071 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2117 },4163 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2158 },
4072 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2119 },4164 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2160 },
4073 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 902 },4165 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 907 },
4074 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },4166 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },
4075 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2120 },4167 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2161 },
4076 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },4168 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },
4077 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2121 },4169 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2162 },
4078 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2122 },4170 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2163 },
4079 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4171 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
4080 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4172 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
4081 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4173 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4082 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1945 },4174 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1975 },
4083 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4175 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4084 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2123 },4176 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2164 },
4085 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2125 },4177 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2166 },
4086 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1944 },4178 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1974 },
4087 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2126 },4179 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2167 },
4088 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1951 },4180 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1981 },
4089 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2127 },4181 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2168 },
4090 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2128 },4182 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2169 },
4091 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1944 },4183 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2170 },
4092 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2129 },4184 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2171 },
4093 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2132 },4185 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1974 },
4094 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2135 },4186 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2172 },
4095 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2136 },4187 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2175 },
4096 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2137 },4188 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2178 },
4097 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2141 },4189 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2179 },
4098 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2142 },4190 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2180 },
4099 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2008 },4191 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2184 },
4100 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 823 },4192 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2185 },
4193 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2047 },
4194 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 825 },
4101 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4195 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4102 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2143 },4196 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2186 },
4103 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2144 },4197 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2187 },
4104 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2145 },4198 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2188 },
4105 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2146 },4199 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2189 },
4106 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4200 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4107 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4201 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4108 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4202 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4109 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1977 },4203 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2191 },
4110 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2148 },4204 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2192 },
4111 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2149 },4205 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2193 },
4112 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2150 },4206 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2194 },
4113 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1977 },4207 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2195 },
4114 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2151 },4208 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2197 },
4115 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1974 },4209 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2198 },
4116 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1715 },4210 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2012 },
4117 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2152 },4211 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2199 },
4118 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2157 },4212 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2009 },
4119 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1981 },4213 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1733 },
4120 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2158 },4214 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2200 },
4121 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2161 },4215 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2205 },
4122 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1736 },4216 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 2016 },
4123 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2162 },4217 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2206 },
4124 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2164 },4218 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2209 },
4125 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 604 },4219 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1756 },
4126 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 2166 },4220 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2210 },
4221 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2212 },
4222 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
4223 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2214 },
4224 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1733 },
4225 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 606 },
4226 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1993 },
4227 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 2215 },
4127 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4228 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4128 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2169 },4229 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2218 },
4129 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1715 },4230 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1733 },
4130 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1787 },4231 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1815 },
4131 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2170 },4232 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2219 },
4132 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2172 },4233 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2221 },
4133 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2173 },4234 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2222 },
4134 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2174 },4235 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2223 },
4135 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2177 },4236 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2226 },
4136 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2180 },4237 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2229 },
4137 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2181 },4238 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2230 },
4138 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4239 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4139 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1999 },4240 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2038 },
4140 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2181 },4241 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2230 },
4141 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1778 },4242 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1801 },
4142 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 2182 },4243 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 2231 },
4143 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1739 },4244 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1759 },
4144 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4245 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4145 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1130 },4246 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1135 },
4146 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1787 },4247 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1815 },
4147 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2007 },4248 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2046 },
4148 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2007 },4249 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2046 },
4149 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2186 },4250 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2235 },
4150 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1940 },4251 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1970 },
4151 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2187 },4252 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2236 },
4152 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 12, .child_index = 2188 },4253 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 12, .child_index = 2237 },
4153 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 2191 },4254 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 2240 },
4154 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1728 },4255 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1747 },
4155 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },4256 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
4156 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4257 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
4157 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1817 },4258 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1845 },
4158 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1529 },4259 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1544 },
4159 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1832 },4260 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1860 },
4160 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4261 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
4161 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1531 },4262 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1546 },
4162 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },4263 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
4163 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2194 },4264 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2243 },
4164 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2195 },4265 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2244 },
4266 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 2248 },
4267 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2253 },
4165 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4268 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
4166 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4269 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
4167 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 621 },4270 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 623 },
4168 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 621 },4271 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 623 },
4169 .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },4272 .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
4170 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 892 },4273 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 897 },
4171 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2196 },4274 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2254 },
4172 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2199 },4275 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2257 },
4173 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 913 },4276 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 918 },
4174 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 913 },4277 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 918 },
4175 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1257 },4278 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1268 },
4176 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1208 },4279 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1219 },
4177 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2202 },4280 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2260 },
4178 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2203 },4281 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2261 },
4179 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2204 },4282 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2262 },
4180 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2205 },4283 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2263 },
4181 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4284 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4182 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2206 },4285 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2264 },
4183 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2042 },4286 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2083 },
4184 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2207 },4287 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2265 },
4185 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2206 },4288 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2264 },
4186 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 2209 },4289 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 2267 },
4187 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2207 },4290 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2265 },
4188 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2206 },4291 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2264 },
4189 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 961 },4292 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 966 },
4190 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2211 },4293 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2269 },
4191 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2212 },4294 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2270 },
4192 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2213 },4295 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2271 },
4193 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1883 },4296 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1913 },
4194 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2211 },4297 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2269 },
4195 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2212 },4298 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2270 },
4196 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1883 },4299 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1913 },
4197 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2059 },4300 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2100 },
4198 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4301 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4199 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1299 },4302 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1310 },
4200 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1299 },4303 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1310 },
4201 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2214 },4304 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2272 },
4202 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1299 },4305 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1310 },
4203 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1299 },4306 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1310 },
4204 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1299 },4307 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1310 },
4205 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1299 },4308 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1310 },
4206 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1302 },4309 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1313 },
4207 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2037 },4310 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2078 },
4208 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2215 },4311 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2273 },
4209 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2216 },4312 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2274 },
4210 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2216 },4313 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2274 },
4211 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2217 },4314 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2275 },
4212 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2218 },4315 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2276 },
4213 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2219 },4316 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2277 },
4214 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4317 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4215 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2220 },4318 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2278 },
4216 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2221 },4319 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2279 },
4217 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 961 },4320 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 966 },
4218 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2223 },4321 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2281 },
4219 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1884 },4322 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1914 },
4220 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2224 },4323 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2282 },
4221 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2081 },4324 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2122 },
4222 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1080 },4325 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1085 },
4223 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2225 },4326 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2283 },
4224 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2227 },4327 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2285 },
4225 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },4328 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },
4226 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 742 },4329 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 744 },
4227 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2225 },4330 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2283 },
4228 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2227 },4331 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2285 },
4229 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },4332 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },
4230 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 902 },4333 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 907 },
4231 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 742 },4334 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 744 },
4232 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2225 },4335 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2283 },
4233 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2227 },4336 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2285 },
4234 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },4337 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },
4235 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 270 },4338 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 270 },
4236 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2225 },4339 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2283 },
4237 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2227 },4340 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2285 },
4238 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },4341 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },
4239 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 902 },4342 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 907 },
4240 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2225 },4343 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2283 },
4241 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2227 },4344 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2285 },
4242 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },4345 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },
4243 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2228 },4346 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2286 },
4244 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2229 },4347 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2287 },
4245 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1852 },4348 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1882 },
4246 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2225 },4349 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2283 },
4247 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2227 },4350 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2285 },
4248 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 455 },4351 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 455 },
4249 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2120 },4352 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2161 },
4250 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2120 },4353 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2161 },
4251 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2120 },4354 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2161 },
4252 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2120 },4355 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2161 },
4253 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1211 },4356 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1222 },
4254 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 704 },4357 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 706 },
4255 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1336 },4358 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1347 },
4256 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1560 },4359 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1578 },
4257 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4360 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4258 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2230 },4361 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2288 },
4259 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2231 },4362 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2289 },
4260 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2232 },4363 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2290 },
4261 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2233 },4364 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2291 },
4262 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4365 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4263 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4366 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4264 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2234 },4367 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2292 },
4265 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2235 },4368 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2293 },
4266 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2236 },4369 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2294 },
4267 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2238 },4370 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2296 },
4371 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2297 },
4372 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2298 },
4268 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4373 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
4269 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 621 },4374 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 623 },
4270 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4375 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4271 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4376 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4272 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1714 },4377 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1732 },
4273 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1715 },4378 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1733 },
4274 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2239 },4379 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2299 },
4275 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2239 },4380 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2299 },
4276 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4381 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4277 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1715 },4382 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
4278 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1715 },4383 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
4279 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1715 },4384 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1733 },
4280 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1722 },4385 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1741 },
4281 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 2240 },4386 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 2300 },
4282 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4387 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4283 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4388 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4284 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1787 },4389 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1815 },
4285 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4390 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4286 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1193 },4391 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1204 },
4287 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2243 },4392 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2303 },
4288 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2245 },4393 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2304 },
4289 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1715 },4394 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2305 },
4290 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2017 },4395 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2306 },
4396 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2308 },
4397 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2171 },
4398 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2309 },
4399 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1733 },
4400 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2056 },
4291 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4401 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
4292 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1714 },4402 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1732 },
4293 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4403 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
4294 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1715 },4404 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
4295 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 621 },4405 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 623 },
4296 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2247 },4406 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2311 },
4297 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4407 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4298 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1963 },4408 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1995 },
4299 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2248 },4409 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2312 },
4300 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1736 },4410 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1756 },
4301 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1982 },4411 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2017 },
4302 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2161 },4412 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2209 },
4303 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 2249 },4413 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 2313 },
4304 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2252 },4414 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2316 },
4305 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4415 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2318 },
4306 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2254 },4416 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4307 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2255 },4417 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2320 },
4308 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2256 },4418 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2321 },
4309 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2257 },4419 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2322 },
4310 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2258 },4420 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2323 },
4311 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 2259 },4421 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2324 },
4312 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 2260 },4422 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 2325 },
4313 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1715 },4423 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 2326 },
4314 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2261 },4424 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
4315 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1715 },4425 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2327 },
4316 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2258 },4426 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1733 },
4317 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2258 },4427 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2324 },
4318 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1715 },4428 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2324 },
4319 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2262 },4429 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1733 },
4320 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2264 },4430 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2328 },
4321 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4431 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2330 },
4322 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2265 },4432 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4323 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2266 },4433 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2331 },
4324 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2264 },4434 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2332 },
4325 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1531 },4435 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2330 },
4326 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2267 },4436 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1546 },
4327 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1739 },4437 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2333 },
4328 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1728 },4438 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1759 },
4329 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },4439 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1747 },
4330 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4440 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
4331 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1963 },4441 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4332 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2268 },4442 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1995 },
4333 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2269 },4443 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2334 },
4334 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2271 },4444 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2335 },
4335 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 913 },4445 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4336 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 913 },4446 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1732 },
4337 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2273 },4447 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
4338 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1360 },4448 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2337 },
4339 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1360 },4449 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4340 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2274 },4450 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
4341 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 980 },4451 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
4342 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2275 },4452 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2337 },
4453 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1733 },
4454 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2338 },
4455 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 918 },
4456 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 918 },
4457 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2340 },
4458 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1371 },
4459 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1371 },
4460 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2341 },
4461 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 985 },
4462 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2342 },
4343 .{ .char = 'P', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4463 .{ .char = 'P', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4344 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2276 },4464 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2343 },
4345 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2277 },4465 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2344 },
4346 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2206 },4466 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2264 },
4347 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2206 },4467 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2264 },
4348 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2277 },4468 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2344 },
4349 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4469 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4350 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1022 },4470 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1027 },
4351 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1022 },4471 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1027 },
4352 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2278 },4472 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2345 },
4353 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2279 },4473 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2346 },
4354 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2280 },4474 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2347 },
4355 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 964 },4475 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 969 },
4356 .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2075 },4476 .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2116 },
4357 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2281 },4477 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2348 },
4358 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2282 },4478 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2349 },
4359 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1208 },4479 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1219 },
4360 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },4480 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
4361 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2283 },4481 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2350 },
4362 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2284 },4482 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2351 },
4363 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 970 },4483 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 975 },
4364 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1317 },4484 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1328 },
4365 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 970 },4485 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 975 },
4366 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1317 },4486 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1328 },
4367 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2285 },4487 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2352 },
4368 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2286 },4488 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2353 },
4369 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2287 },4489 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2354 },
4370 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2288 },4490 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2355 },
4371 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2289 },4491 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2356 },
4372 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2290 },4492 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2357 },
4373 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2292 },4493 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2359 },
4374 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2293 },4494 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2360 },
4375 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2294 },4495 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2361 },
4376 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1951 },4496 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1981 },
4377 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2295 },4497 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2362 },
4378 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2296 },4498 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2363 },
4379 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 823 },4499 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2365 },
4500 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2367 },
4501 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 825 },
4380 .{ .char = 'o', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4502 .{ .char = 'o', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
4381 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1952 },4503 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1984 },
4504 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2369 },
4505 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2327 },
4506 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2370 },
4382 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4507 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
4383 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2298 },4508 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2214 },
4384 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2299 },4509 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2371 },
4510 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2369 },
4385 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4511 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4386 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2258 },4512 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2324 },
4387 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },4513 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
4388 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 823 },4514 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 825 },
4389 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4515 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
4390 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2252 },4516 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2316 },
4391 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 823 },4517 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 825 },
4392 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4518 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4519 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2372 },
4520 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2373 },
4393 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4521 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4394 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2300 },4522 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2374 },
4395 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2301 },4523 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2375 },
4396 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },4524 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
4397 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1728 },4525 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1747 },
4398 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2302 },4526 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2376 },
4399 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 2305 },4527 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 2379 },
4400 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2310 },4528 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2384 },
4401 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4529 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4402 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2311 },4530 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2385 },
4403 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1963 },4531 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1995 },
4404 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2181 },4532 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2230 },
4405 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2312 },4533 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2386 },
4406 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2268 },4534 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2334 },
4407 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1736 },4535 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1756 },
4408 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 12, .child_index = 2313 },4536 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 12, .child_index = 2387 },
4409 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 2316 },4537 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 2390 },
4410 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 823 },4538 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 874 },
4539 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 825 },
4411 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4540 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4412 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2318 },4541 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2392 },
4413 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2319 },4542 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2393 },
4414 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2038 },4543 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2079 },
4415 .{ .char = '9', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2320 },4544 .{ .char = '9', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2394 },
4416 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2321 },4545 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2395 },
4417 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1281 },4546 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1292 },
4418 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1891 },4547 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1921 },
4419 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1354 },4548 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1365 },
4420 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2322 },4549 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2396 },
4421 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },4550 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },
4422 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2323 },4551 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2397 },
4423 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1602 },4552 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },
4424 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2324 },4553 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2398 },
4425 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2325 },4554 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2399 },
4426 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2326 },4555 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2400 },
4427 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2327 },4556 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2401 },
4428 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },4557 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },
4429 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4558 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4430 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2328 },4559 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2402 },
4431 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2329 },4560 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2403 },
4432 .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2330 },4561 .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2404 },
4433 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1951 },4562 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1981 },
4434 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2331 },4563 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2405 },
4435 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4564 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
4436 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2332 },4565 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2327 },
4437 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2333 },4566 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2369 },
4438 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2335 },4567 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1733 },
4439 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2336 },4568 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4440 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2337 },4569 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2337 },
4441 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4570 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2406 },
4442 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1715 },4571 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2407 },
4443 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2338 },4572 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2409 },
4444 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4573 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4445 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1715 },4574 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4446 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2338 },4575 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2412 },
4447 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2261 },4576 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2413 },
4448 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1715 },4577 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4449 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2339 },4578 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
4579 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2414 },
4580 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4581 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
4582 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2414 },
4583 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2327 },
4584 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1733 },
4585 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2372 },
4450 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4586 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4451 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2340 },4587 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2415 },
4452 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2341 },4588 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2416 },
4453 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4589 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
4454 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 2316 },4590 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 2390 },
4455 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2341 },4591 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2416 },
4456 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4592 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4457 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2343 },4593 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2418 },
4458 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2344 },4594 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2419 },
4459 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2345 },4595 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2420 },
4460 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2346 },4596 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2421 },
4461 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2058 },4597 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2099 },
4462 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2347 },4598 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2422 },
4463 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2231 },4599 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2289 },
4464 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2348 },4600 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2423 },
4465 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2349 },4601 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2424 },
4466 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2350 },4602 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2425 },
4467 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2264 },4603 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2330 },
4468 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2351 },4604 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2426 },
4469 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2353 },4605 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2428 },
4470 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2355 },4606 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2430 },
4471 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 870 },4607 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2373 },
4472 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2339 },4608 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4473 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2356 },4609 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1773 },
4474 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2356 },4610 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1732 },
4475 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2357 },4611 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1733 },
4476 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2358 },4612 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2327 },
4477 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2360 },4613 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2431 },
4478 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4614 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2432 },
4479 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2361 },4615 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2434 },
4480 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4616 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2435 },
4481 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1771 },4617 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4482 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2034 },4618 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1794 },
4483 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2363 },4619 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2075 },
4620 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2437 },
4484 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 264 },4621 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 264 },
4485 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },4622 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },
4486 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4623 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4487 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 974 },4624 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 979 },
4488 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2365 },4625 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2439 },
4489 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2366 },4626 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2440 },
4490 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 823 },4627 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 825 },
4491 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2356 },4628 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2373 },
4492 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4629 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4493 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2367 },4630 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2441 },
4494 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 358 },4631 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 358 },
4495 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4632 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1993 },
4496 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1961 },4633 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2442 },
4497 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2368 },
4498 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4634 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4499 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1974 },4635 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2009 },
4500 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },4636 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1100 },
4501 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2264 },4637 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2330 },
4502 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1360 },4638 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1371 },
4503 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1360 },4639 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1371 },
4504 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2120 },4640 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2161 },
4505 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2370 },4641 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2444 },
4506 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 870 },4642 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 874 },
4507 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },4643 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 567 },
4508 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2371 },4644 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2445 },
4509 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2373 },4645 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2447 },
4510 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1724 },4646 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1743 },
4511 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },4647 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 567 },
4512 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2374 },4648 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2448 },
4513 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2375 },4649 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2449 },
4514 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 705 },4650 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 707 },
4515};4651};
4516pub const data = blk: {4652pub const data = blk: {
4517 @setEvalBranchQuota(17802);4653 @setEvalBranchQuota(18360);
4518 break :blk [_]Properties{4654 break :blk [_]Properties{
4519 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4655 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4520 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4656 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4521 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4657 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4522 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4658 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4523 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4659 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4524 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4660 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4525 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4661 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4526 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4662 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4527 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4663 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4528 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4664 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4529 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4665 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4530 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4666 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4531 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4667 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4532 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4668 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4533 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4669 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4534 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4670 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4535 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4671 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4536 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4672 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4537 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4673 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4538 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4674 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4539 .{ .param_str = "LLiiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4675 .{ .param_str = "LLiiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4540 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4676 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4541 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4677 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4542 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4678 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4543 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4679 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4544 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4680 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4545 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4681 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4546 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4682 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4547 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4683 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4548 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4684 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4549 .{ .param_str = "LLiIiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4685 .{ .param_str = "LLiIiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4550 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4686 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4551 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4687 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4552 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4688 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4553 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4689 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4554 .{ .param_str = "ULLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4690 .{ .param_str = "ULLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4555 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4691 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4556 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4692 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4557 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4693 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4558 .{ .param_str = "ULLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4694 .{ .param_str = "ULLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4559 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4695 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4560 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4696 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4561 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4697 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4562 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4698 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4563 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4699 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4564 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4700 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4565 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4701 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4566 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4702 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4567 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4703 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4568 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4704 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4569 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4705 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4570 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4706 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4571 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4707 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4572 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4708 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4573 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4709 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4574 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4710 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4575 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4711 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4576 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4712 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4577 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4713 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4578 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4714 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4579 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4715 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4580 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4716 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4581 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4717 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4582 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4718 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4583 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4719 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4584 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4720 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4585 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4721 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4586 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4722 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4587 .{ .param_str = "iIii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4723 .{ .param_str = "iIii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4588 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4724 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4589 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4725 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4590 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4726 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4591 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4727 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4592 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4728 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4593 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4729 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4594 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4730 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4595 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4731 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4596 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4732 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4597 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4733 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4598 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4734 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4599 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4735 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4600 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4736 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4601 .{ .param_str = "LLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4737 .{ .param_str = "LLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4602 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4738 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4603 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4739 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4604 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4740 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4605 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4741 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4606 .{ .param_str = "LLiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4742 .{ .param_str = "LLiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4607 .{ .param_str = "iIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4743 .{ .param_str = "iIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4608 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4744 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4609 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4745 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4610 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4746 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4611 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4747 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4612 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4748 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4613 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4749 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4614 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4750 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4615 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4751 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4616 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4752 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4617 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4753 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4618 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4754 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4619 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4755 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4620 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4756 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4621 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4757 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4622 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4758 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4623 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4759 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4624 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4760 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4625 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4761 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4626 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4762 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4627 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4763 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4628 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4764 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4629 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4765 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4630 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4766 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4631 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4767 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4632 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4768 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4633 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4769 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4634 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4770 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4635 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4771 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4636 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4772 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4637 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4773 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4638 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4774 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4639 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4775 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4640 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4776 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4641 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4777 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4642 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4778 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4643 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4779 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4644 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4780 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4645 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4781 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4646 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4782 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4647 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4783 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4648 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4784 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4649 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4785 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4650 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4786 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4651 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4787 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4652 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4788 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4653 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4789 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4654 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4790 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4655 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4791 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4656 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4792 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4657 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4793 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4658 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4794 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4659 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4795 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4660 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4796 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4661 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4797 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4662 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4798 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4663 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4799 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4664 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4800 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4665 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4801 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4666 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4802 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4667 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4803 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4668 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4804 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4669 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4805 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4670 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4806 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4671 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4807 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4672 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4808 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4673 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4809 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4674 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4810 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4675 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4811 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4676 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4812 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4677 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4813 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4678 .{ .param_str = "LLiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4814 .{ .param_str = "LLiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4679 .{ .param_str = "iiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4815 .{ .param_str = "iiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4680 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4816 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4681 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4817 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4682 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4818 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4683 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4819 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4684 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4820 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4685 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4821 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4686 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4822 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4687 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4823 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4688 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4824 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4689 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4825 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4690 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4826 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4691 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4827 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4692 .{ .param_str = "LLiIii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4828 .{ .param_str = "LLiIii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4693 .{ .param_str = "LLiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4829 .{ .param_str = "LLiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4694 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4830 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4695 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4831 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4696 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4832 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4697 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4833 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4698 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4834 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4699 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4835 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4700 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4836 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4701 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4837 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4702 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4838 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4703 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4839 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4704 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4840 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4705 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4841 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4706 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4842 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4707 .{ .param_str = "iLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4843 .{ .param_str = "iLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4708 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4844 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4709 .{ .param_str = "iLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4845 .{ .param_str = "iLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4710 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4846 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4711 .{ .param_str = "iLLiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4847 .{ .param_str = "iLLiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4712 .{ .param_str = "iLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4848 .{ .param_str = "iLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4713 .{ .param_str = "iLLiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4849 .{ .param_str = "iLLiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4714 .{ .param_str = "iLLiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4850 .{ .param_str = "iLLiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4715 .{ .param_str = "iLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4851 .{ .param_str = "iLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4716 .{ .param_str = "iLLiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4852 .{ .param_str = "iLLiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4717 .{ .param_str = "iLLiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4853 .{ .param_str = "iLLiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4718 .{ .param_str = "iLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4854 .{ .param_str = "iLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4719 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4855 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4720 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4856 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4721 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4857 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4722 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4858 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4723 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4859 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4724 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4860 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4725 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4861 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4726 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4862 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4727 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4863 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4728 .{ .param_str = "iLLiLLi", .features = "v65|v66|v67|v68|v69|v71|v73|v75|v79" },4864 .{ .param_str = "iLLiLLi", .features = "v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4729 .{ .param_str = "LLiLLiLLi", .features = "v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4865 .{ .param_str = "LLiLLiLLi", .features = "v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4730 .{ .param_str = "iiUIi", .features = "audio" },4866 .{ .param_str = "iiUIi", .features = "audio" },
4731 .{ .param_str = "LLiLLiUIi", .features = "audio" },4867 .{ .param_str = "LLiLLiUIi", .features = "audio" },
4732 .{ .param_str = "LLiLLii", .features = "audio" },4868 .{ .param_str = "LLiLLii", .features = "audio" },
4733 .{ .param_str = "LLiLLiUIi", .features = "audio" },4869 .{ .param_str = "LLiLLiUIi", .features = "audio" },
4734 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4870 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4735 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4871 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4736 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4872 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4737 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4873 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4738 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4874 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4739 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4875 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4740 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4876 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4741 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4877 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4742 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4878 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4743 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4879 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4744 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4880 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4745 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4881 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4746 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4882 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4747 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4883 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4748 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4884 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4749 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4885 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4750 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4886 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4751 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4887 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4752 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4888 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4753 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4889 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4754 .{ .param_str = "LLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4890 .{ .param_str = "LLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4755 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4891 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4756 .{ .param_str = "iiIiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4892 .{ .param_str = "iiIiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4757 .{ .param_str = "iiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4893 .{ .param_str = "iiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4758 .{ .param_str = "iiIii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4894 .{ .param_str = "iiIii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4759 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4895 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4760 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4896 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4761 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4897 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4762 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4898 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4763 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4899 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4764 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4900 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4765 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4901 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4766 .{ .param_str = "LLiiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4902 .{ .param_str = "LLiiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4767 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4903 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4768 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4904 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4769 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4905 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4770 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4906 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4771 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4907 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4772 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4908 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4773 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4909 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4774 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4910 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4775 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4911 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4776 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4912 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4777 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4913 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4778 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4914 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4779 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4915 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4780 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4916 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4781 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4917 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4782 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4918 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4783 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4919 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4784 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4920 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4785 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4921 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4786 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4922 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4787 .{ .param_str = "dLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4923 .{ .param_str = "dLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4788 .{ .param_str = "fLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4924 .{ .param_str = "fLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4789 .{ .param_str = "LLid", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4925 .{ .param_str = "LLid", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4790 .{ .param_str = "LLid", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4926 .{ .param_str = "LLid", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4791 .{ .param_str = "fd", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4927 .{ .param_str = "fd", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4792 .{ .param_str = "LLid", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4928 .{ .param_str = "LLid", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4793 .{ .param_str = "LLid", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4929 .{ .param_str = "LLid", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4794 .{ .param_str = "id", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4930 .{ .param_str = "id", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4795 .{ .param_str = "id", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4931 .{ .param_str = "id", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4796 .{ .param_str = "id", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4932 .{ .param_str = "id", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4797 .{ .param_str = "id", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4933 .{ .param_str = "id", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4798 .{ .param_str = "LLif", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4934 .{ .param_str = "LLif", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4799 .{ .param_str = "LLif", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4935 .{ .param_str = "LLif", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4800 .{ .param_str = "df", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4936 .{ .param_str = "df", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4801 .{ .param_str = "LLif", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4937 .{ .param_str = "LLif", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4802 .{ .param_str = "LLif", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4938 .{ .param_str = "LLif", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4803 .{ .param_str = "if", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4939 .{ .param_str = "if", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4804 .{ .param_str = "if", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4940 .{ .param_str = "if", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4805 .{ .param_str = "if", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4941 .{ .param_str = "if", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4806 .{ .param_str = "if", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4942 .{ .param_str = "if", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4807 .{ .param_str = "dLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4943 .{ .param_str = "dLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4808 .{ .param_str = "fLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4944 .{ .param_str = "fLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4809 .{ .param_str = "di", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4945 .{ .param_str = "di", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4810 .{ .param_str = "fi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4946 .{ .param_str = "fi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4811 .{ .param_str = "di", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4947 .{ .param_str = "di", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4812 .{ .param_str = "fi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4948 .{ .param_str = "fi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4813 .{ .param_str = "ddd", .features = "v66|v67|v68|v69|v71|v73|v75|v79" },4949 .{ .param_str = "ddd", .features = "v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4814 .{ .param_str = "idUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4950 .{ .param_str = "idUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4815 .{ .param_str = "idd", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4951 .{ .param_str = "idd", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4816 .{ .param_str = "idd", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4952 .{ .param_str = "idd", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4817 .{ .param_str = "idd", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4953 .{ .param_str = "idd", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4818 .{ .param_str = "idd", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4954 .{ .param_str = "idd", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4819 .{ .param_str = "dUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4955 .{ .param_str = "dUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4820 .{ .param_str = "dUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4956 .{ .param_str = "dUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4821 .{ .param_str = "ddd", .features = "v67|v68|v69|v71|v73|v75|v79" },4957 .{ .param_str = "ddd", .features = "v67|v68|v69|v71|v73|v75|v79|v81" },
4822 .{ .param_str = "ddd", .features = "v67|v68|v69|v71|v73|v75|v79" },4958 .{ .param_str = "ddd", .features = "v67|v68|v69|v71|v73|v75|v79|v81" },
4823 .{ .param_str = "ddd", .features = "v67|v68|v69|v71|v73|v75|v79" },4959 .{ .param_str = "ddd", .features = "v67|v68|v69|v71|v73|v75|v79|v81" },
4824 .{ .param_str = "dddd", .features = "v67|v68|v69|v71|v73|v75|v79" },4960 .{ .param_str = "dddd", .features = "v67|v68|v69|v71|v73|v75|v79|v81" },
4825 .{ .param_str = "dddd", .features = "v67|v68|v69|v71|v73|v75|v79" },4961 .{ .param_str = "dddd", .features = "v67|v68|v69|v71|v73|v75|v79|v81" },
4826 .{ .param_str = "ddd", .features = "v67|v68|v69|v71|v73|v75|v79" },4962 .{ .param_str = "ddd", .features = "v67|v68|v69|v71|v73|v75|v79|v81" },
4827 .{ .param_str = "ddd", .features = "v66|v67|v68|v69|v71|v73|v75|v79" },4963 .{ .param_str = "ddd", .features = "v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4828 .{ .param_str = "fff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4964 .{ .param_str = "fff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4829 .{ .param_str = "ifUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4965 .{ .param_str = "ifUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4830 .{ .param_str = "iff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4966 .{ .param_str = "iff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4831 .{ .param_str = "iff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4967 .{ .param_str = "iff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4832 .{ .param_str = "iff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4968 .{ .param_str = "iff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4833 .{ .param_str = "iff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4969 .{ .param_str = "iff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4834 .{ .param_str = "fff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4970 .{ .param_str = "fff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4835 .{ .param_str = "fff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4971 .{ .param_str = "fff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4836 .{ .param_str = "ff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4972 .{ .param_str = "ff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4837 .{ .param_str = "ffff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4973 .{ .param_str = "ffff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4838 .{ .param_str = "ffff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4974 .{ .param_str = "ffff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4839 .{ .param_str = "ffffi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4975 .{ .param_str = "ffffi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4840 .{ .param_str = "ffff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4976 .{ .param_str = "ffff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4841 .{ .param_str = "ffff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4977 .{ .param_str = "ffff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4842 .{ .param_str = "fUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4978 .{ .param_str = "fUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4843 .{ .param_str = "fUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4979 .{ .param_str = "fUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4844 .{ .param_str = "fff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4980 .{ .param_str = "fff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4845 .{ .param_str = "fff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4981 .{ .param_str = "fff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4846 .{ .param_str = "fff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4982 .{ .param_str = "fff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4847 .{ .param_str = "fff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4983 .{ .param_str = "fff", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4848 .{ .param_str = "iv*IiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4984 .{ .param_str = "iv*IiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4849 .{ .param_str = "iv*ivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4985 .{ .param_str = "iv*ivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4850 .{ .param_str = "LLiv*IiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4986 .{ .param_str = "LLiv*IiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4851 .{ .param_str = "LLiv*ivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4987 .{ .param_str = "LLiv*ivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4852 .{ .param_str = "iv*IiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4988 .{ .param_str = "iv*IiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4853 .{ .param_str = "iv*ivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4989 .{ .param_str = "iv*ivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4854 .{ .param_str = "iv*IiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4990 .{ .param_str = "iv*IiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4855 .{ .param_str = "iv*ivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4991 .{ .param_str = "iv*ivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4856 .{ .param_str = "iv*IiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4992 .{ .param_str = "iv*IiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4857 .{ .param_str = "iv*ivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4993 .{ .param_str = "iv*ivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4858 .{ .param_str = "iv*IiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4994 .{ .param_str = "iv*IiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4859 .{ .param_str = "iv*ivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4995 .{ .param_str = "iv*ivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4860 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4996 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4861 .{ .param_str = "iiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4997 .{ .param_str = "iiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4862 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4998 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4863 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },4999 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4864 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5000 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4865 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5001 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4866 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5002 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4867 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5003 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4868 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5004 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4869 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5005 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4870 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5006 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4871 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5007 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4872 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5008 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4873 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5009 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4874 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5010 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4875 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5011 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4876 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5012 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4877 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5013 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4878 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5014 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4879 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5015 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4880 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5016 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4881 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5017 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4882 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5018 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4883 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5019 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4884 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5020 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4885 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5021 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4886 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5022 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4887 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5023 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4888 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5024 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4889 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5025 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4890 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5026 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4891 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5027 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4892 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5028 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4893 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5029 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4894 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5030 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4895 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5031 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4896 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5032 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4897 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5033 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4898 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5034 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4899 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5035 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4900 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5036 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4901 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5037 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4902 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5038 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4903 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5039 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4904 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5040 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4905 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5041 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4906 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5042 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4907 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5043 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4908 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5044 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4909 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5045 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4910 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5046 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4911 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5047 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4912 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5048 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4913 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5049 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4914 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5050 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4915 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5051 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4916 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5052 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4917 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5053 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4918 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5054 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4919 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5055 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4920 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5056 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4921 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5057 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4922 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5058 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4923 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5059 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4924 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5060 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4925 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5061 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4926 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5062 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4927 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5063 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4928 .{ .param_str = "iiii", .features = "v66|v67|v68|v69|v71|v73|v75|v79" },5064 .{ .param_str = "iiii", .features = "v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4929 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5065 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4930 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5066 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4931 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5067 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4932 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5068 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4933 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5069 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4934 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5070 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4935 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5071 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4936 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5072 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4937 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5073 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4938 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5074 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4939 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5075 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4940 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5076 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4941 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5077 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4942 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5078 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4943 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5079 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4944 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5080 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4945 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5081 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4946 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5082 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4947 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5083 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4948 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5084 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4949 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5085 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4950 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5086 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4951 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5087 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4952 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5088 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4953 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5089 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4954 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5090 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4955 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5091 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4956 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5092 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4957 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5093 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4958 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5094 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4959 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5095 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4960 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5096 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4961 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5097 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4962 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5098 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4963 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5099 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4964 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5100 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4965 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5101 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4966 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5102 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4967 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5103 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4968 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5104 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4969 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5105 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4970 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5106 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4971 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5107 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4972 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5108 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4973 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5109 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4974 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5110 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4975 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5111 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4976 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5112 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4977 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5113 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4978 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5114 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4979 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5115 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4980 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5116 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4981 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5117 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4982 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5118 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4983 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5119 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4984 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5120 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4985 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5121 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4986 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5122 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4987 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5123 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4988 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5124 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4989 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5125 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4990 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5126 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4991 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5127 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4992 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5128 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4993 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5129 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4994 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5130 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4995 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5131 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4996 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5132 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4997 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5133 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4998 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5134 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
4999 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5135 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5000 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5136 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5001 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5137 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5002 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5138 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5003 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5139 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5004 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5140 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5005 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5141 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5006 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5142 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5007 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5143 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5008 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5144 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5009 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5145 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5010 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5146 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5011 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5147 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5012 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5148 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5013 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5149 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5014 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5150 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5015 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5151 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5016 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5152 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5017 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5153 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5018 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5154 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5019 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5155 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5020 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5156 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5021 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5157 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5022 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5158 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5023 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5159 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5024 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5160 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5025 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5161 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5026 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5162 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5027 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5163 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5028 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5164 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5029 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5165 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5030 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5166 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5031 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5167 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5032 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5168 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5033 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5169 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5034 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5170 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5035 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5171 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5036 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5172 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5037 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5173 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5038 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5174 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5039 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5175 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5040 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5176 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5041 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5177 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5042 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5178 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5043 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5179 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5044 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5180 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5045 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5181 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5046 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5182 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5047 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5183 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5048 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5184 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5049 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5185 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5050 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5186 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5051 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5187 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5052 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5188 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5053 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5189 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5054 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5190 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5055 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5191 .{ .param_str = "Uiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5056 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5192 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5057 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5193 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5058 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5194 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5059 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5195 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5060 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5196 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5061 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5197 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5062 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5198 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5063 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5199 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5064 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5200 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5065 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5201 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5066 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5202 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5067 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5203 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5068 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5204 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5069 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5205 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5070 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5206 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5071 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5207 .{ .param_str = "ULLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5072 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5208 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5073 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5209 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5074 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5210 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5075 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5211 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5076 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5212 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5077 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5213 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5078 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5214 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5079 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5215 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5080 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5216 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5081 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5217 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5082 .{ .param_str = "iiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5218 .{ .param_str = "iiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5083 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5219 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5084 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5220 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5085 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5221 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5086 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5222 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5087 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5223 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5088 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5224 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5089 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5225 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5090 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5226 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5091 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5227 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5092 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5228 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5093 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5229 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5094 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5230 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5095 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5231 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5096 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5232 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5097 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5233 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5098 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5234 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5099 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5235 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5100 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5236 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5101 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5237 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5102 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5238 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5103 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5239 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5104 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5240 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5105 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5241 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5106 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5242 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5107 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5243 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5108 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5244 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5109 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5245 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5110 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5246 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5111 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5247 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5112 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5248 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5113 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5249 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5114 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5250 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5115 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5251 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5116 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5252 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5117 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5253 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5118 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5254 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5119 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5255 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5120 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5256 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5121 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5257 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5122 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5258 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5123 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5259 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5124 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5260 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5125 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5261 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5126 .{ .param_str = "iLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5262 .{ .param_str = "iLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5127 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5263 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5128 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5264 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5129 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5265 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5130 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5266 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5131 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5267 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5132 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5268 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5133 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5269 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5134 .{ .param_str = "iLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5270 .{ .param_str = "iLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5135 .{ .param_str = "iLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5271 .{ .param_str = "iLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5136 .{ .param_str = "iLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5272 .{ .param_str = "iLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5137 .{ .param_str = "iLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5273 .{ .param_str = "iLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5138 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5274 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5139 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5275 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5140 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5276 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5141 .{ .param_str = "iiUIii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5277 .{ .param_str = "iiUIii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5142 .{ .param_str = "iUIiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5278 .{ .param_str = "iUIiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5143 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5279 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5144 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5280 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5145 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5281 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5146 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5282 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5147 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5283 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5148 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5284 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5149 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5285 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5150 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5286 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5151 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5287 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5152 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5288 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5153 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5289 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5154 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5290 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5155 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5291 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5156 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5292 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5157 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5293 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5158 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5294 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5159 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5295 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5160 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5296 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5161 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5297 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5162 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5298 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5163 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5299 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5164 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5300 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5165 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5301 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5166 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5302 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5167 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5303 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5168 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5304 .{ .param_str = "LLiLLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5169 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5305 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5170 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5306 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5171 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5307 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5172 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5308 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5173 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5309 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5174 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5310 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5175 .{ .param_str = "LLiLLiLLi", .features = "v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5311 .{ .param_str = "LLiLLiLLi", .features = "v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5176 .{ .param_str = "LLiLLiLLi", .features = "v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5312 .{ .param_str = "LLiLLiLLi", .features = "v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5177 .{ .param_str = "LLiLLiLLi", .features = "audio" },5313 .{ .param_str = "LLiLLiLLi", .features = "audio" },
5178 .{ .param_str = "LLiLLiLLiLLi", .features = "audio" },5314 .{ .param_str = "LLiLLiLLiLLi", .features = "audio" },
5179 .{ .param_str = "LLiLLiLLi", .features = "audio" },5315 .{ .param_str = "LLiLLiLLi", .features = "audio" },
...@@ -5182,8 +5318,8 @@ pub const data = blk: {...@@ -5182,8 +5318,8 @@ pub const data = blk: {
5182 .{ .param_str = "LLiLLiLLiLLi", .features = "audio" },5318 .{ .param_str = "LLiLLiLLiLLi", .features = "audio" },
5183 .{ .param_str = "LLiLLiLLi", .features = "audio" },5319 .{ .param_str = "LLiLLiLLi", .features = "audio" },
5184 .{ .param_str = "LLiLLiLLiLLi", .features = "audio" },5320 .{ .param_str = "LLiLLiLLiLLi", .features = "audio" },
5185 .{ .param_str = "LLiLLiLLi", .features = "v67|v68|v69|v71|v73|v75|v79" },5321 .{ .param_str = "LLiLLiLLi", .features = "v67|v68|v69|v71|v73|v75|v79|v81" },
5186 .{ .param_str = "LLiLLiLLiLLi", .features = "v67|v68|v69|v71|v73|v75|v79" },5322 .{ .param_str = "LLiLLiLLiLLi", .features = "v67|v68|v69|v71|v73|v75|v79|v81" },
5187 .{ .param_str = "iLLiLLi", .features = "audio" },5323 .{ .param_str = "iLLiLLi", .features = "audio" },
5188 .{ .param_str = "iLLiLLi", .features = "audio" },5324 .{ .param_str = "iLLiLLi", .features = "audio" },
5189 .{ .param_str = "iLLiLLi", .features = "audio" },5325 .{ .param_str = "iLLiLLi", .features = "audio" },
...@@ -5192,1308 +5328,1370 @@ pub const data = blk: {...@@ -5192,1308 +5328,1370 @@ pub const data = blk: {
5192 .{ .param_str = "iLLiLLi", .features = "audio" },5328 .{ .param_str = "iLLiLLi", .features = "audio" },
5193 .{ .param_str = "iLLiLLi", .features = "audio" },5329 .{ .param_str = "iLLiLLi", .features = "audio" },
5194 .{ .param_str = "iLLiLLi", .features = "audio" },5330 .{ .param_str = "iLLiLLi", .features = "audio" },
5195 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5331 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5196 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5332 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5197 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5333 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5198 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5334 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5199 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5335 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5200 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5336 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5201 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5337 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5202 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5338 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5203 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5339 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5204 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5340 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5205 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5341 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5206 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5342 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5207 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5343 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5208 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5344 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5209 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5345 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5210 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5346 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5211 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5347 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5212 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5348 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5213 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5349 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5214 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5350 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5215 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5351 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5216 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5352 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5217 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5353 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5218 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5354 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5219 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5355 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5220 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5356 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5221 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5357 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5222 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5358 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5223 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5359 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5224 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5360 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5225 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5361 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5226 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5362 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5227 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5363 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5228 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5364 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5229 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5365 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5230 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5366 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5231 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5367 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5232 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5368 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5233 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5369 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5234 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5370 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5235 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5371 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5236 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5372 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5237 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5373 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5238 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5374 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5239 .{ .param_str = "iLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5375 .{ .param_str = "iLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5240 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5376 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5241 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5377 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5242 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5378 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5243 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5379 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5244 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5380 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5245 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5381 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5246 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5382 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5247 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5383 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5248 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5384 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5249 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5385 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5250 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5386 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5251 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5387 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5252 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5388 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5253 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5389 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5254 .{ .param_str = "iLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5390 .{ .param_str = "iLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5255 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5391 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5256 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5392 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5257 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5393 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5258 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5394 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5259 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5395 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5260 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5396 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5261 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5397 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5262 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5398 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5263 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5399 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5264 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5400 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5265 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5401 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5266 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5402 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5267 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5403 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5268 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5404 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5269 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5405 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5270 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5406 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5271 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5407 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5272 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5408 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5273 .{ .param_str = "iiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5409 .{ .param_str = "iiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5274 .{ .param_str = "iiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5410 .{ .param_str = "iiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5275 .{ .param_str = "LLiLLiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5411 .{ .param_str = "LLiLLiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5276 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5412 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5277 .{ .param_str = "iiiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5413 .{ .param_str = "iiiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5278 .{ .param_str = "iiiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5414 .{ .param_str = "iiiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5279 .{ .param_str = "LLiLLiLLiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5415 .{ .param_str = "LLiLLiLLiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5280 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5416 .{ .param_str = "LLiLLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5281 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5417 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5282 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5418 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5283 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5419 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5284 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5420 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5285 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5421 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5286 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5422 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5287 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5423 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5288 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5424 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5289 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5425 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5290 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5426 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5291 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5427 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5292 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5428 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5293 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5429 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5294 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5430 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5295 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5431 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5296 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5432 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5297 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5433 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5298 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5434 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5299 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5435 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5300 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5436 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5301 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5437 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5302 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5438 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5303 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5439 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5304 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5440 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5305 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5441 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5306 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5442 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5307 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5443 .{ .param_str = "iiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5308 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5444 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5309 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5445 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5310 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5446 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5311 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5447 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5312 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5448 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5313 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5449 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5314 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5450 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5315 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5451 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5316 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5452 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5317 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5453 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5318 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5454 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5319 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5455 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5320 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5456 .{ .param_str = "iiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5321 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5457 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5322 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5458 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5323 .{ .param_str = "iUIiUIi", .features = "v66|v67|v68|v69|v71|v73|v75|v79" },5459 .{ .param_str = "iUIiUIi", .features = "v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5324 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5460 .{ .param_str = "LLiii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5325 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5461 .{ .param_str = "iLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5326 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5462 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5327 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5463 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5328 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5464 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5329 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5465 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5330 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5466 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5331 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5467 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5332 .{ .param_str = "vv*IiiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5468 .{ .param_str = "vv*IiiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5333 .{ .param_str = "vv*iivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5469 .{ .param_str = "vv*iivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5334 .{ .param_str = "vv*IiiLLivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5470 .{ .param_str = "vv*IiiLLivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5335 .{ .param_str = "vv*iLLivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5471 .{ .param_str = "vv*iLLivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5336 .{ .param_str = "vv*IiiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5472 .{ .param_str = "vv*IiiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5337 .{ .param_str = "vv*iivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5473 .{ .param_str = "vv*iivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5338 .{ .param_str = "vv*IiiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5474 .{ .param_str = "vv*IiiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5339 .{ .param_str = "vv*iivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5475 .{ .param_str = "vv*iivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5340 .{ .param_str = "vv*IiiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5476 .{ .param_str = "vv*IiiivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5341 .{ .param_str = "vv*iivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5477 .{ .param_str = "vv*iivC*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5342 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5478 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5343 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5479 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5344 .{ .param_str = "iiiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5480 .{ .param_str = "iiiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5345 .{ .param_str = "iiiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5481 .{ .param_str = "iiiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5346 .{ .param_str = "iiiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5482 .{ .param_str = "iiiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5347 .{ .param_str = "iiiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5483 .{ .param_str = "iiiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5348 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5484 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5349 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5485 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5350 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5486 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5351 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5487 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5352 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5488 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5353 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5489 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5354 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5490 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5355 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5491 .{ .param_str = "LLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5356 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5492 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5357 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5493 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5358 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5494 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5359 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5495 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5360 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5496 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5361 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5497 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5362 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5498 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5363 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5499 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5364 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5500 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5365 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5501 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5366 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5502 .{ .param_str = "LLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5367 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5503 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5368 .{ .param_str = "LLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5504 .{ .param_str = "LLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5369 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5505 .{ .param_str = "LLiLLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5370 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5506 .{ .param_str = "LLiLLiLLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5371 .{ .param_str = "LLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5507 .{ .param_str = "LLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5372 .{ .param_str = "LLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5508 .{ .param_str = "LLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5373 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5509 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5374 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5510 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5375 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5511 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5376 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5512 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5377 .{ .param_str = "LLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5513 .{ .param_str = "LLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5378 .{ .param_str = "LLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5514 .{ .param_str = "LLii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5379 .{ .param_str = "iiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5515 .{ .param_str = "iiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5380 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5516 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5381 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5517 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5382 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5518 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5383 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5519 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5384 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5520 .{ .param_str = "iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5385 .{ .param_str = "iLLiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5521 .{ .param_str = "iLLiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5386 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5522 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5387 .{ .param_str = "iiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5523 .{ .param_str = "iiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5388 .{ .param_str = "iiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5524 .{ .param_str = "iiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5389 .{ .param_str = "LLiLLiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5525 .{ .param_str = "LLiLLiUIiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5390 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5526 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5391 .{ .param_str = "iIii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5527 .{ .param_str = "iIii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5392 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5528 .{ .param_str = "iiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5393 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5529 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5394 .{ .param_str = "iiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5530 .{ .param_str = "iiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5395 .{ .param_str = "iiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5531 .{ .param_str = "iiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5396 .{ .param_str = "iiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5532 .{ .param_str = "iiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5397 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5533 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5398 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5534 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5399 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5535 .{ .param_str = "iii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5400 .{ .param_str = "iiIii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5536 .{ .param_str = "iiIii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5401 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5537 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5402 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5538 .{ .param_str = "iUIiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5403 .{ .param_str = "LLiLLiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5539 .{ .param_str = "LLiLLiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5404 .{ .param_str = "LLiLLiLLiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5540 .{ .param_str = "LLiLLiLLiiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5405 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5541 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5406 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5542 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5407 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5543 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5408 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5544 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5409 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5545 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5410 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5546 .{ .param_str = "LLiLLiLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5411 .{ .param_str = "iLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5547 .{ .param_str = "iLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5412 .{ .param_str = "iLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5548 .{ .param_str = "iLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5413 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5549 .{ .param_str = "iLLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5414 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5550 .{ .param_str = "LLiLLiUIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5415 .{ .param_str = "LLiLLiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5551 .{ .param_str = "LLiLLiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5416 .{ .param_str = "LLiLLiLLiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5552 .{ .param_str = "LLiLLiLLiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5417 .{ .param_str = "LLiLLiLLiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5553 .{ .param_str = "LLiLLiLLiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5418 .{ .param_str = "LLiLLiLLiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5554 .{ .param_str = "LLiLLiLLiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5419 .{ .param_str = "LLiLLiLLiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5555 .{ .param_str = "LLiLLiLLiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5420 .{ .param_str = "LLiLLiLLiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5556 .{ .param_str = "LLiLLiLLiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5421 .{ .param_str = "iiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5557 .{ .param_str = "iiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5422 .{ .param_str = "iiiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5558 .{ .param_str = "iiiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5423 .{ .param_str = "iiiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5559 .{ .param_str = "iiiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5424 .{ .param_str = "iiiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5560 .{ .param_str = "iiiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5425 .{ .param_str = "iiiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5561 .{ .param_str = "iiiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5426 .{ .param_str = "iiiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5562 .{ .param_str = "iiiUIi", .features = "v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5427 .{ .param_str = "LLii", .features = "v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5563 .{ .param_str = "LLii", .features = "v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5428 .{ .param_str = "LLiLLiLLi", .features = "v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5564 .{ .param_str = "LLiLLiLLi", .features = "v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5429 .{ .param_str = "LLiLLiLLi", .features = "v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },5565 .{ .param_str = "LLiLLiLLi", .features = "v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
5430 .{ .param_str = "iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5566 .{ .param_str = "iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5431 .{ .param_str = "iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5567 .{ .param_str = "iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5432 .{ .param_str = "V16iV16ii", .features = "hvxv79" },5568 .{ .param_str = "V16iV16ii", .features = "hvxv79|hvxv81" },
5433 .{ .param_str = "V32iV32ii", .features = "hvxv79" },5569 .{ .param_str = "V32iV32ii", .features = "hvxv79|hvxv81" },
5434 .{ .param_str = "V16iV16iV16ii", .features = "hvxv79" },5570 .{ .param_str = "V16iV16iV16ii", .features = "hvxv79|hvxv81" },
5435 .{ .param_str = "V32iV32iV32ii", .features = "hvxv79" },5571 .{ .param_str = "V32iV32iV32ii", .features = "hvxv79|hvxv81" },
5436 .{ .param_str = "V16iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5572 .{ .param_str = "V16iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5437 .{ .param_str = "V32iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5573 .{ .param_str = "V32iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5438 .{ .param_str = "V16iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5574 .{ .param_str = "V16iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5439 .{ .param_str = "V32iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5575 .{ .param_str = "V32iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5440 .{ .param_str = "V16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5576 .{ .param_str = "V16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5441 .{ .param_str = "V32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5577 .{ .param_str = "V32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5442 .{ .param_str = "V16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5578 .{ .param_str = "V16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5443 .{ .param_str = "V32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5579 .{ .param_str = "V32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5444 .{ .param_str = "V16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5580 .{ .param_str = "V16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5445 .{ .param_str = "V32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5581 .{ .param_str = "V32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5446 .{ .param_str = "V64bV64bV64b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5582 .{ .param_str = "V64bV64bV64b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5447 .{ .param_str = "V128bV128bV128b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5583 .{ .param_str = "V128bV128bV128b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5448 .{ .param_str = "V64bV64bV64b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5584 .{ .param_str = "V64bV64bV64b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5449 .{ .param_str = "V128bV128bV128b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5585 .{ .param_str = "V128bV128bV128b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5450 .{ .param_str = "V64bV64b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5586 .{ .param_str = "V64bV64b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5451 .{ .param_str = "V128bV128b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5587 .{ .param_str = "V128bV128b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5452 .{ .param_str = "V64bV64bV64b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5588 .{ .param_str = "V64bV64bV64b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5453 .{ .param_str = "V128bV128bV128b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5589 .{ .param_str = "V128bV128bV128b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5454 .{ .param_str = "V64bV64bV64b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5590 .{ .param_str = "V64bV64bV64b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5455 .{ .param_str = "V128bV128bV128b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5591 .{ .param_str = "V128bV128bV128b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5456 .{ .param_str = "V64bi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5592 .{ .param_str = "V64bi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5457 .{ .param_str = "V128bi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5593 .{ .param_str = "V128bi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5458 .{ .param_str = "V64bi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5594 .{ .param_str = "V64bi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5459 .{ .param_str = "V128bi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5595 .{ .param_str = "V128bi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5460 .{ .param_str = "V64bV64bV64b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5596 .{ .param_str = "V64bV64bV64b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5461 .{ .param_str = "V128bV128bV128b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5597 .{ .param_str = "V128bV128bV128b", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5462 .{ .param_str = "V16iV16ii", .features = "hvxv79" },5598 .{ .param_str = "V16iV16ii", .features = "hvxv79|hvxv81" },
5463 .{ .param_str = "V32iV32ii", .features = "hvxv79" },5599 .{ .param_str = "V32iV32ii", .features = "hvxv79|hvxv81" },
5464 .{ .param_str = "V64bV64bV64b", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5600 .{ .param_str = "V64bV64bV64b", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5465 .{ .param_str = "V128bV128bV128b", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5601 .{ .param_str = "V128bV128bV128b", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5466 .{ .param_str = "V64bV64bV64b", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5602 .{ .param_str = "V64bV64bV64b", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5467 .{ .param_str = "V128bV128bV128b", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5603 .{ .param_str = "V128bV128bV128b", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5468 .{ .param_str = "V32iV32iV32iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5604 .{ .param_str = "V32iV32iV32iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5469 .{ .param_str = "V64iV64iV64iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5605 .{ .param_str = "V64iV64iV64iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5470 .{ .param_str = "V32iV32iV32iV32iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5606 .{ .param_str = "V32iV32iV32iV32iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5471 .{ .param_str = "V64iV64iV64iV64iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5607 .{ .param_str = "V64iV64iV64iV64iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5472 .{ .param_str = "V32iV32iV32iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5608 .{ .param_str = "V32iV32iV32iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5473 .{ .param_str = "V64iV64iV64iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5609 .{ .param_str = "V64iV64iV64iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5474 .{ .param_str = "V32iV32iV32iV32iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5610 .{ .param_str = "V32iV32iV32iV32iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5475 .{ .param_str = "V64iV64iV64iV64iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5611 .{ .param_str = "V64iV64iV64iV64iUIi", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5476 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5612 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5477 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5613 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5478 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5614 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5479 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5615 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5480 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5616 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5481 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5617 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5482 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5618 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5483 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5619 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5484 .{ .param_str = "V16iV16i", .features = "hvxv79" },5620 .{ .param_str = "V16iV16i", .features = "hvxv79|hvxv81" },
5485 .{ .param_str = "V32iV32i", .features = "hvxv79" },5621 .{ .param_str = "V32iV32i", .features = "hvxv79|hvxv81" },
5486 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5622 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5487 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5623 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5488 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5624 .{ .param_str = "V16iV16i", .features = "hvxv81" },
5489 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5625 .{ .param_str = "V32iV32i", .features = "hvxv81" },
5490 .{ .param_str = "V16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5626 .{ .param_str = "V16iV16i", .features = "hvxv81" },
5491 .{ .param_str = "V32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5627 .{ .param_str = "V32iV32i", .features = "hvxv81" },
5492 .{ .param_str = "V16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5628 .{ .param_str = "V16iV16i", .features = "hvxv81" },
5493 .{ .param_str = "V32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5629 .{ .param_str = "V32iV32i", .features = "hvxv81" },
5494 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5630 .{ .param_str = "V16iV16i", .features = "hvxv81" },
5495 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5631 .{ .param_str = "V32iV32i", .features = "hvxv81" },
5496 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5632 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5497 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5633 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5498 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5634 .{ .param_str = "V16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5499 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5635 .{ .param_str = "V32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5500 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5636 .{ .param_str = "V16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5501 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5637 .{ .param_str = "V32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5502 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5638 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5503 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5639 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5504 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5640 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5505 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5641 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5506 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5642 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5507 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5643 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5508 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5644 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5509 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5645 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5510 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5646 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5511 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5647 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5512 .{ .param_str = "V32iV16iV16i", .features = "hvxv79" },5648 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5513 .{ .param_str = "V64iV32iV32i", .features = "hvxv79" },5649 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5514 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5650 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5515 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5651 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5516 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5652 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5517 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5653 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5518 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5654 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5519 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5655 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5520 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5656 .{ .param_str = "V32iV16iV16i", .features = "hvxv79|hvxv81" },
5521 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5657 .{ .param_str = "V64iV32iV32i", .features = "hvxv79|hvxv81" },
5522 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5658 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5523 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5659 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5524 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5660 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5525 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5661 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5526 .{ .param_str = "V32iV16iV16i", .features = "hvxv73|hvxv75|hvxv79" },5662 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5527 .{ .param_str = "V64iV32iV32i", .features = "hvxv73|hvxv75|hvxv79" },5663 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5528 .{ .param_str = "V32iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5664 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5529 .{ .param_str = "V64iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5665 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5530 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5666 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5531 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5667 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5532 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5668 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5533 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5669 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5534 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5670 .{ .param_str = "V32iV16iV16i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5535 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5671 .{ .param_str = "V64iV32iV32i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5536 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5672 .{ .param_str = "V32iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5537 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5673 .{ .param_str = "V64iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5538 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5674 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5539 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5675 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5540 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5676 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5541 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5677 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5542 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5678 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5543 .{ .param_str = "V64iV64iV64i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5679 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5544 .{ .param_str = "V16iV16iV16iv*", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5680 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5545 .{ .param_str = "V32iV32iV32iv*", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5681 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5546 .{ .param_str = "V16iV16iV16iv*", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5682 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5547 .{ .param_str = "V32iV32iV32iv*", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5683 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5548 .{ .param_str = "V16iV16iV16iV64b", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5684 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5549 .{ .param_str = "V32iV32iV32iV128b", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5685 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5550 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5686 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5551 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5687 .{ .param_str = "V64iV64iV64i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5552 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5688 .{ .param_str = "V16iV16iV16iv*", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5553 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5689 .{ .param_str = "V32iV32iV32iv*", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5554 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5690 .{ .param_str = "V16iV16iV16iv*", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5555 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5691 .{ .param_str = "V32iV32iV32iv*", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5556 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5692 .{ .param_str = "V16iV16iV16iV64b", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5557 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5693 .{ .param_str = "V32iV32iV32iV128b", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5558 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5694 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5559 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5695 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5560 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5696 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5561 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5697 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5562 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5698 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5563 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5699 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5564 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5700 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5565 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5701 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5566 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5702 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5567 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5703 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5568 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5704 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5569 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5705 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5570 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5706 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5571 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5707 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5572 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5708 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5573 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5709 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5574 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5710 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5575 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5711 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5576 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5712 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5577 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5713 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5578 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5714 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5579 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5715 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5580 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5716 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5581 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5717 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5582 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5718 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5583 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5719 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5584 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5720 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5585 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5721 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5586 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5722 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5587 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5723 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5588 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5724 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5589 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5725 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5590 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5726 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5591 .{ .param_str = "V64iV64iV64i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5727 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5592 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5728 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5593 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5729 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5594 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5730 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5595 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5731 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5596 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5732 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5597 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5733 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5598 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5734 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5599 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5735 .{ .param_str = "V64iV64iV64i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5600 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5736 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5601 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5737 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5602 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5738 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5603 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5739 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5604 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5740 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5605 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5741 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5606 .{ .param_str = "V16iV16iV16iUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5742 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5607 .{ .param_str = "V32iV32iV32iUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5743 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5608 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5744 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5609 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5745 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5610 .{ .param_str = "V16iV64bi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5746 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5611 .{ .param_str = "V32iV128bi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5747 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5612 .{ .param_str = "V16iV16iV64bi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5748 .{ .param_str = "V16iV16iV16ii", .features = "hvxv81" },
5613 .{ .param_str = "V32iV32iV128bi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5749 .{ .param_str = "V32iV32iV32ii", .features = "hvxv81" },
5614 .{ .param_str = "V16iV64bi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5750 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5615 .{ .param_str = "V32iV128bi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5751 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5616 .{ .param_str = "V16iV16iV64bi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5752 .{ .param_str = "V16iV16iV16iUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5617 .{ .param_str = "V32iV32iV128bi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5753 .{ .param_str = "V32iV32iV32iUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5618 .{ .param_str = "V16iV64bV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5754 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5619 .{ .param_str = "V32iV128bV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5755 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5620 .{ .param_str = "V16iV64bV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5756 .{ .param_str = "V16iV64bi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5621 .{ .param_str = "V32iV128bV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5757 .{ .param_str = "V32iV128bi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5622 .{ .param_str = "V64bV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5758 .{ .param_str = "V16iV16iV64bi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5623 .{ .param_str = "V128bV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5759 .{ .param_str = "V32iV32iV128bi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5624 .{ .param_str = "V64bV64bV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5760 .{ .param_str = "V16iV64bi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5625 .{ .param_str = "V128bV128bV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5761 .{ .param_str = "V32iV128bi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5626 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5762 .{ .param_str = "V16iV16iV64bi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5627 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5763 .{ .param_str = "V32iV32iV128bi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5628 .{ .param_str = "V16iV16iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5764 .{ .param_str = "V16iV64bV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5629 .{ .param_str = "V32iV32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5765 .{ .param_str = "V32iV128bV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5630 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5766 .{ .param_str = "V16iV64bV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5631 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5767 .{ .param_str = "V32iV128bV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5632 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5768 .{ .param_str = "V64bV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5633 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5769 .{ .param_str = "V128bV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5634 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5770 .{ .param_str = "V64bV64bV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5635 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5771 .{ .param_str = "V128bV128bV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5636 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5772 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5637 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5773 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5638 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5774 .{ .param_str = "V16iV16iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5639 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5775 .{ .param_str = "V32iV32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5640 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5776 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5641 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5777 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5642 .{ .param_str = "V16iV16iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5778 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5643 .{ .param_str = "V32iV32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5779 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5644 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5780 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5645 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5781 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5646 .{ .param_str = "V16iV16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5782 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5647 .{ .param_str = "V32iV32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5783 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5648 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5784 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5649 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5785 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5650 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5786 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5651 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5787 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5652 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5788 .{ .param_str = "V16iV16iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5653 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5789 .{ .param_str = "V32iV32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5654 .{ .param_str = "V16iV16iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5790 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5655 .{ .param_str = "V32iV32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5791 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5656 .{ .param_str = "V16iV16iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5792 .{ .param_str = "V16iV16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5657 .{ .param_str = "V32iV32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5793 .{ .param_str = "V32iV32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5658 .{ .param_str = "V16iV16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5794 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5659 .{ .param_str = "V32iV32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5795 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5660 .{ .param_str = "V16iV16iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5796 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5661 .{ .param_str = "V32iV32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5797 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5662 .{ .param_str = "V16iV32iV16i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5798 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5663 .{ .param_str = "V32iV64iV32i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5799 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5664 .{ .param_str = "V16iV32iV16i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5800 .{ .param_str = "V16iV16iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5665 .{ .param_str = "V32iV64iV32i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5801 .{ .param_str = "V32iV32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5666 .{ .param_str = "V16iV32iV16i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5802 .{ .param_str = "V16iV16iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5667 .{ .param_str = "V32iV64iV32i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5803 .{ .param_str = "V32iV32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5668 .{ .param_str = "V16iV32iV16i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5804 .{ .param_str = "V16iV16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5669 .{ .param_str = "V32iV64iV32i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5805 .{ .param_str = "V32iV32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5670 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5806 .{ .param_str = "V16iV16iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5671 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5807 .{ .param_str = "V32iV32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5672 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5808 .{ .param_str = "V16iV32iV16i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5673 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5809 .{ .param_str = "V32iV64iV32i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5674 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5810 .{ .param_str = "V16iV32iV16i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5675 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5811 .{ .param_str = "V32iV64iV32i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5676 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5812 .{ .param_str = "V16iV32iV16i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5677 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5813 .{ .param_str = "V32iV64iV32i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5678 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5814 .{ .param_str = "V16iV32iV16i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5679 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5815 .{ .param_str = "V32iV64iV32i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5680 .{ .param_str = "V16iV16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5816 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5681 .{ .param_str = "V32iV32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5817 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5682 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5818 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5683 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5819 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5684 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5820 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5685 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5821 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5686 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5822 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5687 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5823 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5688 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5824 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5689 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5825 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5690 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5826 .{ .param_str = "V16iV16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5691 .{ .param_str = "V64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5827 .{ .param_str = "V32iV32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5692 .{ .param_str = "V16iV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5828 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5693 .{ .param_str = "V32iV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5829 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5694 .{ .param_str = "V16iV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5830 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5695 .{ .param_str = "V32iV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5831 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5696 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5832 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5697 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5833 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5698 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5834 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5699 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5835 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5700 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5836 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5701 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5837 .{ .param_str = "V64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5702 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5838 .{ .param_str = "V16iV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5703 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5839 .{ .param_str = "V32iV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5704 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5840 .{ .param_str = "V16iV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5705 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5841 .{ .param_str = "V32iV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5706 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5842 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5707 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5843 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5708 .{ .param_str = "V16iV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5844 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5709 .{ .param_str = "V32iV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5845 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5710 .{ .param_str = "V16iV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5846 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5711 .{ .param_str = "V32iV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5847 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5712 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5848 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5713 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5849 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5714 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5850 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5715 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5851 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5716 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5852 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5717 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5853 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5718 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5854 .{ .param_str = "V16iV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5719 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5855 .{ .param_str = "V32iV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5720 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5856 .{ .param_str = "V16iV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5721 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5857 .{ .param_str = "V32iV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5722 .{ .param_str = "V16iV16i", .features = "hvxv73|hvxv75|hvxv79" },5858 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5723 .{ .param_str = "V32iV32i", .features = "hvxv73|hvxv75|hvxv79" },5859 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5724 .{ .param_str = "V16iV16i", .features = "hvxv73|hvxv75|hvxv79" },5860 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5725 .{ .param_str = "V32iV32i", .features = "hvxv73|hvxv75|hvxv79" },5861 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5726 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5862 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5727 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5863 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5728 .{ .param_str = "V16iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5864 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5729 .{ .param_str = "V32iV64i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5865 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5730 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5866 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5731 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5867 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5732 .{ .param_str = "V16iV16i", .features = "hvxv73|hvxv75|hvxv79" },5868 .{ .param_str = "V16iV32i", .features = "hvxv81" },
5733 .{ .param_str = "V32iV32i", .features = "hvxv73|hvxv75|hvxv79" },5869 .{ .param_str = "V32iV64i", .features = "hvxv81" },
5734 .{ .param_str = "V16iV16i", .features = "hvxv73|hvxv75|hvxv79" },5870 .{ .param_str = "V16iV16i", .features = "hvxv81" },
5735 .{ .param_str = "V32iV32i", .features = "hvxv73|hvxv75|hvxv79" },5871 .{ .param_str = "V32iV32i", .features = "hvxv81" },
5736 .{ .param_str = "V16iV16iV16i", .features = "hvxv79" },5872 .{ .param_str = "V16iV16i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5737 .{ .param_str = "V32iV32iV32i", .features = "hvxv79" },5873 .{ .param_str = "V32iV32i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5738 .{ .param_str = "V32iV16i", .features = "hvxv79" },5874 .{ .param_str = "V16iV16i", .features = "hvxv81" },
5739 .{ .param_str = "V64iV32i", .features = "hvxv79" },5875 .{ .param_str = "V32iV32i", .features = "hvxv81" },
5740 .{ .param_str = "V32iV16i", .features = "hvxv79" },5876 .{ .param_str = "V16iV16i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5741 .{ .param_str = "V64iV32i", .features = "hvxv79" },5877 .{ .param_str = "V32iV32i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5742 .{ .param_str = "V16iV16iV16i", .features = "hvxv79" },5878 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5743 .{ .param_str = "V32iV32iV32i", .features = "hvxv79" },5879 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5744 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5880 .{ .param_str = "V16iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5745 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5881 .{ .param_str = "V32iV64i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5746 .{ .param_str = "V16iV16iV16i", .features = "hvxv73|hvxv75|hvxv79" },5882 .{ .param_str = "V32iV16i", .features = "hvxv81" },
5747 .{ .param_str = "V32iV32iV32i", .features = "hvxv73|hvxv75|hvxv79" },5883 .{ .param_str = "V64iV32i", .features = "hvxv81" },
5748 .{ .param_str = "V16iV16iV16i", .features = "hvxv79" },5884 .{ .param_str = "V16iV16i", .features = "hvxv81" },
5749 .{ .param_str = "V32iV32iV32i", .features = "hvxv79" },5885 .{ .param_str = "V32iV32i", .features = "hvxv81" },
5750 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5886 .{ .param_str = "V16iV16i", .features = "hvxv81" },
5751 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5887 .{ .param_str = "V32iV32i", .features = "hvxv81" },
5752 .{ .param_str = "V32iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5888 .{ .param_str = "V16iV16i", .features = "hvxv81" },
5753 .{ .param_str = "V64iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5889 .{ .param_str = "V32iV32i", .features = "hvxv81" },
5754 .{ .param_str = "V32iV16i", .features = "hvxv79" },5890 .{ .param_str = "V16iV16i", .features = "hvxv81" },
5755 .{ .param_str = "V64iV32i", .features = "hvxv79" },5891 .{ .param_str = "V32iV32i", .features = "hvxv81" },
5756 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5892 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5757 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5893 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5758 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5894 .{ .param_str = "V16iV16i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5759 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5895 .{ .param_str = "V32iV32i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5760 .{ .param_str = "V32iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5896 .{ .param_str = "V16iV16i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5761 .{ .param_str = "V64iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5897 .{ .param_str = "V32iV32i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5762 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5898 .{ .param_str = "V16iV16iV16i", .features = "hvxv79|hvxv81" },
5763 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5899 .{ .param_str = "V32iV32iV32i", .features = "hvxv79|hvxv81" },
5764 .{ .param_str = "V32iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5900 .{ .param_str = "V32iV16i", .features = "hvxv79|hvxv81" },
5765 .{ .param_str = "V64iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5901 .{ .param_str = "V64iV32i", .features = "hvxv79|hvxv81" },
5766 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5902 .{ .param_str = "V32iV16i", .features = "hvxv79|hvxv81" },
5767 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5903 .{ .param_str = "V64iV32i", .features = "hvxv79|hvxv81" },
5768 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5904 .{ .param_str = "V16iV16iV16i", .features = "hvxv79|hvxv81" },
5769 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5905 .{ .param_str = "V32iV32iV32i", .features = "hvxv79|hvxv81" },
5770 .{ .param_str = "V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5906 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5771 .{ .param_str = "V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5907 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5772 .{ .param_str = "V32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5908 .{ .param_str = "V16iV16iV16i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5773 .{ .param_str = "V64i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5909 .{ .param_str = "V32iV32iV32i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5774 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5910 .{ .param_str = "V16iV16iV16i", .features = "hvxv79|hvxv81" },
5775 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5911 .{ .param_str = "V32iV32iV32i", .features = "hvxv79|hvxv81" },
5776 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5912 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5777 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5913 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5778 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5914 .{ .param_str = "V32iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5779 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5915 .{ .param_str = "V64iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5780 .{ .param_str = "V32iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5916 .{ .param_str = "V32iV16i", .features = "hvxv79|hvxv81" },
5781 .{ .param_str = "V64iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5917 .{ .param_str = "V64iV32i", .features = "hvxv79|hvxv81" },
5782 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5918 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5783 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5919 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5784 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5920 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5785 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5921 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5786 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5922 .{ .param_str = "V32iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5787 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5923 .{ .param_str = "V64iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5788 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5924 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5789 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5925 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5790 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5926 .{ .param_str = "V32iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5791 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5927 .{ .param_str = "V64iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5792 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5928 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5793 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5929 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5794 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5930 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5795 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5931 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5796 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5932 .{ .param_str = "V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5797 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5933 .{ .param_str = "V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5798 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5934 .{ .param_str = "V32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5799 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5935 .{ .param_str = "V64i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5800 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5936 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5801 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5937 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5802 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5938 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5803 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5939 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5804 .{ .param_str = "V16iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5940 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5805 .{ .param_str = "V32iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5941 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5806 .{ .param_str = "V16iV16iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5942 .{ .param_str = "V32iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5807 .{ .param_str = "V32iV32iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5943 .{ .param_str = "V64iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5808 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5944 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5809 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5945 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5810 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5946 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5811 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5947 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5812 .{ .param_str = "V16iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5948 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5813 .{ .param_str = "V32iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5949 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5814 .{ .param_str = "V16iV16iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5950 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5815 .{ .param_str = "V32iV32iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5951 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5816 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5952 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5817 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5953 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5818 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5954 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5819 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5955 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5820 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5956 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5821 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5957 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5822 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5958 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5823 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5959 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5824 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5960 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5825 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5961 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5826 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5962 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5827 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5963 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5828 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5964 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5829 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5965 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5830 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5966 .{ .param_str = "V16iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5831 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5967 .{ .param_str = "V32iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5832 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5968 .{ .param_str = "V16iV16iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5833 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5969 .{ .param_str = "V32iV32iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5834 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5970 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5835 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5971 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5836 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5972 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5837 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5973 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5838 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5974 .{ .param_str = "V16iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5839 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5975 .{ .param_str = "V32iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5840 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5976 .{ .param_str = "V16iV16iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5841 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5977 .{ .param_str = "V32iV32iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5842 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5978 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5843 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5979 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5844 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5980 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5845 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5981 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5846 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5982 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5847 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5983 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5848 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5984 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5849 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5985 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5850 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5986 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5851 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5987 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5852 .{ .param_str = "V16iV16iV16i", .features = "hvxv79" },5988 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5853 .{ .param_str = "V32iV32iV32i", .features = "hvxv79" },5989 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5854 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5990 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5855 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5991 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5856 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5992 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5857 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5993 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5858 .{ .param_str = "V16iV16iV16i", .features = "hvxv79" },5994 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5859 .{ .param_str = "V32iV32iV32i", .features = "hvxv79" },5995 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5860 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5996 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5861 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5997 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5862 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5998 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5863 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },5999 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5864 .{ .param_str = "V16iV16i", .features = "hvxv79" },6000 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5865 .{ .param_str = "V32iV32i", .features = "hvxv79" },6001 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5866 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6002 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5867 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6003 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5868 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6004 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5869 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6005 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5870 .{ .param_str = "vv*iiV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6006 .{ .param_str = "V64bV16iV16i", .features = "hvxv81" },
5871 .{ .param_str = "vv*iiV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6007 .{ .param_str = "V128bV32iV32i", .features = "hvxv81" },
5872 .{ .param_str = "vv*V64biiV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6008 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv81" },
5873 .{ .param_str = "vv*V128biiV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6009 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv81" },
5874 .{ .param_str = "vv*iiV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6010 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv81" },
5875 .{ .param_str = "vv*iiV64i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6011 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv81" },
5876 .{ .param_str = "vv*V64biiV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6012 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv81" },
5877 .{ .param_str = "vv*V128biiV64i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6013 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv81" },
5878 .{ .param_str = "vv*iiV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6014 .{ .param_str = "V64bV16iV16i", .features = "hvxv81" },
5879 .{ .param_str = "vv*iiV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6015 .{ .param_str = "V128bV32iV32i", .features = "hvxv81" },
5880 .{ .param_str = "vv*V64biiV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6016 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv81" },
5881 .{ .param_str = "vv*V128biiV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6017 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv81" },
5882 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6018 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv81" },
5883 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6019 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv81" },
5884 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6020 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv81" },
5885 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6021 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv81" },
5886 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6022 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5887 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6023 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5888 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6024 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5889 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6025 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5890 .{ .param_str = "V64bV16iV16i", .features = "hvxv73|hvxv75|hvxv79" },6026 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5891 .{ .param_str = "V128bV32iV32i", .features = "hvxv73|hvxv75|hvxv79" },6027 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5892 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv73|hvxv75|hvxv79" },6028 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5893 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv73|hvxv75|hvxv79" },6029 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5894 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv73|hvxv75|hvxv79" },6030 .{ .param_str = "V16iV16iV16i", .features = "hvxv79|hvxv81" },
5895 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv73|hvxv75|hvxv79" },6031 .{ .param_str = "V32iV32iV32i", .features = "hvxv79|hvxv81" },
5896 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv73|hvxv75|hvxv79" },6032 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5897 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv73|hvxv75|hvxv79" },6033 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5898 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6034 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5899 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6035 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5900 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6036 .{ .param_str = "V16iV16iV16i", .features = "hvxv79|hvxv81" },
5901 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6037 .{ .param_str = "V32iV32iV32i", .features = "hvxv79|hvxv81" },
5902 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6038 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5903 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6039 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5904 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6040 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5905 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6041 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5906 .{ .param_str = "V64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6042 .{ .param_str = "V16iV16i", .features = "hvxv79|hvxv81" },
5907 .{ .param_str = "V128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6043 .{ .param_str = "V32iV32i", .features = "hvxv79|hvxv81" },
5908 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6044 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5909 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6045 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5910 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6046 .{ .param_str = "V16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5911 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6047 .{ .param_str = "V32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5912 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6048 .{ .param_str = "vv*iiV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5913 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6049 .{ .param_str = "vv*iiV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5914 .{ .param_str = "V64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6050 .{ .param_str = "vv*V64biiV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5915 .{ .param_str = "V128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6051 .{ .param_str = "vv*V128biiV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5916 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6052 .{ .param_str = "vv*iiV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5917 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6053 .{ .param_str = "vv*iiV64i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5918 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6054 .{ .param_str = "vv*V64biiV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5919 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6055 .{ .param_str = "vv*V128biiV64i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5920 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6056 .{ .param_str = "vv*iiV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5921 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6057 .{ .param_str = "vv*iiV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5922 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6058 .{ .param_str = "vv*V64biiV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5923 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6059 .{ .param_str = "vv*V128biiV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5924 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6060 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5925 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6061 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5926 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6062 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5927 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6063 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5928 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6064 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5929 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6065 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5930 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6066 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5931 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6067 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5932 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6068 .{ .param_str = "V64bV16iV16i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5933 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6069 .{ .param_str = "V128bV32iV32i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5934 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6070 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5935 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6071 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5936 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6072 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5937 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6073 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5938 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6074 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5939 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6075 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
5940 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6076 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5941 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6077 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5942 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6078 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5943 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6079 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5944 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6080 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5945 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6081 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5946 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6082 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5947 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6083 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5948 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6084 .{ .param_str = "V64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5949 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6085 .{ .param_str = "V128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5950 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6086 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5951 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6087 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5952 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6088 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5953 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6089 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5954 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6090 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5955 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6091 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5956 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6092 .{ .param_str = "V64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5957 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6093 .{ .param_str = "V128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5958 .{ .param_str = "V16iV16iV16iUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6094 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5959 .{ .param_str = "V32iV32iV32iUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6095 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5960 .{ .param_str = "V16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6096 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5961 .{ .param_str = "V32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6097 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5962 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6098 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5963 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6099 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5964 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6100 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5965 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6101 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5966 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6102 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5967 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6103 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5968 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6104 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5969 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6105 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5970 .{ .param_str = "V16iV16iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6106 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5971 .{ .param_str = "V32iV32iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6107 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5972 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6108 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5973 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6109 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5974 .{ .param_str = "V16iV16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6110 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5975 .{ .param_str = "V32iV32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6111 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5976 .{ .param_str = "V16iV16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6112 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5977 .{ .param_str = "V32iV32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6113 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5978 .{ .param_str = "V16iV16iV16iV16iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6114 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5979 .{ .param_str = "V32iV32iV32iV32iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6115 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5980 .{ .param_str = "V16iV16iV16iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6116 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5981 .{ .param_str = "V32iV32iV32iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6117 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5982 .{ .param_str = "V32iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6118 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5983 .{ .param_str = "V64iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6119 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5984 .{ .param_str = "V32iV16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6120 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5985 .{ .param_str = "V64iV32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6121 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5986 .{ .param_str = "V32iV32iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6122 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5987 .{ .param_str = "V64iV64iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6123 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5988 .{ .param_str = "V32iV32iV16iV16iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6124 .{ .param_str = "V64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5989 .{ .param_str = "V64iV64iV32iV32iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6125 .{ .param_str = "V128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5990 .{ .param_str = "V32iV16iV16iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6126 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5991 .{ .param_str = "V64iV32iV32iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6127 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5992 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6128 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5993 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6129 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5994 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6130 .{ .param_str = "V64bV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5995 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6131 .{ .param_str = "V128bV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
5996 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6132 .{ .param_str = "V16iV16i", .features = "hvxv81" },
5997 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6133 .{ .param_str = "V32iV32i", .features = "hvxv81" },
5998 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6134 .{ .param_str = "V16iV16i", .features = "hvxv81" },
5999 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6135 .{ .param_str = "V32iV32i", .features = "hvxv81" },
6000 .{ .param_str = "V16iV16iV16i", .features = "hvxv73|hvxv75|hvxv79" },6136 .{ .param_str = "V16iV16i", .features = "hvxv81" },
6001 .{ .param_str = "V32iV32iV32i", .features = "hvxv73|hvxv75|hvxv79" },6137 .{ .param_str = "V32iV32i", .features = "hvxv81" },
6002 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6138 .{ .param_str = "V16iV16i", .features = "hvxv81" },
6003 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6139 .{ .param_str = "V32iV32i", .features = "hvxv81" },
6004 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6140 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6005 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6141 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6006 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6142 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6007 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6143 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6008 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6144 .{ .param_str = "V16iV16iV16iUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6009 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6145 .{ .param_str = "V32iV32iV32iUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6010 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6146 .{ .param_str = "V16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6011 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6147 .{ .param_str = "V32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6012 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6148 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6013 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6149 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6014 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6150 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6015 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6151 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6016 .{ .param_str = "V16iV16iV16i", .features = "hvxv79" },6152 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6017 .{ .param_str = "V32iV32iV32i", .features = "hvxv79" },6153 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6018 .{ .param_str = "V16iV16iV16i", .features = "hvxv73|hvxv75|hvxv79" },6154 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6019 .{ .param_str = "V32iV32iV32i", .features = "hvxv73|hvxv75|hvxv79" },6155 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6020 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6156 .{ .param_str = "V16iV16iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6021 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6157 .{ .param_str = "V32iV32iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6022 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6158 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6023 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6159 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6024 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6160 .{ .param_str = "V16iV16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6025 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6161 .{ .param_str = "V32iV32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6026 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6162 .{ .param_str = "V16iV16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6027 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6163 .{ .param_str = "V32iV32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6028 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6164 .{ .param_str = "V16iV16iV16iV16iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6029 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6165 .{ .param_str = "V32iV32iV32iV32iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6030 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6166 .{ .param_str = "V16iV16iV16iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6031 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6167 .{ .param_str = "V32iV32iV32iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6032 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6168 .{ .param_str = "V32iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6033 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6169 .{ .param_str = "V64iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6034 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6170 .{ .param_str = "V32iV16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6035 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6171 .{ .param_str = "V64iV32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6036 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6172 .{ .param_str = "V32iV32iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6037 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6173 .{ .param_str = "V64iV64iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6038 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6174 .{ .param_str = "V32iV32iV16iV16iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6039 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6175 .{ .param_str = "V64iV64iV32iV32iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6040 .{ .param_str = "V32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6176 .{ .param_str = "V32iV16iV16iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6041 .{ .param_str = "V64iV64ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6177 .{ .param_str = "V64iV32iV32iUIi", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6042 .{ .param_str = "V32iV32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6178 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6043 .{ .param_str = "V64iV64iV64ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6179 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6044 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6180 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6045 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6181 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6046 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6182 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6047 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6183 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6048 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6184 .{ .param_str = "vV64bv*V16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6049 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6185 .{ .param_str = "vV128bv*V32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6050 .{ .param_str = "V16iV16iV16iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6186 .{ .param_str = "V16iV16iV16i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
6051 .{ .param_str = "V32iV32iV32iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6187 .{ .param_str = "V32iV32iV32i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
6052 .{ .param_str = "V32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6188 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6053 .{ .param_str = "V64iV64ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6189 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6054 .{ .param_str = "V32iV32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6190 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6055 .{ .param_str = "V64iV64iV64ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6191 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6056 .{ .param_str = "V16iV16iV16iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6192 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6057 .{ .param_str = "V32iV32iV32iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6193 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6058 .{ .param_str = "V16iV16iV16iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6194 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6059 .{ .param_str = "V32iV32iV32iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6195 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6060 .{ .param_str = "V32iV16iV16i", .features = "hvxv79" },6196 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6061 .{ .param_str = "V64iV32iV32i", .features = "hvxv79" },6197 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6062 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv79" },6198 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6063 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv79" },6199 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6064 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6200 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6065 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6201 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6066 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6202 .{ .param_str = "V16iV16iV16i", .features = "hvxv79|hvxv81" },
6067 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6203 .{ .param_str = "V32iV32iV32i", .features = "hvxv79|hvxv81" },
6068 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6204 .{ .param_str = "V16iV16iV16i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
6069 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6205 .{ .param_str = "V32iV32iV32i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
6070 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6206 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6071 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6207 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6072 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6208 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6073 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6209 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6074 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6210 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6075 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6211 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6076 .{ .param_str = "V32iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6212 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6077 .{ .param_str = "V64iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6213 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6078 .{ .param_str = "V32iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6214 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6079 .{ .param_str = "V64iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6215 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6080 .{ .param_str = "V32iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6216 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6081 .{ .param_str = "V64iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6217 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6082 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6218 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6083 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6219 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6084 .{ .param_str = "V16iV16ii", .features = "hvxv79" },6220 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6085 .{ .param_str = "V32iV32ii", .features = "hvxv79" },6221 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6086 .{ .param_str = "V16iV16ii", .features = "hvxv79" },6222 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6087 .{ .param_str = "V32iV32ii", .features = "hvxv79" },6223 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6088 .{ .param_str = "V16iV16ii", .features = "hvxv79" },6224 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6089 .{ .param_str = "V32iV32ii", .features = "hvxv79" },6225 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6090 .{ .param_str = "V32iV16iV16i", .features = "hvxv73|hvxv75|hvxv79" },6226 .{ .param_str = "V32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6091 .{ .param_str = "V64iV32iV32i", .features = "hvxv73|hvxv75|hvxv79" },6227 .{ .param_str = "V64iV64ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6092 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv73|hvxv75|hvxv79" },6228 .{ .param_str = "V32iV32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6093 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv73|hvxv75|hvxv79" },6229 .{ .param_str = "V64iV64iV64ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6094 .{ .param_str = "V32iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6230 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6095 .{ .param_str = "V64iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6231 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6096 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6232 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6097 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6233 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6098 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6234 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6099 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6235 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6100 .{ .param_str = "V32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6236 .{ .param_str = "V16iV16iV16iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6101 .{ .param_str = "V64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6237 .{ .param_str = "V32iV32iV32iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6102 .{ .param_str = "V32iV32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6238 .{ .param_str = "V32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6103 .{ .param_str = "V64iV64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6239 .{ .param_str = "V64iV64ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6104 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6240 .{ .param_str = "V32iV32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6105 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6241 .{ .param_str = "V64iV64iV64ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6106 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6242 .{ .param_str = "V16iV16iV16iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6107 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6243 .{ .param_str = "V32iV32iV32iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6108 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6244 .{ .param_str = "V16iV16iV16iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6109 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6245 .{ .param_str = "V32iV32iV32iLLi", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6110 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6246 .{ .param_str = "V32iV16iV16i", .features = "hvxv79|hvxv81" },
6111 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6247 .{ .param_str = "V64iV32iV32i", .features = "hvxv79|hvxv81" },
6112 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6248 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv79|hvxv81" },
6113 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6249 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv79|hvxv81" },
6114 .{ .param_str = "V32iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6250 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6115 .{ .param_str = "V64iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6251 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6116 .{ .param_str = "V32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6252 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6117 .{ .param_str = "V64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6253 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6118 .{ .param_str = "V32iV32iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6254 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6119 .{ .param_str = "V64iV64iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6255 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6120 .{ .param_str = "V32iV32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6256 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6121 .{ .param_str = "V64iV64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6257 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6122 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6258 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6123 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6259 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6124 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6260 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6125 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6261 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6126 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6262 .{ .param_str = "V32iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6127 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6263 .{ .param_str = "V64iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6128 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6264 .{ .param_str = "V32iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6129 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6265 .{ .param_str = "V64iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6130 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6266 .{ .param_str = "V32iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6131 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6267 .{ .param_str = "V64iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6132 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6268 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6133 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6269 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6134 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6270 .{ .param_str = "V16iV16ii", .features = "hvxv79|hvxv81" },
6135 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6271 .{ .param_str = "V32iV32ii", .features = "hvxv79|hvxv81" },
6136 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6272 .{ .param_str = "V16iV16ii", .features = "hvxv79|hvxv81" },
6137 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6273 .{ .param_str = "V32iV32ii", .features = "hvxv79|hvxv81" },
6138 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6274 .{ .param_str = "V16iV16ii", .features = "hvxv79|hvxv81" },
6139 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6275 .{ .param_str = "V32iV32ii", .features = "hvxv79|hvxv81" },
6140 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6276 .{ .param_str = "V32iV16iV16i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
6141 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6277 .{ .param_str = "V64iV32iV32i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
6142 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6278 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
6143 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6279 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
6144 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6280 .{ .param_str = "V32iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6145 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6281 .{ .param_str = "V64iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6146 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6282 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6147 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6283 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6148 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6284 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6149 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6285 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6150 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6286 .{ .param_str = "V32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6151 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6287 .{ .param_str = "V64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6152 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6288 .{ .param_str = "V32iV32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6153 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6289 .{ .param_str = "V64iV64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6154 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6290 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6155 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6291 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6156 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6292 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6157 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6293 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6158 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6294 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6159 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6295 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6160 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6296 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6161 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6297 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6162 .{ .param_str = "V16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6298 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6163 .{ .param_str = "V32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6299 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6164 .{ .param_str = "V16iV16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6300 .{ .param_str = "V32iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6165 .{ .param_str = "V32iV32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6301 .{ .param_str = "V64iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6166 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6302 .{ .param_str = "V32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6167 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6303 .{ .param_str = "V64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6168 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6304 .{ .param_str = "V32iV32iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6169 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6305 .{ .param_str = "V64iV64iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6170 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6306 .{ .param_str = "V32iV32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6171 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6307 .{ .param_str = "V64iV64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6172 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6308 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6173 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6309 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6174 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6310 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6175 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6311 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6176 .{ .param_str = "V32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6312 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6177 .{ .param_str = "V64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6313 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6178 .{ .param_str = "V32iV32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6314 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6179 .{ .param_str = "V64iV64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6315 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6180 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6316 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6181 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6317 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6182 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6318 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6183 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6319 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6184 .{ .param_str = "V32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6320 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6185 .{ .param_str = "V64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6321 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6186 .{ .param_str = "V32iV32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6322 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6187 .{ .param_str = "V64iV64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6323 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6188 .{ .param_str = "V16iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6324 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6189 .{ .param_str = "V32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6325 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6190 .{ .param_str = "V16iV16iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6326 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6191 .{ .param_str = "V32iV32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6327 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6192 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6328 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6193 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6329 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6194 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6330 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6195 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6331 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6196 .{ .param_str = "V16iV16iV16i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6332 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6197 .{ .param_str = "V32iV32iV32i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6333 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6198 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6334 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6199 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6335 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6200 .{ .param_str = "V16iV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6336 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6201 .{ .param_str = "V32iV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6337 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6202 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6338 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6203 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6339 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6204 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6340 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6205 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6341 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6206 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6342 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6207 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6343 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6208 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6344 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6209 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6345 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6210 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6346 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6211 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6347 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6212 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6348 .{ .param_str = "V16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6213 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6349 .{ .param_str = "V32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6214 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6350 .{ .param_str = "V16iV16iV16ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6215 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6351 .{ .param_str = "V32iV32iV32ii", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6216 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6352 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6217 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6353 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6218 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6354 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6219 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6355 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6220 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6356 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6221 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6357 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6222 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6358 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6223 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6359 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6224 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6360 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6225 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6361 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6226 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6362 .{ .param_str = "V32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6227 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6363 .{ .param_str = "V64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6228 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6364 .{ .param_str = "V32iV32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6229 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6365 .{ .param_str = "V64iV64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6230 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6366 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6231 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6367 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6232 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6368 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6233 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6369 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6234 .{ .param_str = "V16iV64b", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6370 .{ .param_str = "V32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6235 .{ .param_str = "V32iV128b", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6371 .{ .param_str = "V64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6236 .{ .param_str = "V16iV64b", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6372 .{ .param_str = "V32iV32iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6237 .{ .param_str = "V32iV128b", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6373 .{ .param_str = "V64iV64iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6238 .{ .param_str = "V16iV64b", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6374 .{ .param_str = "V16iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6239 .{ .param_str = "V32iV128b", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6375 .{ .param_str = "V32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6240 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6376 .{ .param_str = "V16iV16iV16ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6241 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6377 .{ .param_str = "V32iV32iV32ii", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6378 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6379 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6380 .{ .param_str = "V32iV32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6381 .{ .param_str = "V64iV64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6382 .{ .param_str = "V16iV16iV16i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6383 .{ .param_str = "V32iV32iV32i", .features = "hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6384 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6385 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6386 .{ .param_str = "V16iV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6387 .{ .param_str = "V32iV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6388 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6389 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6390 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6391 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6392 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6393 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6394 .{ .param_str = "V16iV16i", .features = "hvxv81" },
6395 .{ .param_str = "V32iV32i", .features = "hvxv81" },
6396 .{ .param_str = "V16iV16i", .features = "hvxv81" },
6397 .{ .param_str = "V32iV32i", .features = "hvxv81" },
6398 .{ .param_str = "V16iV16i", .features = "hvxv81" },
6399 .{ .param_str = "V32iV32i", .features = "hvxv81" },
6400 .{ .param_str = "V16iV16i", .features = "hvxv81" },
6401 .{ .param_str = "V32iV32i", .features = "hvxv81" },
6402 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6403 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6404 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6405 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6406 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6407 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6408 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6409 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6410 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6411 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6412 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6413 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6414 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6415 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6416 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6417 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6418 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6419 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6420 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6421 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6422 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6423 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6424 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6425 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6426 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6427 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6428 .{ .param_str = "V16iV64b", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6429 .{ .param_str = "V32iV128b", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6430 .{ .param_str = "V16iV64b", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6431 .{ .param_str = "V32iV128b", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6432 .{ .param_str = "V16iV64b", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6433 .{ .param_str = "V32iV128b", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6434 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6435 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6242 .{ .param_str = "V32iV16iLLi", .features = "hvxv65" },6436 .{ .param_str = "V32iV16iLLi", .features = "hvxv65" },
6243 .{ .param_str = "V64iV32iLLi", .features = "hvxv65" },6437 .{ .param_str = "V64iV32iLLi", .features = "hvxv65" },
6244 .{ .param_str = "V32iV32iV16iLLi", .features = "hvxv65" },6438 .{ .param_str = "V32iV32iV16iLLi", .features = "hvxv65" },
6245 .{ .param_str = "V64iV64iV32iLLi", .features = "hvxv65" },6439 .{ .param_str = "V64iV64iV32iLLi", .features = "hvxv65" },
6246 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6440 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6247 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6441 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6248 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6442 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6249 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6443 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6250 .{ .param_str = "V32iV32iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6444 .{ .param_str = "V32iV32iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6251 .{ .param_str = "V64iV64iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6445 .{ .param_str = "V64iV64iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6252 .{ .param_str = "V32iV32iV32iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6446 .{ .param_str = "V32iV32iV32iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6253 .{ .param_str = "V64iV64iV64iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6447 .{ .param_str = "V64iV64iV64iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6254 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6448 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6255 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6449 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6256 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6450 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6257 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6451 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6258 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6452 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6259 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6453 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6260 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6454 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6261 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6455 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6262 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6456 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6263 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6457 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6264 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6458 .{ .param_str = "V16iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6265 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6459 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6266 .{ .param_str = "V32iV16iLLi", .features = "hvxv65" },6460 .{ .param_str = "V32iV16iLLi", .features = "hvxv65" },
6267 .{ .param_str = "V64iV32iLLi", .features = "hvxv65" },6461 .{ .param_str = "V64iV32iLLi", .features = "hvxv65" },
6268 .{ .param_str = "V32iV32iV16iLLi", .features = "hvxv65" },6462 .{ .param_str = "V32iV32iV16iLLi", .features = "hvxv65" },
6269 .{ .param_str = "V64iV64iV32iLLi", .features = "hvxv65" },6463 .{ .param_str = "V64iV64iV32iLLi", .features = "hvxv65" },
6270 .{ .param_str = "V32iV32iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6464 .{ .param_str = "V32iV32iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6271 .{ .param_str = "V64iV64iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6465 .{ .param_str = "V64iV64iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6272 .{ .param_str = "V32iV32iV32iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6466 .{ .param_str = "V32iV32iV32iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6273 .{ .param_str = "V64iV64iV64iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6467 .{ .param_str = "V64iV64iV64iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6274 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6468 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6275 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6469 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6276 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6470 .{ .param_str = "V16iV16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6277 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6471 .{ .param_str = "V32iV32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6278 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6472 .{ .param_str = "V16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6279 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6473 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6280 .{ .param_str = "V16iV16iV16i", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6474 .{ .param_str = "V16iV16iV16i", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6281 .{ .param_str = "V32iV32iV32i", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6475 .{ .param_str = "V32iV32iV32i", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6282 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6476 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6283 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6477 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6284 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6478 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6285 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6479 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6286 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6480 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6287 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6481 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6288 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6482 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6289 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6483 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6290 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6484 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6291 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6485 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6292 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6486 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6293 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6487 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6294 .{ .param_str = "V32iV32iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6488 .{ .param_str = "V32iV32iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6295 .{ .param_str = "V64iV64iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6489 .{ .param_str = "V64iV64iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6296 .{ .param_str = "V32iV32iV32iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6490 .{ .param_str = "V32iV32iV32iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6297 .{ .param_str = "V64iV64iV64iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6491 .{ .param_str = "V64iV64iV64iiUIi", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6298 .{ .param_str = "V16iV16iV16i", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6492 .{ .param_str = "V16iV16iV16i", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6299 .{ .param_str = "V32iV32iV32i", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6493 .{ .param_str = "V32iV32iV32i", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6300 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6494 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6301 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6495 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6302 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6496 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6303 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6497 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6304 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6498 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6305 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6499 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6306 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6500 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6307 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6501 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6308 .{ .param_str = "viiV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6502 .{ .param_str = "viiV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6309 .{ .param_str = "viiV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6503 .{ .param_str = "viiV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6310 .{ .param_str = "viiV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6504 .{ .param_str = "viiV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6311 .{ .param_str = "viiV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6505 .{ .param_str = "viiV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6312 .{ .param_str = "vV64biiV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6506 .{ .param_str = "vV64biiV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6313 .{ .param_str = "vV128biiV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6507 .{ .param_str = "vV128biiV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6314 .{ .param_str = "viiV32iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6508 .{ .param_str = "viiV32iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6315 .{ .param_str = "viiV64iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6509 .{ .param_str = "viiV64iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6316 .{ .param_str = "viiV32iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6510 .{ .param_str = "viiV32iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6317 .{ .param_str = "viiV64iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6511 .{ .param_str = "viiV64iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6318 .{ .param_str = "vV64biiV32iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6512 .{ .param_str = "vV64biiV32iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6319 .{ .param_str = "vV128biiV64iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6513 .{ .param_str = "vV128biiV64iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6320 .{ .param_str = "viiV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6514 .{ .param_str = "viiV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6321 .{ .param_str = "viiV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6515 .{ .param_str = "viiV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6322 .{ .param_str = "viiV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6516 .{ .param_str = "viiV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6323 .{ .param_str = "viiV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6517 .{ .param_str = "viiV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6324 .{ .param_str = "vV64biiV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6518 .{ .param_str = "vV64biiV16iV16i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6325 .{ .param_str = "vV128biiV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6519 .{ .param_str = "vV128biiV32iV32i", .features = "hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6326 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6520 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6327 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6521 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6328 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6522 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6329 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6523 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6330 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6524 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6331 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6525 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6332 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6526 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6333 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6527 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6334 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6528 .{ .param_str = "V16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6335 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6529 .{ .param_str = "V32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6336 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6530 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6337 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6531 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6338 .{ .param_str = "V32iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6532 .{ .param_str = "V32iV16iV16ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6339 .{ .param_str = "V64iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6533 .{ .param_str = "V64iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6340 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6534 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6341 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6535 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6342 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6536 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6343 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6537 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6344 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6538 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6345 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6539 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6346 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6540 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6347 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6541 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6348 .{ .param_str = "V32iV16iV16i", .features = "hvxv79" },6542 .{ .param_str = "V32iV16iV16i", .features = "hvxv79|hvxv81" },
6349 .{ .param_str = "V64iV32iV32i", .features = "hvxv79" },6543 .{ .param_str = "V64iV32iV32i", .features = "hvxv79|hvxv81" },
6350 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6544 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6351 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6545 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6352 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6546 .{ .param_str = "V16iV16iV16i", .features = "hvxv81" },
6353 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6547 .{ .param_str = "V32iV32iV32i", .features = "hvxv81" },
6354 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6548 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6355 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6549 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6356 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6550 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6357 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6551 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6358 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6552 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6359 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6553 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6360 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6554 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6361 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6555 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6362 .{ .param_str = "V32iV16iV16i", .features = "hvxv73|hvxv75|hvxv79" },6556 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6363 .{ .param_str = "V64iV32iV32i", .features = "hvxv73|hvxv75|hvxv79" },6557 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6364 .{ .param_str = "V32iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6558 .{ .param_str = "V32iV16iV16i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
6365 .{ .param_str = "V64iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6559 .{ .param_str = "V64iV32iV32i", .features = "hvxv73|hvxv75|hvxv79|hvxv81" },
6366 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6560 .{ .param_str = "V32iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6367 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6561 .{ .param_str = "V64iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6368 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6562 .{ .param_str = "V16iV16iV16i", .features = "hvxv81" },
6369 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6563 .{ .param_str = "V32iV32iV32i", .features = "hvxv81" },
6370 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6564 .{ .param_str = "V16iV16iV16i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6371 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6565 .{ .param_str = "V32iV32iV32i", .features = "hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6372 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6566 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6373 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6567 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6374 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6568 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6375 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6569 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6376 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6570 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6377 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6571 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6378 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6572 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6379 .{ .param_str = "V64iV64iV64i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6573 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6380 .{ .param_str = "V16iV16iV16iv*", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6574 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6381 .{ .param_str = "V32iV32iV32iv*", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6575 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6382 .{ .param_str = "V16iV16iV16iv*", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6576 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6383 .{ .param_str = "V32iV32iV32iv*", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6577 .{ .param_str = "V64iV64iV64i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6384 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6578 .{ .param_str = "V16iV16iV16iv*", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6385 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6579 .{ .param_str = "V32iV32iV32iv*", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6386 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6580 .{ .param_str = "V16iV16iV16iv*", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6387 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6581 .{ .param_str = "V32iV32iV32iv*", .features = "hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6388 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6582 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6389 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6583 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6390 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6584 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6391 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6585 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6392 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6586 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6393 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6587 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6394 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6588 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6395 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6589 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6396 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6590 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6397 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6591 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6398 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6592 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6399 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6593 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6400 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6594 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6401 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6595 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6402 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6596 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6403 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6597 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6404 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6598 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6405 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6599 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6406 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6600 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6407 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6601 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6408 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6602 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6409 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6603 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6410 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6604 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6411 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6605 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6412 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6606 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6413 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6607 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6414 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6608 .{ .param_str = "V32iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6415 .{ .param_str = "V64iV64iV64i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6609 .{ .param_str = "V64iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6416 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6610 .{ .param_str = "V16iV16iV16i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6417 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6611 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6418 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6612 .{ .param_str = "V32iV32iV32i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6419 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6613 .{ .param_str = "V64iV64iV64i", .features = "hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6420 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6614 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6421 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6615 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6422 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6616 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6423 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6617 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6424 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6618 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6425 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6619 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6426 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6620 .{ .param_str = "V16iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6427 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6621 .{ .param_str = "V32iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6428 .{ .param_str = "V32iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6622 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6429 .{ .param_str = "V64iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6623 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6430 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6624 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6431 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6625 .{ .param_str = "V64iV64iV64i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6432 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6626 .{ .param_str = "V32iV64bV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6433 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6627 .{ .param_str = "V64iV128bV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6434 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6628 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6435 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6629 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6436 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6630 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6437 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6631 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6438 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6632 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6439 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6633 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6440 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6634 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6441 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6635 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6442 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6636 .{ .param_str = "V32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6443 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6637 .{ .param_str = "V64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6444 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6638 .{ .param_str = "V32iV32iV32ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6445 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6639 .{ .param_str = "V64iV64iV64ii", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6446 .{ .param_str = "V32iV32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6640 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6447 .{ .param_str = "V64iV64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6641 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6448 .{ .param_str = "V32iV32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6642 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6449 .{ .param_str = "V64iV64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6643 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6450 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6644 .{ .param_str = "V32iV32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6451 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6645 .{ .param_str = "V64iV64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6452 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6646 .{ .param_str = "V32iV32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6453 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6647 .{ .param_str = "V64iV64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6454 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6648 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6455 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6649 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6456 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6650 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6457 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6651 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6458 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6652 .{ .param_str = "V16iV16iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6459 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79" },6653 .{ .param_str = "V32iV32iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6460 .{ .param_str = "vv*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6654 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6461 .{ .param_str = "vv*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6655 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6462 .{ .param_str = "vv*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6656 .{ .param_str = "V32iV16i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6463 .{ .param_str = "vv*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6657 .{ .param_str = "V64iV32i", .features = "hvxv60|hvxv62|hvxv65|hvxv66|hvxv67|hvxv68|hvxv69|hvxv71|hvxv73|hvxv75|hvxv79|hvxv81" },
6464 .{ .param_str = "vv*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6658 .{ .param_str = "vv*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6465 .{ .param_str = "vv*i", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6659 .{ .param_str = "vv*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6466 .{ .param_str = "vv*LLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6660 .{ .param_str = "vv*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6467 .{ .param_str = "vv*v*", .features = "v68|v69|v71|v73|v75|v79" },6661 .{ .param_str = "vv*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6468 .{ .param_str = "i", .features = "v68|v69|v71|v73|v75|v79" },6662 .{ .param_str = "vv*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6469 .{ .param_str = "i", .features = "v68|v69|v71|v73|v75|v79" },6663 .{ .param_str = "vv*i", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6470 .{ .param_str = "vv*", .features = "v68|v69|v71|v73|v75|v79" },6664 .{ .param_str = "vv*LLi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6471 .{ .param_str = "vv*", .features = "v68|v69|v71|v73|v75|v79" },6665 .{ .param_str = "vv*v*", .features = "v68|v69|v71|v73|v75|v79|v81" },
6472 .{ .param_str = "i", .features = "v68|v69|v71|v73|v75|v79" },6666 .{ .param_str = "i", .features = "v68|v69|v71|v73|v75|v79|v81" },
6473 .{ .param_str = "vv*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6667 .{ .param_str = "i", .features = "v68|v69|v71|v73|v75|v79|v81" },
6474 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6668 .{ .param_str = "vv*", .features = "v68|v69|v71|v73|v75|v79|v81" },
6475 .{ .param_str = "v*Sc*CSc*iC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6669 .{ .param_str = "vv*", .features = "v68|v69|v71|v73|v75|v79|v81" },
6476 .{ .param_str = "v*LLi*CLLi*iC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6670 .{ .param_str = "i", .features = "v68|v69|v71|v73|v75|v79|v81" },
6477 .{ .param_str = "v*s*Cs*iC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6671 .{ .param_str = "vv*", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6478 .{ .param_str = "v*Uc*CUc*iC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6672 .{ .param_str = "ii", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6479 .{ .param_str = "v*Us*CUs*iC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6673 .{ .param_str = "v*Sc*CSc*iC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6480 .{ .param_str = "v*i*Ci*iC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6674 .{ .param_str = "v*LLi*CLLi*iC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6481 .{ .param_str = "c*Cc*iiC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6675 .{ .param_str = "v*s*Cs*iC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6482 .{ .param_str = "LLi*CLLi*LLiiC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6676 .{ .param_str = "v*Uc*CUc*iC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6483 .{ .param_str = "s*Cs*iiC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6677 .{ .param_str = "v*Us*CUs*iC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6484 .{ .param_str = "s*Cs*iiC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6678 .{ .param_str = "v*i*Ci*iC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6485 .{ .param_str = "i*Ci*iiC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6679 .{ .param_str = "c*Cc*iiC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6486 .{ .param_str = "c*c*c*iIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6680 .{ .param_str = "LLi*CLLi*LLiiC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6487 .{ .param_str = "LLi*LLi*LLi*iIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6681 .{ .param_str = "s*Cs*iiC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6488 .{ .param_str = "s*s*s*iIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6682 .{ .param_str = "s*Cs*iiC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6489 .{ .param_str = "Uc*Uc*Uc*iIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6683 .{ .param_str = "i*Ci*iiC", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6490 .{ .param_str = "Us*Us*Us*iIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6684 .{ .param_str = "c*c*c*iIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6491 .{ .param_str = "i*i*i*iIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6685 .{ .param_str = "LLi*LLi*LLi*iIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6492 .{ .param_str = "c*c*iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6686 .{ .param_str = "s*s*s*iIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6493 .{ .param_str = "LLi*LLi*LLiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6687 .{ .param_str = "Uc*Uc*Uc*iIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6494 .{ .param_str = "s*s*iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6688 .{ .param_str = "Us*Us*Us*iIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6495 .{ .param_str = "s*s*iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6689 .{ .param_str = "i*i*i*iIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6496 .{ .param_str = "i*i*iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79" },6690 .{ .param_str = "c*c*iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6691 .{ .param_str = "LLi*LLi*LLiiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6692 .{ .param_str = "s*s*iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6693 .{ .param_str = "s*s*iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6694 .{ .param_str = "i*i*iiIi", .features = "v5|v55|v60|v62|v65|v66|v67|v68|v69|v71|v73|v75|v79|v81" },
6497 };6695 };
6498};6696};
6499};6697};
lib/compiler/aro/aro/Builtins/loongarch.zig+740-670
...@@ -8,7 +8,25 @@ return struct {...@@ -8,7 +8,25 @@ return struct {
88
9/// Integer starting at 0 derived from the unique index,9/// Integer starting at 0 derived from the unique index,
10/// corresponds with the data array index.10/// corresponds with the data array index.
11pub const Tag = enum(u16) { __builtin_lasx_vext2xv_d_b,11pub const Tag = enum(u16) { __builtin_lasx_cast_128,
12 __builtin_lasx_cast_128_d,
13 __builtin_lasx_cast_128_s,
14 __builtin_lasx_concat_128,
15 __builtin_lasx_concat_128_d,
16 __builtin_lasx_concat_128_s,
17 __builtin_lasx_extract_128_hi,
18 __builtin_lasx_extract_128_hi_d,
19 __builtin_lasx_extract_128_hi_s,
20 __builtin_lasx_extract_128_lo,
21 __builtin_lasx_extract_128_lo_d,
22 __builtin_lasx_extract_128_lo_s,
23 __builtin_lasx_insert_128_hi,
24 __builtin_lasx_insert_128_hi_d,
25 __builtin_lasx_insert_128_hi_s,
26 __builtin_lasx_insert_128_lo,
27 __builtin_lasx_insert_128_lo_d,
28 __builtin_lasx_insert_128_lo_s,
29 __builtin_lasx_vext2xv_d_b,
12 __builtin_lasx_vext2xv_d_h,30 __builtin_lasx_vext2xv_d_h,
13 __builtin_lasx_vext2xv_d_w,31 __builtin_lasx_vext2xv_d_w,
14 __builtin_lasx_vext2xv_du_bu,32 __builtin_lasx_vext2xv_du_bu,
...@@ -1563,7 +1581,7 @@ pub const longest_name = 31;...@@ -1563,7 +1581,7 @@ pub const longest_name = 31;
1563/// If found, returns the index of the node within the `dafsa` array.1581/// If found, returns the index of the node within the `dafsa` array.
1564/// Otherwise, returns `null`.1582/// Otherwise, returns `null`.
1565pub fn findInList(first_child_index: u16, char: u8) ?u16 {1583pub fn findInList(first_child_index: u16, char: u8) ?u16 {
1566 @setEvalBranchQuota(2998);1584 @setEvalBranchQuota(3034);
1567 var index = first_child_index;1585 var index = first_child_index;
1568 while (true) {1586 while (true) {
1569 if (dafsa[index].char == char) return index;1587 if (dafsa[index].char == char) return index;
...@@ -1658,727 +1676,779 @@ const Node = packed struct {...@@ -1658,727 +1676,779 @@ const Node = packed struct {
16581676
1659const dafsa = [_]Node{1677const dafsa = [_]Node{
1660 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },1678 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },
1661 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1499, .child_index = 2 },1679 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1517, .child_index = 2 },
1662 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1499, .child_index = 3 },1680 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1517, .child_index = 3 },
1663 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1499, .child_index = 4 },1681 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1517, .child_index = 4 },
1664 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1499, .child_index = 5 },1682 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1517, .child_index = 5 },
1665 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1499, .child_index = 6 },1683 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1517, .child_index = 6 },
1666 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1499, .child_index = 7 },1684 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1517, .child_index = 7 },
1667 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1499, .child_index = 8 },1685 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1517, .child_index = 8 },
1668 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1499, .child_index = 9 },1686 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1517, .child_index = 9 },
1669 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1499, .child_index = 10 },1687 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1517, .child_index = 10 },
1670 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1499, .child_index = 11 },1688 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1517, .child_index = 11 },
1671 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1499, .child_index = 12 },1689 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1517, .child_index = 12 },
1672 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 740, .child_index = 15 },1690 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 758, .child_index = 15 },
1673 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 39, .child_index = 16 },1691 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 39, .child_index = 16 },
1674 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 720, .child_index = 17 },1692 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 720, .child_index = 17 },
1675 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 740, .child_index = 18 },1693 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 758, .child_index = 18 },
1676 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 19 },1694 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 19 },
1677 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 720, .child_index = 20 },1695 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 720, .child_index = 20 },
1678 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 740, .child_index = 21 },1696 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 758, .child_index = 21 },
1679 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 22 },1697 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 22 },
1680 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 720, .child_index = 23 },1698 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 720, .child_index = 23 },
1681 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 740, .child_index = 25 },1699 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 758, .child_index = 25 },
1682 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 27 },1700 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 30 },
1683 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 28 },1701 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 31 },
1684 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 710, .child_index = 30 },1702 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 710, .child_index = 33 },
1685 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 46 },1703 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 49 },
1686 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 728, .child_index = 47 },1704 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 51 },
1687 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 49 },1705 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 52 },
1688 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 50 },1706 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 53 },
1689 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 51 },1707 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 728, .child_index = 54 },
1690 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 64, .child_index = 52 },1708 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 56 },
1691 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 56 },1709 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 57 },
1692 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 58 },1710 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 58 },
1693 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 59 },1711 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 64, .child_index = 59 },
1694 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 60 },1712 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 63 },
1695 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 138, .child_index = 61 },1713 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 65 },
1696 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 71 },1714 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 66 },
1697 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 73 },1715 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 67 },
1698 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 75 },1716 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 138, .child_index = 68 },
1699 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 114, .child_index = 76 },1717 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 78 },
1700 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 81 },1718 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 80 },
1701 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 83 },1719 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 82 },
1702 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 84 },1720 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 114, .child_index = 83 },
1703 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 88 },1721 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 88 },
1704 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 237, .child_index = 90 },1722 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 90 },
1705 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 99 },1723 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 91 },
1706 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 100 },1724 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 95 },
1707 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 28 },1725 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 237, .child_index = 97 },
1708 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 718, .child_index = 101 },1726 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 106 },
1709 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 117 },1727 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 107 },
1710 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 51 },1728 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 108 },
1711 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 118 },1729 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 109 },
1712 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 123 },1730 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 110 },
1713 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 37, .child_index = 124 },1731 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 111 },
1714 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 125 },1732 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 31 },
1715 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 126 },1733 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 718, .child_index = 112 },
1716 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 127 },1734 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 128 },
1717 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 128 },1735 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 58 },
1718 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 130 },1736 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 129 },
1719 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 132 },1737 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 134 },
1720 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 133 },1738 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 37, .child_index = 135 },
1721 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 134 },1739 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 136 },
1722 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 52, .child_index = 135 },1740 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 137 },
1723 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 138 },1741 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 138 },
1724 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 139 },1742 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 139 },
1725 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 140 },1743 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 141 },
1726 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 141 },1744 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 143 },
1727 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 145 },1745 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 144 },
1728 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 146 },1746 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 145 },
1729 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 149 },1747 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 52, .child_index = 146 },
1730 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 151 },1748 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 149 },
1731 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 152 },1749 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 150 },
1732 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 153 },1750 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 151 },
1733 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 154 },1751 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 152 },
1734 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 155 },1752 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 156 },
1735 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 7, .child_index = 156 },1753 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 157 },
1736 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 44, .child_index = 159 },1754 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 160 },
1737 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 161 },1755 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 162 },
1738 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 162 },1756 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 163 },
1739 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 163 },1757 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 164 },
1740 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 165 },1758 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 165 },
1741 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 167 },1759 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 166 },
1742 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 168 },1760 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 7, .child_index = 167 },
1743 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 169 },1761 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 44, .child_index = 170 },
1744 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 172 },1762 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 172 },
1745 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 173 },1763 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 173 },
1746 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 174 },1764 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 174 },
1747 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 175 },1765 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 176 },
1748 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 176 },1766 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 178 },
1749 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 177 },1767 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 179 },
1750 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 178 },1768 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 180 },
1751 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 180 },1769 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 183 },
1752 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 181 },1770 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 184 },
1753 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 182 },1771 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 185 },
1754 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 46, .child_index = 183 },1772 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 186 },
1755 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 60, .child_index = 186 },1773 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 187 },
1756 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 64, .child_index = 188 },1774 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 188 },
1757 .{ .char = 't', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 190 },1775 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 189 },
1758 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 192 },1776 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 191 },
1759 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 168 },1777 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 192 },
1760 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 193 },1778 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 193 },
1761 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 64, .child_index = 52 },1779 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 46, .child_index = 194 },
1762 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 56 },1780 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 60, .child_index = 197 },
1763 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 58 },1781 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 64, .child_index = 199 },
1764 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 59 },1782 .{ .char = 't', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 201 },
1765 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 60 },1783 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 203 },
1766 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 138, .child_index = 61 },1784 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 179 },
1767 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 71 },1785 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 204 },
1768 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 194 },1786 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 205 },
1769 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 75 },1787 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 206 },
1770 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 114, .child_index = 76 },1788 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 207 },
1771 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 81 },1789 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 208 },
1772 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 83 },1790 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 64, .child_index = 59 },
1773 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 32, .child_index = 196 },1791 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 63 },
1774 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 200 },1792 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 65 },
1775 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 237, .child_index = 90 },1793 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 66 },
1776 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 99 },1794 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 67 },
1777 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 202 },1795 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 138, .child_index = 68 },
1796 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 78 },
1797 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 209 },
1798 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 82 },
1799 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 114, .child_index = 83 },
1800 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 88 },
1801 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 90 },
1802 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 32, .child_index = 211 },
1803 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 215 },
1804 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 237, .child_index = 97 },
1805 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 106 },
1806 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 217 },
1778 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1807 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1779 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1808 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1780 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1809 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1781 .{ .char = 'v', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1810 .{ .char = 'v', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1782 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1811 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1783 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 162 },1812 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 173 },
1784 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 203 },1813 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 218 },
1785 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 169 },1814 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 180 },
1786 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 207 },1815 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 222 },
1787 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 26, .child_index = 209 },1816 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 26, .child_index = 224 },
1788 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 212 },1817 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 227 },
1789 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 212 },1818 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 227 },
1790 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 213 },1819 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 228 },
1791 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 213 },1820 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 228 },
1792 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 214 },1821 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 229 },
1793 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 215 },1822 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 230 },
1794 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 218 },1823 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 233 },
1795 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 219 },1824 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 234 },
1796 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 44, .child_index = 220 },1825 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 44, .child_index = 235 },
1797 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 221 },1826 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 236 },
1798 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 222 },1827 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 237 },
1799 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 223 },1828 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 238 },
1800 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 224 },1829 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 239 },
1801 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 225 },1830 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 240 },
1802 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 227 },1831 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 242 },
1803 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 228 },1832 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 243 },
1804 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 229 },1833 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 244 },
1805 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 230 },1834 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 245 },
1806 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 232 },1835 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 247 },
1807 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 233 },1836 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 248 },
1808 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 234 },1837 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 249 },
1809 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 236 },1838 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 251 },
1810 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 237 },1839 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 252 },
1811 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 238 },1840 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 253 },
1812 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 239 },1841 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 254 },
1813 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 240 },1842 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 255 },
1814 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 241 },1843 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 256 },
1815 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 243 },1844 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 258 },
1816 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1845 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1817 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 244 },1846 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 259 },
1818 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1847 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1819 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 245 },1848 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 260 },
1820 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 246 },1849 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 261 },
1821 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 246 },1850 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 261 },
1822 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 214 },1851 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 229 },
1823 .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 248 },1852 .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 263 },
1824 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 251 },1853 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 266 },
1825 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 214 },1854 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 229 },
1826 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 252 },1855 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 267 },
1827 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 213 },1856 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 228 },
1828 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 254 },1857 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 269 },
1829 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 256 },1858 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 271 },
1830 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 257 },1859 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 272 },
1831 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 258 },1860 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 273 },
1832 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 259 },1861 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 274 },
1833 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 260 },1862 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 275 },
1834 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 261 },1863 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 276 },
1835 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 262 },1864 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 277 },
1836 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 263 },1865 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 278 },
1837 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 264 },1866 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 279 },
1838 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 162 },1867 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 173 },
1839 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 214 },1868 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 229 },
1840 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 265 },1869 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 280 },
1841 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 267 },1870 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 282 },
1842 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 268 },1871 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 283 },
1843 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 246 },1872 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 261 },
1844 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 269 },1873 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 284 },
1845 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 246 },1874 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 261 },
1846 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 272 },1875 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 287 },
1847 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 272 },1876 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 287 },
1848 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 56, .child_index = 276 },1877 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 56, .child_index = 291 },
1849 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 278 },1878 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 293 },
1850 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 279 },1879 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 294 },
1851 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1880 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1852 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 280 },1881 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 295 },
1853 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 283 },1882 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 298 },
1854 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 154 },1883 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
1855 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 284 },1884 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 300 },
1856 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 172 },1885 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 301 },
1857 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 173 },1886 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 302 },
1858 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 285 },1887 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 165 },
1859 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 286 },1888 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 303 },
1860 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 287 },1889 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 183 },
1861 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 177 },1890 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 184 },
1862 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 288 },1891 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 304 },
1863 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 289 },1892 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 305 },
1864 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 213 },1893 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 306 },
1865 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 294 },1894 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 188 },
1866 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 295 },1895 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 307 },
1867 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 297 },1896 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 308 },
1868 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 214 },1897 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 228 },
1869 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 301 },1898 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 313 },
1870 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 302 },1899 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 314 },
1871 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 303 },1900 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 316 },
1872 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 258 },1901 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 229 },
1873 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 304 },1902 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 320 },
1874 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 297 },1903 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 321 },
1875 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 308 },1904 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 322 },
1876 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 309 },1905 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 273 },
1877 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 310 },1906 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 323 },
1878 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },1907 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 316 },
1879 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 312 },1908 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 327 },
1880 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 44, .child_index = 313 },1909 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 328 },
1881 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 314 },1910 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 329 },
1882 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },1911 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
1883 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 317 },1912 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 331 },
1884 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 237 },1913 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 44, .child_index = 332 },
1885 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 218 },1914 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 333 },
1886 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 318 },1915 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
1887 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 318 },1916 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 336 },
1888 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 237 },1917 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 252 },
1889 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },1918 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 233 },
1890 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 134 },1919 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 337 },
1891 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 228 },1920 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 337 },
1892 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 320 },1921 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 252 },
1893 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 321 },1922 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
1894 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 322 },1923 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 145 },
1895 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 323 },1924 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 243 },
1896 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 324 },1925 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 339 },
1897 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },1926 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 340 },
1898 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 325 },1927 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 341 },
1899 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 326 },1928 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 342 },
1900 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 326 },1929 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 343 },
1901 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 213 },1930 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
1902 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 213 },1931 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 344 },
1903 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 327 },1932 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 345 },
1904 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 328 },1933 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 345 },
1905 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 252 },1934 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 228 },
1906 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 297 },1935 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 228 },
1907 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 214 },1936 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 346 },
1908 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 329 },1937 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 347 },
1909 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 330 },1938 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 267 },
1910 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 331 },1939 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 316 },
1911 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 213 },1940 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 229 },
1912 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 304 },1941 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 348 },
1913 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 295 },1942 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 349 },
1914 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 256 },1943 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },
1915 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 257 },1944 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 228 },
1945 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 323 },
1946 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 314 },
1947 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 271 },
1948 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 272 },
1916 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1949 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1917 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 332 },1950 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 351 },
1918 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 256 },1951 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 271 },
1919 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 333 },1952 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 352 },
1920 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 213 },1953 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 228 },
1921 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },1954 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 354 },
1922 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 336 },1955 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 355 },
1923 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 339 },1956 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 358 },
1924 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 265 },1957 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 280 },
1925 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 304 },1958 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 323 },
1926 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 213 },1959 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 228 },
1927 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 342 },1960 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 361 },
1928 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 344 },1961 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 363 },
1929 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 304 },1962 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 323 },
1930 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 213 },1963 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 228 },
1931 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 345 },1964 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 364 },
1932 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 304 },1965 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 323 },
1933 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 213 },1966 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 228 },
1934 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 346 },1967 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 365 },
1935 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 348 },1968 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 367 },
1936 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 351 },1969 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 370 },
1937 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 351 },1970 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 370 },
1938 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 214 },1971 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 229 },
1939 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 353 },1972 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 372 },
1940 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 289 },1973 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 308 },
1941 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 294 },1974 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 313 },
1942 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 354 },1975 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 373 },
1943 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 356 },1976 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 375 },
1944 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 357 },1977 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 204 },
1945 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 359 },1978 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 376 },
1946 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 360 },1979 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 377 },
1947 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 21, .child_index = 361 },1980 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 378 },
1948 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 362 },1981 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 379 },
1982 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 381 },
1983 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 382 },
1984 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 21, .child_index = 383 },
1985 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 39, .child_index = 384 },
1949 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1986 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1950 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1987 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1951 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1988 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1952 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1989 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1953 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1990 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1954 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 371 },1991 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 393 },
1955 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 375 },1992 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 397 },
1956 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 376 },1993 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 398 },
1957 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 377 },1994 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 399 },
1958 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 377 },1995 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 399 },
1959 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 377 },1996 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 399 },
1960 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 377 },1997 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 399 },
1961 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 264 },1998 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 279 },
1962 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 378 },1999 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 400 },
1963 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 379 },2000 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 401 },
1964 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2001 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1965 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2002 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1966 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2003 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1967 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2004 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1968 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 381 },2005 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 403 },
1969 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 385 },2006 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 407 },
1970 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 386 },2007 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 408 },
1971 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 387 },2008 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 409 },
1972 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 389 },2009 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 411 },
1973 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 44, .child_index = 390 },2010 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 44, .child_index = 412 },
1974 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 392 },2011 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 414 },
1975 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 394 },2012 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 416 },
1976 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 394 },2013 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 416 },
1977 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 395 },2014 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 417 },
1978 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 387 },2015 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 409 },
1979 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },2016 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
1980 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 398 },2017 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 420 },
1981 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 399 },2018 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 421 },
1982 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 401 },2019 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 423 },
1983 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 402 },2020 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 424 },
1984 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },2021 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
1985 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 404 },2022 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 426 },
1986 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 308 },2023 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 327 },
1987 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 408 },2024 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 430 },
1988 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 409 },2025 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 431 },
1989 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 331 },2026 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },
1990 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 410 },2027 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 432 },
1991 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 257 },2028 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 272 },
1992 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2029 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1993 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 411 },2030 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 433 },
1994 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 412 },2031 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 434 },
1995 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 413 },2032 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 435 },
1996 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 411 },2033 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 433 },
1997 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 412 },2034 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 434 },
1998 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 414 },2035 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 436 },
1999 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 327 },2036 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 346 },
2000 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 213 },2037 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 228 },
2001 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 415 },2038 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 437 },
2002 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 416 },2039 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 438 },
2003 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 304 },2040 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 323 },
2004 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 417 },2041 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 439 },
2005 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 418 },2042 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 440 },
2006 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 419 },2043 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 441 },
2007 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 422 },2044 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 444 },
2008 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 304 },2045 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 323 },
2009 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 213 },2046 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 228 },
2010 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 346 },2047 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 365 },
2011 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 423 },2048 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 445 },
2012 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 425 },2049 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 447 },
2013 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 213 },2050 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 228 },
2014 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 426 },2051 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 448 },
2015 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 427 },2052 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 449 },
2016 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 428 },2053 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 450 },
2017 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 429 },2054 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 377 },
2018 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 430 },2055 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 451 },
2019 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 431 },2056 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 452 },
2020 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 433 },2057 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 453 },
2021 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 21, .child_index = 436 },2058 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 454 },
2022 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 440 },2059 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 455 },
2023 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 441 },2060 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 457 },
2024 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 442 },2061 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 21, .child_index = 460 },
2025 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 446 },2062 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 464 },
2026 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 447 },2063 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 465 },
2027 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 448 },2064 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 466 },
2028 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 450 },2065 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 470 },
2029 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 451 },2066 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 471 },
2030 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 452 },2067 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 472 },
2031 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 453 },2068 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 474 },
2032 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 453 },2069 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 475 },
2033 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 453 },2070 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 476 },
2034 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 453 },2071 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 477 },
2035 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 454 },2072 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 477 },
2036 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 454 },2073 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 477 },
2074 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 477 },
2075 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 478 },
2076 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 478 },
2037 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2077 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2038 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 265 },2078 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 280 },
2039 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 254 },2079 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 269 },
2040 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 265 },2080 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 280 },
2041 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 455 },2081 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 479 },
2042 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 457 },2082 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 481 },
2043 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 459 },2083 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 483 },
2044 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 461 },2084 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 485 },
2045 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 459 },2085 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 483 },
2046 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 463 },2086 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 487 },
2047 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2087 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2048 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2088 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2049 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },2089 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
2050 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 464 },2090 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 488 },
2051 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 464 },2091 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 488 },
2052 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 470 },2092 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 494 },
2053 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 471 },2093 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 495 },
2054 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 472 },2094 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 496 },
2055 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 474 },2095 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 498 },
2056 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 476 },2096 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 500 },
2057 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 476 },2097 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 500 },
2058 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 477 },2098 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 501 },
2059 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 387 },2099 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 409 },
2060 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 479 },2100 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 503 },
2061 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 477 },2101 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 501 },
2062 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 483 },2102 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 507 },
2063 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 485 },2103 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 509 },
2064 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 486 },2104 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 510 },
2065 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 488 },2105 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 512 },
2066 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 488 },2106 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 512 },
2067 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 489 },2107 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 513 },
2068 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 493 },2108 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 517 },
2069 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 213 },2109 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 228 },
2070 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 213 },2110 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 228 },
2071 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 213 },2111 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 228 },
2072 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 213 },2112 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 228 },
2073 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 494 },2113 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 518 },
2074 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 495 },2114 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 519 },
2075 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 265 },2115 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 280 },
2076 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 213 },2116 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 228 },
2077 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 411 },2117 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 433 },
2078 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 496 },2118 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 520 },
2079 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 497 },2119 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 521 },
2080 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 413 },2120 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 435 },
2081 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 471 },2121 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 495 },
2082 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 498 },2122 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 522 },
2083 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 502 },2123 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 526 },
2084 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 505 },2124 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 529 },
2085 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 423 },2125 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 445 },
2086 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 506 },2126 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 530 },
2087 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 506 },2127 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 530 },
2088 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 507 },2128 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 531 },
2089 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 508 },2129 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 532 },
2090 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 509 },2130 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 533 },
2091 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 494 },2131 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 534 },
2092 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 510 },2132 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 535 },
2093 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 411 },2133 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 518 },
2094 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 412 },2134 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 536 },
2095 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 511 },2135 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 433 },
2096 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 512 },2136 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 434 },
2097 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 327 },2137 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 537 },
2098 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 213 },2138 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 538 },
2099 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 513 },2139 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 346 },
2100 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 514 },2140 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 228 },
2101 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 515 },2141 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 539 },
2102 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 516 },2142 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 540 },
2103 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 517 },2143 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 541 },
2104 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 518 },2144 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 542 },
2105 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 519 },2145 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 543 },
2106 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 520 },2146 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 544 },
2107 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 521 },2147 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 545 },
2108 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 520 },2148 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 546 },
2109 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 523 },2149 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 547 },
2110 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 524 },2150 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 546 },
2111 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 526 },2151 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 549 },
2112 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 527 },2152 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 550 },
2153 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 552 },
2154 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 553 },
2113 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2155 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2114 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 528 },2156 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 554 },
2115 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 494 },2157 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 518 },
2116 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 532 },2158 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 558 },
2117 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 332 },2159 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 351 },
2118 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 533 },2160 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
2119 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 534 },2161 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 560 },
2120 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 535 },2162 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 561 },
2121 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 536 },2163 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 562 },
2122 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 537 },2164 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 563 },
2123 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 213 },2165 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 228 },
2124 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 538 },2166 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 564 },
2125 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 539 },2167 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 565 },
2126 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 540 },2168 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 566 },
2127 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 542 },2169 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 568 },
2128 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 543 },2170 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 569 },
2129 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 544 },2171 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 570 },
2130 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 547 },2172 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 573 },
2131 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 534 },2173 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 560 },
2132 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 470 },2174 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 494 },
2133 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 497 },2175 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 521 },
2134 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 548 },2176 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 574 },
2135 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 549 },2177 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 575 },
2136 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 550 },2178 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 576 },
2137 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 387 },2179 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 409 },
2138 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },2180 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
2139 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 311 },2181 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 330 },
2140 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 542 },2182 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 568 },
2141 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 311 },2183 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 330 },
2142 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },2184 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
2143 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2185 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2144 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2186 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2145 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 483 },2187 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 507 },
2146 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 551 },2188 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 577 },
2147 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 553 },2189 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 579 },
2148 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 555 },2190 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 581 },
2149 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 556 },2191 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 582 },
2150 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 559 },2192 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 585 },
2151 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 556 },2193 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 582 },
2152 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 560 },2194 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 586 },
2153 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 563 },2195 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 589 },
2154 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2196 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2155 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 564 },2197 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 590 },
2156 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 565 },2198 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 591 },
2157 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 536 },2199 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 562 },
2158 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 497 },2200 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 521 },
2159 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 568 },2201 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 594 },
2160 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 413 },2202 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 435 },
2161 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 471 },2203 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 495 },
2162 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 569 },2204 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 595 },
2163 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 571 },2205 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 597 },
2164 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 551 },2206 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 577 },
2165 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 573 },2207 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 599 },
2166 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 577 },2208 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 603 },
2167 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 581 },2209 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 607 },
2168 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 584 },2210 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 608 },
2169 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 585 },2211 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 609 },
2170 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 586 },2212 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 612 },
2171 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 589 },2213 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 613 },
2172 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 591 },2214 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 614 },
2173 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 592 },2215 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 617 },
2174 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 594 },2216 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 619 },
2175 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 595 },2217 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 620 },
2176 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 596 },2218 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 622 },
2177 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 597 },2219 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 623 },
2178 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 598 },2220 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 624 },
2179 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 600 },2221 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 625 },
2180 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 603 },2222 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 626 },
2181 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 604 },2223 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 628 },
2182 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 605 },2224 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 631 },
2183 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 606 },2225 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 632 },
2184 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 607 },2226 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 633 },
2185 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 608 },2227 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 634 },
2186 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 609 },2228 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 635 },
2187 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 611 },2229 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 636 },
2188 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 612 },2230 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 637 },
2189 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 613 },2231 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 639 },
2190 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 614 },2232 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 640 },
2191 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 615 },2233 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 641 },
2192 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 616 },2234 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 642 },
2193 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 617 },2235 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 643 },
2236 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 644 },
2237 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 645 },
2194 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2238 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2195 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 618 },2239 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 646 },
2196 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2240 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2197 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 619 },2241 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 647 },
2198 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },2242 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
2199 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },2243 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
2200 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 311 },2244 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 330 },
2201 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },2245 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
2202 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },2246 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
2203 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },2247 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
2204 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 539 },2248 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 565 },
2205 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 540 },2249 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 566 },
2206 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 477 },2250 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 501 },
2207 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2251 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2208 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 620 },2252 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 648 },
2209 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 621 },2253 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 649 },
2210 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 413 },2254 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 435 },
2211 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 534 },2255 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 560 },
2212 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 471 },2256 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 495 },
2213 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 387 },2257 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 409 },
2214 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 470 },2258 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 494 },
2215 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 470 },2259 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 494 },
2216 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 623 },2260 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 651 },
2217 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 488 },2261 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 512 },
2218 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 488 },2262 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },
2219 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 556 },2263 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 582 },
2220 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 486 },2264 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 510 },
2221 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 488 },2265 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 512 },
2222 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 488 },2266 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },
2223 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 213 },2267 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 228 },
2224 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 625 },2268 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 653 },
2225 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 455 },2269 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 479 },
2226 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 457 },2270 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 481 },
2227 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 461 },2271 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 485 },
2228 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 626 },2272 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
2229 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 536 },2273 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 562 },
2230 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 497 },2274 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 521 },
2231 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 494 },2275 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 518 },
2232 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 413 },2276 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 435 },
2233 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 569 },2277 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 595 },
2234 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 627 },2278 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 655 },
2235 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 571 },2279 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 597 },
2236 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 551 },2280 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 577 },
2237 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 629 },2281 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 657 },
2238 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 630 },2282 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 658 },
2239 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 631 },2283 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 659 },
2240 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 632 },2284 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 660 },
2241 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 633 },2285 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 409 },
2242 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 457 },2286 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 661 },
2243 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 635 },2287 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 662 },
2244 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 637 },2288 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 481 },
2245 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 638 },2289 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 664 },
2290 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 666 },
2291 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 667 },
2246 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2292 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2247 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2293 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2248 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2294 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2249 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 640 },2295 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 669 },
2250 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 641 },2296 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 670 },
2251 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 643 },2297 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 672 },
2252 .{ .char = '0', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 644 },2298 .{ .char = '0', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 673 },
2253 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 304 },2299 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 323 },
2254 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 645 },2300 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 674 },
2255 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 647 },2301 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 676 },
2256 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 648 },2302 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 677 },
2257 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },2303 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 678 },
2258 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 650 },2304 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 679 },
2259 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 651 },2305 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 680 },
2260 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 652 },2306 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 681 },
2261 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 637 },2307 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 666 },
2262 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 653 },2308 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 682 },
2263 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2309 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2264 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 654 },2310 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 683 },
2265 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 655 },2311 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 684 },
2266 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 656 },2312 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 685 },
2267 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 657 },2313 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 686 },
2268 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 658 },2314 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 687 },
2269 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 659 },2315 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 688 },
2270 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 660 },2316 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 689 },
2271 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 661 },2317 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 690 },
2272 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 662 },2318 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 691 },
2273 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 663 },2319 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 692 },
2274 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 664 },2320 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 693 },
2275 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 665 },2321 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 694 },
2276 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 453 },2322 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 477 },
2277 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 453 },2323 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 477 },
2278 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 453 },2324 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 477 },
2279 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 453 },2325 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 477 },
2280 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 377 },2326 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 399 },
2281 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2327 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2282 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 377 },2328 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 399 },
2283 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 471 },2329 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 495 },
2284 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },2330 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
2285 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 214 },2331 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 229 },
2286 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2332 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2287 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 626 },2333 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 654 },
2288 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },2334 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 594 },
2289 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 666 },2335 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 695 },
2290 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 667 },2336 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 696 },
2291 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 668 },2337 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 697 },
2292 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 669 },2338 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 698 },
2293 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 670 },2339 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 699 },
2294 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 673 },2340 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 700 },
2295 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 483 },2341 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 703 },
2296 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 674 },2342 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 507 },
2297 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 585 },2343 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 704 },
2344 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 613 },
2298 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2345 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2299 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2346 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2300 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 675 },2347 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 705 },
2301 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 676 },2348 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 706 },
2302 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 676 },2349 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 706 },
2303 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 677 },2350 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 707 },
2304 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 289 },2351 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 308 },
2305 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 678 },2352 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 708 },
2306 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 658 },2353 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 687 },
2307 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2354 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2308 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 585 },2355 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 613 },
2309 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 679 },2356 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 709 },
2310 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 680 },2357 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 710 },
2311 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 650 },2358 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 679 },
2312 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 585 },2359 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 613 },
2313 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 681 },2360 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 711 },
2314 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 682 },2361 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 712 },
2315 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 683 },2362 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 713 },
2316 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 684 },2363 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 714 },
2317 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 471 },2364 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 495 },
2318 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 471 },2365 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 495 },
2319 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 686 },2366 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 716 },
2320 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 687 },2367 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 717 },
2321 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 688 },2368 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 718 },
2322 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 689 },2369 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 719 },
2323 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 690 },2370 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 720 },
2324 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 691 },2371 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 721 },
2325 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 692 },2372 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 722 },
2326 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 377 },2373 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 399 },
2327 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 377 },2374 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 399 },
2328 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 377 },2375 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 399 },
2329 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 377 },2376 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 399 },
2377 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 723 },
2330 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2378 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2331 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2379 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2332 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2380 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2333 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 693 },2381 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 725 },
2334 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 696 },2382 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 728 },
2335 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 698 },2383 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 730 },
2336 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 699 },2384 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 731 },
2337 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 416 },2385 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 438 },
2338 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 471 },2386 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 495 },
2339 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2387 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2340 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 700 },2388 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 732 },
2341 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 704 },2389 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 736 },
2342 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 542 },2390 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 568 },
2343 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 542 },2391 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 568 },
2344 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 412 },2392 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 434 },
2345 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 563 },2393 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 589 },
2346 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 705 },2394 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 737 },
2347 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 706 },2395 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 738 },
2348 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 707 },2396 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 739 },
2349 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 708 },2397 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 740 },
2350 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 709 },2398 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 741 },
2351 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 710 },2399 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 742 },
2352 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 711 },2400 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 743 },
2353 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 453 },2401 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 744 },
2354 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 453 },2402 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 745 },
2355 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 453 },2403 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 477 },
2356 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 453 },2404 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 477 },
2357 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 453 },2405 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 477 },
2358 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 712 },2406 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 477 },
2407 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 477 },
2408 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 746 },
2359 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2409 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2360 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 413 },2410 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 435 },
2361 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 413 },2411 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 435 },
2362 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 413 },2412 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 435 },
2363 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 413 },2413 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 435 },
2364 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 585 },2414 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 613 },
2365 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 714 },2415 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 748 },
2366 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 715 },2416 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 749 },
2367 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2417 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2368 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 494 },2418 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 518 },
2369 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 332 },2419 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 351 },
2370 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 534 },2420 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 560 },
2371 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 536 },2421 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 562 },
2372 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 377 },2422 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 607 },
2373 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 377 },2423 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 607 },
2374 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 716 },2424 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 399 },
2375 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 717 },2425 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 399 },
2376 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 603 },2426 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 750 },
2377 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 603 },2427 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 751 },
2428 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 631 },
2429 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 631 },
2378};2430};
2379pub const data = blk: {2431pub const data = blk: {
2380 @setEvalBranchQuota(13491);2432 @setEvalBranchQuota(13653);
2381 break :blk [_]Properties{2433 break :blk [_]Properties{
2434 .{ .param_str = "V4LLiV2LLi", .attributes = .{ .@"const" = true }, .features = "lasx" },
2435 .{ .param_str = "V4dV2d", .attributes = .{ .@"const" = true }, .features = "lasx" },
2436 .{ .param_str = "V8fV4f", .attributes = .{ .@"const" = true }, .features = "lasx" },
2437 .{ .param_str = "V4LLiV2LLiV2LLi", .attributes = .{ .@"const" = true }, .features = "lasx" },
2438 .{ .param_str = "V4dV2dV2d", .attributes = .{ .@"const" = true }, .features = "lasx" },
2439 .{ .param_str = "V8fV4fV4f", .attributes = .{ .@"const" = true }, .features = "lasx" },
2440 .{ .param_str = "V2LLiV4LLi", .attributes = .{ .@"const" = true }, .features = "lasx" },
2441 .{ .param_str = "V2dV4d", .attributes = .{ .@"const" = true }, .features = "lasx" },
2442 .{ .param_str = "V4fV8f", .attributes = .{ .@"const" = true }, .features = "lasx" },
2443 .{ .param_str = "V2LLiV4LLi", .attributes = .{ .@"const" = true }, .features = "lasx" },
2444 .{ .param_str = "V2dV4d", .attributes = .{ .@"const" = true }, .features = "lasx" },
2445 .{ .param_str = "V4fV8f", .attributes = .{ .@"const" = true }, .features = "lasx" },
2446 .{ .param_str = "V4LLiV4LLiV2LLi", .attributes = .{ .@"const" = true }, .features = "lasx" },
2447 .{ .param_str = "V4dV4dV2d", .attributes = .{ .@"const" = true }, .features = "lasx" },
2448 .{ .param_str = "V8fV8fV4f", .attributes = .{ .@"const" = true }, .features = "lasx" },
2449 .{ .param_str = "V4LLiV4LLiV2LLi", .attributes = .{ .@"const" = true }, .features = "lasx" },
2450 .{ .param_str = "V4dV4dV2d", .attributes = .{ .@"const" = true }, .features = "lasx" },
2451 .{ .param_str = "V8fV8fV4f", .attributes = .{ .@"const" = true }, .features = "lasx" },
2382 .{ .param_str = "V4LLiV32Sc", .attributes = .{ .@"const" = true }, .features = "lasx" },2452 .{ .param_str = "V4LLiV32Sc", .attributes = .{ .@"const" = true }, .features = "lasx" },
2383 .{ .param_str = "V4LLiV16s", .attributes = .{ .@"const" = true }, .features = "lasx" },2453 .{ .param_str = "V4LLiV16s", .attributes = .{ .@"const" = true }, .features = "lasx" },
2384 .{ .param_str = "V4LLiV8Si", .attributes = .{ .@"const" = true }, .features = "lasx" },2454 .{ .param_str = "V4LLiV8Si", .attributes = .{ .@"const" = true }, .features = "lasx" },
lib/compiler/aro/aro/Builtins/neon.zig created+3606
...@@ -0,0 +1,3606 @@
1//! Autogenerated by GenerateDef from src/aro/Builtins/neon.def, do not edit
2// zig fmt: off
3
4const std = @import("std");
5
6pub fn with(comptime Properties: type) type {
7return struct {
8
9/// Integer starting at 0 derived from the unique index,
10/// corresponds with the data array index.
11pub const Tag = enum(u16) { __builtin_neon___a32_vcvt_bf16_f32,
12 __builtin_neon_splat_lane_bf16,
13 __builtin_neon_splat_lane_v,
14 __builtin_neon_splat_laneq_bf16,
15 __builtin_neon_splat_laneq_v,
16 __builtin_neon_splatq_lane_bf16,
17 __builtin_neon_splatq_lane_v,
18 __builtin_neon_splatq_laneq_bf16,
19 __builtin_neon_splatq_laneq_v,
20 __builtin_neon_vabd_f16,
21 __builtin_neon_vabd_v,
22 __builtin_neon_vabdd_f64,
23 __builtin_neon_vabdq_f16,
24 __builtin_neon_vabdq_v,
25 __builtin_neon_vabds_f32,
26 __builtin_neon_vabs_f16,
27 __builtin_neon_vabs_v,
28 __builtin_neon_vabsd_s64,
29 __builtin_neon_vabsq_f16,
30 __builtin_neon_vabsq_v,
31 __builtin_neon_vadd_v,
32 __builtin_neon_vaddd_s64,
33 __builtin_neon_vaddd_u64,
34 __builtin_neon_vaddhn_v,
35 __builtin_neon_vaddlv_s16,
36 __builtin_neon_vaddlv_s32,
37 __builtin_neon_vaddlv_s8,
38 __builtin_neon_vaddlv_u16,
39 __builtin_neon_vaddlv_u32,
40 __builtin_neon_vaddlv_u8,
41 __builtin_neon_vaddlvq_s16,
42 __builtin_neon_vaddlvq_s32,
43 __builtin_neon_vaddlvq_s8,
44 __builtin_neon_vaddlvq_u16,
45 __builtin_neon_vaddlvq_u32,
46 __builtin_neon_vaddlvq_u8,
47 __builtin_neon_vaddq_p128,
48 __builtin_neon_vaddq_v,
49 __builtin_neon_vaddv_f32,
50 __builtin_neon_vaddv_s16,
51 __builtin_neon_vaddv_s32,
52 __builtin_neon_vaddv_s8,
53 __builtin_neon_vaddv_u16,
54 __builtin_neon_vaddv_u32,
55 __builtin_neon_vaddv_u8,
56 __builtin_neon_vaddvq_f32,
57 __builtin_neon_vaddvq_f64,
58 __builtin_neon_vaddvq_s16,
59 __builtin_neon_vaddvq_s32,
60 __builtin_neon_vaddvq_s64,
61 __builtin_neon_vaddvq_s8,
62 __builtin_neon_vaddvq_u16,
63 __builtin_neon_vaddvq_u32,
64 __builtin_neon_vaddvq_u64,
65 __builtin_neon_vaddvq_u8,
66 __builtin_neon_vaesdq_u8,
67 __builtin_neon_vaeseq_u8,
68 __builtin_neon_vaesimcq_u8,
69 __builtin_neon_vaesmcq_u8,
70 __builtin_neon_vamax_f16,
71 __builtin_neon_vamax_f32,
72 __builtin_neon_vamaxq_f16,
73 __builtin_neon_vamaxq_f32,
74 __builtin_neon_vamaxq_f64,
75 __builtin_neon_vamin_f16,
76 __builtin_neon_vamin_f32,
77 __builtin_neon_vaminq_f16,
78 __builtin_neon_vaminq_f32,
79 __builtin_neon_vaminq_f64,
80 __builtin_neon_vbcaxq_s16,
81 __builtin_neon_vbcaxq_s32,
82 __builtin_neon_vbcaxq_s64,
83 __builtin_neon_vbcaxq_s8,
84 __builtin_neon_vbcaxq_u16,
85 __builtin_neon_vbcaxq_u32,
86 __builtin_neon_vbcaxq_u64,
87 __builtin_neon_vbcaxq_u8,
88 __builtin_neon_vbfdot_f32,
89 __builtin_neon_vbfdotq_f32,
90 __builtin_neon_vbfmlalbq_f32,
91 __builtin_neon_vbfmlaltq_f32,
92 __builtin_neon_vbfmmlaq_f32,
93 __builtin_neon_vbsl_v,
94 __builtin_neon_vbslq_v,
95 __builtin_neon_vcadd_rot270_f16,
96 __builtin_neon_vcadd_rot270_f32,
97 __builtin_neon_vcadd_rot90_f16,
98 __builtin_neon_vcadd_rot90_f32,
99 __builtin_neon_vcaddq_rot270_f16,
100 __builtin_neon_vcaddq_rot270_f32,
101 __builtin_neon_vcaddq_rot270_f64,
102 __builtin_neon_vcaddq_rot90_f16,
103 __builtin_neon_vcaddq_rot90_f32,
104 __builtin_neon_vcaddq_rot90_f64,
105 __builtin_neon_vcage_f16,
106 __builtin_neon_vcage_v,
107 __builtin_neon_vcaged_f64,
108 __builtin_neon_vcageq_f16,
109 __builtin_neon_vcageq_v,
110 __builtin_neon_vcages_f32,
111 __builtin_neon_vcagt_f16,
112 __builtin_neon_vcagt_v,
113 __builtin_neon_vcagtd_f64,
114 __builtin_neon_vcagtq_f16,
115 __builtin_neon_vcagtq_v,
116 __builtin_neon_vcagts_f32,
117 __builtin_neon_vcale_f16,
118 __builtin_neon_vcale_v,
119 __builtin_neon_vcaled_f64,
120 __builtin_neon_vcaleq_f16,
121 __builtin_neon_vcaleq_v,
122 __builtin_neon_vcales_f32,
123 __builtin_neon_vcalt_f16,
124 __builtin_neon_vcalt_v,
125 __builtin_neon_vcaltd_f64,
126 __builtin_neon_vcaltq_f16,
127 __builtin_neon_vcaltq_v,
128 __builtin_neon_vcalts_f32,
129 __builtin_neon_vceqd_f64,
130 __builtin_neon_vceqd_s64,
131 __builtin_neon_vceqd_u64,
132 __builtin_neon_vceqs_f32,
133 __builtin_neon_vceqz_f16,
134 __builtin_neon_vceqz_v,
135 __builtin_neon_vceqzd_f64,
136 __builtin_neon_vceqzd_s64,
137 __builtin_neon_vceqzd_u64,
138 __builtin_neon_vceqzq_f16,
139 __builtin_neon_vceqzq_v,
140 __builtin_neon_vceqzs_f32,
141 __builtin_neon_vcged_f64,
142 __builtin_neon_vcged_s64,
143 __builtin_neon_vcged_u64,
144 __builtin_neon_vcges_f32,
145 __builtin_neon_vcgez_f16,
146 __builtin_neon_vcgez_v,
147 __builtin_neon_vcgezd_f64,
148 __builtin_neon_vcgezd_s64,
149 __builtin_neon_vcgezq_f16,
150 __builtin_neon_vcgezq_v,
151 __builtin_neon_vcgezs_f32,
152 __builtin_neon_vcgtd_f64,
153 __builtin_neon_vcgtd_s64,
154 __builtin_neon_vcgtd_u64,
155 __builtin_neon_vcgts_f32,
156 __builtin_neon_vcgtz_f16,
157 __builtin_neon_vcgtz_v,
158 __builtin_neon_vcgtzd_f64,
159 __builtin_neon_vcgtzd_s64,
160 __builtin_neon_vcgtzq_f16,
161 __builtin_neon_vcgtzq_v,
162 __builtin_neon_vcgtzs_f32,
163 __builtin_neon_vcled_f64,
164 __builtin_neon_vcled_s64,
165 __builtin_neon_vcled_u64,
166 __builtin_neon_vcles_f32,
167 __builtin_neon_vclez_f16,
168 __builtin_neon_vclez_v,
169 __builtin_neon_vclezd_f64,
170 __builtin_neon_vclezd_s64,
171 __builtin_neon_vclezq_f16,
172 __builtin_neon_vclezq_v,
173 __builtin_neon_vclezs_f32,
174 __builtin_neon_vcls_v,
175 __builtin_neon_vclsq_v,
176 __builtin_neon_vcltd_f64,
177 __builtin_neon_vcltd_s64,
178 __builtin_neon_vcltd_u64,
179 __builtin_neon_vclts_f32,
180 __builtin_neon_vcltz_f16,
181 __builtin_neon_vcltz_v,
182 __builtin_neon_vcltzd_f64,
183 __builtin_neon_vcltzd_s64,
184 __builtin_neon_vcltzq_f16,
185 __builtin_neon_vcltzq_v,
186 __builtin_neon_vcltzs_f32,
187 __builtin_neon_vclz_v,
188 __builtin_neon_vclzq_v,
189 __builtin_neon_vcmla_f16,
190 __builtin_neon_vcmla_f32,
191 __builtin_neon_vcmla_rot180_f16,
192 __builtin_neon_vcmla_rot180_f32,
193 __builtin_neon_vcmla_rot270_f16,
194 __builtin_neon_vcmla_rot270_f32,
195 __builtin_neon_vcmla_rot90_f16,
196 __builtin_neon_vcmla_rot90_f32,
197 __builtin_neon_vcmlaq_f16,
198 __builtin_neon_vcmlaq_f32,
199 __builtin_neon_vcmlaq_f64,
200 __builtin_neon_vcmlaq_rot180_f16,
201 __builtin_neon_vcmlaq_rot180_f32,
202 __builtin_neon_vcmlaq_rot180_f64,
203 __builtin_neon_vcmlaq_rot270_f16,
204 __builtin_neon_vcmlaq_rot270_f32,
205 __builtin_neon_vcmlaq_rot270_f64,
206 __builtin_neon_vcmlaq_rot90_f16,
207 __builtin_neon_vcmlaq_rot90_f32,
208 __builtin_neon_vcmlaq_rot90_f64,
209 __builtin_neon_vcnt_v,
210 __builtin_neon_vcntq_v,
211 __builtin_neon_vcvt1_bf16_mf8_fpm,
212 __builtin_neon_vcvt1_f16_mf8_fpm,
213 __builtin_neon_vcvt1_high_bf16_mf8_fpm,
214 __builtin_neon_vcvt1_high_f16_mf8_fpm,
215 __builtin_neon_vcvt1_low_bf16_mf8_fpm,
216 __builtin_neon_vcvt1_low_f16_mf8_fpm,
217 __builtin_neon_vcvt2_bf16_mf8_fpm,
218 __builtin_neon_vcvt2_f16_mf8_fpm,
219 __builtin_neon_vcvt2_high_bf16_mf8_fpm,
220 __builtin_neon_vcvt2_high_f16_mf8_fpm,
221 __builtin_neon_vcvt2_low_bf16_mf8_fpm,
222 __builtin_neon_vcvt2_low_f16_mf8_fpm,
223 __builtin_neon_vcvt_bf16_f32,
224 __builtin_neon_vcvt_f16_f32,
225 __builtin_neon_vcvt_f16_s16,
226 __builtin_neon_vcvt_f16_u16,
227 __builtin_neon_vcvt_f32_f16,
228 __builtin_neon_vcvt_f32_f64,
229 __builtin_neon_vcvt_f32_v,
230 __builtin_neon_vcvt_f64_f32,
231 __builtin_neon_vcvt_f64_v,
232 __builtin_neon_vcvt_high_mf8_f32_fpm,
233 __builtin_neon_vcvt_mf8_f16_fpm,
234 __builtin_neon_vcvt_mf8_f32_fpm,
235 __builtin_neon_vcvt_n_f16_s16,
236 __builtin_neon_vcvt_n_f16_u16,
237 __builtin_neon_vcvt_n_f32_v,
238 __builtin_neon_vcvt_n_f64_v,
239 __builtin_neon_vcvt_n_s16_f16,
240 __builtin_neon_vcvt_n_s32_v,
241 __builtin_neon_vcvt_n_s64_v,
242 __builtin_neon_vcvt_n_u16_f16,
243 __builtin_neon_vcvt_n_u32_v,
244 __builtin_neon_vcvt_n_u64_v,
245 __builtin_neon_vcvt_s16_f16,
246 __builtin_neon_vcvt_s32_v,
247 __builtin_neon_vcvt_s64_v,
248 __builtin_neon_vcvt_u16_f16,
249 __builtin_neon_vcvt_u32_v,
250 __builtin_neon_vcvt_u64_v,
251 __builtin_neon_vcvta_s16_f16,
252 __builtin_neon_vcvta_s32_v,
253 __builtin_neon_vcvta_s64_v,
254 __builtin_neon_vcvta_u16_f16,
255 __builtin_neon_vcvta_u32_v,
256 __builtin_neon_vcvta_u64_v,
257 __builtin_neon_vcvtad_s32_f64,
258 __builtin_neon_vcvtad_s64_f64,
259 __builtin_neon_vcvtad_u32_f64,
260 __builtin_neon_vcvtad_u64_f64,
261 __builtin_neon_vcvtaq_s16_f16,
262 __builtin_neon_vcvtaq_s32_v,
263 __builtin_neon_vcvtaq_s64_v,
264 __builtin_neon_vcvtaq_u16_f16,
265 __builtin_neon_vcvtaq_u32_v,
266 __builtin_neon_vcvtaq_u64_v,
267 __builtin_neon_vcvtas_s32_f32,
268 __builtin_neon_vcvtas_s64_f32,
269 __builtin_neon_vcvtas_u32_f32,
270 __builtin_neon_vcvtas_u64_f32,
271 __builtin_neon_vcvtd_f64_s64,
272 __builtin_neon_vcvtd_f64_u64,
273 __builtin_neon_vcvtd_n_f64_s64,
274 __builtin_neon_vcvtd_n_f64_u64,
275 __builtin_neon_vcvtd_n_s64_f64,
276 __builtin_neon_vcvtd_n_u64_f64,
277 __builtin_neon_vcvtd_s32_f64,
278 __builtin_neon_vcvtd_s64_f64,
279 __builtin_neon_vcvtd_u32_f64,
280 __builtin_neon_vcvtd_u64_f64,
281 __builtin_neon_vcvth_bf16_f32,
282 __builtin_neon_vcvtm_s16_f16,
283 __builtin_neon_vcvtm_s32_v,
284 __builtin_neon_vcvtm_s64_v,
285 __builtin_neon_vcvtm_u16_f16,
286 __builtin_neon_vcvtm_u32_v,
287 __builtin_neon_vcvtm_u64_v,
288 __builtin_neon_vcvtmd_s32_f64,
289 __builtin_neon_vcvtmd_s64_f64,
290 __builtin_neon_vcvtmd_u32_f64,
291 __builtin_neon_vcvtmd_u64_f64,
292 __builtin_neon_vcvtmq_s16_f16,
293 __builtin_neon_vcvtmq_s32_v,
294 __builtin_neon_vcvtmq_s64_v,
295 __builtin_neon_vcvtmq_u16_f16,
296 __builtin_neon_vcvtmq_u32_v,
297 __builtin_neon_vcvtmq_u64_v,
298 __builtin_neon_vcvtms_s32_f32,
299 __builtin_neon_vcvtms_s64_f32,
300 __builtin_neon_vcvtms_u32_f32,
301 __builtin_neon_vcvtms_u64_f32,
302 __builtin_neon_vcvtn_s16_f16,
303 __builtin_neon_vcvtn_s32_v,
304 __builtin_neon_vcvtn_s64_v,
305 __builtin_neon_vcvtn_u16_f16,
306 __builtin_neon_vcvtn_u32_v,
307 __builtin_neon_vcvtn_u64_v,
308 __builtin_neon_vcvtnd_s32_f64,
309 __builtin_neon_vcvtnd_s64_f64,
310 __builtin_neon_vcvtnd_u32_f64,
311 __builtin_neon_vcvtnd_u64_f64,
312 __builtin_neon_vcvtnq_s16_f16,
313 __builtin_neon_vcvtnq_s32_v,
314 __builtin_neon_vcvtnq_s64_v,
315 __builtin_neon_vcvtnq_u16_f16,
316 __builtin_neon_vcvtnq_u32_v,
317 __builtin_neon_vcvtnq_u64_v,
318 __builtin_neon_vcvtns_s32_f32,
319 __builtin_neon_vcvtns_s64_f32,
320 __builtin_neon_vcvtns_u32_f32,
321 __builtin_neon_vcvtns_u64_f32,
322 __builtin_neon_vcvtp_s16_f16,
323 __builtin_neon_vcvtp_s32_v,
324 __builtin_neon_vcvtp_s64_v,
325 __builtin_neon_vcvtp_u16_f16,
326 __builtin_neon_vcvtp_u32_v,
327 __builtin_neon_vcvtp_u64_v,
328 __builtin_neon_vcvtpd_s32_f64,
329 __builtin_neon_vcvtpd_s64_f64,
330 __builtin_neon_vcvtpd_u32_f64,
331 __builtin_neon_vcvtpd_u64_f64,
332 __builtin_neon_vcvtpq_s16_f16,
333 __builtin_neon_vcvtpq_s32_v,
334 __builtin_neon_vcvtpq_s64_v,
335 __builtin_neon_vcvtpq_u16_f16,
336 __builtin_neon_vcvtpq_u32_v,
337 __builtin_neon_vcvtpq_u64_v,
338 __builtin_neon_vcvtps_s32_f32,
339 __builtin_neon_vcvtps_s64_f32,
340 __builtin_neon_vcvtps_u32_f32,
341 __builtin_neon_vcvtps_u64_f32,
342 __builtin_neon_vcvtq_f16_s16,
343 __builtin_neon_vcvtq_f16_u16,
344 __builtin_neon_vcvtq_f32_v,
345 __builtin_neon_vcvtq_f64_v,
346 __builtin_neon_vcvtq_high_bf16_f32,
347 __builtin_neon_vcvtq_low_bf16_f32,
348 __builtin_neon_vcvtq_mf8_f16_fpm,
349 __builtin_neon_vcvtq_n_f16_s16,
350 __builtin_neon_vcvtq_n_f16_u16,
351 __builtin_neon_vcvtq_n_f32_v,
352 __builtin_neon_vcvtq_n_f64_v,
353 __builtin_neon_vcvtq_n_s16_f16,
354 __builtin_neon_vcvtq_n_s32_v,
355 __builtin_neon_vcvtq_n_s64_v,
356 __builtin_neon_vcvtq_n_u16_f16,
357 __builtin_neon_vcvtq_n_u32_v,
358 __builtin_neon_vcvtq_n_u64_v,
359 __builtin_neon_vcvtq_s16_f16,
360 __builtin_neon_vcvtq_s32_v,
361 __builtin_neon_vcvtq_s64_v,
362 __builtin_neon_vcvtq_u16_f16,
363 __builtin_neon_vcvtq_u32_v,
364 __builtin_neon_vcvtq_u64_v,
365 __builtin_neon_vcvts_f32_s32,
366 __builtin_neon_vcvts_f32_u32,
367 __builtin_neon_vcvts_n_f32_s32,
368 __builtin_neon_vcvts_n_f32_u32,
369 __builtin_neon_vcvts_n_s32_f32,
370 __builtin_neon_vcvts_n_u32_f32,
371 __builtin_neon_vcvts_s32_f32,
372 __builtin_neon_vcvts_s64_f32,
373 __builtin_neon_vcvts_u32_f32,
374 __builtin_neon_vcvts_u64_f32,
375 __builtin_neon_vcvtx_f32_v,
376 __builtin_neon_vcvtxd_f32_f64,
377 __builtin_neon_vdot_f16_mf8_fpm,
378 __builtin_neon_vdot_f32_mf8_fpm,
379 __builtin_neon_vdot_lane_f16_mf8_fpm,
380 __builtin_neon_vdot_lane_f32_mf8_fpm,
381 __builtin_neon_vdot_laneq_f16_mf8_fpm,
382 __builtin_neon_vdot_laneq_f32_mf8_fpm,
383 __builtin_neon_vdot_s32,
384 __builtin_neon_vdot_u32,
385 __builtin_neon_vdotq_f16_mf8_fpm,
386 __builtin_neon_vdotq_f32_mf8_fpm,
387 __builtin_neon_vdotq_lane_f16_mf8_fpm,
388 __builtin_neon_vdotq_lane_f32_mf8_fpm,
389 __builtin_neon_vdotq_laneq_f16_mf8_fpm,
390 __builtin_neon_vdotq_laneq_f32_mf8_fpm,
391 __builtin_neon_vdotq_s32,
392 __builtin_neon_vdotq_u32,
393 __builtin_neon_vdupb_lane_i8,
394 __builtin_neon_vdupb_lane_mf8,
395 __builtin_neon_vdupb_laneq_i8,
396 __builtin_neon_vdupb_laneq_mf8,
397 __builtin_neon_vdupd_lane_f64,
398 __builtin_neon_vdupd_lane_i64,
399 __builtin_neon_vdupd_laneq_f64,
400 __builtin_neon_vdupd_laneq_i64,
401 __builtin_neon_vduph_lane_bf16,
402 __builtin_neon_vduph_lane_f16,
403 __builtin_neon_vduph_lane_i16,
404 __builtin_neon_vduph_laneq_bf16,
405 __builtin_neon_vduph_laneq_f16,
406 __builtin_neon_vduph_laneq_i16,
407 __builtin_neon_vdups_lane_f32,
408 __builtin_neon_vdups_lane_i32,
409 __builtin_neon_vdups_laneq_f32,
410 __builtin_neon_vdups_laneq_i32,
411 __builtin_neon_veor3q_s16,
412 __builtin_neon_veor3q_s32,
413 __builtin_neon_veor3q_s64,
414 __builtin_neon_veor3q_s8,
415 __builtin_neon_veor3q_u16,
416 __builtin_neon_veor3q_u32,
417 __builtin_neon_veor3q_u64,
418 __builtin_neon_veor3q_u8,
419 __builtin_neon_vext_v,
420 __builtin_neon_vextq_v,
421 __builtin_neon_vfma_f16,
422 __builtin_neon_vfma_lane_f16,
423 __builtin_neon_vfma_lane_v,
424 __builtin_neon_vfma_laneq_f16,
425 __builtin_neon_vfma_laneq_v,
426 __builtin_neon_vfma_v,
427 __builtin_neon_vfmad_lane_f64,
428 __builtin_neon_vfmad_laneq_f64,
429 __builtin_neon_vfmah_lane_f16,
430 __builtin_neon_vfmah_laneq_f16,
431 __builtin_neon_vfmaq_f16,
432 __builtin_neon_vfmaq_lane_f16,
433 __builtin_neon_vfmaq_lane_v,
434 __builtin_neon_vfmaq_laneq_f16,
435 __builtin_neon_vfmaq_laneq_v,
436 __builtin_neon_vfmaq_v,
437 __builtin_neon_vfmas_lane_f32,
438 __builtin_neon_vfmas_laneq_f32,
439 __builtin_neon_vfmlal_high_f16,
440 __builtin_neon_vfmlal_low_f16,
441 __builtin_neon_vfmlalq_high_f16,
442 __builtin_neon_vfmlalq_low_f16,
443 __builtin_neon_vfmlsl_high_f16,
444 __builtin_neon_vfmlsl_low_f16,
445 __builtin_neon_vfmlslq_high_f16,
446 __builtin_neon_vfmlslq_low_f16,
447 __builtin_neon_vget_lane_bf16,
448 __builtin_neon_vget_lane_f32,
449 __builtin_neon_vget_lane_f64,
450 __builtin_neon_vget_lane_i16,
451 __builtin_neon_vget_lane_i32,
452 __builtin_neon_vget_lane_i64,
453 __builtin_neon_vget_lane_i8,
454 __builtin_neon_vget_lane_mf8,
455 __builtin_neon_vgetq_lane_bf16,
456 __builtin_neon_vgetq_lane_f32,
457 __builtin_neon_vgetq_lane_f64,
458 __builtin_neon_vgetq_lane_i16,
459 __builtin_neon_vgetq_lane_i32,
460 __builtin_neon_vgetq_lane_i64,
461 __builtin_neon_vgetq_lane_i8,
462 __builtin_neon_vgetq_lane_mf8,
463 __builtin_neon_vhadd_v,
464 __builtin_neon_vhaddq_v,
465 __builtin_neon_vhsub_v,
466 __builtin_neon_vhsubq_v,
467 __builtin_neon_vld1_bf16,
468 __builtin_neon_vld1_bf16_x2,
469 __builtin_neon_vld1_bf16_x3,
470 __builtin_neon_vld1_bf16_x4,
471 __builtin_neon_vld1_dup_bf16,
472 __builtin_neon_vld1_dup_v,
473 __builtin_neon_vld1_lane_bf16,
474 __builtin_neon_vld1_lane_v,
475 __builtin_neon_vld1_v,
476 __builtin_neon_vld1_x2_v,
477 __builtin_neon_vld1_x3_v,
478 __builtin_neon_vld1_x4_v,
479 __builtin_neon_vld1q_bf16,
480 __builtin_neon_vld1q_bf16_x2,
481 __builtin_neon_vld1q_bf16_x3,
482 __builtin_neon_vld1q_bf16_x4,
483 __builtin_neon_vld1q_dup_bf16,
484 __builtin_neon_vld1q_dup_v,
485 __builtin_neon_vld1q_lane_bf16,
486 __builtin_neon_vld1q_lane_v,
487 __builtin_neon_vld1q_v,
488 __builtin_neon_vld1q_x2_v,
489 __builtin_neon_vld1q_x3_v,
490 __builtin_neon_vld1q_x4_v,
491 __builtin_neon_vld2_bf16,
492 __builtin_neon_vld2_dup_bf16,
493 __builtin_neon_vld2_dup_v,
494 __builtin_neon_vld2_lane_bf16,
495 __builtin_neon_vld2_lane_v,
496 __builtin_neon_vld2_v,
497 __builtin_neon_vld2q_bf16,
498 __builtin_neon_vld2q_dup_bf16,
499 __builtin_neon_vld2q_dup_v,
500 __builtin_neon_vld2q_lane_bf16,
501 __builtin_neon_vld2q_lane_v,
502 __builtin_neon_vld2q_v,
503 __builtin_neon_vld3_bf16,
504 __builtin_neon_vld3_dup_bf16,
505 __builtin_neon_vld3_dup_v,
506 __builtin_neon_vld3_lane_bf16,
507 __builtin_neon_vld3_lane_v,
508 __builtin_neon_vld3_v,
509 __builtin_neon_vld3q_bf16,
510 __builtin_neon_vld3q_dup_bf16,
511 __builtin_neon_vld3q_dup_v,
512 __builtin_neon_vld3q_lane_bf16,
513 __builtin_neon_vld3q_lane_v,
514 __builtin_neon_vld3q_v,
515 __builtin_neon_vld4_bf16,
516 __builtin_neon_vld4_dup_bf16,
517 __builtin_neon_vld4_dup_v,
518 __builtin_neon_vld4_lane_bf16,
519 __builtin_neon_vld4_lane_v,
520 __builtin_neon_vld4_v,
521 __builtin_neon_vld4q_bf16,
522 __builtin_neon_vld4q_dup_bf16,
523 __builtin_neon_vld4q_dup_v,
524 __builtin_neon_vld4q_lane_bf16,
525 __builtin_neon_vld4q_lane_v,
526 __builtin_neon_vld4q_v,
527 __builtin_neon_vldap1_lane_f64,
528 __builtin_neon_vldap1_lane_p64,
529 __builtin_neon_vldap1_lane_s64,
530 __builtin_neon_vldap1_lane_u64,
531 __builtin_neon_vldap1q_lane_f64,
532 __builtin_neon_vldap1q_lane_p64,
533 __builtin_neon_vldap1q_lane_s64,
534 __builtin_neon_vldap1q_lane_u64,
535 __builtin_neon_vldrq_p128,
536 __builtin_neon_vluti2_lane_bf16,
537 __builtin_neon_vluti2_lane_f16,
538 __builtin_neon_vluti2_lane_mf8,
539 __builtin_neon_vluti2_lane_p16,
540 __builtin_neon_vluti2_lane_p8,
541 __builtin_neon_vluti2_lane_s16,
542 __builtin_neon_vluti2_lane_s8,
543 __builtin_neon_vluti2_lane_u16,
544 __builtin_neon_vluti2_lane_u8,
545 __builtin_neon_vluti2_laneq_bf16,
546 __builtin_neon_vluti2_laneq_f16,
547 __builtin_neon_vluti2_laneq_mf8,
548 __builtin_neon_vluti2_laneq_p16,
549 __builtin_neon_vluti2_laneq_p8,
550 __builtin_neon_vluti2_laneq_s16,
551 __builtin_neon_vluti2_laneq_s8,
552 __builtin_neon_vluti2_laneq_u16,
553 __builtin_neon_vluti2_laneq_u8,
554 __builtin_neon_vluti2q_lane_bf16,
555 __builtin_neon_vluti2q_lane_f16,
556 __builtin_neon_vluti2q_lane_mf8,
557 __builtin_neon_vluti2q_lane_p16,
558 __builtin_neon_vluti2q_lane_p8,
559 __builtin_neon_vluti2q_lane_s16,
560 __builtin_neon_vluti2q_lane_s8,
561 __builtin_neon_vluti2q_lane_u16,
562 __builtin_neon_vluti2q_lane_u8,
563 __builtin_neon_vluti2q_laneq_bf16,
564 __builtin_neon_vluti2q_laneq_f16,
565 __builtin_neon_vluti2q_laneq_mf8,
566 __builtin_neon_vluti2q_laneq_p16,
567 __builtin_neon_vluti2q_laneq_p8,
568 __builtin_neon_vluti2q_laneq_s16,
569 __builtin_neon_vluti2q_laneq_s8,
570 __builtin_neon_vluti2q_laneq_u16,
571 __builtin_neon_vluti2q_laneq_u8,
572 __builtin_neon_vluti4q_lane_bf16_x2,
573 __builtin_neon_vluti4q_lane_f16_x2,
574 __builtin_neon_vluti4q_lane_mf8,
575 __builtin_neon_vluti4q_lane_p16_x2,
576 __builtin_neon_vluti4q_lane_p8,
577 __builtin_neon_vluti4q_lane_s16_x2,
578 __builtin_neon_vluti4q_lane_s8,
579 __builtin_neon_vluti4q_lane_u16_x2,
580 __builtin_neon_vluti4q_lane_u8,
581 __builtin_neon_vluti4q_laneq_bf16_x2,
582 __builtin_neon_vluti4q_laneq_f16_x2,
583 __builtin_neon_vluti4q_laneq_mf8,
584 __builtin_neon_vluti4q_laneq_p16_x2,
585 __builtin_neon_vluti4q_laneq_p8,
586 __builtin_neon_vluti4q_laneq_s16_x2,
587 __builtin_neon_vluti4q_laneq_s8,
588 __builtin_neon_vluti4q_laneq_u16_x2,
589 __builtin_neon_vluti4q_laneq_u8,
590 __builtin_neon_vmax_f16,
591 __builtin_neon_vmax_v,
592 __builtin_neon_vmaxnm_f16,
593 __builtin_neon_vmaxnm_v,
594 __builtin_neon_vmaxnmq_f16,
595 __builtin_neon_vmaxnmq_v,
596 __builtin_neon_vmaxnmv_f16,
597 __builtin_neon_vmaxnmv_f32,
598 __builtin_neon_vmaxnmvq_f16,
599 __builtin_neon_vmaxnmvq_f32,
600 __builtin_neon_vmaxnmvq_f64,
601 __builtin_neon_vmaxq_f16,
602 __builtin_neon_vmaxq_v,
603 __builtin_neon_vmaxv_f16,
604 __builtin_neon_vmaxv_f32,
605 __builtin_neon_vmaxv_s16,
606 __builtin_neon_vmaxv_s32,
607 __builtin_neon_vmaxv_s8,
608 __builtin_neon_vmaxv_u16,
609 __builtin_neon_vmaxv_u32,
610 __builtin_neon_vmaxv_u8,
611 __builtin_neon_vmaxvq_f16,
612 __builtin_neon_vmaxvq_f32,
613 __builtin_neon_vmaxvq_f64,
614 __builtin_neon_vmaxvq_s16,
615 __builtin_neon_vmaxvq_s32,
616 __builtin_neon_vmaxvq_s8,
617 __builtin_neon_vmaxvq_u16,
618 __builtin_neon_vmaxvq_u32,
619 __builtin_neon_vmaxvq_u8,
620 __builtin_neon_vmin_f16,
621 __builtin_neon_vmin_v,
622 __builtin_neon_vminnm_f16,
623 __builtin_neon_vminnm_v,
624 __builtin_neon_vminnmq_f16,
625 __builtin_neon_vminnmq_v,
626 __builtin_neon_vminnmv_f16,
627 __builtin_neon_vminnmv_f32,
628 __builtin_neon_vminnmvq_f16,
629 __builtin_neon_vminnmvq_f32,
630 __builtin_neon_vminnmvq_f64,
631 __builtin_neon_vminq_f16,
632 __builtin_neon_vminq_v,
633 __builtin_neon_vminv_f16,
634 __builtin_neon_vminv_f32,
635 __builtin_neon_vminv_s16,
636 __builtin_neon_vminv_s32,
637 __builtin_neon_vminv_s8,
638 __builtin_neon_vminv_u16,
639 __builtin_neon_vminv_u32,
640 __builtin_neon_vminv_u8,
641 __builtin_neon_vminvq_f16,
642 __builtin_neon_vminvq_f32,
643 __builtin_neon_vminvq_f64,
644 __builtin_neon_vminvq_s16,
645 __builtin_neon_vminvq_s32,
646 __builtin_neon_vminvq_s8,
647 __builtin_neon_vminvq_u16,
648 __builtin_neon_vminvq_u32,
649 __builtin_neon_vminvq_u8,
650 __builtin_neon_vmlalbq_f16_mf8_fpm,
651 __builtin_neon_vmlalbq_lane_f16_mf8_fpm,
652 __builtin_neon_vmlalbq_laneq_f16_mf8_fpm,
653 __builtin_neon_vmlallbbq_f32_mf8_fpm,
654 __builtin_neon_vmlallbbq_lane_f32_mf8_fpm,
655 __builtin_neon_vmlallbbq_laneq_f32_mf8_fpm,
656 __builtin_neon_vmlallbtq_f32_mf8_fpm,
657 __builtin_neon_vmlallbtq_lane_f32_mf8_fpm,
658 __builtin_neon_vmlallbtq_laneq_f32_mf8_fpm,
659 __builtin_neon_vmlalltbq_f32_mf8_fpm,
660 __builtin_neon_vmlalltbq_lane_f32_mf8_fpm,
661 __builtin_neon_vmlalltbq_laneq_f32_mf8_fpm,
662 __builtin_neon_vmlallttq_f32_mf8_fpm,
663 __builtin_neon_vmlallttq_lane_f32_mf8_fpm,
664 __builtin_neon_vmlallttq_laneq_f32_mf8_fpm,
665 __builtin_neon_vmlaltq_f16_mf8_fpm,
666 __builtin_neon_vmlaltq_lane_f16_mf8_fpm,
667 __builtin_neon_vmlaltq_laneq_f16_mf8_fpm,
668 __builtin_neon_vmmlaq_f16_mf8_fpm,
669 __builtin_neon_vmmlaq_f32_mf8_fpm,
670 __builtin_neon_vmmlaq_s32,
671 __builtin_neon_vmmlaq_u32,
672 __builtin_neon_vmovl_v,
673 __builtin_neon_vmovn_v,
674 __builtin_neon_vmul_lane_v,
675 __builtin_neon_vmul_laneq_v,
676 __builtin_neon_vmul_n_f64,
677 __builtin_neon_vmul_v,
678 __builtin_neon_vmull_p64,
679 __builtin_neon_vmull_v,
680 __builtin_neon_vmulq_v,
681 __builtin_neon_vmulx_f16,
682 __builtin_neon_vmulx_v,
683 __builtin_neon_vmulxd_f64,
684 __builtin_neon_vmulxh_lane_f16,
685 __builtin_neon_vmulxh_laneq_f16,
686 __builtin_neon_vmulxq_f16,
687 __builtin_neon_vmulxq_v,
688 __builtin_neon_vmulxs_f32,
689 __builtin_neon_vnegd_s64,
690 __builtin_neon_vpadal_v,
691 __builtin_neon_vpadalq_v,
692 __builtin_neon_vpadd_f16,
693 __builtin_neon_vpadd_v,
694 __builtin_neon_vpaddd_f64,
695 __builtin_neon_vpaddd_s64,
696 __builtin_neon_vpaddd_u64,
697 __builtin_neon_vpaddl_v,
698 __builtin_neon_vpaddlq_v,
699 __builtin_neon_vpaddq_f16,
700 __builtin_neon_vpaddq_v,
701 __builtin_neon_vpadds_f32,
702 __builtin_neon_vpmax_f16,
703 __builtin_neon_vpmax_v,
704 __builtin_neon_vpmaxnm_f16,
705 __builtin_neon_vpmaxnm_v,
706 __builtin_neon_vpmaxnmq_f16,
707 __builtin_neon_vpmaxnmq_v,
708 __builtin_neon_vpmaxnmqd_f64,
709 __builtin_neon_vpmaxnms_f32,
710 __builtin_neon_vpmaxq_f16,
711 __builtin_neon_vpmaxq_v,
712 __builtin_neon_vpmaxqd_f64,
713 __builtin_neon_vpmaxs_f32,
714 __builtin_neon_vpmin_f16,
715 __builtin_neon_vpmin_v,
716 __builtin_neon_vpminnm_f16,
717 __builtin_neon_vpminnm_v,
718 __builtin_neon_vpminnmq_f16,
719 __builtin_neon_vpminnmq_v,
720 __builtin_neon_vpminnmqd_f64,
721 __builtin_neon_vpminnms_f32,
722 __builtin_neon_vpminq_f16,
723 __builtin_neon_vpminq_v,
724 __builtin_neon_vpminqd_f64,
725 __builtin_neon_vpmins_f32,
726 __builtin_neon_vqabs_v,
727 __builtin_neon_vqabsb_s8,
728 __builtin_neon_vqabsd_s64,
729 __builtin_neon_vqabsh_s16,
730 __builtin_neon_vqabsq_v,
731 __builtin_neon_vqabss_s32,
732 __builtin_neon_vqadd_v,
733 __builtin_neon_vqaddb_s8,
734 __builtin_neon_vqaddb_u8,
735 __builtin_neon_vqaddd_s64,
736 __builtin_neon_vqaddd_u64,
737 __builtin_neon_vqaddh_s16,
738 __builtin_neon_vqaddh_u16,
739 __builtin_neon_vqaddq_v,
740 __builtin_neon_vqadds_s32,
741 __builtin_neon_vqadds_u32,
742 __builtin_neon_vqdmlal_v,
743 __builtin_neon_vqdmlalh_lane_s16,
744 __builtin_neon_vqdmlalh_laneq_s16,
745 __builtin_neon_vqdmlalh_s16,
746 __builtin_neon_vqdmlals_lane_s32,
747 __builtin_neon_vqdmlals_laneq_s32,
748 __builtin_neon_vqdmlals_s32,
749 __builtin_neon_vqdmlsl_v,
750 __builtin_neon_vqdmlslh_lane_s16,
751 __builtin_neon_vqdmlslh_laneq_s16,
752 __builtin_neon_vqdmlslh_s16,
753 __builtin_neon_vqdmlsls_lane_s32,
754 __builtin_neon_vqdmlsls_laneq_s32,
755 __builtin_neon_vqdmlsls_s32,
756 __builtin_neon_vqdmulh_lane_v,
757 __builtin_neon_vqdmulh_laneq_v,
758 __builtin_neon_vqdmulh_v,
759 __builtin_neon_vqdmulhh_s16,
760 __builtin_neon_vqdmulhq_lane_v,
761 __builtin_neon_vqdmulhq_laneq_v,
762 __builtin_neon_vqdmulhq_v,
763 __builtin_neon_vqdmulhs_s32,
764 __builtin_neon_vqdmull_v,
765 __builtin_neon_vqdmullh_s16,
766 __builtin_neon_vqdmulls_s32,
767 __builtin_neon_vqmovn_v,
768 __builtin_neon_vqmovnd_s64,
769 __builtin_neon_vqmovnd_u64,
770 __builtin_neon_vqmovnh_s16,
771 __builtin_neon_vqmovnh_u16,
772 __builtin_neon_vqmovns_s32,
773 __builtin_neon_vqmovns_u32,
774 __builtin_neon_vqmovun_v,
775 __builtin_neon_vqmovund_s64,
776 __builtin_neon_vqmovunh_s16,
777 __builtin_neon_vqmovuns_s32,
778 __builtin_neon_vqneg_v,
779 __builtin_neon_vqnegb_s8,
780 __builtin_neon_vqnegd_s64,
781 __builtin_neon_vqnegh_s16,
782 __builtin_neon_vqnegq_v,
783 __builtin_neon_vqnegs_s32,
784 __builtin_neon_vqrdmlah_s16,
785 __builtin_neon_vqrdmlah_s32,
786 __builtin_neon_vqrdmlahh_s16,
787 __builtin_neon_vqrdmlahq_s16,
788 __builtin_neon_vqrdmlahq_s32,
789 __builtin_neon_vqrdmlahs_s32,
790 __builtin_neon_vqrdmlsh_s16,
791 __builtin_neon_vqrdmlsh_s32,
792 __builtin_neon_vqrdmlshh_s16,
793 __builtin_neon_vqrdmlshq_s16,
794 __builtin_neon_vqrdmlshq_s32,
795 __builtin_neon_vqrdmlshs_s32,
796 __builtin_neon_vqrdmulh_lane_v,
797 __builtin_neon_vqrdmulh_laneq_v,
798 __builtin_neon_vqrdmulh_v,
799 __builtin_neon_vqrdmulhh_s16,
800 __builtin_neon_vqrdmulhq_lane_v,
801 __builtin_neon_vqrdmulhq_laneq_v,
802 __builtin_neon_vqrdmulhq_v,
803 __builtin_neon_vqrdmulhs_s32,
804 __builtin_neon_vqrshl_v,
805 __builtin_neon_vqrshlb_s8,
806 __builtin_neon_vqrshlb_u8,
807 __builtin_neon_vqrshld_s64,
808 __builtin_neon_vqrshld_u64,
809 __builtin_neon_vqrshlh_s16,
810 __builtin_neon_vqrshlh_u16,
811 __builtin_neon_vqrshlq_v,
812 __builtin_neon_vqrshls_s32,
813 __builtin_neon_vqrshls_u32,
814 __builtin_neon_vqrshrn_n_v,
815 __builtin_neon_vqrshrnd_n_s64,
816 __builtin_neon_vqrshrnd_n_u64,
817 __builtin_neon_vqrshrnh_n_s16,
818 __builtin_neon_vqrshrnh_n_u16,
819 __builtin_neon_vqrshrns_n_s32,
820 __builtin_neon_vqrshrns_n_u32,
821 __builtin_neon_vqrshrun_n_v,
822 __builtin_neon_vqrshrund_n_s64,
823 __builtin_neon_vqrshrunh_n_s16,
824 __builtin_neon_vqrshruns_n_s32,
825 __builtin_neon_vqshl_n_v,
826 __builtin_neon_vqshl_v,
827 __builtin_neon_vqshlb_n_s8,
828 __builtin_neon_vqshlb_n_u8,
829 __builtin_neon_vqshlb_s8,
830 __builtin_neon_vqshlb_u8,
831 __builtin_neon_vqshld_n_s64,
832 __builtin_neon_vqshld_n_u64,
833 __builtin_neon_vqshld_s64,
834 __builtin_neon_vqshld_u64,
835 __builtin_neon_vqshlh_n_s16,
836 __builtin_neon_vqshlh_n_u16,
837 __builtin_neon_vqshlh_s16,
838 __builtin_neon_vqshlh_u16,
839 __builtin_neon_vqshlq_n_v,
840 __builtin_neon_vqshlq_v,
841 __builtin_neon_vqshls_n_s32,
842 __builtin_neon_vqshls_n_u32,
843 __builtin_neon_vqshls_s32,
844 __builtin_neon_vqshls_u32,
845 __builtin_neon_vqshlu_n_v,
846 __builtin_neon_vqshlub_n_s8,
847 __builtin_neon_vqshlud_n_s64,
848 __builtin_neon_vqshluh_n_s16,
849 __builtin_neon_vqshluq_n_v,
850 __builtin_neon_vqshlus_n_s32,
851 __builtin_neon_vqshrn_n_v,
852 __builtin_neon_vqshrnd_n_s64,
853 __builtin_neon_vqshrnd_n_u64,
854 __builtin_neon_vqshrnh_n_s16,
855 __builtin_neon_vqshrnh_n_u16,
856 __builtin_neon_vqshrns_n_s32,
857 __builtin_neon_vqshrns_n_u32,
858 __builtin_neon_vqshrun_n_v,
859 __builtin_neon_vqshrund_n_s64,
860 __builtin_neon_vqshrunh_n_s16,
861 __builtin_neon_vqshruns_n_s32,
862 __builtin_neon_vqsub_v,
863 __builtin_neon_vqsubb_s8,
864 __builtin_neon_vqsubb_u8,
865 __builtin_neon_vqsubd_s64,
866 __builtin_neon_vqsubd_u64,
867 __builtin_neon_vqsubh_s16,
868 __builtin_neon_vqsubh_u16,
869 __builtin_neon_vqsubq_v,
870 __builtin_neon_vqsubs_s32,
871 __builtin_neon_vqsubs_u32,
872 __builtin_neon_vqtbl1_v,
873 __builtin_neon_vqtbl1q_v,
874 __builtin_neon_vqtbl2_v,
875 __builtin_neon_vqtbl2q_v,
876 __builtin_neon_vqtbl3_v,
877 __builtin_neon_vqtbl3q_v,
878 __builtin_neon_vqtbl4_v,
879 __builtin_neon_vqtbl4q_v,
880 __builtin_neon_vqtbx1_v,
881 __builtin_neon_vqtbx1q_v,
882 __builtin_neon_vqtbx2_v,
883 __builtin_neon_vqtbx2q_v,
884 __builtin_neon_vqtbx3_v,
885 __builtin_neon_vqtbx3q_v,
886 __builtin_neon_vqtbx4_v,
887 __builtin_neon_vqtbx4q_v,
888 __builtin_neon_vraddhn_v,
889 __builtin_neon_vrax1q_u64,
890 __builtin_neon_vrbit_v,
891 __builtin_neon_vrbitq_v,
892 __builtin_neon_vrecpe_f16,
893 __builtin_neon_vrecpe_v,
894 __builtin_neon_vrecped_f64,
895 __builtin_neon_vrecpeq_f16,
896 __builtin_neon_vrecpeq_v,
897 __builtin_neon_vrecpes_f32,
898 __builtin_neon_vrecps_f16,
899 __builtin_neon_vrecps_v,
900 __builtin_neon_vrecpsd_f64,
901 __builtin_neon_vrecpsq_f16,
902 __builtin_neon_vrecpsq_v,
903 __builtin_neon_vrecpss_f32,
904 __builtin_neon_vrecpxd_f64,
905 __builtin_neon_vrecpxs_f32,
906 __builtin_neon_vrhadd_v,
907 __builtin_neon_vrhaddq_v,
908 __builtin_neon_vrnd32x_f32,
909 __builtin_neon_vrnd32x_f64,
910 __builtin_neon_vrnd32xq_f32,
911 __builtin_neon_vrnd32xq_f64,
912 __builtin_neon_vrnd32z_f32,
913 __builtin_neon_vrnd32z_f64,
914 __builtin_neon_vrnd32zq_f32,
915 __builtin_neon_vrnd32zq_f64,
916 __builtin_neon_vrnd64x_f32,
917 __builtin_neon_vrnd64x_f64,
918 __builtin_neon_vrnd64xq_f32,
919 __builtin_neon_vrnd64xq_f64,
920 __builtin_neon_vrnd64z_f32,
921 __builtin_neon_vrnd64z_f64,
922 __builtin_neon_vrnd64zq_f32,
923 __builtin_neon_vrnd64zq_f64,
924 __builtin_neon_vrnd_f16,
925 __builtin_neon_vrnd_v,
926 __builtin_neon_vrnda_f16,
927 __builtin_neon_vrnda_v,
928 __builtin_neon_vrndaq_f16,
929 __builtin_neon_vrndaq_v,
930 __builtin_neon_vrndi_f16,
931 __builtin_neon_vrndi_v,
932 __builtin_neon_vrndiq_f16,
933 __builtin_neon_vrndiq_v,
934 __builtin_neon_vrndm_f16,
935 __builtin_neon_vrndm_v,
936 __builtin_neon_vrndmq_f16,
937 __builtin_neon_vrndmq_v,
938 __builtin_neon_vrndn_f16,
939 __builtin_neon_vrndn_v,
940 __builtin_neon_vrndnq_f16,
941 __builtin_neon_vrndnq_v,
942 __builtin_neon_vrndns_f32,
943 __builtin_neon_vrndp_f16,
944 __builtin_neon_vrndp_v,
945 __builtin_neon_vrndpq_f16,
946 __builtin_neon_vrndpq_v,
947 __builtin_neon_vrndq_f16,
948 __builtin_neon_vrndq_v,
949 __builtin_neon_vrndx_f16,
950 __builtin_neon_vrndx_v,
951 __builtin_neon_vrndxq_f16,
952 __builtin_neon_vrndxq_v,
953 __builtin_neon_vrshl_v,
954 __builtin_neon_vrshld_s64,
955 __builtin_neon_vrshld_u64,
956 __builtin_neon_vrshlq_v,
957 __builtin_neon_vrshr_n_v,
958 __builtin_neon_vrshrd_n_s64,
959 __builtin_neon_vrshrd_n_u64,
960 __builtin_neon_vrshrn_n_v,
961 __builtin_neon_vrshrq_n_v,
962 __builtin_neon_vrsqrte_f16,
963 __builtin_neon_vrsqrte_v,
964 __builtin_neon_vrsqrted_f64,
965 __builtin_neon_vrsqrteq_f16,
966 __builtin_neon_vrsqrteq_v,
967 __builtin_neon_vrsqrtes_f32,
968 __builtin_neon_vrsqrts_f16,
969 __builtin_neon_vrsqrts_v,
970 __builtin_neon_vrsqrtsd_f64,
971 __builtin_neon_vrsqrtsq_f16,
972 __builtin_neon_vrsqrtsq_v,
973 __builtin_neon_vrsqrtss_f32,
974 __builtin_neon_vrsra_n_v,
975 __builtin_neon_vrsrad_n_s64,
976 __builtin_neon_vrsrad_n_u64,
977 __builtin_neon_vrsraq_n_v,
978 __builtin_neon_vrsubhn_v,
979 __builtin_neon_vscale_f16,
980 __builtin_neon_vscale_f32,
981 __builtin_neon_vscaleq_f16,
982 __builtin_neon_vscaleq_f32,
983 __builtin_neon_vscaleq_f64,
984 __builtin_neon_vset_lane_bf16,
985 __builtin_neon_vset_lane_f32,
986 __builtin_neon_vset_lane_f64,
987 __builtin_neon_vset_lane_i16,
988 __builtin_neon_vset_lane_i32,
989 __builtin_neon_vset_lane_i64,
990 __builtin_neon_vset_lane_i8,
991 __builtin_neon_vset_lane_mf8,
992 __builtin_neon_vsetq_lane_bf16,
993 __builtin_neon_vsetq_lane_f32,
994 __builtin_neon_vsetq_lane_f64,
995 __builtin_neon_vsetq_lane_i16,
996 __builtin_neon_vsetq_lane_i32,
997 __builtin_neon_vsetq_lane_i64,
998 __builtin_neon_vsetq_lane_i8,
999 __builtin_neon_vsetq_lane_mf8,
1000 __builtin_neon_vsha1cq_u32,
1001 __builtin_neon_vsha1h_u32,
1002 __builtin_neon_vsha1mq_u32,
1003 __builtin_neon_vsha1pq_u32,
1004 __builtin_neon_vsha1su0q_u32,
1005 __builtin_neon_vsha1su1q_u32,
1006 __builtin_neon_vsha256h2q_u32,
1007 __builtin_neon_vsha256hq_u32,
1008 __builtin_neon_vsha256su0q_u32,
1009 __builtin_neon_vsha256su1q_u32,
1010 __builtin_neon_vsha512h2q_u64,
1011 __builtin_neon_vsha512hq_u64,
1012 __builtin_neon_vsha512su0q_u64,
1013 __builtin_neon_vsha512su1q_u64,
1014 __builtin_neon_vshl_n_v,
1015 __builtin_neon_vshl_v,
1016 __builtin_neon_vshld_n_s64,
1017 __builtin_neon_vshld_n_u64,
1018 __builtin_neon_vshld_s64,
1019 __builtin_neon_vshld_u64,
1020 __builtin_neon_vshll_n_v,
1021 __builtin_neon_vshlq_n_v,
1022 __builtin_neon_vshlq_v,
1023 __builtin_neon_vshr_n_v,
1024 __builtin_neon_vshrd_n_s64,
1025 __builtin_neon_vshrd_n_u64,
1026 __builtin_neon_vshrn_n_v,
1027 __builtin_neon_vshrq_n_v,
1028 __builtin_neon_vsli_n_v,
1029 __builtin_neon_vslid_n_s64,
1030 __builtin_neon_vslid_n_u64,
1031 __builtin_neon_vsliq_n_v,
1032 __builtin_neon_vsm3partw1q_u32,
1033 __builtin_neon_vsm3partw2q_u32,
1034 __builtin_neon_vsm3ss1q_u32,
1035 __builtin_neon_vsm3tt1aq_u32,
1036 __builtin_neon_vsm3tt1bq_u32,
1037 __builtin_neon_vsm3tt2aq_u32,
1038 __builtin_neon_vsm3tt2bq_u32,
1039 __builtin_neon_vsm4ekeyq_u32,
1040 __builtin_neon_vsm4eq_u32,
1041 __builtin_neon_vsqadd_v,
1042 __builtin_neon_vsqaddb_u8,
1043 __builtin_neon_vsqaddd_u64,
1044 __builtin_neon_vsqaddh_u16,
1045 __builtin_neon_vsqaddq_v,
1046 __builtin_neon_vsqadds_u32,
1047 __builtin_neon_vsqrt_f16,
1048 __builtin_neon_vsqrt_v,
1049 __builtin_neon_vsqrtq_f16,
1050 __builtin_neon_vsqrtq_v,
1051 __builtin_neon_vsra_n_v,
1052 __builtin_neon_vsrad_n_s64,
1053 __builtin_neon_vsrad_n_u64,
1054 __builtin_neon_vsraq_n_v,
1055 __builtin_neon_vsri_n_v,
1056 __builtin_neon_vsrid_n_s64,
1057 __builtin_neon_vsrid_n_u64,
1058 __builtin_neon_vsriq_n_v,
1059 __builtin_neon_vst1_bf16,
1060 __builtin_neon_vst1_bf16_x2,
1061 __builtin_neon_vst1_bf16_x3,
1062 __builtin_neon_vst1_bf16_x4,
1063 __builtin_neon_vst1_lane_bf16,
1064 __builtin_neon_vst1_lane_v,
1065 __builtin_neon_vst1_v,
1066 __builtin_neon_vst1_x2_v,
1067 __builtin_neon_vst1_x3_v,
1068 __builtin_neon_vst1_x4_v,
1069 __builtin_neon_vst1q_bf16,
1070 __builtin_neon_vst1q_bf16_x2,
1071 __builtin_neon_vst1q_bf16_x3,
1072 __builtin_neon_vst1q_bf16_x4,
1073 __builtin_neon_vst1q_lane_bf16,
1074 __builtin_neon_vst1q_lane_v,
1075 __builtin_neon_vst1q_v,
1076 __builtin_neon_vst1q_x2_v,
1077 __builtin_neon_vst1q_x3_v,
1078 __builtin_neon_vst1q_x4_v,
1079 __builtin_neon_vst2_bf16,
1080 __builtin_neon_vst2_lane_bf16,
1081 __builtin_neon_vst2_lane_v,
1082 __builtin_neon_vst2_v,
1083 __builtin_neon_vst2q_bf16,
1084 __builtin_neon_vst2q_lane_bf16,
1085 __builtin_neon_vst2q_lane_v,
1086 __builtin_neon_vst2q_v,
1087 __builtin_neon_vst3_bf16,
1088 __builtin_neon_vst3_lane_bf16,
1089 __builtin_neon_vst3_lane_v,
1090 __builtin_neon_vst3_v,
1091 __builtin_neon_vst3q_bf16,
1092 __builtin_neon_vst3q_lane_bf16,
1093 __builtin_neon_vst3q_lane_v,
1094 __builtin_neon_vst3q_v,
1095 __builtin_neon_vst4_bf16,
1096 __builtin_neon_vst4_lane_bf16,
1097 __builtin_neon_vst4_lane_v,
1098 __builtin_neon_vst4_v,
1099 __builtin_neon_vst4q_bf16,
1100 __builtin_neon_vst4q_lane_bf16,
1101 __builtin_neon_vst4q_lane_v,
1102 __builtin_neon_vst4q_v,
1103 __builtin_neon_vstl1_lane_f64,
1104 __builtin_neon_vstl1_lane_p64,
1105 __builtin_neon_vstl1_lane_s64,
1106 __builtin_neon_vstl1_lane_u64,
1107 __builtin_neon_vstl1q_lane_f64,
1108 __builtin_neon_vstl1q_lane_p64,
1109 __builtin_neon_vstl1q_lane_s64,
1110 __builtin_neon_vstl1q_lane_u64,
1111 __builtin_neon_vstrq_p128,
1112 __builtin_neon_vsubd_s64,
1113 __builtin_neon_vsubd_u64,
1114 __builtin_neon_vsubhn_v,
1115 __builtin_neon_vtbl1_v,
1116 __builtin_neon_vtbl2_v,
1117 __builtin_neon_vtbl3_v,
1118 __builtin_neon_vtbl4_v,
1119 __builtin_neon_vtbx1_v,
1120 __builtin_neon_vtbx2_v,
1121 __builtin_neon_vtbx3_v,
1122 __builtin_neon_vtbx4_v,
1123 __builtin_neon_vtrn_v,
1124 __builtin_neon_vtrnq_v,
1125 __builtin_neon_vtst_v,
1126 __builtin_neon_vtstd_s64,
1127 __builtin_neon_vtstd_u64,
1128 __builtin_neon_vtstq_v,
1129 __builtin_neon_vuqadd_v,
1130 __builtin_neon_vuqaddb_s8,
1131 __builtin_neon_vuqaddd_s64,
1132 __builtin_neon_vuqaddh_s16,
1133 __builtin_neon_vuqaddq_v,
1134 __builtin_neon_vuqadds_s32,
1135 __builtin_neon_vusdot_s32,
1136 __builtin_neon_vusdotq_s32,
1137 __builtin_neon_vusmmlaq_s32,
1138 __builtin_neon_vuzp_v,
1139 __builtin_neon_vuzpq_v,
1140 __builtin_neon_vxarq_u64,
1141 __builtin_neon_vzip_v,
1142 __builtin_neon_vzipq_v,
1143};
1144
1145pub fn fromName(name: []const u8) ?Properties {
1146 const data_index = tagFromName(name) orelse return null;
1147 return data[@intFromEnum(data_index)];
1148}
1149
1150pub fn tagFromName(name: []const u8) ?Tag {
1151 const unique_index = uniqueIndex(name) orelse return null;
1152 return @enumFromInt(unique_index - 1);
1153}
1154
1155pub fn fromTag(tag: Tag) Properties {
1156 return data[@intFromEnum(tag)];
1157}
1158
1159pub fn nameFromTagIntoBuf(tag: Tag, name_buf: []u8) []u8 {
1160 std.debug.assert(name_buf.len >= longest_name);
1161 const unique_index = @intFromEnum(tag) + 1;
1162 return nameFromUniqueIndex(unique_index, name_buf);
1163}
1164
1165pub fn nameFromTag(tag: Tag) NameBuf {
1166 var name_buf: NameBuf = undefined;
1167 const unique_index = @intFromEnum(tag) + 1;
1168 const name = nameFromUniqueIndex(unique_index, &name_buf.buf);
1169 name_buf.len = @intCast(name.len);
1170 return name_buf;
1171}
1172
1173pub const NameBuf = struct {
1174 buf: [longest_name]u8 = undefined,
1175 len: std.math.IntFittingRange(0, longest_name),
1176
1177 pub fn span(self: *const NameBuf) []const u8 {
1178 return self.buf[0..self.len];
1179 }
1180};
1181
1182pub fn exists(name: []const u8) bool {
1183 if (name.len < shortest_name or name.len > longest_name) return false;
1184
1185 var index: u16 = 0;
1186 for (name) |c| {
1187 index = findInList(dafsa[index].child_index, c) orelse return false;
1188 }
1189 return dafsa[index].end_of_word;
1190}
1191
1192pub const shortest_name = 21;
1193pub const longest_name = 42;
1194
1195/// Search siblings of `first_child_index` for the `char`
1196/// If found, returns the index of the node within the `dafsa` array.
1197/// Otherwise, returns `null`.
1198pub fn findInList(first_child_index: u16, char: u8) ?u16 {
1199 @setEvalBranchQuota(2264);
1200 var index = first_child_index;
1201 while (true) {
1202 if (dafsa[index].char == char) return index;
1203 if (dafsa[index].end_of_list) return null;
1204 index += 1;
1205 }
1206 unreachable;
1207}
1208
1209/// Returns a unique (minimal perfect hash) index (starting at 1) for the `name`,
1210/// or null if the name was not found.
1211pub fn uniqueIndex(name: []const u8) ?u16 {
1212 if (name.len < shortest_name or name.len > longest_name) return null;
1213
1214 var index: u16 = 0;
1215 var node_index: u16 = 0;
1216
1217 for (name) |c| {
1218 const child_index = findInList(dafsa[node_index].child_index, c) orelse return null;
1219 var sibling_index = dafsa[node_index].child_index;
1220 while (true) {
1221 const sibling_c = dafsa[sibling_index].char;
1222 std.debug.assert(sibling_c != 0);
1223 if (sibling_c < c) {
1224 index += dafsa[sibling_index].number;
1225 }
1226 if (dafsa[sibling_index].end_of_list) break;
1227 sibling_index += 1;
1228 }
1229 node_index = child_index;
1230 if (dafsa[node_index].end_of_word) index += 1;
1231 }
1232
1233 if (!dafsa[node_index].end_of_word) return null;
1234
1235 return index;
1236}
1237
1238/// Returns a slice of `buf` with the name associated with the given `index`.
1239/// This function should only be called with an `index` that
1240/// is already known to exist within the `dafsa`, e.g. an index
1241/// returned from `uniqueIndex`.
1242pub fn nameFromUniqueIndex(index: u16, buf: []u8) []u8 {
1243 std.debug.assert(index >= 1 and index <= data.len);
1244
1245 var node_index: u16 = 0;
1246 var count: u16 = index;
1247 var w = std.Io.Writer.fixed(buf);
1248
1249 while (true) {
1250 var sibling_index = dafsa[node_index].child_index;
1251 while (true) {
1252 if (dafsa[sibling_index].number > 0 and dafsa[sibling_index].number < count) {
1253 count -= dafsa[sibling_index].number;
1254 } else {
1255 w.writeByte(dafsa[sibling_index].char) catch unreachable;
1256 node_index = sibling_index;
1257 if (dafsa[node_index].end_of_word) {
1258 count -= 1;
1259 }
1260 break;
1261 }
1262
1263 if (dafsa[sibling_index].end_of_list) break;
1264 sibling_index += 1;
1265 }
1266 if (count == 0) break;
1267 }
1268
1269 return w.buffered();
1270}
1271
1272const Node = packed struct {
1273 char: u8,
1274 /// Nodes are numbered with "an integer which gives the number of words that
1275 /// would be accepted by the automaton starting from that state." This numbering
1276 /// allows calculating "a one-to-one correspondence between the integers 1 to L
1277 /// (L is the number of words accepted by the automaton) and the words themselves."
1278 ///
1279 /// Essentially, this allows us to have a minimal perfect hashing scheme such that
1280 /// it's possible to store & lookup the properties of each builtin using a separate array.
1281 number: std.math.IntFittingRange(0, data.len),
1282 /// If true, this node is the end of a valid builtin.
1283 /// Note: This does not necessarily mean that this node does not have child nodes.
1284 end_of_word: bool,
1285 /// If true, this node is the end of a sibling list.
1286 /// If false, then (index + 1) will contain the next sibling.
1287 end_of_list: bool,
1288 /// Index of the first child of this node.
1289 child_index: u16,
1290};
1291
1292const dafsa = [_]Node{
1293 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },
1294 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1132, .child_index = 2 },
1295 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1132, .child_index = 3 },
1296 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1132, .child_index = 4 },
1297 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1132, .child_index = 5 },
1298 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1132, .child_index = 6 },
1299 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1132, .child_index = 7 },
1300 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1132, .child_index = 8 },
1301 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1132, .child_index = 9 },
1302 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1132, .child_index = 10 },
1303 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1132, .child_index = 11 },
1304 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1132, .child_index = 12 },
1305 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1132, .child_index = 13 },
1306 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1132, .child_index = 14 },
1307 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1132, .child_index = 15 },
1308 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1132, .child_index = 16 },
1309 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 19 },
1310 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 20 },
1311 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1123, .child_index = 21 },
1312 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 40 },
1313 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 41 },
1314 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 60, .child_index = 42 },
1315 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 46 },
1316 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 282, .child_index = 49 },
1317 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 34, .child_index = 56 },
1318 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 58 },
1319 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 60 },
1320 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 61 },
1321 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 62 },
1322 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 123, .child_index = 64 },
1323 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 99, .child_index = 66 },
1324 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 72 },
1325 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 73 },
1326 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 162, .child_index = 75 },
1327 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 91, .child_index = 82 },
1328 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 136, .child_index = 88 },
1329 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 97 },
1330 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 100 },
1331 .{ .char = 'x', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 103 },
1332 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 104 },
1333 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 105 },
1334 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 106 },
1335 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 107 },
1336 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 35, .child_index = 109 },
1337 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 110 },
1338 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 111 },
1339 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 113 },
1340 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 114 },
1341 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 116 },
1342 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 34, .child_index = 117 },
1343 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 120 },
1344 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 121 },
1345 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 123 },
1346 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 127 },
1347 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 128 },
1348 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 166, .child_index = 129 },
1349 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 130 },
1350 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 131 },
1351 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 132 },
1352 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 128 },
1353 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 26, .child_index = 133 },
1354 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 135 },
1355 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 136 },
1356 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 137 },
1357 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 69, .child_index = 138 },
1358 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 54, .child_index = 144 },
1359 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 145 },
1360 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 146 },
1361 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 147 },
1362 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 148 },
1363 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 149 },
1364 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 150 },
1365 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 151 },
1366 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 152 },
1367 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 153 },
1368 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 155 },
1369 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 157 },
1370 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 158 },
1371 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 159 },
1372 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 41, .child_index = 160 },
1373 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 47, .child_index = 162 },
1374 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 164 },
1375 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 165 },
1376 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 167 },
1377 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 168 },
1378 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 169 },
1379 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 45, .child_index = 170 },
1380 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 26, .child_index = 171 },
1381 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 175 },
1382 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 135 },
1383 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 176 },
1384 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 179 },
1385 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 180 },
1386 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 182 },
1387 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 184 },
1388 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 53, .child_index = 186 },
1389 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 192 },
1390 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 193 },
1391 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 195 },
1392 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 196 },
1393 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 197 },
1394 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 198 },
1395 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 200 },
1396 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 201 },
1397 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 200 },
1398 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 202 },
1399 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 203 },
1400 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 204 },
1401 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 208 },
1402 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 35, .child_index = 211 },
1403 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 217 },
1404 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 221 },
1405 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 222 },
1406 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 223 },
1407 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 224 },
1408 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 225 },
1409 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 227 },
1410 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 229 },
1411 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 230 },
1412 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 230 },
1413 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 232 },
1414 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 235 },
1415 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 235 },
1416 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 235 },
1417 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 227 },
1418 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 235 },
1419 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 227 },
1420 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 238 },
1421 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 227 },
1422 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 166, .child_index = 239 },
1423 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 251 },
1424 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 253 },
1425 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 257 },
1426 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 258 },
1427 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 263 },
1428 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 265 },
1429 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 267 },
1430 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 268 },
1431 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 269 },
1432 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 271 },
1433 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 271 },
1434 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 271 },
1435 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 273 },
1436 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 274 },
1437 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 54, .child_index = 275 },
1438 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 276 },
1439 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 276 },
1440 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 280 },
1441 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 281 },
1442 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 282 },
1443 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 284 },
1444 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 288 },
1445 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 289 },
1446 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 291 },
1447 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 292 },
1448 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 293 },
1449 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 294 },
1450 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 295 },
1451 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 297 },
1452 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 298 },
1453 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 299 },
1454 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 21, .child_index = 300 },
1455 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 37, .child_index = 301 },
1456 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 303 },
1457 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 304 },
1458 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 306 },
1459 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 307 },
1460 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 128 },
1461 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 308 },
1462 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 136 },
1463 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 45, .child_index = 309 },
1464 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 319 },
1465 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 321 },
1466 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 322 },
1467 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 323 },
1468 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 324 },
1469 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 325 },
1470 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 328 },
1471 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 332 },
1472 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 336 },
1473 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 339 },
1474 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 342 },
1475 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 343 },
1476 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 344 },
1477 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 336 },
1478 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 336 },
1479 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 345 },
1480 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 347 },
1481 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 347 },
1482 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 347 },
1483 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 349 },
1484 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 274 },
1485 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 350 },
1486 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 352 },
1487 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 352 },
1488 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 227 },
1489 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 356 },
1490 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 359 },
1491 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 360 },
1492 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 361 },
1493 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 227 },
1494 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 362 },
1495 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 363 },
1496 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 364 },
1497 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },
1498 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 368 },
1499 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 369 },
1500 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
1501 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },
1502 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 371 },
1503 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 369 },
1504 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 372 },
1505 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 373 },
1506 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 374 },
1507 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 375 },
1508 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 376 },
1509 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 377 },
1510 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 379 },
1511 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 379 },
1512 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 380 },
1513 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 381 },
1514 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 382 },
1515 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 382 },
1516 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 384 },
1517 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 385 },
1518 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 386 },
1519 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },
1520 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 372 },
1521 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 388 },
1522 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 389 },
1523 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 204 },
1524 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 204 },
1525 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 391 },
1526 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 370 },
1527 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 392 },
1528 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 391 },
1529 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 370 },
1530 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 396 },
1531 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 400 },
1532 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 402 },
1533 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 402 },
1534 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 403 },
1535 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 410 },
1536 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 414 },
1537 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 415 },
1538 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 410 },
1539 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 410 },
1540 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 410 },
1541 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 23, .child_index = 416 },
1542 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 417 },
1543 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 418 },
1544 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 420 },
1545 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 424 },
1546 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 425 },
1547 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 426 },
1548 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 427 },
1549 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 428 },
1550 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 384 },
1551 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 429 },
1552 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 432 },
1553 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 433 },
1554 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 434 },
1555 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 435 },
1556 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 436 },
1557 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 436 },
1558 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 437 },
1559 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 438 },
1560 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 227 },
1561 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 227 },
1562 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 439 },
1563 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 444 },
1564 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 445 },
1565 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 449 },
1566 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 349 },
1567 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
1568 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 54, .child_index = 451 },
1569 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },
1570 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 453 },
1571 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 369 },
1572 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 454 },
1573 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 456 },
1574 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 459 },
1575 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 388 },
1576 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 388 },
1577 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 460 },
1578 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 463 },
1579 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 388 },
1580 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 464 },
1581 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 371 },
1582 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 116 },
1583 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 469 },
1584 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 474 },
1585 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 474 },
1586 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 478 },
1587 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 484 },
1588 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 490 },
1589 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 492 },
1590 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 493 },
1591 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 478 },
1592 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 495 },
1593 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 21, .child_index = 497 },
1594 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 499 },
1595 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 506 },
1596 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 484 },
1597 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 508 },
1598 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 508 },
1599 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },
1600 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 362 },
1601 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 513 },
1602 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 516 },
1603 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 517 },
1604 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },
1605 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 518 },
1606 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 518 },
1607 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 518 },
1608 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 520 },
1609 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 518 },
1610 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 369 },
1611 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 518 },
1612 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 356 },
1613 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 332 },
1614 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 523 },
1615 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 336 },
1616 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },
1617 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 524 },
1618 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 525 },
1619 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 530 },
1620 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 531 },
1621 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 532 },
1622 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 534 },
1623 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 535 },
1624 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 536 },
1625 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 374 },
1626 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 537 },
1627 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 535 },
1628 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 535 },
1629 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 374 },
1630 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 537 },
1631 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 535 },
1632 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 538 },
1633 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 539 },
1634 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 540 },
1635 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 541 },
1636 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 543 },
1637 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 518 },
1638 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 544 },
1639 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 548 },
1640 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 549 },
1641 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 552 },
1642 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 553 },
1643 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 373 },
1644 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 374 },
1645 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 388 },
1646 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 388 },
1647 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 388 },
1648 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 388 },
1649 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 372 },
1650 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 373 },
1651 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 388 },
1652 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 555 },
1653 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 556 },
1654 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 557 },
1655 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 558 },
1656 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
1657 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 560 },
1658 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 561 },
1659 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 562 },
1660 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1661 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 563 },
1662 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 366 },
1663 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 564 },
1664 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 565 },
1665 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1666 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 566 },
1667 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 388 },
1668 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 568 },
1669 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 570 },
1670 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 572 },
1671 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 575 },
1672 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 576 },
1673 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 381 },
1674 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 379 },
1675 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 577 },
1676 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 578 },
1677 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 579 },
1678 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 580 },
1679 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 582 },
1680 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 583 },
1681 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 372 },
1682 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 584 },
1683 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 585 },
1684 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 586 },
1685 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },
1686 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 391 },
1687 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 369 },
1688 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
1689 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },
1690 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 589 },
1691 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 369 },
1692 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
1693 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 590 },
1694 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 592 },
1695 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 593 },
1696 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 597 },
1697 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 598 },
1698 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 601 },
1699 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 602 },
1700 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 603 },
1701 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 604 },
1702 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 604 },
1703 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 607 },
1704 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 609 },
1705 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 610 },
1706 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 611 },
1707 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 612 },
1708 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 616 },
1709 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 23, .child_index = 617 },
1710 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 624 },
1711 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 628 },
1712 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 629 },
1713 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 630 },
1714 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 632 },
1715 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 633 },
1716 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
1717 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 420 },
1718 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 634 },
1719 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 635 },
1720 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 636 },
1721 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 637 },
1722 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 562 },
1723 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 638 },
1724 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1725 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 639 },
1726 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 640 },
1727 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 429 },
1728 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 641 },
1729 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 642 },
1730 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 644 },
1731 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 437 },
1732 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 645 },
1733 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 646 },
1734 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 647 },
1735 .{ .char = 'v', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1736 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 648 },
1737 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 439 },
1738 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 651 },
1739 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 646 },
1740 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 647 },
1741 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1742 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 445 },
1743 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 652 },
1744 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 653 },
1745 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 655 },
1746 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 656 },
1747 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 659 },
1748 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 662 },
1749 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 663 },
1750 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 664 },
1751 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 663 },
1752 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 666 },
1753 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 667 },
1754 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 368 },
1755 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1756 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 668 },
1757 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },
1758 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 368 },
1759 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 433 },
1760 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 369 },
1761 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
1762 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },
1763 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 391 },
1764 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 227 },
1765 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 369 },
1766 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
1767 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },
1768 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 670 },
1769 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 671 },
1770 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
1771 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 372 },
1772 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 673 },
1773 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 371 },
1774 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 674 },
1775 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 388 },
1776 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 675 },
1777 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 372 },
1778 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 676 },
1779 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 373 },
1780 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 677 },
1781 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 388 },
1782 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 678 },
1783 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 679 },
1784 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 679 },
1785 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 680 },
1786 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 682 },
1787 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 686 },
1788 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 687 },
1789 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 689 },
1790 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 484 },
1791 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 506 },
1792 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 532 },
1793 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 690 },
1794 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 534 },
1795 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 691 },
1796 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 536 },
1797 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 692 },
1798 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 693 },
1799 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 699 },
1800 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 703 },
1801 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 227 },
1802 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 227 },
1803 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 227 },
1804 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 227 },
1805 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 374 },
1806 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 204 },
1807 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 204 },
1808 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 704 },
1809 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 706 },
1810 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 706 },
1811 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },
1812 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 369 },
1813 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },
1814 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 369 },
1815 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
1816 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 708 },
1817 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 382 },
1818 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 710 },
1819 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 711 },
1820 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 710 },
1821 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 710 },
1822 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 712 },
1823 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 713 },
1824 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 714 },
1825 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 388 },
1826 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1827 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 715 },
1828 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 374 },
1829 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 532 },
1830 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 718 },
1831 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 719 },
1832 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 720 },
1833 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 721 },
1834 .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 723 },
1835 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 711 },
1836 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 724 },
1837 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 645 },
1838 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 647 },
1839 .{ .char = 'v', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1840 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 648 },
1841 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 544 },
1842 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 651 },
1843 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 647 },
1844 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1845 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 549 },
1846 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 730 },
1847 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 731 },
1848 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 478 },
1849 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 732 },
1850 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 734 },
1851 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 735 },
1852 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 736 },
1853 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 737 },
1854 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 560 },
1855 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 738 },
1856 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 739 },
1857 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
1858 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 739 },
1859 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 739 },
1860 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 739 },
1861 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 740 },
1862 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 742 },
1863 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 743 },
1864 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1865 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 633 },
1866 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 744 },
1867 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 744 },
1868 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 747 },
1869 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 750 },
1870 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 751 },
1871 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 753 },
1872 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 754 },
1873 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 564 },
1874 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
1875 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 756 },
1876 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 758 },
1877 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 759 },
1878 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 760 },
1879 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 739 },
1880 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 739 },
1881 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 739 },
1882 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 761 },
1883 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 751 },
1884 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 763 },
1885 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 764 },
1886 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 766 },
1887 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 767 },
1888 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 768 },
1889 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 769 },
1890 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 770 },
1891 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 771 },
1892 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 772 },
1893 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 773 },
1894 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 774 },
1895 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 775 },
1896 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 776 },
1897 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 779 },
1898 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 780 },
1899 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 781 },
1900 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 604 },
1901 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 604 },
1902 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 782 },
1903 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 607 },
1904 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 784 },
1905 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 786 },
1906 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 787 },
1907 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 788 },
1908 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 788 },
1909 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 597 },
1910 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 790 },
1911 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 793 },
1912 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 794 },
1913 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 795 },
1914 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 603 },
1915 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 604 },
1916 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 604 },
1917 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 796 },
1918 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 797 },
1919 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 798 },
1920 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 798 },
1921 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 800 },
1922 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 801 },
1923 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 802 },
1924 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 803 },
1925 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 804 },
1926 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
1927 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 806 },
1928 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 807 },
1929 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 808 },
1930 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 809 },
1931 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 810 },
1932 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 811 },
1933 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 812 },
1934 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 813 },
1935 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 814 },
1936 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 816 },
1937 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 817 },
1938 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 818 },
1939 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 819 },
1940 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 820 },
1941 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 388 },
1942 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 388 },
1943 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 388 },
1944 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 562 },
1945 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 743 },
1946 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 821 },
1947 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 822 },
1948 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 823 },
1949 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },
1950 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 369 },
1951 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 382 },
1952 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 751 },
1953 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 744 },
1954 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 744 },
1955 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 824 },
1956 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 827 },
1957 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 828 },
1958 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 828 },
1959 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 830 },
1960 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 833 },
1961 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 739 },
1962 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1963 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 834 },
1964 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },
1965 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 368 },
1966 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 837 },
1967 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 838 },
1968 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 839 },
1969 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 840 },
1970 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 842 },
1971 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 844 },
1972 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 846 },
1973 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 849 },
1974 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 853 },
1975 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 372 },
1976 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 373 },
1977 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 677 },
1978 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 678 },
1979 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 856 },
1980 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 860 },
1981 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 860 },
1982 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 861 },
1983 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 862 },
1984 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 865 },
1985 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 868 },
1986 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 374 },
1987 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 871 },
1988 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 872 },
1989 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 873 },
1990 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 535 },
1991 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 874 },
1992 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 374 },
1993 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 537 },
1994 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 875 },
1995 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 876 },
1996 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 877 },
1997 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 368 },
1998 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
1999 .{ .char = 'x', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 881 },
2000 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 881 },
2001 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 204 },
2002 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 204 },
2003 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 711 },
2004 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 883 },
2005 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 884 },
2006 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 886 },
2007 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 888 },
2008 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 373 },
2009 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 739 },
2010 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 739 },
2011 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 373 },
2012 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 890 },
2013 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 710 },
2014 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 891 },
2015 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 891 },
2016 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 893 },
2017 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 372 },
2018 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 576 },
2019 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 558 },
2020 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 894 },
2021 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 388 },
2022 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 711 },
2023 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 895 },
2024 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 730 },
2025 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 839 },
2026 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 675 },
2027 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 896 },
2028 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 739 },
2029 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 897 },
2030 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 898 },
2031 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2032 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 899 },
2033 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 744 },
2034 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 744 },
2035 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 740 },
2036 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 900 },
2037 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 738 },
2038 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
2039 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2040 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 901 },
2041 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 903 },
2042 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 903 },
2043 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 907 },
2044 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 738 },
2045 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
2046 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 908 },
2047 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 903 },
2048 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 903 },
2049 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 758 },
2050 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 758 },
2051 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
2052 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 911 },
2053 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 912 },
2054 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 739 },
2055 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 739 },
2056 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 913 },
2057 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 908 },
2058 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 914 },
2059 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 767 },
2060 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 802 },
2061 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 915 },
2062 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 916 },
2063 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 917 },
2064 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 918 },
2065 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 919 },
2066 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 920 },
2067 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 921 },
2068 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 922 },
2069 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 790 },
2070 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 604 },
2071 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 604 },
2072 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 923 },
2073 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 388 },
2074 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 388 },
2075 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 788 },
2076 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 788 },
2077 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 798 },
2078 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 798 },
2079 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 924 },
2080 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 925 },
2081 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 928 },
2082 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 929 },
2083 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 930 },
2084 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 780 },
2085 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 781 },
2086 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 931 },
2087 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 932 },
2088 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 933 },
2089 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 934 },
2090 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 935 },
2091 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 938 },
2092 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 939 },
2093 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 780 },
2094 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 940 },
2095 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 941 },
2096 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 941 },
2097 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 942 },
2098 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2099 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 943 },
2100 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 944 },
2101 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 945 },
2102 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 946 },
2103 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 947 },
2104 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 948 },
2105 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 949 },
2106 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 950 },
2107 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 951 },
2108 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 952 },
2109 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 814 },
2110 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 953 },
2111 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 954 },
2112 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 955 },
2113 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 956 },
2114 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 957 },
2115 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 821 },
2116 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 958 },
2117 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 908 },
2118 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 744 },
2119 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 744 },
2120 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 959 },
2121 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 961 },
2122 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 961 },
2123 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 630 },
2124 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 633 },
2125 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
2126 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 962 },
2127 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 366 },
2128 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 671 },
2129 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
2130 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 907 },
2131 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 562 },
2132 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
2133 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 907 },
2134 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 907 },
2135 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 562 },
2136 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 562 },
2137 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 633 },
2138 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
2139 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 372 },
2140 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 963 },
2141 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 964 },
2142 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 965 },
2143 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 674 },
2144 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 967 },
2145 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 675 },
2146 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 372 },
2147 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 674 },
2148 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 675 },
2149 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 372 },
2150 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 371 },
2151 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 674 },
2152 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 675 },
2153 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 968 },
2154 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 849 },
2155 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 676 },
2156 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 907 },
2157 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 907 },
2158 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 677 },
2159 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 562 },
2160 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 562 },
2161 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 678 },
2162 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 633 },
2163 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
2164 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 972 },
2165 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 973 },
2166 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 974 },
2167 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 975 },
2168 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 976 },
2169 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 977 },
2170 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 374 },
2171 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 872 },
2172 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 873 },
2173 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 874 },
2174 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 978 },
2175 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 979 },
2176 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
2177 .{ .char = '0', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 710 },
2178 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 710 },
2179 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 980 },
2180 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 712 },
2181 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 982 },
2182 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 984 },
2183 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 985 },
2184 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 710 },
2185 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 710 },
2186 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 710 },
2187 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 986 },
2188 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 987 },
2189 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 675 },
2190 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 988 },
2191 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 989 },
2192 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2193 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 907 },
2194 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
2195 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 899 },
2196 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 738 },
2197 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
2198 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 899 },
2199 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2200 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2201 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 738 },
2202 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
2203 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 899 },
2204 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 990 },
2205 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 992 },
2206 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 993 },
2207 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 996 },
2208 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 997 },
2209 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 998 },
2210 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
2211 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 999 },
2212 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1002 },
2213 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1004 },
2214 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1006 },
2215 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1007 },
2216 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 651 },
2217 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 373 },
2218 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 786 },
2219 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1008 },
2220 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1008 },
2221 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 368 },
2222 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 368 },
2223 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 677 },
2224 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1009 },
2225 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 415 },
2226 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1010 },
2227 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 678 },
2228 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 796 },
2229 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1011 },
2230 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1011 },
2231 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
2232 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
2233 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 928 },
2234 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1012 },
2235 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1013 },
2236 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1015 },
2237 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1016 },
2238 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1017 },
2239 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1018 },
2240 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 518 },
2241 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1019 },
2242 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1020 },
2243 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1021 },
2244 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1022 },
2245 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1023 },
2246 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1024 },
2247 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1025 },
2248 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1026 },
2249 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 955 },
2250 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1028 },
2251 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1029 },
2252 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 767 },
2253 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1030 },
2254 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1031 },
2255 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 227 },
2256 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1032 },
2257 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1034 },
2258 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 667 },
2259 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2260 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 965 },
2261 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1036 },
2262 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 674 },
2263 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1037 },
2264 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 675 },
2265 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 673 },
2266 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 371 },
2267 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 674 },
2268 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 675 },
2269 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 677 },
2270 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 678 },
2271 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 901 },
2272 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 978 },
2273 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 710 },
2274 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 711 },
2275 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 362 },
2276 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 558 },
2277 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1038 },
2278 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1040 },
2279 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 562 },
2280 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1042 },
2281 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 415 },
2282 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1043 },
2283 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1045 },
2284 .{ .char = '9', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1046 },
2285 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1047 },
2286 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1049 },
2287 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1045 },
2288 .{ .char = '9', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1046 },
2289 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1050 },
2290 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 998 },
2291 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1053 },
2292 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 633 },
2293 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 562 },
2294 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 562 },
2295 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1055 },
2296 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2297 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 633 },
2298 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2299 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1057 },
2300 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1058 },
2301 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 929 },
2302 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 415 },
2303 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1060 },
2304 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 938 },
2305 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1061 },
2306 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1062 },
2307 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1063 },
2308 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1064 },
2309 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1066 },
2310 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1068 },
2311 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1070 },
2312 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1072 },
2313 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1074 },
2314 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 580 },
2315 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1076 },
2316 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 923 },
2317 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1077 },
2318 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1081 },
2319 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 651 },
2320 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2321 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1082 },
2322 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1083 },
2323 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1084 },
2324 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1085 },
2325 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1087 },
2326 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 562 },
2327 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1088 },
2328 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
2329 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 751 },
2330 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1036 },
2331 .{ .char = '0', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 362 },
2332 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 362 },
2333 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 710 },
2334 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 710 },
2335 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1089 },
2336 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1026 },
2337 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 955 },
2338 .{ .char = '7', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1046 },
2339 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1090 },
2340 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1091 },
2341 .{ .char = '9', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1092 },
2342 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1046 },
2343 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },
2344 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1091 },
2345 .{ .char = '9', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1092 },
2346 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 766 },
2347 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 767 },
2348 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 738 },
2349 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 899 },
2350 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1094 },
2351 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1095 },
2352 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1096 },
2353 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1097 },
2354 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1098 },
2355 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 630 },
2356 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1062 },
2357 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1099 },
2358 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1101 },
2359 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1102 },
2360 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1104 },
2361 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1105 },
2362 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1108 },
2363 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1109 },
2364 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1111 },
2365 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 563 },
2366 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 368 },
2367 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 651 },
2368 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 923 },
2369 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 923 },
2370 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 651 },
2371 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 901 },
2372 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 903 },
2373 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1112 },
2374 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1113 },
2375 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1116 },
2376 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1118 },
2377 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1119 },
2378 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1120 },
2379 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1121 },
2380 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1122 },
2381 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1123 },
2382 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1124 },
2383 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 577 },
2384 .{ .char = '7', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1092 },
2385 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 578 },
2386 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1092 },
2387 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1128 },
2388 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1129 },
2389 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1129 },
2390 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1095 },
2391 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1129 },
2392 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 907 },
2393 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1112 },
2394 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1099 },
2395 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 739 },
2396 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 739 },
2397 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1102 },
2398 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 651 },
2399 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 562 },
2400 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 562 },
2401 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1105 },
2402 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 633 },
2403 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 633 },
2404 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1109 },
2405 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 907 },
2406 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2407 .{ .char = '3', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2408 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2409 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1130 },
2410 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1136 },
2411 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1137 },
2412 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1139 },
2413 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 803 },
2414 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1141 },
2415 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1142 },
2416 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1143 },
2417 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 739 },
2418 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 739 },
2419 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 739 },
2420 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 739 },
2421 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1144 },
2422 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1145 },
2423 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 651 },
2424 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 562 },
2425 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1112 },
2426 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1146 },
2427 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1146 },
2428 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1146 },
2429 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1130 },
2430 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1148 },
2431 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1154 },
2432 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 766 },
2433 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1155 },
2434 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1156 },
2435 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1157 },
2436 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 732 },
2437 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1159 },
2438 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1160 },
2439 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 738 },
2440 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2441 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1161 },
2442 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1162 },
2443 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1112 },
2444 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1163 },
2445 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1163 },
2446 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1163 },
2447 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1148 },
2448 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 766 },
2449 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1165 },
2450 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 838 },
2451 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 674 },
2452 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1167 },
2453 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1168 },
2454 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1162 },
2455 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1169 },
2456 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1169 },
2457 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2458 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1170 },
2459 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1171 },
2460 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1096 },
2461 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2462 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1172 },
2463 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1120 },
2464 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1170 },
2465 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1173 },
2466 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
2467};
2468pub const data = blk: {
2469 @setEvalBranchQuota(10188);
2470 break :blk [_]Properties{
2471 .{ .param_str = "V8ScV16Sci", .features = "bf16,neon" },
2472 .{ .param_str = "V8ScV8ScIii", .features = "bf16,neon" },
2473 .{ .param_str = "V8ScV8ScIii", .features = "neon" },
2474 .{ .param_str = "V8ScV16ScIii", .features = "bf16,neon" },
2475 .{ .param_str = "V8ScV16ScIii", .features = "neon" },
2476 .{ .param_str = "V16ScV8ScIii", .features = "bf16,neon" },
2477 .{ .param_str = "V16ScV8ScIii", .features = "neon" },
2478 .{ .param_str = "V16ScV16ScIii", .features = "bf16,neon" },
2479 .{ .param_str = "V16ScV16ScIii", .features = "neon" },
2480 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
2481 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
2482 .{ .param_str = "ddd", .features = "neon" },
2483 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
2484 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
2485 .{ .param_str = "fff", .features = "neon" },
2486 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2487 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2488 .{ .param_str = "WiWi", .features = "neon" },
2489 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2490 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2491 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
2492 .{ .param_str = "WiWiWi", .features = "neon" },
2493 .{ .param_str = "UWiUWiUWi", .features = "neon" },
2494 .{ .param_str = "V8ScV16ScV16Sci", .features = "neon" },
2495 .{ .param_str = "iV4s", .features = "neon" },
2496 .{ .param_str = "WiV2i", .features = "neon" },
2497 .{ .param_str = "sV8Sc", .features = "neon" },
2498 .{ .param_str = "UiV4Us", .features = "neon" },
2499 .{ .param_str = "UWiV2Ui", .features = "neon" },
2500 .{ .param_str = "UsV8Uc", .features = "neon" },
2501 .{ .param_str = "iV8s", .features = "neon" },
2502 .{ .param_str = "WiV4i", .features = "neon" },
2503 .{ .param_str = "sV16Sc", .features = "neon" },
2504 .{ .param_str = "UiV8Us", .features = "neon" },
2505 .{ .param_str = "UWiV4Ui", .features = "neon" },
2506 .{ .param_str = "UsV16Uc", .features = "neon" },
2507 .{ .param_str = "ULLLiULLLiULLLi", .features = "neon" },
2508 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
2509 .{ .param_str = "fV2f", .features = "neon" },
2510 .{ .param_str = "sV4s", .features = "neon" },
2511 .{ .param_str = "iV2i", .features = "neon" },
2512 .{ .param_str = "ScV8Sc", .features = "neon" },
2513 .{ .param_str = "UsV4Us", .features = "neon" },
2514 .{ .param_str = "UiV2Ui", .features = "neon" },
2515 .{ .param_str = "UcV8Uc", .features = "neon" },
2516 .{ .param_str = "fV4f", .features = "neon" },
2517 .{ .param_str = "dV2d", .features = "neon" },
2518 .{ .param_str = "sV8s", .features = "neon" },
2519 .{ .param_str = "iV4i", .features = "neon" },
2520 .{ .param_str = "WiV2Wi", .features = "neon" },
2521 .{ .param_str = "ScV16Sc", .features = "neon" },
2522 .{ .param_str = "UsV8Us", .features = "neon" },
2523 .{ .param_str = "UiV4Ui", .features = "neon" },
2524 .{ .param_str = "UWiV2UWi", .features = "neon" },
2525 .{ .param_str = "UcV16Uc", .features = "neon" },
2526 .{ .param_str = "V16ScV16ScV16Sci", .features = "aes,neon" },
2527 .{ .param_str = "V16ScV16ScV16Sci", .features = "aes,neon" },
2528 .{ .param_str = "V16ScV16Sci", .features = "aes,neon" },
2529 .{ .param_str = "V16ScV16Sci", .features = "aes,neon" },
2530 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon,faminmax" },
2531 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon,faminmax" },
2532 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon,faminmax" },
2533 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon,faminmax" },
2534 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon,faminmax" },
2535 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon,faminmax" },
2536 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon,faminmax" },
2537 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon,faminmax" },
2538 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon,faminmax" },
2539 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon,faminmax" },
2540 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2541 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2542 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2543 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2544 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2545 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2546 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2547 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2548 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "bf16,neon" },
2549 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "bf16,neon" },
2550 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "bf16,neon" },
2551 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "bf16,neon" },
2552 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "bf16,neon" },
2553 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "neon" },
2554 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "neon" },
2555 .{ .param_str = "V8ScV8ScV8Sci", .features = "v8_3a,fullfp16,neon" },
2556 .{ .param_str = "V8ScV8ScV8Sci", .features = "v8_3a,neon" },
2557 .{ .param_str = "V8ScV8ScV8Sci", .features = "v8_3a,fullfp16,neon" },
2558 .{ .param_str = "V8ScV8ScV8Sci", .features = "v8_3a,neon" },
2559 .{ .param_str = "V16ScV16ScV16Sci", .features = "v8_3a,fullfp16,neon" },
2560 .{ .param_str = "V16ScV16ScV16Sci", .features = "v8_3a,neon" },
2561 .{ .param_str = "V16ScV16ScV16Sci", .features = "v8_3a,neon" },
2562 .{ .param_str = "V16ScV16ScV16Sci", .features = "v8_3a,fullfp16,neon" },
2563 .{ .param_str = "V16ScV16ScV16Sci", .features = "v8_3a,neon" },
2564 .{ .param_str = "V16ScV16ScV16Sci", .features = "v8_3a,neon" },
2565 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
2566 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
2567 .{ .param_str = "UWidd", .features = "neon" },
2568 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
2569 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
2570 .{ .param_str = "Uiff", .features = "neon" },
2571 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
2572 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
2573 .{ .param_str = "UWidd", .features = "neon" },
2574 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
2575 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
2576 .{ .param_str = "Uiff", .features = "neon" },
2577 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
2578 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
2579 .{ .param_str = "UWidd", .features = "neon" },
2580 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
2581 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
2582 .{ .param_str = "Uiff", .features = "neon" },
2583 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
2584 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
2585 .{ .param_str = "UWidd", .features = "neon" },
2586 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
2587 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
2588 .{ .param_str = "Uiff", .features = "neon" },
2589 .{ .param_str = "UWidd", .features = "neon" },
2590 .{ .param_str = "UWiWiWi", .features = "neon" },
2591 .{ .param_str = "UWiUWiUWi", .features = "neon" },
2592 .{ .param_str = "Uiff", .features = "neon" },
2593 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2594 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2595 .{ .param_str = "UWid", .features = "neon" },
2596 .{ .param_str = "UWiWi", .features = "neon" },
2597 .{ .param_str = "UWiUWi", .features = "neon" },
2598 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2599 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2600 .{ .param_str = "Uif", .features = "neon" },
2601 .{ .param_str = "UWidd", .features = "neon" },
2602 .{ .param_str = "UWiWiWi", .features = "neon" },
2603 .{ .param_str = "UWiUWiUWi", .features = "neon" },
2604 .{ .param_str = "Uiff", .features = "neon" },
2605 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2606 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2607 .{ .param_str = "UWid", .features = "neon" },
2608 .{ .param_str = "UWiWi", .features = "neon" },
2609 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2610 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2611 .{ .param_str = "Uif", .features = "neon" },
2612 .{ .param_str = "UWidd", .features = "neon" },
2613 .{ .param_str = "UWiWiWi", .features = "neon" },
2614 .{ .param_str = "UWiUWiUWi", .features = "neon" },
2615 .{ .param_str = "Uiff", .features = "neon" },
2616 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2617 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2618 .{ .param_str = "UWid", .features = "neon" },
2619 .{ .param_str = "UWiWi", .features = "neon" },
2620 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2621 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2622 .{ .param_str = "Uif", .features = "neon" },
2623 .{ .param_str = "UWidd", .features = "neon" },
2624 .{ .param_str = "UWiWiWi", .features = "neon" },
2625 .{ .param_str = "UWiUWiUWi", .features = "neon" },
2626 .{ .param_str = "Uiff", .features = "neon" },
2627 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2628 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2629 .{ .param_str = "UWid", .features = "neon" },
2630 .{ .param_str = "UWiWi", .features = "neon" },
2631 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2632 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2633 .{ .param_str = "Uif", .features = "neon" },
2634 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2635 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2636 .{ .param_str = "UWidd", .features = "neon" },
2637 .{ .param_str = "UWiWiWi", .features = "neon" },
2638 .{ .param_str = "UWiUWiUWi", .features = "neon" },
2639 .{ .param_str = "Uiff", .features = "neon" },
2640 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2641 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2642 .{ .param_str = "UWid", .features = "neon" },
2643 .{ .param_str = "UWiWi", .features = "neon" },
2644 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2645 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2646 .{ .param_str = "Uif", .features = "neon" },
2647 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2648 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2649 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "v8_3a,fullfp16,neon" },
2650 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "v8_3a,neon" },
2651 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "v8_3a,fullfp16,neon" },
2652 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "v8_3a,neon" },
2653 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "v8_3a,fullfp16,neon" },
2654 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "v8_3a,neon" },
2655 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "v8_3a,fullfp16,neon" },
2656 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "v8_3a,neon" },
2657 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_3a,fullfp16,neon" },
2658 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_3a,neon" },
2659 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_3a,neon" },
2660 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_3a,fullfp16,neon" },
2661 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_3a,neon" },
2662 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_3a,neon" },
2663 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_3a,fullfp16,neon" },
2664 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_3a,neon" },
2665 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_3a,neon" },
2666 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_3a,fullfp16,neon" },
2667 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_3a,neon" },
2668 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_3a,neon" },
2669 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2670 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2671 .{ .param_str = "V8yV8mUWi", .features = "fp8,neon" },
2672 .{ .param_str = "V8hV8mUWi", .features = "fp8,neon" },
2673 .{ .param_str = "V8yV16mUWi", .features = "fp8,neon" },
2674 .{ .param_str = "V8hV16mUWi", .features = "fp8,neon" },
2675 .{ .param_str = "V8yV16mUWi", .features = "fp8,neon" },
2676 .{ .param_str = "V8hV16mUWi", .features = "fp8,neon" },
2677 .{ .param_str = "V8yV8mUWi", .features = "fp8,neon" },
2678 .{ .param_str = "V8hV8mUWi", .features = "fp8,neon" },
2679 .{ .param_str = "V8yV16mUWi", .features = "fp8,neon" },
2680 .{ .param_str = "V8hV16mUWi", .features = "fp8,neon" },
2681 .{ .param_str = "V8yV16mUWi", .features = "fp8,neon" },
2682 .{ .param_str = "V8hV16mUWi", .features = "fp8,neon" },
2683 .{ .param_str = "V8ScV16Sci", .features = "bf16,neon" },
2684 .{ .param_str = "V8ScV16Sci", .features = "neon" },
2685 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2686 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2687 .{ .param_str = "V16ScV8Sci", .features = "neon" },
2688 .{ .param_str = "V8ScV16Sci", .features = "neon" },
2689 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2690 .{ .param_str = "V16ScV8Sci", .features = "neon" },
2691 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2692 .{ .param_str = "V16mV8mV4fV4fUWi", .features = "fp8,neon" },
2693 .{ .param_str = "V8mV8ScV8ScUWi", .features = "fp8,neon" },
2694 .{ .param_str = "V8mV4fV4fUWi", .features = "fp8,neon" },
2695 .{ .param_str = "V8ScV8ScIii", .features = "fullfp16,neon" },
2696 .{ .param_str = "V8ScV8ScIii", .features = "fullfp16,neon" },
2697 .{ .param_str = "V8ScV8ScIii", .features = "neon" },
2698 .{ .param_str = "V8ScV8ScIii", .features = "neon" },
2699 .{ .param_str = "V8ScV8ScIii", .features = "fullfp16,neon" },
2700 .{ .param_str = "V8ScV8ScIii", .features = "neon" },
2701 .{ .param_str = "V8ScV8ScIii", .features = "neon" },
2702 .{ .param_str = "V8ScV8ScIii", .features = "fullfp16,neon" },
2703 .{ .param_str = "V8ScV8ScIii", .features = "neon" },
2704 .{ .param_str = "V8ScV8ScIii", .features = "neon" },
2705 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2706 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2707 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2708 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2709 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2710 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2711 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2712 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2713 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2714 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2715 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2716 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2717 .{ .param_str = "id", .features = "neon" },
2718 .{ .param_str = "Wid", .features = "neon" },
2719 .{ .param_str = "Uid", .features = "neon" },
2720 .{ .param_str = "UWid", .features = "neon" },
2721 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2722 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2723 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2724 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2725 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2726 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2727 .{ .param_str = "if", .features = "neon" },
2728 .{ .param_str = "Wif", .features = "neon" },
2729 .{ .param_str = "Uif", .features = "neon" },
2730 .{ .param_str = "UWif", .features = "neon" },
2731 .{ .param_str = "dWi", .features = "neon" },
2732 .{ .param_str = "dUWi", .features = "neon" },
2733 .{ .param_str = "dWiIi", .features = "neon" },
2734 .{ .param_str = "dUWiIi", .features = "neon" },
2735 .{ .param_str = "WidIi", .features = "neon" },
2736 .{ .param_str = "UWidIi", .features = "neon" },
2737 .{ .param_str = "id", .features = "neon" },
2738 .{ .param_str = "Wid", .features = "neon" },
2739 .{ .param_str = "Uid", .features = "neon" },
2740 .{ .param_str = "UWid", .features = "neon" },
2741 .{ .param_str = "yf", .features = "bf16,neon" },
2742 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2743 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2744 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2745 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2746 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2747 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2748 .{ .param_str = "id", .features = "neon" },
2749 .{ .param_str = "Wid", .features = "neon" },
2750 .{ .param_str = "Uid", .features = "neon" },
2751 .{ .param_str = "UWid", .features = "neon" },
2752 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2753 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2754 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2755 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2756 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2757 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2758 .{ .param_str = "if", .features = "neon" },
2759 .{ .param_str = "Wif", .features = "neon" },
2760 .{ .param_str = "Uif", .features = "neon" },
2761 .{ .param_str = "UWif", .features = "neon" },
2762 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2763 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2764 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2765 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2766 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2767 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2768 .{ .param_str = "id", .features = "neon" },
2769 .{ .param_str = "Wid", .features = "neon" },
2770 .{ .param_str = "Uid", .features = "neon" },
2771 .{ .param_str = "UWid", .features = "neon" },
2772 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2773 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2774 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2775 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2776 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2777 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2778 .{ .param_str = "if", .features = "neon" },
2779 .{ .param_str = "Wif", .features = "neon" },
2780 .{ .param_str = "Uif", .features = "neon" },
2781 .{ .param_str = "UWif", .features = "neon" },
2782 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2783 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2784 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2785 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
2786 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2787 .{ .param_str = "V8ScV8Sci", .features = "neon" },
2788 .{ .param_str = "id", .features = "neon" },
2789 .{ .param_str = "Wid", .features = "neon" },
2790 .{ .param_str = "Uid", .features = "neon" },
2791 .{ .param_str = "UWid", .features = "neon" },
2792 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2793 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2794 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2795 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2796 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2797 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2798 .{ .param_str = "if", .features = "neon" },
2799 .{ .param_str = "Wif", .features = "neon" },
2800 .{ .param_str = "Uif", .features = "neon" },
2801 .{ .param_str = "UWif", .features = "neon" },
2802 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2803 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2804 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2805 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2806 .{ .param_str = "V16ScV16ScV16Sci", .features = "bf16,neon" },
2807 .{ .param_str = "V16ScV16Sci", .features = "bf16,neon" },
2808 .{ .param_str = "V16mV16ScV16ScUWi", .features = "fp8,neon" },
2809 .{ .param_str = "V16ScV16ScIii", .features = "fullfp16,neon" },
2810 .{ .param_str = "V16ScV16ScIii", .features = "fullfp16,neon" },
2811 .{ .param_str = "V16ScV16ScIii", .features = "neon" },
2812 .{ .param_str = "V16ScV16ScIii", .features = "neon" },
2813 .{ .param_str = "V16ScV16ScIii", .features = "fullfp16,neon" },
2814 .{ .param_str = "V16ScV16ScIii", .features = "neon" },
2815 .{ .param_str = "V16ScV16ScIii", .features = "neon" },
2816 .{ .param_str = "V16ScV16ScIii", .features = "fullfp16,neon" },
2817 .{ .param_str = "V16ScV16ScIii", .features = "neon" },
2818 .{ .param_str = "V16ScV16ScIii", .features = "neon" },
2819 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2820 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2821 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2822 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
2823 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2824 .{ .param_str = "V16ScV16Sci", .features = "neon" },
2825 .{ .param_str = "fi", .features = "neon" },
2826 .{ .param_str = "fUi", .features = "neon" },
2827 .{ .param_str = "fiIi", .features = "neon" },
2828 .{ .param_str = "fUiIi", .features = "neon" },
2829 .{ .param_str = "ifIi", .features = "neon" },
2830 .{ .param_str = "UifIi", .features = "neon" },
2831 .{ .param_str = "if", .features = "neon" },
2832 .{ .param_str = "Wif", .features = "neon" },
2833 .{ .param_str = "Uif", .features = "neon" },
2834 .{ .param_str = "UWif", .features = "neon" },
2835 .{ .param_str = "V8ScV16Sci", .features = "neon" },
2836 .{ .param_str = "fd", .features = "neon" },
2837 .{ .param_str = "V4hV8ScV8mV8mUWi", .features = "fp8dot2,neon" },
2838 .{ .param_str = "V2fV2fV8mV8mUWi", .features = "fp8dot4,neon" },
2839 .{ .param_str = "V4hV8ScV8mV8mIiUWi", .features = "fp8dot2,neon" },
2840 .{ .param_str = "V2fV2fV8mV8mIiUWi", .features = "fp8dot4,neon" },
2841 .{ .param_str = "V4hV8ScV8mV16mIiUWi", .features = "fp8dot2,neon" },
2842 .{ .param_str = "V2fV2fV8mV16mIiUWi", .features = "fp8dot4,neon" },
2843 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "dotprod,neon" },
2844 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "dotprod,neon" },
2845 .{ .param_str = "V8hV16ScV16mV16mUWi", .features = "fp8dot2,neon" },
2846 .{ .param_str = "V4fV4fV16mV16mUWi", .features = "fp8dot4,neon" },
2847 .{ .param_str = "V8hV16ScV16mV8mIiUWi", .features = "fp8dot2,neon" },
2848 .{ .param_str = "V4fV4fV16mV8mIiUWi", .features = "fp8dot4,neon" },
2849 .{ .param_str = "V8hV16ScV16mV16mIiUWi", .features = "fp8dot2,neon" },
2850 .{ .param_str = "V4fV4fV16mV16mIiUWi", .features = "fp8dot4,neon" },
2851 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "dotprod,neon" },
2852 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "dotprod,neon" },
2853 .{ .param_str = "UcV8ScIi", .features = "neon" },
2854 .{ .param_str = "mV8mIi", .features = "neon" },
2855 .{ .param_str = "UcV16ScIi", .features = "neon" },
2856 .{ .param_str = "mV16mIi", .features = "neon" },
2857 .{ .param_str = "dV1dIi", .features = "neon" },
2858 .{ .param_str = "UWiV1WiIi", .features = "neon" },
2859 .{ .param_str = "dV2dIi", .features = "neon" },
2860 .{ .param_str = "UWiV2WiIi", .features = "neon" },
2861 .{ .param_str = "yV4yIi", .features = "bf16,neon" },
2862 .{ .param_str = "hV4hIi", .features = "neon" },
2863 .{ .param_str = "UsV4sIi", .features = "neon" },
2864 .{ .param_str = "yV8yIi", .features = "bf16,neon" },
2865 .{ .param_str = "hV8hIi", .features = "neon" },
2866 .{ .param_str = "UsV8sIi", .features = "neon" },
2867 .{ .param_str = "fV2fIi", .features = "neon" },
2868 .{ .param_str = "UiV2iIi", .features = "neon" },
2869 .{ .param_str = "fV4fIi", .features = "neon" },
2870 .{ .param_str = "UiV4iIi", .features = "neon" },
2871 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2872 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2873 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2874 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2875 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2876 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2877 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2878 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
2879 .{ .param_str = "V8ScV8ScV8ScIii", .features = "neon" },
2880 .{ .param_str = "V16ScV16ScV16ScIii", .features = "neon" },
2881 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "fullfp16,neon" },
2882 .{ .param_str = "V8ScV8ScV8ScV8ScIii", .features = "fullfp16,neon" },
2883 .{ .param_str = "V8ScV8ScV8ScV8ScIii", .features = "neon" },
2884 .{ .param_str = "V8ScV8ScV8ScV16ScIii", .features = "fullfp16,neon" },
2885 .{ .param_str = "V8ScV8ScV8ScV16ScIii", .features = "neon" },
2886 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "neon" },
2887 .{ .param_str = "dddV1dIi", .features = "neon" },
2888 .{ .param_str = "dddV2dIi", .features = "neon" },
2889 .{ .param_str = "hhhV4hIi", .features = "fullfp16,neon" },
2890 .{ .param_str = "hhhV8hIi", .features = "fullfp16,neon" },
2891 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "fullfp16,neon" },
2892 .{ .param_str = "V16ScV16ScV16ScV8ScIii", .features = "fullfp16,neon" },
2893 .{ .param_str = "V16ScV16ScV16ScV8ScIii", .features = "neon" },
2894 .{ .param_str = "V16ScV16ScV16ScV16ScIii", .features = "fullfp16,neon" },
2895 .{ .param_str = "V16ScV16ScV16ScV16ScIii", .features = "neon" },
2896 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "neon" },
2897 .{ .param_str = "fffV2fIi", .features = "neon" },
2898 .{ .param_str = "fffV4fIi", .features = "neon" },
2899 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "fp16fml,neon" },
2900 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "fp16fml,neon" },
2901 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "fp16fml,neon" },
2902 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "fp16fml,neon" },
2903 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "fp16fml,neon" },
2904 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "fp16fml,neon" },
2905 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "fp16fml,neon" },
2906 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "fp16fml,neon" },
2907 .{ .param_str = "yV4yIi", .features = "bf16,neon" },
2908 .{ .param_str = "fV2fIi", .features = "neon" },
2909 .{ .param_str = "dV1dIi", .features = "neon" },
2910 .{ .param_str = "UsV4sIi", .features = "neon" },
2911 .{ .param_str = "UiV2iIi", .features = "neon" },
2912 .{ .param_str = "UWiV1WiIi", .features = "neon" },
2913 .{ .param_str = "UcV8ScIi", .features = "neon" },
2914 .{ .param_str = "mV8mIi", .features = "neon" },
2915 .{ .param_str = "yV8yIi", .features = "bf16,neon" },
2916 .{ .param_str = "fV4fIi", .features = "neon" },
2917 .{ .param_str = "dV2dIi", .features = "neon" },
2918 .{ .param_str = "UsV8sIi", .features = "neon" },
2919 .{ .param_str = "UiV4iIi", .features = "neon" },
2920 .{ .param_str = "UWiV2WiIi", .features = "neon" },
2921 .{ .param_str = "UcV16ScIi", .features = "neon" },
2922 .{ .param_str = "mV16mIi", .features = "neon" },
2923 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
2924 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
2925 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
2926 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
2927 .{ .param_str = "V8ScvC*i", .features = "bf16,neon" },
2928 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2929 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2930 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2931 .{ .param_str = "V8ScvC*i", .features = "bf16,neon" },
2932 .{ .param_str = "V8ScvC*i", .features = "neon" },
2933 .{ .param_str = "V8ScvC*V8ScIii", .features = "bf16,neon" },
2934 .{ .param_str = "V8ScvC*V8ScIii", .features = "neon" },
2935 .{ .param_str = "V8ScvC*i", .features = "neon" },
2936 .{ .param_str = "vv*vC*i", .features = "neon" },
2937 .{ .param_str = "vv*vC*i", .features = "neon" },
2938 .{ .param_str = "vv*vC*i", .features = "neon" },
2939 .{ .param_str = "V16ScvC*i", .features = "bf16,neon" },
2940 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2941 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2942 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2943 .{ .param_str = "V16ScvC*i", .features = "bf16,neon" },
2944 .{ .param_str = "V16ScvC*i", .features = "neon" },
2945 .{ .param_str = "V16ScvC*V16ScIii", .features = "bf16,neon" },
2946 .{ .param_str = "V16ScvC*V16ScIii", .features = "neon" },
2947 .{ .param_str = "V16ScvC*i", .features = "neon" },
2948 .{ .param_str = "vv*vC*i", .features = "neon" },
2949 .{ .param_str = "vv*vC*i", .features = "neon" },
2950 .{ .param_str = "vv*vC*i", .features = "neon" },
2951 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2952 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2953 .{ .param_str = "vv*vC*i", .features = "neon" },
2954 .{ .param_str = "vv*vC*V8ScV8ScIii", .features = "bf16,neon" },
2955 .{ .param_str = "vv*vC*V8ScV8ScIii", .features = "neon" },
2956 .{ .param_str = "vv*vC*i", .features = "neon" },
2957 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2958 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2959 .{ .param_str = "vv*vC*i", .features = "neon" },
2960 .{ .param_str = "vv*vC*V16ScV16ScIii", .features = "bf16,neon" },
2961 .{ .param_str = "vv*vC*V16ScV16ScIii", .features = "neon" },
2962 .{ .param_str = "vv*vC*i", .features = "neon" },
2963 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2964 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2965 .{ .param_str = "vv*vC*i", .features = "neon" },
2966 .{ .param_str = "vv*vC*V8ScV8ScV8ScIii", .features = "bf16,neon" },
2967 .{ .param_str = "vv*vC*V8ScV8ScV8ScIii", .features = "neon" },
2968 .{ .param_str = "vv*vC*i", .features = "neon" },
2969 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2970 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2971 .{ .param_str = "vv*vC*i", .features = "neon" },
2972 .{ .param_str = "vv*vC*V16ScV16ScV16ScIii", .features = "bf16,neon" },
2973 .{ .param_str = "vv*vC*V16ScV16ScV16ScIii", .features = "neon" },
2974 .{ .param_str = "vv*vC*i", .features = "neon" },
2975 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2976 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2977 .{ .param_str = "vv*vC*i", .features = "neon" },
2978 .{ .param_str = "vv*vC*V8ScV8ScV8ScV8ScIii", .features = "bf16,neon" },
2979 .{ .param_str = "vv*vC*V8ScV8ScV8ScV8ScIii", .features = "neon" },
2980 .{ .param_str = "vv*vC*i", .features = "neon" },
2981 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2982 .{ .param_str = "vv*vC*i", .features = "bf16,neon" },
2983 .{ .param_str = "vv*vC*i", .features = "neon" },
2984 .{ .param_str = "vv*vC*V16ScV16ScV16ScV16ScIii", .features = "bf16,neon" },
2985 .{ .param_str = "vv*vC*V16ScV16ScV16ScV16ScIii", .features = "neon" },
2986 .{ .param_str = "vv*vC*i", .features = "neon" },
2987 .{ .param_str = "V8ScvC*V8ScIii", .features = "rcpc3,neon" },
2988 .{ .param_str = "V8ScvC*V8ScIii", .features = "rcpc3,neon" },
2989 .{ .param_str = "V8ScvC*V8ScIii", .features = "rcpc3,neon" },
2990 .{ .param_str = "V8ScvC*V8ScIii", .features = "rcpc3,neon" },
2991 .{ .param_str = "V16ScvC*V16ScIii", .features = "rcpc3,neon" },
2992 .{ .param_str = "V16ScvC*V16ScIii", .features = "rcpc3,neon" },
2993 .{ .param_str = "V16ScvC*V16ScIii", .features = "rcpc3,neon" },
2994 .{ .param_str = "V16ScvC*V16ScIii", .features = "rcpc3,neon" },
2995 .{ .param_str = "ULLLivC*", .features = "neon" },
2996 .{ .param_str = "V16ScV8ScV8ScIii", .features = "lut,bf16" },
2997 .{ .param_str = "V16ScV8ScV8ScIii", .features = "lut" },
2998 .{ .param_str = "V16ScV8ScV8ScIii", .features = "lut" },
2999 .{ .param_str = "V16ScV8ScV8ScIii", .features = "lut" },
3000 .{ .param_str = "V16ScV8ScV8ScIii", .features = "lut" },
3001 .{ .param_str = "V16ScV8ScV8ScIii", .features = "lut" },
3002 .{ .param_str = "V16ScV8ScV8ScIii", .features = "lut" },
3003 .{ .param_str = "V16ScV8ScV8ScIii", .features = "lut" },
3004 .{ .param_str = "V16ScV8ScV8ScIii", .features = "lut" },
3005 .{ .param_str = "V16ScV8ScV16ScIii", .features = "lut,bf16" },
3006 .{ .param_str = "V16ScV8ScV16ScIii", .features = "lut" },
3007 .{ .param_str = "V16ScV8ScV16ScIii", .features = "lut" },
3008 .{ .param_str = "V16ScV8ScV16ScIii", .features = "lut" },
3009 .{ .param_str = "V16ScV8ScV16ScIii", .features = "lut" },
3010 .{ .param_str = "V16ScV8ScV16ScIii", .features = "lut" },
3011 .{ .param_str = "V16ScV8ScV16ScIii", .features = "lut" },
3012 .{ .param_str = "V16ScV8ScV16ScIii", .features = "lut" },
3013 .{ .param_str = "V16ScV8ScV16ScIii", .features = "lut" },
3014 .{ .param_str = "V16ScV16ScV8ScIii", .features = "lut,bf16" },
3015 .{ .param_str = "V16ScV16ScV8ScIii", .features = "lut" },
3016 .{ .param_str = "V16ScV16ScV8ScIii", .features = "lut" },
3017 .{ .param_str = "V16ScV16ScV8ScIii", .features = "lut" },
3018 .{ .param_str = "V16ScV16ScV8ScIii", .features = "lut" },
3019 .{ .param_str = "V16ScV16ScV8ScIii", .features = "lut" },
3020 .{ .param_str = "V16ScV16ScV8ScIii", .features = "lut" },
3021 .{ .param_str = "V16ScV16ScV8ScIii", .features = "lut" },
3022 .{ .param_str = "V16ScV16ScV8ScIii", .features = "lut" },
3023 .{ .param_str = "V16ScV16ScV16ScIii", .features = "lut,bf16" },
3024 .{ .param_str = "V16ScV16ScV16ScIii", .features = "lut" },
3025 .{ .param_str = "V16ScV16ScV16ScIii", .features = "lut" },
3026 .{ .param_str = "V16ScV16ScV16ScIii", .features = "lut" },
3027 .{ .param_str = "V16ScV16ScV16ScIii", .features = "lut" },
3028 .{ .param_str = "V16ScV16ScV16ScIii", .features = "lut" },
3029 .{ .param_str = "V16ScV16ScV16ScIii", .features = "lut" },
3030 .{ .param_str = "V16ScV16ScV16ScIii", .features = "lut" },
3031 .{ .param_str = "V16ScV16ScV16ScIii", .features = "lut" },
3032 .{ .param_str = "V16ScV16ScV16ScV8ScIii", .features = "lut,bf16" },
3033 .{ .param_str = "V16ScV16ScV16ScV8ScIii", .features = "lut" },
3034 .{ .param_str = "V16ScV16ScV8ScIii", .features = "lut" },
3035 .{ .param_str = "V16ScV16ScV16ScV8ScIii", .features = "lut" },
3036 .{ .param_str = "V16ScV16ScV8ScIii", .features = "lut" },
3037 .{ .param_str = "V16ScV16ScV16ScV8ScIii", .features = "lut" },
3038 .{ .param_str = "V16ScV16ScV8ScIii", .features = "lut" },
3039 .{ .param_str = "V16ScV16ScV16ScV8ScIii", .features = "lut" },
3040 .{ .param_str = "V16ScV16ScV8ScIii", .features = "lut" },
3041 .{ .param_str = "V16ScV16ScV16ScV16ScIii", .features = "lut,bf16" },
3042 .{ .param_str = "V16ScV16ScV16ScV16ScIii", .features = "lut" },
3043 .{ .param_str = "V16ScV16ScV16ScIii", .features = "lut" },
3044 .{ .param_str = "V16ScV16ScV16ScV16ScIii", .features = "lut" },
3045 .{ .param_str = "V16ScV16ScV16ScIii", .features = "lut" },
3046 .{ .param_str = "V16ScV16ScV16ScV16ScIii", .features = "lut" },
3047 .{ .param_str = "V16ScV16ScV16ScIii", .features = "lut" },
3048 .{ .param_str = "V16ScV16ScV16ScV16ScIii", .features = "lut" },
3049 .{ .param_str = "V16ScV16ScV16ScIii", .features = "lut" },
3050 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
3051 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3052 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
3053 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3054 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
3055 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3056 .{ .param_str = "hV8Sc", .features = "fullfp16,neon" },
3057 .{ .param_str = "fV2f", .features = "neon" },
3058 .{ .param_str = "hV16Sc", .features = "fullfp16,neon" },
3059 .{ .param_str = "fV4f", .features = "neon" },
3060 .{ .param_str = "dV2d", .features = "neon" },
3061 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
3062 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3063 .{ .param_str = "hV8Sc", .features = "fullfp16,neon" },
3064 .{ .param_str = "fV2f", .features = "neon" },
3065 .{ .param_str = "sV4s", .features = "neon" },
3066 .{ .param_str = "iV2i", .features = "neon" },
3067 .{ .param_str = "ScV8Sc", .features = "neon" },
3068 .{ .param_str = "UsV4Us", .features = "neon" },
3069 .{ .param_str = "UiV2Ui", .features = "neon" },
3070 .{ .param_str = "UcV8Uc", .features = "neon" },
3071 .{ .param_str = "hV16Sc", .features = "fullfp16,neon" },
3072 .{ .param_str = "fV4f", .features = "neon" },
3073 .{ .param_str = "dV2d", .features = "neon" },
3074 .{ .param_str = "sV8s", .features = "neon" },
3075 .{ .param_str = "iV4i", .features = "neon" },
3076 .{ .param_str = "ScV16Sc", .features = "neon" },
3077 .{ .param_str = "UsV8Us", .features = "neon" },
3078 .{ .param_str = "UiV4Ui", .features = "neon" },
3079 .{ .param_str = "UcV16Uc", .features = "neon" },
3080 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
3081 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3082 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
3083 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3084 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
3085 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3086 .{ .param_str = "hV8Sc", .features = "fullfp16,neon" },
3087 .{ .param_str = "fV2f", .features = "neon" },
3088 .{ .param_str = "hV16Sc", .features = "fullfp16,neon" },
3089 .{ .param_str = "fV4f", .features = "neon" },
3090 .{ .param_str = "dV2d", .features = "neon" },
3091 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
3092 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3093 .{ .param_str = "hV8Sc", .features = "fullfp16,neon" },
3094 .{ .param_str = "fV2f", .features = "neon" },
3095 .{ .param_str = "sV4s", .features = "neon" },
3096 .{ .param_str = "iV2i", .features = "neon" },
3097 .{ .param_str = "ScV8Sc", .features = "neon" },
3098 .{ .param_str = "UsV4Us", .features = "neon" },
3099 .{ .param_str = "UiV2Ui", .features = "neon" },
3100 .{ .param_str = "UcV8Uc", .features = "neon" },
3101 .{ .param_str = "hV16Sc", .features = "fullfp16,neon" },
3102 .{ .param_str = "fV4f", .features = "neon" },
3103 .{ .param_str = "dV2d", .features = "neon" },
3104 .{ .param_str = "sV8s", .features = "neon" },
3105 .{ .param_str = "iV4i", .features = "neon" },
3106 .{ .param_str = "ScV16Sc", .features = "neon" },
3107 .{ .param_str = "UsV8Us", .features = "neon" },
3108 .{ .param_str = "UiV4Ui", .features = "neon" },
3109 .{ .param_str = "UcV16Uc", .features = "neon" },
3110 .{ .param_str = "V8hV16ScV16mV16mUWi", .features = "fp8fma,neon" },
3111 .{ .param_str = "V8hV16ScV16mV8mIiUWi", .features = "fp8fma,neon" },
3112 .{ .param_str = "V8hV16ScV16mV16mIiUWi", .features = "fp8fma,neon" },
3113 .{ .param_str = "V4fV4fV16mV16mUWi", .features = "fp8fma,neon" },
3114 .{ .param_str = "V4fV4fV16mV8mIiUWi", .features = "fp8fma,neon" },
3115 .{ .param_str = "V4fV4fV16mV16mIiUWi", .features = "fp8fma,neon" },
3116 .{ .param_str = "V4fV4fV16mV16mUWi", .features = "fp8fma,neon" },
3117 .{ .param_str = "V4fV4fV16mV8mIiUWi", .features = "fp8fma,neon" },
3118 .{ .param_str = "V4fV4fV16mV16mIiUWi", .features = "fp8fma,neon" },
3119 .{ .param_str = "V4fV4fV16mV16mUWi", .features = "fp8fma,neon" },
3120 .{ .param_str = "V4fV4fV16mV8mIiUWi", .features = "fp8fma,neon" },
3121 .{ .param_str = "V4fV4fV16mV16mIiUWi", .features = "fp8fma,neon" },
3122 .{ .param_str = "V4fV4fV16mV16mUWi", .features = "fp8fma,neon" },
3123 .{ .param_str = "V4fV4fV16mV8mIiUWi", .features = "fp8fma,neon" },
3124 .{ .param_str = "V4fV4fV16mV16mIiUWi", .features = "fp8fma,neon" },
3125 .{ .param_str = "V8hV16ScV16mV16mUWi", .features = "fp8fma,neon" },
3126 .{ .param_str = "V8hV16ScV16mV8mIiUWi", .features = "fp8fma,neon" },
3127 .{ .param_str = "V8hV16ScV16mV16mIiUWi", .features = "fp8fma,neon" },
3128 .{ .param_str = "V8hV16ScV16mV16mUWi", .features = "f8f16mm,neon" },
3129 .{ .param_str = "V4fV4fV16mV16mUWi", .features = "f8f32mm,neon" },
3130 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "i8mm,neon" },
3131 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "i8mm,neon" },
3132 .{ .param_str = "V16ScV8Sci", .features = "neon" },
3133 .{ .param_str = "V8ScV16Sci", .features = "neon" },
3134 .{ .param_str = "V8ScV8ScV8ScIii", .features = "neon" },
3135 .{ .param_str = "V8ScV8ScV16ScIii", .features = "neon" },
3136 .{ .param_str = "V1dV1dd", .features = "neon" },
3137 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3138 .{ .param_str = "ULLLiUWiUWi", .features = "aes,neon" },
3139 .{ .param_str = "V16ScV8ScV8Sci", .features = "neon" },
3140 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3141 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
3142 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3143 .{ .param_str = "ddd", .features = "neon" },
3144 .{ .param_str = "hhV4hIi", .features = "fullfp16,neon" },
3145 .{ .param_str = "hhV8hIi", .features = "fullfp16,neon" },
3146 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
3147 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3148 .{ .param_str = "fff", .features = "neon" },
3149 .{ .param_str = "WiWi", .features = "neon" },
3150 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3151 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3152 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
3153 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3154 .{ .param_str = "dV2d", .features = "neon" },
3155 .{ .param_str = "WiV2Wi", .features = "neon" },
3156 .{ .param_str = "UWiV2UWi", .features = "neon" },
3157 .{ .param_str = "V8ScV8Sci", .features = "neon" },
3158 .{ .param_str = "V16ScV16Sci", .features = "neon" },
3159 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
3160 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3161 .{ .param_str = "fV2f", .features = "neon" },
3162 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
3163 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3164 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
3165 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3166 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
3167 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3168 .{ .param_str = "dV2d", .features = "neon" },
3169 .{ .param_str = "fV2f", .features = "neon" },
3170 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
3171 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3172 .{ .param_str = "dV2d", .features = "neon" },
3173 .{ .param_str = "fV2f", .features = "neon" },
3174 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
3175 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3176 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
3177 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3178 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
3179 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3180 .{ .param_str = "dV2d", .features = "neon" },
3181 .{ .param_str = "fV2f", .features = "neon" },
3182 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
3183 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3184 .{ .param_str = "dV2d", .features = "neon" },
3185 .{ .param_str = "fV2f", .features = "neon" },
3186 .{ .param_str = "V8ScV8Sci", .features = "neon" },
3187 .{ .param_str = "ScSc", .features = "neon" },
3188 .{ .param_str = "WiWi", .features = "neon" },
3189 .{ .param_str = "ss", .features = "neon" },
3190 .{ .param_str = "V16ScV16Sci", .features = "neon" },
3191 .{ .param_str = "ii", .features = "neon" },
3192 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3193 .{ .param_str = "ScScSc", .features = "neon" },
3194 .{ .param_str = "UcUcUc", .features = "neon" },
3195 .{ .param_str = "WiWiWi", .features = "neon" },
3196 .{ .param_str = "UWiUWiUWi", .features = "neon" },
3197 .{ .param_str = "sss", .features = "neon" },
3198 .{ .param_str = "UsUsUs", .features = "neon" },
3199 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3200 .{ .param_str = "iii", .features = "neon" },
3201 .{ .param_str = "UiUiUi", .features = "neon" },
3202 .{ .param_str = "V16ScV16ScV8ScV8Sci", .features = "neon" },
3203 .{ .param_str = "iisV4sIi", .features = "neon" },
3204 .{ .param_str = "iisV8sIi", .features = "neon" },
3205 .{ .param_str = "iiss", .features = "neon" },
3206 .{ .param_str = "WiWiiV2iIi", .features = "neon" },
3207 .{ .param_str = "WiWiiV4iIi", .features = "neon" },
3208 .{ .param_str = "WiWiii", .features = "neon" },
3209 .{ .param_str = "V16ScV16ScV8ScV8Sci", .features = "neon" },
3210 .{ .param_str = "iisV4sIi", .features = "neon" },
3211 .{ .param_str = "iisV8sIi", .features = "neon" },
3212 .{ .param_str = "iiss", .features = "neon" },
3213 .{ .param_str = "WiWiiV2iIi", .features = "neon" },
3214 .{ .param_str = "WiWiiV4iIi", .features = "neon" },
3215 .{ .param_str = "WiWiii", .features = "neon" },
3216 .{ .param_str = "V8ScV8ScV8ScIii", .features = "neon" },
3217 .{ .param_str = "V8ScV8ScV16ScIii", .features = "neon" },
3218 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3219 .{ .param_str = "sss", .features = "neon" },
3220 .{ .param_str = "V16ScV16ScV8ScIii", .features = "neon" },
3221 .{ .param_str = "V16ScV16ScV16ScIii", .features = "neon" },
3222 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3223 .{ .param_str = "iii", .features = "neon" },
3224 .{ .param_str = "V16ScV8ScV8Sci", .features = "neon" },
3225 .{ .param_str = "iss", .features = "neon" },
3226 .{ .param_str = "Wiii", .features = "neon" },
3227 .{ .param_str = "V8ScV16Sci", .features = "neon" },
3228 .{ .param_str = "iWi", .features = "neon" },
3229 .{ .param_str = "UiUWi", .features = "neon" },
3230 .{ .param_str = "Scs", .features = "neon" },
3231 .{ .param_str = "UcUs", .features = "neon" },
3232 .{ .param_str = "si", .features = "neon" },
3233 .{ .param_str = "UsUi", .features = "neon" },
3234 .{ .param_str = "V8ScV16Sci", .features = "neon" },
3235 .{ .param_str = "UiWi", .features = "neon" },
3236 .{ .param_str = "Ucs", .features = "neon" },
3237 .{ .param_str = "Usi", .features = "neon" },
3238 .{ .param_str = "V8ScV8Sci", .features = "neon" },
3239 .{ .param_str = "ScSc", .features = "neon" },
3240 .{ .param_str = "WiWi", .features = "neon" },
3241 .{ .param_str = "ss", .features = "neon" },
3242 .{ .param_str = "V16ScV16Sci", .features = "neon" },
3243 .{ .param_str = "ii", .features = "neon" },
3244 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "v8_1a,neon" },
3245 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "v8_1a,neon" },
3246 .{ .param_str = "ssss", .features = "v8_1a,neon" },
3247 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_1a,neon" },
3248 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_1a,neon" },
3249 .{ .param_str = "iiii", .features = "v8_1a,neon" },
3250 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "v8_1a,neon" },
3251 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "v8_1a,neon" },
3252 .{ .param_str = "ssss", .features = "v8_1a,neon" },
3253 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_1a,neon" },
3254 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "v8_1a,neon" },
3255 .{ .param_str = "iiii", .features = "v8_1a,neon" },
3256 .{ .param_str = "V8ScV8ScV8ScIii", .features = "neon" },
3257 .{ .param_str = "V8ScV8ScV16ScIii", .features = "neon" },
3258 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3259 .{ .param_str = "sss", .features = "neon" },
3260 .{ .param_str = "V16ScV16ScV8ScIii", .features = "neon" },
3261 .{ .param_str = "V16ScV16ScV16ScIii", .features = "neon" },
3262 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3263 .{ .param_str = "iii", .features = "neon" },
3264 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3265 .{ .param_str = "ScScSc", .features = "neon" },
3266 .{ .param_str = "UcUcSc", .features = "neon" },
3267 .{ .param_str = "WiWiWi", .features = "neon" },
3268 .{ .param_str = "UWiUWiWi", .features = "neon" },
3269 .{ .param_str = "sss", .features = "neon" },
3270 .{ .param_str = "UsUss", .features = "neon" },
3271 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3272 .{ .param_str = "iii", .features = "neon" },
3273 .{ .param_str = "UiUii", .features = "neon" },
3274 .{ .param_str = "V8ScV16ScIii", .features = "neon" },
3275 .{ .param_str = "iWiIi", .features = "neon" },
3276 .{ .param_str = "UiUWiIi", .features = "neon" },
3277 .{ .param_str = "ScsIi", .features = "neon" },
3278 .{ .param_str = "UcUsIi", .features = "neon" },
3279 .{ .param_str = "siIi", .features = "neon" },
3280 .{ .param_str = "UsUiIi", .features = "neon" },
3281 .{ .param_str = "V8ScV16ScIii", .features = "neon" },
3282 .{ .param_str = "UiWiIi", .features = "neon" },
3283 .{ .param_str = "UcsIi", .features = "neon" },
3284 .{ .param_str = "UsiIi", .features = "neon" },
3285 .{ .param_str = "V8ScV8ScIii", .features = "neon" },
3286 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3287 .{ .param_str = "ScScIi", .features = "neon" },
3288 .{ .param_str = "UcUcIi", .features = "neon" },
3289 .{ .param_str = "ScScSc", .features = "neon" },
3290 .{ .param_str = "UcUcSc", .features = "neon" },
3291 .{ .param_str = "WiWiIi", .features = "neon" },
3292 .{ .param_str = "UWiUWiIi", .features = "neon" },
3293 .{ .param_str = "WiWiWi", .features = "neon" },
3294 .{ .param_str = "UWiUWiWi", .features = "neon" },
3295 .{ .param_str = "ssIi", .features = "neon" },
3296 .{ .param_str = "UsUsIi", .features = "neon" },
3297 .{ .param_str = "sss", .features = "neon" },
3298 .{ .param_str = "UsUss", .features = "neon" },
3299 .{ .param_str = "V16ScV16ScIii", .features = "neon" },
3300 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3301 .{ .param_str = "iiIi", .features = "neon" },
3302 .{ .param_str = "UiUiIi", .features = "neon" },
3303 .{ .param_str = "iii", .features = "neon" },
3304 .{ .param_str = "UiUii", .features = "neon" },
3305 .{ .param_str = "V8ScV8ScIii", .features = "neon" },
3306 .{ .param_str = "ScScIi", .features = "neon" },
3307 .{ .param_str = "WiWiIi", .features = "neon" },
3308 .{ .param_str = "ssIi", .features = "neon" },
3309 .{ .param_str = "V16ScV16ScIii", .features = "neon" },
3310 .{ .param_str = "iiIi", .features = "neon" },
3311 .{ .param_str = "V8ScV16ScIii", .features = "neon" },
3312 .{ .param_str = "iWiIi", .features = "neon" },
3313 .{ .param_str = "UiUWiIi", .features = "neon" },
3314 .{ .param_str = "ScsIi", .features = "neon" },
3315 .{ .param_str = "UcUsIi", .features = "neon" },
3316 .{ .param_str = "siIi", .features = "neon" },
3317 .{ .param_str = "UsUiIi", .features = "neon" },
3318 .{ .param_str = "V8ScV16ScIii", .features = "neon" },
3319 .{ .param_str = "UiWiIi", .features = "neon" },
3320 .{ .param_str = "UcsIi", .features = "neon" },
3321 .{ .param_str = "UsiIi", .features = "neon" },
3322 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3323 .{ .param_str = "ScScSc", .features = "neon" },
3324 .{ .param_str = "UcUcUc", .features = "neon" },
3325 .{ .param_str = "WiWiWi", .features = "neon" },
3326 .{ .param_str = "UWiUWiUWi", .features = "neon" },
3327 .{ .param_str = "sss", .features = "neon" },
3328 .{ .param_str = "UsUsUs", .features = "neon" },
3329 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3330 .{ .param_str = "iii", .features = "neon" },
3331 .{ .param_str = "UiUiUi", .features = "neon" },
3332 .{ .param_str = "V8ScV16ScV8Sci", .features = "neon" },
3333 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3334 .{ .param_str = "V8ScV16ScV16ScV8Sci", .features = "neon" },
3335 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "neon" },
3336 .{ .param_str = "V8ScV16ScV16ScV16ScV8Sci", .features = "neon" },
3337 .{ .param_str = "V16ScV16ScV16ScV16ScV16Sci", .features = "neon" },
3338 .{ .param_str = "V8ScV16ScV16ScV16ScV16ScV8Sci", .features = "neon" },
3339 .{ .param_str = "V16ScV16ScV16ScV16ScV16ScV16Sci", .features = "neon" },
3340 .{ .param_str = "V8ScV8ScV16ScV8Sci", .features = "neon" },
3341 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "neon" },
3342 .{ .param_str = "V8ScV8ScV16ScV16ScV8Sci", .features = "neon" },
3343 .{ .param_str = "V16ScV16ScV16ScV16ScV16Sci", .features = "neon" },
3344 .{ .param_str = "V8ScV8ScV16ScV16ScV16ScV8Sci", .features = "neon" },
3345 .{ .param_str = "V16ScV16ScV16ScV16ScV16ScV16Sci", .features = "neon" },
3346 .{ .param_str = "V8ScV8ScV16ScV16ScV16ScV16ScV8Sci", .features = "neon" },
3347 .{ .param_str = "V16ScV16ScV16ScV16ScV16ScV16ScV16Sci", .features = "neon" },
3348 .{ .param_str = "V8ScV16ScV16Sci", .features = "neon" },
3349 .{ .param_str = "V16ScV16ScV16Sci", .features = "sha3,neon" },
3350 .{ .param_str = "V8ScV8Sci", .features = "neon" },
3351 .{ .param_str = "V16ScV16Sci", .features = "neon" },
3352 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
3353 .{ .param_str = "V8ScV8Sci", .features = "neon" },
3354 .{ .param_str = "dd", .features = "neon" },
3355 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
3356 .{ .param_str = "V16ScV16Sci", .features = "neon" },
3357 .{ .param_str = "ff", .features = "neon" },
3358 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
3359 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3360 .{ .param_str = "ddd", .features = "neon" },
3361 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
3362 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3363 .{ .param_str = "fff", .features = "neon" },
3364 .{ .param_str = "dd", .features = "neon" },
3365 .{ .param_str = "ff", .features = "neon" },
3366 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3367 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3368 .{ .param_str = "V8ScV8Sci", .features = "v8_5a,neon" },
3369 .{ .param_str = "V8ScV8Sci", .features = "v8_5a,neon" },
3370 .{ .param_str = "V16ScV16Sci", .features = "v8_5a,neon" },
3371 .{ .param_str = "V16ScV16Sci", .features = "v8_5a,neon" },
3372 .{ .param_str = "V8ScV8Sci", .features = "v8_5a,neon" },
3373 .{ .param_str = "V8ScV8Sci", .features = "v8_5a,neon" },
3374 .{ .param_str = "V16ScV16Sci", .features = "v8_5a,neon" },
3375 .{ .param_str = "V16ScV16Sci", .features = "v8_5a,neon" },
3376 .{ .param_str = "V8ScV8Sci", .features = "v8_5a,neon" },
3377 .{ .param_str = "V8ScV8Sci", .features = "v8_5a,neon" },
3378 .{ .param_str = "V16ScV16Sci", .features = "v8_5a,neon" },
3379 .{ .param_str = "V16ScV16Sci", .features = "v8_5a,neon" },
3380 .{ .param_str = "V8ScV8Sci", .features = "v8_5a,neon" },
3381 .{ .param_str = "V8ScV8Sci", .features = "v8_5a,neon" },
3382 .{ .param_str = "V16ScV16Sci", .features = "v8_5a,neon" },
3383 .{ .param_str = "V16ScV16Sci", .features = "v8_5a,neon" },
3384 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
3385 .{ .param_str = "V8ScV8Sci", .features = "neon" },
3386 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
3387 .{ .param_str = "V8ScV8Sci", .features = "neon" },
3388 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
3389 .{ .param_str = "V16ScV16Sci", .features = "neon" },
3390 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
3391 .{ .param_str = "V8ScV8Sci", .features = "neon" },
3392 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
3393 .{ .param_str = "V16ScV16Sci", .features = "neon" },
3394 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
3395 .{ .param_str = "V8ScV8Sci", .features = "neon" },
3396 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
3397 .{ .param_str = "V16ScV16Sci", .features = "neon" },
3398 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
3399 .{ .param_str = "V8ScV8Sci", .features = "neon" },
3400 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
3401 .{ .param_str = "V16ScV16Sci", .features = "neon" },
3402 .{ .param_str = "ff", .features = "neon" },
3403 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
3404 .{ .param_str = "V8ScV8Sci", .features = "neon" },
3405 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
3406 .{ .param_str = "V16ScV16Sci", .features = "neon" },
3407 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
3408 .{ .param_str = "V16ScV16Sci", .features = "neon" },
3409 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
3410 .{ .param_str = "V8ScV8Sci", .features = "neon" },
3411 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
3412 .{ .param_str = "V16ScV16Sci", .features = "neon" },
3413 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3414 .{ .param_str = "WiWiWi", .features = "neon" },
3415 .{ .param_str = "UWiUWiWi", .features = "neon" },
3416 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3417 .{ .param_str = "V8ScV8ScIii", .features = "neon" },
3418 .{ .param_str = "WiWiIi", .features = "neon" },
3419 .{ .param_str = "UWiUWiIi", .features = "neon" },
3420 .{ .param_str = "V8ScV16ScIii", .features = "neon" },
3421 .{ .param_str = "V16ScV16ScIii", .features = "neon" },
3422 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
3423 .{ .param_str = "V8ScV8Sci", .features = "neon" },
3424 .{ .param_str = "dd", .features = "neon" },
3425 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
3426 .{ .param_str = "V16ScV16Sci", .features = "neon" },
3427 .{ .param_str = "ff", .features = "neon" },
3428 .{ .param_str = "V8ScV8ScV8Sci", .features = "fullfp16,neon" },
3429 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3430 .{ .param_str = "ddd", .features = "neon" },
3431 .{ .param_str = "V16ScV16ScV16Sci", .features = "fullfp16,neon" },
3432 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3433 .{ .param_str = "fff", .features = "neon" },
3434 .{ .param_str = "V8ScV8ScV8ScIii", .features = "neon" },
3435 .{ .param_str = "WiWiWiIi", .features = "neon" },
3436 .{ .param_str = "UWiUWiUWiIi", .features = "neon" },
3437 .{ .param_str = "V16ScV16ScV16ScIii", .features = "neon" },
3438 .{ .param_str = "V8ScV16ScV16Sci", .features = "neon" },
3439 .{ .param_str = "V8ScV8ScV8Sci", .features = "fp8,neon" },
3440 .{ .param_str = "V8ScV8ScV8Sci", .features = "fp8,neon" },
3441 .{ .param_str = "V16ScV16ScV16Sci", .features = "fp8,neon" },
3442 .{ .param_str = "V16ScV16ScV16Sci", .features = "fp8,neon" },
3443 .{ .param_str = "V16ScV16ScV16Sci", .features = "fp8,neon" },
3444 .{ .param_str = "V4yyV4yIi", .features = "bf16,neon" },
3445 .{ .param_str = "V2ffV2fIi", .features = "neon" },
3446 .{ .param_str = "V1ddV1dIi", .features = "neon" },
3447 .{ .param_str = "V4ssV4sIi", .features = "neon" },
3448 .{ .param_str = "V2iiV2iIi", .features = "neon" },
3449 .{ .param_str = "V1WiWiV1WiIi", .features = "neon" },
3450 .{ .param_str = "V8ScScV8ScIi", .features = "neon" },
3451 .{ .param_str = "V8mmV8mIi", .features = "neon" },
3452 .{ .param_str = "V8yyV8yIi", .features = "bf16,neon" },
3453 .{ .param_str = "V4ffV4fIi", .features = "neon" },
3454 .{ .param_str = "V2ddV2dIi", .features = "neon" },
3455 .{ .param_str = "V8ssV8sIi", .features = "neon" },
3456 .{ .param_str = "V4iiV4iIi", .features = "neon" },
3457 .{ .param_str = "V2WiWiV2WiIi", .features = "neon" },
3458 .{ .param_str = "V16ScScV16ScIi", .features = "neon" },
3459 .{ .param_str = "V16mmV16mIi", .features = "neon" },
3460 .{ .param_str = "V4iV4UiUiV4Ui", .features = "sha2,neon" },
3461 .{ .param_str = "UiUi", .features = "sha2,neon" },
3462 .{ .param_str = "V4iV4UiUiV4Ui", .features = "sha2,neon" },
3463 .{ .param_str = "V4iV4UiUiV4Ui", .features = "sha2,neon" },
3464 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha2,neon" },
3465 .{ .param_str = "V16ScV16ScV16Sci", .features = "sha2,neon" },
3466 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha2,neon" },
3467 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha2,neon" },
3468 .{ .param_str = "V16ScV16ScV16Sci", .features = "sha2,neon" },
3469 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha2,neon" },
3470 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
3471 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
3472 .{ .param_str = "V16ScV16ScV16Sci", .features = "sha3,neon" },
3473 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sha3,neon" },
3474 .{ .param_str = "V8ScV8ScIii", .features = "neon" },
3475 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3476 .{ .param_str = "WiWiIi", .features = "neon" },
3477 .{ .param_str = "UWiUWiIi", .features = "neon" },
3478 .{ .param_str = "WiWiWi", .features = "neon" },
3479 .{ .param_str = "UWiUWiWi", .features = "neon" },
3480 .{ .param_str = "V16ScV8ScIii", .features = "neon" },
3481 .{ .param_str = "V16ScV16ScIii", .features = "neon" },
3482 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3483 .{ .param_str = "V8ScV8ScIii", .features = "neon" },
3484 .{ .param_str = "WiWiIi", .features = "neon" },
3485 .{ .param_str = "UWiUWiIi", .features = "neon" },
3486 .{ .param_str = "V8ScV16ScIii", .features = "neon" },
3487 .{ .param_str = "V16ScV16ScIii", .features = "neon" },
3488 .{ .param_str = "V8ScV8ScV8ScIii", .features = "neon" },
3489 .{ .param_str = "WiWiWiIi", .features = "neon" },
3490 .{ .param_str = "UWiUWiUWiIi", .features = "neon" },
3491 .{ .param_str = "V16ScV16ScV16ScIii", .features = "neon" },
3492 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sm4,neon" },
3493 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sm4,neon" },
3494 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "sm4,neon" },
3495 .{ .param_str = "V16ScV16ScV16ScV16ScIii", .features = "sm4,neon" },
3496 .{ .param_str = "V16ScV16ScV16ScV16ScIii", .features = "sm4,neon" },
3497 .{ .param_str = "V16ScV16ScV16ScV16ScIii", .features = "sm4,neon" },
3498 .{ .param_str = "V16ScV16ScV16ScV16ScIii", .features = "sm4,neon" },
3499 .{ .param_str = "V16ScV16ScV16Sci", .features = "sm4,neon" },
3500 .{ .param_str = "V16ScV16ScV16Sci", .features = "sm4,neon" },
3501 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3502 .{ .param_str = "UcUcSc", .features = "neon" },
3503 .{ .param_str = "UWiUWiWi", .features = "neon" },
3504 .{ .param_str = "UsUss", .features = "neon" },
3505 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3506 .{ .param_str = "UiUii", .features = "neon" },
3507 .{ .param_str = "V8ScV8Sci", .features = "fullfp16,neon" },
3508 .{ .param_str = "V8ScV8Sci", .features = "neon" },
3509 .{ .param_str = "V16ScV16Sci", .features = "fullfp16,neon" },
3510 .{ .param_str = "V16ScV16Sci", .features = "neon" },
3511 .{ .param_str = "V8ScV8ScV8ScIii", .features = "neon" },
3512 .{ .param_str = "WiWiWiIi", .features = "neon" },
3513 .{ .param_str = "UWiUWiUWiIi", .features = "neon" },
3514 .{ .param_str = "V16ScV16ScV16ScIii", .features = "neon" },
3515 .{ .param_str = "V8ScV8ScV8ScIii", .features = "neon" },
3516 .{ .param_str = "WiWiWiIi", .features = "neon" },
3517 .{ .param_str = "UWiUWiUWiIi", .features = "neon" },
3518 .{ .param_str = "V16ScV16ScV16ScIii", .features = "neon" },
3519 .{ .param_str = "vv*V8Sci", .features = "bf16,neon" },
3520 .{ .param_str = "vv*V8ScV8Sci", .features = "bf16,neon" },
3521 .{ .param_str = "vv*V8ScV8ScV8Sci", .features = "bf16,neon" },
3522 .{ .param_str = "vv*V8ScV8ScV8ScV8Sci", .features = "bf16,neon" },
3523 .{ .param_str = "vv*V8ScIii", .features = "bf16,neon" },
3524 .{ .param_str = "vv*V8ScIii", .features = "neon" },
3525 .{ .param_str = "vv*V8Sci", .features = "neon" },
3526 .{ .param_str = "vv*V8ScV8Sci", .features = "neon" },
3527 .{ .param_str = "vv*V8ScV8ScV8Sci", .features = "neon" },
3528 .{ .param_str = "vv*V8ScV8ScV8ScV8Sci", .features = "neon" },
3529 .{ .param_str = "vv*V16Sci", .features = "bf16,neon" },
3530 .{ .param_str = "vv*V16ScV16Sci", .features = "bf16,neon" },
3531 .{ .param_str = "vv*V16ScV16ScV16Sci", .features = "bf16,neon" },
3532 .{ .param_str = "vv*V16ScV16ScV16ScV16Sci", .features = "bf16,neon" },
3533 .{ .param_str = "vv*V16ScIii", .features = "bf16,neon" },
3534 .{ .param_str = "vv*V16ScIii", .features = "neon" },
3535 .{ .param_str = "vv*V16Sci", .features = "neon" },
3536 .{ .param_str = "vv*V16ScV16Sci", .features = "neon" },
3537 .{ .param_str = "vv*V16ScV16ScV16Sci", .features = "neon" },
3538 .{ .param_str = "vv*V16ScV16ScV16ScV16Sci", .features = "neon" },
3539 .{ .param_str = "vv*V8ScV8Sci", .features = "bf16,neon" },
3540 .{ .param_str = "vv*V8ScV8ScIii", .features = "bf16,neon" },
3541 .{ .param_str = "vv*V8ScV8ScIii", .features = "neon" },
3542 .{ .param_str = "vv*V8ScV8Sci", .features = "neon" },
3543 .{ .param_str = "vv*V16ScV16Sci", .features = "bf16,neon" },
3544 .{ .param_str = "vv*V16ScV16ScIii", .features = "bf16,neon" },
3545 .{ .param_str = "vv*V16ScV16ScIii", .features = "neon" },
3546 .{ .param_str = "vv*V16ScV16Sci", .features = "neon" },
3547 .{ .param_str = "vv*V8ScV8ScV8Sci", .features = "bf16,neon" },
3548 .{ .param_str = "vv*V8ScV8ScV8ScIii", .features = "bf16,neon" },
3549 .{ .param_str = "vv*V8ScV8ScV8ScIii", .features = "neon" },
3550 .{ .param_str = "vv*V8ScV8ScV8Sci", .features = "neon" },
3551 .{ .param_str = "vv*V16ScV16ScV16Sci", .features = "bf16,neon" },
3552 .{ .param_str = "vv*V16ScV16ScV16ScIii", .features = "bf16,neon" },
3553 .{ .param_str = "vv*V16ScV16ScV16ScIii", .features = "neon" },
3554 .{ .param_str = "vv*V16ScV16ScV16Sci", .features = "neon" },
3555 .{ .param_str = "vv*V8ScV8ScV8ScV8Sci", .features = "bf16,neon" },
3556 .{ .param_str = "vv*V8ScV8ScV8ScV8ScIii", .features = "bf16,neon" },
3557 .{ .param_str = "vv*V8ScV8ScV8ScV8ScIii", .features = "neon" },
3558 .{ .param_str = "vv*V8ScV8ScV8ScV8Sci", .features = "neon" },
3559 .{ .param_str = "vv*V16ScV16ScV16ScV16Sci", .features = "bf16,neon" },
3560 .{ .param_str = "vv*V16ScV16ScV16ScV16ScIii", .features = "bf16,neon" },
3561 .{ .param_str = "vv*V16ScV16ScV16ScV16ScIii", .features = "neon" },
3562 .{ .param_str = "vv*V16ScV16ScV16ScV16Sci", .features = "neon" },
3563 .{ .param_str = "vv*V8ScIii", .features = "rcpc3,neon" },
3564 .{ .param_str = "vv*V8ScIii", .features = "rcpc3,neon" },
3565 .{ .param_str = "vv*V8ScIii", .features = "rcpc3,neon" },
3566 .{ .param_str = "vv*V8ScIii", .features = "rcpc3,neon" },
3567 .{ .param_str = "vv*V16ScIii", .features = "rcpc3,neon" },
3568 .{ .param_str = "vv*V16ScIii", .features = "rcpc3,neon" },
3569 .{ .param_str = "vv*V16ScIii", .features = "rcpc3,neon" },
3570 .{ .param_str = "vv*V16ScIii", .features = "rcpc3,neon" },
3571 .{ .param_str = "vv*ULLLi", .features = "neon" },
3572 .{ .param_str = "WiWiWi", .features = "neon" },
3573 .{ .param_str = "UWiUWiUWi", .features = "neon" },
3574 .{ .param_str = "V8ScV16ScV16Sci", .features = "neon" },
3575 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3576 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "neon" },
3577 .{ .param_str = "V8ScV8ScV8ScV8ScV8Sci", .features = "neon" },
3578 .{ .param_str = "V8ScV8ScV8ScV8ScV8ScV8Sci", .features = "neon" },
3579 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "neon" },
3580 .{ .param_str = "V8ScV8ScV8ScV8ScV8Sci", .features = "neon" },
3581 .{ .param_str = "V8ScV8ScV8ScV8ScV8ScV8Sci", .features = "neon" },
3582 .{ .param_str = "V8ScV8ScV8ScV8ScV8ScV8ScV8Sci", .features = "neon" },
3583 .{ .param_str = "vv*V8ScV8Sci", .features = "neon" },
3584 .{ .param_str = "vv*V16ScV16Sci", .features = "neon" },
3585 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3586 .{ .param_str = "UWiWiWi", .features = "neon" },
3587 .{ .param_str = "UWiUWiUWi", .features = "neon" },
3588 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3589 .{ .param_str = "V8ScV8ScV8Sci", .features = "neon" },
3590 .{ .param_str = "ScScUc", .features = "neon" },
3591 .{ .param_str = "WiWiUWi", .features = "neon" },
3592 .{ .param_str = "ssUs", .features = "neon" },
3593 .{ .param_str = "V16ScV16ScV16Sci", .features = "neon" },
3594 .{ .param_str = "iiUi", .features = "neon" },
3595 .{ .param_str = "V8ScV8ScV8ScV8Sci", .features = "i8mm,neon" },
3596 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "i8mm,neon" },
3597 .{ .param_str = "V16ScV16ScV16ScV16Sci", .features = "i8mm,neon" },
3598 .{ .param_str = "vv*V8ScV8Sci", .features = "neon" },
3599 .{ .param_str = "vv*V16ScV16Sci", .features = "neon" },
3600 .{ .param_str = "V16ScV16ScV16ScIii", .features = "sha3,neon" },
3601 .{ .param_str = "vv*V8ScV8Sci", .features = "neon" },
3602 .{ .param_str = "vv*V16ScV16Sci", .features = "neon" },
3603 };
3604};
3605};
3606}
lib/compiler/aro/aro/Builtins/nvptx.zig+1904-1749
...@@ -117,15 +117,23 @@ pub const Tag = enum(u16) { __bmma_m8n8k128_ld_a_b1,...@@ -117,15 +117,23 @@ pub const Tag = enum(u16) { __bmma_m8n8k128_ld_a_b1,
117 __nvvm_add_rm_d,117 __nvvm_add_rm_d,
118 __nvvm_add_rm_f,118 __nvvm_add_rm_f,
119 __nvvm_add_rm_ftz_f,119 __nvvm_add_rm_ftz_f,
120 __nvvm_add_rm_ftz_sat_f,
121 __nvvm_add_rm_sat_f,
120 __nvvm_add_rn_d,122 __nvvm_add_rn_d,
121 __nvvm_add_rn_f,123 __nvvm_add_rn_f,
122 __nvvm_add_rn_ftz_f,124 __nvvm_add_rn_ftz_f,
125 __nvvm_add_rn_ftz_sat_f,
126 __nvvm_add_rn_sat_f,
123 __nvvm_add_rp_d,127 __nvvm_add_rp_d,
124 __nvvm_add_rp_f,128 __nvvm_add_rp_f,
125 __nvvm_add_rp_ftz_f,129 __nvvm_add_rp_ftz_f,
130 __nvvm_add_rp_ftz_sat_f,
131 __nvvm_add_rp_sat_f,
126 __nvvm_add_rz_d,132 __nvvm_add_rz_d,
127 __nvvm_add_rz_f,133 __nvvm_add_rz_f,
128 __nvvm_add_rz_ftz_f,134 __nvvm_add_rz_ftz_f,
135 __nvvm_add_rz_ftz_sat_f,
136 __nvvm_add_rz_sat_f,
129 __nvvm_atom_add_gen_d,137 __nvvm_atom_add_gen_d,
130 __nvvm_atom_add_gen_f,138 __nvvm_atom_add_gen_f,
131 __nvvm_atom_add_gen_i,139 __nvvm_atom_add_gen_i,
...@@ -328,8 +336,20 @@ pub const Tag = enum(u16) { __bmma_m8n8k128_ld_a_b1,...@@ -328,8 +336,20 @@ pub const Tag = enum(u16) { __bmma_m8n8k128_ld_a_b1,
328 __nvvm_f16x2_to_e5m2x2_rn_relu,336 __nvvm_f16x2_to_e5m2x2_rn_relu,
329 __nvvm_f2bf16_rn,337 __nvvm_f2bf16_rn,
330 __nvvm_f2bf16_rn_relu,338 __nvvm_f2bf16_rn_relu,
339 __nvvm_f2bf16_rn_relu_satfinite,
340 __nvvm_f2bf16_rn_satfinite,
331 __nvvm_f2bf16_rz,341 __nvvm_f2bf16_rz,
332 __nvvm_f2bf16_rz_relu,342 __nvvm_f2bf16_rz_relu,
343 __nvvm_f2bf16_rz_relu_satfinite,
344 __nvvm_f2bf16_rz_satfinite,
345 __nvvm_f2f16_rn,
346 __nvvm_f2f16_rn_relu,
347 __nvvm_f2f16_rn_relu_satfinite,
348 __nvvm_f2f16_rn_satfinite,
349 __nvvm_f2f16_rz,
350 __nvvm_f2f16_rz_relu,
351 __nvvm_f2f16_rz_relu_satfinite,
352 __nvvm_f2f16_rz_satfinite,
333 __nvvm_f2h_rn,353 __nvvm_f2h_rn,
334 __nvvm_f2h_rn_ftz,354 __nvvm_f2h_rn_ftz,
335 __nvvm_f2i_rm,355 __nvvm_f2i_rm,
...@@ -374,6 +394,16 @@ pub const Tag = enum(u16) { __bmma_m8n8k128_ld_a_b1,...@@ -374,6 +394,16 @@ pub const Tag = enum(u16) { __bmma_m8n8k128_ld_a_b1,
374 __nvvm_f2ull_rp_ftz,394 __nvvm_f2ull_rp_ftz,
375 __nvvm_f2ull_rz,395 __nvvm_f2ull_rz,
376 __nvvm_f2ull_rz_ftz,396 __nvvm_f2ull_rz_ftz,
397 __nvvm_f32x4_to_e2m1x4_rs_relu_satfinite,
398 __nvvm_f32x4_to_e2m1x4_rs_satfinite,
399 __nvvm_f32x4_to_e2m3x4_rs_relu_satfinite,
400 __nvvm_f32x4_to_e2m3x4_rs_satfinite,
401 __nvvm_f32x4_to_e3m2x4_rs_relu_satfinite,
402 __nvvm_f32x4_to_e3m2x4_rs_satfinite,
403 __nvvm_f32x4_to_e4m3x4_rs_relu_satfinite,
404 __nvvm_f32x4_to_e4m3x4_rs_satfinite,
405 __nvvm_f32x4_to_e5m2x4_rs_relu_satfinite,
406 __nvvm_f32x4_to_e5m2x4_rs_satfinite,
377 __nvvm_fabs_d,407 __nvvm_fabs_d,
378 __nvvm_fabs_f,408 __nvvm_fabs_f,
379 __nvvm_fabs_f16,409 __nvvm_fabs_f16,
...@@ -384,12 +414,28 @@ pub const Tag = enum(u16) { __bmma_m8n8k128_ld_a_b1,...@@ -384,12 +414,28 @@ pub const Tag = enum(u16) { __bmma_m8n8k128_ld_a_b1,
384 __nvvm_fence_sc_cluster,414 __nvvm_fence_sc_cluster,
385 __nvvm_ff2bf16x2_rn,415 __nvvm_ff2bf16x2_rn,
386 __nvvm_ff2bf16x2_rn_relu,416 __nvvm_ff2bf16x2_rn_relu,
417 __nvvm_ff2bf16x2_rn_relu_satfinite,
418 __nvvm_ff2bf16x2_rn_satfinite,
419 __nvvm_ff2bf16x2_rs,
420 __nvvm_ff2bf16x2_rs_relu,
421 __nvvm_ff2bf16x2_rs_relu_satfinite,
422 __nvvm_ff2bf16x2_rs_satfinite,
387 __nvvm_ff2bf16x2_rz,423 __nvvm_ff2bf16x2_rz,
388 __nvvm_ff2bf16x2_rz_relu,424 __nvvm_ff2bf16x2_rz_relu,
425 __nvvm_ff2bf16x2_rz_relu_satfinite,
426 __nvvm_ff2bf16x2_rz_satfinite,
389 __nvvm_ff2f16x2_rn,427 __nvvm_ff2f16x2_rn,
390 __nvvm_ff2f16x2_rn_relu,428 __nvvm_ff2f16x2_rn_relu,
429 __nvvm_ff2f16x2_rn_relu_satfinite,
430 __nvvm_ff2f16x2_rn_satfinite,
431 __nvvm_ff2f16x2_rs,
432 __nvvm_ff2f16x2_rs_relu,
433 __nvvm_ff2f16x2_rs_relu_satfinite,
434 __nvvm_ff2f16x2_rs_satfinite,
391 __nvvm_ff2f16x2_rz,435 __nvvm_ff2f16x2_rz,
392 __nvvm_ff2f16x2_rz_relu,436 __nvvm_ff2f16x2_rz_relu,
437 __nvvm_ff2f16x2_rz_relu_satfinite,
438 __nvvm_ff2f16x2_rz_satfinite,
393 __nvvm_ff_to_e2m1x2_rn_relu_satfinite,439 __nvvm_ff_to_e2m1x2_rn_relu_satfinite,
394 __nvvm_ff_to_e2m1x2_rn_satfinite,440 __nvvm_ff_to_e2m1x2_rn_satfinite,
395 __nvvm_ff_to_e2m3x2_rn_relu_satfinite,441 __nvvm_ff_to_e2m3x2_rn_relu_satfinite,
...@@ -410,6 +456,8 @@ pub const Tag = enum(u16) { __bmma_m8n8k128_ld_a_b1,...@@ -410,6 +456,8 @@ pub const Tag = enum(u16) { __bmma_m8n8k128_ld_a_b1,
410 __nvvm_fma_rm_d,456 __nvvm_fma_rm_d,
411 __nvvm_fma_rm_f,457 __nvvm_fma_rm_f,
412 __nvvm_fma_rm_ftz_f,458 __nvvm_fma_rm_ftz_f,
459 __nvvm_fma_rm_ftz_sat_f,
460 __nvvm_fma_rm_sat_f,
413 __nvvm_fma_rn_bf16,461 __nvvm_fma_rn_bf16,
414 __nvvm_fma_rn_bf16x2,462 __nvvm_fma_rn_bf16x2,
415 __nvvm_fma_rn_d,463 __nvvm_fma_rn_d,
...@@ -421,20 +469,26 @@ pub const Tag = enum(u16) { __bmma_m8n8k128_ld_a_b1,...@@ -421,20 +469,26 @@ pub const Tag = enum(u16) { __bmma_m8n8k128_ld_a_b1,
421 __nvvm_fma_rn_ftz_f16x2,469 __nvvm_fma_rn_ftz_f16x2,
422 __nvvm_fma_rn_ftz_relu_f16,470 __nvvm_fma_rn_ftz_relu_f16,
423 __nvvm_fma_rn_ftz_relu_f16x2,471 __nvvm_fma_rn_ftz_relu_f16x2,
472 __nvvm_fma_rn_ftz_sat_f,
424 __nvvm_fma_rn_ftz_sat_f16,473 __nvvm_fma_rn_ftz_sat_f16,
425 __nvvm_fma_rn_ftz_sat_f16x2,474 __nvvm_fma_rn_ftz_sat_f16x2,
426 __nvvm_fma_rn_relu_bf16,475 __nvvm_fma_rn_relu_bf16,
427 __nvvm_fma_rn_relu_bf16x2,476 __nvvm_fma_rn_relu_bf16x2,
428 __nvvm_fma_rn_relu_f16,477 __nvvm_fma_rn_relu_f16,
429 __nvvm_fma_rn_relu_f16x2,478 __nvvm_fma_rn_relu_f16x2,
479 __nvvm_fma_rn_sat_f,
430 __nvvm_fma_rn_sat_f16,480 __nvvm_fma_rn_sat_f16,
431 __nvvm_fma_rn_sat_f16x2,481 __nvvm_fma_rn_sat_f16x2,
432 __nvvm_fma_rp_d,482 __nvvm_fma_rp_d,
433 __nvvm_fma_rp_f,483 __nvvm_fma_rp_f,
434 __nvvm_fma_rp_ftz_f,484 __nvvm_fma_rp_ftz_f,
485 __nvvm_fma_rp_ftz_sat_f,
486 __nvvm_fma_rp_sat_f,
435 __nvvm_fma_rz_d,487 __nvvm_fma_rz_d,
436 __nvvm_fma_rz_f,488 __nvvm_fma_rz_f,
437 __nvvm_fma_rz_ftz_f,489 __nvvm_fma_rz_ftz_f,
490 __nvvm_fma_rz_ftz_sat_f,
491 __nvvm_fma_rz_sat_f,
438 __nvvm_fmax_bf16,492 __nvvm_fmax_bf16,
439 __nvvm_fmax_bf16x2,493 __nvvm_fmax_bf16x2,
440 __nvvm_fmax_d,494 __nvvm_fmax_d,
...@@ -871,7 +925,7 @@ pub const longest_name = 45;...@@ -871,7 +925,7 @@ pub const longest_name = 45;
871/// If found, returns the index of the node within the `dafsa` array.925/// If found, returns the index of the node within the `dafsa` array.
872/// Otherwise, returns `null`.926/// Otherwise, returns `null`.
873pub fn findInList(first_child_index: u16, char: u8) ?u16 {927pub fn findInList(first_child_index: u16, char: u8) ?u16 {
874 @setEvalBranchQuota(1614);928 @setEvalBranchQuota(1722);
875 var index = first_child_index;929 var index = first_child_index;
876 while (true) {930 while (true) {
877 if (dafsa[index].char == char) return index;931 if (dafsa[index].char == char) return index;
...@@ -966,14 +1020,14 @@ const Node = packed struct {...@@ -966,14 +1020,14 @@ const Node = packed struct {
9661020
967const dafsa = [_]Node{1021const dafsa = [_]Node{
968 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },1022 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },
969 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 807, .child_index = 2 },1023 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 861, .child_index = 2 },
970 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 807, .child_index = 3 },1024 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 861, .child_index = 3 },
971 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 10 },1025 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 10 },
972 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 12 },1026 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 12 },
973 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 13 },1027 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 13 },
974 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 32, .child_index = 14 },1028 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 32, .child_index = 14 },
975 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 15 },1029 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 15 },
976 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 703, .child_index = 16 },1030 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 757, .child_index = 16 },
977 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 17 },1031 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 17 },
978 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 18 },1032 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 18 },
979 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 19 },1033 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 19 },
...@@ -981,7 +1035,7 @@ const dafsa = [_]Node{...@@ -981,7 +1035,7 @@ const dafsa = [_]Node{
981 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 21 },1035 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 21 },
982 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 22 },1036 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 22 },
983 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 23 },1037 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 23 },
984 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 703, .child_index = 24 },1038 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 757, .child_index = 24 },
985 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 25 },1039 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 25 },
986 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 26 },1040 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 26 },
987 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 27 },1041 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 27 },
...@@ -989,7 +1043,7 @@ const dafsa = [_]Node{...@@ -989,7 +1043,7 @@ const dafsa = [_]Node{
989 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 29 },1043 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 29 },
990 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 30 },1044 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 30 },
991 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 31 },1045 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 31 },
992 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 703, .child_index = 32 },1046 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 757, .child_index = 32 },
993 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 33 },1047 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 33 },
994 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 34 },1048 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 34 },
995 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 35 },1049 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 35 },
...@@ -997,7 +1051,7 @@ const dafsa = [_]Node{...@@ -997,7 +1051,7 @@ const dafsa = [_]Node{
997 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 37 },1051 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 37 },
998 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 38 },1052 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 38 },
999 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 39 },1053 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 39 },
1000 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 703, .child_index = 42 },1054 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 757, .child_index = 42 },
1001 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 43 },1055 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 43 },
1002 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 44 },1056 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 44 },
1003 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 45 },1057 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 45 },
...@@ -1007,7 +1061,7 @@ const dafsa = [_]Node{...@@ -1007,7 +1061,7 @@ const dafsa = [_]Node{
1007 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 49 },1061 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 49 },
1008 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 50 },1062 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 50 },
1009 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 51 },1063 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 51 },
1010 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 703, .child_index = 52 },1064 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 757, .child_index = 52 },
1011 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 69 },1065 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 69 },
1012 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 70 },1066 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 70 },
1013 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 71 },1067 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 71 },
...@@ -1017,1435 +1071,1482 @@ const dafsa = [_]Node{...@@ -1017,1435 +1071,1482 @@ const dafsa = [_]Node{
1017 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 79 },1071 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 79 },
1018 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 80 },1072 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 80 },
1019 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 81 },1073 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 81 },
1020 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 123, .child_index = 82 },1074 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 131, .child_index = 82 },
1021 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 86 },1075 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 86 },
1022 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 88 },1076 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 88 },
1023 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 91 },1077 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 91 },
1024 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 93 },1078 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 93 },
1025 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 188, .child_index = 98 },1079 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 234, .child_index = 98 },
1026 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 106 },1080 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 107 },
1027 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 107 },1081 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 108 },
1028 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 84, .child_index = 109 },1082 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 84, .child_index = 110 },
1029 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 44, .child_index = 113 },1083 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 44, .child_index = 114 },
1030 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 117 },1084 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 118 },
1031 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 119 },1085 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 120 },
1032 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 90, .child_index = 121 },1086 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 90, .child_index = 122 },
1033 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 37, .child_index = 125 },1087 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 37, .child_index = 126 },
1034 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 129 },1088 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 130 },
1035 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 130 },1089 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 131 },
1036 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 133 },1090 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 134 },
1037 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 134 },1091 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 135 },
1038 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 135 },1092 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 136 },
1039 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 136 },1093 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 137 },
1040 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 137 },1094 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 138 },
1041 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 138 },1095 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 139 },
1042 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 139 },1096 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 140 },
1043 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 140 },1097 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 141 },
1044 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 141 },1098 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 142 },
1045 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 142 },1099 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 143 },
1046 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 143 },1100 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 144 },
1047 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 144 },1101 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 145 },
1048 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 145 },1102 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 146 },
1049 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 146 },1103 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 147 },
1050 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 147 },1104 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 148 },
1051 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 148 },1105 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 149 },
1052 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 149 },1106 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 150 },
1053 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 150 },1107 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 151 },
1054 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 151 },1108 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 152 },
1055 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 152 },1109 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 153 },
1056 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 153 },1110 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 154 },
1057 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 154 },1111 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 155 },
1058 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 156 },1112 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 157 },
1059 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 157 },1113 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 158 },
1060 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 161 },1114 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 162 },
1061 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 162 },1115 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 163 },
1062 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 163 },1116 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 164 },
1063 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 164 },1117 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 165 },
1064 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 163 },1118 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 164 },
1065 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 165 },1119 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 166 },
1066 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 167 },1120 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 168 },
1067 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 48, .child_index = 168 },1121 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 60, .child_index = 169 },
1068 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 174 },1122 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 176 },
1069 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 175 },1123 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 177 },
1070 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 176 },1124 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 178 },
1071 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 178 },1125 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 38, .child_index = 179 },
1072 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 102, .child_index = 179 },1126 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 181 },
1073 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },1127 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 110, .child_index = 182 },
1074 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 182 },1128 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 184 },
1075 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 183 },1129 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 185 },
1076 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 185 },1130 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 186 },
1077 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 72, .child_index = 187 },1131 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 188 },
1078 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 189 },1132 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 72, .child_index = 190 },
1079 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 190 },1133 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 192 },
1080 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 191 },1134 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 193 },
1081 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 192 },1135 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 194 },
1082 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 194 },1136 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 195 },
1083 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 195 },1137 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 197 },
1084 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 196 },1138 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 198 },
1085 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 197 },1139 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 199 },
1086 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 198 },1140 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 200 },
1087 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 199 },1141 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 201 },
1088 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 200 },1142 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 202 },
1089 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 201 },1143 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 203 },
1090 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 70, .child_index = 202 },1144 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 204 },
1091 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 205 },1145 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 70, .child_index = 205 },
1092 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 206 },1146 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 208 },
1093 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 207 },1147 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 209 },
1094 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 209 },1148 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 210 },
1095 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 210 },1149 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 212 },
1096 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 211 },1150 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 213 },
1097 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 212 },1151 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 214 },
1098 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 213 },1152 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 215 },
1099 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 190 },1153 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 216 },
1100 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 214 },1154 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 193 },
1101 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 215 },1155 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 217 },
1102 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 216 },1156 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 218 },
1103 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 217 },1157 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 219 },
1104 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 218 },1158 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 220 },
1105 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 219 },1159 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 221 },
1106 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 220 },1160 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 222 },
1107 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 221 },1161 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 223 },
1108 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 222 },1162 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 224 },
1109 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 223 },1163 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 225 },
1110 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 224 },1164 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 226 },
1111 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 225 },1165 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 227 },
1112 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 227 },1166 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 228 },
1113 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 228 },1167 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 230 },
1114 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 229 },1168 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 231 },
1115 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 230 },1169 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 232 },
1116 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 231 },1170 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 233 },
1117 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 232 },1171 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 234 },
1118 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 233 },1172 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 235 },
1119 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 234 },1173 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 236 },
1120 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 237 },1174 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 237 },
1121 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 238 },1175 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 240 },
1122 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 239 },1176 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 241 },
1123 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 240 },1177 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 242 },
1124 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 241 },1178 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 243 },
1125 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 242 },1179 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 244 },
1126 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 243 },1180 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 245 },
1127 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 244 },1181 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 246 },
1128 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 245 },1182 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 247 },
1129 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 247 },1183 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 248 },
1130 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 248 },1184 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 250 },
1131 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 250 },1185 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 251 },
1132 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 251 },1186 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 253 },
1133 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 252 },1187 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 254 },
1134 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 253 },1188 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 255 },
1135 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 254 },1189 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 256 },
1136 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 255 },1190 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 257 },
1137 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 256 },1191 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 258 },
1138 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 242 },1192 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 259 },
1139 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 257 },1193 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 260 },
1140 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 258 },1194 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 245 },
1141 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 259 },1195 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 261 },
1142 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 261 },1196 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 262 },
1143 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 262 },1197 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 263 },
1144 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 263 },1198 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 265 },
1145 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 265 },1199 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 266 },
1146 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 266 },1200 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 267 },
1147 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 65, .child_index = 267 },1201 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 268 },
1148 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 269 },1202 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 270 },
1203 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 271 },
1204 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 73, .child_index = 272 },
1205 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 274 },
1149 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1206 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1150 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 270 },1207 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 275 },
1151 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 271 },1208 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 276 },
1152 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 271 },1209 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 276 },
1153 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 272 },1210 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 277 },
1154 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 273 },1211 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 278 },
1155 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 274 },1212 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 279 },
1156 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 274 },1213 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 279 },
1157 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 275 },1214 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 280 },
1158 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 183 },1215 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 186 },
1159 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 276 },1216 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 281 },
1160 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 277 },1217 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 282 },
1161 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 278 },1218 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 283 },
1162 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 279 },1219 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 284 },
1163 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 280 },1220 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 285 },
1164 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 283 },1221 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 288 },
1165 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 286 },1222 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
1166 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 230 },1223 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 233 },
1167 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 287 },1224 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 292 },
1168 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 253 },1225 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 256 },
1169 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 288 },1226 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 293 },
1170 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 53, .child_index = 289 },1227 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 53, .child_index = 294 },
1171 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 290 },1228 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 295 },
1172 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },1229 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 296 },
1173 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 292 },1230 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 297 },
1174 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 293 },1231 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 298 },
1175 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 294 },1232 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 299 },
1176 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 295 },1233 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 300 },
1177 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 296 },1234 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 301 },
1178 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 240 },1235 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 243 },
1179 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 297 },1236 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 302 },
1180 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 298 },1237 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 303 },
1181 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 299 },1238 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 304 },
1182 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 190 },1239 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 193 },
1183 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 300 },1240 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 305 },
1184 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 301 },1241 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 306 },
1185 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 302 },1242 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 307 },
1186 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 303 },1243 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 308 },
1187 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 304 },1244 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 309 },
1188 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 305 },1245 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 310 },
1189 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 306 },1246 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 311 },
1190 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 307 },1247 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 312 },
1191 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 308 },1248 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 313 },
1192 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 309 },1249 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 314 },
1193 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 310 },1250 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 315 },
1194 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 311 },1251 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 316 },
1195 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 312 },1252 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 317 },
1196 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 313 },1253 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 318 },
1197 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 314 },1254 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 319 },
1198 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 315 },1255 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 320 },
1199 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 316 },1256 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 321 },
1200 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 317 },1257 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 322 },
1201 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 318 },1258 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 323 },
1202 .{ .char = '0', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 319 },1259 .{ .char = '0', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 324 },
1203 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 320 },1260 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 325 },
1204 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 322 },1261 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 327 },
1205 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 323 },1262 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 328 },
1206 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 324 },1263 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 329 },
1207 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 325 },1264 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 330 },
1208 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 326 },1265 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 331 },
1209 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 327 },1266 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 332 },
1210 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 328 },1267 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 333 },
1211 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 329 },1268 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 334 },
1212 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 271 },1269 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 276 },
1213 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 271 },1270 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 276 },
1214 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 244 },1271 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 247 },
1215 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 332 },1272 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 337 },
1216 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 334 },1273 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 339 },
1217 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 334 },1274 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 339 },
1218 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 334 },1275 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 339 },
1219 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 334 },1276 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 339 },
1220 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 335 },1277 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 340 },
1221 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1278 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1222 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 336 },1279 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 341 },
1223 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 337 },1280 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 259 },
1224 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 338 },1281 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 342 },
1225 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 242 },1282 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 343 },
1226 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 339 },1283 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 245 },
1227 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 242 },1284 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 344 },
1228 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 257 },1285 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 245 },
1229 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 340 },1286 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 261 },
1230 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 341 },1287 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 345 },
1231 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 342 },1288 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 346 },
1232 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 343 },1289 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 347 },
1233 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 344 },1290 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 348 },
1234 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 345 },1291 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 349 },
1235 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 346 },1292 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 350 },
1236 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 347 },1293 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 351 },
1237 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 347 },1294 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 352 },
1238 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 348 },1295 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 353 },
1239 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 349 },1296 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 353 },
1240 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },1297 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 354 },
1241 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 351 },1298 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 355 },
1242 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 352 },1299 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 356 },
1243 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 360 },1300 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 357 },
1244 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 361 },1301 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 358 },
1245 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 362 },1302 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 366 },
1246 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 363 },1303 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 367 },
1247 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 364 },1304 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 368 },
1248 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 365 },1305 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 369 },
1249 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 366 },1306 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 370 },
1250 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 367 },1307 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 371 },
1251 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 368 },1308 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 372 },
1252 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 317 },1309 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 373 },
1253 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 369 },1310 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 374 },
1254 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },1311 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 375 },
1255 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 371 },1312 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 376 },
1256 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 372 },1313 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 377 },
1257 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 374 },1314 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 378 },
1258 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 375 },1315 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 379 },
1259 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 376 },1316 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 381 },
1260 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 377 },1317 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 382 },
1261 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 378 },1318 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 383 },
1262 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 379 },1319 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 384 },
1263 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 381 },1320 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 385 },
1264 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 382 },1321 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 386 },
1265 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 247 },1322 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 388 },
1266 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 383 },1323 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 389 },
1267 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 384 },1324 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 250 },
1268 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 385 },1325 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 390 },
1269 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 386 },1326 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 391 },
1270 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 387 },1327 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 392 },
1271 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 388 },1328 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 393 },
1272 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 389 },1329 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 394 },
1273 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 390 },1330 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 395 },
1274 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 391 },1331 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 396 },
1275 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 391 },1332 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 397 },
1276 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 392 },1333 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 398 },
1277 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 393 },1334 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 398 },
1278 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 393 },1335 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 399 },
1279 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 394 },1336 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 400 },
1280 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 395 },1337 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 400 },
1281 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 398 },1338 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 401 },
1282 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 399 },1339 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 402 },
1283 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 400 },1340 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 405 },
1284 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 401 },1341 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 406 },
1285 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 402 },1342 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 407 },
1286 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 406 },1343 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 408 },
1287 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 414 },1344 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 409 },
1288 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 417 },1345 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 413 },
1289 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 418 },
1290 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 419 },
1291 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 420 },
1292 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 421 },1346 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 421 },
1293 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 423 },1347 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 424 },
1294 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 424 },1348 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 425 },
1295 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 425 },1349 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 426 },
1296 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 426 },1350 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 427 },
1297 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 430 },1351 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 428 },
1298 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 431 },1352 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 430 },
1299 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 432 },1353 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 431 },
1300 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 424 },1354 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 432 },
1301 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 402 },1355 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 433 },
1302 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 436 },1356 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 437 },
1303 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 437 },1357 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 438 },
1304 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 438 },1358 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 439 },
1305 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 439 },1359 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 431 },
1306 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 440 },1360 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 443 },
1307 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 441 },1361 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 447 },
1308 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 442 },1362 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 448 },
1309 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 444 },1363 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 449 },
1310 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 343 },1364 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 450 },
1311 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 445 },1365 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 451 },
1312 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 446 },1366 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 452 },
1313 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 324 },1367 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 453 },
1314 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 447 },1368 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 454 },
1315 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 451 },1369 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 456 },
1316 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 456 },1370 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 349 },
1317 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 432 },1371 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 457 },
1318 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },1372 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 458 },
1319 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 458 },1373 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 329 },
1320 .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 459 },1374 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 459 },
1321 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 461 },1375 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 463 },
1322 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 459 },1376 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 468 },
1323 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 461 },1377 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 439 },
1324 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 459 },1378 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 469 },
1325 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 462 },1379 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 470 },
1326 .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 464 },1380 .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 471 },
1327 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 467 },1381 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 473 },
1328 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 471 },1382 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 471 },
1329 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 472 },1383 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 473 },
1330 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 473 },1384 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 471 },
1331 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 474 },1385 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 474 },
1332 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 475 },1386 .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 476 },
1333 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 476 },1387 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 479 },
1334 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 477 },1388 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 483 },
1335 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 253 },1389 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 484 },
1336 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 294 },1390 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 485 },
1337 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 478 },1391 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 486 },
1338 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 479 },1392 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 487 },
1339 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 480 },1393 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 488 },
1340 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 481 },1394 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 489 },
1341 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 402 },1395 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 256 },
1342 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 482 },1396 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 299 },
1343 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 483 },1397 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 443 },
1344 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 484 },1398 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 490 },
1345 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 324 },1399 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 491 },
1346 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 275 },1400 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 492 },
1401 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 493 },
1402 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 443 },
1403 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 494 },
1404 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 495 },
1405 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
1406 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 329 },
1407 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 280 },
1347 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1408 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1348 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 430 },1409 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 437 },
1349 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 485 },1410 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 497 },
1350 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 486 },1411 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 498 },
1351 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 324 },1412 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 329 },
1352 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 491 },1413 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 503 },
1353 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 492 },1414 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 504 },
1354 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },1415 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 184 },
1355 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 495 },1416 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 507 },
1356 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 496 },1417 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 508 },
1357 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 497 },1418 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 509 },
1358 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 391 },1419 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 398 },
1359 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 498 },1420 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 510 },
1360 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 393 },1421 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 400 },
1361 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 499 },1422 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 511 },
1362 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 500 },1423 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 512 },
1363 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 501 },1424 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 513 },
1364 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 502 },1425 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 514 },
1365 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 503 },1426 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 515 },
1366 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 504 },1427 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 516 },
1367 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 505 },1428 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 517 },
1368 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 506 },1429 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 518 },
1369 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },1430 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 519 },
1370 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 324 },1431 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 520 },
1371 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 324 },1432 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 520 },
1372 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 324 },1433 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 520 },
1373 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 324 },1434 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 520 },
1374 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 508 },1435 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 521 },
1375 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 39, .child_index = 510 },1436 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 39, .child_index = 523 },
1376 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 512 },1437 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 525 },
1377 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 513 },1438 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 526 },
1378 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 514 },1439 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 527 },
1379 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 516 },1440 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 529 },
1380 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 38, .child_index = 517 },1441 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 38, .child_index = 530 },
1381 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 519 },1442 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 532 },
1382 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 521 },1443 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 534 },
1383 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 522 },1444 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 535 },
1384 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 523 },1445 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 536 },
1385 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 524 },1446 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 537 },
1386 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 525 },1447 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 538 },
1387 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 526 },1448 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 539 },
1388 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 527 },1449 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 540 },
1389 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1450 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1390 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 528 },1451 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 541 },
1391 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 529 },1452 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 542 },
1392 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 530 },1453 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 543 },
1393 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 531 },1454 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 544 },
1394 .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 532 },1455 .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 545 },
1395 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 532 },1456 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 545 },
1396 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 532 },1457 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 545 },
1397 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 532 },1458 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 545 },
1398 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1459 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1399 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1460 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1400 .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1461 .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1401 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1462 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1402 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1463 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1403 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1464 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1404 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 533 },1465 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 329 },
1405 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 534 },1466 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 329 },
1406 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 535 },1467 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 329 },
1407 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 536 },1468 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 329 },
1408 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 532 },1469 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 546 },
1409 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 537 },1470 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 547 },
1471 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 548 },
1472 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 549 },
1473 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 545 },
1474 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 550 },
1475 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 551 },
1410 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1476 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1411 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 538 },1477 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 552 },
1412 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 540 },1478 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 554 },
1413 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 541 },1479 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 555 },
1414 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 542 },1480 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 556 },
1415 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 324 },1481 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 520 },
1416 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 544 },1482 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 558 },
1417 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 324 },1483 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 520 },
1418 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 324 },1484 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 520 },
1419 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 400 },1485 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 407 },
1420 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1486 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1421 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 19, .child_index = 545 },1487 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 19, .child_index = 559 },
1422 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 547 },1488 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 561 },
1423 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 548 },1489 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 562 },
1424 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 549 },1490 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 563 },
1425 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 550 },1491 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 564 },
1426 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 551 },1492 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 565 },
1427 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1493 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1428 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1494 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1429 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1495 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1430 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1496 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1431 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 461 },1497 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 473 },
1432 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1498 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1433 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1499 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1434 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 459 },1500 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 471 },
1435 .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 459 },1501 .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 471 },
1436 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 459 },1502 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 471 },
1437 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 462 },1503 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 474 },
1438 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 459 },1504 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 471 },
1439 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 552 },1505 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 566 },
1440 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 553 },1506 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 567 },
1441 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 554 },1507 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },
1442 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 555 },1508 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 569 },
1443 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 556 },1509 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 570 },
1444 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 557 },1510 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 571 },
1445 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1511 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1446 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 558 },1512 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 572 },
1447 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 561 },1513 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 575 },
1448 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 562 },1514 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 576 },
1449 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 563 },1515 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 577 },
1450 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 564 },1516 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 578 },
1451 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 565 },1517 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 579 },
1452 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 253 },1518 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 256 },
1453 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 566 },1519 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 580 },
1454 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 567 },1520 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 581 },
1455 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 568 },1521 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 582 },
1456 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 569 },1522 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 583 },
1457 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 570 },1523 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 584 },
1458 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 571 },1524 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 585 },
1459 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },1525 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 586 },
1460 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 573 },1526 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 587 },
1461 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 575 },1527 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 589 },
1462 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 576 },1528 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 590 },
1463 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 577 },1529 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 591 },
1464 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 578 },1530 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 592 },
1465 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 581 },1531 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 595 },
1466 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 584 },1532 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 598 },
1467 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 585 },1533 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 599 },
1468 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 586 },1534 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 600 },
1469 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 587 },1535 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 601 },
1470 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 588 },1536 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 602 },
1471 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 589 },1537 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 603 },
1472 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 590 },1538 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 604 },
1473 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 591 },1539 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 605 },
1474 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 592 },1540 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 606 },
1475 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 593 },1541 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 607 },
1476 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 594 },1542 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 608 },
1477 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 595 },1543 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 611 },
1478 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 596 },1544 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 612 },
1479 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 35, .child_index = 597 },1545 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 613 },
1480 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 598 },1546 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 35, .child_index = 614 },
1481 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 598 },1547 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 615 },
1482 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 599 },1548 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 615 },
1483 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 600 },1549 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 616 },
1484 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 601 },1550 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 617 },
1485 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 602 },1551 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 618 },
1486 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 35, .child_index = 603 },1552 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 619 },
1487 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 604 },1553 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 35, .child_index = 620 },
1488 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 516 },1554 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 621 },
1489 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 605 },1555 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 529 },
1556 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 622 },
1490 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1557 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1491 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 606 },1558 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 623 },
1492 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 607 },1559 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 624 },
1493 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 608 },1560 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 625 },
1494 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 609 },1561 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 626 },
1495 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 610 },1562 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 627 },
1496 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 611 },1563 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 628 },
1497 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 612 },1564 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 629 },
1498 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 613 },1565 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 630 },
1499 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 614 },1566 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 631 },
1500 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 615 },1567 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 632 },
1501 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 616 },1568 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 633 },
1502 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 617 },1569 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 634 },
1503 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 618 },1570 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 635 },
1504 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 619 },1571 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 636 },
1505 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 620 },1572 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 638 },
1506 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 592 },1573 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 639 },
1507 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 621 },1574 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 606 },
1508 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 622 },1575 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 640 },
1509 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 623 },1576 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 641 },
1510 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 624 },1577 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 642 },
1511 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 628 },1578 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 643 },
1512 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 19, .child_index = 629 },1579 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 647 },
1513 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 592 },1580 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 21, .child_index = 648 },
1514 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 634 },1581 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 606 },
1515 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 635 },1582 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 653 },
1516 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 636 },1583 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 654 },
1517 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 637 },1584 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 655 },
1518 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 638 },1585 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 656 },
1519 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 639 },1586 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 657 },
1520 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 640 },1587 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 658 },
1521 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 605 },1588 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 659 },
1522 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 641 },1589 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 622 },
1523 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 642 },1590 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 660 },
1524 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 644 },1591 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 661 },
1525 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 645 },1592 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 663 },
1593 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 664 },
1526 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1594 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1527 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },1595 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 667 },
1528 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 649 },1596 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 668 },
1529 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 651 },1597 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 670 },
1530 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 652 },1598 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 671 },
1531 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 653 },1599 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 672 },
1532 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 654 },1600 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 673 },
1533 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 655 },1601 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 674 },
1534 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 656 },1602 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 675 },
1535 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 657 },1603 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 676 },
1536 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 658 },1604 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 677 },
1537 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 659 },1605 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 678 },
1538 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 660 },1606 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 679 },
1539 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 661 },1607 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 680 },
1540 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 662 },1608 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 681 },
1541 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 663 },1609 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 682 },
1542 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 664 },1610 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 683 },
1543 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 665 },1611 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 684 },
1544 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 666 },1612 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 685 },
1545 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 667 },1613 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 686 },
1546 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 668 },1614 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 687 },
1547 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 669 },1615 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 688 },
1548 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 670 },1616 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 689 },
1549 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 671 },1617 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 690 },
1550 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 672 },1618 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 691 },
1551 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 673 },1619 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 692 },
1552 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 674 },1620 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 693 },
1553 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 675 },1621 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 694 },
1554 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 676 },1622 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 695 },
1555 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 679 },1623 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 698 },
1556 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 680 },1624 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 699 },
1557 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 681 },1625 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 700 },
1558 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 682 },1626 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 701 },
1559 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 683 },1627 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 702 },
1560 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 684 },1628 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 703 },
1561 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 685 },1629 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 704 },
1562 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 686 },1630 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1563 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 601 },1631 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 705 },
1564 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 687 },1632 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 706 },
1565 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 35, .child_index = 688 },1633 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 707 },
1566 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 689 },1634 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 618 },
1567 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 690 },1635 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 708 },
1568 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 690 },1636 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 35, .child_index = 709 },
1569 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 691 },1637 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 710 },
1570 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 601 },1638 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 711 },
1571 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 35, .child_index = 688 },1639 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 711 },
1572 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 692 },1640 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 712 },
1641 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 618 },
1642 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 35, .child_index = 709 },
1643 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 713 },
1573 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1644 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1574 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 607 },1645 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 624 },
1575 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1646 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1576 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },1647 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 714 },
1577 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 694 },1648 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 715 },
1578 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 696 },1649 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 717 },
1579 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 697 },1650 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 718 },
1580 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 698 },1651 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 719 },
1581 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 699 },1652 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 720 },
1582 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 700 },1653 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 721 },
1583 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 701 },1654 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 722 },
1584 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 702 },1655 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 723 },
1585 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 703 },1656 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 724 },
1586 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 704 },1657 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 725 },
1587 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 705 },1658 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 726 },
1588 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 707 },1659 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 726 },
1589 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 709 },1660 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 727 },
1590 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 710 },1661 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 729 },
1591 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 536 },1662 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
1592 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 711 },1663 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 731 },
1593 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 712 },1664 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 732 },
1594 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 713 },1665 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 733 },
1595 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 714 },1666 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 734 },
1596 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 715 },1667 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 735 },
1597 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 400 },1668 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 736 },
1669 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 737 },
1670 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 407 },
1598 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1671 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1599 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 10, .child_index = 716 },1672 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 11, .child_index = 738 },
1600 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 718 },1673 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 740 },
1601 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 719 },1674 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 741 },
1602 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 720 },1675 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 742 },
1603 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 721 },1676 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 743 },
1604 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 722 },1677 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 744 },
1605 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 723 },1678 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 745 },
1606 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 724 },1679 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 746 },
1607 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 725 },1680 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 747 },
1608 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 726 },1681 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 748 },
1609 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 727 },1682 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 749 },
1610 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 728 },1683 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 750 },
1611 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 729 },1684 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 751 },
1612 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 730 },1685 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 752 },
1613 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 731 },1686 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 753 },
1614 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },1687 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 667 },
1615 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 732 },1688 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 754 },
1616 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1689 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1617 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1690 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1618 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 648 },1691 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 667 },
1619 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 733 },1692 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 755 },
1620 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 734 },1693 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 756 },
1621 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 735 },1694 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 757 },
1622 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 736 },1695 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 758 },
1623 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 737 },1696 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 759 },
1624 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 324 },1697 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 329 },
1625 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 738 },1698 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 760 },
1626 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 739 },1699 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 761 },
1627 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 661 },1700 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 680 },
1628 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 740 },1701 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 762 },
1629 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 741 },1702 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 763 },
1630 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 743 },1703 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 765 },
1631 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 744 },1704 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 766 },
1632 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 744 },1705 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 766 },
1633 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 745 },1706 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 767 },
1634 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 744 },1707 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 766 },
1635 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 746 },1708 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 768 },
1636 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 749 },1709 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 771 },
1637 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 750 },1710 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 772 },
1638 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 751 },1711 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 773 },
1639 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 752 },1712 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 774 },
1640 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 753 },1713 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 775 },
1641 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 754 },1714 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 776 },
1642 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 755 },1715 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 777 },
1643 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 758 },1716 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 780 },
1644 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 761 },1717 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 783 },
1645 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 762 },1718 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 784 },
1646 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 763 },1719 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 785 },
1647 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 764 },1720 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 786 },
1648 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 765 },1721 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 787 },
1649 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 765 },1722 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 787 },
1650 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 766 },1723 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 788 },
1651 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 767 },1724 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 789 },
1652 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 768 },1725 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 790 },
1653 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 769 },1726 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 791 },
1654 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 770 },1727 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 792 },
1655 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 771 },1728 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 793 },
1656 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 35, .child_index = 772 },1729 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 794 },
1657 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 779 },1730 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 795 },
1658 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 780 },1731 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 35, .child_index = 796 },
1659 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 781 },1732 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 803 },
1660 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 601 },1733 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 804 },
1661 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 782 },1734 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 805 },
1662 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 783 },1735 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 618 },
1663 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 784 },1736 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 806 },
1664 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 785 },1737 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 807 },
1665 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 786 },1738 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 808 },
1666 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 787 },1739 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 809 },
1667 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 789 },1740 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 810 },
1668 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 790 },1741 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 811 },
1669 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 793 },1742 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 813 },
1670 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 794 },1743 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 814 },
1671 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 795 },1744 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 817 },
1672 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 796 },1745 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 818 },
1673 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 797 },1746 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 819 },
1674 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 797 },1747 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 820 },
1675 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 798 },1748 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 821 },
1676 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 800 },1749 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 823 },
1677 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 801 },1750 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 726 },
1678 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 802 },1751 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 825 },
1679 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 803 },1752 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 826 },
1680 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 805 },1753 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 827 },
1681 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 806 },1754 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 828 },
1682 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 807 },1755 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 829 },
1683 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 808 },1756 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 831 },
1684 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 592 },1757 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 832 },
1685 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 809 },1758 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 833 },
1686 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 810 },1759 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 834 },
1687 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 811 },1760 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 606 },
1688 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 812 },1761 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 835 },
1689 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 816 },1762 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 836 },
1690 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 819 },1763 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 837 },
1691 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 820 },1764 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 838 },
1692 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 821 },1765 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 842 },
1693 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 822 },1766 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 845 },
1694 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 826 },1767 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 846 },
1695 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 827 },1768 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 847 },
1696 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 828 },1769 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 848 },
1697 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 829 },1770 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 852 },
1698 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 830 },1771 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 853 },
1699 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 834 },1772 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 854 },
1700 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },1773 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 855 },
1774 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 856 },
1775 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 860 },
1776 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 184 },
1701 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1777 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1702 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },1778 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 519 },
1703 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 835 },1779 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 861 },
1704 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 836 },1780 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 862 },
1705 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 837 },1781 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 863 },
1706 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 661 },1782 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 680 },
1707 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 661 },1783 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 680 },
1708 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 838 },1784 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 864 },
1709 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 839 },1785 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 865 },
1710 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 839 },1786 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 865 },
1711 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 840 },1787 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 866 },
1712 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 782 },1788 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 806 },
1713 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 841 },1789 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 867 },
1714 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 842 },1790 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 868 },
1715 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 843 },1791 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 869 },
1716 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 763 },1792 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 785 },
1717 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 844 },1793 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 870 },
1718 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 845 },1794 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 871 },
1719 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 846 },1795 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 872 },
1720 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 847 },1796 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 873 },
1721 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 850 },1797 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 876 },
1722 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 851 },1798 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 877 },
1723 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 852 },1799 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 878 },
1724 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 853 },1800 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 879 },
1725 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 854 },1801 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 880 },
1726 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 855 },1802 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 881 },
1727 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 856 },1803 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 882 },
1728 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 763 },1804 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 785 },
1729 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 857 },1805 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 883 },
1730 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 858 },1806 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 884 },
1731 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 859 },1807 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 885 },
1732 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 765 },1808 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 787 },
1733 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 860 },1809 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 886 },
1734 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 861 },1810 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 887 },
1735 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 862 },1811 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 888 },
1736 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1812 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1737 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1813 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1738 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 863 },1814 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 889 },
1739 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 864 },1815 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 718 },
1740 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 508 },1816 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 890 },
1741 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 865 },1817 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 891 },
1742 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 512 },1818 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 521 },
1743 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 513 },1819 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 892 },
1744 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 514 },1820 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 525 },
1745 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 516 },1821 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 526 },
1746 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 519 },1822 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 527 },
1747 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 866 },1823 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 529 },
1748 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 867 },1824 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 532 },
1749 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 868 },1825 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 893 },
1750 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 417 },1826 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 894 },
1751 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 869 },1827 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 895 },
1752 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 870 },1828 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 424 },
1753 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 871 },1829 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 896 },
1830 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 897 },
1831 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 898 },
1754 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1832 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1755 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 872 },1833 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 899 },
1756 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 873 },1834 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 900 },
1757 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 874 },1835 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 901 },
1758 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 875 },1836 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 902 },
1759 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 878 },1837 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 905 },
1760 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 879 },1838 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 906 },
1761 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1839 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1762 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 880 },1840 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 907 },
1763 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 881 },1841 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 908 },
1764 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 882 },1842 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 909 },
1765 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 884 },1843 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 911 },
1766 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 885 },1844 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 912 },
1767 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 887 },1845 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 821 },
1768 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 885 },1846 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 913 },
1769 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 888 },1847 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 914 },
1770 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 889 },1848 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 918 },
1771 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 890 },1849 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 919 },
1772 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 890 },1850 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 920 },
1773 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 890 },1851 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 923 },
1774 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 891 },1852 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 923 },
1775 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 891 },1853 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 923 },
1776 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 892 },1854 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 924 },
1777 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 893 },1855 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 924 },
1778 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 894 },1856 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 925 },
1779 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 895 },1857 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 926 },
1780 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 400 },1858 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 927 },
1781 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 888 },1859 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
1782 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 896 },1860 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 407 },
1783 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 897 },1861 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 918 },
1784 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 400 },1862 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 928 },
1785 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 888 },1863 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 929 },
1786 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 548 },1864 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 407 },
1787 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 898 },1865 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 918 },
1788 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 362 },1866 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 562 },
1789 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 899 },1867 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 930 },
1790 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 900 },1868 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 368 },
1791 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 901 },1869 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 931 },
1792 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 902 },1870 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 932 },
1793 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 903 },1871 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 933 },
1794 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 324 },1872 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 934 },
1795 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 904 },1873 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 935 },
1796 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 905 },1874 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 329 },
1797 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 906 },1875 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 936 },
1798 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 907 },1876 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 937 },
1799 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 908 },1877 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 938 },
1800 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 909 },1878 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 939 },
1801 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 910 },1879 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 940 },
1880 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 941 },
1881 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 942 },
1802 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1882 .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1803 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 911 },1883 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 943 },
1804 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 912 },1884 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 944 },
1805 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 913 },1885 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 945 },
1806 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 914 },1886 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 946 },
1807 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 768 },1887 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 790 },
1808 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 918 },1888 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 950 },
1809 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 919 },1889 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 951 },
1810 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 920 },1890 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 952 },
1811 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 921 },1891 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 953 },
1812 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 922 },1892 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 954 },
1813 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 923 },1893 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 955 },
1814 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 924 },1894 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 956 },
1815 .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1895 .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1816 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1896 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1817 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1897 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1818 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 925 },1898 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 957 },
1819 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 850 },1899 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 876 },
1820 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 926 },1900 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 958 },
1821 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 927 },1901 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 959 },
1822 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 928 },1902 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 960 },
1823 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 929 },1903 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 961 },
1824 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 930 },1904 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 962 },
1825 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 931 },1905 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 963 },
1826 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 934 },1906 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 966 },
1827 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 935 },1907 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 967 },
1828 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 936 },1908 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 968 },
1829 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 937 },1909 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 969 },
1830 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 938 },1910 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 970 },
1831 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 939 },1911 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 971 },
1832 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 940 },1912 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 973 },
1833 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 596 },1913 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 974 },
1834 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 941 },1914 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 613 },
1835 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 942 },1915 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 975 },
1836 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 943 },1916 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 976 },
1837 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 944 },1917 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 977 },
1838 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 945 },1918 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 978 },
1839 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 628 },1919 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 979 },
1840 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 946 },1920 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 647 },
1841 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 947 },1921 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 980 },
1842 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 948 },1922 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 981 },
1843 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 949 },1923 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 982 },
1844 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 950 },1924 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 983 },
1845 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 951 },1925 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 984 },
1846 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 952 },1926 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 985 },
1847 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 953 },1927 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 986 },
1848 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 954 },1928 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 987 },
1849 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 955 },1929 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 988 },
1850 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 713 },1930 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 989 },
1851 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 714 },1931 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 735 },
1852 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 957 },1932 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 736 },
1853 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 958 },1933 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 991 },
1854 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 959 },1934 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 992 },
1855 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 960 },1935 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 993 },
1856 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 592 },1936 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 994 },
1857 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 961 },1937 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 995 },
1858 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 962 },1938 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 996 },
1859 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 963 },1939 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 995 },
1860 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 964 },1940 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 606 },
1861 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 965 },1941 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 997 },
1862 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 968 },1942 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 726 },
1863 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 400 },1943 .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 726 },
1864 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 969 },1944 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 726 },
1865 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 970 },1945 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 998 },
1866 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 971 },1946 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 999 },
1867 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 710 },1947 .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1000 },
1868 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 972 },1948 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1001 },
1869 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 973 },1949 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1004 },
1870 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 974 },1950 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1005 },
1871 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 975 },1951 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1006 },
1872 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 710 },1952 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1007 },
1873 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 976 },1953 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 731 },
1874 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 977 },1954 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1008 },
1875 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 978 },1955 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1009 },
1876 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 979 },1956 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1010 },
1877 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 981 },1957 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1011 },
1878 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 982 },1958 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 731 },
1879 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 983 },1959 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1012 },
1880 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 984 },1960 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1013 },
1881 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 985 },1961 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1014 },
1882 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 567 },1962 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1015 },
1883 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 568 },1963 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1017 },
1884 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 569 },1964 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1018 },
1885 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 571 },1965 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1019 },
1886 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 991 },1966 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 1020 },
1887 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 744 },1967 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1021 },
1888 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 992 },1968 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 581 },
1889 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 995 },1969 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 582 },
1890 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 996 },1970 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 583 },
1891 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 997 },1971 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 585 },
1892 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 998 },1972 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1027 },
1893 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 999 },1973 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 766 },
1894 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1000 },1974 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1028 },
1895 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1003 },1975 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1031 },
1896 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1004 },1976 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1032 },
1897 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1005 },1977 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1033 },
1898 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1008 },1978 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1034 },
1899 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 934 },1979 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1035 },
1900 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 934 },1980 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1036 },
1981 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1039 },
1982 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1040 },
1983 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1041 },
1984 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1044 },
1985 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 966 },
1986 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 966 },
1901 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1987 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1902 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1009 },1988 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1045 },
1903 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1011 },1989 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1047 },
1904 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1012 },1990 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1048 },
1905 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1013 },1991 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1049 },
1906 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1014 },1992 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1050 },
1907 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1015 },1993 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1908 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1016 },1994 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 706 },
1909 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1017 },1995 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1051 },
1910 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1018 },1996 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1052 },
1911 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1019 },1997 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1053 },
1912 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1021 },1998 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1054 },
1913 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1022 },1999 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1055 },
1914 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1023 },2000 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1057 },
1915 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1024 },2001 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1058 },
1916 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 528 },2002 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1059 },
1917 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1025 },2003 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1060 },
1918 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1026 },2004 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 541 },
1919 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1027 },2005 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1061 },
1920 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1028 },2006 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1062 },
1921 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1029 },2007 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1063 },
1922 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1030 },2008 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1064 },
2009 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1065 },
2010 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1066 },
1923 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2011 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1924 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1031 },2012 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1067 },
1925 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1033 },2013 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1069 },
1926 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1034 },2014 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1070 },
1927 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1035 },2015 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 912 },
1928 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 959 },2016 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1071 },
1929 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1036 },2017 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1073 },
1930 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1037 },2018 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1074 },
1931 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1038 },2019 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1075 },
1932 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1039 },2020 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1076 },
1933 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 888 },2021 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1077 },
1934 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1040 },2022 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1078 },
1935 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 719 },2023 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 918 },
1936 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1041 },2024 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1079 },
1937 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1043 },2025 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 741 },
1938 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1044 },2026 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1080 },
1939 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1045 },2027 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1082 },
1940 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1046 },2028 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1083 },
1941 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1047 },2029 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1084 },
1942 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1048 },2030 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1085 },
1943 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1049 },2031 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1086 },
1944 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1050 },2032 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1087 },
1945 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1051 },2033 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1088 },
1946 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1052 },2034 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1089 },
1947 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1053 },2035 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1090 },
1948 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1054 },2036 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1091 },
1949 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1055 },2037 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1092 },
1950 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1056 },2038 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1093 },
1951 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1057 },2039 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1094 },
1952 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 1058 },2040 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1095 },
1953 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1059 },2041 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1096 },
1954 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1061 },2042 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 1097 },
1955 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1062 },2043 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1098 },
1956 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 522 },2044 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1100 },
1957 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1064 },2045 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1101 },
1958 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1023 },2046 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 535 },
1959 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1065 },2047 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1103 },
1960 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1066 },2048 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1059 },
1961 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1066 },2049 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1104 },
2050 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1105 },
2051 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1105 },
1962 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2052 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1963 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1067 },2053 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1106 },
1964 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1069 },2054 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1108 },
1965 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1070 },2055 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1109 },
1966 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1071 },2056 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1110 },
1967 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1072 },2057 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1111 },
1968 .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2058 .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1969 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2059 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1970 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1073 },2060 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1112 },
1971 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1074 },2061 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1113 },
1972 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1073 },2062 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1112 },
1973 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1008 },2063 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1044 },
1974 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1008 },2064 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1044 },
1975 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2065 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1976 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1075 },2066 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1114 },
1977 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1072 },2067 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1111 },
1978 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1072 },2068 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1111 },
1979 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1077 },2069 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1116 },
1980 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1078 },2070 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1117 },
1981 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1080 },2071 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1119 },
1982 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1081 },2072 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1120 },
1983 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1083 },2073 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1122 },
1984 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1087 },2074 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1126 },
1985 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1090 },2075 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1129 },
1986 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1091 },2076 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1130 },
1987 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2077 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1988 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1094 },2078 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1133 },
1989 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1095 },2079 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1134 },
1990 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1096 },2080 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1135 },
1991 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 522 },2081 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 535 },
1992 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2082 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1993 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1097 },2083 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1136 },
1994 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1098 },2084 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1137 },
1995 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1099 },2085 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1138 },
1996 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1100 },2086 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1139 },
1997 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1101 },2087 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1140 },
1998 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 891 },2088 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 924 },
1999 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 592 },2089 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 606 },
2000 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 611 },2090 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 628 },
2001 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1102 },2091 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 913 },
2002 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1103 },2092 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1141 },
2003 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1104 },2093 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1142 },
2004 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1105 },2094 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1142 },
2005 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1106 },2095 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1142 },
2006 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1107 },2096 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1142 },
2007 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1108 },2097 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1143 },
2008 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1109 },2098 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1144 },
2009 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 400 },2099 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1145 },
2010 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 506 },2100 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1146 },
2011 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1110 },2101 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1147 },
2012 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1113 },2102 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 407 },
2013 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1114 },2103 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 518 },
2014 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 253 },2104 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1148 },
2015 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1048 },2105 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1151 },
2016 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 648 },2106 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1152 },
2017 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1115 },2107 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 256 },
2018 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1116 },2108 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1087 },
2019 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1117 },2109 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 667 },
2020 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1118 },2110 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1153 },
2021 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1119 },2111 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1154 },
2022 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1120 },2112 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1155 },
2023 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1121 },2113 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1156 },
2024 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1122 },2114 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1157 },
2025 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1123 },2115 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1158 },
2026 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 1124 },2116 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1159 },
2027 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 605 },2117 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1160 },
2028 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 605 },2118 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1161 },
2029 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1125 },2119 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 1162 },
2030 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1127 },2120 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 622 },
2031 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1024 },2121 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 622 },
2032 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1062 },2122 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1163 },
2033 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1128 },2123 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1165 },
2034 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1129 },2124 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1060 },
2035 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1130 },2125 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1101 },
2036 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1131 },2126 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },
2037 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1132 },2127 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1167 },
2038 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1133 },2128 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1168 },
2039 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1134 },2129 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1169 },
2130 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1170 },
2131 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1171 },
2132 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1172 },
2040 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2133 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2041 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1135 },2134 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1173 },
2042 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1136 },2135 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1174 },
2043 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1138 },2136 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1176 },
2044 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1138 },2137 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1176 },
2045 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 839 },2138 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 865 },
2046 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1139 },2139 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1177 },
2047 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1140 },2140 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1178 },
2048 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 839 },2141 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 865 },
2049 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 671 },2142 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 690 },
2050 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1140 },2143 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1178 },
2051 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2144 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2052 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2145 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2053 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2146 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2054 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1094 },2147 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1133 },
2055 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2148 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2056 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1094 },2149 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1133 },
2057 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },2150 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 184 },
2058 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 430 },2151 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 437 },
2059 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2152 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2060 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1094 },2153 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1133 },
2061 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1019 },2154 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1055 },
2062 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2155 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2063 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1141 },2156 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1179 },
2064 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1142 },2157 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1180 },
2065 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1143 },2158 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1181 },
2066 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1144 },2159 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1182 },
2067 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1145 },2160 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1183 },
2068 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1146 },2161 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1184 },
2069 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1147 },2162 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1185 },
2070 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2163 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1187 },
2071 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 887 },2164 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1188 },
2072 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1149 },2165 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1189 },
2073 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1150 },2166 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1190 },
2074 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1151 },2167 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1191 },
2075 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1152 },2168 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1192 },
2076 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1153 },2169 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1193 },
2077 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1154 },2170 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 407 },
2078 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 400 },2171 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 918 },
2079 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 888 },2172 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 929 },
2080 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 897 },2173 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1194 },
2081 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1155 },2174 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1195 },
2082 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1156 },2175 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1196 },
2083 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1157 },2176 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1197 },
2084 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1158 },2177 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1198 },
2085 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1159 },2178 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1199 },
2086 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1160 },2179 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1200 },
2087 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1161 },2180 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1157 },
2088 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1119 },2181 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1201 },
2089 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1162 },2182 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1202 },
2090 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1163 },2183 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1203 },
2091 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1164 },2184 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 1204 },
2092 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 53, .child_index = 1165 },2185 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1212 },
2093 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1173 },2186 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1213 },
2094 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1174 },
2095 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2187 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2096 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1175 },2188 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1214 },
2097 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1176 },2189 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1215 },
2098 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1177 },2190 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1216 },
2099 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1178 },2191 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1217 },
2100 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1179 },2192 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1218 },
2101 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1180 },2193 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1219 },
2102 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1181 },2194 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1220 },
2103 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1182 },2195 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1221 },
2104 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1184 },2196 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1223 },
2105 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1185 },2197 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1224 },
2106 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2198 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2107 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1186 },2199 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1225 },
2108 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1187 },2200 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1226 },
2109 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1188 },2201 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1227 },
2110 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 253 },2202 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 256 },
2111 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1189 },
2112 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1190 },
2113 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1191 },
2114 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1192 },
2115 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1193 },
2116 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1194 },
2117 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1195 },
2118 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 522 },
2119 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1196 },
2120 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 797 },
2121 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1197 },
2122 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 895 },
2123 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1199 },
2124 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1200 },
2125 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1201 },
2126 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1202 },
2127 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1203 },
2128 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1204 },
2129 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1205 },
2130 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1206 },
2131 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1207 },
2132 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1208 },
2133 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 1210 },
2134 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1212 },
2135 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1214 },
2136 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 1215 },
2137 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1219 },
2138 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1220 },
2139 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1221 },
2140 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1222 },
2141 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1223 },
2142 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1223 },
2143 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1224 },
2144 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2145 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1225 },
2146 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1225 },
2147 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1226 },
2148 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1227 },
2149 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1228 },2203 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1228 },
2150 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1229 },2204 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1229 },
2151 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 768 },2205 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1230 },
2152 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1135 },2206 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1231 },
2153 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1135 },2207 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1232 },
2154 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1230 },2208 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1233 },
2155 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1013 },2209 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1234 },
2156 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1232 },2210 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1235 },
2157 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1234 },2211 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 535 },
2158 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1235 },2212 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1236 },
2159 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1236 },2213 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1237 },
2160 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1237 },2214 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1238 },
2161 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 648 },2215 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1240 },
2162 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1238 },2216 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1241 },
2163 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1239 },2217 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1242 },
2164 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1240 },2218 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1243 },
2165 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 887 },2219 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1244 },
2166 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 887 },2220 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1245 },
2167 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1242 },2221 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1246 },
2168 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1243 },2222 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1247 },
2169 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 802 },2223 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1248 },
2170 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1244 },2224 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1249 },
2171 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1246 },2225 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1250 },
2172 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1248 },2226 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 1252 },
2173 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1251 },2227 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1254 },
2174 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1252 },2228 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1256 },
2175 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1253 },2229 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 1257 },
2230 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1261 },
2231 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1262 },
2232 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1263 },
2233 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1264 },
2234 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1265 },
2235 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1265 },
2236 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1266 },
2237 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2238 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1267 },
2239 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1267 },
2240 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1268 },
2241 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1269 },
2242 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1270 },
2243 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1271 },
2244 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 790 },
2245 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1173 },
2246 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1173 },
2247 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1272 },
2248 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1049 },
2249 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1274 },
2250 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1276 },
2251 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1277 },
2252 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1278 },
2253 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1279 },
2254 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 667 },
2255 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1280 },
2256 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1281 },
2257 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1282 },
2258 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1283 },
2259 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1285 },
2260 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 913 },
2261 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 913 },
2262 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 407 },
2263 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1286 },
2264 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1287 },
2265 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 827 },
2266 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1288 },
2267 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1290 },
2268 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1292 },
2269 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1295 },
2270 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1296 },
2271 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1297 },
2176 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2272 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2177 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2273 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2178 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 1254 },2274 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 1298 },
2179 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1256 },2275 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1300 },
2180 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1257 },2276 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1301 },
2181 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1258 },2277 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1302 },
2182 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1259 },2278 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1303 },
2183 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1260 },2279 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1304 },
2184 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1220 },2280 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1262 },
2185 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1221 },2281 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1263 },
2186 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1262 },2282 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1306 },
2187 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1263 },2283 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1307 },
2188 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1267 },2284 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1311 },
2189 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1268 },2285 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1312 },
2190 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1269 },2286 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1313 },
2191 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1270 },2287 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1314 },
2192 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 768 },2288 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 790 },
2193 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1272 },2289 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1316 },
2194 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1273 },2290 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1317 },
2195 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1277 },2291 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1321 },
2196 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1279 },2292 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1323 },
2197 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2293 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2198 .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2294 .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2199 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2295 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2200 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1280 },2296 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1324 },
2201 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1281 },2297 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1325 },
2202 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1282 },2298 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1326 },
2203 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1283 },2299 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1327 },
2204 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1194 },2300 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1233 },
2205 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1284 },2301 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1328 },
2206 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1285 },2302 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1329 },
2207 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1286 },2303 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1330 },
2208 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1287 },2304 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1331 },
2209 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 959 },2305 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1332 },
2210 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1288 },2306 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 912 },
2211 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1289 },2307 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1333 },
2212 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1291 },2308 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1334 },
2213 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1292 },2309 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1335 },
2214 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 768 },2310 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1337 },
2215 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1072 },2311 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1338 },
2216 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1293 },2312 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 790 },
2217 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1294 },2313 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1111 },
2218 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1205 },2314 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1339 },
2219 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1295 },2315 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1340 },
2220 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1296 },2316 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1247 },
2221 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1053 },2317 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1341 },
2222 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1297 },2318 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1342 },
2223 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1298 },2319 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1092 },
2224 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1221 },2320 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1343 },
2225 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1299 },2321 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1344 },
2226 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1300 },2322 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1263 },
2227 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1301 },2323 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1345 },
2228 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1302 },2324 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1346 },
2229 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1256 },2325 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1347 },
2230 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1303 },2326 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1348 },
2327 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1300 },
2328 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1349 },
2231 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2329 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2232 .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2330 .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2233 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2331 .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2234 .{ .char = '3', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2332 .{ .char = '3', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2235 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 605 },2333 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 622 },
2236 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1304 },2334 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1350 },
2237 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1305 },2335 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1351 },
2238 .{ .char = 'N', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1306 },2336 .{ .char = 'N', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1352 },
2239 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1307 },2337 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1353 },
2240 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1308 },2338 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1354 },
2241 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1309 },2339 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1355 },
2242 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1310 },2340 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1356 },
2243 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1311 },2341 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1357 },
2244 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1312 },2342 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1358 },
2245 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1313 },2343 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1359 },
2246 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1313 },2344 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1359 },
2247 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1314 },2345 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1360 },
2248 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1315 },2346 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1361 },
2249 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1316 },2347 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1362 },
2250 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1317 },2348 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1363 },
2251 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1318 },2349 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1364 },
2252 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1319 },2350 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1365 },
2253 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 733 },2351 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 755 },
2254 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1320 },
2255 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1321 },
2256 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1322 },
2257 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 400 },
2258 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 888 },
2259 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 733 },
2260 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 733 },
2261 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1323 },
2262 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1324 },
2263 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1325 },
2264 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1326 },
2265 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1327 },
2266 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1328 },
2267 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1329 },
2268 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1267 },
2269 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1330 },
2270 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1332 },
2271 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1333 },
2272 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1334 },
2273 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1338 },
2274 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1340 },
2275 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1341 },
2276 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1342 },
2277 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1343 },
2278 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1344 },
2279 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1345 },
2280 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1346 },
2281 .{ .char = 'D', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1347 },
2282 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1349 },
2283 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1350 },
2284 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 253 },
2285 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1351 },
2286 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1352 },
2287 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1353 },
2288 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2352 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2289 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1354 },2353 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1236 },
2290 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1355 },2354 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1366 },
2291 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1356 },2355 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1367 },
2292 .{ .char = 'C', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1357 },2356 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1368 },
2293 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 605 },2357 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 407 },
2294 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1358 },2358 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 918 },
2295 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1359 },2359 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 755 },
2296 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1360 },2360 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 755 },
2297 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1361 },2361 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1369 },
2298 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 605 },2362 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1370 },
2299 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1362 },2363 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1371 },
2300 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1363 },2364 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1372 },
2301 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1267 },2365 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1373 },
2366 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1374 },
2367 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1375 },
2368 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1311 },
2369 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1376 },
2370 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1378 },
2371 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1379 },
2372 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1380 },
2373 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1384 },
2374 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1386 },
2375 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1387 },
2376 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1388 },
2377 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1389 },
2378 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1390 },
2379 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1391 },
2380 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1392 },
2381 .{ .char = 'D', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1393 },
2382 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1395 },
2383 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1396 },
2384 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 256 },
2385 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1397 },
2386 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1398 },
2387 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1399 },
2388 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1400 },
2389 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1401 },
2390 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1402 },
2391 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1403 },
2392 .{ .char = 'C', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1404 },
2393 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 622 },
2394 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1405 },
2395 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1406 },
2396 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1407 },
2397 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1408 },
2398 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 622 },
2399 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1409 },
2400 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1410 },
2401 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1311 },
2302 .{ .char = 'w', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2402 .{ .char = 'w', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2303 .{ .char = 'x', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2403 .{ .char = 'x', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2304 .{ .char = 'y', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2404 .{ .char = 'y', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2305 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2405 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2306 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 605 },2406 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 622 },
2307 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1364 },2407 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1411 },
2308 .{ .char = 'N', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2408 .{ .char = 'N', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2309 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1365 },2409 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1412 },
2310 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1366 },2410 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1413 },
2311 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1367 },2411 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1414 },
2312 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1368 },2412 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1415 },
2313 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1369 },2413 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1416 },
2314 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1368 },2414 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1415 },
2315 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1370 },2415 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1417 },
2316 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1370 },2416 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1417 },
2317 .{ .char = 'D', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1372 },2417 .{ .char = 'D', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1419 },
2318 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1375 },2418 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1422 },
2319 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1376 },2419 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1423 },
2320 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1377 },2420 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1424 },
2321 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1378 },2421 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1425 },
2322 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1379 },2422 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1426 },
2323 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 709 },2423 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2324 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1380 },2424 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
2325 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1381 },2425 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1427 },
2326 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1142 },2426 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1428 },
2327 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1072 },2427 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1180 },
2328 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1382 },2428 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1111 },
2329 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1383 },2429 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1429 },
2330 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1384 },2430 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1430 },
2331 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1385 },2431 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1431 },
2332 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1386 },2432 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1432 },
2333 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1387 },2433 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1433 },
2334 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1066 },2434 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1434 },
2335 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1388 },2435 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1105 },
2336 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1389 },2436 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1435 },
2337 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1390 },2437 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1436 },
2338 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1391 },2438 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1437 },
2339 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1391 },2439 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1438 },
2340 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1391 },2440 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1438 },
2341 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1391 },2441 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1438 },
2342 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1392 },2442 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1438 },
2343 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1393 },2443 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1439 },
2344 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1394 },2444 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1440 },
2345 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1395 },2445 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1441 },
2346 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1396 },2446 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1442 },
2347 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 960 },2447 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1443 },
2348 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1397 },2448 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 993 },
2349 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1399 },2449 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1444 },
2350 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1400 },2450 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1446 },
2351 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1402 },2451 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1447 },
2352 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1403 },2452 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1449 },
2353 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1404 },2453 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1450 },
2354 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1320 },2454 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1451 },
2355 .{ .char = 'N', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1306 },2455 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1330 },
2356 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1405 },2456 .{ .char = 'N', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1352 },
2357 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1392 },2457 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1452 },
2358 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1406 },2458 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1439 },
2459 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1453 },
2359 .{ .char = '_', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2460 .{ .char = '_', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2360 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1391 },2461 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1438 },
2361 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1407 },2462 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1454 },
2362 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1408 },2463 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1455 },
2363 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1409 },2464 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1456 },
2364 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1410 },2465 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1457 },
2365 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1294 },2466 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1340 },
2366 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1205 },2467 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1247 },
2367 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1411 },2468 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1458 },
2368 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1412 },2469 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1459 },
2369 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1268 },2470 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1312 },
2370 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1414 },2471 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1461 },
2371 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1415 },2472 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1462 },
2372 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1221 },2473 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1263 },
2373 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1416 },2474 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1463 },
2374 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1392 },2475 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1439 },
2375 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1417 },2476 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1464 },
2376 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1418 },2477 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1465 },
2377 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1419 },2478 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1466 },
2378 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1420 },2479 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1467 },
2379 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1421 },2480 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1468 },
2380 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1422 },2481 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1469 },
2381 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1423 },2482 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1470 },
2382 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1150 },2483 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1189 },
2383 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1424 },2484 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1471 },
2384 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1427 },2485 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1474 },
2385 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1428 },2486 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1475 },
2386 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1429 },2487 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1476 },
2387 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1430 },2488 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1477 },
2388 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1431 },2489 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1478 },
2389 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1432 },2490 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1479 },
2390 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1433 },2491 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1480 },
2391 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1422 },2492 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1469 },
2392 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1434 },2493 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1481 },
2393 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1435 },2494 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1482 },
2394 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1435 },2495 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1482 },
2395 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1437 },2496 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1484 },
2396 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1439 },2497 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1486 },
2397 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1440 },2498 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1487 },
2398 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1441 },2499 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1488 },
2399 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1442 },2500 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1489 },
2400 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1444 },2501 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1491 },
2401 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1445 },2502 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1492 },
2402 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2503 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2403 .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2504 .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2404 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2505 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2405 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1447 },2506 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1494 },
2406 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1448 },2507 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1495 },
2407 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1449 },2508 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1496 },
2408 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1450 },2509 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1497 },
2409 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1453 },2510 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1500 },
2410 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1454 },2511 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1501 },
2411 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1205 },2512 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1247 },
2412 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1119 },2513 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1157 },
2413 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1268 },2514 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1312 },
2414 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1455 },2515 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1502 },
2415 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1456 },2516 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1503 },
2416 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1457 },2517 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1504 },
2417 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1458 },2518 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1505 },
2418 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1229 },2519 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1271 },
2419 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2520 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2420 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2521 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2421 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1229 },2522 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1271 },
2422 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1459 },2523 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1506 },
2423 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1460 },2524 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1507 },
2424 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1461 },2525 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1508 },
2425 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1462 },2526 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1509 },
2426 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1325 },2527 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1371 },
2427 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1463 },2528 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1510 },
2428 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 769 },2529 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 791 },
2429 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1464 },2530 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1511 },
2430 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1465 },2531 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1512 },
2431 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1466 },2532 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1513 },
2432 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1467 },2533 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1514 },
2433 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1392 },2534 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1439 },
2434 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1119 },2535 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1157 },
2435 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1468 },2536 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1515 },
2436 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1469 },2537 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1516 },
2437 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1470 },2538 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1517 },
2438 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1392 },2539 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1439 },
2439};2540};
2440pub const data = blk: {2541pub const data = blk: {
2441 @setEvalBranchQuota(7263);2542 @setEvalBranchQuota(7749);
2442 break :blk [_]Properties{2543 break :blk [_]Properties{
2443 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2544 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2444 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2545 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2445 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2546 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2446 .{ .param_str = "vi*iC*iC*iC*Ii", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2547 .{ .param_str = "vi*iC*iC*iC*Ii", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2447 .{ .param_str = "vi*iC*iC*iC*Ii", .features = "(sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2548 .{ .param_str = "vi*iC*iC*iC*Ii", .features = "(sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2448 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2549 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2449 .{ .param_str = "ii" },2550 .{ .param_str = "ii" },
2450 .{ .param_str = "ii" },2551 .{ .param_str = "ii" },
2451 .{ .param_str = "ii" },2552 .{ .param_str = "ii" },
...@@ -2462,103 +2563,111 @@ pub const data = blk: {...@@ -2462,103 +2563,111 @@ pub const data = blk: {
2462 .{ .param_str = "viiiffff" },2563 .{ .param_str = "viiiffff" },
2463 .{ .param_str = "viiiiiii" },2564 .{ .param_str = "viiiiiii" },
2464 .{ .param_str = "viiiUiUiUiUi" },2565 .{ .param_str = "viiiUiUiUiUi" },
2465 .{ .param_str = "vd*dC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2566 .{ .param_str = "vd*dC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2466 .{ .param_str = "vd*dC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2567 .{ .param_str = "vd*dC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2467 .{ .param_str = "vd*dC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2568 .{ .param_str = "vd*dC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2468 .{ .param_str = "vd*dC*dC*dC*IiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2569 .{ .param_str = "vd*dC*dC*dC*IiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2469 .{ .param_str = "vd*dC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2570 .{ .param_str = "vd*dC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2470 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2571 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2471 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2572 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2472 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2573 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2473 .{ .param_str = "vf*fC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2574 .{ .param_str = "vf*fC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2474 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2575 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2475 .{ .param_str = "vi*iC*iC*fC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2576 .{ .param_str = "vi*iC*iC*fC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2476 .{ .param_str = "vf*iC*iC*iC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2577 .{ .param_str = "vf*iC*iC*iC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2477 .{ .param_str = "vf*iC*iC*fC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2578 .{ .param_str = "vf*iC*iC*fC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2478 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2579 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2479 .{ .param_str = "vf*fC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2580 .{ .param_str = "vf*fC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2480 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2581 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2481 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2582 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2482 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2583 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2483 .{ .param_str = "vf*fC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2584 .{ .param_str = "vf*fC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2484 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2585 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2485 .{ .param_str = "vi*iC*iC*fC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2586 .{ .param_str = "vi*iC*iC*fC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2486 .{ .param_str = "vf*iC*iC*iC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2587 .{ .param_str = "vf*iC*iC*iC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2487 .{ .param_str = "vf*iC*iC*fC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2588 .{ .param_str = "vf*iC*iC*fC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2488 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2589 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2489 .{ .param_str = "vf*fC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2590 .{ .param_str = "vf*fC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2490 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2591 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2491 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2592 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2492 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2593 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2493 .{ .param_str = "vf*fC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2594 .{ .param_str = "vf*fC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2494 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2595 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2495 .{ .param_str = "vi*iC*iC*fC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2596 .{ .param_str = "vi*iC*iC*fC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2496 .{ .param_str = "vf*iC*iC*iC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2597 .{ .param_str = "vf*iC*iC*iC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2497 .{ .param_str = "vf*iC*iC*fC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2598 .{ .param_str = "vf*iC*iC*fC*IiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2498 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2599 .{ .param_str = "vi*iC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2499 .{ .param_str = "vf*fC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2600 .{ .param_str = "vf*fC*UiIi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2500 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2601 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2501 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2602 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2502 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2603 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2503 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2604 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2504 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2605 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2505 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2606 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2506 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2607 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2507 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2608 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2508 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2609 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2509 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2610 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2510 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2611 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2511 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2612 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2512 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2613 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2513 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2614 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2514 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2615 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2515 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2616 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2516 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2617 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2517 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2618 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2518 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2619 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2519 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2620 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2520 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2621 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2521 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2622 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2522 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2623 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2523 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2624 .{ .param_str = "vi*iC*UiIi", .features = "(sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2524 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2625 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2525 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2626 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2526 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2627 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2527 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2628 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2528 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2629 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2529 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2630 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2530 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2631 .{ .param_str = "vi*iC*iC*iC*IiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2531 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2632 .{ .param_str = "vi*iC*UiIi", .features = "(sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2532 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2633 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2533 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2634 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2534 .{ .param_str = "vf*iC*iC*fC*IiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2635 .{ .param_str = "vf*iC*iC*fC*IiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2535 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2636 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2536 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2637 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2537 .{ .param_str = "vf*iC*iC*fC*IiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2638 .{ .param_str = "vf*iC*iC*fC*IiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2538 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2639 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2539 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2640 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2540 .{ .param_str = "vf*iC*iC*fC*IiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2641 .{ .param_str = "vf*iC*iC*fC*IiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2541 .{ .param_str = "vf*fC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2642 .{ .param_str = "vf*fC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2542 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2643 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2543 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2644 .{ .param_str = "vi*iC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2544 .{ .param_str = "vf*fC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2645 .{ .param_str = "vf*fC*UiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2545 .{ .param_str = "vf*iC*iC*fC*IiIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2646 .{ .param_str = "vf*iC*iC*fC*IiIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2546 .{ .param_str = "yy", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2647 .{ .param_str = "yy", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2547 .{ .param_str = "V2yV2y", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2648 .{ .param_str = "V2yV2y", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2548 .{ .param_str = "Ui", .features = "ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },2649 .{ .param_str = "Ui", .features = "ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
2549 .{ .param_str = "ddd" },2650 .{ .param_str = "ddd" },
2550 .{ .param_str = "fff" },2651 .{ .param_str = "fff" },
2551 .{ .param_str = "fff" },2652 .{ .param_str = "fff" },
2653 .{ .param_str = "fff" },
2654 .{ .param_str = "fff" },
2552 .{ .param_str = "ddd" },2655 .{ .param_str = "ddd" },
2553 .{ .param_str = "fff" },2656 .{ .param_str = "fff" },
2554 .{ .param_str = "fff" },2657 .{ .param_str = "fff" },
2658 .{ .param_str = "fff" },
2659 .{ .param_str = "fff" },
2555 .{ .param_str = "ddd" },2660 .{ .param_str = "ddd" },
2556 .{ .param_str = "fff" },2661 .{ .param_str = "fff" },
2557 .{ .param_str = "fff" },2662 .{ .param_str = "fff" },
2663 .{ .param_str = "fff" },
2664 .{ .param_str = "fff" },
2558 .{ .param_str = "ddd" },2665 .{ .param_str = "ddd" },
2559 .{ .param_str = "fff" },2666 .{ .param_str = "fff" },
2560 .{ .param_str = "fff" },2667 .{ .param_str = "fff" },
2561 .{ .param_str = "ddD*d", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2668 .{ .param_str = "fff" },
2669 .{ .param_str = "fff" },
2670 .{ .param_str = "ddD*d", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2562 .{ .param_str = "ffD*f" },2671 .{ .param_str = "ffD*f" },
2563 .{ .param_str = "iiD*i" },2672 .{ .param_str = "iiD*i" },
2564 .{ .param_str = "LiLiD*Li" },2673 .{ .param_str = "LiLiD*Li" },
...@@ -2569,42 +2678,42 @@ pub const data = blk: {...@@ -2569,42 +2678,42 @@ pub const data = blk: {
2569 .{ .param_str = "iiD*ii" },2678 .{ .param_str = "iiD*ii" },
2570 .{ .param_str = "LiLiD*LiLi" },2679 .{ .param_str = "LiLiD*LiLi" },
2571 .{ .param_str = "LLiLLiD*LLiLLi" },2680 .{ .param_str = "LLiLLiD*LLiLLi" },
2572 .{ .param_str = "UsUsD*UsUs", .features = "sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2681 .{ .param_str = "UsUsD*UsUs", .features = "sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2573 .{ .param_str = "ddD*d", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2682 .{ .param_str = "ddD*d", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2574 .{ .param_str = "ffD*f", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2683 .{ .param_str = "ffD*f", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2575 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2684 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2576 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2685 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2577 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2686 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2578 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2687 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2579 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2688 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2580 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2689 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2581 .{ .param_str = "iiD*ii", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2690 .{ .param_str = "iiD*ii", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2582 .{ .param_str = "LiLiD*LiLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2691 .{ .param_str = "LiLiD*LiLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2583 .{ .param_str = "LLiLLiD*LLiLLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2692 .{ .param_str = "LLiLLiD*LLiLLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2584 .{ .param_str = "UsUsD*UsUs", .features = "sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2693 .{ .param_str = "UsUsD*UsUs", .features = "sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2585 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2694 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2586 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2695 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2587 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2696 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2588 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2697 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2589 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2698 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2590 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2699 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2591 .{ .param_str = "ULiULiD*ULi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2700 .{ .param_str = "ULiULiD*ULi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2592 .{ .param_str = "ULLiULLiD*ULLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2701 .{ .param_str = "ULLiULLiD*ULLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2593 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2702 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2594 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2703 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2595 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2704 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2596 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2705 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2597 .{ .param_str = "ULiULiD*ULi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2706 .{ .param_str = "ULiULiD*ULi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2598 .{ .param_str = "ULLiULLiD*ULLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2707 .{ .param_str = "ULLiULLiD*ULLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2599 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2708 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2600 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2709 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2601 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2710 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2602 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2711 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2603 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2712 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2604 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2713 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2605 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2714 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2606 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2715 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2607 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2716 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2608 .{ .param_str = "UiUiD*Ui" },2717 .{ .param_str = "UiUiD*Ui" },
2609 .{ .param_str = "UiUiD*Ui" },2718 .{ .param_str = "UiUiD*Ui" },
2610 .{ .param_str = "iiD*i" },2719 .{ .param_str = "iiD*i" },
...@@ -2625,41 +2734,41 @@ pub const data = blk: {...@@ -2625,41 +2734,41 @@ pub const data = blk: {
2625 .{ .param_str = "iiD*i" },2734 .{ .param_str = "iiD*i" },
2626 .{ .param_str = "LiLiD*Li" },2735 .{ .param_str = "LiLiD*Li" },
2627 .{ .param_str = "LLiLLiD*LLi" },2736 .{ .param_str = "LLiLLiD*LLi" },
2628 .{ .param_str = "ddD*d", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2737 .{ .param_str = "ddD*d", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2629 .{ .param_str = "ffD*f", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2738 .{ .param_str = "ffD*f", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2630 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2739 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2631 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2740 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2632 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2741 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2633 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2742 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2634 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2743 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2635 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2744 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2636 .{ .param_str = "iiD*ii", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2745 .{ .param_str = "iiD*ii", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2637 .{ .param_str = "LiLiD*LiLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2746 .{ .param_str = "LiLiD*LiLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2638 .{ .param_str = "LLiLLiD*LLiLLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2747 .{ .param_str = "LLiLLiD*LLiLLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2639 .{ .param_str = "UsUsD*UsUs", .features = "sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2748 .{ .param_str = "UsUsD*UsUs", .features = "sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2640 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2749 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2641 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2750 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2642 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2751 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2643 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2752 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2644 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2753 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2645 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2754 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2646 .{ .param_str = "ULiULiD*ULi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2755 .{ .param_str = "ULiULiD*ULi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2647 .{ .param_str = "ULLiULLiD*ULLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2756 .{ .param_str = "ULLiULLiD*ULLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2648 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2757 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2649 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2758 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2650 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2759 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2651 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2760 .{ .param_str = "UiUiD*Ui", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2652 .{ .param_str = "ULiULiD*ULi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2761 .{ .param_str = "ULiULiD*ULi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2653 .{ .param_str = "ULLiULLiD*ULLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2762 .{ .param_str = "ULLiULLiD*ULLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2654 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2763 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2655 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2764 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2656 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2765 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2657 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2766 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2658 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2767 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2659 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2768 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2660 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2769 .{ .param_str = "iiD*i", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2661 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2770 .{ .param_str = "LiLiD*Li", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2662 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a" },2771 .{ .param_str = "LLiLLiD*LLi", .features = "sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a" },
2663 .{ .param_str = "iiD*i" },2772 .{ .param_str = "iiD*i" },
2664 .{ .param_str = "LiLiD*Li" },2773 .{ .param_str = "LiLiD*Li" },
2665 .{ .param_str = "LLiLLiD*LLi" },2774 .{ .param_str = "LLiLLiD*LLi" },
...@@ -2670,16 +2779,16 @@ pub const data = blk: {...@@ -2670,16 +2779,16 @@ pub const data = blk: {
2670 .{ .param_str = "ii" },2779 .{ .param_str = "ii" },
2671 .{ .param_str = "ii" },2780 .{ .param_str = "ii" },
2672 .{ .param_str = "vi" },2781 .{ .param_str = "vi" },
2673 .{ .param_str = "vUi", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },2782 .{ .param_str = "vUi", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
2674 .{ .param_str = "v", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2783 .{ .param_str = "v", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2675 .{ .param_str = "v", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2784 .{ .param_str = "v", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2676 .{ .param_str = "v", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2785 .{ .param_str = "v", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2677 .{ .param_str = "vUi", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },2786 .{ .param_str = "vUi", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
2678 .{ .param_str = "vUiUi", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },2787 .{ .param_str = "vUiUi", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
2679 .{ .param_str = "sV2y", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2788 .{ .param_str = "sV2y", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2680 .{ .param_str = "sV2y", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2789 .{ .param_str = "sV2y", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2681 .{ .param_str = "sV2y", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2790 .{ .param_str = "sV2y", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2682 .{ .param_str = "sV2y", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2791 .{ .param_str = "sV2y", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2683 .{ .param_str = "dd" },2792 .{ .param_str = "dd" },
2684 .{ .param_str = "ff" },2793 .{ .param_str = "ff" },
2685 .{ .param_str = "ff" },2794 .{ .param_str = "ff" },
...@@ -2687,17 +2796,17 @@ pub const data = blk: {...@@ -2687,17 +2796,17 @@ pub const data = blk: {
2687 .{ .param_str = "vcC*4" },2796 .{ .param_str = "vcC*4" },
2688 .{ .param_str = "ff" },2797 .{ .param_str = "ff" },
2689 .{ .param_str = "ff" },2798 .{ .param_str = "ff" },
2690 .{ .param_str = "vv*3vC*1.", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2799 .{ .param_str = "vv*3vC*1.", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2691 .{ .param_str = "vv*3vC*1.", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2800 .{ .param_str = "vv*3vC*1.", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2692 .{ .param_str = "vv*3vC*1.", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2801 .{ .param_str = "vv*3vC*1.", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2693 .{ .param_str = "vv*3vC*1.", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2802 .{ .param_str = "vv*3vC*1.", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2694 .{ .param_str = "v", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2803 .{ .param_str = "v", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2695 .{ .param_str = "vWi*", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2804 .{ .param_str = "vWi*", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2696 .{ .param_str = "vWi*", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2805 .{ .param_str = "vWi*", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2697 .{ .param_str = "vWi*3", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2806 .{ .param_str = "vWi*3", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2698 .{ .param_str = "vWi*3", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2807 .{ .param_str = "vWi*3", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2699 .{ .param_str = "v", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2808 .{ .param_str = "v", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2700 .{ .param_str = "vIi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2809 .{ .param_str = "vIi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2701 .{ .param_str = "fd" },2810 .{ .param_str = "fd" },
2702 .{ .param_str = "fd" },2811 .{ .param_str = "fd" },
2703 .{ .param_str = "fd" },2812 .{ .param_str = "fd" },
...@@ -2738,30 +2847,42 @@ pub const data = blk: {...@@ -2738,30 +2847,42 @@ pub const data = blk: {
2738 .{ .param_str = "ddd" },2847 .{ .param_str = "ddd" },
2739 .{ .param_str = "fff" },2848 .{ .param_str = "fff" },
2740 .{ .param_str = "fff" },2849 .{ .param_str = "fff" },
2741 .{ .param_str = "V2hs", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2850 .{ .param_str = "V2hs", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2742 .{ .param_str = "V2hs", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2851 .{ .param_str = "V2hs", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2743 .{ .param_str = "V2hs", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2852 .{ .param_str = "V2hs", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2744 .{ .param_str = "V2hs", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2853 .{ .param_str = "V2hs", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2745 .{ .param_str = "V2hs", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2854 .{ .param_str = "V2hs", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2746 .{ .param_str = "V2hs", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2855 .{ .param_str = "V2hs", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2747 .{ .param_str = "V2hs", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2856 .{ .param_str = "V2hs", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2748 .{ .param_str = "V2hs", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2857 .{ .param_str = "V2hs", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2749 .{ .param_str = "V2hs", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2858 .{ .param_str = "V2hs", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2750 .{ .param_str = "V2hs", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2859 .{ .param_str = "V2hs", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2751 .{ .param_str = "dd" },2860 .{ .param_str = "dd" },
2752 .{ .param_str = "ff" },2861 .{ .param_str = "ff" },
2753 .{ .param_str = "hh", .features = "(sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2862 .{ .param_str = "hh", .features = "(sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2754 .{ .param_str = "V2hV2h", .features = "(sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2863 .{ .param_str = "V2hV2h", .features = "(sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2755 .{ .param_str = "ff" },2864 .{ .param_str = "ff" },
2756 .{ .param_str = "v" },2865 .{ .param_str = "v" },
2757 .{ .param_str = "sV2h", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2866 .{ .param_str = "sV2h", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2758 .{ .param_str = "sV2h", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2867 .{ .param_str = "sV2h", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2759 .{ .param_str = "sV2h", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2868 .{ .param_str = "sV2h", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2760 .{ .param_str = "sV2h", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2869 .{ .param_str = "sV2h", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2761 .{ .param_str = "yf", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2870 .{ .param_str = "yf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2762 .{ .param_str = "yf", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2871 .{ .param_str = "yf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2763 .{ .param_str = "yf", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2872 .{ .param_str = "yf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2764 .{ .param_str = "yf", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2873 .{ .param_str = "yf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2874 .{ .param_str = "yf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2875 .{ .param_str = "yf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2876 .{ .param_str = "yf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2877 .{ .param_str = "yf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2878 .{ .param_str = "hf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2879 .{ .param_str = "hf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2880 .{ .param_str = "hf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2881 .{ .param_str = "hf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2882 .{ .param_str = "hf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2883 .{ .param_str = "hf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2884 .{ .param_str = "hf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2885 .{ .param_str = "hf", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2765 .{ .param_str = "Usf" },2886 .{ .param_str = "Usf" },
2766 .{ .param_str = "Usf" },2887 .{ .param_str = "Usf" },
2767 .{ .param_str = "if" },2888 .{ .param_str = "if" },
...@@ -2780,16 +2901,16 @@ pub const data = blk: {...@@ -2780,16 +2901,16 @@ pub const data = blk: {
2780 .{ .param_str = "LLif" },2901 .{ .param_str = "LLif" },
2781 .{ .param_str = "LLif" },2902 .{ .param_str = "LLif" },
2782 .{ .param_str = "LLif" },2903 .{ .param_str = "LLif" },
2783 .{ .param_str = "Zif", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2904 .{ .param_str = "Zif", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2784 .{ .param_str = "Zif", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2905 .{ .param_str = "Zif", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2785 .{ .param_str = "Zif", .features = "(sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx86|ptx87)" },2906 .{ .param_str = "Zif", .features = "(sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx86|ptx87|ptx88|ptx90)" },
2786 .{ .param_str = "Zif", .features = "(sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx86|ptx87)" },2907 .{ .param_str = "Zif", .features = "(sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx86|ptx87|ptx88|ptx90)" },
2787 .{ .param_str = "Zif", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2908 .{ .param_str = "Zif", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2788 .{ .param_str = "Zif", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2909 .{ .param_str = "Zif", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2789 .{ .param_str = "Zif", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2910 .{ .param_str = "Zif", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2790 .{ .param_str = "Zif", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2911 .{ .param_str = "Zif", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2791 .{ .param_str = "Zif", .features = "(sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx86|ptx87)" },2912 .{ .param_str = "Zif", .features = "(sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx86|ptx87|ptx88|ptx90)" },
2792 .{ .param_str = "Zif", .features = "(sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx86|ptx87)" },2913 .{ .param_str = "Zif", .features = "(sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx86|ptx87|ptx88|ptx90)" },
2793 .{ .param_str = "Uif" },2914 .{ .param_str = "Uif" },
2794 .{ .param_str = "Uif" },2915 .{ .param_str = "Uif" },
2795 .{ .param_str = "Uif" },2916 .{ .param_str = "Uif" },
...@@ -2806,144 +2927,178 @@ pub const data = blk: {...@@ -2806,144 +2927,178 @@ pub const data = blk: {
2806 .{ .param_str = "ULLif" },2927 .{ .param_str = "ULLif" },
2807 .{ .param_str = "ULLif" },2928 .{ .param_str = "ULLif" },
2808 .{ .param_str = "ULLif" },2929 .{ .param_str = "ULLif" },
2930 .{ .param_str = "sV4fUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2931 .{ .param_str = "sV4fUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2932 .{ .param_str = "V4cV4fUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2933 .{ .param_str = "V4cV4fUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2934 .{ .param_str = "V4cV4fUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2935 .{ .param_str = "V4cV4fUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2936 .{ .param_str = "V4cV4fUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2937 .{ .param_str = "V4cV4fUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2938 .{ .param_str = "V4cV4fUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2939 .{ .param_str = "V4cV4fUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2809 .{ .param_str = "dd" },2940 .{ .param_str = "dd" },
2810 .{ .param_str = "ff" },2941 .{ .param_str = "ff" },
2811 .{ .param_str = "hh", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2942 .{ .param_str = "hh", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2812 .{ .param_str = "V2hV2h", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2943 .{ .param_str = "V2hV2h", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2813 .{ .param_str = "ff" },2944 .{ .param_str = "ff" },
2814 .{ .param_str = "hh", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2945 .{ .param_str = "hh", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2815 .{ .param_str = "V2hV2h", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2946 .{ .param_str = "V2hV2h", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2816 .{ .param_str = "v", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2947 .{ .param_str = "v", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2817 .{ .param_str = "V2yff", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2948 .{ .param_str = "V2yff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2818 .{ .param_str = "V2yff", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2949 .{ .param_str = "V2yff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2819 .{ .param_str = "V2yff", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2950 .{ .param_str = "V2yff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2820 .{ .param_str = "V2yff", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2951 .{ .param_str = "V2yff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2821 .{ .param_str = "V2hff", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2952 .{ .param_str = "V2yffUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2822 .{ .param_str = "V2hff", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2953 .{ .param_str = "V2yffUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2823 .{ .param_str = "V2hff", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2954 .{ .param_str = "V2yffUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2824 .{ .param_str = "V2hff", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2955 .{ .param_str = "V2yffUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2825 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2956 .{ .param_str = "V2yff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2826 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2957 .{ .param_str = "V2yff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2827 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2958 .{ .param_str = "V2yff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2828 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2959 .{ .param_str = "V2yff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2829 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2960 .{ .param_str = "V2hff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2830 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2961 .{ .param_str = "V2hff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2831 .{ .param_str = "sff", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2962 .{ .param_str = "V2hff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2832 .{ .param_str = "sff", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2963 .{ .param_str = "V2hff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2833 .{ .param_str = "sff", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2964 .{ .param_str = "V2hffUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2834 .{ .param_str = "sff", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2965 .{ .param_str = "V2hffUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2835 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2966 .{ .param_str = "V2hffUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2836 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2967 .{ .param_str = "V2hffUZi", .features = "(sm_100a|sm_103a),(ptx87|ptx88|ptx90)" },
2837 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2968 .{ .param_str = "V2hff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2838 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },2969 .{ .param_str = "V2hff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2970 .{ .param_str = "V2hff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2971 .{ .param_str = "V2hff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2972 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2973 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2974 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2975 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2976 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2977 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2978 .{ .param_str = "sff", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2979 .{ .param_str = "sff", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2980 .{ .param_str = "sff", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2981 .{ .param_str = "sff", .features = "(sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2982 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2983 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2984 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2985 .{ .param_str = "sff", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
2839 .{ .param_str = "dd" },2986 .{ .param_str = "dd" },
2840 .{ .param_str = "ff" },2987 .{ .param_str = "ff" },
2841 .{ .param_str = "ff" },2988 .{ .param_str = "ff" },
2842 .{ .param_str = "dddd" },2989 .{ .param_str = "dddd" },
2843 .{ .param_str = "ffff" },2990 .{ .param_str = "ffff" },
2844 .{ .param_str = "ffff" },2991 .{ .param_str = "ffff" },
2845 .{ .param_str = "yyyy", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2992 .{ .param_str = "ffff" },
2846 .{ .param_str = "V2yV2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2993 .{ .param_str = "ffff" },
2994 .{ .param_str = "yyyy", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2995 .{ .param_str = "V2yV2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2847 .{ .param_str = "dddd" },2996 .{ .param_str = "dddd" },
2848 .{ .param_str = "ffff" },2997 .{ .param_str = "ffff" },
2849 .{ .param_str = "hhhh", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2998 .{ .param_str = "hhhh", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2850 .{ .param_str = "V2hV2hV2hV2h", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },2999 .{ .param_str = "V2hV2hV2hV2h", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3000 .{ .param_str = "ffff" },
3001 .{ .param_str = "hhhh", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3002 .{ .param_str = "V2hV2hV2hV2h", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3003 .{ .param_str = "hhhh", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3004 .{ .param_str = "V2hV2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2851 .{ .param_str = "ffff" },3005 .{ .param_str = "ffff" },
2852 .{ .param_str = "hhhh", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3006 .{ .param_str = "hhhh", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2853 .{ .param_str = "V2hV2hV2hV2h", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3007 .{ .param_str = "V2hV2hV2hV2h", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2854 .{ .param_str = "hhhh", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3008 .{ .param_str = "yyyy", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2855 .{ .param_str = "V2hV2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3009 .{ .param_str = "V2yV2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2856 .{ .param_str = "hhhh", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3010 .{ .param_str = "hhhh", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2857 .{ .param_str = "V2hV2hV2hV2h", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3011 .{ .param_str = "V2hV2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2858 .{ .param_str = "yyyy", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3012 .{ .param_str = "ffff" },
2859 .{ .param_str = "V2yV2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3013 .{ .param_str = "hhhh", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2860 .{ .param_str = "hhhh", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3014 .{ .param_str = "V2hV2hV2hV2h", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2861 .{ .param_str = "V2hV2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },
2862 .{ .param_str = "hhhh", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },
2863 .{ .param_str = "V2hV2hV2hV2h", .features = "(sm_53|sm_60|sm_61|sm_62|sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx42|ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },
2864 .{ .param_str = "dddd" },3015 .{ .param_str = "dddd" },
2865 .{ .param_str = "ffff" },3016 .{ .param_str = "ffff" },
2866 .{ .param_str = "ffff" },3017 .{ .param_str = "ffff" },
3018 .{ .param_str = "ffff" },
3019 .{ .param_str = "ffff" },
2867 .{ .param_str = "dddd" },3020 .{ .param_str = "dddd" },
2868 .{ .param_str = "ffff" },3021 .{ .param_str = "ffff" },
2869 .{ .param_str = "ffff" },3022 .{ .param_str = "ffff" },
2870 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3023 .{ .param_str = "ffff" },
2871 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3024 .{ .param_str = "ffff" },
3025 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3026 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2872 .{ .param_str = "ddd" },3027 .{ .param_str = "ddd" },
2873 .{ .param_str = "fff" },3028 .{ .param_str = "fff" },
2874 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3029 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2875 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3030 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2876 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3031 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2877 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3032 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2878 .{ .param_str = "fff" },3033 .{ .param_str = "fff" },
2879 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3034 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2880 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3035 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2881 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3036 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2882 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3037 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2883 .{ .param_str = "fff", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3038 .{ .param_str = "fff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2884 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3039 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2885 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3040 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2886 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3041 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2887 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3042 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2888 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3043 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2889 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3044 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2890 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3045 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2891 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3046 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2892 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3047 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2893 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3048 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2894 .{ .param_str = "fff", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3049 .{ .param_str = "fff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2895 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3050 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2896 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3051 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2897 .{ .param_str = "yyy", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3052 .{ .param_str = "yyy", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2898 .{ .param_str = "V2yV2yV2y", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3053 .{ .param_str = "V2yV2yV2y", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2899 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3054 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2900 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3055 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2901 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3056 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2902 .{ .param_str = "yyy", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3057 .{ .param_str = "yyy", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2903 .{ .param_str = "V2yV2yV2y", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3058 .{ .param_str = "V2yV2yV2y", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2904 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3059 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2905 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3060 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2906 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3061 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2907 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3062 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2908 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3063 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2909 .{ .param_str = "ddd" },3064 .{ .param_str = "ddd" },
2910 .{ .param_str = "fff" },3065 .{ .param_str = "fff" },
2911 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3066 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2912 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3067 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2913 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3068 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2914 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3069 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2915 .{ .param_str = "fff" },3070 .{ .param_str = "fff" },
2916 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3071 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2917 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3072 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2918 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3073 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2919 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3074 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2920 .{ .param_str = "fff", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3075 .{ .param_str = "fff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2921 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3076 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2922 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3077 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2923 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3078 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2924 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3079 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2925 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3080 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2926 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3081 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2927 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3082 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2928 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3083 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2929 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3084 .{ .param_str = "yyy", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2930 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3085 .{ .param_str = "V2yV2yV2y", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2931 .{ .param_str = "fff", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3086 .{ .param_str = "fff", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2932 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3087 .{ .param_str = "hhh", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2933 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3088 .{ .param_str = "V2hV2hV2h", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2934 .{ .param_str = "yyy", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3089 .{ .param_str = "yyy", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2935 .{ .param_str = "V2yV2yV2y", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3090 .{ .param_str = "V2yV2yV2y", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2936 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3091 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2937 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3092 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2938 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3093 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2939 .{ .param_str = "yyy", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3094 .{ .param_str = "yyy", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2940 .{ .param_str = "V2yV2yV2y", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3095 .{ .param_str = "V2yV2yV2y", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2941 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3096 .{ .param_str = "fff", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2942 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3097 .{ .param_str = "hhh", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2943 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3098 .{ .param_str = "V2hV2hV2h", .features = "(sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2944 .{ .param_str = "UiUiUii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },3099 .{ .param_str = "UiUiUii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
2945 .{ .param_str = "iv*", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3100 .{ .param_str = "iv*", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2946 .{ .param_str = "iv*3", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3101 .{ .param_str = "iv*3", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
2947 .{ .param_str = "di" },3102 .{ .param_str = "di" },
2948 .{ .param_str = "di" },3103 .{ .param_str = "di" },
2949 .{ .param_str = "di" },3104 .{ .param_str = "di" },
...@@ -2952,12 +3107,12 @@ pub const data = blk: {...@@ -2952,12 +3107,12 @@ pub const data = blk: {
2952 .{ .param_str = "fi" },3107 .{ .param_str = "fi" },
2953 .{ .param_str = "fi" },3108 .{ .param_str = "fi" },
2954 .{ .param_str = "fi" },3109 .{ .param_str = "fi" },
2955 .{ .param_str = "b", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3110 .{ .param_str = "b", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
2956 .{ .param_str = "bvC*", .attributes = .{ .@"const" = true } },3111 .{ .param_str = "bvC*", .attributes = .{ .@"const" = true } },
2957 .{ .param_str = "bvC*", .attributes = .{ .@"const" = true } },3112 .{ .param_str = "bvC*", .attributes = .{ .@"const" = true } },
2958 .{ .param_str = "bvC*", .attributes = .{ .@"const" = true } },3113 .{ .param_str = "bvC*", .attributes = .{ .@"const" = true } },
2959 .{ .param_str = "bvC*", .attributes = .{ .@"const" = true } },3114 .{ .param_str = "bvC*", .attributes = .{ .@"const" = true } },
2960 .{ .param_str = "bvC*", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3115 .{ .param_str = "bvC*", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
2961 .{ .param_str = "ccC*" },3116 .{ .param_str = "ccC*" },
2962 .{ .param_str = "E2cE2cC*" },3117 .{ .param_str = "E2cE2cC*" },
2963 .{ .param_str = "E4cE4cC*" },3118 .{ .param_str = "E4cE4cC*" },
...@@ -3042,27 +3197,27 @@ pub const data = blk: {...@@ -3042,27 +3197,27 @@ pub const data = blk: {
3042 .{ .param_str = "fLLi" },3197 .{ .param_str = "fLLi" },
3043 .{ .param_str = "fLLi" },3198 .{ .param_str = "fLLi" },
3044 .{ .param_str = "dii" },3199 .{ .param_str = "dii" },
3045 .{ .param_str = "v*v*i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3200 .{ .param_str = "v*v*i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3046 .{ .param_str = "v*3v*3i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3201 .{ .param_str = "v*3v*3i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3047 .{ .param_str = "UiUiUii*", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3202 .{ .param_str = "UiUiUii*", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3048 .{ .param_str = "UiUiWii*", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3203 .{ .param_str = "UiUiWii*", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3049 .{ .param_str = "UiUiUi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3204 .{ .param_str = "UiUiUi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3050 .{ .param_str = "UiUiWi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3205 .{ .param_str = "UiUiWi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3051 .{ .param_str = "WiWi*", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3206 .{ .param_str = "WiWi*", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3052 .{ .param_str = "WiWi*", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3207 .{ .param_str = "WiWi*", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3053 .{ .param_str = "WiWi*i", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3208 .{ .param_str = "WiWi*i", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3054 .{ .param_str = "WiWi*3i", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3209 .{ .param_str = "WiWi*3i", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3055 .{ .param_str = "WiWi*3", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3210 .{ .param_str = "WiWi*3", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3056 .{ .param_str = "WiWi*i", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3211 .{ .param_str = "WiWi*i", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3057 .{ .param_str = "WiWi*3i", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3212 .{ .param_str = "WiWi*3i", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3058 .{ .param_str = "WiWi*3", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3213 .{ .param_str = "WiWi*3", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3059 .{ .param_str = "vWi*i", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3214 .{ .param_str = "vWi*i", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3060 .{ .param_str = "vWi*3i", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3215 .{ .param_str = "vWi*3i", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3061 .{ .param_str = "vWi*", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3216 .{ .param_str = "vWi*", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3062 .{ .param_str = "vWi*3", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3217 .{ .param_str = "vWi*3", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3063 .{ .param_str = "iWi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3218 .{ .param_str = "iWi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3064 .{ .param_str = "bWi*Wi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3219 .{ .param_str = "bWi*Wi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3065 .{ .param_str = "bWi*3Wi", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3220 .{ .param_str = "bWi*3Wi", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3066 .{ .param_str = "v" },3221 .{ .param_str = "v" },
3067 .{ .param_str = "v" },3222 .{ .param_str = "v" },
3068 .{ .param_str = "v" },3223 .{ .param_str = "v" },
...@@ -3086,9 +3241,9 @@ pub const data = blk: {...@@ -3086,9 +3241,9 @@ pub const data = blk: {
3086 .{ .param_str = "LLiLLiLLi" },3241 .{ .param_str = "LLiLLiLLi" },
3087 .{ .param_str = "UiUiUi" },3242 .{ .param_str = "UiUiUi" },
3088 .{ .param_str = "ULLiULLiULLi" },3243 .{ .param_str = "ULLiULLiULLi" },
3089 .{ .param_str = "vUi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3244 .{ .param_str = "vUi", .features = "(sm_70|sm_72|sm_75|sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3090 .{ .param_str = "yy", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3245 .{ .param_str = "yy", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3091 .{ .param_str = "V2yV2y", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3246 .{ .param_str = "V2yV2y", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3092 .{ .param_str = "vIUs" },3247 .{ .param_str = "vIUs" },
3093 .{ .param_str = "UiUiUiUi" },3248 .{ .param_str = "UiUiUiUi" },
3094 .{ .param_str = "dd" },3249 .{ .param_str = "dd" },
...@@ -3107,20 +3262,20 @@ pub const data = blk: {...@@ -3107,20 +3262,20 @@ pub const data = blk: {
3107 .{ .param_str = "ff" },3262 .{ .param_str = "ff" },
3108 .{ .param_str = "i" },3263 .{ .param_str = "i" },
3109 .{ .param_str = "LLi" },3264 .{ .param_str = "LLi" },
3110 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3265 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3111 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3266 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3112 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3267 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3113 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3268 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3114 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3269 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3115 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3270 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3116 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3271 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3117 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3272 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3118 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3273 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3119 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3274 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3120 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3275 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3121 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3276 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3122 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3277 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3123 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3278 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3124 .{ .param_str = "i", .attributes = .{ .@"const" = true } },3279 .{ .param_str = "i", .attributes = .{ .@"const" = true } },
3125 .{ .param_str = "i", .attributes = .{ .@"const" = true } },3280 .{ .param_str = "i", .attributes = .{ .@"const" = true } },
3126 .{ .param_str = "i", .attributes = .{ .@"const" = true } },3281 .{ .param_str = "i", .attributes = .{ .@"const" = true } },
...@@ -3133,10 +3288,10 @@ pub const data = blk: {...@@ -3133,10 +3288,10 @@ pub const data = blk: {
3133 .{ .param_str = "i", .attributes = .{ .@"const" = true } },3288 .{ .param_str = "i", .attributes = .{ .@"const" = true } },
3134 .{ .param_str = "i", .attributes = .{ .@"const" = true } },3289 .{ .param_str = "i", .attributes = .{ .@"const" = true } },
3135 .{ .param_str = "i", .attributes = .{ .@"const" = true } },3290 .{ .param_str = "i", .attributes = .{ .@"const" = true } },
3136 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3291 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3137 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3292 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3138 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3293 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3139 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)", .attributes = .{ .@"const" = true } },3294 .{ .param_str = "i", .features = "(sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)", .attributes = .{ .@"const" = true } },
3140 .{ .param_str = "i", .attributes = .{ .@"const" = true } },3295 .{ .param_str = "i", .attributes = .{ .@"const" = true } },
3141 .{ .param_str = "i", .attributes = .{ .@"const" = true } },3296 .{ .param_str = "i", .attributes = .{ .@"const" = true } },
3142 .{ .param_str = "i", .attributes = .{ .@"const" = true } },3297 .{ .param_str = "i", .attributes = .{ .@"const" = true } },
...@@ -3158,22 +3313,22 @@ pub const data = blk: {...@@ -3158,22 +3313,22 @@ pub const data = blk: {
3158 .{ .param_str = "i", .attributes = .{ .@"const" = true } },3313 .{ .param_str = "i", .attributes = .{ .@"const" = true } },
3159 .{ .param_str = "i", .attributes = .{ .@"const" = true } },3314 .{ .param_str = "i", .attributes = .{ .@"const" = true } },
3160 .{ .param_str = "i", .attributes = .{ .@"const" = true } },3315 .{ .param_str = "i", .attributes = .{ .@"const" = true } },
3161 .{ .param_str = "iii", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3316 .{ .param_str = "iii", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3162 .{ .param_str = "iii", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3317 .{ .param_str = "iii", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3163 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87)" },3318 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87|ptx88|ptx90)" },
3164 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87)" },3319 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87|ptx88|ptx90)" },
3165 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87)" },3320 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87|ptx88|ptx90)" },
3166 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87)" },3321 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87|ptx88|ptx90)" },
3167 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87)" },3322 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87|ptx88|ptx90)" },
3168 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87)" },3323 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87|ptx88|ptx90)" },
3169 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87)" },3324 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87|ptx88|ptx90)" },
3170 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87)" },3325 .{ .param_str = "ffi", .features = "(sm_100a),(ptx86|ptx87|ptx88|ptx90)" },
3171 .{ .param_str = "iii", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3326 .{ .param_str = "iii", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3172 .{ .param_str = "iii", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3327 .{ .param_str = "iii", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3173 .{ .param_str = "iii", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3328 .{ .param_str = "iii", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3174 .{ .param_str = "UiUii", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3329 .{ .param_str = "UiUii", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3175 .{ .param_str = "UiUii", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3330 .{ .param_str = "UiUii", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3176 .{ .param_str = "iii", .features = "(sm_80|sm_86|sm_87|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_120|sm_120a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87)" },3331 .{ .param_str = "iii", .features = "(sm_80|sm_86|sm_87|sm_88|sm_89|sm_90|sm_90a|sm_100|sm_100a|sm_101|sm_101a|sm_103|sm_103a|sm_110|sm_110a|sm_120|sm_120a|sm_121|sm_121a),(ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90)" },
3177 .{ .param_str = "UicC*" },3332 .{ .param_str = "UicC*" },
3178 .{ .param_str = "dd" },3333 .{ .param_str = "dd" },
3179 .{ .param_str = "ff" },3334 .{ .param_str = "ff" },
...@@ -3192,14 +3347,14 @@ pub const data = blk: {...@@ -3192,14 +3347,14 @@ pub const data = blk: {
3192 .{ .param_str = "iiii" },3347 .{ .param_str = "iiii" },
3193 .{ .param_str = "ffii" },3348 .{ .param_str = "ffii" },
3194 .{ .param_str = "iiii" },3349 .{ .param_str = "iiii" },
3195 .{ .param_str = "fUifii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },3350 .{ .param_str = "fUifii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
3196 .{ .param_str = "iUiiii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },3351 .{ .param_str = "iUiiii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
3197 .{ .param_str = "fUifii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },3352 .{ .param_str = "fUifii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
3198 .{ .param_str = "iUiiii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },3353 .{ .param_str = "iUiiii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
3199 .{ .param_str = "fUifii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },3354 .{ .param_str = "fUifii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
3200 .{ .param_str = "iUiiii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },3355 .{ .param_str = "iUiiii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
3201 .{ .param_str = "fUifii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },3356 .{ .param_str = "fUifii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
3202 .{ .param_str = "iUiiii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },3357 .{ .param_str = "iUiiii", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
3203 .{ .param_str = "ffii" },3358 .{ .param_str = "ffii" },
3204 .{ .param_str = "iiii" },3359 .{ .param_str = "iiii" },
3205 .{ .param_str = "ff" },3360 .{ .param_str = "ff" },
...@@ -3221,7 +3376,7 @@ pub const data = blk: {...@@ -3221,7 +3376,7 @@ pub const data = blk: {
3221 .{ .param_str = "dd" },3376 .{ .param_str = "dd" },
3222 .{ .param_str = "ff" },3377 .{ .param_str = "ff" },
3223 .{ .param_str = "ff" },3378 .{ .param_str = "ff" },
3224 .{ .param_str = "V2ys", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87)" },3379 .{ .param_str = "V2ys", .features = "(sm_100a|sm_101a|sm_120a),(ptx86|ptx87|ptx88|ptx90)" },
3225 .{ .param_str = "dUi" },3380 .{ .param_str = "dUi" },
3226 .{ .param_str = "dUi" },3381 .{ .param_str = "dUi" },
3227 .{ .param_str = "dUi" },3382 .{ .param_str = "dUi" },
...@@ -3239,13 +3394,13 @@ pub const data = blk: {...@@ -3239,13 +3394,13 @@ pub const data = blk: {
3239 .{ .param_str = "fULLi" },3394 .{ .param_str = "fULLi" },
3240 .{ .param_str = "fULLi" },3395 .{ .param_str = "fULLi" },
3241 .{ .param_str = "bb" },3396 .{ .param_str = "bb" },
3242 .{ .param_str = "bUib", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },3397 .{ .param_str = "bUib", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
3243 .{ .param_str = "bb" },3398 .{ .param_str = "bb" },
3244 .{ .param_str = "bUib", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },3399 .{ .param_str = "bUib", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
3245 .{ .param_str = "Uib" },3400 .{ .param_str = "Uib" },
3246 .{ .param_str = "UiUib", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },3401 .{ .param_str = "UiUib", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
3247 .{ .param_str = "bb" },3402 .{ .param_str = "bb" },
3248 .{ .param_str = "bUib", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87" },3403 .{ .param_str = "bUib", .features = "ptx60|ptx61|ptx62|ptx63|ptx64|ptx65|ptx70|ptx71|ptx72|ptx73|ptx74|ptx75|ptx76|ptx77|ptx78|ptx80|ptx81|ptx82|ptx83|ptx84|ptx85|ptx86|ptx87|ptx88|ptx90" },
3249 .{ .param_str = "v" },3404 .{ .param_str = "v" },
3250 };3405 };
3251};3406};
lib/compiler/aro/aro/Builtins/powerpc.zig+972-1150
...@@ -234,6 +234,10 @@ pub const Tag = enum(u16) { __builtin_addf128_round_to_odd,...@@ -234,6 +234,10 @@ pub const Tag = enum(u16) { __builtin_addf128_round_to_odd,
234 __builtin_altivec_vupklsb,234 __builtin_altivec_vupklsb,
235 __builtin_altivec_vupklsh,235 __builtin_altivec_vupklsh,
236 __builtin_altivec_vupklsw,236 __builtin_altivec_vupklsw,
237 __builtin_amo_ldat,
238 __builtin_amo_ldat_s,
239 __builtin_amo_lwat,
240 __builtin_amo_lwat_s,
237 __builtin_bpermd,241 __builtin_bpermd,
238 __builtin_cbcdtd,242 __builtin_cbcdtd,
239 __builtin_cdtbcd,243 __builtin_cdtbcd,
...@@ -254,48 +258,6 @@ pub const Tag = enum(u16) { __builtin_addf128_round_to_odd,...@@ -254,48 +258,6 @@ pub const Tag = enum(u16) { __builtin_addf128_round_to_odd,
254 __builtin_get_texasru,258 __builtin_get_texasru,
255 __builtin_get_tfhar,259 __builtin_get_tfhar,
256 __builtin_get_tfiar,260 __builtin_get_tfiar,
257 __builtin_mma_assemble_acc,
258 __builtin_mma_assemble_pair,
259 __builtin_mma_build_acc,
260 __builtin_mma_disassemble_acc,
261 __builtin_mma_disassemble_pair,
262 __builtin_mma_dmxvi8gerx4,
263 __builtin_mma_dmxvi8gerx4pp,
264 __builtin_mma_dmxvi8gerx4spp,
265 __builtin_mma_lxvp,
266 __builtin_mma_pmdmxvi8gerx4,
267 __builtin_mma_pmdmxvi8gerx4pp,
268 __builtin_mma_pmdmxvi8gerx4spp,
269 __builtin_mma_pmxvbf16ger2,
270 __builtin_mma_pmxvf16ger2,
271 __builtin_mma_pmxvf32ger,
272 __builtin_mma_pmxvf64ger,
273 __builtin_mma_pmxvi16ger2,
274 __builtin_mma_pmxvi16ger2pp,
275 __builtin_mma_pmxvi16ger2s,
276 __builtin_mma_pmxvi16ger2spp,
277 __builtin_mma_pmxvi4ger8,
278 __builtin_mma_pmxvi4ger8pp,
279 __builtin_mma_pmxvi8ger4,
280 __builtin_mma_pmxvi8ger4pp,
281 __builtin_mma_pmxvi8ger4spp,
282 __builtin_mma_stxvp,
283 __builtin_mma_xvbf16ger2,
284 __builtin_mma_xvf16ger2,
285 __builtin_mma_xvf32ger,
286 __builtin_mma_xvf64ger,
287 __builtin_mma_xvi16ger2,
288 __builtin_mma_xvi16ger2pp,
289 __builtin_mma_xvi16ger2s,
290 __builtin_mma_xvi16ger2spp,
291 __builtin_mma_xvi4ger8,
292 __builtin_mma_xvi4ger8pp,
293 __builtin_mma_xvi8ger4,
294 __builtin_mma_xvi8ger4pp,
295 __builtin_mma_xvi8ger4spp,
296 __builtin_mma_xxmfacc,
297 __builtin_mma_xxmtacc,
298 __builtin_mma_xxsetaccz,
299 __builtin_mulf128_round_to_odd,261 __builtin_mulf128_round_to_odd,
300 __builtin_pack_longdouble,262 __builtin_pack_longdouble,
301 __builtin_pack_vector_int128,263 __builtin_pack_vector_int128,
...@@ -304,6 +266,8 @@ pub const Tag = enum(u16) { __builtin_addf128_round_to_odd,...@@ -304,6 +266,8 @@ pub const Tag = enum(u16) { __builtin_addf128_round_to_odd,
304 __builtin_ppc_addex,266 __builtin_ppc_addex,
305 __builtin_ppc_addg6s,267 __builtin_ppc_addg6s,
306 __builtin_ppc_alignx,268 __builtin_ppc_alignx,
269 __builtin_ppc_bcdcopysign,
270 __builtin_ppc_bcdsetsign,
307 __builtin_ppc_cbcdtd,271 __builtin_ppc_cbcdtd,
308 __builtin_ppc_cdtbcd,272 __builtin_ppc_cdtbcd,
309 __builtin_ppc_cmpb,273 __builtin_ppc_cmpb,
...@@ -468,9 +432,6 @@ pub const Tag = enum(u16) { __builtin_addf128_round_to_odd,...@@ -468,9 +432,6 @@ pub const Tag = enum(u16) { __builtin_addf128_round_to_odd,
468 __builtin_ttest,432 __builtin_ttest,
469 __builtin_unpack_longdouble,433 __builtin_unpack_longdouble,
470 __builtin_unpack_vector_int128,434 __builtin_unpack_vector_int128,
471 __builtin_vsx_assemble_pair,
472 __builtin_vsx_build_pair,
473 __builtin_vsx_disassemble_pair,
474 __builtin_vsx_extractuword,435 __builtin_vsx_extractuword,
475 __builtin_vsx_insertword,436 __builtin_vsx_insertword,
476 __builtin_vsx_ldrmb,437 __builtin_vsx_ldrmb,
...@@ -478,7 +439,6 @@ pub const Tag = enum(u16) { __builtin_addf128_round_to_odd,...@@ -478,7 +439,6 @@ pub const Tag = enum(u16) { __builtin_addf128_round_to_odd,
478 __builtin_vsx_lxvd2x_be,439 __builtin_vsx_lxvd2x_be,
479 __builtin_vsx_lxvl,440 __builtin_vsx_lxvl,
480 __builtin_vsx_lxvll,441 __builtin_vsx_lxvll,
481 __builtin_vsx_lxvp,
482 __builtin_vsx_lxvw4x,442 __builtin_vsx_lxvw4x,
483 __builtin_vsx_lxvw4x_be,443 __builtin_vsx_lxvw4x_be,
484 __builtin_vsx_scalar_extract_expq,444 __builtin_vsx_scalar_extract_expq,
...@@ -488,7 +448,6 @@ pub const Tag = enum(u16) { __builtin_addf128_round_to_odd,...@@ -488,7 +448,6 @@ pub const Tag = enum(u16) { __builtin_addf128_round_to_odd,
488 __builtin_vsx_stxvd2x_be,448 __builtin_vsx_stxvd2x_be,
489 __builtin_vsx_stxvl,449 __builtin_vsx_stxvl,
490 __builtin_vsx_stxvll,450 __builtin_vsx_stxvll,
491 __builtin_vsx_stxvp,
492 __builtin_vsx_stxvw4x,451 __builtin_vsx_stxvw4x,
493 __builtin_vsx_stxvw4x_be,452 __builtin_vsx_stxvw4x_be,
494 __builtin_vsx_xsmaxdp,453 __builtin_vsx_xsmaxdp,
...@@ -631,7 +590,7 @@ pub const longest_name = 34;...@@ -631,7 +590,7 @@ pub const longest_name = 34;
631/// If found, returns the index of the node within the `dafsa` array.590/// If found, returns the index of the node within the `dafsa` array.
632/// Otherwise, returns `null`.591/// Otherwise, returns `null`.
633pub fn findInList(first_child_index: u16, char: u8) ?u16 {592pub fn findInList(first_child_index: u16, char: u8) ?u16 {
634 @setEvalBranchQuota(1134);593 @setEvalBranchQuota(1052);
635 var index = first_child_index;594 var index = first_child_index;
636 while (true) {595 while (true) {
637 if (dafsa[index].char == char) return index;596 if (dafsa[index].char == char) return index;
...@@ -726,47 +685,47 @@ const Node = packed struct {...@@ -726,47 +685,47 @@ const Node = packed struct {
726685
727const dafsa = [_]Node{686const dafsa = [_]Node{
728 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },687 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },
729 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 567, .child_index = 2 },688 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 526, .child_index = 2 },
730 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 567, .child_index = 3 },689 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 526, .child_index = 3 },
731 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 567, .child_index = 4 },690 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 526, .child_index = 4 },
732 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 567, .child_index = 5 },691 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 526, .child_index = 5 },
733 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 567, .child_index = 6 },692 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 526, .child_index = 6 },
734 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 567, .child_index = 7 },693 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 526, .child_index = 7 },
735 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 567, .child_index = 8 },694 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 526, .child_index = 8 },
736 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 567, .child_index = 9 },695 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 526, .child_index = 9 },
737 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 567, .child_index = 10 },696 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 526, .child_index = 10 },
738 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 567, .child_index = 11 },697 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 526, .child_index = 11 },
739 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 226, .child_index = 24 },698 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 230, .child_index = 24 },
740 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 26 },699 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 27 },
741 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 27 },700 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 28 },
742 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 31 },701 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 32 },
743 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 34 },702 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 35 },
744 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 35 },703 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 36 },
745 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 43, .child_index = 36 },704 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 37 },
746 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 144, .child_index = 38 },705 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 146, .child_index = 38 },
747 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 42 },706 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 42 },
748 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 43 },707 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 43 },
749 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 46 },708 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 46 },
750 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 53 },709 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 53 },
751 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 107, .child_index = 54 },710 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 102, .child_index = 54 },
752 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 55 },711 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 55 },
753 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 224, .child_index = 56 },712 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 224, .child_index = 56 },
754 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 57 },713 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 57 },
755 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 58 },714 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 58 },
756 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 59 },715 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 59 },
757 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 60 },716 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 60 },
758 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 61 },717 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 61 },
759 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 62 },718 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 62 },
760 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 63 },719 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 63 },
761 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 64 },720 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 64 },
762 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 65 },721 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 65 },
763 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 66 },722 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 66 },
764 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 42, .child_index = 67 },723 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 67 },
765 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 68 },724 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 68 },
766 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 69 },725 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 69 },
767 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 70 },726 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 70 },
768 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 71 },727 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 71 },
769 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 140, .child_index = 72 },728 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 142, .child_index = 72 },
770 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 73 },729 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 73 },
771 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 74 },730 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 74 },
772 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 75 },731 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 75 },
...@@ -779,29 +738,29 @@ const dafsa = [_]Node{...@@ -779,29 +738,29 @@ const dafsa = [_]Node{
779 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 83 },738 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 83 },
780 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 85 },739 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 85 },
781 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 86 },740 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 86 },
782 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 107, .child_index = 87 },741 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 102, .child_index = 87 },
783 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 88 },742 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 88 },
784 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 224, .child_index = 90 },743 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 224, .child_index = 90 },
785 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },744 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 91 },
786 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 92 },745 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 92 },
787 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 93 },746 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 93 },
788 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 94 },747 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 94 },
789 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 95 },748 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 95 },
790 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 97 },749 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 96 },
791 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 98 },750 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 98 },
792 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 99 },751 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 99 },
793 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 102 },752 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 100 },
794 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 103 },753 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 103 },
795 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 42, .child_index = 104 },754 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 104 },
796 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 102 },755 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 103 },
797 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 105 },756 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 105 },
798 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 106 },757 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 106 },
799 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 107 },758 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 107 },
800 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 140, .child_index = 108 },759 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 142, .child_index = 108 },
801 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 109 },760 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 109 },
802 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 110 },761 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 110 },
803 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 113 },762 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 113 },
804 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 102 },763 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 103 },
805 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 114 },764 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 114 },
806 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 115 },765 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 115 },
807 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 116 },766 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 116 },
...@@ -812,1111 +771,1015 @@ const dafsa = [_]Node{...@@ -812,1111 +771,1015 @@ const dafsa = [_]Node{
812 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 121 },771 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 121 },
813 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 122 },772 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 122 },
814 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 123 },773 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 123 },
815 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 107, .child_index = 124 },774 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 102, .child_index = 124 },
816 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 125 },775 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 125 },
817 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 126 },776 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 126 },
818 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 224, .child_index = 127 },777 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 224, .child_index = 127 },
819 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 128 },778 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 128 },
779 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 129 },
820 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 107 },780 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 107 },
821 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 129 },781 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 130 },
822 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 130 },782 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 131 },
823 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 131 },783 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 132 },
824 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 131 },784 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 132 },
825 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 132 },785 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 133 },
826 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },786 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
827 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 133 },787 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 134 },
828 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 125 },788 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 125 },
829 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 133 },789 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 134 },
830 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 125 },790 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 125 },
831 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 134 },791 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 135 },
832 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 42, .child_index = 135 },792 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 136 },
833 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 142 },793 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 137 },
834 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 143 },794 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 137 },
835 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 143 },795 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 142, .child_index = 138 },
836 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 140, .child_index = 144 },796 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 154 },
837 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 159 },797 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 135 },
838 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 134 },798 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 155 },
839 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 160 },799 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 156 },
840 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 161 },800 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 103 },
841 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 102 },801 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 157 },
842 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 162 },802 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 158 },
843 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },803 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 159 },
844 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 164 },804 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 160 },
845 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 165 },805 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 161 },
846 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 166 },806 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },
847 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 168 },807 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 164 },
848 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 169 },808 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 165 },
849 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 170 },809 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 166 },
850 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 171 },
851 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 69 },810 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 69 },
852 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 107, .child_index = 172 },811 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 102, .child_index = 167 },
853 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 180 },812 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 172 },
854 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },813 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 173 },
855 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 224, .child_index = 182 },814 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 224, .child_index = 174 },
856 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 143 },815 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 175 },
857 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 143 },816 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 137 },
858 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 143 },817 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 137 },
859 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 183 },818 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 137 },
860 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 184 },819 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 177 },
861 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 186 },820 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 178 },
862 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 187 },821 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 180 },
863 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 189 },822 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 181 },
864 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 190 },823 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 183 },
865 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 191 },
866 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 193 },
867 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 194 },
868 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 195 },
869 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 196 },
870 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 198 },
871 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },824 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
872 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 200 },825 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 185 },
873 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 202 },826 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 187 },
874 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 206 },827 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 188 },
875 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 207 },828 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 192 },
876 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 42, .child_index = 209 },829 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 193 },
877 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 215 },830 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 42, .child_index = 195 },
878 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 216 },831 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 201 },
879 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 220 },832 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 202 },
880 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 23, .child_index = 225 },833 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 206 },
881 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 230 },834 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 23, .child_index = 211 },
882 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 231 },835 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 216 },
883 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 233 },836 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 217 },
884 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 237 },837 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 219 },
885 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 241 },838 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 223 },
886 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 245 },839 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 227 },
887 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 160 },840 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 231 },
888 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 246 },841 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 155 },
889 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 143 },842 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 232 },
890 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 247 },843 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 137 },
891 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 248 },844 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 233 },
892 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 249 },845 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 234 },
893 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 250 },846 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 235 },
894 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 251 },847 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 236 },
895 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 252 },848 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 237 },
896 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 253 },849 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 238 },
897 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 102 },850 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 239 },
898 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 254 },851 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 103 },
852 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 240 },
899 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },853 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
900 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 255 },854 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 241 },
901 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 256 },855 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 242 },
902 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 257 },856 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 243 },
903 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 258 },857 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 245 },
904 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 259 },858 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 84, .child_index = 247 },
905 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 260 },859 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 250 },
906 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 262 },
907 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 84, .child_index = 264 },
908 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 267 },
909 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },860 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
910 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 224, .child_index = 268 },861 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 224, .child_index = 251 },
911 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 246 },862 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 252 },
912 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 269 },863 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 252 },
913 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 270 },864 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 232 },
865 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 253 },
866 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 254 },
914 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },867 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
915 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 271 },868 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 255 },
916 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 272 },869 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 256 },
917 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 274 },870 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 258 },
918 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 275 },871 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 259 },
919 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 276 },872 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 260 },
920 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 277 },873 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 261 },
921 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 278 },874 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 262 },
922 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 279 },875 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 59 },
923 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 193 },876 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 60 },
924 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 281 },877 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 263 },
925 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 284 },878 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 264 },
926 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 286 },879 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 265 },
927 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 287 },880 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 266 },
928 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 288 },881 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 267 },
929 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 289 },882 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 268 },
930 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 58 },883 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 270 },
931 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 59 },884 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 272 },
932 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 290 },885 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 273 },
933 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 291 },886 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 275 },
934 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 292 },887 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 278 },
935 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 293 },888 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 280 },
936 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 294 },889 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 281 },
937 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 295 },890 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 282 },
938 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 297 },891 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 283 },
939 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 299 },892 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 284 },
940 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 300 },893 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 285 },
941 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 302 },894 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 285 },
942 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 305 },895 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 285 },
943 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 307 },896 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 286 },
944 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 308 },897 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 287 },
945 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 309 },898 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 289 },
946 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 310 },899 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 291 },
947 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },900 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 295 },
948 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 312 },901 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 296 },
949 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 312 },902 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 299 },
950 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 312 },903 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 300 },
951 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 313 },904 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 301 },
952 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 314 },905 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 302 },
953 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 316 },906 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 303 },
954 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 318 },907 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 304 },
955 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 322 },908 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 305 },
956 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 323 },909 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 307 },
957 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 326 },910 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 308 },
958 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },911 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 309 },
959 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 328 },912 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 315 },
960 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 329 },913 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 316 },
961 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 330 },914 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 317 },
962 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 331 },915 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 318 },
963 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 332 },916 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 319 },
964 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 334 },
965 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 335 },
966 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 336 },
967 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 342 },
968 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 343 },
969 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 344 },
970 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 345 },
971 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 346 },
972 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },917 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
973 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 347 },918 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 320 },
974 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },919 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
975 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 348 },920 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 321 },
976 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },921 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
977 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },922 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
978 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },923 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 323 },
979 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 351 },924 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 324 },
980 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 352 },925 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 325 },
981 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 353 },926 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 326 },
982 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 161 },927 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 156 },
983 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 354 },928 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },
984 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 355 },929 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 328 },
985 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 356 },930 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 329 },
986 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 357 },931 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 330 },
987 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 358 },932 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 331 },
988 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 359 },933 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 332 },
989 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 360 },934 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 334 },
990 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 361 },935 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 75, .child_index = 335 },
991 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 362 },936 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 345 },
992 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 364 },937 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 349 },
993 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 75, .child_index = 365 },938 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 224, .child_index = 350 },
994 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 375 },939 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 351 },
995 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 379 },
996 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 224, .child_index = 380 },
997 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },940 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
998 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },941 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 317 },
999 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 381 },942 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 352 },
1000 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 382 },943 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 353 },
1001 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 382 },944 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 353 },
1002 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 383 },945 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 354 },
1003 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 384 },946 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 355 },
1004 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 385 },947 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 356 },
1005 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 386 },948 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 358 },
1006 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },949 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 359 },
1007 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 388 },950 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 361 },
1008 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 389 },951 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 364 },
1009 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 390 },952 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 365 },
1010 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 391 },953 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 369 },
1011 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 394 },954 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 370 },
1012 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 397 },955 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 371 },
956 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 373 },
957 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 375 },
958 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 376 },
959 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 377 },
960 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 378 },
961 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 379 },
962 .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 381 },
963 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 382 },
964 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 387 },
965 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 388 },
966 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 389 },
967 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 390 },
968 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 166 },
969 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 391 },
970 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 392 },
971 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 316 },
972 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 393 },
973 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 394 },
974 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 393 },
975 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 284 },
976 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 395 },
977 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 396 },
978 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 397 },
979 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 398 },
980 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 399 },
981 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 400 },
982 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 396 },
983 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 401 },
984 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 398 },
1013 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 399 },985 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 399 },
1014 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 400 },986 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 402 },
1015 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 401 },987 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 403 },
1016 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 402 },988 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 404 },
1017 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 404 },
1018 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 405 },989 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 405 },
1019 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 408 },990 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 407 },
1020 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 409 },991 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 408 },
1021 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 413 },992 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 409 },
1022 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 414 },993 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 410 },
1023 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 415 },994 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 412 },
1024 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 417 },995 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 413 },
1025 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 419 },996 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 415 },
1026 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 420 },997 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 415 },
1027 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 421 },998 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 416 },
1028 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 422 },999 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 415 },
1029 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 423 },1000 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 417 },
1030 .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 425 },1001 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 415 },
1031 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 426 },1002 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 418 },
1032 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 431 },1003 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 419 },
1033 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 432 },
1034 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 433 },
1035 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 434 },
1036 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 171 },
1037 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 435 },
1038 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 436 },
1039 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 343 },
1040 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 437 },
1041 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 438 },
1042 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 437 },
1043 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
1044 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 439 },
1045 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 440 },
1046 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 441 },
1047 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 442 },
1048 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 443 },
1049 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 444 },
1050 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 440 },
1051 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 445 },
1052 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 442 },
1053 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 443 },
1054 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 446 },
1055 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 447 },
1056 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 448 },
1057 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 449 },
1058 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 451 },
1059 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 452 },
1060 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 453 },
1061 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 454 },
1062 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 456 },
1063 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 457 },
1064 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 459 },
1065 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 459 },
1066 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 460 },
1067 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 459 },
1068 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 461 },
1069 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 459 },
1070 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 462 },
1071 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
1072 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1004 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1073 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 464 },1005 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 420 },
1074 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 465 },1006 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 421 },
1075 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 466 },1007 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 422 },
1076 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 467 },1008 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 423 },
1077 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 467 },1009 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 423 },
1078 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1010 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1079 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 171 },1011 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 166 },
1080 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 246 },1012 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 232 },
1081 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1013 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1082 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 468 },1014 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 424 },
1083 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 469 },1015 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 425 },
1084 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 470 },1016 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 426 },
1085 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 471 },1017 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 427 },
1086 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 472 },1018 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 430 },
1087 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 473 },1019 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 426 },
1088 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 474 },1020 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 330 },
1089 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 478 },1021 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 431 },
1090 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 473 },1022 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 433 },
1091 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 360 },1023 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 434 },
1092 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 479 },1024 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 437 },
1093 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 481 },1025 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 438 },
1094 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 482 },1026 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 439 },
1095 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 485 },1027 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 443 },
1096 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 486 },1028 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 444 },
1097 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 487 },1029 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 447 },
1098 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 491 },1030 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 448 },
1099 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 492 },1031 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 451 },
1100 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 495 },1032 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 453 },
1101 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 496 },1033 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 454 },
1102 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 499 },1034 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 455 },
1103 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 501 },1035 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 456 },
1104 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 502 },1036 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
1105 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 503 },1037 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 224, .child_index = 458 },
1106 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 504 },1038 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 463 },
1107 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },1039 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 464 },
1108 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 224, .child_index = 506 },1040 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 465 },
1109 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 511 },1041 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 466 },
1110 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },1042 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 467 },
1111 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 513 },1043 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 468 },
1112 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 514 },
1113 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 189 },
1114 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 515 },
1115 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1116 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 277 },
1117 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 281 },
1118 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 516 },
1119 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 517 },
1120 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 518 },
1121 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 519 },
1122 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 520 },
1123 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 521 },
1124 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 522 },
1125 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 523 },
1126 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 523 },
1127 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 524 },
1128 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 525 },
1129 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 526 },
1130 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 527 },
1131 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 126 },1044 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 126 },
1132 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 528 },1045 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 469 },
1046 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 470 },
1047 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 471 },
1133 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1048 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1134 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 529 },1049 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 472 },
1135 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 530 },1050 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 473 },
1136 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 531 },1051 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 474 },
1137 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 532 },1052 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 475 },
1138 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 171 },1053 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 166 },
1139 .{ .char = 't', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 533 },1054 .{ .char = 't', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 476 },
1140 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1055 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1141 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 535 },1056 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 478 },
1142 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 536 },1057 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 479 },
1143 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 143 },1058 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 137 },
1144 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 143 },1059 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 137 },
1145 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 537 },1060 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 480 },
1146 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 539 },1061 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 482 },
1147 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 353 },1062 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 326 },
1148 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 541 },1063 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 484 },
1149 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 542 },1064 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 485 },
1150 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 543 },1065 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 486 },
1151 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 544 },1066 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 487 },
1152 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 421 },1067 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 377 },
1153 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1068 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1154 .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1069 .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1155 .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 425 },1070 .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 381 },
1156 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 425 },1071 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 381 },
1157 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 425 },1072 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 381 },
1158 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 425 },1073 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 381 },
1159 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 545 },1074 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 488 },
1160 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 425 },1075 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 381 },
1161 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 546 },1076 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 489 },
1162 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 547 },1077 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 490 },
1163 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 548 },1078 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 491 },
1164 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 549 },1079 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 492 },
1165 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 527 },1080 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 468 },
1166 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 550 },1081 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 493 },
1167 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 553 },1082 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 496 },
1168 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 555 },1083 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 498 },
1169 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 558 },1084 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 501 },
1170 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },1085 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 465 },
1171 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },1086 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 465 },
1172 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },1087 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 502 },
1173 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 560 },1088 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 503 },
1174 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 562 },1089 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 505 },
1175 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 564 },1090 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },
1176 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 565 },1091 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 508 },
1177 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 566 },1092 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 509 },
1178 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 567 },1093 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 510 },
1179 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 246 },1094 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 232 },
1180 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 568 },1095 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 511 },
1181 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },1096 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },
1182 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 569 },1097 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 512 },
1183 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 246 },1098 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 232 },
1184 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 570 },1099 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 513 },
1185 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 571 },1100 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 514 },
1186 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1101 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1187 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 527 },1102 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 468 },
1188 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },1103 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 317 },
1189 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 572 },1104 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 515 },
1190 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 573 },1105 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 516 },
1191 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1106 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1192 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 574 },1107 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 517 },
1193 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 575 },1108 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 518 },
1194 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 576 },1109 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 519 },
1195 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 577 },1110 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 520 },
1196 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 578 },1111 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 521 },
1197 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 579 },1112 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 522 },
1198 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 255 },1113 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 473 },
1199 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 580 },1114 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 523 },
1200 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 581 },1115 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 501 },
1201 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 530 },1116 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 524 },
1202 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 582 },1117 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 525 },
1203 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 558 },1118 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 526 },
1204 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1119 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 527 },
1205 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 583 },1120 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 528 },
1206 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 584 },1121 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 529 },
1207 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },1122 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 530 },
1208 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 586 },1123 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 531 },
1209 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 587 },1124 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 536 },
1210 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 588 },1125 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 537 },
1211 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 589 },1126 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 538 },
1212 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 590 },1127 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 540 },
1213 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 595 },1128 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 541 },
1214 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 596 },1129 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 542 },
1215 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 597 },1130 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 543 },
1216 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 599 },1131 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 545 },
1217 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 600 },1132 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 546 },
1218 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 601 },1133 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 548 },
1219 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 602 },1134 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 550 },
1220 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 604 },1135 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 437 },
1221 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 605 },1136 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 551 },
1222 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 607 },1137 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 552 },
1223 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 609 },1138 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 537 },
1224 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 485 },1139 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 554 },
1225 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 610 },1140 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 555 },
1226 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 611 },1141 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 556 },
1227 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 596 },1142 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 557 },
1228 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 613 },1143 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 558 },
1229 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 614 },1144 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
1230 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 615 },1145 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 560 },
1231 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 616 },1146 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 561 },
1232 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 617 },1147 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 562 },
1233 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 618 },1148 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 564 },
1234 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 619 },1149 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 199, .child_index = 565 },
1235 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 620 },1150 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 173 },
1236 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 621 },1151 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 578 },
1237 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 623 },
1238 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 199, .child_index = 624 },
1239 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 637 },
1240 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1152 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1241 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 638 },1153 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 579 },
1242 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 639 },1154 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 580 },
1243 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 640 },
1244 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 517 },
1245 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 641 },
1246 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 642 },
1247 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 642 },
1248 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 643 },
1249 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 644 },
1250 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 645 },
1251 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 646 },
1252 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 647 },
1253 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 648 },
1254 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
1255 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1155 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1256 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 527 },1156 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 468 },
1257 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 530 },1157 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 581 },
1158 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 582 },
1159 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 473 },
1258 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1160 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1259 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 650 },1161 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 583 },
1260 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 651 },1162 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 584 },
1261 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 652 },1163 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 585 },
1262 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1164 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1263 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1165 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1264 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 653 },1166 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 586 },
1265 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 654 },1167 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 587 },
1266 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 654 },1168 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 587 },
1267 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 655 },1169 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 588 },
1268 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },1170 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 588 },
1269 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 656 },1171 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 589 },
1270 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 425 },1172 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 381 },
1271 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 425 },1173 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 381 },
1272 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 657 },1174 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 590 },
1273 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 658 },1175 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 591 },
1274 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 425 },1176 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 381 },
1275 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 659 },1177 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 592 },
1276 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 660 },1178 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 593 },
1277 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 661 },1179 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 594 },
1278 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 512 },1180 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 465 },
1279 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 512 },1181 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 465 },
1280 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },1182 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 465 },
1281 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 143 },1183 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 137 },
1282 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 143 },1184 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 137 },
1283 .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1185 .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1284 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1186 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1285 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1187 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1286 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1188 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1287 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1189 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1288 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 662 },1190 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 595 },
1289 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 577 },1191 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 520 },
1290 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 186 },1192 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 180 },
1291 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 186 },1193 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 180 },
1292 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 664 },1194 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 597 },
1293 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 665 },1195 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 598 },
1294 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 666 },1196 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 599 },
1295 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 667 },1197 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 600 },
1296 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 668 },1198 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 601 },
1297 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 669 },1199 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 602 },
1298 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 670 },1200 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 603 },
1299 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 672 },1201 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 605 },
1300 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 550 },1202 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 493 },
1301 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 673 },1203 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 606 },
1302 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 675 },1204 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 608 },
1303 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1205 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1304 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 676 },1206 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 609 },
1305 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1207 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1306 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 677 },1208 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 610 },
1307 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 678 },1209 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 611 },
1308 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 679 },1210 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 612 },
1309 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 680 },1211 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 612 },
1310 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 681 },1212 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 613 },
1311 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 681 },1213 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 614 },
1312 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 682 },1214 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 614 },
1313 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 683 },1215 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 546 },
1314 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 683 },1216 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 615 },
1315 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 605 },1217 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 617 },
1316 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 684 },1218 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 618 },
1317 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 686 },1219 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 619 },
1318 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 687 },1220 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 620 },
1319 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 688 },1221 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 621 },
1320 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 689 },1222 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 623 },
1321 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 690 },1223 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 546 },
1322 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 692 },1224 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 624 },
1323 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 605 },1225 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 625 },
1324 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 693 },1226 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 546 },
1325 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 694 },1227 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 546 },
1326 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 605 },1228 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 626 },
1327 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 605 },1229 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 546 },
1328 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 695 },1230 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 627 },
1329 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 605 },1231 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 541 },
1330 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 696 },1232 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 628 },
1331 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 600 },1233 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 629 },
1332 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 697 },1234 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 629 },
1333 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 387 },1235 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 628 },
1334 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },1236 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 630 },
1335 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 697 },1237 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 631 },
1336 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 698 },1238 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 632 },
1337 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 699 },1239 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 550 },
1338 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 700 },1240 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 633 },
1339 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 609 },1241 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 634 },
1340 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 701 },1242 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 635 },
1341 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 702 },1243 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 636 },
1342 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 703 },1244 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 637 },
1343 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 704 },1245 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 638 },
1344 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 705 },1246 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 639 },
1345 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 706 },1247 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 640 },
1346 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 707 },1248 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 642 },
1347 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 708 },1249 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 645 },
1348 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 710 },1250 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 646 },
1349 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 713 },1251 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 647 },
1350 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 714 },1252 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 648 },
1351 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 715 },1253 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 60, .child_index = 651 },
1352 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 716 },1254 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 656 },
1353 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 60, .child_index = 719 },1255 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 657 },
1354 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 724 },1256 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 658 },
1355 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 725 },1257 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 660 },
1356 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 726 },1258 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 661 },
1357 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 728 },1259 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 39, .child_index = 662 },
1358 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 729 },1260 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 667 },
1359 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 39, .child_index = 730 },1261 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 668 },
1360 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 735 },1262 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 671 },
1361 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 736 },1263 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 675 },
1362 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 739 },1264 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 680 },
1363 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 743 },1265 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 180 },
1364 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 748 },1266 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 681 },
1365 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 186 },1267 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 682 },
1366 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 749 },1268 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 683 },
1367 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 523 },1269 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 684 },
1368 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 750 },1270 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 685 },
1369 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 751 },
1370 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 752 },
1371 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 753 },
1372 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 754 },
1373 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 755 },
1374 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
1375 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 756 },
1376 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 757 },
1377 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 758 },
1378 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 759 },
1379 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1271 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1380 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 760 },1272 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 686 },
1381 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 761 },1273 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 687 },
1382 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1274 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1383 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1275 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1384 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 762 },1276 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 688 },
1385 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 425 },1277 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 381 },
1386 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 763 },1278 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 689 },
1387 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 764 },1279 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 690 },
1388 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 765 },1280 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 691 },
1389 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 766 },1281 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 692 },
1390 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1282 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1391 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1283 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1392 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 767 },1284 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 693 },
1393 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 768 },1285 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 694 },
1394 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 530 },1286 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 473 },
1395 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 769 },1287 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 695 },
1396 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 771 },1288 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 697 },
1397 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1289 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1398 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1290 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1399 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1291 .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1400 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 772 },1292 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 698 },
1401 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 773 },1293 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 699 },
1402 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 774 },1294 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 700 },
1403 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 775 },1295 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 701 },
1404 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 776 },1296 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 702 },
1405 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 777 },1297 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 703 },
1406 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 778 },1298 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 704 },
1407 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 779 },1299 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 705 },
1408 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 780 },1300 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 706 },
1409 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 781 },1301 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 629 },
1410 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 782 },1302 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 707 },
1411 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },1303 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 708 },
1412 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 783 },1304 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 540 },
1413 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 784 },1305 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 710 },
1414 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 599 },1306 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 711 },
1415 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 786 },1307 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 713 },
1416 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 787 },1308 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 714 },
1417 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 789 },1309 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 719 },
1418 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 790 },1310 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 719 },
1419 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 795 },1311 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 546 },
1420 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 795 },1312 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 721 },
1421 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 605 },1313 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 721 },
1422 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 797 },1314 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 625 },
1423 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 797 },1315 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 722 },
1424 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 694 },1316 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1425 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 798 },1317 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 726 },
1426 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 802 },1318 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 546 },
1427 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 605 },1319 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 473 },
1428 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 530 },1320 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 727 },
1429 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 803 },1321 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 546 },
1430 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 605 },1322 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 728 },
1431 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 804 },
1432 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1323 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1433 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },1324 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 729 },
1434 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 669 },1325 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 602 },
1435 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 806 },1326 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 730 },
1436 .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 165 },1327 .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 160 },
1437 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 533 },1328 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 476 },
1438 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 807 },1329 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 731 },
1439 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 810 },1330 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 734 },
1440 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 558 },1331 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 501 },
1441 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 812 },1332 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 736 },
1442 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 813 },1333 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 737 },
1443 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 814 },1334 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 738 },
1444 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 816 },1335 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 740 },
1445 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 817 },1336 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 741 },
1446 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 818 },1337 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 742 },
1447 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 819 },1338 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 743 },
1448 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 821 },1339 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 745 },
1449 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 823 },1340 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 747 },
1450 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 824 },1341 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 748 },
1451 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 825 },1342 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 749 },
1452 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 828 },1343 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 752 },
1453 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 829 },1344 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 753 },
1454 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 831 },1345 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 755 },
1455 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 530 },1346 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 473 },
1456 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 832 },1347 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 756 },
1457 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 833 },1348 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 757 },
1458 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 834 },1349 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 758 },
1459 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 836 },1350 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 760 },
1460 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 838 },1351 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 762 },
1461 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 839 },1352 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 763 },
1462 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 840 },1353 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 764 },
1463 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 841 },1354 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 765 },
1464 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 842 },1355 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 766 },
1465 .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 843 },1356 .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 767 },
1466 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 846 },1357 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 770 },
1467 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 847 },1358 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 771 },
1468 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 848 },1359 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 772 },
1469 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 849 },1360 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 773 },
1470 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 853 },1361 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 777 },
1471 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 854 },1362 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 778 },
1472 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 855 },1363 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 779 },
1473 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 857 },1364 .{ .char = 'r', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 781 },
1474 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 860 },1365 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 784 },
1475 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 861 },1366 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 785 },
1476 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 863 },1367 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 787 },
1477 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 864 },1368 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 788 },
1478 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 865 },1369 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 789 },
1479 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 866 },1370 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 684 },
1480 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },1371 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 790 },
1481 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 867 },1372 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 791 },
1482 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 868 },
1483 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 869 },
1484 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 870 },
1485 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 871 },
1486 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 872 },
1487 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 873 },
1488 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1373 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1489 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 874 },1374 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 792 },
1490 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 875 },1375 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 793 },
1491 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 425 },1376 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 381 },
1492 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 876 },1377 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 794 },
1493 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 877 },1378 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 795 },
1494 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 878 },1379 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 796 },
1495 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 879 },1380 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 797 },
1496 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 880 },1381 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 798 },
1497 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1382 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1498 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1383 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1499 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 882 },1384 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 800 },
1500 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 883 },1385 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 801 },
1501 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 884 },1386 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 802 },
1502 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 773 },1387 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 699 },
1503 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 885 },1388 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 803 },
1504 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 886 },1389 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 804 },
1505 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 887 },1390 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
1506 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 888 },1391 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 806 },
1507 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 889 },1392 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 807 },
1508 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 890 },1393 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 808 },
1509 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 891 },1394 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 810 },
1510 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 892 },1395 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 810 },
1511 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 894 },1396 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 810 },
1512 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 894 },1397 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 812 },
1513 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 894 },1398 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 813 },
1514 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 896 },1399 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 815 },
1515 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 897 },1400 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 629 },
1516 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 899 },1401 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 816 },
1517 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },1402 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 629 },
1518 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 900 },1403 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 629 },
1519 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 387 },1404 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 817 },
1520 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 387 },1405 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 817 },
1521 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 901 },1406 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 713 },
1522 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 901 },1407 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 614 },
1523 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 789 },1408 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 546 },
1524 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 683 },
1525 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 605 },
1526 .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1409 .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1527 .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1410 .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1528 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1411 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1529 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1412 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1530 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 902 },1413 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 818 },
1531 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 605 },1414 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 546 },
1532 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 903 },1415 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 819 },
1533 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 669 },1416 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 602 },
1534 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 904 },1417 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 820 },
1535 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 527 },1418 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 468 },
1536 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 527 },1419 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 468 },
1537 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 527 },1420 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 468 },
1538 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1421 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1539 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1422 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1540 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 905 },1423 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 821 },
1541 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 906 },1424 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 822 },
1542 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 807 },1425 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 731 },
1543 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 558 },1426 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 501 },
1544 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 908 },1427 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 824 },
1545 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 909 },1428 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 825 },
1546 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 912 },1429 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 828 },
1547 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 527 },1430 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 468 },
1548 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 527 },1431 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 468 },
1549 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 914 },1432 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 830 },
1550 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 916 },1433 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 832 },
1551 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 921 },1434 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 837 },
1552 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 925 },1435 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 841 },
1553 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 926 },1436 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 842 },
1554 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 926 },1437 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 842 },
1555 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 916 },1438 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 832 },
1556 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 927 },1439 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 843 },
1557 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 928 },1440 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 844 },
1558 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 930 },1441 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 846 },
1559 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 143 },1442 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 137 },
1560 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 932 },1443 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 848 },
1561 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 934 },1444 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 850 },
1562 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 935 },1445 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 851 },
1563 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 936 },1446 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 852 },
1564 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 939 },1447 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 855 },
1565 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 940 },1448 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 856 },
1566 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 936 },1449 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 852 },
1567 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 941 },1450 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 857 },
1568 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 942 },1451 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 858 },
1569 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 945 },1452 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 861 },
1570 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 946 },1453 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 862 },
1571 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 527 },1454 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 468 },
1572 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 947 },1455 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 863 },
1573 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 949 },1456 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 865 },
1574 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 951 },1457 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 867 },
1575 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },1458 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 629 },
1576 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 952 },1459 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 868 },
1577 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1460 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1578 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1461 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1579 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1462 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1580 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 956 },1463 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 872 },
1581 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 957 },1464 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 873 },
1582 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 958 },1465 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 874 },
1583 .{ .char = 'o', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1466 .{ .char = 'o', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1584 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1467 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1585 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 959 },1468 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 875 },
1586 .{ .char = 'o', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1469 .{ .char = 'o', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1587 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1470 .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1588 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 962 },1471 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 878 },
1589 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 909 },1472 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 825 },
1590 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 963 },1473 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 879 },
1591 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 966 },1474 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 882 },
1592 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 968 },1475 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 884 },
1593 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 969 },1476 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 885 },
1594 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 269 },1477 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 886 },
1595 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 970 },1478 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 887 },
1596 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 971 },1479 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 889 },
1597 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 972 },1480 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 891 },
1598 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },1481 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 892 },
1599 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 974 },1482 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 893 },
1600 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 975 },1483 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 894 },
1601 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 976 },1484 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 609 },
1602 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 978 },1485 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 897 },
1603 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 980 },1486 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 898 },
1604 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 981 },1487 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 603 },
1605 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 982 },1488 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 899 },
1606 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 983 },1489 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 900 },
1607 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 676 },1490 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 901 },
1608 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 986 },1491 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 902 },
1609 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 987 },1492 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 704 },
1610 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 670 },1493 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 903 },
1611 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 988 },1494 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 326 },
1612 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 989 },1495 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 904 },
1613 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 990 },1496 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 905 },
1614 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 991 },1497 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 906 },
1615 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 678 },1498 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 906 },
1616 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 992 },1499 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 907 },
1617 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 780 },
1618 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 993 },
1619 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 353 },
1620 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 994 },
1621 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 995 },
1622 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 996 },
1623 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 996 },
1624 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 997 },
1625 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1500 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1626 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 998 },1501 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 908 },
1627 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 998 },1502 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 908 },
1628 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 999 },1503 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 909 },
1629 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1000 },1504 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 910 },
1630 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 605 },1505 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 546 },
1631 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1001 },1506 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 911 },
1632 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1005 },1507 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 915 },
1633 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },1508 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 465 },
1634 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 512 },1509 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 465 },
1635 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1006 },1510 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 916 },
1636 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1011 },1511 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 921 },
1637 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1012 },1512 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 922 },
1638 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1013 },1513 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 923 },
1639 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1013 },1514 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 923 },
1640 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 959 },1515 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 875 },
1641 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 959 },1516 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 875 },
1642 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 530 },1517 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 473 },
1643 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 530 },1518 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 473 },
1644 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1519 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1645 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1520 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1646 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1521 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1647 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 610 },1522 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 551 },
1648 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1523 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1649 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1016 },1524 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 926 },
1650 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1017 },1525 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 927 },
1651 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 1018 },1526 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 928 },
1652 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1020 },1527 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 930 },
1653 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1021 },1528 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 931 },
1654 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },1529 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 173 },
1655 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1022 },1530 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 932 },
1656 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1024 },1531 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 934 },
1657 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 934 },1532 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 850 },
1658 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1025 },1533 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 935 },
1659 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1026 },1534 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 936 },
1660 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1029 },1535 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 939 },
1661 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1031 },1536 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 941 },
1662 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 847 },1537 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 771 },
1663 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 847 },1538 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 771 },
1664 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 387 },1539 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 629 },
1665 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1033 },1540 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 943 },
1666 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 959 },1541 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 875 },
1667 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1037 },1542 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 947 },
1668 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 939 },1543 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 855 },
1669 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1038 },1544 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 948 },
1670 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 912 },1545 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 828 },
1671 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1022 },1546 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 932 },
1672 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 912 },1547 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 828 },
1673 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1041 },1548 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 951 },
1674 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 958 },1549 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 874 },
1675 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1042 },1550 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 952 },
1676 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1042 },1551 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 952 },
1677 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1044 },1552 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 954 },
1678 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1044 },1553 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 954 },
1679 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1045 },1554 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 955 },
1680 .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1555 .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1681 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1556 .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1682 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1557 .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1683 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1558 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1684 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 246 },1559 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 232 },
1685 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1046 },1560 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 956 },
1686 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1047 },1561 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 957 },
1687 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1562 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1688 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1563 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1689 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1564 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1690 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1048 },1565 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 958 },
1691 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1050 },1566 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 960 },
1692 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1051 },1567 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 961 },
1693 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 998 },1568 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 908 },
1694 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1053 },1569 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 963 },
1695 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1053 },1570 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 963 },
1696 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1055 },1571 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 965 },
1697 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1057 },1572 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 966 },
1698 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1058 },1573 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 234 },
1699 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },1574 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 967 },
1700 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 387 },1575 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 968 },
1701 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1060 },1576 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 893 },
1702 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1061 },1577 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 969 },
1703 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1062 },1578 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 970 },
1704 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1063 },1579 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 971 },
1705 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1064 },1580 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 629 },
1706 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 982 },1581 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 972 },
1707 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1065 },1582 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 973 },
1708 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1066 },1583 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 284 },
1709 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1067 },1584 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 974 },
1710 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },1585 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 975 },
1711 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1068 },1586 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 976 },
1712 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1069 },1587 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 977 },
1713 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },1588 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 978 },
1714 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1070 },1589 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 979 },
1715 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1071 },1590 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 137 },
1716 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1072 },1591 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 980 },
1717 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1073 },1592 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 981 },
1718 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1074 },1593 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 982 },
1719 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1075 },1594 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 983 },
1720 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },1595 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 173 },
1721 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 143 },1596 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 984 },
1722 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1076 },1597 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 173 },
1723 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1077 },1598 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 232 },
1724 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1078 },1599 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 232 },
1725 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1079 },1600 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 232 },
1726 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },1601 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 232 },
1727 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1080 },1602 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 985 },
1728 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },1603 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 232 },
1729 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 246 },1604 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 232 },
1730 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 246 },1605 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 232 },
1731 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 246 },1606 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 232 },
1732 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 246 },1607 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 232 },
1733 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1081 },1608 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 986 },
1734 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 246 },1609 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 317 },
1735 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 246 },1610 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 173 },
1736 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 246 },1611 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 173 },
1737 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 246 },1612 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 173 },
1738 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 246 },1613 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 906 },
1739 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1082 },1614 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 988 },
1740 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },1615 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 926 },
1741 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 181 },1616 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 990 },
1742 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 181 },1617 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 993 },
1743 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },1618 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 943 },
1744 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 996 },1619 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 317 },
1745 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1084 },1620 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 317 },
1746 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1016 },1621 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 998 },
1747 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1086 },1622 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 999 },
1748 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1089 },1623 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1000 },
1749 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1033 },1624 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1000 },
1750 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 344 },1625 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1001 },
1751 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },1626 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 468 },
1752 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1094 },1627 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 468 },
1753 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1095 },1628 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 468 },
1754 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1096 },1629 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 468 },
1755 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1096 },
1756 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1097 },
1757 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 527 },
1758 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 527 },
1759 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 527 },
1760 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 527 },
1761 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1630 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1762 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1631 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1763 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1632 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1764 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1633 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1765 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1098 },1634 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1002 },
1766 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1099 },1635 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1003 },
1767 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1100 },1636 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1004 },
1768 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1101 },1637 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1005 },
1769 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 847 },1638 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 771 },
1770 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 181 },1639 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 173 },
1771 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },1640 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 173 },
1772 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },1641 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 173 },
1773 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1103 },1642 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1007 },
1774 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 934 },1643 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 850 },
1775 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1106 },1644 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1010 },
1776 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1107 },1645 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1011 },
1777 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1107 },1646 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1011 },
1778 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 998 },1647 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 908 },
1779 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1109 },1648 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1013 },
1780 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1111 },1649 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1015 },
1781 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 527 },1650 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 468 },
1782 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 959 },1651 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 875 },
1783 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 646 },1652 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 326 },
1784 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 888 },1653 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1016 },
1785 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 869 },1654 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1017 },
1786 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 387 },1655 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1018 },
1787 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 971 },1656 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1019 },
1788 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },1657 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1020 },
1789 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 353 },1658 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1023 },
1790 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1112 },1659 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 266 },
1791 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1113 },1660 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1024 },
1792 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1114 },1661 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1025 },
1793 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1115 },1662 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 131 },
1794 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1116 },1663 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1026 },
1795 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1119 },1664 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 235 },
1796 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 293 },1665 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1027 },
1797 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1120 },1666 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 131 },
1798 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1121 },1667 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1028 },
1799 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 130 },1668 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1029 },
1800 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1122 },1669 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 629 },
1801 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 249 },1670 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 234 },
1802 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1123 },
1803 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 130 },
1804 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1124 },
1805 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1125 },
1806 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },
1807 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 248 },
1808 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1671 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1809 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1126 },1672 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1030 },
1810 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1673 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1811 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1674 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1812 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 996 },1675 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 906 },
1813 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1127 },1676 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1031 },
1814 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 996 },1677 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 906 },
1815 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1132 },1678 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1036 },
1816 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1132 },1679 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1036 },
1817 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1078 },1680 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 982 },
1818 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1136 },1681 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1040 },
1819 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1078 },1682 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 982 },
1820 .{ .char = 'w', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1078 },1683 .{ .char = 'w', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 982 },
1821 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 959 },1684 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 875 },
1822 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1137 },1685 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1041 },
1823 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1140 },1686 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1044 },
1824 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1141 },1687 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1045 },
1825 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 143 },1688 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 137 },
1826 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1143 },1689 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1047 },
1827 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 246 },1690 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 232 },
1828 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1144 },1691 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1048 },
1829 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 246 },1692 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 232 },
1830 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1144 },1693 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1048 },
1831 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1694 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1832 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1695 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1833 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1696 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1834 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 669 },1697 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 602 },
1835 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1078 },1698 .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 982 },
1836 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1078 },1699 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 982 },
1837 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 181 },1700 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 173 },
1838 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },1701 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 173 },
1839 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },1702 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 173 },
1840 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1146 },1703 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1050 },
1841 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1147 },1704 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1051 },
1842 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1148 },1705 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1052 },
1843 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1706 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1844 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1149 },1707 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1053 },
1845 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1151 },1708 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1055 },
1846 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1152 },1709 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1056 },
1847 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 353 },1710 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 326 },
1848 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },1711 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 284 },
1849 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1153 },1712 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1057 },
1850 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 248 },1713 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 234 },
1851 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1154 },1714 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1058 },
1852 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1155 },1715 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1059 },
1853 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1156 },1716 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1060 },
1854 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1157 },1717 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1061 },
1855 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1078 },1718 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 982 },
1856 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1136 },1719 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1040 },
1857 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1078 },1720 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 982 },
1858 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1136 },1721 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1040 },
1859 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1078 },1722 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 982 },
1860 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1078 },1723 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 982 },
1861 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1136 },1724 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1040 },
1862 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1078 },1725 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 982 },
1863 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1078 },1726 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 982 },
1864 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },1727 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 629 },
1865 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 246 },1728 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 232 },
1866 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 246 },1729 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 232 },
1867 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 246 },1730 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 232 },
1868 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1006 },1731 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 916 },
1869 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1732 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1870 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1733 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1871 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },1734 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 173 },
1872 .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },1735 .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
1873 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1736 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1874 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1158 },1737 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1062 },
1875 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1159 },1738 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1063 },
1876 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1160 },1739 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1064 },
1877 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1164 },1740 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1068 },
1878 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1164 },1741 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1068 },
1879 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1165 },1742 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1069 },
1880 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1166 },1743 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1070 },
1881 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1167 },1744 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1071 },
1882 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1168 },1745 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1072 },
1883 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1169 },1746 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1073 },
1884 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1170 },1747 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1074 },
1885 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1171 },1748 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1075 },
1886 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1172 },1749 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1076 },
1887 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1152 },1750 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1056 },
1888 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1173 },1751 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1077 },
1889 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 171 },1752 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 166 },
1890 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 171 },1753 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 166 },
1891 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 535 },1754 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 478 },
1892 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1165 },1755 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1069 },
1893 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },1756 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 629 },
1894 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1174 },1757 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1078 },
1895 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1175 },1758 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1079 },
1896 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1176 },1759 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1080 },
1897 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1177 },1760 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1081 },
1898 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1178 },1761 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1082 },
1899 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1179 },1762 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1083 },
1900 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1763 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1901 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },1764 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
1902 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1165 },1765 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1069 },
1903 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },1766 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 323 },
1904 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },1767 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 173 },
1905 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1180 },1768 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1084 },
1906 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1181 },1769 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1085 },
1907 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 143 },1770 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 137 },
1908 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1182 },1771 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1086 },
1909 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1183 },1772 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1087 },
1910 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1184 },1773 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1088 },
1911 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1185 },1774 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1089 },
1912 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1186 },1775 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1090 },
1913 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1187 },1776 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1091 },
1914 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1173 },1777 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1077 },
1915 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1188 },1778 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1092 },
1916 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },1779 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 629 },
1917};1780};
1918pub const data = blk: {1781pub const data = blk: {
1919 @setEvalBranchQuota(5103);1782 @setEvalBranchQuota(4734);
1920 break :blk [_]Properties{1783 break :blk [_]Properties{
1921 .{ .param_str = "LLdLLdLLd", .features = "float128" },1784 .{ .param_str = "LLdLLdLLd", .features = "float128" },
1922 .{ .param_str = "UiUiUi", .features = "isa_v206_instructions" },1785 .{ .param_str = "UiUiUi", .features = "isa_v206_instructions" },
...@@ -2144,6 +2007,10 @@ pub const data = blk: {...@@ -2144,6 +2007,10 @@ pub const data = blk: {
2144 .{ .param_str = "V8sV16c", .features = "altivec" },2007 .{ .param_str = "V8sV16c", .features = "altivec" },
2145 .{ .param_str = "V4iV8s", .features = "altivec" },2008 .{ .param_str = "V4iV8s", .features = "altivec" },
2146 .{ .param_str = "V2LLiV4i", .features = "power8_vector" },2009 .{ .param_str = "V2LLiV4i", .features = "power8_vector" },
2010 .{ .param_str = "ULiULi*ULiIi", .features = "isa_v30_instructions" },
2011 .{ .param_str = "SLiSLi*SLiIi", .features = "isa_v30_instructions" },
2012 .{ .param_str = "UiUi*UiIi", .features = "isa_v30_instructions" },
2013 .{ .param_str = "SiSi*SiIi", .features = "isa_v30_instructions" },
2147 .{ .param_str = "SLLiSLLiSLLi", .features = "bpermd" },2014 .{ .param_str = "SLLiSLLiSLLi", .features = "bpermd" },
2148 .{ .param_str = "UiUi", .features = "isa_v206_instructions" },2015 .{ .param_str = "UiUi", .features = "isa_v206_instructions" },
2149 .{ .param_str = "UiUi", .features = "isa_v206_instructions" },2016 .{ .param_str = "UiUi", .features = "isa_v206_instructions" },
...@@ -2164,48 +2031,6 @@ pub const data = blk: {...@@ -2164,48 +2031,6 @@ pub const data = blk: {
2164 .{ .param_str = "LUi", .attributes = .{ .@"const" = true }, .features = "htm" },2031 .{ .param_str = "LUi", .attributes = .{ .@"const" = true }, .features = "htm" },
2165 .{ .param_str = "LUi", .attributes = .{ .@"const" = true }, .features = "htm" },2032 .{ .param_str = "LUi", .attributes = .{ .@"const" = true }, .features = "htm" },
2166 .{ .param_str = "LUi", .attributes = .{ .@"const" = true }, .features = "htm" },2033 .{ .param_str = "LUi", .attributes = .{ .@"const" = true }, .features = "htm" },
2167 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2168 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "paired_vector_memops" },
2169 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma" },
2170 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2171 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "paired_vector_memops" },
2172 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2173 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2174 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2175 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "paired_vector_memops" },
2176 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2177 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2178 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2179 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2180 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2181 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2182 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2183 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2184 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2185 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2186 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2187 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2188 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2189 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2190 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2191 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2192 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "paired_vector_memops" },
2193 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2194 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2195 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2196 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2197 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2198 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2199 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2200 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2201 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2202 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2203 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2204 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2205 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2206 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2207 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2208 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "mma,paired_vector_memops" },
2209 .{ .param_str = "LLdLLdLLd", .features = "float128" },2034 .{ .param_str = "LLdLLdLLd", .features = "float128" },
2210 .{ .param_str = "Lddd" },2035 .{ .param_str = "Lddd" },
2211 .{ .param_str = "V1LLLiULLiULLi", .features = "vsx" },2036 .{ .param_str = "V1LLLiULLiULLi", .features = "vsx" },
...@@ -2214,6 +2039,8 @@ pub const data = blk: {...@@ -2214,6 +2039,8 @@ pub const data = blk: {
2214 .{ .param_str = "LLiLLiLLiCIi", .features = "isa_v30_instructions" },2039 .{ .param_str = "LLiLLiLLiCIi", .features = "isa_v30_instructions" },
2215 .{ .param_str = "LLiLLiLLi", .features = "isa_v206_instructions" },2040 .{ .param_str = "LLiLLiLLi", .features = "isa_v206_instructions" },
2216 .{ .param_str = "vIivC*", .attributes = .{ .@"const" = true } },2041 .{ .param_str = "vIivC*", .attributes = .{ .@"const" = true } },
2042 .{ .param_str = "V16UcV16UcV16Uc", .features = "power9_vector" },
2043 .{ .param_str = "V16UcV16UcUc", .attributes = .{ .custom_typecheck = true }, .features = "power9_vector" },
2217 .{ .param_str = "LLiLLi", .features = "isa_v206_instructions" },2044 .{ .param_str = "LLiLLi", .features = "isa_v206_instructions" },
2218 .{ .param_str = "LLiLLi", .features = "isa_v206_instructions" },2045 .{ .param_str = "LLiLLi", .features = "isa_v206_instructions" },
2219 .{ .param_str = "LLiLLiLLi" },2046 .{ .param_str = "LLiLLiLLi" },
...@@ -2378,9 +2205,6 @@ pub const data = blk: {...@@ -2378,9 +2205,6 @@ pub const data = blk: {
2378 .{ .param_str = "LUi", .features = "htm" },2205 .{ .param_str = "LUi", .features = "htm" },
2379 .{ .param_str = "dLdIi" },2206 .{ .param_str = "dLdIi" },
2380 .{ .param_str = "ULLiV1LLLii", .features = "vsx" },2207 .{ .param_str = "ULLiV1LLLii", .features = "vsx" },
2381 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "paired_vector_memops" },
2382 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "paired_vector_memops" },
2383 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "paired_vector_memops" },
2384 .{ .param_str = "V2ULLiV16UcIi", .features = "vsx" },2208 .{ .param_str = "V2ULLiV16UcIi", .features = "vsx" },
2385 .{ .param_str = "V16UcV4UiV16UcIi", .features = "vsx" },2209 .{ .param_str = "V16UcV4UiV16UcIi", .features = "vsx" },
2386 .{ .param_str = "V16UcCc*Ii", .features = "isa_v207_instructions" },2210 .{ .param_str = "V16UcCc*Ii", .features = "isa_v207_instructions" },
...@@ -2388,7 +2212,6 @@ pub const data = blk: {...@@ -2388,7 +2212,6 @@ pub const data = blk: {
2388 .{ .param_str = "V2dSLLivC*", .features = "vsx" },2212 .{ .param_str = "V2dSLLivC*", .features = "vsx" },
2389 .{ .param_str = "V4ivC*ULLi", .features = "power9_vector" },2213 .{ .param_str = "V4ivC*ULLi", .features = "power9_vector" },
2390 .{ .param_str = "V4ivC*ULLi", .features = "power9_vector" },2214 .{ .param_str = "V4ivC*ULLi", .features = "power9_vector" },
2391 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "paired_vector_memops" },
2392 .{ .param_str = "V4iLivC*", .features = "vsx" },2215 .{ .param_str = "V4iLivC*", .features = "vsx" },
2393 .{ .param_str = "V4iSLLivC*", .features = "vsx" },2216 .{ .param_str = "V4iSLLivC*", .features = "vsx" },
2394 .{ .param_str = "ULLiLLd", .features = "float128" },2217 .{ .param_str = "ULLiLLd", .features = "float128" },
...@@ -2398,7 +2221,6 @@ pub const data = blk: {...@@ -2398,7 +2221,6 @@ pub const data = blk: {
2398 .{ .param_str = "vV2dSLLivC*", .features = "vsx" },2221 .{ .param_str = "vV2dSLLivC*", .features = "vsx" },
2399 .{ .param_str = "vV4iv*ULLi", .features = "power9_vector" },2222 .{ .param_str = "vV4iv*ULLi", .features = "power9_vector" },
2400 .{ .param_str = "vV4iv*ULLi", .features = "power9_vector" },2223 .{ .param_str = "vV4iv*ULLi", .features = "power9_vector" },
2401 .{ .param_str = "i.", .attributes = .{ .custom_typecheck = true }, .features = "paired_vector_memops" },
2402 .{ .param_str = "vV4iLiv*", .features = "vsx" },2224 .{ .param_str = "vV4iLiv*", .features = "vsx" },
2403 .{ .param_str = "vV4iSLLivC*", .features = "vsx" },2225 .{ .param_str = "vV4iSLLivC*", .features = "vsx" },
2404 .{ .param_str = "ddd", .features = "vsx" },2226 .{ .param_str = "ddd", .features = "vsx" },
lib/compiler/aro/aro/Builtins/riscv.zig+210-146
...@@ -47,6 +47,19 @@ pub const Tag = enum(u16) { __builtin_riscv_aes32dsi,...@@ -47,6 +47,19 @@ pub const Tag = enum(u16) { __builtin_riscv_aes32dsi,
47 __builtin_riscv_cv_alu_subRN,47 __builtin_riscv_cv_alu_subRN,
48 __builtin_riscv_cv_alu_subuN,48 __builtin_riscv_cv_alu_subuN,
49 __builtin_riscv_cv_alu_subuRN,49 __builtin_riscv_cv_alu_subuRN,
50 __builtin_riscv_mips_ehb,
51 __builtin_riscv_mips_ihb,
52 __builtin_riscv_mips_pause,
53 __builtin_riscv_nds_fcvt_bf16_s,
54 __builtin_riscv_nds_fcvt_s_bf16,
55 __builtin_riscv_nds_ffb_32,
56 __builtin_riscv_nds_ffb_64,
57 __builtin_riscv_nds_ffmism_32,
58 __builtin_riscv_nds_ffmism_64,
59 __builtin_riscv_nds_ffzmism_32,
60 __builtin_riscv_nds_ffzmism_64,
61 __builtin_riscv_nds_flmism_32,
62 __builtin_riscv_nds_flmism_64,
50 __builtin_riscv_ntl_load,63 __builtin_riscv_ntl_load,
51 __builtin_riscv_ntl_store,64 __builtin_riscv_ntl_store,
52 __builtin_riscv_orc_b_32,65 __builtin_riscv_orc_b_32,
...@@ -126,13 +139,13 @@ pub fn exists(name: []const u8) bool {...@@ -126,13 +139,13 @@ pub fn exists(name: []const u8) bool {
126}139}
127140
128pub const shortest_name = 21;141pub const shortest_name = 21;
129pub const longest_name = 29;142pub const longest_name = 31;
130143
131/// Search siblings of `first_child_index` for the `char`144/// Search siblings of `first_child_index` for the `char`
132/// If found, returns the index of the node within the `dafsa` array.145/// If found, returns the index of the node within the `dafsa` array.
133/// Otherwise, returns `null`.146/// Otherwise, returns `null`.
134pub fn findInList(first_child_index: u16, char: u8) ?u16 {147pub fn findInList(first_child_index: u16, char: u8) ?u16 {
135 @setEvalBranchQuota(136);148 @setEvalBranchQuota(162);
136 var index = first_child_index;149 var index = first_child_index;
137 while (true) {150 while (true) {
138 if (dafsa[index].char == char) return index;151 if (dafsa[index].char == char) return index;
...@@ -227,173 +240,211 @@ const Node = packed struct {...@@ -227,173 +240,211 @@ const Node = packed struct {
227240
228const dafsa = [_]Node{241const dafsa = [_]Node{
229 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },242 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },
230 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 2 },243 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 2 },
231 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 3 },244 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 3 },
232 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 4 },245 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 4 },
233 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 5 },246 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 5 },
234 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 6 },247 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 6 },
235 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 7 },248 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 7 },
236 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 8 },249 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 8 },
237 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 9 },250 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 9 },
238 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 10 },251 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 10 },
239 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 11 },252 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 11 },
240 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 12 },253 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 12 },
241 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 13 },254 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 13 },
242 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 14 },255 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 14 },
243 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 15 },256 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 15 },
244 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 16 },257 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 16 },
245 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 68, .child_index = 17 },258 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 81, .child_index = 17 },
246 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 27 },259 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 28 },
247 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 28 },260 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 29 },
248 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 29 },261 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 30 },
249 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 32 },262 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 33 },
250 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 33 },263 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 34 },
251 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 34 },264 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 36 },
252 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 35 },265 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 37 },
253 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 37 },266 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 38 },
254 .{ .char = 'x', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 38 },267 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 40 },
255 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 39 },268 .{ .char = 'x', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 41 },
256 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 40 },269 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 42 },
257 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 41 },270 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 43 },
258 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 42 },271 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 44 },
259 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 44 },272 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 45 },
260 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 45 },273 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 47 },
261 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 46 },274 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 48 },
262 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 47 },275 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 49 },
263 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 48 },276 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 50 },
264 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 49 },277 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 51 },
265 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 50 },278 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 52 },
266 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 52 },279 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 53 },
267 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 53 },280 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 54 },
268 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 54 },281 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 55 },
269 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 55 },282 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 57 },
270 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 57 },283 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 58 },
271 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 58 },284 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 59 },
272 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 59 },285 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 60 },
273 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 59 },286 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 62 },
274 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 60 },287 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 63 },
275 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 61 },288 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 64 },
276 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 62 },289 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 64 },
277 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 63 },290 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 65 },
278 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 64 },291 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 66 },
279 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 66 },292 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 67 },
280 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 67 },293 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 68 },
281 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 39 },294 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 69 },
282 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 69 },295 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 70 },
283 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 70 },296 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 71 },
284 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 71 },297 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 73 },
285 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 72 },298 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 74 },
286 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 73 },299 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 42 },
287 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 74 },300 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 76 },
288 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 75 },301 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 77 },
289 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 77 },302 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 78 },
290 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 78 },303 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 79 },
291 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 80 },304 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 80 },
292 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 81 },305 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 81 },
293 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 82 },306 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 82 },
294 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 83 },307 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 84 },
295 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 84 },308 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 85 },
296 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 86 },309 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 86 },
297 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },310 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 87 },
298 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 88 },311 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 89 },
299 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 89 },312 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 90 },
300 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 90 },313 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 91 },
301 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 92 },314 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 92 },
302 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 59 },315 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 93 },
303 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 96 },316 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 95 },
304 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 99 },317 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 96 },
305 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 100 },318 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 97 },
306 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 101 },319 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 98 },
307 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 102 },320 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 99 },
308 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 103 },321 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 101 },
309 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 59 },322 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 64 },
323 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 105 },
324 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 108 },
325 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 109 },
326 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 110 },
327 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 111 },
328 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 114 },
329 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 117 },
330 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 118 },
331 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 64 },
310 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },332 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
311 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 104 },333 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 119 },
312 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 105 },334 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 120 },
313 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },335 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
314 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },336 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
315 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },337 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
316 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },338 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
317 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 106 },339 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 121 },
318 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 99 },340 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 108 },
319 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 108 },341 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 123 },
320 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 108 },342 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 123 },
321 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 109 },343 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 124 },
322 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 109 },344 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 124 },
323 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 110 },345 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 125 },
324 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 111 },346 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 126 },
325 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 75 },347 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 82 },
326 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 59 },348 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 64 },
327 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 59 },349 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 64 },
328 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },350 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
329 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },351 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
330 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 112 },352 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 127 },
331 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 113 },353 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 128 },
332 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 114 },354 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 128 },
333 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 115 },355 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 37 },
334 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 116 },356 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 129 },
335 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 59 },357 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 130 },
336 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 59 },358 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 133 },
337 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 117 },359 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 134 },
338 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 119 },360 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 135 },
361 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 136 },
362 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 137 },
363 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 64 },
364 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 64 },
365 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 138 },
366 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 140 },
339 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },367 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
340 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 120 },368 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 141 },
341 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 122 },369 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 143 },
342 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 86 },370 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 147 },
343 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 126 },371 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 148 },
344 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 127 },372 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 64 },
345 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 129 },373 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 149 },
374 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 133 },
375 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 149 },
376 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 95 },
377 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 150 },
378 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 151 },
379 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 153 },
346 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },380 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
347 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 131 },381 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 155 },
348 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },382 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
349 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 131 },383 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 155 },
350 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },384 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
351 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 132 },385 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 156 },
352 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 133 },386 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 157 },
353 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 134 },387 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 158 },
354 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 135 },388 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 159 },
355 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 81 },389 .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
356 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 137 },390 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 161 },
357 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 138 },391 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 162 },
358 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 139 },392 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 90 },
359 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 140 },393 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 163 },
394 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 164 },
395 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 165 },
396 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 166 },
360 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },397 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
361 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 141 },398 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 167 },
362 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 142 },399 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 168 },
363 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 143 },400 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 169 },
364 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 144 },401 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 170 },
365 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 145 },402 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 171 },
366 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 84 },403 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 172 },
367 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 84 },404 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 174 },
368 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 146 },405 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 93 },
369 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 148 },406 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 93 },
370 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 150 },407 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 175 },
371 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 153 },408 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 177 },
372 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 154 },409 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 179 },
373 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 156 },410 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 182 },
374 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 150 },411 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 183 },
375 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 157 },412 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 185 },
376 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 157 },413 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 179 },
377 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 159 },414 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 186 },
378 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 159 },415 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 187 },
416 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 64 },
417 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 188 },
418 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 188 },
419 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 190 },
420 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 190 },
379 .{ .char = 'N', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },421 .{ .char = 'N', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
380 .{ .char = 'R', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 160 },422 .{ .char = 'R', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 191 },
381 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 161 },423 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 192 },
382 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 156 },424 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 185 },
383 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 163 },425 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 194 },
384 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 163 },426 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 194 },
385 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },427 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
428 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 196 },
429 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 197 },
386 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },430 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
387 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },431 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
388 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },432 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
389 .{ .char = 'N', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },433 .{ .char = 'N', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
390 .{ .char = 'N', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },434 .{ .char = 'N', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
391 .{ .char = 'R', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 160 },435 .{ .char = 'R', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 191 },
392 .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },436 .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
393 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },437 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
438 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 198 },
439 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 199 },
440 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 200 },
441 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 201 },
442 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 96 },
443 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 202 },
444 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
394};445};
395pub const data = blk: {446pub const data = blk: {
396 @setEvalBranchQuota(612);447 @setEvalBranchQuota(729);
397 break :blk [_]Properties{448 break :blk [_]Properties{
398 .{ .param_str = "UiUiUiIUi", .features = "zknd,32bit", .attributes = .{ .@"const" = true } },449 .{ .param_str = "UiUiUiIUi", .features = "zknd,32bit", .attributes = .{ .@"const" = true } },
399 .{ .param_str = "UiUiUiIUi", .features = "zknd,32bit", .attributes = .{ .@"const" = true } },450 .{ .param_str = "UiUiUiIUi", .features = "zknd,32bit", .attributes = .{ .@"const" = true } },
...@@ -434,6 +485,19 @@ pub const data = blk: {...@@ -434,6 +485,19 @@ pub const data = blk: {
434 .{ .param_str = "iiiUi", .features = "xcvalu", .attributes = .{ .@"const" = true } },485 .{ .param_str = "iiiUi", .features = "xcvalu", .attributes = .{ .@"const" = true } },
435 .{ .param_str = "UiUiUiUi", .features = "xcvalu", .attributes = .{ .@"const" = true } },486 .{ .param_str = "UiUiUiUi", .features = "xcvalu", .attributes = .{ .@"const" = true } },
436 .{ .param_str = "UiUiUiUi", .features = "xcvalu", .attributes = .{ .@"const" = true } },487 .{ .param_str = "UiUiUiUi", .features = "xcvalu", .attributes = .{ .@"const" = true } },
488 .{ .param_str = "v", .features = "xmipsexectl", .attributes = .{ .@"const" = true } },
489 .{ .param_str = "v", .features = "xmipsexectl", .attributes = .{ .@"const" = true } },
490 .{ .param_str = "v", .features = "xmipsexectl", .attributes = .{ .@"const" = true } },
491 .{ .param_str = "yf", .features = "xandesbfhcvt", .attributes = .{ .@"const" = true } },
492 .{ .param_str = "fy", .features = "xandesbfhcvt", .attributes = .{ .@"const" = true } },
493 .{ .param_str = "ZiUZiUZi", .features = "xandesperf,32bit", .attributes = .{ .@"const" = true } },
494 .{ .param_str = "WiUWiUWi", .features = "xandesperf,64bit", .attributes = .{ .@"const" = true } },
495 .{ .param_str = "ZiUZiUZi", .features = "xandesperf,32bit", .attributes = .{ .@"const" = true } },
496 .{ .param_str = "WiUWiUWi", .features = "xandesperf,64bit", .attributes = .{ .@"const" = true } },
497 .{ .param_str = "ZiUZiUZi", .features = "xandesperf,32bit", .attributes = .{ .@"const" = true } },
498 .{ .param_str = "WiUWiUWi", .features = "xandesperf,64bit", .attributes = .{ .@"const" = true } },
499 .{ .param_str = "ZiUZiUZi", .features = "xandesperf,32bit", .attributes = .{ .@"const" = true } },
500 .{ .param_str = "WiUWiUWi", .features = "xandesperf,64bit", .attributes = .{ .@"const" = true } },
437 .{ .param_str = "v.", .features = "zihintntl", .attributes = .{ .custom_typecheck = true } },501 .{ .param_str = "v.", .features = "zihintntl", .attributes = .{ .custom_typecheck = true } },
438 .{ .param_str = "v.", .features = "zihintntl", .attributes = .{ .custom_typecheck = true } },502 .{ .param_str = "v.", .features = "zihintntl", .attributes = .{ .custom_typecheck = true } },
439 .{ .param_str = "UiUi", .features = "zbb", .attributes = .{ .@"const" = true } },503 .{ .param_str = "UiUi", .features = "zbb", .attributes = .{ .@"const" = true } },
lib/compiler/aro/aro/Builtins/wasm.zig created+962
...@@ -0,0 +1,962 @@
1//! Autogenerated by GenerateDef from src/aro/Builtins/wasm.def, do not edit
2// zig fmt: off
3
4const std = @import("std");
5
6pub fn with(comptime Properties: type) type {
7return struct {
8
9/// Integer starting at 0 derived from the unique index,
10/// corresponds with the data array index.
11pub const Tag = enum(u16) { __builtin_wasm_abs_f16x8,
12 __builtin_wasm_abs_f32x4,
13 __builtin_wasm_abs_f64x2,
14 __builtin_wasm_abs_i16x8,
15 __builtin_wasm_abs_i32x4,
16 __builtin_wasm_abs_i64x2,
17 __builtin_wasm_abs_i8x16,
18 __builtin_wasm_all_true_i16x8,
19 __builtin_wasm_all_true_i32x4,
20 __builtin_wasm_all_true_i64x2,
21 __builtin_wasm_all_true_i8x16,
22 __builtin_wasm_any_true_v128,
23 __builtin_wasm_avgr_u_i16x8,
24 __builtin_wasm_avgr_u_i8x16,
25 __builtin_wasm_bitmask_i16x8,
26 __builtin_wasm_bitmask_i32x4,
27 __builtin_wasm_bitmask_i64x2,
28 __builtin_wasm_bitmask_i8x16,
29 __builtin_wasm_bitselect,
30 __builtin_wasm_ceil_f16x8,
31 __builtin_wasm_ceil_f32x4,
32 __builtin_wasm_ceil_f64x2,
33 __builtin_wasm_dot_s_i32x4_i16x8,
34 __builtin_wasm_extadd_pairwise_i16x8_s_i32x4,
35 __builtin_wasm_extadd_pairwise_i16x8_u_i32x4,
36 __builtin_wasm_extadd_pairwise_i8x16_s_i16x8,
37 __builtin_wasm_extadd_pairwise_i8x16_u_i16x8,
38 __builtin_wasm_extract_lane_f16x8,
39 __builtin_wasm_floor_f16x8,
40 __builtin_wasm_floor_f32x4,
41 __builtin_wasm_floor_f64x2,
42 __builtin_wasm_loadf16_f32,
43 __builtin_wasm_max_f16x8,
44 __builtin_wasm_max_f32,
45 __builtin_wasm_max_f32x4,
46 __builtin_wasm_max_f64,
47 __builtin_wasm_max_f64x2,
48 __builtin_wasm_memory_atomic_notify,
49 __builtin_wasm_memory_atomic_wait32,
50 __builtin_wasm_memory_atomic_wait64,
51 __builtin_wasm_memory_grow,
52 __builtin_wasm_memory_size,
53 __builtin_wasm_min_f16x8,
54 __builtin_wasm_min_f32,
55 __builtin_wasm_min_f32x4,
56 __builtin_wasm_min_f64,
57 __builtin_wasm_min_f64x2,
58 __builtin_wasm_narrow_s_i16x8_i32x4,
59 __builtin_wasm_narrow_s_i8x16_i16x8,
60 __builtin_wasm_narrow_u_i16x8_i32x4,
61 __builtin_wasm_narrow_u_i8x16_i16x8,
62 __builtin_wasm_nearest_f16x8,
63 __builtin_wasm_nearest_f32x4,
64 __builtin_wasm_nearest_f64x2,
65 __builtin_wasm_pmax_f16x8,
66 __builtin_wasm_pmax_f32x4,
67 __builtin_wasm_pmax_f64x2,
68 __builtin_wasm_pmin_f16x8,
69 __builtin_wasm_pmin_f32x4,
70 __builtin_wasm_pmin_f64x2,
71 __builtin_wasm_q15mulr_sat_s_i16x8,
72 __builtin_wasm_ref_is_null_extern,
73 __builtin_wasm_ref_null_extern,
74 __builtin_wasm_ref_null_func,
75 __builtin_wasm_relaxed_dot_bf16x8_add_f32_f32x4,
76 __builtin_wasm_relaxed_dot_i8x16_i7x16_add_s_i32x4,
77 __builtin_wasm_relaxed_dot_i8x16_i7x16_s_i16x8,
78 __builtin_wasm_relaxed_laneselect_i16x8,
79 __builtin_wasm_relaxed_laneselect_i32x4,
80 __builtin_wasm_relaxed_laneselect_i64x2,
81 __builtin_wasm_relaxed_laneselect_i8x16,
82 __builtin_wasm_relaxed_madd_f16x8,
83 __builtin_wasm_relaxed_madd_f32x4,
84 __builtin_wasm_relaxed_madd_f64x2,
85 __builtin_wasm_relaxed_max_f32x4,
86 __builtin_wasm_relaxed_max_f64x2,
87 __builtin_wasm_relaxed_min_f32x4,
88 __builtin_wasm_relaxed_min_f64x2,
89 __builtin_wasm_relaxed_nmadd_f16x8,
90 __builtin_wasm_relaxed_nmadd_f32x4,
91 __builtin_wasm_relaxed_nmadd_f64x2,
92 __builtin_wasm_relaxed_q15mulr_s_i16x8,
93 __builtin_wasm_relaxed_swizzle_i8x16,
94 __builtin_wasm_relaxed_trunc_s_i32x4_f32x4,
95 __builtin_wasm_relaxed_trunc_s_zero_i32x4_f64x2,
96 __builtin_wasm_relaxed_trunc_u_i32x4_f32x4,
97 __builtin_wasm_relaxed_trunc_u_zero_i32x4_f64x2,
98 __builtin_wasm_replace_lane_f16x8,
99 __builtin_wasm_rethrow,
100 __builtin_wasm_shuffle_i8x16,
101 __builtin_wasm_splat_f16x8,
102 __builtin_wasm_sqrt_f16x8,
103 __builtin_wasm_sqrt_f32x4,
104 __builtin_wasm_sqrt_f64x2,
105 __builtin_wasm_storef16_f32,
106 __builtin_wasm_swizzle_i8x16,
107 __builtin_wasm_table_copy,
108 __builtin_wasm_table_fill,
109 __builtin_wasm_table_get,
110 __builtin_wasm_table_grow,
111 __builtin_wasm_table_set,
112 __builtin_wasm_table_size,
113 __builtin_wasm_test_function_pointer_signature,
114 __builtin_wasm_throw,
115 __builtin_wasm_tls_align,
116 __builtin_wasm_tls_base,
117 __builtin_wasm_tls_size,
118 __builtin_wasm_trunc_f16x8,
119 __builtin_wasm_trunc_f32x4,
120 __builtin_wasm_trunc_f64x2,
121 __builtin_wasm_trunc_s_i32_f32,
122 __builtin_wasm_trunc_s_i32_f64,
123 __builtin_wasm_trunc_s_i64_f32,
124 __builtin_wasm_trunc_s_i64_f64,
125 __builtin_wasm_trunc_sat_s_zero_f64x2_i32x4,
126 __builtin_wasm_trunc_sat_u_zero_f64x2_i32x4,
127 __builtin_wasm_trunc_saturate_s_i16x8_f16x8,
128 __builtin_wasm_trunc_saturate_s_i32_f32,
129 __builtin_wasm_trunc_saturate_s_i32_f64,
130 __builtin_wasm_trunc_saturate_s_i32x4_f32x4,
131 __builtin_wasm_trunc_saturate_s_i64_f32,
132 __builtin_wasm_trunc_saturate_s_i64_f64,
133 __builtin_wasm_trunc_saturate_u_i16x8_f16x8,
134 __builtin_wasm_trunc_saturate_u_i32_f32,
135 __builtin_wasm_trunc_saturate_u_i32_f64,
136 __builtin_wasm_trunc_saturate_u_i32x4_f32x4,
137 __builtin_wasm_trunc_saturate_u_i64_f32,
138 __builtin_wasm_trunc_saturate_u_i64_f64,
139 __builtin_wasm_trunc_u_i32_f32,
140 __builtin_wasm_trunc_u_i32_f64,
141 __builtin_wasm_trunc_u_i64_f32,
142 __builtin_wasm_trunc_u_i64_f64,
143};
144
145pub fn fromName(name: []const u8) ?Properties {
146 const data_index = tagFromName(name) orelse return null;
147 return data[@intFromEnum(data_index)];
148}
149
150pub fn tagFromName(name: []const u8) ?Tag {
151 const unique_index = uniqueIndex(name) orelse return null;
152 return @enumFromInt(unique_index - 1);
153}
154
155pub fn fromTag(tag: Tag) Properties {
156 return data[@intFromEnum(tag)];
157}
158
159pub fn nameFromTagIntoBuf(tag: Tag, name_buf: []u8) []u8 {
160 std.debug.assert(name_buf.len >= longest_name);
161 const unique_index = @intFromEnum(tag) + 1;
162 return nameFromUniqueIndex(unique_index, name_buf);
163}
164
165pub fn nameFromTag(tag: Tag) NameBuf {
166 var name_buf: NameBuf = undefined;
167 const unique_index = @intFromEnum(tag) + 1;
168 const name = nameFromUniqueIndex(unique_index, &name_buf.buf);
169 name_buf.len = @intCast(name.len);
170 return name_buf;
171}
172
173pub const NameBuf = struct {
174 buf: [longest_name]u8 = undefined,
175 len: std.math.IntFittingRange(0, longest_name),
176
177 pub fn span(self: *const NameBuf) []const u8 {
178 return self.buf[0..self.len];
179 }
180};
181
182pub fn exists(name: []const u8) bool {
183 if (name.len < shortest_name or name.len > longest_name) return false;
184
185 var index: u16 = 0;
186 for (name) |c| {
187 index = findInList(dafsa[index].child_index, c) orelse return false;
188 }
189 return dafsa[index].end_of_word;
190}
191
192pub const shortest_name = 20;
193pub const longest_name = 50;
194
195/// Search siblings of `first_child_index` for the `char`
196/// If found, returns the index of the node within the `dafsa` array.
197/// Otherwise, returns `null`.
198pub fn findInList(first_child_index: u16, char: u8) ?u16 {
199 @setEvalBranchQuota(264);
200 var index = first_child_index;
201 while (true) {
202 if (dafsa[index].char == char) return index;
203 if (dafsa[index].end_of_list) return null;
204 index += 1;
205 }
206 unreachable;
207}
208
209/// Returns a unique (minimal perfect hash) index (starting at 1) for the `name`,
210/// or null if the name was not found.
211pub fn uniqueIndex(name: []const u8) ?u16 {
212 if (name.len < shortest_name or name.len > longest_name) return null;
213
214 var index: u16 = 0;
215 var node_index: u16 = 0;
216
217 for (name) |c| {
218 const child_index = findInList(dafsa[node_index].child_index, c) orelse return null;
219 var sibling_index = dafsa[node_index].child_index;
220 while (true) {
221 const sibling_c = dafsa[sibling_index].char;
222 std.debug.assert(sibling_c != 0);
223 if (sibling_c < c) {
224 index += dafsa[sibling_index].number;
225 }
226 if (dafsa[sibling_index].end_of_list) break;
227 sibling_index += 1;
228 }
229 node_index = child_index;
230 if (dafsa[node_index].end_of_word) index += 1;
231 }
232
233 if (!dafsa[node_index].end_of_word) return null;
234
235 return index;
236}
237
238/// Returns a slice of `buf` with the name associated with the given `index`.
239/// This function should only be called with an `index` that
240/// is already known to exist within the `dafsa`, e.g. an index
241/// returned from `uniqueIndex`.
242pub fn nameFromUniqueIndex(index: u16, buf: []u8) []u8 {
243 std.debug.assert(index >= 1 and index <= data.len);
244
245 var node_index: u16 = 0;
246 var count: u16 = index;
247 var w = std.Io.Writer.fixed(buf);
248
249 while (true) {
250 var sibling_index = dafsa[node_index].child_index;
251 while (true) {
252 if (dafsa[sibling_index].number > 0 and dafsa[sibling_index].number < count) {
253 count -= dafsa[sibling_index].number;
254 } else {
255 w.writeByte(dafsa[sibling_index].char) catch unreachable;
256 node_index = sibling_index;
257 if (dafsa[node_index].end_of_word) {
258 count -= 1;
259 }
260 break;
261 }
262
263 if (dafsa[sibling_index].end_of_list) break;
264 sibling_index += 1;
265 }
266 if (count == 0) break;
267 }
268
269 return w.buffered();
270}
271
272const Node = packed struct {
273 char: u8,
274 /// Nodes are numbered with "an integer which gives the number of words that
275 /// would be accepted by the automaton starting from that state." This numbering
276 /// allows calculating "a one-to-one correspondence between the integers 1 to L
277 /// (L is the number of words accepted by the automaton) and the words themselves."
278 ///
279 /// Essentially, this allows us to have a minimal perfect hashing scheme such that
280 /// it's possible to store & lookup the properties of each builtin using a separate array.
281 number: std.math.IntFittingRange(0, data.len),
282 /// If true, this node is the end of a valid builtin.
283 /// Note: This does not necessarily mean that this node does not have child nodes.
284 end_of_word: bool,
285 /// If true, this node is the end of a sibling list.
286 /// If false, then (index + 1) will contain the next sibling.
287 end_of_list: bool,
288 /// Index of the first child of this node.
289 child_index: u16,
290};
291
292const dafsa = [_]Node{
293 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },
294 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 132, .child_index = 2 },
295 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 132, .child_index = 3 },
296 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 132, .child_index = 4 },
297 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 132, .child_index = 5 },
298 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 132, .child_index = 6 },
299 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 132, .child_index = 7 },
300 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 132, .child_index = 8 },
301 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 132, .child_index = 9 },
302 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 132, .child_index = 10 },
303 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 132, .child_index = 11 },
304 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 132, .child_index = 12 },
305 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 132, .child_index = 13 },
306 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 132, .child_index = 14 },
307 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 132, .child_index = 15 },
308 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 132, .child_index = 16 },
309 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 30 },
310 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 34 },
311 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 35 },
312 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 36 },
313 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 37 },
314 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 38 },
315 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 39 },
316 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 40 },
317 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 43 },
318 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 45 },
319 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 46 },
320 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 47 },
321 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 48 },
322 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 53 },
323 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 58 },
324 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 59 },
325 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 60 },
326 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 61 },
327 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 62 },
328 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 63 },
329 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 64 },
330 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 65 },
331 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 66 },
332 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 67 },
333 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 68 },
334 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 69 },
335 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 70 },
336 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 71 },
337 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 72 },
338 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 73 },
339 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 75 },
340 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 76 },
341 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 80 },
342 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 81 },
343 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 82 },
344 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 83 },
345 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 84 },
346 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 85 },
347 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 86 },
348 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 87 },
349 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 88 },
350 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 89 },
351 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 90 },
352 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 91 },
353 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 92 },
354 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 93 },
355 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 94 },
356 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 96 },
357 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 97 },
358 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 98 },
359 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 100 },
360 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 101 },
361 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 102 },
362 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 103 },
363 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 102 },
364 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 104 },
365 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 105 },
366 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 106 },
367 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 107 },
368 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 108 },
369 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 109 },
370 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 23, .child_index = 110 },
371 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 111 },
372 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 112 },
373 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 113 },
374 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 114 },
375 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 115 },
376 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 116 },
377 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 117 },
378 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 118 },
379 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 119 },
380 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 120 },
381 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 121 },
382 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 122 },
383 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 123 },
384 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 125 },
385 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 126 },
386 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 127 },
387 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 128 },
388 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 129 },
389 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 130 },
390 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 131 },
391 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 132 },
392 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 133 },
393 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 134 },
394 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 135 },
395 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 136 },
396 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 137 },
397 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 138 },
398 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 139 },
399 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 130 },
400 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 130 },
401 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 140 },
402 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 141 },
403 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 23, .child_index = 143 },
404 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 144 },
405 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },
406 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 145 },
407 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 146 },
408 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 130 },
409 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 147 },
410 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 148 },
411 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 149 },
412 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 150 },
413 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 151 },
414 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 152 },
415 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 155 },
416 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 156 },
417 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 159 },
418 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 163 },
419 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 164 },
420 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 165 },
421 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 166 },
422 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 167 },
423 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 168 },
424 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 169 },
425 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 170 },
426 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 171 },
427 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 130 },
428 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 172 },
429 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 173 },
430 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 176 },
431 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 177 },
432 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 178 },
433 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 179 },
434 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 180 },
435 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 181 },
436 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 23, .child_index = 182 },
437 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 183 },
438 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 184 },
439 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 185 },
440 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 135 },
441 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 184 },
442 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 186 },
443 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 187 },
444 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
445 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 188 },
446 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 189 },
447 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 190 },
448 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 191 },
449 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 192 },
450 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 193 },
451 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 194 },
452 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 192 },
453 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 193 },
454 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 194 },
455 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 195 },
456 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 196 },
457 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 197 },
458 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 198 },
459 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 199 },
460 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 200 },
461 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 156 },
462 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 201 },
463 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 202 },
464 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 203 },
465 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 204 },
466 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 192 },
467 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 205 },
468 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 206 },
469 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 207 },
470 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 208 },
471 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 115 },
472 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 209 },
473 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 210 },
474 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 211 },
475 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 23, .child_index = 212 },
476 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 213 },
477 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 214 },
478 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 215 },
479 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 216 },
480 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 220 },
481 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 221 },
482 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 222 },
483 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 223 },
484 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 224 },
485 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 227 },
486 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 228 },
487 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 229 },
488 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 230 },
489 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 231 },
490 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 232 },
491 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 233 },
492 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 234 },
493 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 235 },
494 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 236 },
495 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 237 },
496 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 238 },
497 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 239 },
498 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 240 },
499 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 241 },
500 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 242 },
501 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 245 },
502 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 247 },
503 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 248 },
504 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 249 },
505 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 23, .child_index = 250 },
506 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 238 },
507 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 251 },
508 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 252 },
509 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 253 },
510 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 254 },
511 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 255 },
512 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 257 },
513 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 259 },
514 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 260 },
515 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 261 },
516 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 261 },
517 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 156 },
518 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 262 },
519 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 264 },
520 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 265 },
521 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 266 },
522 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 267 },
523 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 268 },
524 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 234 },
525 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 269 },
526 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 270 },
527 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 272 },
528 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 273 },
529 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 274 },
530 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 275 },
531 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 276 },
532 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 277 },
533 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 266 },
534 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 267 },
535 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 278 },
536 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 87 },
537 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 190 },
538 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 279 },
539 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 279 },
540 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 280 },
541 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 281 },
542 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 282 },
543 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 23, .child_index = 283 },
544 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 290 },
545 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 192 },
546 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
547 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 292 },
548 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 273 },
549 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 120 },
550 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 273 },
551 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 223 },
552 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 293 },
553 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 294 },
554 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
555 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 295 },
556 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 296 },
557 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 295 },
558 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
559 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
560 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
561 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
562 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 297 },
563 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 192 },
564 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 195 },
565 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 159 },
566 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
567 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 298 },
568 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 299 },
569 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 300 },
570 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 301 },
571 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 302 },
572 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 303 },
573 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 304 },
574 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 305 },
575 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 306 },
576 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 308 },
577 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 309 },
578 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 310 },
579 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 312 },
580 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 313 },
581 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 314 },
582 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 315 },
583 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 316 },
584 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 317 },
585 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 318 },
586 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 319 },
587 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
588 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 320 },
589 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 322 },
590 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 324 },
591 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 325 },
592 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 326 },
593 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },
594 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 267 },
595 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 328 },
596 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 329 },
597 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 331 },
598 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 332 },
599 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 333 },
600 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 334 },
601 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 335 },
602 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 336 },
603 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 337 },
604 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 339 },
605 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 340 },
606 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 341 },
607 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 84 },
608 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 342 },
609 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 195 },
610 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
611 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
612 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 343 },
613 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 344 },
614 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 345 },
615 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 346 },
616 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 348 },
617 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 349 },
618 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },
619 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 351 },
620 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 352 },
621 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 353 },
622 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 354 },
623 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 355 },
624 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 356 },
625 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 357 },
626 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 358 },
627 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 359 },
628 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 360 },
629 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 361 },
630 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 362 },
631 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 363 },
632 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 363 },
633 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 364 },
634 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 365 },
635 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 366 },
636 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 367 },
637 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 368 },
638 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 368 },
639 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 369 },
640 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 369 },
641 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 370 },
642 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 265 },
643 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 371 },
644 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 372 },
645 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 185 },
646 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 373 },
647 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 374 },
648 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 375 },
649 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 376 },
650 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 377 },
651 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 378 },
652 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 379 },
653 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 380 },
654 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 382 },
655 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 130 },
656 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 383 },
657 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 362 },
658 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 384 },
659 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 385 },
660 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 386 },
661 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 387 },
662 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 388 },
663 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 389 },
664 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 252 },
665 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 390 },
666 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 391 },
667 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 392 },
668 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 393 },
669 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },
670 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 333 },
671 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 394 },
672 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
673 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 395 },
674 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 396 },
675 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 397 },
676 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 398 },
677 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 400 },
678 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 401 },
679 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 402 },
680 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 403 },
681 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 405 },
682 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 406 },
683 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 407 },
684 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 408 },
685 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 410 },
686 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },
687 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 294 },
688 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 411 },
689 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 412 },
690 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 413 },
691 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 193 },
692 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 194 },
693 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 414 },
694 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 415 },
695 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 417 },
696 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 267 },
697 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 266 },
698 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 418 },
699 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 419 },
700 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 420 },
701 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 421 },
702 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 422 },
703 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 423 },
704 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 424 },
705 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 425 },
706 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 426 },
707 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 356 },
708 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 427 },
709 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 427 },
710 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 428 },
711 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 429 },
712 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 430 },
713 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 432 },
714 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 433 },
715 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 434 },
716 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 435 },
717 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 436 },
718 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 437 },
719 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 438 },
720 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 439 },
721 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 441 },
722 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 442 },
723 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 443 },
724 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 443 },
725 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 444 },
726 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 446 },
727 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 447 },
728 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 193 },
729 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 448 },
730 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 449 },
731 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 450 },
732 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 451 },
733 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 452 },
734 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 453 },
735 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 454 },
736 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 455 },
737 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 456 },
738 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 457 },
739 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
740 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 403 },
741 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 459 },
742 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 460 },
743 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 234 },
744 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 461 },
745 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 462 },
746 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
747 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 464 },
748 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 465 },
749 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 468 },
750 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 469 },
751 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 317 },
752 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 470 },
753 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 471 },
754 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 472 },
755 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 473 },
756 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 474 },
757 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 475 },
758 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 476 },
759 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 477 },
760 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 345 },
761 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 478 },
762 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 479 },
763 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 480 },
764 .{ .char = '7', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 481 },
765 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 482 },
766 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 483 },
767 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 484 },
768 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 485 },
769 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },
770 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 487 },
771 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 489 },
772 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 490 },
773 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 491 },
774 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 492 },
775 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 493 },
776 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 494 },
777 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 495 },
778 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
779 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 497 },
780 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 387 },
781 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 482 },
782 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 498 },
783 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 500 },
784 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 502 },
785 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 503 },
786 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 504 },
787 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },
788 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 506 },
789 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 410 },
790 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 185 },
791 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 410 },
792 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 410 },
793 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 350 },
794 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },
795 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },
796 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 508 },
797 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 435 },
798 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 509 },
799 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 510 },
800 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 511 },
801 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 512 },
802 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 514 },
803 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 515 },
804 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 516 },
805 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 517 },
806 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 350 },
807 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 518 },
808 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 519 },
809 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 493 },
810 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 520 },
811 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 521 },
812 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 522 },
813 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 523 },
814 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 524 },
815 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 525 },
816 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 526 },
817 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 527 },
818 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 528 },
819 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 410 },
820 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 194 },
821 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 529 },
822 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 261 },
823};
824pub const data = blk: {
825 @setEvalBranchQuota(1188);
826 break :blk [_]Properties{
827 .{ .param_str = "V8hV8h", .attributes = .{ .@"const" = true }, .features = "fp16" },
828 .{ .param_str = "V4fV4f", .attributes = .{ .@"const" = true }, .features = "simd128" },
829 .{ .param_str = "V2dV2d", .attributes = .{ .@"const" = true }, .features = "simd128" },
830 .{ .param_str = "V8sV8s", .attributes = .{ .@"const" = true }, .features = "simd128" },
831 .{ .param_str = "V4iV4i", .attributes = .{ .@"const" = true }, .features = "simd128" },
832 .{ .param_str = "V2LLiV2LLi", .attributes = .{ .@"const" = true }, .features = "simd128" },
833 .{ .param_str = "V16ScV16Sc", .attributes = .{ .@"const" = true }, .features = "simd128" },
834 .{ .param_str = "iV8s", .attributes = .{ .@"const" = true }, .features = "simd128" },
835 .{ .param_str = "iV4i", .attributes = .{ .@"const" = true }, .features = "simd128" },
836 .{ .param_str = "iV2LLi", .attributes = .{ .@"const" = true }, .features = "simd128" },
837 .{ .param_str = "iV16Sc", .attributes = .{ .@"const" = true }, .features = "simd128" },
838 .{ .param_str = "iV16Sc", .attributes = .{ .@"const" = true }, .features = "simd128" },
839 .{ .param_str = "V8UsV8UsV8Us", .attributes = .{ .@"const" = true }, .features = "simd128" },
840 .{ .param_str = "V16UcV16UcV16Uc", .attributes = .{ .@"const" = true }, .features = "simd128" },
841 .{ .param_str = "UiV8s", .attributes = .{ .@"const" = true }, .features = "simd128" },
842 .{ .param_str = "UiV4i", .attributes = .{ .@"const" = true }, .features = "simd128" },
843 .{ .param_str = "UiV2LLi", .attributes = .{ .@"const" = true }, .features = "simd128" },
844 .{ .param_str = "UiV16Sc", .attributes = .{ .@"const" = true }, .features = "simd128" },
845 .{ .param_str = "V4iV4iV4iV4i", .attributes = .{ .@"const" = true }, .features = "simd128" },
846 .{ .param_str = "V8hV8h", .attributes = .{ .@"const" = true }, .features = "fp16" },
847 .{ .param_str = "V4fV4f", .attributes = .{ .@"const" = true }, .features = "simd128" },
848 .{ .param_str = "V2dV2d", .attributes = .{ .@"const" = true }, .features = "simd128" },
849 .{ .param_str = "V4iV8sV8s", .attributes = .{ .@"const" = true }, .features = "simd128" },
850 .{ .param_str = "V4iV8s", .attributes = .{ .@"const" = true }, .features = "simd128" },
851 .{ .param_str = "V4UiV8Us", .attributes = .{ .@"const" = true }, .features = "simd128" },
852 .{ .param_str = "V8sV16Sc", .attributes = .{ .@"const" = true }, .features = "simd128" },
853 .{ .param_str = "V8UsV16Uc", .attributes = .{ .@"const" = true }, .features = "simd128" },
854 .{ .param_str = "fV8hIi", .attributes = .{ .@"const" = true }, .features = "fp16" },
855 .{ .param_str = "V8hV8h", .attributes = .{ .@"const" = true }, .features = "fp16" },
856 .{ .param_str = "V4fV4f", .attributes = .{ .@"const" = true }, .features = "simd128" },
857 .{ .param_str = "V2dV2d", .attributes = .{ .@"const" = true }, .features = "simd128" },
858 .{ .param_str = "fh*", .attributes = .{ .pure = true }, .features = "fp16" },
859 .{ .param_str = "V8hV8hV8h", .attributes = .{ .@"const" = true }, .features = "fp16" },
860 .{ .param_str = "fff", .attributes = .{ .@"const" = true } },
861 .{ .param_str = "V4fV4fV4f", .attributes = .{ .@"const" = true }, .features = "simd128" },
862 .{ .param_str = "ddd", .attributes = .{ .@"const" = true } },
863 .{ .param_str = "V2dV2dV2d", .attributes = .{ .@"const" = true }, .features = "simd128" },
864 .{ .param_str = "Uii*Ui", .features = "atomics" },
865 .{ .param_str = "ii*iLLi", .features = "atomics" },
866 .{ .param_str = "iLLi*LLiLLi", .features = "atomics" },
867 .{ .param_str = "zIiz" },
868 .{ .param_str = "zIi" },
869 .{ .param_str = "V8hV8hV8h", .attributes = .{ .@"const" = true }, .features = "fp16" },
870 .{ .param_str = "fff", .attributes = .{ .@"const" = true } },
871 .{ .param_str = "V4fV4fV4f", .attributes = .{ .@"const" = true }, .features = "simd128" },
872 .{ .param_str = "ddd", .attributes = .{ .@"const" = true } },
873 .{ .param_str = "V2dV2dV2d", .attributes = .{ .@"const" = true }, .features = "simd128" },
874 .{ .param_str = "V8sV4iV4i", .attributes = .{ .@"const" = true }, .features = "simd128" },
875 .{ .param_str = "V16ScV8sV8s", .attributes = .{ .@"const" = true }, .features = "simd128" },
876 .{ .param_str = "V8UsV4iV4i", .attributes = .{ .@"const" = true }, .features = "simd128" },
877 .{ .param_str = "V16UcV8sV8s", .attributes = .{ .@"const" = true }, .features = "simd128" },
878 .{ .param_str = "V8hV8h", .attributes = .{ .@"const" = true }, .features = "fp16" },
879 .{ .param_str = "V4fV4f", .attributes = .{ .@"const" = true }, .features = "simd128" },
880 .{ .param_str = "V2dV2d", .attributes = .{ .@"const" = true }, .features = "simd128" },
881 .{ .param_str = "V8hV8hV8h", .attributes = .{ .@"const" = true }, .features = "fp16" },
882 .{ .param_str = "V4fV4fV4f", .attributes = .{ .@"const" = true }, .features = "simd128" },
883 .{ .param_str = "V2dV2dV2d", .attributes = .{ .@"const" = true }, .features = "simd128" },
884 .{ .param_str = "V8hV8hV8h", .attributes = .{ .@"const" = true }, .features = "fp16" },
885 .{ .param_str = "V4fV4fV4f", .attributes = .{ .@"const" = true }, .features = "simd128" },
886 .{ .param_str = "V2dV2dV2d", .attributes = .{ .@"const" = true }, .features = "simd128" },
887 .{ .param_str = "V8sV8sV8s", .attributes = .{ .@"const" = true }, .features = "simd128" },
888 .{ .param_str = "ii", .attributes = .{ .@"const" = true, .custom_typecheck = true }, .features = "reference_types" },
889 .{ .param_str = "i", .attributes = .{ .@"const" = true, .custom_typecheck = true }, .features = "reference_types" },
890 .{ .param_str = "i", .attributes = .{ .@"const" = true, .custom_typecheck = true }, .features = "reference_types" },
891 .{ .param_str = "V4fV8UsV8UsV4f", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
892 .{ .param_str = "V4iV16ScV16ScV4i", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
893 .{ .param_str = "V8sV16ScV16Sc", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
894 .{ .param_str = "V8sV8sV8sV8s", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
895 .{ .param_str = "V4iV4iV4iV4i", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
896 .{ .param_str = "V2LLiV2LLiV2LLiV2LLi", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
897 .{ .param_str = "V16ScV16ScV16ScV16Sc", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
898 .{ .param_str = "V8hV8hV8hV8h", .attributes = .{ .@"const" = true }, .features = "fp16" },
899 .{ .param_str = "V4fV4fV4fV4f", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
900 .{ .param_str = "V2dV2dV2dV2d", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
901 .{ .param_str = "V4fV4fV4f", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
902 .{ .param_str = "V2dV2dV2d", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
903 .{ .param_str = "V4fV4fV4f", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
904 .{ .param_str = "V2dV2dV2d", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
905 .{ .param_str = "V8hV8hV8hV8h", .attributes = .{ .@"const" = true }, .features = "fp16" },
906 .{ .param_str = "V4fV4fV4fV4f", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
907 .{ .param_str = "V2dV2dV2dV2d", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
908 .{ .param_str = "V8sV8sV8s", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
909 .{ .param_str = "V16ScV16ScV16Sc", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
910 .{ .param_str = "V4iV4f", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
911 .{ .param_str = "V4iV2d", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
912 .{ .param_str = "V4UiV4f", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
913 .{ .param_str = "V4UiV2d", .attributes = .{ .@"const" = true }, .features = "relaxed_simd" },
914 .{ .param_str = "V8hV8hIif", .attributes = .{ .@"const" = true }, .features = "fp16" },
915 .{ .param_str = "v", .attributes = .{ .@"noreturn" = true }, .features = "exception_handling" },
916 .{ .param_str = "V16ScV16ScV16ScIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi", .attributes = .{ .@"const" = true }, .features = "simd128" },
917 .{ .param_str = "V8hf", .attributes = .{ .@"const" = true }, .features = "fp16" },
918 .{ .param_str = "V8hV8h", .attributes = .{ .@"const" = true }, .features = "fp16" },
919 .{ .param_str = "V4fV4f", .attributes = .{ .@"const" = true }, .features = "simd128" },
920 .{ .param_str = "V2dV2d", .attributes = .{ .@"const" = true }, .features = "simd128" },
921 .{ .param_str = "vfh*", .features = "fp16" },
922 .{ .param_str = "V16ScV16ScV16Sc", .attributes = .{ .@"const" = true }, .features = "simd128" },
923 .{ .param_str = "viiiii", .attributes = .{ .custom_typecheck = true }, .features = "reference_types" },
924 .{ .param_str = "viiii", .attributes = .{ .custom_typecheck = true }, .features = "reference_types" },
925 .{ .param_str = "iii", .attributes = .{ .custom_typecheck = true }, .features = "reference_types" },
926 .{ .param_str = "iiii", .attributes = .{ .custom_typecheck = true }, .features = "reference_types" },
927 .{ .param_str = "viii", .attributes = .{ .custom_typecheck = true }, .features = "reference_types" },
928 .{ .param_str = "zi", .attributes = .{ .custom_typecheck = true }, .features = "reference_types" },
929 .{ .param_str = "i.", .attributes = .{ .@"const" = true, .custom_typecheck = true }, .features = "gc" },
930 .{ .param_str = "vIUiv*", .attributes = .{ .@"noreturn" = true }, .features = "exception_handling" },
931 .{ .param_str = "z", .attributes = .{ .@"const" = true }, .features = "bulk_memory" },
932 .{ .param_str = "v*", .attributes = .{ .pure = true }, .features = "bulk_memory" },
933 .{ .param_str = "z", .attributes = .{ .@"const" = true }, .features = "bulk_memory" },
934 .{ .param_str = "V8hV8h", .attributes = .{ .@"const" = true }, .features = "fp16" },
935 .{ .param_str = "V4fV4f", .attributes = .{ .@"const" = true }, .features = "simd128" },
936 .{ .param_str = "V2dV2d", .attributes = .{ .@"const" = true }, .features = "simd128" },
937 .{ .param_str = "if", .attributes = .{ .@"const" = true } },
938 .{ .param_str = "id", .attributes = .{ .@"const" = true } },
939 .{ .param_str = "LLif", .attributes = .{ .@"const" = true } },
940 .{ .param_str = "LLid", .attributes = .{ .@"const" = true } },
941 .{ .param_str = "V4iV2d", .attributes = .{ .@"const" = true }, .features = "simd128" },
942 .{ .param_str = "V4UiV2d", .attributes = .{ .@"const" = true }, .features = "simd128" },
943 .{ .param_str = "V8sV8h", .attributes = .{ .@"const" = true }, .features = "simd128" },
944 .{ .param_str = "if", .attributes = .{ .@"const" = true }, .features = "nontrapping_fptoint" },
945 .{ .param_str = "id", .attributes = .{ .@"const" = true }, .features = "nontrapping_fptoint" },
946 .{ .param_str = "V4iV4f", .attributes = .{ .@"const" = true }, .features = "simd128" },
947 .{ .param_str = "LLif", .attributes = .{ .@"const" = true }, .features = "nontrapping_fptoint" },
948 .{ .param_str = "LLid", .attributes = .{ .@"const" = true }, .features = "nontrapping_fptoint" },
949 .{ .param_str = "V8sV8h", .attributes = .{ .@"const" = true }, .features = "simd128" },
950 .{ .param_str = "if", .attributes = .{ .@"const" = true }, .features = "nontrapping_fptoint" },
951 .{ .param_str = "id", .attributes = .{ .@"const" = true }, .features = "nontrapping_fptoint" },
952 .{ .param_str = "V4iV4f", .attributes = .{ .@"const" = true }, .features = "simd128" },
953 .{ .param_str = "LLif", .attributes = .{ .@"const" = true }, .features = "nontrapping_fptoint" },
954 .{ .param_str = "LLid", .attributes = .{ .@"const" = true }, .features = "nontrapping_fptoint" },
955 .{ .param_str = "if", .attributes = .{ .@"const" = true } },
956 .{ .param_str = "id", .attributes = .{ .@"const" = true } },
957 .{ .param_str = "LLif", .attributes = .{ .@"const" = true } },
958 .{ .param_str = "LLid", .attributes = .{ .@"const" = true } },
959 };
960};
961};
962}
lib/compiler/aro/aro/Builtins/x86.zig+2701-2863
...@@ -256,7 +256,6 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,...@@ -256,7 +256,6 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,
256 __builtin_ia32_cvtqq2pd512_mask,256 __builtin_ia32_cvtqq2pd512_mask,
257 __builtin_ia32_cvtqq2ps128_mask,257 __builtin_ia32_cvtqq2ps128_mask,
258 __builtin_ia32_cvtqq2ps512_mask,258 __builtin_ia32_cvtqq2ps512_mask,
259 __builtin_ia32_cvtsbf162ss_32,
260 __builtin_ia32_cvtsd2si,259 __builtin_ia32_cvtsd2si,
261 __builtin_ia32_cvtsd2ss,260 __builtin_ia32_cvtsd2ss,
262 __builtin_ia32_cvtsd2ss_round_mask,261 __builtin_ia32_cvtsd2ss_round_mask,
...@@ -881,24 +880,12 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,...@@ -881,24 +880,12 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,
881 __builtin_ia32_prolq128,880 __builtin_ia32_prolq128,
882 __builtin_ia32_prolq256,881 __builtin_ia32_prolq256,
883 __builtin_ia32_prolq512,882 __builtin_ia32_prolq512,
884 __builtin_ia32_prolvd128,
885 __builtin_ia32_prolvd256,
886 __builtin_ia32_prolvd512,
887 __builtin_ia32_prolvq128,
888 __builtin_ia32_prolvq256,
889 __builtin_ia32_prolvq512,
890 __builtin_ia32_prord128,883 __builtin_ia32_prord128,
891 __builtin_ia32_prord256,884 __builtin_ia32_prord256,
892 __builtin_ia32_prord512,885 __builtin_ia32_prord512,
893 __builtin_ia32_prorq128,886 __builtin_ia32_prorq128,
894 __builtin_ia32_prorq256,887 __builtin_ia32_prorq256,
895 __builtin_ia32_prorq512,888 __builtin_ia32_prorq512,
896 __builtin_ia32_prorvd128,
897 __builtin_ia32_prorvd256,
898 __builtin_ia32_prorvd512,
899 __builtin_ia32_prorvq128,
900 __builtin_ia32_prorvq256,
901 __builtin_ia32_prorvq512,
902 __builtin_ia32_psadbw128,889 __builtin_ia32_psadbw128,
903 __builtin_ia32_psadbw256,890 __builtin_ia32_psadbw256,
904 __builtin_ia32_psadbw512,891 __builtin_ia32_psadbw512,
...@@ -1217,19 +1204,11 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,...@@ -1217,19 +1204,11 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,
1217 __builtin_ia32_shufps256,1204 __builtin_ia32_shufps256,
1218 __builtin_ia32_shufps512,1205 __builtin_ia32_shufps512,
1219 __builtin_ia32_slwpcb,1206 __builtin_ia32_slwpcb,
1220 __builtin_ia32_sqrtpd,
1221 __builtin_ia32_sqrtpd256,
1222 __builtin_ia32_sqrtpd512,1207 __builtin_ia32_sqrtpd512,
1223 __builtin_ia32_sqrtph,
1224 __builtin_ia32_sqrtph256,
1225 __builtin_ia32_sqrtph512,1208 __builtin_ia32_sqrtph512,
1226 __builtin_ia32_sqrtps,
1227 __builtin_ia32_sqrtps256,
1228 __builtin_ia32_sqrtps512,1209 __builtin_ia32_sqrtps512,
1229 __builtin_ia32_sqrtsd,
1230 __builtin_ia32_sqrtsd_round_mask,1210 __builtin_ia32_sqrtsd_round_mask,
1231 __builtin_ia32_sqrtsh_round_mask,1211 __builtin_ia32_sqrtsh_round_mask,
1232 __builtin_ia32_sqrtss,
1233 __builtin_ia32_sqrtss_round_mask,1212 __builtin_ia32_sqrtss_round_mask,
1234 __builtin_ia32_stmxcsr,1213 __builtin_ia32_stmxcsr,
1235 __builtin_ia32_storeapd128_mask,1214 __builtin_ia32_storeapd128_mask,
...@@ -1394,8 +1373,6 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,...@@ -1394,8 +1373,6 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,
1394 __builtin_ia32_vcvtph2pd128_mask,1373 __builtin_ia32_vcvtph2pd128_mask,
1395 __builtin_ia32_vcvtph2pd256_mask,1374 __builtin_ia32_vcvtph2pd256_mask,
1396 __builtin_ia32_vcvtph2pd512_mask,1375 __builtin_ia32_vcvtph2pd512_mask,
1397 __builtin_ia32_vcvtph2ps,
1398 __builtin_ia32_vcvtph2ps256,
1399 __builtin_ia32_vcvtph2ps256_mask,1376 __builtin_ia32_vcvtph2ps256_mask,
1400 __builtin_ia32_vcvtph2ps512_mask,1377 __builtin_ia32_vcvtph2ps512_mask,
1401 __builtin_ia32_vcvtph2ps_mask,1378 __builtin_ia32_vcvtph2ps_mask,
...@@ -1568,9 +1545,6 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,...@@ -1568,9 +1545,6 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,
1568 __builtin_ia32_vfcmulcph256_mask,1545 __builtin_ia32_vfcmulcph256_mask,
1569 __builtin_ia32_vfcmulcph512_mask,1546 __builtin_ia32_vfcmulcph512_mask,
1570 __builtin_ia32_vfcmulcsh_mask,1547 __builtin_ia32_vfcmulcsh_mask,
1571 __builtin_ia32_vfmaddbf16128,
1572 __builtin_ia32_vfmaddbf16256,
1573 __builtin_ia32_vfmaddbf16512,
1574 __builtin_ia32_vfmaddcph128_mask,1548 __builtin_ia32_vfmaddcph128_mask,
1575 __builtin_ia32_vfmaddcph128_maskz,1549 __builtin_ia32_vfmaddcph128_maskz,
1576 __builtin_ia32_vfmaddcph256_mask,1550 __builtin_ia32_vfmaddcph256_mask,
...@@ -1582,31 +1556,21 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,...@@ -1582,31 +1556,21 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,
1582 __builtin_ia32_vfmaddcsh_maskz,1556 __builtin_ia32_vfmaddcsh_maskz,
1583 __builtin_ia32_vfmaddcsh_round_mask,1557 __builtin_ia32_vfmaddcsh_round_mask,
1584 __builtin_ia32_vfmaddcsh_round_mask3,1558 __builtin_ia32_vfmaddcsh_round_mask3,
1585 __builtin_ia32_vfmaddpd,
1586 __builtin_ia32_vfmaddpd256,
1587 __builtin_ia32_vfmaddpd512_mask,1559 __builtin_ia32_vfmaddpd512_mask,
1588 __builtin_ia32_vfmaddpd512_mask3,1560 __builtin_ia32_vfmaddpd512_mask3,
1589 __builtin_ia32_vfmaddpd512_maskz,1561 __builtin_ia32_vfmaddpd512_maskz,
1590 __builtin_ia32_vfmaddph,
1591 __builtin_ia32_vfmaddph256,
1592 __builtin_ia32_vfmaddph512_mask,1562 __builtin_ia32_vfmaddph512_mask,
1593 __builtin_ia32_vfmaddph512_mask3,1563 __builtin_ia32_vfmaddph512_mask3,
1594 __builtin_ia32_vfmaddph512_maskz,1564 __builtin_ia32_vfmaddph512_maskz,
1595 __builtin_ia32_vfmaddps,
1596 __builtin_ia32_vfmaddps256,
1597 __builtin_ia32_vfmaddps512_mask,1565 __builtin_ia32_vfmaddps512_mask,
1598 __builtin_ia32_vfmaddps512_mask3,1566 __builtin_ia32_vfmaddps512_mask3,
1599 __builtin_ia32_vfmaddps512_maskz,1567 __builtin_ia32_vfmaddps512_maskz,
1600 __builtin_ia32_vfmaddsd,
1601 __builtin_ia32_vfmaddsd3,
1602 __builtin_ia32_vfmaddsd3_mask,1568 __builtin_ia32_vfmaddsd3_mask,
1603 __builtin_ia32_vfmaddsd3_mask3,1569 __builtin_ia32_vfmaddsd3_mask3,
1604 __builtin_ia32_vfmaddsd3_maskz,1570 __builtin_ia32_vfmaddsd3_maskz,
1605 __builtin_ia32_vfmaddsh3_mask,1571 __builtin_ia32_vfmaddsh3_mask,
1606 __builtin_ia32_vfmaddsh3_mask3,1572 __builtin_ia32_vfmaddsh3_mask3,
1607 __builtin_ia32_vfmaddsh3_maskz,1573 __builtin_ia32_vfmaddsh3_maskz,
1608 __builtin_ia32_vfmaddss,
1609 __builtin_ia32_vfmaddss3,
1610 __builtin_ia32_vfmaddss3_mask,1574 __builtin_ia32_vfmaddss3_mask,
1611 __builtin_ia32_vfmaddss3_mask3,1575 __builtin_ia32_vfmaddss3_mask3,
1612 __builtin_ia32_vfmaddss3_maskz,1576 __builtin_ia32_vfmaddss3_maskz,
...@@ -1809,12 +1773,6 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,...@@ -1809,12 +1773,6 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,
1809 __builtin_ia32_vphsubbw,1773 __builtin_ia32_vphsubbw,
1810 __builtin_ia32_vphsubdq,1774 __builtin_ia32_vphsubdq,
1811 __builtin_ia32_vphsubwd,1775 __builtin_ia32_vphsubwd,
1812 __builtin_ia32_vplzcntd_128,
1813 __builtin_ia32_vplzcntd_256,
1814 __builtin_ia32_vplzcntd_512,
1815 __builtin_ia32_vplzcntq_128,
1816 __builtin_ia32_vplzcntq_256,
1817 __builtin_ia32_vplzcntq_512,
1818 __builtin_ia32_vpmacsdd,1776 __builtin_ia32_vpmacsdd,
1819 __builtin_ia32_vpmacsdqh,1777 __builtin_ia32_vpmacsdqh,
1820 __builtin_ia32_vpmacsdql,1778 __builtin_ia32_vpmacsdql,
...@@ -1837,13 +1795,9 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,...@@ -1837,13 +1795,9 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,
1837 __builtin_ia32_vpmultishiftqb256,1795 __builtin_ia32_vpmultishiftqb256,
1838 __builtin_ia32_vpmultishiftqb512,1796 __builtin_ia32_vpmultishiftqb512,
1839 __builtin_ia32_vpperm,1797 __builtin_ia32_vpperm,
1840 __builtin_ia32_vprotb,
1841 __builtin_ia32_vprotbi,1798 __builtin_ia32_vprotbi,
1842 __builtin_ia32_vprotd,
1843 __builtin_ia32_vprotdi,1799 __builtin_ia32_vprotdi,
1844 __builtin_ia32_vprotq,
1845 __builtin_ia32_vprotqi,1800 __builtin_ia32_vprotqi,
1846 __builtin_ia32_vprotw,
1847 __builtin_ia32_vprotwi,1801 __builtin_ia32_vprotwi,
1848 __builtin_ia32_vpshab,1802 __builtin_ia32_vpshab,
1849 __builtin_ia32_vpshad,1803 __builtin_ia32_vpshad,
...@@ -1857,15 +1811,6 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,...@@ -1857,15 +1811,6 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,
1857 __builtin_ia32_vpshldq128,1811 __builtin_ia32_vpshldq128,
1858 __builtin_ia32_vpshldq256,1812 __builtin_ia32_vpshldq256,
1859 __builtin_ia32_vpshldq512,1813 __builtin_ia32_vpshldq512,
1860 __builtin_ia32_vpshldvd128,
1861 __builtin_ia32_vpshldvd256,
1862 __builtin_ia32_vpshldvd512,
1863 __builtin_ia32_vpshldvq128,
1864 __builtin_ia32_vpshldvq256,
1865 __builtin_ia32_vpshldvq512,
1866 __builtin_ia32_vpshldvw128,
1867 __builtin_ia32_vpshldvw256,
1868 __builtin_ia32_vpshldvw512,
1869 __builtin_ia32_vpshldw128,1814 __builtin_ia32_vpshldw128,
1870 __builtin_ia32_vpshldw256,1815 __builtin_ia32_vpshldw256,
1871 __builtin_ia32_vpshldw512,1816 __builtin_ia32_vpshldw512,
...@@ -1877,15 +1822,6 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,...@@ -1877,15 +1822,6 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,
1877 __builtin_ia32_vpshrdq128,1822 __builtin_ia32_vpshrdq128,
1878 __builtin_ia32_vpshrdq256,1823 __builtin_ia32_vpshrdq256,
1879 __builtin_ia32_vpshrdq512,1824 __builtin_ia32_vpshrdq512,
1880 __builtin_ia32_vpshrdvd128,
1881 __builtin_ia32_vpshrdvd256,
1882 __builtin_ia32_vpshrdvd512,
1883 __builtin_ia32_vpshrdvq128,
1884 __builtin_ia32_vpshrdvq256,
1885 __builtin_ia32_vpshrdvq512,
1886 __builtin_ia32_vpshrdvw128,
1887 __builtin_ia32_vpshrdvw256,
1888 __builtin_ia32_vpshrdvw512,
1889 __builtin_ia32_vpshrdw128,1825 __builtin_ia32_vpshrdw128,
1890 __builtin_ia32_vpshrdw256,1826 __builtin_ia32_vpshrdw256,
1891 __builtin_ia32_vpshrdw512,1827 __builtin_ia32_vpshrdw512,
...@@ -1919,9 +1855,6 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,...@@ -1919,9 +1855,6 @@ pub const Tag = enum(u16) { _AddressOfReturnAddress,
1919 __builtin_ia32_vsm4rnds4128,1855 __builtin_ia32_vsm4rnds4128,
1920 __builtin_ia32_vsm4rnds4256,1856 __builtin_ia32_vsm4rnds4256,
1921 __builtin_ia32_vsm4rnds4512,1857 __builtin_ia32_vsm4rnds4512,
1922 __builtin_ia32_vsqrtbf16,
1923 __builtin_ia32_vsqrtbf16256,
1924 __builtin_ia32_vsqrtbf16512,
1925 __builtin_ia32_vsubbf16128,1858 __builtin_ia32_vsubbf16128,
1926 __builtin_ia32_vsubbf16256,1859 __builtin_ia32_vsubbf16256,
1927 __builtin_ia32_vsubbf16512,1860 __builtin_ia32_vsubbf16512,
...@@ -2043,7 +1976,7 @@ pub const longest_name = 41;...@@ -2043,7 +1976,7 @@ pub const longest_name = 41;
2043/// If found, returns the index of the node within the `dafsa` array.1976/// If found, returns the index of the node within the `dafsa` array.
2044/// Otherwise, returns `null`.1977/// Otherwise, returns `null`.
2045pub fn findInList(first_child_index: u16, char: u8) ?u16 {1978pub fn findInList(first_child_index: u16, char: u8) ?u16 {
2046 @setEvalBranchQuota(3958);1979 @setEvalBranchQuota(3824);
2047 var index = first_child_index;1980 var index = first_child_index;
2048 while (true) {1981 while (true) {
2049 if (dafsa[index].char == char) return index;1982 if (dafsa[index].char == char) return index;
...@@ -2138,13 +2071,13 @@ const Node = packed struct {...@@ -2138,13 +2071,13 @@ const Node = packed struct {
21382071
2139const dafsa = [_]Node{2072const dafsa = [_]Node{
2140 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },2073 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },
2141 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1979, .child_index = 2 },2074 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1912, .child_index = 2 },
2142 .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 10 },2075 .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 10 },
2143 .{ .char = 'B', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 11 },2076 .{ .char = 'B', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 11 },
2144 .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 12 },2077 .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 12 },
2145 .{ .char = 'R', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 13 },2078 .{ .char = 'R', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 13 },
2146 .{ .char = 'W', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 14 },2079 .{ .char = 'W', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 14 },
2147 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1953, .child_index = 15 },2080 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1886, .child_index = 15 },
2148 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 22 },2081 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 22 },
2149 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 24 },2082 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 24 },
2150 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 26 },2083 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 26 },
...@@ -2152,7 +2085,7 @@ const dafsa = [_]Node{...@@ -2152,7 +2085,7 @@ const dafsa = [_]Node{
2152 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 28 },2085 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 28 },
2153 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 29 },2086 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 29 },
2154 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 30 },2087 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 30 },
2155 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1937, .child_index = 31 },2088 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1870, .child_index = 31 },
2156 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 32 },2089 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 32 },
2157 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 33 },2090 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 33 },
2158 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 34 },2091 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 34 },
...@@ -2168,7 +2101,7 @@ const dafsa = [_]Node{...@@ -2168,7 +2101,7 @@ const dafsa = [_]Node{
2168 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 44 },2101 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 44 },
2169 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 45 },2102 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 45 },
2170 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 46 },2103 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 46 },
2171 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1937, .child_index = 47 },2104 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1870, .child_index = 47 },
2172 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 48 },2105 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 48 },
2173 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 49 },2106 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 49 },
2174 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 50 },2107 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 50 },
...@@ -2184,7 +2117,7 @@ const dafsa = [_]Node{...@@ -2184,7 +2117,7 @@ const dafsa = [_]Node{
2184 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 65 },2117 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 65 },
2185 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 66 },2118 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 66 },
2186 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 68 },2119 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 68 },
2187 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1937, .child_index = 69 },2120 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1870, .child_index = 69 },
2188 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 70 },2121 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 70 },
2189 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 71 },2122 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 71 },
2190 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 72 },2123 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 72 },
...@@ -2206,7 +2139,7 @@ const dafsa = [_]Node{...@@ -2206,7 +2139,7 @@ const dafsa = [_]Node{
2206 .{ .char = 'B', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 88 },2139 .{ .char = 'B', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 88 },
2207 .{ .char = 'W', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 14 },2140 .{ .char = 'W', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 14 },
2208 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 89 },2141 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 89 },
2209 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1937, .child_index = 90 },2142 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1870, .child_index = 90 },
2210 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 91 },2143 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 91 },
2211 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 92 },2144 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 92 },
2212 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 93 },2145 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 93 },
...@@ -2227,7 +2160,7 @@ const dafsa = [_]Node{...@@ -2227,7 +2160,7 @@ const dafsa = [_]Node{
2227 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 106 },2160 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 106 },
2228 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 107 },2161 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 107 },
2229 .{ .char = 'B', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 88 },2162 .{ .char = 'B', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 88 },
2230 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1937, .child_index = 108 },2163 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1870, .child_index = 108 },
2231 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 109 },2164 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 109 },
2232 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2165 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2233 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2166 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
...@@ -2245,7 +2178,7 @@ const dafsa = [_]Node{...@@ -2245,7 +2178,7 @@ const dafsa = [_]Node{
2245 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 118 },2178 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 118 },
2246 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 120 },2179 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 120 },
2247 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 121 },2180 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 121 },
2248 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1937, .child_index = 122 },2181 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1870, .child_index = 122 },
2249 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 123 },2182 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 123 },
2250 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 124 },2183 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 124 },
2251 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 128 },2184 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 128 },
...@@ -2259,7 +2192,7 @@ const dafsa = [_]Node{...@@ -2259,7 +2192,7 @@ const dafsa = [_]Node{
2259 .{ .char = 'R', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 136 },2192 .{ .char = 'R', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 136 },
2260 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 137 },2193 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 137 },
2261 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 138 },2194 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 138 },
2262 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1937, .child_index = 139 },2195 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1870, .child_index = 139 },
2263 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2196 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2264 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 140 },2197 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 140 },
2265 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 141 },2198 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 141 },
...@@ -2276,7 +2209,7 @@ const dafsa = [_]Node{...@@ -2276,7 +2209,7 @@ const dafsa = [_]Node{
2276 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 149 },2209 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 149 },
2277 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 150 },2210 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 150 },
2278 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 151 },2211 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 151 },
2279 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1937, .child_index = 152 },2212 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1870, .child_index = 152 },
2280 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 153 },2213 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 153 },
2281 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 142 },2214 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 142 },
2282 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 154 },2215 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 154 },
...@@ -2289,7 +2222,7 @@ const dafsa = [_]Node{...@@ -2289,7 +2222,7 @@ const dafsa = [_]Node{
2289 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 160 },2222 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 160 },
2290 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 161 },2223 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 161 },
2291 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 145 },2224 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 145 },
2292 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1937, .child_index = 162 },2225 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1870, .child_index = 162 },
2293 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 132 },2226 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 132 },
2294 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },2227 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },
2295 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 164 },2228 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 164 },
...@@ -2299,7 +2232,7 @@ const dafsa = [_]Node{...@@ -2299,7 +2232,7 @@ const dafsa = [_]Node{
2299 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 166 },2232 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 166 },
2300 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 167 },2233 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 167 },
2301 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 168 },2234 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 168 },
2302 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1937, .child_index = 174 },2235 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1870, .child_index = 174 },
2303 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2236 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2304 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2237 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2305 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 175 },2238 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 175 },
...@@ -2311,7 +2244,7 @@ const dafsa = [_]Node{...@@ -2311,7 +2244,7 @@ const dafsa = [_]Node{
2311 .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 179 },2244 .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 179 },
2312 .{ .char = 'O', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 180 },2245 .{ .char = 'O', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 180 },
2313 .{ .char = 'X', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },2246 .{ .char = 'X', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 181 },
2314 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1937, .child_index = 182 },2247 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1870, .child_index = 182 },
2315 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 183 },2248 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 183 },
2316 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 184 },2249 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 184 },
2317 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 185 },2250 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 185 },
...@@ -2319,20 +2252,20 @@ const dafsa = [_]Node{...@@ -2319,20 +2252,20 @@ const dafsa = [_]Node{
2319 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 185 },2252 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 185 },
2320 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 187 },2253 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 187 },
2321 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 180 },2254 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 180 },
2322 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1937, .child_index = 188 },2255 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1870, .child_index = 188 },
2323 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 189 },2256 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 189 },
2324 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 187 },2257 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 187 },
2325 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 190 },2258 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 190 },
2326 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 191 },2259 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 191 },
2327 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 192 },2260 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 192 },
2328 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1937, .child_index = 193 },2261 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1870, .child_index = 193 },
2329 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 213 },2262 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 213 },
2330 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 214 },2263 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 214 },
2331 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 215 },2264 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 215 },
2332 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2265 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2333 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 43, .child_index = 216 },2266 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 43, .child_index = 216 },
2334 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 222 },2267 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 222 },
2335 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 222, .child_index = 225 },2268 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 221, .child_index = 225 },
2336 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 230 },2269 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 230 },
2337 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 56, .child_index = 233 },2270 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 56, .child_index = 233 },
2338 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 236 },2271 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 236 },
...@@ -2342,12 +2275,12 @@ const dafsa = [_]Node{...@@ -2342,12 +2275,12 @@ const dafsa = [_]Node{
2342 .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 59, .child_index = 244 },2275 .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 59, .child_index = 244 },
2343 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 38, .child_index = 252 },2276 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 38, .child_index = 252 },
2344 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 79, .child_index = 258 },2277 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 79, .child_index = 258 },
2345 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 360, .child_index = 265 },2278 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 348, .child_index = 265 },
2346 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 101, .child_index = 275 },2279 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 101, .child_index = 275 },
2347 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 140, .child_index = 282 },2280 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 132, .child_index = 282 },
2348 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 291 },2281 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 291 },
2349 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 293 },2282 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 293 },
2350 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 640, .child_index = 296 },2283 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 594, .child_index = 296 },
2351 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 310 },2284 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 310 },
2352 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 312 },2285 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 312 },
2353 .{ .char = 'A', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 319 },2286 .{ .char = 'A', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 319 },
...@@ -2366,7 +2299,7 @@ const dafsa = [_]Node{...@@ -2366,7 +2299,7 @@ const dafsa = [_]Node{
2366 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 62, .child_index = 337 },2299 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 62, .child_index = 337 },
2367 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 48, .child_index = 338 },2300 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 48, .child_index = 338 },
2368 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 339 },2301 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 339 },
2369 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 103, .child_index = 340 },2302 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 102, .child_index = 340 },
2370 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 341 },2303 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 341 },
2371 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 342 },2304 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 342 },
2372 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 344 },2305 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 344 },
...@@ -2409,7 +2342,7 @@ const dafsa = [_]Node{...@@ -2409,7 +2342,7 @@ const dafsa = [_]Node{
2409 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 394 },2342 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 394 },
2410 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 396 },2343 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 396 },
2411 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 129, .child_index = 399 },2344 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 129, .child_index = 399 },
2412 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 402 },2345 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 402 },
2413 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 108, .child_index = 404 },2346 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 108, .child_index = 404 },
2414 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 19, .child_index = 409 },2347 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 19, .child_index = 409 },
2415 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 411 },2348 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 411 },
...@@ -2425,7 +2358,7 @@ const dafsa = [_]Node{...@@ -2425,7 +2358,7 @@ const dafsa = [_]Node{
2425 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 100 },2358 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 100 },
2426 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 428 },2359 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 428 },
2427 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 374 },2360 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 374 },
2428 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 430 },2361 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 430 },
2429 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 431 },2362 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 431 },
2430 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 433 },2363 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 433 },
2431 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 434 },2364 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 434 },
...@@ -2435,1964 +2368,1936 @@ const dafsa = [_]Node{...@@ -2435,1964 +2368,1936 @@ const dafsa = [_]Node{
2435 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 439 },2368 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 439 },
2436 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 440 },2369 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 440 },
2437 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 441 },2370 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 441 },
2438 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 222, .child_index = 442 },2371 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 220, .child_index = 442 },
2439 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 445 },2372 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 445 },
2440 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 447 },2373 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 447 },
2441 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 94, .child_index = 449 },2374 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 81, .child_index = 449 },
2442 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 453 },2375 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 453 },
2443 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 455 },2376 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 455 },
2444 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 456 },2377 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 456 },
2445 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 203, .child_index = 459 },2378 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 175, .child_index = 459 },
2446 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 469 },2379 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 468 },
2447 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 473 },2380 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 472 },
2448 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 478 },2381 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 476 },
2449 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 479 },2382 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 477 },
2450 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 480 },2383 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 478 },
2451 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 482 },2384 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 480 },
2452 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 486 },2385 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 484 },
2453 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 487 },2386 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 485 },
2454 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 488 },2387 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 486 },
2455 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 41 },2388 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 41 },
2456 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 489 },2389 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 487 },
2457 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 491 },2390 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 489 },
2458 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 494 },2391 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 492 },
2459 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 495 },2392 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 493 },
2460 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },2393 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 494 },
2461 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 497 },2394 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 495 },
2462 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 498 },2395 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 496 },
2463 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 498 },2396 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
2464 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 499 },2397 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 497 },
2465 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 502 },2398 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 500 },
2466 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 506 },2399 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 504 },
2467 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },2400 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },
2468 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },2401 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },
2469 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 508 },2402 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 506 },
2470 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 509 },2403 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 507 },
2471 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 510 },2404 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 508 },
2472 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 511 },2405 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 509 },
2473 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 512 },2406 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 510 },
2474 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 513 },2407 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 511 },
2475 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 96 },2408 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 96 },
2476 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 514 },2409 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },
2477 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 62, .child_index = 515 },2410 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 62, .child_index = 513 },
2478 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 48, .child_index = 526 },2411 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 48, .child_index = 524 },
2479 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 528 },2412 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 526 },
2480 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 103, .child_index = 529 },2413 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 102, .child_index = 527 },
2481 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 383 },2414 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 383 },
2482 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 539 },2415 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 537 },
2483 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 540 },2416 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 538 },
2484 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 542 },2417 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 540 },
2485 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 543 },2418 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 541 },
2486 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 545 },2419 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 543 },
2487 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 546 },2420 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 544 },
2488 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 547 },2421 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 545 },
2489 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 548 },2422 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 546 },
2490 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 549 },2423 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 547 },
2491 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 550 },2424 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 548 },
2492 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 551 },2425 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 549 },
2493 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 552 },2426 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 550 },
2494 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 553 },2427 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 551 },
2495 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 554 },2428 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 552 },
2496 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 555 },2429 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 553 },
2497 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 557 },2430 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 555 },
2498 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 558 },2431 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 556 },
2499 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 559 },2432 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 557 },
2500 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 560 },2433 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 558 },
2501 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 561 },2434 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 559 },
2502 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 562 },2435 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 560 },
2503 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 563 },2436 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 561 },
2504 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 564 },2437 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 562 },
2505 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 565 },2438 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 563 },
2506 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 566 },2439 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 564 },
2507 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 571 },2440 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 569 },
2508 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 572 },2441 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 570 },
2509 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 573 },2442 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 571 },
2510 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 574 },2443 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 572 },
2511 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 575 },2444 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 573 },
2512 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 576 },2445 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 574 },
2513 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 577 },2446 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 575 },
2514 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 578 },2447 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 576 },
2515 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 579 },2448 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 577 },
2516 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 580 },2449 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 578 },
2517 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 582 },2450 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 580 },
2518 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 583 },2451 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 581 },
2519 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 584 },2452 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 582 },
2520 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 584 },2453 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 582 },
2521 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 586 },2454 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 584 },
2522 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 587 },2455 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 585 },
2523 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 590 },2456 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 588 },
2524 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 540 },2457 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 538 },
2525 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 591 },2458 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 589 },
2526 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 592 },2459 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 590 },
2527 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 593 },2460 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 591 },
2528 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 115 },2461 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 115 },
2529 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 594 },2462 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 592 },
2530 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 595 },2463 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 593 },
2531 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 596 },2464 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 594 },
2532 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 597 },2465 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 595 },
2533 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 598 },2466 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 596 },
2534 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 599 },2467 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 597 },
2535 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 600 },2468 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 598 },
2536 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 601 },2469 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 599 },
2537 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 602 },2470 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 600 },
2538 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 603 },2471 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 601 },
2539 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 604 },2472 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 602 },
2540 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 108, .child_index = 605 },2473 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 108, .child_index = 603 },
2541 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 606 },2474 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 604 },
2542 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 607 },2475 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 605 },
2543 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 608 },2476 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 606 },
2544 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 610 },2477 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 608 },
2545 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 611 },2478 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 609 },
2546 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 612 },2479 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 610 },
2547 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 613 },2480 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 611 },
2548 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 57, .child_index = 614 },2481 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 57, .child_index = 612 },
2549 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 616 },2482 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 614 },
2550 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 618 },2483 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 616 },
2551 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 619 },2484 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 617 },
2552 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 620 },2485 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 618 },
2553 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 623 },2486 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 621 },
2554 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 627 },2487 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 625 },
2555 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 628 },2488 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 626 },
2556 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 630 },2489 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 628 },
2557 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 631 },2490 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 629 },
2558 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 632 },2491 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 630 },
2559 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 633 },2492 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 631 },
2560 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 634 },2493 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 632 },
2561 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 635 },2494 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 633 },
2562 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 636 },2495 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 634 },
2563 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 637 },2496 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 635 },
2564 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 638 },2497 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 636 },
2565 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 640 },2498 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 638 },
2566 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 641 },2499 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 639 },
2567 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 513 },2500 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 511 },
2568 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 642 },2501 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 640 },
2569 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 644 },2502 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 642 },
2570 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 645 },2503 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 643 },
2571 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 577 },2504 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 575 },
2572 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 646 },2505 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 644 },
2573 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 647 },2506 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 645 },
2574 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 101 },2507 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 101 },
2575 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 650 },2508 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 648 },
2576 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 651 },2509 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 649 },
2577 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 652 },2510 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 650 },
2578 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 653 },2511 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 651 },
2579 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 654 },2512 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 652 },
2580 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 655 },2513 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 653 },
2581 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 656 },2514 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 654 },
2582 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 657 },2515 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 655 },
2583 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 658 },2516 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 656 },
2584 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 210, .child_index = 659 },2517 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 208, .child_index = 657 },
2585 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 660 },2518 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 658 },
2586 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 661 },2519 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 659 },
2587 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 662 },2520 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 660 },
2588 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 663 },2521 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 661 },
2589 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 664 },2522 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 662 },
2590 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 70, .child_index = 665 },2523 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 57, .child_index = 663 },
2591 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 668 },2524 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 666 },
2592 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 669 },2525 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 667 },
2593 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 670 },2526 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 668 },
2594 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 671 },2527 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 669 },
2595 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 672 },2528 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 670 },
2596 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 673 },2529 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 671 },
2597 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 674 },2530 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 672 },
2598 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 675 },2531 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 673 },
2599 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 676 },2532 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 674 },
2600 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 677 },2533 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 675 },
2601 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 48, .child_index = 678 },2534 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 48, .child_index = 676 },
2602 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 37, .child_index = 679 },2535 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 37, .child_index = 677 },
2603 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 680 },2536 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 678 },
2604 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 682 },2537 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 680 },
2605 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 683 },2538 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 682 },
2606 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 685 },2539 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 683 },
2607 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 686 },2540 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 684 },
2608 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 687 },2541 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 655 },
2609 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 657 },2542 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 685 },
2610 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 688 },2543 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 686 },
2611 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 689 },2544 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 687 },
2612 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 690 },2545 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 688 },
2613 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 691 },2546 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 689 },
2614 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 692 },2547 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 690 },
2615 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 693 },2548 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 692 },
2616 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 695 },2549 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 693 },
2617 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 696 },2550 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 694 },
2618 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 697 },2551 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 695 },
2619 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 698 },2552 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 696 },
2620 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 699 },2553 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 697 },
2621 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 700 },2554 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 698 },
2622 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 701 },2555 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 699 },
2623 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 702 },2556 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 700 },
2624 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 703 },2557 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 701 },
2625 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 704 },2558 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 702 },
2626 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 705 },
2627 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 706 },
2628 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },2559 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },
2629 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 707 },2560 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 703 },
2630 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 708 },2561 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 704 },
2631 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 709 },2562 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 705 },
2632 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 62 },2563 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 62 },
2633 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 707 },2564 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 703 },
2634 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 710 },2565 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 706 },
2635 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 711 },2566 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 707 },
2636 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 712 },2567 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 708 },
2637 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 713 },2568 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 709 },
2638 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },2569 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },
2639 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 714 },2570 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 710 },
2640 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 715 },2571 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 711 },
2641 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 718 },2572 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 714 },
2642 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 722 },2573 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 718 },
2643 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 723 },2574 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 719 },
2644 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 724 },2575 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 720 },
2645 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 725 },2576 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 721 },
2646 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 726 },2577 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 722 },
2647 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 54 },2578 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 54 },
2648 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 727 },2579 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 723 },
2649 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 728 },2580 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 724 },
2650 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 729 },2581 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 725 },
2651 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 730 },2582 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 726 },
2652 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 731 },2583 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 727 },
2653 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 732 },2584 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 728 },
2654 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 733 },2585 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 729 },
2655 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },2586 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
2656 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },2587 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
2657 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 737 },2588 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 733 },
2658 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 738 },2589 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 734 },
2659 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 740 },2590 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 736 },
2660 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 742 },2591 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 738 },
2661 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 743 },2592 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 739 },
2662 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },2593 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
2663 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 746 },2594 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 742 },
2664 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 749 },2595 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 745 },
2665 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },2596 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
2666 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 750 },2597 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 746 },
2667 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 755 },2598 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 751 },
2668 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 756 },2599 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 752 },
2669 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 757 },2600 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 753 },
2670 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 758 },2601 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 754 },
2671 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 760 },2602 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 756 },
2672 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 761 },2603 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 757 },
2673 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 762 },2604 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 758 },
2674 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 764 },2605 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 760 },
2675 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 766 },2606 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 762 },
2676 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 27, .child_index = 770 },2607 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 27, .child_index = 765 },
2677 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 772 },2608 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 767 },
2678 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 757 },2609 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 753 },
2679 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 775 },2610 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 770 },
2680 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 715 },2611 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 711 },
2681 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 776 },2612 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 771 },
2682 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 779 },2613 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 774 },
2683 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2614 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2684 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 780 },2615 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 775 },
2685 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2616 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2686 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 781 },2617 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 776 },
2687 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 782 },2618 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 777 },
2688 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 783 },2619 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 778 },
2689 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 784 },2620 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 779 },
2690 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 786 },2621 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 781 },
2691 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 787 },2622 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 782 },
2692 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 788 },2623 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 783 },
2693 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 789 },2624 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 784 },
2694 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 790 },2625 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 785 },
2695 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 791 },2626 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 786 },
2696 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 792 },2627 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 787 },
2697 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 793 },2628 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 788 },
2698 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 793 },2629 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 788 },
2699 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 794 },2630 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 789 },
2700 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 795 },2631 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 790 },
2701 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 796 },2632 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 791 },
2702 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 797 },2633 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 792 },
2703 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 801 },2634 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 796 },
2704 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 806 },2635 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 801 },
2705 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 797 },2636 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 792 },
2706 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },2637 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
2707 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },2638 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
2708 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },2639 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
2709 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },2640 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
2710 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 368 },2641 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 368 },
2711 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 811 },2642 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 806 },
2712 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 812 },2643 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 807 },
2713 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 813 },2644 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 808 },
2714 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 575 },2645 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 573 },
2715 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 797 },2646 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 792 },
2716 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 814 },2647 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 809 },
2717 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 113 },2648 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 113 },
2718 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 815 },2649 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 810 },
2719 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 816 },2650 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 811 },
2720 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 821 },2651 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 816 },
2721 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 822 },2652 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 817 },
2722 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 823 },2653 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 818 },
2723 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 824 },2654 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 819 },
2724 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 827 },2655 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 822 },
2725 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 830 },2656 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 825 },
2657 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 828 },
2658 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 829 },
2659 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 831 },
2660 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 832 },
2661 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 608 },
2726 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 833 },2662 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 833 },
2727 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 834 },2663 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 834 },
2728 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 836 },2664 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 836 },
2729 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 837 },2665 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 837 },
2730 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 610 },2666 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 839 },
2731 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 838 },2667 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 840 },
2732 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 839 },2668 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 841 },
2733 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 841 },2669 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 725 },
2734 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 842 },2670 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 19, .child_index = 843 },
2735 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 844 },2671 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 725 },
2736 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 845 },2672 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 846 },
2737 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 846 },2673 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 847 },
2738 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 729 },2674 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 848 },
2739 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 19, .child_index = 848 },2675 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 849 },
2740 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 729 },2676 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 850 },
2741 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 851 },2677 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 856 },
2742 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 852 },2678 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 859 },
2743 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 853 },2679 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 860 },
2744 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 854 },2680 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 860 },
2745 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 855 },2681 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 862 },
2746 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 861 },2682 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 863 },
2747 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 864 },2683 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 864 },
2748 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 865 },2684 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 865 },
2749 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 865 },2685 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 27, .child_index = 869 },
2750 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 868 },2686 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 865 },
2751 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 869 },2687 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 873 },
2752 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 870 },2688 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 874 },
2753 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 871 },2689 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 875 },
2754 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 27, .child_index = 875 },2690 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 876 },
2755 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 871 },2691 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 877 },
2756 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 879 },2692 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 878 },
2757 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 880 },2693 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 880 },
2758 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 881 },
2759 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 882 },
2760 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 883 },
2761 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 884 },
2762 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 886 },
2763 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 163 },2694 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 163 },
2764 .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 888 },2695 .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 882 },
2765 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 93 },2696 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 93 },
2766 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 889 },2697 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 883 },
2767 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 890 },2698 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 884 },
2768 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 891 },2699 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 885 },
2769 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 892 },2700 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 886 },
2770 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 893 },2701 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 887 },
2771 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 894 },2702 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 888 },
2772 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 895 },2703 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 889 },
2773 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 896 },2704 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 890 },
2774 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 897 },2705 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 891 },
2775 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 898 },2706 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 892 },
2776 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 899 },2707 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 893 },
2777 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 900 },2708 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 894 },
2778 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 901 },2709 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 895 },
2779 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 902 },2710 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 896 },
2780 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 903 },2711 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 897 },
2781 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 904 },2712 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 898 },
2782 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 905 },2713 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 899 },
2783 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 908 },2714 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 902 },
2784 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 909 },2715 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 903 },
2785 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 911 },2716 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 538 },
2786 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 913 },2717 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 905 },
2787 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 914 },2718 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 906 },
2788 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 715 },2719 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 711 },
2789 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 776 },2720 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 771 },
2790 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 915 },2721 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 907 },
2791 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 919 },2722 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 911 },
2792 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 920 },2723 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 912 },
2793 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 921 },2724 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 913 },
2794 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 922 },2725 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 914 },
2795 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 923 },2726 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 915 },
2796 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 924 },2727 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 916 },
2797 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 925 },2728 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 917 },
2798 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 926 },2729 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 918 },
2799 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 210, .child_index = 927 },2730 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 208, .child_index = 919 },
2800 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 923 },2731 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 915 },
2801 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 938 },2732 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 930 },
2802 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 939 },2733 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 931 },
2803 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 941 },2734 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 933 },
2804 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 942 },2735 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 934 },
2805 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 57, .child_index = 944 },2736 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 44, .child_index = 936 },
2806 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 945 },2737 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 937 },
2807 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 946 },2738 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 938 },
2808 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 947 },2739 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 939 },
2809 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 948 },2740 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 940 },
2810 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 949 },2741 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 941 },
2811 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 951 },2742 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 943 },
2812 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 952 },2743 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 944 },
2813 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 923 },2744 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 915 },
2814 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 953 },2745 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 945 },
2815 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 923 },2746 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 915 },
2816 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 955 },2747 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 947 },
2817 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 956 },2748 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 948 },
2818 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 48, .child_index = 958 },2749 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 48, .child_index = 950 },
2819 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 960 },2750 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 952 },
2820 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 961 },2751 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 953 },
2821 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 962 },2752 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 954 },
2822 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 963 },2753 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 955 },
2823 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 964 },2754 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 957 },
2824 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 966 },2755 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 958 },
2825 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 967 },2756 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 959 },
2826 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 968 },2757 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 960 },
2827 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 969 },2758 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 964 },
2828 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 973 },2759 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 965 },
2829 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 974 },2760 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 966 },
2830 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 975 },2761 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 967 },
2831 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 976 },2762 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 968 },
2832 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 977 },2763 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 969 },
2833 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 978 },2764 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 971 },
2834 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 980 },2765 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 915 },
2835 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 982 },2766 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 973 },
2836 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 923 },2767 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 974 },
2837 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 983 },2768 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 975 },
2838 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 984 },2769 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 976 },
2839 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 985 },2770 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 977 },
2840 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 986 },2771 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 882 },
2841 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 987 },
2842 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 888 },
2843 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },2772 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },
2844 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 703 },2773 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 699 },
2845 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 988 },2774 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 978 },
2846 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 989 },2775 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 979 },
2776 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 980 },
2777 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 981 },
2778 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 982 },
2779 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 983 },
2780 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 984 },
2781 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 985 },
2782 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 986 },
2783 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 989 },
2784 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 990 },
2785 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 990 },
2847 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 990 },2786 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 990 },
2848 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 991 },2787 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 991 },
2849 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 992 },2788 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 991 },
2850 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 993 },2789 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 991 },
2851 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 994 },2790 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 556 },
2852 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 995 },2791 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 992 },
2853 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 996 },2792 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 992 },
2854 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 999 },2793 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 993 },
2855 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1000 },2794 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 994 },
2856 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1000 },2795 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 860 },
2857 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1000 },2796 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 995 },
2858 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1001 },2797 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 997 },
2859 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1001 },2798 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 999 },
2860 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1001 },2799 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1000 },
2861 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 558 },2800 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1001 },
2862 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1002 },2801 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1002 },
2863 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1002 },2802 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1003 },
2864 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1003 },2803 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1004 },
2865 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1004 },2804 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1005 },
2866 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1005 },2805 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1006 },
2867 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1007 },2806 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1007 },
2868 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1009 },2807 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1007 },
2869 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1011 },2808 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1007 },
2870 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1012 },2809 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 733 },
2871 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1013 },2810 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 734 },
2872 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1014 },2811 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1009 },
2873 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1015 },2812 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1010 },
2874 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1016 },2813 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
2875 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1017 },2814 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1010 },
2876 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1018 },2815 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1013 },
2877 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1019 },2816 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1014 },
2878 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1019 },2817 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1013 },
2879 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1019 },2818 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1015 },
2880 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 737 },2819 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1016 },
2881 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 738 },2820 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1017 },
2882 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1021 },2821 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1017 },
2883 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1022 },2822 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1019 },
2884 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },2823 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1020 },
2885 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1022 },2824 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1021 },
2886 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1025 },2825 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1022 },
2887 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1026 },2826 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1025 },
2888 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1025 },2827 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1025 },
2889 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1027 },2828 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1026 },
2890 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1028 },2829 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1027 },
2891 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1029 },2830 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1028 },
2892 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1029 },2831 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 1030 },
2893 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1031 },2832 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1031 },
2894 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1032 },2833 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1025 },
2895 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1033 },2834 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1032 },
2896 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1034 },2835 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1033 },
2897 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1037 },2836 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1034 },
2898 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1037 },2837 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1035 },
2899 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1038 },2838 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 1036 },
2900 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1039 },2839 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1038 },
2901 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1040 },2840 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1040 },
2902 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 1042 },2841 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1041 },
2903 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1043 },2842 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1042 },
2904 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1037 },2843 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1043 },
2905 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1044 },2844 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 991 },
2906 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1045 },2845 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 991 },
2907 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1046 },2846 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 991 },
2908 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1047 },2847 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1044 },
2909 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1048 },2848 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1045 },
2910 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 1049 },2849 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1046 },
2911 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1051 },2850 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1047 },
2912 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1053 },2851 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1048 },
2913 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1054 },2852 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 1049 },
2914 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1055 },2853 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1050 },
2915 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1056 },2854 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1051 },
2916 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1001 },2855 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1052 },
2917 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1001 },2856 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1053 },
2918 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1001 },
2919 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1057 },
2920 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1058 },
2921 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1059 },
2922 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1060 },
2923 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1061 },
2924 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 1062 },
2925 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1063 },
2926 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1064 },
2927 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1065 },
2928 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1066 },
2929 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 132 },2857 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 132 },
2930 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1067 },2858 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1054 },
2931 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1068 },2859 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1055 },
2932 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1069 },2860 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1056 },
2933 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1070 },2861 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1057 },
2934 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 892 },2862 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 886 },
2935 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1072 },2863 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1059 },
2936 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1073 },2864 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1060 },
2937 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },2865 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
2938 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },2866 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
2939 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },2867 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
2940 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 810 },2868 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
2941 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },2869 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
2942 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },2870 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
2943 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 797 },2871 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 792 },
2944 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },2872 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
2945 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 810 },2873 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
2946 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2874 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2947 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2875 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2948 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },2876 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
2949 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2877 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2950 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2878 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
2951 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1074 },2879 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1061 },
2952 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1075 },2880 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1062 },
2953 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1077 },2881 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1064 },
2954 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 780 },2882 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 775 },
2955 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 96 },2883 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 96 },
2956 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1078 },2884 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1065 },
2957 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1079 },2885 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1066 },
2958 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1080 },2886 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1067 },
2959 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1081 },2887 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1068 },
2960 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1078 },2888 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1065 },
2961 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1085 },2889 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1072 },
2962 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1086 },2890 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1073 },
2963 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1087 },2891 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1074 },
2964 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1088 },2892 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1075 },
2965 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1089 },2893 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1076 },
2966 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1090 },2894 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1077 },
2967 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1091 },2895 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1078 },
2968 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },2896 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
2969 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1091 },2897 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1078 },
2970 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1096 },2898 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1083 },
2971 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1001 },2899 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 991 },
2972 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1096 },2900 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1083 },
2973 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1097 },2901 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1084 },
2974 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1098 },2902 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1085 },
2975 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1099 },2903 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1086 },
2976 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1100 },2904 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1087 },
2977 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1101 },2905 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1088 },
2978 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1103 },2906 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1090 },
2979 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1104 },2907 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1091 },
2980 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1104 },2908 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1091 },
2981 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1105 },2909 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1092 },
2982 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },2910 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
2983 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },2911 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
2984 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1106 },2912 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1093 },
2985 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1107 },2913 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1094 },
2986 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1108 },2914 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1095 },
2987 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1108 },2915 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1095 },
2988 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1109 },2916 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1096 },
2989 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1111 },2917 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1098 },
2990 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1112 },2918 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1099 },
2991 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1113 },2919 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1100 },
2992 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1116 },2920 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1103 },
2993 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1113 },2921 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1100 },
2994 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1117 },2922 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1104 },
2995 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1119 },2923 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1106 },
2996 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1121 },2924 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1108 },
2997 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 1122 },2925 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 1109 },
2998 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 1125 },2926 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 1112 },
2999 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 1128 },2927 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 1115 },
3000 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1129 },2928 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1116 },
3001 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1130 },2929 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1117 },
3002 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1131 },2930 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1118 },
3003 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1134 },2931 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1121 },
3004 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1135 },2932 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1122 },
3005 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },2933 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
3006 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },2934 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3007 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1005 },2935 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1123 },
3008 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1136 },2936 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1124 },
3009 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1137 },2937 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1128 },
3010 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1141 },2938 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1131 },
3011 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1144 },2939 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1136 },
3012 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1149 },2940 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1140 },
3013 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1153 },2941 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1136 },
3014 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1149 },2942 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1136 },
3015 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1149 },2943 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1136 },
3016 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1149 },2944 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1145 },
3017 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1158 },2945 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1136 },
3018 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1149 },2946 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1150 },
3019 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1163 },2947 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1151 },
3020 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1164 },2948 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1154 },
3021 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1167 },2949 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1155 },
3022 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1168 },2950 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1157 },
3023 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1170 },2951 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
3024 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },2952 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 775 },
3025 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 780 },2953 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1014 },
3026 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1026 },
3027 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2954 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3028 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 889 },2955 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 883 },
3029 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },2956 .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3030 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1172 },2957 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1159 },
3031 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1172 },2958 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1159 },
3032 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },2959 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },
3033 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1173 },2960 .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1160 },
3034 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1174 },2961 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1161 },
3035 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 1175 },2962 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 1162 },
3036 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1176 },2963 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1163 },
3037 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1177 },2964 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1164 },
3038 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 620 },2965 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 618 },
3039 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1179 },2966 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },
3040 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1180 },2967 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1167 },
3041 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1181 },2968 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1168 },
3042 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1182 },2969 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1169 },
3043 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1183 },2970 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1170 },
3044 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1184 },2971 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1171 },
3045 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1185 },2972 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1172 },
3046 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1186 },2973 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1173 },
3047 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1187 },2974 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1174 },
3048 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1188 },2975 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1175 },
3049 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1189 },2976 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1176 },
3050 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1191 },2977 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1178 },
3051 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1193 },2978 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1180 },
3052 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 830 },2979 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1184 },
3053 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1196 },2980 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
3054 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1200 },2981 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
3055 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },2982 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
3056 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },2983 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
3057 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },2984 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 746 },
3058 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },2985 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 783 },
3059 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 750 },2986 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 983 },
3060 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 788 },2987 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3061 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 993 },2988 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1185 },
3062 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },2989 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1186 },
3063 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1201 },2990 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1187 },
3064 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1202 },2991 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1188 },
3065 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1203 },2992 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 1189 },
3066 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1204 },2993 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 1190 },
3067 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 1205 },2994 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1192 },
3068 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 1206 },2995 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1193 },
3069 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1208 },2996 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1194 },
3070 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1209 },2997 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 62, .child_index = 1195 },
3071 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1210 },2998 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1192 },
3072 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 64, .child_index = 1211 },2999 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1198 },
3073 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1208 },3000 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 70, .child_index = 1202 },
3074 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1214 },3001 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1205 },
3075 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 70, .child_index = 1218 },3002 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1209 },
3076 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1221 },3003 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1210 },
3077 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1225 },3004 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1211 },
3078 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1226 },3005 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1212 },
3079 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1227 },3006 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1213 },
3080 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1228 },3007 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1214 },
3081 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1229 },3008 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 938 },
3082 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1230 },3009 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 44, .child_index = 1215 },
3083 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 946 },3010 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1216 },
3084 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 57, .child_index = 1231 },3011 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1217 },
3085 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1232 },3012 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1218 },
3086 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1233 },3013 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1164 },
3087 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1234 },3014 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1219 },
3088 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1177 },3015 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1220 },
3089 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1235 },3016 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1221 },
3090 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1236 },3017 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1222 },
3091 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1237 },3018 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1185 },
3092 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1238 },3019 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1223 },
3093 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1201 },3020 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1224 },
3094 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1239 },3021 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1225 },
3095 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1240 },3022 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1230 },
3096 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1241 },3023 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 1231 },
3097 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1246 },3024 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1231 },
3098 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 1247 },3025 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 1233 },
3099 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1247 },3026 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1235 },
3100 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 37, .child_index = 1249 },3027 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1236 },
3101 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1251 },3028 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1237 },
3029 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1238 },
3030 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1240 },
3031 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1241 },
3032 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1242 },
3033 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 801 },
3034 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 1246 },
3035 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1250 },
3036 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1251 },
3102 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1252 },3037 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1252 },
3103 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1253 },3038 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1253 },
3104 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1254 },3039 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1254 },
3105 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1255 },3040 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1255 },
3106 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1257 },3041 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1256 },
3107 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1258 },3042 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1172 },
3108 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1259 },3043 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1257 },
3109 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 806 },3044 .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1258 },
3110 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 1263 },3045 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1259 },
3111 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 1267 },3046 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1260 },
3112 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1268 },3047 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1263 },
3113 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1269 },
3114 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1270 },
3115 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1271 },
3116 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1272 },
3117 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1273 },
3118 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1185 },
3119 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1274 },
3120 .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1275 },
3121 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1276 },
3122 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1277 },
3123 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1278 },
3124 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1281 },
3125 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },3048 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },
3126 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 699 },3049 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 695 },
3127 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 894 },3050 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 888 },
3128 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 993 },3051 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 983 },
3129 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1283 },3052 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1265 },
3130 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1284 },3053 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1266 },
3131 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1285 },3054 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1267 },
3132 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1286 },3055 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1268 },
3133 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3056 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3134 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1289 },3057 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1271 },
3135 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 187 },3058 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 187 },
3136 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 192 },3059 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 192 },
3137 .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1290 },3060 .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1272 },
3138 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1291 },3061 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1273 },
3139 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1292 },3062 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1274 },
3140 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1293 },3063 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1275 },
3141 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1294 },3064 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1276 },
3142 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1295 },3065 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1277 },
3143 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1300 },3066 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1282 },
3144 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1301 },3067 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1283 },
3145 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },3068 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1284 },
3146 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3069 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1285 },
3147 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1302 },3070 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1057 },
3148 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1303 },3071 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 788 },
3149 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1070 },3072 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
3150 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 793 },
3151 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 810 },
3152 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 153 },3073 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 153 },
3153 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1304 },3074 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1286 },
3154 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1305 },3075 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1287 },
3155 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3076 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3156 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1306 },3077 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1288 },
3157 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1307 },3078 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1289 },
3158 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1308 },3079 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1290 },
3159 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1309 },3080 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1291 },
3160 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1309 },3081 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1291 },
3161 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1019 },3082 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1007 },
3162 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1016 },3083 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1004 },
3163 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1311 },3084 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1293 },
3164 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1018 },3085 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1006 },
3165 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1312 },3086 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1294 },
3166 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1312 },3087 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1294 },
3167 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 742 },3088 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 738 },
3168 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3089 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3169 .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3090 .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3170 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3091 .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3171 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1028 },3092 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1016 },
3172 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1313 },3093 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1295 },
3173 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1317 },3094 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1299 },
3174 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },3095 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
3175 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },3096 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
3176 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 810 },3097 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
3177 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1318 },3098 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1300 },
3178 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1319 },3099 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1301 },
3179 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1320 },3100 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1302 },
3180 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1321 },3101 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1303 },
3181 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1322 },3102 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1304 },
3182 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 1323 },3103 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 1305 },
3183 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1327 },3104 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1309 },
3184 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1331 },3105 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1313 },
3185 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1332 },3106 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1314 },
3186 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1333 },3107 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1315 },
3187 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1334 },3108 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1316 },
3188 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1335 },3109 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 1317 },
3189 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 1336 },3110 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1318 },
3190 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1337 },3111 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1319 },
3191 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1338 },3112 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1319 },
3192 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1338 },3113 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1026 },
3193 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1038 },3114 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1032 },
3194 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1044 },3115 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1034 },
3195 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1047 },3116 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1320 },
3196 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1339 },3117 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1321 },
3197 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1340 },3118 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1322 },
3198 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1341 },3119 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1323 },
3199 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1342 },3120 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1324 },
3200 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1343 },3121 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1325 },
3201 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1344 },3122 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1330 },
3202 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1349 },
3203 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3123 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3204 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1350 },3124 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1331 },
3205 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1351 },3125 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1332 },
3206 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 145 },3126 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 145 },
3207 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1352 },3127 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1333 },
3208 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1356 },3128 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1337 },
3209 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1358 },3129 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1339 },
3210 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 780 },3130 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 775 },
3211 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 780 },3131 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 775 },
3212 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1359 },3132 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1340 },
3213 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },3133 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },
3214 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1364 },3134 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1345 },
3215 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 797 },3135 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 792 },
3216 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 797 },3136 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 792 },
3217 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1366 },3137 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1347 },
3218 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1369 },3138 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1350 },
3219 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1371 },3139 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1352 },
3220 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1372 },3140 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1353 },
3221 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1373 },3141 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1354 },
3222 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1374 },3142 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1355 },
3223 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1374 },3143 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1355 },
3224 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1374 },3144 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1355 },
3225 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },3145 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },
3226 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },3146 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },
3227 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1375 },3147 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1356 },
3228 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1376 },3148 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1357 },
3229 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1377 },3149 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1358 },
3230 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1378 },3150 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1359 },
3231 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1058 },3151 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1045 },
3232 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1293 },3152 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1275 },
3233 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1379 },3153 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1360 },
3234 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1058 },3154 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1045 },
3235 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1293 },3155 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1275 },
3236 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1294 },3156 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1276 },
3237 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1380 },3157 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1361 },
3238 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1381 },3158 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1362 },
3239 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1382 },3159 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1363 },
3240 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 793 },3160 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 788 },
3241 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3161 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3242 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1309 },3162 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1291 },
3243 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3163 .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3244 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1384 },3164 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1365 },
3245 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1386 },3165 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1367 },
3246 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1387 },3166 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1368 },
3247 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1390 },3167 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1371 },
3248 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1391 },3168 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1372 },
3249 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1392 },3169 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1373 },
3250 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1392 },3170 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1373 },
3251 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1394 },3171 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1375 },
3252 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1395 },3172 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1376 },
3253 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1396 },3173 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1377 },
3254 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1398 },3174 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1379 },
3255 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1396 },3175 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1377 },
3256 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1399 },3176 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1380 },
3257 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1400 },3177 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1381 },
3258 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1401 },3178 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1382 },
3259 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1402 },3179 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1383 },
3260 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1402 },3180 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1383 },
3261 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1405 },3181 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1386 },
3262 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1402 },3182 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1383 },
3263 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1406 },3183 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1387 },
3264 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1402 },3184 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1383 },
3265 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1119 },3185 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1106 },
3266 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 1409 },3186 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 1390 },
3267 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1412 },3187 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1393 },
3268 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1125 },3188 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1112 },
3269 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1406 },3189 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1387 },
3270 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3190 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3271 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1413 },3191 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1394 },
3272 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1136 },3192 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1123 },
3273 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3193 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3274 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1130 },3194 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1117 },
3275 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1414 },3195 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1395 },
3276 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3196 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3277 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },3197 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
3278 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1091 },3198 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1078 },
3279 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1415 },3199 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1396 },
3280 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1415 },3200 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1396 },
3281 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1396 },3201 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1377 },
3282 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1396 },3202 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1377 },
3283 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1396 },3203 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1377 },
3284 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1379 },3204 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1360 },
3285 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1058 },3205 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1045 },
3286 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1293 },3206 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1275 },
3287 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },3207 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
3288 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1416 },3208 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1397 },
3289 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1379 },3209 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1360 },
3290 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1058 },3210 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1045 },
3291 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1293 },3211 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1275 },
3292 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3212 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3293 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1417 },3213 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1398 },
3294 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1418 },3214 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1399 },
3295 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1419 },3215 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1400 },
3296 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1420 },3216 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1401 },
3297 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1366 },3217 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1347 },
3298 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1417 },3218 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1398 },
3299 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1419 },3219 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1400 },
3300 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1011 },3220 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 999 },
3301 .{ .char = '8', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1366 },3221 .{ .char = '8', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1347 },
3302 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1396 },3222 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1377 },
3303 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1422 },3223 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1403 },
3304 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1396 },3224 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1377 },
3305 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1423 },3225 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1404 },
3306 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1396 },3226 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1377 },
3307 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1424 },3227 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1405 },
3308 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1369 },3228 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1350 },
3309 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1425 },3229 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1406 },
3310 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1369 },3230 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1350 },
3311 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1427 },3231 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1408 },
3312 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1429 },3232 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1410 },
3313 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3233 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3314 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1431 },3234 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1412 },
3315 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 1432 },3235 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 1413 },
3316 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1435 },3236 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1416 },
3317 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1070 },3237 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1057 },
3318 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1309 },3238 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1291 },
3319 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1436 },3239 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1417 },
3320 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1437 },3240 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1418 },
3321 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1438 },3241 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1419 },
3322 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1440 },3242 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1421 },
3323 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1441 },3243 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1422 },
3324 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1447 },3244 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1428 },
3325 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1448 },3245 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1429 },
3326 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1449 },3246 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1430 },
3327 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1450 },3247 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1431 },
3328 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 978 },3248 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 969 },
3329 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1451 },3249 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1432 },
3330 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1451 },3250 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1432 },
3331 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1091 },3251 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1078 },
3332 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1091 },3252 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1078 },
3333 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1091 },3253 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1065 },
3334 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1091 },3254 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1066 },
3335 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1091 },3255 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1068 },
3336 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1078 },3256 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1065 },
3337 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1079 },3257 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1434 },
3338 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1081 },3258 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1435 },
3339 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1078 },3259 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1436 },
3340 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1453 },3260 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1437 },
3341 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1454 },3261 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1438 },
3342 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1455 },3262 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1442 },
3343 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1456 },3263 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1444 },
3344 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1457 },3264 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1445 },
3345 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1461 },3265 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1209 },
3346 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1463 },3266 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1446 },
3347 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1464 },3267 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1447 },
3348 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1225 },3268 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1209 },
3349 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1465 },3269 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 45, .child_index = 1450 },
3350 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1466 },3270 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1451 },
3351 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1225 },3271 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1452 },
3352 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 47, .child_index = 1469 },3272 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1453 },
3353 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1470 },3273 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1454 },
3354 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1471 },3274 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1452 },
3355 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1472 },3275 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1455 },
3356 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1473 },3276 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 54, .child_index = 1456 },
3357 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1471 },3277 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1459 },
3358 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1474 },3278 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1192 },
3359 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 54, .child_index = 1475 },3279 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1192 },
3360 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1478 },3280 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1462 },
3361 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1208 },3281 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1209 },
3362 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1208 },3282 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1463 },
3363 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1481 },3283 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1464 },
3364 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1225 },3284 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1465 },
3365 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1482 },3285 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1466 },
3366 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1483 },3286 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1467 },
3367 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1484 },3287 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 1468 },
3368 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1485 },3288 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 44, .child_index = 1469 },
3369 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1486 },3289 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1472 },
3370 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 1487 },3290 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1475 },
3371 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 57, .child_index = 1488 },3291 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1477 },
3372 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1492 },3292 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 655 },
3373 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1495 },3293 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1478 },
3374 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1497 },3294 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1479 },
3375 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 657 },3295 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1481 },
3376 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1498 },3296 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1482 },
3377 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1499 },3297 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1483 },
3378 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1501 },
3379 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1502 },
3380 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1503 },
3381 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3298 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3382 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3299 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3383 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3300 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3384 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 806 },3301 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 801 },
3385 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3302 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3386 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1504 },3303 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1484 },
3387 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1505 },3304 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1485 },
3388 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1505 },3305 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1485 },
3389 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1507 },3306 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1487 },
3390 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 34, .child_index = 1508 },3307 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 34, .child_index = 1488 },
3391 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1510 },3308 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1490 },
3392 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1514 },3309 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1494 },
3393 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1517 },3310 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1497 },
3394 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1518 },3311 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1500 },
3395 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1521 },3312 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1501 },
3396 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1522 },3313 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1502 },
3397 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1523 },
3398 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3314 .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3399 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1063 },3315 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
3400 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1063 },3316 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
3401 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1063 },3317 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
3402 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1063 },3318 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
3403 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3319 .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3404 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 19, .child_index = 1524 },3320 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 10, .child_index = 1503 },
3405 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3321 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3406 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3322 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3407 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1528 },3323 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1506 },
3408 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1532 },3324 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1509 },
3409 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1533 },3325 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1510 },
3410 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1534 },3326 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1511 },
3411 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 925 },3327 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 917 },
3412 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1535 },3328 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1512 },
3413 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1536 },3329 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1513 },
3414 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1537 },3330 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1514 },
3415 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1538 },3331 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1515 },
3416 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1539 },3332 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1516 },
3417 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1540 },3333 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 788 },
3418 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 793 },3334 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1517 },
3419 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1541 },3335 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 788 },
3420 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 793 },3336 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1518 },
3421 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1542 },3337 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1519 },
3422 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1543 },
3423 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3338 .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3424 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1544 },3339 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1520 },
3425 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1343 },3340 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1324 },
3426 .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3341 .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3427 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1545 },3342 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1521 },
3428 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3343 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3429 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 545 },3344 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 543 },
3430 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 184 },3345 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 184 },
3431 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1546 },3346 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1522 },
3432 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1547 },3347 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1523 },
3433 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 54 },3348 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 54 },
3434 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1548 },3349 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1524 },
3435 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1549 },3350 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1525 },
3436 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1550 },3351 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1526 },
3437 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1293 },3352 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1275 },
3438 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1551 },3353 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1527 },
3439 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1552 },3354 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1528 },
3440 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1379 },3355 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1360 },
3441 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1553 },3356 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1529 },
3442 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },3357 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },
3443 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1302 },3358 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1284 },
3444 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1554 },3359 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1530 },
3445 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1555 },3360 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1531 },
3446 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1026 },3361 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1014 },
3447 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1026 },3362 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1014 },
3448 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1026 },3363 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1014 },
3449 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3364 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3450 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3365 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3451 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1556 },3366 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1532 },
3452 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1557 },3367 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1533 },
3453 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1028 },3368 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1016 },
3454 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1029 },3369 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1017 },
3455 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1029 },3370 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1017 },
3456 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1031 },3371 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1019 },
3457 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1558 },3372 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1534 },
3458 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1559 },3373 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1535 },
3459 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1560 },3374 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1536 },
3460 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1561 },3375 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1537 },
3461 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1562 },3376 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1538 },
3462 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1563 },3377 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1539 },
3463 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1564 },3378 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1540 },
3464 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1565 },3379 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1541 },
3465 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1566 },3380 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1542 },
3466 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1567 },3381 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1543 },
3467 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1569 },3382 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1545 },
3468 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1570 },3383 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1546 },
3469 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1566 },3384 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1542 },
3470 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1567 },3385 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1543 },
3471 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1571 },3386 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1547 },
3472 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1573 },3387 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1549 },
3473 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1574 },3388 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1072 },
3474 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1085 },3389 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1551 },
3475 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1576 },3390 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1553 },
3476 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1578 },3391 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1556 },
3477 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1581 },3392 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 999 },
3478 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1011 },3393 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1559 },
3479 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1584 },3394 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1560 },
3480 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1585 },
3481 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3395 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3482 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1586 },3396 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1561 },
3483 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3397 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3484 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1587 },3398 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1562 },
3485 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1589 },3399 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1564 },
3486 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 1590 },3400 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 1565 },
3487 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1589 },3401 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1564 },
3488 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1587 },3402 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1562 },
3489 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1591 },3403 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1566 },
3490 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1594 },3404 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1569 },
3491 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1595 },3405 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1570 },
3492 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 1597 },3406 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 1572 },
3493 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1599 },3407 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1574 },
3494 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1601 },3408 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1576 },
3495 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1602 },3409 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1577 },
3496 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1603 },3410 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1578 },
3497 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1606 },3411 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1581 },
3498 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1438 },3412 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1419 },
3499 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1609 },3413 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1584 },
3500 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1610 },3414 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1585 },
3501 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1610 },3415 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1585 },
3502 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1612 },3416 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1587 },
3503 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1063 },3417 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1050 },
3504 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1613 },3418 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1588 },
3505 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1613 },3419 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1588 },
3506 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },3420 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
3507 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },3421 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
3508 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 810 },3422 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
3509 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },3423 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
3510 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },3424 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
3511 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1614 },3425 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1589 },
3512 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1618 },3426 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1593 },
3513 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1619 },3427 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1594 },
3514 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1016 },3428 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1004 },
3515 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },3429 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1595 },
3516 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1622 },3430 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1597 },
3517 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1623 },3431 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1598 },
3518 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1624 },3432 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1599 },
3519 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1625 },3433 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1600 },
3520 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1103 },3434 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1090 },
3521 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1626 },3435 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1601 },
3522 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1627 },3436 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1602 },
3523 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1628 },3437 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1603 },
3524 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1136 },3438 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1123 },
3525 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1629 },3439 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1604 },
3526 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3440 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3527 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1396 },3441 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1377 },
3528 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1630 },3442 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1605 },
3529 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1396 },3443 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1377 },
3530 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1134 },3444 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1121 },
3531 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1631 },3445 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1606 },
3532 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1058 },3446 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1045 },
3533 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1293 },3447 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1275 },
3534 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1058 },3448 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1045 },
3535 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1632 },3449 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1607 },
3536 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1379 },3450 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1360 },
3537 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1058 },3451 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1045 },
3538 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1396 },3452 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1377 },
3539 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1636 },3453 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1611 },
3540 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1413 },3454 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1394 },
3541 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3455 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3542 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1637 },3456 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1612 },
3543 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1638 },3457 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1613 },
3544 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1639 },3458 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1614 },
3545 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1630 },3459 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1605 },
3546 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1637 },3460 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1612 },
3547 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1640 },3461 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1615 },
3548 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1639 },3462 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1614 },
3549 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1402 },3463 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1383 },
3550 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1402 },3464 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1383 },
3551 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1402 },3465 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1383 },
3552 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1402 },3466 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1383 },
3553 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1136 },3467 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1123 },
3554 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1641 },3468 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1616 },
3555 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1091 },3469 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1078 },
3556 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1642 },3470 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1617 },
3557 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1645 },3471 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },
3558 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 810 },3472 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
3559 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1647 },3473 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1622 },
3560 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },3474 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
3561 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 810 },3475 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
3562 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1648 },3476 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1623 },
3563 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1649 },3477 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1624 },
3564 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },3478 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },
3565 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1650 },3479 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1625 },
3566 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1650 },3480 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1625 },
3567 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1026 },3481 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1014 },
3568 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1026 },3482 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1014 },
3569 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1651 },3483 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1626 },
3570 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1652 },3484 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1627 },
3571 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1653 },3485 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1628 },
3572 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 1654 },3486 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 1629 },
3573 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1603 },3487 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1578 },
3574 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1655 },3488 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1630 },
3575 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1658 },3489 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1633 },
3576 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1659 },3490 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1634 },
3577 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1660 },3491 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1635 },
3578 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1603 },3492 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1578 },
3579 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 776 },3493 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 771 },
3580 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1661 },3494 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1636 },
3581 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1663 },3495 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1638 },
3582 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1663 },3496 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1638 },
3583 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1664 },3497 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1639 },
3584 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1663 },3498 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1638 },
3585 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1668 },3499 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1643 },
3586 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1663 },3500 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1638 },
3587 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1672 },3501 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1647 },
3588 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1673 },3502 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1648 },
3589 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 153 },3503 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 153 },
3590 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1675 },3504 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1650 },
3591 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1676 },3505 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1651 },
3592 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1677 },3506 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1652 },
3593 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1678 },3507 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1653 },
3594 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1679 },3508 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1654 },
3595 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1680 },3509 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1655 },
3596 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1682 },3510 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1657 },
3597 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1683 },3511 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1658 },
3598 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3512 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3599 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3513 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3600 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3514 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3601 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1684 },3515 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1659 },
3602 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1685 },3516 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1660 },
3603 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1686 },3517 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1661 },
3604 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1687 },3518 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1662 },
3605 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1688 },3519 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1663 },
3606 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1689 },3520 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1664 },
3607 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1689 },3521 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1664 },
3608 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1691 },3522 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1666 },
3609 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 47, .child_index = 1692 },3523 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 45, .child_index = 1667 },
3610 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1700 },3524 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1675 },
3611 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1702 },3525 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1677 },
3612 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1704 },3526 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1679 },
3613 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 144 },3527 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 144 },
3614 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1463 },3528 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1444 },
3615 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1706 },3529 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1681 },
3616 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 1707 },3530 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 1682 },
3617 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1708 },3531 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1683 },
3618 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1709 },3532 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1684 },
3619 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1710 },3533 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1685 },
3620 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1709 },3534 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1684 },
3621 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1473 },3535 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1454 },
3622 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1711 },3536 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1686 },
3623 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3537 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3624 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1712 },3538 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1687 },
3625 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1713 },3539 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1688 },
3626 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1501 },3540 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1481 },
3627 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 1714 },3541 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 1689 },
3628 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1201 },3542 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1690 },
3629 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1715 },3543 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1692 },
3630 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 1717 },3544 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1695 },
3631 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1720 },3545 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1699 },
3632 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1724 },3546 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1700 },
3633 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1725 },3547 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1703 },
3634 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1728 },3548 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1686 },
3635 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1711 },3549 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1706 },
3636 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1731 },3550 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1707 },
3637 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1732 },3551 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1254 },
3638 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1271 },3552 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1708 },
3639 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1733 },3553 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1709 },
3640 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1734 },3554 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1487 },
3641 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1507 },3555 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1710 },
3642 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1735 },3556 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1713 },
3643 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1738 },3557 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1714 },
3644 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1739 },3558 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1715 },
3645 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1740 },3559 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1715 },
3646 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1740 },3560 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1716 },
3647 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1741 },3561 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 1717 },
3648 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 1742 },3562 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1718 },
3649 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1743 },3563 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1721 },
3650 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1746 },3564 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1016 },
3651 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1028 },3565 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1724 },
3652 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1749 },3566 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1727 },
3653 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1752 },3567 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1729 },
3654 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1754 },3568 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1016 },
3655 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1028 },
3656 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },3569 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },
3657 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1755 },3570 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1730 },
3658 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1757 },3571 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1732 },
3659 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1759 },3572 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1734 },
3660 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1761 },3573 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1736 },
3661 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1763 },3574 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1738 },
3662 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1765 },3575 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1739 },
3663 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1766 },3576 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
3664 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },3577 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
3665 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },3578 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3666 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1767 },3579 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
3667 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3580 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
3668 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },3581 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3669 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },3582 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1740 },
3670 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1767 },3583 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 917 },
3671 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3584 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1741 },
3672 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1770 },3585 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 917 },
3673 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 925 },3586 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 969 },
3674 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1771 },3587 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1742 },
3675 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 925 },3588 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1743 },
3676 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 978 },3589 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1744 },
3677 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1772 },3590 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1745 },
3678 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1773 },3591 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1746 },
3679 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1774 },3592 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1747 },
3680 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1775 },3593 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1748 },
3681 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1776 },3594 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 983 },
3682 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1777 },
3683 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1778 },
3684 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1779 },
3685 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 993 },
3686 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 187 },3595 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 187 },
3687 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1780 },3596 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1749 },
3688 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1781 },3597 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1750 },
3689 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1782 },3598 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1751 },
3690 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1783 },3599 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1752 },
3691 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1784 },3600 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1753 },
3692 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1785 },3601 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1754 },
3693 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1786 },3602 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1755 },
3694 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1545 },3603 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1521 },
3695 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3604 .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3696 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1025 },3605 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1013 },
3697 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1787 },3606 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1756 },
3698 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1788 },3607 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1757 },
3699 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1792 },3608 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1761 },
3700 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1793 },3609 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1762 },
3701 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1794 },3610 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1763 },
3702 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1798 },3611 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1767 },
3703 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1799 },3612 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1768 },
3704 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1800 },3613 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1769 },
3705 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1803 },3614 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1772 },
3706 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },3615 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
3707 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1566 },3616 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1542 },
3708 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1566 },3617 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1542 },
3709 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1806 },3618 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1775 },
3710 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1793 },3619 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1762 },
3711 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1793 },3620 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1762 },
3712 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1808 },3621 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1777 },
3713 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1810 },
3714 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3622 .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3715 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1096 },3623 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1083 },
3716 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1001 },3624 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 991 },
3717 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3625 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3718 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1564 },3626 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1540 },
3719 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1566 },3627 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1542 },
3720 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1567 },3628 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1543 },
3721 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1569 },3629 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1545 },
3722 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1566 },3630 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1542 },
3723 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1567 },3631 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1543 },
3724 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1811 },3632 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1779 },
3725 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1663 },3633 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1638 },
3726 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1812 },3634 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1780 },
3727 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },3635 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
3728 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },3636 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
3729 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },3637 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
3730 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1813 },3638 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1781 },
3731 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1609 },3639 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1584 },
3732 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1814 },3640 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1782 },
3733 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1814 },3641 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1782 },
3734 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1816 },3642 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1784 },
3735 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1603 },3643 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1578 },
3736 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1655 },3644 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1630 },
3737 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1818 },3645 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1786 },
3738 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1818 },3646 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1786 },
3739 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1819 },3647 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1787 },
3740 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1822 },3648 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1790 },
3741 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1819 },3649 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1787 },
3742 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1822 },3650 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1790 },
3743 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },3651 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
3744 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },3652 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
3745 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },3653 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
3746 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1650 },3654 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1625 },
3747 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1650 },3655 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1625 },
3748 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1650 },3656 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1625 },
3749 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1823 },3657 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1791 },
3750 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1824 },3658 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1792 },
3751 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1825 },3659 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1793 },
3752 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1300 },3660 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1282 },
3753 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 797 },3661 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 792 },
3754 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1589 },3662 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1564 },
3755 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1589 },3663 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1564 },
3756 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1589 },3664 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1564 },
3757 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1589 },3665 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1564 },
3758 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1555 },3666 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1531 },
3759 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1826 },3667 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1794 },
3760 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1341 },3668 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1322 },
3761 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 54 },3669 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 54 },
3762 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1819 },3670 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1787 },
3763 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1827 },3671 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1795 },
3764 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1828 },3672 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1796 },
3765 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3673 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3766 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 96 },3674 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 96 },
3767 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1829 },3675 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1797 },
3768 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1829 },3676 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1797 },
3769 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3677 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3770 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1396 },3678 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1377 },
3771 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1831 },3679 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1799 },
3772 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1109 },3680 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1096 },
3773 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1833 },3681 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1801 },
3774 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1833 },3682 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1801 },
3775 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1109 },3683 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1096 },
3776 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1834 },3684 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1802 },
3777 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1835 },3685 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1803 },
3778 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1836 },3686 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1804 },
3779 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1837 },3687 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1805 },
3780 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1838 },3688 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1806 },
3781 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1839 },3689 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1807 },
3782 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1840 },3690 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1808 },
3783 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1841 },3691 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1809 },
3784 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1842 },3692 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1810 },
3785 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },3693 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
3786 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 810 },3694 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
3787 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 810 },3695 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
3788 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1843 },3696 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1811 },
3789 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1396 },3697 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1377 },
3790 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1845 },3698 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1813 },
3791 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1846 },3699 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1814 },
3792 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1846 },3700 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1814 },
3793 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1847 },3701 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1815 },
3794 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 1848 },3702 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 1816 },
3795 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1026 },3703 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1014 },
3796 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1026 },3704 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1014 },
3797 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1026 },3705 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1014 },
3798 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1850 },3706 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1818 },
3799 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3707 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3800 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1179 },3708 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },
3801 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1852 },3709 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1820 },
3802 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1852 },3710 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1820 },
3803 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3711 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3804 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1853 },3712 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1821 },
3805 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1663 },3713 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1638 },
3806 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1663 },3714 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1638 },
3807 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1663 },3715 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1638 },
3808 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1854 },3716 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1822 },
3809 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1855 },3717 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1823 },
3810 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1855 },3718 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1823 },
3811 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1855 },3719 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1823 },
3812 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 132 },3720 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 132 },
3813 .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3721 .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3814 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3722 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3815 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 192 },3723 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 192 },
3816 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1856 },3724 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1824 },
3817 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1857 },3725 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1825 },
3818 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1858 },3726 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1826 },
3819 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3727 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3820 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1859 },3728 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1827 },
3821 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1860 },3729 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1828 },
3822 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },3730 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
3823 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1861 },3731 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1829 },
3824 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1862 },3732 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1830 },
3825 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1864 },3733 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1832 },
3826 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1865 },3734 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1833 },
3827 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1866 },3735 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1834 },
3828 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1225 },3736 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1209 },
3829 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1859 },3737 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1827 },
3830 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1860 },3738 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1828 },
3831 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1867 },3739 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1835 },
3832 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1868 },3740 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1836 },
3833 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1566 },3741 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1542 },
3834 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1868 },3742 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1836 },
3835 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1869 },3743 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1837 },
3836 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1871 },3744 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1839 },
3837 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1566 },3745 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1542 },
3838 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1873 },3746 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1841 },
3839 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },3747 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
3840 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1869 },3748 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1837 },
3841 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1876 },3749 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1844 },
3842 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1877 },3750 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1845 },
3843 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1879 },3751 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1847 },
3844 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1880 },3752 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1848 },
3845 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1879 },3753 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1847 },
3846 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1883 },3754 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1851 },
3847 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1886 },3755 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1854 },
3848 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1891 },3756 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1859 },
3849 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1895 },3757 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1863 },
3850 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1897 },3758 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1865 },
3851 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },3759 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
3852 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1899 },3760 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1867 },
3853 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1900 },3761 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1868 },
3854 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 1715 },3762 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 11, .child_index = 1690 },
3855 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1901 },3763 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1869 },
3856 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1902 },3764 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1870 },
3857 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1903 },3765 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1871 },
3858 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1903 },3766 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1871 },
3859 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1903 },3767 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1871 },
3860 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1905 },3768 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1872 },
3861 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1906 },3769 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1872 },
3862 .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1905 },3770 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1872 },
3863 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1907 },3771 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1873 },
3864 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1908 },3772 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1874 },
3865 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1909 },3773 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1875 },
3866 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1909 },3774 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1875 },
3867 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1909 },3775 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1875 },
3868 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1910 },3776 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1876 },
3869 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1910 },3777 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1876 },
3870 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1910 },3778 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1876 },
3871 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1026 },3779 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1014 },
3872 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 925 },3780 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 917 },
3873 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1911 },3781 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1877 },
3874 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1912 },3782 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1878 },
3875 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1201 },3783 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1185 },
3876 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1913 },3784 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1879 },
3877 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 776 },3785 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 771 },
3878 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1916 },3786 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1882 },
3879 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1917 },3787 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1883 },
3880 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1918 },3788 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1884 },
3881 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1922 },3789 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1888 },
3882 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1923 },3790 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1889 },
3883 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 793 },3791 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 788 },
3884 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1191 },3792 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1178 },
3885 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1924 },3793 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1890 },
3886 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3794 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3887 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3795 .{ .char = 'q', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3888 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3796 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3889 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1746 },3797 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1721 },
3890 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1028 },3798 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1016 },
3891 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1752 },3799 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1727 },
3892 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3800 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3893 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3801 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3894 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3802 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3895 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1663 },
3896 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1663 },
3897 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3803 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3898 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1925 },3804 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1891 },
3899 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1757 },3805 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1730 },
3900 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1761 },3806 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1734 },
3901 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3807 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
3902 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3808 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3903 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1927 },3809 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1893 },
3904 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },3810 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },
3905 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1928 },3811 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1894 },
3906 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1930 },3812 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1896 },
3907 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },3813 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1897 },
3908 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },3814 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1898 },
3909 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },
3910 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1931 },
3911 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1932 },
3912 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 54 },3815 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 54 },
3913 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3816 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3914 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1773 },3817 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1743 },
3915 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1933 },3818 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 788 },
3916 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 793 },
3917 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3819 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
3918 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 151 },3820 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 151 },
3919 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1934 },3821 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1899 },
3920 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1303 },3822 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1285 },
3921 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1935 },3823 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1900 },
3922 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1936 },3824 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1901 },
3923 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1936 },3825 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1901 },
3924 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1937 },3826 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1902 },
3925 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1938 },3827 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1903 },
3926 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1939 },3828 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1904 },
3927 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1934 },3829 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1899 },
3928 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1587 },3830 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1562 },
3929 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1589 },3831 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1564 },
3930 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1589 },3832 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1564 },
3931 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1940 },3833 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 1905 },
3932 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3834 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3933 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1018 },3835 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1006 },
3934 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },3836 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
3935 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },3837 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
3936 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },3838 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
3937 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3839 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3938 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1943 },3840 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1908 },
3939 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1944 },3841 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1909 },
3940 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1016 },3842 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1004 },
3941 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1058 },3843 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1045 },
3942 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1018 },3844 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1006 },
3943 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1058 },3845 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1045 },
3944 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1018 },3846 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1006 },
3945 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1312 },3847 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1294 },
3946 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1058 },3848 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1045 },
3947 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1018 },3849 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1006 },
3948 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1016 },3850 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1004 },
3949 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1018 },3851 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1006 },
3950 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1945 },3852 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1910 },
3951 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1946 },3853 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1911 },
3952 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1947 },3854 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1913 },
3953 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1949 },3855 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1914 },
3954 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1950 },3856 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1915 },
3955 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1951 },3857 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1916 },
3956 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1952 },3858 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1918 },
3957 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1954 },3859 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1920 },
3958 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1956 },3860 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 775 },
3959 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 780 },3861 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1057 },
3960 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1070 },3862 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 775 },
3961 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 780 },3863 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1921 },
3962 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1957 },3864 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1098 },
3963 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1111 },3865 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1923 },
3964 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1959 },3866 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1924 },
3965 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1960 },3867 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1355 },
3966 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1374 },3868 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 883 },
3967 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 889 },3869 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1787 },
3968 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1819 },3870 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1925 },
3969 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1961 },3871 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1926 },
3970 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1962 },3872 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1927 },
3971 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1963 },3873 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1282 },
3972 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1300 },3874 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
3973 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3875 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1933 },
3974 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1969 },3876 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1934 },
3975 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1970 },3877 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1934 },
3976 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1970 },3878 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1934 },
3977 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1970 },3879 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1936 },
3978 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1972 },3880 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 543 },
3979 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 545 },3881 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1937 },
3980 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1973 },3882 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1938 },
3981 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1974 },3883 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1939 },
3982 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1975 },3884 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1940 },
3983 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1976 },3885 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1940 },
3984 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1976 },3886 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1943 },
3985 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1979 },3887 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1944 },
3986 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1980 },3888 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1945 },
3987 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1981 },3889 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1946 },
3988 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1982 },3890 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1947 },
3989 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1983 },3891 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1950 },
3990 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1986 },3892 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 771 },
3991 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 776 },3893 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1953 },
3992 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1989 },3894 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1638 },
3993 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1663 },3895 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1823 },
3994 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1855 },3896 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1282 },
3995 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1300 },3897 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1954 },
3996 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1990 },3898 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1955 },
3997 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1991 },3899 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1285 },
3998 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1303 },3900 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1956 },
3999 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1992 },3901 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1957 },
4000 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1993 },3902 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1958 },
4001 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1994 },3903 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1959 },
4002 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1995 },3904 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1959 },
4003 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1995 },3905 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1960 },
4004 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1996 },3906 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1961 },
4005 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1997 },3907 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1962 },
4006 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1998 },3908 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1963 },
4007 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1999 },3909 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1964 },
3910 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1965 },
3911 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1966 },
3912 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
3913 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1967 },
3914 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1542 },
3915 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1542 },
3916 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
3917 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1971 },
3918 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 991 },
3919 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },
3920 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1975 },
3921 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 991 },
3922 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 505 },
3923 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 991 },
3924 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1976 },
3925 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1976 },
3926 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1977 },
3927 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1542 },
3928 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1837 },
3929 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1542 },
3930 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1841 },
3931 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
3932 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1976 },
3933 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1837 },
3934 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1976 },
3935 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1977 },
3936 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1979 },
3937 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1980 },
3938 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1975 },
3939 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1847 },
3940 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1981 },
3941 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1986 },
3942 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1990 },
3943 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1993 },
3944 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1994 },
3945 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1995 },
3946 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1996 },
3947 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1997 },
3948 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1998 },
3949 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1999 },
4008 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2000 },3950 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2000 },
4009 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2001 },3951 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2001 },
4010 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2002 },3952 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2002 },
4011 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },3953 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2002 },
4012 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 2003 },3954 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2002 },
4013 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1566 },3955 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2005 },
4014 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1566 },3956 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2006 },
4015 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },3957 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1360 },
4016 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 2003 },3958 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1045 },
4017 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1001 },3959 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1275 },
4018 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },3960 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
4019 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2007 },3961 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2007 },
4020 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1001 },3962 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2008 },
4021 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 507 },3963 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2009 },
4022 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1001 },
4023 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2008 },
4024 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2008 },
4025 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2009 },
4026 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1566 },
4027 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1869 },
4028 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1566 },
4029 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1873 },
4030 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },
4031 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2008 },
4032 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1869 },
4033 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2008 },
4034 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2009 },
4035 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2011 },
4036 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2012 },
4037 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2007 },
4038 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1879 },
4039 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 2013 },
4040 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2018 },
4041 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2022 },
4042 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2025 },
4043 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1058 },
4044 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2026 },
4045 .{ .char = '3', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2027 },
4046 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2028 },
4047 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 2029 },
4048 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2030 },
4049 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2031 },
4050 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2032 },
4051 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2033 },
4052 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2034 },
4053 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2035 },
4054 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2035 },
4055 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2035 },
4056 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2038 },
4057 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2039 },
4058 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1379 },
4059 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1058 },
4060 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1293 },
4061 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },
4062 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2040 },
4063 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2041 },
4064 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2042 },
4065 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },3964 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
4066 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3965 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4067 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },3966 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },
4068 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2043 },3967 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2010 },
4069 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2043 },3968 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2010 },
4070 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2044 },3969 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2011 },
4071 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2045 },3970 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2012 },
4072 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2046 },3971 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2013 },
4073 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1091 },
4074 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },3972 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4075 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2047 },3973 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2014 },
4076 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2048 },3974 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2015 },
4077 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },3975 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
4078 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2049 },3976 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2016 },
4079 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2051 },3977 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2018 },
4080 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },3978 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
4081 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },3979 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
4082 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2052 },3980 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2019 },
4083 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2053 },3981 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2020 },
4084 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2054 },3982 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2021 },
4085 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2055 },3983 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2022 },
4086 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2056 },3984 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2023 },
4087 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2057 },3985 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2024 },
4088 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2058 },3986 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2025 },
4089 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2059 },3987 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2029 },
4090 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2063 },3988 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2030 },
4091 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2064 },3989 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1940 },
4092 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1976 },3990 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1940 },
4093 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1976 },3991 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2031 },
4094 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2065 },3992 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2031 },
4095 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2065 },3993 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2032 },
4096 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2066 },3994 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2035 },
4097 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2069 },3995 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2036 },
4098 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2070 },3996 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2037 },
4099 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2071 },3997 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2039 },
4100 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2073 },3998 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2041 },
4101 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2075 },3999 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2042 },
4102 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2076 },4000 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1360 },
4103 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1379 },4001 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1282 },
4104 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1300 },4002 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1282 },
4105 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1300 },4003 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1282 },
4106 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1300 },4004 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1282 },
4107 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1300 },4005 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1282 },
4108 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1300 },4006 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1282 },
4109 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1300 },4007 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1294 },
4110 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1312 },4008 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2043 },
4111 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2077 },4009 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2043 },
4112 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2077 },4010 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2044 },
4113 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2078 },4011 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2044 },
4114 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2078 },4012 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2044 },
4115 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2078 },4013 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2045 },
4116 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2079 },4014 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2046 },
4117 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2080 },4015 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2047 },
4118 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2081 },4016 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 991 },
4119 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1001 },4017 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2048 },
4120 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2082 },4018 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1285 },
4121 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1303 },4019 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2049 },
4122 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2083 },4020 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2050 },
4123 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2084 },4021 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2051 },
4124 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2085 },4022 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2052 },
4125 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2086 },4023 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2053 },
4126 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2087 },4024 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2053 },
4127 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2087 },4025 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2053 },
4128 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2087 },4026 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2054 },
4129 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2088 },4027 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2058 },
4130 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2092 },4028 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2058 },
4131 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2092 },4029 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2059 },
4132 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2093 },4030 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2060 },
4133 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2094 },4031 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1295 },
4134 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1313 },4032 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2061 },
4135 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2095 },4033 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2062 },
4136 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2096 },4034 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2063 },
4137 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2097 },4035 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2065 },
4138 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2099 },4036 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2066 },
4139 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2100 },4037 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2067 },
4140 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2101 },4038 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
4141 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },4039 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1965 },
4142 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2001 },4040 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1005 },
4143 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1311 },4041 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1006 },
4144 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1018 },4042 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1294 },
4145 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1312 },4043 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
4146 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },4044 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1293 },
4147 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },4045 .{ .char = '5', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1006 },
4148 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2103 },4046 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1294 },
4149 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2008 },4047 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
4150 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2008 },4048 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },
4151 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2104 },4049 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2069 },
4152 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2011 },4050 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1976 },
4153 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2106 },4051 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1976 },
4154 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1418 },4052 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2070 },
4155 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2107 },4053 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1979 },
4156 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2108 },4054 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2072 },
4157 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1645 },4055 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1399 },
4158 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2106 },4056 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2073 },
4159 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2107 },4057 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2074 },
4160 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1645 },4058 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },
4161 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1645 },4059 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2072 },
4162 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2079 },4060 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2073 },
4163 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2080 },4061 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1620 },
4164 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2026 },4062 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },
4165 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2110 },4063 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2045 },
4166 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2112 },4064 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2046 },
4167 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2113 },4065 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1994 },
4168 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2113 },4066 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2076 },
4169 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 1717 },4067 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2078 },
4170 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1725 },4068 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2079 },
4171 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2114 },4069 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 2080 },
4172 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2115 },4070 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1700 },
4173 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2116 },4071 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2083 },
4174 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2117 },4072 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2084 },
4175 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1016 },4073 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2085 },
4176 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1017 },4074 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2086 },
4177 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2118 },4075 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1004 },
4178 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2119 },4076 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1005 },
4179 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2120 },4077 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2087 },
4180 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2122 },4078 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2088 },
4181 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2123 },4079 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2089 },
4182 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2127 },4080 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2091 },
4183 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1130 },4081 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2092 },
4184 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2128 },4082 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2096 },
4185 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2129 },4083 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1117 },
4186 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2130 },4084 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2097 },
4187 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1026 },4085 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2098 },
4188 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2131 },4086 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2099 },
4189 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2132 },4087 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1014 },
4190 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2133 },4088 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2100 },
4191 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2134 },4089 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2101 },
4192 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2135 },4090 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2102 },
4193 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2136 },4091 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2103 },
4194 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2137 },4092 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2104 },
4195 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2138 },4093 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2105 },
4196 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1303 },4094 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2106 },
4197 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2139 },4095 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1285 },
4198 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2140 },4096 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2107 },
4199 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1587 },4097 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2108 },
4200 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1589 },4098 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1562 },
4201 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1589 },4099 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1564 },
4202 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1587 },4100 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1564 },
4203 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2141 },4101 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1562 },
4204 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2143 },4102 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2109 },
4205 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2145 },4103 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2111 },
4206 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2070 },4104 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2113 },
4207 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2146 },4105 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2036 },
4208 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2148 },4106 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2114 },
4209 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2148 },4107 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2116 },
4210 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2149 },4108 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2116 },
4211 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2092 },4109 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2117 },
4110 .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2058 },
4212 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4111 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4213 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2151 },4112 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2119 },
4214 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4113 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4215 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2152 },4114 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2120 },
4216 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2153 },4115 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2121 },
4217 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2154 },4116 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2122 },
4218 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2155 },4117 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2123 },
4219 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2156 },4118 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2124 },
4220 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2157 },4119 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2125 },
4221 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2158 },4120 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2126 },
4222 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2159 },4121 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2127 },
4223 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2160 },4122 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2128 },
4224 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2160 },4123 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2128 },
4225 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2160 },4124 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2128 },
4226 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2160 },4125 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2128 },
4227 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2161 },4126 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2129 },
4228 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2069 },4127 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2035 },
4229 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2070 },4128 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2036 },
4230 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2146 },4129 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2114 },
4231 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2146 },4130 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2114 },
4232 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1394 },4131 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1375 },
4233 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1993 },4132 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1957 },
4234 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2164 },4133 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2132 },
4235 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2165 },4134 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2133 },
4236 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },4135 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
4237 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1483 },4136 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1464 },
4238 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2167 },4137 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2135 },
4239 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2168 },4138 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2136 },
4240 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2170 },4139 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2138 },
4241 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 734 },4140 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 730 },
4242 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2171 },4141 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2139 },
4243 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2035 },4142 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2002 },
4244 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 54 },4143 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 54 },
4245 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },4144 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },
4246 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2172 },4145 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2140 },
4247 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2174 },4146 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2142 },
4248 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },4147 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
4249 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2149 },4148 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2117 },
4250 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2175 },4149 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2143 },
4251 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2176 },4150 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2144 },
4252 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2028 },4151 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1995 },
4253 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2177 },4152 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2145 },
4254 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2032 },4153 .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 2146 },
4255 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2178 },4154 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 2146 },
4256 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2179 },4155 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 2146 },
4257 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2180 },4156 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1999 },
4258 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2181 },4157 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2148 },
4259 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2182 },4158 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2149 },
4260 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2183 },4159 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2150 },
4261 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2183 },4160 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2151 },
4262 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2184 },4161 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2152 },
4263 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },4162 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2153 },
4264 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1833 },4163 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2153 },
4265 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2186 },4164 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2154 },
4266 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1149 },4165 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
4267 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1191 },4166 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1801 },
4268 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2188 },4167 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2156 },
4269 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2189 },4168 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1136 },
4270 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2190 },4169 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1178 },
4271 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2191 },4170 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2158 },
4272 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2192 },4171 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2159 },
4273 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2193 },4172 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2160 },
4274 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2194 },4173 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2161 },
4275 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2195 },4174 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2162 },
4276 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2196 },4175 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2163 },
4277 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2171 },4176 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2164 },
4278 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },4177 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2165 },
4279 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1303 },4178 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2166 },
4280 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1303 },4179 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2139 },
4281 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2197 },4180 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1285 },
4282 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1026 },4181 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1285 },
4283 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2198 },4182 .{ .char = '4', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2167 },
4284 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1026 },4183 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1014 },
4285 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2175 },4184 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2168 },
4286 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2149 },4185 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1014 },
4287 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2149 },4186 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2143 },
4288 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2149 },4187 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2117 },
4188 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2117 },
4189 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2117 },
4289 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },4190 .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
4290 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4191 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4291 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1392 },4192 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1373 },
4292 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },4193 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
4293 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2199 },4194 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2169 },
4294 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1026 },4195 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1014 },
4295 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2200 },4196 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2170 },
4296 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2065 },4197 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2031 },
4297 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2065 },4198 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2031 },
4298 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2065 },4199 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2031 },
4299 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1659 },4200 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1634 },
4300 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2201 },4201 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2171 },
4301 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1016 },4202 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1004 },
4302 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1017 },4203 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1005 },
4303 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1557 },4204 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1533 },
4304 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1396 },4205 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1377 },
4305 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },4206 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
4306 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1663 },4207 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1638 },
4307 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1483 },4208 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1464 },
4308 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1868 },4209 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1836 },
4309 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1868 },4210 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1836 },
4310 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2202 },4211 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2172 },
4311 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },4212 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
4312 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 810 },4213 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 805 },
4313 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 810 },4214 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
4314 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 810 },4215 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
4315 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2203 },4216 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2173 },
4316 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2204 },4217 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2174 },
4317 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2205 },4218 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2175 },
4318 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2206 },4219 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1045 },
4319 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2207 },4220 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1994 },
4320 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2209 },4221 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2176 },
4321 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1001 },4222 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2177 },
4322 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2212 },4223 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2179 },
4323 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1663 },4224 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 991 },
4324 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2213 },4225 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2182 },
4325 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1111 },4226 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1638 },
4326 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },4227 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2183 },
4327 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1093 },4228 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1098 },
4328 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2215 },4229 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
4329 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },4230 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1080 },
4330 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2216 },4231 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2185 },
4331 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1625 },4232 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
4332 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2217 },4233 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2186 },
4333 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2217 },4234 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1600 },
4334 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2218 },4235 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2187 },
4335 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2059 },4236 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2187 },
4336 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1663 },4237 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2188 },
4337 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2219 },4238 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2025 },
4338 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2221 },4239 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1638 },
4339 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 734 },4240 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2189 },
4340 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2223 },4241 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2191 },
4341 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2224 },4242 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 730 },
4342 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1396 },4243 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2193 },
4343 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2227 },4244 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2194 },
4344 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2228 },4245 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1377 },
4345 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2229 },4246 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2197 },
4346 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2230 },4247 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2198 },
4347 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2231 },4248 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2199 },
4348 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2034 },4249 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2200 },
4349 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2232 },4250 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2201 },
4350 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2107 },4251 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2001 },
4351 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2233 },4252 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2202 },
4352 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1755 },4253 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2073 },
4353 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1394 },4254 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2203 },
4354 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1394 },4255 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2204 },
4355 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1629 },4256 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1375 },
4356 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2087 },4257 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1375 },
4357 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2048 },4258 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1604 },
4358 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2234 },4259 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2053 },
4359 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1017 },4260 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2015 },
4360 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1557 },4261 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2206 },
4361 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1017 },4262 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1005 },
4362 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1018 },4263 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1533 },
4363 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2235 },4264 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1005 },
4364 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1000 },4265 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1006 },
4365 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1093 },4266 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2207 },
4366 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1000 },4267 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 990 },
4367 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2236 },4268 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1080 },
4368 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2237 },4269 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 990 },
4369 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 2238 },4270 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2208 },
4370 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2240 },4271 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2209 },
4371 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2241 },4272 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 2210 },
4372 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2174 },4273 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2212 },
4373 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2174 },4274 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2213 },
4374 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1300 },4275 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2142 },
4375 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2242 },4276 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2142 },
4277 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1638 },
4278 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1638 },
4279 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1282 },
4280 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2214 },
4376 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4281 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4377 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2243 },4282 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2215 },
4378 .{ .char = '3', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },4283 .{ .char = '3', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
4379 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4284 .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4380 .{ .char = '3', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4285 .{ .char = '3', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4381 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2244 },4286 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2216 },
4382 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2245 },4287 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2217 },
4383 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2246 },4288 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2218 },
4384 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2034 },4289 .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2001 },
4385 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2247 },4290 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2219 },
4386 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2248 },4291 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2220 },
4387 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2249 },4292 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2221 },
4388 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2250 },4293 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2222 },
4389 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 993 },4294 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 983 },
4390 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2251 },4295 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2223 },
4391 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2252 },4296 .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2224 },
4392 .{ .char = '3', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },4297 .{ .char = '3', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
4393};4298};
4394pub const data = blk: {4299pub const data = blk: {
4395 @setEvalBranchQuota(17811);4300 @setEvalBranchQuota(17208);
4396 break :blk [_]Properties{4301 break :blk [_]Properties{
4397 .{ .param_str = "v*", .header = .intrin, .language = .all_ms_languages },4302 .{ .param_str = "v*", .header = .intrin, .language = .all_ms_languages },
4398 .{ .param_str = "UcUNi*UNi", .header = .intrin, .language = .all_ms_languages },4303 .{ .param_str = "UcUNi*UNi", .header = .intrin, .language = .all_ms_languages },
...@@ -4411,56 +4316,56 @@ pub const data = blk: {...@@ -4411,56 +4316,56 @@ pub const data = blk: {
4411 .{ .param_str = "vv*Si", .features = "raoint" },4316 .{ .param_str = "vv*Si", .features = "raoint" },
4412 .{ .param_str = "vv*Si", .features = "raoint" },4317 .{ .param_str = "vv*Si", .features = "raoint" },
4413 .{ .param_str = "UcUcUiUiUi*", .attributes = .{ .const_evaluable = true } },4318 .{ .param_str = "UcUcUiUiUi*", .attributes = .{ .const_evaluable = true } },
4414 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4319 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4415 .{ .param_str = "V32xV32xV32xIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },4320 .{ .param_str = "V32xV32xV32xIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
4416 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4321 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4417 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4322 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4418 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },4323 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
4419 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4324 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4420 .{ .param_str = "V2dV2dV2d", .features = "sse3", .attributes = .{ .@"const" = true } },4325 .{ .param_str = "V2dV2dV2d", .features = "sse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4421 .{ .param_str = "V4dV4dV4d", .features = "avx", .attributes = .{ .@"const" = true } },4326 .{ .param_str = "V4dV4dV4d", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4422 .{ .param_str = "V4fV4fV4f", .features = "sse3", .attributes = .{ .@"const" = true } },4327 .{ .param_str = "V4fV4fV4f", .features = "sse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4423 .{ .param_str = "V8fV8fV8f", .features = "avx", .attributes = .{ .@"const" = true } },4328 .{ .param_str = "V8fV8fV8f", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4424 .{ .param_str = "V2OiV2OiV2Oi", .features = "aes", .attributes = .{ .@"const" = true } },4329 .{ .param_str = "V2OiV2OiV2Oi", .features = "aes", .attributes = .{ .@"const" = true } },
4425 .{ .param_str = "UcV2Oi*V2OivC*", .features = "kl" },4330 .{ .param_str = "UcV2Oi*V2OivC*", .features = "kl" },
4426 .{ .param_str = "V4OiV4OiV4Oi", .features = "vaes", .attributes = .{ .@"const" = true } },4331 .{ .param_str = "V4OiV4OiV4Oi", .features = "vaes", .attributes = .{ .@"const" = true } },
4427 .{ .param_str = "UcV2Oi*V2OivC*", .features = "kl" },4332 .{ .param_str = "UcV2Oi*V2OivC*", .features = "kl" },
4428 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f,evex512,vaes", .attributes = .{ .@"const" = true } },4333 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f,vaes", .attributes = .{ .@"const" = true } },
4429 .{ .param_str = "V2OiV2OiV2Oi", .features = "aes", .attributes = .{ .@"const" = true } },4334 .{ .param_str = "V2OiV2OiV2Oi", .features = "aes", .attributes = .{ .@"const" = true } },
4430 .{ .param_str = "V4OiV4OiV4Oi", .features = "vaes", .attributes = .{ .@"const" = true } },4335 .{ .param_str = "V4OiV4OiV4Oi", .features = "vaes", .attributes = .{ .@"const" = true } },
4431 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f,evex512,vaes", .attributes = .{ .@"const" = true } },4336 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f,vaes", .attributes = .{ .@"const" = true } },
4432 .{ .param_str = "UcV2Oi*V2OiC*vC*", .features = "kl,widekl" },4337 .{ .param_str = "UcV2Oi*V2OiC*vC*", .features = "kl,widekl" },
4433 .{ .param_str = "UcV2Oi*V2OiC*vC*", .features = "kl,widekl" },4338 .{ .param_str = "UcV2Oi*V2OiC*vC*", .features = "kl,widekl" },
4434 .{ .param_str = "V2OiV2OiV2Oi", .features = "aes", .attributes = .{ .@"const" = true } },4339 .{ .param_str = "V2OiV2OiV2Oi", .features = "aes", .attributes = .{ .@"const" = true } },
4435 .{ .param_str = "UcV2Oi*V2OivC*", .features = "kl" },4340 .{ .param_str = "UcV2Oi*V2OivC*", .features = "kl" },
4436 .{ .param_str = "V4OiV4OiV4Oi", .features = "vaes", .attributes = .{ .@"const" = true } },4341 .{ .param_str = "V4OiV4OiV4Oi", .features = "vaes", .attributes = .{ .@"const" = true } },
4437 .{ .param_str = "UcV2Oi*V2OivC*", .features = "kl" },4342 .{ .param_str = "UcV2Oi*V2OivC*", .features = "kl" },
4438 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f,evex512,vaes", .attributes = .{ .@"const" = true } },4343 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f,vaes", .attributes = .{ .@"const" = true } },
4439 .{ .param_str = "V2OiV2OiV2Oi", .features = "aes", .attributes = .{ .@"const" = true } },4344 .{ .param_str = "V2OiV2OiV2Oi", .features = "aes", .attributes = .{ .@"const" = true } },
4440 .{ .param_str = "V4OiV4OiV4Oi", .features = "vaes", .attributes = .{ .@"const" = true } },4345 .{ .param_str = "V4OiV4OiV4Oi", .features = "vaes", .attributes = .{ .@"const" = true } },
4441 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f,evex512,vaes", .attributes = .{ .@"const" = true } },4346 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f,vaes", .attributes = .{ .@"const" = true } },
4442 .{ .param_str = "UcV2Oi*V2OiC*vC*", .features = "kl,widekl" },4347 .{ .param_str = "UcV2Oi*V2OiC*vC*", .features = "kl,widekl" },
4443 .{ .param_str = "UcV2Oi*V2OiC*vC*", .features = "kl,widekl" },4348 .{ .param_str = "UcV2Oi*V2OiC*vC*", .features = "kl,widekl" },
4444 .{ .param_str = "V2OiV2Oi", .features = "aes", .attributes = .{ .@"const" = true } },4349 .{ .param_str = "V2OiV2Oi", .features = "aes", .attributes = .{ .@"const" = true } },
4445 .{ .param_str = "V2OiV2OiIc", .features = "aes", .attributes = .{ .@"const" = true } },4350 .{ .param_str = "V2OiV2OiIc", .features = "aes", .attributes = .{ .@"const" = true } },
4446 .{ .param_str = "V4iV4iV4iIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },4351 .{ .param_str = "V4iV4iV4iIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4447 .{ .param_str = "V8iV8iV8iIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },4352 .{ .param_str = "V8iV8iV8iIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4448 .{ .param_str = "V16iV16iV16iIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4353 .{ .param_str = "V16iV16iV16iIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4449 .{ .param_str = "V2OiV2OiV2OiIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },4354 .{ .param_str = "V2OiV2OiV2OiIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4450 .{ .param_str = "V4OiV4OiV4OiIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },4355 .{ .param_str = "V4OiV4OiV4OiIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4451 .{ .param_str = "V8OiV8OiV8OiIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4356 .{ .param_str = "V8OiV8OiV8OiIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4452 .{ .param_str = "vv*Si", .features = "raoint" },4357 .{ .param_str = "vv*Si", .features = "raoint" },
4453 .{ .param_str = "vv*Si", .features = "raoint" },4358 .{ .param_str = "vv*Si", .features = "raoint" },
4454 .{ .param_str = "UiUiUi", .features = "bmi", .attributes = .{ .@"const" = true, .const_evaluable = true } },4359 .{ .param_str = "UiUiUi", .features = "bmi", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4455 .{ .param_str = "UiUiIUi", .features = "tbm", .attributes = .{ .@"const" = true, .const_evaluable = true } },4360 .{ .param_str = "UiUiIUi", .features = "tbm", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4456 .{ .param_str = "V2dV2dV2dIi", .features = "sse4_1", .attributes = .{ .@"const" = true } },4361 .{ .param_str = "V2dV2dV2dIi", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4457 .{ .param_str = "V4dV4dV4dIi", .features = "avx", .attributes = .{ .@"const" = true } },4362 .{ .param_str = "V4dV4dV4dIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4458 .{ .param_str = "V4fV4fV4fIi", .features = "sse4_1", .attributes = .{ .@"const" = true } },4363 .{ .param_str = "V4fV4fV4fIi", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4459 .{ .param_str = "V8fV8fV8fIi", .features = "avx", .attributes = .{ .@"const" = true } },4364 .{ .param_str = "V8fV8fV8fIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4460 .{ .param_str = "V2dV2dV2dV2d", .features = "sse4_1", .attributes = .{ .@"const" = true } },4365 .{ .param_str = "V2dV2dV2dV2d", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4461 .{ .param_str = "V4dV4dV4dV4d", .features = "avx", .attributes = .{ .@"const" = true } },4366 .{ .param_str = "V4dV4dV4dV4d", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4462 .{ .param_str = "V4fV4fV4fV4f", .features = "sse4_1", .attributes = .{ .@"const" = true } },4367 .{ .param_str = "V4fV4fV4fV4f", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4463 .{ .param_str = "V8fV8fV8fV8f", .features = "avx", .attributes = .{ .@"const" = true } },4368 .{ .param_str = "V8fV8fV8fV8f", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4464 .{ .param_str = "UiUiUi", .features = "bmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },4369 .{ .param_str = "UiUiUi", .features = "bmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4465 .{ .param_str = "vvC*", .features = "cldemote" },4370 .{ .param_str = "vvC*", .features = "cldemote" },
4466 .{ .param_str = "vvC*", .features = "sse2" },4371 .{ .param_str = "vvC*", .features = "sse2" },
...@@ -4468,12 +4373,12 @@ pub const data = blk: {...@@ -4468,12 +4373,12 @@ pub const data = blk: {
4468 .{ .param_str = "vv*", .features = "shstk" },4373 .{ .param_str = "vv*", .features = "shstk" },
4469 .{ .param_str = "vvC*", .features = "clwb" },4374 .{ .param_str = "vvC*", .features = "clwb" },
4470 .{ .param_str = "vv*", .features = "clzero" },4375 .{ .param_str = "vv*", .features = "clzero" },
4471 .{ .param_str = "UsV16cV16cIiUs", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },4376 .{ .param_str = "UsV16cV16cIiUs", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4472 .{ .param_str = "UiV32cV32cIiUi", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },4377 .{ .param_str = "UiV32cV32cIiUi", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4473 .{ .param_str = "UOiV64cV64cIiUOi", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },4378 .{ .param_str = "UOiV64cV64cIiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4474 .{ .param_str = "UcV4iV4iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4379 .{ .param_str = "UcV4iV4iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4475 .{ .param_str = "UcV8iV8iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4380 .{ .param_str = "UcV8iV8iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4476 .{ .param_str = "UsV16iV16iIiUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4381 .{ .param_str = "UsV16iV16iIiUs", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4477 .{ .param_str = "V2dV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },4382 .{ .param_str = "V2dV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },
4478 .{ .param_str = "V4fV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },4383 .{ .param_str = "V4fV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },
4479 .{ .param_str = "V2dV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },4384 .{ .param_str = "V2dV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },
...@@ -4506,18 +4411,18 @@ pub const data = blk: {...@@ -4506,18 +4411,18 @@ pub const data = blk: {
4506 .{ .param_str = "UcV2dV2dIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4411 .{ .param_str = "UcV2dV2dIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4507 .{ .param_str = "V4dV4dV4dIc", .features = "avx", .attributes = .{ .@"const" = true } },4412 .{ .param_str = "V4dV4dV4dIc", .features = "avx", .attributes = .{ .@"const" = true } },
4508 .{ .param_str = "UcV4dV4dIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4413 .{ .param_str = "UcV4dV4dIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4509 .{ .param_str = "UcV8dV8dIiUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4414 .{ .param_str = "UcV8dV8dIiUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4510 .{ .param_str = "UcV8xV8xIiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },4415 .{ .param_str = "UcV8xV8xIiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
4511 .{ .param_str = "UsV16xV16xIiUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },4416 .{ .param_str = "UsV16xV16xIiUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
4512 .{ .param_str = "UiV32xV32xIiUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },4417 .{ .param_str = "UiV32xV32xIiUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
4513 .{ .param_str = "V4fV4fV4fIc", .features = "sse", .attributes = .{ .@"const" = true } },4418 .{ .param_str = "V4fV4fV4fIc", .features = "sse", .attributes = .{ .@"const" = true } },
4514 .{ .param_str = "UcV4fV4fIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4419 .{ .param_str = "UcV4fV4fIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4515 .{ .param_str = "V8fV8fV8fIc", .features = "avx", .attributes = .{ .@"const" = true } },4420 .{ .param_str = "V8fV8fV8fIc", .features = "avx", .attributes = .{ .@"const" = true } },
4516 .{ .param_str = "UcV8fV8fIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4421 .{ .param_str = "UcV8fV8fIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4517 .{ .param_str = "UsV16fV16fIiUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4422 .{ .param_str = "UsV16fV16fIiUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4518 .{ .param_str = "UcV2OiV2OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4423 .{ .param_str = "UcV2OiV2OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4519 .{ .param_str = "UcV4OiV4OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4424 .{ .param_str = "UcV4OiV4OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4520 .{ .param_str = "UcV8OiV8OiIiUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4425 .{ .param_str = "UcV8OiV8OiIiUc", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4521 .{ .param_str = "V2dV2dV2dIc", .features = "sse2", .attributes = .{ .@"const" = true } },4426 .{ .param_str = "V2dV2dV2dIc", .features = "sse2", .attributes = .{ .@"const" = true } },
4522 .{ .param_str = "UcV2dV2dIiUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4427 .{ .param_str = "UcV2dV2dIiUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4523 .{ .param_str = "UcV8xV8xIiUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },4428 .{ .param_str = "UcV8xV8xIiUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
...@@ -4527,9 +4432,9 @@ pub const data = blk: {...@@ -4527,9 +4432,9 @@ pub const data = blk: {
4527 .{ .param_str = "V4fV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },4432 .{ .param_str = "V4fV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },
4528 .{ .param_str = "V2dV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },4433 .{ .param_str = "V2dV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },
4529 .{ .param_str = "V4fV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },4434 .{ .param_str = "V4fV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },
4530 .{ .param_str = "UcV8sV8sIiUc", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },4435 .{ .param_str = "UcV8sV8sIiUc", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4531 .{ .param_str = "UsV16sV16sIiUs", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },4436 .{ .param_str = "UsV16sV16sIiUs", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4532 .{ .param_str = "UiV32sV32sIiUi", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },4437 .{ .param_str = "UiV32sV32sIiUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4533 .{ .param_str = "iV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },4438 .{ .param_str = "iV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },
4534 .{ .param_str = "iV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },4439 .{ .param_str = "iV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },
4535 .{ .param_str = "iV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },4440 .{ .param_str = "iV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },
...@@ -4544,159 +4449,158 @@ pub const data = blk: {...@@ -4544,159 +4449,158 @@ pub const data = blk: {
4544 .{ .param_str = "iV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },4449 .{ .param_str = "iV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },
4545 .{ .param_str = "V2dV2dV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4450 .{ .param_str = "V2dV2dV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4546 .{ .param_str = "V4dV4dV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4451 .{ .param_str = "V4dV4dV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4547 .{ .param_str = "V8dV8dV8dUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4452 .{ .param_str = "V8dV8dV8dUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
4548 .{ .param_str = "V2OiV2OiV2OiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4453 .{ .param_str = "V2OiV2OiV2OiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4549 .{ .param_str = "V4OiV4OiV4OiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4454 .{ .param_str = "V4OiV4OiV4OiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4550 .{ .param_str = "V8OiV8OiV8OiUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4455 .{ .param_str = "V8OiV8OiV8OiUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
4551 .{ .param_str = "V8sV8sV8sUc", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },4456 .{ .param_str = "V8sV8sV8sUc", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
4552 .{ .param_str = "V16sV16sV16sUs", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },4457 .{ .param_str = "V16sV16sV16sUs", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
4553 .{ .param_str = "V32sV32sV32sUi", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },4458 .{ .param_str = "V32sV32sV32sUi", .features = "avx512vbmi2", .attributes = .{ .@"const" = true } },
4554 .{ .param_str = "V16cV16cV16cUs", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },4459 .{ .param_str = "V16cV16cV16cUs", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
4555 .{ .param_str = "V32cV32cV32cUi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },4460 .{ .param_str = "V32cV32cV32cUi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
4556 .{ .param_str = "V64cV64cV64cUOi", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },4461 .{ .param_str = "V64cV64cV64cUOi", .features = "avx512vbmi2", .attributes = .{ .@"const" = true } },
4557 .{ .param_str = "V4fV4fV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4462 .{ .param_str = "V4fV4fV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4558 .{ .param_str = "V8fV8fV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4463 .{ .param_str = "V8fV8fV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4559 .{ .param_str = "V16fV16fV16fUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4464 .{ .param_str = "V16fV16fV16fUs", .features = "avx512f", .attributes = .{ .@"const" = true } },
4560 .{ .param_str = "V4iV4iV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4465 .{ .param_str = "V4iV4iV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4561 .{ .param_str = "V8iV8iV8iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4466 .{ .param_str = "V8iV8iV8iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4562 .{ .param_str = "V16iV16iV16iUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4467 .{ .param_str = "V16iV16iV16iUs", .features = "avx512f", .attributes = .{ .@"const" = true } },
4563 .{ .param_str = "vV2d*V2dUc", .features = "avx512vl" },4468 .{ .param_str = "vV2d*V2dUc", .features = "avx512vl" },
4564 .{ .param_str = "vV4d*V4dUc", .features = "avx512vl" },4469 .{ .param_str = "vV4d*V4dUc", .features = "avx512vl" },
4565 .{ .param_str = "vV8d*V8dUc", .features = "avx512f,evex512" },4470 .{ .param_str = "vV8d*V8dUc", .features = "avx512f" },
4566 .{ .param_str = "vV2Oi*V2OiUc", .features = "avx512vl" },4471 .{ .param_str = "vV2Oi*V2OiUc", .features = "avx512vl" },
4567 .{ .param_str = "vV4Oi*V4OiUc", .features = "avx512vl" },4472 .{ .param_str = "vV4Oi*V4OiUc", .features = "avx512vl" },
4568 .{ .param_str = "vV8Oi*V8OiUc", .features = "avx512f,evex512" },4473 .{ .param_str = "vV8Oi*V8OiUc", .features = "avx512f" },
4569 .{ .param_str = "vV8s*V8sUc", .features = "avx512vl,avx512vbmi2" },4474 .{ .param_str = "vV8s*V8sUc", .features = "avx512vl,avx512vbmi2" },
4570 .{ .param_str = "vV16s*V16sUs", .features = "avx512vl,avx512vbmi2" },4475 .{ .param_str = "vV16s*V16sUs", .features = "avx512vl,avx512vbmi2" },
4571 .{ .param_str = "vV32s*V32sUi", .features = "avx512vbmi2,evex512" },4476 .{ .param_str = "vV32s*V32sUi", .features = "avx512vbmi2" },
4572 .{ .param_str = "vV16c*V16cUs", .features = "avx512vl,avx512vbmi2" },4477 .{ .param_str = "vV16c*V16cUs", .features = "avx512vl,avx512vbmi2" },
4573 .{ .param_str = "vV32c*V32cUi", .features = "avx512vl,avx512vbmi2" },4478 .{ .param_str = "vV32c*V32cUi", .features = "avx512vl,avx512vbmi2" },
4574 .{ .param_str = "vV64c*V64cUOi", .features = "avx512vbmi2,evex512" },4479 .{ .param_str = "vV64c*V64cUOi", .features = "avx512vbmi2" },
4575 .{ .param_str = "vV4f*V4fUc", .features = "avx512vl" },4480 .{ .param_str = "vV4f*V4fUc", .features = "avx512vl" },
4576 .{ .param_str = "vV8f*V8fUc", .features = "avx512vl" },4481 .{ .param_str = "vV8f*V8fUc", .features = "avx512vl" },
4577 .{ .param_str = "vV16f*V16fUs", .features = "avx512f,evex512" },4482 .{ .param_str = "vV16f*V16fUs", .features = "avx512f" },
4578 .{ .param_str = "vV4i*V4iUc", .features = "avx512vl" },4483 .{ .param_str = "vV4i*V4iUc", .features = "avx512vl" },
4579 .{ .param_str = "vV8i*V8iUc", .features = "avx512vl" },4484 .{ .param_str = "vV8i*V8iUc", .features = "avx512vl" },
4580 .{ .param_str = "vV16i*V16iUs", .features = "avx512f,evex512" },4485 .{ .param_str = "vV16i*V16iUs", .features = "avx512f" },
4581 .{ .param_str = "UiUiUs", .features = "crc32", .attributes = .{ .@"const" = true } },4486 .{ .param_str = "UiUiUs", .features = "crc32", .attributes = .{ .@"const" = true } },
4582 .{ .param_str = "UiUiUc", .features = "crc32", .attributes = .{ .@"const" = true } },4487 .{ .param_str = "UiUiUc", .features = "crc32", .attributes = .{ .@"const" = true } },
4583 .{ .param_str = "UiUiUi", .features = "crc32", .attributes = .{ .@"const" = true } },4488 .{ .param_str = "UiUiUi", .features = "crc32", .attributes = .{ .@"const" = true } },
4584 .{ .param_str = "UsV16c", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },4489 .{ .param_str = "UsV16c", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4585 .{ .param_str = "UiV32c", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },4490 .{ .param_str = "UiV32c", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4586 .{ .param_str = "UOiV64c", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },4491 .{ .param_str = "UOiV64c", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4587 .{ .param_str = "UcV4i", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4492 .{ .param_str = "UcV4i", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4588 .{ .param_str = "UcV8i", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4493 .{ .param_str = "UcV8i", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4589 .{ .param_str = "UsV16i", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4494 .{ .param_str = "UsV16i", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4590 .{ .param_str = "V16fV16iV16fUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4495 .{ .param_str = "V16fV16iV16fUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4591 .{ .param_str = "V16cUs", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },4496 .{ .param_str = "V16cUs", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4592 .{ .param_str = "V32cUi", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },4497 .{ .param_str = "V32cUi", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4593 .{ .param_str = "V64cUOi", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },4498 .{ .param_str = "V64cUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4594 .{ .param_str = "V4iUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4499 .{ .param_str = "V4iUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4595 .{ .param_str = "V8iUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4500 .{ .param_str = "V8iUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4596 .{ .param_str = "V16iUs", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4501 .{ .param_str = "V16iUs", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4597 .{ .param_str = "V2OiUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4502 .{ .param_str = "V2OiUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4598 .{ .param_str = "V4OiUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4503 .{ .param_str = "V4OiUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4599 .{ .param_str = "V8OiUc", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4504 .{ .param_str = "V8OiUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4600 .{ .param_str = "V8sUc", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },4505 .{ .param_str = "V8sUc", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4601 .{ .param_str = "V16sUs", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },4506 .{ .param_str = "V16sUs", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4602 .{ .param_str = "V32sUi", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },4507 .{ .param_str = "V32sUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4603 .{ .param_str = "V8yV4fV4f", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true } },4508 .{ .param_str = "V8yV4fV4f", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true } },
4604 .{ .param_str = "V16yV8fV8f", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true } },4509 .{ .param_str = "V16yV8fV8f", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true } },
4605 .{ .param_str = "V32yV16fV16f", .features = "avx512bf16,evex512", .attributes = .{ .@"const" = true } },4510 .{ .param_str = "V32yV16fV16f", .features = "avx512bf16", .attributes = .{ .@"const" = true } },
4606 .{ .param_str = "V8yV4fV8yUc", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true } },4511 .{ .param_str = "V8yV4fV8yUc", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true } },
4607 .{ .param_str = "V8yV8fV8yUc", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true } },4512 .{ .param_str = "V8yV8fV8yUc", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true } },
4608 .{ .param_str = "V16yV16fV16yUs", .features = "avx512bf16,evex512", .attributes = .{ .@"const" = true } },4513 .{ .param_str = "V16yV16fV16yUs", .features = "avx512bf16", .attributes = .{ .@"const" = true } },
4609 .{ .param_str = "V2OiV2d", .features = "sse2", .attributes = .{ .@"const" = true } },4514 .{ .param_str = "V2OiV2d", .features = "sse2", .attributes = .{ .@"const" = true } },
4610 .{ .param_str = "V4iV2dV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4515 .{ .param_str = "V4iV2dV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4611 .{ .param_str = "V4iV4d", .features = "avx", .attributes = .{ .@"const" = true } },4516 .{ .param_str = "V4iV4d", .features = "avx", .attributes = .{ .@"const" = true } },
4612 .{ .param_str = "V8iV8dV8iUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4517 .{ .param_str = "V8iV8dV8iUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4613 .{ .param_str = "V4fV2d", .features = "sse2", .attributes = .{ .@"const" = true } },4518 .{ .param_str = "V4fV2d", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4614 .{ .param_str = "V4fV4d", .features = "avx", .attributes = .{ .@"const" = true } },4519 .{ .param_str = "V4fV4d", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4615 .{ .param_str = "V8fV8dV8fUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4520 .{ .param_str = "V8fV8dV8fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4616 .{ .param_str = "V4fV2dV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4521 .{ .param_str = "V4fV2dV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4617 .{ .param_str = "V2OiV2dV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4522 .{ .param_str = "V2OiV2dV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4618 .{ .param_str = "V4OiV4dV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4523 .{ .param_str = "V4OiV4dV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4619 .{ .param_str = "V8OiV8dV8OiUcIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4524 .{ .param_str = "V8OiV8dV8OiUcIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
4620 .{ .param_str = "V4iV2dV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4525 .{ .param_str = "V4iV2dV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4621 .{ .param_str = "V4iV4dV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4526 .{ .param_str = "V4iV4dV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4622 .{ .param_str = "V8iV8dV8iUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4527 .{ .param_str = "V8iV8dV8iUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4623 .{ .param_str = "V2OiV2dV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4528 .{ .param_str = "V2OiV2dV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4624 .{ .param_str = "V4OiV4dV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4529 .{ .param_str = "V4OiV4dV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4625 .{ .param_str = "V8OiV8dV8OiUcIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4530 .{ .param_str = "V8OiV8dV8OiUcIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
4626 .{ .param_str = "V4iV4f", .features = "sse2", .attributes = .{ .@"const" = true } },4531 .{ .param_str = "V4iV4f", .features = "sse2", .attributes = .{ .@"const" = true } },
4627 .{ .param_str = "V8iV8f", .features = "avx", .attributes = .{ .@"const" = true } },4532 .{ .param_str = "V8iV8f", .features = "avx", .attributes = .{ .@"const" = true } },
4628 .{ .param_str = "V16iV16fV16iUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4533 .{ .param_str = "V16iV16fV16iUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4629 .{ .param_str = "V8dV8fV8dUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4534 .{ .param_str = "V8dV8fV8dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4630 .{ .param_str = "V2OiV4fV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4535 .{ .param_str = "V2OiV4fV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4631 .{ .param_str = "V4OiV4fV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4536 .{ .param_str = "V4OiV4fV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4632 .{ .param_str = "V8OiV8fV8OiUcIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4537 .{ .param_str = "V8OiV8fV8OiUcIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
4633 .{ .param_str = "V4iV4fV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4538 .{ .param_str = "V4iV4fV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4634 .{ .param_str = "V8iV8fV8iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4539 .{ .param_str = "V8iV8fV8iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4635 .{ .param_str = "V16iV16fV16iUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4540 .{ .param_str = "V16iV16fV16iUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4636 .{ .param_str = "V2OiV4fV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4541 .{ .param_str = "V2OiV4fV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4637 .{ .param_str = "V4OiV4fV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4542 .{ .param_str = "V4OiV4fV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4638 .{ .param_str = "V8OiV8fV8OiUcIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4543 .{ .param_str = "V8OiV8fV8OiUcIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
4639 .{ .param_str = "UcV2Oi", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4544 .{ .param_str = "UcV2Oi", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4640 .{ .param_str = "UcV4Oi", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4545 .{ .param_str = "UcV4Oi", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4641 .{ .param_str = "UcV8Oi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4546 .{ .param_str = "UcV8Oi", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4642 .{ .param_str = "V8dV8OiV8dUcIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4547 .{ .param_str = "V8dV8OiV8dUcIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
4643 .{ .param_str = "V4fV2OiV4fUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4548 .{ .param_str = "V4fV2OiV4fUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4644 .{ .param_str = "V8fV8OiV8fUcIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4549 .{ .param_str = "V8fV8OiV8fUcIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
4645 .{ .param_str = "fy", .features = "avx512bf16", .attributes = .{ .@"const" = true } },
4646 .{ .param_str = "iV2d", .features = "sse2", .attributes = .{ .@"const" = true } },4550 .{ .param_str = "iV2d", .features = "sse2", .attributes = .{ .@"const" = true } },
4647 .{ .param_str = "V4fV4fV2d", .features = "sse2", .attributes = .{ .@"const" = true } },4551 .{ .param_str = "V4fV4fV2d", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4648 .{ .param_str = "V4fV4fV2dV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4552 .{ .param_str = "V4fV4fV2dV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4649 .{ .param_str = "V4fV4fiIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4553 .{ .param_str = "V4fV4fiIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4650 .{ .param_str = "V2dV2dV4fV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4554 .{ .param_str = "V2dV2dV4fV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4651 .{ .param_str = "iV4f", .features = "sse", .attributes = .{ .@"const" = true } },4555 .{ .param_str = "iV4f", .features = "sse", .attributes = .{ .@"const" = true } },
4652 .{ .param_str = "V4iV2d", .features = "sse2", .attributes = .{ .@"const" = true } },4556 .{ .param_str = "V4iV2d", .features = "sse2", .attributes = .{ .@"const" = true } },
4653 .{ .param_str = "V4iV2dV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4557 .{ .param_str = "V4iV2dV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4654 .{ .param_str = "V4iV4d", .features = "avx", .attributes = .{ .@"const" = true } },4558 .{ .param_str = "V4iV4d", .features = "avx", .attributes = .{ .@"const" = true } },
4655 .{ .param_str = "V8iV8dV8iUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4559 .{ .param_str = "V8iV8dV8iUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4656 .{ .param_str = "V2OiV2dV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4560 .{ .param_str = "V2OiV2dV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4657 .{ .param_str = "V4OiV4dV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4561 .{ .param_str = "V4OiV4dV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4658 .{ .param_str = "V8OiV8dV8OiUcIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4562 .{ .param_str = "V8OiV8dV8OiUcIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
4659 .{ .param_str = "V4iV2dV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4563 .{ .param_str = "V4iV2dV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4660 .{ .param_str = "V4iV4dV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4564 .{ .param_str = "V4iV4dV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4661 .{ .param_str = "V8iV8dV8iUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4565 .{ .param_str = "V8iV8dV8iUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4662 .{ .param_str = "V2OiV2dV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4566 .{ .param_str = "V2OiV2dV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4663 .{ .param_str = "V4OiV4dV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4567 .{ .param_str = "V4OiV4dV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4664 .{ .param_str = "V8OiV8dV8OiUcIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4568 .{ .param_str = "V8OiV8dV8OiUcIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
4665 .{ .param_str = "V4iV4f", .features = "sse2", .attributes = .{ .@"const" = true } },4569 .{ .param_str = "V4iV4f", .features = "sse2", .attributes = .{ .@"const" = true } },
4666 .{ .param_str = "V8iV8f", .features = "avx", .attributes = .{ .@"const" = true } },4570 .{ .param_str = "V8iV8f", .features = "avx", .attributes = .{ .@"const" = true } },
4667 .{ .param_str = "V16iV16fV16iUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4571 .{ .param_str = "V16iV16fV16iUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4668 .{ .param_str = "V2OiV4fV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4572 .{ .param_str = "V2OiV4fV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4669 .{ .param_str = "V4OiV4fV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4573 .{ .param_str = "V4OiV4fV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4670 .{ .param_str = "V8OiV8fV8OiUcIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4574 .{ .param_str = "V8OiV8fV8OiUcIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
4671 .{ .param_str = "V4iV4fV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4575 .{ .param_str = "V4iV4fV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4672 .{ .param_str = "V8iV8fV8iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4576 .{ .param_str = "V8iV8fV8iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4673 .{ .param_str = "V16iV16fV16iUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4577 .{ .param_str = "V16iV16fV16iUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4674 .{ .param_str = "V2OiV4fV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4578 .{ .param_str = "V2OiV4fV2OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4675 .{ .param_str = "V4OiV4fV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4579 .{ .param_str = "V4OiV4fV4OiUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4676 .{ .param_str = "V8OiV8fV8OiUcIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4580 .{ .param_str = "V8OiV8fV8OiUcIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
4677 .{ .param_str = "iV2d", .features = "sse2", .attributes = .{ .@"const" = true } },4581 .{ .param_str = "iV2d", .features = "sse2", .attributes = .{ .@"const" = true } },
4678 .{ .param_str = "iV4f", .features = "sse", .attributes = .{ .@"const" = true } },4582 .{ .param_str = "iV4f", .features = "sse", .attributes = .{ .@"const" = true } },
4679 .{ .param_str = "V16fV16iV16fUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4583 .{ .param_str = "V16fV16iV16fUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4680 .{ .param_str = "V8dV8OiV8dUcIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4584 .{ .param_str = "V8dV8OiV8dUcIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
4681 .{ .param_str = "V4fV2OiV4fUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },4585 .{ .param_str = "V4fV2OiV4fUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
4682 .{ .param_str = "V8fV8OiV8fUcIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4586 .{ .param_str = "V8fV8OiV8fUcIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
4683 .{ .param_str = "V4fV4fUiIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4587 .{ .param_str = "V4fV4fUiIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4684 .{ .param_str = "UcV8s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },4588 .{ .param_str = "UcV8s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4685 .{ .param_str = "UsV16s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },4589 .{ .param_str = "UsV16s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4686 .{ .param_str = "UiV32s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },4590 .{ .param_str = "UiV32s", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4687 .{ .param_str = "V8sV16cV16cIi", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },4591 .{ .param_str = "V8sV16cV16cIi", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },
4688 .{ .param_str = "V16sV32cV32cIi", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },4592 .{ .param_str = "V16sV32cV32cIi", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },
4689 .{ .param_str = "V32sV64cV64cIi", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },4593 .{ .param_str = "V32sV64cV64cIi", .features = "avx512bw", .attributes = .{ .@"const" = true } },
4690 .{ .param_str = "vUi*Ui", .features = "movdiri" },4594 .{ .param_str = "vUi*Ui", .features = "movdiri" },
4691 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4595 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4692 .{ .param_str = "V32xV32xV32xIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },4596 .{ .param_str = "V32xV32xV32xIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
4693 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4597 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4694 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4598 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4695 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },4599 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
4696 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4600 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4697 .{ .param_str = "V4fV4fV8yV8y", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true } },4601 .{ .param_str = "V4fV4fV8yV8y", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true } },
4698 .{ .param_str = "V8fV8fV16yV16y", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true } },4602 .{ .param_str = "V8fV8fV16yV16y", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true } },
4699 .{ .param_str = "V16fV16fV32yV32y", .features = "avx512bf16,evex512", .attributes = .{ .@"const" = true } },4603 .{ .param_str = "V16fV16fV32yV32y", .features = "avx512bf16", .attributes = .{ .@"const" = true } },
4700 .{ .param_str = "V2dV2dV2dIc", .features = "sse4_1", .attributes = .{ .@"const" = true } },4604 .{ .param_str = "V2dV2dV2dIc", .features = "sse4_1", .attributes = .{ .@"const" = true } },
4701 .{ .param_str = "V4fV4fV4fIc", .features = "sse4_1", .attributes = .{ .@"const" = true } },4605 .{ .param_str = "V4fV4fV4fIc", .features = "sse4_1", .attributes = .{ .@"const" = true } },
4702 .{ .param_str = "V8fV8fV8fIc", .features = "avx", .attributes = .{ .@"const" = true } },4606 .{ .param_str = "V8fV8fV8fIc", .features = "avx", .attributes = .{ .@"const" = true } },
...@@ -4707,80 +4611,80 @@ pub const data = blk: {...@@ -4707,80 +4611,80 @@ pub const data = blk: {
4707 .{ .param_str = "Ucv*vC*", .features = "enqcmd" },4611 .{ .param_str = "Ucv*vC*", .features = "enqcmd" },
4708 .{ .param_str = "V2dV2dV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4612 .{ .param_str = "V2dV2dV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4709 .{ .param_str = "V4dV4dV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4613 .{ .param_str = "V4dV4dV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4710 .{ .param_str = "V8dV8dV8dUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4614 .{ .param_str = "V8dV8dV8dUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
4711 .{ .param_str = "V2OiV2OiV2OiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4615 .{ .param_str = "V2OiV2OiV2OiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4712 .{ .param_str = "V4OiV4OiV4OiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4616 .{ .param_str = "V4OiV4OiV4OiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4713 .{ .param_str = "V8OiV8OiV8OiUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4617 .{ .param_str = "V8OiV8OiV8OiUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
4714 .{ .param_str = "V8sV8sV8sUc", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },4618 .{ .param_str = "V8sV8sV8sUc", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
4715 .{ .param_str = "V16sV16sV16sUs", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },4619 .{ .param_str = "V16sV16sV16sUs", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
4716 .{ .param_str = "V32sV32sV32sUi", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },4620 .{ .param_str = "V32sV32sV32sUi", .features = "avx512vbmi2", .attributes = .{ .@"const" = true } },
4717 .{ .param_str = "V2dV2dC*V2dUc", .features = "avx512vl" },4621 .{ .param_str = "V2dV2dC*V2dUc", .features = "avx512vl" },
4718 .{ .param_str = "V4dV4dC*V4dUc", .features = "avx512vl" },4622 .{ .param_str = "V4dV4dC*V4dUc", .features = "avx512vl" },
4719 .{ .param_str = "V8dV8dC*V8dUc", .features = "avx512f,evex512" },4623 .{ .param_str = "V8dV8dC*V8dUc", .features = "avx512f" },
4720 .{ .param_str = "V4iV2OiC*V2OiUc", .features = "avx512vl" },4624 .{ .param_str = "V4iV2OiC*V2OiUc", .features = "avx512vl" },
4721 .{ .param_str = "V4OiV4OiC*V4OiUc", .features = "avx512vl" },4625 .{ .param_str = "V4OiV4OiC*V4OiUc", .features = "avx512vl" },
4722 .{ .param_str = "V8OiV8OiC*V8OiUc", .features = "avx512f,evex512" },4626 .{ .param_str = "V8OiV8OiC*V8OiUc", .features = "avx512f" },
4723 .{ .param_str = "V8sV8sC*V8sUc", .features = "avx512vl,avx512vbmi2" },4627 .{ .param_str = "V8sV8sC*V8sUc", .features = "avx512vl,avx512vbmi2" },
4724 .{ .param_str = "V16sV16sC*V16sUs", .features = "avx512vl,avx512vbmi2" },4628 .{ .param_str = "V16sV16sC*V16sUs", .features = "avx512vl,avx512vbmi2" },
4725 .{ .param_str = "V32sV32sC*V32sUi", .features = "avx512vbmi2,evex512" },4629 .{ .param_str = "V32sV32sC*V32sUi", .features = "avx512vbmi2" },
4726 .{ .param_str = "V16cV16cC*V16cUs", .features = "avx512vl,avx512vbmi2" },4630 .{ .param_str = "V16cV16cC*V16cUs", .features = "avx512vl,avx512vbmi2" },
4727 .{ .param_str = "V32cV32cC*V32cUi", .features = "avx512vl,avx512vbmi2" },4631 .{ .param_str = "V32cV32cC*V32cUi", .features = "avx512vl,avx512vbmi2" },
4728 .{ .param_str = "V64cV64cC*V64cUOi", .features = "avx512vbmi2,evex512" },4632 .{ .param_str = "V64cV64cC*V64cUOi", .features = "avx512vbmi2" },
4729 .{ .param_str = "V4fV4fC*V4fUc", .features = "avx512vl" },4633 .{ .param_str = "V4fV4fC*V4fUc", .features = "avx512vl" },
4730 .{ .param_str = "V8fV8fC*V8fUc", .features = "avx512vl" },4634 .{ .param_str = "V8fV8fC*V8fUc", .features = "avx512vl" },
4731 .{ .param_str = "V16fV16fC*V16fUs", .features = "avx512f,evex512" },4635 .{ .param_str = "V16fV16fC*V16fUs", .features = "avx512f" },
4732 .{ .param_str = "V4iV4iC*V4iUc", .features = "avx512vl" },4636 .{ .param_str = "V4iV4iC*V4iUc", .features = "avx512vl" },
4733 .{ .param_str = "V8iV8iC*V8iUc", .features = "avx512vl" },4637 .{ .param_str = "V8iV8iC*V8iUc", .features = "avx512vl" },
4734 .{ .param_str = "V16iV16iC*V16iUs", .features = "avx512f,evex512" },4638 .{ .param_str = "V16iV16iC*V16iUs", .features = "avx512f" },
4735 .{ .param_str = "V16cV16cV16cUs", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },4639 .{ .param_str = "V16cV16cV16cUs", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
4736 .{ .param_str = "V32cV32cV32cUi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },4640 .{ .param_str = "V32cV32cV32cUi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
4737 .{ .param_str = "V64cV64cV64cUOi", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },4641 .{ .param_str = "V64cV64cV64cUOi", .features = "avx512vbmi2", .attributes = .{ .@"const" = true } },
4738 .{ .param_str = "V4fV4fV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4642 .{ .param_str = "V4fV4fV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4739 .{ .param_str = "V8fV8fV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4643 .{ .param_str = "V8fV8fV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4740 .{ .param_str = "V16fV16fV16fUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4644 .{ .param_str = "V16fV16fV16fUs", .features = "avx512f", .attributes = .{ .@"const" = true } },
4741 .{ .param_str = "V4iV4iV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4645 .{ .param_str = "V4iV4iV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4742 .{ .param_str = "V8iV8iV8iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4646 .{ .param_str = "V8iV8iV8iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4743 .{ .param_str = "V16iV16iV16iUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4647 .{ .param_str = "V16iV16iV16iUs", .features = "avx512f", .attributes = .{ .@"const" = true } },
4744 .{ .param_str = "V2OiV4OiIi", .features = "avx2", .attributes = .{ .@"const" = true } },4648 .{ .param_str = "V2OiV4OiIi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4745 .{ .param_str = "V4fV8fIiV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4649 .{ .param_str = "V4fV8fIiV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4746 .{ .param_str = "V4fV16fIiV4fUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4650 .{ .param_str = "V4fV16fIiV4fUc", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4747 .{ .param_str = "V8fV16fIiV8fUc", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4651 .{ .param_str = "V8fV16fIiV8fUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4748 .{ .param_str = "V2dV4dIiV2dUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4652 .{ .param_str = "V2dV4dIiV2dUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4749 .{ .param_str = "V2dV8dIiV2dUc", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4653 .{ .param_str = "V2dV8dIiV2dUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4750 .{ .param_str = "V4dV8dIiV4dUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4654 .{ .param_str = "V4dV8dIiV4dUc", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4751 .{ .param_str = "V4iV8iIiV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4655 .{ .param_str = "V4iV8iIiV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4752 .{ .param_str = "V4iV16iIiV4iUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4656 .{ .param_str = "V4iV16iIiV4iUc", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4753 .{ .param_str = "V8iV16iIiV8iUc", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4657 .{ .param_str = "V8iV16iIiV8iUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4754 .{ .param_str = "V2OiV4OiIiV2OiUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4658 .{ .param_str = "V2OiV4OiIiV2OiUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4755 .{ .param_str = "V2OiV8OiIiV2OiUc", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4659 .{ .param_str = "V2OiV8OiIiV2OiUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4756 .{ .param_str = "V4OiV8OiIiV4OiUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4660 .{ .param_str = "V4OiV8OiIiV4OiUc", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4757 .{ .param_str = "V2OiV2OiV16c", .features = "sse4a", .attributes = .{ .@"const" = true } },4661 .{ .param_str = "V2OiV2OiV16c", .features = "sse4a", .attributes = .{ .@"const" = true } },
4758 .{ .param_str = "V2OiV2OiIcIc", .features = "sse4a", .attributes = .{ .@"const" = true } },4662 .{ .param_str = "V2OiV2OiIcIc", .features = "sse4a", .attributes = .{ .@"const" = true } },
4759 .{ .param_str = "V2dV2dV2dV2OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4663 .{ .param_str = "V2dV2dV2dV2OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4760 .{ .param_str = "V2dV2dV2dV2OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4664 .{ .param_str = "V2dV2dV2dV2OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4761 .{ .param_str = "V4dV4dV4dV4OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4665 .{ .param_str = "V4dV4dV4dV4OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4762 .{ .param_str = "V4dV4dV4dV4OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4666 .{ .param_str = "V4dV4dV4dV4OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4763 .{ .param_str = "V8dV8dV8dV8OiIiUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4667 .{ .param_str = "V8dV8dV8dV8OiIiUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4764 .{ .param_str = "V8dV8dV8dV8OiIiUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4668 .{ .param_str = "V8dV8dV8dV8OiIiUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4765 .{ .param_str = "V4fV4fV4fV4iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4669 .{ .param_str = "V4fV4fV4fV4iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4766 .{ .param_str = "V4fV4fV4fV4iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4670 .{ .param_str = "V4fV4fV4fV4iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4767 .{ .param_str = "V8fV8fV8fV8iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4671 .{ .param_str = "V8fV8fV8fV8iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4768 .{ .param_str = "V8fV8fV8fV8iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4672 .{ .param_str = "V8fV8fV8fV8iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4769 .{ .param_str = "V16fV16fV16fV16iIiUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4673 .{ .param_str = "V16fV16fV16fV16iIiUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4770 .{ .param_str = "V16fV16fV16fV16iIiUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4674 .{ .param_str = "V16fV16fV16fV16iIiUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4771 .{ .param_str = "V2dV2dV2dV2OiIiUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4675 .{ .param_str = "V2dV2dV2dV2OiIiUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4772 .{ .param_str = "V2dV2dV2dV2OiIiUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4676 .{ .param_str = "V2dV2dV2dV2OiIiUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4773 .{ .param_str = "V4fV4fV4fV4iIiUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4677 .{ .param_str = "V4fV4fV4fV4iIiUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4774 .{ .param_str = "V4fV4fV4fV4iIiUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4678 .{ .param_str = "V4fV4fV4fV4iIiUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4775 .{ .param_str = "UcV2dIiUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4679 .{ .param_str = "UcV2dIiUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },
4776 .{ .param_str = "UcV4dIiUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4680 .{ .param_str = "UcV4dIiUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },
4777 .{ .param_str = "UcV8dIiUc", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4681 .{ .param_str = "UcV8dIiUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },
4778 .{ .param_str = "UcV8xIiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },4682 .{ .param_str = "UcV8xIiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
4779 .{ .param_str = "UsV16xIiUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },4683 .{ .param_str = "UsV16xIiUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
4780 .{ .param_str = "UiV32xIiUi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },4684 .{ .param_str = "UiV32xIiUi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
4781 .{ .param_str = "UcV4fIiUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4685 .{ .param_str = "UcV4fIiUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },
4782 .{ .param_str = "UcV8fIiUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4686 .{ .param_str = "UcV8fIiUc", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },
4783 .{ .param_str = "UsV16fIiUs", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4687 .{ .param_str = "UsV16fIiUs", .features = "avx512dq", .attributes = .{ .@"const" = true } },
4784 .{ .param_str = "UcV2dIiUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },4688 .{ .param_str = "UcV2dIiUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },
4785 .{ .param_str = "UcV8xIiUc", .features = "avx512fp16", .attributes = .{ .@"const" = true } },4689 .{ .param_str = "UcV8xIiUc", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
4786 .{ .param_str = "UcV4fIiUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },4690 .{ .param_str = "UcV4fIiUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },
...@@ -4810,10 +4714,10 @@ pub const data = blk: {...@@ -4810,10 +4714,10 @@ pub const data = blk: {
4810 .{ .param_str = "V8fV8ffC*V8iV8fIc", .features = "avx2" },4714 .{ .param_str = "V8fV8ffC*V8iV8fIc", .features = "avx2" },
4811 .{ .param_str = "V2OiV2OiOiC*V4iV2OiIc", .features = "avx2" },4715 .{ .param_str = "V2OiV2OiOiC*V4iV2OiIc", .features = "avx2" },
4812 .{ .param_str = "V4OiV4OiOiC*V4iV4OiIc", .features = "avx2" },4716 .{ .param_str = "V4OiV4OiOiC*V4iV4OiIc", .features = "avx2" },
4813 .{ .param_str = "V8fV8fvC*V8OiUcIi", .features = "avx512f,evex512" },4717 .{ .param_str = "V8fV8fvC*V8OiUcIi", .features = "avx512f" },
4814 .{ .param_str = "V8iV8ivC*V8OiUcIi", .features = "avx512f,evex512" },4718 .{ .param_str = "V8iV8ivC*V8OiUcIi", .features = "avx512f" },
4815 .{ .param_str = "V8dV8dvC*V8OiUcIi", .features = "avx512f,evex512" },4719 .{ .param_str = "V8dV8dvC*V8OiUcIi", .features = "avx512f" },
4816 .{ .param_str = "V8OiV8OivC*V8OiUcIi", .features = "avx512f,evex512" },4720 .{ .param_str = "V8OiV8OivC*V8OiUcIi", .features = "avx512f" },
4817 .{ .param_str = "V4iV4iiC*V2OiV4iIc", .features = "avx2" },4721 .{ .param_str = "V4iV4iiC*V2OiV4iIc", .features = "avx2" },
4818 .{ .param_str = "V4iV4iiC*V4OiV4iIc", .features = "avx2" },4722 .{ .param_str = "V4iV4iiC*V4OiV4iIc", .features = "avx2" },
4819 .{ .param_str = "V2dV2ddC*V2OiV2dIc", .features = "avx2" },4723 .{ .param_str = "V2dV2ddC*V2OiV2dIc", .features = "avx2" },
...@@ -4822,119 +4726,119 @@ pub const data = blk: {...@@ -4822,119 +4726,119 @@ pub const data = blk: {
4822 .{ .param_str = "V4fV4ffC*V4OiV4fIc", .features = "avx2" },4726 .{ .param_str = "V4fV4ffC*V4OiV4fIc", .features = "avx2" },
4823 .{ .param_str = "V2OiV2OiOiC*V2OiV2OiIc", .features = "avx2" },4727 .{ .param_str = "V2OiV2OiOiC*V2OiV2OiIc", .features = "avx2" },
4824 .{ .param_str = "V4OiV4OiOiC*V4OiV4OiIc", .features = "avx2" },4728 .{ .param_str = "V4OiV4OiOiC*V4OiV4OiIc", .features = "avx2" },
4825 .{ .param_str = "V16fV16fvC*V16iUsIi", .features = "avx512f,evex512" },4729 .{ .param_str = "V16fV16fvC*V16iUsIi", .features = "avx512f" },
4826 .{ .param_str = "V16iV16ivC*V16iUsIi", .features = "avx512f,evex512" },4730 .{ .param_str = "V16iV16ivC*V16iUsIi", .features = "avx512f" },
4827 .{ .param_str = "V8dV8dvC*V8iUcIi", .features = "avx512f,evex512" },4731 .{ .param_str = "V8dV8dvC*V8iUcIi", .features = "avx512f" },
4828 .{ .param_str = "V8OiV8OivC*V8iUcIi", .features = "avx512f,evex512" },4732 .{ .param_str = "V8OiV8OivC*V8iUcIi", .features = "avx512f" },
4829 .{ .param_str = "V2dV2dV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4733 .{ .param_str = "V2dV2dV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4830 .{ .param_str = "V4dV4dV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4734 .{ .param_str = "V4dV4dV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4831 .{ .param_str = "V8dV8dV8dUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4735 .{ .param_str = "V8dV8dV8dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4832 .{ .param_str = "V8xV8xV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },4736 .{ .param_str = "V8xV8xV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
4833 .{ .param_str = "V16xV16xV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },4737 .{ .param_str = "V16xV16xV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
4834 .{ .param_str = "V32xV32xV32xUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },4738 .{ .param_str = "V32xV32xV32xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
4835 .{ .param_str = "V4fV4fV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4739 .{ .param_str = "V4fV4fV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4836 .{ .param_str = "V8fV8fV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4740 .{ .param_str = "V8fV8fV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4837 .{ .param_str = "V16fV16fV16fUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4741 .{ .param_str = "V16fV16fV16fUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4838 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4742 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4839 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },4743 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
4840 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4744 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4841 .{ .param_str = "V2dV2dIiV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4745 .{ .param_str = "V2dV2dIiV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4842 .{ .param_str = "V4dV4dIiV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4746 .{ .param_str = "V4dV4dIiV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4843 .{ .param_str = "V8dV8dIiV8dUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4747 .{ .param_str = "V8dV8dIiV8dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4844 .{ .param_str = "V8xV8xIiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },4748 .{ .param_str = "V8xV8xIiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
4845 .{ .param_str = "V16xV16xIiV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },4749 .{ .param_str = "V16xV16xIiV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
4846 .{ .param_str = "V32xV32xIiV32xUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },4750 .{ .param_str = "V32xV32xIiV32xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
4847 .{ .param_str = "V4fV4fIiV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4751 .{ .param_str = "V4fV4fIiV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4848 .{ .param_str = "V8fV8fIiV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },4752 .{ .param_str = "V8fV8fIiV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
4849 .{ .param_str = "V16fV16fIiV16fUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4753 .{ .param_str = "V16fV16fIiV16fUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4850 .{ .param_str = "V2dV2dV2dIiV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4754 .{ .param_str = "V2dV2dV2dIiV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4851 .{ .param_str = "V8xV8xV8xIiV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },4755 .{ .param_str = "V8xV8xV8xIiV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
4852 .{ .param_str = "V4fV4fV4fIiV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4756 .{ .param_str = "V4fV4fV4fIiV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
4853 .{ .param_str = "V2dV2dV2d", .features = "sse3", .attributes = .{ .@"const" = true } },4757 .{ .param_str = "V2dV2dV2d", .features = "sse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4854 .{ .param_str = "V4dV4dV4d", .features = "avx", .attributes = .{ .@"const" = true } },4758 .{ .param_str = "V4dV4dV4d", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4855 .{ .param_str = "V4fV4fV4f", .features = "sse3", .attributes = .{ .@"const" = true } },4759 .{ .param_str = "V4fV4fV4f", .features = "sse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4856 .{ .param_str = "V8fV8fV8f", .features = "avx", .attributes = .{ .@"const" = true } },4760 .{ .param_str = "V8fV8fV8f", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4857 .{ .param_str = "V2dV2dV2d", .features = "sse3", .attributes = .{ .@"const" = true } },4761 .{ .param_str = "V2dV2dV2d", .features = "sse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4858 .{ .param_str = "V4dV4dV4d", .features = "avx", .attributes = .{ .@"const" = true } },4762 .{ .param_str = "V4dV4dV4d", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4859 .{ .param_str = "V4fV4fV4f", .features = "sse3", .attributes = .{ .@"const" = true } },4763 .{ .param_str = "V4fV4fV4f", .features = "sse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4860 .{ .param_str = "V8fV8fV8f", .features = "avx", .attributes = .{ .@"const" = true } },4764 .{ .param_str = "V8fV8fV8f", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4861 .{ .param_str = "vUi", .features = "shstk" },4765 .{ .param_str = "vUi", .features = "shstk" },
4862 .{ .param_str = "V4OiV4OiV2OiIi", .features = "avx2", .attributes = .{ .@"const" = true } },4766 .{ .param_str = "V4OiV4OiV2OiIi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4863 .{ .param_str = "V16fV16fV4fIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4767 .{ .param_str = "V16fV16fV4fIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4864 .{ .param_str = "V8fV8fV4fIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },4768 .{ .param_str = "V8fV8fV4fIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4865 .{ .param_str = "V16fV16fV8fIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4769 .{ .param_str = "V16fV16fV8fIi", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4866 .{ .param_str = "V4dV4dV2dIi", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4770 .{ .param_str = "V4dV4dV2dIi", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4867 .{ .param_str = "V8dV8dV2dIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4771 .{ .param_str = "V8dV8dV2dIi", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4868 .{ .param_str = "V8dV8dV4dIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4772 .{ .param_str = "V8dV8dV4dIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4869 .{ .param_str = "V16iV16iV4iIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4773 .{ .param_str = "V16iV16iV4iIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4870 .{ .param_str = "V8iV8iV4iIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },4774 .{ .param_str = "V8iV8iV4iIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4871 .{ .param_str = "V16iV16iV8iIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4775 .{ .param_str = "V16iV16iV8iIi", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4872 .{ .param_str = "V4OiV4OiV2OiIi", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true } },4776 .{ .param_str = "V4OiV4OiV2OiIi", .features = "avx512dq,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4873 .{ .param_str = "V8OiV8OiV2OiIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },4777 .{ .param_str = "V8OiV8OiV2OiIi", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4874 .{ .param_str = "V8OiV8OiV4OiIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4778 .{ .param_str = "V8OiV8OiV4OiIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4875 .{ .param_str = "V4fV4fV4fIc", .features = "sse4_1", .attributes = .{ .@"const" = true } },4779 .{ .param_str = "V4fV4fV4fIc", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4876 .{ .param_str = "V2OiV2OiV2Oi", .features = "sse4a", .attributes = .{ .@"const" = true } },4780 .{ .param_str = "V2OiV2OiV2Oi", .features = "sse4a", .attributes = .{ .@"const" = true } },
4877 .{ .param_str = "V2OiV2OiV2OiIcIc", .features = "sse4a", .attributes = .{ .@"const" = true } },4781 .{ .param_str = "V2OiV2OiV2OiIcIc", .features = "sse4a", .attributes = .{ .@"const" = true } },
4878 .{ .param_str = "vUiv*", .features = "invpcid", .attributes = .{ .@"const" = true } },4782 .{ .param_str = "vUiv*", .features = "invpcid", .attributes = .{ .@"const" = true } },
4879 .{ .param_str = "UOiUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4783 .{ .param_str = "UOiUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4880 .{ .param_str = "UsUsUs", .features = "avx512dq", .attributes = .{ .@"const" = true } },4784 .{ .param_str = "UsUsUs", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4881 .{ .param_str = "UcUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },4785 .{ .param_str = "UcUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4882 .{ .param_str = "UiUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4786 .{ .param_str = "UiUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4883 .{ .param_str = "UOiUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4787 .{ .param_str = "UOiUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4884 .{ .param_str = "UsUsUs", .features = "avx512f", .attributes = .{ .@"const" = true } },4788 .{ .param_str = "UsUsUs", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4885 .{ .param_str = "UOiUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4789 .{ .param_str = "UOiUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4886 .{ .param_str = "UsUsUs", .features = "avx512f", .attributes = .{ .@"const" = true } },4790 .{ .param_str = "UsUsUs", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4887 .{ .param_str = "UcUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },4791 .{ .param_str = "UcUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4888 .{ .param_str = "UiUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4792 .{ .param_str = "UiUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4889 .{ .param_str = "UcUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },4793 .{ .param_str = "UcUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4890 .{ .param_str = "UiUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4794 .{ .param_str = "UiUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4891 .{ .param_str = "UcUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },4795 .{ .param_str = "UcUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4892 .{ .param_str = "UiUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4796 .{ .param_str = "UiUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4893 .{ .param_str = "UOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4797 .{ .param_str = "UOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4894 .{ .param_str = "UsUs", .features = "avx512f", .attributes = .{ .@"const" = true } },4798 .{ .param_str = "UsUs", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4895 .{ .param_str = "UOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4799 .{ .param_str = "UOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4896 .{ .param_str = "UsUs", .features = "avx512f", .attributes = .{ .@"const" = true } },4800 .{ .param_str = "UsUs", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4897 .{ .param_str = "UcUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },4801 .{ .param_str = "UcUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4898 .{ .param_str = "UiUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4802 .{ .param_str = "UiUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4899 .{ .param_str = "UOiUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4803 .{ .param_str = "UOiUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4900 .{ .param_str = "UsUsUs", .features = "avx512f", .attributes = .{ .@"const" = true } },4804 .{ .param_str = "UsUsUs", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4901 .{ .param_str = "UcUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },4805 .{ .param_str = "UcUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4902 .{ .param_str = "UiUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4806 .{ .param_str = "UiUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4903 .{ .param_str = "iUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4807 .{ .param_str = "iUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4904 .{ .param_str = "iUsUs", .features = "avx512f", .attributes = .{ .@"const" = true } },4808 .{ .param_str = "iUsUs", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4905 .{ .param_str = "iUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },4809 .{ .param_str = "iUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4906 .{ .param_str = "iUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4810 .{ .param_str = "iUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4907 .{ .param_str = "iUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4811 .{ .param_str = "iUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4908 .{ .param_str = "iUsUs", .features = "avx512f", .attributes = .{ .@"const" = true } },4812 .{ .param_str = "iUsUs", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4909 .{ .param_str = "iUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },4813 .{ .param_str = "iUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4910 .{ .param_str = "iUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4814 .{ .param_str = "iUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4911 .{ .param_str = "UOiUOiIUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4815 .{ .param_str = "UOiUOiIUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4912 .{ .param_str = "UsUsIUi", .features = "avx512f", .attributes = .{ .@"const" = true } },4816 .{ .param_str = "UsUsIUi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4913 .{ .param_str = "UcUcIUi", .features = "avx512dq", .attributes = .{ .@"const" = true } },4817 .{ .param_str = "UcUcIUi", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4914 .{ .param_str = "UiUiIUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4818 .{ .param_str = "UiUiIUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4915 .{ .param_str = "UOiUOiIUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4819 .{ .param_str = "UOiUOiIUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4916 .{ .param_str = "UsUsIUi", .features = "avx512f", .attributes = .{ .@"const" = true } },4820 .{ .param_str = "UsUsIUi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4917 .{ .param_str = "UcUcIUi", .features = "avx512dq", .attributes = .{ .@"const" = true } },4821 .{ .param_str = "UcUcIUi", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4918 .{ .param_str = "UiUiIUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4822 .{ .param_str = "UiUiIUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4919 .{ .param_str = "iUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4823 .{ .param_str = "iUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4920 .{ .param_str = "iUsUs", .features = "avx512dq", .attributes = .{ .@"const" = true } },4824 .{ .param_str = "iUsUs", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4921 .{ .param_str = "iUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },4825 .{ .param_str = "iUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4922 .{ .param_str = "iUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4826 .{ .param_str = "iUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4923 .{ .param_str = "iUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4827 .{ .param_str = "iUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4924 .{ .param_str = "iUsUs", .features = "avx512dq", .attributes = .{ .@"const" = true } },4828 .{ .param_str = "iUsUs", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4925 .{ .param_str = "iUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },4829 .{ .param_str = "iUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4926 .{ .param_str = "iUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4830 .{ .param_str = "iUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4927 .{ .param_str = "UOiUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4831 .{ .param_str = "UOiUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4928 .{ .param_str = "UsUsUs", .features = "avx512f", .attributes = .{ .@"const" = true } },4832 .{ .param_str = "UsUsUs", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4929 .{ .param_str = "UiUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4833 .{ .param_str = "UiUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4930 .{ .param_str = "UOiUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4834 .{ .param_str = "UOiUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4931 .{ .param_str = "UsUsUs", .features = "avx512f", .attributes = .{ .@"const" = true } },4835 .{ .param_str = "UsUsUs", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4932 .{ .param_str = "UcUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },4836 .{ .param_str = "UcUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4933 .{ .param_str = "UiUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4837 .{ .param_str = "UiUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4934 .{ .param_str = "UOiUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4838 .{ .param_str = "UOiUOiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4935 .{ .param_str = "UsUsUs", .features = "avx512f", .attributes = .{ .@"const" = true } },4839 .{ .param_str = "UsUsUs", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4936 .{ .param_str = "UcUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true } },4840 .{ .param_str = "UcUcUc", .features = "avx512dq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4937 .{ .param_str = "UiUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },4841 .{ .param_str = "UiUiUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4938 .{ .param_str = "V16ccC*", .features = "sse3" },4842 .{ .param_str = "V16ccC*", .features = "sse3" },
4939 .{ .param_str = "V32ccC*", .features = "avx" },4843 .{ .param_str = "V32ccC*", .features = "avx" },
4940 .{ .param_str = "vUi", .features = "sse" },4844 .{ .param_str = "vUi", .features = "sse" },
...@@ -4942,22 +4846,22 @@ pub const data = blk: {...@@ -4942,22 +4846,22 @@ pub const data = blk: {
4942 .{ .param_str = "vv*", .features = "lwp" },4846 .{ .param_str = "vv*", .features = "lwp" },
4943 .{ .param_str = "V2dV2dC*V2dUc", .features = "avx512vl" },4847 .{ .param_str = "V2dV2dC*V2dUc", .features = "avx512vl" },
4944 .{ .param_str = "V4dV4dC*V4dUc", .features = "avx512vl" },4848 .{ .param_str = "V4dV4dC*V4dUc", .features = "avx512vl" },
4945 .{ .param_str = "V8dV8dC*V8dUc", .features = "avx512f,evex512" },4849 .{ .param_str = "V8dV8dC*V8dUc", .features = "avx512f" },
4946 .{ .param_str = "V4fV4fC*V4fUc", .features = "avx512vl" },4850 .{ .param_str = "V4fV4fC*V4fUc", .features = "avx512vl" },
4947 .{ .param_str = "V8fV8fC*V8fUc", .features = "avx512vl" },4851 .{ .param_str = "V8fV8fC*V8fUc", .features = "avx512vl" },
4948 .{ .param_str = "V16fV16fC*V16fUs", .features = "avx512f,evex512" },4852 .{ .param_str = "V16fV16fC*V16fUs", .features = "avx512f" },
4949 .{ .param_str = "V2OiV2OiC*V2OiUc", .features = "avx512vl" },4853 .{ .param_str = "V2OiV2OiC*V2OiUc", .features = "avx512vl" },
4950 .{ .param_str = "V4OiV4OiC*V4OiUc", .features = "avx512vl" },4854 .{ .param_str = "V4OiV4OiC*V4OiUc", .features = "avx512vl" },
4951 .{ .param_str = "V8OiOiC*V8OiUc", .features = "avx512f,evex512" },4855 .{ .param_str = "V8OiOiC*V8OiUc", .features = "avx512f" },
4952 .{ .param_str = "V8sV8sC*V8sUc", .features = "avx512bw,avx512vl" },4856 .{ .param_str = "V8sV8sC*V8sUc", .features = "avx512bw,avx512vl" },
4953 .{ .param_str = "V16sV16sC*V16sUs", .features = "avx512bw,avx512vl" },4857 .{ .param_str = "V16sV16sC*V16sUs", .features = "avx512bw,avx512vl" },
4954 .{ .param_str = "V32sV32sC*V32sUi", .features = "avx512bw,evex512" },4858 .{ .param_str = "V32sV32sC*V32sUi", .features = "avx512bw" },
4955 .{ .param_str = "V16cV16cC*V16cUs", .features = "avx512bw,avx512vl" },4859 .{ .param_str = "V16cV16cC*V16cUs", .features = "avx512bw,avx512vl" },
4956 .{ .param_str = "V32cV32cC*V32cUi", .features = "avx512bw,avx512vl" },4860 .{ .param_str = "V32cV32cC*V32cUi", .features = "avx512bw,avx512vl" },
4957 .{ .param_str = "V64cV64cC*V64cUOi", .features = "avx512bw,evex512" },4861 .{ .param_str = "V64cV64cC*V64cUOi", .features = "avx512bw" },
4958 .{ .param_str = "V4iV4iC*V4iUc", .features = "avx512vl" },4862 .{ .param_str = "V4iV4iC*V4iUc", .features = "avx512vl" },
4959 .{ .param_str = "V8iV8iC*V8iUc", .features = "avx512vl" },4863 .{ .param_str = "V8iV8iC*V8iUc", .features = "avx512vl" },
4960 .{ .param_str = "V16iiC*V16iUs", .features = "avx512f,evex512" },4864 .{ .param_str = "V16iiC*V16iUs", .features = "avx512f" },
4961 .{ .param_str = "vV2OiV2OiV2OiUi", .features = "kl" },4865 .{ .param_str = "vV2OiV2OiV2OiUi", .features = "kl" },
4962 .{ .param_str = "V8yV8yC*V8yUc", .features = "avx10_2" },4866 .{ .param_str = "V8yV8yC*V8yUc", .features = "avx10_2" },
4963 .{ .param_str = "V2dV2dC*V2dUc", .features = "avx512f" },4867 .{ .param_str = "V2dV2dC*V2dUc", .features = "avx512f" },
...@@ -4965,10 +4869,10 @@ pub const data = blk: {...@@ -4965,10 +4869,10 @@ pub const data = blk: {
4965 .{ .param_str = "V4fV4fC*V4fUc", .features = "avx512f" },4869 .{ .param_str = "V4fV4fC*V4fUc", .features = "avx512f" },
4966 .{ .param_str = "V2dV2dC*V2dUc", .features = "avx512vl" },4870 .{ .param_str = "V2dV2dC*V2dUc", .features = "avx512vl" },
4967 .{ .param_str = "V4dV4dC*V4dUc", .features = "avx512vl" },4871 .{ .param_str = "V4dV4dC*V4dUc", .features = "avx512vl" },
4968 .{ .param_str = "V8ddC*V8dUc", .features = "avx512f,evex512" },4872 .{ .param_str = "V8ddC*V8dUc", .features = "avx512f" },
4969 .{ .param_str = "V4fV4fC*V4fUc", .features = "avx512vl" },4873 .{ .param_str = "V4fV4fC*V4fUc", .features = "avx512vl" },
4970 .{ .param_str = "V8fV8fC*V8fUc", .features = "avx512vl" },4874 .{ .param_str = "V8fV8fC*V8fUc", .features = "avx512vl" },
4971 .{ .param_str = "V16ffC*V16fUs", .features = "avx512f,evex512" },4875 .{ .param_str = "V16ffC*V16fUs", .features = "avx512f" },
4972 .{ .param_str = "UcUiUiIUi", .features = "lwp" },4876 .{ .param_str = "UcUiUiIUi", .features = "lwp" },
4973 .{ .param_str = "vUiUiIUi", .features = "lwp" },4877 .{ .param_str = "vUiUiIUi", .features = "lwp" },
4974 .{ .param_str = "UsUs", .attributes = .{ .@"const" = true, .const_evaluable = true } },4878 .{ .param_str = "UsUs", .attributes = .{ .@"const" = true, .const_evaluable = true } },
...@@ -4990,30 +4894,30 @@ pub const data = blk: {...@@ -4990,30 +4894,30 @@ pub const data = blk: {
4990 .{ .param_str = "vV8f*V8iV8f", .features = "avx" },4894 .{ .param_str = "vV8f*V8iV8f", .features = "avx" },
4991 .{ .param_str = "vV2Oi*V2OiV2Oi", .features = "avx2" },4895 .{ .param_str = "vV2Oi*V2OiV2Oi", .features = "avx2" },
4992 .{ .param_str = "vV4Oi*V4OiV4Oi", .features = "avx2" },4896 .{ .param_str = "vV4Oi*V4OiV4Oi", .features = "avx2" },
4993 .{ .param_str = "V2dV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },4897 .{ .param_str = "V2dV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4994 .{ .param_str = "V4dV4dV4d", .features = "avx", .attributes = .{ .@"const" = true } },4898 .{ .param_str = "V4dV4dV4d", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4995 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4899 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4996 .{ .param_str = "V8xV8xV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },4900 .{ .param_str = "V8xV8xV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4997 .{ .param_str = "V16xV16xV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },4901 .{ .param_str = "V16xV16xV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4998 .{ .param_str = "V32xV32xV32xIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },4902 .{ .param_str = "V32xV32xV32xIi", .features = "avx512fp16", .attributes = .{ .@"const" = true, .const_evaluable = true } },
4999 .{ .param_str = "V4fV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },4903 .{ .param_str = "V4fV4fV4f", .features = "sse", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5000 .{ .param_str = "V8fV8fV8f", .features = "avx", .attributes = .{ .@"const" = true } },4904 .{ .param_str = "V8fV8fV8f", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5001 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4905 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5002 .{ .param_str = "V2dV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },4906 .{ .param_str = "V2dV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },
5003 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4907 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5004 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },4908 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5005 .{ .param_str = "V4fV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },4909 .{ .param_str = "V4fV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },
5006 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4910 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5007 .{ .param_str = "v", .features = "sse2" },4911 .{ .param_str = "v", .features = "sse2" },
5008 .{ .param_str = "V2dV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },4912 .{ .param_str = "V2dV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5009 .{ .param_str = "V4dV4dV4d", .features = "avx", .attributes = .{ .@"const" = true } },4913 .{ .param_str = "V4dV4dV4d", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5010 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4914 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5011 .{ .param_str = "V8xV8xV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },4915 .{ .param_str = "V8xV8xV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5012 .{ .param_str = "V16xV16xV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },4916 .{ .param_str = "V16xV16xV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5013 .{ .param_str = "V32xV32xV32xIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },4917 .{ .param_str = "V32xV32xV32xIi", .features = "avx512fp16", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5014 .{ .param_str = "V4fV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },4918 .{ .param_str = "V4fV4fV4f", .features = "sse", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5015 .{ .param_str = "V8fV8fV8f", .features = "avx", .attributes = .{ .@"const" = true } },4919 .{ .param_str = "V8fV8fV8f", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5016 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4920 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5017 .{ .param_str = "V2dV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },4921 .{ .param_str = "V2dV2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },
5018 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4922 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5019 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },4923 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
...@@ -5024,65 +4928,65 @@ pub const data = blk: {...@@ -5024,65 +4928,65 @@ pub const data = blk: {
5024 .{ .param_str = "vv*vC*", .features = "movdir64b" },4928 .{ .param_str = "vv*vC*", .features = "movdir64b" },
5025 .{ .param_str = "V4iV4iC*V4iUc", .features = "avx512vl" },4929 .{ .param_str = "V4iV4iC*V4iUc", .features = "avx512vl" },
5026 .{ .param_str = "V8iV8iC*V8iUc", .features = "avx512vl" },4930 .{ .param_str = "V8iV8iC*V8iUc", .features = "avx512vl" },
5027 .{ .param_str = "V16iV16iC*V16iUs", .features = "avx512f,evex512" },4931 .{ .param_str = "V16iV16iC*V16iUs", .features = "avx512f" },
5028 .{ .param_str = "vV4i*V4iUc", .features = "avx512vl" },4932 .{ .param_str = "vV4i*V4iUc", .features = "avx512vl" },
5029 .{ .param_str = "vV8i*V8iUc", .features = "avx512vl" },4933 .{ .param_str = "vV8i*V8iUc", .features = "avx512vl" },
5030 .{ .param_str = "vV16i*V16iUs", .features = "avx512f,evex512" },4934 .{ .param_str = "vV16i*V16iUs", .features = "avx512f" },
5031 .{ .param_str = "V2OiV2OiC*V2OiUc", .features = "avx512vl" },4935 .{ .param_str = "V2OiV2OiC*V2OiUc", .features = "avx512vl" },
5032 .{ .param_str = "V4OiV4OiC*V4OiUc", .features = "avx512vl" },4936 .{ .param_str = "V4OiV4OiC*V4OiUc", .features = "avx512vl" },
5033 .{ .param_str = "V8OiV8OiC*V8OiUc", .features = "avx512f,evex512" },4937 .{ .param_str = "V8OiV8OiC*V8OiUc", .features = "avx512f" },
5034 .{ .param_str = "vV2Oi*V2OiUc", .features = "avx512vl" },4938 .{ .param_str = "vV2Oi*V2OiUc", .features = "avx512vl" },
5035 .{ .param_str = "vV4Oi*V4OiUc", .features = "avx512vl" },4939 .{ .param_str = "vV4Oi*V4OiUc", .features = "avx512vl" },
5036 .{ .param_str = "vV8Oi*V8OiUc", .features = "avx512f,evex512" },4940 .{ .param_str = "vV8Oi*V8OiUc", .features = "avx512f" },
5037 .{ .param_str = "iV2d", .features = "sse2", .attributes = .{ .@"const" = true } },4941 .{ .param_str = "iV2d", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5038 .{ .param_str = "iV4d", .features = "avx", .attributes = .{ .@"const" = true } },4942 .{ .param_str = "iV4d", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5039 .{ .param_str = "iV4f", .features = "sse" },4943 .{ .param_str = "iV4f", .features = "sse", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5040 .{ .param_str = "iV8f", .features = "avx", .attributes = .{ .@"const" = true } },4944 .{ .param_str = "iV8f", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5041 .{ .param_str = "vi*i", .features = "sse2" },4945 .{ .param_str = "vi*i", .features = "sse2" },
5042 .{ .param_str = "vd*V2d", .features = "sse4a" },4946 .{ .param_str = "vd*V2d", .features = "sse4a" },
5043 .{ .param_str = "vf*V4f", .features = "sse4a" },4947 .{ .param_str = "vf*V4f", .features = "sse4a" },
5044 .{ .param_str = "V16cV16cV16cIc", .features = "sse4_1", .attributes = .{ .@"const" = true } },4948 .{ .param_str = "V16cV16cV16cIc", .features = "sse4_1", .attributes = .{ .@"const" = true } },
5045 .{ .param_str = "V32cV32cV32cIc", .features = "avx2", .attributes = .{ .@"const" = true } },4949 .{ .param_str = "V32cV32cV32cIc", .features = "avx2", .attributes = .{ .@"const" = true } },
5046 .{ .param_str = "V32sV64cV64cIc", .features = "avx10_2", .attributes = .{ .@"const" = true } },4950 .{ .param_str = "V32sV64cV64cIc", .features = "avx10_2", .attributes = .{ .@"const" = true } },
5047 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4951 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5048 .{ .param_str = "V32xV32xV32xIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },4952 .{ .param_str = "V32xV32xV32xIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5049 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },4953 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5050 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4954 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5051 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },4955 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5052 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },4956 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5053 .{ .param_str = "vUiUi", .features = "sse3" },4957 .{ .param_str = "vUiUi", .features = "sse3" },
5054 .{ .param_str = "vUiUiUi", .features = "mwaitx" },4958 .{ .param_str = "vUiUiUi", .features = "mwaitx" },
5055 .{ .param_str = "V8sV4iV4i", .features = "sse2", .attributes = .{ .@"const" = true } },4959 .{ .param_str = "V8sV4iV4i", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5056 .{ .param_str = "V16sV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true } },4960 .{ .param_str = "V16sV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5057 .{ .param_str = "V32sV16iV16i", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },4961 .{ .param_str = "V32sV16iV16i", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5058 .{ .param_str = "V16cV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true } },4962 .{ .param_str = "V16cV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5059 .{ .param_str = "V32cV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true } },4963 .{ .param_str = "V32cV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5060 .{ .param_str = "V64cV32sV32s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },4964 .{ .param_str = "V64cV32sV32s", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5061 .{ .param_str = "V8sV4iV4i", .features = "sse4_1", .attributes = .{ .@"const" = true } },4965 .{ .param_str = "V8sV4iV4i", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5062 .{ .param_str = "V16sV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true } },4966 .{ .param_str = "V16sV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5063 .{ .param_str = "V32sV16iV16i", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },4967 .{ .param_str = "V32sV16iV16i", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5064 .{ .param_str = "V16cV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true } },4968 .{ .param_str = "V16cV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5065 .{ .param_str = "V32cV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true } },4969 .{ .param_str = "V32cV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5066 .{ .param_str = "V64cV32sV32s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },4970 .{ .param_str = "V64cV32sV32s", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5067 .{ .param_str = "V16cV16cV16cIi", .features = "ssse3", .attributes = .{ .@"const" = true } },4971 .{ .param_str = "V16cV16cV16cIi", .features = "ssse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5068 .{ .param_str = "V32cV32cV32cIi", .features = "avx2", .attributes = .{ .@"const" = true } },4972 .{ .param_str = "V32cV32cV32cIi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5069 .{ .param_str = "V64cV64cV64cIi", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },4973 .{ .param_str = "V64cV64cV64cIi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5070 .{ .param_str = "v" },4974 .{ .param_str = "v" },
5071 .{ .param_str = "V16cV16cV16c", .features = "sse2", .attributes = .{ .@"const" = true } },4975 .{ .param_str = "V16UcV16UcV16Uc", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5072 .{ .param_str = "V32cV32cV32c", .features = "avx2", .attributes = .{ .@"const" = true } },4976 .{ .param_str = "V32UcV32UcV32Uc", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5073 .{ .param_str = "V64cV64cV64c", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },4977 .{ .param_str = "V64UcV64UcV64Uc", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5074 .{ .param_str = "V8sV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true } },4978 .{ .param_str = "V8UsV8UsV8Us", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5075 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true } },4979 .{ .param_str = "V16UsV16UsV16Us", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5076 .{ .param_str = "V32sV32sV32s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },4980 .{ .param_str = "V32UsV32UsV32Us", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5077 .{ .param_str = "V4iV4iV4iIi", .features = "avx2", .attributes = .{ .@"const" = true } },4981 .{ .param_str = "V4iV4iV4iIi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5078 .{ .param_str = "V8iV8iV8iIi", .features = "avx2", .attributes = .{ .@"const" = true } },4982 .{ .param_str = "V8iV8iV8iIi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5079 .{ .param_str = "V16cV16cV16cV16c", .features = "sse4_1", .attributes = .{ .@"const" = true } },4983 .{ .param_str = "V16cV16cV16cV16c", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5080 .{ .param_str = "V32cV32cV32cV32c", .features = "avx2", .attributes = .{ .@"const" = true } },4984 .{ .param_str = "V32cV32cV32cV32c", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5081 .{ .param_str = "V8sV8sV8sIi", .features = "sse4_1", .attributes = .{ .@"const" = true } },4985 .{ .param_str = "V8sV8sV8sIi", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5082 .{ .param_str = "V16sV16sV16sIi", .features = "avx2", .attributes = .{ .@"const" = true } },4986 .{ .param_str = "V16sV16sV16sIi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5083 .{ .param_str = "V2OiV2OiV2OiIc", .features = "pclmul", .attributes = .{ .@"const" = true } },4987 .{ .param_str = "V2OiV2OiV2OiIc", .features = "pclmul", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5084 .{ .param_str = "V4OiV4OiV4OiIc", .features = "vpclmulqdq", .attributes = .{ .@"const" = true } },4988 .{ .param_str = "V4OiV4OiV4OiIc", .features = "vpclmulqdq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5085 .{ .param_str = "V8OiV8OiV8OiIc", .features = "avx512f,evex512,vpclmulqdq", .attributes = .{ .@"const" = true } },4989 .{ .param_str = "V8OiV8OiV8OiIc", .features = "avx512f,vpclmulqdq", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5086 .{ .param_str = "iV16ciV16ciIc", .features = "sse4_2", .attributes = .{ .@"const" = true } },4990 .{ .param_str = "iV16ciV16ciIc", .features = "sse4_2", .attributes = .{ .@"const" = true } },
5087 .{ .param_str = "iV16ciV16ciIc", .features = "sse4_2", .attributes = .{ .@"const" = true } },4991 .{ .param_str = "iV16ciV16ciIc", .features = "sse4_2", .attributes = .{ .@"const" = true } },
5088 .{ .param_str = "iV16ciV16ciIc", .features = "sse4_2", .attributes = .{ .@"const" = true } },4992 .{ .param_str = "iV16ciV16ciIc", .features = "sse4_2", .attributes = .{ .@"const" = true } },
...@@ -5098,339 +5002,327 @@ pub const data = blk: {...@@ -5098,339 +5002,327 @@ pub const data = blk: {
5098 .{ .param_str = "iV16cV16cIc", .features = "sse4_2", .attributes = .{ .@"const" = true } },5002 .{ .param_str = "iV16cV16cIc", .features = "sse4_2", .attributes = .{ .@"const" = true } },
5099 .{ .param_str = "V16cV16cV16cIc", .features = "sse4_2", .attributes = .{ .@"const" = true } },5003 .{ .param_str = "V16cV16cV16cIc", .features = "sse4_2", .attributes = .{ .@"const" = true } },
5100 .{ .param_str = "UiUiUi", .features = "bmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },5004 .{ .param_str = "UiUiUi", .features = "bmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5101 .{ .param_str = "V4dV4dIi", .features = "avx2", .attributes = .{ .@"const" = true } },5005 .{ .param_str = "V4dV4dIi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5102 .{ .param_str = "V8dV8dIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5006 .{ .param_str = "V8dV8dIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5103 .{ .param_str = "V4OiV4OiIi", .features = "avx2", .attributes = .{ .@"const" = true } },5007 .{ .param_str = "V4OiV4OiIi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5104 .{ .param_str = "V8OiV8OiIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5008 .{ .param_str = "V8OiV8OiIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5105 .{ .param_str = "V4OiV4OiV4OiIi", .features = "avx2", .attributes = .{ .@"const" = true } },5009 .{ .param_str = "V4OiV4OiV4OiIi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5106 .{ .param_str = "V4dV4dV4Oi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5010 .{ .param_str = "V4dV4dV4Oi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5107 .{ .param_str = "V8dV8dV8Oi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5011 .{ .param_str = "V8dV8dV8Oi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5108 .{ .param_str = "V4OiV4OiV4Oi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5012 .{ .param_str = "V4OiV4OiV4Oi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5109 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5013 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5110 .{ .param_str = "V8sV8sV8s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },5014 .{ .param_str = "V8sV8sV8s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5111 .{ .param_str = "V16sV16sV16s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },5015 .{ .param_str = "V16sV16sV16s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5112 .{ .param_str = "V32sV32sV32s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5016 .{ .param_str = "V32sV32sV32s", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5113 .{ .param_str = "V16cV16cV16c", .features = "avx512vbmi,avx512vl", .attributes = .{ .@"const" = true } },5017 .{ .param_str = "V16cV16cV16c", .features = "avx512vbmi,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5114 .{ .param_str = "V32cV32cV32c", .features = "avx512vbmi,avx512vl", .attributes = .{ .@"const" = true } },5018 .{ .param_str = "V32cV32cV32c", .features = "avx512vbmi,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5115 .{ .param_str = "V64cV64cV64c", .features = "avx512vbmi,evex512", .attributes = .{ .@"const" = true } },5019 .{ .param_str = "V64cV64cV64c", .features = "avx512vbmi", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5116 .{ .param_str = "V8fV8fV8i", .features = "avx2", .attributes = .{ .@"const" = true } },5020 .{ .param_str = "V8fV8fV8i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5117 .{ .param_str = "V16fV16fV16i", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5021 .{ .param_str = "V16fV16fV16i", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5118 .{ .param_str = "V8iV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true } },5022 .{ .param_str = "V8iV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5119 .{ .param_str = "V16iV16iV16i", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5023 .{ .param_str = "V16iV16iV16i", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5120 .{ .param_str = "UiUiUi", .features = "bmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },5024 .{ .param_str = "UiUiUi", .features = "bmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5121 .{ .param_str = "V4iV4iV4i", .features = "ssse3", .attributes = .{ .@"const" = true } },5025 .{ .param_str = "V4iV4iV4i", .features = "ssse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5122 .{ .param_str = "V8iV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true } },5026 .{ .param_str = "V8iV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5123 .{ .param_str = "V8sV8sV8s", .features = "ssse3", .attributes = .{ .@"const" = true } },5027 .{ .param_str = "V8sV8sV8s", .features = "ssse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5124 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true } },5028 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5125 .{ .param_str = "V8sV8sV8s", .features = "ssse3", .attributes = .{ .@"const" = true } },5029 .{ .param_str = "V8sV8sV8s", .features = "ssse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5126 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true } },5030 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5127 .{ .param_str = "V8sV8s", .features = "sse4_1", .attributes = .{ .@"const" = true } },5031 .{ .param_str = "V8sV8s", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5128 .{ .param_str = "V4iV4iV4i", .features = "ssse3", .attributes = .{ .@"const" = true } },5032 .{ .param_str = "V4iV4iV4i", .features = "ssse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5129 .{ .param_str = "V8iV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true } },5033 .{ .param_str = "V8iV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5130 .{ .param_str = "V8sV8sV8s", .features = "ssse3", .attributes = .{ .@"const" = true } },5034 .{ .param_str = "V8sV8sV8s", .features = "ssse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5131 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true } },5035 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5132 .{ .param_str = "V8sV8sV8s", .features = "ssse3", .attributes = .{ .@"const" = true } },5036 .{ .param_str = "V8sV8sV8s", .features = "ssse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5133 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true } },5037 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5134 .{ .param_str = "V8sV16cV16c", .features = "ssse3", .attributes = .{ .@"const" = true } },5038 .{ .param_str = "V8sV16cV16c", .features = "ssse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5135 .{ .param_str = "V16sV32cV32c", .features = "avx2", .attributes = .{ .@"const" = true } },5039 .{ .param_str = "V16sV32cV32c", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5136 .{ .param_str = "V32sV64cV64c", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5040 .{ .param_str = "V32sV64cV64c", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5137 .{ .param_str = "V4iV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true } },5041 .{ .param_str = "V4iV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5138 .{ .param_str = "V8iV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true } },5042 .{ .param_str = "V8iV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5139 .{ .param_str = "V16iV32sV32s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5043 .{ .param_str = "V16iV32sV32s", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5140 .{ .param_str = "V16cV4iV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5044 .{ .param_str = "V16cV4iV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5141 .{ .param_str = "vV16c*V4iUc", .features = "avx512vl" },5045 .{ .param_str = "vV16c*V4iUc", .features = "avx512vl" },
5142 .{ .param_str = "V16cV8iV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5046 .{ .param_str = "V16cV8iV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5143 .{ .param_str = "vV16c*V8iUc", .features = "avx512vl" },5047 .{ .param_str = "vV16c*V8iUc", .features = "avx512vl" },
5144 .{ .param_str = "V16cV16iV16cUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5048 .{ .param_str = "V16cV16iV16cUs", .features = "avx512f", .attributes = .{ .@"const" = true } },
5145 .{ .param_str = "vV16c*V16iUs", .features = "avx512f,evex512" },5049 .{ .param_str = "vV16c*V16iUs", .features = "avx512f" },
5146 .{ .param_str = "V8sV4iV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5050 .{ .param_str = "V8sV4iV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5147 .{ .param_str = "vV8s*V4iUc", .features = "avx512vl" },5051 .{ .param_str = "vV8s*V4iUc", .features = "avx512vl" },
5148 .{ .param_str = "V8sV8iV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5052 .{ .param_str = "V8sV8iV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5149 .{ .param_str = "vV8s*V8iUc", .features = "avx512vl" },5053 .{ .param_str = "vV8s*V8iUc", .features = "avx512vl" },
5150 .{ .param_str = "V16sV16iV16sUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5054 .{ .param_str = "V16sV16iV16sUs", .features = "avx512f", .attributes = .{ .@"const" = true } },
5151 .{ .param_str = "vV16s*V16iUs", .features = "avx512f,evex512" },5055 .{ .param_str = "vV16s*V16iUs", .features = "avx512f" },
5152 .{ .param_str = "iV16c", .features = "sse2", .attributes = .{ .@"const" = true } },5056 .{ .param_str = "iV16c", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5153 .{ .param_str = "iV32c", .features = "avx2", .attributes = .{ .@"const" = true } },5057 .{ .param_str = "iV32c", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5154 .{ .param_str = "V16cV2OiV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5058 .{ .param_str = "V16cV2OiV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5155 .{ .param_str = "vV16c*V2OiUc", .features = "avx512vl" },5059 .{ .param_str = "vV16c*V2OiUc", .features = "avx512vl" },
5156 .{ .param_str = "V16cV4OiV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5060 .{ .param_str = "V16cV4OiV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5157 .{ .param_str = "vV16c*V4OiUc", .features = "avx512vl" },5061 .{ .param_str = "vV16c*V4OiUc", .features = "avx512vl" },
5158 .{ .param_str = "V16cV8OiV16cUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5062 .{ .param_str = "V16cV8OiV16cUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
5159 .{ .param_str = "vV16c*V8OiUc", .features = "avx512f,evex512" },5063 .{ .param_str = "vV16c*V8OiUc", .features = "avx512f" },
5160 .{ .param_str = "V4iV2OiV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5064 .{ .param_str = "V4iV2OiV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5161 .{ .param_str = "vV4i*V2OiUc", .features = "avx512vl" },5065 .{ .param_str = "vV4i*V2OiUc", .features = "avx512vl" },
5162 .{ .param_str = "vV4i*V4OiUc", .features = "avx512vl" },5066 .{ .param_str = "vV4i*V4OiUc", .features = "avx512vl" },
5163 .{ .param_str = "V8iV8OiV8iUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5067 .{ .param_str = "V8iV8OiV8iUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
5164 .{ .param_str = "vV8i*V8OiUc", .features = "avx512f,evex512" },5068 .{ .param_str = "vV8i*V8OiUc", .features = "avx512f" },
5165 .{ .param_str = "V8sV2OiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5069 .{ .param_str = "V8sV2OiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5166 .{ .param_str = "vV8s*V2OiUc", .features = "avx512vl" },5070 .{ .param_str = "vV8s*V2OiUc", .features = "avx512vl" },
5167 .{ .param_str = "V8sV4OiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5071 .{ .param_str = "V8sV4OiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5168 .{ .param_str = "vV8s*V4OiUc", .features = "avx512vl" },5072 .{ .param_str = "vV8s*V4OiUc", .features = "avx512vl" },
5169 .{ .param_str = "V8sV8OiV8sUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5073 .{ .param_str = "V8sV8OiV8sUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
5170 .{ .param_str = "vV8s*V8OiUc", .features = "avx512f,evex512" },5074 .{ .param_str = "vV8s*V8OiUc", .features = "avx512f" },
5171 .{ .param_str = "V16cV4iV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5075 .{ .param_str = "V16cV4iV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5172 .{ .param_str = "vV16c*V4iUc", .features = "avx512vl" },5076 .{ .param_str = "vV16c*V4iUc", .features = "avx512vl" },
5173 .{ .param_str = "V16cV8iV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5077 .{ .param_str = "V16cV8iV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5174 .{ .param_str = "vV16c*V8iUc", .features = "avx512vl" },5078 .{ .param_str = "vV16c*V8iUc", .features = "avx512vl" },
5175 .{ .param_str = "V16cV16iV16cUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5079 .{ .param_str = "V16cV16iV16cUs", .features = "avx512f", .attributes = .{ .@"const" = true } },
5176 .{ .param_str = "vV16c*V16iUs", .features = "avx512f,evex512" },5080 .{ .param_str = "vV16c*V16iUs", .features = "avx512f" },
5177 .{ .param_str = "V8sV4iV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5081 .{ .param_str = "V8sV4iV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5178 .{ .param_str = "vV8s*V4iUc", .features = "avx512vl" },5082 .{ .param_str = "vV8s*V4iUc", .features = "avx512vl" },
5179 .{ .param_str = "V8sV8iV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5083 .{ .param_str = "V8sV8iV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5180 .{ .param_str = "vV8s*V8iUc", .features = "avx512vl" },5084 .{ .param_str = "vV8s*V8iUc", .features = "avx512vl" },
5181 .{ .param_str = "V16sV16iV16sUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5085 .{ .param_str = "V16sV16iV16sUs", .features = "avx512f", .attributes = .{ .@"const" = true } },
5182 .{ .param_str = "vV16s*V16iUs", .features = "avx512f,evex512" },5086 .{ .param_str = "vV16s*V16iUs", .features = "avx512f" },
5183 .{ .param_str = "V16cV2OiV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5087 .{ .param_str = "V16cV2OiV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5184 .{ .param_str = "vV16c*V2OiUc", .features = "avx512vl" },5088 .{ .param_str = "vV16c*V2OiUc", .features = "avx512vl" },
5185 .{ .param_str = "V16cV4OiV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5089 .{ .param_str = "V16cV4OiV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5186 .{ .param_str = "vV16c*V4OiUc", .features = "avx512vl" },5090 .{ .param_str = "vV16c*V4OiUc", .features = "avx512vl" },
5187 .{ .param_str = "V16cV8OiV16cUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5091 .{ .param_str = "V16cV8OiV16cUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
5188 .{ .param_str = "vV16c*V8OiUc", .features = "avx512f,evex512" },5092 .{ .param_str = "vV16c*V8OiUc", .features = "avx512f" },
5189 .{ .param_str = "V4iV2OiV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5093 .{ .param_str = "V4iV2OiV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5190 .{ .param_str = "vV4i*V2OiUc", .features = "avx512vl" },5094 .{ .param_str = "vV4i*V2OiUc", .features = "avx512vl" },
5191 .{ .param_str = "V4iV4OiV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5095 .{ .param_str = "V4iV4OiV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5192 .{ .param_str = "vV4i*V4OiUc", .features = "avx512vl" },5096 .{ .param_str = "vV4i*V4OiUc", .features = "avx512vl" },
5193 .{ .param_str = "V8iV8OiV8iUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5097 .{ .param_str = "V8iV8OiV8iUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
5194 .{ .param_str = "vV8i*V8OiUc", .features = "avx512f,evex512" },5098 .{ .param_str = "vV8i*V8OiUc", .features = "avx512f" },
5195 .{ .param_str = "V8sV2OiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5099 .{ .param_str = "V8sV2OiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5196 .{ .param_str = "vV8s*V2OiUc", .features = "avx512vl" },5100 .{ .param_str = "vV8s*V2OiUc", .features = "avx512vl" },
5197 .{ .param_str = "V8sV4OiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5101 .{ .param_str = "V8sV4OiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5198 .{ .param_str = "vV8s*V4OiUc", .features = "avx512vl" },5102 .{ .param_str = "vV8s*V4OiUc", .features = "avx512vl" },
5199 .{ .param_str = "V8sV8OiV8sUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5103 .{ .param_str = "V8sV8OiV8sUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
5200 .{ .param_str = "vV8s*V8OiUc", .features = "avx512f,evex512" },5104 .{ .param_str = "vV8s*V8OiUc", .features = "avx512f" },
5201 .{ .param_str = "V16cV8sV16cUc", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },5105 .{ .param_str = "V16cV8sV16cUc", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },
5202 .{ .param_str = "vV16c*V8sUc", .features = "avx512vl,avx512bw" },5106 .{ .param_str = "vV16c*V8sUc", .features = "avx512vl,avx512bw" },
5203 .{ .param_str = "V16cV16sV16cUs", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },5107 .{ .param_str = "V16cV16sV16cUs", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },
5204 .{ .param_str = "vV16c*V16sUs", .features = "avx512vl,avx512bw" },5108 .{ .param_str = "vV16c*V16sUs", .features = "avx512vl,avx512bw" },
5205 .{ .param_str = "V32cV32sV32cUi", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5109 .{ .param_str = "V32cV32sV32cUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },
5206 .{ .param_str = "vV32c*V32sUi", .features = "avx512bw,evex512" },5110 .{ .param_str = "vV32c*V32sUi", .features = "avx512bw" },
5207 .{ .param_str = "V16cV4iV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5111 .{ .param_str = "V16cV4iV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5208 .{ .param_str = "vV16c*V4iUc", .features = "avx512vl" },5112 .{ .param_str = "vV16c*V4iUc", .features = "avx512vl" },
5209 .{ .param_str = "V16cV8iV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5113 .{ .param_str = "V16cV8iV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5210 .{ .param_str = "vV16c*V8iUc", .features = "avx512vl" },5114 .{ .param_str = "vV16c*V8iUc", .features = "avx512vl" },
5211 .{ .param_str = "V16cV16iV16cUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5115 .{ .param_str = "V16cV16iV16cUs", .features = "avx512f", .attributes = .{ .@"const" = true } },
5212 .{ .param_str = "vV16c*V16iUs", .features = "avx512f,evex512" },5116 .{ .param_str = "vV16c*V16iUs", .features = "avx512f" },
5213 .{ .param_str = "V8sV4iV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5117 .{ .param_str = "V8sV4iV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5214 .{ .param_str = "vV8s*V4iUc", .features = "avx512vl" },5118 .{ .param_str = "vV8s*V4iUc", .features = "avx512vl" },
5215 .{ .param_str = "V8sV8iV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5119 .{ .param_str = "V8sV8iV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5216 .{ .param_str = "vV8s*V8iUc", .features = "avx512vl" },5120 .{ .param_str = "vV8s*V8iUc", .features = "avx512vl" },
5217 .{ .param_str = "V16sV16iV16sUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5121 .{ .param_str = "V16sV16iV16sUs", .features = "avx512f", .attributes = .{ .@"const" = true } },
5218 .{ .param_str = "vV16s*V16iUs", .features = "avx512f,evex512" },5122 .{ .param_str = "vV16s*V16iUs", .features = "avx512f" },
5219 .{ .param_str = "V16cV2OiV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5123 .{ .param_str = "V16cV2OiV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5220 .{ .param_str = "vV16c*V2OiUc", .features = "avx512vl" },5124 .{ .param_str = "vV16c*V2OiUc", .features = "avx512vl" },
5221 .{ .param_str = "V16cV4OiV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5125 .{ .param_str = "V16cV4OiV16cUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5222 .{ .param_str = "vV16c*V4OiUc", .features = "avx512vl" },5126 .{ .param_str = "vV16c*V4OiUc", .features = "avx512vl" },
5223 .{ .param_str = "V16cV8OiV16cUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5127 .{ .param_str = "V16cV8OiV16cUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
5224 .{ .param_str = "vV16c*V8OiUc", .features = "avx512f,evex512" },5128 .{ .param_str = "vV16c*V8OiUc", .features = "avx512f" },
5225 .{ .param_str = "V4iV2OiV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5129 .{ .param_str = "V4iV2OiV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5226 .{ .param_str = "vV4i*V2OiUc", .features = "avx512vl" },5130 .{ .param_str = "vV4i*V2OiUc", .features = "avx512vl" },
5227 .{ .param_str = "V4iV4OiV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5131 .{ .param_str = "V4iV4OiV4iUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5228 .{ .param_str = "vV4i*V4OiUc", .features = "avx512vl" },5132 .{ .param_str = "vV4i*V4OiUc", .features = "avx512vl" },
5229 .{ .param_str = "V8iV8OiV8iUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5133 .{ .param_str = "V8iV8OiV8iUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
5230 .{ .param_str = "vV8i*V8OiUc", .features = "avx512f,evex512" },5134 .{ .param_str = "vV8i*V8OiUc", .features = "avx512f" },
5231 .{ .param_str = "V8sV2OiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5135 .{ .param_str = "V8sV2OiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5232 .{ .param_str = "vV8s*V2OiUc", .features = "avx512vl" },5136 .{ .param_str = "vV8s*V2OiUc", .features = "avx512vl" },
5233 .{ .param_str = "V8sV4OiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5137 .{ .param_str = "V8sV4OiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5234 .{ .param_str = "vV8s*V4OiUc", .features = "avx512vl" },5138 .{ .param_str = "vV8s*V4OiUc", .features = "avx512vl" },
5235 .{ .param_str = "V8sV8OiV8sUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5139 .{ .param_str = "V8sV8OiV8sUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
5236 .{ .param_str = "vV8s*V8OiUc", .features = "avx512f,evex512" },5140 .{ .param_str = "vV8s*V8OiUc", .features = "avx512f" },
5237 .{ .param_str = "V16cV8sV16cUc", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },5141 .{ .param_str = "V16cV8sV16cUc", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },
5238 .{ .param_str = "vV16c*V8sUc", .features = "avx512vl,avx512bw" },5142 .{ .param_str = "vV16c*V8sUc", .features = "avx512vl,avx512bw" },
5239 .{ .param_str = "V16cV16sV16cUs", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },5143 .{ .param_str = "V16cV16sV16cUs", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },
5240 .{ .param_str = "vV16c*V16sUs", .features = "avx512vl,avx512bw" },5144 .{ .param_str = "vV16c*V16sUs", .features = "avx512vl,avx512bw" },
5241 .{ .param_str = "V32cV32sV32cUi", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5145 .{ .param_str = "V32cV32sV32cUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },
5242 .{ .param_str = "vV32c*V32sUi", .features = "avx512bw,evex512" },5146 .{ .param_str = "vV32c*V32sUi", .features = "avx512bw" },
5243 .{ .param_str = "V16cV8sV16cUc", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },5147 .{ .param_str = "V16cV8sV16cUc", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },
5244 .{ .param_str = "vV16c*V8sUc", .features = "avx512vl,avx512bw" },5148 .{ .param_str = "vV16c*V8sUc", .features = "avx512vl,avx512bw" },
5245 .{ .param_str = "vV16c*V16sUs", .features = "avx512vl,avx512bw" },5149 .{ .param_str = "vV16c*V16sUs", .features = "avx512vl,avx512bw" },
5246 .{ .param_str = "V32cV32sV32cUi", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5150 .{ .param_str = "V32cV32sV32cUi", .features = "avx512bw", .attributes = .{ .@"const" = true } },
5247 .{ .param_str = "vV32c*V32sUi", .features = "avx512bw,evex512" },5151 .{ .param_str = "vV32c*V32sUi", .features = "avx512bw" },
5248 .{ .param_str = "V2OiV4iV4i", .features = "sse4_1", .attributes = .{ .@"const" = true } },5152 .{ .param_str = "V2OiV4iV4i", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5249 .{ .param_str = "V4OiV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true } },5153 .{ .param_str = "V4OiV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5250 .{ .param_str = "V8OiV16iV16i", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5154 .{ .param_str = "V8OiV16iV16i", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5251 .{ .param_str = "V8sV8sV8s", .features = "ssse3", .attributes = .{ .@"const" = true } },5155 .{ .param_str = "V8sV8sV8s", .features = "ssse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5252 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true } },5156 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5253 .{ .param_str = "V32sV32sV32s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5157 .{ .param_str = "V32sV32sV32s", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5254 .{ .param_str = "V8sV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true } },5158 .{ .param_str = "V8UsV8UsV8Us", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5255 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true } },5159 .{ .param_str = "V16UsV16UsV16Us", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5256 .{ .param_str = "V32sV32sV32s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5160 .{ .param_str = "V32UsV32UsV32Us", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5257 .{ .param_str = "V8sV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true } },5161 .{ .param_str = "V8sV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5258 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true } },5162 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5259 .{ .param_str = "V32sV32sV32s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5163 .{ .param_str = "V32sV32sV32s", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5260 .{ .param_str = "V2OiV4iV4i", .features = "sse2", .attributes = .{ .@"const" = true } },5164 .{ .param_str = "V2OiV4iV4i", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5261 .{ .param_str = "V4OiV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true } },5165 .{ .param_str = "V4OiV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5262 .{ .param_str = "V8OiV16iV16i", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5166 .{ .param_str = "V8OiV16iV16i", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5263 .{ .param_str = "vvC*", .features = "movrs", .attributes = .{ .@"const" = true } },5167 .{ .param_str = "vvC*", .features = "movrs", .attributes = .{ .@"const" = true } },
5264 .{ .param_str = "V4iV4iIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5168 .{ .param_str = "V4iV4iIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5265 .{ .param_str = "V8iV8iIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5169 .{ .param_str = "V8iV8iIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5266 .{ .param_str = "V16iV16iIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5170 .{ .param_str = "V16iV16iIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5267 .{ .param_str = "V2OiV2OiIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5171 .{ .param_str = "V2OiV2OiIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5268 .{ .param_str = "V4OiV4OiIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5172 .{ .param_str = "V4OiV4OiIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5269 .{ .param_str = "V8OiV8OiIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5173 .{ .param_str = "V8OiV8OiIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5270 .{ .param_str = "V4iV4iV4i", .features = "avx512vl", .attributes = .{ .@"const" = true } },5174 .{ .param_str = "V4iV4iIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5271 .{ .param_str = "V8iV8iV8i", .features = "avx512vl", .attributes = .{ .@"const" = true } },5175 .{ .param_str = "V8iV8iIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5272 .{ .param_str = "V16iV16iV16i", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5176 .{ .param_str = "V16iV16iIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5273 .{ .param_str = "V2OiV2OiV2Oi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5177 .{ .param_str = "V2OiV2OiIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5274 .{ .param_str = "V4OiV4OiV4Oi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5178 .{ .param_str = "V4OiV4OiIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5275 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5179 .{ .param_str = "V8OiV8OiIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5276 .{ .param_str = "V4iV4iIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5277 .{ .param_str = "V8iV8iIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5278 .{ .param_str = "V16iV16iIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },
5279 .{ .param_str = "V2OiV2OiIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5280 .{ .param_str = "V4OiV4OiIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5281 .{ .param_str = "V8OiV8OiIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },
5282 .{ .param_str = "V4iV4iV4i", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5283 .{ .param_str = "V8iV8iV8i", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5284 .{ .param_str = "V16iV16iV16i", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },
5285 .{ .param_str = "V2OiV2OiV2Oi", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5286 .{ .param_str = "V4OiV4OiV4Oi", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5287 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },
5288 .{ .param_str = "V2OiV16cV16c", .features = "sse2", .attributes = .{ .@"const" = true } },5180 .{ .param_str = "V2OiV16cV16c", .features = "sse2", .attributes = .{ .@"const" = true } },
5289 .{ .param_str = "V4OiV32cV32c", .features = "avx2", .attributes = .{ .@"const" = true } },5181 .{ .param_str = "V4OiV32cV32c", .features = "avx2", .attributes = .{ .@"const" = true } },
5290 .{ .param_str = "V8OiV64cV64c", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5182 .{ .param_str = "V8OiV64cV64c", .features = "avx512bw", .attributes = .{ .@"const" = true } },
5291 .{ .param_str = "V16cV16cV16c", .features = "ssse3", .attributes = .{ .@"const" = true } },5183 .{ .param_str = "V16cV16cV16c", .features = "ssse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5292 .{ .param_str = "V32cV32cV32c", .features = "avx2", .attributes = .{ .@"const" = true } },5184 .{ .param_str = "V32cV32cV32c", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5293 .{ .param_str = "V64cV64cV64c", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5185 .{ .param_str = "V64cV64cV64c", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5294 .{ .param_str = "V4iV4iIi", .features = "sse2", .attributes = .{ .@"const" = true } },5186 .{ .param_str = "V4iV4iIi", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5295 .{ .param_str = "V8iV8iIi", .features = "avx2", .attributes = .{ .@"const" = true } },5187 .{ .param_str = "V8iV8iIi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5296 .{ .param_str = "V16iV16iIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5188 .{ .param_str = "V16iV16iIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5297 .{ .param_str = "V8sV8sIi", .features = "sse2", .attributes = .{ .@"const" = true } },5189 .{ .param_str = "V8sV8sIi", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5298 .{ .param_str = "V16sV16sIi", .features = "avx2", .attributes = .{ .@"const" = true } },5190 .{ .param_str = "V16sV16sIi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5299 .{ .param_str = "V32sV32sIi", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5191 .{ .param_str = "V32sV32sIi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5300 .{ .param_str = "V8sV8sIi", .features = "sse2", .attributes = .{ .@"const" = true } },5192 .{ .param_str = "V8sV8sIi", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5301 .{ .param_str = "V16sV16sIi", .features = "avx2", .attributes = .{ .@"const" = true } },5193 .{ .param_str = "V16sV16sIi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5302 .{ .param_str = "V32sV32sIi", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5194 .{ .param_str = "V32sV32sIi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5303 .{ .param_str = "V16cV16cV16c", .features = "ssse3", .attributes = .{ .@"const" = true } },5195 .{ .param_str = "V16cV16cV16c", .features = "ssse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5304 .{ .param_str = "V32cV32cV32c", .features = "avx2", .attributes = .{ .@"const" = true } },5196 .{ .param_str = "V32cV32cV32c", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5305 .{ .param_str = "V4iV4iV4i", .features = "ssse3", .attributes = .{ .@"const" = true } },5197 .{ .param_str = "V4iV4iV4i", .features = "ssse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5306 .{ .param_str = "V8iV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true } },5198 .{ .param_str = "V8iV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5307 .{ .param_str = "V8sV8sV8s", .features = "ssse3", .attributes = .{ .@"const" = true } },5199 .{ .param_str = "V8sV8sV8s", .features = "ssse3", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5308 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true } },5200 .{ .param_str = "V16sV16sV16s", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5309 .{ .param_str = "V4iV4iV4i", .features = "sse2", .attributes = .{ .@"const" = true } },5201 .{ .param_str = "V4iV4iV4i", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5310 .{ .param_str = "V8iV8iV4i", .features = "avx2", .attributes = .{ .@"const" = true } },5202 .{ .param_str = "V8iV8iV4i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5311 .{ .param_str = "V16iV16iV4i", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5203 .{ .param_str = "V16iV16iV4i", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5312 .{ .param_str = "V4iV4ii", .features = "sse2", .attributes = .{ .@"const" = true } },5204 .{ .param_str = "V4iV4ii", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5313 .{ .param_str = "V8iV8ii", .features = "avx2", .attributes = .{ .@"const" = true } },5205 .{ .param_str = "V8iV8ii", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5314 .{ .param_str = "V16iV16ii", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5206 .{ .param_str = "V16iV16ii", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5315 .{ .param_str = "V2OiV2OiIi", .features = "sse2", .attributes = .{ .@"const" = true } },5207 .{ .param_str = "V16cV16cIi", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5316 .{ .param_str = "V4OiV4OiIi", .features = "avx2", .attributes = .{ .@"const" = true } },5208 .{ .param_str = "V32cV32cIi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5317 .{ .param_str = "V8OiV8OiIi", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5209 .{ .param_str = "V64cV64cIi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5318 .{ .param_str = "V2OiV2OiV2Oi", .features = "sse2", .attributes = .{ .@"const" = true } },5210 .{ .param_str = "V2OiV2OiV2Oi", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5319 .{ .param_str = "V4OiV4OiV2Oi", .features = "avx2", .attributes = .{ .@"const" = true } },5211 .{ .param_str = "V4OiV4OiV2Oi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5320 .{ .param_str = "V8OiV8OiV2Oi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5212 .{ .param_str = "V8OiV8OiV2Oi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5321 .{ .param_str = "V2OiV2Oii", .features = "sse2", .attributes = .{ .@"const" = true } },5213 .{ .param_str = "V2OiV2Oii", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5322 .{ .param_str = "V4OiV4Oii", .features = "avx2", .attributes = .{ .@"const" = true } },5214 .{ .param_str = "V4OiV4Oii", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5323 .{ .param_str = "V8OiV8Oii", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5215 .{ .param_str = "V8OiV8Oii", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5324 .{ .param_str = "V16sV16sV16s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },5216 .{ .param_str = "V16sV16sV16s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5325 .{ .param_str = "V16iV16iV16i", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5217 .{ .param_str = "V16iV16iV16i", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5326 .{ .param_str = "V2OiV2OiV2Oi", .features = "avx2", .attributes = .{ .@"const" = true } },5218 .{ .param_str = "V2OiV2OiV2Oi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5327 .{ .param_str = "V32sV32sV32s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5219 .{ .param_str = "V32sV32sV32s", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5328 .{ .param_str = "V4OiV4OiV4Oi", .features = "avx2", .attributes = .{ .@"const" = true } },5220 .{ .param_str = "V4OiV4OiV4Oi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5329 .{ .param_str = "V4iV4iV4i", .features = "avx2", .attributes = .{ .@"const" = true } },5221 .{ .param_str = "V4iV4iV4i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5330 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5222 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5331 .{ .param_str = "V8sV8sV8s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },5223 .{ .param_str = "V8sV8sV8s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5332 .{ .param_str = "V8iV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true } },5224 .{ .param_str = "V8iV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5333 .{ .param_str = "V8sV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true } },5225 .{ .param_str = "V8sV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5334 .{ .param_str = "V16sV16sV8s", .features = "avx2", .attributes = .{ .@"const" = true } },5226 .{ .param_str = "V16sV16sV8s", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5335 .{ .param_str = "V32sV32sV8s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5227 .{ .param_str = "V32sV32sV8s", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5336 .{ .param_str = "V8sV8si", .features = "sse2", .attributes = .{ .@"const" = true } },5228 .{ .param_str = "V8sV8si", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5337 .{ .param_str = "V16sV16si", .features = "avx2", .attributes = .{ .@"const" = true } },5229 .{ .param_str = "V16sV16si", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5338 .{ .param_str = "V32sV32si", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5230 .{ .param_str = "V32sV32si", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5339 .{ .param_str = "V4iV4iV4i", .features = "sse2", .attributes = .{ .@"const" = true } },5231 .{ .param_str = "V4iV4iV4i", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5340 .{ .param_str = "V8iV8iV4i", .features = "avx2", .attributes = .{ .@"const" = true } },5232 .{ .param_str = "V8iV8iV4i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5341 .{ .param_str = "V16iV16iV4i", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5233 .{ .param_str = "V16iV16iV4i", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5342 .{ .param_str = "V4iV4ii", .features = "sse2", .attributes = .{ .@"const" = true } },5234 .{ .param_str = "V4iV4ii", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5343 .{ .param_str = "V8iV8ii", .features = "avx2", .attributes = .{ .@"const" = true } },5235 .{ .param_str = "V8iV8ii", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5344 .{ .param_str = "V16iV16ii", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5236 .{ .param_str = "V16iV16ii", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5345 .{ .param_str = "V2OiV2OiV2Oi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5237 .{ .param_str = "V2OiV2OiV2Oi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5346 .{ .param_str = "V4OiV4OiV2Oi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5238 .{ .param_str = "V4OiV4OiV2Oi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5347 .{ .param_str = "V8OiV8OiV2Oi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5239 .{ .param_str = "V8OiV8OiV2Oi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5348 .{ .param_str = "V2OiV2Oii", .features = "avx512vl", .attributes = .{ .@"const" = true } },5240 .{ .param_str = "V2OiV2Oii", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5349 .{ .param_str = "V4OiV4Oii", .features = "avx512vl", .attributes = .{ .@"const" = true } },5241 .{ .param_str = "V4OiV4Oii", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5350 .{ .param_str = "V8OiV8Oii", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5242 .{ .param_str = "V8OiV8Oii", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5351 .{ .param_str = "V16sV16sV16s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },5243 .{ .param_str = "V16sV16sV16s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5352 .{ .param_str = "V16iV16iV16i", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5244 .{ .param_str = "V16iV16iV16i", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5353 .{ .param_str = "V32sV32sV32s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5245 .{ .param_str = "V32sV32sV32s", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5354 .{ .param_str = "V4iV4iV4i", .features = "avx2", .attributes = .{ .@"const" = true } },5246 .{ .param_str = "V4iV4iV4i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5355 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5247 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5356 .{ .param_str = "V8sV8sV8s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },5248 .{ .param_str = "V8sV8sV8s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5357 .{ .param_str = "V8iV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true } },5249 .{ .param_str = "V8iV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5358 .{ .param_str = "V2OiV2OiV2Oi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5250 .{ .param_str = "V2OiV2OiV2Oi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5359 .{ .param_str = "V4OiV4OiV4Oi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5251 .{ .param_str = "V4OiV4OiV4Oi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5360 .{ .param_str = "V8sV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true } },5252 .{ .param_str = "V8sV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5361 .{ .param_str = "V16sV16sV8s", .features = "avx2", .attributes = .{ .@"const" = true } },5253 .{ .param_str = "V16sV16sV8s", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5362 .{ .param_str = "V32sV32sV8s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5254 .{ .param_str = "V32sV32sV8s", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5363 .{ .param_str = "V8sV8si", .features = "sse2", .attributes = .{ .@"const" = true } },5255 .{ .param_str = "V8sV8si", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5364 .{ .param_str = "V16sV16si", .features = "avx2", .attributes = .{ .@"const" = true } },5256 .{ .param_str = "V16sV16si", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5365 .{ .param_str = "V32sV32si", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5257 .{ .param_str = "V32sV32si", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5366 .{ .param_str = "V4iV4iV4i", .features = "sse2", .attributes = .{ .@"const" = true } },5258 .{ .param_str = "V4iV4iV4i", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5367 .{ .param_str = "V8iV8iV4i", .features = "avx2", .attributes = .{ .@"const" = true } },5259 .{ .param_str = "V8iV8iV4i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5368 .{ .param_str = "V16iV16iV4i", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5260 .{ .param_str = "V16iV16iV4i", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5369 .{ .param_str = "V4iV4ii", .features = "sse2", .attributes = .{ .@"const" = true } },5261 .{ .param_str = "V4iV4ii", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5370 .{ .param_str = "V8iV8ii", .features = "avx2", .attributes = .{ .@"const" = true } },5262 .{ .param_str = "V8iV8ii", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5371 .{ .param_str = "V16iV16ii", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5263 .{ .param_str = "V16iV16ii", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5372 .{ .param_str = "V2OiV2OiIi", .features = "sse2", .attributes = .{ .@"const" = true } },5264 .{ .param_str = "V16cV16cIi", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5373 .{ .param_str = "V4OiV4OiIi", .features = "avx2", .attributes = .{ .@"const" = true } },5265 .{ .param_str = "V32cV32cIi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5374 .{ .param_str = "V8OiV8OiIi", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5266 .{ .param_str = "V64cV64cIi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5375 .{ .param_str = "V2OiV2OiV2Oi", .features = "sse2", .attributes = .{ .@"const" = true } },5267 .{ .param_str = "V2OiV2OiV2Oi", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5376 .{ .param_str = "V4OiV4OiV2Oi", .features = "avx2", .attributes = .{ .@"const" = true } },5268 .{ .param_str = "V4OiV4OiV2Oi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5377 .{ .param_str = "V8OiV8OiV2Oi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5269 .{ .param_str = "V8OiV8OiV2Oi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5378 .{ .param_str = "V2OiV2Oii", .features = "sse2", .attributes = .{ .@"const" = true } },5270 .{ .param_str = "V2OiV2Oii", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5379 .{ .param_str = "V4OiV4Oii", .features = "avx2", .attributes = .{ .@"const" = true } },5271 .{ .param_str = "V4OiV4Oii", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5380 .{ .param_str = "V8OiV8Oii", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5272 .{ .param_str = "V8OiV8Oii", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5381 .{ .param_str = "V16sV16sV16s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },5273 .{ .param_str = "V16sV16sV16s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5382 .{ .param_str = "V16iV16iV16i", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5274 .{ .param_str = "V16iV16iV16i", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5383 .{ .param_str = "V2OiV2OiV2Oi", .features = "avx2", .attributes = .{ .@"const" = true } },5275 .{ .param_str = "V2OiV2OiV2Oi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5384 .{ .param_str = "V32sV32sV32s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5276 .{ .param_str = "V32sV32sV32s", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5385 .{ .param_str = "V4OiV4OiV4Oi", .features = "avx2", .attributes = .{ .@"const" = true } },5277 .{ .param_str = "V4OiV4OiV4Oi", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5386 .{ .param_str = "V4iV4iV4i", .features = "avx2", .attributes = .{ .@"const" = true } },5278 .{ .param_str = "V4iV4iV4i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5387 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5279 .{ .param_str = "V8OiV8OiV8Oi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5388 .{ .param_str = "V8sV8sV8s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },5280 .{ .param_str = "V8sV8sV8s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5389 .{ .param_str = "V8iV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true } },5281 .{ .param_str = "V8iV8iV8i", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5390 .{ .param_str = "V8sV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true } },5282 .{ .param_str = "V8sV8sV8s", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5391 .{ .param_str = "V16sV16sV8s", .features = "avx2", .attributes = .{ .@"const" = true } },5283 .{ .param_str = "V16sV16sV8s", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5392 .{ .param_str = "V32sV32sV8s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5284 .{ .param_str = "V32sV32sV8s", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5393 .{ .param_str = "V8sV8si", .features = "sse2", .attributes = .{ .@"const" = true } },5285 .{ .param_str = "V8sV8si", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5394 .{ .param_str = "V16sV16si", .features = "avx2", .attributes = .{ .@"const" = true } },5286 .{ .param_str = "V16sV16si", .features = "avx2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5395 .{ .param_str = "V32sV32si", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5287 .{ .param_str = "V32sV32si", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5396 .{ .param_str = "V4iV4iV4iV4iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5288 .{ .param_str = "V4iV4iV4iV4iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5397 .{ .param_str = "V4iV4iV4iV4iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5289 .{ .param_str = "V4iV4iV4iV4iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5398 .{ .param_str = "V8iV8iV8iV8iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5290 .{ .param_str = "V8iV8iV8iV8iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5399 .{ .param_str = "V8iV8iV8iV8iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5291 .{ .param_str = "V8iV8iV8iV8iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5400 .{ .param_str = "V16iV16iV16iV16iIiUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5292 .{ .param_str = "V16iV16iV16iV16iIiUs", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5401 .{ .param_str = "V16iV16iV16iV16iIiUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5293 .{ .param_str = "V16iV16iV16iV16iIiUs", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5402 .{ .param_str = "V2OiV2OiV2OiV2OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5294 .{ .param_str = "V2OiV2OiV2OiV2OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5403 .{ .param_str = "V2OiV2OiV2OiV2OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5295 .{ .param_str = "V2OiV2OiV2OiV2OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5404 .{ .param_str = "V4OiV4OiV4OiV4OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5296 .{ .param_str = "V4OiV4OiV4OiV4OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5405 .{ .param_str = "V4OiV4OiV4OiV4OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5297 .{ .param_str = "V4OiV4OiV4OiV4OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5406 .{ .param_str = "V8OiV8OiV8OiV8OiIiUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5298 .{ .param_str = "V8OiV8OiV8OiV8OiIiUc", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5407 .{ .param_str = "V8OiV8OiV8OiV8OiIiUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5299 .{ .param_str = "V8OiV8OiV8OiV8OiIiUc", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5408 .{ .param_str = "iV2OiV2Oi", .features = "sse4_1", .attributes = .{ .@"const" = true } },5300 .{ .param_str = "iV2OiV2Oi", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5409 .{ .param_str = "iV4OiV4Oi", .features = "avx", .attributes = .{ .@"const" = true } },5301 .{ .param_str = "iV4OiV4Oi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5410 .{ .param_str = "iV2OiV2Oi", .features = "sse4_1", .attributes = .{ .@"const" = true } },5302 .{ .param_str = "iV2OiV2Oi", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5411 .{ .param_str = "iV4OiV4Oi", .features = "avx", .attributes = .{ .@"const" = true } },5303 .{ .param_str = "iV4OiV4Oi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5412 .{ .param_str = "iV2OiV2Oi", .features = "sse4_1", .attributes = .{ .@"const" = true } },5304 .{ .param_str = "iV2OiV2Oi", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5413 .{ .param_str = "iV4OiV4Oi", .features = "avx", .attributes = .{ .@"const" = true } },5305 .{ .param_str = "iV4OiV4Oi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5414 .{ .param_str = "vUi", .features = "ptwrite" },5306 .{ .param_str = "vUi", .features = "ptwrite" },
5415 .{ .param_str = "V2dV2dV2dIiV2dUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },5307 .{ .param_str = "V2dV2dV2dIiV2dUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
5416 .{ .param_str = "V4dV4dV4dIiV4dUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },5308 .{ .param_str = "V4dV4dV4dIiV4dUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
5417 .{ .param_str = "V8dV8dV8dIiV8dUcIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },5309 .{ .param_str = "V8dV8dV8dIiV8dUcIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
5418 .{ .param_str = "V4fV4fV4fIiV4fUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },5310 .{ .param_str = "V4fV4fV4fIiV4fUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
5419 .{ .param_str = "V8fV8fV8fIiV8fUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },5311 .{ .param_str = "V8fV8fV8fIiV8fUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
5420 .{ .param_str = "V16fV16fV16fIiV16fUsIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },5312 .{ .param_str = "V16fV16fV16fIiV16fUsIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
5421 .{ .param_str = "V2dV2dV2dV2dUcIiIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },5313 .{ .param_str = "V2dV2dV2dV2dUcIiIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
5422 .{ .param_str = "V4fV4fV4fV4fUcIiIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },5314 .{ .param_str = "V4fV4fV4fV4fUcIiIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
5423 .{ .param_str = "V2dV2dV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5315 .{ .param_str = "V2dV2dV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5424 .{ .param_str = "V4dV4dV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5316 .{ .param_str = "V4dV4dV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5425 .{ .param_str = "V8dV8dV8dUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5317 .{ .param_str = "V8dV8dV8dUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
5426 .{ .param_str = "V4fV4fV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5318 .{ .param_str = "V4fV4fV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5427 .{ .param_str = "V8fV8fV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5319 .{ .param_str = "V8fV8fV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5428 .{ .param_str = "V16fV16fV16fUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5320 .{ .param_str = "V16fV16fV16fUs", .features = "avx512f", .attributes = .{ .@"const" = true } },
5429 .{ .param_str = "V2dV2dV2dV2dUc", .features = "avx512f", .attributes = .{ .@"const" = true } },5321 .{ .param_str = "V2dV2dV2dV2dUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
5430 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512f", .attributes = .{ .@"const" = true } },5322 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
5431 .{ .param_str = "V8xV8xV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5323 .{ .param_str = "V8xV8xV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5432 .{ .param_str = "V16xV16xV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5324 .{ .param_str = "V16xV16xV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5433 .{ .param_str = "V32xV32xV32xUi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5325 .{ .param_str = "V32xV32xV32xUi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5434 .{ .param_str = "V4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },5326 .{ .param_str = "V4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },
5435 .{ .param_str = "V8fV8f", .features = "avx", .attributes = .{ .@"const" = true } },5327 .{ .param_str = "V8fV8f", .features = "avx", .attributes = .{ .@"const" = true } },
5436 .{ .param_str = "V8xV8xV8xV8xUc", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5328 .{ .param_str = "V8xV8xV8xV8xUc", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
...@@ -5447,47 +5339,47 @@ pub const data = blk: {...@@ -5447,47 +5339,47 @@ pub const data = blk: {
5447 .{ .param_str = "UOi" },5339 .{ .param_str = "UOi" },
5448 .{ .param_str = "UOiUi*" },5340 .{ .param_str = "UOiUi*" },
5449 .{ .param_str = "Ui" },5341 .{ .param_str = "Ui" },
5450 .{ .param_str = "ddV8d", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5342 .{ .param_str = "ddV8d", .features = "avx512f", .attributes = .{ .@"const" = true } },
5451 .{ .param_str = "xxV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5343 .{ .param_str = "xxV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5452 .{ .param_str = "xxV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5344 .{ .param_str = "xxV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5453 .{ .param_str = "xxV32x", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5345 .{ .param_str = "xxV32x", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5454 .{ .param_str = "ffV16f", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5346 .{ .param_str = "ffV16f", .features = "avx512f", .attributes = .{ .@"const" = true } },
5455 .{ .param_str = "dV8d", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5347 .{ .param_str = "dV8d", .features = "avx512f", .attributes = .{ .@"const" = true } },
5456 .{ .param_str = "xV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5348 .{ .param_str = "xV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5457 .{ .param_str = "xV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5349 .{ .param_str = "xV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5458 .{ .param_str = "xV32x", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5350 .{ .param_str = "xV32x", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5459 .{ .param_str = "fV16f", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5351 .{ .param_str = "fV16f", .features = "avx512f", .attributes = .{ .@"const" = true } },
5460 .{ .param_str = "dV8d", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5352 .{ .param_str = "dV8d", .features = "avx512f", .attributes = .{ .@"const" = true } },
5461 .{ .param_str = "xV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5353 .{ .param_str = "xV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5462 .{ .param_str = "xV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5354 .{ .param_str = "xV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5463 .{ .param_str = "xV32x", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5355 .{ .param_str = "xV32x", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5464 .{ .param_str = "fV16f", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5356 .{ .param_str = "fV16f", .features = "avx512f", .attributes = .{ .@"const" = true } },
5465 .{ .param_str = "ddV8d", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5357 .{ .param_str = "ddV8d", .features = "avx512f", .attributes = .{ .@"const" = true } },
5466 .{ .param_str = "xxV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5358 .{ .param_str = "xxV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5467 .{ .param_str = "xxV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5359 .{ .param_str = "xxV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5468 .{ .param_str = "xxV32x", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5360 .{ .param_str = "xxV32x", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5469 .{ .param_str = "ffV16f", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5361 .{ .param_str = "ffV16f", .features = "avx512f", .attributes = .{ .@"const" = true } },
5470 .{ .param_str = "V2dV2dIiV2dUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },5362 .{ .param_str = "V2dV2dIiV2dUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
5471 .{ .param_str = "V4dV4dIiV4dUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },5363 .{ .param_str = "V4dV4dIiV4dUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
5472 .{ .param_str = "V8dV8dIiV8dUcIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },5364 .{ .param_str = "V8dV8dIiV8dUcIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
5473 .{ .param_str = "V8xV8xIiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5365 .{ .param_str = "V8xV8xIiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5474 .{ .param_str = "V16xV16xIiV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5366 .{ .param_str = "V16xV16xIiV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5475 .{ .param_str = "V32xV32xIiV32xUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5367 .{ .param_str = "V32xV32xIiV32xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5476 .{ .param_str = "V4fV4fIiV4fUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },5368 .{ .param_str = "V4fV4fIiV4fUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
5477 .{ .param_str = "V8fV8fIiV8fUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },5369 .{ .param_str = "V8fV8fIiV8fUc", .features = "avx512vl,avx512dq", .attributes = .{ .@"const" = true } },
5478 .{ .param_str = "V16fV16fIiV16fUsIi", .features = "avx512dq,evex512", .attributes = .{ .@"const" = true } },5370 .{ .param_str = "V16fV16fIiV16fUsIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
5479 .{ .param_str = "V2dV2dV2dV2dUcIiIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },5371 .{ .param_str = "V2dV2dV2dV2dUcIiIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
5480 .{ .param_str = "V8xV8xV8xV8xUcIiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5372 .{ .param_str = "V8xV8xV8xV8xUcIiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5481 .{ .param_str = "V4fV4fV4fV4fUcIiIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },5373 .{ .param_str = "V4fV4fV4fV4fUcIiIi", .features = "avx512dq", .attributes = .{ .@"const" = true } },
5482 .{ .param_str = "V2dV2dIiV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5374 .{ .param_str = "V2dV2dIiV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5483 .{ .param_str = "V4dV4dIiV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5375 .{ .param_str = "V4dV4dIiV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5484 .{ .param_str = "V8dV8dIiV8dUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5376 .{ .param_str = "V8dV8dIiV8dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5485 .{ .param_str = "V8xV8xIiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5377 .{ .param_str = "V8xV8xIiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5486 .{ .param_str = "V16xV16xIiV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5378 .{ .param_str = "V16xV16xIiV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5487 .{ .param_str = "V32xV32xIiV32xUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5379 .{ .param_str = "V32xV32xIiV32xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5488 .{ .param_str = "V4fV4fIiV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5380 .{ .param_str = "V4fV4fIiV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5489 .{ .param_str = "V8fV8fIiV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5381 .{ .param_str = "V8fV8fIiV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5490 .{ .param_str = "V16fV16fIiV16fUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5382 .{ .param_str = "V16fV16fIiV16fUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5491 .{ .param_str = "V2dV2dV2dV2dUcIiIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5383 .{ .param_str = "V2dV2dV2dV2dUcIiIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5492 .{ .param_str = "V8xV8xV8xV8xUcIiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5384 .{ .param_str = "V8xV8xV8xV8xUcIiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5493 .{ .param_str = "V4fV4fV4fV4fUcIiIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5385 .{ .param_str = "V4fV4fV4fV4fUcIiIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
...@@ -5499,15 +5391,15 @@ pub const data = blk: {...@@ -5499,15 +5391,15 @@ pub const data = blk: {
5499 .{ .param_str = "V4fV4fV4fIi", .features = "sse4_1", .attributes = .{ .@"const" = true } },5391 .{ .param_str = "V4fV4fV4fIi", .features = "sse4_1", .attributes = .{ .@"const" = true } },
5500 .{ .param_str = "V2dV2dV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5392 .{ .param_str = "V2dV2dV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5501 .{ .param_str = "V4dV4dV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5393 .{ .param_str = "V4dV4dV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5502 .{ .param_str = "V8dV8dV8dUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5394 .{ .param_str = "V8dV8dV8dUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
5503 .{ .param_str = "V4fV4fV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5395 .{ .param_str = "V4fV4fV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5504 .{ .param_str = "V8fV8fV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5396 .{ .param_str = "V8fV8fV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5505 .{ .param_str = "V16fV16fV16fUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5397 .{ .param_str = "V16fV16fV16fUs", .features = "avx512f", .attributes = .{ .@"const" = true } },
5506 .{ .param_str = "V2dV2dV2dV2dUc", .features = "avx512f", .attributes = .{ .@"const" = true } },5398 .{ .param_str = "V2dV2dV2dV2dUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
5507 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512f", .attributes = .{ .@"const" = true } },5399 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512f", .attributes = .{ .@"const" = true } },
5508 .{ .param_str = "V8xV8xV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5400 .{ .param_str = "V8xV8xV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5509 .{ .param_str = "V16xV16xV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5401 .{ .param_str = "V16xV16xV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5510 .{ .param_str = "V32xV32xV32xUi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5402 .{ .param_str = "V32xV32xV32xUi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5511 .{ .param_str = "V4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },5403 .{ .param_str = "V4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },
5512 .{ .param_str = "V8fV8f", .features = "avx", .attributes = .{ .@"const" = true } },5404 .{ .param_str = "V8fV8f", .features = "avx", .attributes = .{ .@"const" = true } },
5513 .{ .param_str = "V8xV8xV8xV8xUc", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5405 .{ .param_str = "V8xV8xV8xV8xUc", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
...@@ -5516,68 +5408,68 @@ pub const data = blk: {...@@ -5516,68 +5408,68 @@ pub const data = blk: {
5516 .{ .param_str = "v", .features = "shstk" },5408 .{ .param_str = "v", .features = "shstk" },
5517 .{ .param_str = "V2dV2dV2dV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5409 .{ .param_str = "V2dV2dV2dV2dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5518 .{ .param_str = "V4dV4dV4dV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5410 .{ .param_str = "V4dV4dV4dV4dUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5519 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5411 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5520 .{ .param_str = "V8xV8xV8xV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5412 .{ .param_str = "V8xV8xV8xV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5521 .{ .param_str = "V16xV16xV16xV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5413 .{ .param_str = "V16xV16xV16xV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5522 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5414 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5523 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5415 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5524 .{ .param_str = "V8fV8fV8fV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5416 .{ .param_str = "V8fV8fV8fV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5525 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5417 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5526 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5418 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5527 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5419 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5528 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5420 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5529 .{ .param_str = "vv*UcV8OiV8fIi", .features = "avx512f,evex512" },5421 .{ .param_str = "vv*UcV8OiV8fIi", .features = "avx512f" },
5530 .{ .param_str = "vv*UcV8OiV8iIi", .features = "avx512f,evex512" },5422 .{ .param_str = "vv*UcV8OiV8iIi", .features = "avx512f" },
5531 .{ .param_str = "vv*UcV2OiV2dIi", .features = "avx512vl" },5423 .{ .param_str = "vv*UcV2OiV2dIi", .features = "avx512vl" },
5532 .{ .param_str = "vv*UcV2OiV2OiIi", .features = "avx512vl" },5424 .{ .param_str = "vv*UcV2OiV2OiIi", .features = "avx512vl" },
5533 .{ .param_str = "vv*UcV4OiV4dIi", .features = "avx512vl" },5425 .{ .param_str = "vv*UcV4OiV4dIi", .features = "avx512vl" },
5534 .{ .param_str = "vv*UcV4OiV4OiIi", .features = "avx512vl" },5426 .{ .param_str = "vv*UcV4OiV4OiIi", .features = "avx512vl" },
5535 .{ .param_str = "vv*UcV2OiV4fIi", .features = "avx512vl" },5427 .{ .param_str = "vv*UcV2OiV4fIi", .features = "avx512vl" },
5536 .{ .param_str = "vv*UcV2OiV4iIi", .features = "avx512vl" },5428 .{ .param_str = "vv*UcV2OiV4iIi", .features = "avx512vl" },
5537 .{ .param_str = "vv*UcV8OiV8dIi", .features = "avx512f,evex512" },5429 .{ .param_str = "vv*UcV8OiV8dIi", .features = "avx512f" },
5538 .{ .param_str = "vv*UcV8OiV8OiIi", .features = "avx512f,evex512" },5430 .{ .param_str = "vv*UcV8OiV8OiIi", .features = "avx512f" },
5539 .{ .param_str = "vv*UcV4OiV4fIi", .features = "avx512vl" },5431 .{ .param_str = "vv*UcV4OiV4fIi", .features = "avx512vl" },
5540 .{ .param_str = "vv*UcV4OiV4iIi", .features = "avx512vl" },5432 .{ .param_str = "vv*UcV4OiV4iIi", .features = "avx512vl" },
5541 .{ .param_str = "vv*UsV16iV16fIi", .features = "avx512f,evex512" },5433 .{ .param_str = "vv*UsV16iV16fIi", .features = "avx512f" },
5542 .{ .param_str = "vv*UsV16iV16iIi", .features = "avx512f,evex512" },5434 .{ .param_str = "vv*UsV16iV16iIi", .features = "avx512f" },
5543 .{ .param_str = "vv*UcV4iV2dIi", .features = "avx512vl" },5435 .{ .param_str = "vv*UcV4iV2dIi", .features = "avx512vl" },
5544 .{ .param_str = "vv*UcV4iV2OiIi", .features = "avx512vl" },5436 .{ .param_str = "vv*UcV4iV2OiIi", .features = "avx512vl" },
5545 .{ .param_str = "vv*UcV4iV4dIi", .features = "avx512vl" },5437 .{ .param_str = "vv*UcV4iV4dIi", .features = "avx512vl" },
5546 .{ .param_str = "vv*UcV4iV4OiIi", .features = "avx512vl" },5438 .{ .param_str = "vv*UcV4iV4OiIi", .features = "avx512vl" },
5547 .{ .param_str = "vv*UcV4iV4fIi", .features = "avx512vl" },5439 .{ .param_str = "vv*UcV4iV4fIi", .features = "avx512vl" },
5548 .{ .param_str = "vv*UcV4iV4iIi", .features = "avx512vl" },5440 .{ .param_str = "vv*UcV4iV4iIi", .features = "avx512vl" },
5549 .{ .param_str = "vv*UcV8iV8dIi", .features = "avx512f,evex512" },5441 .{ .param_str = "vv*UcV8iV8dIi", .features = "avx512f" },
5550 .{ .param_str = "vv*UcV8iV8OiIi", .features = "avx512f,evex512" },5442 .{ .param_str = "vv*UcV8iV8OiIi", .features = "avx512f" },
5551 .{ .param_str = "vv*UcV8iV8fIi", .features = "avx512vl" },5443 .{ .param_str = "vv*UcV8iV8fIi", .features = "avx512vl" },
5552 .{ .param_str = "vv*UcV8iV8iIi", .features = "avx512vl" },5444 .{ .param_str = "vv*UcV8iV8iIi", .features = "avx512vl" },
5553 .{ .param_str = "V16cUsV16cV16c", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },5445 .{ .param_str = "V16cUsV16cV16c", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5554 .{ .param_str = "V32cUiV32cV32c", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },5446 .{ .param_str = "V32cUiV32cV32c", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5555 .{ .param_str = "V64cUOiV64cV64c", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5447 .{ .param_str = "V64cUOiV64cV64c", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5556 .{ .param_str = "V4iUcV4iV4i", .features = "avx512vl", .attributes = .{ .@"const" = true } },5448 .{ .param_str = "V4iUcV4iV4i", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5557 .{ .param_str = "V8iUcV8iV8i", .features = "avx512vl", .attributes = .{ .@"const" = true } },5449 .{ .param_str = "V8iUcV8iV8i", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5558 .{ .param_str = "V16iUsV16iV16i", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5450 .{ .param_str = "V16iUsV16iV16i", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5559 .{ .param_str = "V8yUcV8yV8y", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true } },5451 .{ .param_str = "V8yUcV8yV8y", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5560 .{ .param_str = "V16yUsV16yV16y", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true } },5452 .{ .param_str = "V16yUsV16yV16y", .features = "avx512bf16,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5561 .{ .param_str = "V32yUiV32yV32y", .features = "avx512bf16,evex512", .attributes = .{ .@"const" = true } },5453 .{ .param_str = "V32yUiV32yV32y", .features = "avx512bf16", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5562 .{ .param_str = "V2dUcV2dV2d", .features = "avx512vl", .attributes = .{ .@"const" = true } },5454 .{ .param_str = "V2dUcV2dV2d", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5563 .{ .param_str = "V4dUcV4dV4d", .features = "avx512vl", .attributes = .{ .@"const" = true } },5455 .{ .param_str = "V4dUcV4dV4d", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5564 .{ .param_str = "V8dUcV8dV8d", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5456 .{ .param_str = "V8dUcV8dV8d", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5565 .{ .param_str = "V8xUcV8xV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5457 .{ .param_str = "V8xUcV8xV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5566 .{ .param_str = "V16xUsV16xV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5458 .{ .param_str = "V16xUsV16xV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5567 .{ .param_str = "V32xUiV32xV32x", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5459 .{ .param_str = "V32xUiV32xV32x", .features = "avx512fp16", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5568 .{ .param_str = "V4fUcV4fV4f", .features = "avx512vl", .attributes = .{ .@"const" = true } },5460 .{ .param_str = "V4fUcV4fV4f", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5569 .{ .param_str = "V8fUcV8fV8f", .features = "avx512vl", .attributes = .{ .@"const" = true } },5461 .{ .param_str = "V8fUcV8fV8f", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5570 .{ .param_str = "V16fUsV16fV16f", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5462 .{ .param_str = "V16fUsV16fV16f", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5571 .{ .param_str = "V2OiUcV2OiV2Oi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5463 .{ .param_str = "V2OiUcV2OiV2Oi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5572 .{ .param_str = "V4OiUcV4OiV4Oi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5464 .{ .param_str = "V4OiUcV4OiV4Oi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5573 .{ .param_str = "V8OiUcV8OiV8Oi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5465 .{ .param_str = "V8OiUcV8OiV8Oi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5574 .{ .param_str = "V8yUcV8yV8y", .features = "avx512bf16", .attributes = .{ .@"const" = true } },5466 .{ .param_str = "V8yUcV8yV8y", .features = "avx512bf16", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5575 .{ .param_str = "V2dUcV2dV2d", .features = "avx512f", .attributes = .{ .@"const" = true } },5467 .{ .param_str = "V2dUcV2dV2d", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5576 .{ .param_str = "V8xUcV8xV8x", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5468 .{ .param_str = "V8xUcV8xV8x", .features = "avx512fp16", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5577 .{ .param_str = "V4fUcV4fV4f", .features = "avx512f", .attributes = .{ .@"const" = true } },5469 .{ .param_str = "V4fUcV4fV4f", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5578 .{ .param_str = "V8sUcV8sV8s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },5470 .{ .param_str = "V8sUcV8sV8s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5579 .{ .param_str = "V16sUsV16sV16s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true } },5471 .{ .param_str = "V16sUsV16sV16s", .features = "avx512bw,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5580 .{ .param_str = "V32sUiV32sV32s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5472 .{ .param_str = "V32sUiV32sV32s", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5581 .{ .param_str = "v", .features = "serialize" },5473 .{ .param_str = "v", .features = "serialize" },
5582 .{ .param_str = "v", .features = "shstk" },5474 .{ .param_str = "v", .features = "shstk" },
5583 .{ .param_str = "v", .features = "sse" },5475 .{ .param_str = "v", .features = "sse" },
...@@ -5588,86 +5480,78 @@ pub const data = blk: {...@@ -5588,86 +5480,78 @@ pub const data = blk: {
5588 .{ .param_str = "V4iV4iV4i", .features = "sha", .attributes = .{ .@"const" = true } },5480 .{ .param_str = "V4iV4iV4i", .features = "sha", .attributes = .{ .@"const" = true } },
5589 .{ .param_str = "V4iV4iV4i", .features = "sha", .attributes = .{ .@"const" = true } },5481 .{ .param_str = "V4iV4iV4i", .features = "sha", .attributes = .{ .@"const" = true } },
5590 .{ .param_str = "V4iV4iV4iV4i", .features = "sha", .attributes = .{ .@"const" = true } },5482 .{ .param_str = "V4iV4iV4iV4i", .features = "sha", .attributes = .{ .@"const" = true } },
5591 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5483 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5592 .{ .param_str = "V8fV8fV8fIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5484 .{ .param_str = "V8fV8fV8fIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5593 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5485 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5594 .{ .param_str = "V4dV4dV4dIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5486 .{ .param_str = "V4dV4dV4dIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5595 .{ .param_str = "V16iV16iV16iIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5487 .{ .param_str = "V16iV16iV16iIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5596 .{ .param_str = "V8iV8iV8iIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5488 .{ .param_str = "V8iV8iV8iIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5597 .{ .param_str = "V8OiV8OiV8OiIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5489 .{ .param_str = "V8OiV8OiV8OiIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5598 .{ .param_str = "V4OiV4OiV4OiIi", .features = "avx512vl", .attributes = .{ .@"const" = true } },5490 .{ .param_str = "V4OiV4OiV4OiIi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5599 .{ .param_str = "V2dV2dV2dIi", .features = "sse2", .attributes = .{ .@"const" = true } },5491 .{ .param_str = "V2dV2dV2dIi", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5600 .{ .param_str = "V4dV4dV4dIi", .features = "avx", .attributes = .{ .@"const" = true } },5492 .{ .param_str = "V4dV4dV4dIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5601 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5493 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5602 .{ .param_str = "V4fV4fV4fIi", .features = "sse", .attributes = .{ .@"const" = true } },5494 .{ .param_str = "V4fV4fV4fIi", .features = "sse", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5603 .{ .param_str = "V8fV8fV8fIi", .features = "avx", .attributes = .{ .@"const" = true } },5495 .{ .param_str = "V8fV8fV8fIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5604 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5496 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5605 .{ .param_str = "v*", .features = "lwp" },5497 .{ .param_str = "v*", .features = "lwp" },
5606 .{ .param_str = "V2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },5498 .{ .param_str = "V8dV8dIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5607 .{ .param_str = "V4dV4d", .features = "avx", .attributes = .{ .@"const" = true } },5499 .{ .param_str = "V32xV32xIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5608 .{ .param_str = "V8dV8dIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5500 .{ .param_str = "V16fV16fIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5609 .{ .param_str = "V8xV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5610 .{ .param_str = "V16xV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5611 .{ .param_str = "V32xV32xIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },
5612 .{ .param_str = "V4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },
5613 .{ .param_str = "V8fV8f", .features = "avx", .attributes = .{ .@"const" = true } },
5614 .{ .param_str = "V16fV16fIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },
5615 .{ .param_str = "V2dV2d", .features = "sse2", .attributes = .{ .@"const" = true } },
5616 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5501 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5617 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5502 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5618 .{ .param_str = "V4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },
5619 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5503 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5620 .{ .param_str = "Ui", .features = "sse" },5504 .{ .param_str = "Ui", .features = "sse" },
5621 .{ .param_str = "vV2d*V2dUc", .features = "avx512vl" },5505 .{ .param_str = "vV2d*V2dUc", .features = "avx512vl" },
5622 .{ .param_str = "vV4d*V4dUc", .features = "avx512vl" },5506 .{ .param_str = "vV4d*V4dUc", .features = "avx512vl" },
5623 .{ .param_str = "vV8d*V8dUc", .features = "avx512f,evex512" },5507 .{ .param_str = "vV8d*V8dUc", .features = "avx512f" },
5624 .{ .param_str = "vV4f*V4fUc", .features = "avx512vl" },5508 .{ .param_str = "vV4f*V4fUc", .features = "avx512vl" },
5625 .{ .param_str = "vV8f*V8fUc", .features = "avx512vl" },5509 .{ .param_str = "vV8f*V8fUc", .features = "avx512vl" },
5626 .{ .param_str = "vV16f*V16fUs", .features = "avx512f,evex512" },5510 .{ .param_str = "vV16f*V16fUs", .features = "avx512f" },
5627 .{ .param_str = "vV2Oi*V2OiUc", .features = "avx512vl" },5511 .{ .param_str = "vV2Oi*V2OiUc", .features = "avx512vl" },
5628 .{ .param_str = "vV4Oi*V4OiUc", .features = "avx512vl" },5512 .{ .param_str = "vV4Oi*V4OiUc", .features = "avx512vl" },
5629 .{ .param_str = "vOi*V8OiUc", .features = "avx512f,evex512" },5513 .{ .param_str = "vOi*V8OiUc", .features = "avx512f" },
5630 .{ .param_str = "vV8s*V8sUc", .features = "avx512vl,avx512bw" },5514 .{ .param_str = "vV8s*V8sUc", .features = "avx512vl,avx512bw" },
5631 .{ .param_str = "vV16s*V16sUs", .features = "avx512vl,avx512bw" },5515 .{ .param_str = "vV16s*V16sUs", .features = "avx512vl,avx512bw" },
5632 .{ .param_str = "vV32s*V32sUi", .features = "avx512bw,evex512" },5516 .{ .param_str = "vV32s*V32sUi", .features = "avx512bw" },
5633 .{ .param_str = "vV16c*V16cUs", .features = "avx512vl,avx512bw" },5517 .{ .param_str = "vV16c*V16cUs", .features = "avx512vl,avx512bw" },
5634 .{ .param_str = "vV32c*V32cUi", .features = "avx512vl,avx512bw" },5518 .{ .param_str = "vV32c*V32cUi", .features = "avx512vl,avx512bw" },
5635 .{ .param_str = "vV64c*V64cUOi", .features = "avx512bw,evex512" },5519 .{ .param_str = "vV64c*V64cUOi", .features = "avx512bw" },
5636 .{ .param_str = "vV4i*V4iUc", .features = "avx512vl" },5520 .{ .param_str = "vV4i*V4iUc", .features = "avx512vl" },
5637 .{ .param_str = "vV8i*V8iUc", .features = "avx512vl" },5521 .{ .param_str = "vV8i*V8iUc", .features = "avx512vl" },
5638 .{ .param_str = "vi*V16iUs", .features = "avx512f,evex512" },5522 .{ .param_str = "vi*V16iUs", .features = "avx512f" },
5639 .{ .param_str = "vV8y*V8yUc", .features = "avx10_2" },5523 .{ .param_str = "vV8y*V8yUc", .features = "avx10_2" },
5640 .{ .param_str = "vV2d*V2dUc", .features = "avx512f" },5524 .{ .param_str = "vV2d*V2dUc", .features = "avx512f" },
5641 .{ .param_str = "vV8x*V8xUc", .features = "avx512fp16" },5525 .{ .param_str = "vV8x*V8xUc", .features = "avx512fp16" },
5642 .{ .param_str = "vV4f*V4fUc", .features = "avx512f" },5526 .{ .param_str = "vV4f*V4fUc", .features = "avx512f" },
5643 .{ .param_str = "vV2d*V2dUc", .features = "avx512vl" },5527 .{ .param_str = "vV2d*V2dUc", .features = "avx512vl" },
5644 .{ .param_str = "vV4d*V4dUc", .features = "avx512vl" },5528 .{ .param_str = "vV4d*V4dUc", .features = "avx512vl" },
5645 .{ .param_str = "vd*V8dUc", .features = "avx512f,evex512" },5529 .{ .param_str = "vd*V8dUc", .features = "avx512f" },
5646 .{ .param_str = "vV4f*V4fUc", .features = "avx512vl" },5530 .{ .param_str = "vV4f*V4fUc", .features = "avx512vl" },
5647 .{ .param_str = "vV8f*V8fUc", .features = "avx512vl" },5531 .{ .param_str = "vV8f*V8fUc", .features = "avx512vl" },
5648 .{ .param_str = "vf*V16fUs", .features = "avx512f,evex512" },5532 .{ .param_str = "vf*V16fUs", .features = "avx512f" },
5649 .{ .param_str = "UcUcUiUiUi*", .attributes = .{ .const_evaluable = true } },5533 .{ .param_str = "UcUcUiUiUi*", .attributes = .{ .const_evaluable = true } },
5650 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5534 .{ .param_str = "V8dV8dV8dIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5651 .{ .param_str = "V32xV32xV32xIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5535 .{ .param_str = "V32xV32xV32xIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5652 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5536 .{ .param_str = "V16fV16fV16fIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5653 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5537 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5654 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5538 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5655 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5539 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5656 .{ .param_str = "UcUiUiUi", .features = "waitpkg" },5540 .{ .param_str = "UcUiUiUi", .features = "waitpkg" },
5657 .{ .param_str = "UsUs", .attributes = .{ .@"const" = true, .const_evaluable = true } },5541 .{ .param_str = "UsUs", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5658 .{ .param_str = "UiUi", .attributes = .{ .@"const" = true, .const_evaluable = true } },5542 .{ .param_str = "UiUi", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5659 .{ .param_str = "UsV16cV16cIiUs", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },5543 .{ .param_str = "UsV16cV16cIiUs", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5660 .{ .param_str = "UiV32cV32cIiUi", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },5544 .{ .param_str = "UiV32cV32cIiUi", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5661 .{ .param_str = "UOiV64cV64cIiUOi", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5545 .{ .param_str = "UOiV64cV64cIiUOi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5662 .{ .param_str = "UcV4iV4iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5546 .{ .param_str = "UcV4iV4iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5663 .{ .param_str = "UcV8iV8iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5547 .{ .param_str = "UcV8iV8iIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5664 .{ .param_str = "UsV16iV16iIiUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5548 .{ .param_str = "UsV16iV16iIiUs", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5665 .{ .param_str = "UcV2OiV2OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5549 .{ .param_str = "UcV2OiV2OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5666 .{ .param_str = "UcV4OiV4OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5550 .{ .param_str = "UcV4OiV4OiIiUc", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5667 .{ .param_str = "UcV8OiV8OiIiUc", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5551 .{ .param_str = "UcV8OiV8OiIiUc", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5668 .{ .param_str = "UcV8sV8sIiUc", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },5552 .{ .param_str = "UcV8sV8sIiUc", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5669 .{ .param_str = "UsV16sV16sIiUs", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },5553 .{ .param_str = "UsV16sV16sIiUs", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5670 .{ .param_str = "UiV32sV32sIiUi", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },5554 .{ .param_str = "UiV32sV32sIiUi", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5671 .{ .param_str = "iV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },5555 .{ .param_str = "iV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },
5672 .{ .param_str = "iV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },5556 .{ .param_str = "iV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },
5673 .{ .param_str = "iV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },5557 .{ .param_str = "iV4fV4f", .features = "sse", .attributes = .{ .@"const" = true } },
...@@ -5739,7 +5623,7 @@ pub const data = blk: {...@@ -5739,7 +5623,7 @@ pub const data = blk: {
5739 .{ .param_str = "V32cV64cV32xV32cUi", .features = "avx10_2" },5623 .{ .param_str = "V32cV64cV32xV32cUi", .features = "avx10_2" },
5740 .{ .param_str = "V8xV4iV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5624 .{ .param_str = "V8xV4iV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5741 .{ .param_str = "V8xV8iV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5625 .{ .param_str = "V8xV8iV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5742 .{ .param_str = "V16xV16iV16xUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5626 .{ .param_str = "V16xV16iV16xUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5743 .{ .param_str = "V8xV16cV8xUc", .features = "avx10_2" },5627 .{ .param_str = "V8xV16cV8xUc", .features = "avx10_2" },
5744 .{ .param_str = "V16xV16cV16xUs", .features = "avx10_2" },5628 .{ .param_str = "V16xV16cV16xUs", .features = "avx10_2" },
5745 .{ .param_str = "V32xV32cV32xUi", .features = "avx10_2" },5629 .{ .param_str = "V32xV32cV32xUi", .features = "avx10_2" },
...@@ -5755,7 +5639,7 @@ pub const data = blk: {...@@ -5755,7 +5639,7 @@ pub const data = blk: {
5755 .{ .param_str = "V8yV8f", .features = "avx512bf16,avx512vl|avxneconvert" },5639 .{ .param_str = "V8yV8f", .features = "avx512bf16,avx512vl|avxneconvert" },
5756 .{ .param_str = "V8xV2dV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5640 .{ .param_str = "V8xV2dV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5757 .{ .param_str = "V8xV4dV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5641 .{ .param_str = "V8xV4dV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5758 .{ .param_str = "V8xV8dV8xUcIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5642 .{ .param_str = "V8xV8dV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5759 .{ .param_str = "V16cV8xV16cUc", .features = "avx10_2" },5643 .{ .param_str = "V16cV8xV16cUc", .features = "avx10_2" },
5760 .{ .param_str = "V16cV16xV16cUs", .features = "avx10_2" },5644 .{ .param_str = "V16cV16xV16cUs", .features = "avx10_2" },
5761 .{ .param_str = "V32cV32xV32cUi", .features = "avx10_2" },5645 .{ .param_str = "V32cV32xV32cUi", .features = "avx10_2" },
...@@ -5764,7 +5648,7 @@ pub const data = blk: {...@@ -5764,7 +5648,7 @@ pub const data = blk: {
5764 .{ .param_str = "V32cV32xV32cUi", .features = "avx10_2" },5648 .{ .param_str = "V32cV32xV32cUi", .features = "avx10_2" },
5765 .{ .param_str = "V4iV8xV4iUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5649 .{ .param_str = "V4iV8xV4iUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5766 .{ .param_str = "V8iV8xV8iUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5650 .{ .param_str = "V8iV8xV8iUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5767 .{ .param_str = "V16iV16xV16iUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5651 .{ .param_str = "V16iV16xV16iUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5768 .{ .param_str = "V16cV8xV16cUc", .features = "avx10_2" },5652 .{ .param_str = "V16cV8xV16cUc", .features = "avx10_2" },
5769 .{ .param_str = "V16cV16xV16cUs", .features = "avx10_2" },5653 .{ .param_str = "V16cV16xV16cUs", .features = "avx10_2" },
5770 .{ .param_str = "V32cV32xV32cUi", .features = "avx10_2" },5654 .{ .param_str = "V32cV32xV32cUi", .features = "avx10_2" },
...@@ -5779,47 +5663,45 @@ pub const data = blk: {...@@ -5779,47 +5663,45 @@ pub const data = blk: {
5779 .{ .param_str = "V32UsV32xV32UsUiIi", .features = "avx10_2" },5663 .{ .param_str = "V32UsV32xV32UsUiIi", .features = "avx10_2" },
5780 .{ .param_str = "V2dV8xV2dUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5664 .{ .param_str = "V2dV8xV2dUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5781 .{ .param_str = "V4dV8xV4dUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5665 .{ .param_str = "V4dV8xV4dUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5782 .{ .param_str = "V8dV8xV8dUcIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5666 .{ .param_str = "V8dV8xV8dUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5783 .{ .param_str = "V4fV8s", .features = "f16c", .attributes = .{ .@"const" = true } },
5784 .{ .param_str = "V8fV8s", .features = "f16c", .attributes = .{ .@"const" = true } },
5785 .{ .param_str = "V8fV8sV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5667 .{ .param_str = "V8fV8sV8fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5786 .{ .param_str = "V16fV16sV16fUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5668 .{ .param_str = "V16fV16sV16fUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5787 .{ .param_str = "V4fV8sV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5669 .{ .param_str = "V4fV8sV4fUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5788 .{ .param_str = "V4fV8xV4fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5670 .{ .param_str = "V4fV8xV4fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5789 .{ .param_str = "V8fV8xV8fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5671 .{ .param_str = "V8fV8xV8fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5790 .{ .param_str = "V16fV16xV16fUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5672 .{ .param_str = "V16fV16xV16fUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5791 .{ .param_str = "V2OiV8xV2OiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5673 .{ .param_str = "V2OiV8xV2OiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5792 .{ .param_str = "V4OiV8xV4OiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5674 .{ .param_str = "V4OiV8xV4OiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5793 .{ .param_str = "V8OiV8xV8OiUcIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5675 .{ .param_str = "V8OiV8xV8OiUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5794 .{ .param_str = "V4UiV8xV4UiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5676 .{ .param_str = "V4UiV8xV4UiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5795 .{ .param_str = "V8UiV8xV8UiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5677 .{ .param_str = "V8UiV8xV8UiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5796 .{ .param_str = "V16UiV16xV16UiUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5678 .{ .param_str = "V16UiV16xV16UiUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5797 .{ .param_str = "V2UOiV8xV2UOiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5679 .{ .param_str = "V2UOiV8xV2UOiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5798 .{ .param_str = "V4UOiV8xV4UOiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5680 .{ .param_str = "V4UOiV8xV4UOiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5799 .{ .param_str = "V8UOiV8xV8UOiUcIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5681 .{ .param_str = "V8UOiV8xV8UOiUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5800 .{ .param_str = "V8UsV8xV8UsUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5682 .{ .param_str = "V8UsV8xV8UsUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5801 .{ .param_str = "V16UsV16xV16UsUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5683 .{ .param_str = "V16UsV16xV16UsUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5802 .{ .param_str = "V32UsV32xV32UsUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5684 .{ .param_str = "V32UsV32xV32UsUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5803 .{ .param_str = "V8sV8xV8sUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5685 .{ .param_str = "V8sV8xV8sUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5804 .{ .param_str = "V16sV16xV16sUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5686 .{ .param_str = "V16sV16xV16sUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5805 .{ .param_str = "V32sV32xV32sUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5687 .{ .param_str = "V32sV32xV32sUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5806 .{ .param_str = "V4UiV4fV4UiUc", .features = "avx10_2" },5688 .{ .param_str = "V4UiV4fV4UiUc", .features = "avx10_2" },
5807 .{ .param_str = "V8UiV8fV8UiUc", .features = "avx10_2" },5689 .{ .param_str = "V8UiV8fV8UiUc", .features = "avx10_2" },
5808 .{ .param_str = "V16UiV16fV16UiUsIi", .features = "avx10_2" },5690 .{ .param_str = "V16UiV16fV16UiUsIi", .features = "avx10_2" },
5809 .{ .param_str = "V4UiV4fV4UiUc", .features = "avx10_2" },5691 .{ .param_str = "V4UiV4fV4UiUc", .features = "avx10_2" },
5810 .{ .param_str = "V8UiV8fV8UiUc", .features = "avx10_2" },5692 .{ .param_str = "V8UiV8fV8UiUc", .features = "avx10_2" },
5811 .{ .param_str = "V16UiV16fV16UiUsIi", .features = "avx10_2" },5693 .{ .param_str = "V16UiV16fV16UiUsIi", .features = "avx10_2" },
5812 .{ .param_str = "V8sV4fIi", .features = "f16c", .attributes = .{ .@"const" = true } },5694 .{ .param_str = "V8sV4fIi", .features = "f16c", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5813 .{ .param_str = "V8sV8fIi", .features = "f16c", .attributes = .{ .@"const" = true } },5695 .{ .param_str = "V8sV8fIi", .features = "f16c", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5814 .{ .param_str = "V8sV8fIiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5696 .{ .param_str = "V8sV8fIiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5815 .{ .param_str = "V16sV16fIiV16sUs", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5697 .{ .param_str = "V16sV16fIiV16sUs", .features = "avx512f", .attributes = .{ .@"const" = true } },
5816 .{ .param_str = "V8sV4fIiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },5698 .{ .param_str = "V8sV4fIiV8sUc", .features = "avx512vl", .attributes = .{ .@"const" = true } },
5817 .{ .param_str = "V8xV4fV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5699 .{ .param_str = "V8xV4fV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5818 .{ .param_str = "V8xV8fV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5700 .{ .param_str = "V8xV8fV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5819 .{ .param_str = "V16xV16fV16xUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5701 .{ .param_str = "V16xV16fV16xUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5820 .{ .param_str = "V8xV2OiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5702 .{ .param_str = "V8xV2OiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5821 .{ .param_str = "V8xV4OiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5703 .{ .param_str = "V8xV4OiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5822 .{ .param_str = "V8xV8OiV8xUcIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5704 .{ .param_str = "V8xV8OiV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5823 .{ .param_str = "V8xV8xV2dV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5705 .{ .param_str = "V8xV8xV2dV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5824 .{ .param_str = "iV2dIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5706 .{ .param_str = "iV2dIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5825 .{ .param_str = "UiV2dIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5707 .{ .param_str = "UiV2dIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
...@@ -5851,7 +5733,7 @@ pub const data = blk: {...@@ -5851,7 +5733,7 @@ pub const data = blk: {
5851 .{ .param_str = "V8OiV8dV8OiUcIi", .features = "avx10_2" },5733 .{ .param_str = "V8OiV8dV8OiUcIi", .features = "avx10_2" },
5852 .{ .param_str = "V4iV8xV4iUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5734 .{ .param_str = "V4iV8xV4iUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5853 .{ .param_str = "V8iV8xV8iUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5735 .{ .param_str = "V8iV8xV8iUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5854 .{ .param_str = "V16iV16xV16iUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5736 .{ .param_str = "V16iV16xV16iUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5855 .{ .param_str = "V8UsV8xV8UsUc", .features = "avx10_2" },5737 .{ .param_str = "V8UsV8xV8UsUc", .features = "avx10_2" },
5856 .{ .param_str = "V16UsV16xV16UsUs", .features = "avx10_2" },5738 .{ .param_str = "V16UsV16xV16UsUs", .features = "avx10_2" },
5857 .{ .param_str = "V32UsV32xV32UsUiIi", .features = "avx10_2" },5739 .{ .param_str = "V32UsV32xV32UsUiIi", .features = "avx10_2" },
...@@ -5860,19 +5742,19 @@ pub const data = blk: {...@@ -5860,19 +5742,19 @@ pub const data = blk: {
5860 .{ .param_str = "V32UsV32xV32UsUiIi", .features = "avx10_2" },5742 .{ .param_str = "V32UsV32xV32UsUiIi", .features = "avx10_2" },
5861 .{ .param_str = "V2OiV8xV2OiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5743 .{ .param_str = "V2OiV8xV2OiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5862 .{ .param_str = "V4OiV8xV4OiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5744 .{ .param_str = "V4OiV8xV4OiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5863 .{ .param_str = "V8OiV8xV8OiUcIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5745 .{ .param_str = "V8OiV8xV8OiUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5864 .{ .param_str = "V4UiV8xV4UiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5746 .{ .param_str = "V4UiV8xV4UiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5865 .{ .param_str = "V8UiV8xV8UiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5747 .{ .param_str = "V8UiV8xV8UiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5866 .{ .param_str = "V16UiV16xV16UiUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5748 .{ .param_str = "V16UiV16xV16UiUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5867 .{ .param_str = "V2UOiV8xV2UOiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5749 .{ .param_str = "V2UOiV8xV2UOiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5868 .{ .param_str = "V4UOiV8xV4UOiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5750 .{ .param_str = "V4UOiV8xV4UOiUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5869 .{ .param_str = "V8UOiV8xV8UOiUcIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5751 .{ .param_str = "V8UOiV8xV8UOiUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5870 .{ .param_str = "V8UsV8xV8UsUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5752 .{ .param_str = "V8UsV8xV8UsUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5871 .{ .param_str = "V16UsV16xV16UsUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5753 .{ .param_str = "V16UsV16xV16UsUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5872 .{ .param_str = "V32UsV32xV32UsUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5754 .{ .param_str = "V32UsV32xV32UsUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5873 .{ .param_str = "V8sV8xV8sUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5755 .{ .param_str = "V8sV8xV8sUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5874 .{ .param_str = "V16sV16xV16sUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5756 .{ .param_str = "V16sV16xV16sUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5875 .{ .param_str = "V32sV32xV32sUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5757 .{ .param_str = "V32sV32xV32sUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5876 .{ .param_str = "V4iV4fV4iUc", .features = "avx10_2" },5758 .{ .param_str = "V4iV4fV4iUc", .features = "avx10_2" },
5877 .{ .param_str = "V8iV8fV8iUc", .features = "avx10_2" },5759 .{ .param_str = "V8iV8fV8iUc", .features = "avx10_2" },
5878 .{ .param_str = "V16iV16fV16iUsIi", .features = "avx10_2" },5760 .{ .param_str = "V16iV16fV16iUsIi", .features = "avx10_2" },
...@@ -5903,126 +5785,113 @@ pub const data = blk: {...@@ -5903,126 +5785,113 @@ pub const data = blk: {
5903 .{ .param_str = "UiV4fIi", .features = "avx10_2", .attributes = .{ .@"const" = true } },5785 .{ .param_str = "UiV4fIi", .features = "avx10_2", .attributes = .{ .@"const" = true } },
5904 .{ .param_str = "V8xV4UiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5786 .{ .param_str = "V8xV4UiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5905 .{ .param_str = "V8xV8UiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5787 .{ .param_str = "V8xV8UiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5906 .{ .param_str = "V16xV16UiV16xUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5788 .{ .param_str = "V16xV16UiV16xUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5907 .{ .param_str = "V8xV2UOiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5789 .{ .param_str = "V8xV2UOiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5908 .{ .param_str = "V8xV4UOiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5790 .{ .param_str = "V8xV4UOiV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5909 .{ .param_str = "V8xV8UOiV8xUcIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5791 .{ .param_str = "V8xV8UOiV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5910 .{ .param_str = "V8xV8xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5792 .{ .param_str = "V8xV8xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5911 .{ .param_str = "V8xV8UsV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5793 .{ .param_str = "V8xV8UsV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5912 .{ .param_str = "V16xV16UsV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5794 .{ .param_str = "V16xV16UsV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5913 .{ .param_str = "V32xV32UsV32xUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5795 .{ .param_str = "V32xV32UsV32xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5914 .{ .param_str = "V8xV8sV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5796 .{ .param_str = "V8xV8sV8xUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5915 .{ .param_str = "V16xV16sV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5797 .{ .param_str = "V16xV16sV16xUs", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5916 .{ .param_str = "V32xV32sV32xUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5798 .{ .param_str = "V32xV32sV32xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5917 .{ .param_str = "V8yV8yV8y", .features = "avx10_2", .attributes = .{ .@"const" = true } },5799 .{ .param_str = "V8yV8yV8y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
5918 .{ .param_str = "V16yV16yV16y", .features = "avx10_2", .attributes = .{ .@"const" = true } },5800 .{ .param_str = "V16yV16yV16y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
5919 .{ .param_str = "V32yV32yV32y", .features = "avx10_2", .attributes = .{ .@"const" = true } },5801 .{ .param_str = "V32yV32yV32y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
5920 .{ .param_str = "V4fV4fV8xV8x", .features = "avx10_2", .attributes = .{ .@"const" = true } },5802 .{ .param_str = "V4fV4fV8xV8x", .features = "avx10_2", .attributes = .{ .@"const" = true } },
5921 .{ .param_str = "V8fV8fV16xV16x", .features = "avx10_2", .attributes = .{ .@"const" = true } },5803 .{ .param_str = "V8fV8fV16xV16x", .features = "avx10_2", .attributes = .{ .@"const" = true } },
5922 .{ .param_str = "V16fV16fV32xV32x", .features = "avx10_2", .attributes = .{ .@"const" = true } },5804 .{ .param_str = "V16fV16fV32xV32x", .features = "avx10_2", .attributes = .{ .@"const" = true } },
5923 .{ .param_str = "sV16sIi", .features = "avx", .attributes = .{ .@"const" = true } },5805 .{ .param_str = "sV16sIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5924 .{ .param_str = "cV16cIi", .features = "sse4_1", .attributes = .{ .@"const" = true } },5806 .{ .param_str = "cV16cIi", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5925 .{ .param_str = "OiV2OiIi", .features = "sse2", .attributes = .{ .@"const" = true } },5807 .{ .param_str = "OiV2OiIi", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5926 .{ .param_str = "cV32cIi", .features = "avx", .attributes = .{ .@"const" = true } },5808 .{ .param_str = "cV32cIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5927 .{ .param_str = "sV4sIi", .features = "sse", .attributes = .{ .@"const" = true } },5809 .{ .param_str = "sV4sIi", .features = "sse", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5928 .{ .param_str = "fV4fIi", .features = "sse2", .attributes = .{ .@"const" = true } },5810 .{ .param_str = "fV4fIi", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5929 .{ .param_str = "iV4iIi", .features = "sse2", .attributes = .{ .@"const" = true } },5811 .{ .param_str = "iV4iIi", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5930 .{ .param_str = "sV8sIi", .features = "sse2", .attributes = .{ .@"const" = true } },5812 .{ .param_str = "sV8sIi", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5931 .{ .param_str = "iV8iIi", .features = "avx", .attributes = .{ .@"const" = true } },5813 .{ .param_str = "iV8iIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5932 .{ .param_str = "V16sV16ssIi", .features = "avx", .attributes = .{ .@"const" = true } },5814 .{ .param_str = "V16sV16ssIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5933 .{ .param_str = "V16cV16ccIi", .features = "sse4_1", .attributes = .{ .@"const" = true } },5815 .{ .param_str = "V16cV16ccIi", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5934 .{ .param_str = "V32cV32ccIi", .features = "avx", .attributes = .{ .@"const" = true } },5816 .{ .param_str = "V32cV32ccIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5935 .{ .param_str = "V4sV4ssIi", .features = "sse", .attributes = .{ .@"const" = true } },5817 .{ .param_str = "V4sV4ssIi", .features = "sse", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5936 .{ .param_str = "V4iV4iiIi", .features = "sse4_1", .attributes = .{ .@"const" = true } },5818 .{ .param_str = "V4iV4iiIi", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5937 .{ .param_str = "V8sV8ssIi", .features = "sse2", .attributes = .{ .@"const" = true } },5819 .{ .param_str = "V8sV8ssIi", .features = "sse2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5938 .{ .param_str = "V8iV8iiIi", .features = "avx", .attributes = .{ .@"const" = true } },5820 .{ .param_str = "V8iV8iiIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5939 .{ .param_str = "V2dV4dIi", .features = "avx", .attributes = .{ .@"const" = true } },5821 .{ .param_str = "V2dV4dIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5940 .{ .param_str = "V4fV8fIi", .features = "avx", .attributes = .{ .@"const" = true } },5822 .{ .param_str = "V4fV8fIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5941 .{ .param_str = "V4iV8iIi", .features = "avx", .attributes = .{ .@"const" = true } },5823 .{ .param_str = "V4iV8iIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
5942 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5824 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5943 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5825 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5944 .{ .param_str = "V8fV8fV8fV8fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5826 .{ .param_str = "V8fV8fV8fV8fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5945 .{ .param_str = "V8fV8fV8fV8fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5827 .{ .param_str = "V8fV8fV8fV8fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5946 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5828 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5947 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5829 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5948 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5830 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5949 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5831 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5950 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5832 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5951 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5833 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5952 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5834 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5953 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5835 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5954 .{ .param_str = "V8fV8fV8fV8fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5836 .{ .param_str = "V8fV8fV8fV8fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5955 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5837 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5956 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5838 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5957 .{ .param_str = "V8yV8yV8yV8y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
5958 .{ .param_str = "V16yV16yV16yV16y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
5959 .{ .param_str = "V32yV32yV32yV32y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
5960 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5839 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5961 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5840 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5962 .{ .param_str = "V8fV8fV8fV8fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5841 .{ .param_str = "V8fV8fV8fV8fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5963 .{ .param_str = "V8fV8fV8fV8fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5842 .{ .param_str = "V8fV8fV8fV8fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
5964 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5843 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5965 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5844 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5966 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5845 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5967 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5846 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5968 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5847 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5969 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5848 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5970 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5849 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5971 .{ .param_str = "V2dV2dV2dV2d", .features = "fma|fma4", .attributes = .{ .@"const" = true } },5850 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5972 .{ .param_str = "V4dV4dV4dV4d", .features = "fma|fma4", .attributes = .{ .@"const" = true } },5851 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5973 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5852 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5974 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5853 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5975 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5854 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5976 .{ .param_str = "V8xV8xV8xV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5855 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5977 .{ .param_str = "V16xV16xV16xV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5856 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5978 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5857 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5979 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5858 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5980 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },
5981 .{ .param_str = "V4fV4fV4fV4f", .features = "fma|fma4", .attributes = .{ .@"const" = true } },
5982 .{ .param_str = "V8fV8fV8fV8f", .features = "fma|fma4", .attributes = .{ .@"const" = true } },
5983 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },
5984 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },
5985 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },
5986 .{ .param_str = "V2dV2dV2dV2d", .features = "fma4", .attributes = .{ .@"const" = true } },
5987 .{ .param_str = "V2dV2dV2dV2d", .features = "fma", .attributes = .{ .@"const" = true } },
5988 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5859 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5989 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5860 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5990 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5861 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5991 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5862 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5992 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5863 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5993 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5864 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
5994 .{ .param_str = "V4fV4fV4fV4f", .features = "fma4", .attributes = .{ .@"const" = true } },
5995 .{ .param_str = "V4fV4fV4fV4f", .features = "fma", .attributes = .{ .@"const" = true } },
5996 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5865 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5997 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5866 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5998 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5867 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
5999 .{ .param_str = "V2dV2dV2dV2d", .features = "fma|fma4", .attributes = .{ .@"const" = true } },5868 .{ .param_str = "V2dV2dV2dV2d", .features = "fma|fma4", .attributes = .{ .@"const" = true } },
6000 .{ .param_str = "V4dV4dV4dV4d", .features = "fma|fma4", .attributes = .{ .@"const" = true } },5869 .{ .param_str = "V4dV4dV4dV4d", .features = "fma|fma4", .attributes = .{ .@"const" = true } },
6001 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5870 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
6002 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5871 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
6003 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5872 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
6004 .{ .param_str = "V8xV8xV8xV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5873 .{ .param_str = "V8xV8xV8xV8x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
6005 .{ .param_str = "V16xV16xV16xV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5874 .{ .param_str = "V16xV16xV16xV16x", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
6006 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5875 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
6007 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5876 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
6008 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5877 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
6009 .{ .param_str = "V4fV4fV4fV4f", .features = "fma|fma4", .attributes = .{ .@"const" = true } },5878 .{ .param_str = "V4fV4fV4fV4f", .features = "fma|fma4", .attributes = .{ .@"const" = true } },
6010 .{ .param_str = "V8fV8fV8fV8f", .features = "fma|fma4", .attributes = .{ .@"const" = true } },5879 .{ .param_str = "V8fV8fV8fV8f", .features = "fma|fma4", .attributes = .{ .@"const" = true } },
6011 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5880 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
6012 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5881 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
6013 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5882 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
6014 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5883 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
6015 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5884 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
6016 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5885 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
6017 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5886 .{ .param_str = "V8dV8dV8dV8dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
6018 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5887 .{ .param_str = "V32xV32xV32xV32xUiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
6019 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },5888 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
6020 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5889 .{ .param_str = "V2dV2dV2dV2dUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
6021 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5890 .{ .param_str = "V8xV8xV8xV8xUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
6022 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },5891 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
6023 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5892 .{ .param_str = "V4fV4fV4fV4fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
6024 .{ .param_str = "V8fV8fV8fV8fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },5893 .{ .param_str = "V8fV8fV8fV8fUc", .features = "avx512fp16,avx512vl", .attributes = .{ .@"const" = true } },
6025 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16,evex512", .attributes = .{ .@"const" = true } },5894 .{ .param_str = "V16fV16fV16fV16fUsIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
6026 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },5895 .{ .param_str = "V4fV4fV4fV4fUcIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
6027 .{ .param_str = "UcV8yIiUc", .features = "avx10_2", .attributes = .{ .@"const" = true } },5896 .{ .param_str = "UcV8yIiUc", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6028 .{ .param_str = "UsV16yIiUs", .features = "avx10_2", .attributes = .{ .@"const" = true } },5897 .{ .param_str = "UsV16yIiUs", .features = "avx10_2", .attributes = .{ .@"const" = true } },
...@@ -6039,18 +5908,18 @@ pub const data = blk: {...@@ -6039,18 +5908,18 @@ pub const data = blk: {
6039 .{ .param_str = "V8yV8yIiV8yUc", .features = "avx10_2", .attributes = .{ .@"const" = true } },5908 .{ .param_str = "V8yV8yIiV8yUc", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6040 .{ .param_str = "V16yV16yIiV16yUs", .features = "avx10_2", .attributes = .{ .@"const" = true } },5909 .{ .param_str = "V16yV16yIiV16yUs", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6041 .{ .param_str = "V32yV32yIiV32yUi", .features = "avx10_2", .attributes = .{ .@"const" = true } },5910 .{ .param_str = "V32yV32yIiV32yUi", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6042 .{ .param_str = "V16cV16cV16cIc", .features = "gfni", .attributes = .{ .@"const" = true } },5911 .{ .param_str = "V16cV16cV16cIc", .features = "gfni", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6043 .{ .param_str = "V32cV32cV32cIc", .features = "avx,gfni", .attributes = .{ .@"const" = true } },5912 .{ .param_str = "V32cV32cV32cIc", .features = "avx,gfni", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6044 .{ .param_str = "V64cV64cV64cIc", .features = "avx512f,evex512,gfni", .attributes = .{ .@"const" = true } },5913 .{ .param_str = "V64cV64cV64cIc", .features = "avx512f,gfni", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6045 .{ .param_str = "V16cV16cV16cIc", .features = "gfni", .attributes = .{ .@"const" = true } },5914 .{ .param_str = "V16cV16cV16cIc", .features = "gfni", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6046 .{ .param_str = "V32cV32cV32cIc", .features = "avx,gfni", .attributes = .{ .@"const" = true } },5915 .{ .param_str = "V32cV32cV32cIc", .features = "avx,gfni", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6047 .{ .param_str = "V64cV64cV64cIc", .features = "avx512f,evex512,gfni", .attributes = .{ .@"const" = true } },5916 .{ .param_str = "V64cV64cV64cIc", .features = "avx512f,gfni", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6048 .{ .param_str = "V16cV16cV16c", .features = "gfni", .attributes = .{ .@"const" = true } },5917 .{ .param_str = "V16cV16cV16c", .features = "gfni", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6049 .{ .param_str = "V32cV32cV32c", .features = "avx,gfni", .attributes = .{ .@"const" = true } },5918 .{ .param_str = "V32cV32cV32c", .features = "avx,gfni", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6050 .{ .param_str = "V64cV64cV64c", .features = "avx512f,evex512,gfni", .attributes = .{ .@"const" = true } },5919 .{ .param_str = "V64cV64cV64c", .features = "avx512f,gfni", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6051 .{ .param_str = "V4dV4dV2dIi", .features = "avx", .attributes = .{ .@"const" = true } },5920 .{ .param_str = "V4dV4dV2dIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6052 .{ .param_str = "V8fV8fV4fIi", .features = "avx", .attributes = .{ .@"const" = true } },5921 .{ .param_str = "V8fV8fV4fIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6053 .{ .param_str = "V8iV8iV4iIi", .features = "avx", .attributes = .{ .@"const" = true } },5922 .{ .param_str = "V8iV8iV4iIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6054 .{ .param_str = "V8yV8yV8y", .features = "avx10_2", .attributes = .{ .@"const" = true } },5923 .{ .param_str = "V8yV8yV8y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6055 .{ .param_str = "V16yV16yV16y", .features = "avx10_2", .attributes = .{ .@"const" = true } },5924 .{ .param_str = "V16yV16yV16y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6056 .{ .param_str = "V32yV32yV32y", .features = "avx10_2", .attributes = .{ .@"const" = true } },5925 .{ .param_str = "V32yV32yV32y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
...@@ -6077,10 +5946,10 @@ pub const data = blk: {...@@ -6077,10 +5946,10 @@ pub const data = blk: {
6077 .{ .param_str = "V32yV32yV32y", .features = "avx10_2", .attributes = .{ .@"const" = true } },5946 .{ .param_str = "V32yV32yV32y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6078 .{ .param_str = "vV4iV4iUc*Uc*", .features = "avx512vp2intersect,avx512vl" },5947 .{ .param_str = "vV4iV4iUc*Uc*", .features = "avx512vp2intersect,avx512vl" },
6079 .{ .param_str = "vV8iV8iUc*Uc*", .features = "avx512vp2intersect,avx512vl" },5948 .{ .param_str = "vV8iV8iUc*Uc*", .features = "avx512vp2intersect,avx512vl" },
6080 .{ .param_str = "vV16iV16iUs*Us*", .features = "avx512vp2intersect,evex512" },5949 .{ .param_str = "vV16iV16iUs*Us*", .features = "avx512vp2intersect" },
6081 .{ .param_str = "vV2OiV2OiUc*Uc*", .features = "avx512vp2intersect,avx512vl" },5950 .{ .param_str = "vV2OiV2OiUc*Uc*", .features = "avx512vp2intersect,avx512vl" },
6082 .{ .param_str = "vV4OiV4OiUc*Uc*", .features = "avx512vp2intersect,avx512vl" },5951 .{ .param_str = "vV4OiV4OiUc*Uc*", .features = "avx512vp2intersect,avx512vl" },
6083 .{ .param_str = "vV8OiV8OiUc*Uc*", .features = "avx512vp2intersect,evex512" },5952 .{ .param_str = "vV8OiV8OiUc*Uc*", .features = "avx512vp2intersect" },
6084 .{ .param_str = "V16cV16cV16cIc", .features = "xop", .attributes = .{ .@"const" = true } },5953 .{ .param_str = "V16cV16cV16cIc", .features = "xop", .attributes = .{ .@"const" = true } },
6085 .{ .param_str = "V4iV4iV4iIc", .features = "xop", .attributes = .{ .@"const" = true } },5954 .{ .param_str = "V4iV4iV4iIc", .features = "xop", .attributes = .{ .@"const" = true } },
6086 .{ .param_str = "V2OiV2OiV2OiIc", .features = "xop", .attributes = .{ .@"const" = true } },5955 .{ .param_str = "V2OiV2OiV2OiIc", .features = "xop", .attributes = .{ .@"const" = true } },
...@@ -6089,97 +5958,97 @@ pub const data = blk: {...@@ -6089,97 +5958,97 @@ pub const data = blk: {
6089 .{ .param_str = "V2OiV2OiV2OiIc", .features = "xop", .attributes = .{ .@"const" = true } },5958 .{ .param_str = "V2OiV2OiV2OiIc", .features = "xop", .attributes = .{ .@"const" = true } },
6090 .{ .param_str = "V8sV8sV8sIc", .features = "xop", .attributes = .{ .@"const" = true } },5959 .{ .param_str = "V8sV8sV8sIc", .features = "xop", .attributes = .{ .@"const" = true } },
6091 .{ .param_str = "V8sV8sV8sIc", .features = "xop", .attributes = .{ .@"const" = true } },5960 .{ .param_str = "V8sV8sV8sIc", .features = "xop", .attributes = .{ .@"const" = true } },
6092 .{ .param_str = "V2OiV2Oi", .features = "avx512cd,avx512vl", .attributes = .{ .@"const" = true } },5961 .{ .param_str = "V2OiV2Oi", .features = "avx512cd,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6093 .{ .param_str = "V4OiV4Oi", .features = "avx512cd,avx512vl", .attributes = .{ .@"const" = true } },5962 .{ .param_str = "V4OiV4Oi", .features = "avx512cd,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6094 .{ .param_str = "V8OiV8Oi", .features = "avx512cd,evex512", .attributes = .{ .@"const" = true } },5963 .{ .param_str = "V8OiV8Oi", .features = "avx512cd", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6095 .{ .param_str = "V4iV4i", .features = "avx512cd,avx512vl", .attributes = .{ .@"const" = true } },5964 .{ .param_str = "V4iV4i", .features = "avx512cd,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6096 .{ .param_str = "V8iV8i", .features = "avx512cd,avx512vl", .attributes = .{ .@"const" = true } },5965 .{ .param_str = "V8iV8i", .features = "avx512cd,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6097 .{ .param_str = "V16iV16i", .features = "avx512cd,evex512", .attributes = .{ .@"const" = true } },5966 .{ .param_str = "V16iV16i", .features = "avx512cd", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6098 .{ .param_str = "V4iV4iV4iV4i", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },5967 .{ .param_str = "V4iV4iV16cV16c", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },
6099 .{ .param_str = "V8iV8iV8iV8i", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },5968 .{ .param_str = "V8iV8iV32cV32c", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },
6100 .{ .param_str = "V16iV16iV16iV16i", .features = "avx10_2", .attributes = .{ .@"const" = true } },5969 .{ .param_str = "V16iV16iV64cV64c", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6101 .{ .param_str = "V4iV4iV4iV4i", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },5970 .{ .param_str = "V4iV4iV16cV16c", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },
6102 .{ .param_str = "V8iV8iV8iV8i", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },5971 .{ .param_str = "V8iV8iV32cV32c", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },
6103 .{ .param_str = "V16iV16iV16iV16i", .features = "avx10_2", .attributes = .{ .@"const" = true } },5972 .{ .param_str = "V16iV16iV64cV64c", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6104 .{ .param_str = "V4iV4iV4iV4i", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },5973 .{ .param_str = "V4iV4iV16cV16Uc", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },
6105 .{ .param_str = "V8iV8iV8iV8i", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },5974 .{ .param_str = "V8iV8iV32cV32Uc", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },
6106 .{ .param_str = "V16iV16iV16iV16i", .features = "avx10_2", .attributes = .{ .@"const" = true } },5975 .{ .param_str = "V16iV16iV64cV64Uc", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6107 .{ .param_str = "V4iV4iV4iV4i", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },5976 .{ .param_str = "V4iV4iV16cV16Uc", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },
6108 .{ .param_str = "V8iV8iV8iV8i", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },5977 .{ .param_str = "V8iV8iV32cV32Uc", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },
6109 .{ .param_str = "V16iV16iV16iV16i", .features = "avx10_2", .attributes = .{ .@"const" = true } },5978 .{ .param_str = "V16iV16iV64cV64Uc", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6110 .{ .param_str = "V4iV4iV4iV4i", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },5979 .{ .param_str = "V4iV4iV16UcV16c", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },
6111 .{ .param_str = "V8iV8iV8iV8i", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },5980 .{ .param_str = "V8iV8iV32UcV32c", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },
6112 .{ .param_str = "V16iV16iV16iV16i", .features = "avx512vnni,evex512", .attributes = .{ .@"const" = true } },5981 .{ .param_str = "V16iV16iV64UcV64c", .features = "avx512vnni", .attributes = .{ .@"const" = true } },
6113 .{ .param_str = "V4iV4iV4iV4i", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },5982 .{ .param_str = "V4iV4iV16UcV16c", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },
6114 .{ .param_str = "V8iV8iV8iV8i", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },5983 .{ .param_str = "V8iV8iV32UcV32c", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },
6115 .{ .param_str = "V16iV16iV16iV16i", .features = "avx512vnni,evex512", .attributes = .{ .@"const" = true } },5984 .{ .param_str = "V16iV16iV64UcV64c", .features = "avx512vnni", .attributes = .{ .@"const" = true } },
6116 .{ .param_str = "V4iV4iV4iV4i", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },5985 .{ .param_str = "V4iV4iV16UcV16Uc", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },
6117 .{ .param_str = "V8iV8iV8iV8i", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },5986 .{ .param_str = "V8iV8iV32UcV32Uc", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },
6118 .{ .param_str = "V16iV16iV16iV16i", .features = "avx10_2", .attributes = .{ .@"const" = true } },5987 .{ .param_str = "V16iV16iV64UcV64Uc", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6119 .{ .param_str = "V4iV4iV4iV4i", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },5988 .{ .param_str = "V4iV4iV16UcV16Uc", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },
6120 .{ .param_str = "V8iV8iV8iV8i", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },5989 .{ .param_str = "V8iV8iV32UcV32Uc", .features = "avxvnniint8|avx10_2", .attributes = .{ .@"const" = true } },
6121 .{ .param_str = "V16iV16iV16iV16i", .features = "avx10_2", .attributes = .{ .@"const" = true } },5990 .{ .param_str = "V16iV16iV64UcV64Uc", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6122 .{ .param_str = "V4iV4iV4iV4i", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },5991 .{ .param_str = "V4iV4iV8sV8s", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },
6123 .{ .param_str = "V8iV8iV8iV8i", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },5992 .{ .param_str = "V8iV8iV16sV16s", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },
6124 .{ .param_str = "V16iV16iV16iV16i", .features = "avx512vnni,evex512", .attributes = .{ .@"const" = true } },5993 .{ .param_str = "V16iV16iV32sV32s", .features = "avx512vnni", .attributes = .{ .@"const" = true } },
6125 .{ .param_str = "V4iV4iV4iV4i", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },5994 .{ .param_str = "V4iV4iV8sV8s", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },
6126 .{ .param_str = "V8iV8iV8iV8i", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },5995 .{ .param_str = "V8iV8iV16sV16s", .features = "avx512vl,avx512vnni|avxvnni", .attributes = .{ .@"const" = true } },
6127 .{ .param_str = "V16iV16iV16iV16i", .features = "avx512vnni,evex512", .attributes = .{ .@"const" = true } },5996 .{ .param_str = "V16iV16iV32sV32s", .features = "avx512vnni", .attributes = .{ .@"const" = true } },
6128 .{ .param_str = "V4iV4iV4iV4i", .features = "avxvnniint16|avx10_2" },5997 .{ .param_str = "V4iV4iV8sV8Us", .features = "avxvnniint16|avx10_2" },
6129 .{ .param_str = "V8iV8iV8iV8i", .features = "avxvnniint16|avx10_2" },5998 .{ .param_str = "V8iV8iV16sV16Us", .features = "avxvnniint16|avx10_2" },
6130 .{ .param_str = "V16iV16iV16iV16i", .features = "avx10_2" },5999 .{ .param_str = "V16iV16iV32sV32Us", .features = "avx10_2" },
6131 .{ .param_str = "V4iV4iV4iV4i", .features = "avxvnniint16|avx10_2" },6000 .{ .param_str = "V4iV4iV8sV8Us", .features = "avxvnniint16|avx10_2" },
6132 .{ .param_str = "V8iV8iV8iV8i", .features = "avxvnniint16|avx10_2" },6001 .{ .param_str = "V8iV8iV16sV16Us", .features = "avxvnniint16|avx10_2" },
6133 .{ .param_str = "V16iV16iV16iV16i", .features = "avx10_2" },6002 .{ .param_str = "V16iV16iV32sV32Us", .features = "avx10_2" },
6134 .{ .param_str = "V4iV4iV4iV4i", .features = "avxvnniint16|avx10_2" },6003 .{ .param_str = "V4iV4iV8UsV8s", .features = "avxvnniint16|avx10_2" },
6135 .{ .param_str = "V8iV8iV8iV8i", .features = "avxvnniint16|avx10_2" },6004 .{ .param_str = "V8iV8iV16UsV16s", .features = "avxvnniint16|avx10_2" },
6136 .{ .param_str = "V16iV16iV16iV16i", .features = "avx10_2" },6005 .{ .param_str = "V16iV16iV32UsV32s", .features = "avx10_2" },
6137 .{ .param_str = "V4iV4iV4iV4i", .features = "avxvnniint16|avx10_2" },6006 .{ .param_str = "V4iV4iV8UsV8s", .features = "avxvnniint16|avx10_2" },
6138 .{ .param_str = "V8iV8iV8iV8i", .features = "avxvnniint16|avx10_2" },6007 .{ .param_str = "V8iV8iV16UsV16s", .features = "avxvnniint16|avx10_2" },
6139 .{ .param_str = "V16iV16iV16iV16i", .features = "avx10_2" },6008 .{ .param_str = "V16iV16iV32UsV32s", .features = "avx10_2" },
6140 .{ .param_str = "V4iV4iV4iV4i", .features = "avxvnniint16|avx10_2" },6009 .{ .param_str = "V4iV4iV8UsV8Us", .features = "avxvnniint16|avx10_2" },
6141 .{ .param_str = "V8iV8iV8iV8i", .features = "avxvnniint16|avx10_2" },6010 .{ .param_str = "V8iV8iV16UsV16Us", .features = "avxvnniint16|avx10_2" },
6142 .{ .param_str = "V16iV16iV16iV16i", .features = "avx10_2" },6011 .{ .param_str = "V16iV16iV32UsV32Us", .features = "avx10_2" },
6143 .{ .param_str = "V4iV4iV4iV4i", .features = "avxvnniint16|avx10_2" },6012 .{ .param_str = "V4iV4iV8UsV8Us", .features = "avxvnniint16|avx10_2" },
6144 .{ .param_str = "V8iV8iV8iV8i", .features = "avxvnniint16|avx10_2" },6013 .{ .param_str = "V8iV8iV16UsV16Us", .features = "avxvnniint16|avx10_2" },
6145 .{ .param_str = "V16iV16iV16iV16i", .features = "avx10_2" },6014 .{ .param_str = "V16iV16iV32UsV32Us", .features = "avx10_2" },
6146 .{ .param_str = "V4dV4dV4dIi", .features = "avx", .attributes = .{ .@"const" = true } },6015 .{ .param_str = "V4dV4dV4dIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6147 .{ .param_str = "V8fV8fV8fIi", .features = "avx", .attributes = .{ .@"const" = true } },6016 .{ .param_str = "V8fV8fV8fIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6148 .{ .param_str = "V8iV8iV8iIi", .features = "avx", .attributes = .{ .@"const" = true } },6017 .{ .param_str = "V8iV8iV8iIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6149 .{ .param_str = "V4iV4iV4iV4i", .features = "avx512vl", .attributes = .{ .@"const" = true } },6018 .{ .param_str = "V4iV4iV4iV4i", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6150 .{ .param_str = "V8iV8iV8iV8i", .features = "avx512vl", .attributes = .{ .@"const" = true } },6019 .{ .param_str = "V8iV8iV8iV8i", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6151 .{ .param_str = "V16iV16iV16iV16i", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },6020 .{ .param_str = "V16iV16iV16iV16i", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6152 .{ .param_str = "V8sV8sV8sV8s", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },6021 .{ .param_str = "V8sV8sV8sV8s", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6153 .{ .param_str = "V16sV16sV16sV16s", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true } },6022 .{ .param_str = "V16sV16sV16sV16s", .features = "avx512vl,avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6154 .{ .param_str = "V32sV32sV32sV32s", .features = "avx512bw,evex512", .attributes = .{ .@"const" = true } },6023 .{ .param_str = "V32sV32sV32sV32s", .features = "avx512bw", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6155 .{ .param_str = "V2dV2dV2OiV2d", .features = "avx512vl", .attributes = .{ .@"const" = true } },6024 .{ .param_str = "V2dV2dV2OiV2d", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6156 .{ .param_str = "V4dV4dV4OiV4d", .features = "avx512vl", .attributes = .{ .@"const" = true } },6025 .{ .param_str = "V4dV4dV4OiV4d", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6157 .{ .param_str = "V8dV8dV8OiV8d", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },6026 .{ .param_str = "V8dV8dV8OiV8d", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6158 .{ .param_str = "V4fV4fV4iV4f", .features = "avx512vl", .attributes = .{ .@"const" = true } },6027 .{ .param_str = "V4fV4fV4iV4f", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6159 .{ .param_str = "V8fV8fV8iV8f", .features = "avx512vl", .attributes = .{ .@"const" = true } },6028 .{ .param_str = "V8fV8fV8iV8f", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6160 .{ .param_str = "V16fV16fV16iV16f", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },6029 .{ .param_str = "V16fV16fV16iV16f", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6161 .{ .param_str = "V2OiV2OiV2OiV2Oi", .features = "avx512vl", .attributes = .{ .@"const" = true } },6030 .{ .param_str = "V2OiV2OiV2OiV2Oi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6162 .{ .param_str = "V4OiV4OiV4OiV4Oi", .features = "avx512vl", .attributes = .{ .@"const" = true } },6031 .{ .param_str = "V4OiV4OiV4OiV4Oi", .features = "avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6163 .{ .param_str = "V8OiV8OiV8OiV8Oi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },6032 .{ .param_str = "V8OiV8OiV8OiV8Oi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6164 .{ .param_str = "V16cV16cV16cV16c", .features = "avx512vbmi,avx512vl", .attributes = .{ .@"const" = true } },6033 .{ .param_str = "V16cV16cV16cV16c", .features = "avx512vbmi,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6165 .{ .param_str = "V32cV32cV32cV32c", .features = "avx512vbmi,avx512vl", .attributes = .{ .@"const" = true } },6034 .{ .param_str = "V32cV32cV32cV32c", .features = "avx512vbmi,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6166 .{ .param_str = "V64cV64cV64cV64c", .features = "avx512vbmi,evex512", .attributes = .{ .@"const" = true } },6035 .{ .param_str = "V64cV64cV64cV64c", .features = "avx512vbmi", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6167 .{ .param_str = "V2dV2dV2dV2OiIc", .features = "xop", .attributes = .{ .@"const" = true } },6036 .{ .param_str = "V2dV2dV2dV2OiIc", .features = "xop", .attributes = .{ .@"const" = true } },
6168 .{ .param_str = "V4dV4dV4dV4OiIc", .features = "xop", .attributes = .{ .@"const" = true } },6037 .{ .param_str = "V4dV4dV4dV4OiIc", .features = "xop", .attributes = .{ .@"const" = true } },
6169 .{ .param_str = "V4fV4fV4fV4iIc", .features = "xop", .attributes = .{ .@"const" = true } },6038 .{ .param_str = "V4fV4fV4fV4iIc", .features = "xop", .attributes = .{ .@"const" = true } },
6170 .{ .param_str = "V8fV8fV8fV8iIc", .features = "xop", .attributes = .{ .@"const" = true } },6039 .{ .param_str = "V8fV8fV8fV8iIc", .features = "xop", .attributes = .{ .@"const" = true } },
6171 .{ .param_str = "V2dV2dIi", .features = "avx", .attributes = .{ .@"const" = true } },6040 .{ .param_str = "V2dV2dIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6172 .{ .param_str = "V4dV4dIi", .features = "avx", .attributes = .{ .@"const" = true } },6041 .{ .param_str = "V4dV4dIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6173 .{ .param_str = "V8dV8dIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },6042 .{ .param_str = "V8dV8dIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6174 .{ .param_str = "V4fV4fIi", .features = "avx", .attributes = .{ .@"const" = true } },6043 .{ .param_str = "V4fV4fIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6175 .{ .param_str = "V8fV8fIi", .features = "avx", .attributes = .{ .@"const" = true } },6044 .{ .param_str = "V8fV8fIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6176 .{ .param_str = "V16fV16fIi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },6045 .{ .param_str = "V16fV16fIi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6177 .{ .param_str = "V2dV2dV2Oi", .features = "avx", .attributes = .{ .@"const" = true } },6046 .{ .param_str = "V2dV2dV2Oi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6178 .{ .param_str = "V4dV4dV4Oi", .features = "avx", .attributes = .{ .@"const" = true } },6047 .{ .param_str = "V4dV4dV4Oi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6179 .{ .param_str = "V8dV8dV8Oi", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },6048 .{ .param_str = "V8dV8dV8Oi", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6180 .{ .param_str = "V4fV4fV4i", .features = "avx", .attributes = .{ .@"const" = true } },6049 .{ .param_str = "V4fV4fV4i", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6181 .{ .param_str = "V8fV8fV8i", .features = "avx", .attributes = .{ .@"const" = true } },6050 .{ .param_str = "V8fV8fV8i", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6182 .{ .param_str = "V16fV16fV16i", .features = "avx512f,evex512", .attributes = .{ .@"const" = true } },6051 .{ .param_str = "V16fV16fV16i", .features = "avx512f", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6183 .{ .param_str = "V4iV16c", .features = "xop", .attributes = .{ .@"const" = true } },6052 .{ .param_str = "V4iV16c", .features = "xop", .attributes = .{ .@"const" = true } },
6184 .{ .param_str = "V2OiV16c", .features = "xop", .attributes = .{ .@"const" = true } },6053 .{ .param_str = "V2OiV16c", .features = "xop", .attributes = .{ .@"const" = true } },
6185 .{ .param_str = "V8sV16c", .features = "xop", .attributes = .{ .@"const" = true } },6054 .{ .param_str = "V8sV16c", .features = "xop", .attributes = .{ .@"const" = true } },
...@@ -6195,12 +6064,6 @@ pub const data = blk: {...@@ -6195,12 +6064,6 @@ pub const data = blk: {
6195 .{ .param_str = "V8sV16c", .features = "xop", .attributes = .{ .@"const" = true } },6064 .{ .param_str = "V8sV16c", .features = "xop", .attributes = .{ .@"const" = true } },
6196 .{ .param_str = "V2OiV4i", .features = "xop", .attributes = .{ .@"const" = true } },6065 .{ .param_str = "V2OiV4i", .features = "xop", .attributes = .{ .@"const" = true } },
6197 .{ .param_str = "V4iV8s", .features = "xop", .attributes = .{ .@"const" = true } },6066 .{ .param_str = "V4iV8s", .features = "xop", .attributes = .{ .@"const" = true } },
6198 .{ .param_str = "V4iV4i", .features = "avx512cd,avx512vl", .attributes = .{ .@"const" = true } },
6199 .{ .param_str = "V8iV8i", .features = "avx512cd,avx512vl", .attributes = .{ .@"const" = true } },
6200 .{ .param_str = "V16iV16i", .features = "avx512cd,evex512", .attributes = .{ .@"const" = true } },
6201 .{ .param_str = "V2OiV2Oi", .features = "avx512cd,avx512vl", .attributes = .{ .@"const" = true } },
6202 .{ .param_str = "V4OiV4Oi", .features = "avx512cd,avx512vl", .attributes = .{ .@"const" = true } },
6203 .{ .param_str = "V8OiV8Oi", .features = "avx512cd,evex512", .attributes = .{ .@"const" = true } },
6204 .{ .param_str = "V4iV4iV4iV4i", .features = "xop", .attributes = .{ .@"const" = true } },6067 .{ .param_str = "V4iV4iV4iV4i", .features = "xop", .attributes = .{ .@"const" = true } },
6205 .{ .param_str = "V2OiV4iV4iV2Oi", .features = "xop", .attributes = .{ .@"const" = true } },6068 .{ .param_str = "V2OiV4iV4iV2Oi", .features = "xop", .attributes = .{ .@"const" = true } },
6206 .{ .param_str = "V2OiV4iV4iV2Oi", .features = "xop", .attributes = .{ .@"const" = true } },6069 .{ .param_str = "V2OiV4iV4iV2Oi", .features = "xop", .attributes = .{ .@"const" = true } },
...@@ -6213,71 +6076,49 @@ pub const data = blk: {...@@ -6213,71 +6076,49 @@ pub const data = blk: {
6213 .{ .param_str = "V8sV8sV8sV8s", .features = "xop", .attributes = .{ .@"const" = true } },6076 .{ .param_str = "V8sV8sV8sV8s", .features = "xop", .attributes = .{ .@"const" = true } },
6214 .{ .param_str = "V4iV8sV8sV4i", .features = "xop", .attributes = .{ .@"const" = true } },6077 .{ .param_str = "V4iV8sV8sV4i", .features = "xop", .attributes = .{ .@"const" = true } },
6215 .{ .param_str = "V4iV8sV8sV4i", .features = "xop", .attributes = .{ .@"const" = true } },6078 .{ .param_str = "V4iV8sV8sV4i", .features = "xop", .attributes = .{ .@"const" = true } },
6216 .{ .param_str = "V2OiV2OiV2OiV2Oi", .features = "avx512ifma,avx512vl|avxifma", .attributes = .{ .@"const" = true } },6079 .{ .param_str = "V2OiV2OiV2OiV2Oi", .features = "avx512ifma,avx512vl|avxifma", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6217 .{ .param_str = "V4OiV4OiV4OiV4Oi", .features = "avx512ifma,avx512vl|avxifma", .attributes = .{ .@"const" = true } },6080 .{ .param_str = "V4OiV4OiV4OiV4Oi", .features = "avx512ifma,avx512vl|avxifma", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6218 .{ .param_str = "V8OiV8OiV8OiV8Oi", .features = "avx512ifma,evex512", .attributes = .{ .@"const" = true } },6081 .{ .param_str = "V8OiV8OiV8OiV8Oi", .features = "avx512ifma", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6219 .{ .param_str = "V2OiV2OiV2OiV2Oi", .features = "avx512ifma,avx512vl|avxifma", .attributes = .{ .@"const" = true } },6082 .{ .param_str = "V2OiV2OiV2OiV2Oi", .features = "avx512ifma,avx512vl|avxifma", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6220 .{ .param_str = "V4OiV4OiV4OiV4Oi", .features = "avx512ifma,avx512vl|avxifma", .attributes = .{ .@"const" = true } },6083 .{ .param_str = "V4OiV4OiV4OiV4Oi", .features = "avx512ifma,avx512vl|avxifma", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6221 .{ .param_str = "V8OiV8OiV8OiV8Oi", .features = "avx512ifma,evex512", .attributes = .{ .@"const" = true } },6084 .{ .param_str = "V8OiV8OiV8OiV8Oi", .features = "avx512ifma", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6222 .{ .param_str = "V16cV16cV16c", .features = "avx512vbmi,avx512vl", .attributes = .{ .@"const" = true } },6085 .{ .param_str = "V16cV16cV16c", .features = "avx512vbmi,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6223 .{ .param_str = "V32cV32cV32c", .features = "avx512vbmi,avx512vl", .attributes = .{ .@"const" = true } },6086 .{ .param_str = "V32cV32cV32c", .features = "avx512vbmi,avx512vl", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6224 .{ .param_str = "V64cV64cV64c", .features = "avx512vbmi,evex512", .attributes = .{ .@"const" = true } },6087 .{ .param_str = "V64cV64cV64c", .features = "avx512vbmi", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6225 .{ .param_str = "V16cV16cV16cV16c", .features = "xop", .attributes = .{ .@"const" = true } },6088 .{ .param_str = "V16cV16cV16cV16c", .features = "xop", .attributes = .{ .@"const" = true } },
6226 .{ .param_str = "V16cV16cV16c", .features = "xop", .attributes = .{ .@"const" = true } },6089 .{ .param_str = "V16cV16cIc", .features = "xop", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6227 .{ .param_str = "V16cV16cIc", .features = "xop", .attributes = .{ .@"const" = true } },6090 .{ .param_str = "V4iV4iIc", .features = "xop", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6228 .{ .param_str = "V4iV4iV4i", .features = "xop", .attributes = .{ .@"const" = true } },6091 .{ .param_str = "V2OiV2OiIc", .features = "xop", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6229 .{ .param_str = "V4iV4iIc", .features = "xop", .attributes = .{ .@"const" = true } },6092 .{ .param_str = "V8sV8sIc", .features = "xop", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6230 .{ .param_str = "V2OiV2OiV2Oi", .features = "xop", .attributes = .{ .@"const" = true } },
6231 .{ .param_str = "V2OiV2OiIc", .features = "xop", .attributes = .{ .@"const" = true } },
6232 .{ .param_str = "V8sV8sV8s", .features = "xop", .attributes = .{ .@"const" = true } },
6233 .{ .param_str = "V8sV8sIc", .features = "xop", .attributes = .{ .@"const" = true } },
6234 .{ .param_str = "V16cV16cV16c", .features = "xop", .attributes = .{ .@"const" = true } },6093 .{ .param_str = "V16cV16cV16c", .features = "xop", .attributes = .{ .@"const" = true } },
6235 .{ .param_str = "V4iV4iV4i", .features = "xop", .attributes = .{ .@"const" = true } },6094 .{ .param_str = "V4iV4iV4i", .features = "xop", .attributes = .{ .@"const" = true } },
6236 .{ .param_str = "V2OiV2OiV2Oi", .features = "xop", .attributes = .{ .@"const" = true } },6095 .{ .param_str = "V2OiV2OiV2Oi", .features = "xop", .attributes = .{ .@"const" = true } },
6237 .{ .param_str = "V8sV8sV8s", .features = "xop", .attributes = .{ .@"const" = true } },6096 .{ .param_str = "V8sV8sV8s", .features = "xop", .attributes = .{ .@"const" = true } },
6238 .{ .param_str = "V16cV16cV16c", .features = "xop", .attributes = .{ .@"const" = true } },6097 .{ .param_str = "V16cV16cV16c", .features = "xop", .attributes = .{ .@"const" = true } },
6239 .{ .param_str = "V4iV4iV4i", .features = "xop", .attributes = .{ .@"const" = true } },6098 .{ .param_str = "V4iV4iV4i", .features = "xop", .attributes = .{ .@"const" = true } },
6240 .{ .param_str = "V4iV4iV4iIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },6099 .{ .param_str = "V4iV4iV4iIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6241 .{ .param_str = "V8iV8iV8iIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },6100 .{ .param_str = "V8iV8iV8iIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6242 .{ .param_str = "V16iV16iV16iIi", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },6101 .{ .param_str = "V16iV16iV16iIi", .features = "avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6243 .{ .param_str = "V2OiV2OiV2OiIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },6102 .{ .param_str = "V2OiV2OiV2OiIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6244 .{ .param_str = "V4OiV4OiV4OiIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },6103 .{ .param_str = "V4OiV4OiV4OiIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6245 .{ .param_str = "V8OiV8OiV8OiIi", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },6104 .{ .param_str = "V8OiV8OiV8OiIi", .features = "avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6246 .{ .param_str = "V4iV4iV4iV4i", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },6105 .{ .param_str = "V8sV8sV8sIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6247 .{ .param_str = "V8iV8iV8iV8i", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },6106 .{ .param_str = "V16sV16sV16sIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6248 .{ .param_str = "V16iV16iV16iV16i", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },6107 .{ .param_str = "V32sV32sV32sIi", .features = "avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6249 .{ .param_str = "V2OiV2OiV2OiV2Oi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
6250 .{ .param_str = "V4OiV4OiV4OiV4Oi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
6251 .{ .param_str = "V8OiV8OiV8OiV8Oi", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },
6252 .{ .param_str = "V8sV8sV8sV8s", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
6253 .{ .param_str = "V16sV16sV16sV16s", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
6254 .{ .param_str = "V32sV32sV32sV32s", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },
6255 .{ .param_str = "V8sV8sV8sIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
6256 .{ .param_str = "V16sV16sV16sIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
6257 .{ .param_str = "V32sV32sV32sIi", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },
6258 .{ .param_str = "V2OiV2OiV2Oi", .features = "xop", .attributes = .{ .@"const" = true } },6108 .{ .param_str = "V2OiV2OiV2Oi", .features = "xop", .attributes = .{ .@"const" = true } },
6259 .{ .param_str = "V8sV8sV8s", .features = "xop", .attributes = .{ .@"const" = true } },6109 .{ .param_str = "V8sV8sV8s", .features = "xop", .attributes = .{ .@"const" = true } },
6260 .{ .param_str = "V4iV4iV4iIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },6110 .{ .param_str = "V4iV4iV4iIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6261 .{ .param_str = "V8iV8iV8iIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },6111 .{ .param_str = "V8iV8iV8iIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6262 .{ .param_str = "V16iV16iV16iIi", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },6112 .{ .param_str = "V16iV16iV16iIi", .features = "avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6263 .{ .param_str = "V2OiV2OiV2OiIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },6113 .{ .param_str = "V2OiV2OiV2OiIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6264 .{ .param_str = "V4OiV4OiV4OiIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },6114 .{ .param_str = "V4OiV4OiV4OiIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6265 .{ .param_str = "V8OiV8OiV8OiIi", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },6115 .{ .param_str = "V8OiV8OiV8OiIi", .features = "avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6266 .{ .param_str = "V4iV4iV4iV4i", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },6116 .{ .param_str = "V8sV8sV8sIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6267 .{ .param_str = "V8iV8iV8iV8i", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },6117 .{ .param_str = "V16sV16sV16sIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6268 .{ .param_str = "V16iV16iV16iV16i", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },6118 .{ .param_str = "V32sV32sV32sIi", .features = "avx512vbmi2", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6269 .{ .param_str = "V2OiV2OiV2OiV2Oi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },6119 .{ .param_str = "UsV16cV16cUs", .features = "avx512vl,avx512bitalg", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6270 .{ .param_str = "V4OiV4OiV4OiV4Oi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },6120 .{ .param_str = "UiV32cV32cUi", .features = "avx512vl,avx512bitalg", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6271 .{ .param_str = "V8OiV8OiV8OiV8Oi", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },6121 .{ .param_str = "UOiV64cV64cUOi", .features = "avx512bitalg", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6272 .{ .param_str = "V8sV8sV8sV8s", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
6273 .{ .param_str = "V16sV16sV16sV16s", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
6274 .{ .param_str = "V32sV32sV32sV32s", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },
6275 .{ .param_str = "V8sV8sV8sIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
6276 .{ .param_str = "V16sV16sV16sIi", .features = "avx512vl,avx512vbmi2", .attributes = .{ .@"const" = true } },
6277 .{ .param_str = "V32sV32sV32sIi", .features = "avx512vbmi2,evex512", .attributes = .{ .@"const" = true } },
6278 .{ .param_str = "UsV16cV16cUs", .features = "avx512vl,avx512bitalg", .attributes = .{ .@"const" = true } },
6279 .{ .param_str = "UiV32cV32cUi", .features = "avx512vl,avx512bitalg", .attributes = .{ .@"const" = true } },
6280 .{ .param_str = "UOiV64cV64cUOi", .features = "avx512bitalg,evex512", .attributes = .{ .@"const" = true } },
6281 .{ .param_str = "V8yV8yV8yUc", .features = "avx10_2", .attributes = .{ .@"const" = true } },6122 .{ .param_str = "V8yV8yV8yUc", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6282 .{ .param_str = "V16yV16yV16yUs", .features = "avx10_2", .attributes = .{ .@"const" = true } },6123 .{ .param_str = "V16yV16yV16yUs", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6283 .{ .param_str = "V32yV32yV32yUi", .features = "avx10_2", .attributes = .{ .@"const" = true } },6124 .{ .param_str = "V32yV32yV32yUi", .features = "avx10_2", .attributes = .{ .@"const" = true } },
...@@ -6305,24 +6146,21 @@ pub const data = blk: {...@@ -6305,24 +6146,21 @@ pub const data = blk: {
6305 .{ .param_str = "V4UiV4UiV4Ui", .features = "sm4" },6146 .{ .param_str = "V4UiV4UiV4Ui", .features = "sm4" },
6306 .{ .param_str = "V8UiV8UiV8Ui", .features = "sm4" },6147 .{ .param_str = "V8UiV8UiV8Ui", .features = "sm4" },
6307 .{ .param_str = "V16UiV16UiV16Ui", .features = "avx10_2,sm4" },6148 .{ .param_str = "V16UiV16UiV16Ui", .features = "avx10_2,sm4" },
6308 .{ .param_str = "V8yV8y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6309 .{ .param_str = "V16yV16y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6310 .{ .param_str = "V32yV32y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6311 .{ .param_str = "V8yV8yV8y", .features = "avx10_2", .attributes = .{ .@"const" = true } },6149 .{ .param_str = "V8yV8yV8y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6312 .{ .param_str = "V16yV16yV16y", .features = "avx10_2", .attributes = .{ .@"const" = true } },6150 .{ .param_str = "V16yV16yV16y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6313 .{ .param_str = "V32yV32yV32y", .features = "avx10_2", .attributes = .{ .@"const" = true } },6151 .{ .param_str = "V32yV32yV32y", .features = "avx10_2", .attributes = .{ .@"const" = true } },
6314 .{ .param_str = "iV2dV2d", .features = "avx", .attributes = .{ .@"const" = true } },6152 .{ .param_str = "iV2dV2d", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6315 .{ .param_str = "iV4dV4d", .features = "avx", .attributes = .{ .@"const" = true } },6153 .{ .param_str = "iV4dV4d", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6316 .{ .param_str = "iV4fV4f", .features = "avx", .attributes = .{ .@"const" = true } },6154 .{ .param_str = "iV4fV4f", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6317 .{ .param_str = "iV8fV8f", .features = "avx", .attributes = .{ .@"const" = true } },6155 .{ .param_str = "iV8fV8f", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6318 .{ .param_str = "iV2dV2d", .features = "avx", .attributes = .{ .@"const" = true } },6156 .{ .param_str = "iV2dV2d", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6319 .{ .param_str = "iV4dV4d", .features = "avx", .attributes = .{ .@"const" = true } },6157 .{ .param_str = "iV4dV4d", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6320 .{ .param_str = "iV4fV4f", .features = "avx", .attributes = .{ .@"const" = true } },6158 .{ .param_str = "iV4fV4f", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6321 .{ .param_str = "iV8fV8f", .features = "avx", .attributes = .{ .@"const" = true } },6159 .{ .param_str = "iV8fV8f", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6322 .{ .param_str = "iV2dV2d", .features = "avx", .attributes = .{ .@"const" = true } },6160 .{ .param_str = "iV2dV2d", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6323 .{ .param_str = "iV4dV4d", .features = "avx", .attributes = .{ .@"const" = true } },6161 .{ .param_str = "iV4dV4d", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6324 .{ .param_str = "iV4fV4f", .features = "avx", .attributes = .{ .@"const" = true } },6162 .{ .param_str = "iV4fV4f", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6325 .{ .param_str = "iV8fV8f", .features = "avx", .attributes = .{ .@"const" = true } },6163 .{ .param_str = "iV8fV8f", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
6326 .{ .param_str = "v", .features = "avx" },6164 .{ .param_str = "v", .features = "avx" },
6327 .{ .param_str = "v", .features = "avx" },6165 .{ .param_str = "v", .features = "avx" },
6328 .{ .param_str = "v" },6166 .{ .param_str = "v" },
lib/compiler/aro/aro/Builtins/x86_64.zig+422-516
...@@ -58,40 +58,25 @@ pub const Tag = enum(u16) { _BitScanForward64,...@@ -58,40 +58,25 @@ pub const Tag = enum(u16) { _BitScanForward64,
58 __builtin_ia32_senduipi,58 __builtin_ia32_senduipi,
59 __builtin_ia32_stui,59 __builtin_ia32_stui,
60 __builtin_ia32_subborrow_u64,60 __builtin_ia32_subborrow_u64,
61 __builtin_ia32_t2rpntlvwz0,
62 __builtin_ia32_t2rpntlvwz0_internal,
63 __builtin_ia32_t2rpntlvwz0rs,
64 __builtin_ia32_t2rpntlvwz0rs_internal,
65 __builtin_ia32_t2rpntlvwz0rst1,
66 __builtin_ia32_t2rpntlvwz0rst1_internal,
67 __builtin_ia32_t2rpntlvwz0t1,
68 __builtin_ia32_t2rpntlvwz0t1_internal,
69 __builtin_ia32_t2rpntlvwz1,
70 __builtin_ia32_t2rpntlvwz1_internal,
71 __builtin_ia32_t2rpntlvwz1rs,
72 __builtin_ia32_t2rpntlvwz1rs_internal,
73 __builtin_ia32_t2rpntlvwz1rst1,
74 __builtin_ia32_t2rpntlvwz1rst1_internal,
75 __builtin_ia32_t2rpntlvwz1t1,
76 __builtin_ia32_t2rpntlvwz1t1_internal,
77 __builtin_ia32_tcmmimfp16ps,61 __builtin_ia32_tcmmimfp16ps,
78 __builtin_ia32_tcmmimfp16ps_internal,62 __builtin_ia32_tcmmimfp16ps_internal,
79 __builtin_ia32_tcmmrlfp16ps,63 __builtin_ia32_tcmmrlfp16ps,
80 __builtin_ia32_tcmmrlfp16ps_internal,64 __builtin_ia32_tcmmrlfp16ps_internal,
81 __builtin_ia32_tconjtcmmimfp16ps,
82 __builtin_ia32_tconjtcmmimfp16ps_internal,
83 __builtin_ia32_tconjtfp16,
84 __builtin_ia32_tconjtfp16_internal,
85 __builtin_ia32_tcvtrowd2ps,65 __builtin_ia32_tcvtrowd2ps,
86 __builtin_ia32_tcvtrowd2ps_internal,66 __builtin_ia32_tcvtrowd2ps_internal,
67 __builtin_ia32_tcvtrowd2psi,
87 __builtin_ia32_tcvtrowps2bf16h,68 __builtin_ia32_tcvtrowps2bf16h,
88 __builtin_ia32_tcvtrowps2bf16h_internal,69 __builtin_ia32_tcvtrowps2bf16h_internal,
70 __builtin_ia32_tcvtrowps2bf16hi,
89 __builtin_ia32_tcvtrowps2bf16l,71 __builtin_ia32_tcvtrowps2bf16l,
90 __builtin_ia32_tcvtrowps2bf16l_internal,72 __builtin_ia32_tcvtrowps2bf16l_internal,
73 __builtin_ia32_tcvtrowps2bf16li,
91 __builtin_ia32_tcvtrowps2phh,74 __builtin_ia32_tcvtrowps2phh,
92 __builtin_ia32_tcvtrowps2phh_internal,75 __builtin_ia32_tcvtrowps2phh_internal,
76 __builtin_ia32_tcvtrowps2phhi,
93 __builtin_ia32_tcvtrowps2phl,77 __builtin_ia32_tcvtrowps2phl,
94 __builtin_ia32_tcvtrowps2phl_internal,78 __builtin_ia32_tcvtrowps2phl_internal,
79 __builtin_ia32_tcvtrowps2phli,
95 __builtin_ia32_tdpbf16ps,80 __builtin_ia32_tdpbf16ps,
96 __builtin_ia32_tdpbf16ps_internal,81 __builtin_ia32_tdpbf16ps_internal,
97 __builtin_ia32_tdpbf8ps,82 __builtin_ia32_tdpbf8ps,
...@@ -126,6 +111,7 @@ pub const Tag = enum(u16) { _BitScanForward64,...@@ -126,6 +111,7 @@ pub const Tag = enum(u16) { _BitScanForward64,
126 __builtin_ia32_tileloaddt164_internal,111 __builtin_ia32_tileloaddt164_internal,
127 __builtin_ia32_tilemovrow,112 __builtin_ia32_tilemovrow,
128 __builtin_ia32_tilemovrow_internal,113 __builtin_ia32_tilemovrow_internal,
114 __builtin_ia32_tilemovrowi,
129 __builtin_ia32_tilerelease,115 __builtin_ia32_tilerelease,
130 __builtin_ia32_tilestored64,116 __builtin_ia32_tilestored64,
131 __builtin_ia32_tilestored64_internal,117 __builtin_ia32_tilestored64_internal,
...@@ -133,18 +119,6 @@ pub const Tag = enum(u16) { _BitScanForward64,...@@ -133,18 +119,6 @@ pub const Tag = enum(u16) { _BitScanForward64,
133 __builtin_ia32_tilezero_internal,119 __builtin_ia32_tilezero_internal,
134 __builtin_ia32_tmmultf32ps,120 __builtin_ia32_tmmultf32ps,
135 __builtin_ia32_tmmultf32ps_internal,121 __builtin_ia32_tmmultf32ps_internal,
136 __builtin_ia32_ttcmmimfp16ps,
137 __builtin_ia32_ttcmmimfp16ps_internal,
138 __builtin_ia32_ttcmmrlfp16ps,
139 __builtin_ia32_ttcmmrlfp16ps_internal,
140 __builtin_ia32_ttdpbf16ps,
141 __builtin_ia32_ttdpbf16ps_internal,
142 __builtin_ia32_ttdpfp16ps,
143 __builtin_ia32_ttdpfp16ps_internal,
144 __builtin_ia32_ttmmultf32ps,
145 __builtin_ia32_ttmmultf32ps_internal,
146 __builtin_ia32_ttransposed,
147 __builtin_ia32_ttransposed_internal,
148 __builtin_ia32_tzcnt_u64,122 __builtin_ia32_tzcnt_u64,
149 __builtin_ia32_urdmsr,123 __builtin_ia32_urdmsr,
150 __builtin_ia32_uwrmsr,124 __builtin_ia32_uwrmsr,
...@@ -251,13 +225,13 @@ pub fn exists(name: []const u8) bool {...@@ -251,13 +225,13 @@ pub fn exists(name: []const u8) bool {
251}225}
252226
253pub const shortest_name = 6;227pub const shortest_name = 6;
254pub const longest_name = 41;228pub const longest_name = 39;
255229
256/// Search siblings of `first_child_index` for the `char`230/// Search siblings of `first_child_index` for the `char`
257/// If found, returns the index of the node within the `dafsa` array.231/// If found, returns the index of the node within the `dafsa` array.
258/// Otherwise, returns `null`.232/// Otherwise, returns `null`.
259pub fn findInList(first_child_index: u16, char: u8) ?u16 {233pub fn findInList(first_child_index: u16, char: u8) ?u16 {
260 @setEvalBranchQuota(386);234 @setEvalBranchQuota(334);
261 var index = first_child_index;235 var index = first_child_index;
262 while (true) {236 while (true) {
263 if (dafsa[index].char == char) return index;237 if (dafsa[index].char == char) return index;
...@@ -352,15 +326,15 @@ const Node = packed struct {...@@ -352,15 +326,15 @@ const Node = packed struct {
352326
353const dafsa = [_]Node{327const dafsa = [_]Node{
354 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },328 .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },
355 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 193, .child_index = 2 },329 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 167, .child_index = 2 },
356 .{ .char = 'B', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 7 },330 .{ .char = 'B', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 7 },
357 .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 8 },331 .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 8 },
358 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 188, .child_index = 9 },332 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 162, .child_index = 9 },
359 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 14 },333 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 14 },
360 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 15 },334 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 15 },
361 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 16 },335 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 16 },
362 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 17 },336 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 17 },
363 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 183, .child_index = 18 },337 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 157, .child_index = 18 },
364 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 19 },338 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 19 },
365 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 20 },339 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 20 },
366 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 21 },340 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 21 },
...@@ -369,7 +343,7 @@ const dafsa = [_]Node{...@@ -369,7 +343,7 @@ const dafsa = [_]Node{
369 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 14 },343 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 14 },
370 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 24 },344 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 24 },
371 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 25 },345 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 25 },
372 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 183, .child_index = 26 },346 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 157, .child_index = 26 },
373 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 27 },347 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 27 },
374 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 28 },348 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 28 },
375 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 29 },349 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 29 },
...@@ -377,70 +351,70 @@ const dafsa = [_]Node{...@@ -377,70 +351,70 @@ const dafsa = [_]Node{
377 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 30 },351 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 30 },
378 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 31 },352 .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 31 },
379 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 32 },353 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 32 },
380 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 183, .child_index = 33 },354 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 157, .child_index = 33 },
381 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 34 },355 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 34 },
382 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 35 },356 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 35 },
383 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 36 },357 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 36 },
384 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 37 },358 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 37 },
385 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 38 },359 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 38 },
386 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 39 },360 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 39 },
387 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 183, .child_index = 40 },361 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 157, .child_index = 40 },
388 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 41 },362 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 41 },
389 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },363 .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
390 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 42 },364 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 42 },
391 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 43 },365 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 43 },
392 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 44 },366 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 44 },
393 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 45 },367 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 45 },
394 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 183, .child_index = 46 },368 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 157, .child_index = 46 },
395 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 47 },369 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 47 },
396 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 48 },370 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 48 },
397 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },371 .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
398 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 50 },372 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 50 },
399 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 52 },373 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 52 },
400 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 183, .child_index = 53 },374 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 157, .child_index = 53 },
401 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 54 },375 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 54 },
402 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 55 },376 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 55 },
403 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 56 },377 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 56 },
404 .{ .char = 'F', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 57 },378 .{ .char = 'F', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 57 },
405 .{ .char = 'R', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 58 },379 .{ .char = 'R', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 58 },
406 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 59 },380 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 59 },
407 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 183, .child_index = 60 },381 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 157, .child_index = 60 },
408 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 61 },382 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 61 },
409 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 62 },383 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 62 },
410 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 63 },384 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 63 },
411 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 64 },385 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 64 },
412 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 65 },386 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 65 },
413 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 66 },387 .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 66 },
414 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 183, .child_index = 67 },388 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 157, .child_index = 67 },
415 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 68 },389 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 68 },
416 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 69 },390 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 69 },
417 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 70 },391 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 70 },
418 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 71 },392 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 71 },
419 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 72 },393 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 72 },
420 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 73 },394 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 73 },
421 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 183, .child_index = 74 },395 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 157, .child_index = 74 },
422 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 75 },396 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 75 },
423 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 30 },397 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 30 },
424 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 69 },398 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 69 },
425 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 76 },399 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 76 },
426 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 77 },400 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 77 },
427 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 78 },401 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 78 },
428 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 183, .child_index = 79 },402 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 157, .child_index = 79 },
429 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 80 },403 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 80 },
430 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 81 },404 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 81 },
431 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 82 },405 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 82 },
432 .{ .char = 'C', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 83 },406 .{ .char = 'C', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 83 },
433 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 183, .child_index = 84 },407 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 157, .child_index = 84 },
434 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 85 },408 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 85 },
435 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 86 },409 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 86 },
436 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },410 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },
437 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 88 },411 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 88 },
438 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 183, .child_index = 89 },412 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 157, .child_index = 89 },
439 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 90 },413 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 90 },
440 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },414 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },
441 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },415 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },
442 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 92 },416 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 92 },
443 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 183, .child_index = 93 },417 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 157, .child_index = 93 },
444 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 109 },418 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 109 },
445 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 110 },419 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 110 },
446 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 111 },420 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 111 },
...@@ -455,473 +429,431 @@ const dafsa = [_]Node{...@@ -455,473 +429,431 @@ const dafsa = [_]Node{
455 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 128 },429 .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 128 },
456 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 132 },430 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 132 },
457 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 134 },431 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 134 },
458 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 88, .child_index = 137 },432 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 62, .child_index = 137 },
459 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 145 },433 .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 143 },
460 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 33, .child_index = 147 },434 .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 33, .child_index = 145 },
461 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 150 },435 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 148 },
462 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 151 },436 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 149 },
463 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },437 .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
464 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },438 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
465 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 153 },439 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 151 },
466 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 154 },440 .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 152 },
467 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 156 },441 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 154 },
468 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 157 },442 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 155 },
469 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 158 },443 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 156 },
470 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 159 },444 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 157 },
471 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 160 },445 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 158 },
472 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 161 },446 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 159 },
473 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 162 },447 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 160 },
474 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 163 },448 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 161 },
475 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 164 },449 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 162 },
476 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 165 },450 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 163 },
477 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 166 },451 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 164 },
478 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 168 },452 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 166 },
479 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 169 },453 .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 167 },
480 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 170 },454 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 168 },
481 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 171 },455 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 169 },
482 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 172 },456 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 170 },
483 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 173 },457 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 171 },
484 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 174 },458 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 172 },
485 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 175 },459 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 173 },
486 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 176 },460 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 174 },
487 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 180 },461 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 178 },
488 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 181 },462 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 179 },
489 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 161 },463 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 159 },
490 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 182 },464 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 180 },
491 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 183 },465 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 181 },
492 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 184 },466 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 183 },
493 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 187 },467 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 184 },
494 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 188 },468 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 185 },
495 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 189 },469 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 186 },
496 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 190 },470 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 168 },
497 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 191 },471 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 187 },
498 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 170 },472 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 188 },
499 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 195 },473 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 189 },
500 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 196 },474 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 190 },
501 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 197 },475 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 191 },
502 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 198 },476 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 192 },
503 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 199 },477 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 197 },
504 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 200 },478 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 198 },
505 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 205 },479 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 199 },
506 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 206 },
507 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 207 },
508 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 86 },480 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 86 },
509 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 86 },481 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 86 },
510 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 208 },482 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 200 },
511 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },483 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },
512 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 157 },484 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 155 },
513 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 209 },485 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 201 },
514 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 210 },486 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 202 },
515 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 211 },487 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 203 },
516 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 212 },488 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 204 },
517 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 213 },489 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 205 },
518 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 214 },490 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 206 },
519 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 217 },491 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 209 },
520 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 218 },492 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 210 },
521 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 219 },493 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 211 },
522 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 220 },494 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 212 },
523 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 221 },495 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 213 },
524 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 223 },496 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 215 },
525 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 224 },497 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 216 },
526 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 226 },498 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 218 },
527 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 227 },499 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 219 },
528 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 228 },500 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 220 },
529 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 229 },501 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 221 },
530 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 230 },502 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 222 },
531 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 230 },503 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 222 },
532 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 231 },504 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 223 },
533 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 232 },505 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 224 },
534 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 234 },506 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 226 },
535 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 235 },507 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 227 },
536 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 236 },508 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 228 },
537 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 237 },509 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 229 },
538 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 238 },510 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 230 },
539 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 239 },511 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 231 },
540 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 240 },512 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 234 },
541 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 241 },513 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 19, .child_index = 235 },
542 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 244 },514 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 236 },
543 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 245 },515 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 237 },
544 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 246 },516 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 237 },
545 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 247 },517 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 238 },
546 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 248 },518 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 239 },
547 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 190 },519 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 240 },
548 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 249 },520 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 222 },
549 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 250 },521 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 222 },
550 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 250 },522 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 241 },
551 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 251 },523 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 242 },
552 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 252 },524 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 243 },
553 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 253 },525 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 244 },
554 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 230 },526 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 245 },
555 .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 230 },527 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 246 },
556 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 254 },528 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 247 },
557 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 255 },529 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 248 },
558 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 256 },530 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 249 },
559 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 257 },
560 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 258 },
561 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 259 },
562 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 260 },
563 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 261 },
564 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 262 },
565 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },531 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
566 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 263 },532 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 250 },
567 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 264 },533 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 251 },
568 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 265 },534 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 252 },
569 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 268 },535 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 255 },
570 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 269 },536 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 256 },
571 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 270 },537 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 257 },
538 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 258 },
539 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 259 },
540 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 260 },
541 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 261 },
542 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 262 },
543 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 263 },
544 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 264 },
545 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 265 },
546 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 249 },
547 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 249 },
548 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 266 },
549 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 267 },
550 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 268 },
551 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 269 },
552 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 270 },
572 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 271 },553 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 271 },
573 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 272 },554 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 272 },
574 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 273 },555 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 273 },
575 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 274 },556 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 274 },
576 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 275 },557 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 275 },
577 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 276 },558 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 277 },
578 .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 277 },559 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 278 },
579 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 278 },560 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 282 },
580 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 262 },561 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 283 },
581 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 262 },562 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 159 },
582 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 279 },563 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 19, .child_index = 285 },
583 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 280 },564 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 291 },
584 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 281 },565 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 292 },
585 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 282 },566 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 293 },
586 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 283 },567 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 296 },
587 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 284 },568 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 298 },
588 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 285 },569 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 299 },
589 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 286 },570 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 300 },
590 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 287 },571 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 242 },
591 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 288 },572 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 301 },
592 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 289 },573 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 302 },
593 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 291 },574 .{ .char = 'E', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 303 },
594 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 292 },575 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 304 },
595 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 293 },576 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 305 },
596 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 297 },577 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 307 },
597 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 298 },578 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 308 },
598 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 161 },579 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 307 },
599 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 300 },580 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 309 },
600 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 306 },581 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 310 },
601 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 238 },582 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 309 },
602 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 307 },583 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 311 },
603 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 309 },584 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 313 },
604 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 310 },585 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 314 },
605 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 311 },586 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 156 },
606 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 314 },
607 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 316 },
608 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 317 },
609 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 318 },
610 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 255 },
611 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 319 },
612 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 320 },
613 .{ .char = 'E', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 321 },
614 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 322 },
615 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 323 },
616 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 325 },
617 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 326 },
618 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 325 },
619 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 327 },
620 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 328 },
621 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },
622 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 329 },
623 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 331 },
624 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 332 },
625 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 158 },
626 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },587 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },
627 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 284 },588 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 271 },
628 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 333 },589 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 315 },
629 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 334 },590 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 316 },
630 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },591 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 317 },
631 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 336 },592 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 318 },
632 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 337 },593 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 319 },
633 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 341 },594 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 323 },
634 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 342 },595 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 324 },
635 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 343 },596 .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 325 },
636 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },597 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 326 },
637 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },598 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 326 },
638 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 318 },599 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 300 },
639 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 345 },600 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },
640 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 346 },601 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 328 },
641 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 347 },602 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 329 },
642 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 348 },603 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 330 },
643 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 349 },604 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 331 },
644 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 350 },605 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 332 },
645 .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 351 },606 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 333 },
646 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 352 },607 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 335 },
647 .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 353 },608 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 336 },
648 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 355 },609 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 336 },
649 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 356 },610 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 338 },
650 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 356 },611 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 335 },
651 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 358 },612 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 339 },
652 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 355 },613 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 340 },
653 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 359 },614 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 342 },
654 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 360 },615 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 343 },
655 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 362 },616 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 344 },
656 .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 363 },617 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 345 },
657 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 364 },618 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 346 },
658 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 365 },619 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 347 },
659 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 366 },620 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 348 },
660 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 367 },621 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 349 },
661 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 368 },622 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 353 },
662 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 297 },623 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 354 },
663 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 369 },624 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 355 },
664 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },625 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 356 },
665 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 371 },626 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 357 },
666 .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 375 },627 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 272 },
667 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 376 },
668 .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 377 },
669 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 378 },
670 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 379 },
671 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 285 },
672 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },628 .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
673 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 380 },629 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 358 },
674 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 381 },630 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 359 },
675 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 385 },631 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 363 },
676 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 386 },632 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 364 },
677 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 387 },633 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 365 },
678 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },634 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 317 },
679 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 211 },635 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 203 },
680 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 388 },636 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 366 },
681 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 389 },637 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 367 },
682 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 390 },638 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 368 },
683 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 327 },639 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 309 },
684 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },640 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 309 },
685 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 328 },641 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 310 },
686 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 391 },642 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 369 },
687 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },643 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },
688 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },644 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },
689 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 387 },645 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 365 },
690 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },646 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },
691 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 211 },647 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 203 },
692 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 211 },648 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 203 },
693 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 211 },649 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 203 },
694 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 211 },650 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 203 },
695 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 392 },651 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 370 },
696 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },652 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 87 },
697 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 393 },653 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 371 },
698 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 394 },654 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 372 },
699 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 395 },655 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 373 },
700 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 396 },656 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 374 },
701 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 397 },657 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 375 },
702 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 398 },658 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 376 },
703 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 399 },659 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 376 },
704 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 399 },660 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 377 },
705 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 400 },661 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 378 },
706 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 402 },662 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 379 },
707 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 403 },663 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 339 },
708 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 404 },664 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 380 },
709 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 359 },665 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 380 },
710 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 405 },666 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 378 },
711 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 405 },667 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 379 },
712 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 403 },668 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 381 },
713 .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 404 },669 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 382 },
714 .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 406 },670 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 383 },
715 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 407 },671 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 384 },
716 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 408 },672 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 385 },
717 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 409 },673 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 386 },
718 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 410 },674 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 387 },
719 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 411 },675 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 388 },
720 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 412 },
721 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 413 },
722 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 358 },
723 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 414 },
724 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },676 .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
725 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 415 },677 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 389 },
726 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 415 },678 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 389 },
727 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 416 },679 .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 390 },
728 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 415 },680 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 389 },
729 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 417 },681 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 391 },
730 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 420 },682 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 394 },
731 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 421 },683 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 395 },
732 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 422 },684 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 396 },
733 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 423 },685 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 397 },
734 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 427 },686 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 401 },
735 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 110 },687 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 110 },
736 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 91 },688 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 91 },
737 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 429 },689 .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 403 },
738 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },690 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },
739 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 430 },691 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 404 },
740 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 431 },692 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 405 },
741 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },693 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },
742 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 432 },694 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 406 },
743 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 336 },695 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 318 },
744 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 433 },696 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 407 },
745 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 435 },697 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 409 },
746 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 436 },698 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 410 },
747 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 437 },699 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 411 },
748 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 438 },700 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
749 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 439 },701 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 413 },
750 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 211 },702 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 203 },
751 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 440 },703 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 414 },
752 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 441 },704 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 282 },
753 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 297 },705 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 415 },
754 .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 442 },706 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 379 },
755 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 443 },707 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 417 },
756 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 444 },708 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 418 },
757 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 404 },709 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 419 },
758 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 446 },710 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 420 },
759 .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 447 },711 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 421 },
760 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 448 },712 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 422 },
761 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 449 },713 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 423 },
762 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 450 },714 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 424 },
763 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 451 },715 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 425 },
764 .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 452 },716 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 426 },
765 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 453 },717 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 427 },
766 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 454 },718 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 429 },
767 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 455 },719 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 430 },
768 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 456 },720 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 389 },
769 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 457 },721 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 430 },
770 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 459 },722 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 390 },
771 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 460 },723 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 431 },
772 .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 415 },724 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 432 },
773 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 460 },725 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 433 },
774 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 416 },726 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 433 },
775 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 461 },727 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 433 },
776 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 462 },728 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 433 },
777 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 463 },
778 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 463 },
779 .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 463 },
780 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 463 },
781 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 110 },729 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 110 },
782 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },730 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },
783 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 466 },731 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 436 },
784 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 467 },732 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 437 },
785 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 468 },733 .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 438 },
786 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 469 },734 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 439 },
787 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 91 },735 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 91 },
788 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },736 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },
789 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 470 },737 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 440 },
790 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 211 },738 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 203 },
791 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 471 },739 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 441 },
792 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 473 },740 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 443 },
793 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 474 },741 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 444 },
794 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 475 },742 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 445 },
795 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 476 },743 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 446 },
796 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 477 },744 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 447 },
797 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 478 },745 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 418 },
798 .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 479 },746 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 448 },
799 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 480 },747 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 449 },
800 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 447 },748 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
801 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 481 },749 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 451 },
802 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 482 },750 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 452 },
803 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 483 },751 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 453 },
804 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 484 },752 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 454 },
805 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 485 },753 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 418 },
806 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },754 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 455 },
807 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 487 },755 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 318 },
808 .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 447 },756 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 367 },
809 .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 479 },757 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 456 },
810 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 488 },758 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 457 },
811 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 336 },759 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 459 },
812 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 389 },760 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 460 },
813 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 489 },
814 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 490 },
815 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 492 },
816 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 493 },
817 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 37 },761 .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 37 },
818 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 494 },762 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 461 },
819 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 495 },763 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 462 },
820 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },764 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 91 },
821 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },765 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
822 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },766 .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 317 },
823 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 471 },767 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 441 },
824 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 497 },768 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 464 },
825 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 498 },769 .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 465 },
826 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 110 },770 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 110 },
827 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 499 },771 .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 466 },
828 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 500 },772 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 467 },
829 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },773 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 317 },
830 .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 501 },774 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 468 },
831 .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 502 },775 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 469 },
832 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 503 },776 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 470 },
833 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 404 },777 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 471 },
834 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 504 },778 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 472 },
835 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },779 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 473 },
836 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 506 },780 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 476 },
837 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },781 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 477 },
838 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 508 },782 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 478 },
839 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 511 },783 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 379 },
840 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },784 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 479 },
841 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 513 },785 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 480 },
842 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 514 },786 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 481 },
843 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 515 },787 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 482 },
844 .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 516 },788 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 483 },
845 .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 517 },789 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 485 },
846 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 518 },790 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 465 },
847 .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 519 },791 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },
848 .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 521 },792 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 487 },
849 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 498 },
850 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 522 },
851 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 523 },
852 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },793 .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
853 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 524 },794 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 488 },
854 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },795 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 317 },
855 .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 525 },796 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 489 },
856 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 349 },797 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 490 },
857 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 447 },798 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 492 },
858 .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 527 },799 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 493 },
859 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 529 },800 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 494 },
860 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 530 },801 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 495 },
861 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 531 },802 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 496 },
862 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 532 },803 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 497 },
863 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 533 },804 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 498 },
864 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 534 },
865 .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 447 },
866 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 109 },805 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 109 },
867 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 535 },806 .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 500 },
868 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 405 },
869 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 35 },807 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 35 },
870 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 427 },808 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 401 },
871 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 516 },809 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 480 },
872 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 325 },810 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 307 },
873 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 325 },811 .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 307 },
874 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 325 },812 .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 307 },
875 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },813 .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
876 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 536 },814 .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 501 },
877 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 335 },815 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 317 },
878 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 537 },816 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 502 },
879 .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 8, .child_index = 538 },817 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 498 },
880 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 538 },818 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 503 },
881 .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 541 },819 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 504 },
882 .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 542 },820 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },
883 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 543 },821 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 506 },
884 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 544 },822 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 507 },
885 .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 545 },823 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 418 },
886 .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 447 },824 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 508 },
887 .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 546 },825 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 500 },
888 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 535 },826 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 448 },
889 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 532 },827 .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
828 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 495 },
890 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 30 },829 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 30 },
891 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 548 },830 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 510 },
892 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 481 },831 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 511 },
893 .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 549 },832 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 512 },
894 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 550 },833 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 514 },
895 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 551 },834 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 515 },
896 .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 552 },835 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 516 },
897 .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 554 },836 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 495 },
898 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 555 },837 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 497 },
899 .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 556 },
900 .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 532 },
901 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 534 },
902 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },838 .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
903 .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 557 },839 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 517 },
904 .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 447 },840 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 498 },
905 .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 559 },841 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 498 },
906 .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 447 },842 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 518 },
907 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 447 },843 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 519 },
908 .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 560 },844 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 520 },
909 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 561 },845 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 512 },
910 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 562 },846 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 521 },
911 .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 481 },847 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 522 },
912 .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 550 },848 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 523 },
913 .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 552 },849 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 524 },
914 .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 563 },850 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 418 },
915 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 564 },851 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 525 },
916 .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 565 },
917 .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 566 },
918 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 447 },
919 .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 567 },
920 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },852 .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
921 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },853 .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
922};854};
923pub const data = blk: {855pub const data = blk: {
924 @setEvalBranchQuota(1737);856 @setEvalBranchQuota(1503);
925 break :blk [_]Properties{857 break :blk [_]Properties{
926 .{ .param_str = "UcUNi*ULLi", .header = .intrin, .language = .all_ms_languages },858 .{ .param_str = "UcUNi*ULLi", .header = .intrin, .language = .all_ms_languages },
927 .{ .param_str = "UcUNi*ULLi", .header = .intrin, .language = .all_ms_languages },859 .{ .param_str = "UcUNi*ULLi", .header = .intrin, .language = .all_ms_languages },
...@@ -973,40 +905,25 @@ pub const data = blk: {...@@ -973,40 +905,25 @@ pub const data = blk: {
973 .{ .param_str = "vUWi", .features = "uintr" },905 .{ .param_str = "vUWi", .features = "uintr" },
974 .{ .param_str = "v", .features = "uintr" },906 .{ .param_str = "v", .features = "uintr" },
975 .{ .param_str = "UcUcUOiUOiUOi*", .attributes = .{ .const_evaluable = true } },907 .{ .param_str = "UcUcUOiUOiUOi*", .attributes = .{ .const_evaluable = true } },
976 .{ .param_str = "vIUcvC*z", .features = "amx_transpose" },
977 .{ .param_str = "vUsUsUsV256i*V256i*vC*z", .features = "amx_transpose" },
978 .{ .param_str = "vIUcvC*z", .features = "amx_movrs,amx_transpose" },
979 .{ .param_str = "vUsUsUsV256i*V256i*vC*z", .features = "amx_movrs,amx_transpose" },
980 .{ .param_str = "vIUcvC*z", .features = "amx_movrs,amx_transpose" },
981 .{ .param_str = "vUsUsUsV256i*V256i*vC*z", .features = "amx_movrs,amx_transpose" },
982 .{ .param_str = "vIUcvC*z", .features = "amx_transpose" },
983 .{ .param_str = "vUsUsUsV256i*V256i*vC*z", .features = "amx_transpose" },
984 .{ .param_str = "vIUcvC*z", .features = "amx_transpose" },
985 .{ .param_str = "vUsUsUsV256i*V256i*vC*z", .features = "amx_transpose" },
986 .{ .param_str = "vIUcvC*z", .features = "amx_movrs,amx_transpose" },
987 .{ .param_str = "vUsUsUsV256i*V256i*vC*z", .features = "amx_movrs,amx_transpose" },
988 .{ .param_str = "vIUcvC*z", .features = "amx_movrs,amx_transpose" },
989 .{ .param_str = "vUsUsUsV256i*V256i*vC*z", .features = "amx_movrs,amx_transpose" },
990 .{ .param_str = "vIUcvC*z", .features = "amx_transpose" },
991 .{ .param_str = "vUsUsUsV256i*V256i*vC*z", .features = "amx_transpose" },
992 .{ .param_str = "vIUcIUcIUc", .features = "amx_complex" },908 .{ .param_str = "vIUcIUcIUc", .features = "amx_complex" },
993 .{ .param_str = "V256iUsUsUsV256iV256iV256i", .features = "amx_complex" },909 .{ .param_str = "V256iUsUsUsV256iV256iV256i", .features = "amx_complex" },
994 .{ .param_str = "vIUcIUcIUc", .features = "amx_complex" },910 .{ .param_str = "vIUcIUcIUc", .features = "amx_complex" },
995 .{ .param_str = "V256iUsUsUsV256iV256iV256i", .features = "amx_complex" },911 .{ .param_str = "V256iUsUsUsV256iV256iV256i", .features = "amx_complex" },
996 .{ .param_str = "vIUcIUcIUc", .features = "amx_complex,amx_transpose" },
997 .{ .param_str = "V256iUsUsUsV256iV256iV256i", .features = "amx_complex,amx_transpose" },
998 .{ .param_str = "vIUcIUc", .features = "amx_complex,amx_transpose" },
999 .{ .param_str = "V256iUsUsV256i", .features = "amx_complex,amx_transpose" },
1000 .{ .param_str = "V16fIUcUi", .features = "amx_avx512,avx10_2" },912 .{ .param_str = "V16fIUcUi", .features = "amx_avx512,avx10_2" },
1001 .{ .param_str = "V16fUsUsV256iUi", .features = "amx_avx512,avx10_2" },913 .{ .param_str = "V16fUsUsV256iUi", .features = "amx_avx512,avx10_2" },
914 .{ .param_str = "V16fIUcIUi", .features = "amx_avx512,avx10_2" },
1002 .{ .param_str = "V32yIUcUi", .features = "amx_avx512,avx10_2" },915 .{ .param_str = "V32yIUcUi", .features = "amx_avx512,avx10_2" },
1003 .{ .param_str = "V32yUsUsV256iUi", .features = "amx_avx512,avx10_2" },916 .{ .param_str = "V32yUsUsV256iUi", .features = "amx_avx512,avx10_2" },
917 .{ .param_str = "V32yIUcIUi", .features = "amx_avx512,avx10_2" },
1004 .{ .param_str = "V32yIUcUi", .features = "amx_avx512,avx10_2" },918 .{ .param_str = "V32yIUcUi", .features = "amx_avx512,avx10_2" },
1005 .{ .param_str = "V32yUsUsV256iUi", .features = "amx_avx512,avx10_2" },919 .{ .param_str = "V32yUsUsV256iUi", .features = "amx_avx512,avx10_2" },
920 .{ .param_str = "V32yIUcIUi", .features = "amx_avx512,avx10_2" },
1006 .{ .param_str = "V32xIUcUi", .features = "amx_avx512,avx10_2" },921 .{ .param_str = "V32xIUcUi", .features = "amx_avx512,avx10_2" },
1007 .{ .param_str = "V32xUsUsV256iUi", .features = "amx_avx512,avx10_2" },922 .{ .param_str = "V32xUsUsV256iUi", .features = "amx_avx512,avx10_2" },
923 .{ .param_str = "V32xIUcIUi", .features = "amx_avx512,avx10_2" },
1008 .{ .param_str = "V32xIUcUi", .features = "amx_avx512,avx10_2" },924 .{ .param_str = "V32xIUcUi", .features = "amx_avx512,avx10_2" },
1009 .{ .param_str = "V32xUsUsV256iUi", .features = "amx_avx512,avx10_2" },925 .{ .param_str = "V32xUsUsV256iUi", .features = "amx_avx512,avx10_2" },
926 .{ .param_str = "V32xIUcIUi", .features = "amx_avx512,avx10_2" },
1010 .{ .param_str = "vIUcIUcIUc", .features = "amx_bf16" },927 .{ .param_str = "vIUcIUcIUc", .features = "amx_bf16" },
1011 .{ .param_str = "V256iUsUsUsV256iV256iV256i", .features = "amx_bf16" },928 .{ .param_str = "V256iUsUsUsV256iV256iV256i", .features = "amx_bf16" },
1012 .{ .param_str = "vIUcUIcUIc", .features = "amx_fp8" },929 .{ .param_str = "vIUcUIcUIc", .features = "amx_fp8" },
...@@ -1041,6 +958,7 @@ pub const data = blk: {...@@ -1041,6 +958,7 @@ pub const data = blk: {
1041 .{ .param_str = "V256iUsUsvC*z", .features = "amx_tile" },958 .{ .param_str = "V256iUsUsvC*z", .features = "amx_tile" },
1042 .{ .param_str = "V16iIUcUi", .features = "amx_avx512,avx10_2" },959 .{ .param_str = "V16iIUcUi", .features = "amx_avx512,avx10_2" },
1043 .{ .param_str = "V16iUsUsV256iUi", .features = "amx_avx512,avx10_2" },960 .{ .param_str = "V16iUsUsV256iUi", .features = "amx_avx512,avx10_2" },
961 .{ .param_str = "V16iIUcIUi", .features = "amx_avx512,avx10_2" },
1044 .{ .param_str = "v", .features = "amx_tile" },962 .{ .param_str = "v", .features = "amx_tile" },
1045 .{ .param_str = "vIUcv*z", .features = "amx_tile" },963 .{ .param_str = "vIUcv*z", .features = "amx_tile" },
1046 .{ .param_str = "vUsUsv*zV256i", .features = "amx_tile" },964 .{ .param_str = "vUsUsv*zV256i", .features = "amx_tile" },
...@@ -1048,18 +966,6 @@ pub const data = blk: {...@@ -1048,18 +966,6 @@ pub const data = blk: {
1048 .{ .param_str = "V256iUsUs", .features = "amx_tile" },966 .{ .param_str = "V256iUsUs", .features = "amx_tile" },
1049 .{ .param_str = "vIUcIUcIUc", .features = "amx_tf32" },967 .{ .param_str = "vIUcIUcIUc", .features = "amx_tf32" },
1050 .{ .param_str = "V256iUsUsUsV256iV256iV256i", .features = "amx_tf32" },968 .{ .param_str = "V256iUsUsUsV256iV256iV256i", .features = "amx_tf32" },
1051 .{ .param_str = "vIUcIUcIUc", .features = "amx_complex,amx_transpose" },
1052 .{ .param_str = "V256iUsUsUsV256iV256iV256i", .features = "amx_complex,amx_transpose" },
1053 .{ .param_str = "vIUcIUcIUc", .features = "amx_complex,amx_transpose" },
1054 .{ .param_str = "V256iUsUsUsV256iV256iV256i", .features = "amx_complex,amx_transpose" },
1055 .{ .param_str = "vIUcIUcIUc", .features = "amx_bf16,amx_transpose" },
1056 .{ .param_str = "V256iUsUsUsV256iV256iV256i", .features = "amx_bf16,amx_transpose" },
1057 .{ .param_str = "vIUcIUcIUc", .features = "amx_fp16,amx_transpose" },
1058 .{ .param_str = "V256iUsUsUsV256iV256iV256i", .features = "amx_fp16,amx_transpose" },
1059 .{ .param_str = "vIUcIUcIUc", .features = "amx_tf32,amx_transpose" },
1060 .{ .param_str = "V256iUsUsUsV256iV256iV256i", .features = "amx_tf32,amx_transpose" },
1061 .{ .param_str = "vIUcIUc", .features = "amx_transpose" },
1062 .{ .param_str = "V256iUsUsV256i", .features = "amx_transpose" },
1063 .{ .param_str = "UOiUOi", .attributes = .{ .@"const" = true, .const_evaluable = true } },969 .{ .param_str = "UOiUOi", .attributes = .{ .@"const" = true, .const_evaluable = true } },
1064 .{ .param_str = "UOiUOi", .features = "usermsr" },970 .{ .param_str = "UOiUOi", .features = "usermsr" },
1065 .{ .param_str = "vUOiUOi", .features = "usermsr" },971 .{ .param_str = "vUOiUOi", .features = "usermsr" },
...@@ -1081,9 +987,9 @@ pub const data = blk: {...@@ -1081,9 +987,9 @@ pub const data = blk: {
1081 .{ .param_str = "UOiV4fIi", .features = "avx512f", .attributes = .{ .@"const" = true } },987 .{ .param_str = "UOiV4fIi", .features = "avx512f", .attributes = .{ .@"const" = true } },
1082 .{ .param_str = "UOiV4fIi", .features = "avx10_2", .attributes = .{ .@"const" = true } },988 .{ .param_str = "UOiV4fIi", .features = "avx10_2", .attributes = .{ .@"const" = true } },
1083 .{ .param_str = "V8xV8xUOiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },989 .{ .param_str = "V8xV8xUOiIi", .features = "avx512fp16", .attributes = .{ .@"const" = true } },
1084 .{ .param_str = "OiV4OiIi", .features = "avx", .attributes = .{ .@"const" = true } },990 .{ .param_str = "OiV4OiIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
1085 .{ .param_str = "V2OiV2OiOiIi", .features = "sse4_1", .attributes = .{ .@"const" = true } },991 .{ .param_str = "V2OiV2OiOiIi", .features = "sse4_1", .attributes = .{ .@"const" = true, .const_evaluable = true } },
1086 .{ .param_str = "V4OiV4OiOiIi", .features = "avx", .attributes = .{ .@"const" = true } },992 .{ .param_str = "V4OiV4OiOiIi", .features = "avx", .attributes = .{ .@"const" = true, .const_evaluable = true } },
1087 .{ .param_str = "V16cV16cC*", .features = "movrs,avx10_2" },993 .{ .param_str = "V16cV16cC*", .features = "movrs,avx10_2" },
1088 .{ .param_str = "V32cV32cC*", .features = "movrs,avx10_2" },994 .{ .param_str = "V32cV32cC*", .features = "movrs,avx10_2" },
1089 .{ .param_str = "V64cV64cC*", .features = "movrs,avx10_2" },995 .{ .param_str = "V64cV64cC*", .features = "movrs,avx10_2" },
lib/compiler/aro/aro/CodeGen.zig+31-17
...@@ -9,6 +9,7 @@ const Builder = Ir.Builder;...@@ -9,6 +9,7 @@ const Builder = Ir.Builder;
99
10const Builtins = @import("Builtins.zig");10const Builtins = @import("Builtins.zig");
11const Compilation = @import("Compilation.zig");11const Compilation = @import("Compilation.zig");
12const Preprocessor = @import("Preprocessor.zig");
12const StringId = @import("StringInterner.zig").StringId;13const StringId = @import("StringInterner.zig").StringId;
13const Tree = @import("Tree.zig");14const Tree = @import("Tree.zig");
14const Node = Tree.Node;15const Node = Tree.Node;
...@@ -37,6 +38,7 @@ const CodeGen = @This();...@@ -37,6 +38,7 @@ const CodeGen = @This();
3738
38tree: *const Tree,39tree: *const Tree,
39comp: *Compilation,40comp: *Compilation,
41pp: *const Preprocessor,
40builder: Builder,42builder: Builder,
41wip_switch: *WipSwitch = undefined,43wip_switch: *WipSwitch = undefined,
42symbols: std.ArrayList(Symbol) = .empty,44symbols: std.ArrayList(Symbol) = .empty,
...@@ -54,7 +56,7 @@ return_label: Ir.Ref = undefined,...@@ -54,7 +56,7 @@ return_label: Ir.Ref = undefined,
54compound_assign_dummy: ?Ir.Ref = null,56compound_assign_dummy: ?Ir.Ref = null,
5557
56fn fail(c: *CodeGen, comptime fmt: []const u8, args: anytype) error{ FatalError, OutOfMemory } {58fn fail(c: *CodeGen, comptime fmt: []const u8, args: anytype) error{ FatalError, OutOfMemory } {
57 var bfa_buf: [u8]1024 = undefined;59 var bfa_buf: [1024]u8 = undefined;
58 var bfa: std.heap.BufferFirstAllocator = .init(&bfa_buf, c.comp.gpa);60 var bfa: std.heap.BufferFirstAllocator = .init(&bfa_buf, c.comp.gpa);
59 const allocator = bfa.allocator();61 const allocator = bfa.allocator();
60 var buf: std.ArrayList(u8) = .empty;62 var buf: std.ArrayList(u8) = .empty;
...@@ -65,7 +67,7 @@ fn fail(c: *CodeGen, comptime fmt: []const u8, args: anytype) error{ FatalError,...@@ -65,7 +67,7 @@ fn fail(c: *CodeGen, comptime fmt: []const u8, args: anytype) error{ FatalError,
65 return error.FatalError;67 return error.FatalError;
66}68}
6769
68pub fn genIr(tree: *const Tree) Compilation.Error!Ir {70pub fn genIr(tree: *const Tree, pp: *const Preprocessor) Compilation.Error!Ir {
69 const gpa = tree.comp.gpa;71 const gpa = tree.comp.gpa;
70 var c: CodeGen = .{72 var c: CodeGen = .{
71 .builder = .{73 .builder = .{
...@@ -75,6 +77,7 @@ pub fn genIr(tree: *const Tree) Compilation.Error!Ir {...@@ -75,6 +77,7 @@ pub fn genIr(tree: *const Tree) Compilation.Error!Ir {
75 },77 },
76 .tree = tree,78 .tree = tree,
77 .comp = tree.comp,79 .comp = tree.comp,
80 .pp = pp,
78 };81 };
79 defer c.symbols.deinit(gpa);82 defer c.symbols.deinit(gpa);
80 defer c.ret_nodes.deinit(gpa);83 defer c.ret_nodes.deinit(gpa);
...@@ -101,13 +104,16 @@ pub fn genIr(tree: *const Tree) Compilation.Error!Ir {...@@ -101,13 +104,16 @@ pub fn genIr(tree: *const Tree) Compilation.Error!Ir {
101104
102 .function => |function| {105 .function => |function| {
103 if (function.body == null) continue;106 if (function.body == null) continue;
107 if (function.@"inline") continue;
104 c.genFn(function) catch |err| switch (err) {108 c.genFn(function) catch |err| switch (err) {
105 error.FatalError, error.OutOfMemory => |e| return e,109 error.FatalError => return error.FatalError,
110 error.OutOfMemory => return error.OutOfMemory,
106 };111 };
107 },112 },
108113
109 .variable => |variable| c.genVar(variable) catch |err| switch (err) {114 .variable => |variable| c.genVar(variable) catch |err| switch (err) {
110 error.FatalError, error.OutOfMemory => |e| return e,115 error.FatalError => return error.FatalError,
116 error.OutOfMemory => return error.OutOfMemory,
111 },117 },
112 .global_asm => {118 .global_asm => {
113 return c.fail("TODO global assembly", .{});119 return c.fail("TODO global assembly", .{});
...@@ -149,12 +155,14 @@ fn genType(c: *CodeGen, qt: QualType) !Interner.Ref {...@@ -149,12 +155,14 @@ fn genType(c: *CodeGen, qt: QualType) !Interner.Ref {
149 },155 },
150 .pointer => return .ptr,156 .pointer => return .ptr,
151 .func => return .func,157 .func => return .func,
158 .block => return c.fail("TODO lower blocks", .{}),
152 .complex => return c.fail("TODO lower complex types", .{}),159 .complex => return c.fail("TODO lower complex types", .{}),
153 .atomic => return c.fail("TODO lower atomic types", .{}),160 .atomic => return c.fail("TODO lower atomic types", .{}),
154 .@"enum" => |@"enum"| return c.genType(@"enum".tag.?),161 .@"enum" => |@"enum"| return c.genType(@"enum".tag.?),
155 .int => |int| .{ .int_ty = int.bits(c.comp) },162 .int => |int| .{ .int_ty = int.bits(c.comp) },
156 .bit_int => |bit_int| .{ .int_ty = bit_int.bits },163 .bit_int => |bit_int| .{ .int_ty = bit_int.bits },
157 .float => |float| .{ .float_ty = float.bits(c.comp) },164 .float => |float| .{ .float_ty = float.bits(c.comp) },
165 .storage_float => |storage_float| .{ .int_ty = storage_float.bits() },
158 .array => |array| blk: {166 .array => |array| blk: {
159 switch (array.len) {167 switch (array.len) {
160 .fixed, .static => |len| {168 .fixed, .static => |len| {
...@@ -172,7 +180,7 @@ fn genType(c: *CodeGen, qt: QualType) !Interner.Ref {...@@ -172,7 +180,7 @@ fn genType(c: *CodeGen, qt: QualType) !Interner.Ref {
172 .nullptr_t => {180 .nullptr_t => {
173 return c.fail("TODO lower nullptr_t", .{});181 return c.fail("TODO lower nullptr_t", .{});
174 },182 },
175 .attributed, .typeof, .typedef => unreachable,183 .typeof, .typedef => unreachable,
176 };184 };
177 return c.builder.interner.put(c.builder.gpa, key);185 return c.builder.interner.put(c.builder.gpa, key);
178}186}
...@@ -428,14 +436,7 @@ fn genExpr(c: *CodeGen, node_index: Node.Index) Error!Ir.Ref {...@@ -428,14 +436,7 @@ fn genExpr(c: *CodeGen, node_index: Node.Index) Error!Ir.Ref {
428 const old_continue_label = c.continue_label;436 const old_continue_label = c.continue_label;
429 defer c.continue_label = old_continue_label;437 defer c.continue_label = old_continue_label;
430438
431 switch (@"for".init) {439 if (@"for".init) |init| try c.genStmt(init);
432 .decls => |decls| {
433 for (decls) |decl| try c.genStmt(decl);
434 },
435 .expr => |maybe_init| {
436 if (maybe_init) |init| _ = try c.genExpr(init);
437 },
438 }
439440
440 const cond = @"for".cond orelse {441 const cond = @"for".cond orelse {
441 const then_label = try c.builder.makeLabel("for.then");442 const then_label = try c.builder.makeLabel("for.then");
...@@ -499,7 +500,12 @@ fn genExpr(c: *CodeGen, node_index: Node.Index) Error!Ir.Ref {...@@ -499,7 +500,12 @@ fn genExpr(c: *CodeGen, node_index: Node.Index) Error!Ir.Ref {
499 .computed_goto_stmt,500 .computed_goto_stmt,
500 .nullptr_literal,501 .nullptr_literal,
501 .asm_stmt,502 .asm_stmt,
502 => return c.fail("TODO CodeGen.genStmt {s}\n", .{@tagName(node)}),503 => return c.fail("TODO CodeGen.genStmt {t}\n", .{node}),
504 .decl_stmt => |decl_stmt| {
505 for (decl_stmt.decls) |decl| {
506 try c.genStmt(decl);
507 }
508 },
503 .comma_expr => |bin| {509 .comma_expr => |bin| {
504 _ = try c.genExpr(bin.lhs);510 _ = try c.genExpr(bin.lhs);
505 return c.genExpr(bin.rhs);511 return c.genExpr(bin.rhs);
...@@ -868,7 +874,15 @@ fn genExpr(c: *CodeGen, node_index: Node.Index) Error!Ir.Ref {...@@ -868,7 +874,15 @@ fn genExpr(c: *CodeGen, node_index: Node.Index) Error!Ir.Ref {
868 .sizeof_expr,874 .sizeof_expr,
869 .builtin_va_arg_pack,875 .builtin_va_arg_pack,
870 .builtin_va_arg_pack_len,876 .builtin_va_arg_pack_len,
871 => return c.fail("TODO CodeGen.genExpr {s}\n", .{@tagName(node)}),877 => return c.fail("TODO CodeGen.genExpr {t}\n", .{node}),
878 .codegen_diagnostic => |diagnostic| {
879 try c.comp.diagnostics.addWithLocation(c.comp, .{
880 .kind = diagnostic.kind,
881 .text = @ptrCast(diagnostic.text),
882 .opt = diagnostic.opt,
883 .location = node_index.loc(c.tree).expand(c.comp),
884 }, c.pp.expansionSlice(diagnostic.tok), true);
885 },
872 else => unreachable, // Not an expression.886 else => unreachable, // Not an expression.
873 }887 }
874 return .none;888 return .none;
...@@ -924,7 +938,7 @@ fn genLval(c: *CodeGen, node_index: Node.Index) Error!Ir.Ref {...@@ -924,7 +938,7 @@ fn genLval(c: *CodeGen, node_index: Node.Index) Error!Ir.Ref {
924 .member_access_expr,938 .member_access_expr,
925 .member_access_ptr_expr,939 .member_access_ptr_expr,
926 .array_access_expr,940 .array_access_expr,
927 => return c.fail("TODO CodeGen.genLval {s}\n", .{@tagName(node)}),941 => return c.fail("TODO CodeGen.genLval {t}\n", .{node}),
928 else => unreachable, // Not an lval expression.942 else => unreachable, // Not an lval expression.
929 }943 }
930}944}
...@@ -1181,7 +1195,7 @@ fn genInitializer(c: *CodeGen, ptr: Ir.Ref, dest_ty: QualType, initializer: Node...@@ -1181,7 +1195,7 @@ fn genInitializer(c: *CodeGen, ptr: Ir.Ref, dest_ty: QualType, initializer: Node
1181 .union_init_expr,1195 .union_init_expr,
1182 .array_filler_expr,1196 .array_filler_expr,
1183 .default_init_expr,1197 .default_init_expr,
1184 => return c.fail("TODO CodeGen.genInitializer {s}\n", .{@tagName(node)}),1198 => return c.fail("TODO CodeGen.genInitializer {t}\n", .{node}),
1185 .string_literal_expr => {1199 .string_literal_expr => {
1186 const val = c.tree.value_map.get(initializer).?;1200 const val = c.tree.value_map.get(initializer).?;
1187 const str_ptr = try c.builder.addConstant(val.ref(), .ptr);1201 const str_ptr = try c.builder.addConstant(val.ref(), .ptr);
lib/compiler/aro/aro/Compilation.zig+597-109
...@@ -25,7 +25,7 @@ const Type = TypeStore.Type;...@@ -25,7 +25,7 @@ const Type = TypeStore.Type;
25const QualType = TypeStore.QualType;25const QualType = TypeStore.QualType;
2626
27pub const Error = error{27pub const Error = error{
28 /// A fatal error has ocurred and compilation has stopped.28 /// A fatal error has occurred and compilation has stopped.
29 FatalError,29 FatalError,
30} || Allocator.Error;30} || Allocator.Error;
31pub const AddSourceError = Error || error{FileTooBig};31pub const AddSourceError = Error || error{FileTooBig};
...@@ -140,7 +140,7 @@ io: Io,...@@ -140,7 +140,7 @@ io: Io,
140cwd: std.Io.Dir,140cwd: std.Io.Dir,
141diagnostics: *Diagnostics,141diagnostics: *Diagnostics,
142142
143sources: std.array_hash_map.String(Source) = .empty,143sources: std.StringArrayHashMapUnmanaged(Source) = .empty,
144source_aliases: std.ArrayList(Source) = .empty,144source_aliases: std.ArrayList(Source) = .empty,
145/// Allocated into `gpa`, but keys are externally managed.145/// Allocated into `gpa`, but keys are externally managed.
146search_path: std.ArrayList(Include) = .empty,146search_path: std.ArrayList(Include) = .empty,
...@@ -159,7 +159,7 @@ builtins: Builtins = .{},...@@ -159,7 +159,7 @@ builtins: Builtins = .{},
159string_interner: StringInterner = .{},159string_interner: StringInterner = .{},
160interner: Interner = .{},160interner: Interner = .{},
161type_store: TypeStore = .{},161type_store: TypeStore = .{},
162pragma_handlers: std.array_hash_map.String(*Pragma) = .empty,162pragma_handlers: std.StringArrayHashMapUnmanaged(*Pragma) = .empty,
163/// If this is not null, the directory containing the specified Source will be searched for includes163/// If this is not null, the directory containing the specified Source will be searched for includes
164/// Used by MS extensions which allow searching for includes relative to the directory of the main source file.164/// Used by MS extensions which allow searching for includes relative to the directory of the main source file.
165ms_cwd_source_id: ?Source.Id = null,165ms_cwd_source_id: ?Source.Id = null,
...@@ -185,6 +185,16 @@ pub const InitOptions = struct {...@@ -185,6 +185,16 @@ pub const InitOptions = struct {
185 .environ_map = null,185 .environ_map = null,
186 .add_default_pragma_handlers = false,186 .add_default_pragma_handlers = false,
187 };187 };
188
189 var fuzzing_diagnostics: Diagnostics = .{ .output = .ignore };
190 pub const fuzzing: InitOptions = .{
191 .gpa = std.testing.allocator,
192 .arena = undefined,
193 .io = std.Io.failing,
194 .diagnostics = &fuzzing_diagnostics,
195 .environ_map = null,
196 .add_default_pragma_handlers = false,
197 };
188};198};
189199
190/// Initialize Compilation with default environment,200/// Initialize Compilation with default environment,
...@@ -215,6 +225,9 @@ pub fn deinit(comp: *Compilation) void {...@@ -215,6 +225,9 @@ pub fn deinit(comp: *Compilation) void {
215 pragma.deinit(pragma, comp);225 pragma.deinit(pragma, comp);
216 }226 }
217 for (comp.sources.values()) |source| {227 for (comp.sources.values()) |source| {
228 if (source.umbrella_framework_path) |path| {
229 assert(path.ptr == source.path.ptr);
230 }
218 gpa.free(source.path);231 gpa.free(source.path);
219 gpa.free(source.buf);232 gpa.free(source.buf);
220 gpa.free(source.splice_locs);233 gpa.free(source.splice_locs);
...@@ -262,6 +275,11 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {...@@ -262,6 +275,11 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {
262 , .{ name, name });275 , .{ name, name });
263 }276 }
264 }.defineStd;277 }.defineStd;
278 const defineBool = struct {
279 fn defineBool(_w: *Io.Writer, name: []const u8, value: bool) !void {
280 try _w.print("#define {s} {d}\n", .{ name, @intFromBool(value) });
281 }
282 }.defineBool;
265 const target = &comp.target;283 const target = &comp.target;
266 const ptr_width = target.ptrBitWidth();284 const ptr_width = target.ptrBitWidth();
267 const is_gnu = comp.langopts.standard.isGNU();285 const is_gnu = comp.langopts.standard.isGNU();
...@@ -301,6 +319,89 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {...@@ -301,6 +319,89 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {
301 if (comp.code_gen_options.optimization_level.isSizeOptimized()) {319 if (comp.code_gen_options.optimization_level.isSizeOptimized()) {
302 try define(w, "__OPTIMIZE_SIZE__");320 try define(w, "__OPTIMIZE_SIZE__");
303 }321 }
322 if (comp.langopts.pthread) switch (target.os.tag) {
323 .maccatalyst,
324 .macos,
325 .tvos,
326 .ios,
327 .driverkit,
328 .visionos,
329 .watchos,
330 .hurd,
331 .linux,
332 .netbsd,
333 .openbsd,
334 .fuchsia,
335 => try define(w, "_REENTRANT"),
336 .windows => if (target.abi == .msvc) {
337 // This matches clang where it is marked as a FIXME
338 try define(w, "_MT");
339 },
340 .emscripten => try define(w, "__EMSCRIPTEN_PTHREADS__"),
341 else => {},
342 };
343
344 // Target OS macros, transcribed from LLVM TargetOSMacros.def
345 if (comp.langopts.hasTargetOsMacros()) {
346 // Windows
347 try defineBool(w, "TARGET_OS_WIN32", target.os.tag == .windows);
348 try defineBool(w, "TARGET_OS_WINDOWS", target.os.tag == .windows);
349
350 // Linux
351 try defineBool(w, "TARGET_OS_LINUX", target.os.tag == .linux);
352
353 // Unix
354 try defineBool(
355 w,
356 "TARGET_OS_UNIX",
357 switch (target.os.tag) {
358 .freebsd, .openbsd, .netbsd, .illumos => true,
359 else => false,
360 },
361 );
362
363 // Apple Targets
364 try defineBool(w, "TARGET_OS_MAC", target.os.tag.isDarwin());
365 // NOTE: LLVM checks the triple for "Triple::Darwin" as well, but this
366 // is different from "isOSDarwin()" and would be like if Zig had a
367 // ".darwin" OS tag, but it doesn't.
368 try defineBool(w, "TARGET_OS_OSX", target.os.tag == .macos);
369 try defineBool(
370 w,
371 "TARGET_OS_IPHONE",
372 switch (target.os.tag) {
373 .ios, .tvos, .watchos => true,
374 else => false,
375 },
376 );
377 try defineBool(w, "TARGET_OS_IOS", target.os.tag == .ios);
378 try defineBool(w, "TARGET_OS_TV", target.os.tag == .tvos);
379 try defineBool(w, "TARGET_OS_WATCH", target.os.tag == .watchos);
380 try defineBool(w, "TARGET_OS_VISION", target.os.tag == .visionos);
381 try defineBool(w, "TARGET_OS_DRIVERKIT", target.os.tag == .driverkit);
382 // Note that LLVM has this as an actual target environment (ABI). Zig
383 // doesn't, so just doing a best effort here and assuming that all
384 // catalyst apps will be tagged as such in the OS.
385 try defineBool(w, "TARGET_OS_MACCATALYST", target.os.tag == .maccatalyst);
386 // Note that there are no other guards for this macro in LLVM either -
387 // running under the assumption that the only things that uses the
388 // ".simulator" ABI are the appropriate Apple device simulators.
389 try defineBool(w, "TARGET_OS_SIMULATOR", target.abi == .simulator);
390 try defineBool(
391 w,
392 "TARGET_OS_EMBEDDED",
393 switch (target.os.tag) {
394 .ios, .tvos, .visionos, .watchos => true,
395 else => false,
396 } and target.abi != .simulator,
397 );
398 try defineBool(w, "TARGET_OS_NANO", target.os.tag == .watchos);
399 try defineBool(w, "TARGET_IPHONE_SIMULATOR", target.abi == .simulator);
400 try defineBool(w, "TARGET_OS_UIKITFORMAC", target.os.tag == .maccatalyst);
401
402 // UEFI
403 try defineBool(w, "TARGET_OS_UEFI", target.os.tag == .uefi);
404 }
304405
305 // os macros406 // os macros
306 switch (target.os.tag) {407 switch (target.os.tag) {
...@@ -317,6 +418,8 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {...@@ -317,6 +418,8 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {
317 if (ptr_width == 64) {418 if (ptr_width == 64) {
318 try defineStd(w, "WIN64", is_gnu);419 try defineStd(w, "WIN64", is_gnu);
319 try define(w, "__MINGW64__");420 try define(w, "__MINGW64__");
421 } else {
422 try define(w, "_X86_");
320 }423 }
321 try define(w, "__MSVCRT__");424 try define(w, "__MSVCRT__");
322 try define(w, "__MINGW32__");425 try define(w, "__MINGW32__");
...@@ -380,25 +483,40 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {...@@ -380,25 +483,40 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {
380 const version = target.os.version_range.semver.min;483 const version = target.os.version_range.semver.min;
381 var version_buf: [8]u8 = undefined;484 var version_buf: [8]u8 = undefined;
382 const version_str = if (target.os.tag == .macos and version.order(.{ .major = 10, .minor = 10, .patch = 0 }) == .lt)485 const version_str = if (target.os.tag == .macos and version.order(.{ .major = 10, .minor = 10, .patch = 0 }) == .lt)
383 std.fmt.bufPrint(&version_buf, "{d}{d}{d}", .{ version.major, @min(version.minor, 9), @min(version.patch, 9) }) catch unreachable486 mem.print(&version_buf, "{d}{d}{d}", .{ version.major, @min(version.minor, 9), @min(version.patch, 9) }) catch unreachable
384 else487 else
385 std.fmt.bufPrint(&version_buf, "{d:0>2}{d:0>2}{d:0>2}", .{ version.major, @min(version.minor, 99), @min(version.patch, 99) }) catch unreachable;488 mem.print(&version_buf, "{d:0>2}{d:0>2}{d:0>2}", .{ version.major, @min(version.minor, 99), @min(version.patch, 99) }) catch unreachable;
386489
387 try w.print("#define {s} {s}\n", .{ switch (target.os.tag) {490 platform_os_version_define: {
388 .tvos => "__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__",491 try w.print("#define {s} {s}\n", .{
389 .ios, .maccatalyst => "__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__",492 switch (target.os.tag) {
390 .watchos => "__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__",493 .tvos => "__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__",
391 .driverkit => "__ENVIRONMENT_DRIVERKIT_VERSION_MIN_REQUIRED__",494 .ios, .maccatalyst => "__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__",
392 .macos => "__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__",495 .watchos => "__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__",
393 else => unreachable,496 .driverkit => "__ENVIRONMENT_DRIVERKIT_VERSION_MIN_REQUIRED__",
394 }, version_str });497 .macos => "__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__",
498 .visionos => {
499 // No platform-specific OS version define for visionOS
500 break :platform_os_version_define;
501 },
502 else => unreachable,
503 },
504 version_str,
505 });
506 }
395507
396 try w.print("#define __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ {s}\n", .{version_str});508 try w.print("#define __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ {s}\n", .{version_str});
397 },509 },
398 .wasi => try define(w, "__wasi__"),510 .wasi => try define(w, "__wasi__"),
399 .emscripten => try define(w, "__EMSCRIPTEN__"),511 .emscripten => try define(w, "__EMSCRIPTEN__"),
512 .serenity => try define(w, "__serenity__"),
513 .@"switch" => try define(w, "__SWITCH__"),
400 .@"3ds" => try define(w, "__3DS__"),514 .@"3ds" => try define(w, "__3DS__"),
515 .gba => try define(w, "__GBA__"),
516 .psp => try define(w, "__PSP__"),
517 .psx => try define(w, "__psx__"),
401 .vita => try define(w, "__vita__"),518 .vita => try define(w, "__vita__"),
519 .wiiu => try define(w, "__WIIU__"),
402 else => {},520 else => {},
403 }521 }
404522
...@@ -416,9 +534,6 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {...@@ -416,9 +534,6 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {
416 .ps4,534 .ps4,
417 .ps5,535 .ps5,
418 => try defineStd(w, "unix", is_gnu),536 => try defineStd(w, "unix", is_gnu),
419 .windows => if (target.abi.isGnu()) {
420 try defineStd(w, "unix", is_gnu);
421 },
422 else => {},537 else => {},
423 }538 }
424 if (target.abi.isAndroid()) {539 if (target.abi.isAndroid()) {
...@@ -637,6 +752,106 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {...@@ -637,6 +752,106 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {
637 => {752 => {
638 try define(w, "__mips__");753 try define(w, "__mips__");
639 try define(w, "_mips");754 try define(w, "_mips");
755 if (is_gnu) try define(w, "mips");
756 switch (target.cpu.arch) {
757 .mips, .mips64 => {
758 try define(w, "_MIPSEB");
759 try defineStd(w, "MIPSEB", is_gnu);
760 },
761 .mipsel,
762 .mips64el,
763 => {
764 try define(w, "_MIPSEL");
765 try defineStd(w, "MIPSEL", is_gnu);
766 },
767 else => unreachable,
768 }
769
770 switch (target.mipsAbi()) {
771 .o32 => {
772 try define(w, "__mips_o32");
773 try define(w, "_ABIO32");
774 try w.writeAll("#define _MIPS_SIM _ABIO32\n");
775 try w.writeAll("#define __mips 32\n");
776 try w.writeAll("#define _MIPS_ISA _MIPS_ISA_MIPS32\n");
777 },
778 .n32 => {
779 try define(w, "__mips_n32");
780 try w.writeAll("#define _ABIN32 2\n");
781 try w.writeAll("#define _MIPS_SIM _ABIN32\n");
782 try w.writeAll("#define __mips 64\n");
783 try define(w, "__mips64");
784 try define(w, "__mips64__");
785 try w.writeAll("#define _MIPS_ISA _MIPS_ISA_MIPS64\n");
786 },
787 .n64 => {
788 try define(w, "__mips_n64");
789 try w.writeAll("#define _ABI64 3\n");
790 try w.writeAll("#define _MIPS_SIM _ABI64\n");
791 try w.writeAll("#define __mips 64\n");
792 try define(w, "__mips64");
793 try define(w, "__mips64__");
794 try w.writeAll("#define _MIPS_ISA _MIPS_ISA_MIPS64\n");
795 },
796 }
797 if (target.cpu.model.llvm_name) |name| {
798 try w.print("#define _MIPS_ARCH \"{s}\"\n", .{name});
799 var buf: [16]u8 = undefined;
800 const upper = std.ascii.upperString(&buf, name);
801 try w.print("#define _MIPS_ARCH_{s} 1\n", .{upper});
802 }
803
804 if (!target.cpu.has(.mips, .noabicalls)) {
805 try define(w, "__mips_abicalls");
806 if (target.os.tag.isBSD()) {
807 try define(w, "__ABICALLS__");
808 }
809 }
810
811 if (target.cpu.has(.mips, .soft_float)) {
812 try define(w, "__mips_soft_float");
813 } else {
814 try define(w, "__mips_hard_float");
815 }
816 if (target.cpu.has(.mips, .single_float)) {
817 try define(w, "__mips_single_float");
818 }
819 {
820 const fpr: u8 = switch (target.defaultMipsFpMode()) {
821 .fp32 => 32,
822 .fp64 => 64,
823 .fpxx => 0,
824 };
825 try w.print("#define __mips_fpr {d}\n", .{fpr});
826 const fpset: u8 = if (target.defaultMipsFpMode() == .fp64 or
827 target.cpu.has(.mips, .single_float)) 32 else 16;
828 try w.print("#define _MIPS_FPSET {d}\n", .{fpset});
829 const spfpset: u8 = if (target.cpu.has(.mips, .nooddspreg) or
830 target.defaultMipsFpMode() == .fpxx) 16 else 32;
831 try w.print("#define _MIPS_SPFPSET {d}\n", .{spfpset});
832 }
833 if (target.cpu.has(.mips, .mips16)) try define(w, "__mips16");
834 if (target.cpu.has(.mips, .micromips)) try define(w, "__mips_micromips");
835 if (target.cpu.has(.mips, .nan2008)) try define(w, "__mips_nan2008");
836 if (target.cpu.has(.mips, .abs2008)) try define(w, "__mips_abs2008");
837 if (target.cpu.has(.mips, .dspr3)) {
838 try w.print("#define __mips_dsp_rev 3\n", .{});
839 try w.print("#define __mips_dsp 3\n", .{});
840 try define(w, "__mips_dspr3");
841 } else if (target.cpu.has(.mips, .dspr2)) {
842 try w.print("#define __mips_dsp_rev 2\n", .{});
843 try w.print("#define __mips_dsp 2\n", .{});
844 try define(w, "__mips_dspr2");
845 } else if (target.cpu.has(.mips, .dsp)) {
846 try w.print("#define __mips_dsp_rev 1\n", .{});
847 try w.print("#define __mips_dsp 1\n", .{});
848 }
849 if (target.cpu.has(.mips, .msa)) try define(w, "__mips_msa");
850 if (target.cpu.has(.mips, .nomadd4)) try define(w, "__mips_no_madd4");
851 try w.print("#define _MIPS_SZPTR {d}\n", .{target.ptrBitWidth()});
852 try w.print("#define _MIPS_SZINT {d}\n", .{target.cTypeBitSize(.int)});
853 try w.print("#define _MIPS_SZLONG {d}\n", .{target.cTypeBitSize(.long)});
854 try w.print("#define __mips_isa_rev {d}\n", .{target.mipsIsaRev()});
640 },855 },
641 .powerpc,856 .powerpc,
642 .powerpcle,857 .powerpcle,
...@@ -679,15 +894,185 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {...@@ -679,15 +894,185 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {
679 try define(w, "__sparcv8");894 try define(w, "__sparcv8");
680 }895 }
681 },896 },
682 .arm, .armeb, .thumb, .thumbeb => {897 .arm, .armeb, .thumb, .thumbeb => |arch| {
683 try define(w, "__arm__");898 try define(w, "__arm__");
684 try define(w, "__arm");899 try define(w, "__arm");
685 if (target.cpu.arch.isThumb()) {900 try define(w, "__ARM_32BIT_STATE");
901 try define(w, "__APCS_32__");
902 try define(w, "__VFP_FP__");
903 try define(w, "__ARM_FP16_ARGS");
904 try define(w, "__ARM_FP16_FORMAT_IEEE");
905
906 try w.writeAll("#define __ARM_ACLE 200\n");
907
908 // see https://clang.llvm.org/doxygen/Basic_2Targets_2ARM_8cpp_source.html
909 // https://developer.arm.com/documentation/dui0774/g/chr1383660321827
910
911 // __ARM_ARCH_ISA_THUMB is defined to 2 if the core supports the Thumb-2 ISA.
912 if (target.armVersion()) |v| {
913 const supports_thumb2 = mem.eql(u8, v.string, "6T2") or
914 (v.version >= 7 and !mem.eql(u8, v.string, "8M_BASE"));
915 if (supports_thumb2) {
916 try w.writeAll("#define __ARM_ARCH_ISA_THUMB 2\n");
917 } else if (mem.findScalar(u8, v.string, 'T') != null or v.version >= 6) {
918 try w.writeAll("#define __ARM_ARCH_ISA_THUMB 1\n");
919 }
920 }
921
922 if (target.cpu.has(.arm, .thumb2) or target.cpu.has(.arm, .thumb_mode)) {
686 try define(w, "__thumb__");923 try define(w, "__thumb__");
687 }924 }
925 // ARM ISA means we are not M profile
926 if (!target.cpu.has(.arm, .mclass)) {
927 try define(w, "__ARM_ARCH_ISA_ARM");
928 }
929
930 var arm_version: u8 = 6;
931 if (target.armVersion()) |v| {
932 arm_version = v.version;
933 try w.print("#define __ARM_ARCH_{s}__ 1\n", .{v.string});
934 try w.print("#define __ARM_ARCH {d}\n", .{v.version});
935 }
936
937 const arm_profile: ?u8 =
938 if (target.cpu.has(.arm, .aclass))
939 'A'
940 else if (target.cpu.has(.arm, .rclass))
941 'R'
942 else if (target.cpu.has(.arm, .mclass))
943 'M'
944 else
945 null;
946 if (arm_profile) |p| {
947 try w.print("#define __ARM_ARCH_PROFILE '{c}'\n", .{p});
948 }
949
950 if (arm_version == 5 or (arm_version == 6 and !target.cpu.has(.arm, .mclass)) or arm_version > 6) {
951 try define(w, "__ARM_FEATURE_CLZ");
952 }
953
954 if (target.armHasDsp()) {
955 try define(w, "__ARM_FEATURE_DSP");
956 }
957
958 const is_thumb = arch == .thumb or arch == .thumbeb or target.cpu.has(.arm, .mclass);
959 if ((is_thumb and target.cpu.has(.arm, .hwdiv)) or
960 (!is_thumb and target.cpu.has(.arm, .hwdiv_arm)))
961 {
962 try define(w, "__ARM_FEATURE_IDIV");
963 try define(w, "__ARM_ARCH_EXT_IDIV__");
964 }
965 var sat = false;
966 if (arm_version == 6 and !target.cpu.has(.arm, .mclass) or arm_version > 6) {
967 try define(w, "__ARM_FEATURE_SAT");
968 sat = true;
969 }
970
971 if (target.armHasDsp() or sat) {
972 try define(w, "__ARM_FEATURE_QBIT");
973 }
974
975 if ((!target.cpu.has(.arm, .mclass) and arm_version >= 6) or
976 (target.cpu.has(.arm, .mclass) and target.cpu.has(.arm, .dsp)))
977 {
978 try define(w, "__ARM_FEATURE_SIMD32");
979 }
980
981 // Which co-processor intrinsics in arm_acle.h are available.
982 // See https://arm-software.github.io/acle/main/acle.html#coprocessor-intrinsics
983 const coproc = struct {
984 /// __arm_cdp __arm_ldc, __arm_ldcl, __arm_stc,
985 /// __arm_stcl, __arm_mcr and __arm_mrc
986 const b1: u4 = 1 << 0;
987 /// __arm_cdp2, __arm_ldc2, __arm_stc2, __arm_ldc2l,
988 /// __arm_stc2l, __arm_mcr2 and __arm_mrc2
989 const b2: u4 = 1 << 1;
990 /// __arm_mcrr, __arm_mrrc
991 const b3: u4 = 1 << 2;
992 /// __arm_mcrr2, __arm_mrrc2
993 const b4: u4 = 1 << 3;
994
995 const all: u4 = b1 | b2 | b3 | b4;
996 };
997
998 const coproc_bf: u4 = blk: {
999 const v = target.armVersion() orelse break :blk 0;
1000 if (mem.eql(u8, v.string, "6M") or mem.eql(u8, v.string, "6SM") or
1001 mem.eql(u8, v.string, "8M_BASE")) break :blk 0;
1002 if (mem.eql(u8, v.string, "8M_MAIN") or mem.eql(u8, v.string, "8_1M_MAIN")) break :blk coproc.all;
1003 break :blk switch (v.version) {
1004 4 => coproc.b1,
1005 5 => if (mem.eql(u8, v.string, "5T")) coproc.b1 | coproc.b2 else coproc.b1 | coproc.b2 | coproc.b3,
1006 6, 7 => coproc.all,
1007 8, 9 => coproc.b1 | coproc.b3,
1008 else => 0,
1009 };
1010 };
1011 try w.print("#define __ARM_FEATURE_COPROC 0x{x}\n", .{coproc_bf});
1012
1013 if (arm_version >= 5 and arm_version <= 8 and target.os.tag != .windows) {
1014 try define(w, "__THUMB_INTERWORK__");
1015 }
1016
1017 if (comp.langopts.arm_ldrex) |ldrex| {
1018 try w.print("#define __ARM_FEATURE_LDREX 0x{x}\n", .{@as(u4, @bitCast(ldrex))});
1019 }
1020
1021 if (!target.cpu.has(.arm, .strict_align)) {
1022 try define(w, "__ARM_FEATURE_UNALIGNED");
1023 }
1024
1025 if (arch == .arm or arch == .thumb) {
1026 try define(w, "__ARMEL__");
1027 }
1028
1029 if (arch == .armeb or arch == .thumbeb) {
1030 try define(w, "__ARMEB__");
1031 try define(w, "__ARM_BIG_ENDIAN");
1032 }
1033 if (comp.code_gen_options.is_ropi) {
1034 try define(w, "__ARM_ROPI");
1035 }
1036
1037 if (comp.code_gen_options.is_rwpi) {
1038 try define(w, "__ARM_RWPI");
1039 }
1040
1041 const min_enum_size: u8 = if (comp.langopts.short_enums) 1 else 4;
1042 try w.print("#define __ARM_SIZEOF_MINIMAL_ENUM {d}\n", .{min_enum_size});
1043 try w.print("#define __ARM_SIZEOF_WCHAR_T {d}\n", .{comp.type_store.wchar.sizeof(comp)});
688 },1044 },
689 .aarch64, .aarch64_be => |arch| {1045 .aarch64, .aarch64_be => |arch| {
690 try define(w, "__aarch64__");1046 try define(w, "__aarch64__");
1047 try define(w, "__ARM_64BIT_STATE");
1048 try define(w, "__ARM_ARCH_ISA_A64");
1049 try define(w, "__ARM_FEATURE_CLZ");
1050 try define(w, "__ARM_FEATURE_FMA");
1051 if (comp.langopts.arm_ldrex) |ldrex| {
1052 try w.print("#define __ARM_FEATURE_LDREX 0x{x}\n", .{@as(u4, @bitCast(ldrex))});
1053 }
1054 try define(w, "__ARM_FEATURE_IDIV"); // As specified in ACLE
1055 try define(w, "__ARM_FEATURE_DIV"); // For backwards compatibility
1056 try define(w, "__ARM_STATE_ZA");
1057 try define(w, "__ARM_STATE_ZT0");
1058 try w.writeAll("#define __ARM_ALIGN_MAX_STACK_PWR 4\n");
1059 try define(w, "__ARM_FEATURE_NUMERIC_MAXMIN");
1060 try define(w, "__ARM_FEATURE_DIRECTED_ROUNDING");
1061
1062 try w.writeAll("#define __ARM_ACLE_VERSION(year,quarter,patch) (100 * (year) + 10 * (quarter) + (patch))\n");
1063 const acle_version = (100 * 2024) + (10 * 2) + 0; // ACLE 2024.2
1064 try w.print("#define __ARM_ACLE {d}\n", .{acle_version});
1065
1066 const arm_version: u8 = if (target.cpu.has(.aarch64, .v9a)) 9 else 8;
1067 const arm_profile: u8 = if (target.cpu.has(.aarch64, .v8r)) 'R' else 'A';
1068 try w.print("#define __ARM_ARCH {d}\n", .{arm_version});
1069 try w.print("#define __ARM_ARCH_PROFILE '{c}'\n", .{arm_profile});
1070
1071 if (target.cpu.has(.aarch64, .v8_3a)) {
1072 try define(w, "__ARM_FEATURE_COMPLEX");
1073 try define(w, "__ARM_FEATURE_JCVT");
1074 }
1075
691 switch (arch) {1076 switch (arch) {
692 .aarch64 => {1077 .aarch64 => {
693 try define(w, "__AARCH64EL__");1078 try define(w, "__AARCH64EL__");
...@@ -812,6 +1197,9 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {...@@ -812,6 +1197,9 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {
812 try w.print("#define __ARM_FEATURE_{s} 1\n", .{fs[1]});1197 try w.print("#define __ARM_FEATURE_{s} 1\n", .{fs[1]});
813 }1198 }
814 }1199 }
1200 const min_enum_size: u8 = if (comp.langopts.short_enums) 1 else 4;
1201 try w.print("#define __ARM_SIZEOF_MINIMAL_ENUM {d}\n", .{min_enum_size});
1202 try w.print("#define __ARM_SIZEOF_WCHAR_T {d}\n", .{comp.type_store.wchar.sizeof(comp)});
815 },1203 },
816 .msp430 => {1204 .msp430 => {
817 try define(w, "MSP430");1205 try define(w, "MSP430");
...@@ -851,6 +1239,26 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {...@@ -851,6 +1239,26 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {
851 .riscv32, .riscv32be, .riscv64, .riscv64be => {1239 .riscv32, .riscv32be, .riscv64, .riscv64be => {
852 try define(w, "__riscv");1240 try define(w, "__riscv");
853 try w.print("#define __riscv_xlen {d}\n", .{ptr_width});1241 try w.print("#define __riscv_xlen {d}\n", .{ptr_width});
1242 const has_f = target.cpu.has(.riscv, .f);
1243 const has_d = target.cpu.has(.riscv, .d);
1244 const has_q = target.cpu.has(.riscv, .q);
1245 if (has_f) {
1246 try w.writeAll("#define __riscv_f 2002000\n");
1247 }
1248 if (has_d) {
1249 try w.writeAll("#define __riscv_d 2002000\n");
1250 }
1251 if (has_q) {
1252 try w.writeAll("#define __riscv_q 2002000\n");
1253 }
1254 if (has_q) {
1255 try w.writeAll("#define __riscv_flen 128\n");
1256 } else if (has_d) {
1257 try w.writeAll("#define __riscv_flen 64\n");
1258 } else if (has_f) {
1259 try w.writeAll("#define __riscv_flen 32\n");
1260 }
1261 try w.print("#define __riscv_float_abi_{t} 1\n", .{riscvFloatAbi(target)});
854 },1262 },
855 else => {},1263 else => {},
856 }1264 }
...@@ -952,6 +1360,13 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {...@@ -952,6 +1360,13 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {
952 try comp.generateIntMaxAndWidth(w, "INT", .int);1360 try comp.generateIntMaxAndWidth(w, "INT", .int);
953 try comp.generateIntMaxAndWidth(w, "LONG", .long);1361 try comp.generateIntMaxAndWidth(w, "LONG", .long);
954 try comp.generateIntMaxAndWidth(w, "LONG_LONG", .long_long);1362 try comp.generateIntMaxAndWidth(w, "LONG_LONG", .long_long);
1363 if (comp.langopts.has_int24) {
1364 const suffix = if (Type.Int.int.bits(comp) == 8) "LL" else "L";
1365 const unsigned_suffix = if (Type.Int.int.bits(comp) == 8) "ULL" else "UL";
1366 try w.print("#define __INT24_MAX__ 8388607{s}\n", .{suffix});
1367 try w.writeAll("#define __INT24_MIN__ (-__INT24_MAX__-1)\n");
1368 try w.print("#define __UINT24_MAX__ 16777215{s}\n", .{unsigned_suffix});
1369 }
955 try comp.generateIntMaxAndWidth(w, "WCHAR", comp.type_store.wchar);1370 try comp.generateIntMaxAndWidth(w, "WCHAR", comp.type_store.wchar);
956 try comp.generateIntMaxAndWidth(w, "WINT", comp.type_store.wint);1371 try comp.generateIntMaxAndWidth(w, "WINT", comp.type_store.wint);
957 try comp.generateIntMaxAndWidth(w, "INTMAX", comp.type_store.intmax);1372 try comp.generateIntMaxAndWidth(w, "INTMAX", comp.type_store.intmax);
...@@ -1038,6 +1453,26 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {...@@ -1038,6 +1453,26 @@ fn generateSystemDefines(comp: *Compilation, w: *Io.Writer) !void {
1038 }1453 }
1039 },1454 },
1040 }1455 }
1456
1457 // Blocks
1458 if (comp.langopts.blocks) {
1459 try define(w, "__BLOCKS__");
1460 }
1461}
1462
1463const RiscvFloatAbi = enum { soft, single, double };
1464
1465fn riscvFloatAbi(target: *const Target) RiscvFloatAbi {
1466 return switch (target.abi) {
1467 .gnusf, .muslsf => .soft,
1468 .gnuf32, .muslf32 => .single,
1469 else => if (target.cpu.has(.riscv, .d))
1470 .double
1471 else if (target.cpu.has(.riscv, .f))
1472 .single
1473 else
1474 .soft,
1475 };
1041}1476}
10421477
1043/// Generate builtin macros that will be available to each source file.1478/// Generate builtin macros that will be available to each source file.
...@@ -1053,7 +1488,7 @@ pub fn generateBuiltinMacros(comp: *Compilation, system_defines_mode: SystemDefi...@@ -1053,7 +1488,7 @@ pub fn generateBuiltinMacros(comp: *Compilation, system_defines_mode: SystemDefi
10531488
1054 if (allocating.written().len > std.math.maxInt(u32)) return error.FileTooBig;1489 if (allocating.written().len > std.math.maxInt(u32)) return error.FileTooBig;
10551490
1056 const contents = try allocating.toOwnedSlice();1491 const contents = try allocating.toOwnedSliceSentinel(0);
1057 errdefer comp.gpa.free(contents);1492 errdefer comp.gpa.free(contents);
1058 return comp.addSourceFromOwnedBuffer("<builtin>", contents, .user);1493 return comp.addSourceFromOwnedBuffer("<builtin>", contents, .user);
1059}1494}
...@@ -1194,8 +1629,22 @@ pub fn float80Type(comp: *const Compilation) ?QualType {...@@ -1194,8 +1629,22 @@ pub fn float80Type(comp: *const Compilation) ?QualType {
1194 };1629 };
1195}1630}
11961631
1197/// Smallest integer type with at least N bits1632/// target-independent lowest-rank integer type with at least N bits
1633pub fn smallestNBitIntTargetIndependent(comp: *const Compilation, bits: usize, signedness: std.builtin.Signedness) QualType {
1634 const candidates: [6]QualType = switch (signedness) {
1635 .signed => .{ .schar, .short, .int, .long, .long_long, .int128 },
1636 .unsigned => .{ .uchar, .ushort, .uint, .ulong, .ulong_long, .uint128 },
1637 };
1638 for (candidates) |qt| {
1639 if (qt.bitSizeof(comp) >= bits) return qt;
1640 } else unreachable;
1641}
1642
1643/// Lowest-rank integer type with at least N bits; subject to platform idiosyncrasies
1198pub fn intLeastN(comp: *const Compilation, bits: usize, signedness: std.builtin.Signedness) QualType {1644pub fn intLeastN(comp: *const Compilation, bits: usize, signedness: std.builtin.Signedness) QualType {
1645 if (bits <= 24 and bits > Type.Int.int.bits(comp) and comp.langopts.has_int24) {
1646 return if (signedness == .signed) .int24 else .uint24;
1647 }
1199 if (bits == 64 and (comp.target.os.tag.isDarwin() or comp.target.cpu.arch.isWasm())) {1648 if (bits == 64 and (comp.target.os.tag.isDarwin() or comp.target.cpu.arch.isWasm())) {
1200 // WebAssembly and Darwin use `long long` for `int_least64_t` and `int_fast64_t`.1649 // WebAssembly and Darwin use `long long` for `int_least64_t` and `int_fast64_t`.
1201 return if (signedness == .signed) .long_long else .ulong_long;1650 return if (signedness == .signed) .long_long else .ulong_long;
...@@ -1204,13 +1653,7 @@ pub fn intLeastN(comp: *const Compilation, bits: usize, signedness: std.builtin....@@ -1204,13 +1653,7 @@ pub fn intLeastN(comp: *const Compilation, bits: usize, signedness: std.builtin.
1204 // AVR uses int for int_least16_t and int_fast16_t.1653 // AVR uses int for int_least16_t and int_fast16_t.
1205 return if (signedness == .signed) .int else .uint;1654 return if (signedness == .signed) .int else .uint;
1206 }1655 }
1207 const candidates: [5]QualType = switch (signedness) {1656 return comp.smallestNBitIntTargetIndependent(bits, signedness);
1208 .signed => .{ .schar, .short, .int, .long, .long_long },
1209 .unsigned => .{ .uchar, .ushort, .uint, .ulong, .ulong_long },
1210 };
1211 for (candidates) |qt| {
1212 if (qt.bitSizeof(comp) >= bits) return qt;
1213 } else unreachable;
1214}1657}
12151658
1216fn generateFastOrLeastType(1659fn generateFastOrLeastType(
...@@ -1233,7 +1676,7 @@ fn generateFastOrLeastType(...@@ -1233,7 +1676,7 @@ fn generateFastOrLeastType(
1233 .least => "LEAST",1676 .least => "LEAST",
1234 };1677 };
12351678
1236 const full = std.fmt.bufPrint(&buf, "{s}{s}{d}{s}", .{1679 const full = mem.print(&buf, "{s}{s}{d}{s}", .{
1237 base_name, kind_str, bits, suffix,1680 base_name, kind_str, bits, suffix,
1238 }) catch unreachable;1681 }) catch unreachable;
12391682
...@@ -1260,20 +1703,25 @@ fn generateFastAndLeastWidthTypes(comp: *Compilation, w: *Io.Writer) !void {...@@ -1260,20 +1703,25 @@ fn generateFastAndLeastWidthTypes(comp: *Compilation, w: *Io.Writer) !void {
12601703
1261fn generateExactWidthTypes(comp: *Compilation, w: *Io.Writer) !void {1704fn generateExactWidthTypes(comp: *Compilation, w: *Io.Writer) !void {
1262 try comp.generateExactWidthType(w, .schar);1705 try comp.generateExactWidthType(w, .schar);
1706 const char_bits = Type.Int.char.bits(comp);
1707 const short_bits = Type.Int.short.bits(comp);
1708 const int_bits = Type.Int.int.bits(comp);
1709 const long_bits = Type.Int.long.bits(comp);
1710 const long_long_bits = Type.Int.long_long.bits(comp);
12631711
1264 if (QualType.short.sizeof(comp) > QualType.char.sizeof(comp)) {1712 if (short_bits > char_bits) {
1265 try comp.generateExactWidthType(w, .short);1713 try comp.generateExactWidthType(w, .short);
1266 }1714 }
12671715
1268 if (QualType.int.sizeof(comp) > QualType.short.sizeof(comp)) {1716 if (int_bits > short_bits) {
1269 try comp.generateExactWidthType(w, .int);1717 try comp.generateExactWidthType(w, .int);
1270 }1718 }
12711719
1272 if (QualType.long.sizeof(comp) > QualType.int.sizeof(comp)) {1720 if (long_bits > int_bits) {
1273 try comp.generateExactWidthType(w, .long);1721 try comp.generateExactWidthType(w, .long);
1274 }1722 }
12751723
1276 if (QualType.long_long.sizeof(comp) > QualType.long.sizeof(comp)) {1724 if (long_long_bits > long_bits) {
1277 try comp.generateExactWidthType(w, .long_long);1725 try comp.generateExactWidthType(w, .long_long);
1278 }1726 }
12791727
...@@ -1281,25 +1729,25 @@ fn generateExactWidthTypes(comp: *Compilation, w: *Io.Writer) !void {...@@ -1281,25 +1729,25 @@ fn generateExactWidthTypes(comp: *Compilation, w: *Io.Writer) !void {
1281 try comp.generateExactWidthIntMax(w, .uchar);1729 try comp.generateExactWidthIntMax(w, .uchar);
1282 try comp.generateExactWidthIntMax(w, .schar);1730 try comp.generateExactWidthIntMax(w, .schar);
12831731
1284 if (QualType.short.sizeof(comp) > QualType.char.sizeof(comp)) {1732 if (short_bits > char_bits) {
1285 try comp.generateExactWidthType(w, .ushort);1733 try comp.generateExactWidthType(w, .ushort);
1286 try comp.generateExactWidthIntMax(w, .ushort);1734 try comp.generateExactWidthIntMax(w, .ushort);
1287 try comp.generateExactWidthIntMax(w, .short);1735 try comp.generateExactWidthIntMax(w, .short);
1288 }1736 }
12891737
1290 if (QualType.int.sizeof(comp) > QualType.short.sizeof(comp)) {1738 if (int_bits > short_bits) {
1291 try comp.generateExactWidthType(w, .uint);1739 try comp.generateExactWidthType(w, .uint);
1292 try comp.generateExactWidthIntMax(w, .uint);1740 try comp.generateExactWidthIntMax(w, .uint);
1293 try comp.generateExactWidthIntMax(w, .int);1741 try comp.generateExactWidthIntMax(w, .int);
1294 }1742 }
12951743
1296 if (QualType.long.sizeof(comp) > QualType.int.sizeof(comp)) {1744 if (long_bits > int_bits) {
1297 try comp.generateExactWidthType(w, .ulong);1745 try comp.generateExactWidthType(w, .ulong);
1298 try comp.generateExactWidthIntMax(w, .ulong);1746 try comp.generateExactWidthIntMax(w, .ulong);
1299 try comp.generateExactWidthIntMax(w, .long);1747 try comp.generateExactWidthIntMax(w, .long);
1300 }1748 }
13011749
1302 if (QualType.long_long.sizeof(comp) > QualType.long.sizeof(comp)) {1750 if (long_long_bits > long_bits) {
1303 try comp.generateExactWidthType(w, .ulong_long);1751 try comp.generateExactWidthType(w, .ulong_long);
1304 try comp.generateExactWidthIntMax(w, .ulong_long);1752 try comp.generateExactWidthIntMax(w, .ulong_long);
1305 try comp.generateExactWidthIntMax(w, .long_long);1753 try comp.generateExactWidthIntMax(w, .long_long);
...@@ -1342,7 +1790,7 @@ fn generateExactWidthType(comp: *Compilation, w: *Io.Writer, original_qt: QualTy...@@ -1342,7 +1790,7 @@ fn generateExactWidthType(comp: *Compilation, w: *Io.Writer, original_qt: QualTy
13421790
1343 var buffer: [16]u8 = undefined;1791 var buffer: [16]u8 = undefined;
1344 const suffix = "_TYPE__";1792 const suffix = "_TYPE__";
1345 const full = std.fmt.bufPrint(&buffer, "{s}{d}{s}", .{1793 const full = mem.print(&buffer, "{s}{d}{s}", .{
1346 if (unsigned) "__UINT" else "__INT", width, suffix,1794 if (unsigned) "__UINT" else "__INT", width, suffix,
1347 }) catch unreachable;1795 }) catch unreachable;
13481796
...@@ -1396,7 +1844,7 @@ fn generateExactWidthIntMax(comp: *Compilation, w: *Io.Writer, original_qt: Qual...@@ -1396,7 +1844,7 @@ fn generateExactWidthIntMax(comp: *Compilation, w: *Io.Writer, original_qt: Qual
1396 }1844 }
13971845
1398 var name_buffer: [6]u8 = undefined;1846 var name_buffer: [6]u8 = undefined;
1399 const name = std.fmt.bufPrint(&name_buffer, "{s}{d}", .{1847 const name = mem.print(&name_buffer, "{s}{d}", .{
1400 if (unsigned) "UINT" else "INT", bit_count,1848 if (unsigned) "UINT" else "INT", bit_count,
1401 }) catch unreachable;1849 }) catch unreachable;
14021850
...@@ -1418,10 +1866,12 @@ fn generateSizeofType(comp: *Compilation, w: *Io.Writer, name: []const u8, qt: Q...@@ -1418,10 +1866,12 @@ fn generateSizeofType(comp: *Compilation, w: *Io.Writer, name: []const u8, qt: Q
14181866
1419pub fn nextLargestIntSameSign(comp: *const Compilation, qt: QualType) ?QualType {1867pub fn nextLargestIntSameSign(comp: *const Compilation, qt: QualType) ?QualType {
1420 assert(qt.isInt(comp));1868 assert(qt.isInt(comp));
1421 const candidates: [4]QualType = if (qt.signedness(comp) == .signed)1869 const candidates: []const QualType = if (qt.signedness(comp) == .signed)
1422 .{ .short, .int, .long, .long_long }1870 if (comp.langopts.has_int24) &.{ .short, .int, .int24, .long, .long_long } else &.{ .short, .int, .long, .long_long }
1871 else if (comp.langopts.has_int24)
1872 &.{ .ushort, .uint, .uint24, .ulong, .ulong_long }
1423 else1873 else
1424 .{ .ushort, .uint, .ulong, .ulong_long };1874 &.{ .ushort, .uint, .ulong, .ulong_long };
14251875
1426 const size = qt.sizeof(comp);1876 const size = qt.sizeof(comp);
1427 for (candidates) |candidate| {1877 for (candidates) |candidate| {
...@@ -1443,7 +1893,7 @@ pub fn maxArrayBytes(comp: *const Compilation) u64 {...@@ -1443,7 +1893,7 @@ pub fn maxArrayBytes(comp: *const Compilation) u64 {
1443pub fn fixedEnumTagType(comp: *const Compilation) ?QualType {1893pub fn fixedEnumTagType(comp: *const Compilation) ?QualType {
1444 switch (comp.langopts.emulate) {1894 switch (comp.langopts.emulate) {
1445 .msvc => return .int,1895 .msvc => return .int,
1446 .no, .clang => if (comp.target.os.tag == .windows and comp.target.abi == .msvc) return .int,1896 .no, .clang => if ((comp.target.os.tag == .windows or comp.target.os.tag == .uefi) and comp.target.abi == .msvc) return .int,
1447 .gcc => {},1897 .gcc => {},
1448 }1898 }
1449 return null;1899 return null;
...@@ -1463,7 +1913,7 @@ pub fn getSource(comp: *const Compilation, id: Source.Id) Source {...@@ -1463,7 +1913,7 @@ pub fn getSource(comp: *const Compilation, id: Source.Id) Source {
1463 }1913 }
1464 if (id.index == .generated) return .{1914 if (id.index == .generated) return .{
1465 .path = "<scratch space>",1915 .path = "<scratch space>",
1466 .buf = comp.generated_buf.items,1916 .buf = @ptrCast(comp.generated_buf.items),
1467 .id = .generated,1917 .id = .generated,
1468 .splice_locs = &.{},1918 .splice_locs = &.{},
1469 .kind = .user,1919 .kind = .user,
...@@ -1477,7 +1927,7 @@ pub fn getSource(comp: *const Compilation, id: Source.Id) Source {...@@ -1477,7 +1927,7 @@ pub fn getSource(comp: *const Compilation, id: Source.Id) Source {
1477/// or line-ending changes happen.1927/// or line-ending changes happen.
1478/// caller retains ownership of `path`1928/// caller retains ownership of `path`
1479/// To add a file's contents given its path, see addSourceFromPath1929/// To add a file's contents given its path, see addSourceFromPath
1480pub fn addSourceFromOwnedBuffer(comp: *Compilation, path: []const u8, buf: []u8, kind: Source.Kind) !Source {1930pub fn addSourceFromOwnedBuffer(comp: *Compilation, path: []const u8, buf: [:0]u8, kind: Source.Kind) !Source {
1481 assert(buf.len <= std.math.maxInt(u32));1931 assert(buf.len <= std.math.maxInt(u32));
1482 try comp.sources.ensureUnusedCapacity(comp.gpa, 1);1932 try comp.sources.ensureUnusedCapacity(comp.gpa, 1);
14831933
...@@ -1599,11 +2049,11 @@ pub fn addSourceFromOwnedBuffer(comp: *Compilation, path: []const u8, buf: []u8,...@@ -1599,11 +2049,11 @@ pub fn addSourceFromOwnedBuffer(comp: *Compilation, path: []const u8, buf: []u8,
15992049
1600 if (i != contents.len) {2050 if (i != contents.len) {
1601 var list: std.ArrayList(u8) = .{2051 var list: std.ArrayList(u8) = .{
1602 .items = contents[0..i],
1603 .capacity = contents.len,
1604 .pointer_stability = .{},2052 .pointer_stability = .{},
2053 .items = contents[0..i],
2054 .capacity = contents.len + 1, // +1 for sentinel
1605 };2055 };
1606 contents = try list.toOwnedSlice(comp.gpa);2056 contents = try list.toOwnedSliceSentinel(comp.gpa, 0);
1607 }2057 }
1608 errdefer @compileError("errdefers in callers would possibly free the realloced slice using the original len");2058 errdefer @compileError("errdefers in callers would possibly free the realloced slice using the original len");
16092059
...@@ -1622,7 +2072,7 @@ pub fn addSourceFromOwnedBuffer(comp: *Compilation, path: []const u8, buf: []u8,...@@ -1622,7 +2072,7 @@ pub fn addSourceFromOwnedBuffer(comp: *Compilation, path: []const u8, buf: []u8,
1622fn addNewlineEscapeError(2072fn addNewlineEscapeError(
1623 comp: *Compilation,2073 comp: *Compilation,
1624 path: []const u8,2074 path: []const u8,
1625 buf: []const u8,2075 buf: [:0]const u8,
1626 splice_locs: []const u32,2076 splice_locs: []const u32,
1627 byte_offset: u32,2077 byte_offset: u32,
1628 line: u32,2078 line: u32,
...@@ -1658,7 +2108,7 @@ pub fn addSourceFromBuffer(comp: *Compilation, path: []const u8, buf: []const u8...@@ -1658,7 +2108,7 @@ pub fn addSourceFromBuffer(comp: *Compilation, path: []const u8, buf: []const u8
1658 if (comp.sources.get(path)) |some| return some;2108 if (comp.sources.get(path)) |some| return some;
1659 if (buf.len > std.math.maxInt(u32)) return error.FileTooBig;2109 if (buf.len > std.math.maxInt(u32)) return error.FileTooBig;
16602110
1661 const contents = try comp.gpa.dupe(u8, buf);2111 const contents = try comp.gpa.dupeSentinel(u8, buf, 0);
1662 errdefer comp.gpa.free(contents);2112 errdefer comp.gpa.free(contents);
16632113
1664 return comp.addSourceFromOwnedBuffer(path, contents, .user);2114 return comp.addSourceFromOwnedBuffer(path, contents, .user);
...@@ -1673,7 +2123,7 @@ pub fn addSourceFromPath(comp: *Compilation, path: []const u8) !Source {...@@ -1673,7 +2123,7 @@ pub fn addSourceFromPath(comp: *Compilation, path: []const u8) !Source {
1673fn addSourceFromPathExtra(comp: *Compilation, path: []const u8, kind: Source.Kind) !Source {2123fn addSourceFromPathExtra(comp: *Compilation, path: []const u8, kind: Source.Kind) !Source {
1674 if (comp.sources.get(path)) |some| return some;2124 if (comp.sources.get(path)) |some| return some;
16752125
1676 if (mem.indexOfScalar(u8, path, 0) != null) {2126 if (mem.findScalar(u8, path, 0) != null) {
1677 return error.FileNotFound;2127 return error.FileNotFound;
1678 }2128 }
16792129
...@@ -1777,7 +2227,7 @@ fn removeDuplicateSearchPaths(comp: *Compilation, start: usize, verbose: bool) !...@@ -1777,7 +2227,7 @@ fn removeDuplicateSearchPaths(comp: *Compilation, start: usize, verbose: bool) !
1777 continue;2227 continue;
1778 }2228 }
1779 } else {2229 } else {
1780 const gop = try seen_frameworks.getOrPut(allocator, include.path);2230 const gop = try seen_includes.getOrPut(allocator, include.path);
1781 if (!gop.found_existing) {2231 if (!gop.found_existing) {
1782 comp.search_path.items[i] = include;2232 comp.search_path.items[i] = include;
1783 i += 1;2233 i += 1;
...@@ -1830,11 +2280,12 @@ pub fn hasInclude(...@@ -1830,11 +2280,12 @@ pub fn hasInclude(
1830 which: WhichInclude,2280 which: WhichInclude,
1831 opt_dep_file: ?*DepFile,2281 opt_dep_file: ?*DepFile,
1832) Compilation.Error!bool {2282) Compilation.Error!bool {
1833 if (try FindInclude.run(comp, filename, include_type, switch (which) {2283 const includer_source = comp.getSource(includer_token_source);
1834 .next => .{ .only_search_after_dir = comp.getSource(includer_token_source).path },2284 if (try FindInclude.run(comp, filename, includer_source, include_type, switch (which) {
2285 .next => .{ .only_search_after_dir = includer_source.path },
1835 .first => switch (include_type) {2286 .first => switch (include_type) {
1836 .cli => unreachable,2287 .cli => unreachable,
1837 .quotes => .{ .allow_same_dir = comp.getSource(includer_token_source).path },2288 .quotes => .{ .allow_same_dir = includer_source.path },
1838 .angle_brackets => .only_search,2289 .angle_brackets => .only_search,
1839 },2290 },
1840 })) |found| {2291 })) |found| {
...@@ -1863,6 +2314,7 @@ const FindInclude = struct {...@@ -1863,6 +2314,7 @@ const FindInclude = struct {
1863 fn run(2314 fn run(
1864 comp: *Compilation,2315 comp: *Compilation,
1865 include_path: []const u8,2316 include_path: []const u8,
2317 includer_source: Source,
1866 include_type: IncludeType,2318 include_type: IncludeType,
1867 search_strat: union(enum) {2319 search_strat: union(enum) {
1868 allow_same_dir: []const u8,2320 allow_same_dir: []const u8,
...@@ -1881,7 +2333,7 @@ const FindInclude = struct {...@@ -1881,7 +2333,7 @@ const FindInclude = struct {
1881 .allow_same_dir, .only_search => {},2333 .allow_same_dir, .only_search => {},
1882 .only_search_after_dir => return null,2334 .only_search_after_dir => return null,
1883 }2335 }
1884 return find.check("{s}", .{include_path}, .user, false);2336 return find.check(&.{include_path}, .user, false);
1885 }2337 }
18862338
1887 switch (search_strat) {2339 switch (search_strat) {
...@@ -1898,6 +2350,7 @@ const FindInclude = struct {...@@ -1898,6 +2350,7 @@ const FindInclude = struct {
1898 find.wait_for = std.fs.path.dirname(other_file);2350 find.wait_for = std.fs.path.dirname(other_file);
1899 },2351 },
1900 }2352 }
2353
1901 for (comp.search_path.items) |include| {2354 for (comp.search_path.items) |include| {
1902 if (include.kind == .quote) {2355 if (include.kind == .quote) {
1903 if (include_type != .angle_brackets) {2356 if (include_type != .angle_brackets) {
...@@ -1912,64 +2365,86 @@ const FindInclude = struct {...@@ -1912,64 +2365,86 @@ const FindInclude = struct {
1912 if (try find.checkIncludeDir(include.path, source_kind)) |res| return res;2365 if (try find.checkIncludeDir(include.path, source_kind)) |res| return res;
1913 }2366 }
1914 }2367 }
2368
1915 if (comp.ms_cwd_source_id) |source_id| {2369 if (comp.ms_cwd_source_id) |source_id| {
1916 if (try find.checkMsCwdIncludeDir(source_id)) |res| return res;2370 if (try find.checkMsCwdIncludeDir(source_id)) |res| return res;
1917 }2371 }
2372
2373 if (includer_source.umbrella_framework_path) |umbrella_framework_path| {
2374 if (try find.checkSubframeworkDir(umbrella_framework_path, includer_source.kind)) |res| return res;
2375 }
2376
1918 return null;2377 return null;
1919 }2378 }
1920 fn checkIncludeDir(find: *FindInclude, include_dir: []const u8, kind: Source.Kind) Allocator.Error!?Result {2379 fn checkIncludeDir(find: *FindInclude, include_dir: []const u8, kind: Source.Kind) Allocator.Error!?Result {
1921 if (find.wait_for) |wait_for| {2380 return find.check(&.{
1922 if (std.mem.eql(u8, include_dir, wait_for)) find.wait_for = null;
1923 return null;
1924 }
1925 return find.check("{s}{c}{s}", .{
1926 include_dir,2381 include_dir,
1927 std.fs.path.sep,
1928 find.include_path,2382 find.include_path,
1929 }, kind, false);2383 }, kind, false);
1930 }2384 }
1931 fn checkMsCwdIncludeDir(find: *FindInclude, source_id: Source.Id) Allocator.Error!?Result {2385 fn checkMsCwdIncludeDir(find: *FindInclude, source_id: Source.Id) Allocator.Error!?Result {
1932 const path = find.comp.getSource(source_id).path;2386 const path = find.comp.getSource(source_id).path;
1933 const dir = std.fs.path.dirname(path) orelse ".";2387 const dir = std.fs.path.dirname(path) orelse ".";
1934 if (find.wait_for) |wait_for| {2388 return find.check(&.{
1935 if (std.mem.eql(u8, dir, wait_for)) find.wait_for = null;
1936 return null;
1937 }
1938 return find.check("{s}{c}{s}", .{
1939 dir,2389 dir,
1940 std.fs.path.sep,
1941 find.include_path,2390 find.include_path,
1942 }, .user, true);2391 }, .user, true);
1943 }2392 }
2393
1944 fn checkFrameworkDir(find: *FindInclude, framework_dir: []const u8, kind: Source.Kind) Allocator.Error!?Result {2394 fn checkFrameworkDir(find: *FindInclude, framework_dir: []const u8, kind: Source.Kind) Allocator.Error!?Result {
1945 if (find.wait_for) |wait_for| {
1946 match: {
1947 // If this is a match, then `wait_for` looks like '.../Foo.framework/Headers'.
1948 const wait_framework = std.fs.path.dirname(wait_for) orelse break :match;
1949 const wait_framework_dir = std.fs.path.dirname(wait_framework) orelse break :match;
1950 if (!std.mem.eql(u8, framework_dir, wait_framework_dir)) break :match;
1951 find.wait_for = null;
1952 }
1953 return null;
1954 }
1955 // For an include like 'Foo/Bar.h', search in '<framework_dir>/Foo.framework/Headers/Bar.h'.2395 // For an include like 'Foo/Bar.h', search in '<framework_dir>/Foo.framework/Headers/Bar.h'.
1956 const framework_name: []const u8, const header_sub_path: []const u8 = f: {2396 const framework_name, const header_sub_path = mem.cutScalar(u8, find.include_path, '/') orelse return null;
1957 const i = std.mem.indexOfScalar(u8, find.include_path, '/') orelse return null;2397
1958 break :f .{ find.include_path[0..i], find.include_path[i + 1 ..] };2398 var bfa_buf: [path_buf_stack_limit]u8 = undefined;
1959 };2399 var bfa_state: std.heap.BufferFirstAllocator = .init(&bfa_buf, find.comp.gpa);
1960 return find.check("{s}{c}{s}.framework{c}Headers{c}{s}", .{2400 const bfa = bfa_state.allocator();
2401 const framework_lookup = try bfa.print("{s}.framework", .{framework_name});
2402 defer bfa.free(framework_lookup);
2403
2404 const res = try find.check(&.{
1961 framework_dir,2405 framework_dir,
1962 std.fs.path.sep,2406 framework_lookup,
1963 framework_name,2407 "Headers",
1964 std.fs.path.sep,
1965 std.fs.path.sep,
1966 header_sub_path,2408 header_sub_path,
1967 }, kind, false);2409 }, kind, false) orelse return null;
2410
2411 // Mark the new source as an umbrella framework for subframework search within it.
2412 const new_source = &find.comp.sources.values()[@backingInt(res.source.index)];
2413 const framework_name_index = mem.find(u8, new_source.path, framework_lookup) orelse return res;
2414 new_source.umbrella_framework_path = new_source.path[0 .. framework_name_index + framework_lookup.len];
2415 return res;
2416 }
2417
2418 fn checkSubframeworkDir(find: *FindInclude, umbrella_framework_path: []const u8, kind: Source.Kind) Allocator.Error!?Result {
2419 // For an include like 'Foo/Bar.h', search in '<umbrella_framework_path>/Frameworks/Foo.framework/Headers/Bar.h'.
2420 const framework_name, const header_sub_path = mem.cutScalar(u8, find.include_path, '/') orelse return null;
2421
2422 var bfa_buf: [path_buf_stack_limit]u8 = undefined;
2423 var bfa_state: std.heap.BufferFirstAllocator = .init(&bfa_buf, find.comp.gpa);
2424 const bfa = bfa_state.allocator();
2425 const framework_lookup = try bfa.print("{s}.framework", .{framework_name});
2426 defer bfa.free(framework_lookup);
2427
2428 const res = try find.check(&.{
2429 umbrella_framework_path,
2430 "Frameworks",
2431 framework_lookup,
2432 "Headers",
2433 header_sub_path,
2434 }, kind, false) orelse return null;
2435
2436 // Subframeworks are assumed to not be able to contain other
2437 // subframeworks (i.e. they can't be umbrella frameworks), but they
2438 // can reference one another, meaning that we keep the same
2439 // umbrella framework.
2440 const new_source = &find.comp.sources.values()[@backingInt(res.source.index)];
2441 new_source.umbrella_framework_path = new_source.path[0..umbrella_framework_path.len];
2442 return res;
1968 }2443 }
2444
1969 fn check(2445 fn check(
1970 find: *FindInclude,2446 find: *FindInclude,
1971 comptime format: []const u8,2447 paths: []const []const u8,
1972 args: anytype,
1973 kind: Source.Kind,2448 kind: Source.Kind,
1974 used_ms_search_rule: bool,2449 used_ms_search_rule: bool,
1975 ) Allocator.Error!?Result {2450 ) Allocator.Error!?Result {
...@@ -1978,10 +2453,15 @@ const FindInclude = struct {...@@ -1978,10 +2453,15 @@ const FindInclude = struct {
1978 var bfa_buf: [path_buf_stack_limit]u8 = undefined;2453 var bfa_buf: [path_buf_stack_limit]u8 = undefined;
1979 var bfa_state: std.heap.BufferFirstAllocator = .init(&bfa_buf, comp.gpa);2454 var bfa_state: std.heap.BufferFirstAllocator = .init(&bfa_buf, comp.gpa);
1980 const bfa = bfa_state.allocator();2455 const bfa = bfa_state.allocator();
1981 const header_path = try std.fmt.allocPrint(bfa, format, args);2456 const header_path = try std.fs.path.resolve(bfa, paths);
1982 defer bfa.free(header_path);2457 defer bfa.free(header_path);
1983 find.comp.normalizePath(header_path);2458 find.comp.normalizePath(header_path);
19842459
2460 if (find.wait_for) |wait_for| if (std.fs.path.dirname(header_path)) |header_dir| {
2461 if (mem.eql(u8, header_dir, wait_for)) find.wait_for = null;
2462 return null;
2463 };
2464
1985 const source = comp.addSourceFromPathExtra(header_path, kind) catch |err| switch (err) {2465 const source = comp.addSourceFromPathExtra(header_path, kind) catch |err| switch (err) {
1986 error.OutOfMemory => |e| return e,2466 error.OutOfMemory => |e| return e,
1987 else => return null,2467 else => return null,
...@@ -2007,8 +2487,8 @@ pub const IncludeType = enum {...@@ -2007,8 +2487,8 @@ pub const IncludeType = enum {
2007 cli,2487 cli,
2008};2488};
20092489
2010fn getPathContents(comp: *Compilation, path: []const u8, limit: Io.Limit) ![]u8 {2490fn getPathContents(comp: *Compilation, path: []const u8, limit: Io.Limit) ![:0]u8 {
2011 if (mem.indexOfScalar(u8, path, 0) != null) {2491 if (mem.findScalar(u8, path, 0) != null) {
2012 return error.FileNotFound;2492 return error.FileNotFound;
2013 }2493 }
20142494
...@@ -2017,7 +2497,7 @@ fn getPathContents(comp: *Compilation, path: []const u8, limit: Io.Limit) ![]u8...@@ -2017,7 +2497,7 @@ fn getPathContents(comp: *Compilation, path: []const u8, limit: Io.Limit) ![]u8
2017 return comp.getFileContents(file, limit);2497 return comp.getFileContents(file, limit);
2018}2498}
20192499
2020fn getFileContents(comp: *Compilation, file: std.Io.File, limit: Io.Limit) ![]u8 {2500fn getFileContents(comp: *Compilation, file: std.Io.File, limit: Io.Limit) ![:0]u8 {
2021 var file_buf: [4096]u8 = undefined;2501 var file_buf: [4096]u8 = undefined;
2022 var file_reader = file.reader(comp.io, &file_buf);2502 var file_reader = file.reader(comp.io, &file_buf);
20232503
...@@ -2032,19 +2512,19 @@ fn getFileContents(comp: *Compilation, file: std.Io.File, limit: Io.Limit) ![]u8...@@ -2032,19 +2512,19 @@ fn getFileContents(comp: *Compilation, file: std.Io.File, limit: Io.Limit) ![]u8
2032 var remaining = limit.min(.limited(std.math.maxInt(u32)));2512 var remaining = limit.min(.limited(std.math.maxInt(u32)));
2033 while (remaining.nonzero()) {2513 while (remaining.nonzero()) {
2034 const n = file_reader.interface.stream(&allocating.writer, remaining) catch |err| switch (err) {2514 const n = file_reader.interface.stream(&allocating.writer, remaining) catch |err| switch (err) {
2035 error.EndOfStream => return allocating.toOwnedSlice(),2515 error.EndOfStream => return allocating.toOwnedSliceSentinel(0),
2036 error.WriteFailed => return error.OutOfMemory,2516 error.WriteFailed => return error.OutOfMemory,
2037 error.ReadFailed => return file_reader.err.?,2517 error.ReadFailed => return file_reader.err.?,
2038 };2518 };
2039 remaining = remaining.subtract(n).?;2519 remaining = remaining.subtract(n).?;
2040 }2520 }
2041 if (limit == .unlimited) return error.FileTooBig;2521 if (limit == .unlimited) return error.FileTooBig;
2042 return allocating.toOwnedSlice();2522 return allocating.toOwnedSliceSentinel(0);
2043}2523}
20442524
2045fn normalizePath(comp: *Compilation, path: []u8) void {2525fn normalizePath(comp: *Compilation, path: []u8) void {
2046 if (comp.langopts.ms_extensions and @import("builtin").target.os.tag != .windows) {2526 if (comp.langopts.ms_extensions and @import("builtin").target.os.tag != .windows) {
2047 std.mem.replaceScalar(u8, path, std.fs.path.sep_windows, std.fs.path.sep_posix);2527 mem.replaceScalar(u8, path, std.fs.path.sep_windows, std.fs.path.sep_posix);
2048 }2528 }
2049}2529}
20502530
...@@ -2056,7 +2536,7 @@ pub fn findEmbed(...@@ -2056,7 +2536,7 @@ pub fn findEmbed(
2056 include_type: IncludeType,2536 include_type: IncludeType,
2057 limit: Io.Limit,2537 limit: Io.Limit,
2058 opt_dep_file: ?*DepFile,2538 opt_dep_file: ?*DepFile,
2059) !?[]u8 {2539) !?[:0]u8 {
2060 if (std.fs.path.isAbsolute(filename)) {2540 if (std.fs.path.isAbsolute(filename)) {
2061 if (comp.getPathContents(filename, limit)) |some| {2541 if (comp.getPathContents(filename, limit)) |some| {
2062 errdefer comp.gpa.free(some);2542 errdefer comp.gpa.free(some);
...@@ -2083,7 +2563,7 @@ pub fn findEmbed(...@@ -2083,7 +2563,7 @@ pub fn findEmbed(
2083 if (opt_dep_file) |dep_file| try dep_file.addDependencyDupe(comp.gpa, comp.arena, filename);2563 if (opt_dep_file) |dep_file| try dep_file.addDependencyDupe(comp.gpa, comp.arena, filename);
2084 return some;2564 return some;
2085 } else |err| switch (err) {2565 } else |err| switch (err) {
2086 error.OutOfMemory => |e| return e,2566 error.OutOfMemory => return error.OutOfMemory,
2087 else => {},2567 else => {},
2088 }2568 }
2089 },2569 },
...@@ -2098,7 +2578,7 @@ pub fn findEmbed(...@@ -2098,7 +2578,7 @@ pub fn findEmbed(
2098 if (opt_dep_file) |dep_file| try dep_file.addDependencyDupe(comp.gpa, comp.arena, filename);2578 if (opt_dep_file) |dep_file| try dep_file.addDependencyDupe(comp.gpa, comp.arena, filename);
2099 return some;2579 return some;
2100 } else |err| switch (err) {2580 } else |err| switch (err) {
2101 error.OutOfMemory => |e| return e,2581 error.OutOfMemory => return error.OutOfMemory,
2102 else => {},2582 else => {},
2103 }2583 }
2104 }2584 }
...@@ -2114,18 +2594,26 @@ pub fn findInclude(...@@ -2114,18 +2594,26 @@ pub fn findInclude(
2114 /// include vs include_next2594 /// include vs include_next
2115 which: WhichInclude,2595 which: WhichInclude,
2116) Compilation.Error!?Source {2596) Compilation.Error!?Source {
2117 const found = try FindInclude.run(comp, filename, include_type, switch (which) {2597 const includer_source = comp.getSource(includer_token.source);
2118 .next => .{ .only_search_after_dir = comp.getSource(includer_token.source).path },2598 const found = try FindInclude.run(comp, filename, includer_source, include_type, switch (which) {
2599 .next => .{ .only_search_after_dir = includer_source.path },
2119 .first => switch (include_type) {2600 .first => switch (include_type) {
2120 .cli => .{ .allow_same_dir = "." },2601 .cli => .{ .allow_same_dir = "." },
2121 .quotes => .{ .allow_same_dir = comp.getSource(includer_token.source).path },2602 .quotes => .{ .allow_same_dir = includer_source.path },
2122 .angle_brackets => .only_search,2603 .angle_brackets => .only_search,
2123 },2604 },
2124 }) orelse return null;2605 }) orelse return null;
2125 if (found.used_ms_search_rule) {2606 if (found.used_ms_search_rule) {
2126 const diagnostic: Diagnostic = .ms_search_rule;2607 const diagnostic: Diagnostic = .ms_search_rule;
2608 var buf: [1024]u8 = undefined;
2609 var bfa: std.heap.BufferFirstAllocator = .init(&buf, comp.gpa);
2610 var allocating: std.Io.Writer.Allocating = .init(bfa.allocator());
2611 defer allocating.deinit();
2612
2613 Diagnostics.formatArgs(&allocating.writer, diagnostic.fmt, .{filename}) catch return error.OutOfMemory;
2614
2127 try comp.diagnostics.add(.{2615 try comp.diagnostics.add(.{
2128 .text = diagnostic.fmt,2616 .text = allocating.written(),
2129 .kind = diagnostic.kind,2617 .kind = diagnostic.kind,
2130 .opt = diagnostic.opt,2618 .opt = diagnostic.opt,
2131 .extension = diagnostic.extension,2619 .extension = diagnostic.extension,
...@@ -2300,7 +2788,7 @@ test "addSourceFromBuffer" {...@@ -2300,7 +2788,7 @@ test "addSourceFromBuffer" {
2300 try std.testing.expectEqualSlices(u32, splices, source.splice_locs);2788 try std.testing.expectEqualSlices(u32, splices, source.splice_locs);
2301 }2789 }
23022790
2303 fn withAllocationFailures(allocator: std.mem.Allocator) !void {2791 fn withAllocationFailures(allocator: mem.Allocator) !void {
2304 var comp = try Compilation.init(.testing);2792 var comp = try Compilation.init(.testing);
2305 comp.gpa = allocator;2793 comp.gpa = allocator;
2306 defer comp.deinit();2794 defer comp.deinit();
...@@ -2357,15 +2845,15 @@ test "addSourceFromBuffer - exhaustive check for carriage return elimination" {...@@ -2357,15 +2845,15 @@ test "addSourceFromBuffer - exhaustive check for carriage return elimination" {
2357 while (true) {2845 while (true) {
2358 const source = try comp.addSourceFromBuffer(&buf, &buf);2846 const source = try comp.addSourceFromBuffer(&buf, &buf);
2359 source_count += 1;2847 source_count += 1;
2360 try std.testing.expect(std.mem.indexOfScalar(u8, source.buf, '\r') == null);2848 try std.testing.expect(mem.findScalar(u8, source.buf, '\r') == null);
23612849
2362 if (std.mem.allEqual(u8, &buf, alphabet[alen - 1])) break;2850 if (mem.allEqual(u8, &buf, alphabet[alen - 1])) break;
23632851
2364 var idx = std.mem.indexOfScalar(u8, &alphabet, buf[buf.len - 1]).?;2852 var idx = mem.findScalar(u8, &alphabet, buf[buf.len - 1]).?;
2365 buf[buf.len - 1] = alphabet[(idx + 1) % alen];2853 buf[buf.len - 1] = alphabet[(idx + 1) % alen];
2366 var j = buf.len - 1;2854 var j = buf.len - 1;
2367 while (j > 0) : (j -= 1) {2855 while (j > 0) : (j -= 1) {
2368 idx = std.mem.indexOfScalar(u8, &alphabet, buf[j - 1]).?;2856 idx = mem.findScalar(u8, &alphabet, buf[j - 1]).?;
2369 if (buf[j] == alphabet[0]) buf[j - 1] = alphabet[(idx + 1) % alen] else break;2857 if (buf[j] == alphabet[0]) buf[j - 1] = alphabet[(idx + 1) % alen] else break;
2370 }2858 }
2371 }2859 }
lib/compiler/aro/aro/DepFile.zig+2-2
...@@ -6,7 +6,7 @@ pub const Format = enum { make, nmake };...@@ -6,7 +6,7 @@ pub const Format = enum { make, nmake };
6const DepFile = @This();6const DepFile = @This();
77
8target: []const u8,8target: []const u8,
9deps: std.array_hash_map.String(void) = .empty,9deps: std.StringArrayHashMapUnmanaged(void) = .empty,
10format: Format,10format: Format,
1111
12pub fn deinit(d: *DepFile, gpa: Allocator) void {12pub fn deinit(d: *DepFile, gpa: Allocator) void {
...@@ -71,7 +71,7 @@ fn writeTarget(path: []const u8, w: *std.Io.Writer) !void {...@@ -71,7 +71,7 @@ fn writeTarget(path: []const u8, w: *std.Io.Writer) !void {
71fn writePath(d: *const DepFile, path: []const u8, w: *std.Io.Writer) !void {71fn writePath(d: *const DepFile, path: []const u8, w: *std.Io.Writer) !void {
72 switch (d.format) {72 switch (d.format) {
73 .nmake => {73 .nmake => {
74 if (std.mem.indexOfAny(u8, path, " #${}^!")) |_|74 if (std.mem.findAny(u8, path, " #${}^!")) |_|
75 try w.print("\"{s}\"", .{path})75 try w.print("\"{s}\"", .{path})
76 else76 else
77 try w.writeAll(path);77 try w.writeAll(path);
lib/compiler/aro/aro/Diagnostics.zig+38-16
...@@ -36,15 +36,15 @@ pub const Message = struct {...@@ -36,15 +36,15 @@ pub const Message = struct {
36 .warning => try term.setColor(.bright_magenta),36 .warning => try term.setColor(.bright_magenta),
37 .off => unreachable,37 .off => unreachable,
38 }38 }
39 try w.print("{s}: ", .{@tagName(msg.effective_kind)});39 try w.print("{t}: ", .{msg.effective_kind});
4040
41 try term.setColor(.white);41 try term.setColor(.white);
42 try w.writeAll(msg.text);42 try w.writeAll(msg.text);
43 if (msg.opt) |some| {43 if (msg.opt) |some| {
44 if (msg.effective_kind == .@"error" and msg.kind != .@"error") {44 if (msg.effective_kind == .@"error" and msg.kind != .@"error") {
45 try w.print(" [-Werror,-W{s}]", .{@tagName(some)});45 try w.print(" [-Werror,-W{t}]", .{some});
46 } else if (msg.effective_kind != .note) {46 } else if (msg.effective_kind != .note) {
47 try w.print(" [-W{s}]", .{@tagName(some)});47 try w.print(" [-W{t}]", .{some});
48 }48 }
49 } else if (msg.extension) {49 } else if (msg.extension) {
50 if (msg.effective_kind == .@"error") {50 if (msg.effective_kind == .@"error") {
...@@ -177,7 +177,6 @@ pub const Option = enum {...@@ -177,7 +177,6 @@ pub const Option = enum {
177 @"invalid-pp-token",177 @"invalid-pp-token",
178 @"deprecated-non-prototype",178 @"deprecated-non-prototype",
179 @"duplicate-embed-param",179 @"duplicate-embed-param",
180 @"unsupported-embed-param",
181 @"unused-result",180 @"unused-result",
182 normalized,181 normalized,
183 @"shift-count-negative",182 @"shift-count-negative",
...@@ -203,6 +202,17 @@ pub const Option = enum {...@@ -203,6 +202,17 @@ pub const Option = enum {
203 @"file-name-extension",202 @"file-name-extension",
204 @"base-file-extension",203 @"base-file-extension",
205 @"include-level-extension",204 @"include-level-extension",
205 @"blocks-extension",
206 @"extra-tokens",
207 @"unsupported-visibility",
208 @"deprecated-attributes",
209 section,
210 @"label-attribute",
211 @"unused-variable",
212 @"unused-parameter",
213 @"unused-local-typedef",
214 @"unused-label",
215 @"unused-comparison",
206216
207 /// GNU extensions217 /// GNU extensions
208 pub const gnu = [_]Option{218 pub const gnu = [_]Option{
...@@ -229,6 +239,7 @@ pub const Option = enum {...@@ -229,6 +239,7 @@ pub const Option = enum {
229 .@"fixed-enum-extension",239 .@"fixed-enum-extension",
230 .@"bit-int-extension",240 .@"bit-int-extension",
231 .@"nullability-extension",241 .@"nullability-extension",
242 .@"blocks-extension",
232 };243 };
233244
234 /// Microsoft extensions245 /// Microsoft extensions
...@@ -245,6 +256,7 @@ pub const Option = enum {...@@ -245,6 +256,7 @@ pub const Option = enum {
245 .@"initializer-overrides",256 .@"initializer-overrides",
246 .@"expansion-to-defined",257 .@"expansion-to-defined",
247 .@"fuse-ld-path",258 .@"fuse-ld-path",
259 .@"blocks-extension",
248 };260 };
249261
250 pub const implicit = [_]Option{262 pub const implicit = [_]Option{
...@@ -255,6 +267,11 @@ pub const Option = enum {...@@ -255,6 +267,11 @@ pub const Option = enum {
255 pub const unused = [_]Option{267 pub const unused = [_]Option{
256 .@"unused-value",268 .@"unused-value",
257 .@"unused-result",269 .@"unused-result",
270 .@"unused-variable",
271 // .@"unused-parameter", // Matches gcc and clang
272 .@"unused-local-typedef",
273 .@"unused-label",
274 .@"unused-comparison",
258 };275 };
259276
260 pub const most = implicit ++ unused ++ [_]Option{277 pub const most = implicit ++ unused ++ [_]Option{
...@@ -332,15 +349,15 @@ pub fn deinit(d: *Diagnostics) void {...@@ -332,15 +349,15 @@ pub fn deinit(d: *Diagnostics) void {
332349
333/// Used by the __has_warning builtin macro.350/// Used by the __has_warning builtin macro.
334pub fn warningExists(name: []const u8) bool {351pub fn warningExists(name: []const u8) bool {
335 if (std.mem.eql(u8, name, "pedantic")) return true;352 if (mem.eql(u8, name, "pedantic")) return true;
336 inline for (comptime std.meta.declarations(Option)) |group_name| {353 inline for (@typeInfo(Option).@"enum".decl_names) |group_name| {
337 if (std.mem.eql(u8, name, group_name)) return true;354 if (mem.eql(u8, name, group_name)) return true;
338 }355 }
339 return std.meta.stringToEnum(Option, name) != null;356 return std.meta.stringToEnum(Option, name) != null;
340}357}
341358
342pub fn set(d: *Diagnostics, name: []const u8, to: Message.Kind) Compilation.Error!void {359pub fn set(d: *Diagnostics, name: []const u8, to: Message.Kind) Compilation.Error!void {
343 if (std.mem.eql(u8, name, "pedantic")) {360 if (mem.eql(u8, name, "pedantic")) {
344 d.state.extensions = to;361 d.state.extensions = to;
345 return;362 return;
346 }363 }
...@@ -349,8 +366,8 @@ pub fn set(d: *Diagnostics, name: []const u8, to: Message.Kind) Compilation.Erro...@@ -349,8 +366,8 @@ pub fn set(d: *Diagnostics, name: []const u8, to: Message.Kind) Compilation.Erro
349 return;366 return;
350 }367 }
351368
352 inline for (comptime std.meta.declarations(Option)) |group_name| {369 inline for (@typeInfo(Option).@"enum".decl_names) |group_name| {
353 if (std.mem.eql(u8, name, group_name)) {370 if (mem.eql(u8, name, group_name)) {
354 for (@field(Option, group_name)) |option| {371 for (@field(Option, group_name)) |option| {
355 d.state.options.put(option, to);372 d.state.options.put(option, to);
356 }373 }
...@@ -359,7 +376,7 @@ pub fn set(d: *Diagnostics, name: []const u8, to: Message.Kind) Compilation.Erro...@@ -359,7 +376,7 @@ pub fn set(d: *Diagnostics, name: []const u8, to: Message.Kind) Compilation.Erro
359 }376 }
360377
361 var buf: [256]u8 = undefined;378 var buf: [256]u8 = undefined;
362 const slice = std.fmt.bufPrint(&buf, "unknown warning '{s}'", .{name}) catch &buf;379 const slice = mem.print(&buf, "unknown warning '{s}'", .{name}) catch &buf;
363380
364 try d.add(.{381 try d.add(.{
365 .text = slice,382 .text = slice,
...@@ -369,6 +386,10 @@ pub fn set(d: *Diagnostics, name: []const u8, to: Message.Kind) Compilation.Erro...@@ -369,6 +386,10 @@ pub fn set(d: *Diagnostics, name: []const u8, to: Message.Kind) Compilation.Erro
369 });386 });
370}387}
371388
389pub fn severity(d: *Diagnostics, option: Option) Message.Kind {
390 return d.state.options.get(option) orelse .off;
391}
392
372/// This mutates the `Diagnostics`, so may only be called when `message` is being added.393/// This mutates the `Diagnostics`, so may only be called when `message` is being added.
373/// If `.off` is returned, `message` will not be included, so the caller should give up.394/// If `.off` is returned, `message` will not be included, so the caller should give up.
374pub fn effectiveKind(d: *Diagnostics, message: anytype) Message.Kind {395pub fn effectiveKind(d: *Diagnostics, message: anytype) Message.Kind {
...@@ -405,7 +426,7 @@ pub fn effectiveKind(d: *Diagnostics, message: anytype) Message.Kind {...@@ -405,7 +426,7 @@ pub fn effectiveKind(d: *Diagnostics, message: anytype) Message.Kind {
405426
406 // Use extension diagnostic behavior if not set explicitly.427 // Use extension diagnostic behavior if not set explicitly.
407 if (message.extension and !set_explicit) {428 if (message.extension and !set_explicit) {
408 kind = @fromBackingInt(@intCast(@max(@backingInt(kind), @backingInt(d.state.extensions))));429 kind = @fromBackingInt(@max(@backingInt(kind), @backingInt(d.state.extensions)));
409 }430 }
410431
411 // Make diagnostic a warning if -Weverything is set.432 // Make diagnostic a warning if -Weverything is set.
...@@ -461,7 +482,7 @@ pub fn addWithLocation(...@@ -461,7 +482,7 @@ pub fn addWithLocation(
461 try d.addMessage(.{482 try d.addMessage(.{
462 .kind = .note,483 .kind = .note,
463 .effective_kind = .note,484 .effective_kind = .note,
464 .text = std.fmt.bufPrint(485 .text = mem.print(
465 &buf,486 &buf,
466 "(skipping {d} expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)",487 "(skipping {d} expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)",
467 .{expansion_locs.len - d.macro_backtrace_limit},488 .{expansion_locs.len - d.macro_backtrace_limit},
...@@ -499,8 +520,9 @@ pub fn formatArgs(w: *std.Io.Writer, fmt: []const u8, args: anytype) std.Io.Writ...@@ -499,8 +520,9 @@ pub fn formatArgs(w: *std.Io.Writer, fmt: []const u8, args: anytype) std.Io.Writ
499 i += switch (@TypeOf(arg)) {520 i += switch (@TypeOf(arg)) {
500 []const u8 => try formatString(w, fmt[i..], arg),521 []const u8 => try formatString(w, fmt[i..], arg),
501 else => switch (@typeInfo(@TypeOf(arg))) {522 else => switch (@typeInfo(@TypeOf(arg))) {
502 .int, .comptime_int => try Diagnostics.formatInt(w, fmt[i..], arg),523 .int, .comptime_int => try formatInt(w, fmt[i..], arg),
503 .pointer => try Diagnostics.formatString(w, fmt[i..], arg),524 .pointer => try formatString(w, fmt[i..], arg),
525 .@"struct" => try arg.format(w, fmt[i..]),
504 else => comptime unreachable,526 else => comptime unreachable,
505 },527 },
506 };528 };
...@@ -509,7 +531,7 @@ pub fn formatArgs(w: *std.Io.Writer, fmt: []const u8, args: anytype) std.Io.Writ...@@ -509,7 +531,7 @@ pub fn formatArgs(w: *std.Io.Writer, fmt: []const u8, args: anytype) std.Io.Writ
509}531}
510532
511pub fn templateIndex(w: *std.Io.Writer, fmt: []const u8, template: []const u8) std.Io.Writer.Error!usize {533pub fn templateIndex(w: *std.Io.Writer, fmt: []const u8, template: []const u8) std.Io.Writer.Error!usize {
512 const i = std.mem.indexOf(u8, fmt, template) orelse {534 const i = mem.find(u8, fmt, template) orelse {
513 if (@import("builtin").mode == .debug) {535 if (@import("builtin").mode == .debug) {
514 std.debug.panic("template `{s}` not found in format string `{s}`", .{ template, fmt });536 std.debug.panic("template `{s}` not found in format string `{s}`", .{ template, fmt });
515 }537 }
lib/compiler/aro/aro/Driver.zig+98-40
...@@ -225,6 +225,8 @@ pub const usage =...@@ -225,6 +225,8 @@ pub const usage =
225 \\ Use `# <num>` linemarkers in preprocessed output225 \\ Use `# <num>` linemarkers in preprocessed output
226 \\ -fvisibility=[default|hidden|internal|protected]226 \\ -fvisibility=[default|hidden|internal|protected]
227 \\ Set the default ELF image symbol visibility to the specified option—all symbols are marked with this unless overridden within the code227 \\ Set the default ELF image symbol visibility to the specified option—all symbols are marked with this unless overridden within the code
228 \\ -fblocks Enable support for clang's Blocks language extension
229 \\ -fno-blocks Disable support for clang's Blocks language extension
228 \\ -iquote <dir> Add directory to QUOTE include search path230 \\ -iquote <dir> Add directory to QUOTE include search path
229 \\ -I <dir> Add directory to include search path231 \\ -I <dir> Add directory to include search path
230 \\ -idirafter <dir> Add directory to AFTER include search path232 \\ -idirafter <dir> Add directory to AFTER include search path
...@@ -309,6 +311,8 @@ pub fn parseArgs(...@@ -309,6 +311,8 @@ pub fn parseArgs(
309 var strip = true;311 var strip = true;
310 var debug: ?backend.CodeGenOptions.DebugFormat = null;312 var debug: ?backend.CodeGenOptions.DebugFormat = null;
311 var emulate: ?LangOpts.Compiler = null;313 var emulate: ?LangOpts.Compiler = null;
314 var m_args: std.ArrayList([]const u8) = .empty;
315 defer m_args.deinit(gpa);
312 while (i < args.len) : (i += 1) {316 while (i < args.len) : (i += 1) {
313 const arg = args[i];317 const arg = args[i];
314 if (arg.len > 1 and arg[0] == '-') {318 if (arg.len > 1 and arg[0] == '-') {
...@@ -317,7 +321,7 @@ pub fn parseArgs(...@@ -317,7 +321,7 @@ pub fn parseArgs(
317 try stdout.flush();321 try stdout.flush();
318 return true;322 return true;
319 } else if (mem.eql(u8, arg, "--version")) {323 } else if (mem.eql(u8, arg, "--version")) {
320 try stdout.writeAll(@import("../backend.zig").version_str ++ "\n");324 try stdout.writeAll(backend.version_str ++ "\n");
321 try stdout.flush();325 try stdout.flush();
322 return true;326 return true;
323 } else if (mem.startsWith(u8, arg, "-D")) {327 } else if (mem.startsWith(u8, arg, "-D")) {
...@@ -331,7 +335,7 @@ pub fn parseArgs(...@@ -331,7 +335,7 @@ pub fn parseArgs(
331 macro = args[i];335 macro = args[i];
332 }336 }
333 var value: []const u8 = "1";337 var value: []const u8 = "1";
334 if (mem.indexOfScalar(u8, macro, '=')) |some| {338 if (mem.findScalar(u8, macro, '=')) |some| {
335 value = macro[some + 1 ..];339 value = macro[some + 1 ..];
336 macro = macro[0..some];340 macro = macro[0..some];
337 }341 }
...@@ -383,7 +387,7 @@ pub fn parseArgs(...@@ -383,7 +387,7 @@ pub fn parseArgs(
383 } else if (mem.eql(u8, arg, "-fapple-kext")) {387 } else if (mem.eql(u8, arg, "-fapple-kext")) {
384 d.apple_kext = true;388 d.apple_kext = true;
385 } else if (option(arg, "-fvisibility=")) |visibility| {389 } else if (option(arg, "-fvisibility=")) |visibility| {
386 d.comp.langopts.default_symbol_visibility = Attribute.visibilityFromString(visibility) orelse390 d.comp.langopts.default_symbol_visibility = Attribute.Args.Visibility.opts.map.get(visibility) orelse
387 return d.fatal("unsupported value '{s}'' in '{s}'", .{ visibility, arg });391 return d.fatal("unsupported value '{s}'' in '{s}'", .{ visibility, arg });
388 } else if (option(arg, "-frandom-seed=")) |_| {392 } else if (option(arg, "-frandom-seed=")) |_| {
389 // Ignore393 // Ignore
...@@ -507,12 +511,16 @@ pub fn parseArgs(...@@ -507,12 +511,16 @@ pub fn parseArgs(
507 pic_arg = arg;511 pic_arg = arg;
508 } else if (mem.eql(u8, arg, "-fropi")) {512 } else if (mem.eql(u8, arg, "-fropi")) {
509 d.ropi = true;513 d.ropi = true;
514 d.comp.code_gen_options.is_ropi = true;
510 } else if (mem.eql(u8, arg, "-fno-ropi")) {515 } else if (mem.eql(u8, arg, "-fno-ropi")) {
511 d.ropi = false;516 d.ropi = false;
517 d.comp.code_gen_options.is_ropi = false;
512 } else if (mem.eql(u8, arg, "-frwpi")) {518 } else if (mem.eql(u8, arg, "-frwpi")) {
513 d.rwpi = true;519 d.rwpi = true;
520 d.comp.code_gen_options.is_rwpi = true;
514 } else if (mem.eql(u8, arg, "-fno-rwpi")) {521 } else if (mem.eql(u8, arg, "-fno-rwpi")) {
515 d.rwpi = false;522 d.rwpi = false;
523 d.comp.code_gen_options.is_rwpi = false;
516 } else if (mem.eql(u8, arg, "-fshort-enums")) {524 } else if (mem.eql(u8, arg, "-fshort-enums")) {
517 d.comp.langopts.short_enums = true;525 d.comp.langopts.short_enums = true;
518 } else if (mem.eql(u8, arg, "-fno-short-enums")) {526 } else if (mem.eql(u8, arg, "-fno-short-enums")) {
...@@ -848,10 +856,18 @@ pub fn parseArgs(...@@ -848,10 +856,18 @@ pub fn parseArgs(
848 }856 }
849 } else if (mem.eql(u8, arg, "-fno-lto")) {857 } else if (mem.eql(u8, arg, "-fno-lto")) {
850 // nothing to do858 // nothing to do
859 } else if (mem.eql(u8, arg, "-fblocks")) {
860 d.comp.langopts.blocks = true;
861 } else if (mem.eql(u8, arg, "-fno-blocks")) {
862 d.comp.langopts.blocks = false;
863 } else if (mem.eql(u8, arg, "-pthread")) {
864 d.comp.langopts.pthread = true;
865 } else if (mem.startsWith(u8, arg, "-m")) {
866 try m_args.append(gpa, arg);
851 } else {867 } else {
852 try d.warn("unknown argument '{s}'", .{arg});868 try d.warn("unknown argument '{s}'", .{arg});
853 }869 }
854 } else if (std.mem.endsWith(u8, arg, ".o") or std.mem.endsWith(u8, arg, ".obj")) {870 } else if (mem.endsWith(u8, arg, ".o") or mem.endsWith(u8, arg, ".obj")) {
855 try d.link_objects.append(gpa, arg);871 try d.link_objects.append(gpa, arg);
856 } else {872 } else {
857 const source = d.addSource(arg) catch |er| {873 const source = d.addSource(arg) catch |er| {
...@@ -861,10 +877,11 @@ pub fn parseArgs(...@@ -861,10 +877,11 @@ pub fn parseArgs(
861 }877 }
862 }878 }
863 {879 {
864 d.comp.target = try d.parseTarget(d.raw_target_triple orelse "native", d.raw_cpu);880 d.comp.target = try d.parseTarget(d.raw_target_triple orelse "native", d.raw_cpu, m_args.items);
865 if (d.raw_darwin_variant_target_triple) |darwin_triple| {881 if (d.raw_darwin_variant_target_triple) |darwin_triple| {
866 d.comp.darwin_target_variant = try d.parseTarget(darwin_triple, null);882 d.comp.darwin_target_variant = try d.parseTarget(darwin_triple, null, &.{});
867 }883 }
884 d.comp.langopts.setTargetOptions(d.comp.target);
868 }885 }
869 if (emulate != null or d.raw_target_triple != null) {886 if (emulate != null or d.raw_target_triple != null) {
870 d.comp.langopts.setEmulatedCompiler(emulate orelse d.comp.target.systemCompiler());887 d.comp.langopts.setEmulatedCompiler(emulate orelse d.comp.target.systemCompiler());
...@@ -875,6 +892,13 @@ pub fn parseArgs(...@@ -875,6 +892,13 @@ pub fn parseArgs(
875 .no => {},892 .no => {},
876 }893 }
877 }894 }
895 switch (d.comp.langopts.emulate) {
896 // clang automatically enables Blocks for Darwin targets
897 .clang, .no => if (d.comp.target.os.tag.isDarwin()) {
898 d.comp.langopts.blocks |= d.comp.target.isBlocksSupported();
899 },
900 else => {},
901 }
878 if (d.comp.langopts.preserve_comments and !d.only_preprocess) {902 if (d.comp.langopts.preserve_comments and !d.only_preprocess) {
879 return d.fatal("invalid argument '{s}' only allowed with '-E'", .{comment_arg});903 return d.fatal("invalid argument '{s}' only allowed with '-E'", .{comment_arg});
880 }904 }
...@@ -916,7 +940,7 @@ pub fn parseArgs(...@@ -916,7 +940,7 @@ pub fn parseArgs(
916}940}
917941
918fn option(arg: []const u8, name: []const u8) ?[]const u8 {942fn option(arg: []const u8, name: []const u8) ?[]const u8 {
919 if (std.mem.startsWith(u8, arg, name) and arg.len > name.len) {943 if (mem.startsWith(u8, arg, name) and arg.len > name.len) {
920 return arg[name.len..];944 return arg[name.len..];
921 }945 }
922 return null;946 return null;
...@@ -973,7 +997,12 @@ fn unsupportedOptionForTarget(d: *Driver, target: *const Target, opt: []const u8...@@ -973,7 +997,12 @@ fn unsupportedOptionForTarget(d: *Driver, target: *const Target, opt: []const u8
973 );997 );
974}998}
975999
976fn parseTarget(d: *Driver, arch_os_abi: []const u8, opt_cpu_features: ?[]const u8) Compilation.Error!Target {1000fn parseTarget(
1001 d: *Driver,
1002 arch_os_abi: []const u8,
1003 opt_cpu_features: ?[]const u8,
1004 m_args: []const []const u8,
1005) Compilation.Error!Target {
977 var query: std.Target.Query = .{1006 var query: std.Target.Query = .{
978 .dynamic_linker = .init(null),1007 .dynamic_linker = .init(null),
979 };1008 };
...@@ -1023,6 +1052,38 @@ fn parseTarget(d: *Driver, arch_os_abi: []const u8, opt_cpu_features: ?[]const u...@@ -1023,6 +1052,38 @@ fn parseTarget(d: *Driver, arch_os_abi: []const u8, opt_cpu_features: ?[]const u
1023 return d.fatal("unexpected extra field in target: '{s}'", .{arch_os_abi});1052 return d.fatal("unexpected extra field in target: '{s}'", .{arch_os_abi});
1024 }1053 }
10251054
1055 if (m_args.len != 0) {
1056 var llvm_to_index: std.StringHashMapUnmanaged(std.Target.Cpu.Feature.Set.Index) = .empty;
1057 defer llvm_to_index.deinit(d.comp.gpa);
1058
1059 const features = arch.allFeaturesList();
1060 try llvm_to_index.ensureUnusedCapacity(d.comp.gpa, @intCast(features.len));
1061 for (features) |feature| {
1062 const llvm_name = feature.llvm_name orelse continue;
1063 llvm_to_index.putAssumeCapacity(llvm_name, feature.index);
1064 }
1065
1066 const add_set = &query.cpu_features_add;
1067 const sub_set = &query.cpu_features_sub;
1068 for (m_args) |m_arg| {
1069 if (mem.cutPrefix(u8, m_arg, "-mno-")) |llvm_name| {
1070 const index = llvm_to_index.get(llvm_name) orelse {
1071 try d.warn("unknown CPU feature '{s}'", .{llvm_name});
1072 continue;
1073 };
1074 sub_set.addFeature(index);
1075 } else if (mem.cutPrefix(u8, m_arg, "-m")) |llvm_name| {
1076 const index = llvm_to_index.get(llvm_name) orelse {
1077 try d.warn("unknown CPU feature '{s}'", .{llvm_name});
1078 continue;
1079 };
1080 add_set.addFeature(index);
1081 } else {
1082 unreachable;
1083 }
1084 }
1085 }
1086
1026 if (opt_cpu_features) |cpu_features| {1087 if (opt_cpu_features) |cpu_features| {
1027 const all_features = arch.allFeaturesList();1088 const all_features = arch.allFeaturesList();
1028 var index: usize = 0;1089 var index: usize = 0;
...@@ -1041,10 +1102,8 @@ fn parseTarget(d: *Driver, arch_os_abi: []const u8, opt_cpu_features: ?[]const u...@@ -1041,10 +1102,8 @@ fn parseTarget(d: *Driver, arch_os_abi: []const u8, opt_cpu_features: ?[]const u
1041 } else if (mem.eql(u8, cpu_name, "baseline")) {1102 } else if (mem.eql(u8, cpu_name, "baseline")) {
1042 query.cpu_model = .baseline;1103 query.cpu_model = .baseline;
1043 } else {1104 } else {
1044 query.cpu_model = .{1105 query.cpu_model = .{ .explicit = arch.parseCpuModel(cpu_name) orelse
1045 .explicit = arch.parseCpuModel(cpu_name) orelse1106 return d.fatal("unknown CPU model: '{s}'", .{cpu_name}) };
1046 return d.fatal("unknown CPU model: '{s}'", .{cpu_name}),
1047 };
1048 }1107 }
10491108
1050 if (opt_sub_arch) |sub_arch| {1109 if (opt_sub_arch) |sub_arch| {
...@@ -1079,9 +1138,16 @@ fn parseTarget(d: *Driver, arch_os_abi: []const u8, opt_cpu_features: ?[]const u...@@ -1079,9 +1138,16 @@ fn parseTarget(d: *Driver, arch_os_abi: []const u8, opt_cpu_features: ?[]const u
1079 return d.fatal("unknown CPU feature: '{s}'", .{feature_name});1138 return d.fatal("unknown CPU feature: '{s}'", .{feature_name});
1080 }1139 }
1081 }1140 }
1082 } else if (opt_sub_arch) |sub_arch| {1141 } else if (!arch_is_native) {
1083 if (sub_arch.toFeature(arch)) |feature| {1142 if (Target.cpuModelForTargetQuadruple(arch, query.os_tag, query.abi, vendor, opt_sub_arch)) |model| {
1084 query.cpu_features_add.addFeature(feature);1143 query.cpu_model = .{ .explicit = model };
1144 } else if (opt_sub_arch) |sub_arch| {
1145 if (sub_arch.toCpuModel(arch)) |model| {
1146 query.cpu_model = .{ .explicit = model };
1147 } else if (sub_arch.toFeature(arch)) |feature| {
1148 query.cpu_model = .{ .explicit = &.{ .name = "empty", .llvm_name = null, .features = .empty } };
1149 query.cpu_features_add.addFeature(feature);
1150 }
1085 }1151 }
1086 }1152 }
10871153
...@@ -1183,12 +1249,13 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8, comptime fast_...@@ -1183,12 +1249,13 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8, comptime fast_
1183 var stdout = std.Io.File.stdout().writer(d.comp.io, &stdout_buf);1249 var stdout = std.Io.File.stdout().writer(d.comp.io, &stdout_buf);
1184 if (parseArgs(d, &stdout.interface, &macro_buf, args) catch |er| switch (er) {1250 if (parseArgs(d, &stdout.interface, &macro_buf, args) catch |er| switch (er) {
1185 error.WriteFailed => return d.fatal("failed to write to stdout: {s}", .{errorDescription(er)}),1251 error.WriteFailed => return d.fatal("failed to write to stdout: {s}", .{errorDescription(er)}),
1186 error.OutOfMemory, error.FatalError => |e| return e,1252 error.OutOfMemory => return error.OutOfMemory,
1253 error.FatalError => return error.FatalError,
1187 }) return;1254 }) return;
1188 if (macro_buf.items.len > std.math.maxInt(u32)) {1255 if (macro_buf.items.len > std.math.maxInt(u32)) {
1189 return d.fatal("user provided macro source exceeded max size", .{});1256 return d.fatal("user provided macro source exceeded max size", .{});
1190 }1257 }
1191 const contents = try macro_buf.toOwnedSlice(d.comp.gpa);1258 const contents = try macro_buf.toOwnedSliceSentinel(d.comp.gpa, 0);
1192 errdefer d.comp.gpa.free(contents);1259 errdefer d.comp.gpa.free(contents);
11931260
1194 break :macros try d.comp.addSourceFromOwnedBuffer("<command line>", contents, .user);1261 break :macros try d.comp.addSourceFromOwnedBuffer("<command line>", contents, .user);
...@@ -1207,11 +1274,12 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8, comptime fast_...@@ -1207,11 +1274,12 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8, comptime fast_
1207 };1274 };
12081275
1209 tc.discover() catch |er| switch (er) {1276 tc.discover() catch |er| switch (er) {
1210 error.OutOfMemory => |e| return e,1277 error.OutOfMemory => return error.OutOfMemory,
1211 error.TooManyMultilibs => return d.fatal("found more than one multilib with the same priority", .{}),1278 error.TooManyMultilibs => return d.fatal("found more than one multilib with the same priority", .{}),
1212 };1279 };
1213 tc.defineSystemIncludes() catch |er| switch (er) {1280 tc.defineSystemIncludes() catch |er| switch (er) {
1214 error.OutOfMemory, error.FatalError => |e| return e,1281 error.OutOfMemory => return error.OutOfMemory,
1282 error.FatalError => return error.FatalError,
1215 };1283 };
1216 try d.comp.initSearchPath(d.includes.items, d.verbose_search_path);1284 try d.comp.initSearchPath(d.includes.items, d.verbose_search_path);
12171285
...@@ -1238,12 +1306,7 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8, comptime fast_...@@ -1238,12 +1306,7 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8, comptime fast_
1238}1306}
12391307
1240/// Initializes a DepFile if requested by driver options.1308/// Initializes a DepFile if requested by driver options.
1241pub fn initDepFile(1309pub fn initDepFile(d: *Driver, source: Source, buf: *[std.fs.max_name_bytes]u8) Compilation.Error!?DepFile {
1242 d: *Driver,
1243 source: Source,
1244 buf: *[std.fs.max_name_bytes]u8,
1245 omit_source: bool,
1246) Compilation.Error!?DepFile {
1247 if (!d.dependencies.m and !d.dependencies.md) return null;1310 if (!d.dependencies.m and !d.dependencies.md) return null;
1248 var dep_file: DepFile = .{1311 var dep_file: DepFile = .{
1249 .target = undefined,1312 .target = undefined,
...@@ -1257,11 +1320,11 @@ pub fn initDepFile(...@@ -1257,11 +1320,11 @@ pub fn initDepFile(
1257 std.fs.path.stem(source.path),1320 std.fs.path.stem(source.path),
1258 d.comp.target.ofmt.fileExt(d.comp.target.cpu.arch),1321 d.comp.target.ofmt.fileExt(d.comp.target.cpu.arch),
1259 };1322 };
1260 dep_file.target = std.fmt.bufPrint(buf, "{s}{s}", args) catch1323 dep_file.target = mem.print(buf, "{s}{s}", args) catch
1261 return d.fatal("dependency file name too long for filesystem '{s}{s}'", args);1324 return d.fatal("dependency file name too long for filesystem '{s}{s}'", args);
1262 }1325 }
12631326
1264 if (!omit_source) try dep_file.addDependency(d.comp.gpa, source.path);1327 try dep_file.addDependency(d.comp.gpa, source.path);
1265 errdefer comptime unreachable;1328 errdefer comptime unreachable;
12661329
1267 return dep_file;1330 return dep_file;
...@@ -1270,7 +1333,7 @@ pub fn initDepFile(...@@ -1270,7 +1333,7 @@ pub fn initDepFile(
1270/// Returns name requested for the dependency file or null for stdout.1333/// Returns name requested for the dependency file or null for stdout.
1271pub fn getDepFileName(d: *Driver, source: Source, buf: *[std.fs.max_name_bytes]u8) Compilation.Error!?[]const u8 {1334pub fn getDepFileName(d: *Driver, source: Source, buf: *[std.fs.max_name_bytes]u8) Compilation.Error!?[]const u8 {
1272 if (d.dependencies.file) |file| {1335 if (d.dependencies.file) |file| {
1273 if (std.mem.eql(u8, file, "-")) return null;1336 if (mem.eql(u8, file, "-")) return null;
1274 return file;1337 return file;
1275 }1338 }
1276 if (!d.dependencies.md) {1339 if (!d.dependencies.md) {
...@@ -1279,7 +1342,7 @@ pub fn getDepFileName(d: *Driver, source: Source, buf: *[std.fs.max_name_bytes]u...@@ -1279,7 +1342,7 @@ pub fn getDepFileName(d: *Driver, source: Source, buf: *[std.fs.max_name_bytes]u
1279 }1342 }
12801343
1281 const base_name = std.fs.path.stem(d.output_name orelse source.path);1344 const base_name = std.fs.path.stem(d.output_name orelse source.path);
1282 return std.fmt.bufPrint(buf, "{s}.d", .{base_name}) catch1345 return mem.print(buf, "{s}.d", .{base_name}) catch
1283 return d.fatal("dependency file name too long for filesystem: {s}.d", .{base_name});1346 return d.fatal("dependency file name too long for filesystem: {s}.d", .{base_name});
1284}1347}
12851348
...@@ -1297,7 +1360,7 @@ fn getRandomFilename(d: *Driver, buf: *[std.fs.max_name_bytes]u8, extension: []c...@@ -1297,7 +1360,7 @@ fn getRandomFilename(d: *Driver, buf: *[std.fs.max_name_bytes]u8, extension: []c
1297 @as([]const u8, &random_name),1360 @as([]const u8, &random_name),
1298 extension,1361 extension,
1299 };1362 };
1300 return std.fmt.bufPrint(buf, fmt_template, fmt_args) catch return d.fatal("Filename too long for filesystem: " ++ fmt_template, fmt_args);1363 return mem.print(buf, fmt_template, fmt_args) catch return d.fatal("Filename too long for filesystem: " ++ fmt_template, fmt_args);
1301}1364}
13021365
1303/// If it's used, buf will either hold a filename or `/tmp/<12 random bytes with base-64 encoding>.<extension>`1366/// If it's used, buf will either hold a filename or `/tmp/<12 random bytes with base-64 encoding>.<extension>`
...@@ -1310,7 +1373,7 @@ fn getOutFileName(d: *Driver, source: Source, buf: *[std.fs.max_name_bytes]u8) !...@@ -1310,7 +1373,7 @@ fn getOutFileName(d: *Driver, source: Source, buf: *[std.fs.max_name_bytes]u8) !
1310 if (d.only_preprocess_and_compile) ".s" else d.comp.target.ofmt.fileExt(d.comp.target.cpu.arch),1373 if (d.only_preprocess_and_compile) ".s" else d.comp.target.ofmt.fileExt(d.comp.target.cpu.arch),
1311 };1374 };
1312 return d.output_name orelse1375 return d.output_name orelse
1313 std.fmt.bufPrint(buf, fmt_template, fmt_args) catch return d.fatal("Filename too long for filesystem: " ++ fmt_template, fmt_args);1376 mem.print(buf, fmt_template, fmt_args) catch return d.fatal("Filename too long for filesystem: " ++ fmt_template, fmt_args);
1314 }1377 }
13151378
1316 return d.getRandomFilename(buf, d.comp.target.ofmt.fileExt(d.comp.target.cpu.arch));1379 return d.getRandomFilename(buf, d.comp.target.ofmt.fileExt(d.comp.target.cpu.arch));
...@@ -1367,7 +1430,7 @@ fn processSource(...@@ -1367,7 +1430,7 @@ fn processSource(
1367 defer pp.deinit();1430 defer pp.deinit();
13681431
1369 var name_buf: [std.fs.max_name_bytes]u8 = undefined;1432 var name_buf: [std.fs.max_name_bytes]u8 = undefined;
1370 var opt_dep_file = try d.initDepFile(source, &name_buf, false);1433 var opt_dep_file = try d.initDepFile(source, &name_buf);
1371 defer if (opt_dep_file) |*dep_file| dep_file.deinit(gpa);1434 defer if (opt_dep_file) |*dep_file| dep_file.deinit(gpa);
13721435
1373 if (opt_dep_file) |*dep_file| pp.dep_file = dep_file;1436 if (opt_dep_file) |*dep_file| pp.dep_file = dep_file;
...@@ -1415,11 +1478,6 @@ fn processSource(...@@ -1415,11 +1478,6 @@ fn processSource(
1415 if (d.only_preprocess) {1478 if (d.only_preprocess) {
1416 d.printDiagnosticsStats();1479 d.printDiagnosticsStats();
14171480
1418 if (d.diagnostics.errors != prev_total) {
1419 if (fast_exit) std.process.exit(1); // Not linking, no need for cleanup.
1420 return;
1421 }
1422
1423 if (d.dependencies.m and !d.dependencies.md) {1481 if (d.dependencies.m and !d.dependencies.md) {
1424 if (fast_exit) std.process.exit(1); // Not linking, no need for cleanup.1482 if (fast_exit) std.process.exit(1); // Not linking, no need for cleanup.
1425 return;1483 return;
...@@ -1507,7 +1565,7 @@ fn processSource(...@@ -1507,7 +1565,7 @@ fn processSource(
1507 return;1565 return;
1508 }1566 }
1509 } else {1567 } else {
1510 var ir = try tree.genIr();1568 var ir = try tree.genIr(&pp);
1511 defer ir.deinit(gpa);1569 defer ir.deinit(gpa);
15121570
1513 if (d.verbose_ir) {1571 if (d.verbose_ir) {
...@@ -1524,8 +1582,8 @@ fn processSource(...@@ -1524,8 +1582,8 @@ fn processSource(
1524 render_errors.deinit(gpa);1582 render_errors.deinit(gpa);
1525 }1583 }
15261584
1527 var obj = ir.render(gpa, d.comp.target.toZigTarget(), &render_errors) catch |er| switch (er) {1585 var obj = ir.render(gpa, d.comp.target.toZigTarget(), &render_errors) catch |e| switch (e) {
1528 error.OutOfMemory => |e| return e,1586 error.OutOfMemory => return error.OutOfMemory,
1529 error.LowerFail => {1587 error.LowerFail => {
1530 return d.fatal(1588 return d.fatal(
1531 "unable to render Ir to machine code: {s}",1589 "unable to render Ir to machine code: {s}",
lib/compiler/aro/aro/Driver/Distro.zig+3-3
...@@ -226,9 +226,9 @@ fn detectLSBRelease(tc: *const Toolchain) ?Tag {...@@ -226,9 +226,9 @@ fn detectLSBRelease(tc: *const Toolchain) ?Tag {
226fn scanForRedHat(buf: []const u8) Tag {226fn scanForRedHat(buf: []const u8) Tag {
227 if (mem.startsWith(u8, buf, "Fedora release")) return .fedora;227 if (mem.startsWith(u8, buf, "Fedora release")) return .fedora;
228 if (mem.startsWith(u8, buf, "Red Hat Enterprise Linux") or mem.startsWith(u8, buf, "CentOS") or mem.startsWith(u8, buf, "Scientific Linux")) {228 if (mem.startsWith(u8, buf, "Red Hat Enterprise Linux") or mem.startsWith(u8, buf, "CentOS") or mem.startsWith(u8, buf, "Scientific Linux")) {
229 if (mem.indexOfPos(u8, buf, 0, "release 7") != null) return .rhel7;229 if (mem.findPos(u8, buf, 0, "release 7") != null) return .rhel7;
230 if (mem.indexOfPos(u8, buf, 0, "release 6") != null) return .rhel6;230 if (mem.findPos(u8, buf, 0, "release 6") != null) return .rhel6;
231 if (mem.indexOfPos(u8, buf, 0, "release 5") != null) return .rhel5;231 if (mem.findPos(u8, buf, 0, "release 5") != null) return .rhel5;
232 }232 }
233233
234 return .unknown;234 return .unknown;
lib/compiler/aro/aro/Driver/GCCVersion.zig+2-2
...@@ -69,7 +69,7 @@ pub fn parse(text: []const u8) GCCVersion {...@@ -69,7 +69,7 @@ pub fn parse(text: []const u8) GCCVersion {
69 var minor_str = second;69 var minor_str = second;
7070
71 if (rest.len == 0) {71 if (rest.len == 0) {
72 const end = mem.indexOfNone(u8, minor_str, "0123456789") orelse minor_str.len;72 const end = mem.findNone(u8, minor_str, "0123456789") orelse minor_str.len;
73 if (end > 0) {73 if (end > 0) {
74 good.suffix = minor_str[end..];74 good.suffix = minor_str[end..];
75 minor_str = minor_str[0..end];75 minor_str = minor_str[0..end];
...@@ -80,7 +80,7 @@ pub fn parse(text: []const u8) GCCVersion {...@@ -80,7 +80,7 @@ pub fn parse(text: []const u8) GCCVersion {
80 good.minor_str = minor_str;80 good.minor_str = minor_str;
8181
82 if (rest.len > 0) {82 if (rest.len > 0) {
83 const end = mem.indexOfNone(u8, rest, "0123456789") orelse rest.len;83 const end = mem.findNone(u8, rest, "0123456789") orelse rest.len;
84 if (end > 0) {84 if (end > 0) {
85 const patch_num_text = rest[0..end];85 const patch_num_text = rest[0..end];
86 good.patch = std.fmt.parseInt(i32, patch_num_text, 10) catch return bad;86 good.patch = std.fmt.parseInt(i32, patch_num_text, 10) catch return bad;
lib/compiler/aro/aro/Hideset.zig+31-33
...@@ -13,7 +13,6 @@ const Allocator = mem.Allocator;...@@ -13,7 +13,6 @@ const Allocator = mem.Allocator;
1313
14const Compilation = @import("Compilation.zig");14const Compilation = @import("Compilation.zig");
15const Source = @import("Source.zig");15const Source = @import("Source.zig");
16const Tokenizer = @import("Tokenizer.zig");
1716
18pub const Hideset = @This();17pub const Hideset = @This();
1918
...@@ -21,18 +20,6 @@ const Identifier = struct {...@@ -21,18 +20,6 @@ const Identifier = struct {
21 id: Source.Id = .unused,20 id: Source.Id = .unused,
22 byte_offset: u32 = 0,21 byte_offset: u32 = 0,
2322
24 fn slice(self: Identifier, comp: *const Compilation) []const u8 {
25 var tmp_tokenizer: Tokenizer = .{
26 .buf = comp.getSource(self.id).buf,
27 .langopts = comp.langopts,
28 .index = self.byte_offset,
29 .source = .generated,
30 .splice_locs = &.{},
31 };
32 const res = tmp_tokenizer.next();
33 return tmp_tokenizer.buf[res.start..res.end];
34 }
35
36 fn fromLocation(loc: Source.Location) Identifier {23 fn fromLocation(loc: Source.Location) Identifier {
37 return .{24 return .{
38 .id = loc.id,25 .id = loc.id,
...@@ -43,6 +30,7 @@ const Identifier = struct {...@@ -43,6 +30,7 @@ const Identifier = struct {
4330
44const Item = struct {31const Item = struct {
45 identifier: Identifier = .{},32 identifier: Identifier = .{},
33 len: u32 = 0,
46 next: Index = .none,34 next: Index = .none,
4735
48 const List = std.MultiArrayList(Item);36 const List = std.MultiArrayList(Item);
...@@ -65,10 +53,16 @@ const Iterator = struct {...@@ -65,10 +53,16 @@ const Iterator = struct {
65 slice: Item.List.Slice,53 slice: Item.List.Slice,
66 i: Index,54 i: Index,
6755
68 fn next(self: *Iterator) ?Identifier {56 fn next(self: *Iterator) ?Item {
69 if (self.i == .none) return null;57 if (self.i == .none) return null;
70 defer self.i = self.slice.items(.next)[@backingInt(self.i)];58 defer self.i = self.slice.items(.next)[@backingInt(self.i)];
71 return self.slice.items(.identifier)[@backingInt(self.i)];59 const identifier = self.slice.items(.identifier)[@backingInt(self.i)];
60 const length = self.slice.items(.len)[@backingInt(self.i)];
61
62 return .{
63 .identifier = identifier,
64 .len = length,
65 };
72 }66 }
73};67};
7468
...@@ -110,21 +104,21 @@ fn ensureUnusedCapacity(self: *Hideset, new_size: usize) !void {...@@ -110,21 +104,21 @@ fn ensureUnusedCapacity(self: *Hideset, new_size: usize) !void {
110}104}
111105
112/// Creates a one-item list with contents `identifier`106/// Creates a one-item list with contents `identifier`
113fn createNodeAssumeCapacity(self: *Hideset, identifier: Identifier) Index {107fn createNodeAssumeCapacity(self: *Hideset, identifier: Identifier, length: u32) Index {
114 return self.createNodeAssumeCapacityExtra(identifier, .none);108 return self.createNodeAssumeCapacityExtra(identifier, .none, length);
115}109}
116110
117/// Creates a one-item list with contents `identifier`111/// Creates a one-item list with contents `identifier`
118fn createNodeAssumeCapacityExtra(self: *Hideset, identifier: Identifier, next: Index) Index {112fn createNodeAssumeCapacityExtra(self: *Hideset, identifier: Identifier, next: Index, length: u32) Index {
119 const next_idx = self.linked_list.len;113 const next_idx = self.linked_list.len;
120 self.linked_list.appendAssumeCapacity(.{ .identifier = identifier, .next = next });114 self.linked_list.appendAssumeCapacity(.{ .identifier = identifier, .next = next, .len = length });
121 return @fromBackingInt(@intCast(next_idx));115 return @fromBackingInt(@intCast(next_idx));
122}116}
123117
124/// Create a new list with `identifier` at the front followed by `tail`118/// Create a new list with `identifier` at the front followed by `tail`
125pub fn prepend(self: *Hideset, loc: Source.Location, tail: Index) !Index {119pub fn prepend(self: *Hideset, loc: Source.Location, length: u32, tail: Index) !Index {
126 const new_idx = self.linked_list.len;120 const new_idx = self.linked_list.len;
127 try self.linked_list.append(self.comp.gpa, .{ .identifier = Identifier.fromLocation(loc), .next = tail });121 try self.linked_list.append(self.comp.gpa, .{ .identifier = Identifier.fromLocation(loc), .next = tail, .len = length });
128 return @fromBackingInt(@intCast(new_idx));122 return @fromBackingInt(@intCast(new_idx));
129}123}
130124
...@@ -135,16 +129,16 @@ pub fn @"union"(self: *Hideset, a: Index, b: Index) !Index {...@@ -135,16 +129,16 @@ pub fn @"union"(self: *Hideset, a: Index, b: Index) !Index {
135 self.tmp_map.clearRetainingCapacity();129 self.tmp_map.clearRetainingCapacity();
136130
137 var it = self.iterator(b);131 var it = self.iterator(b);
138 while (it.next()) |identifier| {132 while (it.next()) |item| {
139 try self.tmp_map.put(self.comp.gpa, identifier, {});133 try self.tmp_map.put(self.comp.gpa, item.identifier, {});
140 }134 }
141135
142 var head: Index = b;136 var head: Index = b;
143 try self.ensureUnusedCapacity(self.len(a));137 try self.ensureUnusedCapacity(self.len(a));
144 it = self.iterator(a);138 it = self.iterator(a);
145 while (it.next()) |identifier| {139 while (it.next()) |item| {
146 if (!self.tmp_map.contains(identifier)) {140 if (!self.tmp_map.contains(item.identifier)) {
147 head = self.createNodeAssumeCapacityExtra(identifier, head);141 head = self.createNodeAssumeCapacityExtra(item.identifier, head, item.len);
148 }142 }
149 }143 }
150 return head;144 return head;
...@@ -152,8 +146,12 @@ pub fn @"union"(self: *Hideset, a: Index, b: Index) !Index {...@@ -152,8 +146,12 @@ pub fn @"union"(self: *Hideset, a: Index, b: Index) !Index {
152146
153pub fn contains(self: *const Hideset, list: Index, str: []const u8) bool {147pub fn contains(self: *const Hideset, list: Index, str: []const u8) bool {
154 var it = self.iterator(list);148 var it = self.iterator(list);
155 while (it.next()) |identifier| {149 while (it.next()) |item| {
156 if (mem.eql(u8, str, identifier.slice(self.comp))) return true;150 const start = item.identifier.byte_offset;
151 const end = start + item.len;
152 const slice = self.comp.getSource(item.identifier.id).buf[start..end];
153
154 if (mem.eql(u8, str, slice)) return true;
157 }155 }
158 return false;156 return false;
159}157}
...@@ -176,15 +174,15 @@ pub fn intersection(self: *Hideset, a: Index, b: Index) !Index {...@@ -176,15 +174,15 @@ pub fn intersection(self: *Hideset, a: Index, b: Index) !Index {
176 var head: Index = .none;174 var head: Index = .none;
177 var it = self.iterator(a);175 var it = self.iterator(a);
178 var a_len: usize = 0;176 var a_len: usize = 0;
179 while (it.next()) |identifier| : (a_len += 1) {177 while (it.next()) |item| : (a_len += 1) {
180 try self.tmp_map.put(self.comp.gpa, identifier, {});178 try self.tmp_map.put(self.comp.gpa, item.identifier, {});
181 }179 }
182 try self.ensureUnusedCapacity(@min(a_len, self.len(b)));180 try self.ensureUnusedCapacity(@min(a_len, self.len(b)));
183181
184 it = self.iterator(b);182 it = self.iterator(b);
185 while (it.next()) |identifier| {183 while (it.next()) |item| {
186 if (self.tmp_map.contains(identifier)) {184 if (self.tmp_map.contains(item.identifier)) {
187 const new_idx = self.createNodeAssumeCapacity(identifier);185 const new_idx = self.createNodeAssumeCapacity(item.identifier, item.len);
188 if (head == .none) {186 if (head == .none) {
189 head = new_idx;187 head = new_idx;
190 }188 }
lib/compiler/aro/aro/LangOpts.zig+110-6
...@@ -1,7 +1,8 @@...@@ -1,7 +1,8 @@
1const std = @import("std");1const std = @import("std");
22
3const Attribute = @import("Attribute.zig");
3const char_info = @import("char_info.zig");4const char_info = @import("char_info.zig");
4const DiagnosticTag = @import("Diagnostics.zig").Tag;5const Target = @import("Target.zig");
56
6pub const Compiler = enum {7pub const Compiler = enum {
7 clang,8 clang,
...@@ -57,10 +58,14 @@ pub const Standard = enum {...@@ -57,10 +58,14 @@ pub const Standard = enum {
57 default,58 default,
58 /// ISO C 2017 with GNU extensions59 /// ISO C 2017 with GNU extensions
59 gnu17,60 gnu17,
60 /// Working Draft for ISO C2361 /// ISO C 2023
61 c23,62 c23,
62 /// Working Draft for ISO C23 with GNU extensions63 /// ISO C 2023 with GNU extensions
63 gnu23,64 gnu23,
65 /// Working Draft for ISO C2Y
66 c2y,
67 /// Working Draft for ISO C2Y with GNU extensions
68 gnu2y,
6469
65 const NameMap = std.StaticStringMap(Standard).initComptime(.{70 const NameMap = std.StaticStringMap(Standard).initComptime(.{
66 .{ "c89", .c89 }, .{ "c90", .c89 }, .{ "iso9899:1990", .c89 },71 .{ "c89", .c89 }, .{ "c90", .c89 }, .{ "iso9899:1990", .c89 },
...@@ -71,7 +76,8 @@ pub const Standard = enum {...@@ -71,7 +76,8 @@ pub const Standard = enum {
71 .{ "iso9899:201x", .c11 }, .{ "gnu11", .gnu11 }, .{ "c17", .c17 },76 .{ "iso9899:201x", .c11 }, .{ "gnu11", .gnu11 }, .{ "c17", .c17 },
72 .{ "iso9899:2017", .c17 }, .{ "c18", .c17 }, .{ "iso9899:2018", .c17 },77 .{ "iso9899:2017", .c17 }, .{ "c18", .c17 }, .{ "iso9899:2018", .c17 },
73 .{ "gnu17", .gnu17 }, .{ "gnu18", .gnu17 }, .{ "c23", .c23 },78 .{ "gnu17", .gnu17 }, .{ "gnu18", .gnu17 }, .{ "c23", .c23 },
74 .{ "gnu23", .gnu23 }, .{ "c2x", .c23 }, .{ "gnu2x", .gnu23 },79 .{ "iso9899:2024", .c23 }, .{ "gnu23", .gnu23 }, .{ "c2x", .c23 },
80 .{ "gnu2x", .gnu23 }, .{ "c2y", .c2y }, .{ "gnu2y", .gnu23 },
75 });81 });
7682
77 pub fn atLeast(self: Standard, other: Standard) bool {83 pub fn atLeast(self: Standard, other: Standard) bool {
...@@ -80,7 +86,7 @@ pub const Standard = enum {...@@ -80,7 +86,7 @@ pub const Standard = enum {
8086
81 pub fn isGNU(standard: Standard) bool {87 pub fn isGNU(standard: Standard) bool {
82 return switch (standard) {88 return switch (standard) {
83 .gnu89, .gnu99, .gnu11, .default, .gnu17, .gnu23 => true,89 .gnu89, .gnu99, .gnu11, .default, .gnu17, .gnu23, .gnu2y => true,
84 else => false,90 else => false,
85 };91 };
86 }92 }
...@@ -98,6 +104,7 @@ pub const Standard = enum {...@@ -98,6 +104,7 @@ pub const Standard = enum {
98 .c11, .gnu11 => "201112L",104 .c11, .gnu11 => "201112L",
99 .default, .c17, .gnu17 => "201710L",105 .default, .c17, .gnu17 => "201710L",
100 .c23, .gnu23 => "202311L",106 .c23, .gnu23 => "202311L",
107 .c2y, .gnu2y => "202400L",
101 };108 };
102 }109 }
103110
...@@ -120,6 +127,20 @@ pub const Standard = enum {...@@ -120,6 +127,20 @@ pub const Standard = enum {
120 }127 }
121};128};
122129
130pub const ArmLdrex = packed struct(u4) {
131 b: bool = false, // byte (8-bit)
132 h: bool = false, // half (16-bit)
133 w: bool = false, // word (32-bit)
134 d: bool = false, // double (64-bit)
135
136 pub const b_int: u4 = 1;
137 pub const h_int: u4 = 2;
138 pub const w_int: u4 = 4;
139 pub const d_int: u4 = 8;
140 pub const none: ArmLdrex = .{};
141 pub const all: ArmLdrex = @bitCast(@as(u4, 15));
142};
143
123const LangOpts = @This();144const LangOpts = @This();
124145
125emulate: Compiler = .no,146emulate: Compiler = .no,
...@@ -157,7 +178,16 @@ gnuc_version: ?u32 = null,...@@ -157,7 +178,16 @@ gnuc_version: ?u32 = null,
157178
158bounds_safety: BoundsSafety = .none,179bounds_safety: BoundsSafety = .none,
159180
160default_symbol_visibility: std.builtin.SymbolVisibility = .default,181default_symbol_visibility: Attribute.Args.Visibility = .default,
182
183blocks: bool = false,
184
185/// If non-null, contains ARM LDREX/STREX mask. Only populated on ARM targets.
186arm_ldrex: ?ArmLdrex = null,
187/// Whether the target supports AVR's non-standard 24-bit integer types.
188has_int24: bool = false,
189
190pthread: bool = false,
161191
162pub fn setStandard(self: *LangOpts, name: []const u8) error{InvalidStandard}!void {192pub fn setStandard(self: *LangOpts, name: []const u8) error{InvalidStandard}!void {
163 self.standard = Standard.NameMap.get(name) orelse return error.InvalidStandard;193 self.standard = Standard.NameMap.get(name) orelse return error.InvalidStandard;
...@@ -176,6 +206,10 @@ pub fn hasDigraphs(self: *const LangOpts) bool {...@@ -176,6 +206,10 @@ pub fn hasDigraphs(self: *const LangOpts) bool {
176 return self.digraphs orelse self.standard.atLeast(.gnu89);206 return self.digraphs orelse self.standard.atLeast(.gnu89);
177}207}
178208
209pub fn hasTargetOsMacros(self: *const LangOpts) bool {
210 return self.emulate == .no or self.emulate == .clang;
211}
212
179pub fn setEmulatedCompiler(self: *LangOpts, compiler: Compiler) void {213pub fn setEmulatedCompiler(self: *LangOpts, compiler: Compiler) void {
180 self.emulate = compiler;214 self.emulate = compiler;
181 self.setMSExtensions(compiler == .msvc);215 self.setMSExtensions(compiler == .msvc);
...@@ -188,3 +222,73 @@ pub fn setFpEvalMethod(self: *LangOpts, fp_eval_method: FPEvalMethod) void {...@@ -188,3 +222,73 @@ pub fn setFpEvalMethod(self: *LangOpts, fp_eval_method: FPEvalMethod) void {
188pub fn setCharSignedness(self: *LangOpts, signedness: std.builtin.Signedness) void {222pub fn setCharSignedness(self: *LangOpts, signedness: std.builtin.Signedness) void {
189 self.char_signedness_override = signedness;223 self.char_signedness_override = signedness;
190}224}
225
226pub fn allowFixedSizedIntSuffixes(self: *const LangOpts) bool {
227 return switch (self.emulate) {
228 .msvc => true,
229 .clang, .no => self.ms_extensions,
230 .gcc => false,
231 };
232}
233
234pub fn setTargetOptions(self: *LangOpts, target: Target) void {
235 // TODO: Move more stuff here :)
236 self.has_int24 = target.cpu.arch == .avr;
237 switch (target.cpu.arch) {
238 .arm, .armeb, .thumb, .thumbeb => {
239 {
240 // ARM exclusive load/store support.
241 // See this: https://arm-software.github.io/acle/main/acle.html#ldrexstrex
242 // These constants define masks containing data sizes are suitable for
243 // __builtin_arm_ldrex and __builtin_arm_strex.
244
245 const arm_version = if (target.armVersion()) |v| v.version else 6;
246 const ldrex: ArmLdrex = switch (arm_version) {
247 6 => if (target.cpu.has(.arm, .mclass))
248 .none
249 else if (target.cpu.has(.arm, .v6k) or target.cpu.has(.arm, .v6kz))
250 .all
251 else
252 .{ .w = true },
253 7, 8 => if (target.cpu.has(.arm, .mclass))
254 .{ .b = true, .h = true, .w = true }
255 else
256 .all,
257 9 => .all,
258 else => .none,
259 };
260
261 self.arm_ldrex = ldrex;
262 }
263 },
264 .aarch64, .aarch64_be => {
265 // ARM ldrex is always full-width
266 self.arm_ldrex = .all;
267 },
268 else => {},
269 }
270}
271
272test "ArmLdrex versions" {
273 const cases = [_]struct {
274 ldrex: ArmLdrex,
275 val: u4,
276 }{
277 .{ .ldrex = .{ .b = true }, .val = 1 },
278 .{ .ldrex = .{ .b = true, .h = true }, .val = 3 },
279 .{ .ldrex = .{ .b = true, .h = true, .w = true }, .val = 7 },
280 .{ .ldrex = .{ .b = true, .h = true, .w = true, .d = true }, .val = 15 },
281
282 .{ .ldrex = .{ .b = true }, .val = ArmLdrex.b_int },
283 .{ .ldrex = .{ .h = true }, .val = ArmLdrex.h_int },
284 .{ .ldrex = .{ .w = true }, .val = ArmLdrex.w_int },
285 .{ .ldrex = .{ .d = true }, .val = ArmLdrex.d_int },
286
287 .{ .ldrex = .none, .val = 0 },
288 .{ .ldrex = .all, .val = 15 },
289 };
290
291 for (cases) |c| {
292 try std.testing.expectEqual(c.val, @as(u4, @bitCast(c.ldrex)));
293 }
294}
lib/compiler/aro/aro/Parser.zig+2356-1948
...@@ -17,20 +17,40 @@ const Source = @import("Source.zig");...@@ -17,20 +17,40 @@ const Source = @import("Source.zig");
17const StringId = @import("StringInterner.zig").StringId;17const StringId = @import("StringInterner.zig").StringId;
18const SymbolStack = @import("SymbolStack.zig");18const SymbolStack = @import("SymbolStack.zig");
19const Symbol = SymbolStack.Symbol;19const Symbol = SymbolStack.Symbol;
20const text_literal = @import("text_literal.zig");
21const Tokenizer = @import("Tokenizer.zig");20const Tokenizer = @import("Tokenizer.zig");
21const number_literal = Tokenizer.number_literal;
22const text_literal = Tokenizer.text_literal;
22const Tree = @import("Tree.zig");23const Tree = @import("Tree.zig");
23const Token = Tree.Token;24const Token = Tree.Token;
24const NumberPrefix = Token.NumberPrefix;
25const NumberSuffix = Token.NumberSuffix;
26const TokenIndex = Tree.TokenIndex;25const TokenIndex = Tree.TokenIndex;
27const Node = Tree.Node;26const Node = Tree.Node;
28const TypeStore = @import("TypeStore.zig");27const TypeStore = @import("TypeStore.zig");
29const Type = TypeStore.Type;28const Type = TypeStore.Type;
30const QualType = TypeStore.QualType;29const QualType = TypeStore.QualType;
31const Value = @import("Value.zig");30const Value = @import("Value.zig");
31const ArmLdrex = @import("LangOpts.zig").ArmLdrex;
32
33pub const Diagnostic = @import("Parser/Diagnostic.zig");
3234
33const NodeList = std.ArrayList(Node.Index);35const NodeList = std.ArrayList(Node.Index);
36const TentativeDefinitionKey = struct {
37 name: StringId,
38 kind: Kind,
39
40 const Kind = enum {
41 incomplete_type,
42 tentative_array,
43 };
44
45 fn incompleteType(name: StringId) TentativeDefinitionKey {
46 return .{ .name = name, .kind = .incomplete_type };
47 }
48
49 fn tentativeArray(name: StringId) TentativeDefinitionKey {
50 return .{ .name = name, .kind = .tentative_array };
51 }
52};
53
34const Switch = struct {54const Switch = struct {
35 default: ?TokenIndex = null,55 default: ?TokenIndex = null,
36 ranges: std.ArrayList(Range) = .empty,56 ranges: std.ArrayList(Range) = .empty,
...@@ -60,7 +80,7 @@ const Switch = struct {...@@ -60,7 +80,7 @@ const Switch = struct {
6080
61const Label = union(enum) {81const Label = union(enum) {
62 unresolved_goto: TokenIndex,82 unresolved_goto: TokenIndex,
63 label: TokenIndex,83 label: Node.Index,
64};84};
6585
66const InitContext = enum {86const InitContext = enum {
...@@ -72,15 +92,6 @@ const InitContext = enum {...@@ -72,15 +92,6 @@ const InitContext = enum {
72 static,92 static,
73};93};
7494
75pub const Error = Compilation.Error || error{ParsingFailed};
76
77/// An attribute that has been parsed but not yet validated in its context
78const TentativeAttribute = struct {
79 attr: Attribute,
80 tok: TokenIndex,
81 seen: bool = false,
82};
83
84/// How the parser handles const int decl references when it is expecting an integer95/// How the parser handles const int decl references when it is expecting an integer
85/// constant expression.96/// constant expression.
86const ConstDeclFoldingMode = enum {97const ConstDeclFoldingMode = enum {
...@@ -94,6 +105,8 @@ const ConstDeclFoldingMode = enum {...@@ -94,6 +105,8 @@ const ConstDeclFoldingMode = enum {
94 no_const_decl_folding,105 no_const_decl_folding,
95};106};
96107
108pub const Error = Compilation.Error || error{ParsingFailed};
109
97const Parser = @This();110const Parser = @This();
98111
99// values from preprocessor112// values from preprocessor
...@@ -119,25 +132,25 @@ param_buf: std.ArrayList(Type.Func.Param) = .empty,...@@ -119,25 +132,25 @@ param_buf: std.ArrayList(Type.Func.Param) = .empty,
119enum_buf: std.ArrayList(Type.Enum.Field) = .empty,132enum_buf: std.ArrayList(Type.Enum.Field) = .empty,
120/// Record type fields.133/// Record type fields.
121record_buf: std.ArrayList(Type.Record.Field) = .empty,134record_buf: std.ArrayList(Type.Record.Field) = .empty,
122/// Attributes that have been parsed but not yet validated or applied.135
123attr_buf: std.MultiArrayList(TentativeAttribute) = .empty,136wip_attrs: Attribute.Wip = .{},
124/// Used to store validated attributes before they are applied to types.137
125attr_application_buf: std.ArrayList(Attribute) = .empty,138/// Tentative definitions that require a delayed diagnostic unless completed later.
126/// type name -> variable name location for tentative definitions (top-level defs with thus-far-incomplete types)139/// For incomplete records/enums, the key stores the type name and the value is a variable name token.
127/// e.g. `struct Foo bar;` where `struct Foo` is not defined yet.140/// For incomplete arrays, the key stores the variable name and the value is the name token.
128/// The key is the StringId of `Foo` and the value is the TokenIndex of `bar`141tentative_defs: std.AutoArrayHashMapUnmanaged(TentativeDefinitionKey, TokenIndex) = .empty,
129/// Items are removed if the type is subsequently completed with a definition.142
130/// We only store the first tentative definition that uses a given type because this map is only used143maybe_unused_decl: std.AutoArrayHashMapUnmanaged(Node.Index, bool) = .empty,
131/// for issuing an error message, and correcting the first error for a type will fix all of them for that type.144/// Error count before the function body was parsed. No unused warnings are
132tentative_defs: std.AutoHashMapUnmanaged(StringId, TokenIndex) = .empty,145/// issued if there were errors in the body.
146local_unused_err_count: u32 = 0,
133147
134// configuration and miscellaneous info148// configuration and miscellaneous info
135no_eval: bool = false,
136in_macro: bool = false,
137extension_suppressed: bool = false,149extension_suppressed: bool = false,
138contains_address_of_label: bool = false,150contains_address_of_label: bool = false,
139label_count: u32 = 0,151label_count: u32 = 0,
140const_decl_folding: ConstDeclFoldingMode = .fold_const_decls,152const_decl_folding: ConstDeclFoldingMode = .fold_const_decls,
153record_static_assert_eval_note: bool = false,
141/// location of first computed goto in function currently being parsed154/// location of first computed goto in function currently being parsed
142/// if a computed goto is used, the function must contain an155/// if a computed goto is used, the function must contain an
143/// address-of-label expression (tracked with contains_address_of_label)156/// address-of-label expression (tracked with contains_address_of_label)
...@@ -156,6 +169,7 @@ func: struct {...@@ -156,6 +169,7 @@ func: struct {
156 name: TokenIndex = 0,169 name: TokenIndex = 0,
157 ident: ?Result = null,170 ident: ?Result = null,
158 pretty_ident: ?Result = null,171 pretty_ident: ?Result = null,
172 decl: Node.OptIndex = .null,
159} = .{},173} = .{},
160174
161/// Various variables that are different for each record.175/// Various variables that are different for each record.
...@@ -420,8 +434,6 @@ fn expectClosing(p: *Parser, opening: TokenIndex, id: Token.Id) Error!void {...@@ -420,8 +434,6 @@ fn expectClosing(p: *Parser, opening: TokenIndex, id: Token.Id) Error!void {
420 };434 };
421}435}
422436
423pub const Diagnostic = @import("Parser/Diagnostic.zig");
424
425pub fn err(p: *Parser, tok_i: TokenIndex, diagnostic: Diagnostic, args: anytype) Compilation.Error!void {437pub fn err(p: *Parser, tok_i: TokenIndex, diagnostic: Diagnostic, args: anytype) Compilation.Error!void {
426 if (p.extension_suppressed) {438 if (p.extension_suppressed) {
427 if (diagnostic.extension and diagnostic.kind == .off) return;439 if (diagnostic.extension and diagnostic.kind == .off) return;
...@@ -462,7 +474,6 @@ fn formatArgs(p: *Parser, w: *std.Io.Writer, fmt: []const u8, args: anytype) !vo...@@ -462,7 +474,6 @@ fn formatArgs(p: *Parser, w: *std.Io.Writer, fmt: []const u8, args: anytype) !vo
462 []const u8 => try Diagnostics.formatString(w, fmt[i..], arg),474 []const u8 => try Diagnostics.formatString(w, fmt[i..], arg),
463 Tree.Token.Id => try formatTokenId(w, fmt[i..], arg),475 Tree.Token.Id => try formatTokenId(w, fmt[i..], arg),
464 QualType => try p.formatQualType(w, fmt[i..], arg),476 QualType => try p.formatQualType(w, fmt[i..], arg),
465 text_literal.Ascii => try arg.format(w, fmt[i..]),
466 Result => try p.formatResult(w, fmt[i..], arg),477 Result => try p.formatResult(w, fmt[i..], arg),
467 *Result => try p.formatResult(w, fmt[i..], arg.*),478 *Result => try p.formatResult(w, fmt[i..], arg.*),
468 Enumerator, *Enumerator => try p.formatResult(w, fmt[i..], .{479 Enumerator, *Enumerator => try p.formatResult(w, fmt[i..], .{
...@@ -470,12 +481,12 @@ fn formatArgs(p: *Parser, w: *std.Io.Writer, fmt: []const u8, args: anytype) !vo...@@ -470,12 +481,12 @@ fn formatArgs(p: *Parser, w: *std.Io.Writer, fmt: []const u8, args: anytype) !vo
470 .val = arg.val,481 .val = arg.val,
471 .qt = arg.qt,482 .qt = arg.qt,
472 }),483 }),
473 Codepoint => try arg.format(w, fmt[i..]),484 *const Attribute.Wip.Parsed, *Attribute.Wip.Parsed => try formatAttributeName(w, fmt[i..], arg),
474 Normalized => try arg.format(w, fmt[i..]),485 Attribute => try formatAttributeName(w, fmt[i..], arg),
475 Escaped => try arg.format(w, fmt[i..]),
476 else => switch (@typeInfo(@TypeOf(arg))) {486 else => switch (@typeInfo(@TypeOf(arg))) {
477 .int, .comptime_int => try Diagnostics.formatInt(w, fmt[i..], arg),487 .int, .comptime_int => try Diagnostics.formatInt(w, fmt[i..], arg),
478 .pointer => try Diagnostics.formatString(w, fmt[i..], arg),488 .pointer => try Diagnostics.formatString(w, fmt[i..], arg),
489 .@"struct" => try arg.format(w, fmt[i..]),
479 else => comptime unreachable,490 else => comptime unreachable,
480 },491 },
481 };492 };
...@@ -495,7 +506,7 @@ fn formatQualType(p: *Parser, w: *std.Io.Writer, fmt: []const u8, qt: QualType)...@@ -495,7 +506,7 @@ fn formatQualType(p: *Parser, w: *std.Io.Writer, fmt: []const u8, qt: QualType)
495 try qt.print(p.comp, w);506 try qt.print(p.comp, w);
496 try w.writeByte('\'');507 try w.writeByte('\'');
497508
498 if (qt.isC23Auto()) return i;509 if (qt.isAuto()) return i;
499 if (qt.get(p.comp, .vector)) |vector_ty| {510 if (qt.get(p.comp, .vector)) |vector_ty| {
500 try w.print(" (vector of {d} '", .{vector_ty.len});511 try w.print(" (vector of {d} '", .{vector_ty.len});
501 try vector_ty.elem.printDesugared(p.comp, w);512 try vector_ty.elem.printDesugared(p.comp, w);
...@@ -515,7 +526,7 @@ fn formatResult(p: *Parser, w: *std.Io.Writer, fmt: []const u8, res: Result) !us...@@ -515,7 +526,7 @@ fn formatResult(p: *Parser, w: *std.Io.Writer, fmt: []const u8, res: Result) !us
515 .null => try w.writeAll("nullptr_t"),526 .null => try w.writeAll("nullptr_t"),
516 else => if (try res.val.print(res.qt, p.comp, w)) |nested| switch (nested) {527 else => if (try res.val.print(res.qt, p.comp, w)) |nested| switch (nested) {
517 .pointer => |ptr| {528 .pointer => |ptr| {
518 const ptr_node: Node.Index = @fromBackingInt(@intCast(ptr.node));529 const ptr_node: Node.Index = @fromBackingInt(ptr.node);
519 const decl_name = p.tree.tokSlice(ptr_node.tok(&p.tree));530 const decl_name = p.tree.tokSlice(ptr_node.tok(&p.tree));
520 try ptr.offset.printPointer(decl_name, p.comp, w);531 try ptr.offset.printPointer(decl_name, p.comp, w);
521 },532 },
...@@ -524,6 +535,22 @@ fn formatResult(p: *Parser, w: *std.Io.Writer, fmt: []const u8, res: Result) !us...@@ -524,6 +535,22 @@ fn formatResult(p: *Parser, w: *std.Io.Writer, fmt: []const u8, res: Result) !us
524 return i;535 return i;
525}536}
526537
538fn formatAttributeName(w: *std.Io.Writer, fmt: []const u8, attr: anytype) !usize {
539 const i = Diagnostics.templateIndex(w, fmt, "{at}");
540
541 try w.writeByte('\'');
542 if (attr.syntax == .standard and attr.name != .standard) {
543 try w.writeAll(@tagName(attr.name));
544 try w.writeAll("::");
545 }
546 switch (attr.name) {
547 .aro => {},
548 inline else => |tag| try w.writeAll(@tagName(tag)),
549 }
550 try w.writeByte('\'');
551 return i;
552}
553
527const Normalized = struct {554const Normalized = struct {
528 str: []const u8,555 str: []const u8,
529556
...@@ -586,6 +613,66 @@ const Escaped = struct {...@@ -586,6 +613,66 @@ const Escaped = struct {
586 }613 }
587};614};
588615
616pub fn Choices(comptime E: type) type {
617 return struct {
618 choices: []const E,
619 quote: ?u8,
620
621 pub fn init(choices: []const E, quote: ?u8) @This() {
622 return .{ .choices = choices, .quote = quote };
623 }
624
625 pub fn format(ctx: @This(), w: *std.Io.Writer, fmt: []const u8) !usize {
626 const i = Diagnostics.templateIndex(w, fmt, "{choices}");
627
628 for (ctx.choices, 0..) |choice, choice_i| {
629 if (choice_i != 0) {
630 if (ctx.choices.len > 2) try w.writeByte(',');
631 try w.writeByte(' ');
632 if (choice_i == ctx.choices.len - 1) try w.writeAll("and ");
633 }
634
635 if (ctx.quote) |q| try w.writeByte(q);
636 if (@hasDecl(E, "str")) {
637 try w.writeAll(choice.str());
638 } else {
639 try w.writeAll(@tagName(choice));
640 }
641 if (ctx.quote) |q| try w.writeByte(q);
642 }
643
644 return i;
645 }
646 };
647}
648
649pub const ChoicesStr = struct {
650 choices: []const []const u8,
651 quote: ?u8,
652
653 pub fn init(choices: []const []const u8, quote: ?u8) @This() {
654 return .{ .choices = choices, .quote = quote };
655 }
656
657 pub fn format(ctx: @This(), w: *std.Io.Writer, fmt: []const u8) !usize {
658 const i = Diagnostics.templateIndex(w, fmt, "{choices}");
659
660 for (ctx.choices, 0..) |choice, choice_i| {
661 if (choice_i != 0) {
662 if (ctx.choices.len > 2) try w.writeByte(',');
663 try w.writeByte(' ');
664 if (choice_i == ctx.choices.len - 1) try w.writeAll("and ");
665 }
666
667 if (ctx.quote) |q| try w.writeByte(q);
668 try w.writeAll(choice);
669 if (ctx.quote) |q| try w.writeByte(q);
670 }
671
672 return i;
673 }
674};
675
589pub fn todo(p: *Parser, msg: []const u8) Error {676pub fn todo(p: *Parser, msg: []const u8) Error {
590 try p.err(p.tok_i, .todo, .{msg});677 try p.err(p.tok_i, .todo, .{msg});
591 return error.ParsingFailed;678 return error.ParsingFailed;
...@@ -616,34 +703,66 @@ pub fn errValueChanged(p: *Parser, tok_i: TokenIndex, diagnostic: Diagnostic, re...@@ -616,34 +703,66 @@ pub fn errValueChanged(p: *Parser, tok_i: TokenIndex, diagnostic: Diagnostic, re
616 try p.err(tok_i, diagnostic, .{ res.qt, int_qt, zero_str, old_res, new_res });703 try p.err(tok_i, diagnostic, .{ res.qt, int_qt, zero_str, old_res, new_res });
617}704}
618705
619fn checkDeprecatedUnavailable(p: *Parser, ty: QualType, usage_tok: TokenIndex, decl_tok: TokenIndex) !void {706fn checkDeprecatedUnavailable(p: *Parser, opt_node: anytype, usage_tok: TokenIndex) !void {
620 if (ty.getAttribute(p.comp, .@"error")) |@"error"| {707 const node: Node.Index = opt_node.unpack() orelse return;
621 const msg_str = p.comp.interner.get(@"error".msg.ref()).bytes;708 const am = &p.tree.attr_map;
622 try p.err(usage_tok, .error_attribute, .{ p.tokSlice(@"error".__name_tok), Escaped.init(msg_str) });709 if (am.getAttribute(node, .@"error")) |attr| {
710 try p.codegenDiagnostic(usage_tok, .error_attribute, .{ p.tokSlice(node.tok(&p.tree)), Escaped.init(attr.args.@"error") });
623 }711 }
624 if (ty.getAttribute(p.comp, .warning)) |warning| {712 if (am.getAttribute(node, .warning)) |attr| {
625 const msg_str = p.comp.interner.get(warning.msg.ref()).bytes;713 try p.codegenDiagnostic(usage_tok, .warning_attribute, .{ p.tokSlice(node.tok(&p.tree)), Escaped.init(attr.args.warning) });
626 try p.err(usage_tok, .warning_attribute, .{ p.tokSlice(warning.__name_tok), Escaped.init(msg_str) });
627 }714 }
628 if (ty.getAttribute(p.comp, .unavailable)) |unavailable| {715 if (am.getAttribute(node, .unavailable)) |attr| {
629 try p.errDeprecated(usage_tok, .unavailable, unavailable.msg);716 try p.errDeprecated(usage_tok, .unavailable, attr.args.unavailable);
630 try p.err(unavailable.__name_tok, .unavailable_note, .{p.tokSlice(decl_tok)});717
718 const decl_name_tok = node.tok(&p.tree);
719 try p.err(attr.tok, .unavailable_note, .{p.tokSlice(decl_name_tok)});
631 return error.ParsingFailed;720 return error.ParsingFailed;
632 }721 }
633 if (ty.getAttribute(p.comp, .deprecated)) |deprecated| {722 if (am.getAttribute(node, .deprecated)) |attr| {
723 const deprecated = attr.args.deprecated;
634 try p.errDeprecated(usage_tok, .deprecated_declarations, deprecated.msg);724 try p.errDeprecated(usage_tok, .deprecated_declarations, deprecated.msg);
635 try p.err(deprecated.__name_tok, .deprecated_note, .{p.tokSlice(decl_tok)});725 if (deprecated.replacement) |replacement| {
726 try p.err(usage_tok, .deprecated_alternative, .{replacement});
727 }
728 const decl_name_tok = node.tok(&p.tree);
729 try p.err(attr.tok, .deprecated_note, .{p.tokSlice(decl_name_tok)});
636 }730 }
637}731}
638732
639fn errDeprecated(p: *Parser, tok_i: TokenIndex, diagnostic: Diagnostic, msg: ?Value) Compilation.Error!void {733fn codegenDiagnostic(p: *Parser, usage_tok: TokenIndex, diagnostic: Diagnostic, args: anytype) !void {
734 assert(!diagnostic.extension);
735 assert(diagnostic.suppress_unless_version == null);
736 assert(diagnostic.suppress_version == null);
737 if (p.diagnostics.effectiveKind(diagnostic) == .off) return;
738
739 var bfa_buf: [1024]u8 align(4) = undefined;
740 var bfa: std.heap.BufferFirstAllocator = .init(&bfa_buf, p.comp.gpa);
741 var allocating: std.Io.Writer.Allocating = .initAligned(bfa.allocator(), .of(u32));
742 defer allocating.deinit();
743
744 p.formatArgs(&allocating.writer, diagnostic.fmt, args) catch return error.OutOfMemory;
745
746 const remainder = 4 - allocating.written().len % 4;
747 allocating.writer.splatByteAll(0, remainder) catch return error.OutOfMemory;
748
749 const node = try p.tree.addNode(.{
750 .codegen_diagnostic = .{
751 .tok = usage_tok,
752 .kind = diagnostic.kind,
753 .opt = diagnostic.opt,
754 .text = @ptrCast(@alignCast(allocating.written())),
755 },
756 });
757 try p.decl_buf.append(p.comp.gpa, node);
758}
759
760fn errDeprecated(p: *Parser, tok_i: TokenIndex, diagnostic: Diagnostic, msg: ?[]const u8) Compilation.Error!void {
640 const colon_str: []const u8 = if (msg != null) ": " else "";761 const colon_str: []const u8 = if (msg != null) ": " else "";
641 const msg_str: []const u8 = if (msg) |m| p.comp.interner.get(m.ref()).bytes else "";762 return p.err(tok_i, diagnostic, .{ p.tokSlice(tok_i), colon_str, Escaped.init(msg orelse "") });
642 return p.err(tok_i, diagnostic, .{ p.tokSlice(tok_i), colon_str, Escaped.init(msg_str) });
643}763}
644764
645fn addNode(p: *Parser, node: Tree.Node) Allocator.Error!Node.Index {765fn addNode(p: *Parser, node: Tree.Node) Allocator.Error!Node.Index {
646 if (p.in_macro) return undefined;
647 return p.tree.addNode(node);766 return p.tree.addNode(node);
648}767}
649768
...@@ -656,14 +775,6 @@ fn errExpectedToken(p: *Parser, expected: Token.Id, actual: Token.Id) Error {...@@ -656,14 +775,6 @@ fn errExpectedToken(p: *Parser, expected: Token.Id, actual: Token.Id) Error {
656 return error.ParsingFailed;775 return error.ParsingFailed;
657}776}
658777
659fn addList(p: *Parser, nodes: []const Node.Index) Allocator.Error!Tree.Node.Range {
660 if (p.in_macro) return Tree.Node.Range{ .start = 0, .end = 0 };
661 const start: u32 = @intCast(p.data.items.len);
662 try p.data.appendSlice(nodes);
663 const end: u32 = @intCast(p.data.items.len);
664 return Tree.Node.Range{ .start = start, .end = end };
665}
666
667/// Recursively sets the defintion field of `tentative_decl` to `definition`.778/// Recursively sets the defintion field of `tentative_decl` to `definition`.
668pub fn setTentativeDeclDefinition(p: *Parser, tentative_decl: Node.Index, definition: Node.Index) void {779pub fn setTentativeDeclDefinition(p: *Parser, tentative_decl: Node.Index, definition: Node.Index) void {
669 const node_data = &p.tree.nodes.items(.data)[@backingInt(tentative_decl)];780 const node_data = &p.tree.nodes.items(.data)[@backingInt(tentative_decl)];
...@@ -673,7 +784,7 @@ pub fn setTentativeDeclDefinition(p: *Parser, tentative_decl: Node.Index, defini...@@ -673,7 +784,7 @@ pub fn setTentativeDeclDefinition(p: *Parser, tentative_decl: Node.Index, defini
673 else => return,784 else => return,
674 }785 }
675786
676 const prev: Node.OptIndex = @fromBackingInt(@intCast(node_data[2]));787 const prev: Node.OptIndex = @fromBackingInt(node_data[2]);
677788
678 node_data[2] = @backingInt(definition);789 node_data[2] = @backingInt(definition);
679 if (prev.unpack()) |some| {790 if (prev.unpack()) |some| {
...@@ -681,12 +792,19 @@ pub fn setTentativeDeclDefinition(p: *Parser, tentative_decl: Node.Index, defini...@@ -681,12 +792,19 @@ pub fn setTentativeDeclDefinition(p: *Parser, tentative_decl: Node.Index, defini
681 }792 }
682}793}
683794
684/// Clears the defintion field of declarations that were not defined so that795/// Resolves file-scope tentative definitions, then clears definition fields of
685/// the field always contains a _def if present.796/// declarations that were not defined.
686fn clearNonTentativeDefinitions(p: *Parser) void {797fn finalizeTentativeDefinitions(p: *Parser) Allocator.Error!void {
798 var finalized: std.AutoHashMapUnmanaged(StringId, void) = .empty;
799 defer finalized.deinit(p.comp.gpa);
800
687 const tags = p.tree.nodes.items(.tag);801 const tags = p.tree.nodes.items(.tag);
688 const data = p.tree.nodes.items(.data);802 const data = p.tree.nodes.items(.data);
689 for (p.tree.root_decls.items) |root_decl| {803
804 var i = p.tree.root_decls.items.len;
805 while (i > 0) {
806 i -= 1;
807 const root_decl = p.tree.root_decls.items[i];
690 switch (tags[@backingInt(root_decl)]) {808 switch (tags[@backingInt(root_decl)]) {
691 .fn_proto => {809 .fn_proto => {
692 const node_data = &data[@backingInt(root_decl)];810 const node_data = &data[@backingInt(root_decl)];
...@@ -697,9 +815,19 @@ fn clearNonTentativeDefinitions(p: *Parser) void {...@@ -697,9 +815,19 @@ fn clearNonTentativeDefinitions(p: *Parser) void {
697 }815 }
698 },816 },
699 .variable => {817 .variable => {
818 const variable = root_decl.get(&p.tree).variable;
700 const node_data = &data[@backingInt(root_decl)];819 const node_data = &data[@backingInt(root_decl)];
820 if (variable.storage_class != .@"extern") {
821 const name = try p.comp.internString(p.tree.tokSlice(variable.name_tok));
822 const gop = try finalized.getOrPut(p.comp.gpa, name);
823 if (!gop.found_existing and (node_data[2] == @backingInt(Node.OptIndex.null) or tags[node_data[2]] != .variable_def)) {
824 p.setTentativeDeclDefinition(root_decl, root_decl);
825 }
826 }
701 if (node_data[2] != @backingInt(Node.OptIndex.null)) {827 if (node_data[2] != @backingInt(Node.OptIndex.null)) {
702 if (tags[node_data[2]] != .variable_def) {828 if (node_data[2] == @backingInt(root_decl) or
829 (tags[node_data[2]] != .variable_def and !p.isTentativeDefinitionNode(@fromBackingInt(node_data[2]))))
830 {
703 node_data[2] = @backingInt(Node.OptIndex.null);831 node_data[2] = @backingInt(Node.OptIndex.null);
704 }832 }
705 }833 }
...@@ -709,10 +837,34 @@ fn clearNonTentativeDefinitions(p: *Parser) void {...@@ -709,10 +837,34 @@ fn clearNonTentativeDefinitions(p: *Parser) void {
709 }837 }
710}838}
711839
840fn isTentativeDefinitionNode(p: *Parser, node: Node.Index) bool {
841 const var_node = p.getNode(node, .variable) orelse return false;
842 return var_node.storage_class != .@"extern";
843}
844
845fn completesTentativeArray(p: *Parser, name: StringId, qt: QualType) bool {
846 if (!p.tentative_defs.contains(.tentativeArray(name))) return false;
847 const array_ty = qt.get(p.comp, .array) orelse return false;
848 if (array_ty.len != .fixed) return false;
849
850 const prev = p.syms.findSymbol(name) orelse return false;
851 if (prev.kind != .decl) return false;
852 const prev_array_ty = prev.qt.get(p.comp, .array) orelse return false;
853 if (prev_array_ty.len != .incomplete) return false;
854
855 return qt.eqlQualified(prev.qt, p.comp);
856}
857
712fn findLabel(p: *Parser, name: []const u8) ?TokenIndex {858fn findLabel(p: *Parser, name: []const u8) ?TokenIndex {
713 for (p.labels.items) |item| {859 for (p.labels.items) |item| {
714 switch (item) {860 switch (item) {
715 .label => |l| if (mem.eql(u8, p.tokSlice(l), name)) return l,861 .label => |l| {
862 const prev_label = l.tok(&p.tree);
863 if (mem.eql(u8, p.tokSlice(prev_label), name)) {
864 p.markUsed(l);
865 return prev_label;
866 }
867 },
716 .unresolved_goto => {},868 .unresolved_goto => {},
717 }869 }
718 }870 }
...@@ -751,6 +903,7 @@ pub fn isAddressOfStringLiteral(p: *Parser, node: Node.Index) bool {...@@ -751,6 +903,7 @@ pub fn isAddressOfStringLiteral(p: *Parser, node: Node.Index) bool {
751 return p.nodeIs(addr_of.operand, .string_literal_expr);903 return p.nodeIs(addr_of.operand, .string_literal_expr);
752}904}
753905
906// TODO pragma in any position and shoud be checked in eatToken
754fn pragma(p: *Parser) Compilation.Error!bool {907fn pragma(p: *Parser) Compilation.Error!bool {
755 var found_pragma = false;908 var found_pragma = false;
756 while (p.eatToken(.keyword_pragma)) |_| {909 while (p.eatToken(.keyword_pragma)) |_| {
...@@ -759,7 +912,7 @@ fn pragma(p: *Parser) Compilation.Error!bool {...@@ -759,7 +912,7 @@ fn pragma(p: *Parser) Compilation.Error!bool {
759 const name_tok = p.tok_i;912 const name_tok = p.tok_i;
760 const name = p.tokSlice(name_tok);913 const name = p.tokSlice(name_tok);
761914
762 const end_idx = mem.indexOfScalarPos(Token.Id, p.tok_ids, p.tok_i, .nl).?;915 const end_idx = mem.findScalarPos(Token.Id, p.tok_ids, p.tok_i, .nl).?;
763 const pragma_len = @as(TokenIndex, @intCast(end_idx)) - p.tok_i;916 const pragma_len = @as(TokenIndex, @intCast(end_idx)) - p.tok_i;
764 defer p.tok_i += pragma_len + 1; // skip past .nl as well917 defer p.tok_i += pragma_len + 1; // skip past .nl as well
765 if (p.comp.getPragma(name)) |prag| {918 if (p.comp.getPragma(name)) |prag| {
...@@ -786,12 +939,149 @@ fn diagnoseIncompleteDefinitions(p: *Parser) !void {...@@ -786,12 +939,149 @@ fn diagnoseIncompleteDefinitions(p: *Parser) !void {
786 else => unreachable,939 else => unreachable,
787 };940 };
788941
789 const tentative_def_tok = p.tentative_defs.get(decl_type_name) orelse continue;942 const tentative_def_tok = p.tentative_defs.get(.incompleteType(decl_type_name)) orelse continue;
790 try p.err(tentative_def_tok, .tentative_definition_incomplete, .{forward.container_qt});943 try p.err(tentative_def_tok, .tentative_definition_incomplete, .{forward.container_qt});
791 try p.err(forward.name_or_kind_tok, .forward_declaration_here, .{forward.container_qt});944 try p.err(forward.name_or_kind_tok, .forward_declaration_here, .{forward.container_qt});
792 }945 }
793}946}
794947
948fn diagnoseTentativeArrays(p: *Parser) !void {
949 for (p.tentative_defs.keys(), p.tentative_defs.values()) |key, tok| {
950 if (key.kind != .tentative_array) continue;
951 try p.err(tok, .tentative_array, .{});
952 }
953}
954
955fn diagnoseUnusedLocals(p: *Parser) !void {
956 defer p.maybe_unused_decl.clearRetainingCapacity();
957 // Don't warn about unused locals if there were error in the function body.
958 if (p.diagnostics.errors != p.local_unused_err_count) return;
959
960 for (p.maybe_unused_decl.keys(), p.maybe_unused_decl.values()) |unused_decl, used| {
961 if (used) continue;
962 const name_tok = unused_decl.tok(&p.tree);
963 try p.err(name_tok, switch (unused_decl.get(&p.tree)) {
964 .variable => .unused_variable,
965 .param => .unused_param,
966 .typedef => .unused_typedef,
967 .labeled_stmt => .unused_label,
968 .empty_decl => continue,
969 else => unreachable,
970 }, .{p.tokSlice(name_tok)});
971 }
972}
973
974fn addMaybeUnusued(p: *Parser, decl_node: Node.Index) !void {
975 if (p.tree.attr_map.hasAttribute(decl_node, .unused)) {
976 p.markUsed(decl_node); // Might have added an empty_decl.
977 return;
978 }
979
980 switch (decl_node.get(&p.tree)) {
981 .variable => |variable| {
982 if (variable.storage_class == .@"extern") return;
983 if (p.func.qt == null) return;
984 if (p.diagnostics.severity(.@"unused-variable") == .off) return;
985 },
986 .param => {
987 if (p.diagnostics.severity(.@"unused-parameter") == .off) return;
988 },
989 .typedef => {
990 if (p.func.qt == null) return;
991 if (p.diagnostics.severity(.@"unused-local-typedef") == .off) return;
992 },
993 .labeled_stmt => {
994 if (p.diagnostics.severity(.@"unused-label") == .off) return;
995 },
996 .empty_decl => {
997 if (p.diagnostics.severity(.@"unused-variable") == .off) return;
998 },
999 else => return,
1000 }
1001
1002 const got = try p.maybe_unused_decl.getOrPut(p.comp.gpa, decl_node);
1003 if (!got.found_existing) got.value_ptr.* = false;
1004}
1005
1006fn markUsed(p: *Parser, decl_node: Node.Index) void {
1007 if (p.maybe_unused_decl.getPtr(decl_node)) |val| {
1008 val.* = true;
1009 }
1010}
1011
1012fn diagnoseIgnoredAttrs(p: *Parser) !void {
1013 for (p.wip_attrs.attrs.items[p.wip_attrs.top..]) |*attr| {
1014 if (attr.used_as_type_attr) continue;
1015 if (attr.syntax == .standard) {
1016 try p.err(attr.tok, .invalid_on_types, .{attr});
1017 continue;
1018 }
1019 try p.err(attr.tok, .ignored_on_types, .{attr});
1020 }
1021}
1022
1023fn diagnoseUnusedValue(p: *Parser, node: Node.Index, prev_total: usize) Error!void {
1024 const qt = node.qt(&p.tree);
1025 if (qt.is(p.comp, .void)) return;
1026 if (qt.isInvalid()) return;
1027 // Don't warn about unused result if the expression contained errors.
1028 if (p.diagnostics.errors != prev_total) return;
1029
1030 var cur = node;
1031 loop: switch (cur.get(&p.tree)) {
1032 .assign_expr,
1033 .mul_assign_expr,
1034 .div_assign_expr,
1035 .mod_assign_expr,
1036 .add_assign_expr,
1037 .sub_assign_expr,
1038 .shl_assign_expr,
1039 .shr_assign_expr,
1040 .bit_and_assign_expr,
1041 .bit_xor_assign_expr,
1042 .bit_or_assign_expr,
1043 .pre_inc_expr,
1044 .pre_dec_expr,
1045 .post_inc_expr,
1046 .post_dec_expr,
1047 => {},
1048 .equal_expr => try p.err(cur.tok(&p.tree), .unused_comparison, .{"equality"}),
1049 .not_equal_expr => try p.err(cur.tok(&p.tree), .unused_comparison, .{"inequality"}),
1050 .less_than_expr,
1051 .less_than_equal_expr,
1052 .greater_than_expr,
1053 .greater_than_equal_expr,
1054 => try p.err(cur.tok(&p.tree), .unused_comparison, .{"relational"}),
1055 .call_expr => |call| {
1056 const call_info = p.tree.calledFunctionAttr(call.callee, .warn_unused_result) orelse return;
1057 if (call_info.attr) |attr| {
1058 const msg = attr.args.warn_unused_result;
1059 const colon_str: []const u8 = if (msg != null) ": " else "";
1060 try p.err(call.callee.tok(&p.tree), .warn_unused_result, .{ p.tokSlice(call_info.tok), attr, colon_str, Escaped.init(msg orelse "") });
1061 }
1062 },
1063 .builtin_call_expr => |call| {
1064 const expanded = p.comp.builtins.lookup(p.tokSlice(call.builtin_tok));
1065 if (expanded.attributes.pure) try p.err(call.builtin_tok, .builtin_unused, .{"pure"});
1066 if (expanded.attributes.@"const") try p.err(call.builtin_tok, .builtin_unused, .{"const"});
1067 },
1068 .stmt_expr => |stmt_expr| {
1069 const compound = stmt_expr.operand.get(&p.tree).compound_stmt;
1070 cur = compound.body[compound.body.len - 1];
1071 continue :loop cur.get(&p.tree);
1072 },
1073 .comma_expr => |comma| {
1074 cur = comma.rhs;
1075 continue :loop cur.get(&p.tree);
1076 },
1077 .paren_expr => |grouped| {
1078 cur = grouped.operand;
1079 continue :loop cur.get(&p.tree);
1080 },
1081 else => try p.err(cur.tok(&p.tree), .unused_value, .{}),
1082 }
1083}
1084
795/// root : (decl | assembly ';' | staticAssert)*1085/// root : (decl | assembly ';' | staticAssert)*
796pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {1086pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
797 const gpa = pp.comp.gpa;1087 const gpa = pp.comp.gpa;
...@@ -830,9 +1120,9 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {...@@ -830,9 +1120,9 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
830 p.enum_buf.deinit(gpa);1120 p.enum_buf.deinit(gpa);
831 p.record_buf.deinit(gpa);1121 p.record_buf.deinit(gpa);
832 p.record_members.deinit(gpa);1122 p.record_members.deinit(gpa);
833 p.attr_buf.deinit(gpa);1123 p.wip_attrs.deinit(gpa);
834 p.attr_application_buf.deinit(gpa);
835 p.tentative_defs.deinit(gpa);1124 p.tentative_defs.deinit(gpa);
1125 p.maybe_unused_decl.deinit(gpa);
836 }1126 }
8371127
838 try p.syms.pushScope(&p);1128 try p.syms.pushScope(&p);
...@@ -844,6 +1134,10 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {...@@ -844,6 +1134,10 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
844 }1134 }
845 try p.addImplicitTypedef("__int128_t", .int128);1135 try p.addImplicitTypedef("__int128_t", .int128);
846 try p.addImplicitTypedef("__uint128_t", .uint128);1136 try p.addImplicitTypedef("__uint128_t", .uint128);
1137 if (p.comp.langopts.has_int24) {
1138 try p.addImplicitTypedef("__int24__", .int24);
1139 try p.addImplicitTypedef("__uint24", .uint24);
1140 }
8471141
848 try p.addImplicitTypedef("__builtin_ms_va_list", .char_pointer);1142 try p.addImplicitTypedef("__builtin_ms_va_list", .char_pointer);
8491143
...@@ -856,6 +1150,9 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {...@@ -856,6 +1150,9 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
856 if (p.comp.float80Type()) |float80_ty| {1150 if (p.comp.float80Type()) |float80_ty| {
857 try p.addImplicitTypedef("__float80", float80_ty);1151 try p.addImplicitTypedef("__float80", float80_ty);
858 }1152 }
1153 if (p.comp.target.hasAArch64ACLETypes()) {
1154 try p.addImplicitTypedef("__mfp8", .mfp8);
1155 }
8591156
860 // Set here so that the newly generated tokens are included.1157 // Set here so that the newly generated tokens are included.
861 p.tree.tokens = p.pp.tokens.slice();1158 p.tree.tokens = p.pp.tokens.slice();
...@@ -865,6 +1162,17 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {...@@ -865,6 +1162,17 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
8651162
866 while (p.eatToken(.eof) == null) {1163 while (p.eatToken(.eof) == null) {
867 if (try p.pragma()) continue;1164 if (try p.pragma()) continue;
1165
1166 const attr_state = p.wip_attrs.state(true);
1167 defer p.wip_attrs.restore(attr_state);
1168 p.attributeSpecifier() catch |er| switch (er) {
1169 error.ParsingFailed => {
1170 p.nextExternDecl();
1171 continue;
1172 },
1173 else => |e| return e,
1174 };
1175
868 if (try p.parseOrNextDecl(staticAssert)) continue;1176 if (try p.parseOrNextDecl(staticAssert)) continue;
869 if (try p.parseOrNextDecl(decl)) continue;1177 if (try p.parseOrNextDecl(decl)) continue;
870 if (p.eatToken(.keyword_extension)) |_| {1178 if (p.eatToken(.keyword_extension)) |_| {
...@@ -910,6 +1218,7 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {...@@ -910,6 +1218,7 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
910 }1218 }
911 if (p.tentative_defs.count() > 0) {1219 if (p.tentative_defs.count() > 0) {
912 try p.diagnoseIncompleteDefinitions();1220 try p.diagnoseIncompleteDefinitions();
1221 try p.diagnoseTentativeArrays();
913 }1222 }
9141223
915 p.tree.root_decls = p.decl_buf;1224 p.tree.root_decls = p.decl_buf;
...@@ -920,7 +1229,7 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {...@@ -920,7 +1229,7 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
920 }1229 }
921 pp.comp.pragmaEvent(.after_parse);1230 pp.comp.pragmaEvent(.after_parse);
9221231
923 p.clearNonTentativeDefinitions();1232 try p.finalizeTentativeDefinitions();
9241233
925 return p.tree;1234 return p.tree;
926}1235}
...@@ -954,7 +1263,7 @@ fn addImplicitTypedef(p: *Parser, name: []const u8, qt: QualType) !void {...@@ -954,7 +1263,7 @@ fn addImplicitTypedef(p: *Parser, name: []const u8, qt: QualType) !void {
954 .name = interned_name,1263 .name = interned_name,
955 .decl_node = node,1264 .decl_node = node,
956 } })).withQualifiers(qt);1265 } })).withQualifiers(qt);
957 try p.syms.defineTypedef(p, interned_name, typedef_qt, name_tok, node);1266 assert(try p.syms.defineTypedef(p, interned_name, typedef_qt, name_tok, node) == null);
958 try p.decl_buf.append(gpa, node);1267 try p.decl_buf.append(gpa, node);
959}1268}
9601269
...@@ -991,6 +1300,7 @@ fn nextExternDecl(p: *Parser) void {...@@ -991,6 +1300,7 @@ fn nextExternDecl(p: *Parser) void {
991 .keyword_register,1300 .keyword_register,
992 .keyword_thread_local,1301 .keyword_thread_local,
993 .keyword_c23_thread_local,1302 .keyword_c23_thread_local,
1303 .keyword_thread,
994 .keyword_inline,1304 .keyword_inline,
995 .keyword_inline1,1305 .keyword_inline1,
996 .keyword_inline2,1306 .keyword_inline2,
...@@ -1076,8 +1386,6 @@ fn decl(p: *Parser) Error!bool {...@@ -1076,8 +1386,6 @@ fn decl(p: *Parser) Error!bool {
1076 const gpa = p.comp.gpa;1386 const gpa = p.comp.gpa;
1077 _ = try p.pragma();1387 _ = try p.pragma();
1078 const first_tok = p.tok_i;1388 const first_tok = p.tok_i;
1079 const attr_buf_top = p.attr_buf.len;
1080 defer p.attr_buf.len = attr_buf_top;
10811389
1082 try p.attributeSpecifier();1390 try p.attributeSpecifier();
10831391
...@@ -1108,14 +1416,15 @@ fn decl(p: *Parser) Error!bool {...@@ -1108,14 +1416,15 @@ fn decl(p: *Parser) Error!bool {
1108 break :blk DeclSpec{ .qt = try builder.finish() };1416 break :blk DeclSpec{ .qt = try builder.finish() };
1109 };1417 };
1110 if (decl_spec.noreturn) |tok| {1418 if (decl_spec.noreturn) |tok| {
1111 const attr = Attribute{ .tag = .noreturn, .args = .{ .noreturn = .{} }, .syntax = .keyword };1419 try p.wip_attrs.addKeyword(p, tok, &.{});
1112 try p.attr_buf.append(gpa, .{ .attr = attr, .tok = tok });
1113 }1420 }
11141421
1422 const declarator_attr_state = p.wip_attrs.state(false);
1423
1115 var decl_node = try p.tree.addNode(.{ .empty_decl = .{1424 var decl_node = try p.tree.addNode(.{ .empty_decl = .{
1116 .semicolon = first_tok,1425 .semicolon = first_tok,
1117 } });1426 } });
1118 var init_d = (try p.initDeclarator(&decl_spec, attr_buf_top, decl_node)) orelse {1427 var init_d = (try p.initDeclarator(&decl_spec, decl_node)) orelse {
1119 _ = try p.expectToken(.semicolon);1428 _ = try p.expectToken(.semicolon);
11201429
1121 missing_decl: {1430 missing_decl: {
...@@ -1134,13 +1443,11 @@ fn decl(p: *Parser) Error!bool {...@@ -1134,13 +1443,11 @@ fn decl(p: *Parser) Error!bool {
1134 return true;1443 return true;
1135 }1444 }
11361445
1137 const attrs = p.attr_buf.items(.attr)[attr_buf_top..];1446 const base_tag_name = @tagName(decl_spec.qt.base(p.comp).type);
1138 const toks = p.attr_buf.items(.tok)[attr_buf_top..];1447 for (p.wip_attrs.attrs.items[p.wip_attrs.top..]) |wip_attr| {
1139 for (attrs, toks) |attr, tok| {1448 try p.err(wip_attr.tok, .ignored_record_attr, .{ &wip_attr, base_tag_name });
1140 try p.err(tok, .ignored_record_attr, .{
1141 @tagName(attr.tag), @tagName(decl_spec.qt.base(p.comp).type),
1142 });
1143 }1449 }
1450
1144 return true;1451 return true;
1145 };1452 };
11461453
...@@ -1157,11 +1464,12 @@ fn decl(p: *Parser) Error!bool {...@@ -1157,11 +1464,12 @@ fn decl(p: *Parser) Error!bool {
1157 if (p.func.qt != null) try p.err(p.tok_i, .func_not_in_root, .{});1464 if (p.func.qt != null) try p.err(p.tok_i, .func_not_in_root, .{});
11581465
1159 const interned_declarator_name = try p.comp.internString(p.tokSlice(init_d.d.name));1466 const interned_declarator_name = try p.comp.internString(p.tokSlice(init_d.d.name));
1160 try p.syms.defineSymbol(p, interned_declarator_name, init_d.d.qt, init_d.d.name, decl_node, .{}, false);1467 const previous_decl = try p.syms.defineSymbol(p, interned_declarator_name, init_d.d.qt, init_d.d.name, decl_node, .{}, false);
1161 const func = p.func;1468 const func = p.func;
1162 p.func = .{1469 p.func = .{
1163 .qt = init_d.d.qt,1470 .qt = init_d.d.qt,
1164 .name = init_d.d.name,1471 .name = init_d.d.name,
1472 .decl = .pack(decl_node),
1165 };1473 };
1166 defer p.func = func;1474 defer p.func = func;
11671475
...@@ -1201,8 +1509,8 @@ fn decl(p: *Parser) Error!bool {...@@ -1201,8 +1509,8 @@ fn decl(p: *Parser) Error!bool {
1201 }1509 }
12021510
1203 while (true) {1511 while (true) {
1204 const attr_buf_top_declarator = p.attr_buf.len;1512 const param_attr_state = p.wip_attrs.state(true);
1205 defer p.attr_buf.len = attr_buf_top_declarator;1513 defer p.wip_attrs.restore(param_attr_state);
12061514
1207 var param_d = (try p.declarator(param_decl_spec.qt, .param)) orelse {1515 var param_d = (try p.declarator(param_decl_spec.qt, .param)) orelse {
1208 try p.err(first_tok, .missing_declaration, .{});1516 try p.err(first_tok, .missing_declaration, .{});
...@@ -1220,15 +1528,15 @@ fn decl(p: *Parser) Error!bool {...@@ -1220,15 +1528,15 @@ fn decl(p: *Parser) Error!bool {
1220 } else {1528 } else {
1221 // Decay params declared as functions or arrays to pointer.1529 // Decay params declared as functions or arrays to pointer.
1222 param_d.qt = try param_d.qt.decay(p.comp);1530 param_d.qt = try param_d.qt.decay(p.comp);
1531 // Apply potential nullability attributes.
1532 param_d.qt = try p.wip_attrs.applyTypeAttrs(p, param_d.qt);
1223 }1533 }
12241534
1225 const attributed_qt = try Attribute.applyParameterAttributes(p, param_d.qt, attr_buf_top_declarator, .alignas_on_param);
1226
1227 try param_decl_spec.validateParam(p);1535 try param_decl_spec.validateParam(p);
1228 const param_node = try p.addNode(.{1536 const param_node = try p.addNode(.{
1229 .param = .{1537 .param = .{
1230 .name_tok = param_d.name,1538 .name_tok = param_d.name,
1231 .qt = attributed_qt,1539 .qt = param_d.qt,
1232 .storage_class = switch (param_decl_spec.storage_class) {1540 .storage_class = switch (param_decl_spec.storage_class) {
1233 .none => .auto,1541 .none => .auto,
1234 .register => .register,1542 .register => .register,
...@@ -1236,20 +1544,23 @@ fn decl(p: *Parser) Error!bool {...@@ -1236,20 +1544,23 @@ fn decl(p: *Parser) Error!bool {
1236 },1544 },
1237 },1545 },
1238 });1546 });
1547 try p.wip_attrs.applyDeclAttrs(p, param_node, null);
12391548
1240 const name_str = p.tokSlice(param_d.name);1549 const name_str = p.tokSlice(param_d.name);
1241 const interned_name = try p.comp.internString(name_str);1550 const interned_name = try p.comp.internString(name_str);
1242 try p.syms.defineParam(p, interned_name, attributed_qt, param_d.name, param_node);1551 try p.syms.defineParam(p, interned_name, param_d.qt, param_d.name, param_node);
12431552
1244 // find and correct parameter types1553 // find and correct parameter types
1245 for (func_qt.get(p.comp, .func).?.params, new_params) |param, *new_param| {1554 for (func_qt.get(p.comp, .func).?.params, new_params) |param, *new_param| {
1246 if (param.name == interned_name) {1555 if (param.name == interned_name) {
1556 if (new_param.name == .empty) try p.addMaybeUnusued(param_node);
1247 new_param.* = .{1557 new_param.* = .{
1248 .qt = attributed_qt,1558 .qt = param_d.qt,
1249 .name = param.name,1559 .name = param.name,
1250 .node = .pack(param_node),1560 .node = .pack(param_node),
1251 .name_tok = param.name_tok,1561 .name_tok = param.name_tok,
1252 };1562 };
1563 p.markUsed(param.node.unpack().?);
1253 break;1564 break;
1254 }1565 }
1255 } else {1566 } else {
...@@ -1265,12 +1576,8 @@ fn decl(p: *Parser) Error!bool {...@@ -1265,12 +1576,8 @@ fn decl(p: *Parser) Error!bool {
1265 for (func_ty.params, new_params) |param, *new_param| {1576 for (func_ty.params, new_params) |param, *new_param| {
1266 if (new_param.name == .empty) {1577 if (new_param.name == .empty) {
1267 try p.err(param.name_tok, .param_not_declared, .{param.name.lookup(p.comp)});1578 try p.err(param.name_tok, .param_not_declared, .{param.name.lookup(p.comp)});
1268 new_param.* = .{1579 new_param.* = param;
1269 .name = param.name,1580 try p.syms.defineParam(p, param.name, .int, param.name_tok, param.node.unpack().?);
1270 .name_tok = param.name_tok,
1271 .node = param.node,
1272 .qt = .int,
1273 };
1274 }1581 }
1275 }1582 }
1276 // Update the functio type to contain the declared parameters.1583 // Update the functio type to contain the declared parameters.
...@@ -1293,7 +1600,7 @@ fn decl(p: *Parser) Error!bool {...@@ -1293,7 +1600,7 @@ fn decl(p: *Parser) Error!bool {
1293 .tok = param.name_tok,1600 .tok = param.name_tok,
1294 .qt = param.qt,1601 .qt = param.qt,
1295 .val = .{},1602 .val = .{},
1296 .node = param.node,1603 .node = param.node.unpack().?,
1297 });1604 });
1298 if (param.qt.isInvalid()) continue;1605 if (param.qt.isInvalid()) continue;
12991606
...@@ -1312,21 +1619,26 @@ fn decl(p: *Parser) Error!bool {...@@ -1312,21 +1619,26 @@ fn decl(p: *Parser) Error!bool {
1312 }1619 }
1313 }1620 }
13141621
1315 const body = (try p.compoundStmt(true, null)) orelse {1622 var function: Tree.Node.Function = .{
1316 assert(init_d.d.old_style_func != null);
1317 try p.err(p.tok_i, .expected_fn_body, .{});
1318 return true;
1319 };
1320
1321 try decl_spec.validateFnDef(p);
1322 try p.tree.setNode(.{ .function = .{
1323 .name_tok = init_d.d.name,1623 .name_tok = init_d.d.name,
1324 .@"inline" = decl_spec.@"inline" != null,1624 .@"inline" = decl_spec.@"inline" != null,
1325 .static = decl_spec.storage_class == .static,1625 .static = decl_spec.storage_class == .static,
1326 .qt = p.func.qt.?,1626 .qt = p.func.qt.?,
1327 .body = body,1627 .body = null,
1328 .definition = null,1628 .definition = null,
1329 } }, @backingInt(decl_node));1629 };
1630
1631 try decl_spec.validateFnDef(p);
1632 try p.tree.setNode(.{ .function = function }, @backingInt(decl_node));
1633 try p.wip_attrs.applyDeclAttrs(p, decl_node, previous_decl);
1634
1635 p.local_unused_err_count = p.diagnostics.errors;
1636 function.body = (try p.compoundStmt(true, null)) orelse {
1637 assert(init_d.d.old_style_func != null);
1638 try p.err(p.tok_i, .expected_fn_body, .{});
1639 return true;
1640 };
1641 try p.tree.setNode(.{ .function = function }, @backingInt(decl_node));
13301642
1331 try p.decl_buf.append(gpa, decl_node);1643 try p.decl_buf.append(gpa, decl_node);
13321644
...@@ -1344,6 +1656,7 @@ fn decl(p: *Parser) Error!bool {...@@ -1344,6 +1656,7 @@ fn decl(p: *Parser) Error!bool {
1344 p.contains_address_of_label = false;1656 p.contains_address_of_label = false;
1345 p.computed_goto_tok = null;1657 p.computed_goto_tok = null;
1346 }1658 }
1659 try p.diagnoseUnusedLocals();
1347 return true;1660 return true;
1348 }1661 }
13491662
...@@ -1405,6 +1718,7 @@ fn decl(p: *Parser) Error!bool {...@@ -1405,6 +1718,7 @@ fn decl(p: *Parser) Error!bool {
1405 try p.decl_buf.append(gpa, decl_node);1718 try p.decl_buf.append(gpa, decl_node);
14061719
1407 const interned_name = try p.comp.internString(p.tokSlice(init_d.d.name));1720 const interned_name = try p.comp.internString(p.tokSlice(init_d.d.name));
1721 const completes_tentative_array = p.completesTentativeArray(interned_name, init_d.d.qt);
1408 if (decl_spec.storage_class == .typedef) {1722 if (decl_spec.storage_class == .typedef) {
1409 const typedef_qt = if (init_d.d.qt.isInvalid())1723 const typedef_qt = if (init_d.d.qt.isInvalid())
1410 init_d.d.qt1724 init_d.d.qt
...@@ -1414,11 +1728,12 @@ fn decl(p: *Parser) Error!bool {...@@ -1414,11 +1728,12 @@ fn decl(p: *Parser) Error!bool {
1414 .name = interned_name,1728 .name = interned_name,
1415 .decl_node = decl_node,1729 .decl_node = decl_node,
1416 } })).withQualifiers(init_d.d.qt);1730 } })).withQualifiers(init_d.d.qt);
1417 try p.syms.defineTypedef(p, interned_name, typedef_qt, init_d.d.name, decl_node);1731 const previous_decl = try p.syms.defineTypedef(p, interned_name, typedef_qt, init_d.d.name, decl_node);
1418 p.typedefDefined(interned_name, typedef_qt);1732 p.typedefDefined(interned_name, typedef_qt);
1733 try p.wip_attrs.applyDeclAttrsExtra(p, decl_node, typedef_qt, previous_decl);
1419 } else if (init_d.initializer) |init| {1734 } else if (init_d.initializer) |init| {
1420 // TODO validate global variable/constexpr initializer comptime known1735 // TODO validate global variable/constexpr initializer comptime known
1421 try p.syms.defineSymbol(1736 const previous_decl = try p.syms.defineSymbol(
1422 p,1737 p,
1423 interned_name,1738 interned_name,
1424 init_d.d.qt,1739 init_d.d.qt,
...@@ -1427,19 +1742,23 @@ fn decl(p: *Parser) Error!bool {...@@ -1427,19 +1742,23 @@ fn decl(p: *Parser) Error!bool {
1427 if (init_d.d.qt.@"const" or decl_spec.constexpr != null) init.val else .{},1742 if (init_d.d.qt.@"const" or decl_spec.constexpr != null) init.val else .{},
1428 decl_spec.constexpr != null,1743 decl_spec.constexpr != null,
1429 );1744 );
1745 try p.wip_attrs.applyDeclAttrs(p, decl_node, previous_decl);
1430 } else if (init_d.d.qt.is(p.comp, .func)) {1746 } else if (init_d.d.qt.is(p.comp, .func)) {
1431 try p.syms.declareSymbol(p, interned_name, init_d.d.qt, init_d.d.name, decl_node);1747 const previous_decl = try p.syms.declareSymbol(p, interned_name, init_d.d.qt, init_d.d.name, decl_node);
1748 try p.wip_attrs.applyDeclAttrs(p, decl_node, previous_decl);
1432 } else if (p.func.qt != null and decl_spec.storage_class != .@"extern") {1749 } else if (p.func.qt != null and decl_spec.storage_class != .@"extern") {
1433 try p.syms.defineSymbol(p, interned_name, init_d.d.qt, init_d.d.name, decl_node, .{}, false);1750 const previous_decl = try p.syms.defineSymbol(p, interned_name, init_d.d.qt, init_d.d.name, decl_node, .{}, false);
1751 try p.wip_attrs.applyDeclAttrs(p, decl_node, previous_decl);
1434 } else {1752 } else {
1435 try p.syms.declareSymbol(p, interned_name, init_d.d.qt, init_d.d.name, decl_node);1753 const previous_decl = try p.syms.declareSymbol(p, interned_name, init_d.d.qt, init_d.d.name, decl_node);
1754 try p.wip_attrs.applyDeclAttrs(p, decl_node, previous_decl);
1436 }1755 }
1756 if (completes_tentative_array) _ = p.tentative_defs.orderedRemove(.tentativeArray(interned_name));
1757 try p.addMaybeUnusued(decl_node);
14371758
1438 if (p.eatToken(.comma) == null) break;1759 if (p.eatToken(.comma) == null) break;
14391760
1440 const attr_buf_top_declarator = p.attr_buf.len;1761 p.wip_attrs.restore(declarator_attr_state);
1441 defer p.attr_buf.len = attr_buf_top_declarator;
1442
1443 try p.attributeSpecifierGnu();1762 try p.attributeSpecifierGnu();
14441763
1445 if (!warned_auto) {1764 if (!warned_auto) {
...@@ -1457,7 +1776,7 @@ fn decl(p: *Parser) Error!bool {...@@ -1457,7 +1776,7 @@ fn decl(p: *Parser) Error!bool {
1457 decl_node = try p.tree.addNode(.{ .empty_decl = .{1776 decl_node = try p.tree.addNode(.{ .empty_decl = .{
1458 .semicolon = p.tok_i - 1,1777 .semicolon = p.tok_i - 1,
1459 } });1778 } });
1460 init_d = (try p.initDeclarator(&decl_spec, attr_buf_top, decl_node)) orelse {1779 init_d = (try p.initDeclarator(&decl_spec, decl_node)) orelse {
1461 try p.err(p.tok_i, .expected_ident_or_l_paren, .{});1780 try p.err(p.tok_i, .expected_ident_or_l_paren, .{});
1462 continue;1781 continue;
1463 };1782 };
...@@ -1467,32 +1786,68 @@ fn decl(p: *Parser) Error!bool {...@@ -1467,32 +1786,68 @@ fn decl(p: *Parser) Error!bool {
1467 return true;1786 return true;
1468}1787}
14691788
1470fn staticAssertMessage(p: *Parser, cond_node: Node.Index, maybe_message: ?Result, allocating: *std.Io.Writer.Allocating) !?[]const u8 {1789const StaticAsssertMessage = struct {
1471 const w = &allocating.writer;1790 full: []const u8,
14721791 req_start: u32,
1473 const cond = cond_node.get(&p.tree);1792 req_end: u32,
1474 if (cond == .builtin_types_compatible_p) {1793};
1475 try w.writeAll("'__builtin_types_compatible_p(");
1476
1477 const lhs_ty = cond.builtin_types_compatible_p.lhs;
1478 try lhs_ty.print(p.comp, w);
1479 try w.writeAll(", ");
14801794
1481 const rhs_ty = cond.builtin_types_compatible_p.rhs;1795fn staticAssertMessage(p: *Parser, cond: Node.Index, maybe_message: ?Result, allocating: *std.Io.Writer.Allocating) !StaticAsssertMessage {
1482 try rhs_ty.print(p.comp, w);1796 const w = &allocating.writer;
14831797
1484 try w.writeAll(")'");1798 try w.writeAll(" due to requirement '");
1485 } else if (maybe_message == null) return null;1799 const start = allocating.written().len;
1800 try p.tree.write(cond, w);
1801 const end = allocating.written().len;
1802 try w.writeByte('\'');
14861803
1487 if (maybe_message) |message| {1804 if (maybe_message) |message| {
1488 assert(message.node.get(&p.tree) == .string_literal_expr);
1489 if (allocating.written().len > 0) {
1490 try w.writeByte(' ');
1491 }
1492 const bytes = p.comp.interner.get(message.val.ref()).bytes;1805 const bytes = p.comp.interner.get(message.val.ref()).bytes;
1493 try Value.printString(bytes, message.qt, p.comp, w);1806 const size: Compilation.CharUnitSize = @fromBackingInt(@intCast(message.qt.childType(p.comp).sizeof(p.comp)));
1807 if (bytes.len > @backingInt(size)) {
1808 try w.writeAll(": ");
1809 try Value.printString(bytes, message.qt, p.comp, w, .bare);
1810 }
1494 }1811 }
1495 return allocating.written();1812 const written = allocating.written();
1813 return .{
1814 .full = written,
1815 .req_start = @intCast(start),
1816 .req_end = @intCast(end),
1817 };
1818}
1819
1820fn staticAssertEvaluationNote(p: *Parser, node: Node.Index, requirement: []const u8) Error!void {
1821 const bin = loop: switch (node.get(&p.tree)) {
1822 .cast => |cast_expr| continue :loop cast_expr.operand.get(&p.tree),
1823 .paren_expr => |paren_expr| continue :loop paren_expr.operand.get(&p.tree),
1824 .equal_expr,
1825 .not_equal_expr,
1826 .less_than_expr,
1827 .less_than_equal_expr,
1828 .greater_than_expr,
1829 .greater_than_equal_expr,
1830 => |bin| bin,
1831 else => return,
1832 };
1833 var note_bfa_buf: [1024]u8 = undefined;
1834 var note_bfa: std.heap.BufferFirstAllocator = .init(&note_bfa_buf, p.comp.gpa);
1835 var note_allocating: std.Io.Writer.Allocating = .init(note_bfa.allocator());
1836 defer note_allocating.deinit();
1837
1838 const lhs_val = p.tree.value_map.get(bin.lhs) orelse return;
1839 const rhs_val = p.tree.value_map.get(bin.rhs) orelse return;
1840
1841 const w = &note_allocating.writer;
1842 if (lhs_val.print(bin.lhs.qt(&p.tree), p.comp, w) catch return) |_| return;
1843 w.print(" {s} ", .{p.tokSlice(bin.op_tok)}) catch return;
1844 if (rhs_val.print(bin.rhs.qt(&p.tree), p.comp, w) catch return) |_| return;
1845
1846 const eval_text = note_allocating.written();
1847
1848 if (std.mem.eql(u8, eval_text, requirement)) return;
1849
1850 try p.err(bin.op_tok, .static_assert_expression_evaluates_to, .{eval_text});
1496}1851}
14971852
1498/// staticAssert1853/// staticAssert
...@@ -1503,8 +1858,11 @@ fn staticAssert(p: *Parser) Error!bool {...@@ -1503,8 +1858,11 @@ fn staticAssert(p: *Parser) Error!bool {
1503 const static_assert = p.eatToken(.keyword_static_assert) orelse p.eatToken(.keyword_c23_static_assert) orelse return false;1858 const static_assert = p.eatToken(.keyword_static_assert) orelse p.eatToken(.keyword_c23_static_assert) orelse return false;
1504 const l_paren = try p.expectToken(.l_paren);1859 const l_paren = try p.expectToken(.l_paren);
1505 const res_token = p.tok_i;1860 const res_token = p.tok_i;
1861 const old_record_static_assert_eval_note = p.record_static_assert_eval_note;
1862 p.record_static_assert_eval_note = true;
1863 defer p.record_static_assert_eval_note = old_record_static_assert_eval_note;
1864
1506 var res = try p.constExpr(.gnu_folding_extension);1865 var res = try p.constExpr(.gnu_folding_extension);
1507 const res_node = res.node;
1508 const str = if (p.eatToken(.comma) != null)1866 const str = if (p.eatToken(.comma) != null)
1509 switch (p.tok_ids[p.tok_i]) {1867 switch (p.tok_ids[p.tok_i]) {
1510 .string_literal,1868 .string_literal,
...@@ -1544,11 +1902,9 @@ fn staticAssert(p: *Parser) Error!bool {...@@ -1544,11 +1902,9 @@ fn staticAssert(p: *Parser) Error!bool {
1544 var allocating: std.Io.Writer.Allocating = .init(bfa.allocator());1902 var allocating: std.Io.Writer.Allocating = .init(bfa.allocator());
1545 defer allocating.deinit();1903 defer allocating.deinit();
15461904
1547 if (p.staticAssertMessage(res_node, str, &allocating) catch return error.OutOfMemory) |message| {1905 const message = p.staticAssertMessage(res.node, str, &allocating) catch return error.OutOfMemory;
1548 try p.err(static_assert, .static_assert_failure_message, .{message});1906 try p.err(res_token, .static_assert_failure_message, .{message.full});
1549 } else {1907 try p.staticAssertEvaluationNote(res.node, message.full[message.req_start..message.req_end]);
1550 try p.err(static_assert, .static_assert_failure, .{});
1551 }
1552 }1908 }
1553 }1909 }
15541910
...@@ -1613,7 +1969,6 @@ pub const DeclSpec = struct {...@@ -1613,7 +1969,6 @@ pub const DeclSpec = struct {
16131969
1614 fn validateDecl(d: DeclSpec, p: *Parser, asm_label: ?Node.Index) Error!void {1970 fn validateDecl(d: DeclSpec, p: *Parser, asm_label: ?Node.Index) Error!void {
1615 if (d.@"inline") |tok_i| try p.err(tok_i, .func_spec_non_func, .{"inline"});1971 if (d.@"inline") |tok_i| try p.err(tok_i, .func_spec_non_func, .{"inline"});
1616 // TODO move to attribute validation
1617 if (d.noreturn) |tok_i| try p.err(tok_i, .func_spec_non_func, .{"_Noreturn"});1972 if (d.noreturn) |tok_i| try p.err(tok_i, .func_spec_non_func, .{"_Noreturn"});
1618 switch (d.storage_class) {1973 switch (d.storage_class) {
1619 .auto => {1974 .auto => {
...@@ -1656,7 +2011,7 @@ fn typeof(p: *Parser) Error!?QualType {...@@ -1656,7 +2011,7 @@ fn typeof(p: *Parser) Error!?QualType {
1656 .expr = null,2011 .expr = null,
1657 } })).withQualifiers(qt);2012 } })).withQualifiers(qt);
1658 }2013 }
1659 const typeof_expr = try p.parseNoEval(expr);2014 const typeof_expr = try p.expectResult(try p.binaryExpr(.any, false));
1660 try p.expectClosing(l_paren, .r_paren);2015 try p.expectClosing(l_paren, .r_paren);
1661 if (typeof_expr.qt.isInvalid()) return null;2016 if (typeof_expr.qt.isInvalid()) return null;
16622017
...@@ -1709,10 +2064,7 @@ fn declSpec(p: *Parser) Error!?DeclSpec {...@@ -1709,10 +2064,7 @@ fn declSpec(p: *Parser) Error!?DeclSpec {
1709 continue;2064 continue;
1710 },2065 },
1711 .keyword_forceinline, .keyword_forceinline2 => {2066 .keyword_forceinline, .keyword_forceinline2 => {
1712 try p.attr_buf.append(p.comp.gpa, .{2067 try p.wip_attrs.addKeyword(p, p.tok_i, &.{});
1713 .attr = .{ .tag = .always_inline, .args = .{ .always_inline = .{} }, .syntax = .keyword },
1714 .tok = p.tok_i,
1715 });
1716 p.tok_i += 1;2068 p.tok_i += 1;
1717 continue;2069 continue;
1718 },2070 },
...@@ -1750,9 +2102,13 @@ fn storageClassSpec(p: *Parser, d: *DeclSpec) Error!bool {...@@ -1750,9 +2102,13 @@ fn storageClassSpec(p: *Parser, d: *DeclSpec) Error!bool {
1750 try p.err(p.tok_i, .multiple_storage_class, .{@tagName(d.storage_class)});2102 try p.err(p.tok_i, .multiple_storage_class, .{@tagName(d.storage_class)});
1751 return error.ParsingFailed;2103 return error.ParsingFailed;
1752 }2104 }
1753 if (d.thread_local != null) {2105 if (d.thread_local) |thread_tok| {
1754 switch (id) {2106 switch (id) {
1755 .keyword_extern, .keyword_static => {},2107 .keyword_extern, .keyword_static => {
2108 if (p.tok_ids[thread_tok] == .keyword_thread) {
2109 try p.err(thread_tok, .thread_before_storage, .{id.lexeme().?});
2110 }
2111 },
1756 else => try p.err(p.tok_i, .cannot_combine_spec, .{id.lexeme().?}),2112 else => try p.err(p.tok_i, .cannot_combine_spec, .{id.lexeme().?}),
1757 }2113 }
1758 if (d.constexpr) |tok| try p.err(p.tok_i, .cannot_combine_spec, .{p.tok_ids[tok].lexeme().?});2114 if (d.constexpr) |tok| try p.err(p.tok_i, .cannot_combine_spec, .{p.tok_ids[tok].lexeme().?});
...@@ -1775,6 +2131,7 @@ fn storageClassSpec(p: *Parser, d: *DeclSpec) Error!bool {...@@ -1775,6 +2131,7 @@ fn storageClassSpec(p: *Parser, d: *DeclSpec) Error!bool {
1775 },2131 },
1776 .keyword_thread_local,2132 .keyword_thread_local,
1777 .keyword_c23_thread_local,2133 .keyword_c23_thread_local,
2134 .keyword_thread,
1778 => {2135 => {
1779 if (d.thread_local != null) {2136 if (d.thread_local != null) {
1780 try p.err(p.tok_i, .duplicate_decl_spec, .{id.lexeme().?});2137 try p.err(p.tok_i, .duplicate_decl_spec, .{id.lexeme().?});
...@@ -1812,141 +2169,130 @@ const InitDeclarator = struct {...@@ -1812,141 +2169,130 @@ const InitDeclarator = struct {
18122169
1813/// attribute2170/// attribute
1814/// : attrIdentifier2171/// : attrIdentifier
1815/// | attrIdentifier '(' identifier ')'
1816/// | attrIdentifier '(' identifier (',' expr)+ ')'
1817/// | attrIdentifier '(' (expr (',' expr)*)? ')'2172/// | attrIdentifier '(' (expr (',' expr)*)? ')'
1818fn attribute(p: *Parser, kind: Attribute.Kind, namespace: ?[]const u8) Error!?TentativeAttribute {2173/// c23Attribute : (attrIdentifier '::')? attribute
1819 const name_tok = p.tok_i;2174fn attribute(p: *Parser, syntax: Attribute.Syntax) Error!void {
1820 if (!p.tok_ids[p.tok_i].isMacroIdentifier()) {2175 const first_tok = p.tok_i;
1821 return p.errExpectedToken(.identifier, p.tok_ids[p.tok_i]);2176 const namespaced = blk: {
1822 }2177 var opt_namespace: ?[]const u8 = null;
1823 _ = (try p.eatIdentifier()) orelse {2178 var name: []const u8 = undefined;
1824 p.tok_i += 1;2179
1825 };2180 const namespace_or_name = try p.attrIdentifier();
1826 const name = p.tokSlice(name_tok);2181 if (syntax == .standard and p.eatToken(.colon_colon) != null) {
2182 opt_namespace = p.tokSlice(namespace_or_name);
2183 name = p.tokSlice(try p.attrIdentifier());
2184 } else {
2185 name = p.tokSlice(namespace_or_name);
2186 }
18272187
1828 const attr = Attribute.fromString(kind, namespace, name) orelse {2188 if (Attribute.Namespaced.fromString(syntax, opt_namespace, name)) |some| break :blk some;
1829 try p.err(name_tok, if (kind == .declspec) .declspec_attr_not_supported else .unknown_attribute, .{name});2189 if (syntax == .declspec) {
2190 try p.err(first_tok, .declspec_attr_not_supported, .{name});
2191 } else if (opt_namespace) |namespace| {
2192 try p.err(first_tok, .unknown_namespaced_attribute, .{ namespace, name });
2193 } else {
2194 try p.err(first_tok, .unknown_attribute, .{name});
2195 }
1830 if (p.eatToken(.l_paren)) |_| p.skipTo(.r_paren);2196 if (p.eatToken(.l_paren)) |_| p.skipTo(.r_paren);
1831 return null;2197 return;
1832 };2198 };
1833 if (attr == .availability) {2199 if (namespaced == .clang and namespaced.clang == .availability) {
1834 // TODO parse introduced=10.4 etc2200 return p.parseAvailabilityArgs();
1835 if (p.eatToken(.l_paren)) |_| p.skipTo(.r_paren);
1836 return null;
1837 }2201 }
18382202
1839 const required_count = Attribute.requiredArgCount(attr);2203 const list_buf_top = p.list_buf.items.len;
1840 var arguments = Attribute.initArguments(attr, name_tok);2204 defer p.list_buf.items.len = list_buf_top;
1841 var arg_idx: u32 = 0;2205 const gpa = p.comp.gpa;
2206 const arg_top = p.wip_attrs.args.items.len;
18422207
1843 switch (p.tok_ids[p.tok_i]) {2208 if (p.eatToken(.l_paren)) |l_paren| args: {
1844 .comma, .r_paren => {}, // will be consumed in attributeList2209 if (p.eatToken(.r_paren)) |_| {
1845 .l_paren => blk: {2210 if (syntax == .declspec) try p.err(l_paren, .declspec_empty_args, .{@tagName(namespaced.declspec)});
1846 p.tok_i += 1;2211 break :args;
1847 if (p.eatToken(.r_paren)) |_| break :blk;2212 }
18482213
1849 if (Attribute.wantsIdentEnum(attr)) {2214 while (true) {
1850 if (try p.eatIdentifier()) |ident| {2215 switch (p.tok_ids[p.tok_i]) {
1851 if (try Attribute.diagnoseIdent(attr, &arguments, ident, p)) {2216 .identifier, .extended_identifier => {
1852 p.skipTo(.r_paren);2217 if (p.list_buf.items.len == list_buf_top and namespaced.hasIdentifierArg()) {
1853 return null;2218 try p.wip_attrs.args.append(gpa, .{
2219 .node = try p.addNode(.{
2220 .identifier_arg = .{ .identifier_tok = p.tok_i },
2221 }),
2222 });
2223 p.tok_i += 1;
2224
2225 if (p.eatToken(.r_paren)) |_| break;
2226 _ = try p.expectToken(.comma);
1854 }2227 }
1855 } else {2228 },
1856 try p.err(name_tok, .attribute_requires_identifier, .{name});2229 else => {},
1857 return null;
1858 }
1859 } else {
1860 const arg_start = p.tok_i;
1861 const first_expr = try p.expect(assignExpr);
1862 if (try p.diagnose(attr, &arguments, arg_idx, first_expr, arg_start)) {
1863 p.skipTo(.r_paren);
1864 return null;
1865 }
1866 }2230 }
1867 arg_idx += 1;
1868 while (p.eatToken(.r_paren) == null) : (arg_idx += 1) {
1869 _ = try p.expectToken(.comma);
18702231
1871 const arg_start = p.tok_i;2232 const arg = try p.expectWithClosing(assignExpr, .r_paren);
1872 const arg_expr = try p.expect(assignExpr);2233 try p.wip_attrs.args.append(gpa, arg);
1873 if (try p.diagnose(attr, &arguments, arg_idx, arg_expr, arg_start)) {
1874 p.skipTo(.r_paren);
1875 return null;
1876 }
1877 }
1878 },
1879 else => {},
1880 }
1881 if (arg_idx < required_count) {
1882 try p.err(name_tok, .attribute_not_enough_args, .{
1883 @tagName(attr), required_count,
1884 });
1885 return null;
1886 }
1887 return .{ .attr = .{ .tag = attr, .args = arguments, .syntax = kind.toSyntax() }, .tok = name_tok };
1888}
18892234
1890fn diagnose(p: *Parser, attr: Attribute.Tag, arguments: *Attribute.Arguments, arg_idx: u32, res: Result, arg_start: TokenIndex) !bool {2235 if (p.eatToken(.r_paren)) |_| break;
1891 if (Attribute.wantsAlignment(attr, arg_idx)) {2236 _ = try p.expectToken(.comma);
1892 return Attribute.diagnoseAlignment(attr, arguments, arg_idx, res, arg_start, p);2237 }
1893 }2238 }
1894 return Attribute.diagnose(attr, arguments, arg_idx, res, arg_start, res.node.get(&p.tree), p);
1895}
1896
1897/// attributeList : (attribute (',' attribute)*)?
1898fn gnuAttributeList(p: *Parser) Error!void {
1899 if (p.tok_ids[p.tok_i] == .r_paren) return;
1900 const gpa = p.comp.gpa;
19012239
1902 if (try p.attribute(.gnu, null)) |attr| try p.attr_buf.append(gpa, attr);2240 try p.wip_attrs.attrs.append(gpa, .{
1903 while (p.tok_ids[p.tok_i] != .r_paren) {2241 .name = namespaced,
1904 _ = try p.expectToken(.comma);2242 .syntax = syntax,
1905 if (try p.attribute(.gnu, null)) |attr| try p.attr_buf.append(gpa, attr);2243 .args_len = @intCast(p.wip_attrs.args.items.len - arg_top),
1906 }2244 .args_index = @intCast(arg_top),
2245 .tok = first_tok,
2246 });
1907}2247}
19082248
1909fn c23AttributeList(p: *Parser) Error!void {2249/// attrIdentifier : identifier | keyword
1910 while (p.tok_ids[p.tok_i] != .r_bracket) {2250fn attrIdentifier(p: *Parser) !TokenIndex {
1911 const namespace_tok = try p.expectIdentifier();2251 const res = p.tok_i;
1912 var namespace: ?[]const u8 = null;2252 if (!p.tok_ids[p.tok_i].isMacroIdentifier()) {
1913 if (p.eatToken(.colon_colon)) |_| {2253 return p.errExpectedToken(.identifier, p.tok_ids[p.tok_i]);
1914 namespace = p.tokSlice(namespace_tok);
1915 } else {
1916 p.tok_i -= 1;
1917 }
1918 if (try p.attribute(.c23, namespace)) |attr| try p.attr_buf.append(p.comp.gpa, attr);
1919 _ = p.eatToken(.comma);
1920 }2254 }
2255 _ = (try p.eatIdentifier()) orelse {
2256 p.tok_i += 1;
2257 };
2258 return res;
1921}2259}
19222260
1923fn msvcAttributeList(p: *Parser) Error!void {2261fn parseAvailabilityArgs(p: *Parser) Error!void {
1924 while (p.tok_ids[p.tok_i] != .r_paren) {2262 // TODO
1925 if (try p.attribute(.declspec, null)) |attr| try p.attr_buf.append(p.comp.gpa, attr);2263 if (p.eatToken(.l_paren)) |_| p.skipTo(.r_paren);
1926 _ = p.eatToken(.comma);
1927 }
1928}2264}
19292265
2266/// c23Attribute : '[' '[' c23AttributeList ']' ']'
2267/// c23AttributeList : ','* (c23Attribute ','+)*
1930fn c23Attribute(p: *Parser) !bool {2268fn c23Attribute(p: *Parser) !bool {
1931 if (!p.comp.langopts.standard.atLeast(.c23)) return false;
1932 const bracket1 = p.eatToken(.l_bracket) orelse return false;2269 const bracket1 = p.eatToken(.l_bracket) orelse return false;
1933 const bracket2 = p.eatToken(.l_bracket) orelse {2270 const bracket2 = p.eatToken(.l_bracket) orelse {
1934 p.tok_i -= 1;2271 p.tok_i -= 1;
1935 return false;2272 return false;
1936 };2273 };
2274 try p.err(bracket1, .c23_attribute, .{});
2275
2276 while (p.tok_ids[p.tok_i] != .r_bracket) {
2277 if (p.eatToken(.comma)) |_| continue;
2278 try p.attribute(.standard);
2279 }
19372280
1938 try p.c23AttributeList();
1939
1940 _ = try p.expectClosing(bracket2, .r_bracket);2281 _ = try p.expectClosing(bracket2, .r_bracket);
1941 _ = try p.expectClosing(bracket1, .r_bracket);2282 _ = try p.expectClosing(bracket1, .r_bracket);
19422283
1943 return true;2284 return true;
1944}2285}
19452286
1946fn msvcAttribute(p: *Parser) !bool {2287fn declspecAttribute(p: *Parser) !bool {
1947 _ = p.eatToken(.keyword_declspec) orelse return false;2288 _ = p.eatToken(.keyword_declspec) orelse return false;
1948 const l_paren = try p.expectToken(.l_paren);2289 const l_paren = try p.expectToken(.l_paren);
1949 try p.msvcAttributeList();2290
2291 while (p.tok_ids[p.tok_i] != .r_paren) {
2292 if (p.eatToken(.comma)) |_| continue;
2293 try p.attribute(.declspec);
2294 }
2295
1950 _ = try p.expectClosing(l_paren, .r_paren);2296 _ = try p.expectClosing(l_paren, .r_paren);
19512297
1952 return true;2298 return true;
...@@ -1960,7 +2306,10 @@ fn gnuAttribute(p: *Parser) !bool {...@@ -1960,7 +2306,10 @@ fn gnuAttribute(p: *Parser) !bool {
1960 const paren1 = try p.expectToken(.l_paren);2306 const paren1 = try p.expectToken(.l_paren);
1961 const paren2 = try p.expectToken(.l_paren);2307 const paren2 = try p.expectToken(.l_paren);
19622308
1963 try p.gnuAttributeList();2309 while (p.tok_ids[p.tok_i] != .r_paren) {
2310 if (p.eatToken(.comma)) |_| continue;
2311 try p.attribute(.gnu);
2312 }
19642313
1965 _ = try p.expectClosing(paren2, .r_paren);2314 _ = try p.expectClosing(paren2, .r_paren);
1966 _ = try p.expectClosing(paren1, .r_paren);2315 _ = try p.expectClosing(paren1, .r_paren);
...@@ -1972,14 +2321,14 @@ fn attributeSpecifierGnu(p: *Parser) Error!void {...@@ -1972,14 +2321,14 @@ fn attributeSpecifierGnu(p: *Parser) Error!void {
1972 if (try p.gnuAttribute()) continue;2321 if (try p.gnuAttribute()) continue;
19732322
1974 const tok = p.tok_i;2323 const tok = p.tok_i;
1975 const attr_buf_top_declarator = p.attr_buf.len;2324 const discarded_attr_state = p.wip_attrs.state(true);
1976 defer p.attr_buf.len = attr_buf_top_declarator;2325 defer p.wip_attrs.restore(discarded_attr_state);
19772326
1978 if (try p.c23Attribute()) {2327 if (try p.c23Attribute()) {
1979 try p.err(tok, .invalid_attribute_location, .{"an attribute list"});2328 try p.err(tok, .invalid_attribute_location, .{"an attribute list"});
1980 continue;2329 continue;
1981 }2330 }
1982 if (try p.msvcAttribute()) {2331 if (try p.declspecAttribute()) {
1983 try p.err(tok, .invalid_attribute_location, .{"a declspec attribute"});2332 try p.err(tok, .invalid_attribute_location, .{"a declspec attribute"});
1984 continue;2333 continue;
1985 }2334 }
...@@ -1987,22 +2336,30 @@ fn attributeSpecifierGnu(p: *Parser) Error!void {...@@ -1987,22 +2336,30 @@ fn attributeSpecifierGnu(p: *Parser) Error!void {
1987 }2336 }
1988}2337}
19892338
2339/// attributeSpecifier
2340/// : gnuAttribute
2341/// | c23Attribute
2342/// | declspecAttribute
2343/// gnuAttribute : keyword_attribute '( '(' attributeList ')' ')'
2344/// declspecAttribute : keyword_declspec '( attributeList ')'
2345/// attributeList : ','* (attribute ','+)*
1990fn attributeSpecifier(p: *Parser) Error!void {2346fn attributeSpecifier(p: *Parser) Error!void {
1991 return attributeSpecifierExtra(p, null);2347 return attributeSpecifierExtra(p, null);
1992}2348}
19932349
1994/// attributeSpecifier : (keyword_attribute '( '(' attributeList ')' ')')*
1995fn attributeSpecifierExtra(p: *Parser, declarator_name: ?TokenIndex) Error!void {2350fn attributeSpecifierExtra(p: *Parser, declarator_name: ?TokenIndex) Error!void {
1996 while (true) {2351 while (true) {
1997 if (try p.gnuAttribute()) continue;2352 if (try p.gnuAttribute()) continue;
1998 if (try p.c23Attribute()) continue;2353 if (try p.c23Attribute()) continue;
2354
2355 const discarded_attr_state = p.wip_attrs.state(false);
2356
1999 const maybe_declspec_tok = p.tok_i;2357 const maybe_declspec_tok = p.tok_i;
2000 const attr_buf_top = p.attr_buf.len;2358 if (try p.declspecAttribute()) {
2001 if (try p.msvcAttribute()) {
2002 if (declarator_name) |name_tok| {2359 if (declarator_name) |name_tok| {
2360 defer p.wip_attrs.restore(discarded_attr_state);
2003 try p.err(maybe_declspec_tok, .declspec_not_allowed_after_declarator, .{});2361 try p.err(maybe_declspec_tok, .declspec_not_allowed_after_declarator, .{});
2004 try p.err(name_tok, .declarator_name_tok, .{});2362 try p.err(name_tok, .declarator_name_tok, .{});
2005 p.attr_buf.len = attr_buf_top;
2006 }2363 }
2007 continue;2364 continue;
2008 }2365 }
...@@ -2011,9 +2368,7 @@ fn attributeSpecifierExtra(p: *Parser, declarator_name: ?TokenIndex) Error!void...@@ -2011,9 +2368,7 @@ fn attributeSpecifierExtra(p: *Parser, declarator_name: ?TokenIndex) Error!void
2011}2368}
20122369
2013/// initDeclarator : declarator assembly? attributeSpecifier? ('=' initializer)?2370/// initDeclarator : declarator assembly? attributeSpecifier? ('=' initializer)?
2014fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_node: Node.Index) Error!?InitDeclarator {2371fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, decl_node: Node.Index) Error!?InitDeclarator {
2015 const this_attr_buf_top = p.attr_buf.len;
2016 defer p.attr_buf.len = this_attr_buf_top;
2017 const gpa = p.comp.gpa;2372 const gpa = p.comp.gpa;
20182373
2019 var init_d: InitDeclarator = .{2374 var init_d: InitDeclarator = .{
...@@ -2024,13 +2379,20 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no...@@ -2024,13 +2379,20 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no
2024 init_d.asm_label = try p.assembly(.decl_label);2379 init_d.asm_label = try p.assembly(.decl_label);
2025 try p.attributeSpecifierExtra(init_d.d.name);2380 try p.attributeSpecifierExtra(init_d.d.name);
20262381
2382 init_d.d.qt = try p.wip_attrs.applyTypeAttrs(p, init_d.d.qt);
2383
2027 switch (init_d.d.declarator_type) {2384 switch (init_d.d.declarator_type) {
2028 .func => {2385 inline .func, .block => |tag| {
2386 const kind = switch (tag) {
2387 .func => "function",
2388 .block => "block",
2389 else => comptime unreachable,
2390 };
2029 if (decl_spec.auto_type) |tok_i| {2391 if (decl_spec.auto_type) |tok_i| {
2030 try p.err(tok_i, .auto_type_not_allowed, .{"function return type"});2392 try p.err(tok_i, .auto_type_not_allowed, .{kind ++ " return type"});
2031 init_d.d.qt = .invalid;2393 init_d.d.qt = .invalid;
2032 } else if (decl_spec.c23_auto) |tok_i| {2394 } else if (decl_spec.c23_auto) |tok_i| {
2033 try p.err(tok_i, .c23_auto_not_allowed, .{"function return type"});2395 try p.err(tok_i, .c23_auto_not_allowed, .{kind ++ " return type"});
2034 init_d.d.qt = .invalid;2396 init_d.d.qt = .invalid;
2035 }2397 }
2036 },2398 },
...@@ -2061,15 +2423,6 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no...@@ -2061,15 +2423,6 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no
2061 },2423 },
2062 }2424 }
20632425
2064 var apply_var_attributes = false;
2065 if (decl_spec.storage_class == .typedef) {
2066 init_d.d.qt = try Attribute.applyTypeAttributes(p, init_d.d.qt, attr_buf_top, null);
2067 } else if (init_d.d.declarator_type == .func or init_d.d.qt.is(p.comp, .func)) {
2068 init_d.d.qt = try Attribute.applyFunctionAttributes(p, init_d.d.qt, attr_buf_top);
2069 } else {
2070 apply_var_attributes = true;
2071 }
2072
2073 if (p.eatToken(.equal)) |eq| {2426 if (p.eatToken(.equal)) |eq| {
2074 if (decl_spec.storage_class == .typedef or2427 if (decl_spec.storage_class == .typedef or
2075 (init_d.d.declarator_type == .func and init_d.d.qt.is(p.comp, .func)))2428 (init_d.d.declarator_type == .func and init_d.d.qt.is(p.comp, .func)))
...@@ -2084,8 +2437,7 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no...@@ -2084,8 +2437,7 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no
20842437
2085 incomplete: {2438 incomplete: {
2086 if (init_d.d.qt.isInvalid()) break :incomplete;2439 if (init_d.d.qt.isInvalid()) break :incomplete;
2087 if (init_d.d.qt.isC23Auto()) break :incomplete;2440 if (init_d.d.qt.isAuto()) break :incomplete;
2088 if (init_d.d.qt.isAutoType()) break :incomplete;
2089 if (!init_d.d.qt.hasIncompleteSize(p.comp)) break :incomplete;2441 if (!init_d.d.qt.hasIncompleteSize(p.comp)) break :incomplete;
2090 if (init_d.d.qt.get(p.comp, .array)) |array_ty| {2442 if (init_d.d.qt.get(p.comp, .array)) |array_ty| {
2091 if (array_ty.len == .incomplete) break :incomplete;2443 if (array_ty.len == .incomplete) break :incomplete;
...@@ -2098,10 +2450,11 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no...@@ -2098,10 +2450,11 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no
2098 defer p.syms.popScope();2450 defer p.syms.popScope();
20992451
2100 const interned_name = try p.comp.internString(p.tokSlice(init_d.d.name));2452 const interned_name = try p.comp.internString(p.tokSlice(init_d.d.name));
2101 try p.syms.declareSymbol(p, interned_name, init_d.d.qt, init_d.d.name, decl_node);2453 _ = try p.syms.declareSymbol(p, interned_name, init_d.d.qt, init_d.d.name, decl_node);
2454 try p.addMaybeUnusued(decl_node);
21022455
2103 // TODO this should be a stack of auto type names because of statement expressions.2456 // TODO this should be a stack of auto type names because of statement expressions.
2104 if (init_d.d.qt.isAutoType() or init_d.d.qt.isC23Auto()) {2457 if (init_d.d.qt.isAuto()) {
2105 p.auto_type_decl_name = interned_name;2458 p.auto_type_decl_name = interned_name;
2106 }2459 }
2107 defer p.auto_type_decl_name = .empty;2460 defer p.auto_type_decl_name = .empty;
...@@ -2129,7 +2482,7 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no...@@ -2129,7 +2482,7 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no
2129 }2482 }
21302483
2131 const name = init_d.d.name;2484 const name = init_d.d.name;
2132 if (init_d.d.qt.isAutoType() or init_d.d.qt.isC23Auto()) {2485 if (init_d.d.qt.isAuto()) {
2133 if (init_d.initializer) |some| {2486 if (init_d.initializer) |some| {
2134 init_d.d.qt = some.qt.withQualifiers(init_d.d.qt);2487 init_d.d.qt = some.qt.withQualifiers(init_d.d.qt);
2135 } else {2488 } else {
...@@ -2142,9 +2495,6 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no...@@ -2142,9 +2495,6 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no
2142 return init_d;2495 return init_d;
2143 }2496 }
2144 }2497 }
2145 if (apply_var_attributes) {
2146 init_d.d.qt = try Attribute.applyVariableAttributes(p, init_d.d.qt, attr_buf_top, null);
2147 }
21482498
2149 incomplete: {2499 incomplete: {
2150 if (decl_spec.storage_class == .typedef) break :incomplete;2500 if (decl_spec.storage_class == .typedef) break :incomplete;
...@@ -2163,16 +2513,16 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no...@@ -2163,16 +2513,16 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no
2163 if (p.func.qt == null) {2513 if (p.func.qt == null) {
2164 switch (init_type) {2514 switch (init_type) {
2165 .array => |array_ty| if (array_ty.len == .incomplete) {2515 .array => |array_ty| if (array_ty.len == .incomplete) {
2166 // TODO properly check this after finishing parsing2516 const interned_name = try p.comp.internString(p.tokSlice(name));
2167 try p.err(name, .tentative_array, .{});2517 _ = try p.tentative_defs.getOrPutValue(gpa, .tentativeArray(interned_name), name);
2168 break :incomplete;2518 break :incomplete;
2169 },2519 },
2170 .@"struct", .@"union" => |record_ty| {2520 .@"struct", .@"union" => |record_ty| {
2171 _ = try p.tentative_defs.getOrPutValue(gpa, record_ty.name, init_d.d.name);2521 _ = try p.tentative_defs.getOrPutValue(gpa, .incompleteType(record_ty.name), init_d.d.name);
2172 break :incomplete;2522 break :incomplete;
2173 },2523 },
2174 .@"enum" => |enum_ty| {2524 .@"enum" => |enum_ty| {
2175 _ = try p.tentative_defs.getOrPutValue(gpa, enum_ty.name, init_d.d.name);2525 _ = try p.tentative_defs.getOrPutValue(gpa, .incompleteType(enum_ty.name), init_d.d.name);
2176 break :incomplete;2526 break :incomplete;
2177 },2527 },
2178 else => {},2528 else => {},
...@@ -2184,6 +2534,25 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no...@@ -2184,6 +2534,25 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize, decl_no
2184 return init_d;2534 return init_d;
2185}2535}
21862536
2537fn exactTypeKeywordToSpecMSVC(id: Tokenizer.Token.Id) TypeStore.Builder.Specifier {
2538 return switch (id) {
2539 .keyword_int8, .keyword_int8_2 => .char,
2540 .keyword_int16, .keyword_int16_2 => .short,
2541 .keyword_int32, .keyword_int32_2 => .int,
2542 .keyword_int64, .keyword_int64_2 => .long_long,
2543 else => unreachable,
2544 };
2545}
2546
2547fn getMSVCIntSuffixType(p: *Parser, bits: enum { @"8", @"16", @"32", @"64" }, signedness: std.builtin.Signedness) QualType {
2548 return switch (bits) {
2549 .@"8" => if (signedness == .signed) .char else .uchar,
2550 .@"16" => p.comp.intLeastN(16, signedness),
2551 .@"32" => p.comp.intLeastN(32, signedness),
2552 .@"64" => if (p.comp.langopts.emulate != .msvc) p.comp.smallestNBitIntTargetIndependent(64, signedness) else if (signedness == .signed) .long_long else .ulong_long,
2553 };
2554}
2555
2187/// typeSpec2556/// typeSpec
2188/// : keyword_void2557/// : keyword_void
2189/// | keyword_char2558/// | keyword_char
...@@ -2223,12 +2592,23 @@ fn typeSpec(p: *Parser, builder: *TypeStore.Builder) Error!bool {...@@ -2223,12 +2592,23 @@ fn typeSpec(p: *Parser, builder: *TypeStore.Builder) Error!bool {
2223 switch (p.tok_ids[p.tok_i]) {2592 switch (p.tok_ids[p.tok_i]) {
2224 .keyword_void => try builder.combine(.void, p.tok_i),2593 .keyword_void => try builder.combine(.void, p.tok_i),
2225 .keyword_bool, .keyword_c23_bool => try builder.combine(.bool, p.tok_i),2594 .keyword_bool, .keyword_c23_bool => try builder.combine(.bool, p.tok_i),
2226 .keyword_int8, .keyword_int8_2, .keyword_char => try builder.combine(.char, p.tok_i),2595 .keyword_char => try builder.combine(.char, p.tok_i),
2227 .keyword_int16, .keyword_int16_2, .keyword_short => try builder.combine(.short, p.tok_i),2596 .keyword_short => try builder.combine(.short, p.tok_i),
2228 .keyword_int32, .keyword_int32_2, .keyword_int => try builder.combine(.int, p.tok_i),2597 .keyword_int => try builder.combine(.int, p.tok_i),
2229 .keyword_long => try builder.combine(.long, p.tok_i),2598 .keyword_long => try builder.combine(.long, p.tok_i),
2230 .keyword_int64, .keyword_int64_2 => try builder.combine(.long_long, p.tok_i),2599
2600 .keyword_int8,
2601 .keyword_int8_2,
2602 .keyword_int16,
2603 .keyword_int16_2,
2604 .keyword_int32,
2605 .keyword_int32_2,
2606 .keyword_int64,
2607 .keyword_int64_2,
2608 => |tok_id| try builder.combine(exactTypeKeywordToSpecMSVC(tok_id), p.tok_i),
2609
2231 .keyword_int128 => try builder.combine(.int128, p.tok_i),2610 .keyword_int128 => try builder.combine(.int128, p.tok_i),
2611 .keyword_int24 => try builder.combine(.int24, p.tok_i),
2232 .keyword_signed, .keyword_signed1, .keyword_signed2 => try builder.combine(.signed, p.tok_i),2612 .keyword_signed, .keyword_signed1, .keyword_signed2 => try builder.combine(.signed, p.tok_i),
2233 .keyword_unsigned => try builder.combine(.unsigned, p.tok_i),2613 .keyword_unsigned => try builder.combine(.unsigned, p.tok_i),
2234 .keyword_fp16 => try builder.combine(.fp16, p.tok_i),2614 .keyword_fp16 => try builder.combine(.fp16, p.tok_i),
...@@ -2263,10 +2643,7 @@ fn typeSpec(p: *Parser, builder: *TypeStore.Builder) Error!bool {...@@ -2263,10 +2643,7 @@ fn typeSpec(p: *Parser, builder: *TypeStore.Builder) Error!bool {
2263 p.tok_i = atomic_tok;2643 p.tok_i = atomic_tok;
2264 break;2644 break;
2265 };2645 };
2266 const base_qt = (try p.typeName()) orelse {2646 const base_qt = try p.expectTypeName(.r_paren);
2267 try p.err(p.tok_i, .expected_type, .{});
2268 return error.ParsingFailed;
2269 };
2270 try p.expectClosing(l_paren, .r_paren);2647 try p.expectClosing(l_paren, .r_paren);
22712648
2272 if (base_qt.isQualified() and !base_qt.isInvalid()) {2649 if (base_qt.isQualified() and !base_qt.isInvalid()) {
...@@ -2283,34 +2660,22 @@ fn typeSpec(p: *Parser, builder: *TypeStore.Builder) Error!bool {...@@ -2283,34 +2660,22 @@ fn typeSpec(p: *Parser, builder: *TypeStore.Builder) Error!bool {
2283 => {2660 => {
2284 const align_tok = p.tok_i;2661 const align_tok = p.tok_i;
2285 p.tok_i += 1;2662 p.tok_i += 1;
2286 const gpa = p.comp.gpa;
2287 const l_paren = try p.expectToken(.l_paren);2663 const l_paren = try p.expectToken(.l_paren);
2288 const typename_start = p.tok_i;2664 const typename_start = p.tok_i;
2289 if (try p.typeName()) |inner_qt| {2665 if (try p.typeName()) |inner_qt| {
2290 if (!inner_qt.alignable(p.comp)) {2666 if (!inner_qt.alignable(p.comp)) {
2291 try p.err(typename_start, .invalid_alignof, .{inner_qt});2667 try p.err(typename_start, .invalid_alignof, .{inner_qt});
2292 }2668 }
2293 const alignment = Attribute.Alignment{ .requested = inner_qt.alignof(p.comp) };2669 try p.wip_attrs.addKeyword(p, align_tok, &.{.{
2294 try p.attr_buf.append(gpa, .{2670 .node = try p.addNode(.{ .alignas_type = .{
2295 .attr = .{ .tag = .aligned, .args = .{2671 .alignas_tok = align_tok,
2296 .aligned = .{ .alignment = alignment, .__name_tok = align_tok },2672 .qt = inner_qt,
2297 }, .syntax = .keyword },2673 } }),
2298 .tok = align_tok,2674 .qt = inner_qt,
2299 });2675 }});
2300 } else check: {2676 } else {
2301 const arg_start = p.tok_i;
2302 const res = try p.integerConstExpr(.no_const_decl_folding);2677 const res = try p.integerConstExpr(.no_const_decl_folding);
2303 if (!res.val.isZero(p.comp)) {2678 try p.wip_attrs.addKeyword(p, align_tok, &.{res});
2304 var args = Attribute.initArguments(.aligned, align_tok);
2305 if (try p.diagnose(.aligned, &args, 0, res, arg_start)) {
2306 break :check;
2307 }
2308 args.aligned.alignment.?.node = .pack(res.node);
2309 try p.attr_buf.append(gpa, .{
2310 .attr = .{ .tag = .aligned, .args = args, .syntax = .keyword },
2311 .tok = align_tok,
2312 });
2313 }
2314 }2679 }
2315 try p.expectClosing(l_paren, .r_paren);2680 try p.expectClosing(l_paren, .r_paren);
2316 continue;2681 continue;
...@@ -2344,6 +2709,7 @@ fn typeSpec(p: *Parser, builder: *TypeStore.Builder) Error!bool {...@@ -2344,6 +2709,7 @@ fn typeSpec(p: *Parser, builder: *TypeStore.Builder) Error!bool {
2344 interned_name = try p.comp.internString(p.tokSlice(p.tok_i));2709 interned_name = try p.comp.internString(p.tokSlice(p.tok_i));
2345 }2710 }
2346 const typedef = (try p.syms.findTypedef(p, interned_name, p.tok_i, builder.type != .none)) orelse break;2711 const typedef = (try p.syms.findTypedef(p, interned_name, p.tok_i, builder.type != .none)) orelse break;
2712 p.markUsed(typedef.node);
2347 if (!builder.combineTypedef(typedef.qt)) break;2713 if (!builder.combineTypedef(typedef.qt)) break;
2348 },2714 },
2349 .keyword_bit_int => {2715 .keyword_bit_int => {
...@@ -2356,8 +2722,9 @@ fn typeSpec(p: *Parser, builder: *TypeStore.Builder) Error!bool {...@@ -2356,8 +2722,9 @@ fn typeSpec(p: *Parser, builder: *TypeStore.Builder) Error!bool {
23562722
2357 var bits: u64 = undefined;2723 var bits: u64 = undefined;
2358 if (res.val.opt_ref == .none) {2724 if (res.val.opt_ref == .none) {
2359 try p.err(bit_int_tok, .expected_integer_constant_expr, .{});2725 if (builder.type == .none) try p.err(res.node.tok(&p.tree), .expected_integer_constant_expr, .{});
2360 return error.ParsingFailed;2726 try builder.combine(.{ .other = .invalid }, bit_int_tok);
2727 continue;
2361 } else if (res.val.compare(.lte, .zero, p.comp)) {2728 } else if (res.val.compare(.lte, .zero, p.comp)) {
2362 bits = 0;2729 bits = 0;
2363 } else {2730 } else {
...@@ -2387,8 +2754,7 @@ fn getAnonymousName(p: *Parser, kind_tok: TokenIndex) !StringId {...@@ -2387,8 +2754,7 @@ fn getAnonymousName(p: *Parser, kind_tok: TokenIndex) !StringId {
23872754
2388 var arena = p.comp.type_store.anon_name_arena.promote(p.comp.gpa);2755 var arena = p.comp.type_store.anon_name_arena.promote(p.comp.gpa);
2389 defer p.comp.type_store.anon_name_arena = arena.state;2756 defer p.comp.type_store.anon_name_arena = arena.state;
2390 const str = try std.fmt.allocPrint(2757 const str = try arena.allocator().print(
2391 arena.allocator(),
2392 "(anonymous {s} at {s}:{d}:{d})",2758 "(anonymous {s} at {s}:{d}:{d})",
2393 .{ kind_str, source.path, line_col.line_no, line_col.col },2759 .{ kind_str, source.path, line_col.line_no, line_col.col },
2394 );2760 );
...@@ -2404,13 +2770,17 @@ fn recordSpec(p: *Parser) Error!QualType {...@@ -2404,13 +2770,17 @@ fn recordSpec(p: *Parser) Error!QualType {
2404 const kind_tok = p.tok_i;2770 const kind_tok = p.tok_i;
2405 const is_struct = p.tok_ids[kind_tok] == .keyword_struct;2771 const is_struct = p.tok_ids[kind_tok] == .keyword_struct;
2406 p.tok_i += 1;2772 p.tok_i += 1;
2407 const attr_buf_top = p.attr_buf.len;2773
2408 defer p.attr_buf.len = attr_buf_top;2774 const attr_state = p.wip_attrs.state(true);
2775 defer p.wip_attrs.restore(attr_state);
2409 try p.attributeSpecifier();2776 try p.attributeSpecifier();
24102777
2411 const reserved_index = try p.tree.nodes.addOne(gpa);2778 const reserved_index = try p.tree.nodes.addOne(gpa);
2779 const record_decl: Tree.Node.Index = @fromBackingInt(@intCast(reserved_index));
24122780
2413 const maybe_ident = try p.eatIdentifier();2781 const maybe_ident = try p.eatIdentifier();
2782 try p.attributeSpecifier();
2783
2414 const l_brace = p.eatToken(.l_brace) orelse {2784 const l_brace = p.eatToken(.l_brace) orelse {
2415 const ident = maybe_ident orelse {2785 const ident = maybe_ident orelse {
2416 try p.err(p.tok_i, .ident_or_l_brace, .{});2786 try p.err(p.tok_i, .ident_or_l_brace, .{});
...@@ -2425,7 +2795,7 @@ fn recordSpec(p: *Parser) Error!QualType {...@@ -2425,7 +2795,7 @@ fn recordSpec(p: *Parser) Error!QualType {
2425 const record_ty: Type.Record = .{2795 const record_ty: Type.Record = .{
2426 .name = interned_name,2796 .name = interned_name,
2427 .layout = null,2797 .layout = null,
2428 .decl_node = @fromBackingInt(@intCast(reserved_index)),2798 .decl_node = .pack(record_decl),
2429 .fields = &.{},2799 .fields = &.{},
2430 };2800 };
2431 const record_qt = try p.comp.type_store.put(gpa, if (is_struct)2801 const record_qt = try p.comp.type_store.put(gpa, if (is_struct)
...@@ -2433,26 +2803,28 @@ fn recordSpec(p: *Parser) Error!QualType {...@@ -2433,26 +2803,28 @@ fn recordSpec(p: *Parser) Error!QualType {
2433 else2803 else
2434 .{ .@"union" = record_ty });2804 .{ .@"union" = record_ty });
24352805
2436 const attributed_qt = try Attribute.applyTypeAttributes(p, record_qt, attr_buf_top, null);
2437 try p.syms.define(gpa, .{2806 try p.syms.define(gpa, .{
2438 .kind = if (is_struct) .@"struct" else .@"union",2807 .kind = if (is_struct) .@"struct" else .@"union",
2439 .name = interned_name,2808 .name = interned_name,
2440 .tok = ident,2809 .tok = ident,
2441 .qt = attributed_qt,2810 .qt = record_qt,
2442 .val = .{},2811 .val = .{},
2812 .node = record_decl,
2443 });2813 });
24442814
2445 const fw: Node.ContainerForwardDecl = .{2815 const fw: Node.ContainerForwardDecl = .{
2446 .name_or_kind_tok = ident,2816 .name_or_kind_tok = ident,
2447 .container_qt = attributed_qt,2817 .container_qt = record_qt,
2448 .definition = null,2818 .definition = null,
2449 };2819 };
2450 try p.tree.setNode(if (is_struct)2820 try p.tree.setNode(if (is_struct)
2451 .{ .struct_forward_decl = fw }2821 .{ .struct_forward_decl = fw }
2452 else2822 else
2453 .{ .union_forward_decl = fw }, reserved_index);2823 .{ .union_forward_decl = fw }, reserved_index);
2454 try p.decl_buf.append(gpa, @fromBackingInt(@intCast(reserved_index)));2824 try p.decl_buf.append(gpa, record_decl);
2455 return attributed_qt;2825 assert(try p.wip_attrs.applyTypeAttrs(p, record_qt) == record_qt);
2826 try p.wip_attrs.applyDeclAttrs(p, record_decl, null);
2827 return record_qt;
2456 }2828 }
2457 };2829 };
24582830
...@@ -2460,7 +2832,7 @@ fn recordSpec(p: *Parser) Error!QualType {...@@ -2460,7 +2832,7 @@ fn recordSpec(p: *Parser) Error!QualType {
2460 errdefer if (!done) p.skipTo(.r_brace);2832 errdefer if (!done) p.skipTo(.r_brace);
24612833
2462 // Get forward declared type or create a new one2834 // Get forward declared type or create a new one
2463 var record_ty: Type.Record, const qt: QualType = blk: {2835 var record_ty: Type.Record, const qt: QualType, const prev_decl: ?Node.Index = blk: {
2464 const interned_name = if (maybe_ident) |ident| interned: {2836 const interned_name = if (maybe_ident) |ident| interned: {
2465 const ident_str = p.tokSlice(ident);2837 const ident_str = p.tokSlice(ident);
2466 const interned_name = try p.comp.internString(ident_str);2838 const interned_name = try p.comp.internString(ident_str);
...@@ -2471,7 +2843,7 @@ fn recordSpec(p: *Parser) Error!QualType {...@@ -2471,7 +2843,7 @@ fn recordSpec(p: *Parser) Error!QualType {
2471 try p.err(ident, .redefinition, .{ident_str});2843 try p.err(ident, .redefinition, .{ident_str});
2472 try p.err(prev.tok, .previous_definition, .{});2844 try p.err(prev.tok, .previous_definition, .{});
2473 } else {2845 } else {
2474 break :blk .{ record_ty, prev.qt };2846 break :blk .{ record_ty, prev.qt, record_ty.decl_node.unpack() orelse null };
2475 }2847 }
2476 }2848 }
2477 break :interned interned_name;2849 break :interned interned_name;
...@@ -2481,7 +2853,7 @@ fn recordSpec(p: *Parser) Error!QualType {...@@ -2481,7 +2853,7 @@ fn recordSpec(p: *Parser) Error!QualType {
2481 // can be specified after the closing rbrace, which we haven't encountered yet.2853 // can be specified after the closing rbrace, which we haven't encountered yet.
2482 const record_ty: Type.Record = .{2854 const record_ty: Type.Record = .{
2483 .name = interned_name,2855 .name = interned_name,
2484 .decl_node = @fromBackingInt(@intCast(reserved_index)),2856 .decl_node = .pack(record_decl),
2485 .layout = null,2857 .layout = null,
2486 .fields = &.{},2858 .fields = &.{},
2487 };2859 };
...@@ -2499,13 +2871,14 @@ fn recordSpec(p: *Parser) Error!QualType {...@@ -2499,13 +2871,14 @@ fn recordSpec(p: *Parser) Error!QualType {
2499 .tok = maybe_ident.?,2871 .tok = maybe_ident.?,
2500 .qt = record_qt,2872 .qt = record_qt,
2501 .val = .{},2873 .val = .{},
2874 .node = record_decl,
2502 });2875 });
2503 }2876 }
25042877
2505 break :blk .{ record_ty, record_qt };2878 break :blk .{ record_ty, record_qt, null };
2506 };2879 };
25072880
2508 try p.decl_buf.append(gpa, @fromBackingInt(@intCast(reserved_index)));2881 try p.decl_buf.append(gpa, record_decl);
2509 const decl_buf_top = p.decl_buf.items.len;2882 const decl_buf_top = p.decl_buf.items.len;
2510 const record_buf_top = p.record_buf.items.len;2883 const record_buf_top = p.record_buf.items.len;
2511 errdefer p.decl_buf.items.len = decl_buf_top - 1;2884 errdefer p.decl_buf.items.len = decl_buf_top - 1;
...@@ -2545,95 +2918,54 @@ fn recordSpec(p: *Parser) Error!QualType {...@@ -2545,95 +2918,54 @@ fn recordSpec(p: *Parser) Error!QualType {
2545 done = true;2918 done = true;
2546 try p.attributeSpecifier();2919 try p.attributeSpecifier();
25472920
2548 const any_incomplete = blk: {2921 // Set the node and apply attributes to it.
2549 for (fields) |field| {
2550 if (field.qt.hasIncompleteSize(p.comp) and !field.qt.is(p.comp, .array)) break :blk true;
2551 }
2552 // Set fields and a dummy layout before addign attributes.
2553 record_ty.fields = fields;
2554 record_ty.layout = .{
2555 .size_bits = 8,
2556 .field_alignment_bits = 8,
2557 .pointer_alignment_bits = 8,
2558 .required_alignment_bits = 8,
2559 };
2560 record_ty.decl_node = @fromBackingInt(@intCast(reserved_index));
2561
2562 const base_type = qt.base(p.comp);
2563 if (is_struct) {
2564 std.debug.assert(base_type.type.@"struct".name == record_ty.name);
2565 try p.comp.type_store.set(gpa, .{ .@"struct" = record_ty }, @backingInt(base_type.qt._index));
2566 } else {
2567 std.debug.assert(base_type.type.@"union".name == record_ty.name);
2568 try p.comp.type_store.set(gpa, .{ .@"union" = record_ty }, @backingInt(base_type.qt._index));
2569 }
2570 break :blk false;
2571 };
2572
2573 const attributed_qt = try Attribute.applyTypeAttributes(p, qt, attr_buf_top, null);
2574
2575 // Make sure the symbol for this record points to the attributed type.
2576 if (attributed_qt != qt and maybe_ident != null) {
2577 const ident_str = p.tokSlice(maybe_ident.?);
2578 const interned_name = try p.comp.internString(ident_str);
2579 const ptr = p.syms.getPtr(interned_name, .tags);
2580 ptr.qt = attributed_qt;
2581 }
2582
2583 if (!any_incomplete) {
2584 const pragma_pack_value = switch (p.comp.langopts.emulate) {
2585 .clang, .no => starting_pragma_pack,
2586 .gcc => p.pragma_pack,
2587 // TODO: msvc considers `#pragma pack` on a per-field basis
2588 .msvc => p.pragma_pack,
2589 };
2590 if (record_layout.compute(fields, attributed_qt, p.comp, pragma_pack_value)) |layout| {
2591 record_ty.fields = fields;
2592 record_ty.layout = layout;
2593 } else |er| switch (er) {
2594 error.Overflow => try p.err(maybe_ident orelse kind_tok, .record_too_large, .{qt}),
2595 }
2596
2597 // Override previous incomplete layout and fields.
2598 const base_qt = qt.base(p.comp).qt;
2599 const ts = &p.comp.type_store;
2600 var extra_index = ts.types.items(.data)[@backingInt(base_qt._index)][1];
2601
2602 const layout_size = 5;
2603 comptime std.debug.assert(@sizeOf(Type.Record.Layout) == @sizeOf(u32) * layout_size);
2604 const field_size = 10;
2605 comptime std.debug.assert(@sizeOf(Type.Record.Field) == @sizeOf(u32) * field_size);
2606
2607 extra_index += 1; // For decl_node
2608 const casted_layout: *const [layout_size]u32 = @ptrCast(&record_ty.layout);
2609 ts.extra.items[extra_index..][0..layout_size].* = casted_layout.*;
2610 extra_index += layout_size;
2611 extra_index += 1; // For field length
2612
2613 for (record_ty.fields) |*field| {
2614 const casted: *const [field_size]u32 = @ptrCast(field);
2615 ts.extra.items[extra_index..][0..field_size].* = casted.*;
2616 extra_index += field_size;
2617 }
2618 }
2619
2620 // finish by creating a node
2621 const cd: Node.ContainerDecl = .{2922 const cd: Node.ContainerDecl = .{
2622 .name_or_kind_tok = maybe_ident orelse kind_tok,2923 .name_or_kind_tok = maybe_ident orelse kind_tok,
2623 .container_qt = attributed_qt,2924 .container_qt = qt,
2624 .fields = p.decl_buf.items[decl_buf_top..],2925 .fields = p.decl_buf.items[decl_buf_top..],
2625 };2926 };
2626 try p.tree.setNode(if (is_struct) .{ .struct_decl = cd } else .{ .union_decl = cd }, reserved_index);2927 try p.tree.setNode(if (is_struct) .{ .struct_decl = cd } else .{ .union_decl = cd }, reserved_index);
2627 if (p.func.qt == null) {2928 if (p.func.qt == null) {
2628 _ = p.tentative_defs.remove(record_ty.name);2929 _ = p.tentative_defs.orderedRemove(.incompleteType(record_ty.name));
2930 }
2931 assert(try p.wip_attrs.applyTypeAttrs(p, qt) == qt);
2932 try p.wip_attrs.applyDeclAttrs(p, record_decl, prev_decl);
2933
2934 for (fields) |field| {
2935 if (field.qt.hasIncompleteSize(p.comp) and !field.qt.is(p.comp, .array)) return qt;
2629 }2936 }
2630 return attributed_qt;2937
2938 // Calculate record layout.
2939 const pragma_pack_value = switch (p.comp.langopts.emulate) {
2940 .clang, .no => starting_pragma_pack,
2941 .gcc => p.pragma_pack,
2942 // TODO: msvc considers `#pragma pack` on a per-field basis
2943 .msvc => p.pragma_pack,
2944 };
2945 if (record_layout.compute(fields, .pack(record_decl), !is_struct, p.comp, &p.tree.attr_map, pragma_pack_value)) |layout| {
2946 record_ty.fields = fields;
2947 record_ty.layout = layout;
2948 } else |er| switch (er) {
2949 error.Overflow => try p.err(maybe_ident orelse kind_tok, .record_too_large, .{qt}),
2950 }
2951
2952 if (is_struct) {
2953 try p.comp.type_store.set(gpa, .{ .@"struct" = record_ty }, @backingInt(qt._index));
2954 } else {
2955 try p.comp.type_store.set(gpa, .{ .@"union" = record_ty }, @backingInt(qt._index));
2956 }
2957 return qt;
2631}2958}
26322959
2633/// recordDecls : (keyword_extension? recordDecl | staticAssert)*2960/// recordDecls : (keyword_extension? recordDecl | staticAssert)*
2634fn recordDecls(p: *Parser) Error!void {2961fn recordDecls(p: *Parser) Error!void {
2635 while (true) {2962 while (true) {
2636 if (try p.pragma()) continue;2963 if (try p.pragma()) continue;
2964
2965 const attr_state = p.wip_attrs.state(true);
2966 defer p.wip_attrs.restore(attr_state);
2967 try p.attributeSpecifier();
2968
2637 if (try p.parseOrNextDecl(staticAssert)) continue;2969 if (try p.parseOrNextDecl(staticAssert)) continue;
2638 if (p.eatToken(.keyword_extension)) |_| {2970 if (p.eatToken(.keyword_extension)) |_| {
2639 const saved_extension = p.extension_suppressed;2971 const saved_extension = p.extension_suppressed;
...@@ -2654,8 +2986,6 @@ fn recordDecls(p: *Parser) Error!void {...@@ -2654,8 +2986,6 @@ fn recordDecls(p: *Parser) Error!void {
2654/// recordDeclarator : declarator (':' integerConstExpr)?2986/// recordDeclarator : declarator (':' integerConstExpr)?
2655fn recordDecl(p: *Parser) Error!bool {2987fn recordDecl(p: *Parser) Error!bool {
2656 const gpa = p.comp.gpa;2988 const gpa = p.comp.gpa;
2657 const attr_buf_top = p.attr_buf.len;
2658 defer p.attr_buf.len = attr_buf_top;
26592989
2660 const base_qt: QualType = blk: {2990 const base_qt: QualType = blk: {
2661 const start = p.tok_i;2991 const start = p.tok_i;
...@@ -2692,11 +3022,12 @@ fn recordDecl(p: *Parser) Error!bool {...@@ -2692,11 +3022,12 @@ fn recordDecl(p: *Parser) Error!bool {
2692 };3022 };
2693 };3023 };
26943024
2695 try p.attributeSpecifier(); // .record3025 try p.attributeSpecifier();
3026
2696 var error_on_unnamed = false;3027 var error_on_unnamed = false;
2697 while (true) {3028 while (true) {
2698 const this_decl_top = p.attr_buf.len;3029 const declarator_attr_state = p.wip_attrs.state(false);
2699 defer p.attr_buf.len = this_decl_top;3030 defer p.wip_attrs.restore(declarator_attr_state);
27003031
2701 try p.attributeSpecifier();3032 try p.attributeSpecifier();
27023033
...@@ -2728,7 +3059,7 @@ fn recordDecl(p: *Parser) Error!bool {...@@ -2728,7 +3059,7 @@ fn recordDecl(p: *Parser) Error!bool {
2728 break :bits;3059 break :bits;
2729 }3060 }
27303061
2731 // incomplete size error is reported later3062 // Enums are allowed as bitfield types but may have incomplete size.
2732 const bit_size = qt.bitSizeofOrNull(p.comp) orelse break :bits;3063 const bit_size = qt.bitSizeofOrNull(p.comp) orelse break :bits;
2733 const bits_unchecked = res.val.toInt(u32, p.comp) orelse std.math.maxInt(u32);3064 const bits_unchecked = res.val.toInt(u32, p.comp) orelse std.math.maxInt(u32);
2734 if (bits_unchecked > bit_size) {3065 if (bits_unchecked > bit_size) {
...@@ -2743,21 +3074,11 @@ fn recordDecl(p: *Parser) Error!bool {...@@ -2743,21 +3074,11 @@ fn recordDecl(p: *Parser) Error!bool {
2743 bits_node = res.node;3074 bits_node = res.node;
2744 }3075 }
27453076
2746 try p.attributeSpecifier(); // .record3077 try p.attributeSpecifier();
2747
2748 const to_append = try Attribute.applyFieldAttributes(p, &qt, attr_buf_top);
2749
2750 const attr_index: u32 = @intCast(p.comp.type_store.attributes.items.len);
2751 const attr_len: u32 = @intCast(to_append.len);
2752 try p.comp.type_store.attributes.appendSlice(gpa, to_append);
2753
2754 qt = try Attribute.applyTypeAttributes(p, qt, attr_buf_top, null);
2755 @memset(p.attr_buf.items(.seen)[attr_buf_top..], false);
27563078
2757 if (name_tok == 0 and bits == null) unnamed: {3079 if (name_tok == 0 and bits == null) unnamed: {
2758 var is_typedef = false;3080 var is_typedef = false;
2759 if (!qt.isInvalid()) loop: switch (qt.type(p.comp)) {3081 if (!qt.isInvalid()) loop: switch (qt.type(p.comp)) {
2760 .attributed => |attributed_ty| continue :loop attributed_ty.base.type(p.comp),
2761 .typedef => |typedef_ty| {3082 .typedef => |typedef_ty| {
2762 is_typedef = true;3083 is_typedef = true;
2763 continue :loop typedef_ty.base.type(p.comp);3084 continue :loop typedef_ty.base.type(p.comp);
...@@ -2770,13 +3091,6 @@ fn recordDecl(p: *Parser) Error!bool {...@@ -2770,13 +3091,6 @@ fn recordDecl(p: *Parser) Error!bool {
2770 if (!(record_ty.isAnonymous(p.comp) and !is_typedef)) {3091 if (!(record_ty.isAnonymous(p.comp) and !is_typedef)) {
2771 try p.err(first_tok, .anonymous_struct, .{});3092 try p.err(first_tok, .anonymous_struct, .{});
2772 }3093 }
2773 // An anonymous record appears as indirect fields on the parent
2774 try p.record_buf.append(gpa, .{
2775 .name = try p.getAnonymousName(first_tok),
2776 .qt = qt,
2777 ._attr_index = attr_index,
2778 ._attr_len = attr_len,
2779 });
27803094
2781 const node = try p.addNode(.{3095 const node = try p.addNode(.{
2782 .record_field = .{3096 .record_field = .{
...@@ -2785,8 +3099,17 @@ fn recordDecl(p: *Parser) Error!bool {...@@ -2785,8 +3099,17 @@ fn recordDecl(p: *Parser) Error!bool {
2785 .bit_width = null,3099 .bit_width = null,
2786 },3100 },
2787 });3101 });
3102
3103 // An anonymous record appears as indirect fields on the parent
3104 try p.record_buf.append(gpa, .{
3105 .name = try p.getAnonymousName(first_tok),
3106 .qt = qt,
3107 .field_decl = .pack(node),
3108 });
3109
2788 try p.decl_buf.append(gpa, node);3110 try p.decl_buf.append(gpa, node);
2789 try p.record.addFieldsFromAnonymous(p, record_ty);3111 try p.record.addFieldsFromAnonymous(p, record_ty);
3112 try p.wip_attrs.applyDeclAttrs(p, node, null);
2790 break; // must be followed by a semicolon3113 break; // must be followed by a semicolon
2791 },3114 },
2792 else => {},3115 else => {},
...@@ -2799,16 +3122,6 @@ fn recordDecl(p: *Parser) Error!bool {...@@ -2799,16 +3122,6 @@ fn recordDecl(p: *Parser) Error!bool {
2799 if (p.eatToken(.comma) == null) break;3122 if (p.eatToken(.comma) == null) break;
2800 continue;3123 continue;
2801 } else {3124 } else {
2802 const interned_name = if (name_tok != 0) try p.comp.internString(p.tokSlice(name_tok)) else try p.getAnonymousName(first_tok);
2803 try p.record_buf.append(gpa, .{
2804 .name = interned_name,
2805 .qt = qt,
2806 .name_tok = name_tok,
2807 .bit_width = if (bits) |some| @fromBackingInt(@intCast(some)) else .null,
2808 ._attr_index = attr_index,
2809 ._attr_len = attr_len,
2810 });
2811 if (name_tok != 0) try p.record.addField(p, interned_name, name_tok);
2812 const node = try p.addNode(.{3125 const node = try p.addNode(.{
2813 .record_field = .{3126 .record_field = .{
2814 .name_or_first_tok = name_tok,3127 .name_or_first_tok = name_tok,
...@@ -2816,7 +3129,18 @@ fn recordDecl(p: *Parser) Error!bool {...@@ -2816,7 +3129,18 @@ fn recordDecl(p: *Parser) Error!bool {
2816 .bit_width = bits_node,3129 .bit_width = bits_node,
2817 },3130 },
2818 });3131 });
3132
3133 const interned_name = if (name_tok != 0) try p.comp.internString(p.tokSlice(name_tok)) else try p.getAnonymousName(first_tok);
3134 try p.record_buf.append(gpa, .{
3135 .name = interned_name,
3136 .qt = qt,
3137 .name_tok = name_tok,
3138 .bit_width = if (bits) |some| @fromBackingInt(some) else .null,
3139 .field_decl = .pack(node),
3140 });
3141 if (name_tok != 0) try p.record.addField(p, interned_name, name_tok);
2819 try p.decl_buf.append(gpa, node);3142 try p.decl_buf.append(gpa, node);
3143 try p.wip_attrs.applyDeclAttrs(p, node, null);
2820 }3144 }
28213145
2822 if (!qt.isInvalid()) {3146 if (!qt.isInvalid()) {
...@@ -2876,12 +3200,72 @@ fn recordDecl(p: *Parser) Error!bool {...@@ -2876,12 +3200,72 @@ fn recordDecl(p: *Parser) Error!bool {
2876}3200}
28773201
2878/// specQual : typeSpec+3202/// specQual : typeSpec+
2879fn specQual(p: *Parser) Error!?QualType {3203fn specQual(p: *Parser, start_with_type_spec: bool) Error!?QualType {
2880 var builder: TypeStore.Builder = .{ .parser = p };3204 var builder: TypeStore.Builder = .{ .parser = p };
2881 if (try p.typeSpec(&builder)) {3205 var any = false;
2882 return try builder.finish();3206
3207 // If a typename can appear in the same place as an expression
3208 // a non-type specifier should cause an expected expression error.
3209 if (start_with_type_spec) {
3210 if (!try p.typeSpec(&builder)) return null;
3211 any = true;
2883 }3212 }
2884 return null;3213
3214 while (true) {
3215 switch (p.tok_ids[p.tok_i]) {
3216 .keyword_auto_type => {
3217 try builder.combine(.auto_type, p.tok_i); // always invalid
3218 p.tok_i += 1;
3219 continue;
3220 },
3221 .keyword_auto => if (p.comp.langopts.standard.atLeast(.c23)) {
3222 try builder.combine(.c23_auto, p.tok_i); // always invalid
3223 p.tok_i += 1;
3224 continue;
3225 },
3226 else => {},
3227 }
3228 switch (p.tok_ids[p.tok_i]) {
3229 .keyword_inline,
3230 .keyword_inline1,
3231 .keyword_inline2,
3232 .keyword_noreturn,
3233 .keyword_forceinline,
3234 .keyword_forceinline2,
3235 => {
3236 try p.err(p.tok_i, .typename_invalid_specifier, .{"function"});
3237 p.tok_i += 1;
3238 continue;
3239 },
3240 .keyword_typedef,
3241 .keyword_extern,
3242 .keyword_static,
3243 .keyword_auto,
3244 .keyword_register,
3245 .keyword_thread_local,
3246 .keyword_c23_thread_local,
3247 .keyword_thread,
3248 => {
3249 try p.err(p.tok_i, .typename_invalid_specifier, .{"storage class"});
3250 p.tok_i += 1;
3251 continue;
3252 },
3253 .keyword_constexpr => {
3254 try p.err(p.tok_i, .typename_invalid_specifier, .{"constexpr"});
3255 p.tok_i += 1;
3256 continue;
3257 },
3258 else => {},
3259 }
3260 if (try p.typeSpec(&builder)) {
3261 any = true;
3262 continue;
3263 }
3264 break;
3265 }
3266
3267 if (!any) return null;
3268 return try builder.finish();
2885}3269}
28863270
2887/// enumSpec3271/// enumSpec
...@@ -2891,14 +3275,19 @@ fn enumSpec(p: *Parser) Error!QualType {...@@ -2891,14 +3275,19 @@ fn enumSpec(p: *Parser) Error!QualType {
2891 const gpa = p.comp.gpa;3275 const gpa = p.comp.gpa;
2892 const enum_tok = p.tok_i;3276 const enum_tok = p.tok_i;
2893 p.tok_i += 1;3277 p.tok_i += 1;
2894 const attr_buf_top = p.attr_buf.len;3278 const attr_state = p.wip_attrs.state(true);
2895 defer p.attr_buf.len = attr_buf_top;3279 defer p.wip_attrs.restore(attr_state);
2896 try p.attributeSpecifier();3280 try p.attributeSpecifier();
28973281
2898 const maybe_ident = try p.eatIdentifier();3282 const maybe_ident = try p.eatIdentifier();
3283 try p.attributeSpecifier();
3284
2899 const fixed_qt: ?QualType = if (p.eatToken(.colon)) |colon| fixed: {3285 const fixed_qt: ?QualType = if (p.eatToken(.colon)) |colon| fixed: {
2900 const ty_start = p.tok_i;3286 const ty_start = p.tok_i;
2901 const fixed = (try p.specQual()) orelse {3287
3288 const fixed_attr_state = p.wip_attrs.state(true);
3289 defer p.wip_attrs.restore(fixed_attr_state);
3290 const fixed = (try p.specQual(false)) orelse {
2902 if (p.record.kind != .invalid) {3291 if (p.record.kind != .invalid) {
2903 // This is a bit field.3292 // This is a bit field.
2904 p.tok_i -= 1;3293 p.tok_i -= 1;
...@@ -2909,7 +3298,8 @@ fn enumSpec(p: *Parser) Error!QualType {...@@ -2909,7 +3298,8 @@ fn enumSpec(p: *Parser) Error!QualType {
2909 break :fixed .int;3298 break :fixed .int;
2910 };3299 };
29113300
2912 var final = fixed;3301 var final = try p.wip_attrs.applyTypeAttrs(p, fixed);
3302 try p.diagnoseIgnoredAttrs();
2913 while (true) {3303 while (true) {
2914 switch (final.base(p.comp).type) {3304 switch (final.base(p.comp).type) {
2915 .int => {3305 .int => {
...@@ -2930,6 +3320,7 @@ fn enumSpec(p: *Parser) Error!QualType {...@@ -2930,6 +3320,7 @@ fn enumSpec(p: *Parser) Error!QualType {
2930 } else null;3320 } else null;
29313321
2932 const reserved_index = try p.tree.nodes.addOne(gpa);3322 const reserved_index = try p.tree.nodes.addOne(gpa);
3323 const enum_decl: Tree.Node.Index = @fromBackingInt(@intCast(reserved_index));
29333324
2934 const l_brace = p.eatToken(.l_brace) orelse {3325 const l_brace = p.eatToken(.l_brace) orelse {
2935 const ident = maybe_ident orelse {3326 const ident = maybe_ident orelse {
...@@ -2951,25 +3342,29 @@ fn enumSpec(p: *Parser) Error!QualType {...@@ -2951,25 +3342,29 @@ fn enumSpec(p: *Parser) Error!QualType {
2951 .tag = fixed_qt,3342 .tag = fixed_qt,
2952 .fixed = fixed_qt != null,3343 .fixed = fixed_qt != null,
2953 .incomplete = true,3344 .incomplete = true,
2954 .decl_node = @fromBackingInt(@intCast(reserved_index)),3345 .decl_node = enum_decl,
2955 .fields = &.{},3346 .fields = &.{},
2956 } });3347 } });
29573348
2958 const attributed_qt = try Attribute.applyTypeAttributes(p, enum_qt, attr_buf_top, null);
2959 try p.syms.define(gpa, .{3349 try p.syms.define(gpa, .{
2960 .kind = .@"enum",3350 .kind = .@"enum",
2961 .name = interned_name,3351 .name = interned_name,
2962 .tok = ident,3352 .tok = ident,
2963 .qt = attributed_qt,3353 .qt = enum_qt,
2964 .val = .{},3354 .val = .{},
3355 .node = enum_decl,
2965 });3356 });
29663357
2967 try p.decl_buf.append(gpa, try p.addNode(.{ .enum_forward_decl = .{3358 const decl_node = try p.addNode(.{ .enum_forward_decl = .{
2968 .name_or_kind_tok = ident,3359 .name_or_kind_tok = ident,
2969 .container_qt = attributed_qt,3360 .container_qt = enum_qt,
2970 .definition = null,3361 .definition = null,
2971 } }));3362 } });
2972 return attributed_qt;3363 try p.decl_buf.append(gpa, decl_node);
3364 assert(try p.wip_attrs.applyTypeAttrs(p, enum_qt) == enum_qt);
3365 try p.wip_attrs.applyDeclAttrs(p, decl_node, null);
3366
3367 return enum_qt;
2973 }3368 }
2974 };3369 };
29753370
...@@ -2978,7 +3373,7 @@ fn enumSpec(p: *Parser) Error!QualType {...@@ -2978,7 +3373,7 @@ fn enumSpec(p: *Parser) Error!QualType {
29783373
2979 // Get forward declared type or create a new one3374 // Get forward declared type or create a new one
2980 var defined = false;3375 var defined = false;
2981 var enum_ty: Type.Enum, const qt: QualType = blk: {3376 var enum_ty: Type.Enum, const qt: QualType, const prev_decl: ?Node.Index = blk: {
2982 const interned_name = if (maybe_ident) |ident| interned: {3377 const interned_name = if (maybe_ident) |ident| interned: {
2983 const ident_str = p.tokSlice(ident);3378 const ident_str = p.tokSlice(ident);
2984 const interned_name = try p.comp.internString(ident_str);3379 const interned_name = try p.comp.internString(ident_str);
...@@ -2991,7 +3386,7 @@ fn enumSpec(p: *Parser) Error!QualType {...@@ -2991,7 +3386,7 @@ fn enumSpec(p: *Parser) Error!QualType {
2991 } else {3386 } else {
2992 try p.checkEnumFixedTy(fixed_qt, ident, prev);3387 try p.checkEnumFixedTy(fixed_qt, ident, prev);
2993 defined = true;3388 defined = true;
2994 break :blk .{ enum_ty, prev.qt };3389 break :blk .{ enum_ty, prev.qt, enum_ty.decl_node };
2995 }3390 }
2996 }3391 }
2997 break :interned interned_name;3392 break :interned interned_name;
...@@ -3001,18 +3396,18 @@ fn enumSpec(p: *Parser) Error!QualType {...@@ -3001,18 +3396,18 @@ fn enumSpec(p: *Parser) Error!QualType {
3001 // can be specified after the closing rbrace, which we haven't encountered yet.3396 // can be specified after the closing rbrace, which we haven't encountered yet.
3002 const enum_ty: Type.Enum = .{3397 const enum_ty: Type.Enum = .{
3003 .name = interned_name,3398 .name = interned_name,
3004 .decl_node = @fromBackingInt(@intCast(reserved_index)),3399 .decl_node = enum_decl,
3005 .tag = fixed_qt,3400 .tag = fixed_qt,
3006 .incomplete = true,3401 .incomplete = true,
3007 .fixed = fixed_qt != null,3402 .fixed = fixed_qt != null,
3008 .fields = &.{},3403 .fields = &.{},
3009 };3404 };
3010 const enum_qt = try p.comp.type_store.put(gpa, .{ .@"enum" = enum_ty });3405 const enum_qt = try p.comp.type_store.put(gpa, .{ .@"enum" = enum_ty });
3011 break :blk .{ enum_ty, enum_qt };3406 break :blk .{ enum_ty, enum_qt, null };
3012 };3407 };
30133408
3014 // reserve space for this enum3409 // reserve space for this enum
3015 try p.decl_buf.append(gpa, @fromBackingInt(@intCast(reserved_index)));3410 try p.decl_buf.append(gpa, enum_decl);
3016 const decl_buf_top = p.decl_buf.items.len;3411 const decl_buf_top = p.decl_buf.items.len;
3017 const list_buf_top = p.list_buf.items.len;3412 const list_buf_top = p.list_buf.items.len;
3018 const enum_buf_top = p.enum_buf.items.len;3413 const enum_buf_top = p.enum_buf.items.len;
...@@ -3033,19 +3428,28 @@ fn enumSpec(p: *Parser) Error!QualType {...@@ -3033,19 +3428,28 @@ fn enumSpec(p: *Parser) Error!QualType {
3033 if (p.enum_buf.items.len == enum_buf_top) try p.err(p.tok_i, .empty_enum, .{});3428 if (p.enum_buf.items.len == enum_buf_top) try p.err(p.tok_i, .empty_enum, .{});
3034 try p.expectClosing(l_brace, .r_brace);3429 try p.expectClosing(l_brace, .r_brace);
3035 done = true;3430 done = true;
3431
3036 try p.attributeSpecifier();3432 try p.attributeSpecifier();
30373433
3038 const attributed_qt = try Attribute.applyTypeAttributes(p, qt, attr_buf_top, null);3434 // Set temporary node to apply attributes to.
3039 if (!enum_ty.fixed) {3435 try p.tree.setNode(.{ .enum_decl = .{
3040 enum_ty.tag = try e.getTypeSpecifier(p, attributed_qt.enumIsPacked(p.comp), maybe_ident orelse enum_tok);3436 .name_or_kind_tok = maybe_ident orelse enum_tok,
3041 }3437 .container_qt = qt,
3438 .fields = &.{},
3439 } }, reserved_index);
3440 assert(try p.wip_attrs.applyTypeAttrs(p, qt) == qt);
3441 try p.wip_attrs.applyDeclAttrs(p, enum_decl, prev_decl);
30423442
3043 const enum_fields = p.enum_buf.items[enum_buf_top..];3443 const enum_fields = p.enum_buf.items[enum_buf_top..];
3044 const field_nodes = p.list_buf.items[list_buf_top..];3444 const field_nodes = p.list_buf.items[list_buf_top..];
30453445
3046 if (fixed_qt == null) {3446 if (fixed_qt == null) {
3447 // Set tag type.
3448 const enum_is_packed = p.comp.langopts.short_enums or p.comp.target.packAllEnums() or qt.hasAttribute(&p.tree, .@"packed");
3449 const tag_qt = try e.getTypeSpecifier(p, enum_is_packed, maybe_ident orelse enum_tok);
3450 enum_ty.tag = tag_qt;
3451
3047 // Coerce all fields to final type.3452 // Coerce all fields to final type.
3048 const tag_qt = enum_ty.tag.?;
3049 const keep_int = e.num_positive_bits < Type.Int.int.bits(p.comp);3453 const keep_int = e.num_positive_bits < Type.Int.int.bits(p.comp);
3050 for (enum_fields, field_nodes) |*field, field_node| {3454 for (enum_fields, field_nodes) |*field, field_node| {
3051 const sym = p.syms.get(field.name, .vars) orelse continue;3455 const sym = p.syms.get(field.name, .vars) orelse continue;
...@@ -3072,7 +3476,7 @@ fn enumSpec(p: *Parser) Error!QualType {...@@ -3072,7 +3476,7 @@ fn enumSpec(p: *Parser) Error!QualType {
30723476
3073 if (new_field_node.enum_field.init) |some| {3477 if (new_field_node.enum_field.init) |some| {
3074 res.node = some;3478 res.node = some;
3075 try res.implicitCast(p, .int_cast, some.tok(&p.tree));3479 try res.implicitCast(p, .int_cast);
3076 new_field_node.enum_field.init = res.node;3480 new_field_node.enum_field.init = res.node;
3077 }3481 }
30783482
...@@ -3083,8 +3487,8 @@ fn enumSpec(p: *Parser) Error!QualType {...@@ -3083,8 +3487,8 @@ fn enumSpec(p: *Parser) Error!QualType {
3083 { // Override previous incomplete type3487 { // Override previous incomplete type
3084 enum_ty.fields = enum_fields;3488 enum_ty.fields = enum_fields;
3085 enum_ty.incomplete = false;3489 enum_ty.incomplete = false;
3086 enum_ty.decl_node = @fromBackingInt(@intCast(reserved_index));3490 enum_ty.decl_node = enum_decl;
3087 const base_type = attributed_qt.base(p.comp);3491 const base_type = qt.base(p.comp);
3088 std.debug.assert(base_type.type.@"enum".name == enum_ty.name);3492 std.debug.assert(base_type.type.@"enum".name == enum_ty.name);
3089 try p.comp.type_store.set(gpa, .{ .@"enum" = enum_ty }, @backingInt(base_type.qt._index));3493 try p.comp.type_store.set(gpa, .{ .@"enum" = enum_ty }, @backingInt(base_type.qt._index));
3090 }3494 }
...@@ -3094,23 +3498,24 @@ fn enumSpec(p: *Parser) Error!QualType {...@@ -3094,23 +3498,24 @@ fn enumSpec(p: *Parser) Error!QualType {
3094 try p.syms.define(gpa, .{3498 try p.syms.define(gpa, .{
3095 .kind = .@"enum",3499 .kind = .@"enum",
3096 .name = enum_ty.name,3500 .name = enum_ty.name,
3097 .qt = attributed_qt,3501 .qt = qt,
3098 .tok = maybe_ident.?,3502 .tok = maybe_ident.?,
3099 .val = .{},3503 .val = .{},
3504 .node = enum_decl,
3100 });3505 });
3101 }3506 }
31023507
3103 // finish by creating a node3508 // finish by creating a node
3104 try p.tree.setNode(.{ .enum_decl = .{3509 try p.tree.setNode(.{ .enum_decl = .{
3105 .name_or_kind_tok = maybe_ident orelse enum_tok,3510 .name_or_kind_tok = maybe_ident orelse enum_tok,
3106 .container_qt = attributed_qt,3511 .container_qt = qt,
3107 .fields = field_nodes,3512 .fields = field_nodes,
3108 } }, reserved_index);3513 } }, reserved_index);
31093514
3110 if (p.func.qt == null) {3515 if (p.func.qt == null) {
3111 _ = p.tentative_defs.remove(enum_ty.name);3516 _ = p.tentative_defs.orderedRemove(.incompleteType(enum_ty.name));
3112 }3517 }
3113 return attributed_qt;3518 return qt;
3114}3519}
31153520
3116fn checkEnumFixedTy(p: *Parser, fixed_qt: ?QualType, ident_tok: TokenIndex, prev: Symbol) !void {3521fn checkEnumFixedTy(p: *Parser, fixed_qt: ?QualType, ident_tok: TokenIndex, prev: Symbol) !void {
...@@ -3189,7 +3594,7 @@ const Enumerator = struct {...@@ -3189,7 +3594,7 @@ const Enumerator = struct {
3189 return error.ParsingFailed;3594 return error.ParsingFailed;
3190 }3595 }
3191 res.qt = e.qt;3596 res.qt = e.qt;
3192 try res.implicitCast(p, .int_cast, tok);3597 try res.implicitCast(p, .int_cast);
3193 e.val = res.val;3598 e.val = res.val;
3194 } else {3599 } else {
3195 try res.castToInt(p, res.qt.promoteInt(p.comp), tok);3600 try res.castToInt(p, res.qt.promoteInt(p.comp), tok);
...@@ -3213,6 +3618,9 @@ const Enumerator = struct {...@@ -3213,6 +3618,9 @@ const Enumerator = struct {
3213 return .int;3618 return .int;
3214 }3619 }
3215 const long_width = Type.Int.long.bits(p.comp);3620 const long_width = Type.Int.long.bits(p.comp);
3621 if (e.num_negative_bits == 24 and e.num_positive_bits < 24 and p.comp.langopts.has_int24) {
3622 return .int24;
3623 }
3216 if (e.num_negative_bits <= long_width and e.num_positive_bits < long_width) {3624 if (e.num_negative_bits <= long_width and e.num_positive_bits < long_width) {
3217 return .long;3625 return .long;
3218 }3626 }
...@@ -3228,6 +3636,8 @@ const Enumerator = struct {...@@ -3228,6 +3636,8 @@ const Enumerator = struct {
3228 return .ushort;3636 return .ushort;
3229 } else if (e.num_positive_bits <= int_width) {3637 } else if (e.num_positive_bits <= int_width) {
3230 return .uint;3638 return .uint;
3639 } else if (e.num_positive_bits == 24 and p.comp.langopts.has_int24) {
3640 return .uint24;
3231 } else if (e.num_positive_bits <= Type.Int.long.bits(p.comp)) {3641 } else if (e.num_positive_bits <= Type.Int.long.bits(p.comp)) {
3232 return .ulong;3642 return .ulong;
3233 }3643 }
...@@ -3246,8 +3656,10 @@ fn enumerator(p: *Parser, e: *Enumerator) Error!?EnumFieldAndNode {...@@ -3246,8 +3656,10 @@ fn enumerator(p: *Parser, e: *Enumerator) Error!?EnumFieldAndNode {
3246 p.skipTo(.r_brace);3656 p.skipTo(.r_brace);
3247 return error.ParsingFailed;3657 return error.ParsingFailed;
3248 };3658 };
3249 const attr_buf_top = p.attr_buf.len;3659
3250 defer p.attr_buf.len = attr_buf_top;3660 const attr_state = p.wip_attrs.state(true);
3661 defer p.wip_attrs.restore(attr_state);
3662 // TODO __declspec not allowed here
3251 try p.attributeSpecifier();3663 try p.attributeSpecifier();
32523664
3253 const prev_total = p.diagnostics.total;3665 const prev_total = p.diagnostics.total;
...@@ -3287,22 +3699,22 @@ fn enumerator(p: *Parser, e: *Enumerator) Error!?EnumFieldAndNode {...@@ -3287,22 +3699,22 @@ fn enumerator(p: *Parser, e: *Enumerator) Error!?EnumFieldAndNode {
3287 }3699 }
3288 }3700 }
32893701
3290 const attributed_qt = try Attribute.applyEnumeratorAttributes(p, e.qt, attr_buf_top);
3291 const node = try p.addNode(.{3702 const node = try p.addNode(.{
3292 .enum_field = .{3703 .enum_field = .{
3293 .name_tok = name_tok,3704 .name_tok = name_tok,
3294 .qt = attributed_qt,3705 .qt = e.qt,
3295 .init = field_init,3706 .init = field_init,
3296 },3707 },
3297 });3708 });
3709 try p.wip_attrs.applyDeclAttrs(p, node, null);
3298 try p.tree.value_map.put(p.comp.gpa, node, e.val);3710 try p.tree.value_map.put(p.comp.gpa, node, e.val);
32993711
3300 const interned_name = try p.comp.internString(p.tokSlice(name_tok));3712 const interned_name = try p.comp.internString(p.tokSlice(name_tok));
3301 try p.syms.defineEnumeration(p, interned_name, attributed_qt, name_tok, e.val, node);3713 try p.syms.defineEnumeration(p, interned_name, e.qt, name_tok, e.val, node);
33023714
3303 return .{ .field = .{3715 return .{ .field = .{
3304 .name = interned_name,3716 .name = interned_name,
3305 .qt = attributed_qt,3717 .qt = e.qt,
3306 .name_tok = name_tok,3718 .name_tok = name_tok,
3307 }, .node = node };3719 }, .node = node };
3308}3720}
...@@ -3361,18 +3773,7 @@ fn typeQual(p: *Parser, b: *TypeStore.Builder, allow_attr: bool) Error!bool {...@@ -3361,18 +3773,7 @@ fn typeQual(p: *Parser, b: *TypeStore.Builder, allow_attr: bool) Error!bool {
3361 } else switch (b.nullability) {3773 } else switch (b.nullability) {
3362 .none => {3774 .none => {
3363 b.nullability = new;3775 b.nullability = new;
3364 try p.attr_buf.append(p.comp.gpa, .{3776 try p.wip_attrs.addKeyword(p, p.tok_i, &.{});
3365 .attr = .{ .tag = .nullability, .args = .{
3366 .nullability = .{ .kind = switch (tok_id) {
3367 .keyword_nonnull => .nonnull,
3368 .keyword_nullable => .nullable,
3369 .keyword_nullable_result => .nullable_result,
3370 .keyword_null_unspecified => .unspecified,
3371 else => unreachable,
3372 } },
3373 }, .syntax = .keyword },
3374 .tok = p.tok_i,
3375 });
3376 },3777 },
3377 .nonnull,3778 .nonnull,
3378 .nullable,3779 .nullable,
...@@ -3405,31 +3806,17 @@ fn msTypeAttribute(p: *Parser) !bool {...@@ -3405,31 +3806,17 @@ fn msTypeAttribute(p: *Parser) !bool {
3405 .keyword_cdecl,3806 .keyword_cdecl,
3406 .keyword_cdecl2,3807 .keyword_cdecl2,
3407 => {3808 => {
3408 try p.attr_buf.append(p.comp.gpa, .{3809 try p.wip_attrs.addKeyword(p, p.tok_i, &.{});
3409 .attr = .{ .tag = .calling_convention, .args = .{3810 any = true;
3410 .calling_convention = .{ .cc = switch (p.tok_ids[p.tok_i]) {3811 p.tok_i += 1;
3411 .keyword_stdcall,3812 },
3412 .keyword_stdcall2,3813 .keyword_ptr64,
3413 => .stdcall,3814 .keyword_ptr32,
3414 .keyword_thiscall,3815 .keyword_sptr,
3415 .keyword_thiscall2,3816 .keyword_uptr,
3416 => .thiscall,3817 => {
3417 .keyword_vectorcall,3818 try p.err(p.tok_i, .extension_token_used, .{});
3418 .keyword_vectorcall2,3819 try p.wip_attrs.addKeyword(p, p.tok_i, &.{});
3419 => .vectorcall,
3420 .keyword_fastcall,
3421 .keyword_fastcall2,
3422 => .fastcall,
3423 .keyword_regcall,
3424 => .regcall,
3425 .keyword_cdecl,
3426 .keyword_cdecl2,
3427 => .c,
3428 else => unreachable,
3429 } },
3430 }, .syntax = .keyword },
3431 .tok = p.tok_i,
3432 });
3433 any = true;3820 any = true;
3434 p.tok_i += 1;3821 p.tok_i += 1;
3435 },3822 },
...@@ -3446,7 +3833,7 @@ const Declarator = struct {...@@ -3446,7 +3833,7 @@ const Declarator = struct {
34463833
3447 /// What kind of a type did this declarator declare?3834 /// What kind of a type did this declarator declare?
3448 /// Used redundantly with `qt` in case it was set to `.invalid` by `validate`.3835 /// Used redundantly with `qt` in case it was set to `.invalid` by `validate`.
3449 declarator_type: enum { other, func, array, pointer } = .other,3836 declarator_type: enum { other, func, array, pointer, block } = .other,
34503837
3451 const Kind = enum { normal, abstract, param, record };3838 const Kind = enum { normal, abstract, param, record };
34523839
...@@ -3456,7 +3843,7 @@ const Declarator = struct {...@@ -3456,7 +3843,7 @@ const Declarator = struct {
3456 .nested_invalid => if (d.declarator_type == .func) return,3843 .nested_invalid => if (d.declarator_type == .func) return,
3457 .nested_auto => {3844 .nested_auto => {
3458 if (d.declarator_type == .func) return;3845 if (d.declarator_type == .func) return;
3459 if (d.qt.isAutoType() or d.qt.isC23Auto()) return;3846 if (d.qt.isAuto()) return;
3460 },3847 },
3461 .declarator_combine => return,3848 .declarator_combine => return,
3462 }3849 }
...@@ -3472,8 +3859,7 @@ const Declarator = struct {...@@ -3472,8 +3859,7 @@ const Declarator = struct {
34723859
3473 fn validateExtra(p: *Parser, cur: QualType, source_tok: TokenIndex) Parser.Error!ValidationResult {3860 fn validateExtra(p: *Parser, cur: QualType, source_tok: TokenIndex) Parser.Error!ValidationResult {
3474 if (cur.isInvalid()) return .nested_invalid;3861 if (cur.isInvalid()) return .nested_invalid;
3475 if (cur.isAutoType()) return .nested_auto;3862 if (cur.isAuto()) return .nested_auto;
3476 if (cur.isC23Auto()) return .nested_auto;
3477 if (cur._index == .declarator_combine) return .declarator_combine;3863 if (cur._index == .declarator_combine) return .declarator_combine;
34783864
3479 switch (cur.type(p.comp)) {3865 switch (cur.type(p.comp)) {
...@@ -3512,9 +3898,17 @@ const Declarator = struct {...@@ -3512,9 +3898,17 @@ const Declarator = struct {
3512 if (elem_array_ty.len == .static) {3898 if (elem_array_ty.len == .static) {
3513 try p.err(source_tok, .static_non_outermost_array, .{});3899 try p.err(source_tok, .static_non_outermost_array, .{});
3514 }3900 }
3515 if (elem_qt.isQualified()) {3901 if (elem_qt.isQualified() and elem_qt.type(p.comp) != .typedef) {
3516 try p.err(source_tok, .qualifier_non_outermost_array, .{});3902 try p.err(source_tok, .qualifier_non_outermost_array, .{});
3517 }3903 }
3904 } else if (p.comp.langopts.emulate != .msvc) {
3905 if (elem_qt.sizeofOrNull(p.comp)) |elem_size| {
3906 const elem_align = elem_qt.alignof(p.comp);
3907 if (elem_size % elem_align != 0) {
3908 try p.err(source_tok, .array_elem_size_not_multiple, .{ elem_qt, elem_size, elem_align });
3909 return .nested_invalid;
3910 }
3911 }
3518 }3912 }
3519 return .normal;3913 return .normal;
3520 },3914 },
...@@ -3538,14 +3932,23 @@ const Declarator = struct {...@@ -3538,14 +3932,23 @@ const Declarator = struct {
3538 }3932 }
3539 return .normal;3933 return .normal;
3540 },3934 },
3935 .block => |block_ty| {
3936 const func_qt = block_ty.func;
3937 const child_res = try validateExtra(p, func_qt, source_tok);
3938 if (child_res != .normal) return child_res;
3939 if (!func_qt.is(p.comp, .func)) {
3940 try p.err(source_tok, .block_to_non_function, .{});
3941 return .nested_invalid;
3942 }
3943 return .normal;
3944 },
3541 else => return .normal,3945 else => return .normal,
3542 }3946 }
3543 }3947 }
3544};3948};
35453949
3546/// declarator : pointer? (IDENTIFIER | '(' declarator ')') directDeclarator*3950/// declarator : '^'? pointer? (IDENTIFIER | '(' declarator ')') directDeclarator*
3547/// abstractDeclarator3951/// abstractDeclarator : '^'? pointer? ('(' abstractDeclarator ')')? directAbstractDeclarator*
3548/// : pointer? ('(' abstractDeclarator ')')? directAbstractDeclarator*
3549/// pointer : '*' typeQual* pointer?3952/// pointer : '*' typeQual* pointer?
3550fn declarator(3953fn declarator(
3551 p: *Parser,3954 p: *Parser,
...@@ -3555,21 +3958,43 @@ fn declarator(...@@ -3555,21 +3958,43 @@ fn declarator(
3555 var d = Declarator{ .name = 0, .qt = base_qt };3958 var d = Declarator{ .name = 0, .qt = base_qt };
35563959
3557 // Parse potential pointer declarators first.3960 // Parse potential pointer declarators first.
3558 while (p.eatToken(.asterisk)) |_| {3961 while (true) switch (p.tok_ids[p.tok_i]) {
3559 d.declarator_type = .pointer;3962 .caret => {
3560 var builder: TypeStore.Builder = .{ .parser = p };3963 const caret = p.tok_i;
3561 _ = try p.typeQual(&builder, true);3964 p.tok_i += 1;
3965 d.qt = try p.wip_attrs.applyTypeAttrs(p, d.qt);
3966 if (!p.comp.langopts.blocks) try p.err(caret, .blocks_not_enabled, .{});
3967 try p.err(caret, .blocks_are_clang_extension, .{});
35623968
3563 const pointer_qt = try p.comp.type_store.put(p.comp.gpa, .{ .pointer = .{3969 d.declarator_type = .block;
3564 .child = d.qt,3970 var builder: TypeStore.Builder = .{ .parser = p };
3565 } });3971 _ = try p.typeQual(&builder, true);
3566 d.qt = try builder.finishQuals(pointer_qt);3972
3567 }3973 const block_qt = try p.comp.type_store.put(p.comp.gpa, .{ .block = .{
3974 .func = d.qt,
3975 } });
3976 d.qt = try builder.finishQuals(block_qt);
3977 },
3978 .asterisk => {
3979 p.tok_i += 1;
3980 d.qt = try p.wip_attrs.applyTypeAttrs(p, d.qt);
3981 d.declarator_type = .pointer;
3982 var builder: TypeStore.Builder = .{ .parser = p };
3983 _ = try p.typeQual(&builder, true);
3984
3985 const pointer_qt = try p.comp.type_store.put(p.comp.gpa, .{ .pointer = .{
3986 .child = d.qt,
3987 } });
3988 d.qt = try builder.finishQuals(pointer_qt);
3989 },
3990 else => break,
3991 };
35683992
3569 const maybe_ident = p.tok_i;3993 const maybe_ident = p.tok_i;
3570 if (kind != .abstract and (try p.eatIdentifier()) != null) {3994 if (kind != .abstract and (try p.eatIdentifier()) != null) {
3571 d.name = maybe_ident;3995 d.name = maybe_ident;
3572 const combine_tok = p.tok_i;3996 const combine_tok = p.tok_i;
3997 d.qt = try p.wip_attrs.applyTypeAttrs(p, d.qt);
3573 d.qt = try p.directDeclarator(&d, kind);3998 d.qt = try p.directDeclarator(&d, kind);
3574 try d.validate(p, combine_tok);3999 try d.validate(p, combine_tok);
3575 return d;4000 return d;
...@@ -3580,6 +4005,7 @@ fn declarator(...@@ -3580,6 +4005,7 @@ fn declarator(
3580 // Parse Microsoft keyword type attributes.4005 // Parse Microsoft keyword type attributes.
3581 _ = try p.msTypeAttribute();4006 _ = try p.msTypeAttribute();
35824007
4008 d.qt = try p.wip_attrs.applyTypeAttrs(p, d.qt);
3583 const special_marker: QualType = .{ ._index = .declarator_combine };4009 const special_marker: QualType = .{ ._index = .declarator_combine };
3584 var res = (try p.declarator(special_marker, kind)) orelse {4010 var res = (try p.declarator(special_marker, kind)) orelse {
3585 p.tok_i = l_paren;4011 p.tok_i = l_paren;
...@@ -3616,6 +4042,10 @@ fn declarator(...@@ -3616,6 +4042,10 @@ fn declarator(
3616 cur = func_ty.return_type;4042 cur = func_ty.return_type;
3617 continue;4043 continue;
3618 },4044 },
4045 .block => |block_ty| if (block_ty.func._index != .declarator_combine) {
4046 cur = block_ty.func;
4047 continue;
4048 },
3619 else => unreachable,4049 else => unreachable,
3620 }4050 }
3621 // Child type is always stored in repr.data[0]4051 // Child type is always stored in repr.data[0]
...@@ -3640,7 +4070,6 @@ fn declarator(...@@ -3640,7 +4070,6 @@ fn declarator(
3640 switch (cur.type(p.comp)) {4070 switch (cur.type(p.comp)) {
3641 .typeof => |typeof_ty| cur = typeof_ty.base,4071 .typeof => |typeof_ty| cur = typeof_ty.base,
3642 .typedef => |typedef_ty| cur = typedef_ty.base,4072 .typedef => |typedef_ty| cur = typedef_ty.base,
3643 .attributed => |attributed_ty| cur = attributed_ty.base,
3644 else => |ty| switch (ty) {4073 else => |ty| switch (ty) {
3645 .@"enum", .@"struct", .@"union" => break,4074 .@"enum", .@"struct", .@"union" => break,
3646 else => {4075 else => {
...@@ -3678,15 +4107,8 @@ fn directDeclarator(...@@ -3678,15 +4107,8 @@ fn directDeclarator(
3678 if (p.eatToken(.l_bracket)) |l_bracket| {4107 if (p.eatToken(.l_bracket)) |l_bracket| {
3679 // Check for C23 attribute4108 // Check for C23 attribute
3680 if (p.tok_ids[p.tok_i] == .l_bracket) {4109 if (p.tok_ids[p.tok_i] == .l_bracket) {
3681 switch (kind) {4110 p.tok_i -= 1;
3682 .normal, .record => if (p.comp.langopts.standard.atLeast(.c23)) {4111 return base_declarator.qt;
3683 p.tok_i -= 1;
3684 return base_declarator.qt;
3685 },
3686 .param, .abstract => {},
3687 }
3688 try p.err(p.tok_i, .expected_expr, .{});
3689 return error.ParsingFailed;
3690 }4112 }
36914113
3692 var builder: TypeStore.Builder = .{ .parser = p };4114 var builder: TypeStore.Builder = .{ .parser = p };
...@@ -3819,12 +4241,18 @@ fn directDeclarator(...@@ -3819,12 +4241,18 @@ fn directDeclarator(
3819 while (true) {4241 while (true) {
3820 const name_tok = try p.expectIdentifier();4242 const name_tok = try p.expectIdentifier();
3821 const interned_name = try p.comp.internString(p.tokSlice(name_tok));4243 const interned_name = try p.comp.internString(p.tokSlice(name_tok));
3822 try p.syms.defineParam(p, interned_name, undefined, name_tok, null);4244 const param_node = try p.addNode(.{ .param = .{
4245 .name_tok = name_tok,
4246 .qt = .int,
4247 .storage_class = .auto,
4248 } });
4249 try p.syms.defineParam(p, interned_name, undefined, name_tok, param_node);
4250 try p.addMaybeUnusued(param_node);
3823 try p.param_buf.append(gpa, .{4251 try p.param_buf.append(gpa, .{
3824 .name = interned_name,4252 .name = interned_name,
3825 .name_tok = name_tok,4253 .name_tok = name_tok,
3826 .qt = .int,4254 .qt = .int,
3827 .node = .null,4255 .node = .pack(param_node),
3828 });4256 });
3829 if (p.eatToken(.comma) == null) break;4257 if (p.eatToken(.comma) == null) break;
3830 }4258 }
...@@ -3856,8 +4284,10 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {...@@ -3856,8 +4284,10 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {
3856 const gpa = p.comp.gpa;4284 const gpa = p.comp.gpa;
38574285
3858 while (true) {4286 while (true) {
3859 const attr_buf_top = p.attr_buf.len;4287 const first_tok = p.tok_i;
3860 defer p.attr_buf.len = attr_buf_top;4288 const param_attr_state = p.wip_attrs.state(true);
4289 defer p.wip_attrs.restore(param_attr_state);
4290
3861 const param_decl_spec = if (try p.declSpec()) |some|4291 const param_decl_spec = if (try p.declSpec()) |some|
3862 some4292 some
3863 else if (p.comp.langopts.standard.atLeast(.c23) and4293 else if (p.comp.langopts.standard.atLeast(.c23) and
...@@ -3886,7 +4316,6 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {...@@ -3886,7 +4316,6 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {
38864316
3887 var name_tok: TokenIndex = 0;4317 var name_tok: TokenIndex = 0;
3888 var interned_name: StringId = .empty;4318 var interned_name: StringId = .empty;
3889 const first_tok = p.tok_i;
3890 var param_qt = param_decl_spec.qt;4319 var param_qt = param_decl_spec.qt;
3891 if (param_decl_spec.auto_type) |tok_i| {4320 if (param_decl_spec.auto_type) |tok_i| {
3892 try p.err(tok_i, .auto_type_not_allowed, .{"function prototype"});4321 try p.err(tok_i, .auto_type_not_allowed, .{"function prototype"});
...@@ -3901,8 +4330,9 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {...@@ -3901,8 +4330,9 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {
3901 if (some.old_style_func) |tok_i| try p.err(tok_i, .invalid_old_style_params, .{});4330 if (some.old_style_func) |tok_i| try p.err(tok_i, .invalid_old_style_params, .{});
3902 try p.attributeSpecifier();4331 try p.attributeSpecifier();
3903 name_tok = some.name;4332 name_tok = some.name;
3904 param_qt = some.qt;4333 param_qt = try p.wip_attrs.applyTypeAttrs(p, some.qt);
3905 }4334 }
4335 const param_tok = if (name_tok != 0) name_tok else first_tok;
39064336
3907 if (param_qt.is(p.comp, .void)) {4337 if (param_qt.is(p.comp, .void)) {
3908 // validate void parameters4338 // validate void parameters
...@@ -3919,39 +4349,41 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {...@@ -3919,39 +4349,41 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {
3919 } else {4349 } else {
3920 // Decay params declared as functions or arrays to pointer.4350 // Decay params declared as functions or arrays to pointer.
3921 param_qt = try param_qt.decay(p.comp);4351 param_qt = try param_qt.decay(p.comp);
4352 // Apply potential nullability attributes.
4353 param_qt = try p.wip_attrs.applyTypeAttrs(p, param_qt);
3922 }4354 }
3923 try param_decl_spec.validateParam(p);4355 try param_decl_spec.validateParam(p);
3924 param_qt = try Attribute.applyParameterAttributes(p, param_qt, attr_buf_top, .alignas_on_param);
39254356
3926 if (param_qt.get(p.comp, .float)) |float| {4357 if (param_qt.get(p.comp, .float)) |float| {
3927 if (float == .fp16 and !p.comp.hasHalfPrecisionFloatABI()) {4358 if (float == .fp16 and !p.comp.hasHalfPrecisionFloatABI()) {
3928 try p.err(first_tok, .suggest_pointer_for_invalid_fp16, .{"parameters"});4359 try p.err(param_tok, .suggest_pointer_for_invalid_fp16, .{"parameters"});
3929 }4360 }
3930 }4361 }
39314362
3932 var param_node: Node.OptIndex = .null;4363 const param_node = try p.addNode(.{
3933 if (name_tok != 0) {4364 .param = .{
3934 const node = try p.addNode(.{4365 .name_tok = param_tok,
3935 .param = .{4366 .qt = param_qt,
3936 .name_tok = name_tok,4367 .storage_class = switch (param_decl_spec.storage_class) {
3937 .qt = param_qt,4368 .none => .auto,
3938 .storage_class = switch (param_decl_spec.storage_class) {4369 .register => .register,
3939 .none => .auto,4370 else => .auto, // Error reported in `validateParam`
3940 .register => .register,
3941 else => .auto, // Error reported in `validateParam`
3942 },
3943 },4371 },
3944 });4372 },
3945 param_node = .pack(node);4373 });
4374 try p.wip_attrs.applyDeclAttrs(p, param_node, null);
4375 try p.addMaybeUnusued(param_node);
4376
4377 if (name_tok != 0) {
3946 interned_name = try p.comp.internString(p.tokSlice(name_tok));4378 interned_name = try p.comp.internString(p.tokSlice(name_tok));
3947 try p.syms.defineParam(p, interned_name, param_qt, name_tok, node);4379 try p.syms.defineParam(p, interned_name, param_qt, name_tok, param_node);
3948 }4380 }
39494381
3950 try p.param_buf.append(gpa, .{4382 try p.param_buf.append(gpa, .{
3951 .name = interned_name,4383 .name = interned_name,
3952 .name_tok = if (name_tok == 0) first_tok else name_tok,4384 .name_tok = param_tok,
3953 .qt = param_qt,4385 .qt = param_qt,
3954 .node = param_node,4386 .node = .pack(param_node),
3955 });4387 });
39564388
3957 if (p.eatToken(.comma) == null) break;4389 if (p.eatToken(.comma) == null) break;
...@@ -3962,14 +4394,30 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {...@@ -3962,14 +4394,30 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {
39624394
3963/// typeName : specQual abstractDeclarator4395/// typeName : specQual abstractDeclarator
3964fn typeName(p: *Parser) Error!?QualType {4396fn typeName(p: *Parser) Error!?QualType {
3965 const attr_buf_top = p.attr_buf.len;4397 return p.typeNameExtra(true);
3966 defer p.attr_buf.len = attr_buf_top;4398}
3967 const ty = (try p.specQual()) orelse return null;4399
3968 if (try p.declarator(ty, .abstract)) |some| {4400fn expectTypeName(p: *Parser, closing: Token.Id) Error!QualType {
3969 if (some.old_style_func) |tok_i| try p.err(tok_i, .invalid_old_style_params, .{});4401 return (try p.typeNameExtra(false)) orelse {
3970 return try Attribute.applyTypeAttributes(p, some.qt, attr_buf_top, .align_ignored);4402 try p.err(p.tok_i, .expected_type, .{});
4403 p.skipTo(closing);
4404 p.tok_i -= 1;
4405 return .invalid;
4406 };
4407}
4408
4409fn typeNameExtra(p: *Parser, start_with_type_spec: bool) Error!?QualType {
4410 const attr_state = p.wip_attrs.state(true);
4411 defer p.wip_attrs.restore(attr_state);
4412
4413 var qt = (try p.specQual(start_with_type_spec)) orelse return null;
4414 qt = try p.wip_attrs.applyTypeAttrs(p, qt);
4415 if (try p.declarator(qt, .abstract)) |abstract_d| {
4416 if (abstract_d.old_style_func) |tok_i| try p.err(tok_i, .invalid_old_style_params, .{});
4417 qt = try p.wip_attrs.applyTypeAttrs(p, abstract_d.qt);
3971 }4418 }
3972 return try Attribute.applyTypeAttributes(p, ty, attr_buf_top, .align_ignored);4419 try p.diagnoseIgnoredAttrs();
4420 return qt;
3973}4421}
39744422
3975/// initializer4423/// initializer
...@@ -4036,7 +4484,7 @@ fn initializerItem(p: *Parser, il: *InitList, init_qt: QualType, l_brace: TokenI...@@ -4036,7 +4484,7 @@ fn initializerItem(p: *Parser, il: *InitList, init_qt: QualType, l_brace: TokenI
4036 errdefer p.skipTo(.r_brace);4484 errdefer p.skipTo(.r_brace);
40374485
4038 const designated = try p.designation(il, init_qt, &index_list);4486 const designated = try p.designation(il, init_qt, &index_list);
4039 if (!designated and init_qt.hasAttribute(p.comp, .designated_init)) {4487 if (!designated and init_qt.hasAttribute(&p.tree, .designated_init)) {
4040 try p.err(p.tok_i, .designated_init_needed, .{});4488 try p.err(p.tok_i, .designated_init_needed, .{});
4041 }4489 }
40424490
...@@ -4213,7 +4661,12 @@ fn findScalarInitializer(...@@ -4213,7 +4661,12 @@ fn findScalarInitializer(
4213 warned_excess.* = true;4661 warned_excess.* = true;
4214 return true;4662 return true;
4215 }4663 }
4216 if (res.qt.eql(qt, p.comp) and il.list.items.len == 0) {4664 const is_direct_complex_init = index_list_top == 0;
4665 const is_last_init_item = p.tok_ids[p.tok_i] == .r_brace or
4666 (p.tok_ids[p.tok_i] == .comma and p.tok_ids[p.tok_i + 1] == .r_brace);
4667 const last_is_complex = is_last_init_item and res.qt.is(p.comp, .complex);
4668 const can_init_whole_complex = il.list.items.len == 0 and (!is_direct_complex_init or last_is_complex);
4669 if (can_init_whole_complex) {
4217 try p.setInitializer(il, qt, first_tok, res);4670 try p.setInitializer(il, qt, first_tok, res);
4218 return true;4671 return true;
4219 }4672 }
...@@ -4526,11 +4979,11 @@ fn coerceInit(p: *Parser, item: *Result, tok: TokenIndex, target: QualType) !voi...@@ -4526,11 +4979,11 @@ fn coerceInit(p: *Parser, item: *Result, tok: TokenIndex, target: QualType) !voi
4526 if (target.isInvalid()) return;4979 if (target.isInvalid()) return;
45274980
4528 const node = item.node;4981 const node = item.node;
4529 if (target.isAutoType() or target.isC23Auto()) {4982 if (target.isAuto()) {
4530 if (p.getNode(node, .member_access_expr) orelse p.getNode(node, .member_access_ptr_expr)) |access| {4983 if (p.getNode(node, .member_access_expr) orelse p.getNode(node, .member_access_ptr_expr)) |access| {
4531 if (access.isBitFieldWidth(&p.tree) != null) try p.err(tok, .auto_type_from_bitfield, .{});4984 if (access.isBitFieldWidth(&p.tree) != null) try p.err(tok, .auto_type_from_bitfield, .{});
4532 }4985 }
4533 try item.lvalConversion(p, tok);4986 try item.lvalConversion(p);
4534 return;4987 return;
4535 }4988 }
45364989
...@@ -4795,13 +5248,12 @@ fn asmOperand(p: *Parser, kind: enum { output, input }) Error!Tree.Node.AsmStmt....@@ -4795,13 +5248,12 @@ fn asmOperand(p: *Parser, kind: enum { output, input }) Error!Tree.Node.AsmStmt.
4795 try p.err(p.tok_i, .expected_token, .{ p.tok_ids[p.tok_i], Token.Id.l_paren });5248 try p.err(p.tok_i, .expected_token, .{ p.tok_ids[p.tok_i], Token.Id.l_paren });
4796 return error.ParsingFailed;5249 return error.ParsingFailed;
4797 };5250 };
4798 const maybe_res = try p.expr();5251 var res = try p.expectWithClosing(expr, .r_paren);
4799 try p.expectClosing(l_paren, .r_paren);5252 try p.expectClosing(l_paren, .r_paren);
4800 var res = try p.expectResult(maybe_res);
4801 if (kind == .output and !p.tree.isLval(res.node)) {5253 if (kind == .output and !p.tree.isLval(res.node)) {
4802 try p.err(l_paren + 1, .invalid_asm_output, .{});5254 try p.err(l_paren + 1, .invalid_asm_output, .{});
4803 } else if (kind == .input) {5255 } else if (kind == .input) {
4804 try res.lvalConversion(p, l_paren + 1);5256 try res.lvalConversion(p);
4805 }5257 }
4806 return .{5258 return .{
4807 .name = name,5259 .name = name,
...@@ -4922,14 +5374,12 @@ fn gnuAsmStmt(p: *Parser, quals: Tree.GNUAssemblyQualifiers, asm_tok: TokenIndex...@@ -4922,14 +5374,12 @@ fn gnuAsmStmt(p: *Parser, quals: Tree.GNUAssemblyQualifiers, asm_tok: TokenIndex
4922 return error.ParsingFailed;5374 return error.ParsingFailed;
4923 };5375 };
4924 const ident_str = p.tokSlice(ident);5376 const ident_str = p.tokSlice(ident);
4925 const label = p.findLabel(ident_str) orelse blk: {5377 _ = p.findLabel(ident_str) orelse
4926 try p.labels.append(gpa, .{ .unresolved_goto = ident });5378 try p.labels.append(gpa, .{ .unresolved_goto = ident });
4927 break :blk ident;
4928 };
49295379
4930 const label_addr_node = try p.addNode(.{5380 const label_addr_node = try p.addNode(.{
4931 .addr_of_label = .{5381 .addr_of_label = .{
4932 .label_tok = label,5382 .label_tok = ident,
4933 .qt = .void_pointer,5383 .qt = .void_pointer,
4934 },5384 },
4935 });5385 });
...@@ -5009,10 +5459,9 @@ fn assembly(p: *Parser, kind: enum { global, decl_label, stmt }) Error!?Node.Ind...@@ -5009,10 +5459,9 @@ fn assembly(p: *Parser, kind: enum { global, decl_label, stmt }) Error!?Node.Ind
5009 const res = switch (kind) {5459 const res = switch (kind) {
5010 .decl_label => blk: {5460 .decl_label => blk: {
5011 const asm_str = try p.asmStr();5461 const asm_str = try p.asmStr();
5012 const str = try p.removeNull(asm_str.val);5462 // const str = try p.removeNull(asm_str.val);
50135463
5014 const attr = Attribute{ .tag = .asm_label, .args = .{ .asm_label = .{ .name = str } }, .syntax = .keyword };5464 try p.wip_attrs.addKeyword(p, asm_tok, &.{asm_str});
5015 try p.attr_buf.append(p.comp.gpa, .{ .attr = attr, .tok = asm_tok });
5016 break :blk asm_str.node;5465 break :blk asm_str.node;
5017 },5466 },
5018 .global => blk: {5467 .global => blk: {
...@@ -5073,7 +5522,20 @@ fn asmStr(p: *Parser) Error!Result {...@@ -5073,7 +5522,20 @@ fn asmStr(p: *Parser) Error!Result {
5073/// | keyword_return expr? ';'5522/// | keyword_return expr? ';'
5074/// | assembly ';'5523/// | assembly ';'
5075/// | expr? ';'5524/// | expr? ';'
5076fn stmt(p: *Parser) Error!Node.Index {5525fn stmt(p: *Parser, check_unused: bool) Error!Node.Index {
5526 const bare_stmt = blk: {
5527 const attr_state = p.wip_attrs.state(true);
5528 defer p.wip_attrs.restore(attr_state);
5529
5530 try p.attributeSpecifier();
5531
5532 break :blk try p.attributedStmt(check_unused);
5533 };
5534 try p.wip_attrs.applyStmtAttrs(p, bare_stmt);
5535 return bare_stmt;
5536}
5537
5538fn attributedStmt(p: *Parser, check_unused: bool) Error!Node.Index {
5077 if (try p.labeledStmt()) |some| return some;5539 if (try p.labeledStmt()) |some| return some;
5078 if (try p.compoundStmt(false, null)) |some| return some;5540 if (try p.compoundStmt(false, null)) |some| return some;
5079 const gpa = p.comp.gpa;5541 const gpa = p.comp.gpa;
...@@ -5082,7 +5544,7 @@ fn stmt(p: *Parser) Error!Node.Index {...@@ -5082,7 +5544,7 @@ fn stmt(p: *Parser) Error!Node.Index {
50825544
5083 const cond_tok = p.tok_i;5545 const cond_tok = p.tok_i;
5084 var cond = try p.expect(expr);5546 var cond = try p.expect(expr);
5085 try cond.lvalConversion(p, cond_tok);5547 try cond.lvalConversion(p);
5086 try cond.usualUnaryConversion(p, cond_tok);5548 try cond.usualUnaryConversion(p, cond_tok);
5087 if (!cond.qt.isInvalid() and cond.qt.scalarKind(p.comp) == .none)5549 if (!cond.qt.isInvalid() and cond.qt.scalarKind(p.comp) == .none)
5088 try p.err(l_paren + 1, .statement_scalar, .{cond.qt});5550 try p.err(l_paren + 1, .statement_scalar, .{cond.qt});
...@@ -5090,8 +5552,8 @@ fn stmt(p: *Parser) Error!Node.Index {...@@ -5090,8 +5552,8 @@ fn stmt(p: *Parser) Error!Node.Index {
50905552
5091 try p.expectClosing(l_paren, .r_paren);5553 try p.expectClosing(l_paren, .r_paren);
50925554
5093 const then_body = try p.stmt();5555 const then_body = try p.stmt(true);
5094 const else_body = if (p.eatToken(.keyword_else)) |_| try p.stmt() else null;5556 const else_body = if (p.eatToken(.keyword_else)) |_| try p.stmt(true) else null;
50955557
5096 if (p.nodeIs(then_body, .null_stmt) and else_body == null) {5558 if (p.nodeIs(then_body, .null_stmt) and else_body == null) {
5097 const semicolon_tok = then_body.get(&p.tree).null_stmt.semicolon_or_r_brace_tok;5559 const semicolon_tok = then_body.get(&p.tree).null_stmt.semicolon_or_r_brace_tok;
...@@ -5115,7 +5577,7 @@ fn stmt(p: *Parser) Error!Node.Index {...@@ -5115,7 +5577,7 @@ fn stmt(p: *Parser) Error!Node.Index {
5115 const l_paren = try p.expectToken(.l_paren);5577 const l_paren = try p.expectToken(.l_paren);
5116 const cond_tok = p.tok_i;5578 const cond_tok = p.tok_i;
5117 var cond = try p.expect(expr);5579 var cond = try p.expect(expr);
5118 try cond.lvalConversion(p, cond_tok);5580 try cond.lvalConversion(p);
5119 try cond.usualUnaryConversion(p, cond_tok);5581 try cond.usualUnaryConversion(p, cond_tok);
51205582
5121 // Switch condition can't be complex.5583 // Switch condition can't be complex.
...@@ -5137,7 +5599,7 @@ fn stmt(p: *Parser) Error!Node.Index {...@@ -5137,7 +5599,7 @@ fn stmt(p: *Parser) Error!Node.Index {
5137 p.@"switch" = old_switch;5599 p.@"switch" = old_switch;
5138 }5600 }
51395601
5140 const body = try p.stmt();5602 const body = try p.stmt(true);
51415603
5142 return p.addNode(.{ .switch_stmt = .{5604 return p.addNode(.{ .switch_stmt = .{
5143 .switch_tok = kw_switch,5605 .switch_tok = kw_switch,
...@@ -5150,7 +5612,7 @@ fn stmt(p: *Parser) Error!Node.Index {...@@ -5150,7 +5612,7 @@ fn stmt(p: *Parser) Error!Node.Index {
51505612
5151 const cond_tok = p.tok_i;5613 const cond_tok = p.tok_i;
5152 var cond = try p.expect(expr);5614 var cond = try p.expect(expr);
5153 try cond.lvalConversion(p, cond_tok);5615 try cond.lvalConversion(p);
5154 try cond.usualUnaryConversion(p, cond_tok);5616 try cond.usualUnaryConversion(p, cond_tok);
5155 if (!cond.qt.isInvalid() and cond.qt.scalarKind(p.comp) == .none)5617 if (!cond.qt.isInvalid() and cond.qt.scalarKind(p.comp) == .none)
5156 try p.err(l_paren + 1, .statement_scalar, .{cond.qt});5618 try p.err(l_paren + 1, .statement_scalar, .{cond.qt});
...@@ -5162,7 +5624,7 @@ fn stmt(p: *Parser) Error!Node.Index {...@@ -5162,7 +5624,7 @@ fn stmt(p: *Parser) Error!Node.Index {
5162 const old_loop = p.in_loop;5624 const old_loop = p.in_loop;
5163 p.in_loop = true;5625 p.in_loop = true;
5164 defer p.in_loop = old_loop;5626 defer p.in_loop = old_loop;
5165 break :body try p.stmt();5627 break :body try p.stmt(true);
5166 };5628 };
51675629
5168 return p.addNode(.{ .while_stmt = .{5630 return p.addNode(.{ .while_stmt = .{
...@@ -5176,7 +5638,7 @@ fn stmt(p: *Parser) Error!Node.Index {...@@ -5176,7 +5638,7 @@ fn stmt(p: *Parser) Error!Node.Index {
5176 const old_loop = p.in_loop;5638 const old_loop = p.in_loop;
5177 p.in_loop = true;5639 p.in_loop = true;
5178 defer p.in_loop = old_loop;5640 defer p.in_loop = old_loop;
5179 break :body try p.stmt();5641 break :body try p.stmt(true);
5180 };5642 };
51815643
5182 _ = try p.expectToken(.keyword_while);5644 _ = try p.expectToken(.keyword_while);
...@@ -5184,7 +5646,7 @@ fn stmt(p: *Parser) Error!Node.Index {...@@ -5184,7 +5646,7 @@ fn stmt(p: *Parser) Error!Node.Index {
51845646
5185 const cond_tok = p.tok_i;5647 const cond_tok = p.tok_i;
5186 var cond = try p.expect(expr);5648 var cond = try p.expect(expr);
5187 try cond.lvalConversion(p, cond_tok);5649 try cond.lvalConversion(p);
5188 try cond.usualUnaryConversion(p, cond_tok);5650 try cond.usualUnaryConversion(p, cond_tok);
51895651
5190 if (!cond.qt.isInvalid() and cond.qt.scalarKind(p.comp) == .none)5652 if (!cond.qt.isInvalid() and cond.qt.scalarKind(p.comp) == .none)
...@@ -5207,27 +5669,26 @@ fn stmt(p: *Parser) Error!Node.Index {...@@ -5207,27 +5669,26 @@ fn stmt(p: *Parser) Error!Node.Index {
5207 defer p.decl_buf.items.len = decl_buf_top;5669 defer p.decl_buf.items.len = decl_buf_top;
52085670
5209 const l_paren = try p.expectToken(.l_paren);5671 const l_paren = try p.expectToken(.l_paren);
5210 const got_decl = try p.decl();
52115672
5212 // for (init5673 // for (init
5213 const init_start = p.tok_i;5674 var prev_errors = p.diagnostics.errors;
5214 var prev_total = p.diagnostics.total;
5215 const init = init: {5675 const init = init: {
5216 if (got_decl) break :init null;5676 if (try p.declStmt()) |decl_stmt| break :init decl_stmt;
5217 var init = (try p.expr()) orelse break :init null;5677 const opt_init = try p.expr();
5678 _ = try p.expectToken(.semicolon);
5679 var init = opt_init orelse break :init null;
52185680
5219 try init.saveValue(p);5681 try init.saveValue(p);
5220 try init.maybeWarnUnused(p, init_start, prev_total);5682 try p.diagnoseUnusedValue(init.node, prev_errors);
5221 break :init init.node;5683 break :init init.node;
5222 };5684 };
5223 if (!got_decl) _ = try p.expectToken(.semicolon);
52245685
5225 // for (init; cond5686 // for (init; cond
5226 const cond = cond: {5687 const cond = cond: {
5227 const cond_tok = p.tok_i;5688 const cond_tok = p.tok_i;
5228 var cond = (try p.expr()) orelse break :cond null;5689 var cond = (try p.expr()) orelse break :cond null;
52295690
5230 try cond.lvalConversion(p, cond_tok);5691 try cond.lvalConversion(p);
5231 try cond.usualUnaryConversion(p, cond_tok);5692 try cond.usualUnaryConversion(p, cond_tok);
5232 if (!cond.qt.isInvalid() and cond.qt.scalarKind(p.comp) == .none)5693 if (!cond.qt.isInvalid() and cond.qt.scalarKind(p.comp) == .none)
5233 try p.err(l_paren + 1, .statement_scalar, .{cond.qt});5694 try p.err(l_paren + 1, .statement_scalar, .{cond.qt});
...@@ -5237,12 +5698,11 @@ fn stmt(p: *Parser) Error!Node.Index {...@@ -5237,12 +5698,11 @@ fn stmt(p: *Parser) Error!Node.Index {
5237 _ = try p.expectToken(.semicolon);5698 _ = try p.expectToken(.semicolon);
52385699
5239 // for (init; cond; incr5700 // for (init; cond; incr
5240 const incr_start = p.tok_i;5701 prev_errors = p.diagnostics.errors;
5241 prev_total = p.diagnostics.total;
5242 const incr = incr: {5702 const incr = incr: {
5243 var incr = (try p.expr()) orelse break :incr null;5703 var incr = (try p.expr()) orelse break :incr null;
52445704
5245 try incr.maybeWarnUnused(p, incr_start, prev_total);5705 try p.diagnoseUnusedValue(incr.node, prev_errors);
5246 try incr.saveValue(p);5706 try incr.saveValue(p);
5247 break :incr incr.node;5707 break :incr incr.node;
5248 };5708 };
...@@ -5252,15 +5712,12 @@ fn stmt(p: *Parser) Error!Node.Index {...@@ -5252,15 +5712,12 @@ fn stmt(p: *Parser) Error!Node.Index {
5252 const old_loop = p.in_loop;5712 const old_loop = p.in_loop;
5253 p.in_loop = true;5713 p.in_loop = true;
5254 defer p.in_loop = old_loop;5714 defer p.in_loop = old_loop;
5255 break :body try p.stmt();5715 break :body try p.stmt(true);
5256 };5716 };
52575717
5258 return p.addNode(.{ .for_stmt = .{5718 return p.addNode(.{ .for_stmt = .{
5259 .for_tok = kw_for,5719 .for_tok = kw_for,
5260 .init = if (decl_buf_top == p.decl_buf.items.len)5720 .init = init,
5261 .{ .expr = init }
5262 else
5263 .{ .decls = p.decl_buf.items[decl_buf_top..] },
5264 .cond = cond,5721 .cond = cond,
5265 .incr = incr,5722 .incr = incr,
5266 .body = body,5723 .body = body,
...@@ -5270,7 +5727,7 @@ fn stmt(p: *Parser) Error!Node.Index {...@@ -5270,7 +5727,7 @@ fn stmt(p: *Parser) Error!Node.Index {
5270 if (p.eatToken(.asterisk)) |_| {5727 if (p.eatToken(.asterisk)) |_| {
5271 const expr_tok = p.tok_i;5728 const expr_tok = p.tok_i;
5272 var goto_expr = try p.expect(expr);5729 var goto_expr = try p.expect(expr);
5273 try goto_expr.lvalConversion(p, expr_tok);5730 try goto_expr.lvalConversion(p);
5274 p.computed_goto_tok = p.computed_goto_tok orelse goto_tok;5731 p.computed_goto_tok = p.computed_goto_tok orelse goto_tok;
52755732
5276 if (!goto_expr.qt.isInvalid() and !goto_expr.qt.isPointer(p.comp)) {5733 if (!goto_expr.qt.isInvalid() and !goto_expr.qt.isPointer(p.comp)) {
...@@ -5282,10 +5739,10 @@ fn stmt(p: *Parser) Error!Node.Index {...@@ -5282,10 +5739,10 @@ fn stmt(p: *Parser) Error!Node.Index {
5282 return error.ParsingFailed;5739 return error.ParsingFailed;
5283 }5740 }
5284 if (goto_expr.val.isZero(p.comp)) {5741 if (goto_expr.val.isZero(p.comp)) {
5285 try goto_expr.nullToPointer(p, result_qt, expr_tok);5742 try goto_expr.nullToPointer(p, result_qt);
5286 } else {5743 } else {
5287 try p.err(expr_tok, .implicit_int_to_ptr, .{ goto_expr.qt, result_qt });5744 try p.err(expr_tok, .implicit_int_to_ptr, .{ goto_expr.qt, result_qt });
5288 try goto_expr.castToPointer(p, result_qt, expr_tok);5745 try goto_expr.castToPointer(p, result_qt);
5289 }5746 }
5290 }5747 }
52915748
...@@ -5312,23 +5769,17 @@ fn stmt(p: *Parser) Error!Node.Index {...@@ -5312,23 +5769,17 @@ fn stmt(p: *Parser) Error!Node.Index {
5312 if (try p.returnStmt()) |some| return some;5769 if (try p.returnStmt()) |some| return some;
5313 if (try p.assembly(.stmt)) |some| return some;5770 if (try p.assembly(.stmt)) |some| return some;
53145771
5315 const expr_start = p.tok_i;5772 const prev_errors = p.diagnostics.errors;
5316 const prev_total = p.diagnostics.total;
5317
5318 if (try p.expr()) |some| {5773 if (try p.expr()) |some| {
5319 _ = try p.expectToken(.semicolon);5774 _ = try p.expectToken(.semicolon);
5320 try some.maybeWarnUnused(p, expr_start, prev_total);5775 if (check_unused) try p.diagnoseUnusedValue(some.node, prev_errors);
5776 try some.putValue(p);
5321 return some.node;5777 return some.node;
5322 }5778 }
53235779
5324 const attr_buf_top = p.attr_buf.len;
5325 defer p.attr_buf.len = attr_buf_top;
5326 try p.attributeSpecifier();
5327
5328 if (p.eatToken(.semicolon)) |semicolon| {5780 if (p.eatToken(.semicolon)) |semicolon| {
5329 return p.addNode(.{ .null_stmt = .{5781 return p.addNode(.{ .null_stmt = .{
5330 .semicolon_or_r_brace_tok = semicolon,5782 .semicolon_or_r_brace_tok = semicolon,
5331 .qt = try Attribute.applyStatementAttributes(p, expr_start, attr_buf_top),
5332 } });5783 } });
5333 }5784 }
53345785
...@@ -5336,6 +5787,19 @@ fn stmt(p: *Parser) Error!Node.Index {...@@ -5336,6 +5787,19 @@ fn stmt(p: *Parser) Error!Node.Index {
5336 return error.ParsingFailed;5787 return error.ParsingFailed;
5337}5788}
53385789
5790fn declStmt(p: *Parser) Error!?Node.Index {
5791 const decl_buf_top = p.decl_buf.items.len;
5792 defer p.decl_buf.items.len = decl_buf_top;
5793 const first = p.tok_i;
5794 if (try p.decl()) {
5795 return try p.addNode(.{ .decl_stmt = .{
5796 .decls = p.decl_buf.items[decl_buf_top..],
5797 .first_tok = first,
5798 } });
5799 }
5800 return null;
5801}
5802
5339/// labeledStmt5803/// labeledStmt
5340/// : IDENTIFIER ':' stmt5804/// : IDENTIFIER ':' stmt
5341/// | keyword_case integerConstExpr ':' stmt5805/// | keyword_case integerConstExpr ':' stmt
...@@ -5344,32 +5808,53 @@ fn labeledStmt(p: *Parser) Error!?Node.Index {...@@ -5344,32 +5808,53 @@ fn labeledStmt(p: *Parser) Error!?Node.Index {
5344 if ((p.tok_ids[p.tok_i] == .identifier or p.tok_ids[p.tok_i] == .extended_identifier) and p.tok_ids[p.tok_i + 1] == .colon) {5808 if ((p.tok_ids[p.tok_i] == .identifier or p.tok_ids[p.tok_i] == .extended_identifier) and p.tok_ids[p.tok_i + 1] == .colon) {
5345 const name_tok = try p.expectIdentifier();5809 const name_tok = try p.expectIdentifier();
5346 const str = p.tokSlice(name_tok);5810 const str = p.tokSlice(name_tok);
5811 p.tok_i += 1; // colon
5812
5813 var node: Tree.Node = .{ .labeled_stmt = .{
5814 .body = undefined,
5815 .label_tok = name_tok,
5816 } };
5817 const labeled_stmt = try p.addNode(node);
5818
5819 // Any gnu attributes between the label and the body statement apply to
5820 // this labeled statement rather than that body statement.
5821 const attr_tok = p.tok_i;
5822 {
5823 const attr_state = p.wip_attrs.state(true);
5824 defer p.wip_attrs.restore(attr_state);
5825
5826 while (try p.gnuAttribute()) {}
5827 try p.wip_attrs.applyStmtAttrs(p, labeled_stmt);
5828 }
5829 const applied_any = p.wip_attrs.applied.items.len != 0;
5830
5347 if (p.findLabel(str)) |some| {5831 if (p.findLabel(str)) |some| {
5348 try p.err(name_tok, .duplicate_label, .{str});5832 try p.err(name_tok, .duplicate_label, .{str});
5349 try p.err(some, .previous_label, .{str});5833 try p.err(some, .previous_label, .{str});
5350 } else {5834 } else {
5351 p.label_count += 1;5835 p.label_count += 1;
5352 try p.labels.append(p.comp.gpa, .{ .label = name_tok });5836 try p.labels.append(p.comp.gpa, .{ .label = labeled_stmt });
5353 var i: usize = 0;5837 var i: usize = 0;
5838 var any_unresolved = false;
5354 while (i < p.labels.items.len) {5839 while (i < p.labels.items.len) {
5355 if (p.labels.items[i] == .unresolved_goto and5840 if (p.labels.items[i] == .unresolved_goto and
5356 mem.eql(u8, p.tokSlice(p.labels.items[i].unresolved_goto), str))5841 mem.eql(u8, p.tokSlice(p.labels.items[i].unresolved_goto), str))
5357 {5842 {
5843 any_unresolved = true;
5358 _ = p.labels.swapRemove(i);5844 _ = p.labels.swapRemove(i);
5359 } else i += 1;5845 } else i += 1;
5360 }5846 }
5847 if (!any_unresolved) try p.addMaybeUnusued(labeled_stmt);
5361 }5848 }
53625849
5363 p.tok_i += 1;5850 node.labeled_stmt.body = try p.labelableStmt();
5364 const attr_buf_top = p.attr_buf.len;5851 try p.tree.setNode(node, @backingInt(labeled_stmt));
5365 defer p.attr_buf.len = attr_buf_top;
5366 try p.attributeSpecifier();
53675852
5368 return try p.addNode(.{ .labeled_stmt = .{5853 if (applied_any and node.labeled_stmt.body.get(&p.tree) == .decl_stmt) {
5369 .qt = try Attribute.applyLabelAttributes(p, attr_buf_top),5854 try p.err(attr_tok, .gnu_label_attr, .{});
5370 .body = try p.labelableStmt(),5855 }
5371 .label_tok = name_tok,5856
5372 } });5857 return labeled_stmt;
5373 } else if (p.eatToken(.keyword_case)) |case| {5858 } else if (p.eatToken(.keyword_case)) |case| {
5374 var first_item = try p.integerConstExpr(.gnu_folding_extension);5859 var first_item = try p.integerConstExpr(.gnu_folding_extension);
5375 const ellipsis = p.tok_i;5860 const ellipsis = p.tok_i;
...@@ -5445,19 +5930,18 @@ fn labelableStmt(p: *Parser) Error!Node.Index {...@@ -5445,19 +5930,18 @@ fn labelableStmt(p: *Parser) Error!Node.Index {
5445 try p.err(p.tok_i, .label_compound_end, .{});5930 try p.err(p.tok_i, .label_compound_end, .{});
5446 return p.addNode(.{ .null_stmt = .{5931 return p.addNode(.{ .null_stmt = .{
5447 .semicolon_or_r_brace_tok = p.tok_i,5932 .semicolon_or_r_brace_tok = p.tok_i,
5448 .qt = .void,
5449 } });5933 } });
5450 }5934 }
5451 return p.stmt();5935 const start = p.tok_i;
5936 if (try p.declStmt()) |decl_stmt| {
5937 try p.err(start, .label_decl, .{});
5938 return decl_stmt;
5939 }
5940 return p.stmt(true);
5452}5941}
54535942
5454const StmtExprState = struct {
5455 last_expr_tok: TokenIndex = 0,
5456 last_expr_qt: QualType = .void,
5457};
5458
5459/// compoundStmt : '{' ( decl | keyword_extension decl | staticAssert | stmt)* '}'5943/// compoundStmt : '{' ( decl | keyword_extension decl | staticAssert | stmt)* '}'
5460fn compoundStmt(p: *Parser, is_fn_body: bool, stmt_expr_state: ?*StmtExprState) Error!?Node.Index {5944fn compoundStmt(p: *Parser, is_fn_body: bool, stmt_expr_state: ?*?Node.Index) Error!?Node.Index {
5461 const l_brace = p.eatToken(.l_brace) orelse return null;5945 const l_brace = p.eatToken(.l_brace) orelse return null;
54625946
5463 const gpa = p.comp.gpa;5947 const gpa = p.comp.gpa;
...@@ -5470,10 +5954,20 @@ fn compoundStmt(p: *Parser, is_fn_body: bool, stmt_expr_state: ?*StmtExprState)...@@ -5470,10 +5954,20 @@ fn compoundStmt(p: *Parser, is_fn_body: bool, stmt_expr_state: ?*StmtExprState)
54705954
5471 var noreturn_index: ?TokenIndex = null;5955 var noreturn_index: ?TokenIndex = null;
5472 var noreturn_label_count: u32 = 0;5956 var noreturn_label_count: u32 = 0;
5957 var prev_errors = p.diagnostics.errors;
54735958
5474 while (p.eatToken(.r_brace) == null) : (_ = try p.pragma()) {5959 while (p.eatToken(.r_brace) == null) : (_ = try p.pragma()) {
5475 if (stmt_expr_state) |state| state.* = .{};5960 const attr_state = p.wip_attrs.state(true);
5961 defer p.wip_attrs.restore(attr_state);
5962 try p.attributeSpecifier();
5963
5964 if (stmt_expr_state) |opt_node| {
5965 if (opt_node.*) |node| try p.diagnoseUnusedValue(node, prev_errors);
5966 opt_node.* = null;
5967 }
5968 prev_errors = p.diagnostics.errors;
5476 if (try p.parseOrNextStmt(staticAssert, l_brace)) continue;5969 if (try p.parseOrNextStmt(staticAssert, l_brace)) continue;
5970 // TODO use declStmt?
5477 if (try p.parseOrNextStmt(decl, l_brace)) continue;5971 if (try p.parseOrNextStmt(decl, l_brace)) continue;
5478 if (p.eatToken(.keyword_extension)) |ext| {5972 if (p.eatToken(.keyword_extension)) |ext| {
5479 const saved_extension = p.extension_suppressed;5973 const saved_extension = p.extension_suppressed;
...@@ -5483,19 +5977,15 @@ fn compoundStmt(p: *Parser, is_fn_body: bool, stmt_expr_state: ?*StmtExprState)...@@ -5483,19 +5977,15 @@ fn compoundStmt(p: *Parser, is_fn_body: bool, stmt_expr_state: ?*StmtExprState)
5483 if (try p.parseOrNextStmt(decl, l_brace)) continue;5977 if (try p.parseOrNextStmt(decl, l_brace)) continue;
5484 p.tok_i = ext;5978 p.tok_i = ext;
5485 }5979 }
5486 const stmt_tok = p.tok_i;5980 const s = p.stmt(stmt_expr_state == null) catch |er| switch (er) {
5487 const s = p.stmt() catch |er| switch (er) {
5488 error.ParsingFailed => {5981 error.ParsingFailed => {
5489 try p.nextStmt(l_brace);5982 try p.nextStmt(l_brace);
5490 continue;5983 continue;
5491 },5984 },
5492 else => |e| return e,5985 else => |e| return e,
5493 };5986 };
5494 if (stmt_expr_state) |state| {5987 if (stmt_expr_state) |opt_node| {
5495 state.* = .{5988 opt_node.* = s;
5496 .last_expr_tok = stmt_tok,
5497 .last_expr_qt = s.qt(&p.tree),
5498 };
5499 }5989 }
5500 try p.decl_buf.append(gpa, s);5990 try p.decl_buf.append(gpa, s);
55015991
...@@ -5564,8 +6054,7 @@ fn pointerValue(p: *Parser, node: Node.Index, offset: Value) !Value {...@@ -5564,8 +6054,7 @@ fn pointerValue(p: *Parser, node: Node.Index, offset: Value) !Value {
5564 .decl_ref_expr => |decl_ref| {6054 .decl_ref_expr => |decl_ref| {
5565 const var_name = try p.comp.internString(p.tokSlice(decl_ref.name_tok));6055 const var_name = try p.comp.internString(p.tokSlice(decl_ref.name_tok));
5566 const sym = p.syms.findSymbol(var_name) orelse return .{};6056 const sym = p.syms.findSymbol(var_name) orelse return .{};
5567 const sym_node = sym.node.unpack() orelse return .{};6057 return Value.pointer(.{ .node = @backingInt(sym.node), .offset = offset.ref() }, p.comp);
5568 return Value.pointer(.{ .node = @backingInt(sym_node), .offset = offset.ref() }, p.comp);
5569 },6058 },
5570 .string_literal_expr => return p.tree.value_map.get(node).?,6059 .string_literal_expr => return p.tree.value_map.get(node).?,
5571 else => return .{},6060 else => return .{},
...@@ -5598,6 +6087,7 @@ fn nodeIsNoreturn(p: *Parser, node: Node.Index) NoreturnKind {...@@ -5598,6 +6087,7 @@ fn nodeIsNoreturn(p: *Parser, node: Node.Index) NoreturnKind {
5598 return p.nodeIsNoreturn(default.body);6087 return p.nodeIsNoreturn(default.body);
5599 },6088 },
5600 .while_stmt, .do_while_stmt, .for_stmt, .switch_stmt => return .complex,6089 .while_stmt, .do_while_stmt, .for_stmt, .switch_stmt => return .complex,
6090 .goto_stmt, .computed_goto_stmt => return .complex,
5601 else => return .no,6091 else => return .no,
5602 }6092 }
5603}6093}
...@@ -5647,6 +6137,7 @@ fn nextStmt(p: *Parser, l_brace: TokenIndex) !void {...@@ -5647,6 +6137,7 @@ fn nextStmt(p: *Parser, l_brace: TokenIndex) !void {
5647 .keyword_register,6137 .keyword_register,
5648 .keyword_thread_local,6138 .keyword_thread_local,
5649 .keyword_c23_thread_local,6139 .keyword_c23_thread_local,
6140 .keyword_thread,
5650 .keyword_inline,6141 .keyword_inline,
5651 .keyword_inline1,6142 .keyword_inline1,
5652 .keyword_inline2,6143 .keyword_inline2,
...@@ -5697,7 +6188,7 @@ fn returnStmt(p: *Parser) Error!?Node.Index {...@@ -5697,7 +6188,7 @@ fn returnStmt(p: *Parser) Error!?Node.Index {
5697 const ret_qt: QualType = if (func_qt.get(p.comp, .func)) |func_ty| func_ty.return_type else .invalid;6188 const ret_qt: QualType = if (func_qt.get(p.comp, .func)) |func_ty| func_ty.return_type else .invalid;
5698 const ret_void = !ret_qt.isInvalid() and ret_qt.is(p.comp, .void);6189 const ret_void = !ret_qt.isInvalid() and ret_qt.is(p.comp, .void);
56996190
5700 if (func_qt.hasAttribute(p.comp, .noreturn)) {6191 if (p.tree.attr_map.hasAttribute(p.func.decl, .noreturn)) {
5701 try p.err(e_tok, .invalid_noreturn, .{p.tokSlice(p.func.name)});6192 try p.err(e_tok, .invalid_noreturn, .{p.tokSlice(p.func.name)});
5702 }6193 }
57036194
...@@ -5724,14 +6215,6 @@ fn returnStmt(p: *Parser) Error!?Node.Index {...@@ -5724,14 +6215,6 @@ fn returnStmt(p: *Parser) Error!?Node.Index {
57246215
5725// ====== expressions ======6216// ====== expressions ======
57266217
5727pub fn macroExpr(p: *Parser) Compilation.Error!bool {
5728 const res = p.expect(condExpr) catch |er| switch (er) {
5729 error.OutOfMemory, error.FatalError => |e| return e,
5730 error.ParsingFailed => return false,
5731 };
5732 return res.val.toBool(p.comp);
5733}
5734
5735const CallExpr = union(enum) {6218const CallExpr = union(enum) {
5736 standard: Node.Index,6219 standard: Node.Index,
5737 builtin: struct {6220 builtin: struct {
...@@ -5816,6 +6299,10 @@ const CallExpr = union(enum) {...@@ -5816,6 +6299,10 @@ const CallExpr = union(enum) {
5816 .__builtin_elementwise_add_sat,6299 .__builtin_elementwise_add_sat,
5817 .__builtin_elementwise_sub_sat,6300 .__builtin_elementwise_sub_sat,
5818 .__builtin_elementwise_popcount,6301 .__builtin_elementwise_popcount,
6302 .__builtin_elementwise_fshl,
6303 .__builtin_elementwise_fshr,
6304 .__builtin_elementwise_clzg,
6305 .__builtin_elementwise_ctzg,
5819 => return p.checkElementwiseArg(param_tok, arg, arg_idx, .int),6306 => return p.checkElementwiseArg(param_tok, arg, arg_idx, .int),
5820 .__builtin_elementwise_canonicalize,6307 .__builtin_elementwise_canonicalize,
5821 .__builtin_elementwise_ceil,6308 .__builtin_elementwise_ceil,
...@@ -5836,10 +6323,18 @@ const CallExpr = union(enum) {...@@ -5836,10 +6323,18 @@ const CallExpr = union(enum) {
5836 .__builtin_elementwise_copysign,6323 .__builtin_elementwise_copysign,
5837 .__builtin_elementwise_pow,6324 .__builtin_elementwise_pow,
5838 .__builtin_elementwise_fma,6325 .__builtin_elementwise_fma,
6326 .__builtin_elementwise_maximumnum,
6327 .__builtin_elementwise_minimumnum,
5839 => return p.checkElementwiseArg(param_tok, arg, arg_idx, .float),6328 => return p.checkElementwiseArg(param_tok, arg, arg_idx, .float),
5840 .__builtin_elementwise_max,6329 .__builtin_elementwise_max,
5841 .__builtin_elementwise_min,6330 .__builtin_elementwise_min,
5842 => return p.checkElementwiseArg(param_tok, arg, arg_idx, .both),6331 => return p.checkElementwiseArg(param_tok, arg, arg_idx, .both),
6332 .__builtin_elementwise_ldexp,
6333 => if (arg_idx == 0) {
6334 return p.checkElementwiseArg(param_tok, arg, 0, .float);
6335 } else {
6336 return p.checkElementwiseArg(param_tok, arg, 0, .int);
6337 },
58436338
5844 .__builtin_reduce_add,6339 .__builtin_reduce_add,
5845 .__builtin_reduce_mul,6340 .__builtin_reduce_mul,
...@@ -5876,6 +6371,24 @@ const CallExpr = union(enum) {...@@ -5876,6 +6371,24 @@ const CallExpr = union(enum) {
5876 => return p.checkSyncArg(param_tok, arg, arg_idx, 3),6371 => return p.checkSyncArg(param_tok, arg, arg_idx, 3),
5877 else => {},6372 else => {},
5878 },6373 },
6374 .aarch64 => |tag| switch (tag) {
6375 .__builtin_arm_ldrex,
6376 .__builtin_arm_ldaex,
6377 .__builtin_arm_strex,
6378 .__builtin_arm_stlex,
6379 => return p.checkARMExclusive(self.builtin.expanded.tag, builtin_tok, param_tok, arg, arg_idx),
6380 else => {},
6381 },
6382 .arm => |tag| switch (tag) {
6383 .__builtin_arm_ldrex,
6384 .__builtin_arm_ldrexd,
6385 .__builtin_arm_ldaex,
6386 .__builtin_arm_strex,
6387 .__builtin_arm_strexd,
6388 .__builtin_arm_stlex,
6389 => return p.checkARMExclusive(self.builtin.expanded.tag, builtin_tok, param_tok, arg, arg_idx),
6390 else => {},
6391 },
5879 else => {},6392 else => {},
5880 }6393 }
5881 }6394 }
...@@ -5940,6 +6453,9 @@ const CallExpr = union(enum) {...@@ -5940,6 +6453,9 @@ const CallExpr = union(enum) {
5940 .__builtin_elementwise_pow,6453 .__builtin_elementwise_pow,
5941 .__builtin_elementwise_sub_sat,6454 .__builtin_elementwise_sub_sat,
5942 .__builtin_nontemporal_store,6455 .__builtin_nontemporal_store,
6456 .__builtin_elementwise_ldexp,
6457 .__builtin_elementwise_maximumnum,
6458 .__builtin_elementwise_minimumnum,
5943 => 2,6459 => 2,
59446460
5945 .__c11_atomic_store,6461 .__c11_atomic_store,
...@@ -5970,6 +6486,8 @@ const CallExpr = union(enum) {...@@ -5970,6 +6486,8 @@ const CallExpr = union(enum) {
5970 .__builtin_mul_overflow,6486 .__builtin_mul_overflow,
5971 .__builtin_elementwise_fma,6487 .__builtin_elementwise_fma,
5972 .__atomic_exchange_n,6488 .__atomic_exchange_n,
6489 .__builtin_elementwise_fshl,
6490 .__builtin_elementwise_fshr,
5973 => 3,6491 => 3,
59746492
5975 .__atomic_exchange,6493 .__atomic_exchange,
...@@ -5982,6 +6500,33 @@ const CallExpr = union(enum) {...@@ -5982,6 +6500,33 @@ const CallExpr = union(enum) {
5982 .__atomic_compare_exchange,6500 .__atomic_compare_exchange,
5983 .__atomic_compare_exchange_n,6501 .__atomic_compare_exchange_n,
5984 => 6,6502 => 6,
6503
6504 // TODO handle optional second argument
6505 .__builtin_elementwise_clzg,
6506 .__builtin_elementwise_ctzg,
6507 => null,
6508 else => null,
6509 },
6510 .aarch64 => |tag| switch (tag) {
6511 .__builtin_arm_ldrex,
6512 .__builtin_arm_ldaex,
6513 => 1,
6514
6515 .__builtin_arm_strex,
6516 .__builtin_arm_stlex,
6517 => 2,
6518 else => null,
6519 },
6520 .arm => |tag| switch (tag) {
6521 .__builtin_arm_ldrex,
6522 .__builtin_arm_ldrexd,
6523 .__builtin_arm_ldaex,
6524 => 1,
6525
6526 .__builtin_arm_strex,
6527 .__builtin_arm_strexd,
6528 .__builtin_arm_stlex,
6529 => 2,
5985 else => null,6530 else => null,
5986 },6531 },
5987 else => null,6532 else => null,
...@@ -6095,12 +6640,27 @@ const CallExpr = union(enum) {...@@ -6095,12 +6640,27 @@ const CallExpr = union(enum) {
6095 .__builtin_elementwise_sub_sat,6640 .__builtin_elementwise_sub_sat,
6096 .__builtin_elementwise_fma,6641 .__builtin_elementwise_fma,
6097 .__builtin_elementwise_popcount,6642 .__builtin_elementwise_popcount,
6643 .__builtin_elementwise_fshl,
6644 .__builtin_elementwise_fshr,
6645 .__builtin_elementwise_ldexp,
6646 .__builtin_elementwise_maximumnum,
6647 .__builtin_elementwise_minimumnum,
60986648
6099 .__builtin_nondeterministic_value,6649 .__builtin_nondeterministic_value,
6100 => {6650 => {
6101 const first_param = args[0].qt(&p.tree);6651 const first_param = args[0].qt(&p.tree);
6102 return first_param;6652 return first_param;
6103 },6653 },
6654
6655 // TODO handle optional second argument
6656 .__builtin_elementwise_clzg,
6657 .__builtin_elementwise_ctzg,
6658 => {
6659 if (args.len < 1) return .invalid;
6660 const first_param = args[0].qt(&p.tree);
6661 return first_param;
6662 },
6663
6104 .__builtin_reduce_add,6664 .__builtin_reduce_add,
6105 .__builtin_reduce_mul,6665 .__builtin_reduce_mul,
6106 .__builtin_reduce_and,6666 .__builtin_reduce_and,
...@@ -6125,6 +6685,34 @@ const CallExpr = union(enum) {...@@ -6125,6 +6685,34 @@ const CallExpr = union(enum) {
6125 },6685 },
6126 else => func_ty.return_type,6686 else => func_ty.return_type,
6127 },6687 },
6688 .aarch64 => |tag| switch (tag) {
6689 .__builtin_arm_ldrex,
6690 .__builtin_arm_ldaex,
6691 => {
6692 const first_param = args[0].qt(&p.tree);
6693 if (!first_param.isPointer(p.comp)) return .invalid;
6694 return first_param.childType(p.comp);
6695 },
6696 .__builtin_arm_strex,
6697 .__builtin_arm_stlex,
6698 => .int, // STREX/STREXD returns int
6699 else => func_ty.return_type,
6700 },
6701 .arm => |tag| switch (tag) {
6702 .__builtin_arm_ldrex,
6703 .__builtin_arm_ldrexd,
6704 .__builtin_arm_ldaex,
6705 => {
6706 const first_param = args[0].qt(&p.tree);
6707 if (!first_param.isPointer(p.comp)) return .invalid;
6708 return first_param.childType(p.comp);
6709 },
6710 .__builtin_arm_strex,
6711 .__builtin_arm_strexd,
6712 .__builtin_arm_stlex,
6713 => .int, // STREX/STREXD returns int
6714 else => func_ty.return_type,
6715 },
6128 else => func_ty.return_type,6716 else => func_ty.return_type,
6129 };6717 };
6130 }6718 }
...@@ -6167,61 +6755,19 @@ pub const Result = struct {...@@ -6167,61 +6755,19 @@ pub const Result = struct {
6167 qt: QualType = .int,6755 qt: QualType = .int,
6168 val: Value = .{},6756 val: Value = .{},
61696757
6170 fn maybeWarnUnused(res: Result, p: *Parser, expr_start: TokenIndex, prev_total: usize) Error!void {
6171 if (res.qt.is(p.comp, .void)) return;
6172 if (res.qt.isInvalid()) return;
6173 // // don't warn about unused result if the expression contained errors besides other unused results
6174 if (p.diagnostics.total != prev_total) return; // TODO improve
6175 // for (p.diagnostics.list.items[err_start..]) |err_item| {
6176 // if (err_item.tag != .unused_value) return;
6177 // }
6178 loop: switch (res.node.get(&p.tree)) {
6179 .assign_expr,
6180 .mul_assign_expr,
6181 .div_assign_expr,
6182 .mod_assign_expr,
6183 .add_assign_expr,
6184 .sub_assign_expr,
6185 .shl_assign_expr,
6186 .shr_assign_expr,
6187 .bit_and_assign_expr,
6188 .bit_xor_assign_expr,
6189 .bit_or_assign_expr,
6190 .pre_inc_expr,
6191 .pre_dec_expr,
6192 .post_inc_expr,
6193 .post_dec_expr,
6194 => {},
6195 .call_expr => |call| {
6196 const call_info = p.tree.callableResultUsage(call.callee) orelse return;
6197 if (call_info.nodiscard) try p.err(expr_start, .nodiscard_unused, .{p.tokSlice(call_info.tok)});
6198 if (call_info.warn_unused_result) try p.err(expr_start, .warn_unused_result, .{p.tokSlice(call_info.tok)});
6199 },
6200 .builtin_call_expr => |call| {
6201 const expanded = p.comp.builtins.lookup(p.tokSlice(call.builtin_tok));
6202 const attributes = expanded.attributes;
6203 if (attributes.pure) try p.err(call.builtin_tok, .builtin_unused, .{"pure"});
6204 if (attributes.@"const") try p.err(call.builtin_tok, .builtin_unused, .{"const"});
6205 },
6206 .stmt_expr => |stmt_expr| {
6207 const compound = stmt_expr.operand.get(&p.tree).compound_stmt;
6208 continue :loop compound.body[compound.body.len - 1].get(&p.tree);
6209 },
6210 .comma_expr => |comma| continue :loop comma.rhs.get(&p.tree),
6211 .paren_expr => |grouped| continue :loop grouped.operand.get(&p.tree),
6212 else => try p.err(expr_start, .unused_value, .{}),
6213 }
6214 }
6215
6216 fn boolRes(lhs: *Result, p: *Parser, tag: std.meta.Tag(Node), rhs: Result, tok_i: TokenIndex) !void {6758 fn boolRes(lhs: *Result, p: *Parser, tag: std.meta.Tag(Node), rhs: Result, tok_i: TokenIndex) !void {
6217 if (lhs.val.opt_ref == .null) {6759 if (lhs.val.opt_ref == .null) {
6218 lhs.val = .zero;6760 lhs.val = .zero;
6219 }6761 }
6220 if (!lhs.qt.isInvalid()) {6762 if (!lhs.qt.isInvalid()) {
6221 if (lhs.qt.get(p.comp, .vector)) |vec| {6763 if (lhs.qt.get(p.comp, .vector)) |vec| {
6222 if (!vec.elem.isInt(p.comp)) {6764 if (!vec.elem.isInt(p.comp) or vec.kind != .generic) {
6223 lhs.qt = try p.comp.type_store.put(p.comp.gpa, .{6765 lhs.qt = try p.comp.type_store.put(p.comp.gpa, .{
6224 .vector = .{ .elem = .int, .len = vec.len },6766 .vector = .{
6767 .elem = p.comp.smallestNBitIntTargetIndependent(@intCast(vec.elem.bitSizeof(p.comp)), .signed),
6768 .len = vec.len,
6769 .kind = .generic,
6770 },
6225 });6771 });
6226 }6772 }
6227 } else {6773 } else {
...@@ -6272,10 +6818,10 @@ pub const Result = struct {...@@ -6272,10 +6818,10 @@ pub const Result = struct {
6272 }6818 }
6273 }6819 }
62746820
6275 fn implicitCast(operand: *Result, p: *Parser, kind: Node.Cast.Kind, tok: TokenIndex) Error!void {6821 fn implicitCast(operand: *Result, p: *Parser, kind: Node.Cast.Kind) Error!void {
6276 operand.node = try p.addNode(.{6822 operand.node = try p.addNode(.{
6277 .cast = .{6823 .cast = .{
6278 .l_paren = tok,6824 .l_paren = operand.node.tok(&p.tree),
6279 .kind = kind,6825 .kind = kind,
6280 .operand = operand.node,6826 .operand = operand.node,
6281 .qt = operand.qt,6827 .qt = operand.qt,
...@@ -6284,13 +6830,13 @@ pub const Result = struct {...@@ -6284,13 +6830,13 @@ pub const Result = struct {
6284 });6830 });
6285 }6831 }
62866832
6287 fn adjustCondExprPtrs(a: *Result, tok: TokenIndex, b: *Result, p: *Parser) !bool {6833 fn adjustCondExprPtrs(a: *Result, tok: TokenIndex, b: *Result, p: *Parser) !void {
6288 assert(a.qt.isPointer(p.comp) and b.qt.isPointer(p.comp));6834 assert(a.qt.isPointer(p.comp) and b.qt.isPointer(p.comp));
6289 const gpa = p.comp.gpa;6835 const gpa = p.comp.gpa;
62906836
6291 const a_elem = a.qt.childType(p.comp);6837 const a_elem = a.qt.childType(p.comp);
6292 const b_elem = b.qt.childType(p.comp);6838 const b_elem = b.qt.childType(p.comp);
6293 if (a_elem.eqlQualified(b_elem, p.comp)) return true;6839 if (a_elem.eqlQualified(b_elem, p.comp)) return;
62946840
6295 const has_void_pointer_branch = a.qt.scalarKind(p.comp) == .void_pointer or6841 const has_void_pointer_branch = a.qt.scalarKind(p.comp) == .void_pointer or
6296 b.qt.scalarKind(p.comp) == .void_pointer;6842 b.qt.scalarKind(p.comp) == .void_pointer;
...@@ -6316,16 +6862,14 @@ pub const Result = struct {...@@ -6316,16 +6862,14 @@ pub const Result = struct {
6316 a.qt = try p.comp.type_store.put(gpa, .{ .pointer = .{6862 a.qt = try p.comp.type_store.put(gpa, .{ .pointer = .{
6317 .child = adjusted_elem_qt,6863 .child = adjusted_elem_qt,
6318 } });6864 } });
6319 try a.implicitCast(p, .bitcast, tok);6865 try a.implicitCast(p, .bitcast);
6320 }6866 }
6321 if (!adjusted_elem_qt.eqlQualified(b_elem, p.comp)) {6867 if (!adjusted_elem_qt.eqlQualified(b_elem, p.comp)) {
6322 b.qt = try p.comp.type_store.put(gpa, .{ .pointer = .{6868 b.qt = try p.comp.type_store.put(gpa, .{ .pointer = .{
6323 .child = adjusted_elem_qt,6869 .child = adjusted_elem_qt,
6324 } });6870 } });
6325 try b.implicitCast(p, .bitcast, tok);6871 try b.implicitCast(p, .bitcast);
6326 }6872 }
6327
6328 return true;
6329 }6873 }
63306874
6331 /// Adjust types for binary operation, returns true if the result can and should be evaluated.6875 /// Adjust types for binary operation, returns true if the result can and should be evaluated.
...@@ -6338,52 +6882,54 @@ pub const Result = struct {...@@ -6338,52 +6882,54 @@ pub const Result = struct {
6338 conditional,6882 conditional,
6339 add,6883 add,
6340 sub,6884 sub,
6341 }) !bool {6885 }) !void {
6342 if (b.qt.isInvalid()) {6886 if (b.qt.isInvalid()) {
6343 try a.saveValue(p);6887 try a.saveValue(p);
6344 a.qt = .invalid;6888 a.qt = .invalid;
6345 }6889 }
6346 if (a.qt.isInvalid()) {6890 if (a.qt.isInvalid()) {
6347 return false;6891 return;
6348 }6892 }
6349 try a.lvalConversion(p, tok);6893 try a.lvalConversion(p);
6350 try b.lvalConversion(p, tok);6894 try b.lvalConversion(p);
63516895
6352 const a_vec = a.qt.is(p.comp, .vector);6896 const opt_a_vec = a.qt.get(p.comp, .vector);
6353 const b_vec = b.qt.is(p.comp, .vector);6897 const opt_b_vec = b.qt.get(p.comp, .vector);
6354 if (a_vec and b_vec) {6898 if (opt_a_vec != null and opt_b_vec != null) {
6899 const a_vec = opt_a_vec.?;
6900 const b_vec = opt_b_vec.?;
6355 if (kind == .boolean_logic) {6901 if (kind == .boolean_logic) {
6356 return a.invalidBinTy(tok, b, p);6902 return a.invalidBinTy(tok, b, p);
6357 }6903 }
6358 if (a.qt.eql(b.qt, p.comp)) {6904 if (a_vec.eql(b_vec, p.comp, true) and a_vec.kind == .generic) {
6359 return a.shouldEval(b, p);6905 return;
6360 }6906 }
6361 if (a.qt.sizeCompare(b.qt, p.comp) == .eq) {6907 if (a.qt.sizeCompare(b.qt, p.comp) == .eq) {
6362 b.qt = a.qt;6908 b.qt = a.qt;
6363 try b.implicitCast(p, .bitcast, tok);6909 try b.implicitCast(p, .bitcast);
6364 return a.shouldEval(b, p);6910 return;
6365 }6911 }
6366 try p.err(tok, .incompatible_vec_types, .{ a.qt, b.qt });6912 try p.err(tok, .incompatible_vec_types, .{ a.qt, b.qt });
6367 a.val = .{};6913 a.val = .{};
6368 b.val = .{};6914 b.val = .{};
6369 a.qt = .invalid;6915 a.qt = .invalid;
6370 return false;6916 return;
6371 } else if (a_vec) {6917 } else if (opt_a_vec) |a_vec| {
6372 if (b.coerceExtra(p, a.qt.childType(p.comp), tok, .test_coerce)) {6918 if (b.coerceExtra(p, a_vec.elem, tok, .test_coerce)) {
6373 try b.saveValue(p);6919 try b.saveValue(p);
6374 b.qt = a.qt;6920 b.qt = a.qt;
6375 try b.implicitCast(p, .vector_splat, tok);6921 try b.implicitCast(p, .vector_splat);
6376 return a.shouldEval(b, p);6922 return;
6377 } else |er| switch (er) {6923 } else |er| switch (er) {
6378 error.CoercionFailed => return a.invalidBinTy(tok, b, p),6924 error.CoercionFailed => return a.invalidBinTy(tok, b, p),
6379 else => |e| return e,6925 else => |e| return e,
6380 }6926 }
6381 } else if (b_vec) {6927 } else if (opt_b_vec) |b_vec| {
6382 if (a.coerceExtra(p, b.qt.childType(p.comp), tok, .test_coerce)) {6928 if (a.coerceExtra(p, b_vec.elem, tok, .test_coerce)) {
6383 try a.saveValue(p);6929 try a.saveValue(p);
6384 a.qt = b.qt;6930 a.qt = b.qt;
6385 try a.implicitCast(p, .vector_splat, tok);6931 try a.implicitCast(p, .vector_splat);
6386 return a.shouldEval(b, p);6932 return;
6387 } else |er| switch (er) {6933 } else |er| switch (er) {
6388 error.CoercionFailed => return a.invalidBinTy(tok, b, p),6934 error.CoercionFailed => return a.invalidBinTy(tok, b, p),
6389 else => |e| return e,6935 else => |e| return e,
...@@ -6395,7 +6941,7 @@ pub const Result = struct {...@@ -6395,7 +6941,7 @@ pub const Result = struct {
63956941
6396 if (a_sk.isInt() and b_sk.isInt()) {6942 if (a_sk.isInt() and b_sk.isInt()) {
6397 try a.usualArithmeticConversion(b, p, tok);6943 try a.usualArithmeticConversion(b, p, tok);
6398 return a.shouldEval(b, p);6944 return;
6399 }6945 }
6400 if (kind == .integer) return a.invalidBinTy(tok, b, p);6946 if (kind == .integer) return a.invalidBinTy(tok, b, p);
64016947
...@@ -6405,7 +6951,7 @@ pub const Result = struct {...@@ -6405,7 +6951,7 @@ pub const Result = struct {
6405 return a.invalidBinTy(tok, b, p);6951 return a.invalidBinTy(tok, b, p);
64066952
6407 try a.usualArithmeticConversion(b, p, tok);6953 try a.usualArithmeticConversion(b, p, tok);
6408 return a.shouldEval(b, p);6954 return;
6409 }6955 }
6410 if (kind == .arithmetic) return a.invalidBinTy(tok, b, p);6956 if (kind == .arithmetic) return a.invalidBinTy(tok, b, p);
64116957
...@@ -6420,22 +6966,21 @@ pub const Result = struct {...@@ -6420,22 +6966,21 @@ pub const Result = struct {
6420 // Do integer promotions but nothing else6966 // Do integer promotions but nothing else
6421 if (a_sk.isInt()) try a.castToInt(p, a.qt.promoteInt(p.comp), tok);6967 if (a_sk.isInt()) try a.castToInt(p, a.qt.promoteInt(p.comp), tok);
6422 if (b_sk.isInt()) try b.castToInt(p, b.qt.promoteInt(p.comp), tok);6968 if (b_sk.isInt()) try b.castToInt(p, b.qt.promoteInt(p.comp), tok);
6423 return a.shouldEval(b, p);
6424 },6969 },
6425 .relational, .equality => {6970 .relational, .equality => {
6426 if (kind == .equality and (a_sk == .nullptr_t or b_sk == .nullptr_t)) {6971 if (kind == .equality and (a_sk == .nullptr_t or b_sk == .nullptr_t)) {
6427 if (a_sk == .nullptr_t and b_sk == .nullptr_t) return a.shouldEval(b, p);6972 if (a_sk == .nullptr_t and b_sk == .nullptr_t) return;
64286973
6429 const nullptr_res = if (a_sk == .nullptr_t) a else b;6974 const nullptr_res = if (a_sk == .nullptr_t) a else b;
6430 const other_res = if (a_sk == .nullptr_t) b else a;6975 const other_res = if (a_sk == .nullptr_t) b else a;
64316976
6432 if (other_res.qt.isPointer(p.comp)) {6977 if (other_res.qt.isPointer(p.comp)) {
6433 try nullptr_res.nullToPointer(p, other_res.qt, tok);6978 try nullptr_res.nullToPointer(p, other_res.qt);
6434 return other_res.shouldEval(nullptr_res, p);6979 return;
6435 } else if (other_res.val.isZero(p.comp)) {6980 } else if (other_res.val.isZero(p.comp)) {
6436 other_res.val = .null;6981 other_res.val = .null;
6437 try other_res.nullToPointer(p, nullptr_res.qt, tok);6982 try other_res.nullToPointer(p, nullptr_res.qt);
6438 return other_res.shouldEval(nullptr_res, p);6983 return;
6439 }6984 }
6440 return a.invalidBinTy(tok, b, p);6985 return a.invalidBinTy(tok, b, p);
6441 }6986 }
...@@ -6453,55 +6998,55 @@ pub const Result = struct {...@@ -6453,55 +6998,55 @@ pub const Result = struct {
6453 const b_elem = b.qt.childType(p.comp);6998 const b_elem = b.qt.childType(p.comp);
6454 if (!a_elem.eql(b_elem, p.comp)) {6999 if (!a_elem.eql(b_elem, p.comp)) {
6455 try p.err(tok, .comparison_distinct_ptr, .{ a.qt, b.qt });7000 try p.err(tok, .comparison_distinct_ptr, .{ a.qt, b.qt });
6456 try b.castToPointer(p, a.qt, tok);7001 try b.castToPointer(p, a.qt);
6457 }7002 }
6458 } else if (a_sk == .void_pointer) {7003 } else if (a_sk == .void_pointer) {
6459 try b.castToPointer(p, a.qt, tok);7004 try b.castToPointer(p, a.qt);
6460 } else if (b_sk == .void_pointer) {7005 } else if (b_sk == .void_pointer) {
6461 try a.castToPointer(p, b.qt, tok);7006 try a.castToPointer(p, b.qt);
6462 }7007 }
6463 } else if (a_sk.isPointer()) {7008 } else if (a_sk.isPointer()) {
6464 try b.castToPointer(p, a.qt, tok);7009 try b.castToPointer(p, a.qt);
6465 } else {7010 } else {
6466 assert(b_sk.isPointer());7011 assert(b_sk.isPointer());
6467 try a.castToPointer(p, b.qt, tok);7012 try a.castToPointer(p, b.qt);
6468 }7013 }
6469
6470 return a.shouldEval(b, p);
6471 },7014 },
6472 .conditional => {7015 .conditional => {
6473 // doesn't matter what we return here, as the result is ignored7016 // doesn't matter what we return here, as the result is ignored
6474 if (a.qt.is(p.comp, .void) or b.qt.is(p.comp, .void)) {7017 if (a.qt.is(p.comp, .void) or b.qt.is(p.comp, .void)) {
6475 try a.castToVoid(p, tok);7018 try a.castToVoid(p);
6476 try b.castToVoid(p, tok);7019 try b.castToVoid(p);
6477 return true;7020 return;
6478 }7021 }
64797022
6480 if (a_sk == .nullptr_t and b_sk == .nullptr_t) return true;7023 if (a_sk == .nullptr_t and b_sk == .nullptr_t) return;
64817024
6482 if ((a_sk.isPointer() and b_sk.isInt()) or (a_sk.isInt() and b_sk.isPointer())) {7025 if ((a_sk.isPointer() and b_sk.isInt()) or (a_sk.isInt() and b_sk.isPointer())) {
6483 if (a.val.isZero(p.comp) or b.val.isZero(p.comp)) {7026 if (a.val.isZero(p.comp) or b.val.isZero(p.comp)) {
6484 try a.nullToPointer(p, b.qt, tok);7027 try a.nullToPointer(p, b.qt);
6485 try b.nullToPointer(p, a.qt, tok);7028 try b.nullToPointer(p, a.qt);
6486 return true;7029 return;
6487 }7030 }
6488 const int_ty = if (a_sk.isInt()) a else b;7031 const int_ty = if (a_sk.isInt()) a else b;
6489 const ptr_ty = if (a_sk.isPointer()) a else b;7032 const ptr_ty = if (a_sk.isPointer()) a else b;
6490 try p.err(tok, .implicit_int_to_ptr, .{ int_ty.qt, ptr_ty.qt });7033 try p.err(tok, .implicit_int_to_ptr, .{ int_ty.qt, ptr_ty.qt });
6491 try int_ty.castToPointer(p, ptr_ty.qt, tok);7034 try int_ty.castToPointer(p, ptr_ty.qt);
64927035
6493 return true;7036 return;
6494 }7037 }
6495 if ((a_sk.isPointer() and b_sk == .nullptr_t) or (a_sk == .nullptr_t and b_sk.isPointer())) {7038 if ((a_sk.isPointer() and b_sk == .nullptr_t) or (a_sk == .nullptr_t and b_sk.isPointer())) {
6496 const nullptr_res = if (a_sk == .nullptr_t) a else b;7039 const nullptr_res = if (a_sk == .nullptr_t) a else b;
6497 const ptr_res = if (a_sk == .nullptr_t) b else a;7040 const ptr_res = if (a_sk == .nullptr_t) b else a;
6498 try nullptr_res.nullToPointer(p, ptr_res.qt, tok);7041 try nullptr_res.nullToPointer(p, ptr_res.qt);
6499 return true;7042 return;
6500 }7043 }
6501 if (a_sk.isPointer() and b_sk.isPointer()) return a.adjustCondExprPtrs(tok, b, p);7044 if (a_sk.isPointer() and b_sk.isPointer()) return a.adjustCondExprPtrs(tok, b, p);
65027045
7046 if (a.qt.is(p.comp, .storage_float) and a.qt.eql(b.qt, p.comp)) return;
7047
6503 if (a.qt.getRecord(p.comp) != null and b.qt.getRecord(p.comp) != null and a.qt.eql(b.qt, p.comp)) {7048 if (a.qt.getRecord(p.comp) != null and b.qt.getRecord(p.comp) != null and a.qt.eql(b.qt, p.comp)) {
6504 return true;7049 return;
6505 }7050 }
6506 return a.invalidBinTy(tok, b, p);7051 return a.invalidBinTy(tok, b, p);
6507 },7052 },
...@@ -6513,8 +7058,8 @@ pub const Result = struct {...@@ -6513,8 +7058,8 @@ pub const Result = struct {
6513 if (a_sk == .void_pointer or b_sk == .void_pointer)7058 if (a_sk == .void_pointer or b_sk == .void_pointer)
6514 try p.err(tok, .gnu_pointer_arith, .{});7059 try p.err(tok, .gnu_pointer_arith, .{});
65157060
6516 if (a_sk == .nullptr_t) try a.nullToPointer(p, .void_pointer, tok);7061 if (a_sk == .nullptr_t) try a.nullToPointer(p, .void_pointer);
6517 if (b_sk == .nullptr_t) try b.nullToPointer(p, .void_pointer, tok);7062 if (b_sk == .nullptr_t) try b.nullToPointer(p, .void_pointer);
65187063
6519 // Do integer promotions but nothing else7064 // Do integer promotions but nothing else
6520 if (a_sk.isInt()) try a.castToInt(p, a.qt.promoteInt(p.comp), tok);7065 if (a_sk.isInt()) try a.castToInt(p, a.qt.promoteInt(p.comp), tok);
...@@ -6522,7 +7067,6 @@ pub const Result = struct {...@@ -6522,7 +7067,6 @@ pub const Result = struct {
65227067
6523 // The result type is the type of the pointer operand7068 // The result type is the type of the pointer operand
6524 if (a_sk.isInt()) a.qt = b.qt else b.qt = a.qt;7069 if (a_sk.isInt()) a.qt = b.qt else b.qt = a.qt;
6525 return a.shouldEval(b, p);
6526 },7070 },
6527 .sub => {7071 .sub => {
6528 // if both aren't arithmetic then either both should be pointers or just the left one.7072 // if both aren't arithmetic then either both should be pointers or just the left one.
...@@ -6532,8 +7076,8 @@ pub const Result = struct {...@@ -6532,8 +7076,8 @@ pub const Result = struct {
6532 if (a_sk == .void_pointer)7076 if (a_sk == .void_pointer)
6533 try p.err(tok, .gnu_pointer_arith, .{});7077 try p.err(tok, .gnu_pointer_arith, .{});
65347078
6535 if (a_sk == .nullptr_t) try a.nullToPointer(p, .void_pointer, tok);7079 if (a_sk == .nullptr_t) try a.nullToPointer(p, .void_pointer);
6536 if (b_sk == .nullptr_t) try b.nullToPointer(p, .void_pointer, tok);7080 if (b_sk == .nullptr_t) try b.nullToPointer(p, .void_pointer);
65377081
6538 if (a_sk.isPointer() and b_sk.isPointer()) {7082 if (a_sk.isPointer() and b_sk.isPointer()) {
6539 const a_child_qt = a.qt.get(p.comp, .pointer).?.child;7083 const a_child_qt = a.qt.get(p.comp, .pointer).?.child;
...@@ -6546,26 +7090,25 @@ pub const Result = struct {...@@ -6546,26 +7090,25 @@ pub const Result = struct {
65467090
6547 // Do integer promotion on b if needed7091 // Do integer promotion on b if needed
6548 if (b_sk.isInt()) try b.castToInt(p, b.qt.promoteInt(p.comp), tok);7092 if (b_sk.isInt()) try b.castToInt(p, b.qt.promoteInt(p.comp), tok);
6549 return a.shouldEval(b, p);
6550 },7093 },
6551 else => return a.invalidBinTy(tok, b, p),7094 else => return a.invalidBinTy(tok, b, p),
6552 }7095 }
6553 }7096 }
65547097
6555 fn lvalConversion(res: *Result, p: *Parser, tok: TokenIndex) Error!void {7098 fn lvalConversion(res: *Result, p: *Parser) Error!void {
6556 if (res.qt.is(p.comp, .func)) {7099 if (res.qt.is(p.comp, .func)) {
6557 res.val = try p.pointerValue(res.node, .zero);7100 res.val = try p.pointerValue(res.node, .zero);
65587101
6559 res.qt = try res.qt.decay(p.comp);7102 res.qt = try res.qt.decay(p.comp);
6560 try res.implicitCast(p, .function_to_pointer, tok);7103 try res.implicitCast(p, .function_to_pointer);
6561 } else if (res.qt.is(p.comp, .array)) {7104 } else if (res.qt.is(p.comp, .array)) {
6562 res.val = try p.pointerValue(res.node, .zero);7105 res.val = try p.pointerValue(res.node, .zero);
65637106
6564 res.qt = try res.qt.decay(p.comp);7107 res.qt = try res.qt.decay(p.comp);
6565 try res.implicitCast(p, .array_to_pointer, tok);7108 try res.implicitCast(p, .array_to_pointer);
6566 } else if (!p.in_macro and p.tree.isLval(res.node)) {7109 } else if (p.tree.isLval(res.node)) {
6567 res.qt = res.qt.unqualified();7110 res.qt = res.qt.unqualified();
6568 try res.implicitCast(p, .lval_to_rval, tok);7111 try res.implicitCast(p, .lval_to_rval);
6569 }7112 }
6570 }7113 }
65717114
...@@ -6580,32 +7123,32 @@ pub const Result = struct {...@@ -6580,32 +7123,32 @@ pub const Result = struct {
6580 } else {7123 } else {
6581 try p.err(tok, .array_address_to_bool, .{p.tokSlice(tok)});7124 try p.err(tok, .array_address_to_bool, .{p.tokSlice(tok)});
6582 }7125 }
6583 try res.lvalConversion(p, tok);7126 try res.lvalConversion(p);
6584 res.val = .one;7127 res.val = .one;
6585 res.qt = bool_qt;7128 res.qt = bool_qt;
6586 try res.implicitCast(p, .pointer_to_bool, tok);7129 try res.implicitCast(p, .pointer_to_bool);
6587 } else if (src_sk.isPointer()) {7130 } else if (src_sk.isPointer()) {
6588 res.val.boolCast(p.comp);7131 res.val.boolCast(p.comp);
6589 res.qt = bool_qt;7132 res.qt = bool_qt;
6590 try res.implicitCast(p, .pointer_to_bool, tok);7133 try res.implicitCast(p, .pointer_to_bool);
6591 } else if (src_sk.isInt() and src_sk != .bool) {7134 } else if (src_sk.isInt() and src_sk != .bool) {
6592 res.val.boolCast(p.comp);7135 res.val.boolCast(p.comp);
6593 if (!src_sk.isReal()) {7136 if (!src_sk.isReal()) {
6594 res.qt = res.qt.toReal(p.comp);7137 res.qt = res.qt.toReal(p.comp);
6595 try res.implicitCast(p, .complex_int_to_real, tok);7138 try res.implicitCast(p, .complex_int_to_real);
6596 }7139 }
6597 res.qt = bool_qt;7140 res.qt = bool_qt;
6598 try res.implicitCast(p, .int_to_bool, tok);7141 try res.implicitCast(p, .int_to_bool);
6599 } else if (src_sk.isFloat()) {7142 } else if (src_sk.isFloat()) {
6600 const old_val = res.val;7143 const old_val = res.val;
6601 const value_change_kind = try res.val.floatToInt(bool_qt, p.comp);7144 const value_change_kind = try res.val.floatToInt(bool_qt, p.comp);
6602 try res.floatToIntWarning(p, bool_qt, old_val, value_change_kind, tok);7145 try res.floatToIntWarning(p, bool_qt, old_val, value_change_kind, tok);
6603 if (!src_sk.isReal()) {7146 if (!src_sk.isReal()) {
6604 res.qt = res.qt.toReal(p.comp);7147 res.qt = res.qt.toReal(p.comp);
6605 try res.implicitCast(p, .complex_float_to_real, tok);7148 try res.implicitCast(p, .complex_float_to_real);
6606 }7149 }
6607 res.qt = bool_qt;7150 res.qt = bool_qt;
6608 try res.implicitCast(p, .float_to_bool, tok);7151 try res.implicitCast(p, .float_to_bool);
6609 }7152 }
6610 }7153 }
66117154
...@@ -6621,18 +7164,18 @@ pub const Result = struct {...@@ -6621,18 +7164,18 @@ pub const Result = struct {
66217164
6622 if (src_sk == .bool) {7165 if (src_sk == .bool) {
6623 res.qt = int_qt.toReal(p.comp);7166 res.qt = int_qt.toReal(p.comp);
6624 try res.implicitCast(p, .bool_to_int, tok);7167 try res.implicitCast(p, .bool_to_int);
6625 if (!dest_sk.isReal()) {7168 if (!dest_sk.isReal()) {
6626 res.qt = int_qt;7169 res.qt = int_qt;
6627 try res.implicitCast(p, .real_to_complex_int, tok);7170 try res.implicitCast(p, .real_to_complex_int);
6628 }7171 }
6629 } else if (src_sk.isPointer()) {7172 } else if (src_sk.isPointer()) {
6630 res.val = .{};7173 res.val = .{};
6631 res.qt = int_qt.toReal(p.comp);7174 res.qt = int_qt.toReal(p.comp);
6632 try res.implicitCast(p, .pointer_to_int, tok);7175 try res.implicitCast(p, .pointer_to_int);
6633 if (!dest_sk.isReal()) {7176 if (!dest_sk.isReal()) {
6634 res.qt = int_qt;7177 res.qt = int_qt;
6635 try res.implicitCast(p, .real_to_complex_int, tok);7178 try res.implicitCast(p, .real_to_complex_int);
6636 }7179 }
6637 } else if (res.qt.isFloat(p.comp)) {7180 } else if (res.qt.isFloat(p.comp)) {
6638 const old_val = res.val;7181 const old_val = res.val;
...@@ -6640,20 +7183,20 @@ pub const Result = struct {...@@ -6640,20 +7183,20 @@ pub const Result = struct {
6640 try res.floatToIntWarning(p, int_qt, old_val, value_change_kind, tok);7183 try res.floatToIntWarning(p, int_qt, old_val, value_change_kind, tok);
6641 if (src_sk.isReal() and dest_sk.isReal()) {7184 if (src_sk.isReal() and dest_sk.isReal()) {
6642 res.qt = int_qt;7185 res.qt = int_qt;
6643 try res.implicitCast(p, .float_to_int, tok);7186 try res.implicitCast(p, .float_to_int);
6644 } else if (src_sk.isReal()) {7187 } else if (src_sk.isReal()) {
6645 res.qt = int_qt.toReal(p.comp);7188 res.qt = int_qt.toReal(p.comp);
6646 try res.implicitCast(p, .float_to_int, tok);7189 try res.implicitCast(p, .float_to_int);
6647 res.qt = int_qt;7190 res.qt = int_qt;
6648 try res.implicitCast(p, .real_to_complex_int, tok);7191 try res.implicitCast(p, .real_to_complex_int);
6649 } else if (dest_sk.isReal()) {7192 } else if (dest_sk.isReal()) {
6650 res.qt = res.qt.toReal(p.comp);7193 res.qt = res.qt.toReal(p.comp);
6651 try res.implicitCast(p, .complex_float_to_real, tok);7194 try res.implicitCast(p, .complex_float_to_real);
6652 res.qt = int_qt;7195 res.qt = int_qt;
6653 try res.implicitCast(p, .float_to_int, tok);7196 try res.implicitCast(p, .float_to_int);
6654 } else {7197 } else {
6655 res.qt = int_qt;7198 res.qt = int_qt;
6656 try res.implicitCast(p, .complex_float_to_complex_int, tok);7199 try res.implicitCast(p, .complex_float_to_complex_int);
6657 }7200 }
6658 } else if (!res.qt.eql(int_qt, p.comp)) {7201 } else if (!res.qt.eql(int_qt, p.comp)) {
6659 const old_val = res.val;7202 const old_val = res.val;
...@@ -6666,23 +7209,23 @@ pub const Result = struct {...@@ -6666,23 +7209,23 @@ pub const Result = struct {
66667209
6667 if (src_sk.isReal() and dest_sk.isReal()) {7210 if (src_sk.isReal() and dest_sk.isReal()) {
6668 res.qt = int_qt;7211 res.qt = int_qt;
6669 try res.implicitCast(p, .int_cast, tok);7212 try res.implicitCast(p, .int_cast);
6670 } else if (src_sk.isReal()) {7213 } else if (src_sk.isReal()) {
6671 const real_int_qt = int_qt.toReal(p.comp);7214 const real_int_qt = int_qt.toReal(p.comp);
6672 if (!res.qt.eql(real_int_qt, p.comp)) {7215 if (!res.qt.eql(real_int_qt, p.comp)) {
6673 res.qt = real_int_qt;7216 res.qt = real_int_qt;
6674 try res.implicitCast(p, .int_cast, tok);7217 try res.implicitCast(p, .int_cast);
6675 }7218 }
6676 res.qt = int_qt;7219 res.qt = int_qt;
6677 try res.implicitCast(p, .real_to_complex_int, tok);7220 try res.implicitCast(p, .real_to_complex_int);
6678 } else if (dest_sk.isReal()) {7221 } else if (dest_sk.isReal()) {
6679 res.qt = res.qt.toReal(p.comp);7222 res.qt = res.qt.toReal(p.comp);
6680 try res.implicitCast(p, .complex_int_to_real, tok);7223 try res.implicitCast(p, .complex_int_to_real);
6681 res.qt = int_qt;7224 res.qt = int_qt;
6682 try res.implicitCast(p, .int_cast, tok);7225 try res.implicitCast(p, .int_cast);
6683 } else {7226 } else {
6684 res.qt = int_qt;7227 res.qt = int_qt;
6685 try res.implicitCast(p, .complex_int_cast, tok);7228 try res.implicitCast(p, .complex_int_cast);
6686 }7229 }
6687 }7230 }
6688 }7231 }
...@@ -6704,75 +7247,75 @@ pub const Result = struct {...@@ -6704,75 +7247,75 @@ pub const Result = struct {
6704 }7247 }
6705 }7248 }
67067249
6707 fn castToFloat(res: *Result, p: *Parser, float_qt: QualType, tok: TokenIndex) Error!void {7250 fn castToFloat(res: *Result, p: *Parser, float_qt: QualType) Error!void {
6708 const src_sk = res.qt.scalarKind(p.comp);7251 const src_sk = res.qt.scalarKind(p.comp);
6709 const dest_sk = float_qt.scalarKind(p.comp);7252 const dest_sk = float_qt.scalarKind(p.comp);
67107253
6711 if (src_sk == .bool) {7254 if (src_sk == .bool) {
6712 try res.val.intToFloat(float_qt, p.comp);7255 try res.val.intToFloat(float_qt, p.comp);
6713 res.qt = float_qt.toReal(p.comp);7256 res.qt = float_qt.toReal(p.comp);
6714 try res.implicitCast(p, .bool_to_float, tok);7257 try res.implicitCast(p, .bool_to_float);
6715 if (!dest_sk.isReal()) {7258 if (!dest_sk.isReal()) {
6716 res.qt = float_qt;7259 res.qt = float_qt;
6717 try res.implicitCast(p, .real_to_complex_float, tok);7260 try res.implicitCast(p, .real_to_complex_float);
6718 }7261 }
6719 } else if (src_sk.isInt()) {7262 } else if (src_sk.isInt()) {
6720 try res.val.intToFloat(float_qt, p.comp);7263 try res.val.intToFloat(float_qt, p.comp);
6721 if (src_sk.isReal() and dest_sk.isReal()) {7264 if (src_sk.isReal() and dest_sk.isReal()) {
6722 res.qt = float_qt;7265 res.qt = float_qt;
6723 try res.implicitCast(p, .int_to_float, tok);7266 try res.implicitCast(p, .int_to_float);
6724 } else if (src_sk.isReal()) {7267 } else if (src_sk.isReal()) {
6725 res.qt = float_qt.toReal(p.comp);7268 res.qt = float_qt.toReal(p.comp);
6726 try res.implicitCast(p, .int_to_float, tok);7269 try res.implicitCast(p, .int_to_float);
6727 res.qt = float_qt;7270 res.qt = float_qt;
6728 try res.implicitCast(p, .real_to_complex_float, tok);7271 try res.implicitCast(p, .real_to_complex_float);
6729 } else if (dest_sk.isReal()) {7272 } else if (dest_sk.isReal()) {
6730 res.qt = res.qt.toReal(p.comp);7273 res.qt = res.qt.toReal(p.comp);
6731 try res.implicitCast(p, .complex_int_to_real, tok);7274 try res.implicitCast(p, .complex_int_to_real);
6732 res.qt = float_qt;7275 res.qt = float_qt;
6733 try res.implicitCast(p, .int_to_float, tok);7276 try res.implicitCast(p, .int_to_float);
6734 } else {7277 } else {
6735 res.qt = float_qt;7278 res.qt = float_qt;
6736 try res.implicitCast(p, .complex_int_to_complex_float, tok);7279 try res.implicitCast(p, .complex_int_to_complex_float);
6737 }7280 }
6738 } else if (!res.qt.eql(float_qt, p.comp)) {7281 } else if (!res.qt.eql(float_qt, p.comp)) {
6739 try res.val.floatCast(float_qt, p.comp);7282 try res.val.floatCast(float_qt, p.comp);
6740 if (src_sk.isReal() and dest_sk.isReal()) {7283 if (src_sk.isReal() and dest_sk.isReal()) {
6741 res.qt = float_qt;7284 res.qt = float_qt;
6742 try res.implicitCast(p, .float_cast, tok);7285 try res.implicitCast(p, .float_cast);
6743 } else if (src_sk.isReal()) {7286 } else if (src_sk.isReal()) {
6744 if (res.qt.floatRank(p.comp) != float_qt.floatRank(p.comp)) {7287 if (res.qt.floatRank(p.comp) != float_qt.floatRank(p.comp)) {
6745 res.qt = float_qt.toReal(p.comp);7288 res.qt = float_qt.toReal(p.comp);
6746 try res.implicitCast(p, .float_cast, tok);7289 try res.implicitCast(p, .float_cast);
6747 }7290 }
6748 res.qt = float_qt;7291 res.qt = float_qt;
6749 try res.implicitCast(p, .real_to_complex_float, tok);7292 try res.implicitCast(p, .real_to_complex_float);
6750 } else if (dest_sk.isReal()) {7293 } else if (dest_sk.isReal()) {
6751 res.qt = res.qt.toReal(p.comp);7294 res.qt = res.qt.toReal(p.comp);
6752 try res.implicitCast(p, .complex_float_to_real, tok);7295 try res.implicitCast(p, .complex_float_to_real);
6753 if (res.qt.floatRank(p.comp) != float_qt.floatRank(p.comp)) {7296 if (res.qt.floatRank(p.comp) != float_qt.floatRank(p.comp)) {
6754 res.qt = float_qt;7297 res.qt = float_qt;
6755 try res.implicitCast(p, .float_cast, tok);7298 try res.implicitCast(p, .float_cast);
6756 }7299 }
6757 } else {7300 } else {
6758 res.qt = float_qt;7301 res.qt = float_qt;
6759 try res.implicitCast(p, .complex_float_cast, tok);7302 try res.implicitCast(p, .complex_float_cast);
6760 }7303 }
6761 }7304 }
6762 }7305 }
67637306
6764 /// Converts a bool or integer to a pointer7307 /// Converts a bool or integer to a pointer
6765 fn castToPointer(res: *Result, p: *Parser, ptr_qt: QualType, tok: TokenIndex) Error!void {7308 fn castToPointer(res: *Result, p: *Parser, ptr_qt: QualType) Error!void {
6766 const src_sk = res.qt.scalarKind(p.comp);7309 const src_sk = res.qt.scalarKind(p.comp);
6767 if (src_sk == .bool) {7310 if (src_sk == .bool) {
6768 res.qt = ptr_qt;7311 res.qt = ptr_qt;
6769 try res.implicitCast(p, .bool_to_pointer, tok);7312 try res.implicitCast(p, .bool_to_pointer);
6770 } else if (src_sk.isInt()) {7313 } else if (src_sk.isInt()) {
6771 _ = try res.val.intCast(ptr_qt, p.comp);7314 _ = try res.val.intCast(ptr_qt, p.comp);
6772 res.qt = ptr_qt;7315 res.qt = ptr_qt;
6773 try res.implicitCast(p, .int_to_pointer, tok);7316 try res.implicitCast(p, .int_to_pointer);
6774 } else if (src_sk == .nullptr_t) {7317 } else if (src_sk == .nullptr_t) {
6775 try res.nullToPointer(p, ptr_qt, tok);7318 try res.nullToPointer(p, ptr_qt);
6776 } else if (src_sk.isPointer() and !res.qt.eql(ptr_qt, p.comp)) {7319 } else if (src_sk.isPointer() and !res.qt.eql(ptr_qt, p.comp)) {
6777 if (ptr_qt.is(p.comp, .nullptr_t)) {7320 if (ptr_qt.is(p.comp, .nullptr_t)) {
6778 res.qt = .invalid;7321 res.qt = .invalid;
...@@ -6788,25 +7331,25 @@ pub const Result = struct {...@@ -6788,25 +7331,25 @@ pub const Result = struct {
6788 (dest_elem.@"volatile" == src_elem.@"volatile" or dest_elem.@"volatile"))7331 (dest_elem.@"volatile" == src_elem.@"volatile" or dest_elem.@"volatile"))
6789 {7332 {
6790 // Gaining qualifiers is a no-op.7333 // Gaining qualifiers is a no-op.
6791 try res.implicitCast(p, .no_op, tok);7334 try res.implicitCast(p, .no_op);
6792 } else {7335 } else {
6793 try res.implicitCast(p, .bitcast, tok);7336 try res.implicitCast(p, .bitcast);
6794 }7337 }
6795 }7338 }
6796 }7339 }
67977340
6798 fn castToVoid(res: *Result, p: *Parser, tok: TokenIndex) Error!void {7341 fn castToVoid(res: *Result, p: *Parser) Error!void {
6799 if (!res.qt.is(p.comp, .void)) {7342 if (!res.qt.is(p.comp, .void)) {
6800 res.qt = .void;7343 res.qt = .void;
6801 try res.implicitCast(p, .to_void, tok);7344 try res.implicitCast(p, .to_void);
6802 }7345 }
6803 }7346 }
68047347
6805 fn nullToPointer(res: *Result, p: *Parser, ptr_ty: QualType, tok: TokenIndex) Error!void {7348 fn nullToPointer(res: *Result, p: *Parser, ptr_ty: QualType) Error!void {
6806 if (!res.qt.is(p.comp, .nullptr_t) and !res.val.isZero(p.comp)) return;7349 if (!res.qt.is(p.comp, .nullptr_t) and !res.val.isZero(p.comp)) return;
6807 res.val = .null;7350 res.val = .null;
6808 res.qt = ptr_ty;7351 res.qt = ptr_ty;
6809 try res.implicitCast(p, .null_to_pointer, tok);7352 try res.implicitCast(p, .null_to_pointer);
6810 }7353 }
68117354
6812 fn usualUnaryConversion(res: *Result, p: *Parser, tok: TokenIndex) Error!void {7355 fn usualUnaryConversion(res: *Result, p: *Parser, tok: TokenIndex) Error!void {
...@@ -6820,14 +7363,14 @@ pub const Result = struct {...@@ -6820,14 +7363,14 @@ pub const Result = struct {
6820 if (res.qt.floatRank(p.comp) < QualType.double.floatRank(p.comp)) {7363 if (res.qt.floatRank(p.comp) < QualType.double.floatRank(p.comp)) {
6821 var res_qt: QualType = .double;7364 var res_qt: QualType = .double;
6822 if (res.qt.is(p.comp, .complex)) res_qt = try res_qt.toComplex(p.comp);7365 if (res.qt.is(p.comp, .complex)) res_qt = try res_qt.toComplex(p.comp);
6823 return res.castToFloat(p, res_qt, tok);7366 return res.castToFloat(p, res_qt);
6824 }7367 }
6825 },7368 },
6826 .extended => {7369 .extended => {
6827 if (res.qt.floatRank(p.comp) < QualType.long_double.floatRank(p.comp)) {7370 if (res.qt.floatRank(p.comp) < QualType.long_double.floatRank(p.comp)) {
6828 var res_qt: QualType = .long_double;7371 var res_qt: QualType = .long_double;
6829 if (res.qt.is(p.comp, .complex)) res_qt = try res_qt.toComplex(p.comp);7372 if (res.qt.is(p.comp, .complex)) res_qt = try res_qt.toComplex(p.comp);
6830 return res.castToFloat(p, res_qt, tok);7373 return res.castToFloat(p, res_qt);
6831 }7374 }
6832 },7375 },
6833 }7376 }
...@@ -6836,12 +7379,12 @@ pub const Result = struct {...@@ -6836,12 +7379,12 @@ pub const Result = struct {
6836 if (!p.comp.langopts.use_native_half_type) {7379 if (!p.comp.langopts.use_native_half_type) {
6837 if (res.qt.get(p.comp, .float)) |float_ty| {7380 if (res.qt.get(p.comp, .float)) |float_ty| {
6838 if (float_ty == .fp16) {7381 if (float_ty == .fp16) {
6839 return res.castToFloat(p, .float, tok);7382 return res.castToFloat(p, .float);
6840 }7383 }
6841 }7384 }
6842 }7385 }
68437386
6844 if (res.qt.isInt(p.comp) and !p.in_macro) {7387 if (res.qt.isInt(p.comp)) {
6845 if (p.tree.bitfieldWidth(res.node, true)) |width| {7388 if (p.tree.bitfieldWidth(res.node, true)) |width| {
6846 if (res.qt.promoteBitfield(p.comp, width)) |promotion_ty| {7389 if (res.qt.promoteBitfield(p.comp, width)) |promotion_ty| {
6847 return res.castToInt(p, promotion_ty, tok);7390 return res.castToInt(p, promotion_ty, tok);
...@@ -6879,14 +7422,14 @@ pub const Result = struct {...@@ -6879,14 +7422,14 @@ pub const Result = struct {
6879 else7422 else
6880 b.qt);7423 b.qt);
68817424
6882 try a.castToFloat(p, res_qt, tok);7425 try a.castToFloat(p, res_qt);
6883 try b.castToFloat(p, res_qt, tok);7426 try b.castToFloat(p, res_qt);
6884 return;7427 return;
6885 } else if (a_float) {7428 } else if (a_float) {
6886 try b.castToFloat(p, a.qt, tok);7429 try b.castToFloat(p, a.qt);
6887 return;7430 return;
6888 } else if (b_float) {7431 } else if (b_float) {
6889 try a.castToFloat(p, b.qt, tok);7432 try a.castToFloat(p, b.qt);
6890 return;7433 return;
6891 }7434 }
68927435
...@@ -6939,27 +7482,25 @@ pub const Result = struct {...@@ -6939,27 +7482,25 @@ pub const Result = struct {
6939 try b.castToInt(p, target_qt, tok);7482 try b.castToInt(p, target_qt, tok);
6940 }7483 }
69417484
6942 fn invalidBinTy(a: *Result, tok: TokenIndex, b: *Result, p: *Parser) Error!bool {7485 fn invalidBinTy(a: *Result, tok: TokenIndex, b: *Result, p: *Parser) Error!void {
6943 try p.err(tok, .invalid_bin_types, .{ a.qt, b.qt });7486 try p.err(tok, .invalid_bin_types, .{ a.qt, b.qt });
6944 a.val = .{};7487 a.val = .{};
6945 b.val = .{};7488 b.val = .{};
6946 a.qt = .invalid;7489 a.qt = .invalid;
6947 return false;
6948 }7490 }
69497491
6950 fn shouldEval(a: *Result, b: *Result, p: *Parser) Error!bool {7492 fn shouldEval(a: *Result, b: *Result, p: *Parser, eval: bool) Error!bool {
6951 if (p.no_eval) return false;7493 if (!eval) return false;
6952 if (a.val.opt_ref != .none and b.val.opt_ref != .none)7494 if (a.val.opt_ref != .none and b.val.opt_ref != .none)
6953 return true;7495 return true;
69547496
6955 try a.saveValue(p);7497 try a.saveValue(p);
6956 try b.saveValue(p);7498 try b.saveValue(p);
6957 return p.no_eval;7499 return false;
6958 }7500 }
69597501
6960 /// Saves value and replaces it with `.unavailable`.7502 /// Saves value and replaces it with `.unavailable`.
6961 fn saveValue(res: *Result, p: *Parser) !void {7503 fn saveValue(res: *Result, p: *Parser) !void {
6962 assert(!p.in_macro);
6963 try res.putValue(p);7504 try res.putValue(p);
6964 res.val = .{};7505 res.val = .{};
6965 }7506 }
...@@ -6967,7 +7508,7 @@ pub const Result = struct {...@@ -6967,7 +7508,7 @@ pub const Result = struct {
6967 /// Saves value without altering the result.7508 /// Saves value without altering the result.
6968 fn putValue(res: *const Result, p: *Parser) !void {7509 fn putValue(res: *const Result, p: *Parser) !void {
6969 if (res.val.opt_ref == .none or res.val.opt_ref == .null) return;7510 if (res.val.opt_ref == .none or res.val.opt_ref == .null) return;
6970 if (!p.in_macro) try p.tree.value_map.put(p.comp.gpa, res.node, res.val);7511 try p.tree.value_map.put(p.comp.gpa, res.node, res.val);
6971 }7512 }
69727513
6973 fn castType(res: *Result, p: *Parser, dest_qt: QualType, operand_tok: TokenIndex, l_paren: TokenIndex) !void {7514 fn castType(res: *Result, p: *Parser, dest_qt: QualType, operand_tok: TokenIndex, l_paren: TokenIndex) !void {
...@@ -6994,6 +7535,16 @@ pub const Result = struct {...@@ -6994,6 +7535,16 @@ pub const Result = struct {
6994 } else if (res.qt.is(p.comp, .void)) {7535 } else if (res.qt.is(p.comp, .void)) {
6995 try p.err(operand_tok, .invalid_cast_operand_type, .{res.qt});7536 try p.err(operand_tok, .invalid_cast_operand_type, .{res.qt});
6996 return error.ParsingFailed;7537 return error.ParsingFailed;
7538 } else if (dest_qt.is(p.comp, .storage_float) or res.qt.is(p.comp, .storage_float)) {
7539 if (dest_qt.is(p.comp, .storage_float) and dest_qt.eql(res.qt, p.comp)) {
7540 cast_kind = .no_op;
7541 } else if (dest_qt.is(p.comp, .storage_float)) {
7542 try p.err(l_paren, .invalid_cast_type, .{dest_qt});
7543 return error.ParsingFailed;
7544 } else {
7545 try p.err(operand_tok, .invalid_cast_operand_type, .{res.qt});
7546 return error.ParsingFailed;
7547 }
6997 } else if (dest_vec and src_vec) {7548 } else if (dest_vec and src_vec) {
6998 if (dest_qt.eql(res.qt, p.comp)) {7549 if (dest_qt.eql(res.qt, p.comp)) {
6999 cast_kind = .no_op;7550 cast_kind = .no_op;
...@@ -7030,13 +7581,13 @@ pub const Result = struct {...@@ -7030,13 +7581,13 @@ pub const Result = struct {
7030 }7581 }
7031 } else if (src_sk == .nullptr_t) {7582 } else if (src_sk == .nullptr_t) {
7032 if (dest_sk == .bool) {7583 if (dest_sk == .bool) {
7033 try res.nullToPointer(p, res.qt, l_paren);7584 try res.nullToPointer(p, res.qt);
7034 res.val.boolCast(p.comp);7585 res.val.boolCast(p.comp);
7035 res.qt = .bool;7586 res.qt = .bool;
7036 try res.implicitCast(p, .pointer_to_bool, l_paren);7587 try res.implicitCast(p, .pointer_to_bool);
7037 try res.saveValue(p);7588 try res.saveValue(p);
7038 } else if (dest_sk.isPointer()) {7589 } else if (dest_sk.isPointer()) {
7039 try res.nullToPointer(p, dest_qt, l_paren);7590 try res.nullToPointer(p, dest_qt);
7040 } else {7591 } else {
7041 try p.err(l_paren, .invalid_object_cast, .{ res.qt, dest_qt });7592 try p.err(l_paren, .invalid_object_cast, .{ res.qt, dest_qt });
7042 return error.ParsingFailed;7593 return error.ParsingFailed;
...@@ -7061,13 +7612,13 @@ pub const Result = struct {...@@ -7061,13 +7612,13 @@ pub const Result = struct {
7061 } else if (src_sk.isInt()) {7612 } else if (src_sk.isInt()) {
7062 if (!src_sk.isReal()) {7613 if (!src_sk.isReal()) {
7063 res.qt = res.qt.toReal(p.comp);7614 res.qt = res.qt.toReal(p.comp);
7064 try res.implicitCast(p, .complex_int_to_real, l_paren);7615 try res.implicitCast(p, .complex_int_to_real);
7065 }7616 }
7066 cast_kind = .int_to_bool;7617 cast_kind = .int_to_bool;
7067 } else if (src_sk.isFloat()) {7618 } else if (src_sk.isFloat()) {
7068 if (!src_sk.isReal()) {7619 if (!src_sk.isReal()) {
7069 res.qt = res.qt.toReal(p.comp);7620 res.qt = res.qt.toReal(p.comp);
7070 try res.implicitCast(p, .complex_float_to_real, l_paren);7621 try res.implicitCast(p, .complex_float_to_real);
7071 }7622 }
7072 cast_kind = .float_to_bool;7623 cast_kind = .float_to_bool;
7073 }7624 }
...@@ -7075,7 +7626,7 @@ pub const Result = struct {...@@ -7075,7 +7626,7 @@ pub const Result = struct {
7075 if (src_sk == .bool) {7626 if (src_sk == .bool) {
7076 if (!dest_sk.isReal()) {7627 if (!dest_sk.isReal()) {
7077 res.qt = dest_qt.toReal(p.comp);7628 res.qt = dest_qt.toReal(p.comp);
7078 try res.implicitCast(p, .bool_to_int, l_paren);7629 try res.implicitCast(p, .bool_to_int);
7079 cast_kind = .real_to_complex_int;7630 cast_kind = .real_to_complex_int;
7080 } else {7631 } else {
7081 cast_kind = .bool_to_int;7632 cast_kind = .bool_to_int;
...@@ -7085,11 +7636,11 @@ pub const Result = struct {...@@ -7085,11 +7636,11 @@ pub const Result = struct {
7085 cast_kind = .int_cast;7636 cast_kind = .int_cast;
7086 } else if (src_sk.isReal()) {7637 } else if (src_sk.isReal()) {
7087 res.qt = dest_qt.toReal(p.comp);7638 res.qt = dest_qt.toReal(p.comp);
7088 try res.implicitCast(p, .int_cast, l_paren);7639 try res.implicitCast(p, .int_cast);
7089 cast_kind = .real_to_complex_int;7640 cast_kind = .real_to_complex_int;
7090 } else if (dest_sk.isReal()) {7641 } else if (dest_sk.isReal()) {
7091 res.qt = res.qt.toReal(p.comp);7642 res.qt = res.qt.toReal(p.comp);
7092 try res.implicitCast(p, .complex_int_to_real, l_paren);7643 try res.implicitCast(p, .complex_int_to_real);
7093 cast_kind = .int_cast;7644 cast_kind = .int_cast;
7094 } else {7645 } else {
7095 cast_kind = .complex_int_cast;7646 cast_kind = .complex_int_cast;
...@@ -7098,7 +7649,7 @@ pub const Result = struct {...@@ -7098,7 +7649,7 @@ pub const Result = struct {
7098 res.val = .{};7649 res.val = .{};
7099 if (!dest_sk.isReal()) {7650 if (!dest_sk.isReal()) {
7100 res.qt = dest_qt.toReal(p.comp);7651 res.qt = dest_qt.toReal(p.comp);
7101 try res.implicitCast(p, .pointer_to_int, l_paren);7652 try res.implicitCast(p, .pointer_to_int);
7102 cast_kind = .real_to_complex_int;7653 cast_kind = .real_to_complex_int;
7103 } else {7654 } else {
7104 cast_kind = .pointer_to_int;7655 cast_kind = .pointer_to_int;
...@@ -7107,11 +7658,11 @@ pub const Result = struct {...@@ -7107,11 +7658,11 @@ pub const Result = struct {
7107 cast_kind = .float_to_int;7658 cast_kind = .float_to_int;
7108 } else if (src_sk.isReal()) {7659 } else if (src_sk.isReal()) {
7109 res.qt = dest_qt.toReal(p.comp);7660 res.qt = dest_qt.toReal(p.comp);
7110 try res.implicitCast(p, .float_to_int, l_paren);7661 try res.implicitCast(p, .float_to_int);
7111 cast_kind = .real_to_complex_int;7662 cast_kind = .real_to_complex_int;
7112 } else if (dest_sk.isReal()) {7663 } else if (dest_sk.isReal()) {
7113 res.qt = res.qt.toReal(p.comp);7664 res.qt = res.qt.toReal(p.comp);
7114 try res.implicitCast(p, .complex_float_to_real, l_paren);7665 try res.implicitCast(p, .complex_float_to_real);
7115 cast_kind = .float_to_int;7666 cast_kind = .float_to_int;
7116 } else {7667 } else {
7117 cast_kind = .complex_float_to_complex_int;7668 cast_kind = .complex_float_to_complex_int;
...@@ -7124,7 +7675,7 @@ pub const Result = struct {...@@ -7124,7 +7675,7 @@ pub const Result = struct {
7124 } else if (src_sk.isInt()) {7675 } else if (src_sk.isInt()) {
7125 if (!src_sk.isReal()) {7676 if (!src_sk.isReal()) {
7126 res.qt = res.qt.toReal(p.comp);7677 res.qt = res.qt.toReal(p.comp);
7127 try res.implicitCast(p, .complex_int_to_real, l_paren);7678 try res.implicitCast(p, .complex_int_to_real);
7128 }7679 }
7129 cast_kind = .int_to_pointer;7680 cast_kind = .int_to_pointer;
7130 } else if (res.qt.is(p.comp, .array)) {7681 } else if (res.qt.is(p.comp, .array)) {
...@@ -7139,7 +7690,7 @@ pub const Result = struct {...@@ -7139,7 +7690,7 @@ pub const Result = struct {
7139 if (src_sk == .bool) {7690 if (src_sk == .bool) {
7140 if (!dest_sk.isReal()) {7691 if (!dest_sk.isReal()) {
7141 res.qt = dest_qt.toReal(p.comp);7692 res.qt = dest_qt.toReal(p.comp);
7142 try res.implicitCast(p, .bool_to_float, l_paren);7693 try res.implicitCast(p, .bool_to_float);
7143 cast_kind = .real_to_complex_float;7694 cast_kind = .real_to_complex_float;
7144 } else {7695 } else {
7145 cast_kind = .bool_to_float;7696 cast_kind = .bool_to_float;
...@@ -7149,11 +7700,11 @@ pub const Result = struct {...@@ -7149,11 +7700,11 @@ pub const Result = struct {
7149 cast_kind = .int_to_float;7700 cast_kind = .int_to_float;
7150 } else if (src_sk.isReal()) {7701 } else if (src_sk.isReal()) {
7151 res.qt = dest_qt.toReal(p.comp);7702 res.qt = dest_qt.toReal(p.comp);
7152 try res.implicitCast(p, .int_to_float, l_paren);7703 try res.implicitCast(p, .int_to_float);
7153 cast_kind = .real_to_complex_float;7704 cast_kind = .real_to_complex_float;
7154 } else if (dest_sk.isReal()) {7705 } else if (dest_sk.isReal()) {
7155 res.qt = res.qt.toReal(p.comp);7706 res.qt = res.qt.toReal(p.comp);
7156 try res.implicitCast(p, .complex_int_to_real, l_paren);7707 try res.implicitCast(p, .complex_int_to_real);
7157 cast_kind = .int_to_float;7708 cast_kind = .int_to_float;
7158 } else {7709 } else {
7159 cast_kind = .complex_int_to_complex_float;7710 cast_kind = .complex_int_to_complex_float;
...@@ -7162,11 +7713,11 @@ pub const Result = struct {...@@ -7162,11 +7713,11 @@ pub const Result = struct {
7162 cast_kind = .float_cast;7713 cast_kind = .float_cast;
7163 } else if (src_sk.isReal()) {7714 } else if (src_sk.isReal()) {
7164 res.qt = dest_qt.toReal(p.comp);7715 res.qt = dest_qt.toReal(p.comp);
7165 try res.implicitCast(p, .float_cast, l_paren);7716 try res.implicitCast(p, .float_cast);
7166 cast_kind = .real_to_complex_float;7717 cast_kind = .real_to_complex_float;
7167 } else if (dest_sk.isReal()) {7718 } else if (dest_sk.isReal()) {
7168 res.qt = res.qt.toReal(p.comp);7719 res.qt = res.qt.toReal(p.comp);
7169 try res.implicitCast(p, .complex_float_to_real, l_paren);7720 try res.implicitCast(p, .complex_float_to_real);
7170 cast_kind = .float_cast;7721 cast_kind = .float_cast;
7171 } else {7722 } else {
7172 cast_kind = .complex_float_cast;7723 cast_kind = .complex_float_cast;
...@@ -7282,7 +7833,7 @@ pub const Result = struct {...@@ -7282,7 +7833,7 @@ pub const Result = struct {
7282 // Subject of the coercion does not need to be qualified.7833 // Subject of the coercion does not need to be qualified.
7283 const src_original_qt = res.qt;7834 const src_original_qt = res.qt;
7284 switch (c) {7835 switch (c) {
7285 .init, .ret, .assign => try res.lvalConversion(p, tok),7836 .init, .ret, .assign => try res.lvalConversion(p),
7286 else => {},7837 else => {},
7287 }7838 }
7288 if (res.qt.isInvalid()) return;7839 if (res.qt.isInvalid()) return;
...@@ -7290,11 +7841,31 @@ pub const Result = struct {...@@ -7290,11 +7841,31 @@ pub const Result = struct {
7290 const dest_sk = dest_unqual.scalarKind(p.comp);7841 const dest_sk = dest_unqual.scalarKind(p.comp);
7291 const src_sk = res.qt.scalarKind(p.comp);7842 const src_sk = res.qt.scalarKind(p.comp);
72927843
7293 if (dest_qt.is(p.comp, .vector) and res.qt.is(p.comp, .vector)) {7844 if (dest_unqual.is(p.comp, .storage_float) and dest_unqual.eql(res.qt, p.comp)) {
7294 if (dest_unqual.eql(res.qt, p.comp)) return;7845 return;
7846 }
7847 if (c == .assign) {
7848 const base_type = dest_unqual.base(p.comp);
7849 switch (base_type.type) {
7850 .array => return p.err(tok, .array_not_assignable, .{dest_qt}),
7851 .func => return p.err(tok, .non_object_not_assignable, .{dest_qt}),
7852 else => if (base_type.qt.hasIncompleteSize(p.comp)) {
7853 return p.err(tok, .incomplete_type_not_assignable, .{dest_qt});
7854 },
7855 }
7856 }
7857
7858 const dest_opt_vec = dest_qt.get(p.comp, .vector);
7859 const res_opt_vec = res.qt.get(p.comp, .vector);
7860
7861 if (dest_opt_vec != null and res_opt_vec != null) {
7862 const dest_vector = dest_opt_vec.?;
7863 const res_vector = res_opt_vec.?;
7864
7865 if (dest_vector.eql(res_vector, p.comp, true)) return;
7295 if (dest_unqual.sizeCompare(res.qt, p.comp) == .eq) {7866 if (dest_unqual.sizeCompare(res.qt, p.comp) == .eq) {
7296 res.qt = dest_unqual;7867 res.qt = dest_unqual;
7297 return res.implicitCast(p, .bitcast, tok);7868 return res.implicitCast(p, .bitcast);
7298 }7869 }
7299 } else if (dest_sk == .nullptr_t) {7870 } else if (dest_sk == .nullptr_t) {
7300 if (src_sk == .nullptr_t) return;7871 if (src_sk == .nullptr_t) return;
...@@ -7308,7 +7879,7 @@ pub const Result = struct {...@@ -7308,7 +7879,7 @@ pub const Result = struct {
7308 if (src_sk.isInt() or src_sk.isFloat()) {7879 if (src_sk.isInt() or src_sk.isFloat()) {
7309 try res.castToInt(p, dest_unqual, tok);7880 try res.castToInt(p, dest_unqual, tok);
7310 return;7881 return;
7311 } else if (src_sk.isPointer()) {7882 } else if (src_sk.isPointer() and src_sk != .block_pointer) {
7312 if (c == .test_coerce) return error.CoercionFailed;7883 if (c == .test_coerce) return error.CoercionFailed;
7313 try p.err(tok, .implicit_ptr_to_int, .{ src_original_qt, dest_unqual });7884 try p.err(tok, .implicit_ptr_to_int, .{ src_original_qt, dest_unqual });
7314 try c.note(p);7885 try c.note(p);
...@@ -7317,24 +7888,28 @@ pub const Result = struct {...@@ -7317,24 +7888,28 @@ pub const Result = struct {
7317 }7888 }
7318 } else if (dest_sk.isFloat()) {7889 } else if (dest_sk.isFloat()) {
7319 if (src_sk.isInt() or src_sk.isFloat()) {7890 if (src_sk.isInt() or src_sk.isFloat()) {
7320 try res.castToFloat(p, dest_unqual, tok);7891 try res.castToFloat(p, dest_unqual);
7321 return;7892 return;
7322 }7893 }
7323 } else if (dest_sk.isPointer()) {7894 } else if (dest_unqual.is(p.comp, .storage_float)) {
7895 // Storage floats are copy-only; conversions from other scalar types
7896 // are diagnosed by the common switch statement below this
7897 // large if/else block
7898 } else if (dest_sk.isPointer() and dest_sk != .block_pointer) {
7324 if (src_sk == .nullptr_t or res.val.isZero(p.comp)) {7899 if (src_sk == .nullptr_t or res.val.isZero(p.comp)) {
7325 try res.nullToPointer(p, dest_unqual, tok);7900 try res.nullToPointer(p, dest_unqual);
7326 return;7901 return;
7327 } else if (src_sk.isInt() and src_sk.isReal()) {7902 } else if (src_sk.isInt() and src_sk.isReal()) {
7328 if (c == .test_coerce) return error.CoercionFailed;7903 if (c == .test_coerce) return error.CoercionFailed;
7329 try p.err(tok, .implicit_int_to_ptr, .{ src_original_qt, dest_unqual });7904 try p.err(tok, .implicit_int_to_ptr, .{ src_original_qt, dest_unqual });
7330 try c.note(p);7905 try c.note(p);
7331 try res.castToPointer(p, dest_unqual, tok);7906 try res.castToPointer(p, dest_unqual);
7332 return;7907 return;
7333 } else if (src_sk == .void_pointer or dest_unqual.eql(res.qt, p.comp)) {7908 } else if (src_sk == .void_pointer or dest_unqual.eql(res.qt, p.comp)) {
7334 return res.castToPointer(p, dest_unqual, tok);7909 return res.castToPointer(p, dest_unqual);
7335 } else if (dest_sk == .void_pointer and src_sk.isPointer()) {7910 } else if (dest_sk == .void_pointer and src_sk.isPointer()) {
7336 return res.castToPointer(p, dest_unqual, tok);7911 return res.castToPointer(p, dest_unqual);
7337 } else if (src_sk.isPointer()) {7912 } else if (src_sk.isPointer() and src_sk != .block_pointer) {
7338 const src_child = res.qt.childType(p.comp);7913 const src_child = res.qt.childType(p.comp);
7339 const dest_child = dest_unqual.childType(p.comp);7914 const dest_child = dest_unqual.childType(p.comp);
7340 if (src_child.eql(dest_child, p.comp)) {7915 if (src_child.eql(dest_child, p.comp)) {
...@@ -7342,15 +7917,16 @@ pub const Result = struct {...@@ -7342,15 +7917,16 @@ pub const Result = struct {
7342 (src_child.@"volatile" and !dest_child.@"volatile") or7917 (src_child.@"volatile" and !dest_child.@"volatile") or
7343 (src_child.restrict and !dest_child.restrict))7918 (src_child.restrict and !dest_child.restrict))
7344 {7919 {
7345 try p.err(tok, switch (c) {7920 const data: struct { diag: Diagnostic, qts: [2]QualType } = switch (c) {
7346 .assign => .ptr_assign_discards_quals,7921 .assign => .{ .diag = .ptr_assign_discards_quals, .qts = .{ dest_qt, src_original_qt } },
7347 .init => .ptr_init_discards_quals,7922 .init => .{ .diag = .ptr_init_discards_quals, .qts = .{ dest_qt, src_original_qt } },
7348 .ret => .ptr_ret_discards_quals,7923 .ret => .{ .diag = .ptr_ret_discards_quals, .qts = .{ src_original_qt, dest_qt } },
7349 .arg => .ptr_arg_discards_quals,7924 .arg => .{ .diag = .ptr_arg_discards_quals, .qts = .{ src_original_qt, dest_qt } },
7350 .test_coerce => return error.CoercionFailed,7925 .test_coerce => return error.CoercionFailed,
7351 }, .{ dest_qt, src_original_qt });7926 };
7927 try p.err(tok, data.diag, .{ data.qts[0], data.qts[1] });
7352 }7928 }
7353 try res.castToPointer(p, dest_unqual, tok);7929 try res.castToPointer(p, dest_unqual);
7354 return;7930 return;
7355 }7931 }
73567932
...@@ -7365,7 +7941,11 @@ pub const Result = struct {...@@ -7365,7 +7941,11 @@ pub const Result = struct {
7365 try c.note(p);7941 try c.note(p);
73667942
7367 res.qt = dest_unqual;7943 res.qt = dest_unqual;
7368 return res.implicitCast(p, .bitcast, tok);7944 return res.implicitCast(p, .bitcast);
7945 } else if (src_sk == .block_pointer) {
7946 try p.err(tok, .incompatible_assign, .{ dest_qt, src_original_qt });
7947 try c.note(p);
7948 return;
7369 }7949 }
7370 } else if (dest_unqual.getRecord(p.comp) != null) {7950 } else if (dest_unqual.getRecord(p.comp) != null) {
7371 if (dest_unqual.eql(res.qt, p.comp)) {7951 if (dest_unqual.eql(res.qt, p.comp)) {
...@@ -7373,7 +7953,7 @@ pub const Result = struct {...@@ -7373,7 +7953,7 @@ pub const Result = struct {
7373 }7953 }
73747954
7375 if (c == .arg) if (dest_unqual.get(p.comp, .@"union")) |union_ty| {7955 if (c == .arg) if (dest_unqual.get(p.comp, .@"union")) |union_ty| {
7376 if (dest_unqual.hasAttribute(p.comp, .transparent_union)) transparent_union: {7956 if (dest_unqual.hasAttribute(&p.tree, .transparent_union)) transparent_union: {
7377 res.coerceExtra(p, union_ty.fields[0].qt, tok, .test_coerce) catch |er| switch (er) {7957 res.coerceExtra(p, union_ty.fields[0].qt, tok, .test_coerce) catch |er| switch (er) {
7378 error.CoercionFailed => break :transparent_union,7958 error.CoercionFailed => break :transparent_union,
7379 else => |e| return e,7959 else => |e| return e,
...@@ -7392,15 +7972,18 @@ pub const Result = struct {...@@ -7392,15 +7972,18 @@ pub const Result = struct {
7392 if (dest_unqual.eql(res.qt, p.comp)) {7972 if (dest_unqual.eql(res.qt, p.comp)) {
7393 return; // ok7973 return; // ok
7394 }7974 }
7975 } else if (dest_sk == .block_pointer) {
7976 if (src_sk == .nullptr_t or res.val.isZero(p.comp)) {
7977 try res.nullToPointer(p, dest_unqual);
7978 return; // ok
7979 } else if (src_sk == .void_pointer) {
7980 try res.implicitCast(p, .bitcast);
7981 return; // ok
7982 } else if (dest_unqual.eql(res.qt, p.comp)) {
7983 return; // ok
7984 }
7395 } else {7985 } else {
7396 if (c == .assign) {7986 if (c == .test_coerce) {
7397 const base_type = dest_unqual.base(p.comp);
7398 switch (base_type.type) {
7399 .array => return p.err(tok, .array_not_assignable, .{base_type.qt}),
7400 .func => return p.err(tok, .non_object_not_assignable, .{base_type.qt}),
7401 else => {},
7402 }
7403 } else if (c == .test_coerce) {
7404 return error.CoercionFailed;7987 return error.CoercionFailed;
7405 }7988 }
7406 // This case should not be possible and an error should have already been emitted but we7989 // This case should not be possible and an error should have already been emitted but we
...@@ -7423,6 +8006,18 @@ fn expect(p: *Parser, comptime func: fn (*Parser) Error!?Result) Error!Result {...@@ -7423,6 +8006,18 @@ fn expect(p: *Parser, comptime func: fn (*Parser) Error!?Result) Error!Result {
7423 return p.expectResult(try func(p));8006 return p.expectResult(try func(p));
7424}8007}
74258008
8009fn expectWithClosing(p: *Parser, comptime func: fn (*Parser) Error!?Result, closing: Token.Id) Error!Result {
8010 const opt_res = func(p) catch |er| {
8011 if (er == error.ParsingFailed) p.skipTo(closing);
8012 return er;
8013 };
8014 return opt_res orelse {
8015 try p.err(p.tok_i, .expected_expr, .{});
8016 p.skipTo(closing);
8017 return error.ParsingFailed;
8018 };
8019}
8020
7426fn expectResult(p: *Parser, res: ?Result) Error!Result {8021fn expectResult(p: *Parser, res: ?Result) Error!Result {
7427 return res orelse {8022 return res orelse {
7428 try p.err(p.tok_i, .expected_expr, .{});8023 try p.err(p.tok_i, .expected_expr, .{});
...@@ -7430,72 +8025,39 @@ fn expectResult(p: *Parser, res: ?Result) Error!Result {...@@ -7430,72 +8025,39 @@ fn expectResult(p: *Parser, res: ?Result) Error!Result {
7430 };8025 };
7431}8026}
74328027
7433/// expr : assignExpr (',' assignExpr)*
7434fn expr(p: *Parser) Error!?Result {8028fn expr(p: *Parser) Error!?Result {
7435 var expr_start = p.tok_i;8029 return p.binaryExpr(.any, true);
7436 var prev_total = p.diagnostics.total;
7437 var lhs = (try p.assignExpr()) orelse {
7438 if (p.tok_ids[p.tok_i] == .comma) _ = try p.expectResult(null);
7439 return null;
7440 };
7441 while (p.eatToken(.comma)) |comma| {
7442 try lhs.maybeWarnUnused(p, expr_start, prev_total);
7443 expr_start = p.tok_i;
7444 prev_total = p.diagnostics.total;
7445
7446 var rhs = try p.expect(assignExpr);
7447 try rhs.lvalConversion(p, expr_start);
7448 lhs.val = rhs.val;
7449 lhs.qt = rhs.qt;
7450 try lhs.bin(p, .comma_expr, rhs, comma);
7451 }
7452 return lhs;
7453}
7454
7455fn eatTag(p: *Parser, id: Token.Id) ?std.meta.Tag(Node) {
7456 if (p.eatToken(id)) |_| return switch (id) {
7457 .equal => .assign_expr,
7458 .asterisk_equal => .mul_assign_expr,
7459 .slash_equal => .div_assign_expr,
7460 .percent_equal => .mod_assign_expr,
7461 .plus_equal => .add_assign_expr,
7462 .minus_equal => .sub_assign_expr,
7463 .angle_bracket_angle_bracket_left_equal => .shl_assign_expr,
7464 .angle_bracket_angle_bracket_right_equal => .shr_assign_expr,
7465 .ampersand_equal => .bit_and_assign_expr,
7466 .caret_equal => .bit_xor_assign_expr,
7467 .pipe_equal => .bit_or_assign_expr,
7468 .equal_equal => .equal_expr,
7469 .bang_equal => .not_equal_expr,
7470 .angle_bracket_left => .less_than_expr,
7471 .angle_bracket_left_equal => .less_than_equal_expr,
7472 .angle_bracket_right => .greater_than_expr,
7473 .angle_bracket_right_equal => .greater_than_equal_expr,
7474 .angle_bracket_angle_bracket_left => .shl_expr,
7475 .angle_bracket_angle_bracket_right => .shr_expr,
7476 .plus => .add_expr,
7477 .minus => .sub_expr,
7478 .asterisk => .mul_expr,
7479 .slash => .div_expr,
7480 .percent => .mod_expr,
7481 else => unreachable,
7482 } else return null;
7483}8030}
74848031
7485fn nonAssignExpr(assign_node: std.meta.Tag(Node)) std.meta.Tag(Node) {8032fn assignExpr(p: *Parser) Error!?Result {
7486 return switch (assign_node) {8033 return p.binaryExpr(.assign, true);
7487 .mul_assign_expr => .mul_expr,8034}
7488 .div_assign_expr => .div_expr,8035
7489 .mod_assign_expr => .mod_expr,8036/// Returns a parse error if the expression is not an integer constant
7490 .add_assign_expr => .add_expr,8037/// integerConstExpr : constExpr
7491 .sub_assign_expr => .sub_expr,8038fn integerConstExpr(p: *Parser, decl_folding: ConstDeclFoldingMode) Error!Result {
7492 .shl_assign_expr => .shl_expr,8039 const start = p.tok_i;
7493 .shr_assign_expr => .shr_expr,8040 const res = try p.constExpr(decl_folding);
7494 .bit_and_assign_expr => .bit_and_expr,8041 if (!res.qt.isInvalid() and !res.qt.isRealInt(p.comp)) {
7495 .bit_xor_assign_expr => .bit_xor_expr,8042 try p.err(start, .expected_integer_constant_expr, .{});
7496 .bit_or_assign_expr => .bit_or_expr,8043 return error.ParsingFailed;
7497 else => unreachable,8044 }
7498 };8045 return res;
8046}
8047
8048/// Caller is responsible for issuing a diagnostic if result is invalid/unavailable
8049/// constExpr : condExpr
8050fn constExpr(p: *Parser, decl_folding: ConstDeclFoldingMode) Error!Result {
8051 const const_decl_folding = p.const_decl_folding;
8052 defer p.const_decl_folding = const_decl_folding;
8053 p.const_decl_folding = decl_folding;
8054
8055 const res = try p.expect(assignExpr);
8056
8057 if (res.qt.isInvalid() or res.val.opt_ref == .none) return res;
8058
8059 try res.putValue(p);
8060 return res;
7499}8061}
75008062
7501fn unwrapNestedOperation(p: *Parser, node_idx: Node.Index) ?Node.DeclRef {8063fn unwrapNestedOperation(p: *Parser, node_idx: Node.Index) ?Node.DeclRef {
...@@ -7504,13 +8066,16 @@ fn unwrapNestedOperation(p: *Parser, node_idx: Node.Index) ?Node.DeclRef {...@@ -7504,13 +8066,16 @@ fn unwrapNestedOperation(p: *Parser, node_idx: Node.Index) ?Node.DeclRef {
7504 .member_access_ptr_expr,8066 .member_access_ptr_expr,
7505 .member_access_expr,8067 .member_access_expr,
7506 => |memb_or_arr_access| continue :loop memb_or_arr_access.base.get(&p.tree),8068 => |memb_or_arr_access| continue :loop memb_or_arr_access.base.get(&p.tree),
7507 inline .cast,8069 .cast => |cast| {
8070 if (!cast.implicit) return null;
8071 continue :loop cast.operand.get(&p.tree);
8072 },
7508 .paren_expr,8073 .paren_expr,
7509 .pre_inc_expr,8074 .pre_inc_expr,
7510 .post_inc_expr,8075 .post_inc_expr,
7511 .pre_dec_expr,8076 .pre_dec_expr,
7512 .post_dec_expr,8077 .post_dec_expr,
7513 => |cast_or_unary| continue :loop cast_or_unary.operand.get(&p.tree),8078 => |unary| continue :loop unary.operand.get(&p.tree),
7514 .sub_expr,8079 .sub_expr,
7515 .add_expr,8080 .add_expr,
7516 => |bin| continue :loop bin.lhs.get(&p.tree),8081 => |bin| continue :loop bin.lhs.get(&p.tree),
...@@ -7543,522 +8108,431 @@ fn issueConstAssignmentDiagnostics(p: *Parser, node_idx: Node.Index, tok: TokenI...@@ -7543,522 +8108,431 @@ fn issueConstAssignmentDiagnostics(p: *Parser, node_idx: Node.Index, tok: TokenI
7543 const name = p.tokSlice(unwrapped.name_tok);8108 const name = p.tokSlice(unwrapped.name_tok);
7544 try p.err(tok, .const_var_assignment, .{ name, unwrapped.qt });8109 try p.err(tok, .const_var_assignment, .{ name, unwrapped.qt });
7545 try p.issueDeclaredConstHereNote(unwrapped, name);8110 try p.issueDeclaredConstHereNote(unwrapped, name);
8111 } else if (node_idx.get(&p.tree) == .cast) {
8112 try p.err(tok, .cast_not_assignable, .{});
7546 } else {8113 } else {
7547 try p.err(tok, .not_assignable, .{});8114 try p.err(tok, .not_assignable, .{});
7548 }8115 }
7549}8116}
75508117
8118/// expr : assignExpr (',' assignExpr)*
7551/// assignExpr8119/// assignExpr
7552/// : condExpr8120/// : condExpr
7553/// | unExpr ('=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=') assignExpr8121/// | unExpr ('=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '&=' | '^=' | '|=') assignExpr
7554fn assignExpr(p: *Parser) Error!?Result {8122/// condExpr : lorExpr ('?' expression? ':' condExpr)?
7555 var lhs = (try p.condExpr()) orelse return null;8123/// lorExpr : landExpr ('||' landExpr)*
8124/// landExpr : orExpr ('&&' orExpr)*
8125/// orExpr : xorExpr ('|' xorExpr)*
8126/// xorExpr : andExpr ('^' andExpr)*
8127/// andExpr : eqExpr ('&' eqExpr)*
8128/// eqExpr : compExpr (('==' | '!=') compExpr)*
8129/// compExpr : shiftExpr (('<' | '<=' | '>' | '>=') shiftExpr)*
8130/// shiftExpr : addExpr (('<<' | '>>') addExpr)*
8131/// addExpr : mulExpr (('+' | '-') mulExpr)*
8132/// mulExpr : unExpr (('*' | '/' | '%') unExpr)*´
8133fn binaryExpr(p: *Parser, min_prec: Token.Precedence, eval: bool) Error!?Result {
8134 var prev_errors = p.diagnostics.errors;
75568135
7557 const tok = p.tok_i;8136 var lhs = try p.unExpr(eval) orelse {
7558 const tag = p.eatTag(.equal) orelse8137 if (min_prec.lt(.comma) and p.tok_ids[p.tok_i] == .comma) {
7559 p.eatTag(.asterisk_equal) orelse8138 try p.err(p.tok_i, .expected_expr, .{});
7560 p.eatTag(.slash_equal) orelse8139 return error.ParsingFailed;
7561 p.eatTag(.percent_equal) orelse8140 }
7562 p.eatTag(.plus_equal) orelse8141 return null;
7563 p.eatTag(.minus_equal) orelse
7564 p.eatTag(.angle_bracket_angle_bracket_left_equal) orelse
7565 p.eatTag(.angle_bracket_angle_bracket_right_equal) orelse
7566 p.eatTag(.ampersand_equal) orelse
7567 p.eatTag(.caret_equal) orelse
7568 p.eatTag(.pipe_equal) orelse return lhs;
7569
7570 var rhs = try p.expect(assignExpr);
7571
7572 var is_const: bool = undefined;
7573 if (!p.tree.isLvalExtra(lhs.node, &is_const) or is_const) {
7574 try p.issueConstAssignmentDiagnostics(lhs.node, tok);
7575 lhs.qt = .invalid;
7576 }
7577
7578 if (tag == .assign_expr) {
7579 try rhs.coerce(p, lhs.qt, tok, .assign);
7580
7581 try lhs.bin(p, tag, rhs, tok);
7582 return lhs;
7583 }
7584
7585 var lhs_dummy = blk: {
7586 var lhs_copy = lhs;
7587 try lhs_copy.un(p, .compound_assign_dummy_expr, tok);
7588 try lhs_copy.lvalConversion(p, tok);
7589 break :blk lhs_copy;
7590 };8142 };
7591 switch (tag) {
7592 .mul_assign_expr,
7593 .div_assign_expr,
7594 .mod_assign_expr,
7595 => {
7596 if (!lhs.qt.isInvalid() and rhs.val.isZero(p.comp) and lhs.qt.isInt(p.comp) and rhs.qt.isInt(p.comp)) {
7597 switch (tag) {
7598 .div_assign_expr => try p.err(tok, .division_by_zero, .{"division"}),
7599 .mod_assign_expr => try p.err(tok, .division_by_zero, .{"remainder"}),
7600 else => {},
7601 }
7602 }
7603 _ = try lhs_dummy.adjustTypes(tok, &rhs, p, if (tag == .mod_assign_expr) .integer else .arithmetic);
7604 },
7605 .sub_assign_expr => {
7606 _ = try lhs_dummy.adjustTypes(tok, &rhs, p, .sub);
7607 },
7608 .add_assign_expr => {
7609 _ = try lhs_dummy.adjustTypes(tok, &rhs, p, .add);
7610 },
7611 .shl_assign_expr,
7612 .shr_assign_expr,
7613 .bit_and_assign_expr,
7614 .bit_xor_assign_expr,
7615 .bit_or_assign_expr,
7616 => {
7617 _ = try lhs_dummy.adjustTypes(tok, &rhs, p, .integer);
7618 },
7619 else => unreachable,
7620 }
76218143
7622 _ = try lhs_dummy.bin(p, nonAssignExpr(tag), rhs, tok);8144 while (true) {
7623 try lhs_dummy.coerce(p, lhs.qt, tok, .assign);8145 var op_prec = Token.precedence[@backingInt(p.tok_ids[p.tok_i])];
7624 try lhs.bin(p, tag, lhs_dummy, tok);8146 if (op_prec.lt(min_prec)) {
7625 return lhs;8147 return lhs;
7626}8148 }
76278149
7628/// Returns a parse error if the expression is not an integer constant8150 const operator = p.tok_i;
7629/// integerConstExpr : constExpr8151 p.tok_i += 1;
7630fn integerConstExpr(p: *Parser, decl_folding: ConstDeclFoldingMode) Error!Result {
7631 const start = p.tok_i;
7632 const res = try p.constExpr(decl_folding);
7633 if (!res.qt.isInvalid() and !res.qt.isRealInt(p.comp)) {
7634 try p.err(start, .expected_integer_constant_expr, .{});
7635 return error.ParsingFailed;
7636 }
7637 return res;
7638}
76398152
7640/// Caller is responsible for issuing a diagnostic if result is invalid/unavailable8153 // Special handling for binary conditionals.
7641/// constExpr : condExpr8154 if (op_prec == .conditional and p.eatToken(.colon) != null) op_prec = .binary_conditional;
7642fn constExpr(p: *Parser, decl_folding: ConstDeclFoldingMode) Error!Result {
7643 const const_decl_folding = p.const_decl_folding;
7644 defer p.const_decl_folding = const_decl_folding;
7645 p.const_decl_folding = decl_folding;
76468155
7647 const res = try p.expect(condExpr);8156 const eval_rhs = switch (op_prec) {
8157 .bool_and, .conditional => if (lhs.val.opt_ref != .none) eval and lhs.val.toBool(p.comp) else eval,
8158 .bool_or, .binary_conditional => if (lhs.val.opt_ref != .none) eval and !lhs.val.toBool(p.comp) else eval,
8159 else => eval,
8160 };
8161 var rhs = try p.expectResult(try p.binaryExpr(op_prec.next(min_prec), eval_rhs));
8162
8163 switch (op_prec) {
8164 _ => unreachable,
8165 .comma => {
8166 try p.diagnoseUnusedValue(lhs.node, prev_errors);
8167 prev_errors = p.diagnostics.total;
8168
8169 try lhs.lvalConversion(p);
8170 try rhs.lvalConversion(p);
8171 lhs.val = rhs.val;
8172 lhs.qt = rhs.qt;
8173 try lhs.bin(p, .comma_expr, rhs, operator);
8174 },
8175 .assign => {
8176 const tag: std.meta.Tag(Node) = switch (p.tok_ids[operator]) {
8177 .equal => .assign_expr,
8178 .asterisk_equal => .mul_assign_expr,
8179 .slash_equal => .div_assign_expr,
8180 .percent_equal => .mod_assign_expr,
8181 .plus_equal => .add_assign_expr,
8182 .minus_equal => .sub_assign_expr,
8183 .angle_bracket_angle_bracket_left_equal => .shl_assign_expr,
8184 .angle_bracket_angle_bracket_right_equal => .shr_assign_expr,
8185 .ampersand_equal => .bit_and_assign_expr,
8186 .caret_equal => .bit_xor_assign_expr,
8187 .pipe_equal => .bit_or_assign_expr,
8188 else => unreachable,
8189 };
76488190
7649 if (res.qt.isInvalid() or res.val.opt_ref == .none) return res;8191 var is_const: bool = undefined;
8192 if (!p.tree.isLvalExtra(lhs.node, &is_const) or is_const) {
8193 try p.issueConstAssignmentDiagnostics(lhs.node, operator);
8194 lhs.qt = .invalid;
8195 }
8196 lhs.val = .{};
76508197
7651 try res.putValue(p);8198 if (tag == .assign_expr) {
7652 return res;8199 try rhs.coerce(p, lhs.qt, operator, .assign);
7653}
76548200
7655/// condExpr : lorExpr ('?' expression? ':' condExpr)?8201 try lhs.bin(p, tag, rhs, operator);
7656fn condExpr(p: *Parser) Error!?Result {8202 continue;
7657 const cond_tok = p.tok_i;8203 }
7658 var cond = (try p.lorExpr()) orelse return null;
7659 if (p.eatToken(.question_mark) == null) return cond;
7660 try cond.lvalConversion(p, cond_tok);
7661 const saved_eval = p.no_eval;
76628204
7663 if (cond.qt.scalarKind(p.comp) == .none) {8205 var lhs_dummy = lhs;
7664 try p.err(cond_tok, .cond_expr_type, .{cond.qt});8206 try lhs_dummy.un(p, .compound_assign_dummy_expr, operator);
7665 return error.ParsingFailed;8207 try lhs_dummy.lvalConversion(p);
7666 }
76678208
7668 // Prepare for possible binary conditional expression.8209 switch (tag) {
7669 const maybe_colon = p.eatToken(.colon);8210 .mul_assign_expr,
8211 .div_assign_expr,
8212 .mod_assign_expr,
8213 => {
8214 try lhs_dummy.adjustTypes(operator, &rhs, p, if (tag == .mod_assign_expr) .integer else .arithmetic);
8215 if (eval and !lhs.qt.isInvalid() and rhs.val.isZero(p.comp) and lhs_dummy.qt.isInt(p.comp)) {
8216 switch (tag) {
8217 .div_assign_expr => try p.err(operator, .division_by_zero, .{"division"}),
8218 .mod_assign_expr => try p.err(operator, .division_by_zero, .{"remainder"}),
8219 else => {},
8220 }
8221 }
8222 },
8223 .sub_assign_expr => try lhs_dummy.adjustTypes(operator, &rhs, p, .sub),
8224 .add_assign_expr => try lhs_dummy.adjustTypes(operator, &rhs, p, .add),
8225 .shl_assign_expr,
8226 .shr_assign_expr,
8227 .bit_and_assign_expr,
8228 .bit_xor_assign_expr,
8229 .bit_or_assign_expr,
8230 => try lhs_dummy.adjustTypes(operator, &rhs, p, .integer),
8231 else => unreachable,
8232 }
76708233
7671 // Depending on the value of the condition, avoid evaluating unreachable branches.8234 const non_assign_tag: std.meta.Tag(Node) = switch (tag) {
7672 var then_expr = blk: {8235 .mul_assign_expr => .mul_expr,
7673 defer p.no_eval = saved_eval;8236 .div_assign_expr => .div_expr,
7674 if (cond.val.opt_ref != .none and !cond.val.toBool(p.comp)) p.no_eval = true;8237 .mod_assign_expr => .mod_expr,
7675 break :blk try p.expect(expr);8238 .add_assign_expr => .add_expr,
7676 };8239 .sub_assign_expr => .sub_expr,
8240 .shl_assign_expr => .shl_expr,
8241 .shr_assign_expr => .shr_expr,
8242 .bit_and_assign_expr => .bit_and_expr,
8243 .bit_xor_assign_expr => .bit_xor_expr,
8244 .bit_or_assign_expr => .bit_or_expr,
8245 else => unreachable,
8246 };
76778247
7678 // If we saw a colon then this is a binary conditional expression.8248 _ = try lhs_dummy.bin(p, non_assign_tag, rhs, operator);
7679 if (maybe_colon) |colon| {8249 try lhs_dummy.coerce(p, lhs.qt, operator, .assign);
7680 var cond_then = cond;8250 try lhs.bin(p, tag, lhs_dummy, operator);
7681 cond_then.node = try p.addNode(.{
7682 .cond_dummy_expr = .{
7683 .op_tok = colon,
7684 .operand = cond.node,
7685 .qt = cond.qt,
7686 },8251 },
7687 });8252 .binary_conditional => {
7688 _ = try cond_then.adjustTypes(colon, &then_expr, p, .conditional);8253 try lhs.lvalConversion(p);
7689 cond.qt = then_expr.qt;8254 const cond_known = lhs.val.opt_ref != .none;
7690 cond.node = try p.addNode(.{8255 const cond_true = cond_known and lhs.val.toBool(p.comp);
7691 .binary_cond_expr = .{8256
7692 .cond_tok = cond_tok,8257 if (!lhs.qt.isInvalid() and lhs.qt.scalarKind(p.comp) == .none) {
7693 .cond = cond.node,8258 try p.err(operator, .cond_expr_type, .{lhs.qt});
7694 .then_expr = cond_then.node,8259 lhs.qt = .invalid;
7695 .else_expr = then_expr.node,8260 }
7696 .qt = cond.qt,8261
8262 const cond_node = lhs.node;
8263 lhs.node = try p.addNode(.{
8264 .cond_dummy_expr = .{
8265 .op_tok = operator,
8266 .operand = lhs.node,
8267 .qt = lhs.qt,
8268 },
8269 });
8270 try lhs.adjustTypes(operator, &rhs, p, .conditional);
8271 if (cond_known) {
8272 lhs.val = if (cond_true) lhs.val else rhs.val;
8273 try lhs.putValue(p);
8274 }
8275 lhs.qt = rhs.qt;
8276 lhs.node = try p.addNode(.{
8277 .binary_cond_expr = .{
8278 .cond_tok = operator,
8279 .cond = cond_node,
8280 .then_expr = lhs.node,
8281 .else_expr = rhs.node,
8282 .qt = lhs.qt,
8283 },
8284 });
7697 },8285 },
7698 });8286 .conditional => {
7699 return cond;8287 try lhs.lvalConversion(p);
7700 }8288 const cond_known = lhs.val.opt_ref != .none;
8289 const cond_true = cond_known and lhs.val.toBool(p.comp);
77018290
7702 const colon = try p.expectToken(.colon);8291 if (!lhs.qt.isInvalid() and lhs.qt.scalarKind(p.comp) == .none) {
7703 var else_expr = blk: {8292 try p.err(operator, .cond_expr_type, .{lhs.qt});
7704 defer p.no_eval = saved_eval;8293 }
7705 if (cond.val.opt_ref != .none and cond.val.toBool(p.comp)) p.no_eval = true;
7706 break :blk try p.expect(condExpr);
7707 };
77088294
7709 _ = try then_expr.adjustTypes(colon, &else_expr, p, .conditional);8295 const colon = try p.expectToken(.colon);
77108296
7711 if (cond.val.opt_ref != .none) {8297 var else_expr = try p.expectResult(try p.binaryExpr(op_prec, eval and !cond_true));
7712 cond.val = if (cond.val.toBool(p.comp)) then_expr.val else else_expr.val;
7713 } else {
7714 try then_expr.saveValue(p);
7715 try else_expr.saveValue(p);
7716 }
7717 cond.qt = then_expr.qt;
7718 cond.node = try p.addNode(.{
7719 .cond_expr = .{
7720 .cond_tok = cond_tok,
7721 .qt = cond.qt,
7722 .cond = cond.node,
7723 .then_expr = then_expr.node,
7724 .else_expr = else_expr.node,
7725 },
7726 });
7727 return cond;
7728}
77298298
7730/// lorExpr : landExpr ('||' landExpr)*8299 try rhs.adjustTypes(colon, &else_expr, p, .conditional);
7731fn lorExpr(p: *Parser) Error!?Result {
7732 var lhs = (try p.landExpr()) orelse return null;
7733 const saved_eval = p.no_eval;
7734 defer p.no_eval = saved_eval;
7735
7736 while (p.eatToken(.pipe_pipe)) |tok| {
7737 if (lhs.val.opt_ref != .none and lhs.val.toBool(p.comp)) p.no_eval = true;
7738 var rhs = try p.expect(landExpr);
7739
7740 if (try lhs.adjustTypes(tok, &rhs, p, .boolean_logic)) {
7741 const res = lhs.val.toBool(p.comp) or rhs.val.toBool(p.comp);
7742 lhs.val = Value.fromBool(res);
7743 } else {
7744 lhs.val.boolCast(p.comp);
7745 }
7746 try lhs.boolRes(p, .bool_or_expr, rhs, tok);
7747 }
7748 return lhs;
7749}
7750
7751/// landExpr : orExpr ('&&' orExpr)*
7752fn landExpr(p: *Parser) Error!?Result {
7753 var lhs = (try p.orExpr()) orelse return null;
7754 const saved_eval = p.no_eval;
7755 defer p.no_eval = saved_eval;
7756
7757 while (p.eatToken(.ampersand_ampersand)) |tok| {
7758 if (lhs.val.opt_ref != .none and !lhs.val.toBool(p.comp)) p.no_eval = true;
7759 var rhs = try p.expect(orExpr);
7760
7761 if (try lhs.adjustTypes(tok, &rhs, p, .boolean_logic)) {
7762 const res = lhs.val.toBool(p.comp) and rhs.val.toBool(p.comp);
7763 lhs.val = Value.fromBool(res);
7764 } else {
7765 lhs.val.boolCast(p.comp);
7766 }
7767 try lhs.boolRes(p, .bool_and_expr, rhs, tok);
7768 }
7769 return lhs;
7770}
7771
7772/// orExpr : xorExpr ('|' xorExpr)*
7773fn orExpr(p: *Parser) Error!?Result {
7774 var lhs = (try p.xorExpr()) orelse return null;
7775 while (p.eatToken(.pipe)) |tok| {
7776 var rhs = try p.expect(xorExpr);
7777
7778 if (try lhs.adjustTypes(tok, &rhs, p, .integer)) {
7779 lhs.val = try lhs.val.bitOr(rhs.val, p.comp);
7780 }
7781 try lhs.bin(p, .bit_or_expr, rhs, tok);
7782 }
7783 return lhs;
7784}
7785
7786/// xorExpr : andExpr ('^' andExpr)*
7787fn xorExpr(p: *Parser) Error!?Result {
7788 var lhs = (try p.andExpr()) orelse return null;
7789 while (p.eatToken(.caret)) |tok| {
7790 var rhs = try p.expect(andExpr);
7791
7792 if (try lhs.adjustTypes(tok, &rhs, p, .integer)) {
7793 lhs.val = try lhs.val.bitXor(rhs.val, p.comp);
7794 }
7795 try lhs.bin(p, .bit_xor_expr, rhs, tok);
7796 }
7797 return lhs;
7798}
7799
7800/// andExpr : eqExpr ('&' eqExpr)*
7801fn andExpr(p: *Parser) Error!?Result {
7802 var lhs = (try p.eqExpr()) orelse return null;
7803 while (p.eatToken(.ampersand)) |tok| {
7804 var rhs = try p.expect(eqExpr);
7805
7806 if (try lhs.adjustTypes(tok, &rhs, p, .integer)) {
7807 lhs.val = try lhs.val.bitAnd(rhs.val, p.comp);
7808 }
7809 try lhs.bin(p, .bit_and_expr, rhs, tok);
7810 }
7811 return lhs;
7812}
78138300
7814/// eqExpr : compExpr (('==' | '!=') compExpr)*8301 lhs.qt = rhs.qt;
7815fn eqExpr(p: *Parser) Error!?Result {8302 lhs.node = try p.addNode(.{
7816 var lhs = (try p.compExpr()) orelse return null;8303 .cond_expr = .{
7817 while (true) {8304 .cond_tok = operator,
7818 const tok = p.tok_i;8305 .qt = lhs.qt,
7819 const tag = p.eatTag(.equal_equal) orelse8306 .cond = lhs.node,
7820 p.eatTag(.bang_equal) orelse break;8307 .then_expr = rhs.node,
7821 var rhs = try p.expect(compExpr);8308 .else_expr = else_expr.node,
78228309 },
7823 if (try lhs.adjustTypes(tok, &rhs, p, .equality)) {8310 });
7824 const op: std.math.CompareOperator = if (tag == .equal_expr) .eq else .neq;
78258311
7826 const res: ?bool = if (lhs.qt.isPointer(p.comp) or rhs.qt.isPointer(p.comp))8312 if (cond_known) {
7827 lhs.val.comparePointers(op, rhs.val, p.comp)8313 lhs.val = if (cond_true) rhs.val else else_expr.val;
7828 else8314 try lhs.putValue(p);
7829 lhs.val.compare(op, rhs.val, p.comp);8315 } else {
8316 try rhs.saveValue(p);
8317 try else_expr.saveValue(p);
8318 }
8319 },
8320 .bool_or => {
8321 try lhs.adjustTypes(operator, &rhs, p, .boolean_logic);
8322 if (try lhs.shouldEval(&rhs, p, eval)) {
8323 lhs.val = .fromBool(lhs.val.toBool(p.comp) or rhs.val.toBool(p.comp));
8324 } else {
8325 lhs.val.boolCast(p.comp);
8326 }
8327 try lhs.boolRes(p, .bool_or_expr, rhs, operator);
8328 },
8329 .bool_and => {
8330 try lhs.adjustTypes(operator, &rhs, p, .boolean_logic);
8331 if (try lhs.shouldEval(&rhs, p, eval)) {
8332 lhs.val = .fromBool(lhs.val.toBool(p.comp) and rhs.val.toBool(p.comp));
8333 } else {
8334 lhs.val.boolCast(p.comp);
8335 }
8336 try lhs.boolRes(p, .bool_and_expr, rhs, operator);
8337 },
8338 .bit_or => {
8339 try lhs.adjustTypes(operator, &rhs, p, .integer);
8340 if (try lhs.shouldEval(&rhs, p, eval)) {
8341 lhs.val = try lhs.val.bitOr(rhs.val, p.comp);
8342 }
8343 try lhs.bin(p, .bit_or_expr, rhs, operator);
8344 },
8345 .bit_xor => {
8346 try lhs.adjustTypes(operator, &rhs, p, .integer);
8347 if (try lhs.shouldEval(&rhs, p, eval)) {
8348 lhs.val = try lhs.val.bitXor(rhs.val, p.comp);
8349 }
8350 try lhs.bin(p, .bit_xor_expr, rhs, operator);
8351 },
8352 .bit_and => {
8353 try lhs.adjustTypes(operator, &rhs, p, .integer);
8354 if (try lhs.shouldEval(&rhs, p, eval)) {
8355 lhs.val = try lhs.val.bitAnd(rhs.val, p.comp);
8356 }
8357 try lhs.bin(p, .bit_and_expr, rhs, operator);
8358 },
8359 .equality => {
8360 const tag: std.meta.Tag(Node) = switch (p.tok_ids[operator]) {
8361 .equal_equal => .equal_expr,
8362 .bang_equal => .not_equal_expr,
8363 else => unreachable,
8364 };
78308365
7831 lhs.val = if (res) |val| Value.fromBool(val) else .{};8366 try lhs.adjustTypes(operator, &rhs, p, .equality);
7832 } else {8367 if (try lhs.shouldEval(&rhs, p, eval)) {
7833 lhs.val.boolCast(p.comp);8368 const op: std.math.CompareOperator = if (tag == .equal_expr) .eq else .neq;
7834 }
7835 try lhs.boolRes(p, tag, rhs, tok);
7836 }
7837 return lhs;
7838}
78398369
7840/// compExpr : shiftExpr (('<' | '<=' | '>' | '>=') shiftExpr)*8370 const res: ?bool = if (lhs.qt.isPointer(p.comp) or rhs.qt.isPointer(p.comp))
7841fn compExpr(p: *Parser) Error!?Result {8371 lhs.val.comparePointers(op, rhs.val, p.comp)
7842 var lhs = (try p.shiftExpr()) orelse return null;8372 else
7843 while (true) {8373 lhs.val.compare(op, rhs.val, p.comp);
7844 const tok = p.tok_i;
7845 const tag = p.eatTag(.angle_bracket_left) orelse
7846 p.eatTag(.angle_bracket_left_equal) orelse
7847 p.eatTag(.angle_bracket_right) orelse
7848 p.eatTag(.angle_bracket_right_equal) orelse break;
7849 var rhs = try p.expect(shiftExpr);
7850
7851 if (try lhs.adjustTypes(tok, &rhs, p, .relational)) {
7852 const op: std.math.CompareOperator = switch (tag) {
7853 .less_than_expr => .lt,
7854 .less_than_equal_expr => .lte,
7855 .greater_than_expr => .gt,
7856 .greater_than_equal_expr => .gte,
7857 else => unreachable,
7858 };
7859
7860 const res: ?bool = if (lhs.qt.isPointer(p.comp) or rhs.qt.isPointer(p.comp))
7861 lhs.val.comparePointers(op, rhs.val, p.comp)
7862 else
7863 lhs.val.compare(op, rhs.val, p.comp);
7864 lhs.val = if (res) |val| Value.fromBool(val) else .{};
7865 } else {
7866 lhs.val.boolCast(p.comp);
7867 }
7868 try lhs.boolRes(p, tag, rhs, tok);
7869 }
7870 return lhs;
7871}
78728374
7873/// shiftExpr : addExpr (('<<' | '>>') addExpr)*8375 if (p.record_static_assert_eval_note and res == false) {
7874fn shiftExpr(p: *Parser) Error!?Result {8376 try lhs.putValue(p);
7875 var lhs = (try p.addExpr()) orelse return null;8377 try rhs.putValue(p);
7876 while (true) {8378 }
7877 const tok = p.tok_i;8379 lhs.val = if (res) |val| .fromBool(val) else .{};
7878 const tag = p.eatTag(.angle_bracket_angle_bracket_left) orelse8380 } else {
7879 p.eatTag(.angle_bracket_angle_bracket_right) orelse break;8381 lhs.val.boolCast(p.comp);
7880 var rhs = try p.expect(addExpr);8382 }
8383 try lhs.boolRes(p, tag, rhs, operator);
8384 },
8385 .comparison => {
8386 const tag: std.meta.Tag(Node) = switch (p.tok_ids[operator]) {
8387 .angle_bracket_left => .less_than_expr,
8388 .angle_bracket_left_equal => .less_than_equal_expr,
8389 .angle_bracket_right => .greater_than_expr,
8390 .angle_bracket_right_equal => .greater_than_equal_expr,
8391 else => unreachable,
8392 };
78818393
7882 if (try lhs.adjustTypes(tok, &rhs, p, .integer)) {8394 try lhs.adjustTypes(operator, &rhs, p, .relational);
7883 if (rhs.val.compare(.lt, .zero, p.comp)) {8395 if (try lhs.shouldEval(&rhs, p, eval)) {
7884 try p.err(tok, .negative_shift_count, .{});8396 const op: std.math.CompareOperator = switch (tag) {
7885 }8397 .less_than_expr => .lt,
7886 if (rhs.val.compare(.gte, try Value.int(lhs.qt.bitSizeof(p.comp), p.comp), p.comp)) {8398 .less_than_equal_expr => .lte,
7887 try p.err(tok, .too_big_shift_count, .{});8399 .greater_than_expr => .gt,
7888 }8400 .greater_than_equal_expr => .gte,
7889 if (tag == .shl_expr) {8401 else => unreachable,
7890 if (try lhs.val.shl(lhs.val, rhs.val, lhs.qt, p.comp) and8402 };
7891 lhs.qt.signedness(p.comp) != .unsigned) try p.err(tok, .overflow, .{lhs});
7892 } else {
7893 lhs.val = try lhs.val.shr(rhs.val, lhs.qt, p.comp);
7894 }
7895 }
7896 try lhs.bin(p, tag, rhs, tok);
7897 }
7898 return lhs;
7899}
79008403
7901/// addExpr : mulExpr (('+' | '-') mulExpr)*8404 const res: ?bool = if (lhs.qt.isPointer(p.comp) or rhs.qt.isPointer(p.comp))
7902fn addExpr(p: *Parser) Error!?Result {8405 lhs.val.comparePointers(op, rhs.val, p.comp)
7903 var lhs = (try p.mulExpr()) orelse return null;8406 else
7904 while (true) {8407 lhs.val.compare(op, rhs.val, p.comp);
7905 const tok = p.tok_i;8408 if (p.record_static_assert_eval_note and res == false) {
7906 const tag = p.eatTag(.plus) orelse8409 try lhs.putValue(p);
7907 p.eatTag(.minus) orelse break;8410 try rhs.putValue(p);
7908 var rhs = try p.expect(mulExpr);
7909
7910 // We'll want to check this for invalid pointer arithmetic.
7911 const original_lhs_qt = lhs.qt;
7912
7913 if (try lhs.adjustTypes(tok, &rhs, p, if (tag == .add_expr) .add else .sub)) {
7914 const lhs_sk = lhs.qt.scalarKind(p.comp);
7915 if (tag == .add_expr) {
7916 if (try lhs.val.add(lhs.val, rhs.val, lhs.qt, p.comp)) {
7917 if (lhs_sk.isPointer()) {
7918 const increment = lhs;
7919 const ptr_bits = p.comp.type_store.intptr.bitSizeof(p.comp);
7920 const element_size = increment.qt.childType(p.comp).sizeofOrNull(p.comp) orelse 1;
7921 const max_elems = p.comp.maxArrayBytes() / element_size;
7922
7923 try p.err(tok, .array_overflow, .{ increment, ptr_bits, element_size * 8, element_size, max_elems });
7924 } else if (lhs.qt.signedness(p.comp) != .unsigned) {
7925 try p.err(tok, .overflow, .{lhs});
7926 }8411 }
7927 }8412 lhs.val = if (res) |val| .fromBool(val) else .{};
7928 } else {
7929 const elem_size = if (original_lhs_qt.isPointer(p.comp)) original_lhs_qt.childType(p.comp).sizeofOrNull(p.comp) orelse 1 else 1;
7930 if (elem_size == 0 and rhs.qt.isPointer(p.comp)) {
7931 lhs.val = .{};
7932 } else {8413 } else {
7933 if (try lhs.val.sub(lhs.val, rhs.val, lhs.qt, elem_size, p.comp) and8414 lhs.val.boolCast(p.comp);
7934 lhs.qt.signedness(p.comp) != .unsigned)
7935 {
7936 try p.err(tok, .overflow, .{lhs});
7937 }
7938 }8415 }
7939 }8416 try lhs.boolRes(p, tag, rhs, operator);
7940 }8417 },
7941 if (!lhs.qt.isInvalid()) {8418 .shift => {
7942 const lhs_sk = original_lhs_qt.scalarKind(p.comp);8419 const tag: std.meta.Tag(Node) = switch (p.tok_ids[operator]) {
7943 if (lhs_sk == .pointer and original_lhs_qt.childType(p.comp).hasIncompleteSize(p.comp)) {8420 .angle_bracket_angle_bracket_left => .shl_expr,
7944 try p.err(tok, .ptr_arithmetic_incomplete, .{original_lhs_qt.childType(p.comp)});8421 .angle_bracket_angle_bracket_right => .shr_expr,
7945 lhs.qt = .invalid;8422 else => unreachable,
7946 }8423 };
7947 }
7948 try lhs.bin(p, tag, rhs, tok);
7949 }
7950 return lhs;
7951}
79528424
7953/// mulExpr : castExpr (('*' | '/' | '%') castExpr)*´8425 try lhs.adjustTypes(operator, &rhs, p, .integer);
7954fn mulExpr(p: *Parser) Error!?Result {8426 if (try lhs.shouldEval(&rhs, p, eval)) {
7955 var lhs = (try p.castExpr()) orelse return null;8427 if (rhs.val.compare(.lt, .zero, p.comp)) {
7956 while (true) {8428 try p.err(operator, .negative_shift_count, .{});
7957 const tok = p.tok_i;8429 }
7958 const tag = p.eatTag(.asterisk) orelse8430 if (rhs.val.compare(.gte, try .int(lhs.qt.bitSizeof(p.comp), p.comp), p.comp)) {
7959 p.eatTag(.slash) orelse8431 try p.err(operator, .too_big_shift_count, .{});
7960 p.eatTag(.percent) orelse break;8432 }
7961 var rhs = try p.expect(castExpr);8433 if (tag == .shl_expr) {
79628434 if (try lhs.val.shl(lhs.val, rhs.val, lhs.qt, p.comp) and
7963 if (rhs.val.isZero(p.comp) and tag != .mul_expr and !p.no_eval and lhs.qt.isInt(p.comp) and rhs.qt.isInt(p.comp)) {8435 lhs.qt.signedness(p.comp) != .unsigned) try p.err(operator, .overflow, .{lhs});
7964 lhs.val = .{};8436 } else {
7965 try p.err(tok, if (p.in_macro) .division_by_zero_macro else .division_by_zero, if (tag == .div_expr) .{"division"} else .{"remainder"});8437 lhs.val = try lhs.val.shr(rhs.val, lhs.qt, p.comp);
7966 if (p.in_macro) return error.ParsingFailed;8438 }
7967 }8439 }
79688440 try lhs.bin(p, tag, rhs, operator);
7969 if (try lhs.adjustTypes(tok, &rhs, p, if (tag == .mod_expr) .integer else .arithmetic)) {8441 },
7970 switch (tag) {8442 .additive => {
7971 .mul_expr => if (try lhs.val.mul(lhs.val, rhs.val, lhs.qt, p.comp) and8443 const tag: std.meta.Tag(Node) = switch (p.tok_ids[operator]) {
7972 lhs.qt.signedness(p.comp) != .unsigned) try p.err(tok, .overflow, .{lhs}),8444 .plus => .add_expr,
7973 .div_expr => if (try lhs.val.div(lhs.val, rhs.val, lhs.qt, p.comp) and8445 .minus => .sub_expr,
7974 lhs.qt.signedness(p.comp) != .unsigned) try p.err(tok, .overflow, .{lhs}),8446 else => unreachable,
7975 .mod_expr => {8447 };
7976 var res = try Value.rem(lhs.val, rhs.val, lhs.qt, p.comp);8448 // We'll want to check this for invalid pointer arithmetic.
7977 if (res.opt_ref == .none) {8449 const original_lhs_qt = lhs.qt;
7978 if (p.in_macro) {8450
7979 // match clang behavior by defining invalid remainder to be zero in macros8451 try lhs.adjustTypes(operator, &rhs, p, if (tag == .add_expr) .add else .sub);
7980 res = .zero;8452 if (try lhs.shouldEval(&rhs, p, eval)) {
8453 const lhs_sk = lhs.qt.scalarKind(p.comp);
8454 if (tag == .add_expr) {
8455 if (try lhs.val.add(lhs.val, rhs.val, lhs.qt, p.comp)) {
8456 if (lhs_sk.isPointer()) {
8457 const increment = lhs;
8458 const ptr_bits = p.comp.type_store.intptr.bitSizeof(p.comp);
8459 const element_size = increment.qt.childType(p.comp).sizeofOrNull(p.comp) orelse 1;
8460 const max_elems = p.comp.maxArrayBytes() / element_size;
8461
8462 try p.err(operator, .array_overflow, .{ increment, ptr_bits, element_size * 8, element_size, max_elems });
8463 } else if (lhs.qt.signedness(p.comp) != .unsigned) {
8464 try p.err(operator, .overflow, .{lhs});
8465 }
8466 }
8467 } else {
8468 const elem_size = if (original_lhs_qt.isPointer(p.comp)) original_lhs_qt.childType(p.comp).sizeofOrNull(p.comp) orelse 1 else 1;
8469 if (elem_size == 0 and rhs.qt.isPointer(p.comp)) {
8470 lhs.val = .{};
7981 } else {8471 } else {
7982 try lhs.saveValue(p);8472 if (try lhs.val.sub(lhs.val, rhs.val, lhs.qt, elem_size, p.comp) and
7983 try rhs.saveValue(p);8473 lhs.qt.signedness(p.comp) != .unsigned)
8474 {
8475 try p.err(operator, .overflow, .{lhs});
8476 }
7984 }8477 }
7985 }8478 }
7986 lhs.val = res;8479 }
7987 },8480 if (!lhs.qt.isInvalid()) {
7988 else => unreachable,8481 const lhs_sk = original_lhs_qt.scalarKind(p.comp);
7989 }8482 if (lhs_sk == .pointer and original_lhs_qt.childType(p.comp).hasIncompleteSize(p.comp)) {
7990 }8483 try p.err(operator, .ptr_arithmetic_incomplete, .{original_lhs_qt.childType(p.comp)});
79918484 lhs.qt = .invalid;
7992 try lhs.bin(p, tag, rhs, tok);8485 }
7993 }8486 }
7994 return lhs;8487 try lhs.bin(p, tag, rhs, operator);
7995}8488 },
8489 .multiplicative => {
8490 const tag: std.meta.Tag(Node) = switch (p.tok_ids[operator]) {
8491 .asterisk => .mul_expr,
8492 .slash => .div_expr,
8493 .percent => .mod_expr,
8494 else => unreachable,
8495 };
79968496
7997/// castExpr8497 try lhs.adjustTypes(operator, &rhs, p, if (tag == .mod_expr) .integer else .arithmetic);
7998/// : '(' compoundStmt ')' suffixExpr*8498 if (eval and tag != .mul_expr and !lhs.qt.isInvalid() and lhs.qt.isInt(p.comp) and rhs.val.isZero(p.comp)) {
7999/// | '(' typeName ')' castExpr8499 lhs.val = .{};
8000/// | '(' typeName ')' '{' initializerItems '}'8500 try p.err(operator, .division_by_zero, if (tag == .div_expr) .{"division"} else .{"remainder"});
8001/// | unExpr8501 }
8002fn castExpr(p: *Parser) Error!?Result {
8003 if (p.eatToken(.l_paren)) |l_paren| cast_expr: {
8004 if (p.tok_ids[p.tok_i] == .l_brace) {
8005 const tok = p.tok_i;
8006 try p.err(p.tok_i, .gnu_statement_expression, .{});
8007 if (p.func.qt == null) {
8008 try p.err(p.tok_i, .stmt_expr_not_allowed_file_scope, .{});
8009 return error.ParsingFailed;
8010 }
8011 var stmt_expr_state: StmtExprState = .{};
8012 const body_node = (try p.compoundStmt(false, &stmt_expr_state)).?; // compoundStmt only returns null if .l_brace isn't the first token
80138502
8014 var res: Result = .{8503 if (try lhs.shouldEval(&rhs, p, eval)) {
8015 .node = body_node,8504 switch (tag) {
8016 .qt = stmt_expr_state.last_expr_qt,8505 .mul_expr => if (try lhs.val.mul(lhs.val, rhs.val, lhs.qt, p.comp) and
8017 };8506 lhs.qt.signedness(p.comp) != .unsigned) try p.err(operator, .overflow, .{lhs}),
8018 try p.expectClosing(l_paren, .r_paren);8507 .div_expr => if (try lhs.val.div(lhs.val, rhs.val, lhs.qt, p.comp) and
8019 try res.un(p, .stmt_expr, tok);8508 lhs.qt.signedness(p.comp) != .unsigned) try p.err(operator, .overflow, .{lhs}),
8020 while (try p.suffixExpr(res)) |suffix| {8509 .mod_expr => {
8021 res = suffix;8510 const res = try Value.rem(lhs.val, rhs.val, lhs.qt, p.comp);
8022 }8511 if (res.opt_ref == .none) {
8023 return res;8512 try lhs.saveValue(p);
8024 }8513 try rhs.saveValue(p);
8025 const ty = (try p.typeName()) orelse {8514 }
8026 p.tok_i -= 1;8515 lhs.val = res;
8027 break :cast_expr;8516 },
8028 };8517 else => unreachable,
8029 try p.expectClosing(l_paren, .r_paren);8518 }
8519 }
80308520
8031 if (p.tok_ids[p.tok_i] == .l_brace) {8521 try lhs.bin(p, tag, rhs, operator);
8032 var lhs = (try p.compoundLiteral(ty, l_paren)).?;8522 },
8033 while (try p.suffixExpr(lhs)) |suffix| {
8034 lhs = suffix;
8035 }
8036 return lhs;
8037 }8523 }
8038
8039 const operand_tok = p.tok_i;
8040 var operand = try p.expect(castExpr);
8041 try operand.lvalConversion(p, operand_tok);
8042 try operand.castType(p, ty, operand_tok, l_paren);
8043 return operand;
8044 }8524 }
8045 return p.unExpr();
8046}8525}
80478526
8048/// builtinBitCast : __builtin_bit_cast '(' typeName ',' assignExpr ')'8527/// builtinBitCast : __builtin_bit_cast '(' typeName ',' assignExpr ')'
8049fn builtinBitCast(p: *Parser, builtin_tok: TokenIndex) Error!Result {8528fn builtinBitCast(p: *Parser, builtin_tok: TokenIndex) Error!Result {
8050 const l_paren = try p.expectToken(.l_paren);8529 const l_paren = try p.expectToken(.l_paren);
80518530
8052 const res_qt = (try p.typeName()) orelse {8531 const res_qt = try p.expectTypeName(.comma);
8053 try p.err(p.tok_i, .expected_type, .{});
8054 return error.ParsingFailed;
8055 };
8056
8057 _ = try p.expectToken(.comma);8532 _ = try p.expectToken(.comma);
80588533
8059 const operand_tok = p.tok_i;8534 var operand = try p.expectWithClosing(assignExpr, .r_paren);
8060 var operand = try p.expect(assignExpr);8535 try operand.lvalConversion(p);
8061 try operand.lvalConversion(p, operand_tok);
80628536
8063 try p.expectClosing(l_paren, .r_paren);8537 try p.expectClosing(l_paren, .r_paren);
80648538
...@@ -8148,15 +8622,10 @@ fn convertvector(p: *Parser, builtin_tok: TokenIndex) Error!Result {...@@ -8148,15 +8622,10 @@ fn convertvector(p: *Parser, builtin_tok: TokenIndex) Error!Result {
8148 const operand = try p.expect(assignExpr);8622 const operand = try p.expect(assignExpr);
8149 _ = try p.expectToken(.comma);8623 _ = try p.expectToken(.comma);
81508624
8151 var dest_qt = (try p.typeName()) orelse {8625 var dest_qt = try p.expectTypeName(.r_paren);
8152 try p.err(p.tok_i, .expected_type, .{});
8153 p.skipTo(.r_paren);
8154 return error.ParsingFailed;
8155 };
8156
8157 try p.expectClosing(l_paren, .r_paren);8626 try p.expectClosing(l_paren, .r_paren);
81588627
8159 if (operand.qt.isInvalid() or operand.qt.isInvalid()) {8628 if (operand.qt.isInvalid() or dest_qt.isInvalid()) {
8160 dest_qt = .invalid;8629 dest_qt = .invalid;
8161 } else check: {8630 } else check: {
8162 const operand_vec = operand.qt.get(p.comp, .vector) orelse {8631 const operand_vec = operand.qt.get(p.comp, .vector) orelse {
...@@ -8191,25 +8660,16 @@ fn convertvector(p: *Parser, builtin_tok: TokenIndex) Error!Result {...@@ -8191,25 +8660,16 @@ fn convertvector(p: *Parser, builtin_tok: TokenIndex) Error!Result {
8191fn typesCompatible(p: *Parser, builtin_tok: TokenIndex) Error!Result {8660fn typesCompatible(p: *Parser, builtin_tok: TokenIndex) Error!Result {
8192 const l_paren = try p.expectToken(.l_paren);8661 const l_paren = try p.expectToken(.l_paren);
81938662
8194 const lhs = (try p.typeName()) orelse {8663 const lhs = try p.expectTypeName(.comma);
8195 try p.err(p.tok_i, .expected_type, .{});
8196 p.skipTo(.r_paren);
8197 return error.ParsingFailed;
8198 };
8199 _ = try p.expectToken(.comma);8664 _ = try p.expectToken(.comma);
82008665
8201 const rhs = (try p.typeName()) orelse {8666 const rhs = try p.expectTypeName(.r_paren);
8202 try p.err(p.tok_i, .expected_type, .{});
8203 p.skipTo(.r_paren);
8204 return error.ParsingFailed;
8205 };
8206
8207 try p.expectClosing(l_paren, .r_paren);8667 try p.expectClosing(l_paren, .r_paren);
82088668
8209 const compatible = lhs.eql(rhs, p.comp);8669 const any_invalid = lhs.isInvalid() or rhs.isInvalid();
8210 const res: Result = .{8670 const res: Result = .{
8211 .val = Value.fromBool(compatible),8671 .val = if (any_invalid) .{} else Value.fromBool(lhs.eql(rhs, p.comp)),
8212 .qt = .int,8672 .qt = if (any_invalid) .invalid else .int,
8213 .node = try p.addNode(.{8673 .node = try p.addNode(.{
8214 .builtin_types_compatible_p = .{8674 .builtin_types_compatible_p = .{
8215 .builtin_tok = builtin_tok,8675 .builtin_tok = builtin_tok,
...@@ -8234,17 +8694,9 @@ fn builtinChooseExpr(p: *Parser) Error!Result {...@@ -8234,17 +8694,9 @@ fn builtinChooseExpr(p: *Parser) Error!Result {
82348694
8235 _ = try p.expectToken(.comma);8695 _ = try p.expectToken(.comma);
82368696
8237 const then_expr = if (cond.val.toBool(p.comp))8697 const then_expr = try p.expectResult(try p.binaryExpr(.conditional, cond.val.toBool(p.comp)));
8238 try p.expect(assignExpr)
8239 else
8240 try p.parseNoEval(assignExpr);
8241
8242 _ = try p.expectToken(.comma);8698 _ = try p.expectToken(.comma);
82438699 const else_expr = try p.expectResult(try p.binaryExpr(.conditional, !cond.val.toBool(p.comp)));
8244 const else_expr = if (!cond.val.toBool(p.comp))
8245 try p.expect(assignExpr)
8246 else
8247 try p.parseNoEval(assignExpr);
82488700
8249 try p.expectClosing(l_paren, .r_paren);8701 try p.expectClosing(l_paren, .r_paren);
82508702
...@@ -8272,14 +8724,11 @@ fn builtinVaArg(p: *Parser, builtin_tok: TokenIndex) Error!Result {...@@ -8272,14 +8724,11 @@ fn builtinVaArg(p: *Parser, builtin_tok: TokenIndex) Error!Result {
8272 const l_paren = try p.expectToken(.l_paren);8724 const l_paren = try p.expectToken(.l_paren);
8273 const va_list_tok = p.tok_i;8725 const va_list_tok = p.tok_i;
8274 var va_list = try p.expect(assignExpr);8726 var va_list = try p.expect(assignExpr);
8275 try va_list.lvalConversion(p, va_list_tok);8727 try va_list.lvalConversion(p);
82768728
8277 _ = try p.expectToken(.comma);8729 _ = try p.expectToken(.comma);
82788730
8279 const ty = (try p.typeName()) orelse {8731 const ty = try p.expectTypeName(.r_paren);
8280 try p.err(p.tok_i, .expected_type, .{});
8281 return error.ParsingFailed;
8282 };
8283 try p.expectClosing(l_paren, .r_paren);8732 try p.expectClosing(l_paren, .r_paren);
82848733
8285 if (!va_list.qt.eql(p.comp.type_store.va_list, p.comp)) {8734 if (!va_list.qt.eql(p.comp.type_store.va_list, p.comp)) {
...@@ -8342,12 +8791,15 @@ fn builtinVaArgPackLen(p: *Parser, builtin_tok: TokenIndex) Error!Result {...@@ -8342,12 +8791,15 @@ fn builtinVaArgPackLen(p: *Parser, builtin_tok: TokenIndex) Error!Result {
8342}8791}
83438792
8344fn checkVaPackFunc(p: *Parser, builtin_tok: TokenIndex, va_func_name: []const u8) !bool {8793fn checkVaPackFunc(p: *Parser, builtin_tok: TokenIndex, va_func_name: []const u8) !bool {
8345 const func_qt, _ = (try p.checkVaFunc(builtin_tok, va_func_name)) orelse return false;8794 _ = (try p.checkVaFunc(builtin_tok, va_func_name)) orelse return false;
83468795
8347 var it = Attribute.Iterator.initType(func_qt, p.comp);8796 const am = &p.tree.attr_map;
8348 while (it.next()) |item| switch (item[0].tag) {8797 for (am.attrs(p.func.decl)) |ref| {
8349 .always_inline, .gnu_inline => break,8798 const attr = am.get(ref);
8350 else => {},8799 switch (attr.args) {
8800 .always_inline, .gnu_inline => break,
8801 else => {},
8802 }
8351 } else {8803 } else {
8352 try p.err(builtin_tok, .va_func_not_always_inline, .{va_func_name});8804 try p.err(builtin_tok, .va_func_not_always_inline, .{va_func_name});
8353 return false;8805 return false;
...@@ -8364,11 +8816,8 @@ fn builtinOffsetof(p: *Parser, builtin_tok: TokenIndex, offset_kind: OffsetKind)...@@ -8364,11 +8816,8 @@ fn builtinOffsetof(p: *Parser, builtin_tok: TokenIndex, offset_kind: OffsetKind)
8364 const l_paren = try p.expectToken(.l_paren);8816 const l_paren = try p.expectToken(.l_paren);
8365 const ty_tok = p.tok_i;8817 const ty_tok = p.tok_i;
83668818
8367 const operand_qt = (try p.typeName()) orelse {8819 const operand_qt = try p.expectTypeName(.r_paren);
8368 try p.err(p.tok_i, .expected_type, .{});8820 if (operand_qt.isInvalid()) return error.ParsingFailed;
8369 p.skipTo(.r_paren);
8370 return error.ParsingFailed;
8371 };
83728821
8373 const record_ty = operand_qt.getRecord(p.comp) orelse {8822 const record_ty = operand_qt.getRecord(p.comp) orelse {
8374 try p.err(ty_tok, .offsetof_ty, .{operand_qt});8823 try p.err(ty_tok, .offsetof_ty, .{operand_qt});
...@@ -8461,8 +8910,8 @@ fn offsetofMemberDesignator(...@@ -8461,8 +8910,8 @@ fn offsetofMemberDesignator(
8461 return error.ParsingFailed;8910 return error.ParsingFailed;
8462 };8911 };
8463 var ptr = lhs;8912 var ptr = lhs;
8464 try ptr.lvalConversion(p, l_bracket_tok);8913 try ptr.lvalConversion(p);
8465 try index.lvalConversion(p, l_bracket_tok);8914 try index.lvalConversion(p);
84668915
8467 if (!index.qt.isInvalid() and index.qt.isRealInt(p.comp)) {8916 if (!index.qt.isInvalid() and index.qt.isRealInt(p.comp)) {
8468 try p.checkArrayBounds(index, lhs, l_bracket_tok);8917 try p.checkArrayBounds(index, lhs, l_bracket_tok);
...@@ -8537,14 +8986,14 @@ fn computeOffset(p: *Parser, res: Result) !Value {...@@ -8537,14 +8986,14 @@ fn computeOffset(p: *Parser, res: Result) !Value {
8537}8986}
85388987
8539/// unExpr8988/// unExpr
8540/// : (compoundLiteral | primaryExpr) suffixExpr*8989/// : primaryExpr suffixExpr*
8990/// | ('&' | '*' | '+' | '-' | '~' | '!' | '++' | '--' | keyword_extension | keyword_imag | keyword_real) unExpr
8541/// | '&&' IDENTIFIER8991/// | '&&' IDENTIFIER
8542/// | ('&' | '*' | '+' | '-' | '~' | '!' | '++' | '--' | keyword_extension | keyword_imag | keyword_real) castExpr
8543/// | keyword_sizeof unExpr8992/// | keyword_sizeof unExpr
8544/// | keyword_sizeof '(' typeName ')'8993/// | keyword_sizeof '(' typeName ')'
8545/// | keyword_alignof '(' typeName ')'8994/// | keyword_alignof '(' typeName ')'
8546/// | keyword_c23_alignof '(' typeName ')'8995/// | keyword_c23_alignof '(' typeName ')'
8547fn unExpr(p: *Parser) Error!?Result {8996fn unExpr(p: *Parser, eval: bool) Error!?Result {
8548 const gpa = p.comp.gpa;8997 const gpa = p.comp.gpa;
8549 const tok = p.tok_i;8998 const tok = p.tok_i;
8550 switch (p.tok_ids[tok]) {8999 switch (p.tok_ids[tok]) {
...@@ -8571,13 +9020,9 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8571,13 +9020,9 @@ fn unExpr(p: *Parser) Error!?Result {
8571 };9020 };
8572 },9021 },
8573 .ampersand => {9022 .ampersand => {
8574 if (p.in_macro) {
8575 try p.err(p.tok_i, .invalid_preproc_operator, .{});
8576 return error.ParsingFailed;
8577 }
8578 const orig_tok_i = p.tok_i;9023 const orig_tok_i = p.tok_i;
8579 p.tok_i += 1;9024 p.tok_i += 1;
8580 var operand = try p.expect(castExpr);9025 var operand = try p.expectResult(try p.unExpr(eval));
8581 var addr_val: Value = .{};9026 var addr_val: Value = .{};
85829027
8583 if (p.getNode(operand.node, .member_access_expr) orelse9028 if (p.getNode(operand.node, .member_access_expr) orelse
...@@ -8585,7 +9030,7 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8585,7 +9030,7 @@ fn unExpr(p: *Parser) Error!?Result {
8585 {9030 {
8586 if (access.isBitFieldWidth(&p.tree) != null) try p.err(tok, .addr_of_bitfield, .{});9031 if (access.isBitFieldWidth(&p.tree) != null) try p.err(tok, .addr_of_bitfield, .{});
8587 const lhs_qt = access.base.qt(&p.tree);9032 const lhs_qt = access.base.qt(&p.tree);
8588 if (lhs_qt.hasAttribute(p.comp, .@"packed")) {9033 if (lhs_qt.hasAttribute(&p.tree, .@"packed")) {
8589 const record_ty = lhs_qt.getRecord(p.comp).?;9034 const record_ty = lhs_qt.getRecord(p.comp).?;
8590 try p.err(orig_tok_i, .packed_member_address, .{9035 try p.err(orig_tok_i, .packed_member_address, .{
8591 record_ty.fields[access.member_index].name.lookup(p.comp),9036 record_ty.fields[access.member_index].name.lookup(p.comp),
...@@ -8624,11 +9069,11 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8624,11 +9069,11 @@ fn unExpr(p: *Parser) Error!?Result {
8624 },9069 },
8625 .asterisk => {9070 .asterisk => {
8626 p.tok_i += 1;9071 p.tok_i += 1;
8627 var operand = try p.expect(castExpr);9072 var operand = try p.expectResult(try p.unExpr(eval));
86289073
8629 switch (operand.qt.base(p.comp).type) {9074 switch (operand.qt.base(p.comp).type) {
8630 .array, .func, .pointer => {9075 .array, .func, .pointer => {
8631 try operand.lvalConversion(p, tok);9076 try operand.lvalConversion(p);
8632 operand.qt = operand.qt.childType(p.comp);9077 operand.qt = operand.qt.childType(p.comp);
8633 operand.val = .{};9078 operand.val = .{};
8634 },9079 },
...@@ -8648,8 +9093,8 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8648,8 +9093,8 @@ fn unExpr(p: *Parser) Error!?Result {
8648 .plus => {9093 .plus => {
8649 p.tok_i += 1;9094 p.tok_i += 1;
86509095
8651 var operand = try p.expect(castExpr);9096 var operand = try p.expectResult(try p.unExpr(eval));
8652 try operand.lvalConversion(p, tok);9097 try operand.lvalConversion(p);
8653 const scalar_qt = if (operand.qt.get(p.comp, .vector)) |vec| vec.elem else operand.qt;9098 const scalar_qt = if (operand.qt.get(p.comp, .vector)) |vec| vec.elem else operand.qt;
8654 if (!scalar_qt.isInt(p.comp) and !scalar_qt.isFloat(p.comp))9099 if (!scalar_qt.isInt(p.comp) and !scalar_qt.isFloat(p.comp))
8655 try p.err(tok, .invalid_argument_un, .{operand.qt});9100 try p.err(tok, .invalid_argument_un, .{operand.qt});
...@@ -8661,8 +9106,8 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8661,8 +9106,8 @@ fn unExpr(p: *Parser) Error!?Result {
8661 .minus => {9106 .minus => {
8662 p.tok_i += 1;9107 p.tok_i += 1;
86639108
8664 var operand = try p.expect(castExpr);9109 var operand = try p.expectResult(try p.unExpr(eval));
8665 try operand.lvalConversion(p, tok);9110 try operand.lvalConversion(p);
8666 const scalar_qt = if (operand.qt.get(p.comp, .vector)) |vec| vec.elem else operand.qt;9111 const scalar_qt = if (operand.qt.get(p.comp, .vector)) |vec| vec.elem else operand.qt;
8667 if (!scalar_qt.isInt(p.comp) and !scalar_qt.isFloat(p.comp))9112 if (!scalar_qt.isInt(p.comp) and !scalar_qt.isFloat(p.comp))
8668 try p.err(tok, .invalid_argument_un, .{operand.qt});9113 try p.err(tok, .invalid_argument_un, .{operand.qt});
...@@ -8679,7 +9124,7 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8679,7 +9124,7 @@ fn unExpr(p: *Parser) Error!?Result {
8679 .plus_plus => {9124 .plus_plus => {
8680 p.tok_i += 1;9125 p.tok_i += 1;
86819126
8682 var operand = try p.expect(castExpr);9127 var operand = try p.expectResult(try p.unExpr(eval));
8683 const scalar_kind = operand.qt.scalarKind(p.comp);9128 const scalar_kind = operand.qt.scalarKind(p.comp);
8684 if (scalar_kind == .void_pointer)9129 if (scalar_kind == .void_pointer)
8685 try p.err(tok, .gnu_pointer_arith, .{});9130 try p.err(tok, .gnu_pointer_arith, .{});
...@@ -8695,7 +9140,6 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8695,7 +9140,6 @@ fn unExpr(p: *Parser) Error!?Result {
8695 if (operand.qt.get(p.comp, .pointer)) |pointer| {9140 if (operand.qt.get(p.comp, .pointer)) |pointer| {
8696 try p.checkPtrArithmeticAllowed(pointer, p.tok_i, operand.node);9141 try p.checkPtrArithmeticAllowed(pointer, p.tok_i, operand.node);
8697 }9142 }
8698 try operand.usualUnaryConversion(p, tok);
86999143
8700 if (operand.val.is(.int, p.comp) or operand.val.is(.int, p.comp)) {9144 if (operand.val.is(.int, p.comp) or operand.val.is(.int, p.comp)) {
8701 if (try operand.val.add(operand.val, .one, operand.qt, p.comp))9145 if (try operand.val.add(operand.val, .one, operand.qt, p.comp))
...@@ -8710,7 +9154,7 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8710,7 +9154,7 @@ fn unExpr(p: *Parser) Error!?Result {
8710 .minus_minus => {9154 .minus_minus => {
8711 p.tok_i += 1;9155 p.tok_i += 1;
87129156
8713 var operand = try p.expect(castExpr);9157 var operand = try p.expectResult(try p.unExpr(eval));
8714 const scalar_kind = operand.qt.scalarKind(p.comp);9158 const scalar_kind = operand.qt.scalarKind(p.comp);
8715 if (scalar_kind == .void_pointer)9159 if (scalar_kind == .void_pointer)
8716 try p.err(tok, .gnu_pointer_arith, .{});9160 try p.err(tok, .gnu_pointer_arith, .{});
...@@ -8726,7 +9170,6 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8726,7 +9170,6 @@ fn unExpr(p: *Parser) Error!?Result {
8726 if (operand.qt.get(p.comp, .pointer)) |pointer| {9170 if (operand.qt.get(p.comp, .pointer)) |pointer| {
8727 try p.checkPtrArithmeticAllowed(pointer, p.tok_i, operand.node);9171 try p.checkPtrArithmeticAllowed(pointer, p.tok_i, operand.node);
8728 }9172 }
8729 try operand.usualUnaryConversion(p, tok);
87309173
8731 if (operand.val.is(.int, p.comp) or operand.val.is(.int, p.comp)) {9174 if (operand.val.is(.int, p.comp) or operand.val.is(.int, p.comp)) {
8732 if (try operand.val.decrement(operand.val, operand.qt, p.comp))9175 if (try operand.val.decrement(operand.val, operand.qt, p.comp))
...@@ -8741,8 +9184,8 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8741,8 +9184,8 @@ fn unExpr(p: *Parser) Error!?Result {
8741 .tilde => {9184 .tilde => {
8742 p.tok_i += 1;9185 p.tok_i += 1;
87439186
8744 var operand = try p.expect(castExpr);9187 var operand = try p.expectResult(try p.unExpr(eval));
8745 try operand.lvalConversion(p, tok);9188 try operand.lvalConversion(p);
8746 try operand.usualUnaryConversion(p, tok);9189 try operand.usualUnaryConversion(p, tok);
87479190
8748 const scalar_qt = if (operand.qt.get(p.comp, .vector)) |vec| vec.elem else operand.qt;9191 const scalar_qt = if (operand.qt.get(p.comp, .vector)) |vec| vec.elem else operand.qt;
...@@ -8766,8 +9209,8 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8766,8 +9209,8 @@ fn unExpr(p: *Parser) Error!?Result {
8766 .bang => {9209 .bang => {
8767 p.tok_i += 1;9210 p.tok_i += 1;
87689211
8769 var operand = try p.expect(castExpr);9212 var operand = try p.expectResult(try p.unExpr(eval));
8770 try operand.lvalConversion(p, tok);9213 try operand.lvalConversion(p);
8771 if (operand.qt.scalarKind(p.comp) == .none)9214 if (operand.qt.scalarKind(p.comp) == .none)
8772 try p.err(tok, .invalid_argument_un, .{operand.qt});9215 try p.err(tok, .invalid_argument_un, .{operand.qt});
87739216
...@@ -8788,120 +9231,88 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8788,120 +9231,88 @@ fn unExpr(p: *Parser) Error!?Result {
8788 },9231 },
8789 .keyword_sizeof => {9232 .keyword_sizeof => {
8790 p.tok_i += 1;9233 p.tok_i += 1;
8791 const expected_paren = p.tok_i;9234 const operand_tok = p.tok_i;
87929235
8793 var has_expr = false;9236 const operand_qt, const opt_node = try p.nonCastUnExpr();
8794 var res: Result = .{9237 var qt: QualType = .invalid;
8795 .node = undefined, // check has_expr9238 var val: Value = .{};
8796 };
8797 if (try p.typeName()) |qt| {
8798 res.qt = qt;
8799 try p.err(expected_paren, .expected_parens_around_typename, .{});
8800 } else if (p.eatToken(.l_paren)) |l_paren| {
8801 if (try p.typeName()) |ty| {
8802 res.qt = ty;
8803 try p.expectClosing(l_paren, .r_paren);
8804 } else {
8805 p.tok_i = expected_paren;
8806 res = try p.parseNoEval(unExpr);
8807 has_expr = true;
8808 }
8809 } else {
8810 res = try p.parseNoEval(unExpr);
8811 has_expr = true;
8812 }
8813 const operand_qt = res.qt;
88149239
8815 if (res.qt.isInvalid()) {9240 if (!operand_qt.isInvalid()) {
8816 res.val = .{};9241 const base_type = operand_qt.base(p.comp);
8817 } else {
8818 const base_type = res.qt.base(p.comp);
8819 switch (base_type.type) {9242 switch (base_type.type) {
8820 .void => try p.err(tok, .pointer_arith_void, .{"sizeof"}),9243 .void => try p.err(tok, .pointer_arith_void, .{"sizeof"}),
8821 .pointer => |pointer_ty| if (pointer_ty.decayed) |decayed_qt| {9244 .pointer => |pointer_ty| if (pointer_ty.decayed) |decayed_qt| {
8822 try p.err(tok, .sizeof_array_arg, .{ res.qt, decayed_qt });9245 try p.err(operand_tok, .sizeof_array_arg, .{ operand_qt, decayed_qt });
8823 },9246 },
8824 else => {},9247 else => {},
8825 }9248 }
88269249
8827 if (base_type.qt.sizeofOrNull(p.comp)) |size| {9250 if (operand_qt.sizeofOrNull(p.comp)) |size| {
8828 if (size == 0 and p.comp.langopts.emulate == .msvc) {9251 if (size == 0 and p.comp.langopts.emulate == .msvc) {
8829 try p.err(tok, .sizeof_returns_zero, .{});9252 try p.err(tok, .sizeof_returns_zero, .{});
8830 }9253 }
8831 res.val = try Value.int(size, p.comp);9254 val = try Value.int(size, p.comp);
8832 res.qt = p.comp.type_store.size;9255 qt = p.comp.type_store.size;
9256 } else if (!operand_qt.hasIncompleteSize(p.comp)) {
9257 // sizeof variable lenght array
9258 qt = p.comp.type_store.size;
8833 } else {9259 } else {
8834 res.val = .{};9260 try p.err(tok, .invalid_sizeof, .{operand_qt});
8835 if (res.qt.hasIncompleteSize(p.comp)) {
8836 try p.err(expected_paren - 1, .invalid_sizeof, .{res.qt});
8837 res.qt = .invalid;
8838 } else {
8839 res.qt = p.comp.type_store.size;
8840 }
8841 }9261 }
8842 }9262 }
88439263
8844 res.node = try p.addNode(.{ .sizeof_expr = .{9264 return .{
8845 .op_tok = tok,9265 .qt = qt,
8846 .qt = res.qt,9266 .node = try p.addNode(.{ .sizeof_expr = .{
8847 .expr = if (has_expr) res.node else null,9267 .op_tok = tok,
8848 .operand_qt = operand_qt,9268 .qt = qt,
8849 } });9269 .expr = opt_node,
8850 return res;9270 .operand_qt = operand_qt,
9271 } }),
9272 .val = val,
9273 };
8851 },9274 },
8852 .keyword_alignof,9275 .keyword_alignof,
8853 .keyword_alignof1,9276 .keyword_alignof1,
8854 .keyword_alignof2,9277 .keyword_alignof2,
8855 .keyword_c23_alignof,9278 .keyword_c23_alignof,
8856 => {9279 => |id| {
8857 p.tok_i += 1;9280 const gnu_keyword = switch (id) {
8858 const expected_paren = p.tok_i;9281 .keyword_alignof1, .keyword_alignof2 => true,
88599282 else => false,
8860 var has_expr = false;
8861 var res: Result = .{
8862 .node = undefined, // check has_expr
8863 };9283 };
8864 if (try p.typeName()) |qt| {9284 p.tok_i += 1;
8865 res.qt = qt;
8866 try p.err(expected_paren, .expected_parens_around_typename, .{});
8867 } else if (p.eatToken(.l_paren)) |l_paren| {
8868 if (try p.typeName()) |qt| {
8869 res.qt = qt;
8870 try p.expectClosing(l_paren, .r_paren);
8871 } else {
8872 p.tok_i = expected_paren;
8873 res = try p.parseNoEval(unExpr);
8874 has_expr = true;
8875
8876 try p.err(expected_paren, .alignof_expr, .{});
8877 }
8878 } else {
8879 res = try p.parseNoEval(unExpr);
8880 has_expr = true;
88819285
8882 try p.err(expected_paren, .alignof_expr, .{});9286 const operand_qt, const opt_node = try p.nonCastUnExpr();
8883 }9287 if (opt_node != null and !gnu_keyword) try p.err(tok, .gnu_alignof_expr, .{p.tokSlice(tok)});
8884 const operand_qt = res.qt;9288 var qt: QualType = .invalid;
9289 var val: Value = .{};
88859290
8886 if (res.qt.is(p.comp, .void)) {9291 if (operand_qt.is(p.comp, .void)) {
8887 try p.err(tok, .pointer_arith_void, .{"alignof"});9292 try p.err(tok, .pointer_arith_void, .{p.tokSlice(tok)});
8888 }9293 }
88899294
8890 if (res.qt.sizeofOrNull(p.comp) != null) {9295 if (operand_qt.sizeofOrNull(p.comp) != null) {
8891 res.val = try Value.int(res.qt.alignof(p.comp), p.comp);9296 var requested_align: ?u32 = null;
8892 res.qt = p.comp.type_store.size;9297 if (opt_node) |node| if (p.getNode(node, .decl_ref_expr)) |decl_ref| {
8893 } else if (!res.qt.isInvalid()) {9298 requested_align = p.tree.attr_map.requestedAlignment(decl_ref.decl, p.comp);
8894 try p.err(expected_paren, .invalid_alignof, .{res.qt});9299 };
8895 res.qt = .invalid;9300 val = try Value.int(requested_align orelse operand_qt.alignof(p.comp), p.comp);
9301 qt = p.comp.type_store.size;
9302 } else if (!operand_qt.isInvalid()) {
9303 try p.err(tok, .invalid_alignof, .{operand_qt});
8896 }9304 }
88979305
8898 res.node = try p.addNode(.{ .alignof_expr = .{9306 return .{
8899 .op_tok = tok,9307 .qt = qt,
8900 .qt = res.qt,9308 .node = try p.addNode(.{ .alignof_expr = .{
8901 .expr = if (has_expr) res.node else null,9309 .op_tok = tok,
8902 .operand_qt = operand_qt,9310 .qt = qt,
8903 } });9311 .expr = opt_node,
8904 return res;9312 .operand_qt = operand_qt,
9313 } }),
9314 .val = val,
9315 };
8905 },9316 },
8906 .keyword_extension => {9317 .keyword_extension => {
8907 p.tok_i += 1;9318 p.tok_i += 1;
...@@ -8909,14 +9320,14 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8909,14 +9320,14 @@ fn unExpr(p: *Parser) Error!?Result {
8909 defer p.extension_suppressed = saved_extension;9320 defer p.extension_suppressed = saved_extension;
8910 p.extension_suppressed = true;9321 p.extension_suppressed = true;
89119322
8912 return try p.expect(castExpr);9323 return try p.expectResult(try p.unExpr(eval));
8913 },9324 },
8914 .keyword_imag1, .keyword_imag2 => {9325 .keyword_imag1, .keyword_imag2 => {
8915 const imag_tok = p.tok_i;9326 const imag_tok = p.tok_i;
8916 p.tok_i += 1;9327 p.tok_i += 1;
89179328
8918 var operand = try p.expect(castExpr);9329 var operand = try p.expectResult(try p.unExpr(eval));
8919 try operand.lvalConversion(p, tok);9330 try operand.lvalConversion(p);
8920 if (operand.qt.isInvalid()) return operand;9331 if (operand.qt.isInvalid()) return operand;
89219332
8922 const scalar_kind = operand.qt.scalarKind(p.comp);9333 const scalar_kind = operand.qt.scalarKind(p.comp);
...@@ -8945,8 +9356,8 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8945,8 +9356,8 @@ fn unExpr(p: *Parser) Error!?Result {
8945 const real_tok = p.tok_i;9356 const real_tok = p.tok_i;
8946 p.tok_i += 1;9357 p.tok_i += 1;
89479358
8948 var operand = try p.expect(castExpr);9359 var operand = try p.expectResult(try p.unExpr(eval));
8949 try operand.lvalConversion(p, tok);9360 try operand.lvalConversion(p);
8950 if (operand.qt.isInvalid()) return operand;9361 if (operand.qt.isInvalid()) return operand;
8951 if (!operand.qt.isInt(p.comp) and !operand.qt.isFloat(p.comp)) {9362 if (!operand.qt.isInt(p.comp) and !operand.qt.isFloat(p.comp)) {
8952 try p.err(real_tok, .invalid_real, .{operand.qt});9363 try p.err(real_tok, .invalid_real, .{operand.qt});
...@@ -8958,10 +9369,7 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8958,10 +9369,7 @@ fn unExpr(p: *Parser) Error!?Result {
8958 return operand;9369 return operand;
8959 },9370 },
8960 else => {9371 else => {
8961 var lhs = (try p.compoundLiteral(null, null)) orelse9372 var lhs = (try p.primaryExpr(eval)) orelse return null;
8962 (try p.primaryExpr()) orelse
8963 return null;
8964
8965 while (try p.suffixExpr(lhs)) |suffix| {9373 while (try p.suffixExpr(lhs)) |suffix| {
8966 lhs = suffix;9374 lhs = suffix;
8967 }9375 }
...@@ -8970,40 +9378,46 @@ fn unExpr(p: *Parser) Error!?Result {...@@ -8970,40 +9378,46 @@ fn unExpr(p: *Parser) Error!?Result {
8970 }9378 }
8971}9379}
89729380
8973/// compoundLiteral9381/// The operand of a sizeof/alignof expression is any non-cast unary expression.
8974/// : '(' storageClassSpec* type_name ')' '{' initializer_list '}'9382fn nonCastUnExpr(p: *Parser) !struct { QualType, ?Node.Index } {
8975/// | '(' storageClassSpec* type_name ')' '{' initializer_list ',' '}'9383 const expected_paren = p.tok_i;
8976fn compoundLiteral(p: *Parser, qt_opt: ?QualType, opt_l_paren: ?TokenIndex) Error!?Result {
8977 const l_paren, const d = if (qt_opt) |some| .{ opt_l_paren.?, DeclSpec{ .qt = some } } else blk: {
8978 const l_paren = p.eatToken(.l_paren) orelse return null;
89799384
8980 var d: DeclSpec = .{ .qt = .invalid };9385 if (try p.typeName()) |qt| {
8981 const any = if (p.comp.langopts.standard.atLeast(.c23))9386 try p.err(expected_paren, .expected_parens_around_typename, .{});
8982 try p.storageClassSpec(&d)9387 return .{ qt, null };
8983 else9388 }
8984 false;
89859389
8986 switch (d.storage_class) {9390 if (p.eatToken(.l_paren)) |l_paren| {
8987 .auto, .@"extern", .typedef => |tok| {9391 if (try p.typeName()) |qt| {
8988 try p.err(tok, .invalid_compound_literal_storage_class, .{@tagName(d.storage_class)});9392 try p.expectClosing(l_paren, .r_paren);
8989 d.storage_class = .none;9393 if (p.tok_ids[p.tok_i] == .l_brace) {
8990 },9394 const res = try p.compoundLiteral(l_paren, .{ .qt = qt });
8991 .register => if (p.func.qt == null) try p.err(p.tok_i, .register_on_global_compound_literal, .{}),9395 return .{ res.qt, res.node };
8992 else => {},9396 }
9397 return .{ qt, null };
8993 }9398 }
89949399
8995 d.qt = (try p.typeName()) orelse {9400 p.tok_i = expected_paren;
8996 p.tok_i = l_paren;9401 }
8997 if (any) {9402
8998 try p.err(p.tok_i, .expected_type, .{});9403 const res = try p.expectResult(try p.unExpr(false));
8999 return error.ParsingFailed;9404 return .{ res.qt, res.node };
9000 }9405}
9001 return null;9406
9002 };9407/// compoundLiteral
9003 try p.expectClosing(l_paren, .r_paren);9408/// : '(' storageClassSpec* type_name ')' '{' initializer_list '}'
9004 break :blk .{ l_paren, d };9409/// | '(' storageClassSpec* type_name ')' '{' initializer_list ',' '}'
9005 };9410fn compoundLiteral(p: *Parser, l_paren: TokenIndex, decl_spec: DeclSpec) Error!Result {
9006 var qt = d.qt;9411 var d = decl_spec;
9412 switch (d.storage_class) {
9413 .auto, .@"extern", .typedef => |tok| {
9414 try p.err(tok, .invalid_compound_literal_storage_class, .{@tagName(d.storage_class)});
9415 d.storage_class = .none;
9416 },
9417 .register => if (p.func.qt == null) try p.err(p.tok_i, .register_on_global_compound_literal, .{}),
9418 .static, .none => {},
9419 }
9420 const qt = d.qt;
90079421
9008 var incomplete_array_ty = false;9422 var incomplete_array_ty = false;
9009 switch (qt.base(p.comp).type) {9423 switch (qt.base(p.comp).type) {
...@@ -9073,7 +9487,6 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!?Result {...@@ -9073,7 +9487,6 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!?Result {
9073 if (operand.qt.get(p.comp, .pointer)) |pointer| {9487 if (operand.qt.get(p.comp, .pointer)) |pointer| {
9074 try p.checkPtrArithmeticAllowed(pointer, p.tok_i, operand.node);9488 try p.checkPtrArithmeticAllowed(pointer, p.tok_i, operand.node);
9075 }9489 }
9076 try operand.usualUnaryConversion(p, p.tok_i);
90779490
9078 try operand.un(p, .post_inc_expr, p.tok_i);9491 try operand.un(p, .post_inc_expr, p.tok_i);
9079 return operand;9492 return operand;
...@@ -9097,7 +9510,6 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!?Result {...@@ -9097,7 +9510,6 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!?Result {
9097 if (operand.qt.get(p.comp, .pointer)) |pointer| {9510 if (operand.qt.get(p.comp, .pointer)) |pointer| {
9098 try p.checkPtrArithmeticAllowed(pointer, p.tok_i, operand.node);9511 try p.checkPtrArithmeticAllowed(pointer, p.tok_i, operand.node);
9099 }9512 }
9100 try operand.usualUnaryConversion(p, p.tok_i);
91019513
9102 try operand.un(p, .post_dec_expr, p.tok_i);9514 try operand.un(p, .post_dec_expr, p.tok_i);
9103 return operand;9515 return operand;
...@@ -9112,8 +9524,8 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!?Result {...@@ -9112,8 +9524,8 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!?Result {
9112 const index_before_conversion = index;9524 const index_before_conversion = index;
9113 var ptr = lhs;9525 var ptr = lhs;
91149526
9115 try ptr.lvalConversion(p, l_bracket);9527 try ptr.lvalConversion(p);
9116 try index.lvalConversion(p, l_bracket);9528 try index.lvalConversion(p);
9117 if (ptr.qt.get(p.comp, .pointer)) |pointer_ty| {9529 if (ptr.qt.get(p.comp, .pointer)) |pointer_ty| {
9118 ptr.qt = pointer_ty.child;9530 ptr.qt = pointer_ty.child;
9119 if (index.qt.isRealInt(p.comp)) {9531 if (index.qt.isRealInt(p.comp)) {
...@@ -9139,6 +9551,8 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!?Result {...@@ -9139,6 +9551,8 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!?Result {
9139 try p.err(l_bracket, .invalid_subscript, .{});9551 try p.err(l_bracket, .invalid_subscript, .{});
9140 }9552 }
91419553
9554 const item = try ptr.val.elem(index.val, p.comp);
9555
9142 try ptr.saveValue(p);9556 try ptr.saveValue(p);
9143 try index.saveValue(p);9557 try index.saveValue(p);
9144 ptr.node = try p.addNode(.{ .array_access_expr = .{9558 ptr.node = try p.addNode(.{ .array_access_expr = .{
...@@ -9147,6 +9561,7 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!?Result {...@@ -9147,6 +9561,7 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!?Result {
9147 .index = index.node,9561 .index = index.node,
9148 .qt = ptr.qt,9562 .qt = ptr.qt,
9149 } });9563 } });
9564 ptr.val = item;
9150 return ptr;9565 return ptr;
9151 },9566 },
9152 .period => {9567 .period => {
...@@ -9162,7 +9577,7 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!?Result {...@@ -9162,7 +9577,7 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!?Result {
9162 if (lhs.qt.is(p.comp, .array)) {9577 if (lhs.qt.is(p.comp, .array)) {
9163 var copy = lhs;9578 var copy = lhs;
9164 copy.qt = try copy.qt.decay(p.comp);9579 copy.qt = try copy.qt.decay(p.comp);
9165 try copy.implicitCast(p, .array_to_pointer, arrow);9580 try copy.implicitCast(p, .array_to_pointer);
9166 return try p.fieldAccess(copy, name, true, arrow);9581 return try p.fieldAccess(copy, name, true, arrow);
9167 }9582 }
9168 return try p.fieldAccess(lhs, name, true, arrow);9583 return try p.fieldAccess(lhs, name, true, arrow);
...@@ -9259,7 +9674,7 @@ fn fieldAccessExtra(...@@ -9259,7 +9674,7 @@ fn fieldAccessExtra(
9259 return .{ ret, offset_bits + field.layout.offset_bits };9674 return .{ ret, offset_bits + field.layout.offset_bits };
9260 };9675 };
9261 if (ctx.target_name == field.name) {9676 if (ctx.target_name == field.name) {
9262 if (ctx.check_deprecated) try p.checkDeprecatedUnavailable(field.qt, ctx.name_tok, field.name_tok);9677 if (ctx.check_deprecated) try p.checkDeprecatedUnavailable(field.field_decl, ctx.name_tok);
92639678
9264 const access: Node.MemberAccess = .{9679 const access: Node.MemberAccess = .{
9265 .access_tok = ctx.access_tok,9680 .access_tok = ctx.access_tok,
...@@ -9334,6 +9749,146 @@ fn checkComplexArg(p: *Parser, builtin_tok: TokenIndex, first_after: TokenIndex,...@@ -9334,6 +9749,146 @@ fn checkComplexArg(p: *Parser, builtin_tok: TokenIndex, first_after: TokenIndex,
9334 }9749 }
9335}9750}
93369751
9752fn checkARMExclusive(
9753 p: *Parser,
9754 tag: Builtins.Tag,
9755 builtin_tok: TokenIndex,
9756 param_tok: TokenIndex,
9757 arg: *Result,
9758 idx: u32,
9759) !void {
9760 const name = p.tokSlice(builtin_tok);
9761 const is_ldrex = switch (tag) {
9762 .aarch64 => |t| switch (t) {
9763 .__builtin_arm_ldrex, .__builtin_arm_ldaex => true,
9764 else => false,
9765 },
9766 .arm => |t| switch (t) {
9767 .__builtin_arm_ldrex, .__builtin_arm_ldrexd, .__builtin_arm_ldaex => true,
9768 else => false,
9769 },
9770 else => false,
9771 };
9772 const is_dword = switch (tag) {
9773 .arm => |t| switch (t) {
9774 .__builtin_arm_ldrexd, .__builtin_arm_strexd => true,
9775 else => false,
9776 },
9777 else => false,
9778 };
9779
9780 // Fast-path return based on arg index
9781 switch (is_ldrex) {
9782 true => switch (idx) {
9783 0 => {},
9784 else => return, // Too many arguments
9785 },
9786 false => switch (idx) {
9787 0 => return, // We check source args for strex after checking the destination
9788 1 => {},
9789 else => return, // Too many arguments
9790 },
9791 }
9792
9793 // Arg should be a pointer
9794 const orig_ptr_arg = arg.qt; // For errors
9795 const ptr_arg = orig_ptr_arg.get(p.comp, .pointer) orelse
9796 return p.err(param_tok, .builtin_arm_ldrex_strex_invalid_ptr_type, .{ name, orig_ptr_arg });
9797
9798 const ptr_arg_child = ptr_arg.child;
9799 {
9800 // Insert implicit cast to "const volatile" (ldrex) or "volatile"
9801 // (strex).
9802 var ptr_arg_child_coerced = ptr_arg_child.unqualified();
9803 switch (is_ldrex) {
9804 true => {
9805 ptr_arg_child_coerced.@"const" = true;
9806 ptr_arg_child_coerced.@"volatile" = true;
9807 },
9808 false => {
9809 ptr_arg_child_coerced.@"volatile" = true;
9810 },
9811 }
9812 const qt = try p.comp.type_store.put(p.comp.gpa, .{ .pointer = .{
9813 .child = ptr_arg_child_coerced,
9814 } });
9815 try arg.coerce(p, qt, param_tok, .{ .arg = null });
9816 }
9817
9818 // Child should be a int, float, or pointer
9819 const ptr_arg_child_scalar = ptr_arg_child.scalarKind(p.comp);
9820 const is_valid_number = (ptr_arg_child_scalar.isInt() or
9821 ptr_arg_child_scalar.isFloat()) and
9822 ptr_arg_child_scalar.isReal();
9823 if (!is_valid_number and !ptr_arg_child_scalar.isPointer()) {
9824 // Cannot continue without a valid child type
9825 return p.err(param_tok, .builtin_arm_ldrex_strex_invalid_ptr_type, .{ name, orig_ptr_arg });
9826 }
9827
9828 {
9829 // Check child type size
9830 const ptr_arg_bit_size = ptr_arg_child.bitSizeof(p.comp);
9831 var mask: u4 = @bitCast(p.comp.langopts.arm_ldrex orelse ArmLdrex.none);
9832
9833 if (is_dword) {
9834 // ldrexd has been used explicitly
9835 mask &= ArmLdrex.d_int;
9836 }
9837
9838 if (mask == 0) {
9839 // Unsupported on this CPU, no point in continuing
9840 return p.err(builtin_tok, .builtin_arm_ldrex_strex_unsupported, .{name});
9841 }
9842
9843 const supported = std.math.isPowerOfTwo(ptr_arg_bit_size) and
9844 ptr_arg_bit_size <= 64 and
9845 ptr_arg_bit_size >= 8 and
9846 (mask & (ptr_arg_bit_size / 8) != 0);
9847 if (!supported) {
9848 // "1, 2, 4 or 8" is max 12 bytes
9849 var buf: [12]u8 = undefined;
9850 var writer: std.Io.Writer = .fixed(&buf);
9851 const sizes: [4]u4 = .{ ArmLdrex.b_int, ArmLdrex.h_int, ArmLdrex.w_int, ArmLdrex.d_int };
9852 for (sizes) |size| {
9853 if (mask & size != 0) {
9854 mask &= ~size;
9855 if (writer.end == 0) {
9856 // First element
9857 writer.print("{d}", .{size}) catch break;
9858 } else if (mask != 0) {
9859 // Middle item(s) w/separator
9860 writer.print(", {d}", .{size}) catch break;
9861 } else {
9862 // Last size with multiple sizes
9863 writer.print(" or {d}", .{size}) catch break;
9864 }
9865 }
9866 }
9867
9868 try p.err(param_tok, .builtin_arm_ldrex_strex_unsupported_size, .{
9869 name,
9870 writer.buffered(),
9871 orig_ptr_arg,
9872 });
9873 }
9874 }
9875
9876 if (is_ldrex) {
9877 return; // Done for ldrex
9878 }
9879
9880 assert(idx == 1); // strex only has 2 args and we skip idx 0 at the start
9881
9882 // Set up the coercion for the value arg for strex
9883 const value_idx = p.list_buf.items[p.list_buf.items.len - 1]; // Always previous arg to ptr arg
9884 var value_arg: Result = .{
9885 .node = value_idx,
9886 .qt = value_idx.qt(&p.tree),
9887 };
9888 try value_arg.coerce(p, ptr_arg_child, value_idx.tok(&p.tree), .{ .arg = null });
9889 p.list_buf.items[p.list_buf.items.len - 1] = value_arg.node;
9890}
9891
9337fn checkElementwiseArg(9892fn checkElementwiseArg(
9338 p: *Parser,9893 p: *Parser,
9339 param_tok: TokenIndex,9894 param_tok: TokenIndex,
...@@ -9435,21 +9990,26 @@ fn callExpr(p: *Parser, lhs: Result) Error!Result {...@@ -9435,21 +9990,26 @@ fn callExpr(p: *Parser, lhs: Result) Error!Result {
94359990
9436 // We cannot refer to the function type here because the pointer to9991 // We cannot refer to the function type here because the pointer to
9437 // type_store.extra might get invalidated while parsing args.9992 // type_store.extra might get invalidated while parsing args.
9438 const func_qt, const typed_params_len, const func_kind_base = blk: {9993 const func_qt, const typed_params_len, const func_kind_base, const maybe_nonnull: ?Attribute = blk: {
9439 var base_qt = lhs.qt;9994 var base_qt = lhs.qt;
9440 if (base_qt.get(p.comp, .pointer)) |pointer_ty| base_qt = pointer_ty.child;9995 if (base_qt.get(p.comp, .pointer)) |pointer_ty| base_qt = pointer_ty.child else if (base_qt.get(p.comp, .block)) |block_ty| base_qt = block_ty.func;
9441 if (base_qt.isInvalid()) break :blk .{ base_qt, std.math.maxInt(usize), undefined };9996 if (base_qt.isInvalid()) break :blk .{ base_qt, std.math.maxInt(usize), undefined, null };
94429997
9443 const func_type_qt = base_qt.base(p.comp);9998 const func_type_qt = base_qt.base(p.comp);
9444 if (func_type_qt.type != .func) {9999 if (func_type_qt.type != .func) {
9445 try p.err(l_paren, .not_callable, .{lhs.qt});10000 try p.err(l_paren, .not_callable, .{lhs.qt});
9446 return error.ParsingFailed;10001 return error.ParsingFailed;
9447 }10002 }
9448 break :blk .{ func_type_qt.qt, func_type_qt.type.func.params.len, func_type_qt.type.func.kind };10003 break :blk .{
10004 func_type_qt.qt,
10005 func_type_qt.type.func.params.len,
10006 func_type_qt.type.func.kind,
10007 if (p.tree.calledFunctionAttr(lhs.node, .nonnull)) |info| info.attr else null,
10008 };
9449 };10009 };
945010010
9451 var func = lhs;10011 var func = lhs;
9452 try func.lvalConversion(p, l_paren);10012 try func.lvalConversion(p);
945310013
9454 const list_buf_top = p.list_buf.items.len;10014 const list_buf_top = p.list_buf.items.len;
9455 defer p.list_buf.items.len = list_buf_top;10015 defer p.list_buf.items.len = list_buf_top;
...@@ -9499,14 +10059,14 @@ fn callExpr(p: *Parser, lhs: Result) Error!Result {...@@ -9499,14 +10059,14 @@ fn callExpr(p: *Parser, lhs: Result) Error!Result {
9499 var arg = try p.expect(assignExpr);10059 var arg = try p.expect(assignExpr);
950010060
9501 if (call_expr.shouldPerformLvalConversion(arg_count)) {10061 if (call_expr.shouldPerformLvalConversion(arg_count)) {
9502 try arg.lvalConversion(p, param_tok);10062 try arg.lvalConversion(p);
9503 }10063 }
9504 if ((arg.qt.hasIncompleteSize(p.comp) and !arg.qt.is(p.comp, .void)) or arg.qt.isInvalid()) return error.ParsingFailed;10064 if ((arg.qt.hasIncompleteSize(p.comp) and !arg.qt.is(p.comp, .void)) or arg.qt.isInvalid()) return error.ParsingFailed;
950510065
9506 if (arg_count >= typed_params_len) {10066 if (arg_count >= typed_params_len) {
9507 if (call_expr.shouldPromoteVarArg(arg_count)) switch (arg.qt.base(p.comp).type) {10067 if (call_expr.shouldPromoteVarArg(arg_count)) switch (arg.qt.base(p.comp).type) {
9508 .int => |int_ty| if (int_ty == .int) try arg.castToInt(p, arg.qt.promoteInt(p.comp), param_tok),10068 .int => |int_ty| if (int_ty == .int) try arg.castToInt(p, arg.qt.promoteInt(p.comp), param_tok),
9509 .float => |float_ty| if (float_ty == .double) try arg.castToFloat(p, .double, param_tok),10069 .float => |float_ty| if (float_ty == .double) try arg.castToFloat(p, .double),
9510 else => {},10070 else => {},
9511 };10071 };
951210072
...@@ -9523,7 +10083,7 @@ fn callExpr(p: *Parser, lhs: Result) Error!Result {...@@ -9523,7 +10083,7 @@ fn callExpr(p: *Parser, lhs: Result) Error!Result {
9523 }10083 }
952410084
9525 if (func_qt.get(p.comp, .func)) |func_ty| {10085 if (func_qt.get(p.comp, .func)) |func_ty| {
9526 const param = func_ty.params[arg_count];10086 const param: Type.Func.Param = func_ty.params[arg_count];
952710087
9528 if (param.qt.get(p.comp, .pointer)) |pointer_ty| static_check: {10088 if (param.qt.get(p.comp, .pointer)) |pointer_ty| static_check: {
9529 const decayed_child_qt = pointer_ty.decayed orelse break :static_check;10089 const decayed_child_qt = pointer_ty.decayed orelse break :static_check;
...@@ -9542,6 +10102,19 @@ fn callExpr(p: *Parser, lhs: Result) Error!Result {...@@ -9542,6 +10102,19 @@ fn callExpr(p: *Parser, lhs: Result) Error!Result {
9542 }10102 }
9543 }10103 }
954410104
10105 const needs_nonnull = if (maybe_nonnull) |attr|
10106 if (attr.args.nonnull.len == 0)
10107 param.qt.isPointer(p.comp)
10108 else
10109 mem.findScalar(u32, attr.args.nonnull, @intCast(arg_count + 1)) != null
10110 else if (param.node.unpack()) |some|
10111 p.tree.attr_map.hasAttribute(some, .nonnull)
10112 else
10113 false;
10114 if (needs_nonnull and arg.val.isZero(p.comp)) {
10115 try p.err(param_tok, .non_null_argument, .{});
10116 }
10117
9545 if (call_expr.shouldCoerceArg(arg_count)) {10118 if (call_expr.shouldCoerceArg(arg_count)) {
9546 try arg.coerce(p, param.qt, param_tok, .{ .arg = param.name_tok });10119 try arg.coerce(p, param.qt, param_tok, .{ .arg = param.name_tok });
9547 }10120 }
...@@ -9683,6 +10256,8 @@ fn checkArrayBounds(p: *Parser, index: Result, array: Result, tok: TokenIndex) !...@@ -9683,6 +10256,8 @@ fn checkArrayBounds(p: *Parser, index: Result, array: Result, tok: TokenIndex) !
9683/// | CHAR_LITERAL10256/// | CHAR_LITERAL
9684/// | STRING_LITERAL10257/// | STRING_LITERAL
9685/// | '(' expr ')'10258/// | '(' expr ')'
10259/// | '(' compoundStmt ')'
10260/// | compoundLiteral
9686/// | genericSelection10261/// | genericSelection
9687/// | shufflevector10262/// | shufflevector
9688/// | convertvector10263/// | convertvector
...@@ -9690,16 +10265,79 @@ fn checkArrayBounds(p: *Parser, index: Result, array: Result, tok: TokenIndex) !...@@ -9690,16 +10265,79 @@ fn checkArrayBounds(p: *Parser, index: Result, array: Result, tok: TokenIndex) !
9690/// | chooseExpr10265/// | chooseExpr
9691/// | vaStart10266/// | vaStart
9692/// | offsetof10267/// | offsetof
9693fn primaryExpr(p: *Parser) Error!?Result {10268fn primaryExpr(p: *Parser, eval: bool) Error!?Result {
9694 if (p.eatToken(.l_paren)) |l_paren| {
9695 var grouped_expr = try p.expect(expr);
9696 try p.expectClosing(l_paren, .r_paren);
9697 try grouped_expr.un(p, .paren_expr, l_paren);
9698 return grouped_expr;
9699 }
9700
9701 const gpa = p.comp.gpa;10269 const gpa = p.comp.gpa;
9702 switch (p.tok_ids[p.tok_i]) {10270 switch (p.tok_ids[p.tok_i]) {
10271 .l_paren => {
10272 const l_paren = p.tok_i;
10273 p.tok_i += 1;
10274
10275 // Statement expression ({ ... })
10276 if (p.tok_ids[p.tok_i] == .l_brace) {
10277 const l_brace = p.tok_i;
10278
10279 try p.err(l_brace, .gnu_statement_expression, .{});
10280 if (p.func.qt == null) {
10281 try p.err(l_brace, .stmt_expr_not_allowed_file_scope, .{});
10282 return error.ParsingFailed;
10283 }
10284 var opt_node: ?Node.Index = null;
10285 const body_node = (try p.compoundStmt(false, &opt_node)).?; // compoundStmt only returns null if .l_brace isn't the first token
10286
10287 var res: Result = .{
10288 .node = body_node,
10289 .qt = if (opt_node) |node| node.qt(&p.tree) else .void,
10290 };
10291 try p.expectClosing(l_paren, .r_paren);
10292 try res.un(p, .stmt_expr, l_brace);
10293 return res;
10294 }
10295
10296 var decl_spec: DeclSpec = .{ .qt = .invalid };
10297 const any = if (p.comp.langopts.standard.atLeast(.c23))
10298 try p.storageClassSpec(&decl_spec)
10299 else
10300 false;
10301
10302 if (try p.typeName()) |ty| {
10303 try p.expectClosing(l_paren, .r_paren);
10304
10305 // Compound literal (type){ ... }
10306 if (p.tok_ids[p.tok_i] == .l_brace) {
10307 decl_spec.qt = ty;
10308 return try p.compoundLiteral(l_paren, decl_spec);
10309 } else if (any) {
10310 try p.err(l_paren + 1, .expected_expr, .{});
10311 return error.ParsingFailed;
10312 }
10313
10314 // Cast (type)unExpr
10315 const operand_tok = p.tok_i;
10316 var operand = try p.expectResult(try p.unExpr(eval));
10317 try operand.lvalConversion(p);
10318 try operand.castType(p, ty, operand_tok, l_paren);
10319 return operand;
10320 } else if (any) {
10321 // If we saw a storage class specifier then this should
10322 // have been a compound literal
10323 try p.err(p.tok_i, .expected_type, .{});
10324 return error.ParsingFailed;
10325 }
10326
10327 // Grouped expression (expr)
10328 var grouped_expr = (p.binaryExpr(.any, eval) catch |er| {
10329 if (er == error.ParsingFailed) p.skipTo(.r_paren);
10330 return er;
10331 }) orelse {
10332 try p.err(p.tok_i, .expected_expr, .{});
10333 p.skipTo(.r_paren);
10334 return error.ParsingFailed;
10335 };
10336
10337 try p.expectClosing(l_paren, .r_paren);
10338 try grouped_expr.un(p, .paren_expr, l_paren);
10339 return grouped_expr;
10340 },
9703 .identifier, .extended_identifier => {10341 .identifier, .extended_identifier => {
9704 const name_tok = try p.expectIdentifier();10342 const name_tok = try p.expectIdentifier();
9705 const name = p.tokSlice(name_tok);10343 const name = p.tokSlice(name_tok);
...@@ -9718,7 +10356,10 @@ fn primaryExpr(p: *Parser) Error!?Result {...@@ -9718,7 +10356,10 @@ fn primaryExpr(p: *Parser) Error!?Result {
9718 try p.err(name_tok, .out_of_scope_use, .{name});10356 try p.err(name_tok, .out_of_scope_use, .{name});
9719 try p.err(sym.tok, .previous_definition, .{});10357 try p.err(sym.tok, .previous_definition, .{});
9720 }10358 }
9721 try p.checkDeprecatedUnavailable(sym.qt, name_tok, sym.tok);10359
10360 try p.checkDeprecatedUnavailable(sym.node, name_tok);
10361 p.markUsed(sym.node);
10362
9722 if (sym.kind == .constexpr) {10363 if (sym.kind == .constexpr) {
9723 return .{10364 return .{
9724 .val = sym.val,10365 .val = sym.val,
...@@ -9727,7 +10368,7 @@ fn primaryExpr(p: *Parser) Error!?Result {...@@ -9727,7 +10368,7 @@ fn primaryExpr(p: *Parser) Error!?Result {
9727 .decl_ref_expr = .{10368 .decl_ref_expr = .{
9728 .name_tok = name_tok,10369 .name_tok = name_tok,
9729 .qt = sym.qt,10370 .qt = sym.qt,
9730 .decl = sym.node.unpack().?,10371 .decl = sym.node,
9731 },10372 },
9732 }),10373 }),
9733 };10374 };
...@@ -9744,13 +10385,13 @@ fn primaryExpr(p: *Parser) Error!?Result {...@@ -9744,13 +10385,13 @@ fn primaryExpr(p: *Parser) Error!?Result {
9744 .{ .enumeration_ref = .{10385 .{ .enumeration_ref = .{
9745 .name_tok = name_tok,10386 .name_tok = name_tok,
9746 .qt = sym.qt,10387 .qt = sym.qt,
9747 .decl = sym.node.unpack().?,10388 .decl = sym.node,
9748 } }10389 } }
9749 else10390 else
9750 .{ .decl_ref_expr = .{10391 .{ .decl_ref_expr = .{
9751 .name_tok = name_tok,10392 .name_tok = name_tok,
9752 .qt = sym.qt,10393 .qt = sym.qt,
9753 .decl = sym.node.unpack().?,10394 .decl = sym.node,
9754 } });10395 } });
975510396
9756 const res: Result = .{10397 const res: Result = .{
...@@ -9832,7 +10473,7 @@ fn primaryExpr(p: *Parser) Error!?Result {...@@ -9832,7 +10473,7 @@ fn primaryExpr(p: *Parser) Error!?Result {
9832 });10473 });
983310474
9834 try p.decl_buf.append(gpa, node);10475 try p.decl_buf.append(gpa, node);
9835 try p.syms.declareSymbol(p, interned_name, func_qt, name_tok, node);10476 _ = try p.syms.declareSymbol(p, interned_name, func_qt, name_tok, node);
983610477
9837 return .{10478 return .{
9838 .qt = func_qt,10479 .qt = func_qt,
...@@ -9862,7 +10503,6 @@ fn primaryExpr(p: *Parser) Error!?Result {...@@ -9862,7 +10503,6 @@ fn primaryExpr(p: *Parser) Error!?Result {
9862 },10503 },
9863 }),10504 }),
9864 };10505 };
9865 std.debug.assert(!p.in_macro); // Should have been replaced with .one / .zero
9866 try res.putValue(p);10506 try res.putValue(p);
9867 return res;10507 return res;
9868 },10508 },
...@@ -9969,31 +10609,8 @@ fn primaryExpr(p: *Parser) Error!?Result {...@@ -9969,31 +10609,8 @@ fn primaryExpr(p: *Parser) Error!?Result {
9969 .empty_char_literal,10609 .empty_char_literal,
9970 .unterminated_char_literal,10610 .unterminated_char_literal,
9971 => return try p.charLiteral(),10611 => return try p.charLiteral(),
9972 .zero => {
9973 defer p.tok_i += 1;
9974 const int_qt: QualType = if (p.in_macro) p.comp.type_store.intmax else .int;
9975 const res: Result = .{
9976 .val = .zero,
9977 .qt = int_qt,
9978 .node = try p.addNode(.{ .int_literal = .{ .qt = int_qt, .literal_tok = p.tok_i } }),
9979 };
9980 try res.putValue(p);
9981 return res;
9982 },
9983 .one => {
9984 defer p.tok_i += 1;
9985 const int_qt: QualType = if (p.in_macro) p.comp.type_store.intmax else .int;
9986 const res: Result = .{
9987 .val = .one,
9988 .qt = int_qt,
9989 .node = try p.addNode(.{ .int_literal = .{ .qt = int_qt, .literal_tok = p.tok_i } }),
9990 };
9991 try res.putValue(p);
9992 return res;
9993 },
9994 .pp_num => return try p.ppNum(),10612 .pp_num => return try p.ppNum(),
9995 .embed_byte => {10613 .embed_byte => {
9996 assert(!p.in_macro);
9997 const loc = p.pp.tokens.items(.loc)[p.tok_i];10614 const loc = p.pp.tokens.items(.loc)[p.tok_i];
9998 defer p.tok_i += 1;10615 defer p.tok_i += 1;
9999 const buf = p.comp.getSource(.generated).buf[loc.byte_offset..];10616 const buf = p.comp.getSource(.generated).buf[loc.byte_offset..];
...@@ -10026,7 +10643,7 @@ fn makePredefinedIdentifier(p: *Parser, slice: []const u8) !Result {...@@ -10026,7 +10643,7 @@ fn makePredefinedIdentifier(p: *Parser, slice: []const u8) !Result {
10026 const val = try Value.intern(p.comp, .{ .bytes = slice });10643 const val = try Value.intern(p.comp, .{ .bytes = slice });
1002710644
10028 const str_lit = try p.addNode(.{ .string_literal_expr = .{ .qt = array_qt, .literal_tok = p.tok_i, .kind = .ascii } });10645 const str_lit = try p.addNode(.{ .string_literal_expr = .{ .qt = array_qt, .literal_tok = p.tok_i, .kind = .ascii } });
10029 if (!p.in_macro) try p.tree.value_map.put(gpa, str_lit, val);10646 try p.tree.value_map.put(gpa, str_lit, val);
1003010647
10031 return .{ .qt = array_qt, .node = try p.addNode(.{10648 return .{ .qt = array_qt, .node = try p.addNode(.{
10032 .variable = .{10649 .variable = .{
...@@ -10180,127 +10797,42 @@ fn stringLiteral(p: *Parser) Error!Result {...@@ -10180,127 +10797,42 @@ fn stringLiteral(p: *Parser) Error!Result {
10180}10797}
1018110798
10182fn charLiteral(p: *Parser) Error!?Result {10799fn charLiteral(p: *Parser) Error!?Result {
10183 defer p.tok_i += 1;10800 const literal = p.tok_i;
10184 const tok_id = p.tok_ids[p.tok_i];10801 p.tok_i += 1;
10802
10803 const tok_id = p.tok_ids[literal];
10185 const char_kind = text_literal.Kind.classify(tok_id, .char_literal) orelse {10804 const char_kind = text_literal.Kind.classify(tok_id, .char_literal) orelse {
10186 if (tok_id == .empty_char_literal) {10805 if (tok_id == .empty_char_literal) {
10187 try p.err(p.tok_i, .empty_char_literal_error, .{});10806 try p.err(literal, .empty_char_literal_error, .{});
10188 } else if (tok_id == .unterminated_char_literal) {10807 } else if (tok_id == .unterminated_char_literal) {
10189 try p.err(p.tok_i, .unterminated_char_literal_error, .{});10808 try p.err(literal, .unterminated_char_literal_error, .{});
10190 } else unreachable;10809 } else unreachable;
10191 return .{10810 return .{
10192 .qt = .int,10811 .qt = .int,
10193 .val = .zero,10812 .val = .zero,
10194 .node = try p.addNode(.{ .char_literal = .{ .qt = .int, .literal_tok = p.tok_i, .kind = .ascii } }),10813 .node = try p.addNode(.{ .char_literal = .{ .qt = .int, .literal_tok = literal, .kind = .ascii } }),
10195 };10814 };
10196 };10815 };
10197 if (char_kind == .utf_8) try p.err(p.tok_i, .u8_char_lit, .{});
10198 var val: u32 = 0;
10199
10200 const gpa = p.comp.gpa;
10201 const slice = char_kind.contentSlice(p.tokSlice(p.tok_i));
1020210816
10203 var is_multichar = false;10817 var char_literal_parser: text_literal.Parser = .{
10204 if (slice.len == 1 and std.ascii.isAscii(slice[0])) {10818 .comp = p.comp,
10205 // fast path: single unescaped ASCII char10819 .literal = char_kind.contentSlice(p.tokSlice(literal)),
10206 val = slice[0];10820 .kind = char_kind,
10207 } else {10821 .max_codepoint = char_kind.maxCodepoint(p.comp),
10208 const max_codepoint = char_kind.maxCodepoint(p.comp);10822 .loc = p.pp.tokens.items(.loc)[literal],
10209 var char_literal_parser: text_literal.Parser = .{10823 .expansion_locs = p.pp.expansionSlice(literal),
10210 .comp = p.comp,10824 };
10211 .literal = slice,10825 const parsed = try char_literal_parser.parse();
10212 .kind = char_kind,
10213 .max_codepoint = max_codepoint,
10214 .loc = p.pp.tokens.items(.loc)[p.tok_i],
10215 .expansion_locs = p.pp.expansionSlice(p.tok_i),
10216 };
10217
10218 const max_chars_expected = 4;
10219 var bfa_buf: [max_chars_expected]u32 = undefined;
10220 var bfa: std.heap.BufferFirstAllocator = .init(@ptrCast(&bfa_buf), gpa);
10221 const allocator = bfa.allocator();
10222 var chars: std.ArrayList(u32) = .empty;
10223 defer chars.deinit(allocator);
10224
10225 chars.ensureUnusedCapacity(allocator, max_chars_expected) catch unreachable; // stack allocation already succeeded
10226
10227 while (try char_literal_parser.next()) |item| switch (item) {
10228 .value => |v| try chars.append(allocator, v),
10229 .codepoint => |c| try chars.append(allocator, c),
10230 .improperly_encoded => |s| {
10231 try chars.ensureUnusedCapacity(allocator, s.len);
10232 for (s) |c| chars.appendAssumeCapacity(c);
10233 },
10234 .utf8_text => |view| {
10235 var it = view.iterator();
10236 var max_codepoint_seen: u21 = 0;
10237 try chars.ensureUnusedCapacity(allocator, view.bytes.len);
10238 while (it.nextCodepoint()) |c| {
10239 max_codepoint_seen = @max(max_codepoint_seen, c);
10240 chars.appendAssumeCapacity(c);
10241 }
10242 if (max_codepoint_seen > max_codepoint) {
10243 try char_literal_parser.err(.char_too_large, .{});
10244 }
10245 },
10246 };
10247
10248 is_multichar = chars.items.len > 1;
10249 if (is_multichar) {
10250 if (char_kind == .char and chars.items.len == 4) {
10251 try char_literal_parser.warn(.four_char_char_literal, .{});
10252 } else if (char_kind == .char) {
10253 try char_literal_parser.warn(.multichar_literal_warning, .{});
10254 } else {
10255 const kind: []const u8 = switch (char_kind) {
10256 .wide => "wide",
10257 .utf_8, .utf_16, .utf_32 => "Unicode",
10258 else => unreachable,
10259 };
10260 try char_literal_parser.err(.invalid_multichar_literal, .{kind});
10261 }
10262 }
10263
10264 var multichar_overflow = false;
10265 if (char_kind == .char and is_multichar) {
10266 for (chars.items) |item| {
10267 val, const overflowed = @shlWithOverflow(val, 8);
10268 multichar_overflow = multichar_overflow or overflowed != 0;
10269 val += @as(u8, @truncate(item));
10270 }
10271 } else if (chars.items.len > 0) {
10272 val = chars.items[chars.items.len - 1];
10273 }
10274
10275 if (multichar_overflow) {
10276 try char_literal_parser.err(.char_lit_too_wide, .{});
10277 }
10278 }
1027910826
10280 const char_literal_qt = char_kind.charLiteralType(p.comp);10827 const char_literal_qt = char_kind.charLiteralType(p.comp);
10281 // This is the type the literal will have if we're in a macro; macros always operate on intmax_t/uintmax_t values
10282 const macro_qt = if (char_literal_qt.signedness(p.comp) == .unsigned or
10283 (char_kind == .char and p.comp.getCharSignedness() == .unsigned))
10284 try p.comp.type_store.intmax.makeIntUnsigned(p.comp)
10285 else
10286 p.comp.type_store.intmax;
10287
10288 var value = try Value.int(val, p.comp);
10289 // C99 6.4.4.4.10
10290 // > If an integer character constant contains a single character or escape sequence,
10291 // > its value is the one that results when an object with type char whose value is
10292 // > that of the single character or escape sequence is converted to type int.
10293 // This conversion only matters if `char` is signed and has a high-order bit of `1`
10294 if (char_kind == .char and !is_multichar and val > 0x7F and p.comp.getCharSignedness() == .signed) {
10295 _ = try value.intCast(.char, p.comp);
10296 }
10297
10298 const res: Result = .{10828 const res: Result = .{
10299 .qt = if (p.in_macro) macro_qt else char_literal_qt,10829 .qt = char_literal_qt,
10300 .val = value,10830 .val = switch (parsed) {
10831 inline else => |v| try Value.int(v, p.comp),
10832 },
10301 .node = try p.addNode(.{ .char_literal = .{10833 .node = try p.addNode(.{ .char_literal = .{
10302 .qt = char_literal_qt,10834 .qt = char_literal_qt,
10303 .literal_tok = p.tok_i,10835 .literal_tok = literal,
10304 .kind = switch (char_kind) {10836 .kind = switch (char_kind) {
10305 .char, .unterminated => .ascii,10837 .char, .unterminated => .ascii,
10306 .wide => .wide,10838 .wide => .wide,
...@@ -10310,11 +10842,11 @@ fn charLiteral(p: *Parser) Error!?Result {...@@ -10310,11 +10842,11 @@ fn charLiteral(p: *Parser) Error!?Result {
10310 },10842 },
10311 } }),10843 } }),
10312 };10844 };
10313 if (!p.in_macro) try p.tree.value_map.put(gpa, res.node, res.val);10845 try p.tree.value_map.put(p.comp.gpa, res.node, res.val);
10314 return res;10846 return res;
10315}10847}
1031610848
10317fn parseFloat(p: *Parser, buf: []const u8, suffix: NumberSuffix, tok_i: TokenIndex) !Result {10849fn parseFloat(p: *Parser, buf: []const u8, suffix: number_literal.Suffix, tok_i: TokenIndex) !Result {
10318 const qt: QualType = switch (suffix) {10850 const qt: QualType = switch (suffix) {
10319 .None, .I => .double,10851 .None, .I => .double,
10320 .F, .IF => .float,10852 .F, .IF => .float,
...@@ -10352,21 +10884,21 @@ fn parseFloat(p: *Parser, buf: []const u8, suffix: NumberSuffix, tok_i: TokenInd...@@ -10352,21 +10884,21 @@ fn parseFloat(p: *Parser, buf: []const u8, suffix: NumberSuffix, tok_i: TokenInd
10352 else => unreachable,10884 else => unreachable,
10353 };10885 };
10354 });10886 });
10355 var res = Result{10887 var res: Result = .{
10356 .qt = qt,10888 .qt = qt,
10357 .node = try p.addNode(.{ .float_literal = .{ .qt = qt, .literal_tok = tok_i } }),10889 .node = try p.addNode(.{ .float_literal = .{ .qt = qt, .literal_tok = tok_i } }),
10358 .val = val,10890 .val = val,
10359 };10891 };
10360 if (suffix.isImaginary()) {10892 if (suffix.isImaginary()) {
10361 try p.err(p.tok_i, .gnu_imaginary_constant, .{});10893 try p.err(tok_i, .gnu_imaginary_constant, .{});
10362 res.qt = try qt.toComplex(p.comp);10894 res.qt = try qt.toComplex(p.comp);
1036310895
10364 res.val = try Value.intern(p.comp, switch (res.qt.bitSizeof(p.comp)) {10896 res.val = try Value.intern(p.comp, switch (qt.bitSizeof(p.comp)) {
10365 32 => .{ .complex = .{ .cf16 = .{ 0.0, val.toFloat(f16, p.comp) } } },10897 16 => .{ .complex = .{ .cf16 = .{ 0.0, val.toFloat(f16, p.comp) } } },
10366 64 => .{ .complex = .{ .cf32 = .{ 0.0, val.toFloat(f32, p.comp) } } },10898 32 => .{ .complex = .{ .cf32 = .{ 0.0, val.toFloat(f32, p.comp) } } },
10367 128 => .{ .complex = .{ .cf64 = .{ 0.0, val.toFloat(f64, p.comp) } } },10899 64 => .{ .complex = .{ .cf64 = .{ 0.0, val.toFloat(f64, p.comp) } } },
10368 160 => .{ .complex = .{ .cf80 = .{ 0.0, val.toFloat(f80, p.comp) } } },10900 80 => .{ .complex = .{ .cf80 = .{ 0.0, val.toFloat(f80, p.comp) } } },
10369 256 => .{ .complex = .{ .cf128 = .{ 0.0, val.toFloat(f128, p.comp) } } },10901 128 => .{ .complex = .{ .cf128 = .{ 0.0, val.toFloat(f128, p.comp) } } },
10370 else => unreachable,10902 else => unreachable,
10371 });10903 });
10372 try res.un(p, .imaginary_literal, tok_i);10904 try res.un(p, .imaginary_literal, tok_i);
...@@ -10374,54 +10906,7 @@ fn parseFloat(p: *Parser, buf: []const u8, suffix: NumberSuffix, tok_i: TokenInd...@@ -10374,54 +10906,7 @@ fn parseFloat(p: *Parser, buf: []const u8, suffix: NumberSuffix, tok_i: TokenInd
10374 return res;10906 return res;
10375}10907}
1037610908
10377fn getIntegerPart(p: *Parser, buf: []const u8, prefix: NumberPrefix, tok_i: TokenIndex) ![]const u8 {10909fn fixedSizeInt(p: *Parser, base: u8, buf: []const u8, suffix: number_literal.Suffix, tok_i: TokenIndex) !Result {
10378 if (buf[0] == '.') return "";
10379
10380 if (!prefix.digitAllowed(buf[0])) {
10381 switch (prefix) {
10382 .binary => try p.err(tok_i, .invalid_binary_digit, .{text_literal.Ascii.init(buf[0])}),
10383 .octal => try p.err(tok_i, .invalid_octal_digit, .{text_literal.Ascii.init(buf[0])}),
10384 .hex => try p.err(tok_i, .invalid_int_suffix, .{buf}),
10385 .decimal => unreachable,
10386 }
10387 return error.ParsingFailed;
10388 }
10389
10390 for (buf, 0..) |c, idx| {
10391 if (idx == 0) continue;
10392 switch (c) {
10393 '.' => return buf[0..idx],
10394 'p', 'P' => return if (prefix == .hex) buf[0..idx] else {
10395 try p.err(tok_i, .invalid_int_suffix, .{buf[idx..]});
10396 return error.ParsingFailed;
10397 },
10398 'e', 'E' => {
10399 switch (prefix) {
10400 .hex => continue,
10401 .decimal => return buf[0..idx],
10402 .binary => try p.err(tok_i, .invalid_binary_digit, .{text_literal.Ascii.init(c)}),
10403 .octal => try p.err(tok_i, .invalid_octal_digit, .{text_literal.Ascii.init(c)}),
10404 }
10405 return error.ParsingFailed;
10406 },
10407 '0'...'9', 'a'...'d', 'A'...'D', 'f', 'F' => {
10408 if (!prefix.digitAllowed(c)) {
10409 switch (prefix) {
10410 .binary => try p.err(tok_i, .invalid_binary_digit, .{text_literal.Ascii.init(c)}),
10411 .octal => try p.err(tok_i, .invalid_octal_digit, .{text_literal.Ascii.init(c)}),
10412 .decimal, .hex => try p.err(tok_i, .invalid_int_suffix, .{buf[idx..]}),
10413 }
10414 return error.ParsingFailed;
10415 }
10416 },
10417 '\'' => {},
10418 else => return buf[0..idx],
10419 }
10420 }
10421 return buf;
10422}
10423
10424fn fixedSizeInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok_i: TokenIndex) !Result {
10425 var val: u64 = 0;10910 var val: u64 = 0;
10426 var overflow = false;10911 var overflow = false;
10427 for (buf) |c| {10912 for (buf) |c| {
...@@ -10477,21 +10962,34 @@ fn fixedSizeInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok...@@ -10477,21 +10962,34 @@ fn fixedSizeInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok
10477 .ULL, .IULL => .ulong_long,10962 .ULL, .IULL => .ulong_long,
10478 .L, .IL => .long,10963 .L, .IL => .long,
10479 .LL, .ILL => .long_long,10964 .LL, .ILL => .long_long,
10965 .I8 => p.getMSVCIntSuffixType(.@"8", .signed),
10966 .UI8 => p.getMSVCIntSuffixType(.@"8", .unsigned),
10967 .I16 => p.getMSVCIntSuffixType(.@"16", .signed),
10968 .UI16 => p.getMSVCIntSuffixType(.@"16", .unsigned),
10969 .I32 => p.getMSVCIntSuffixType(.@"32", .signed),
10970 .UI32 => p.getMSVCIntSuffixType(.@"32", .unsigned),
10971 .I64 => p.getMSVCIntSuffixType(.@"64", .signed),
10972 .UI64 => p.getMSVCIntSuffixType(.@"64", .unsigned),
10480 else => unreachable,10973 else => unreachable,
10481 };10974 };
1048210975
10483 for (qts) |qt| {10976 if (suffix.isMSVCExtension()) {
10484 res.qt = qt;10977 res.qt = suffix_qt; // No type promotion for MSVC suffixes
10485 if (res.qt.intRankOrder(suffix_qt, p.comp).compare(.lt)) continue;10978 _ = try res.val.intCast(suffix_qt, p.comp); // No diagnostic for truncation or sign change for MSVC exact-width types
10486 const max_int = try Value.maxInt(res.qt, p.comp);10979 } else {
10487 if (interned_val.compare(.lte, max_int, p.comp)) break;10980 for (qts) |qt| {
10488 } else switch (p.comp.langopts.emulate) {10981 res.qt = qt;
10489 .no, .gcc => if (p.comp.target.hasInt128()) {10982 if (res.qt.intRankOrder(suffix_qt, p.comp).compare(.lt)) continue;
10490 res.qt = .int128;10983 const max_int = try Value.maxInt(res.qt, p.comp);
10491 } else {10984 if (interned_val.compare(.lte, max_int, p.comp)) break;
10492 res.qt = .long_long;10985 } else switch (p.comp.langopts.emulate) {
10493 },10986 .no, .gcc => if (p.comp.target.hasInt128()) {
10494 .msvc, .clang => res.qt = .ulong_long,10987 res.qt = .int128;
10988 } else {
10989 res.qt = .long_long;
10990 },
10991 .msvc, .clang => res.qt = .ulong_long,
10992 }
10495 }10993 }
1049610994
10497 res.node = try p.addNode(.{ .int_literal = .{ .qt = res.qt, .literal_tok = tok_i } });10995 res.node = try p.addNode(.{ .int_literal = .{ .qt = res.qt, .literal_tok = tok_i } });
...@@ -10499,10 +10997,7 @@ fn fixedSizeInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok...@@ -10499,10 +10997,7 @@ fn fixedSizeInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok
10499 return res;10997 return res;
10500}10998}
1050110999
10502fn parseInt(p: *Parser, prefix: NumberPrefix, buf: []const u8, suffix: NumberSuffix, tok_i: TokenIndex) !Result {11000fn parseInt(p: *Parser, prefix: number_literal.Prefix, buf: []const u8, suffix: number_literal.Suffix, tok_i: TokenIndex) !Result {
10503 if (prefix == .binary) {
10504 try p.err(tok_i, .binary_integer_literal, .{});
10505 }
10506 const base = @backingInt(prefix);11001 const base = @backingInt(prefix);
10507 var res = if (suffix.isBitInt())11002 var res = if (suffix.isBitInt())
10508 try p.bitInt(base, buf, suffix, tok_i)11003 try p.bitInt(base, buf, suffix, tok_i)
...@@ -10518,10 +11013,8 @@ fn parseInt(p: *Parser, prefix: NumberPrefix, buf: []const u8, suffix: NumberSuf...@@ -10518,10 +11013,8 @@ fn parseInt(p: *Parser, prefix: NumberPrefix, buf: []const u8, suffix: NumberSuf
10518 return res;11013 return res;
10519}11014}
1052011015
10521fn bitInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok_i: TokenIndex) Error!Result {11016fn bitInt(p: *Parser, base: u8, buf: []const u8, suffix: number_literal.Suffix, tok_i: TokenIndex) Error!Result {
10522 const gpa = p.comp.gpa;11017 const gpa = p.comp.gpa;
10523 try p.err(tok_i, .pre_c23_compat, .{"'_BitInt' suffix for literals"});
10524 try p.err(tok_i, .bitint_suffix, .{});
1052511018
10526 var managed = try big.int.Managed.init(gpa);11019 var managed = try big.int.Managed.init(gpa);
10527 defer managed.deinit();11020 defer managed.deinit();
...@@ -10565,121 +11058,32 @@ fn bitInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok_i: To...@@ -10565,121 +11058,32 @@ fn bitInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok_i: To
10565 return res;11058 return res;
10566}11059}
1056711060
10568fn getFracPart(p: *Parser, buf: []const u8, prefix: NumberPrefix, tok_i: TokenIndex) ![]const u8 {
10569 if (buf.len == 0 or buf[0] != '.') return "";
10570 assert(prefix != .octal);
10571 if (prefix == .binary) {
10572 try p.err(tok_i, .invalid_int_suffix, .{buf});
10573 return error.ParsingFailed;
10574 }
10575 for (buf, 0..) |c, idx| {
10576 if (idx == 0) continue;
10577 if (c == '\'') continue;
10578 if (!prefix.digitAllowed(c)) return buf[0..idx];
10579 }
10580 return buf;
10581}
10582
10583fn getExponent(p: *Parser, buf: []const u8, prefix: NumberPrefix, tok_i: TokenIndex) ![]const u8 {
10584 if (buf.len == 0) return "";
10585
10586 switch (buf[0]) {
10587 'e', 'E' => assert(prefix == .decimal),
10588 'p', 'P' => if (prefix != .hex) {
10589 try p.err(tok_i, .invalid_float_suffix, .{buf});
10590 return error.ParsingFailed;
10591 },
10592 else => return "",
10593 }
10594 const end = for (buf, 0..) |c, idx| {
10595 if (idx == 0) continue;
10596 if (idx == 1 and (c == '+' or c == '-')) continue;
10597 switch (c) {
10598 '0'...'9' => {},
10599 '\'' => continue,
10600 else => break idx,
10601 }
10602 } else buf.len;
10603 const exponent = buf[0..end];
10604 if (std.mem.indexOfAny(u8, exponent, "0123456789") == null) {
10605 try p.err(tok_i, .exponent_has_no_digits, .{});
10606 return error.ParsingFailed;
10607 }
10608 return exponent;
10609}
10610
10611/// Using an explicit `tok_i` parameter instead of `p.tok_i` makes it easier11061/// Using an explicit `tok_i` parameter instead of `p.tok_i` makes it easier
10612/// to parse numbers in pragma handlers.11062/// to parse numbers in pragma handlers.
10613pub fn parseNumberToken(p: *Parser, tok_i: TokenIndex) !Result {11063pub fn parseNumberToken(p: *Parser, num: TokenIndex) !Result {
10614 const buf = p.tokSlice(tok_i);11064 var number_literal_parser: number_literal.Parser = .{
10615 const prefix = NumberPrefix.fromString(buf);11065 .comp = p.comp,
10616 const after_prefix = buf[prefix.stringLen()..];11066 .literal = p.tokSlice(num),
1061711067 .loc = p.pp.tokens.items(.loc)[num],
10618 const int_part = try p.getIntegerPart(after_prefix, prefix, tok_i);11068 .expansion_locs = p.pp.expansionSlice(num),
10619
10620 const after_int = after_prefix[int_part.len..];
10621
10622 const frac = try p.getFracPart(after_int, prefix, tok_i);
10623 const after_frac = after_int[frac.len..];
10624
10625 const exponent = try p.getExponent(after_frac, prefix, tok_i);
10626 const suffix_str = after_frac[exponent.len..];
10627 const is_float = (exponent.len > 0 or frac.len > 0);
10628 const suffix = NumberSuffix.fromString(suffix_str, if (is_float) .float else .int) orelse {
10629 if (is_float) {
10630 try p.err(tok_i, .invalid_float_suffix, .{suffix_str});
10631 } else {
10632 try p.err(tok_i, .invalid_int_suffix, .{suffix_str});
10633 }
10634 return error.ParsingFailed;
10635 };11069 };
10636 if (suffix.isFloat80() and p.comp.float80Type() == null) {11070 const parsed = try number_literal_parser.parse();
10637 try p.err(tok_i, .invalid_float_suffix, .{suffix_str});
10638 return error.ParsingFailed;
10639 }
1064011071
10641 if (is_float) {11072 if (parsed.is_float) {
10642 assert(prefix == .hex or prefix == .decimal);11073 return p.parseFloat(parsed.bytes, parsed.suffix, num);
10643 if (prefix == .hex and exponent.len == 0) {
10644 try p.err(tok_i, .hex_floating_constant_requires_exponent, .{});
10645 return error.ParsingFailed;
10646 }
10647 const number = buf[0 .. buf.len - suffix_str.len];
10648 return p.parseFloat(number, suffix, tok_i);
10649 } else {11074 } else {
10650 return p.parseInt(prefix, int_part, suffix, tok_i);11075 return p.parseInt(parsed.prefix, parsed.bytes, parsed.suffix, num);
10651 }11076 }
10652}11077}
1065311078
10654fn ppNum(p: *Parser) Error!Result {11079fn ppNum(p: *Parser) Error!Result {
10655 defer p.tok_i += 1;11080 const num = p.tok_i;
10656 var res = try p.parseNumberToken(p.tok_i);11081 p.tok_i += 1;
10657 if (p.in_macro) {11082 var res = try p.parseNumberToken(num);
10658 const res_sk = res.qt.scalarKind(p.comp);11083 try res.putValue(p);
10659 if (res_sk.isFloat() or !res_sk.isReal()) {
10660 try p.err(p.tok_i, .float_literal_in_pp_expr, .{});
10661 return error.ParsingFailed;
10662 }
10663 res.qt = if (res.qt.signedness(p.comp) == .unsigned)
10664 try p.comp.type_store.intmax.makeIntUnsigned(p.comp)
10665 else
10666 p.comp.type_store.intmax;
10667 } else if (res.val.opt_ref != .none) {
10668 try res.putValue(p);
10669 }
10670 return res;11084 return res;
10671}11085}
1067211086
10673/// Run a parser function but do not evaluate the result
10674fn parseNoEval(p: *Parser, comptime func: fn (*Parser) Error!?Result) Error!Result {
10675 const no_eval = p.no_eval;
10676 defer p.no_eval = no_eval;
10677 p.no_eval = true;
10678
10679 const parsed = try func(p);
10680 return p.expectResult(parsed);
10681}
10682
10683/// genericSelection : keyword_generic '(' assignExpr ',' genericAssoc (',' genericAssoc)* ')'11087/// genericSelection : keyword_generic '(' assignExpr ',' genericAssoc (',' genericAssoc)* ')'
10684/// genericAssoc11088/// genericAssoc
10685/// : typeName ':' assignExpr11089/// : typeName ':' assignExpr
...@@ -10691,7 +11095,7 @@ fn genericSelection(p: *Parser) Error!?Result {...@@ -10691,7 +11095,7 @@ fn genericSelection(p: *Parser) Error!?Result {
10691 const l_paren = try p.expectToken(.l_paren);11095 const l_paren = try p.expectToken(.l_paren);
10692 const controlling_tok = p.tok_i;11096 const controlling_tok = p.tok_i;
1069311097
10694 const controlling = try p.parseNoEval(assignExpr);11098 const controlling = try p.expectResult(try p.binaryExpr(.conditional, false));
10695 var controlling_qt = controlling.qt;11099 var controlling_qt = controlling.qt;
10696 if (controlling_qt.is(p.comp, .array)) {11100 if (controlling_qt.is(p.comp, .array)) {
10697 controlling_qt = try controlling_qt.decay(p.comp);11101 controlling_qt = try controlling_qt.decay(p.comp);
...@@ -10809,8 +11213,12 @@ fn genericSelection(p: *Parser) Error!?Result {...@@ -10809,8 +11213,12 @@ fn genericSelection(p: *Parser) Error!?Result {
10809}11213}
1081011214
10811test "Node locations" {11215test "Node locations" {
11216 var diagnostics: Diagnostics = .{
11217 .output = .ignore,
11218 };
10812 var comp = try Compilation.init(.testing);11219 var comp = try Compilation.init(.testing);
10813 defer comp.deinit();11220 defer comp.deinit();
11221 comp.diagnostics = &diagnostics;
1081411222
10815 const file = try comp.addSourceFromBuffer("file.c",11223 const file = try comp.addSourceFromBuffer("file.c",
10816 \\int foo = 5;11224 \\int foo = 5;
lib/compiler/aro/aro/Parser/Diagnostic.zig+135-299
...@@ -43,11 +43,6 @@ pub const to_match_bracket: Diagnostic = .{...@@ -43,11 +43,6 @@ pub const to_match_bracket: Diagnostic = .{
43 .kind = .note,43 .kind = .note,
44};44};
4545
46pub const float_literal_in_pp_expr: Diagnostic = .{
47 .fmt = "floating point literal in preprocessor expression",
48 .kind = .@"error",
49};
50
51pub const expected_invalid: Diagnostic = .{46pub const expected_invalid: Diagnostic = .{
52 .fmt = "expected '{tok_id}', found invalid bytes",47 .fmt = "expected '{tok_id}', found invalid bytes",
53 .kind = .@"error",48 .kind = .@"error",
...@@ -82,6 +77,7 @@ pub const missing_type_specifier: Diagnostic = .{...@@ -82,6 +77,7 @@ pub const missing_type_specifier: Diagnostic = .{
82 .fmt = "type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int",77 .fmt = "type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int",
83 .opt = .@"implicit-int",78 .opt = .@"implicit-int",
84 .kind = .@"error",79 .kind = .@"error",
80 .suppress_unless_version = .c99,
85};81};
8682
87pub const missing_type_specifier_c23: Diagnostic = .{83pub const missing_type_specifier_c23: Diagnostic = .{
...@@ -94,6 +90,7 @@ pub const param_not_declared: Diagnostic = .{...@@ -94,6 +90,7 @@ pub const param_not_declared: Diagnostic = .{
94 .opt = .@"implicit-int",90 .opt = .@"implicit-int",
95 .kind = .@"error",91 .kind = .@"error",
96 .extension = true,92 .extension = true,
93 .suppress_unless_version = .c99,
97};94};
9895
99pub const multiple_storage_class: Diagnostic = .{96pub const multiple_storage_class: Diagnostic = .{
...@@ -101,14 +98,14 @@ pub const multiple_storage_class: Diagnostic = .{...@@ -101,14 +98,14 @@ pub const multiple_storage_class: Diagnostic = .{
101 .kind = .@"error",98 .kind = .@"error",
102};99};
103100
104pub const static_assert_failure: Diagnostic = .{101pub const static_assert_failure_message: Diagnostic = .{
105 .fmt = "static assertion failed",102 .fmt = "static assertion failed{s}",
106 .kind = .@"error",103 .kind = .@"error",
107};104};
108105
109pub const static_assert_failure_message: Diagnostic = .{106pub const static_assert_expression_evaluates_to: Diagnostic = .{
110 .fmt = "static assertion failed {s}",107 .fmt = "expression evaluates to '{s}'",
111 .kind = .@"error",108 .kind = .note,
112};109};
113110
114pub const expected_type: Diagnostic = .{111pub const expected_type: Diagnostic = .{
...@@ -206,6 +203,12 @@ pub const threadlocal_non_var: Diagnostic = .{...@@ -206,6 +203,12 @@ pub const threadlocal_non_var: Diagnostic = .{
206 .kind = .@"error",203 .kind = .@"error",
207};204};
208205
206pub const thread_before_storage: Diagnostic = .{
207 .fmt = "'__thread' before '{s}'",
208 .kind = .off,
209 .extension = true,
210};
211
209pub const func_spec_non_func: Diagnostic = .{212pub const func_spec_non_func: Diagnostic = .{
210 .fmt = "'{s}' can only appear on functions",213 .fmt = "'{s}' can only appear on functions",
211 .kind = .@"error",214 .kind = .@"error",
...@@ -265,6 +268,7 @@ pub const implicit_func_decl: Diagnostic = .{...@@ -265,6 +268,7 @@ pub const implicit_func_decl: Diagnostic = .{
265 .fmt = "call to undeclared function '{s}'; ISO C99 and later do not support implicit function declarations",268 .fmt = "call to undeclared function '{s}'; ISO C99 and later do not support implicit function declarations",
266 .opt = .@"implicit-function-declaration",269 .opt = .@"implicit-function-declaration",
267 .kind = .@"error",270 .kind = .@"error",
271 .suppress_unless_version = .c99,
268};272};
269273
270pub const unknown_builtin: Diagnostic = .{274pub const unknown_builtin: Diagnostic = .{
...@@ -428,6 +432,11 @@ pub const array_incomplete_elem: Diagnostic = .{...@@ -428,6 +432,11 @@ pub const array_incomplete_elem: Diagnostic = .{
428 .kind = .@"error",432 .kind = .@"error",
429};433};
430434
435pub const array_elem_size_not_multiple: Diagnostic = .{
436 .fmt = "size of array element of type {qt} ({d} bytes) isn't a multiple of its alignment ({d} bytes)",
437 .kind = .@"error",
438};
439
431pub const array_func_elem: Diagnostic = .{440pub const array_func_elem: Diagnostic = .{
432 .fmt = "arrays cannot have functions as their element type",441 .fmt = "arrays cannot have functions as their element type",
433 .kind = .@"error",442 .kind = .@"error",
...@@ -480,6 +489,11 @@ pub const not_assignable: Diagnostic = .{...@@ -480,6 +489,11 @@ pub const not_assignable: Diagnostic = .{
480 .kind = .@"error",489 .kind = .@"error",
481};490};
482491
492pub const cast_not_assignable: Diagnostic = .{
493 .fmt = "assignment to cast is not allowed",
494 .kind = .@"error",
495};
496
483pub const ident_or_l_brace: Diagnostic = .{497pub const ident_or_l_brace: Diagnostic = .{
484 .fmt = "expected identifier or '{'",498 .fmt = "expected identifier or '{'",
485 .kind = .@"error",499 .kind = .@"error",
...@@ -554,8 +568,8 @@ pub const expected_parens_around_typename: Diagnostic = .{...@@ -554,8 +568,8 @@ pub const expected_parens_around_typename: Diagnostic = .{
554 .kind = .@"error",568 .kind = .@"error",
555};569};
556570
557pub const alignof_expr: Diagnostic = .{571pub const gnu_alignof_expr: Diagnostic = .{
558 .fmt = "'_Alignof' applied to an expression is a GNU extension",572 .fmt = "'{s}' applied to an expression is a GNU extension",
559 .opt = .@"gnu-alignof-expression",573 .opt = .@"gnu-alignof-expression",
560 .kind = .warning,574 .kind = .warning,
561 .extension = true,575 .extension = true,
...@@ -855,6 +869,11 @@ pub const atomic_auto: Diagnostic = .{...@@ -855,6 +869,11 @@ pub const atomic_auto: Diagnostic = .{
855 .kind = .@"error",869 .kind = .@"error",
856};870};
857871
872pub const atomic_bit_int: Diagnostic = .{
873 .fmt = "_Atomic cannot be applied to integer type {qt}",
874 .kind = .@"error",
875};
876
858// pub const atomic_access: Diagnostic = .{877// pub const atomic_access: Diagnostic = .{
859// .fmt = "accessing a member of an atomic structure or union is undefined behavior",878// .fmt = "accessing a member of an atomic structure or union is undefined behavior",
860// .opt = .@"atomic-access",879// .opt = .@"atomic-access",
...@@ -886,46 +905,6 @@ pub const deref_incomplete_ty_ptr: Diagnostic = .{...@@ -886,46 +905,6 @@ pub const deref_incomplete_ty_ptr: Diagnostic = .{
886 .kind = .@"error",905 .kind = .@"error",
887};906};
888907
889pub const alignas_on_func: Diagnostic = .{
890 .fmt = "'_Alignas' attribute only applies to variables and fields",
891 .kind = .@"error",
892};
893
894pub const alignas_on_param: Diagnostic = .{
895 .fmt = "'_Alignas' attribute cannot be applied to a function parameter",
896 .kind = .@"error",
897};
898
899pub const minimum_alignment: Diagnostic = .{
900 .fmt = "requested alignment is less than minimum alignment of {d}",
901 .kind = .@"error",
902};
903
904pub const maximum_alignment: Diagnostic = .{
905 .fmt = "requested alignment of {value} is too large",
906 .kind = .@"error",
907};
908
909pub const negative_alignment: Diagnostic = .{
910 .fmt = "requested negative alignment of {value} is invalid",
911 .kind = .@"error",
912};
913
914pub const align_ignored: Diagnostic = .{
915 .fmt = "'_Alignas' attribute is ignored here",
916 .kind = .warning,
917};
918
919// pub const zero_align_ignored: Diagnostic = .{
920// .fmt = "requested alignment of zero is ignored",
921// .kind = .warning,
922// };
923
924pub const non_pow2_align: Diagnostic = .{
925 .fmt = "requested alignment is not a power of 2",
926 .kind = .@"error",
927};
928
929pub const pointer_mismatch: Diagnostic = .{908pub const pointer_mismatch: Diagnostic = .{
930 .fmt = "pointer type mismatch ({qt} and {qt})",909 .fmt = "pointer type mismatch ({qt} and {qt})",
931 .opt = .@"pointer-type-mismatch",910 .opt = .@"pointer-type-mismatch",
...@@ -1069,11 +1048,6 @@ pub const division_by_zero: Diagnostic = .{...@@ -1069,11 +1048,6 @@ pub const division_by_zero: Diagnostic = .{
1069 .opt = .@"division-by-zero",1048 .opt = .@"division-by-zero",
1070};1049};
10711050
1072pub const division_by_zero_macro: Diagnostic = .{
1073 .fmt = "{s} by zero in preprocessor expression",
1074 .kind = .@"error",
1075};
1076
1077pub const builtin_choose_cond: Diagnostic = .{1051pub const builtin_choose_cond: Diagnostic = .{
1078 .fmt = "'__builtin_choose_expr' requires a constant expression",1052 .fmt = "'__builtin_choose_expr' requires a constant expression",
1079 .kind = .@"error",1053 .kind = .@"error",
...@@ -1109,11 +1083,6 @@ pub const shufflevector_index_too_big: Diagnostic = .{...@@ -1109,11 +1083,6 @@ pub const shufflevector_index_too_big: Diagnostic = .{
1109 .kind = .@"error",1083 .kind = .@"error",
1110};1084};
11111085
1112pub const alignas_unavailable: Diagnostic = .{
1113 .fmt = "'_Alignas' attribute requires integer constant expression",
1114 .kind = .@"error",
1115};
1116
1117pub const case_val_unavailable: Diagnostic = .{1086pub const case_val_unavailable: Diagnostic = .{
1118 .fmt = "case value must be an integer constant expression",1087 .fmt = "case value must be an integer constant expression",
1119 .kind = .@"error",1088 .kind = .@"error",
...@@ -1205,19 +1174,25 @@ pub const unknown_attribute: Diagnostic = .{...@@ -1205,19 +1174,25 @@ pub const unknown_attribute: Diagnostic = .{
1205 .opt = .@"unknown-attributes",1174 .opt = .@"unknown-attributes",
1206};1175};
12071176
1208pub const ignored_attribute: Diagnostic = .{1177pub const unknown_namespaced_attribute: Diagnostic = .{
1209 .fmt = "attribute '{s}' ignored on {s}",1178 .fmt = "unknown attribute '{s}::{s}' ignored",
1179 .kind = .warning,
1180 .opt = .@"unknown-attributes",
1181};
1182
1183pub const ignored_on_types: Diagnostic = .{
1184 .fmt = "{at} attribute ignored when parsing type",
1210 .kind = .warning,1185 .kind = .warning,
1211 .opt = .@"ignored-attributes",1186 .opt = .@"ignored-attributes",
1212};1187};
12131188
1214pub const invalid_fallthrough: Diagnostic = .{1189pub const invalid_on_types: Diagnostic = .{
1215 .fmt = "fallthrough annotation does not directly precede switch label",1190 .fmt = "{at} attribute cannot be applied to types",
1216 .kind = .@"error",1191 .kind = .@"error",
1217};1192};
12181193
1219pub const cannot_apply_attribute_to_statement: Diagnostic = .{1194pub const declspec_empty_args: Diagnostic = .{
1220 .fmt = "'{s}' attribute cannot be applied to a statement",1195 .fmt = "parentheses must be omitted if '{s}' attribute's argument list is empty",
1221 .kind = .@"error",1196 .kind = .@"error",
1222};1197};
12231198
...@@ -1305,11 +1280,6 @@ pub const implicitly_unsigned_literal: Diagnostic = .{...@@ -1305,11 +1280,6 @@ pub const implicitly_unsigned_literal: Diagnostic = .{
1305 .extension = true,1280 .extension = true,
1306};1281};
13071282
1308pub const invalid_preproc_operator: Diagnostic = .{
1309 .fmt = "token is not a valid binary operator in a preprocessor subexpression",
1310 .kind = .@"error",
1311};
1312
1313pub const c99_compat: Diagnostic = .{1283pub const c99_compat: Diagnostic = .{
1314 .fmt = "using this character in an identifier is incompatible with C99",1284 .fmt = "using this character in an identifier is incompatible with C99",
1315 .kind = .off,1285 .kind = .off,
...@@ -1553,37 +1523,6 @@ pub const va_start_not_last_param: Diagnostic = .{...@@ -1553,37 +1523,6 @@ pub const va_start_not_last_param: Diagnostic = .{
1553 .kind = .warning,1523 .kind = .warning,
1554};1524};
15551525
1556pub const attribute_not_enough_args: Diagnostic = .{
1557 .fmt = "'{s}' attribute takes at least {d} argument(s)",
1558 .kind = .@"error",
1559};
1560
1561pub const attribute_too_many_args: Diagnostic = .{
1562 .fmt = "'{s}' attribute takes at most {d} argument(s)",
1563 .kind = .@"error",
1564};
1565
1566pub const attribute_arg_invalid: Diagnostic = .{
1567 .fmt = "attribute argument is invalid, expected {s} but got {s}",
1568 .kind = .@"error",
1569};
1570
1571pub const unknown_attr_enum: Diagnostic = .{
1572 .fmt = "unknown `{s}` argument. Possible values are: {s}",
1573 .kind = .warning,
1574 .opt = .@"ignored-attributes",
1575};
1576
1577pub const attribute_requires_identifier: Diagnostic = .{
1578 .fmt = "'{s}' attribute requires an identifier",
1579 .kind = .@"error",
1580};
1581
1582pub const attribute_int_out_of_range: Diagnostic = .{
1583 .fmt = "attribute value '{value}' out of range",
1584 .kind = .@"error",
1585};
1586
1587pub const declspec_not_enabled: Diagnostic = .{1526pub const declspec_not_enabled: Diagnostic = .{
1588 .fmt = "'__declspec' attributes are not enabled; use '-fdeclspec' or '-fms-extensions' to enable support for __declspec attributes",1527 .fmt = "'__declspec' attributes are not enabled; use '-fdeclspec' or '-fms-extensions' to enable support for __declspec attributes",
1589 .kind = .@"error",1528 .kind = .@"error",
...@@ -1601,9 +1540,13 @@ pub const deprecated_declarations: Diagnostic = .{...@@ -1601,9 +1540,13 @@ pub const deprecated_declarations: Diagnostic = .{
1601 .kind = .warning,1540 .kind = .warning,
1602};1541};
16031542
1543pub const deprecated_alternative: Diagnostic = .{
1544 .fmt = "use '{s}' instead",
1545 .kind = .note,
1546};
1547
1604pub const deprecated_note: Diagnostic = .{1548pub const deprecated_note: Diagnostic = .{
1605 .fmt = "'{s}' has been explicitly marked deprecated here",1549 .fmt = "'{s}' has been explicitly marked deprecated here",
1606 .opt = .@"deprecated-declarations",
1607 .kind = .note,1550 .kind = .note,
1608};1551};
16091552
...@@ -1629,7 +1572,7 @@ pub const error_attribute: Diagnostic = .{...@@ -1629,7 +1572,7 @@ pub const error_attribute: Diagnostic = .{
1629};1572};
16301573
1631pub const ignored_record_attr: Diagnostic = .{1574pub const ignored_record_attr: Diagnostic = .{
1632 .fmt = "attribute '{s}' is ignored, place it after \"{s}\" to apply attribute to type declaration",1575 .fmt = "attribute {at} is ignored, place it after \"{s}\" to apply attribute to type declaration",
1633 .kind = .warning,1576 .kind = .warning,
1634 .opt = .@"ignored-attributes",1577 .opt = .@"ignored-attributes",
1635};1578};
...@@ -1826,102 +1769,20 @@ pub const enum_invalid_underlying_type: Diagnostic = .{...@@ -1826,102 +1769,20 @@ pub const enum_invalid_underlying_type: Diagnostic = .{
1826 .kind = .@"error",1769 .kind = .@"error",
1827};1770};
18281771
1829pub const transparent_union_wrong_type: Diagnostic = .{
1830 .fmt = "'transparent_union' attribute only applies to unions",
1831 .opt = .@"ignored-attributes",
1832 .kind = .warning,
1833};
1834
1835pub const transparent_union_one_field: Diagnostic = .{
1836 .fmt = "transparent union definition must contain at least one field; transparent_union attribute ignored",
1837 .opt = .@"ignored-attributes",
1838 .kind = .warning,
1839};
1840
1841pub const transparent_union_size: Diagnostic = .{
1842 .fmt = "size of field '{s}' ({d} bits) does not match the size of the first field in transparent union; transparent_union attribute ignored",
1843 .kind = .warning,
1844 .opt = .@"ignored-attributes",
1845};
1846
1847pub const transparent_union_size_note: Diagnostic = .{
1848 .fmt = "size of first field is {d}",
1849 .kind = .note,
1850};
1851
1852pub const designated_init_invalid: Diagnostic = .{
1853 .fmt = "'designated_init' attribute is only valid on 'struct' type'",
1854 .kind = .@"error",
1855};
1856
1857pub const designated_init_needed: Diagnostic = .{1772pub const designated_init_needed: Diagnostic = .{
1858 .fmt = "positional initialization of field in 'struct' declared with 'designated_init' attribute",1773 .fmt = "positional initialization of field in 'struct' declared with 'designated_init' attribute",
1859 .opt = .@"designated-init",1774 .opt = .@"designated-init",
1860 .kind = .warning,1775 .kind = .warning,
1861};1776};
18621777
1863pub const ignore_common: Diagnostic = .{
1864 .fmt = "ignoring attribute 'common' because it conflicts with attribute 'nocommon'",
1865 .opt = .@"ignored-attributes",
1866 .kind = .warning,
1867};
1868
1869pub const ignore_nocommon: Diagnostic = .{
1870 .fmt = "ignoring attribute 'nocommon' because it conflicts with attribute 'common'",
1871 .opt = .@"ignored-attributes",
1872 .kind = .warning,
1873};
1874
1875pub const non_string_ignored: Diagnostic = .{
1876 .fmt = "'nonstring' attribute ignored on objects of type {qt}",
1877 .opt = .@"ignored-attributes",
1878 .kind = .warning,
1879};
1880
1881pub const local_variable_attribute: Diagnostic = .{
1882 .fmt = "'{s}' attribute only applies to local variables",
1883 .opt = .@"ignored-attributes",
1884 .kind = .warning,
1885};
1886
1887pub const ignore_cold: Diagnostic = .{
1888 .fmt = "ignoring attribute 'cold' because it conflicts with attribute 'hot'",
1889 .opt = .@"ignored-attributes",
1890 .kind = .warning,
1891};
1892
1893pub const ignore_hot: Diagnostic = .{
1894 .fmt = "ignoring attribute 'hot' because it conflicts with attribute 'cold'",
1895 .opt = .@"ignored-attributes",
1896 .kind = .warning,
1897};
1898
1899pub const ignore_noinline: Diagnostic = .{
1900 .fmt = "ignoring attribute 'noinline' because it conflicts with attribute 'always_inline'",
1901 .opt = .@"ignored-attributes",
1902 .kind = .warning,
1903};
1904
1905pub const ignore_always_inline: Diagnostic = .{
1906 .fmt = "ignoring attribute 'always_inline' because it conflicts with attribute 'noinline'",
1907 .opt = .@"ignored-attributes",
1908 .kind = .warning,
1909};
1910
1911pub const invalid_noreturn: Diagnostic = .{1778pub const invalid_noreturn: Diagnostic = .{
1912 .fmt = "function '{s}' declared 'noreturn' should not return",1779 .fmt = "function '{s}' declared 'noreturn' should not return",
1913 .kind = .warning,1780 .kind = .warning,
1914 .opt = .@"invalid-noreturn",1781 .opt = .@"invalid-noreturn",
1915};1782};
19161783
1917pub const nodiscard_unused: Diagnostic = .{
1918 .fmt = "ignoring return value of '{s}', declared with 'nodiscard' attribute",
1919 .kind = .warning,
1920 .opt = .@"unused-result",
1921};
1922
1923pub const warn_unused_result: Diagnostic = .{1784pub const warn_unused_result: Diagnostic = .{
1924 .fmt = "ignoring return value of '{s}', declared with 'warn_unused_result' attribute",1785 .fmt = "ignoring return value of '{s}', declared with {at} attribute{s}{s}",
1925 .kind = .warning,1786 .kind = .warning,
1926 .opt = .@"unused-result",1787 .opt = .@"unused-result",
1927};1788};
...@@ -1938,24 +1799,34 @@ pub const unused_value: Diagnostic = .{...@@ -1938,24 +1799,34 @@ pub const unused_value: Diagnostic = .{
1938 .opt = .@"unused-value",1799 .opt = .@"unused-value",
1939};1800};
19401801
1941pub const invalid_vec_elem_ty: Diagnostic = .{1802pub const unused_variable: Diagnostic = .{
1942 .fmt = "invalid vector element type {qt}",1803 .fmt = "unused variable '{s}'",
1943 .kind = .@"error",1804 .kind = .warning,
1805 .opt = .@"unused-variable",
1944};1806};
19451807
1946pub const bit_int_vec_too_small: Diagnostic = .{1808pub const unused_param: Diagnostic = .{
1947 .fmt = "'_BitInt' vector element width must be at least as wide as 'CHAR_BIT'",1809 .fmt = "unused parameter '{s}'",
1948 .kind = .@"error",1810 .kind = .warning,
1811 .opt = .@"unused-parameter",
1949};1812};
19501813
1951pub const bit_int_vec_not_pow2: Diagnostic = .{1814pub const unused_typedef: Diagnostic = .{
1952 .fmt = "'_BitInt' vector element width must be a power of 2",1815 .fmt = "unused typedef '{s}'",
1953 .kind = .@"error",1816 .kind = .warning,
1817 .opt = .@"unused-local-typedef",
1954};1818};
19551819
1956pub const vec_size_not_multiple: Diagnostic = .{1820pub const unused_label: Diagnostic = .{
1957 .fmt = "vector size not an integral multiple of component size",1821 .fmt = "unused label '{s}'",
1958 .kind = .@"error",1822 .kind = .warning,
1823 .opt = .@"unused-label",
1824};
1825
1826pub const unused_comparison: Diagnostic = .{
1827 .fmt = "{s} comparison result unused",
1828 .kind = .warning,
1829 .opt = .@"unused-comparison",
1959};1830};
19601831
1961pub const invalid_imag: Diagnostic = .{1832pub const invalid_imag: Diagnostic = .{
...@@ -1988,36 +1859,6 @@ pub const main_return_type: Diagnostic = .{...@@ -1988,36 +1859,6 @@ pub const main_return_type: Diagnostic = .{
1988 .extension = true,1859 .extension = true,
1989};1860};
19901861
1991pub const invalid_int_suffix: Diagnostic = .{
1992 .fmt = "invalid suffix '{s}' on integer constant",
1993 .kind = .@"error",
1994};
1995
1996pub const invalid_float_suffix: Diagnostic = .{
1997 .fmt = "invalid suffix '{s}' on floating constant",
1998 .kind = .@"error",
1999};
2000
2001pub const invalid_octal_digit: Diagnostic = .{
2002 .fmt = "invalid digit '{c}' in octal constant",
2003 .kind = .@"error",
2004};
2005
2006pub const invalid_binary_digit: Diagnostic = .{
2007 .fmt = "invalid digit '{c}' in binary constant",
2008 .kind = .@"error",
2009};
2010
2011pub const exponent_has_no_digits: Diagnostic = .{
2012 .fmt = "exponent has no digits",
2013 .kind = .@"error",
2014};
2015
2016pub const hex_floating_constant_requires_exponent: Diagnostic = .{
2017 .fmt = "hexadecimal floating constant requires an exponent",
2018 .kind = .@"error",
2019};
2020
2021pub const sizeof_returns_zero: Diagnostic = .{1862pub const sizeof_returns_zero: Diagnostic = .{
2022 .fmt = "sizeof returns 0",1863 .fmt = "sizeof returns 0",
2023 .kind = .warning,1864 .kind = .warning,
...@@ -2047,12 +1888,12 @@ pub const bit_int: Diagnostic = .{...@@ -2047,12 +1888,12 @@ pub const bit_int: Diagnostic = .{
2047};1888};
20481889
2049pub const unsigned_bit_int_too_small: Diagnostic = .{1890pub const unsigned_bit_int_too_small: Diagnostic = .{
2050 .fmt = "{s}unsigned _BitInt must have a bit size of at least 1",1891 .fmt = "unsigned _BitInt must have a bit size of at least 1",
2051 .kind = .@"error",1892 .kind = .@"error",
2052};1893};
20531894
2054pub const signed_bit_int_too_small: Diagnostic = .{1895pub const signed_bit_int_too_small: Diagnostic = .{
2055 .fmt = "{s}signed _BitInt must have a bit size of at least 2",1896 .fmt = "signed _BitInt must have a bit size of at least 2",
2056 .kind = .@"error",1897 .kind = .@"error",
2057};1898};
20581899
...@@ -2062,25 +1903,18 @@ pub const unsigned_bit_int_too_big: Diagnostic = .{...@@ -2062,25 +1903,18 @@ pub const unsigned_bit_int_too_big: Diagnostic = .{
2062};1903};
20631904
2064pub const signed_bit_int_too_big: Diagnostic = .{1905pub const signed_bit_int_too_big: Diagnostic = .{
2065 .fmt = "{s}signed _BitInt of bit sizes greater than " ++ std.fmt.comptimePrint("{d}", .{Compilation.bit_int_max_bits}) ++ " not supported",1906 .fmt = "signed _BitInt of bit sizes greater than " ++ std.fmt.comptimePrint("{d}", .{Compilation.bit_int_max_bits}) ++ " not supported",
2066 .kind = .@"error",1907 .kind = .@"error",
2067};1908};
20681909
2069pub const ptr_arithmetic_incomplete: Diagnostic = .{1910pub const complex_bit_int: Diagnostic = .{
2070 .fmt = "arithmetic on a pointer to an incomplete type {qt}",1911 .fmt = "'_Complex _BitInt' is invalid",
2071 .kind = .@"error",1912 .kind = .@"error",
2072};1913};
20731914
2074pub const callconv_not_supported: Diagnostic = .{1915pub const ptr_arithmetic_incomplete: Diagnostic = .{
2075 .fmt = "'{s}' calling convention is not supported for this target",1916 .fmt = "arithmetic on a pointer to an incomplete type {qt}",
2076 .kind = .warning,1917 .kind = .@"error",
2077 .opt = .@"ignored-attributes",
2078};
2079
2080pub const callconv_non_func: Diagnostic = .{
2081 .fmt = "'{s}' only applies to function types; type here is {qt}",
2082 .kind = .warning,
2083 .opt = .@"ignored-attributes",
2084};1918};
20851919
2086pub const pointer_arith_void: Diagnostic = .{1920pub const pointer_arith_void: Diagnostic = .{
...@@ -2123,14 +1957,6 @@ pub const suggest_pointer_for_invalid_fp16: Diagnostic = .{...@@ -2123,14 +1957,6 @@ pub const suggest_pointer_for_invalid_fp16: Diagnostic = .{
2123 .kind = .@"error",1957 .kind = .@"error",
2124};1958};
21251959
2126pub const bitint_suffix: Diagnostic = .{
2127 .fmt = "'_BitInt' suffix for literals is a C23 extension",
2128 .opt = .@"c23-extensions",
2129 .kind = .warning,
2130 .suppress_version = .c23,
2131 .extension = true,
2132};
2133
2134pub const auto_type_extension: Diagnostic = .{1960pub const auto_type_extension: Diagnostic = .{
2135 .fmt = "'__auto_type' is a GNU extension",1961 .fmt = "'__auto_type' is a GNU extension",
2136 .opt = .@"gnu-auto-type",1962 .opt = .@"gnu-auto-type",
...@@ -2273,11 +2099,6 @@ pub const argument_types_differ: Diagnostic = .{...@@ -2273,11 +2099,6 @@ pub const argument_types_differ: Diagnostic = .{
2273 .kind = .@"error",2099 .kind = .@"error",
2274};2100};
22752101
2276pub const attribute_requires_string: Diagnostic = .{
2277 .fmt = "attribute '{s}' requires an ordinary string",
2278 .kind = .@"error",
2279};
2280
2281pub const empty_char_literal_error: Diagnostic = .{2102pub const empty_char_literal_error: Diagnostic = .{
2282 .fmt = "empty character constant",2103 .fmt = "empty character constant",
2283 .kind = .@"error",2104 .kind = .@"error",
...@@ -2313,14 +2134,21 @@ pub const label_compound_end: Diagnostic = .{...@@ -2313,14 +2134,21 @@ pub const label_compound_end: Diagnostic = .{
2313 .extension = true,2134 .extension = true,
2314};2135};
23152136
2316pub const u8_char_lit: Diagnostic = .{2137pub const label_decl: Diagnostic = .{
2317 .fmt = "UTF-8 character literal is a C23 extension",2138 .fmt = "label followed by a declaration is a C23 extension",
2318 .opt = .@"c23-extensions",2139 .opt = .@"c23-extensions",
2319 .kind = .warning,2140 .kind = .warning,
2320 .suppress_version = .c23,2141 .suppress_version = .c23,
2321 .extension = true,2142 .extension = true,
2322};2143};
23232144
2145pub const gnu_label_attr: Diagnostic = .{
2146 .fmt = "GNU-style attribute between label and declaration applies to the label",
2147 .opt = .@"label-attribute",
2148 .kind = .warning,
2149 .extension = true,
2150};
2151
2324pub const invalid_compound_literal_storage_class: Diagnostic = .{2152pub const invalid_compound_literal_storage_class: Diagnostic = .{
2325 .fmt = "compound literal cannot have {s} storage class",2153 .fmt = "compound literal cannot have {s} storage class",
2326 .kind = .@"error",2154 .kind = .@"error",
...@@ -2390,11 +2218,6 @@ pub const overflow_result_requires_ptr: Diagnostic = .{...@@ -2390,11 +2218,6 @@ pub const overflow_result_requires_ptr: Diagnostic = .{
2390 .kind = .@"error",2218 .kind = .@"error",
2391};2219};
23922220
2393pub const attribute_todo: Diagnostic = .{
2394 .fmt = "TODO: implement '{s}' attribute for {s}",
2395 .kind = .warning,
2396};
2397
2398pub const auto_type_self_initialized: Diagnostic = .{2221pub const auto_type_self_initialized: Diagnostic = .{
2399 .fmt = "variable '{s}' declared with deduced type '__auto_type' cannot appear in its own initializer",2222 .fmt = "variable '{s}' declared with deduced type '__auto_type' cannot appear in its own initializer",
2400 .kind = .@"error",2223 .kind = .@"error",
...@@ -2422,22 +2245,6 @@ pub const packed_member_address: Diagnostic = .{...@@ -2422,22 +2245,6 @@ pub const packed_member_address: Diagnostic = .{
2422 .opt = .@"address-of-packed-member",2245 .opt = .@"address-of-packed-member",
2423};2246};
24242247
2425pub const attribute_param_out_of_bounds: Diagnostic = .{
2426 .fmt = "'{s}' attribute parameter {d} is out of bounds",
2427 .kind = .@"error",
2428};
2429
2430pub const alloc_align_requires_ptr_return: Diagnostic = .{
2431 .fmt = "'alloc_align' attribute only applies to return values that are pointers",
2432 .opt = .@"ignored-attributes",
2433 .kind = .warning,
2434};
2435
2436pub const alloc_align_required_int_param: Diagnostic = .{
2437 .fmt = "'alloc_align' attribute argument may only refer to a function parameter of integer type",
2438 .kind = .@"error",
2439};
2440
2441pub const gnu_missing_eq_designator: Diagnostic = .{2248pub const gnu_missing_eq_designator: Diagnostic = .{
2442 .fmt = "use of GNU 'missing =' extension in designator",2249 .fmt = "use of GNU 'missing =' extension in designator",
2443 .kind = .warning,2250 .kind = .warning,
...@@ -2471,12 +2278,7 @@ pub const duplicate_nullability: Diagnostic = .{...@@ -2471,12 +2278,7 @@ pub const duplicate_nullability: Diagnostic = .{
2471};2278};
24722279
2473pub const conflicting_nullability: Diagnostic = .{2280pub const conflicting_nullability: Diagnostic = .{
2474 .fmt = "nullaibility specifier '{tok_id}' conflicts with existing specifier '{tok_id}'",2281 .fmt = "nullability specifier '{tok_id}' conflicts with existing specifier '{tok_id}'",
2475 .kind = .@"error",
2476};
2477
2478pub const invalid_nullability: Diagnostic = .{
2479 .fmt = "nullability specifier cannot be applied to non-pointer type {qt}",
2480 .kind = .@"error",2282 .kind = .@"error",
2481};2283};
24822284
...@@ -2490,6 +2292,11 @@ pub const non_object_not_assignable: Diagnostic = .{...@@ -2490,6 +2292,11 @@ pub const non_object_not_assignable: Diagnostic = .{
2490 .kind = .@"error",2292 .kind = .@"error",
2491};2293};
24922294
2295pub const incomplete_type_not_assignable: Diagnostic = .{
2296 .fmt = "incomplete type {qt} is not assignable",
2297 .kind = .@"error",
2298};
2299
2493pub const const_var_assignment: Diagnostic = .{2300pub const const_var_assignment: Diagnostic = .{
2494 .fmt = "cannot assign to variable '{s}' with const-qualified type {qt}",2301 .fmt = "cannot assign to variable '{s}' with const-qualified type {qt}",
2495 .kind = .@"error",2302 .kind = .@"error",
...@@ -2515,11 +2322,6 @@ pub const invalid_attribute_location: Diagnostic = .{...@@ -2515,11 +2322,6 @@ pub const invalid_attribute_location: Diagnostic = .{
2515 .kind = .@"error",2322 .kind = .@"error",
2516};2323};
25172324
2518pub const attribute_requires_pointer: Diagnostic = .{
2519 .fmt = "'{s}' attribute only applies to pointer arguments",
2520 .kind = .@"error",
2521};
2522
2523pub const single_requires_zero_index: Diagnostic = .{2325pub const single_requires_zero_index: Diagnostic = .{
2524 .fmt = "array subscript on single pointer must use a constant index of 0 to be in bounds",2326 .fmt = "array subscript on single pointer must use a constant index of 0 to be in bounds",
2525 .kind = .@"error",2327 .kind = .@"error",
...@@ -2530,13 +2332,47 @@ pub const pointer_arith_single: Diagnostic = .{...@@ -2530,13 +2332,47 @@ pub const pointer_arith_single: Diagnostic = .{
2530 .kind = .@"error",2332 .kind = .@"error",
2531};2333};
25322334
2533pub const redundant_bounds_annotation: Diagnostic = .{2335pub const blocks_not_enabled: Diagnostic = .{
2534 .fmt = "pointer annotated with {s} multiple times. Annotate only once to remove this warning",2336 .fmt = "blocks are not enabled",
2535 .kind = .warning,2337 .kind = .@"error",
2536 .opt = .@"bounds-attributes-redundant",2338};
2339
2340pub const blocks_are_clang_extension: Diagnostic = .{
2341 .fmt = "blocks are a Clang extension",
2342 .opt = .@"blocks-extension",
2343 .kind = .off,
2344 .extension = true,
2345};
2346
2347pub const block_to_non_function: Diagnostic = .{
2348 .fmt = "block pointer to non-function type is invalid",
2349 .kind = .@"error",
2350};
2351
2352pub const c23_attribute: Diagnostic = .{
2353 .fmt = "[[]] attributes are a C23 extension",
2354 .opt = .@"c23-extensions",
2355 .kind = .off,
2356 .suppress_version = .c23,
2357 .extension = true,
2358};
2359
2360pub const builtin_arm_ldrex_strex_invalid_ptr_type: Diagnostic = .{
2361 .fmt = "address argument to {s} must be a pointer to integer, floating-point, or pointer ({qt} invalid)",
2362 .kind = .@"error",
2363};
2364
2365pub const builtin_arm_ldrex_strex_unsupported: Diagnostic = .{
2366 .fmt = "{s} is not supported on this architecture",
2367 .kind = .@"error",
2368};
2369
2370pub const builtin_arm_ldrex_strex_unsupported_size: Diagnostic = .{
2371 .fmt = "address argument to {s} must be a pointer to {s} byte type ({qt} invalid)",
2372 .kind = .@"error",
2537};2373};
25382374
2539pub const multiple_bounds_annotations: Diagnostic = .{2375pub const typename_invalid_specifier: Diagnostic = .{
2540 .fmt = "pointer cannot have more than one bound attribute",2376 .fmt = "type name does not allow {s} specifier to be specified",
2541 .kind = .@"error",2377 .kind = .@"error",
2542};2378};
lib/compiler/aro/aro/Pragma.zig+7
...@@ -4,10 +4,13 @@ const Compilation = @import("Compilation.zig");...@@ -4,10 +4,13 @@ const Compilation = @import("Compilation.zig");
4const Diagnostics = @import("Diagnostics.zig");4const Diagnostics = @import("Diagnostics.zig");
5const Parser = @import("Parser.zig");5const Parser = @import("Parser.zig");
6const Preprocessor = @import("Preprocessor.zig");6const Preprocessor = @import("Preprocessor.zig");
7const Source = @import("Source.zig");
7const TokenIndex = @import("Tree.zig").TokenIndex;8const TokenIndex = @import("Tree.zig").TokenIndex;
89
9pub const Error = Compilation.Error || error{ UnknownPragma, StopPreprocessing };10pub const Error = Compilation.Error || error{ UnknownPragma, StopPreprocessing };
1011
12pub const BeforeIncludeError = Compilation.Error || error{SkipInclude};
13
11const Pragma = @This();14const Pragma = @This();
1215
13/// A do-nothing pragma; useful for unwrapping an optional pragma into a pragma that does nothing in the null case.16/// A do-nothing pragma; useful for unwrapping an optional pragma into a pragma that does nothing in the null case.
...@@ -29,6 +32,10 @@ afterParse: ?*const fn (*Pragma, *Compilation) void = null,...@@ -29,6 +32,10 @@ afterParse: ?*const fn (*Pragma, *Compilation) void = null,
29/// Called during Compilation.deinit32/// Called during Compilation.deinit
30deinit: *const fn (*Pragma, *Compilation) void,33deinit: *const fn (*Pragma, *Compilation) void,
3134
35/// Called during Preprocessor.include. Return SkipInclude to skip the include
36/// altogether (see once.zig).
37beforeInclude: ?*const fn (*Pragma, *Preprocessor, Source) BeforeIncludeError!void = null,
38
32/// Called whenever the preprocessor encounters this pragma. `start_idx` is the index39/// Called whenever the preprocessor encounters this pragma. `start_idx` is the index
33/// within `pp.tokens` of the pragma name token. The pragma end is indicated by a40/// within `pp.tokens` of the pragma name token. The pragma end is indicated by a
34/// .nl token (which may be generated if the source ends with a pragma with no newline)41/// .nl token (which may be generated if the source ends with a pragma with no newline)
lib/compiler/aro/aro/Preprocessor.zig+476-465
...@@ -12,18 +12,18 @@ const Diagnostics = @import("Diagnostics.zig");...@@ -12,18 +12,18 @@ const Diagnostics = @import("Diagnostics.zig");
12const DepFile = @import("DepFile.zig");12const DepFile = @import("DepFile.zig");
13const features = @import("features.zig");13const features = @import("features.zig");
14const Hideset = @import("Hideset.zig");14const Hideset = @import("Hideset.zig");
15const Parser = @import("Parser.zig");15const Parser = @import("Preprocessor/Parser.zig");
16const Pragma = @import("Pragma.zig");16const Pragma = @import("Pragma.zig");
17const Source = @import("Source.zig");17const Source = @import("Source.zig");
18const text_literal = @import("text_literal.zig");
19const Tokenizer = @import("Tokenizer.zig");18const Tokenizer = @import("Tokenizer.zig");
19const text_literal = Tokenizer.text_literal;
20const RawToken = Tokenizer.Token;20const RawToken = Tokenizer.Token;
21const SourceEpoch = Compilation.Environment.SourceEpoch;21const SourceEpoch = Compilation.Environment.SourceEpoch;
22const Tree = @import("Tree.zig");22const Tree = @import("Tree.zig");
23const Token = Tree.Token;23const Token = Tree.Token;
24const TokenWithExpansionLocs = Tree.TokenWithExpansionLocs;24const TokenWithExpansionLocs = Tree.TokenWithExpansionLocs;
2525
26const DefineMap = std.array_hash_map.String(Macro);26const DefineMap = std.StringArrayHashMapUnmanaged(Macro);
27const RawTokenList = std.ArrayList(RawToken);27const RawTokenList = std.ArrayList(RawToken);
28const max_include_depth = 200;28const max_include_depth = 200;
2929
...@@ -41,15 +41,15 @@ const IfContext = struct {...@@ -41,15 +41,15 @@ const IfContext = struct {
41 };41 };
4242
43 const buf_size_bits = @bitSizeOf(Backing) * 256;43 const buf_size_bits = @bitSizeOf(Backing) * 256;
44 kind: [buf_size_bits / std.mem.byte_size_in_bits]u8,44 kind: [buf_size_bits / mem.byte_size_in_bits]u8,
45 level: u8,45 level: u8,
4646
47 fn get(self: *const IfContext) Nesting {47 fn get(self: *const IfContext) Nesting {
48 return @fromBackingInt(@intCast(std.mem.readPackedInt(Backing, &self.kind, @as(usize, self.level) * 2, .native)));48 return @fromBackingInt(mem.readPackedInt(Backing, &self.kind, @as(usize, self.level) * 2, .native));
49 }49 }
5050
51 fn set(self: *IfContext, context: Nesting) void {51 fn set(self: *IfContext, context: Nesting) void {
52 std.mem.writePackedInt(Backing, &self.kind, @as(usize, self.level) * 2, @backingInt(context), .native);52 mem.writePackedInt(Backing, &self.kind, @as(usize, self.level) * 2, @backingInt(context), .native);
53 }53 }
5454
55 fn increment(self: *IfContext) bool {55 fn increment(self: *IfContext) bool {
...@@ -284,7 +284,7 @@ path_replacements: []const struct { []const u8, []const u8 } = &.{},...@@ -284,7 +284,7 @@ path_replacements: []const struct { []const u8, []const u8 } = &.{},
284/// File used for __BASE_FILE__ macro.284/// File used for __BASE_FILE__ macro.
285base_file: Source.Id,285base_file: Source.Id,
286286
287pub const parse = Parser.parse;287pub const parse = @import("Parser.zig").parse;
288288
289pub const Linemarkers = enum {289pub const Linemarkers = enum {
290 /// No linemarker tokens. Required setting if parser will run290 /// No linemarker tokens. Required setting if parser will run
...@@ -604,6 +604,9 @@ fn preprocessExtra(pp: *Preprocessor, source: Source) MacroError!TokenWithExpans...@@ -604,6 +604,9 @@ fn preprocessExtra(pp: *Preprocessor, source: Source) MacroError!TokenWithExpans
604 const directive_loc: Source.Location = .{ .id = tok.source, .byte_offset = directive.start, .line = directive.line };604 const directive_loc: Source.Location = .{ .id = tok.source, .byte_offset = directive.start, .line = directive.line };
605 switch (directive.id) {605 switch (directive.id) {
606 .keyword_error, .keyword_warning => {606 .keyword_error, .keyword_warning => {
607 if (directive.id == .keyword_warning and !pp.comp.langopts.standard.atLeast(.c23)) {
608 try pp.err(directive_loc, .warning_extension, .{});
609 }
607 // #error tokens..610 // #error tokens..
608 pp.top_expansion_buf.items.len = 0;611 pp.top_expansion_buf.items.len = 0;
609 const char_top = pp.char_buf.items.len;612 const char_top = pp.char_buf.items.len;
...@@ -704,6 +707,9 @@ fn preprocessExtra(pp: *Preprocessor, source: Source) MacroError!TokenWithExpans...@@ -704,6 +707,9 @@ fn preprocessExtra(pp: *Preprocessor, source: Source) MacroError!TokenWithExpans
704 }707 }
705 },708 },
706 .keyword_elifdef => {709 .keyword_elifdef => {
710 if (!pp.comp.langopts.standard.atLeast(.c23)) {
711 try pp.err(directive_loc, .c23_extension, .{"#elifdef"});
712 }
707 if (if_context.level == 0) {713 if (if_context.level == 0) {
708 try pp.err(directive, .elifdef_without_if, .{});714 try pp.err(directive, .elifdef_without_if, .{});
709 _ = if_context.increment();715 _ = if_context.increment();
...@@ -744,6 +750,9 @@ fn preprocessExtra(pp: *Preprocessor, source: Source) MacroError!TokenWithExpans...@@ -744,6 +750,9 @@ fn preprocessExtra(pp: *Preprocessor, source: Source) MacroError!TokenWithExpans
744 }750 }
745 },751 },
746 .keyword_elifndef => {752 .keyword_elifndef => {
753 if (!pp.comp.langopts.standard.atLeast(.c23)) {
754 try pp.err(directive_loc, .c23_extension, .{"#elifndef"});
755 }
747 if (if_context.level == 0) {756 if (if_context.level == 0) {
748 try pp.err(directive, .elifndef_without_if, .{});757 try pp.err(directive, .elifndef_without_if, .{});
749 _ = if_context.increment();758 _ = if_context.increment();
...@@ -829,6 +838,9 @@ fn preprocessExtra(pp: *Preprocessor, source: Source) MacroError!TokenWithExpans...@@ -829,6 +838,9 @@ fn preprocessExtra(pp: *Preprocessor, source: Source) MacroError!TokenWithExpans
829 }838 }
830839
831 _ = pp.defines.orderedRemove(macro_name);840 _ = pp.defines.orderedRemove(macro_name);
841 if (pp.verbose) {
842 pp.verboseLog(directive, "macro {s} undefined", .{macro_name});
843 }
832 try pp.expectNl(&tokenizer);844 try pp.expectNl(&tokenizer);
833 },845 },
834 .keyword_include => {846 .keyword_include => {
...@@ -845,11 +857,18 @@ fn preprocessExtra(pp: *Preprocessor, source: Source) MacroError!TokenWithExpans...@@ -845,11 +857,18 @@ fn preprocessExtra(pp: *Preprocessor, source: Source) MacroError!TokenWithExpans
845 try pp.include(&tokenizer, .next);857 try pp.include(&tokenizer, .next);
846 }858 }
847 },859 },
848 .keyword_embed => try pp.embed(&tokenizer),860 .keyword_embed => {
861 if (!pp.comp.langopts.standard.atLeast(.c23)) {
862 try pp.err(directive_loc, .c23_extension, .{"#embed"});
863 }
864 try pp.embed(&tokenizer);
865 },
849 .keyword_pragma => {866 .keyword_pragma => {
850 var expand_buf: ExpandBuf = .empty;867 var expand_buf: ExpandBuf = .empty;
851 defer expand_buf.deinit(pp.comp.gpa);868 defer expand_buf.deinit(pp.comp.gpa);
852 try pp.pragma(&tokenizer, directive, &expand_buf);869 var expanded_tok = tokFromRaw(directive);
870 expanded_tok.flags.pragma_directive = true;
871 try pp.pragma(&tokenizer, expanded_tok, &expand_buf);
853872
854 try pp.addTokensFromExpandBuf(expand_buf.items, .{ .id = .nl, .loc = .{873 try pp.addTokensFromExpandBuf(expand_buf.items, .{ .id = .nl, .loc = .{
855 .id = tokenizer.source,874 .id = tokenizer.source,
...@@ -1017,7 +1036,7 @@ fn tokFromRaw(raw: RawToken) TokenWithExpansionLocs {...@@ -1017,7 +1036,7 @@ fn tokFromRaw(raw: RawToken) TokenWithExpansionLocs {
10171036
1018pub const Diagnostic = @import("Preprocessor/Diagnostic.zig");1037pub const Diagnostic = @import("Preprocessor/Diagnostic.zig");
10191038
1020fn err(pp: *Preprocessor, loc: anytype, diagnostic: Diagnostic, args: anytype) Compilation.Error!void {1039pub fn err(pp: *const Preprocessor, loc: anytype, diagnostic: Diagnostic, args: anytype) Compilation.Error!void {
1021 if (pp.diagnostics.effectiveKind(diagnostic) == .off) return;1040 if (pp.diagnostics.effectiveKind(diagnostic) == .off) return;
1022 const old_suppress_system = pp.diagnostics.state.suppress_system_headers;1041 const old_suppress_system = pp.diagnostics.state.suppress_system_headers;
1023 defer pp.diagnostics.state.suppress_system_headers = old_suppress_system;1042 defer pp.diagnostics.state.suppress_system_headers = old_suppress_system;
...@@ -1148,11 +1167,7 @@ fn restoreTokenState(pp: *Preprocessor, state: TokenState) void {...@@ -1148,11 +1167,7 @@ fn restoreTokenState(pp: *Preprocessor, state: TokenState) void {
1148/// Consume all tokens until a newline and parse the result into a boolean.1167/// Consume all tokens until a newline and parse the result into a boolean.
1149fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {1168fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
1150 const gpa = pp.comp.gpa;1169 const gpa = pp.comp.gpa;
1151 const token_state = pp.getTokenState();1170 defer for (pp.top_expansion_buf.items) |tok| TokenWithExpansionLocs.free(tok.expansion_locs, gpa);
1152 defer {
1153 for (pp.top_expansion_buf.items) |tok| TokenWithExpansionLocs.free(tok.expansion_locs, gpa);
1154 pp.restoreTokenState(token_state);
1155 }
11561171
1157 pp.top_expansion_buf.items.len = 0;1172 pp.top_expansion_buf.items.len = 0;
1158 const eof = while (true) {1173 const eof = while (true) {
...@@ -1160,158 +1175,36 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {...@@ -1160,158 +1175,36 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
1160 switch (tok.id) {1175 switch (tok.id) {
1161 .nl, .eof => break tok,1176 .nl, .eof => break tok,
1162 .whitespace => if (pp.top_expansion_buf.items.len == 0) continue,1177 .whitespace => if (pp.top_expansion_buf.items.len == 0) continue,
1163 else => {},1178 .comment => continue,
1164 }1179 .unterminated_string_literal, .unterminated_char_literal, .empty_char_literal => |tag| {
1165 try pp.top_expansion_buf.append(gpa, tokFromRaw(tok));1180 try pp.err(tok, invalidTokenDiagnostic(tag), .{});
1166 } else unreachable;
1167 if (pp.top_expansion_buf.items.len != 0) {
1168 pp.expansion_source_loc = pp.top_expansion_buf.items[0].loc;
1169 pp.hideset.clearRetainingCapacity();
1170 try pp.expandMacroExhaustive(tokenizer, &pp.top_expansion_buf, 0, pp.top_expansion_buf.items.len, false, .expr);
1171 }
1172 for (pp.top_expansion_buf.items) |tok| {
1173 if (tok.id == .macro_ws) continue;
1174 if (!tok.id.validPreprocessorExprStart()) {
1175 try pp.err(tok, .invalid_preproc_expr_start, .{});
1176 return false;
1177 }
1178 break;
1179 } else {
1180 try pp.err(eof, .expected_value_in_expr, .{});
1181 return false;
1182 }
1183
1184 // validate the tokens in the expression
1185 try pp.ensureUnusedTokenCapacity(pp.top_expansion_buf.items.len);
1186 var i: usize = 0;
1187 const items = pp.top_expansion_buf.items;
1188 while (i < items.len) : (i += 1) {
1189 var tok = items[i];
1190 switch (tok.id) {
1191 .string_literal,
1192 .string_literal_utf_16,
1193 .string_literal_utf_8,
1194 .string_literal_utf_32,
1195 .string_literal_wide,
1196 => {
1197 try pp.err(tok, .string_literal_in_pp_expr, .{});
1198 return false;
1199 },1181 },
1200 .plus_plus,1182 .unterminated_comment => {
1201 .minus_minus,1183 try pp.err(tok, .unterminated_comment, .{});
1202 .plus_equal,1184 continue;
1203 .minus_equal,
1204 .asterisk_equal,
1205 .slash_equal,
1206 .percent_equal,
1207 .angle_bracket_angle_bracket_left_equal,
1208 .angle_bracket_angle_bracket_right_equal,
1209 .ampersand_equal,
1210 .caret_equal,
1211 .pipe_equal,
1212 .l_bracket,
1213 .r_bracket,
1214 .l_brace,
1215 .r_brace,
1216 .ellipsis,
1217 .semicolon,
1218 .hash,
1219 .hash_hash,
1220 .equal,
1221 .arrow,
1222 .period,
1223 => {
1224 try pp.err(tok, .invalid_preproc_operator, .{});
1225 return false;
1226 },1185 },
1227 .macro_ws, .whitespace => continue,1186 else => {
1228 .keyword_false => tok.id = .zero,1187 if (tok.id.isMacroIdentifier() and pp.poisoned_identifiers.get(pp.tokSlice(tok)) != null) {
1229 .keyword_true => tok.id = .one,1188 try pp.err(tok, .poisoned_identifier, .{});
1230 else => if (tok.id.isMacroIdentifier()) {
1231 if (tok.id == .keyword_defined) {
1232 const tokens_consumed = try pp.handleKeywordDefined(&tok, items[i + 1 ..], eof);
1233 i += tokens_consumed;
1234 } else {
1235 try pp.err(tok, .undefined_macro, .{pp.expandedSlice(tok)});
1236
1237 if (i + 1 < pp.top_expansion_buf.items.len and
1238 pp.top_expansion_buf.items[i + 1].id == .l_paren)
1239 {
1240 try pp.err(tok, .fn_macro_undefined, .{pp.expandedSlice(tok)});
1241 return false;
1242 }
1243
1244 tok.id = .zero; // undefined macro
1245 }1189 }
1246 },1190 },
1247 }1191 }
1248 pp.addTokenAssumeCapacity(try pp.unescapeUcn(tok));1192 try pp.top_expansion_buf.append(gpa, tokFromRaw(tok));
1193 };
1194 if (pp.top_expansion_buf.items.len != 0) {
1195 pp.expansion_source_loc = pp.top_expansion_buf.items[0].loc;
1196 pp.hideset.clearRetainingCapacity();
1197 try pp.expandMacroExhaustive(null, &pp.top_expansion_buf, 0, pp.top_expansion_buf.items.len, .expr);
1198 removePlacemarkers(gpa, &pp.top_expansion_buf);
1249 }1199 }
1250 try pp.addToken(.{
1251 .id = .eof,
1252 .loc = tokFromRaw(eof).loc,
1253 });
12541200
1255 // Actually parse it.
1256 var parser: Parser = .{1201 var parser: Parser = .{
1257 .pp = pp,1202 .pp = pp,
1258 .comp = pp.comp,1203 .tokens = pp.top_expansion_buf.items,
1259 .diagnostics = pp.diagnostics,1204 .eof = tokFromRaw(eof),
1260 .tok_ids = pp.tokens.items(.id),
1261 .tok_i = @intCast(token_state.tokens_len),
1262 .in_macro = true,
1263
1264 .tree = undefined,
1265 .labels = undefined,
1266 .decl_buf = undefined,
1267 .list_buf = undefined,
1268 .param_buf = undefined,
1269 .enum_buf = undefined,
1270 .record_buf = undefined,
1271 .attr_buf = undefined,
1272 .string_ids = undefined,
1273 };1205 };
1274 defer parser.strings.deinit(gpa);1206 const val = try parser.parse() orelse return false;
1275 return parser.macroExpr();1207 return val.toBool();
1276}
1277
1278/// Turns macro_tok from .keyword_defined into .zero or .one depending on whether the argument is defined
1279/// Returns the number of tokens consumed
1280fn handleKeywordDefined(pp: *Preprocessor, macro_tok: *TokenWithExpansionLocs, tokens: []const TokenWithExpansionLocs, eof: RawToken) !usize {
1281 std.debug.assert(macro_tok.id == .keyword_defined);
1282 var it = TokenIterator.init(tokens);
1283 const first = it.nextNoWS() orelse {
1284 try pp.err(eof, .macro_name_missing, .{});
1285 return it.i;
1286 };
1287 switch (first.id) {
1288 .l_paren => {},
1289 else => {
1290 if (!first.id.isMacroIdentifier()) {
1291 try pp.err(first, .macro_name_must_be_identifier, .{});
1292 }
1293 macro_tok.id = if (pp.defines.contains(pp.expandedSlice(first))) .one else .zero;
1294 return it.i;
1295 },
1296 }
1297 const second = it.nextNoWS() orelse {
1298 try pp.err(eof, .macro_name_missing, .{});
1299 return it.i;
1300 };
1301 if (!second.id.isMacroIdentifier()) {
1302 try pp.err(second, .macro_name_must_be_identifier, .{});
1303 return it.i;
1304 }
1305 macro_tok.id = if (pp.defines.contains(pp.expandedSlice(second))) .one else .zero;
1306
1307 const last = it.nextNoWS();
1308 if (last == null or last.?.id != .r_paren) {
1309 const tok = last orelse tokFromRaw(eof);
1310 try pp.err(tok, .closing_paren, .{});
1311 try pp.err(first, .to_match_paren, .{});
1312 }
1313
1314 return it.i;
1315}1208}
13161209
1317/// Skip until #else #elif #endif, return last directive token id.1210/// Skip until #else #elif #endif, return last directive token id.
...@@ -1351,6 +1244,9 @@ fn skip(...@@ -1351,6 +1244,9 @@ fn skip(
1351 return;1244 return;
1352 },1245 },
1353 .keyword_elifdef => {1246 .keyword_elifdef => {
1247 if (!pp.comp.langopts.standard.atLeast(.c23)) {
1248 try pp.err(directive, .c23_extension, .{"#elifdef"});
1249 }
1354 if (ifs_seen != 0 or cont == .until_endif) continue;1250 if (ifs_seen != 0 or cont == .until_endif) continue;
1355 if (cont == .until_endif_seen_else) {1251 if (cont == .until_endif_seen_else) {
1356 try pp.err(directive, .elifdef_after_else, .{});1252 try pp.err(directive, .elifdef_after_else, .{});
...@@ -1360,6 +1256,9 @@ fn skip(...@@ -1360,6 +1256,9 @@ fn skip(
1360 return;1256 return;
1361 },1257 },
1362 .keyword_elifndef => {1258 .keyword_elifndef => {
1259 if (!pp.comp.langopts.standard.atLeast(.c23)) {
1260 try pp.err(directive, .c23_extension, .{"#elifdef"});
1261 }
1363 if (ifs_seen != 0 or cont == .until_endif) continue;1262 if (ifs_seen != 0 or cont == .until_endif) continue;
1364 if (cont == .until_endif_seen_else) {1263 if (cont == .until_endif_seen_else) {
1365 try pp.err(directive, .elifndef_after_else, .{});1264 try pp.err(directive, .elifndef_after_else, .{});
...@@ -1376,6 +1275,9 @@ fn skip(...@@ -1376,6 +1275,9 @@ fn skip(
1376 ifs_seen -= 1;1275 ifs_seen -= 1;
1377 },1276 },
1378 .keyword_if, .keyword_ifdef, .keyword_ifndef => ifs_seen += 1,1277 .keyword_if, .keyword_ifdef, .keyword_ifndef => ifs_seen += 1,
1278 .nl => {
1279 line_start = true;
1280 },
1379 else => {},1281 else => {},
1380 }1282 }
1381 } else if (tokenizer.buf[tokenizer.index] == '\n') {1283 } else if (tokenizer.buf[tokenizer.index] == '\n') {
...@@ -1392,9 +1294,6 @@ fn skip(...@@ -1392,9 +1294,6 @@ fn skip(
1392 line_start = false;1294 line_start = false;
1393 tokenizer.index += 1;1295 tokenizer.index += 1;
1394 }1296 }
1395 } else {
1396 const eof = tokenizer.next();
1397 return pp.err(eof, .unterminated_conditional_directive, .{});
1398 }1297 }
1399}1298}
14001299
...@@ -1633,16 +1532,18 @@ fn pragmaOperator(pp: *Preprocessor, arg_tok: TokenWithExpansionLocs, buf: *Expa...@@ -1633,16 +1532,18 @@ fn pragmaOperator(pp: *Preprocessor, arg_tok: TokenWithExpansionLocs, buf: *Expa
1633 const gpa = pp.comp.gpa;1532 const gpa = pp.comp.gpa;
16341533
1635 pp.char_buf.clearRetainingCapacity();1534 pp.char_buf.clearRetainingCapacity();
1636 const total_len = directive.len + content.len + 1; // destringify can never grow the string, + 1 for newline1535 const total_len = directive.len + content.len + 2; // destringify can never grow the string, +2 for newline and null terminator
1637 try pp.char_buf.ensureUnusedCapacity(gpa, total_len);1536 try pp.char_buf.ensureUnusedCapacity(gpa, total_len);
1638 pp.char_buf.appendSliceAssumeCapacity(directive);1537 pp.char_buf.appendSliceAssumeCapacity(directive);
1639 pp.destringify(content);1538 pp.destringify(content);
1640 pp.char_buf.appendAssumeCapacity('\n');1539 pp.char_buf.appendSliceAssumeCapacity("\n\x00");
16411540
1642 const start = pp.comp.generated_buf.items.len;1541 const start = pp.comp.generated_buf.items.len;
1643 try pp.comp.generated_buf.appendSlice(gpa, pp.char_buf.items);1542 try pp.comp.generated_buf.appendSlice(gpa, pp.char_buf.items);
1543 defer pp.comp.generated_buf.items.len -= 1; // remove redundant null terminator
1544
1644 var tmp_tokenizer: Tokenizer = .{1545 var tmp_tokenizer: Tokenizer = .{
1645 .buf = pp.comp.generated_buf.items,1546 .buf = pp.comp.generated_buf.items[0 .. pp.comp.generated_buf.items.len - 1 :0],
1646 .langopts = pp.comp.langopts,1547 .langopts = pp.comp.langopts,
1647 .index = @intCast(start),1548 .index = @intCast(start),
1648 .source = .generated,1549 .source = .generated,
...@@ -1654,7 +1555,9 @@ fn pragmaOperator(pp: *Preprocessor, arg_tok: TokenWithExpansionLocs, buf: *Expa...@@ -1654,7 +1555,9 @@ fn pragmaOperator(pp: *Preprocessor, arg_tok: TokenWithExpansionLocs, buf: *Expa
1654 assert(hash_tok.id == .hash);1555 assert(hash_tok.id == .hash);
1655 const pragma_tok = tmp_tokenizer.next();1556 const pragma_tok = tmp_tokenizer.next();
1656 assert(pragma_tok.id == .keyword_pragma);1557 assert(pragma_tok.id == .keyword_pragma);
1657 try pp.pragma(&tmp_tokenizer, pragma_tok, buf);1558 var expanded_pragma_tok = tokFromRaw(pragma_tok);
1559 expanded_pragma_tok.flags.pragma_directive = true;
1560 try pp.pragma(&tmp_tokenizer, expanded_pragma_tok, buf);
1658}1561}
16591562
1660/// Handle Microsoft __pragma operator1563/// Handle Microsoft __pragma operator
...@@ -1758,9 +1661,9 @@ fn stringify(pp: *Preprocessor, tokens: []const TokenWithExpansionLocs) !void {...@@ -1758,9 +1661,9 @@ fn stringify(pp: *Preprocessor, tokens: []const TokenWithExpansionLocs) !void {
1758 pp.char_buf.appendSliceAssumeCapacity("\"\n");1661 pp.char_buf.appendSliceAssumeCapacity("\"\n");
1759 return;1662 return;
1760 }1663 }
1761 pp.char_buf.appendAssumeCapacity('"');1664 pp.char_buf.appendSliceAssumeCapacity("\"\x00");
1762 var tokenizer: Tokenizer = .{1665 var tokenizer: Tokenizer = .{
1763 .buf = pp.char_buf.items,1666 .buf = pp.char_buf.items[0 .. pp.char_buf.items.len - 1 :0],
1764 .index = 0,1667 .index = 0,
1765 .source = .generated,1668 .source = .generated,
1766 .langopts = pp.comp.langopts,1669 .langopts = pp.comp.langopts,
...@@ -1771,7 +1674,7 @@ fn stringify(pp: *Preprocessor, tokens: []const TokenWithExpansionLocs) !void {...@@ -1771,7 +1674,7 @@ fn stringify(pp: *Preprocessor, tokens: []const TokenWithExpansionLocs) !void {
1771 if (item.id == .unterminated_string_literal) {1674 if (item.id == .unterminated_string_literal) {
1772 const tok = tokens[tokens.len - 1];1675 const tok = tokens[tokens.len - 1];
1773 try pp.err(tok, .invalid_pp_stringify_escape, .{});1676 try pp.err(tok, .invalid_pp_stringify_escape, .{});
1774 pp.char_buf.items.len -= 2; // erase unpaired backslash and appended end quote1677 pp.char_buf.items.len -= 3; // erase unpaired backslash and appended end quote
1775 pp.char_buf.appendAssumeCapacity('"');1678 pp.char_buf.appendAssumeCapacity('"');
1776 }1679 }
1777 pp.char_buf.appendAssumeCapacity('\n');1680 pp.char_buf.appendAssumeCapacity('\n');
...@@ -1828,8 +1731,9 @@ fn reconstructIncludeString(pp: *Preprocessor, param_toks: []const TokenWithExpa...@@ -1828,8 +1731,9 @@ fn reconstructIncludeString(pp: *Preprocessor, param_toks: []const TokenWithExpa
1828 '<' => {1731 '<' => {
1829 if (include_str[include_str.len - 1] != '>') {1732 if (include_str[include_str.len - 1] != '>') {
1830 // Ugly hack to find out where the '>' should go, since we don't have the closing ')' location1733 // Ugly hack to find out where the '>' should go, since we don't have the closing ')' location
1831 var closing = params[0];1734 var closing = first;
1832 closing.loc.byte_offset += @as(u32, @intCast(include_str.len)) + 1;1735 const buf = pp.comp.getSource(closing.loc.id).buf;
1736 closing.loc.byte_offset = @intCast(mem.findScalarPos(u8, buf, closing.loc.byte_offset, '\n') orelse buf.len);
1833 try pp.err(closing, .header_str_closing, .{});1737 try pp.err(closing, .header_str_closing, .{});
18341738
1835 try pp.err(params[0], .header_str_match, .{});1739 try pp.err(params[0], .header_str_match, .{});
...@@ -1845,7 +1749,13 @@ fn reconstructIncludeString(pp: *Preprocessor, param_toks: []const TokenWithExpa...@@ -1845,7 +1749,13 @@ fn reconstructIncludeString(pp: *Preprocessor, param_toks: []const TokenWithExpa
1845 }1749 }
1846}1750}
18471751
1848fn handleBuiltinMacro(pp: *Preprocessor, builtin: Macro.Builtin.Func, param_toks: []const TokenWithExpansionLocs, src_loc: Source.Location) Error!bool {1752fn handleBuiltinMacro(
1753 pp: *Preprocessor,
1754 builtin: Macro.Builtin.Func,
1755 param_toks: []const TokenWithExpansionLocs,
1756 src_loc: Source.Location,
1757 eval_ctx: EvalContext,
1758) Error!bool {
1849 switch (builtin) {1759 switch (builtin) {
1850 .has_attribute,1760 .has_attribute,
1851 .has_declspec_attribute,1761 .has_declspec_attribute,
...@@ -1878,19 +1788,15 @@ fn handleBuiltinMacro(pp: *Preprocessor, builtin: Macro.Builtin.Func, param_toks...@@ -1878,19 +1788,15 @@ fn handleBuiltinMacro(pp: *Preprocessor, builtin: Macro.Builtin.Func, param_toks
18781788
1879 const ident_str = pp.expandedSlice(identifier.?);1789 const ident_str = pp.expandedSlice(identifier.?);
1880 return switch (builtin) {1790 return switch (builtin) {
1881 .has_attribute => Attribute.fromString(.gnu, null, ident_str) != null,1791 .has_attribute => Attribute.Namespaced.fromString(.gnu, null, ident_str) != null,
1882 .has_declspec_attribute => {1792 .has_declspec_attribute => {
1883 return if (pp.comp.langopts.declspec_attrs)1793 return if (pp.comp.langopts.declspec_attrs)
1884 Attribute.fromString(.declspec, null, ident_str) != null1794 Attribute.Namespaced.fromString(.declspec, null, ident_str) != null
1885 else1795 else
1886 false;1796 false;
1887 },1797 },
1888 .has_feature => features.hasFeature(pp.comp, ident_str),1798 .has_feature => features.hasFeature(pp.comp, ident_str),
1889 // If -pedantic-errors is given __has_extension is equivalent to __has_feature1799 .has_extension => features.hasExtension(pp.comp, ident_str),
1890 .has_extension => if (pp.comp.diagnostics.state.extensions == .@"error")
1891 features.hasFeature(pp.comp, ident_str)
1892 else
1893 features.hasExtension(pp.comp, ident_str),
18941800
1895 .has_builtin => Builtins.fromName(pp.comp, ident_str) != null or1801 .has_builtin => Builtins.fromName(pp.comp, ident_str) != null or
1896 ((pp.comp.langopts.emulate == .no or pp.comp.langopts.emulate == .clang) and1802 ((pp.comp.langopts.emulate == .no or pp.comp.langopts.emulate == .clang) and
...@@ -1940,6 +1846,10 @@ fn handleBuiltinMacro(pp: *Preprocessor, builtin: Macro.Builtin.Func, param_toks...@@ -1940,6 +1846,10 @@ fn handleBuiltinMacro(pp: *Preprocessor, builtin: Macro.Builtin.Func, param_toks
1940 return id == .identifier or id == .extended_identifier;1846 return id == .identifier or id == .extended_identifier;
1941 },1847 },
1942 .has_include, .has_include_next => {1848 .has_include, .has_include_next => {
1849 if (eval_ctx != .expr) {
1850 try pp.err(src_loc, .preprocessing_directive_only, .{@tagName(builtin)});
1851 }
1852
1943 const include_str = (try pp.reconstructIncludeString(param_toks, null, param_toks[0])) orelse return false;1853 const include_str = (try pp.reconstructIncludeString(param_toks, null, param_toks[0])) orelse return false;
1944 const include_type: Compilation.IncludeType = switch (include_str[0]) {1854 const include_type: Compilation.IncludeType = switch (include_str[0]) {
1945 '"' => .quotes,1855 '"' => .quotes,
...@@ -1976,11 +1886,10 @@ fn expandFuncMacro(...@@ -1976,11 +1886,10 @@ fn expandFuncMacro(
1976 func_macro: *const Macro,1886 func_macro: *const Macro,
1977 args: *const MacroArguments,1887 args: *const MacroArguments,
1978 expanded_args: *const MacroArguments,1888 expanded_args: *const MacroArguments,
1979 hideset_arg: Hideset.Index,1889 hideset: Hideset.Index,
1980 eval_ctx: EvalContext,1890 eval_ctx: EvalContext,
1981) MacroError!ExpandBuf {1891) MacroError!ExpandBuf {
1982 const gpa = pp.comp.gpa;1892 const gpa = pp.comp.gpa;
1983 var hideset = hideset_arg;
1984 var buf: ExpandBuf = .empty;1893 var buf: ExpandBuf = .empty;
1985 errdefer buf.deinit(gpa);1894 errdefer buf.deinit(gpa);
1986 try buf.ensureTotalCapacity(gpa, func_macro.tokens.len);1895 try buf.ensureTotalCapacity(gpa, func_macro.tokens.len);
...@@ -2038,17 +1947,11 @@ fn expandFuncMacro(...@@ -2038,17 +1947,11 @@ fn expandFuncMacro(
2038 if (next.len != 0) break;1947 if (next.len != 0) break;
2039 },1948 },
2040 .macro_param_no_expand => {1949 .macro_param_no_expand => {
2041 if (tok_i + 1 < func_macro.tokens.len and func_macro.tokens[tok_i + 1].id == .hash_hash) {
2042 hideset = .none;
2043 }
2044 const slice = getPasteArgs(args.items[raw.end]);1950 const slice = getPasteArgs(args.items[raw.end]);
2045 const raw_loc = Source.Location{ .id = raw.source, .byte_offset = raw.start, .line = raw.line };1951 const raw_loc = Source.Location{ .id = raw.source, .byte_offset = raw.start, .line = raw.line };
2046 try bufCopyTokens(gpa, &buf, slice, &.{raw_loc});1952 try bufCopyTokens(gpa, &buf, slice, &.{raw_loc});
2047 },1953 },
2048 .macro_param => {1954 .macro_param => {
2049 if (tok_i + 1 < func_macro.tokens.len and func_macro.tokens[tok_i + 1].id == .hash_hash) {
2050 hideset = .none;
2051 }
2052 const arg = expanded_args.items[raw.end];1955 const arg = expanded_args.items[raw.end];
2053 const raw_loc = Source.Location{ .id = raw.source, .byte_offset = raw.start, .line = raw.line };1956 const raw_loc = Source.Location{ .id = raw.source, .byte_offset = raw.start, .line = raw.line };
2054 try bufCopyTokens(gpa, &buf, arg, &.{raw_loc});1957 try bufCopyTokens(gpa, &buf, arg, &.{raw_loc});
...@@ -2095,7 +1998,7 @@ fn expandFuncMacro(...@@ -2095,7 +1998,7 @@ fn expandFuncMacro(
2095 const result = if (arg.len == 0) blk: {1998 const result = if (arg.len == 0) blk: {
2096 try pp.err(macro_tok, .expected_arguments, .{ 1, 0 });1999 try pp.err(macro_tok, .expected_arguments, .{ 1, 0 });
2097 break :blk false;2000 break :blk false;
2098 } else try pp.handleBuiltinMacro(kind, arg, macro_tok.loc);2001 } else try pp.handleBuiltinMacro(kind, arg, macro_tok.loc, eval_ctx);
2099 const start = pp.comp.generated_buf.items.len;2002 const start = pp.comp.generated_buf.items.len;
21002003
2101 try pp.comp.generated_buf.print(gpa, "{}\n", .{@intFromBool(result)});2004 try pp.comp.generated_buf.print(gpa, "{}\n", .{@intFromBool(result)});
...@@ -2147,14 +2050,13 @@ fn expandFuncMacro(...@@ -2147,14 +2050,13 @@ fn expandFuncMacro(
2147 if (vendor_ident) |some| {2050 if (vendor_ident) |some| {
2148 const vendor_str = pp.expandedSlice(some);2051 const vendor_str = pp.expandedSlice(some);
2149 const attr_str = pp.expandedSlice(attr_ident.?);2052 const attr_str = pp.expandedSlice(attr_ident.?);
2150 const exists = Attribute.fromString(.gnu, vendor_str, attr_str) != null;2053 const exists = Attribute.Namespaced.fromString(.standard, vendor_str, attr_str) != null;
21512054
2152 const start = pp.comp.generated_buf.items.len;2055 const start = pp.comp.generated_buf.items.len;
2153 try pp.comp.generated_buf.appendSlice(gpa, if (exists) "1\n" else "0\n");2056 try pp.comp.generated_buf.appendSlice(gpa, if (exists) "1\n" else "0\n");
2154 try buf.append(gpa, try pp.makeGeneratedToken(start, .pp_num, tokFromRaw(raw)));2057 try buf.append(gpa, try pp.makeGeneratedToken(start, .pp_num, tokFromRaw(raw)));
2155 continue;2058 continue;
2156 }2059 }
2157 if (!pp.comp.langopts.standard.atLeast(.c23)) break :res not_found;
21582060
2159 const attrs = std.StaticStringMap([]const u8).initComptime(.{2061 const attrs = std.StaticStringMap([]const u8).initComptime(.{
2160 .{ "deprecated", "201904L\n" },2062 .{ "deprecated", "201904L\n" },
...@@ -2176,6 +2078,10 @@ fn expandFuncMacro(...@@ -2176,6 +2078,10 @@ fn expandFuncMacro(
2176 },2078 },
21772079
2178 .has_embed => {2080 .has_embed => {
2081 if (eval_ctx != .expr) {
2082 try pp.err(macro_tok, .preprocessing_directive_only, .{"has_embed"});
2083 }
2084
2179 const arg = expanded_args.items[0];2085 const arg = expanded_args.items[0];
2180 const not_found = "0\n";2086 const not_found = "0\n";
2181 const result = if (arg.len == 0) blk: {2087 const result = if (arg.len == 0) blk: {
...@@ -2188,87 +2094,12 @@ fn expandFuncMacro(...@@ -2188,87 +2094,12 @@ fn expandFuncMacro(
21882094
2189 var prev = tokFromRaw(raw);2095 var prev = tokFromRaw(raw);
2190 prev.id = .eof;2096 prev.id = .eof;
2191 var it: struct {2097 var it: EmbedArgIterator = .{ .toks = embed_args, .eof = prev, .pp = pp };
2192 i: u32 = 0,
2193 slice: []const TokenWithExpansionLocs,
2194 prev: TokenWithExpansionLocs,
2195 fn next(it: *@This()) TokenWithExpansionLocs {
2196 while (it.i < it.slice.len) switch (it.slice[it.i].id) {
2197 .macro_ws, .whitespace => it.i += 1,
2198 else => break,
2199 } else return it.prev;
2200 defer it.i += 1;
2201 it.prev = it.slice[it.i];
2202 it.prev.id = .eof;
2203 return it.slice[it.i];
2204 }
2205 } = .{ .slice = embed_args, .prev = prev };
2206
2207 while (true) {
2208 const param_first = it.next();
2209 if (param_first.id == .eof) break;
2210 if (param_first.id != .identifier) {
2211 try pp.err(param_first, .malformed_embed_param, .{});
2212 continue;
2213 }
22142098
2215 const char_top = pp.char_buf.items.len;2099 while (try it.param()) |param| switch (param) {
2216 defer pp.char_buf.items.len = char_top;2100 .unknown, .invalid => break :res not_found,
22172101 else => {},
2218 const maybe_colon = it.next();2102 };
2219 const param = switch (maybe_colon.id) {
2220 .colon_colon => blk: {
2221 // vendor::param
2222 const param = it.next();
2223 if (param.id != .identifier) {
2224 try pp.err(param, .malformed_embed_param, .{});
2225 continue;
2226 }
2227 const l_paren = it.next();
2228 if (l_paren.id != .l_paren) {
2229 try pp.err(l_paren, .malformed_embed_param, .{});
2230 continue;
2231 }
2232 break :blk "doesn't exist";
2233 },
2234 .l_paren => Attribute.normalize(pp.expandedSlice(param_first)),
2235 else => {
2236 try pp.err(maybe_colon, .malformed_embed_param, .{});
2237 continue;
2238 },
2239 };
2240
2241 var arg_count: u32 = 0;
2242 var first_arg: TokenWithExpansionLocs = undefined;
2243 while (true) {
2244 const next = it.next();
2245 if (next.id == .eof) {
2246 try pp.err(param_first, .malformed_embed_limit, .{});
2247 break;
2248 }
2249 if (next.id == .r_paren) break;
2250 arg_count += 1;
2251 if (arg_count == 1) first_arg = next;
2252 }
2253
2254 if (std.mem.eql(u8, param, "limit")) {
2255 if (arg_count != 1) {
2256 try pp.err(param_first, .malformed_embed_limit, .{});
2257 continue;
2258 }
2259 if (first_arg.id != .pp_num) {
2260 try pp.err(param_first, .malformed_embed_limit, .{});
2261 continue;
2262 }
2263 _ = std.fmt.parseInt(u32, pp.expandedSlice(first_arg), 10) catch {
2264 break :res not_found;
2265 };
2266 } else if (!std.mem.eql(u8, param, "prefix") and !std.mem.eql(u8, param, "suffix") and
2267 !std.mem.eql(u8, param, "if_empty"))
2268 {
2269 break :res not_found;
2270 }
2271 }
22722103
2273 const include_type: Compilation.IncludeType = switch (include_str[0]) {2104 const include_type: Compilation.IncludeType = switch (include_str[0]) {
2274 '"' => .quotes,2105 '"' => .quotes,
...@@ -2441,21 +2272,29 @@ fn bufCopyTokens(gpa: Allocator, buf: *ExpandBuf, tokens: []const TokenWithExpan...@@ -2441,21 +2272,29 @@ fn bufCopyTokens(gpa: Allocator, buf: *ExpandBuf, tokens: []const TokenWithExpan
24412272
2442fn nextBufToken(2273fn nextBufToken(
2443 pp: *Preprocessor,2274 pp: *Preprocessor,
2444 tokenizer: *Tokenizer,2275 /// If non-null will be used to expand `buf` as needed.
2276 opt_tokenizer: ?*Tokenizer,
2445 buf: *ExpandBuf,2277 buf: *ExpandBuf,
2446 start_idx: *usize,2278 start_idx: *usize,
2447 end_idx: *usize,2279 end_idx: *usize,
2448 extend_buf: bool,
2449) Error!TokenWithExpansionLocs {2280) Error!TokenWithExpansionLocs {
2450 start_idx.* += 1;2281 start_idx.* += 1;
2451 if (start_idx.* == buf.items.len and start_idx.* >= end_idx.*) {2282 if (start_idx.* == buf.items.len and start_idx.* >= end_idx.*) {
2452 if (extend_buf) {2283 if (opt_tokenizer) |tokenizer| {
2453 const raw_tok = tokenizer.next();2284 const raw_tok = tokenizer.next();
2454 if (raw_tok.id.isMacroIdentifier() and2285 // FIXME these tokens may be retokenized and the diagnostics duplicated
2455 pp.poisoned_identifiers.get(pp.tokSlice(raw_tok)) != null)2286 switch (raw_tok.id) {
2456 try pp.err(raw_tok, .poisoned_identifier, .{});2287 .nl => pp.add_expansion_nl += 1,
24572288 .unterminated_string_literal, .unterminated_char_literal, .empty_char_literal => |tag| {
2458 if (raw_tok.id == .nl) pp.add_expansion_nl += 1;2289 try pp.err(raw_tok, invalidTokenDiagnostic(tag), .{});
2290 },
2291 .unterminated_comment => try pp.err(raw_tok, .unterminated_comment, .{}),
2292 else => {
2293 if (raw_tok.id.isMacroIdentifier() and pp.poisoned_identifiers.get(pp.tokSlice(raw_tok)) != null) {
2294 try pp.err(raw_tok, .poisoned_identifier, .{});
2295 }
2296 },
2297 }
24592298
2460 const new_tok = tokFromRaw(raw_tok);2299 const new_tok = tokFromRaw(raw_tok);
2461 end_idx.* += 1;2300 end_idx.* += 1;
...@@ -2471,21 +2310,21 @@ fn nextBufToken(...@@ -2471,21 +2310,21 @@ fn nextBufToken(
24712310
2472fn collectMacroFuncArguments(2311fn collectMacroFuncArguments(
2473 pp: *Preprocessor,2312 pp: *Preprocessor,
2474 tokenizer: *Tokenizer,2313 /// If non-null will be used to expand `buf` as needed.
2314 opt_tokenizer: ?*Tokenizer,
2475 buf: *ExpandBuf,2315 buf: *ExpandBuf,
2476 start_idx: *usize,2316 start_idx: *usize,
2477 end_idx: *usize,2317 end_idx: *usize,
2478 extend_buf: bool,
2479 is_builtin: bool,2318 is_builtin: bool,
2480 r_paren: *TokenWithExpansionLocs,2319 r_paren: *TokenWithExpansionLocs,
2481) !MacroArguments {2320) !MacroArguments {
2482 const gpa = pp.comp.gpa;2321 const gpa = pp.comp.gpa;
2483 const name_tok = buf.items[start_idx.*];2322 const name_tok = buf.items[start_idx.*];
2484 const saved_tokenizer = tokenizer.*;2323 const saved_tokenizer = if (opt_tokenizer) |tokenizer| tokenizer.* else undefined;
2485 const old_end = end_idx.*;2324 const old_end = end_idx.*;
24862325
2487 while (true) {2326 while (true) {
2488 const tok = try nextBufToken(pp, tokenizer, buf, start_idx, end_idx, extend_buf);2327 const tok = try nextBufToken(pp, opt_tokenizer, buf, start_idx, end_idx);
2489 switch (tok.id) {2328 switch (tok.id) {
2490 .nl, .whitespace, .macro_ws => {},2329 .nl, .whitespace, .macro_ws => {},
2491 .l_paren => break,2330 .l_paren => break,
...@@ -2494,7 +2333,7 @@ fn collectMacroFuncArguments(...@@ -2494,7 +2333,7 @@ fn collectMacroFuncArguments(
2494 try pp.err(name_tok, .missing_lparen_after_builtin, .{pp.expandedSlice(name_tok)});2333 try pp.err(name_tok, .missing_lparen_after_builtin, .{pp.expandedSlice(name_tok)});
2495 }2334 }
2496 // Not a macro function call, go over normal identifier, rewind2335 // Not a macro function call, go over normal identifier, rewind
2497 tokenizer.* = saved_tokenizer;2336 if (opt_tokenizer) |tokenizer| tokenizer.* = saved_tokenizer;
2498 end_idx.* = old_end;2337 end_idx.* = old_end;
2499 return error.MissingLParen;2338 return error.MissingLParen;
2500 },2339 },
...@@ -2508,7 +2347,7 @@ fn collectMacroFuncArguments(...@@ -2508,7 +2347,7 @@ fn collectMacroFuncArguments(
2508 var cur_argument: std.ArrayList(TokenWithExpansionLocs) = .empty;2347 var cur_argument: std.ArrayList(TokenWithExpansionLocs) = .empty;
2509 defer cur_argument.deinit(gpa);2348 defer cur_argument.deinit(gpa);
2510 while (true) {2349 while (true) {
2511 var tok = try nextBufToken(pp, tokenizer, buf, start_idx, end_idx, extend_buf);2350 var tok = try nextBufToken(pp, opt_tokenizer, buf, start_idx, end_idx);
2512 tok.flags.is_macro_arg = true;2351 tok.flags.is_macro_arg = true;
2513 switch (tok.id) {2352 switch (tok.id) {
2514 .comma => {2353 .comma => {
...@@ -2548,7 +2387,7 @@ fn collectMacroFuncArguments(...@@ -2548,7 +2387,7 @@ fn collectMacroFuncArguments(
2548 errdefer gpa.free(owned);2387 errdefer gpa.free(owned);
2549 try args.append(gpa, owned);2388 try args.append(gpa, owned);
2550 }2389 }
2551 tokenizer.* = saved_tokenizer;2390 if (opt_tokenizer) |tokenizer| tokenizer.* = saved_tokenizer;
2552 try pp.err(name_tok, .unterminated_macro_arg_list, .{});2391 try pp.err(name_tok, .unterminated_macro_arg_list, .{});
2553 return error.Unterminated;2392 return error.Unterminated;
2554 },2393 },
...@@ -2608,11 +2447,11 @@ const TokenIterator = struct {...@@ -2608,11 +2447,11 @@ const TokenIterator = struct {
26082447
2609fn expandMacroExhaustive(2448fn expandMacroExhaustive(
2610 pp: *Preprocessor,2449 pp: *Preprocessor,
2611 tokenizer: *Tokenizer,2450 /// If non-null will be used to expand `buf` as needed.
2451 opt_tokenizer: ?*Tokenizer,
2612 buf: *ExpandBuf,2452 buf: *ExpandBuf,
2613 start_idx: usize,2453 start_idx: usize,
2614 end_idx: usize,2454 end_idx: usize,
2615 extend_buf: bool,
2616 eval_ctx: EvalContext,2455 eval_ctx: EvalContext,
2617) MacroError!void {2456) MacroError!void {
2618 const gpa = pp.comp.gpa;2457 const gpa = pp.comp.gpa;
...@@ -2663,11 +2502,10 @@ fn expandMacroExhaustive(...@@ -2663,11 +2502,10 @@ fn expandMacroExhaustive(
2663 var macro_scan_idx = idx;2502 var macro_scan_idx = idx;
2664 // to be saved in case this doesn't turn out to be a call2503 // to be saved in case this doesn't turn out to be a call
2665 var args = pp.collectMacroFuncArguments(2504 var args = pp.collectMacroFuncArguments(
2666 tokenizer,2505 opt_tokenizer,
2667 buf,2506 buf,
2668 &macro_scan_idx,2507 &macro_scan_idx,
2669 &moving_end_idx,2508 &moving_end_idx,
2670 extend_buf,
2671 macro.isBuiltin(),2509 macro.isBuiltin(),
2672 &r_paren,2510 &r_paren,
2673 ) catch |er| switch (er) {2511 ) catch |er| switch (er) {
...@@ -2692,8 +2530,11 @@ fn expandMacroExhaustive(...@@ -2692,8 +2530,11 @@ fn expandMacroExhaustive(
2692 args.deinit(gpa);2530 args.deinit(gpa);
2693 }2531 }
2694 const r_paren_hidelist = pp.hideset.get(r_paren.loc);2532 const r_paren_hidelist = pp.hideset.get(r_paren.loc);
2695 var hs = try pp.hideset.intersection(macro_hidelist, r_paren_hidelist);2533 var hs: Hideset.Index = if (macro_tok.flags.is_macro_arg)
2696 hs = try pp.hideset.prepend(macro_tok.loc, hs);2534 .none
2535 else
2536 try pp.hideset.intersection(macro_hidelist, r_paren_hidelist);
2537 hs = try pp.hideset.prepend(macro_tok.loc, @intCast(expanded.len), hs);
26972538
2698 var args_count: u32 = @intCast(args.items.len);2539 var args_count: u32 = @intCast(args.items.len);
2699 // if the macro has zero arguments g() args_count is still 12540 // if the macro has zero arguments g() args_count is still 1
...@@ -2733,7 +2574,7 @@ fn expandMacroExhaustive(...@@ -2733,7 +2574,7 @@ fn expandMacroExhaustive(
2733 }2574 }
27342575
2735 if (should_expand_args) {2576 if (should_expand_args) {
2736 try pp.expandMacroExhaustive(tokenizer, &expand_buf, 0, expand_buf.items.len, false, eval_ctx);2577 try pp.expandMacroExhaustive(null, &expand_buf, 0, expand_buf.items.len, eval_ctx);
2737 }2578 }
2738 // Even if not expanding the arguments, still append to expanded_args so expansion locations will2579 // Even if not expanding the arguments, still append to expanded_args so expansion locations will
2739 // get cleaned up.2580 // get cleaned up.
...@@ -2757,7 +2598,7 @@ fn expandMacroExhaustive(...@@ -2757,7 +2598,7 @@ fn expandMacroExhaustive(
2757 var res = try pp.expandObjMacro(macro);2598 var res = try pp.expandObjMacro(macro);
2758 defer res.deinit(gpa);2599 defer res.deinit(gpa);
27592600
2760 const hs = try pp.hideset.prepend(macro_tok.loc, macro_hidelist);2601 const hs = try pp.hideset.prepend(macro_tok.loc, @intCast(expanded.len), macro_hidelist);
27612602
2762 const macro_expansion_locs = macro_tok.expansionSlice();2603 const macro_expansion_locs = macro_tok.expansionSlice();
2763 var increment_idx_by = res.items.len;2604 var increment_idx_by = res.items.len;
...@@ -2815,7 +2656,7 @@ fn unescapeUcn(pp: *Preprocessor, tok: TokenWithExpansionLocs) !TokenWithExpansi...@@ -2815,7 +2656,7 @@ fn unescapeUcn(pp: *Preprocessor, tok: TokenWithExpansionLocs) !TokenWithExpansi
2815 @branchHint(.cold);2656 @branchHint(.cold);
2816 const identifier = pp.expandedSlice(tok);2657 const identifier = pp.expandedSlice(tok);
2817 const gpa = pp.comp.gpa;2658 const gpa = pp.comp.gpa;
2818 if (mem.indexOfScalar(u8, identifier, '\\') != null) {2659 if (mem.findScalar(u8, identifier, '\\') != null) {
2819 @branchHint(.cold);2660 @branchHint(.cold);
2820 const start = pp.comp.generated_buf.items.len;2661 const start = pp.comp.generated_buf.items.len;
2821 try pp.comp.generated_buf.ensureUnusedCapacity(gpa, identifier.len + 1);2662 try pp.comp.generated_buf.ensureUnusedCapacity(gpa, identifier.len + 1);
...@@ -2854,12 +2695,16 @@ fn unescapeUcn(pp: *Preprocessor, tok: TokenWithExpansionLocs) !TokenWithExpansi...@@ -2854,12 +2695,16 @@ fn unescapeUcn(pp: *Preprocessor, tok: TokenWithExpansionLocs) !TokenWithExpansi
2854 return tok;2695 return tok;
2855}2696}
28562697
2857fn addTokensFromExpandBuf(pp: *Preprocessor, tokens: []TokenWithExpansionLocs, tokenizer_nl: TokenWithExpansionLocs) !void {2698const PragmaLoc = struct { name_tok: TokenWithExpansionLocs, start: Tree.TokenIndex };
2699
2700fn addTokensFromExpandBuf(pp: *Preprocessor, tokens: []const TokenWithExpansionLocs, tokenizer_nl: TokenWithExpansionLocs) !void {
2858 const gpa = pp.comp.gpa;2701 const gpa = pp.comp.gpa;
2859 const has_pragma = tokens.len > 1 and tokens[0].id == .keyword_pragma;2702 var pragma_locs: std.ArrayListUnmanaged(PragmaLoc) = .empty;
2860 const start: Tree.TokenIndex = @intCast(pp.tokens.len);2703 defer pragma_locs.deinit(gpa);
2704
2861 try pp.ensureUnusedTokenCapacity(tokens.len);2705 try pp.ensureUnusedTokenCapacity(tokens.len);
2862 for (tokens, 0..) |*tok, i| {2706 for (tokens, 0..) |const_tok, i| {
2707 var tok = const_tok;
2863 if (tok.id == .macro_ws and !pp.preserve_whitespace) {2708 if (tok.id == .macro_ws and !pp.preserve_whitespace) {
2864 TokenWithExpansionLocs.free(tok.expansion_locs, gpa);2709 TokenWithExpansionLocs.free(tok.expansion_locs, gpa);
2865 continue;2710 continue;
...@@ -2872,11 +2717,14 @@ fn addTokensFromExpandBuf(pp: *Preprocessor, tokens: []TokenWithExpansionLocs, t...@@ -2872,11 +2717,14 @@ fn addTokensFromExpandBuf(pp: *Preprocessor, tokens: []TokenWithExpansionLocs, t
2872 TokenWithExpansionLocs.free(tok.expansion_locs, gpa);2717 TokenWithExpansionLocs.free(tok.expansion_locs, gpa);
2873 continue;2718 continue;
2874 }2719 }
2875 const is_pragma = i == 0 and has_pragma;2720 if (tok.flags.pragma_directive) {
2876 if (!is_pragma) {2721 const pragma_start: Tree.TokenIndex = @intCast(pp.tokens.len);
2877 tok.id.simplifyMacroKeywordExtra(true);2722 pp.addTokenAssumeCapacity(tok);
2723 try pragma_locs.append(gpa, .{ .name_tok = tokens[i + 1], .start = pragma_start });
2724 continue;
2878 }2725 }
2879 pp.addTokenAssumeCapacity(try pp.unescapeUcn(tok.*));2726 tok.id.simplifyMacroKeywordExtra(true);
2727 pp.addTokenAssumeCapacity(try pp.unescapeUcn(tok));
2880 }2728 }
2881 if (pp.preserve_whitespace) {2729 if (pp.preserve_whitespace) {
2882 try pp.ensureUnusedTokenCapacity(pp.add_expansion_nl);2730 try pp.ensureUnusedTokenCapacity(pp.add_expansion_nl);
...@@ -2884,8 +2732,8 @@ fn addTokensFromExpandBuf(pp: *Preprocessor, tokens: []TokenWithExpansionLocs, t...@@ -2884,8 +2732,8 @@ fn addTokensFromExpandBuf(pp: *Preprocessor, tokens: []TokenWithExpansionLocs, t
2884 pp.addTokenAssumeCapacity(tokenizer_nl);2732 pp.addTokenAssumeCapacity(tokenizer_nl);
2885 }2733 }
2886 }2734 }
2887 if (has_pragma) {2735 for (pragma_locs.items) |p| {
2888 try pp.evalPragma(tokens[1], start);2736 try pp.evalPragma(p.name_tok, p.start);
2889 }2737 }
2890}2738}
28912739
...@@ -2903,7 +2751,7 @@ fn expandMacro(pp: *Preprocessor, tokenizer: *Tokenizer, raw: RawToken) MacroErr...@@ -2903,7 +2751,7 @@ fn expandMacro(pp: *Preprocessor, tokenizer: *Tokenizer, raw: RawToken) MacroErr
2903 pp.expansion_source_loc = source_tok.loc;2751 pp.expansion_source_loc = source_tok.loc;
29042752
2905 pp.hideset.clearRetainingCapacity();2753 pp.hideset.clearRetainingCapacity();
2906 try pp.expandMacroExhaustive(tokenizer, &pp.top_expansion_buf, 0, 1, true, .non_expr);2754 try pp.expandMacroExhaustive(tokenizer, &pp.top_expansion_buf, 0, 1, .non_expr);
2907 try pp.addTokensFromExpandBuf(pp.top_expansion_buf.items, .{ .id = .nl, .loc = .{2755 try pp.addTokensFromExpandBuf(pp.top_expansion_buf.items, .{ .id = .nl, .loc = .{
2908 .id = tokenizer.source,2756 .id = tokenizer.source,
2909 .line = tokenizer.line,2757 .line = tokenizer.line,
...@@ -2949,6 +2797,20 @@ fn pasteTokens(pp: *Preprocessor, lhs_toks: *ExpandBuf, rhs_toks: []const TokenW...@@ -2949,6 +2797,20 @@ fn pasteTokens(pp: *Preprocessor, lhs_toks: *ExpandBuf, rhs_toks: []const TokenW
2949 return bufCopyTokens(gpa, lhs_toks, rhs_toks, &.{});2797 return bufCopyTokens(gpa, lhs_toks, rhs_toks, &.{});
2950 };2798 };
29512799
2800 // preserved comments (via -CC) inhibit pasting
2801 if (lhs.id == .comment and lhs.flags.is_macro_arg) {
2802 if (lhs_toks.items.len != 0 and rhs_toks.len != 0) {
2803 switch (lhs_toks.items[lhs_toks.items.len - 1].id) {
2804 .macro_ws, .comment => {},
2805 else => switch (rhs_toks[0].id) {
2806 .macro_ws, .comment => {},
2807 else => try lhs_toks.append(gpa, .{ .id = .macro_ws, .loc = lhs.loc }),
2808 },
2809 }
2810 }
2811 return bufCopyTokens(gpa, lhs_toks, rhs_toks, &.{});
2812 }
2813
2952 var rhs_rest: u32 = 1;2814 var rhs_rest: u32 = 1;
2953 const rhs = for (rhs_toks) |rhs| {2815 const rhs = for (rhs_toks) |rhs| {
2954 if ((pp.comp.langopts.preserve_comments_in_macros and rhs.id == .comment) or2816 if ((pp.comp.langopts.preserve_comments_in_macros and rhs.id == .comment) or
...@@ -2963,15 +2825,16 @@ fn pasteTokens(pp: *Preprocessor, lhs_toks: *ExpandBuf, rhs_toks: []const TokenW...@@ -2963,15 +2825,16 @@ fn pasteTokens(pp: *Preprocessor, lhs_toks: *ExpandBuf, rhs_toks: []const TokenW
29632825
2964 const start = pp.comp.generated_buf.items.len;2826 const start = pp.comp.generated_buf.items.len;
2965 const end = start + pp.expandedSlice(lhs).len + pp.expandedSlice(rhs).len;2827 const end = start + pp.expandedSlice(lhs).len + pp.expandedSlice(rhs).len;
2966 try pp.comp.generated_buf.ensureTotalCapacity(gpa, end + 1); // +1 for a newline2828 try pp.comp.generated_buf.ensureTotalCapacity(gpa, end + 2); // +2 for a newline and null terminator
2967 // We cannot use the same slices here since they might be invalidated by `ensureCapacity`2829 // We cannot use the same slices here since they might be invalidated by `ensureCapacity`
2968 pp.comp.generated_buf.appendSliceAssumeCapacity(pp.expandedSlice(lhs));2830 pp.comp.generated_buf.appendSliceAssumeCapacity(pp.expandedSlice(lhs));
2969 pp.comp.generated_buf.appendSliceAssumeCapacity(pp.expandedSlice(rhs));2831 pp.comp.generated_buf.appendSliceAssumeCapacity(pp.expandedSlice(rhs));
2970 pp.comp.generated_buf.appendAssumeCapacity('\n');2832 pp.comp.generated_buf.appendSliceAssumeCapacity("\n\x00");
2833 defer pp.comp.generated_buf.items.len -= 1; // remove redundant null terminator
29712834
2972 // Try to tokenize the result.2835 // Try to tokenize the result.
2973 var tmp_tokenizer: Tokenizer = .{2836 var tmp_tokenizer: Tokenizer = .{
2974 .buf = pp.comp.generated_buf.items,2837 .buf = pp.comp.generated_buf.items[0 .. pp.comp.generated_buf.items.len - 1 :0],
2975 .langopts = pp.comp.langopts,2838 .langopts = pp.comp.langopts,
2976 .index = @intCast(start),2839 .index = @intCast(start),
2977 .source = .generated,2840 .source = .generated,
...@@ -2985,7 +2848,7 @@ fn pasteTokens(pp: *Preprocessor, lhs_toks: *ExpandBuf, rhs_toks: []const TokenW...@@ -2985,7 +2848,7 @@ fn pasteTokens(pp: *Preprocessor, lhs_toks: *ExpandBuf, rhs_toks: []const TokenW
2985 pasted_token.id;2848 pasted_token.id;
29862849
2987 const hideset = try pp.hideset.intersection(pp.hideset.get(lhs.loc), pp.hideset.get(rhs.loc));2850 const hideset = try pp.hideset.intersection(pp.hideset.get(lhs.loc), pp.hideset.get(rhs.loc));
2988 const generated_token = try pp.makeGeneratedTokenExtra(start, pasted_id, lhs, hideset);2851 const generated_token = try pp.makeGeneratedTokenExtra(start, pasted_id, lhs, hideset, lhs.flags.is_macro_arg or rhs.flags.is_macro_arg);
2989 try lhs_toks.append(gpa, generated_token);2852 try lhs_toks.append(gpa, generated_token);
29902853
2991 if (next.id != .nl and next.id != .eof) {2854 if (next.id != .nl and next.id != .eof) {
...@@ -2996,13 +2859,13 @@ fn pasteTokens(pp: *Preprocessor, lhs_toks: *ExpandBuf, rhs_toks: []const TokenW...@@ -2996,13 +2859,13 @@ fn pasteTokens(pp: *Preprocessor, lhs_toks: *ExpandBuf, rhs_toks: []const TokenW
2996 try bufCopyTokens(gpa, lhs_toks, rhs_toks[rhs_rest..], &.{});2859 try bufCopyTokens(gpa, lhs_toks, rhs_toks[rhs_rest..], &.{});
2997}2860}
29982861
2999fn makeGeneratedTokenExtra(pp: *Preprocessor, start: usize, id: Token.Id, source: TokenWithExpansionLocs, hideset: Hideset.Index) !TokenWithExpansionLocs {2862fn makeGeneratedTokenExtra(pp: *Preprocessor, start: usize, id: Token.Id, source: TokenWithExpansionLocs, hideset: Hideset.Index, is_macro_arg: bool) !TokenWithExpansionLocs {
3000 const gpa = pp.comp.gpa;2863 const gpa = pp.comp.gpa;
3001 var pasted_token = TokenWithExpansionLocs{ .id = id, .loc = .{2864 var pasted_token = TokenWithExpansionLocs{ .id = id, .loc = .{
3002 .id = .generated,2865 .id = .generated,
3003 .byte_offset = @intCast(start),2866 .byte_offset = @intCast(start),
3004 .line = pp.generated_line,2867 .line = pp.generated_line,
3005 } };2868 }, .flags = .{ .is_macro_arg = is_macro_arg } };
3006 pp.generated_line += 1;2869 pp.generated_line += 1;
3007 try pasted_token.addExpansionLocation(gpa, &.{source.loc});2870 try pasted_token.addExpansionLocation(gpa, &.{source.loc});
3008 try pasted_token.addExpansionLocation(gpa, source.expansionSlice());2871 try pasted_token.addExpansionLocation(gpa, source.expansionSlice());
...@@ -3012,7 +2875,7 @@ fn makeGeneratedTokenExtra(pp: *Preprocessor, start: usize, id: Token.Id, source...@@ -3012,7 +2875,7 @@ fn makeGeneratedTokenExtra(pp: *Preprocessor, start: usize, id: Token.Id, source
3012}2875}
30132876
3014fn makeGeneratedToken(pp: *Preprocessor, start: usize, id: Token.Id, source: TokenWithExpansionLocs) !TokenWithExpansionLocs {2877fn makeGeneratedToken(pp: *Preprocessor, start: usize, id: Token.Id, source: TokenWithExpansionLocs) !TokenWithExpansionLocs {
3015 return pp.makeGeneratedTokenExtra(start, id, source, pp.hideset.get(source.loc));2878 return pp.makeGeneratedTokenExtra(start, id, source, pp.hideset.get(source.loc), false);
3016}2879}
30172880
3018/// Defines a new macro and warns if it is a duplicate2881/// Defines a new macro and warns if it is a duplicate
...@@ -3129,6 +2992,10 @@ fn define(pp: *Preprocessor, tokenizer: *Tokenizer, define_tok: RawToken) Error!...@@ -3129,6 +2992,10 @@ fn define(pp: *Preprocessor, tokenizer: *Tokenizer, define_tok: RawToken) Error!
3129 },2992 },
3130 .unterminated_comment => try pp.err(tok, .unterminated_comment, .{}),2993 .unterminated_comment => try pp.err(tok, .unterminated_comment, .{}),
3131 else => {2994 else => {
2995 if (tok.id.isMacroIdentifier() and pp.poisoned_identifiers.get(pp.tokSlice(tok)) != null) {
2996 try pp.err(tok, .poisoned_identifier, .{});
2997 }
2998
3132 if (tok.id == .incomplete_ucn) {2999 if (tok.id == .incomplete_ucn) {
3133 @branchHint(.cold);3000 @branchHint(.cold);
3134 try pp.err(tok, .incomplete_ucn, .{});3001 try pp.err(tok, .incomplete_ucn, .{});
...@@ -3276,6 +3143,10 @@ fn defineFn(pp: *Preprocessor, tokenizer: *Tokenizer, define_tok: RawToken, macr...@@ -3276,6 +3143,10 @@ fn defineFn(pp: *Preprocessor, tokenizer: *Tokenizer, define_tok: RawToken, macr
3276 },3143 },
3277 .unterminated_comment => try pp.err(tok, .unterminated_comment, .{}),3144 .unterminated_comment => try pp.err(tok, .unterminated_comment, .{}),
3278 else => {3145 else => {
3146 if (tok.id.isMacroIdentifier() and pp.poisoned_identifiers.get(pp.tokSlice(tok)) != null) {
3147 try pp.err(tok, .poisoned_identifier, .{});
3148 }
3149
3279 if (tok.id != .whitespace and need_ws) {3150 if (tok.id != .whitespace and need_ws) {
3280 need_ws = false;3151 need_ws = false;
3281 try pp.token_buf.append(gpa, .{ .id = .macro_ws, .source = .generated });3152 try pp.token_buf.append(gpa, .{ .id = .macro_ws, .source = .generated });
...@@ -3347,7 +3218,11 @@ fn defineFn(pp: *Preprocessor, tokenizer: *Tokenizer, define_tok: RawToken, macr...@@ -3347,7 +3218,11 @@ fn defineFn(pp: *Preprocessor, tokenizer: *Tokenizer, define_tok: RawToken, macr
3347fn embed(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!void {3218fn embed(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!void {
3348 const gpa = pp.comp.gpa;3219 const gpa = pp.comp.gpa;
3349 const first = tokenizer.nextNoWS();3220 const first = tokenizer.nextNoWS();
3350 const filename_tok = pp.findIncludeFilenameToken(first, tokenizer, .ignore_trailing_tokens) catch |er| switch (er) {3221 pp.top_expansion_buf.items.len = 0;
3222 defer for (pp.top_expansion_buf.items) |tok| TokenWithExpansionLocs.free(tok.expansion_locs, gpa);
3223 var embed_args: []const TokenWithExpansionLocs = &.{};
3224
3225 const filename_tok = pp.findIncludeFilenameToken(first, tokenizer, &embed_args) catch |er| switch (er) {
3351 error.InvalidInclude => return,3226 error.InvalidInclude => return,
3352 else => |e| return e,3227 else => |e| return e,
3353 };3228 };
...@@ -3366,132 +3241,86 @@ fn embed(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!void {...@@ -3366,132 +3241,86 @@ fn embed(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!void {
3366 else => unreachable,3241 else => unreachable,
3367 };3242 };
33683243
3369 // Index into `token_buf`3244 const Range = EmbedArgIterator.Range;
3370 const Range = struct {
3371 start: u32,
3372 end: u32,
3373
3374 fn expand(opt_range: ?@This(), pp_: *Preprocessor, tokenizer_: *Tokenizer) !void {
3375 const range = opt_range orelse return;
3376 const slice = pp_.token_buf.items[range.start..range.end];
3377 for (slice) |tok| {
3378 try pp_.expandMacro(tokenizer_, tok);
3379 }
3380 }
3381 };
3382 pp.token_buf.items.len = 0;
33833245
3384 var limit: ?std.Io.Limit = null;3246 var limit: ?std.Io.Limit = null;
3385 var prefix: ?Range = null;3247 var prefix: ?Range = null;
3386 var suffix: ?Range = null;3248 var suffix: ?Range = null;
3387 var if_empty: ?Range = null;3249 var if_empty: ?Range = null;
3388 while (true) {
3389 const param_first = tokenizer.nextNoWS();
3390 switch (param_first.id) {
3391 .nl, .eof => break,
3392 .identifier => {},
3393 else => {
3394 try pp.err(param_first, .malformed_embed_param, .{});
3395 continue;
3396 },
3397 }
3398
3399 const char_top = pp.char_buf.items.len;
3400 defer pp.char_buf.items.len = char_top;
34013250
3402 const maybe_colon = tokenizer.colonColon();3251 const eof = embed_args[embed_args.len - 1];
3403 const param = switch (maybe_colon.id) {3252 embed_args.len -= 1;
3404 .colon_colon => blk: {
3405 // vendor::param
3406 const param = tokenizer.nextNoWS();
3407 if (param.id != .identifier) {
3408 try pp.err(param, .malformed_embed_param, .{});
3409 continue;
3410 }
3411 const l_paren = tokenizer.nextNoWS();
3412 if (l_paren.id != .l_paren) {
3413 try pp.err(l_paren, .malformed_embed_param, .{});
3414 continue;
3415 }
3416 const vendor = Attribute.normalize(pp.tokSlice(param_first));
3417 const param_name = Attribute.normalize(pp.tokSlice(param));
3418 try pp.char_buf.ensureUnusedCapacity(gpa, vendor.len + 2 + param_name.len);
3419 pp.char_buf.appendSliceAssumeCapacity(vendor);
3420 pp.char_buf.appendSliceAssumeCapacity("::");
3421 pp.char_buf.appendSliceAssumeCapacity(param_name);
3422 break :blk pp.char_buf.items;
3423 },
3424 .l_paren => Attribute.normalize(pp.tokSlice(param_first)),
3425 else => {
3426 try pp.err(maybe_colon, .malformed_embed_param, .{});
3427 continue;
3428 },
3429 };
34303253
3431 const start: u32 = @intCast(pp.token_buf.items.len);3254 var it: EmbedArgIterator = .{
3432 while (true) {3255 .toks = embed_args,
3433 const next = tokenizer.nextNoWS();3256 .eof = eof,
3434 if (next.id == .r_paren) break;3257 .pp = pp,
3435 if (next.id == .eof) {3258 };
3436 try pp.err(maybe_colon, .malformed_embed_param, .{});3259 while (try it.param()) |param| switch (param) {
3437 break;3260 .limit => |range| {
3438 }
3439 try pp.token_buf.append(gpa, next);
3440 }
3441 const end: u32 = @intCast(pp.token_buf.items.len);
3442
3443 if (std.mem.eql(u8, param, "limit")) {
3444 if (limit != null) {3261 if (limit != null) {
3445 try pp.err(tokFromRaw(param_first), .duplicate_embed_param, .{"limit"});3262 try pp.err(range.tok, .duplicate_embed_param, .{"limit"});
3446 continue;
3447 }
3448 if (start + 1 != end) {
3449 try pp.err(param_first, .malformed_embed_limit, .{});
3450 continue;
3451 }3263 }
3452 const limit_tok = pp.token_buf.items[start];3264 var parser: Parser = .{
3453 if (limit_tok.id != .pp_num) {3265 .pp = pp,
3454 try pp.err(param_first, .malformed_embed_limit, .{});3266 .tokens = it.toks[range.start..range.end],
3455 continue;3267 .eof = it.toks[it.i - 1],
3456 }3268 };
3457 limit = .limited(std.fmt.parseInt(u32, pp.tokSlice(limit_tok), 10) catch {3269 const val = try parser.parse() orelse return;
3458 try pp.err(limit_tok, .malformed_embed_limit, .{});3270 const int = val.toInt(usize) orelse {
3459 continue;3271 try pp.err(range.tok, .invalid_embed_limit, .{});
3460 });3272 return;
3461 pp.token_buf.items.len = start;3273 };
3462 } else if (std.mem.eql(u8, param, "prefix")) {3274 limit = .limited(int);
3275 },
3276 .prefix => |range| {
3463 if (prefix != null) {3277 if (prefix != null) {
3464 try pp.err(tokFromRaw(param_first), .duplicate_embed_param, .{"prefix"});3278 try pp.err(range.tok, .duplicate_embed_param, .{"prefix"});
3465 continue;
3466 }3279 }
3467 prefix = .{ .start = start, .end = end };3280 prefix = range;
3468 } else if (std.mem.eql(u8, param, "suffix")) {3281 },
3282 .if_empty => |range| {
3283 if (if_empty != null) {
3284 try pp.err(range.tok, .duplicate_embed_param, .{"if_empty"});
3285 }
3286 if_empty = range;
3287 },
3288 .suffix => |range| {
3469 if (suffix != null) {3289 if (suffix != null) {
3470 try pp.err(tokFromRaw(param_first), .duplicate_embed_param, .{"suffix"});3290 try pp.err(range.tok, .duplicate_embed_param, .{"suffix"});
3471 continue;
3472 }3291 }
3473 suffix = .{ .start = start, .end = end };3292 suffix = range;
3474 } else if (std.mem.eql(u8, param, "if_empty")) {3293 },
3475 if (if_empty != null) {3294 .unknown => |vendor_and_name| {
3476 try pp.err(tokFromRaw(param_first), .duplicate_embed_param, .{"if_empty"});3295 const char_top = pp.char_buf.items.len;
3477 continue;3296 defer pp.char_buf.items.len = char_top;
3297
3298 const name_str = pp.expandedSlice(vendor_and_name.name);
3299 if (vendor_and_name.vendor) |vendor| {
3300 const vendor_str = pp.expandedSlice(vendor);
3301 try pp.char_buf.ensureUnusedCapacity(gpa, vendor_str.len + 2 + name_str.len);
3302 pp.char_buf.appendSliceAssumeCapacity(vendor_str);
3303 pp.char_buf.appendSliceAssumeCapacity("::");
3304 pp.char_buf.appendSliceAssumeCapacity(name_str);
3305 try pp.err(vendor_and_name.name, .unknown_embed_param, .{pp.char_buf.items[char_top..]});
3306 return;
3478 }3307 }
3479 if_empty = .{ .start = start, .end = end };3308
3480 } else {3309 try pp.err(vendor_and_name.name, .unknown_embed_param, .{name_str});
3481 try pp.err(tokFromRaw(param_first), .unsupported_embed_param, .{param});3310 return;
3482 pp.token_buf.items.len = start;3311 },
3483 }3312 .invalid => return,
3484 }3313 };
34853314
3486 const embed_bytes = (try pp.comp.findEmbed(filename, first.source, include_type, limit orelse .unlimited, pp.dep_file)) orelse3315 const embed_bytes = (try pp.comp.findEmbed(filename, first.source, include_type, limit orelse .unlimited, pp.dep_file)) orelse
3487 return pp.fatalNotFound(filename_tok, filename);3316 return pp.fatalNotFound(filename_tok, filename);
3488 defer gpa.free(embed_bytes);3317 defer gpa.free(embed_bytes);
34893318
3490 try Range.expand(prefix, pp, tokenizer);3319 try it.addTokens(prefix);
34913320
3492 if (embed_bytes.len == 0) {3321 if (embed_bytes.len == 0) {
3493 try Range.expand(if_empty, pp, tokenizer);3322 try it.addTokens(if_empty);
3494 try Range.expand(suffix, pp, tokenizer);3323 try it.addTokens(suffix);
3495 return;3324 return;
3496 }3325 }
34973326
...@@ -3515,9 +3344,128 @@ fn embed(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!void {...@@ -3515,9 +3344,128 @@ fn embed(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!void {
3515 }3344 }
3516 try pp.comp.generated_buf.append(gpa, '\n');3345 try pp.comp.generated_buf.append(gpa, '\n');
35173346
3518 try Range.expand(suffix, pp, tokenizer);3347 try it.addTokens(suffix);
3519}3348}
35203349
3350const EmbedArgIterator = struct {
3351 i: usize = 0,
3352 toks: []const TokenWithExpansionLocs,
3353 eof: TokenWithExpansionLocs,
3354 pp: *Preprocessor,
3355
3356 fn next(it: *EmbedArgIterator) TokenWithExpansionLocs {
3357 while (it.i < it.toks.len) {
3358 defer it.i += 1;
3359 switch (it.toks[it.i].id) {
3360 .whitespace, .comment, .macro_ws => continue,
3361 else => return it.toks[it.i],
3362 }
3363 }
3364 return it.eof;
3365 }
3366
3367 fn peek(it: *EmbedArgIterator) TokenWithExpansionLocs {
3368 while (it.i < it.toks.len) {
3369 switch (it.toks[it.i].id) {
3370 .whitespace, .comment, .macro_ws => it.i += 1,
3371 else => return it.toks[it.i],
3372 }
3373 }
3374 return it.eof;
3375 }
3376
3377 const Range = struct {
3378 tok: TokenWithExpansionLocs,
3379 start: u32,
3380 end: u32,
3381 };
3382
3383 const Param = union(enum) {
3384 prefix: Range,
3385 if_empty: Range,
3386 suffix: Range,
3387 limit: Range,
3388 unknown: struct {
3389 vendor: ?TokenWithExpansionLocs,
3390 name: TokenWithExpansionLocs,
3391 },
3392 invalid,
3393 };
3394
3395 fn param(it: *EmbedArgIterator) !?Param {
3396 while (true) {
3397 const param_first = it.next();
3398 if (param_first.id == .eof) return null;
3399 if (param_first.id != .identifier) {
3400 try it.pp.err(param_first, .embed_param_identifier, .{});
3401 return .invalid;
3402 }
3403
3404 var vendor_tok: ?TokenWithExpansionLocs = null;
3405 var name_tok = param_first;
3406 if (it.peek().id == .colon_colon) {
3407 vendor_tok = param_first;
3408 _ = it.next(); // ::
3409 name_tok = it.next();
3410 if (name_tok.id != .identifier) {
3411 try it.pp.err(name_tok, .embed_param_identifier, .{});
3412 return .invalid;
3413 }
3414 }
3415
3416 const opt_args: ?Range = blk: {
3417 if (it.peek().id != .l_paren) break :blk null;
3418 const l_paren = it.next();
3419
3420 const start: u32 = @intCast(it.i);
3421 var parens: u32 = 0;
3422 while (true) {
3423 const tok = it.next();
3424 if (tok.id == .l_paren) parens += 1;
3425 if (tok.id == .r_paren) {
3426 if (parens == 0) break;
3427 parens -= 1;
3428 }
3429 if (tok.id == .eof) {
3430 try it.pp.err(tok, .closing_paren, .{});
3431 try it.pp.err(l_paren, .to_match_paren, .{});
3432 return .invalid;
3433 }
3434 }
3435 const end: u32 = @intCast(it.i - 1);
3436 break :blk .{ .start = start, .end = end, .tok = name_tok };
3437 };
3438
3439 if (vendor_tok != null) {
3440 return .{ .unknown = .{ .vendor = vendor_tok, .name = name_tok } };
3441 }
3442
3443 const name_str = Attribute.normalize(it.pp.expandedSlice(name_tok));
3444 const args = opt_args orelse {
3445 try it.pp.err(name_tok, .embed_param_args, .{});
3446 return null;
3447 };
3448 if (mem.eql(u8, name_str, "limit")) {
3449 return .{ .limit = args };
3450 } else if (mem.eql(u8, name_str, "prefix")) {
3451 return .{ .prefix = args };
3452 } else if (mem.eql(u8, name_str, "suffix")) {
3453 return .{ .suffix = args };
3454 } else if (mem.eql(u8, name_str, "if_empty")) {
3455 return .{ .if_empty = args };
3456 } else {
3457 return .{ .unknown = .{ .vendor = null, .name = name_tok } };
3458 }
3459 }
3460 }
3461
3462 fn addTokens(it: EmbedArgIterator, opt_range: ?Range) !void {
3463 const range = opt_range orelse return;
3464 const slice = it.toks[range.start..range.end];
3465 try it.pp.addTokensFromExpandBuf(slice, it.eof);
3466 }
3467};
3468
3521// Handle a #include directive.3469// Handle a #include directive.
3522fn include(pp: *Preprocessor, tokenizer: *Tokenizer, which: Compilation.WhichInclude) MacroError!void {3470fn include(pp: *Preprocessor, tokenizer: *Tokenizer, which: Compilation.WhichInclude) MacroError!void {
3523 const first = tokenizer.nextNoWS();3471 const first = tokenizer.nextNoWS();
...@@ -3540,6 +3488,34 @@ fn include(pp: *Preprocessor, tokenizer: *Tokenizer, which: Compilation.WhichInc...@@ -3540,6 +3488,34 @@ fn include(pp: *Preprocessor, tokenizer: *Tokenizer, which: Compilation.WhichInc
3540 if (pp.defines.contains(guard)) return;3488 if (pp.defines.contains(guard)) return;
3541 }3489 }
35423490
3491 // Run any beforeInclude pragma hooks.
3492 //
3493 // NOTE: This is currently the only deep-preprocessor hook other than the
3494 // actual token handler itself. If more are added, an event hook system
3495 // similar to the compilation-scoped one should be considered with a
3496 // payload structure that can handle context-relevant event data (e.g.,
3497 // here, the source file data is needed).
3498 for (pp.comp.pragma_handlers.keys(), pp.comp.pragma_handlers.values()) |handler_pragma_name, handler_pragma| {
3499 if (handler_pragma.beforeInclude) |func| {
3500 func(handler_pragma, pp, new_source) catch |handler_err| {
3501 switch (handler_err) {
3502 error.SkipInclude => {
3503 if (pp.verbose) {
3504 pp.verboseLog(
3505 first,
3506 "skipping include file {s} under direction of \"{s}\" pragma",
3507 .{ new_source.path, handler_pragma_name },
3508 );
3509 }
3510
3511 return;
3512 },
3513 else => |e| return e,
3514 }
3515 };
3516 }
3517 }
3518
3543 if (pp.dep_file) |dep| try dep.addDependency(gpa, new_source.path);3519 if (pp.dep_file) |dep| try dep.addDependency(gpa, new_source.path);
3544 if (pp.verbose) {3520 if (pp.verbose) {
3545 pp.verboseLog(first, "include file {s}", .{new_source.path});3521 pp.verboseLog(first, "include file {s}", .{new_source.path});
...@@ -3602,10 +3578,10 @@ pub fn ensureUnusedTokenCapacity(pp: *Preprocessor, capacity: usize) !void {...@@ -3602,10 +3578,10 @@ pub fn ensureUnusedTokenCapacity(pp: *Preprocessor, capacity: usize) !void {
3602}3578}
36033579
3604/// Handle a pragma directive3580/// Handle a pragma directive
3605fn pragma(pp: *Preprocessor, tokenizer: *Tokenizer, pragma_tok: RawToken, expand_buf: *ExpandBuf) !void {3581fn pragma(pp: *Preprocessor, tokenizer: *Tokenizer, pragma_tok: TokenWithExpansionLocs, expand_buf: *ExpandBuf) !void {
3606 const name_tok = tokFromRaw(tokenizer.nextNoWS());3582 const name_tok = tokFromRaw(tokenizer.nextNoWS());
3607 if (name_tok.id == .nl or name_tok.id == .eof) return;3583 if (name_tok.id == .nl or name_tok.id == .eof) return;
3608 try expand_buf.appendSlice(pp.comp.gpa, &.{ tokFromRaw(pragma_tok), name_tok });3584 try expand_buf.appendSlice(pp.comp.gpa, &.{ pragma_tok, name_tok });
36093585
3610 const name = pp.expandedSlice(name_tok);3586 const name = pp.expandedSlice(name_tok);
3611 const prag: *const Pragma = pp.comp.getPragma(name) orelse &.do_nothing;3587 const prag: *const Pragma = pp.comp.getPragma(name) orelse &.do_nothing;
...@@ -3624,7 +3600,7 @@ fn pragma(pp: *Preprocessor, tokenizer: *Tokenizer, pragma_tok: RawToken, expand...@@ -3624,7 +3600,7 @@ fn pragma(pp: *Preprocessor, tokenizer: *Tokenizer, pragma_tok: RawToken, expand
3624 const pos = expand_buf.items.len;3600 const pos = expand_buf.items.len;
3625 try expand_buf.append(pp.comp.gpa, tokFromRaw(next_tok));3601 try expand_buf.append(pp.comp.gpa, tokFromRaw(next_tok));
3626 if (prag.shouldExpandTokenAtIndex(i)) {3602 if (prag.shouldExpandTokenAtIndex(i)) {
3627 try pp.expandMacroExhaustive(tokenizer, expand_buf, pos, pos + 1, true, .no_pragma);3603 try pp.expandMacroExhaustive(tokenizer, expand_buf, pos, pos + 1, .no_pragma);
3628 }3604 }
3629 i += 1;3605 i += 1;
36303606
...@@ -3636,16 +3612,17 @@ fn findIncludeFilenameToken(...@@ -3636,16 +3612,17 @@ fn findIncludeFilenameToken(
3636 pp: *Preprocessor,3612 pp: *Preprocessor,
3637 first_token: RawToken,3613 first_token: RawToken,
3638 tokenizer: *Tokenizer,3614 tokenizer: *Tokenizer,
3639 trailing_token_behavior: enum { ignore_trailing_tokens, expect_nl_eof },3615 embed_args: ?*[]const TokenWithExpansionLocs,
3640) !TokenWithExpansionLocs {3616) !TokenWithExpansionLocs {
3641 var first = first_token;3617 var first = first_token;
36423618
3643 if (first.id == .angle_bracket_left) to_end: {3619 if (first.id == .angle_bracket_left) to_end: {
3620 var index = tokenizer.index;
3644 // The tokenizer does not handle <foo> include strings so do it here.3621 // The tokenizer does not handle <foo> include strings so do it here.
3645 while (tokenizer.index < tokenizer.buf.len) : (tokenizer.index += 1) {3622 while (index < tokenizer.buf.len) : (index += 1) {
3646 switch (tokenizer.buf[tokenizer.index]) {3623 switch (tokenizer.buf[index]) {
3647 '>' => {3624 '>' => {
3648 tokenizer.index += 1;3625 tokenizer.index = index + 1;
3649 first.end = tokenizer.index;3626 first.end = tokenizer.index;
3650 first.id = .macro_string;3627 first.id = .macro_string;
3651 break :to_end;3628 break :to_end;
...@@ -3654,57 +3631,90 @@ fn findIncludeFilenameToken(...@@ -3654,57 +3631,90 @@ fn findIncludeFilenameToken(
3654 else => {},3631 else => {},
3655 }3632 }
3656 }3633 }
3657 const loc: Source.Location = .{ .id = first.source, .byte_offset = tokenizer.index, .line = first.line };
3658 try pp.err(loc, .header_str_closing, .{});
3659 try pp.err(first, .header_str_match, .{});
3660 }3634 }
36613635
3636 const gpa = pp.comp.gpa;
3662 const source_tok = tokFromRaw(first);3637 const source_tok = tokFromRaw(first);
3663 const filename_tok, const expanded_trailing = switch (source_tok.id) {3638 const source_str = switch (source_tok.id) {
3664 .string_literal, .macro_string => .{ source_tok, false },3639 .string_literal, .macro_string => true,
3665 else => expanded: {3640 else => false,
3666 const gpa = pp.comp.gpa;
3667 // Try to expand if the argument is a macro.
3668 pp.top_expansion_buf.items.len = 0;
3669 defer for (pp.top_expansion_buf.items) |tok| TokenWithExpansionLocs.free(tok.expansion_locs, gpa);
3670 try pp.top_expansion_buf.append(gpa, source_tok);
3671 pp.expansion_source_loc = source_tok.loc;
3672
3673 try pp.expandMacroExhaustive(tokenizer, &pp.top_expansion_buf, 0, 1, true, .no_pragma);
3674 var trailing_toks: []const TokenWithExpansionLocs = &.{};
3675 const include_str = (try pp.reconstructIncludeString(pp.top_expansion_buf.items, &trailing_toks, tokFromRaw(first))) orelse {
3676 try pp.expectNl(tokenizer);
3677 return error.InvalidInclude;
3678 };
3679 const start = pp.comp.generated_buf.items.len;
3680 try pp.comp.generated_buf.appendSlice(gpa, include_str);
3681
3682 break :expanded .{ try pp.makeGeneratedToken(start, switch (include_str[0]) {
3683 '"' => .string_literal,
3684 '<' => .macro_string,
3685 else => unreachable,
3686 }, pp.top_expansion_buf.items[0]), trailing_toks.len != 0 };
3687 },
3688 };3641 };
36893642
3690 switch (trailing_token_behavior) {3643 pp.top_expansion_buf.items.len = 0;
3691 .expect_nl_eof => {3644 defer if (embed_args == null) for (pp.top_expansion_buf.items) |tok| TokenWithExpansionLocs.free(tok.expansion_locs, gpa);
3645 if (!source_str or embed_args != null) {
3646 if (!source_str) try pp.top_expansion_buf.append(gpa, source_tok);
3647 pp.expansion_source_loc = source_tok.loc;
3648
3649 while (true) {
3650 var tok = tokenizer.next();
3651 switch (tok.id) {
3652 .whitespace => tok.id = .macro_ws,
3653 .nl => tok.id = .eof,
3654 .unterminated_string_literal, .unterminated_char_literal, .empty_char_literal => |tag| {
3655 try pp.err(tok, invalidTokenDiagnostic(tag), .{});
3656 },
3657 .unterminated_comment => {
3658 try pp.err(tok, .unterminated_comment, .{});
3659 },
3660 else => {
3661 if (tok.id.isMacroIdentifier() and pp.poisoned_identifiers.get(pp.tokSlice(tok)) != null) {
3662 try pp.err(tok, .poisoned_identifier, .{});
3663 }
3664 },
3665 }
3666 try pp.top_expansion_buf.append(gpa, tokFromRaw(tok));
3667 if (tok.id == .eof) break;
3668 }
3669 try pp.expandMacroExhaustive(null, &pp.top_expansion_buf, 0, pp.top_expansion_buf.items.len, .no_pragma);
3670 removePlacemarkers(gpa, &pp.top_expansion_buf);
3671 }
3672
3673 if (source_str) {
3674 // Happy path, no macro expansion needed. We just check to ensure
3675 // that there's no trailing tokens, and we're done.
3676 if (embed_args) |toks| {
3677 toks.* = pp.top_expansion_buf.items;
3678 } else {
3692 // Error on extra tokens.3679 // Error on extra tokens.
3693 const nl = tokenizer.nextNoWS();3680 const nl = tokenizer.nextNoWS();
3694 if ((nl.id != .nl and nl.id != .eof) or expanded_trailing) {3681 if (nl.id != .nl and nl.id != .eof) {
3695 skipToNl(tokenizer);3682 skipToNl(tokenizer);
3696 try pp.err(filename_tok, .extra_tokens_directive_end, .{});3683 try pp.err(nl, .extra_tokens_directive_end, .{});
3697 }3684 }
3698 },3685 }
3699 .ignore_trailing_tokens => if (expanded_trailing) {3686
3700 try pp.err(filename_tok, .extra_tokens_directive_end, .{});3687 return source_tok;
3701 },
3702 }3688 }
3703 return filename_tok;3689
3690 // Our include argument is a macro, so we need to try and expand
3691 // it.
3692 var dummy_trailing_toks: []const TokenWithExpansionLocs = &.{};
3693 const include_str = (try pp.reconstructIncludeString(pp.top_expansion_buf.items, embed_args orelse &dummy_trailing_toks, tokFromRaw(first))) orelse {
3694 return error.InvalidInclude;
3695 };
3696 const start = pp.comp.generated_buf.items.len;
3697 try pp.comp.generated_buf.appendSlice(gpa, include_str);
3698
3699 // Check for trailing tokens
3700 for (dummy_trailing_toks) |tok| {
3701 switch (tok.id) {
3702 .macro_ws, .whitespace, .eof => continue,
3703 else => {},
3704 }
3705 try pp.err(tok, .extra_tokens_directive_end, .{});
3706 break;
3707 }
3708
3709 return try pp.makeGeneratedToken(start, switch (include_str[0]) {
3710 '"' => .string_literal,
3711 '<' => .macro_string,
3712 else => unreachable,
3713 }, pp.top_expansion_buf.items[0]);
3704}3714}
37053715
3706fn findIncludeSource(pp: *Preprocessor, tokenizer: *Tokenizer, first: RawToken, which: Compilation.WhichInclude) !Source {3716fn findIncludeSource(pp: *Preprocessor, tokenizer: *Tokenizer, first: RawToken, which: Compilation.WhichInclude) !Source {
3707 const filename_tok = try pp.findIncludeFilenameToken(first, tokenizer, .expect_nl_eof);3717 const filename_tok = try pp.findIncludeFilenameToken(first, tokenizer, null);
3708 defer TokenWithExpansionLocs.free(filename_tok.expansion_locs, pp.comp.gpa);3718 defer TokenWithExpansionLocs.free(filename_tok.expansion_locs, pp.comp.gpa);
37093719
3710 // Check for empty filename.3720 // Check for empty filename.
...@@ -3872,7 +3882,7 @@ pub fn prettyPrintTokens(pp: *Preprocessor, w: *std.Io.Writer, macro_dump_mode:...@@ -3872,7 +3882,7 @@ pub fn prettyPrintTokens(pp: *Preprocessor, w: *std.Io.Writer, macro_dump_mode:
3872 },3882 },
3873 .keyword_pragma => {3883 .keyword_pragma => {
3874 const pragma_name = pp.expandedSlice(pp.tokens.get(i + 1));3884 const pragma_name = pp.expandedSlice(pp.tokens.get(i + 1));
3875 const end_idx = mem.indexOfScalarPos(Token.Id, tok_ids, i, .nl) orelse i + 1;3885 const end_idx = mem.findScalarPos(Token.Id, tok_ids, i, .nl) orelse i + 1;
3876 const pragma_len = @as(u32, @intCast(end_idx)) - i;3886 const pragma_len = @as(u32, @intCast(end_idx)) - i;
38773887
3878 if (pp.comp.getPragma(pragma_name)) |prag| {3888 if (pp.comp.getPragma(pragma_name)) |prag| {
...@@ -3899,7 +3909,7 @@ pub fn prettyPrintTokens(pp: *Preprocessor, w: *std.Io.Writer, macro_dump_mode:...@@ -3899,7 +3909,7 @@ pub fn prettyPrintTokens(pp: *Preprocessor, w: *std.Io.Writer, macro_dump_mode:
3899 },3909 },
3900 .whitespace => {3910 .whitespace => {
3901 var slice = pp.expandedSlice(cur);3911 var slice = pp.expandedSlice(cur);
3902 while (mem.indexOfScalar(u8, slice, '\n')) |some| {3912 while (mem.findScalar(u8, slice, '\n')) |some| {
3903 if (pp.linemarkers != .none) try w.writeByte('\n');3913 if (pp.linemarkers != .none) try w.writeByte('\n');
3904 slice = slice[some + 1 ..];3914 slice = slice[some + 1 ..];
3905 }3915 }
...@@ -4110,7 +4120,8 @@ test "Include guards" {...@@ -4110,7 +4120,8 @@ test "Include guards" {
4110 var pp = try Preprocessor.init(&comp, .testing);4120 var pp = try Preprocessor.init(&comp, .testing);
4111 defer pp.deinit();4121 defer pp.deinit();
41124122
4113 const file_path = try path.join(gpa, &.{ ".", "bar.h" });4123 // Resolve the path to match what findInclude will resolve it to
4124 const file_path = try std.fs.path.resolve(gpa, &.{ ".", "bar.h" });
4114 defer gpa.free(file_path);4125 defer gpa.free(file_path);
41154126
4116 _ = try comp.addSourceFromBuffer(file_path, "int bar = 5;\n");4127 _ = try comp.addSourceFromBuffer(file_path, "int bar = 5;\n");
lib/compiler/aro/aro/Preprocessor/Diagnostic.zig+91-30
...@@ -112,12 +112,8 @@ pub const macro_name_missing: Diagnostic = .{...@@ -112,12 +112,8 @@ pub const macro_name_missing: Diagnostic = .{
112112
113pub const extra_tokens_directive_end: Diagnostic = .{113pub const extra_tokens_directive_end: Diagnostic = .{
114 .fmt = "extra tokens at end of macro directive",114 .fmt = "extra tokens at end of macro directive",
115 .kind = .@"error",115 .kind = .warning,
116};116 .opt = .@"extra-tokens",
117
118pub const expected_value_in_expr: Diagnostic = .{
119 .fmt = "expected value in expression",
120 .kind = .@"error",
121};117};
122118
123pub const defined_as_macro_name: Diagnostic = .{119pub const defined_as_macro_name: Diagnostic = .{
...@@ -197,11 +193,6 @@ pub const header_str_match: Diagnostic = .{...@@ -197,11 +193,6 @@ pub const header_str_match: Diagnostic = .{
197 .kind = .note,193 .kind = .note,
198};194};
199195
200pub const string_literal_in_pp_expr: Diagnostic = .{
201 .fmt = "string literal in preprocessor expression",
202 .kind = .@"error",
203};
204
205pub const empty_char_literal_warning: Diagnostic = .{196pub const empty_char_literal_warning: Diagnostic = .{
206 .fmt = "empty character constant",197 .fmt = "empty character constant",
207 .kind = .warning,198 .kind = .warning,
...@@ -228,13 +219,32 @@ pub const unterminated_comment: Diagnostic = .{...@@ -228,13 +219,32 @@ pub const unterminated_comment: Diagnostic = .{
228 .kind = .@"error",219 .kind = .@"error",
229};220};
230221
231pub const malformed_embed_param: Diagnostic = .{222pub const warning_extension: Diagnostic = .{
232 .fmt = "unexpected token in embed parameter",223 .fmt = "#warning is a C23 extension",
224 .kind = .off,
225 .opt = .@"c23-extensions",
226 .extension = true,
227};
228
229pub const c23_extension: Diagnostic = .{
230 .fmt = "{s} is a C23 extension",
231 .kind = .warning,
232 .opt = .@"c23-extensions",
233 .extension = true,
234};
235
236pub const embed_param_identifier: Diagnostic = .{
237 .fmt = "expected identifier",
233 .kind = .@"error",238 .kind = .@"error",
234};239};
235240
236pub const malformed_embed_limit: Diagnostic = .{241pub const embed_param_args: Diagnostic = .{
237 .fmt = "the limit parameter expects one non-negative integer as a parameter",242 .fmt = "expected '('",
243 .kind = .@"error",
244};
245
246pub const invalid_embed_limit: Diagnostic = .{
247 .fmt = "the limit parameter expects a non-negative integer as a parameter",
238 .kind = .@"error",248 .kind = .@"error",
239};249};
240250
...@@ -244,10 +254,9 @@ pub const duplicate_embed_param: Diagnostic = .{...@@ -244,10 +254,9 @@ pub const duplicate_embed_param: Diagnostic = .{
244 .opt = .@"duplicate-embed-param",254 .opt = .@"duplicate-embed-param",
245};255};
246256
247pub const unsupported_embed_param: Diagnostic = .{257pub const unknown_embed_param: Diagnostic = .{
248 .fmt = "unsupported embed parameter '{s}' embed parameter",258 .fmt = "unknown embed parameter '{s}'",
249 .kind = .warning,259 .kind = .@"error",
250 .opt = .@"unsupported-embed-param",
251};260};
252261
253pub const va_opt_lparen: Diagnostic = .{262pub const va_opt_lparen: Diagnostic = .{
...@@ -278,14 +287,13 @@ pub const fn_macro_undefined: Diagnostic = .{...@@ -278,14 +287,13 @@ pub const fn_macro_undefined: Diagnostic = .{
278 .kind = .@"error",287 .kind = .@"error",
279};288};
280289
281// pub const preprocessing_directive_only: Diagnostic = .{290pub const preprocessing_directive_only: Diagnostic = .{
282// .fmt = "'{s}' must be used within a preprocessing directive",291 .fmt = "'__{s}' must be used within a preprocessing directive",
283// .extra = .tok_id_expected,292 .kind = .@"error",
284// .kind = .@"error",293};
285// };
286294
287pub const missing_lparen_after_builtin: Diagnostic = .{295pub const missing_lparen_after_builtin: Diagnostic = .{
288 .fmt = "Missing '(' after built-in macro '{s}'",296 .fmt = "missing '(' after built-in macro '{s}'",
289 .kind = .@"error",297 .kind = .@"error",
290};298};
291299
...@@ -349,6 +357,64 @@ pub const invalid_preproc_expr_start: Diagnostic = .{...@@ -349,6 +357,64 @@ pub const invalid_preproc_expr_start: Diagnostic = .{
349 .kind = .@"error",357 .kind = .@"error",
350};358};
351359
360pub const expected_value_in_expr: Diagnostic = .{
361 .fmt = "expected value in expression",
362 .kind = .@"error",
363};
364
365pub const invalid_preproc_operator: Diagnostic = .{
366 .fmt = "token is not a valid binary operator in a preprocessor subexpression",
367 .kind = .@"error",
368};
369
370pub const convert_to_positive: Diagnostic = .{
371 .fmt = "{s} side of operator converted from negative value to unsigned: {d} to {d}",
372 .kind = .warning,
373};
374
375pub const division_by_zero: Diagnostic = .{
376 .fmt = "{s} by zero in preprocessor expression",
377 .kind = .@"error",
378};
379
380pub const comma_operator: Diagnostic = .{
381 .fmt = "comma operator in operand of #if",
382 .kind = .warning,
383 .extension = true,
384};
385
386pub const overflow: Diagnostic = .{
387 .fmt = "integer overflow in preprocessor expression",
388 .kind = .warning,
389};
390
391pub const expected_colon: Diagnostic = .{
392 .fmt = "expected ':'",
393 .kind = .@"error",
394};
395
396pub const to_match_question: Diagnostic = .{
397 .fmt = "to match this '?'",
398 .kind = .note,
399};
400
401pub const float_literal_in_expr: Diagnostic = .{
402 .fmt = "floating point literal in preprocessor expression",
403 .kind = .@"error",
404};
405
406pub const int_literal_too_big: Diagnostic = .{
407 .fmt = "integer literal is too large to be represented in any integer type",
408 .kind = .@"error",
409};
410
411pub const implicitly_unsigned_literal: Diagnostic = .{
412 .fmt = "integer literal is too large to be represented in a signed integer type, interpreting as unsigned",
413 .opt = .@"implicitly-unsigned-literal",
414 .kind = .warning,
415 .extension = true,
416};
417
352pub const newline_eof: Diagnostic = .{418pub const newline_eof: Diagnostic = .{
353 .fmt = "no newline at end of file",419 .fmt = "no newline at end of file",
354 .opt = .@"newline-eof",420 .opt = .@"newline-eof",
...@@ -417,11 +483,6 @@ pub const expected_at_least_arguments: Diagnostic = .{...@@ -417,11 +483,6 @@ pub const expected_at_least_arguments: Diagnostic = .{
417 .kind = .warning,483 .kind = .warning,
418};484};
419485
420pub const invalid_preproc_operator: Diagnostic = .{
421 .fmt = "token is not a valid binary operator in a preprocessor subexpression",
422 .kind = .@"error",
423};
424
425pub const expected_str_literal_in: Diagnostic = .{486pub const expected_str_literal_in: Diagnostic = .{
426 .fmt = "expected string literal in '{s}'",487 .fmt = "expected string literal in '{s}'",
427 .kind = .@"error",488 .kind = .@"error",
lib/compiler/aro/aro/Preprocessor/Parser.zig created+537
...@@ -0,0 +1,537 @@
1const std = @import("std");
2const assert = std.debug.assert;
3
4const Error = @import("../Compilation.zig").Error;
5const Diagnostics = @import("../Diagnostics.zig");
6const Preprocessor = @import("../Preprocessor.zig");
7const Tokenizer = @import("../Tokenizer.zig");
8const number_literal = Tokenizer.number_literal;
9const text_literal = Tokenizer.text_literal;
10const Tree = @import("../Tree.zig");
11const Token = Tree.Token;
12const TokenWithExpansionLocs = Tree.TokenWithExpansionLocs;
13
14const intmax_width = 64;
15const uintmax = u64;
16const intmax = i64;
17
18const Parser = @This();
19
20pp: *const Preprocessor,
21tokens: []const TokenWithExpansionLocs,
22index: u32 = 0,
23eof: TokenWithExpansionLocs,
24
25pub const Value = union(enum) {
26 signed: intmax,
27 unsigned: uintmax,
28
29 fn init(val: anytype) Value {
30 return switch (@TypeOf(val)) {
31 comptime_int => .{ .signed = val },
32 bool => .{ .signed = @intFromBool(val) },
33 intmax => .{ .signed = val },
34 uintmax => .{ .unsigned = val },
35 else => @compileError("invalid value"),
36 };
37 }
38
39 pub fn toBool(val: Value) bool {
40 return switch (val) {
41 inline else => |v| v != 0,
42 };
43 }
44
45 pub fn toInt(val: Value, comptime I: type) ?I {
46 return switch (val) {
47 inline else => |v| std.math.cast(I, v),
48 };
49 }
50
51 fn isZero(val: Value) bool {
52 return switch (val) {
53 inline else => |v| v == 0,
54 };
55 }
56
57 fn toUnsigned(val: *Value, p: *Parser, op_tok: TokenWithExpansionLocs, side: []const u8) !void {
58 switch (val.*) {
59 .unsigned => {},
60 .signed => |s| {
61 if (s >= 0) {
62 val.* = .{ .unsigned = @intCast(s) };
63 return;
64 }
65
66 val.* = .init(@as(uintmax, @bitCast(s)));
67 try p.pp.err(op_tok, .convert_to_positive, .{ side, s, val.unsigned });
68 },
69 }
70 }
71};
72
73fn next(p: *Parser) TokenWithExpansionLocs {
74 while (p.index < p.tokens.len) {
75 defer p.index += 1;
76 switch (p.tokens[p.index].id) {
77 .whitespace, .comment, .macro_ws => continue,
78 else => return p.tokens[p.index],
79 }
80 }
81 p.eof.id = .eof;
82 return p.eof;
83}
84
85fn peek(p: *Parser) TokenWithExpansionLocs {
86 while (p.index < p.tokens.len) {
87 switch (p.tokens[p.index].id) {
88 .whitespace, .comment, .macro_ws => p.index += 1,
89 else => return p.tokens[p.index],
90 }
91 }
92 p.eof.id = .eof;
93 return p.eof;
94}
95
96pub fn parse(p: *Parser) Error!?Value {
97 assert(p.pp.comp.target.intMaxType().bitSizeof(p.pp.comp) == intmax_width);
98 const val = (try p.binaryExpr(.any, true)) orelse return null;
99
100 const last = p.peek();
101 if (last.id != .eof) {
102 try p.pp.err(last, .invalid_preproc_operator, .{});
103 }
104 return val;
105}
106
107fn binaryExpr(p: *Parser, min_prec: Token.Precedence, eval: bool) Error!?Value {
108 var lhs = try p.primaryExpr(eval) orelse return null;
109
110 while (true) {
111 const tok = p.peek();
112 const op_prec = Token.precedence[@backingInt(tok.id)];
113 if (op_prec.lt(min_prec) or op_prec == .assign) {
114 return lhs;
115 }
116
117 const operator = p.next();
118 const eval_rhs = switch (operator.id) {
119 .ampersand_ampersand => eval and lhs.toBool(),
120 .pipe_pipe => eval and !lhs.toBool(),
121 .question_mark => eval and lhs.toBool(),
122 else => eval,
123 };
124 var rhs = try p.binaryExpr(op_prec.next(min_prec), eval_rhs) orelse return null;
125
126 // Usual arithmetic conversion
127 switch (operator.id) {
128 .question_mark,
129 .angle_bracket_angle_bracket_left,
130 .angle_bracket_angle_bracket_right,
131 .comma,
132 .pipe_pipe,
133 .ampersand_ampersand,
134 => {},
135 else => if (lhs == .unsigned or rhs == .unsigned) {
136 if (eval) {
137 try lhs.toUnsigned(p, operator, "left");
138 try rhs.toUnsigned(p, operator, "right");
139 } else {
140 lhs = .{ .unsigned = 0 };
141 rhs = .{ .unsigned = 0 };
142 }
143 },
144 }
145 var overflow: u1 = 0;
146 switch (operator.id) {
147 .percent => if (!rhs.isZero()) switch (lhs) {
148 .signed => |s| {
149 if (s == std.math.minInt(intmax) and rhs.signed == -1) {
150 lhs = .init(0);
151 } else {
152 lhs = .init(@rem(s, rhs.signed));
153 }
154 },
155 .unsigned => |u| {
156 lhs = .init(u % rhs.unsigned);
157 },
158 } else if (eval) {
159 try p.pp.err(operator, .division_by_zero, .{"remainder"});
160 return null;
161 },
162 .slash => if (!rhs.isZero()) switch (lhs) {
163 .signed => |s| {
164 if (s == std.math.minInt(intmax) and rhs.signed == -1) {
165 overflow = 1;
166 lhs = .init(std.math.minInt(intmax));
167 } else {
168 lhs = .init(@divTrunc(s, rhs.signed));
169 }
170 },
171 .unsigned => |u| {
172 lhs = .init(u / rhs.unsigned);
173 },
174 } else if (eval) {
175 try p.pp.err(operator, .division_by_zero, .{"division"});
176 return null;
177 },
178 .asterisk => switch (lhs) {
179 .signed => |s| {
180 const prod, overflow = @mulWithOverflow(s, rhs.signed);
181 lhs = .init(prod);
182 },
183 .unsigned => |u| {
184 lhs = .init(u *% rhs.unsigned);
185 },
186 },
187 .plus => switch (lhs) {
188 .signed => |s| {
189 const sum, overflow = @addWithOverflow(s, rhs.signed);
190 lhs = .init(sum);
191 },
192 .unsigned => |u| {
193 lhs = .init(u +% rhs.unsigned);
194 },
195 },
196 .minus => switch (lhs) {
197 .signed => |s| {
198 const diff, overflow = @subWithOverflow(s, rhs.signed);
199 lhs = .init(diff);
200 },
201 .unsigned => |u| {
202 lhs = .init(u -% rhs.unsigned);
203 },
204 },
205 .angle_bracket_angle_bracket_left => switch (rhs) {
206 inline else => |amt| if (amt < 0 or amt >= intmax_width) {
207 overflow = 1;
208 switch (lhs) {
209 inline else => |*v| v.* = 0,
210 }
211 } else switch (lhs) {
212 inline else => |v| {
213 const res, overflow = @shlWithOverflow(v, @as(u6, @intCast(amt)));
214 lhs = .init(res);
215 },
216 },
217 },
218 .angle_bracket_angle_bracket_right => switch (rhs) {
219 inline else => |amt| if (amt < 0) {
220 overflow = 1;
221 switch (lhs) {
222 inline else => |*v| v.* = 0,
223 }
224 } else switch (lhs) {
225 inline else => |v| {
226 if (amt >= intmax_width) {
227 overflow = 1;
228 lhs = .init(v >> @as(u6, @intCast(intmax_width - 1)));
229 } else {
230 lhs = .init(v >> @as(u6, @intCast(amt)));
231 }
232 },
233 },
234 },
235 .angle_bracket_left_equal => switch (lhs) {
236 .signed => |s| {
237 lhs = .init(s <= rhs.signed);
238 },
239 .unsigned => |u| {
240 lhs = .init(u <= rhs.unsigned);
241 },
242 },
243 .angle_bracket_left => switch (lhs) {
244 .signed => |s| {
245 lhs = .init(s < rhs.signed);
246 },
247 .unsigned => |u| {
248 lhs = .init(u < rhs.unsigned);
249 },
250 },
251 .angle_bracket_right_equal => switch (lhs) {
252 .signed => |s| {
253 lhs = .init(s >= rhs.signed);
254 },
255 .unsigned => |u| {
256 lhs = .init(u >= rhs.unsigned);
257 },
258 },
259 .angle_bracket_right => switch (lhs) {
260 .signed => |s| {
261 lhs = .init(s > rhs.signed);
262 },
263 .unsigned => |u| {
264 lhs = .init(u > rhs.unsigned);
265 },
266 },
267 .bang_equal => switch (lhs) {
268 .signed => |s| {
269 lhs = .init(s != rhs.signed);
270 },
271 .unsigned => |u| {
272 lhs = .init(u != rhs.unsigned);
273 },
274 },
275 .equal_equal => switch (lhs) {
276 .signed => |s| {
277 lhs = .init(s == rhs.signed);
278 },
279 .unsigned => |u| {
280 lhs = .init(u == rhs.unsigned);
281 },
282 },
283 .ampersand => switch (lhs) {
284 .signed => |s| {
285 lhs = .init(s & rhs.signed);
286 },
287 .unsigned => |u| {
288 lhs = .init(u & rhs.unsigned);
289 },
290 },
291 .caret => switch (lhs) {
292 .signed => |s| {
293 lhs = .init(s ^ rhs.signed);
294 },
295 .unsigned => |u| {
296 lhs = .init(u ^ rhs.unsigned);
297 },
298 },
299 .pipe => switch (lhs) {
300 .signed => |s| {
301 lhs = .init(s | rhs.signed);
302 },
303 .unsigned => |u| {
304 lhs = .init(u | rhs.unsigned);
305 },
306 },
307 .ampersand_ampersand => {
308 lhs = .init(lhs.toBool() and rhs.toBool());
309 },
310 .pipe_pipe => {
311 lhs = .init(lhs.toBool() or rhs.toBool());
312 },
313 .question_mark => {
314 const colon = p.next();
315 if (colon.id != .colon) {
316 try p.pp.err(colon, .expected_colon, .{});
317 try p.pp.err(operator, .to_match_question, .{});
318 return null;
319 }
320
321 const eval_else = eval and lhs.isZero();
322 // Conditional operator is right associative.
323 const else_res = try p.binaryExpr(op_prec, eval_else) orelse return null;
324
325 lhs = if (lhs.toBool()) rhs else else_res;
326 if (eval and rhs == .unsigned or else_res == .unsigned) {
327 try lhs.toUnsigned(p, operator, "right");
328 }
329 },
330 .comma => {
331 // Comma operator allowed in C99 if not being evaluated
332 if (!p.pp.comp.langopts.standard.atLeast(.c99) or eval) {
333 try p.pp.err(operator, .comma_operator, .{});
334 return null;
335 }
336 lhs = rhs;
337 },
338 else => unreachable,
339 }
340
341 if (overflow != 0 and eval) {
342 try p.pp.err(operator, .overflow, .{});
343 }
344 }
345}
346
347fn primaryExpr(p: *Parser, eval: bool) Error!?Value {
348 loop: switch (p.peek().id) {
349 .eof, .r_paren => {
350 const eof = p.next();
351 try p.pp.err(eof, .expected_value_in_expr, .{});
352 return null;
353 },
354 .l_paren => {
355 const l_paren = p.next();
356 const res = try p.binaryExpr(.any, eval) orelse return null;
357 const r_paren = p.next();
358
359 if (r_paren.id != .r_paren) {
360 try p.pp.err(r_paren, .closing_paren, .{});
361 try p.pp.err(l_paren, .to_match_paren, .{});
362 return null;
363 }
364 return res;
365 },
366 .keyword_defined => {
367 _ = p.next();
368
369 const l_paren = p.peek();
370 if (l_paren.id == .l_paren) {
371 _ = p.next();
372 }
373
374 const identifier = p.next();
375 if (identifier.id == .eof) {
376 try p.pp.err(identifier, .macro_name_missing, .{});
377 return null;
378 } else if (!identifier.id.isMacroIdentifier()) {
379 try p.pp.err(identifier, .macro_name_must_be_identifier, .{});
380 return null;
381 }
382
383 if (l_paren.id == .l_paren) {
384 const r_paren = p.next();
385 if (r_paren.id != .r_paren) {
386 try p.pp.err(r_paren, .closing_paren, .{});
387 try p.pp.err(l_paren, .to_match_paren, .{});
388 return null;
389 }
390 }
391
392 const defined = p.pp.defines.contains(p.pp.expandedSlice(identifier));
393 return .{ .signed = @intFromBool(defined) };
394 },
395 .pp_num => {
396 const num = p.next();
397 var number_literal_parser: number_literal.Parser = .{
398 .comp = p.pp.comp,
399 .literal = p.pp.expandedSlice(num),
400 .loc = num.loc,
401 .expansion_locs = num.expansionSlice(),
402 };
403 const parsed = number_literal_parser.parse() catch |err| switch (err) {
404 error.ParsingFailed => return null,
405 else => |e| return e,
406 };
407 if (parsed.is_float or parsed.suffix.isImaginary()) {
408 try p.pp.err(num, .float_literal_in_expr, .{});
409 return null;
410 }
411
412 const base = @backingInt(parsed.prefix);
413 var val: uintmax = 0;
414 var overflow = false;
415 for (parsed.bytes) |c| {
416 const digit: uintmax = switch (c) {
417 '0'...'9' => c - '0',
418 'A'...'Z' => c - 'A' + 10,
419 'a'...'z' => c - 'a' + 10,
420 '\'' => continue,
421 else => unreachable,
422 };
423
424 if (val != 0) {
425 const product, const overflowed = @mulWithOverflow(val, base);
426 if (overflowed != 0) {
427 overflow = true;
428 }
429 val = product;
430 }
431 const sum, const overflowed = @addWithOverflow(val, digit);
432 if (overflowed != 0) overflow = true;
433 val = sum;
434 }
435 if (overflow) {
436 try p.pp.err(num, .int_literal_too_big, .{});
437 }
438 const max_int = std.math.maxInt(intmax);
439 if (val > max_int) {
440 if (parsed.suffix.isSignedInteger() and base == 10) {
441 try p.pp.err(num, .implicitly_unsigned_literal, .{});
442 }
443 return .{ .unsigned = val };
444 }
445 if (parsed.suffix.isSignedInteger()) {
446 return .{ .signed = @intCast(val) };
447 } else {
448 return .{ .unsigned = val };
449 }
450 },
451 .char_literal,
452 .char_literal_utf_8,
453 .char_literal_utf_16,
454 .char_literal_utf_32,
455 .char_literal_wide,
456 => {
457 const literal = p.next();
458 const char_kind = text_literal.Kind.classify(literal.id, .char_literal).?;
459 const comp = p.pp.comp;
460
461 var char_literal_parser: text_literal.Parser = .{
462 .comp = comp,
463 .literal = char_kind.contentSlice(p.pp.expandedSlice(literal)),
464 .kind = char_kind,
465 .max_codepoint = char_kind.maxCodepoint(comp),
466 .loc = literal.loc,
467 .expansion_locs = literal.expansionSlice(),
468 };
469 const parsed = try char_literal_parser.parse();
470 const unsigned = switch (parsed) {
471 .signed => |s| return .{ .signed = s },
472 .unsigned => |u| u,
473 };
474
475 const char_literal_qt = char_kind.charLiteralType(comp);
476 if (char_literal_qt.signedness(comp) == .unsigned or
477 (char_kind == .char and comp.getCharSignedness() == .unsigned))
478 {
479 return .{ .unsigned = unsigned };
480 } else {
481 return .{ .signed = unsigned };
482 }
483 },
484 .plus => {
485 _ = p.next();
486 continue :loop p.peek().id;
487 },
488 .minus => {
489 const minus = p.next();
490 const val = try p.primaryExpr(eval) orelse return null;
491 switch (val) {
492 .signed => |s| {
493 const negated, const overflow = @subWithOverflow(0, s);
494 if (eval and overflow != 0) {
495 try p.pp.err(minus, .overflow, .{});
496 }
497 return .init(negated);
498 },
499 .unsigned => |u| {
500 return .init(-%u);
501 },
502 }
503 },
504 .tilde => {
505 _ = p.next();
506 const val = try p.primaryExpr(eval) orelse return null;
507 switch (val) {
508 inline else => |i| return .init(~i),
509 }
510 },
511 .bang => {
512 _ = p.next();
513 const val = try p.primaryExpr(eval) orelse return null;
514 return .init(!val.toBool());
515 },
516 .keyword_true, .keyword_false => {
517 const literal = p.next();
518 return .init(literal.id == .keyword_true);
519 },
520 else => {
521 const maybe_ident = p.next();
522 if (maybe_ident.id.isMacroIdentifier()) {
523 try p.pp.err(maybe_ident, .undefined_macro, .{p.pp.expandedSlice(maybe_ident)});
524
525 if (p.peek().id == .l_paren) {
526 try p.pp.err(maybe_ident, .fn_macro_undefined, .{p.pp.expandedSlice(maybe_ident)});
527 return null;
528 }
529
530 return .init(0);
531 }
532
533 try p.pp.err(maybe_ident, .invalid_preproc_expr_start, .{});
534 return null;
535 },
536 }
537}
lib/compiler/aro/aro/Source.zig+6-3
...@@ -50,7 +50,7 @@ pub const ExpandedLocation = struct {...@@ -50,7 +50,7 @@ pub const ExpandedLocation = struct {
50const Source = @This();50const Source = @This();
5151
52path: []const u8,52path: []const u8,
53buf: []const u8,53buf: [:0]const u8,
54id: Id,54id: Id,
55/// each entry represents a byte position within `buf` where a backslash+newline was deleted55/// each entry represents a byte position within `buf` where a backslash+newline was deleted
56/// from the original raw buffer. The same position can appear multiple times if multiple56/// from the original raw buffer. The same position can appear multiple times if multiple
...@@ -58,10 +58,13 @@ id: Id,...@@ -58,10 +58,13 @@ id: Id,
58splice_locs: []const u32,58splice_locs: []const u32,
59kind: Kind,59kind: Kind,
6060
61// Path of the umbrella framework. Slice of `path`.
62umbrella_framework_path: ?[]const u8 = null,
63
61pub fn lineCol(source: Source, loc: Location) ExpandedLocation {64pub fn lineCol(source: Source, loc: Location) ExpandedLocation {
62 var start: usize = 0;65 var start: usize = 0;
63 // find the start of the line which is either a newline or a splice66 // find the start of the line which is either a newline or a splice
64 if (std.mem.lastIndexOfScalar(u8, source.buf[0..loc.byte_offset], '\n')) |some| start = some + 1;67 if (std.mem.findScalarLast(u8, source.buf[0..loc.byte_offset], '\n')) |some| start = some + 1;
65 const splice_index: u32 = for (source.splice_locs, 0..) |splice_offset, i| {68 const splice_index: u32 = for (source.splice_locs, 0..) |splice_offset, i| {
66 if (splice_offset > start) {69 if (splice_offset > start) {
67 if (splice_offset < loc.byte_offset) {70 if (splice_offset < loc.byte_offset) {
...@@ -101,7 +104,7 @@ pub fn lineCol(source: Source, loc: Location) ExpandedLocation {...@@ -101,7 +104,7 @@ pub fn lineCol(source: Source, loc: Location) ExpandedLocation {
101 // find the end of the line which is either a newline, EOF or a splice104 // find the end of the line which is either a newline, EOF or a splice
102 var nl = source.buf.len;105 var nl = source.buf.len;
103 var end_with_splice = false;106 var end_with_splice = false;
104 if (std.mem.indexOfScalar(u8, source.buf[start..], '\n')) |some| nl = some + start;107 if (std.mem.findScalar(u8, source.buf[start..], '\n')) |some| nl = some + start;
105 if (source.splice_locs.len > splice_index and nl > source.splice_locs[splice_index] and source.splice_locs[splice_index] > start) {108 if (source.splice_locs.len > splice_index and nl > source.splice_locs[splice_index] and source.splice_locs[splice_index] > start) {
106 end_with_splice = true;109 end_with_splice = true;
107 nl = source.splice_locs[splice_index];110 nl = source.splice_locs[splice_index];
lib/compiler/aro/aro/StringInterner.zig+1-1
...@@ -19,7 +19,7 @@ pub const StringId = enum(u32) {...@@ -19,7 +19,7 @@ pub const StringId = enum(u32) {
19 }19 }
20};20};
2121
22table: std.array_hash_map.String(void) = .empty,22table: std.StringArrayHashMapUnmanaged(void) = .empty,
2323
24pub fn deinit(si: *StringInterner, allocator: mem.Allocator) void {24pub fn deinit(si: *StringInterner, allocator: mem.Allocator) void {
25 si.table.deinit(allocator);25 si.table.deinit(allocator);
lib/compiler/aro/aro/SymbolStack.zig+33-21
...@@ -18,7 +18,7 @@ pub const Symbol = struct {...@@ -18,7 +18,7 @@ pub const Symbol = struct {
18 name: StringId,18 name: StringId,
19 qt: QualType,19 qt: QualType,
20 tok: TokenIndex,20 tok: TokenIndex,
21 node: Node.OptIndex = .null,21 node: Node.Index,
22 out_of_scope: bool = false,22 out_of_scope: bool = false,
23 kind: Kind,23 kind: Kind,
24 val: Value,24 val: Value,
...@@ -176,16 +176,19 @@ pub fn defineTypedef(...@@ -176,16 +176,19 @@ pub fn defineTypedef(
176 qt: QualType,176 qt: QualType,
177 tok: TokenIndex,177 tok: TokenIndex,
178 node: Node.Index,178 node: Node.Index,
179) !void {179) !?Node.Index {
180 var old_decl: ?Node.Index = null;
180 if (s.get(name, .vars)) |prev| {181 if (s.get(name, .vars)) |prev| {
181 switch (prev.kind) {182 switch (prev.kind) {
182 .typedef => {183 .typedef => {
183 if (!prev.qt.isInvalid() and !qt.eqlQualified(prev.qt, p.comp)) {184 if (!prev.qt.isInvalid() and !qt.eqlQualified(prev.qt, p.comp)) {
184 if (qt.isInvalid()) return;185 if (qt.isInvalid()) return null;
185 const non_typedef_qt = qt.type(p.comp).typedef.base;186 const non_typedef_qt = qt.type(p.comp).typedef.base;
186 const non_typedef_prev_qt = prev.qt.type(p.comp).typedef.base;187 const non_typedef_prev_qt = prev.qt.type(p.comp).typedef.base;
187 try p.err(tok, .redefinition_of_typedef, .{ non_typedef_qt, non_typedef_prev_qt });188 try p.err(tok, .redefinition_of_typedef, .{ non_typedef_qt, non_typedef_prev_qt });
188 if (prev.tok != 0) try p.err(prev.tok, .previous_definition, .{});189 if (prev.tok != 0) try p.err(prev.tok, .previous_definition, .{});
190 } else {
191 old_decl = prev.node;
189 }192 }
190 },193 },
191 .enumeration, .decl, .def, .constexpr => {194 .enumeration, .decl, .def, .constexpr => {
...@@ -200,9 +203,10 @@ pub fn defineTypedef(...@@ -200,9 +203,10 @@ pub fn defineTypedef(
200 .name = name,203 .name = name,
201 .tok = tok,204 .tok = tok,
202 .qt = qt,205 .qt = qt,
203 .node = .pack(node),206 .node = node,
204 .val = .{},207 .val = .{},
205 });208 });
209 return old_decl;
206}210}
207211
208pub fn defineSymbol(212pub fn defineSymbol(
...@@ -214,30 +218,32 @@ pub fn defineSymbol(...@@ -214,30 +218,32 @@ pub fn defineSymbol(
214 node: Node.Index,218 node: Node.Index,
215 val: Value,219 val: Value,
216 constexpr: bool,220 constexpr: bool,
217) !void {221) !?Node.Index {
222 var old_decl: ?Node.Index = null;
218 if (s.get(name, .vars)) |prev| {223 if (s.get(name, .vars)) |prev| {
219 switch (prev.kind) {224 switch (prev.kind) {
220 .enumeration => {225 .enumeration => {
221 if (qt.isInvalid()) return;226 if (qt.isInvalid()) return null;
222 try p.err(tok, .redefinition_different_sym, .{p.tokSlice(tok)});227 try p.err(tok, .redefinition_different_sym, .{p.tokSlice(tok)});
223 try p.err(prev.tok, .previous_definition, .{});228 try p.err(prev.tok, .previous_definition, .{});
224 },229 },
225 .decl => {230 .decl => {
226 if (!prev.qt.isInvalid() and !qt.eqlQualified(prev.qt, p.comp)) {231 if (!prev.qt.isInvalid() and !qt.eqlQualified(prev.qt, p.comp)) {
227 if (qt.isInvalid()) return;232 if (qt.isInvalid()) return null;
228 try p.err(tok, .redefinition_incompatible, .{p.tokSlice(tok)});233 try p.err(tok, .redefinition_incompatible, .{p.tokSlice(tok)});
229 try p.err(prev.tok, .previous_definition, .{});234 try p.err(prev.tok, .previous_definition, .{});
230 } else {235 } else {
231 if (prev.node.unpack()) |some| p.setTentativeDeclDefinition(some, node);236 if (prev.node.unpack()) |some| p.setTentativeDeclDefinition(some, node);
237 old_decl = prev.node;
232 }238 }
233 },239 },
234 .def, .constexpr => if (!prev.qt.isInvalid()) {240 .def, .constexpr => if (!prev.qt.isInvalid()) {
235 if (qt.isInvalid()) return;241 if (qt.isInvalid()) return null;
236 try p.err(tok, .redefinition, .{p.tokSlice(tok)});242 try p.err(tok, .redefinition, .{p.tokSlice(tok)});
237 try p.err(prev.tok, .previous_definition, .{});243 try p.err(prev.tok, .previous_definition, .{});
238 },244 },
239 .typedef => {245 .typedef => {
240 if (qt.isInvalid()) return;246 if (qt.isInvalid()) return null;
241 try p.err(tok, .redefinition_different_sym, .{p.tokSlice(tok)});247 try p.err(tok, .redefinition_different_sym, .{p.tokSlice(tok)});
242 try p.err(prev.tok, .previous_definition, .{});248 try p.err(prev.tok, .previous_definition, .{});
243 },249 },
...@@ -250,9 +256,10 @@ pub fn defineSymbol(...@@ -250,9 +256,10 @@ pub fn defineSymbol(
250 .name = name,256 .name = name,
251 .tok = tok,257 .tok = tok,
252 .qt = qt,258 .qt = qt,
253 .node = .pack(node),259 .node = node,
254 .val = val,260 .val = val,
255 });261 });
262 return old_decl;
256}263}
257264
258/// Get a pointer to the named symbol in the innermost scope.265/// Get a pointer to the named symbol in the innermost scope.
...@@ -271,35 +278,38 @@ pub fn declareSymbol(...@@ -271,35 +278,38 @@ pub fn declareSymbol(
271 qt: QualType,278 qt: QualType,
272 tok: TokenIndex,279 tok: TokenIndex,
273 node: Node.Index,280 node: Node.Index,
274) !void {281) !?Node.Index {
282 var old_decl: ?Node.Index = null;
275 if (s.get(name, .vars)) |prev| {283 if (s.get(name, .vars)) |prev| {
276 switch (prev.kind) {284 switch (prev.kind) {
277 .enumeration => {285 .enumeration => {
278 if (qt.isInvalid()) return;286 if (qt.isInvalid()) return null;
279 try p.err(tok, .redefinition_different_sym, .{p.tokSlice(tok)});287 try p.err(tok, .redefinition_different_sym, .{p.tokSlice(tok)});
280 try p.err(prev.tok, .previous_definition, .{});288 try p.err(prev.tok, .previous_definition, .{});
281 },289 },
282 .decl => {290 .decl => {
283 if (!prev.qt.isInvalid() and !qt.eqlQualified(prev.qt, p.comp)) {291 if (!prev.qt.isInvalid() and !qt.eqlQualified(prev.qt, p.comp)) {
284 if (qt.isInvalid()) return;292 if (qt.isInvalid()) return null;
285 try p.err(tok, .redefinition_incompatible, .{p.tokSlice(tok)});293 try p.err(tok, .redefinition_incompatible, .{p.tokSlice(tok)});
286 try p.err(prev.tok, .previous_definition, .{});294 try p.err(prev.tok, .previous_definition, .{});
287 } else {295 } else {
288 if (prev.node.unpack()) |some| p.setTentativeDeclDefinition(node, some);296 if (prev.node.unpack()) |some| p.setTentativeDeclDefinition(node, some);
297 old_decl = prev.node;
289 }298 }
290 },299 },
291 .def, .constexpr => {300 .def, .constexpr => {
292 if (!prev.qt.isInvalid() and !qt.eqlQualified(prev.qt, p.comp)) {301 if (!prev.qt.isInvalid() and !qt.eqlQualified(prev.qt, p.comp)) {
293 if (qt.isInvalid()) return;302 if (qt.isInvalid()) return null;
294 try p.err(tok, .redefinition_incompatible, .{p.tokSlice(tok)});303 try p.err(tok, .redefinition_incompatible, .{p.tokSlice(tok)});
295 try p.err(prev.tok, .previous_definition, .{});304 try p.err(prev.tok, .previous_definition, .{});
296 } else {305 } else {
297 if (prev.node.unpack()) |some| p.setTentativeDeclDefinition(node, some);306 if (prev.node.unpack()) |some| p.setTentativeDeclDefinition(node, some);
298 return;307 // Attributes from definitions are not merged with new declarations.
308 return null;
299 }309 }
300 },310 },
301 .typedef => {311 .typedef => {
302 if (qt.isInvalid()) return;312 if (qt.isInvalid()) return null;
303 try p.err(tok, .redefinition_different_sym, .{p.tokSlice(tok)});313 try p.err(tok, .redefinition_different_sym, .{p.tokSlice(tok)});
304 try p.err(prev.tok, .previous_definition, .{});314 try p.err(prev.tok, .previous_definition, .{});
305 },315 },
...@@ -311,7 +321,7 @@ pub fn declareSymbol(...@@ -311,7 +321,7 @@ pub fn declareSymbol(
311 .name = name,321 .name = name,
312 .tok = tok,322 .tok = tok,
313 .qt = qt,323 .qt = qt,
314 .node = .pack(node),324 .node = node,
315 .val = .{},325 .val = .{},
316 });326 });
317327
...@@ -322,11 +332,12 @@ pub fn declareSymbol(...@@ -322,11 +332,12 @@ pub fn declareSymbol(
322 .name = name,332 .name = name,
323 .tok = tok,333 .tok = tok,
324 .qt = qt,334 .qt = qt,
325 .node = .pack(node),335 .node = node,
326 .val = .{},336 .val = .{},
327 .out_of_scope = true,337 .out_of_scope = true,
328 });338 });
329 }339 }
340 return old_decl;
330}341}
331342
332pub fn defineParam(343pub fn defineParam(
...@@ -335,7 +346,7 @@ pub fn defineParam(...@@ -335,7 +346,7 @@ pub fn defineParam(
335 name: StringId,346 name: StringId,
336 qt: QualType,347 qt: QualType,
337 tok: TokenIndex,348 tok: TokenIndex,
338 node: ?Node.Index,349 node: Node.Index,
339) !void {350) !void {
340 if (s.get(name, .vars)) |prev| {351 if (s.get(name, .vars)) |prev| {
341 switch (prev.kind) {352 switch (prev.kind) {
...@@ -343,6 +354,7 @@ pub fn defineParam(...@@ -343,6 +354,7 @@ pub fn defineParam(
343 if (qt.isInvalid()) return;354 if (qt.isInvalid()) return;
344 try p.err(tok, .redefinition_of_parameter, .{p.tokSlice(tok)});355 try p.err(tok, .redefinition_of_parameter, .{p.tokSlice(tok)});
345 try p.err(prev.tok, .previous_definition, .{});356 try p.err(prev.tok, .previous_definition, .{});
357 return;
346 },358 },
347 .typedef => {359 .typedef => {
348 if (qt.isInvalid()) return;360 if (qt.isInvalid()) return;
...@@ -357,7 +369,7 @@ pub fn defineParam(...@@ -357,7 +369,7 @@ pub fn defineParam(
357 .name = name,369 .name = name,
358 .tok = tok,370 .tok = tok,
359 .qt = qt,371 .qt = qt,
360 .node = .packOpt(node),372 .node = node,
361 .val = .{},373 .val = .{},
362 });374 });
363}375}
...@@ -430,6 +442,6 @@ pub fn defineEnumeration(...@@ -430,6 +442,6 @@ pub fn defineEnumeration(
430 .tok = tok,442 .tok = tok,
431 .qt = qt,443 .qt = qt,
432 .val = val,444 .val = val,
433 .node = .pack(node),445 .node = node,
434 });446 });
435}447}
lib/compiler/aro/aro/Target.zig+391-38
...@@ -10,6 +10,8 @@ const builtin = @import("builtin");...@@ -10,6 +10,8 @@ const builtin = @import("builtin");
10const LangOpts = @import("LangOpts.zig");10const LangOpts = @import("LangOpts.zig");
11const QualType = @import("TypeStore.zig").QualType;11const QualType = @import("TypeStore.zig").QualType;
1212
13const assert = std.debug.assert;
14
13pub const Vendor = enum {15pub const Vendor = enum {
14 apple,16 apple,
15 pc,17 pc,
...@@ -60,6 +62,8 @@ pub const SubArch = enum {...@@ -60,6 +62,8 @@ pub const SubArch = enum {
60 arm_v6m,62 arm_v6m,
61 arm_v6t2,63 arm_v6t2,
62 arm_v7,64 arm_v7,
65 arm_v7a,
66 arm_v7r,
63 arm_v7em,67 arm_v7em,
64 arm_v7k,68 arm_v7k,
65 arm_v7m,69 arm_v7m,
...@@ -135,6 +139,7 @@ pub const SubArch = enum {...@@ -135,6 +139,7 @@ pub const SubArch = enum {
135 .arm_v8_9a => aarch64.v8_9a,139 .arm_v8_9a => aarch64.v8_9a,
136 .arm_v8m_baseline => return null,140 .arm_v8m_baseline => return null,
137 .arm_v8r => aarch64.v8r,141 .arm_v8r => aarch64.v8r,
142 .arm_v9 => aarch64.v9a,
138 .arm_v9_1a => aarch64.v9_1a,143 .arm_v9_1a => aarch64.v9_1a,
139 .arm_v9_2a => aarch64.v9_2a,144 .arm_v9_2a => aarch64.v9_2a,
140 .arm_v9_3a => aarch64.v9_3a,145 .arm_v9_3a => aarch64.v9_3a,
...@@ -158,19 +163,69 @@ pub const SubArch = enum {...@@ -158,19 +163,69 @@ pub const SubArch = enum {
158 .arm_v6m => arm.v6m,163 .arm_v6m => arm.v6m,
159 .arm_v6t2 => arm.v6t2,164 .arm_v6t2 => arm.v6t2,
160 .arm_v7 => arm.has_v7,165 .arm_v7 => arm.has_v7,
166 .arm_v7a => arm.v7a,
167 .arm_v7r => arm.v7r,
161 .arm_v7em => arm.v7em,168 .arm_v7em => arm.v7em,
162 .arm_v7k => return null,169 .arm_v7k => return null,
163 .arm_v7m => arm.v7m,170 .arm_v7m => arm.v7m,
164 .arm_v7s => return null,171 .arm_v7s => return null,
165 .arm_v7ve => arm.v7ve,172 .arm_v7ve => arm.v7ve,
166 .arm_v8 => arm.has_v8,173 .arm_v8 => arm.v8a,
167 .arm_v8r => arm.v8r,174 .arm_v8r => arm.v8r,
175 .arm_v8_1a => arm.v8_1a,
176 .arm_v8_1m_mainline => arm.v8_1m_main,
177 .arm_v8_2a => arm.v8_2a,
178 .arm_v8_3a => arm.v8_3a,
179 .arm_v8_4a => arm.v8_4a,
180 .arm_v8_5a => arm.v8_5a,
181 .arm_v8_6a => arm.v8_6a,
182 .arm_v8_7a => arm.v8_7a,
183 .arm_v8_8a => arm.v8_8a,
184 .arm_v8_9a => arm.v8_9a,
185 .arm_v8m_baseline => arm.v8m,
186 .arm_v8m_mainline => arm.v8m_main,
168 .arm_v9 => arm.v9a,187 .arm_v9 => arm.v9a,
188 .arm_v9_1a => arm.v9_1a,
189 .arm_v9_2a => arm.v9_2a,
190 .arm_v9_3a => arm.v9_3a,
191 .arm_v9_4a => arm.v9_4a,
192 .arm_v9_5a => arm.v9_5a,
193 .arm_v9_6a => arm.v9_6a,
169 else => return null,194 else => return null,
170 });195 });
171 }196 }
172 return null;197 return null;
173 }198 }
199
200 pub fn toCpuModel(sub: SubArch, arch: Cpu.Arch) ?*const Cpu.Model {
201 if (arch.isArm()) {
202 const cpu = std.Target.arm.cpu;
203 return switch (sub) {
204 .arm_v4t => &cpu.arm7tdmi,
205 .arm_v5 => &cpu.arm10tdmi,
206 .arm_v5te => &cpu.arm1022e,
207 .arm_v6 => &cpu.arm1136jf_s,
208 .arm_v6k => &cpu.mpcore,
209 .arm_v6t2 => &cpu.arm1156t2_s,
210 .arm_v6m => &cpu.cortex_m0,
211 .arm_v7r => &cpu.cortex_r4,
212 .arm_v7m => &cpu.cortex_m3,
213 .arm_v7em => &cpu.cortex_m4,
214 else => null,
215 };
216 } else if (arch.isMIPS32()) {
217 return switch (sub) {
218 .mips_r6 => &std.Target.mips.cpu.mips32r6,
219 else => null,
220 };
221 } else if (arch.isMIPS64()) {
222 return switch (sub) {
223 .mips_r6 => &std.Target.mips.cpu.mips64r6,
224 else => null,
225 };
226 }
227 return null;
228 }
174};229};
175230
176const Target = @This();231const Target = @This();
...@@ -217,7 +272,12 @@ pub fn intMaxType(target: *const Target) QualType {...@@ -217,7 +272,12 @@ pub fn intMaxType(target: *const Target) QualType {
217 .aarch64,272 .aarch64,
218 .aarch64_be,273 .aarch64_be,
219 .sparc64,274 .sparc64,
220 => if (target.os.tag != .openbsd) return .long,275 => {
276 if (target.os.tag == .openbsd) return .long_long;
277 if (target.os.tag == .windows) return .long_long;
278 if (target.os.tag.isDarwin() and target.abi == .ilp32) return .long_long;
279 return .long;
280 },
221281
222 .bpfel,282 .bpfel,
223 .bpfeb,283 .bpfeb,
...@@ -231,11 +291,20 @@ pub fn intMaxType(target: *const Target) QualType {...@@ -231,11 +291,20 @@ pub fn intMaxType(target: *const Target) QualType {
231 .x86_64 => switch (target.os.tag) {291 .x86_64 => switch (target.os.tag) {
232 .windows, .openbsd, .uefi => {},292 .windows, .openbsd, .uefi => {},
233 else => switch (target.abi) {293 else => switch (target.abi) {
234 .gnux32, .muslx32 => {},294 .gnux32,
295 .muslx32,
296 .x32,
297 .gnuabin32,
298 .muslabin32,
299 .abin32,
300 .ilp32,
301 => {},
235 else => return .long,302 else => return .long,
236 },303 },
237 },304 },
238305
306 .mips, .mipsel, .sparc => {}, // TODO
307
239 else => {},308 else => {},
240 }309 }
241 return .long_long;310 return .long_long;
...@@ -422,6 +491,17 @@ pub fn minFunctionAlignment(target: *const Target) u8 {...@@ -422,6 +491,17 @@ pub fn minFunctionAlignment(target: *const Target) u8 {
422 };491 };
423}492}
424493
494pub fn isBlocksSupported(target: *const Target) bool {
495 if (target.os.tag.isDarwin()) {
496 // per https://clang.llvm.org/docs/Block-ABI-Apple.html#id1, usage on macos prior to 10.6 is undefined
497 if (target.os.isAtLeast(.macos, .{ .major = 10, .minor = 6, .patch = 0 })) |sup| return sup;
498 // TODO: do iOS or other OSes have a min version?
499 return target.os.tag != .macos;
500 }
501
502 return false;
503}
504
425pub fn isTlsSupported(target: *const Target) bool {505pub fn isTlsSupported(target: *const Target) bool {
426 if (target.os.tag.isDarwin()) {506 if (target.os.tag.isDarwin()) {
427 var supported = false;507 var supported = false;
...@@ -523,10 +603,7 @@ pub fn systemCompiler(target: *const Target) LangOpts.Compiler {...@@ -523,10 +603,7 @@ pub fn systemCompiler(target: *const Target) LangOpts.Compiler {
523 // the rest for documentation as fn returns .clang603 // the rest for documentation as fn returns .clang
524 if (target.os.tag.isDarwin() or604 if (target.os.tag.isDarwin() or
525 target.abi.isAndroid() or605 target.abi.isAndroid() or
526 target.os.tag == .dragonfly or606 target.os.tag.isBSD() or
527 target.os.tag == .freebsd or
528 target.os.tag == .netbsd or
529 target.os.tag == .openbsd or
530 target.os.tag == .fuchsia or607 target.os.tag == .fuchsia or
531 target.os.tag == .illumos or608 target.os.tag == .illumos or
532 target.os.tag == .haiku or609 target.os.tag == .haiku or
...@@ -568,6 +645,16 @@ pub fn hasHalfPrecisionFloatABI(target: *const Target) bool {...@@ -568,6 +645,16 @@ pub fn hasHalfPrecisionFloatABI(target: *const Target) bool {
568 };645 };
569}646}
570647
648pub fn hasAArch64ACLETypes(target: *const Target) bool {
649 return target.cpu.arch.isAARCH64();
650}
651
652pub fn hasProtectedVisibility(target: *const Target) bool {
653 if (target.cpu.arch.isWasm()) return false;
654 if (target.ofmt == .macho) return false;
655 return true;
656}
657
571pub const FPSemantics = enum {658pub const FPSemantics = enum {
572 None,659 None,
573 IEEEHalf,660 IEEEHalf,
...@@ -725,6 +812,7 @@ pub fn parseArchName(query: []const u8) ?ArchSubArch {...@@ -725,6 +812,7 @@ pub fn parseArchName(query: []const u8) ?ArchSubArch {
725 .{ "v5t", .arm_v5 },812 .{ "v5t", .arm_v5 },
726 .{ "v5e", .arm_v5te },813 .{ "v5e", .arm_v5te },
727 .{ "v5te", .arm_v5te },814 .{ "v5te", .arm_v5te },
815 .{ "v5tel", .arm_v5te },
728 .{ "v6", .arm_v6 },816 .{ "v6", .arm_v6 },
729 .{ "v6j", .arm_v6 },817 .{ "v6j", .arm_v6 },
730 .{ "v6k", .arm_v6k },818 .{ "v6k", .arm_v6k },
...@@ -737,14 +825,13 @@ pub fn parseArchName(query: []const u8) ?ArchSubArch {...@@ -737,14 +825,13 @@ pub fn parseArchName(query: []const u8) ?ArchSubArch {
737 .{ "v6zk", .arm_v6k },825 .{ "v6zk", .arm_v6k },
738 .{ "v6kz", .arm_v6k },826 .{ "v6kz", .arm_v6k },
739 .{ "v7", .arm_v7 },827 .{ "v7", .arm_v7 },
740 .{ "v7a", .arm_v7 },828 .{ "v7a", .arm_v7a },
829 .{ "v7-a", .arm_v7a },
741 .{ "v7hl", .arm_v7 },830 .{ "v7hl", .arm_v7 },
742 .{ "v7l", .arm_v7 },831 .{ "v7l", .arm_v7 },
743 .{ "v7-a", .arm_v7 },832 .{ "v7r", .arm_v7r },
744 .{ "v7r", .arm_v7 },833 .{ "v7m", .arm_v7m },
745 .{ "v7r", .arm_v7 },834 .{ "v7-m", .arm_v7m },
746 .{ "v7m", .arm_v7s },
747 .{ "v7-m", .arm_v7s },
748 .{ "v7em", .arm_v7em },835 .{ "v7em", .arm_v7em },
749 .{ "v7e-m", .arm_v7em },836 .{ "v7e-m", .arm_v7em },
750 .{ "v8", .arm_v8 },837 .{ "v8", .arm_v8 },
...@@ -753,16 +840,16 @@ pub fn parseArchName(query: []const u8) ?ArchSubArch {...@@ -753,16 +840,16 @@ pub fn parseArchName(query: []const u8) ?ArchSubArch {
753 .{ "v8-a", .arm_v8 },840 .{ "v8-a", .arm_v8 },
754 .{ "v8.1a", .arm_v8_1a },841 .{ "v8.1a", .arm_v8_1a },
755 .{ "v8.1-a", .arm_v8_1a },842 .{ "v8.1-a", .arm_v8_1a },
756 .{ "v82.a", .arm_v8_2a },843 .{ "v8.2a", .arm_v8_2a },
757 .{ "v82.-a", .arm_v8_2a },844 .{ "v8.2-a", .arm_v8_2a },
758 .{ "v83.a", .arm_v8_3a },845 .{ "v8.3a", .arm_v8_3a },
759 .{ "v83.-a", .arm_v8_3a },846 .{ "v8.3-a", .arm_v8_3a },
760 .{ "v84.a", .arm_v8_4a },847 .{ "v8.4a", .arm_v8_4a },
761 .{ "v84.-a", .arm_v8_4a },848 .{ "v8.4-a", .arm_v8_4a },
762 .{ "v85.a", .arm_v8_5a },849 .{ "v8.5a", .arm_v8_5a },
763 .{ "v85.-a", .arm_v8_5a },850 .{ "v8.5-a", .arm_v8_5a },
764 .{ "v86.a", .arm_v8_6a },851 .{ "v8.6a", .arm_v8_6a },
765 .{ "v86.-a", .arm_v8_6a },852 .{ "v8.6-a", .arm_v8_6a },
766 .{ "v8.7a", .arm_v8_7a },853 .{ "v8.7a", .arm_v8_7a },
767 .{ "v8.7-a", .arm_v8_7a },854 .{ "v8.7-a", .arm_v8_7a },
768 .{ "v8.8a", .arm_v8_8a },855 .{ "v8.8a", .arm_v8_8a },
...@@ -772,8 +859,8 @@ pub fn parseArchName(query: []const u8) ?ArchSubArch {...@@ -772,8 +859,8 @@ pub fn parseArchName(query: []const u8) ?ArchSubArch {
772 .{ "v8r", .arm_v8r },859 .{ "v8r", .arm_v8r },
773 .{ "v8-r", .arm_v8r },860 .{ "v8-r", .arm_v8r },
774 .{ "v9", .arm_v9 },861 .{ "v9", .arm_v9 },
775 .{ "v9a", .arm_v9 },862 .{ "v9a", .arm_v9_1a },
776 .{ "v9-a", .arm_v9 },863 .{ "v9-a", .arm_v9_1a },
777 .{ "v9.1a", .arm_v9_1a },864 .{ "v9.1a", .arm_v9_1a },
778 .{ "v9.1-a", .arm_v9_1a },865 .{ "v9.1-a", .arm_v9_1a },
779 .{ "v9.2a", .arm_v9_2a },866 .{ "v9.2a", .arm_v9_2a },
...@@ -879,14 +966,17 @@ pub fn parseOsName(query: []const u8) ?Os.Tag {...@@ -879,14 +966,17 @@ pub fn parseOsName(query: []const u8) ?Os.Tag {
879 }).get(lower) orelse return null;966 }).get(lower) orelse return null;
880}967}
881968
882pub fn isOs(target: *const Target, query: []const u8) bool {969pub fn isOs(target: *const Target, query_str: []const u8) bool {
883 const parsed = parseOsName(query) orelse return false;970 var query: std.Target.Query = .{};
884971 parseOs(&query, query_str, null) catch return false;
885 if (parsed.isDarwin()) {972 if (query.os_tag) |tag| {
886 // clang treats all darwin OS's as equivalent973 if (tag.isDarwin()) {
887 return target.os.tag.isDarwin();974 // clang treats all darwin OS's as equivalent
975 return target.os.tag.isDarwin();
976 }
977 return target.os.tag == tag;
888 }978 }
889 return parsed == target.os.tag;979 return false;
890}980}
891981
892pub fn parseVendorName(query: []const u8) ?Vendor {982pub fn parseVendorName(query: []const u8) ?Vendor {
...@@ -989,9 +1079,11 @@ pub fn get32BitArchVariant(target: *const Target) ?Target {...@@ -989,9 +1079,11 @@ pub fn get32BitArchVariant(target: *const Target) ?Target {
989 .avr,1079 .avr,
990 .bpfeb,1080 .bpfeb,
991 .bpfel,1081 .bpfel,
1082 .ez80,
992 .kvx,1083 .kvx,
993 .msp430,1084 .msp430,
994 .s390x,1085 .s390x,
1086 .spork8,
995 .ve,1087 .ve,
996 => return null,1088 => return null,
9971089
...@@ -1006,6 +1098,7 @@ pub fn get32BitArchVariant(target: *const Target) ?Target {...@@ -1006,6 +1098,7 @@ pub fn get32BitArchVariant(target: *const Target) ?Target {
1006 .lanai,1098 .lanai,
1007 .loongarch32,1099 .loongarch32,
1008 .m68k,1100 .m68k,
1101 .m88k,
1009 .microblaze,1102 .microblaze,
1010 .microblazeel,1103 .microblazeel,
1011 .mips,1104 .mips,
...@@ -1057,10 +1150,12 @@ pub fn get64BitArchVariant(target: *const Target) ?Target {...@@ -1057,10 +1150,12 @@ pub fn get64BitArchVariant(target: *const Target) ?Target {
1057 .arceb,1150 .arceb,
1058 .avr,1151 .avr,
1059 .csky,1152 .csky,
1153 .ez80,
1060 .hexagon,1154 .hexagon,
1061 .kalimba,1155 .kalimba,
1062 .lanai,1156 .lanai,
1063 .m68k,1157 .m68k,
1158 .m88k,
1064 .microblaze,1159 .microblaze,
1065 .microblazeel,1160 .microblazeel,
1066 .msp430,1161 .msp430,
...@@ -1068,6 +1163,7 @@ pub fn get64BitArchVariant(target: *const Target) ?Target {...@@ -1068,6 +1163,7 @@ pub fn get64BitArchVariant(target: *const Target) ?Target {
1068 .propeller,1163 .propeller,
1069 .sh,1164 .sh,
1070 .sheb,1165 .sheb,
1166 .spork8,
1071 .xcore,1167 .xcore,
1072 .xtensa,1168 .xtensa,
1073 .xtensaeb,1169 .xtensaeb,
...@@ -1175,16 +1271,19 @@ pub fn toLLVMTriple(target: *const Target, buf: []u8) []const u8 {...@@ -1175,16 +1271,19 @@ pub fn toLLVMTriple(target: *const Target, buf: []u8) []const u8 {
1175 // Note: these are not supported in LLVM; this is the Zig arch name1271 // Note: these are not supported in LLVM; this is the Zig arch name
1176 .alpha => "alpha",1272 .alpha => "alpha",
1177 .arceb => "arceb",1273 .arceb => "arceb",
1274 .ez80 => "ez80",
1178 .hppa => "hppa",1275 .hppa => "hppa",
1179 .hppa64 => "hppa64",1276 .hppa64 => "hppa64",
1180 .kalimba => "kalimba",1277 .kalimba => "kalimba",
1181 .kvx => "kvx",1278 .kvx => "kvx",
1182 .microblaze => "microblaze",1279 .microblaze => "microblaze",
1183 .microblazeel => "microblazeel",1280 .microblazeel => "microblazeel",
1281 .m88k => "m88k",
1184 .or1k => "or1k",1282 .or1k => "or1k",
1185 .propeller => "propeller",1283 .propeller => "propeller",
1186 .sh => "sh",1284 .sh => "sh",
1187 .sheb => "sheb",1285 .sheb => "sheb",
1286 .spork8 => "spork8",
1188 .x86_16 => "i86",1287 .x86_16 => "i86",
1189 .xtensaeb => "xtensaeb",1288 .xtensaeb => "xtensaeb",
1190 };1289 };
...@@ -1228,12 +1327,18 @@ pub fn toLLVMTriple(target: *const Target, buf: []u8) []const u8 {...@@ -1228,12 +1327,18 @@ pub fn toLLVMTriple(target: *const Target, buf: []u8) []const u8 {
1228 .windows => "windows",1327 .windows => "windows",
12291328
1230 .@"3ds",1329 .@"3ds",
1330 .ashetos,
1331 .gba,
1332 .wiiu,
1333 .@"switch",
1231 .opencl,1334 .opencl,
1232 .opengl,1335 .opengl,
1233 .other,1336 .other,
1234 .plan9,1337 .plan9,
1235 .vita,
1236 .psp,1338 .psp,
1339 .psx,
1340 .tios,
1341 .vita,
1237 => "unknown",1342 => "unknown",
1238 };1343 };
1239 writer.writeAll(llvm_os) catch unreachable;1344 writer.writeAll(llvm_os) catch unreachable;
...@@ -1250,10 +1355,14 @@ pub fn toLLVMTriple(target: *const Target, buf: []u8) []const u8 {...@@ -1250,10 +1355,14 @@ pub fn toLLVMTriple(target: *const Target, buf: []u8) []const u8 {
12501355
1251 const llvm_abi = switch (target.abi) {1356 const llvm_abi = switch (target.abi) {
1252 .none => if (target.os.tag == .maccatalyst) "macabi" else "unknown",1357 .none => if (target.os.tag == .maccatalyst) "macabi" else "unknown",
1253 .ilp32 => "unknown",1358 .abin32,
1359 .ilp32,
1360 .x32,
1361 => "unknown",
12541362
1255 .android => "android",1363 .android => "android",
1256 .androideabi => "androideabi",1364 .androideabi => "androideabi",
1365 .call0 => "call0",
1257 .eabi => "eabi",1366 .eabi => "eabi",
1258 .eabihf => "eabihf",1367 .eabihf => "eabihf",
1259 .gnu => "gnu",1368 .gnu => "gnu",
...@@ -1534,7 +1643,13 @@ test "alignment functions - smoke test" {...@@ -1534,7 +1643,13 @@ test "alignment functions - smoke test" {
1534}1643}
15351644
1536test "target size/align tests" {1645test "target size/align tests" {
1537 var comp: @import("Compilation.zig") = undefined;1646 var comp: @import("Compilation.zig") = .{
1647 .gpa = undefined,
1648 .arena = undefined,
1649 .io = undefined,
1650 .cwd = undefined,
1651 .diagnostics = undefined,
1652 };
15381653
1539 const linux: Os = .{ .tag = .linux, .version_range = .{ .none = {} } };1654 const linux: Os = .{ .tag = .linux, .version_range = .{ .none = {} } };
1540 const x86_target: Target = .{1655 const x86_target: Target = .{
...@@ -1574,7 +1689,7 @@ pub fn cTypeAlignment(target: *const Target, c_type: std.Target.CType) u16 {...@@ -1574,7 +1689,7 @@ pub fn cTypeAlignment(target: *const Target, c_type: std.Target.CType) u16 {
1574}1689}
15751690
1576pub fn standardDynamicLinkerPath(target: *const Target) std.Target.DynamicLinker {1691pub fn standardDynamicLinkerPath(target: *const Target) std.Target.DynamicLinker {
1577 return .standard(target.cpu, target.os, target.abi);1692 return .standard(target.cpu, target.os.tag, target.abi);
1578}1693}
15791694
1580/// Parse ABI string in `<abi>(.?<version>)?` format.1695/// Parse ABI string in `<abi>(.?<version>)?` format.
...@@ -1644,6 +1759,32 @@ test parseAbi {...@@ -1644,6 +1759,32 @@ test parseAbi {
1644 try testing.expect(query.abi == .ilp32);1759 try testing.expect(query.abi == .ilp32);
1645}1760}
16461761
1762/// Version of `std.Target.Query.parseVersion`, but with following changes:
1763/// * Supports only 1, 2 or 3 version components (major, minor, [patch]). If 2nd or 3rd component is omitted, it will be 0.
1764pub fn parseVersion(ver: []const u8) error{ InvalidVersion, Overflow }!std.SemanticVersion {
1765 const parseVersionComponentFn = (struct {
1766 fn parseVersionComponentInner(component: []const u8) error{ InvalidVersion, Overflow }!usize {
1767 return std.fmt.parseUnsigned(usize, component, 10) catch |err| switch (err) {
1768 error.InvalidCharacter => return error.InvalidVersion,
1769 error.Overflow => |e| return e,
1770 };
1771 }
1772 }).parseVersionComponentInner;
1773
1774 var version_components = mem.splitScalar(u8, ver, '.');
1775
1776 const major = version_components.first();
1777 const minor = version_components.next() orelse "0";
1778 const patch = version_components.next() orelse "0";
1779 if (version_components.next() != null) return error.InvalidVersion;
1780
1781 return .{
1782 .major = try parseVersionComponentFn(major),
1783 .minor = try parseVersionComponentFn(minor),
1784 .patch = try parseVersionComponentFn(patch),
1785 };
1786}
1787
1647/// Parse OS string with common aliases in `<os>(.?<version>(...<version>))?` format.1788/// Parse OS string with common aliases in `<os>(.?<version>(...<version>))?` format.
1648///1789///
1649/// `native` <os> results in `builtin.os.tag`.1790/// `native` <os> results in `builtin.os.tag`.
...@@ -1678,6 +1819,7 @@ pub fn parseOs(result: *std.Target.Query, text: []const u8, version_string: ?*[]...@@ -1678,6 +1819,7 @@ pub fn parseOs(result: *std.Target.Query, text: []const u8, version_string: ?*[]
1678 }1819 }
1679 },1820 },
1680 } else .{ checkOs(text) orelse return error.UnknownOs, "" };1821 } else .{ checkOs(text) orelse return error.UnknownOs, "" };
1822
1681 result.os_tag = tag;1823 result.os_tag = tag;
1682 if (version_string) |ptr| ptr.* = version_text;1824 if (version_string) |ptr| ptr.* = version_text;
16831825
...@@ -1686,13 +1828,13 @@ pub fn parseOs(result: *std.Target.Query, text: []const u8, version_string: ?*[]...@@ -1686,13 +1828,13 @@ pub fn parseOs(result: *std.Target.Query, text: []const u8, version_string: ?*[]
1686 .semver, .hurd, .linux => {1828 .semver, .hurd, .linux => {
1687 var range_it = mem.splitSequence(u8, version_text, "...");1829 var range_it = mem.splitSequence(u8, version_text, "...");
1688 result.os_version_min = .{1830 result.os_version_min = .{
1689 .semver = std.Target.Query.parseVersion(range_it.first()) catch |er| switch (er) {1831 .semver = parseVersion(range_it.first()) catch |er| switch (er) {
1690 error.Overflow, error.InvalidVersion => return error.InvalidOsVersion,1832 error.Overflow, error.InvalidVersion => return error.InvalidOsVersion,
1691 },1833 },
1692 };1834 };
1693 if (range_it.next()) |v| {1835 if (range_it.next()) |v| {
1694 result.os_version_max = .{1836 result.os_version_max = .{
1695 .semver = std.Target.Query.parseVersion(v) catch |er| switch (er) {1837 .semver = parseVersion(v) catch |er| switch (er) {
1696 error.Overflow, error.InvalidVersion => return error.InvalidOsVersion,1838 error.Overflow, error.InvalidVersion => return error.InvalidOsVersion,
1697 },1839 },
1698 };1840 };
...@@ -1716,6 +1858,71 @@ pub fn parseOs(result: *std.Target.Query, text: []const u8, version_string: ?*[]...@@ -1716,6 +1858,71 @@ pub fn parseOs(result: *std.Target.Query, text: []const u8, version_string: ?*[]
1716 };1858 };
1717}1859}
17181860
1861pub fn armVersion(target: Target) ?struct { version: u8, string: []const u8 } {
1862 assert(target.cpu.arch.isArm());
1863 for ([_]struct { std.Target.arm.Feature, []const u8 }{
1864 .{ .v9_6a, "9_6A" },
1865 .{ .v9_5a, "9_5A" },
1866 .{ .v9_4a, "9_4A" },
1867 .{ .v9_3a, "9_3A" },
1868 .{ .v9_2a, "9_2A" },
1869 .{ .v9_1a, "9_1A" },
1870 .{ .v9a, "9A" },
1871
1872 .{ .v8_9a, "8_9A" },
1873 .{ .v8_8a, "8_8A" },
1874 .{ .v8_7a, "8_7A" },
1875 .{ .v8_6a, "8_6A" },
1876 .{ .v8_5a, "8_5A" },
1877 .{ .v8_4a, "8_4A" },
1878 .{ .v8_3a, "8_3A" },
1879 .{ .v8_2a, "8_2A" },
1880 .{ .v8_1a, "8_1A" },
1881 .{ .v8_1m_main, "8_1M_MAIN" },
1882 .{ .v8a, "8A" },
1883 .{ .v8r, "8R" },
1884 .{ .v8m_main, "8M_MAIN" },
1885 .{ .v8m, "8M_BASE" },
1886
1887 .{ .v7ve, "7VE" },
1888 .{ .v7a, "7A" },
1889 .{ .v7r, "7R" },
1890 .{ .v7m, "7M" },
1891 .{ .v7em, "7EM" },
1892 .{ .has_v7, "7A" }, // bare armv7 with no profile: default to A
1893
1894 .{ .v6t2, "6T2" },
1895 .{ .v6kz, "6KZ" },
1896 .{ .v6k, "6K" },
1897 .{ .v6j, "6J" },
1898 .{ .v6sm, "6SM" },
1899 .{ .v6m, "6M" },
1900 .{ .v6, "6" },
1901
1902 .{ .v5tej, "5TEJ" },
1903 .{ .v5te, "5TE" },
1904 .{ .v5t, "5T" },
1905
1906 .{ .v4t, "4T" },
1907 .{ .v4, "4" },
1908
1909 .{ .v3m, "3M" },
1910 .{ .v3, "3" },
1911
1912 .{ .v2a, "2A" },
1913 .{ .v2, "2" },
1914 }) |fs| {
1915 if (target.cpu.features.isEnabled(@backingInt(fs[0]))) {
1916 return .{
1917 .version = fs[1][0] - '0',
1918 .string = fs[1],
1919 };
1920 }
1921 }
1922
1923 return null;
1924}
1925
1719test parseOs {1926test parseOs {
1720 const V = std.Target.Query.OsVersion;1927 const V = std.Target.Query.OsVersion;
1721 var query: std.Target.Query = .{};1928 var query: std.Target.Query = .{};
...@@ -1748,4 +1955,150 @@ test parseOs {...@@ -1748,4 +1955,150 @@ test parseOs {
1748 try parseOs(&query, "win32.win10", null);1955 try parseOs(&query, "win32.win10", null);
1749 try testing.expect(query.os_tag == .windows);1956 try testing.expect(query.os_tag == .windows);
1750 try testing.expectEqual(query.os_version_min, V{ .windows = .win10 });1957 try testing.expectEqual(query.os_version_min, V{ .windows = .win10 });
1958
1959 try parseOs(&query, "ios17", null);
1960 try testing.expect(query.os_tag == .ios);
1961 try testing.expectEqual(query.os_version_min, V{ .semver = .{ .major = 17, .minor = 0, .patch = 0 } });
1962
1963 try parseOs(&query, "darwin26", null);
1964 try testing.expect(query.os_tag == .macos);
1965 try testing.expectEqual(query.os_version_min, V{ .semver = .{ .major = 26, .minor = 0, .patch = 0 } });
1966}
1967
1968pub const MipsAbi = enum { o32, n32, n64 };
1969
1970pub fn mipsAbi(target: *const Target) MipsAbi {
1971 return switch (target.abi) {
1972 .gnuabin32, .muslabin32, .abin32 => .n32,
1973 else => switch (target.cpu.arch) {
1974 .mips, .mipsel => .o32,
1975 .mips64, .mips64el => .n64,
1976 else => unreachable,
1977 },
1978 };
1979}
1980
1981pub const MipsFpMode = enum { fp32, fp64, fpxx };
1982
1983/// Returns the default MIPS floating-point mode for the target.
1984pub fn defaultMipsFpMode(target: *const Target) MipsFpMode {
1985 const cpu = std.Target.mips.cpu;
1986 if (target.cpu.model == &cpu.mips32r6 or
1987 target.mipsAbi() == .n32 or target.mipsAbi() == .n64) return .fp64;
1988 if (target.cpu.model == &cpu.mips1) return .fp32;
1989 return .fpxx;
1990}
1991
1992pub fn mipsIsaRev(target: *const Target) u8 {
1993 const cpu = std.Target.mips.cpu;
1994 const model = target.cpu.model;
1995 // clang: MipsTargetInfo::getISARev, clang/lib/Basic/Targets/Mips.cpp
1996 if (model == &cpu.mips32 or model == &cpu.mips64) return 1;
1997 if (model == &cpu.mips32r2 or model == &cpu.mips64r2 or
1998 model == &cpu.octeon or model == &cpu.@"octeon+") return 2;
1999 if (model == &cpu.mips32r3 or model == &cpu.mips64r3) return 3;
2000 if (model == &cpu.mips32r5 or model == &cpu.mips64r5 or model == &cpu.p5600) return 5;
2001 if (model == &cpu.mips32r6 or model == &cpu.mips64r6 or
2002 model == &cpu.i6400 or model == &cpu.i6500) return 6;
2003 return 0;
2004}
2005
2006/// Returns the CPU model based on arch, os, abi and vendor
2007pub fn cpuModelForTargetQuadruple(
2008 arch: Cpu.Arch,
2009 opt_os_tag: ?Os.Tag,
2010 opt_abi: ?Abi,
2011 vendor: Vendor,
2012 sub_arch: ?SubArch,
2013) ?*const Cpu.Model {
2014 const os_tag = opt_os_tag orelse builtin.os.tag;
2015 const abi = opt_abi orelse builtin.abi;
2016
2017 switch (arch) {
2018 .arm, .armeb, .thumb, .thumbeb => {
2019 const cpu = std.Target.arm.cpu;
2020
2021 if (sub_arch) |sub| {
2022 switch (os_tag) {
2023 .freebsd, .netbsd, .openbsd, .haiku => switch (sub) {
2024 .arm_v6 => return &cpu.arm1176jzf_s,
2025 .arm_v7 => return &cpu.cortex_a8,
2026 else => {},
2027 },
2028 // clang: `parseArchVersion(MArch) <= 7`
2029 .windows => switch (sub) {
2030 .arm_v4t,
2031 .arm_v5,
2032 .arm_v5te,
2033 .arm_v6,
2034 .arm_v6k,
2035 .arm_v6m,
2036 .arm_v6t2,
2037 .arm_v7,
2038 .arm_v7a,
2039 .arm_v7r,
2040 .arm_v7em,
2041 .arm_v7k,
2042 .arm_v7m,
2043 .arm_v7s,
2044 .arm_v7ve,
2045 => return &cpu.cortex_a9,
2046 else => {},
2047 },
2048 .ios, .macos, .tvos, .watchos, .driverkit, .visionos => switch (sub) {
2049 .arm_v7k => return &cpu.cortex_a7,
2050 else => {},
2051 },
2052 else => {},
2053 }
2054 return null;
2055 }
2056
2057 return switch (os_tag) {
2058 .windows => &cpu.cortex_a9,
2059 .haiku => &cpu.arm1176jzf_s,
2060 .netbsd => switch (abi) {
2061 .eabi, .eabihf, .gnueabi, .gnueabihf => &cpu.arm926ej_s,
2062 else => &cpu.strongarm,
2063 },
2064 .openbsd => &cpu.cortex_a8,
2065 .fuchsia => &cpu.cortex_a53,
2066 else => switch (abi) {
2067 .eabihf, .gnueabihf, .musleabihf => &cpu.arm1176jzf_s,
2068 else => &cpu.arm7tdmi,
2069 },
2070 };
2071 },
2072 .mips, .mipsel, .mips64, .mips64el => {
2073 const cpu = std.Target.mips.cpu;
2074 const is_64 = arch.isMIPS64();
2075
2076 // see clang: `mips::getMipsCPUAndABI`,
2077 var model: *const Cpu.Model = if (is_64) &cpu.mips64r2 else &cpu.mips32r2;
2078
2079 if (vendor == .imagination_technologies and abi.isGnu())
2080 model = if (is_64) &cpu.mips64r6 else &cpu.mips32r6;
2081
2082 if (sub_arch == .mips_r6)
2083 model = if (is_64) &cpu.mips64r6 else &cpu.mips32r6;
2084
2085 if (os_tag == .openbsd and is_64)
2086 model = &cpu.mips3;
2087
2088 if (os_tag == .freebsd)
2089 model = if (is_64) &cpu.mips3 else &cpu.mips2;
2090
2091 return model;
2092 },
2093 else => return null,
2094 }
2095}
2096
2097pub fn armHasDsp(target: *const Target) bool {
2098 assert(target.cpu.arch.isArm());
2099
2100 if (target.cpu.has(.arm, .mclass)) return target.cpu.has(.arm, .dsp);
2101
2102 const v = target.armVersion() orelse return false;
2103 return v.version >= 6 or mem.startsWith(u8, v.string, "5TE");
1751}2104}
lib/compiler/aro/aro/Tokenizer.zig+476-411
...@@ -5,6 +5,9 @@ const Compilation = @import("Compilation.zig");...@@ -5,6 +5,9 @@ const Compilation = @import("Compilation.zig");
5const LangOpts = @import("LangOpts.zig");5const LangOpts = @import("LangOpts.zig");
6const Source = @import("Source.zig");6const Source = @import("Source.zig");
77
8pub const number_literal = @import("Tokenizer/number_literal.zig");
9pub const text_literal = @import("Tokenizer/text_literal.zig");
10
8/// Value for valid escapes indicates how many characters to consume, not counting leading backslash11/// Value for valid escapes indicates how many characters to consume, not counting leading backslash
9const UCNKind = enum(u8) {12const UCNKind = enum(u8) {
10 /// Just `\`13 /// Just `\`
...@@ -90,10 +93,6 @@ pub const Token = struct {...@@ -90,10 +93,6 @@ pub const Token = struct {
90 /// `/* */` style comment without a closing `*/` before EOF93 /// `/* */` style comment without a closing `*/` before EOF
91 unterminated_comment,94 unterminated_comment,
9295
93 /// Integer literal tokens generated by preprocessor.
94 one,
95 zero,
96
97 bang,96 bang,
98 bang_equal,97 bang_equal,
99 pipe,98 pipe,
...@@ -283,8 +282,10 @@ pub const Token = struct {...@@ -283,8 +282,10 @@ pub const Token = struct {
283 keyword_asm,282 keyword_asm,
284 keyword_asm1,283 keyword_asm1,
285 keyword_asm2,284 keyword_asm2,
285 keyword_thread,
286 /// __float128286 /// __float128
287 keyword_float128_1,287 keyword_float128_1,
288 keyword_int24,
288 keyword_int128,289 keyword_int128,
289 keyword_imag1,290 keyword_imag1,
290 keyword_imag2,291 keyword_imag2,
...@@ -320,6 +321,10 @@ pub const Token = struct {...@@ -320,6 +321,10 @@ pub const Token = struct {
320 keyword_forceinline2,321 keyword_forceinline2,
321 keyword_unaligned,322 keyword_unaligned,
322 keyword_unaligned2,323 keyword_unaligned2,
324 keyword_ptr64,
325 keyword_ptr32,
326 keyword_sptr,
327 keyword_uptr,
323328
324 // Type nullability329 // Type nullability
325 keyword_nonnull,330 keyword_nonnull,
...@@ -432,6 +437,7 @@ pub const Token = struct {...@@ -432,6 +437,7 @@ pub const Token = struct {
432 .keyword_noreturn,437 .keyword_noreturn,
433 .keyword_static_assert,438 .keyword_static_assert,
434 .keyword_thread_local,439 .keyword_thread_local,
440 .keyword_thread,
435 .identifier,441 .identifier,
436 .extended_identifier,442 .extended_identifier,
437 .keyword_typeof,443 .keyword_typeof,
...@@ -454,6 +460,7 @@ pub const Token = struct {...@@ -454,6 +460,7 @@ pub const Token = struct {
454 .keyword_asm1,460 .keyword_asm1,
455 .keyword_asm2,461 .keyword_asm2,
456 .keyword_float128_1,462 .keyword_float128_1,
463 .keyword_int24,
457 .keyword_int128,464 .keyword_int128,
458 .keyword_imag1,465 .keyword_imag1,
459 .keyword_imag2,466 .keyword_imag2,
...@@ -486,6 +493,10 @@ pub const Token = struct {...@@ -486,6 +493,10 @@ pub const Token = struct {
486 .keyword_forceinline2,493 .keyword_forceinline2,
487 .keyword_unaligned,494 .keyword_unaligned,
488 .keyword_unaligned2,495 .keyword_unaligned2,
496 .keyword_ptr64,
497 .keyword_ptr32,
498 .keyword_sptr,
499 .keyword_uptr,
489 .keyword_nonnull,500 .keyword_nonnull,
490 .keyword_nullable,501 .keyword_nullable,
491 .keyword_nullable_result,502 .keyword_nullable_result,
...@@ -581,9 +592,6 @@ pub const Token = struct {...@@ -581,9 +592,6 @@ pub const Token = struct {
581 .comment,592 .comment,
582 => null,593 => null,
583594
584 .zero => "0",
585 .one => "1",
586
587 .nl,595 .nl,
588 .eof,596 .eof,
589 .macro_param,597 .macro_param,
...@@ -700,6 +708,7 @@ pub const Token = struct {...@@ -700,6 +708,7 @@ pub const Token = struct {
700 .keyword_noreturn => "_Noreturn",708 .keyword_noreturn => "_Noreturn",
701 .keyword_static_assert => "_Static_assert",709 .keyword_static_assert => "_Static_assert",
702 .keyword_thread_local => "_Thread_local",710 .keyword_thread_local => "_Thread_local",
711 .keyword_thread => "__thread",
703 .keyword_bit_int => "_BitInt",712 .keyword_bit_int => "_BitInt",
704 .keyword_c23_alignas => "alignas",713 .keyword_c23_alignas => "alignas",
705 .keyword_c23_alignof => "alignof",714 .keyword_c23_alignof => "alignof",
...@@ -759,6 +768,7 @@ pub const Token = struct {...@@ -759,6 +768,7 @@ pub const Token = struct {
759 .keyword_asm1 => "__asm",768 .keyword_asm1 => "__asm",
760 .keyword_asm2 => "__asm__",769 .keyword_asm2 => "__asm__",
761 .keyword_float128_1 => "__float128",770 .keyword_float128_1 => "__float128",
771 .keyword_int24 => "__int24",
762 .keyword_int128 => "__int128",772 .keyword_int128 => "__int128",
763 .keyword_imag1 => "__imag",773 .keyword_imag1 => "__imag",
764 .keyword_imag2 => "__imag__",774 .keyword_imag2 => "__imag__",
...@@ -790,6 +800,10 @@ pub const Token = struct {...@@ -790,6 +800,10 @@ pub const Token = struct {
790 .keyword_forceinline2 => "_forceinline",800 .keyword_forceinline2 => "_forceinline",
791 .keyword_unaligned => "__unaligned",801 .keyword_unaligned => "__unaligned",
792 .keyword_unaligned2 => "_unaligned",802 .keyword_unaligned2 => "_unaligned",
803 .keyword_ptr64 => "__ptr64",
804 .keyword_ptr32 => "__ptr32",
805 .keyword_sptr => "__sptr",
806 .keyword_uptr => "__uptr",
793 .keyword_nonnull => "_Nonnull",807 .keyword_nonnull => "_Nonnull",
794 .keyword_nullable => "_Nullable",808 .keyword_nullable => "_Nullable",
795 .keyword_nullable_result => "_Nullable_result",809 .keyword_nullable_result => "_Nullable_result",
...@@ -892,11 +906,9 @@ pub const Token = struct {...@@ -892,11 +906,9 @@ pub const Token = struct {
892 }906 }
893907
894 pub fn shouldTrackHideset(id: Id, context: enum { func, obj }) bool {908 pub fn shouldTrackHideset(id: Id, context: enum { func, obj }) bool {
895 return switch (id) {909 if (id.isMacroIdentifier()) return true;
896 .identifier, .extended_identifier => true,910 if (id == .r_paren and context == .func) return true;
897 .r_paren => context == .func,911 return false;
898 else => false,
899 };
900 }912 }
901 };913 };
902914
...@@ -913,6 +925,8 @@ pub const Token = struct {...@@ -913,6 +925,8 @@ pub const Token = struct {
913 .keyword_asm => if (standard.isGNU()) kw else .identifier,925 .keyword_asm => if (standard.isGNU()) kw else .identifier,
914 .keyword_declspec => if (langopts.declspec_attrs) kw else .identifier,926 .keyword_declspec => if (langopts.declspec_attrs) kw else .identifier,
915927
928 .keyword_int24 => if (langopts.has_int24) kw else .identifier,
929
916 .keyword_c23_alignas,930 .keyword_c23_alignas,
917 .keyword_c23_alignof,931 .keyword_c23_alignof,
918 .keyword_c23_bool,932 .keyword_c23_bool,
...@@ -923,8 +937,6 @@ pub const Token = struct {...@@ -923,8 +937,6 @@ pub const Token = struct {
923 .keyword_false,937 .keyword_false,
924 .keyword_nullptr,938 .keyword_nullptr,
925 .keyword_typeof_unqual,939 .keyword_typeof_unqual,
926 .keyword_elifdef,
927 .keyword_elifndef,
928 => if (standard.atLeast(.c23)) kw else .identifier,940 => if (standard.atLeast(.c23)) kw else .identifier,
929941
930 .keyword_int64,942 .keyword_int64,
...@@ -944,6 +956,10 @@ pub const Token = struct {...@@ -944,6 +956,10 @@ pub const Token = struct {
944 .keyword_forceinline2,956 .keyword_forceinline2,
945 .keyword_unaligned,957 .keyword_unaligned,
946 .keyword_unaligned2,958 .keyword_unaligned2,
959 .keyword_ptr64,
960 .keyword_ptr32,
961 .keyword_sptr,
962 .keyword_uptr,
947 => if (langopts.ms_extensions) kw else .identifier,963 => if (langopts.ms_extensions) kw else .identifier,
948964
949 .keyword_float32,965 .keyword_float32,
...@@ -1082,11 +1098,13 @@ pub const Token = struct {...@@ -1082,11 +1098,13 @@ pub const Token = struct {
1082 .{ "__asm", .keyword_asm1 },1098 .{ "__asm", .keyword_asm1 },
1083 .{ "__asm__", .keyword_asm2 },1099 .{ "__asm__", .keyword_asm2 },
1084 .{ "__float128", .keyword_float128_1 },1100 .{ "__float128", .keyword_float128_1 },
1101 .{ "__int24", .keyword_int24 },
1085 .{ "__int128", .keyword_int128 },1102 .{ "__int128", .keyword_int128 },
1086 .{ "__imag", .keyword_imag1 },1103 .{ "__imag", .keyword_imag1 },
1087 .{ "__imag__", .keyword_imag2 },1104 .{ "__imag__", .keyword_imag2 },
1088 .{ "__real", .keyword_real1 },1105 .{ "__real", .keyword_real1 },
1089 .{ "__real__", .keyword_real2 },1106 .{ "__real__", .keyword_real2 },
1107 .{ "__thread", .keyword_thread },
10901108
1091 // clang keywords1109 // clang keywords
1092 .{ "__fp16", .keyword_fp16 },1110 .{ "__fp16", .keyword_fp16 },
...@@ -1117,6 +1135,10 @@ pub const Token = struct {...@@ -1117,6 +1135,10 @@ pub const Token = struct {
1117 .{ "_forceinline", .keyword_forceinline2 },1135 .{ "_forceinline", .keyword_forceinline2 },
1118 .{ "__unaligned", .keyword_unaligned },1136 .{ "__unaligned", .keyword_unaligned },
1119 .{ "_unaligned", .keyword_unaligned2 },1137 .{ "_unaligned", .keyword_unaligned2 },
1138 .{ "__ptr64", .keyword_ptr64 },
1139 .{ "__ptr32", .keyword_ptr32 },
1140 .{ "__sptr", .keyword_sptr },
1141 .{ "__uptr", .keyword_uptr },
11201142
1121 // Type nullability1143 // Type nullability
1122 .{ "_Nonnull", .keyword_nonnull },1144 .{ "_Nonnull", .keyword_nonnull },
...@@ -1128,7 +1150,7 @@ pub const Token = struct {...@@ -1128,7 +1150,7 @@ pub const Token = struct {
11281150
1129const Tokenizer = @This();1151const Tokenizer = @This();
11301152
1131buf: []const u8,1153buf: [:0]const u8,
1132index: u32 = 0,1154index: u32 = 0,
1133source: Source.Id,1155source: Source.Id,
1134langopts: LangOpts,1156langopts: LangOpts,
...@@ -1137,7 +1159,7 @@ splice_index: u32 = 0,...@@ -1137,7 +1159,7 @@ splice_index: u32 = 0,
1137splice_locs: []const u32,1159splice_locs: []const u32,
11381160
1139pub fn next(self: *Tokenizer) Token {1161pub fn next(self: *Tokenizer) Token {
1140 var state: enum {1162 const State = enum {
1141 start,1163 start,
1142 whitespace,1164 whitespace,
1143 u,1165 u,
...@@ -1178,335 +1200,379 @@ pub fn next(self: *Tokenizer) Token {...@@ -1178,335 +1200,379 @@ pub fn next(self: *Tokenizer) Token {
1178 pp_num,1200 pp_num,
1179 pp_num_exponent,1201 pp_num_exponent,
1180 pp_num_digit_separator,1202 pp_num_digit_separator,
1181 } = .start;1203 };
11821204
1183 var start = self.index;1205 var start = self.index;
1184 var id: Token.Id = .eof;1206 var id: Token.Id = .eof;
11851207
1186 while (self.index < self.buf.len) : (self.index += 1) {1208 loop: switch (State.start) {
1187 const c = self.buf[self.index];1209 .start => switch (self.buf[self.index]) {
1188 switch (state) {1210 0 => {
1189 .start => switch (c) {1211 if (self.index != self.buf.len) {
1190 '\n' => {
1191 id = .nl;
1192 self.index += 1;
1193 self.line += 1;
1194 break;
1195 },
1196 '"' => {
1197 id = .string_literal;
1198 state = .string_literal;
1199 },
1200 '\'' => {
1201 id = .char_literal;
1202 state = .char_literal_start;
1203 },
1204 'u' => state = .u,
1205 'U' => state = .U,
1206 'L' => state = .L,
1207 '\\' => {
1208 const ucn_kind = UCNKind.classify(self.buf[self.index..]);
1209 switch (ucn_kind) {
1210 .none => {
1211 self.index += 1;
1212 id = .invalid;
1213 break;
1214 },
1215 .incomplete => {
1216 self.index += 1;
1217 id = .incomplete_ucn;
1218 break;
1219 },
1220 .hex4, .hex8 => {
1221 self.index += @backingInt(ucn_kind);
1222 id = .extended_identifier;
1223 state = .extended_identifier;
1224 },
1225 }
1226 },
1227 'a'...'t', 'v'...'z', 'A'...'K', 'M'...'T', 'V'...'Z', '_' => state = .identifier,
1228 '=' => state = .equal,
1229 '!' => state = .bang,
1230 '|' => state = .pipe,
1231 '(' => {
1232 id = .l_paren;
1233 self.index += 1;
1234 break;
1235 },
1236 ')' => {
1237 id = .r_paren;
1238 self.index += 1;
1239 break;
1240 },
1241 '[' => {
1242 id = .l_bracket;
1243 self.index += 1;
1244 break;
1245 },
1246 ']' => {
1247 id = .r_bracket;
1248 self.index += 1;
1249 break;
1250 },
1251 ';' => {
1252 id = .semicolon;
1253 self.index += 1;
1254 break;
1255 },
1256 ',' => {
1257 id = .comma;
1258 self.index += 1;
1259 break;
1260 },
1261 '?' => {
1262 id = .question_mark;
1263 self.index += 1;
1264 break;
1265 },
1266 ':' => state = .colon,
1267 '%' => state = .percent,
1268 '*' => state = .asterisk,
1269 '+' => state = .plus,
1270 '<' => state = .angle_bracket_left,
1271 '>' => state = .angle_bracket_right,
1272 '^' => state = .caret,
1273 '{' => {
1274 id = .l_brace;
1275 self.index += 1;
1276 break;
1277 },
1278 '}' => {
1279 id = .r_brace;
1280 self.index += 1;
1281 break;
1282 },
1283 '~' => {
1284 id = .tilde;
1285 self.index += 1;
1286 break;
1287 },
1288 '.' => state = .period,
1289 '-' => state = .minus,
1290 '/' => state = .slash,
1291 '&' => state = .ampersand,
1292 '#' => state = .hash,
1293 '0'...'9' => state = .pp_num,
1294 '\t', '\x0B', '\x0C', ' ' => state = .whitespace,
1295 '$' => if (self.langopts.dollars_in_identifiers) {
1296 state = .extended_identifier;
1297 } else {
1298 id = .invalid;
1299 self.index += 1;
1300 break;
1301 },
1302 0x1A => if (self.langopts.ms_extensions) {
1303 id = .eof;
1304 break;
1305 } else {
1306 id = .invalid;1212 id = .invalid;
1307 self.index += 1;1213 self.index += 1;
1308 break;1214 }
1309 },
1310 0x80...0xFF => state = .extended_identifier,
1311 else => {
1312 id = .invalid;
1313 self.index += 1;
1314 break;
1315 },
1316 },1215 },
1317 .whitespace => switch (c) {1216 '\n' => {
1318 '\t', '\x0B', '\x0C', ' ' => {},1217 id = .nl;
1319 else => {1218 self.index += 1;
1320 id = .whitespace;1219 self.line += 1;
1321 break;1220 },
1322 },1221 '"' => {
1222 id = .string_literal;
1223 continue :loop .string_literal;
1224 },
1225 '\'' => {
1226 id = .char_literal;
1227 continue :loop .char_literal_start;
1228 },
1229 'u' => continue :loop .u,
1230 'U' => continue :loop .U,
1231 'L' => continue :loop .L,
1232 '\\' => {
1233 const ucn_kind = UCNKind.classify(self.buf[self.index..]);
1234 switch (ucn_kind) {
1235 .none => {
1236 self.index += 1;
1237 id = .invalid;
1238 },
1239 .incomplete => {
1240 self.index += 1;
1241 id = .incomplete_ucn;
1242 },
1243 .hex4, .hex8 => {
1244 self.index += @backingInt(ucn_kind);
1245 id = .extended_identifier;
1246 continue :loop .extended_identifier;
1247 },
1248 }
1249 },
1250 'a'...'t', 'v'...'z', 'A'...'K', 'M'...'T', 'V'...'Z', '_' => continue :loop .identifier,
1251 '=' => continue :loop .equal,
1252 '!' => continue :loop .bang,
1253 '|' => continue :loop .pipe,
1254 '(' => {
1255 id = .l_paren;
1256 self.index += 1;
1257 },
1258 ')' => {
1259 id = .r_paren;
1260 self.index += 1;
1261 },
1262 '[' => {
1263 id = .l_bracket;
1264 self.index += 1;
1265 },
1266 ']' => {
1267 id = .r_bracket;
1268 self.index += 1;
1269 },
1270 ';' => {
1271 id = .semicolon;
1272 self.index += 1;
1273 },
1274 ',' => {
1275 id = .comma;
1276 self.index += 1;
1277 },
1278 '?' => {
1279 id = .question_mark;
1280 self.index += 1;
1281 },
1282 ':' => continue :loop .colon,
1283 '%' => continue :loop .percent,
1284 '*' => continue :loop .asterisk,
1285 '+' => continue :loop .plus,
1286 '<' => continue :loop .angle_bracket_left,
1287 '>' => continue :loop .angle_bracket_right,
1288 '^' => continue :loop .caret,
1289 '{' => {
1290 id = .l_brace;
1291 self.index += 1;
1292 },
1293 '}' => {
1294 id = .r_brace;
1295 self.index += 1;
1296 },
1297 '~' => {
1298 id = .tilde;
1299 self.index += 1;
1300 },
1301 '.' => continue :loop .period,
1302 '-' => continue :loop .minus,
1303 '/' => continue :loop .slash,
1304 '&' => continue :loop .ampersand,
1305 '#' => continue :loop .hash,
1306 '0'...'9' => continue :loop .pp_num,
1307 '\t', '\x0B', '\x0C', ' ' => continue :loop .whitespace,
1308 '$' => if (self.langopts.dollars_in_identifiers) {
1309 continue :loop .extended_identifier;
1310 } else {
1311 id = .invalid;
1312 self.index += 1;
1313 },
1314 0x1A => if (self.langopts.ms_extensions) {
1315 id = .eof;
1316 } else {
1317 id = .invalid;
1318 self.index += 1;
1323 },1319 },
1324 .u => switch (c) {1320 0x80...0xFF => continue :loop .extended_identifier,
1321 else => {
1322 id = .invalid;
1323 self.index += 1;
1324 },
1325 },
1326 .whitespace => {
1327 self.index += 1;
1328 switch (self.buf[self.index]) {
1329 '\t', '\x0B', '\x0C', ' ' => continue :loop .whitespace,
1330 else => id = .whitespace,
1331 }
1332 },
1333 .u => {
1334 self.index += 1;
1335 switch (self.buf[self.index]) {
1325 '8' => {1336 '8' => {
1326 state = .u8;1337 continue :loop .u8;
1327 },1338 },
1328 '\'' => {1339 '\'' => {
1329 id = .char_literal_utf_16;1340 id = .char_literal_utf_16;
1330 state = .char_literal_start;1341 continue :loop .char_literal_start;
1331 },1342 },
1332 '\"' => {1343 '\"' => {
1333 id = .string_literal_utf_16;1344 id = .string_literal_utf_16;
1334 state = .string_literal;1345 continue :loop .string_literal;
1335 },1346 },
1336 else => {1347 else => {
1337 self.index -= 1;1348 self.index -= 1;
1338 state = .identifier;1349 continue :loop .identifier;
1339 },1350 },
1340 },1351 }
1341 .u8 => switch (c) {1352 },
1353 .u8 => {
1354 self.index += 1;
1355 switch (self.buf[self.index]) {
1342 '\"' => {1356 '\"' => {
1343 id = .string_literal_utf_8;1357 id = .string_literal_utf_8;
1344 state = .string_literal;1358 continue :loop .string_literal;
1345 },1359 },
1346 '\'' => {1360 '\'' => {
1347 id = .char_literal_utf_8;1361 id = .char_literal_utf_8;
1348 state = .char_literal_start;1362 continue :loop .char_literal_start;
1349 },1363 },
1350 else => {1364 else => {
1351 self.index -= 1;1365 self.index -= 1;
1352 state = .identifier;1366 continue :loop .identifier;
1353 },1367 },
1354 },1368 }
1355 .U => switch (c) {1369 },
1370 .U => {
1371 self.index += 1;
1372 switch (self.buf[self.index]) {
1356 '\'' => {1373 '\'' => {
1357 id = .char_literal_utf_32;1374 id = .char_literal_utf_32;
1358 state = .char_literal_start;1375 continue :loop .char_literal_start;
1359 },1376 },
1360 '\"' => {1377 '\"' => {
1361 id = .string_literal_utf_32;1378 id = .string_literal_utf_32;
1362 state = .string_literal;1379 continue :loop .string_literal;
1363 },1380 },
1364 else => {1381 else => {
1365 self.index -= 1;1382 self.index -= 1;
1366 state = .identifier;1383 continue :loop .identifier;
1367 },1384 },
1368 },1385 }
1369 .L => switch (c) {1386 },
1387 .L => {
1388 self.index += 1;
1389 switch (self.buf[self.index]) {
1370 '\'' => {1390 '\'' => {
1371 id = .char_literal_wide;1391 id = .char_literal_wide;
1372 state = .char_literal_start;1392 continue :loop .char_literal_start;
1373 },1393 },
1374 '\"' => {1394 '\"' => {
1375 id = .string_literal_wide;1395 id = .string_literal_wide;
1376 state = .string_literal;1396 continue :loop .string_literal;
1377 },1397 },
1378 else => {1398 else => {
1379 self.index -= 1;1399 self.index -= 1;
1380 state = .identifier;1400 continue :loop .identifier;
1381 },1401 },
1382 },1402 }
1383 .string_literal => switch (c) {1403 },
1404 .string_literal => {
1405 self.index += 1;
1406 switch (self.buf[self.index]) {
1384 '\\' => {1407 '\\' => {
1385 state = .string_escape_sequence;1408 continue :loop .string_escape_sequence;
1386 },1409 },
1387 '"' => {1410 '"' => {
1388 self.index += 1;1411 self.index += 1;
1389 break;
1390 },1412 },
1391 '\n' => {1413 '\n' => {
1392 id = .unterminated_string_literal;1414 id = .unterminated_string_literal;
1393 break;
1394 },1415 },
1395 '\r' => unreachable,1416 '\r' => unreachable,
1396 else => {},1417 0 => {
1397 },1418 if (self.index == self.buf.len) {
1398 .char_literal_start => switch (c) {1419 id = .unterminated_string_literal;
1420 } else {
1421 continue :loop .string_literal;
1422 }
1423 },
1424 else => continue :loop .string_literal,
1425 }
1426 },
1427 .char_literal_start => {
1428 self.index += 1;
1429 switch (self.buf[self.index]) {
1399 '\\' => {1430 '\\' => {
1400 state = .char_escape_sequence;1431 continue :loop .char_escape_sequence;
1401 },1432 },
1402 '\'' => {1433 '\'' => {
1403 id = .empty_char_literal;1434 id = .empty_char_literal;
1404 self.index += 1;1435 self.index += 1;
1405 break;
1406 },1436 },
1407 '\n' => {1437 '\n' => {
1408 id = .unterminated_char_literal;1438 id = .unterminated_char_literal;
1409 break;
1410 },1439 },
1411 else => {1440 0 => {
1412 state = .char_literal;1441 if (self.index == self.buf.len) {
1442 id = .unterminated_char_literal;
1443 } else {
1444 continue :loop .char_literal;
1445 }
1413 },1446 },
1414 },1447 else => continue :loop .char_literal,
1415 .char_literal => switch (c) {1448 }
1449 },
1450 .char_literal => {
1451 self.index += 1;
1452 switch (self.buf[self.index]) {
1416 '\\' => {1453 '\\' => {
1417 state = .char_escape_sequence;1454 continue :loop .char_escape_sequence;
1418 },1455 },
1419 '\'' => {1456 '\'' => {
1420 self.index += 1;1457 self.index += 1;
1421 break;
1422 },1458 },
1423 '\n' => {1459 '\n' => {
1424 id = .unterminated_char_literal;1460 id = .unterminated_char_literal;
1425 break;
1426 },1461 },
1427 else => {},1462 0 => {
1428 },1463 if (self.index == self.buf.len) {
1429 .char_escape_sequence => switch (c) {1464 id = .unterminated_char_literal;
1465 } else {
1466 continue :loop .char_literal;
1467 }
1468 },
1469 else => continue :loop .char_literal,
1470 }
1471 },
1472 .char_escape_sequence => {
1473 self.index += 1;
1474 switch (self.buf[self.index]) {
1430 '\r', '\n' => {1475 '\r', '\n' => {
1431 id = .unterminated_char_literal;1476 id = .unterminated_char_literal;
1432 break;
1433 },1477 },
1434 else => state = .char_literal,1478 0 => {
1435 },1479 if (self.index == self.buf.len) {
1436 .string_escape_sequence => switch (c) {1480 id = .unterminated_char_literal;
1481 } else {
1482 continue :loop .char_literal;
1483 }
1484 },
1485 else => continue :loop .char_literal,
1486 }
1487 },
1488 .string_escape_sequence => {
1489 self.index += 1;
1490 switch (self.buf[self.index]) {
1437 '\r', '\n' => {1491 '\r', '\n' => {
1438 id = .unterminated_string_literal;1492 id = .unterminated_string_literal;
1439 break;
1440 },1493 },
1441 else => state = .string_literal,1494 0 => {
1442 },1495 if (self.index == self.buf.len) {
1443 .identifier, .extended_identifier => switch (c) {1496 id = .unterminated_string_literal;
1444 'a'...'z', 'A'...'Z', '_', '0'...'9' => {},1497 } else {
1498 continue :loop .string_literal;
1499 }
1500 },
1501 else => continue :loop .string_literal,
1502 }
1503 },
1504 inline .identifier, .extended_identifier => |state| {
1505 self.index += 1;
1506 switch (self.buf[self.index]) {
1507 'a'...'z', 'A'...'Z', '_', '0'...'9' => {
1508 continue :loop state;
1509 },
1445 '$' => if (self.langopts.dollars_in_identifiers) {1510 '$' => if (self.langopts.dollars_in_identifiers) {
1446 state = .extended_identifier;1511 continue :loop .extended_identifier;
1447 } else {1512 } else {
1448 id = if (state == .identifier) Token.getTokenId(self.langopts, self.buf[start..self.index]) else .extended_identifier;1513 id = if (state == .identifier) Token.getTokenId(self.langopts, self.buf[start..self.index]) else .extended_identifier;
1449 break;
1450 },1514 },
1451 0x80...0xFF => state = .extended_identifier,1515 0x80...0xFF => continue :loop .extended_identifier,
1452 '\\' => {1516 '\\' => {
1453 const ucn_kind = UCNKind.classify(self.buf[self.index..]);1517 const ucn_kind = UCNKind.classify(self.buf[self.index..]);
1454 switch (ucn_kind) {1518 switch (ucn_kind) {
1455 .none, .incomplete => {1519 .none, .incomplete => {
1456 id = if (state == .identifier) Token.getTokenId(self.langopts, self.buf[start..self.index]) else .extended_identifier;1520 id = if (state == .identifier) Token.getTokenId(self.langopts, self.buf[start..self.index]) else .extended_identifier;
1457 break;
1458 },1521 },
1459 .hex4, .hex8 => {1522 .hex4, .hex8 => {
1460 state = .extended_identifier;
1461 self.index += @backingInt(ucn_kind);1523 self.index += @backingInt(ucn_kind);
1524 continue :loop .extended_identifier;
1462 },1525 },
1463 }1526 }
1464 },1527 },
1465
1466 else => {1528 else => {
1467 id = if (state == .identifier) Token.getTokenId(self.langopts, self.buf[start..self.index]) else .extended_identifier;1529 id = if (state == .identifier) Token.getTokenId(self.langopts, self.buf[start..self.index]) else .extended_identifier;
1468 break;
1469 },1530 },
1470 },1531 }
1471 .equal => switch (c) {1532 },
1533 .equal => {
1534 self.index += 1;
1535 switch (self.buf[self.index]) {
1472 '=' => {1536 '=' => {
1473 id = .equal_equal;1537 id = .equal_equal;
1474 self.index += 1;1538 self.index += 1;
1475 break;
1476 },1539 },
1477 else => {1540 else => {
1478 id = .equal;1541 id = .equal;
1479 break;
1480 },1542 },
1481 },1543 }
1482 .bang => switch (c) {1544 },
1545 .bang => {
1546 self.index += 1;
1547 switch (self.buf[self.index]) {
1483 '=' => {1548 '=' => {
1484 id = .bang_equal;1549 id = .bang_equal;
1485 self.index += 1;1550 self.index += 1;
1486 break;
1487 },1551 },
1488 else => {1552 else => {
1489 id = .bang;1553 id = .bang;
1490 break;
1491 },1554 },
1492 },1555 }
1493 .pipe => switch (c) {1556 },
1557 .pipe => {
1558 self.index += 1;
1559 switch (self.buf[self.index]) {
1494 '=' => {1560 '=' => {
1495 id = .pipe_equal;1561 id = .pipe_equal;
1496 self.index += 1;1562 self.index += 1;
1497 break;
1498 },1563 },
1499 '|' => {1564 '|' => {
1500 id = .pipe_pipe;1565 id = .pipe_pipe;
1501 self.index += 1;1566 self.index += 1;
1502 break;
1503 },1567 },
1504 else => {1568 else => {
1505 id = .pipe;1569 id = .pipe;
1506 break;
1507 },1570 },
1508 },1571 }
1509 .colon => switch (c) {1572 },
1573 .colon => {
1574 self.index += 1;
1575 switch (self.buf[self.index]) {
1510 '>' => {1576 '>' => {
1511 if (self.langopts.hasDigraphs()) {1577 if (self.langopts.hasDigraphs()) {
1512 id = .r_bracket;1578 id = .r_bracket;
...@@ -1514,28 +1580,22 @@ pub fn next(self: *Tokenizer) Token {...@@ -1514,28 +1580,22 @@ pub fn next(self: *Tokenizer) Token {
1514 } else {1580 } else {
1515 id = .colon;1581 id = .colon;
1516 }1582 }
1517 break;
1518 },1583 },
1519 ':' => {1584 ':' => {
1520 if (self.langopts.standard.atLeast(.c23)) {1585 id = .colon_colon;
1521 id = .colon_colon;1586 self.index += 1;
1522 self.index += 1;
1523 break;
1524 } else {
1525 id = .colon;
1526 break;
1527 }
1528 },1587 },
1529 else => {1588 else => {
1530 id = .colon;1589 id = .colon;
1531 break;
1532 },1590 },
1533 },1591 }
1534 .percent => switch (c) {1592 },
1593 .percent => {
1594 self.index += 1;
1595 switch (self.buf[self.index]) {
1535 '=' => {1596 '=' => {
1536 id = .percent_equal;1597 id = .percent_equal;
1537 self.index += 1;1598 self.index += 1;
1538 break;
1539 },1599 },
1540 '>' => {1600 '>' => {
1541 if (self.langopts.hasDigraphs()) {1601 if (self.langopts.hasDigraphs()) {
...@@ -1544,54 +1604,54 @@ pub fn next(self: *Tokenizer) Token {...@@ -1544,54 +1604,54 @@ pub fn next(self: *Tokenizer) Token {
1544 } else {1604 } else {
1545 id = .percent;1605 id = .percent;
1546 }1606 }
1547 break;
1548 },1607 },
1549 ':' => {1608 ':' => {
1550 if (self.langopts.hasDigraphs()) {1609 if (self.langopts.hasDigraphs()) {
1551 state = .hash_digraph;1610 continue :loop .hash_digraph;
1552 } else {1611 } else {
1553 id = .percent;1612 id = .percent;
1554 break;
1555 }1613 }
1556 },1614 },
1557 else => {1615 else => {
1558 id = .percent;1616 id = .percent;
1559 break;
1560 },1617 },
1561 },1618 }
1562 .asterisk => switch (c) {1619 },
1620 .asterisk => {
1621 self.index += 1;
1622 switch (self.buf[self.index]) {
1563 '=' => {1623 '=' => {
1564 id = .asterisk_equal;1624 id = .asterisk_equal;
1565 self.index += 1;1625 self.index += 1;
1566 break;
1567 },1626 },
1568 else => {1627 else => {
1569 id = .asterisk;1628 id = .asterisk;
1570 break;
1571 },1629 },
1572 },1630 }
1573 .plus => switch (c) {1631 },
1632 .plus => {
1633 self.index += 1;
1634 switch (self.buf[self.index]) {
1574 '=' => {1635 '=' => {
1575 id = .plus_equal;1636 id = .plus_equal;
1576 self.index += 1;1637 self.index += 1;
1577 break;
1578 },1638 },
1579 '+' => {1639 '+' => {
1580 id = .plus_plus;1640 id = .plus_plus;
1581 self.index += 1;1641 self.index += 1;
1582 break;
1583 },1642 },
1584 else => {1643 else => {
1585 id = .plus;1644 id = .plus;
1586 break;
1587 },1645 },
1588 },1646 }
1589 .angle_bracket_left => switch (c) {1647 },
1590 '<' => state = .angle_bracket_angle_bracket_left,1648 .angle_bracket_left => {
1649 self.index += 1;
1650 switch (self.buf[self.index]) {
1651 '<' => continue :loop .angle_bracket_angle_bracket_left,
1591 '=' => {1652 '=' => {
1592 id = .angle_bracket_left_equal;1653 id = .angle_bracket_left_equal;
1593 self.index += 1;1654 self.index += 1;
1594 break;
1595 },1655 },
1596 ':' => {1656 ':' => {
1597 if (self.langopts.hasDigraphs()) {1657 if (self.langopts.hasDigraphs()) {
...@@ -1600,7 +1660,6 @@ pub fn next(self: *Tokenizer) Token {...@@ -1600,7 +1660,6 @@ pub fn next(self: *Tokenizer) Token {
1600 } else {1660 } else {
1601 id = .angle_bracket_left;1661 id = .angle_bracket_left;
1602 }1662 }
1603 break;
1604 },1663 },
1605 '%' => {1664 '%' => {
1606 if (self.langopts.hasDigraphs()) {1665 if (self.langopts.hasDigraphs()) {
...@@ -1609,209 +1668,258 @@ pub fn next(self: *Tokenizer) Token {...@@ -1609,209 +1668,258 @@ pub fn next(self: *Tokenizer) Token {
1609 } else {1668 } else {
1610 id = .angle_bracket_left;1669 id = .angle_bracket_left;
1611 }1670 }
1612 break;
1613 },1671 },
1614 else => {1672 else => {
1615 id = .angle_bracket_left;1673 id = .angle_bracket_left;
1616 break;
1617 },1674 },
1618 },1675 }
1619 .angle_bracket_angle_bracket_left => switch (c) {1676 },
1677 .angle_bracket_angle_bracket_left => {
1678 self.index += 1;
1679 switch (self.buf[self.index]) {
1620 '=' => {1680 '=' => {
1621 id = .angle_bracket_angle_bracket_left_equal;1681 id = .angle_bracket_angle_bracket_left_equal;
1622 self.index += 1;1682 self.index += 1;
1623 break;
1624 },1683 },
1625 else => {1684 else => {
1626 id = .angle_bracket_angle_bracket_left;1685 id = .angle_bracket_angle_bracket_left;
1627 break;
1628 },1686 },
1629 },1687 }
1630 .angle_bracket_right => switch (c) {1688 },
1631 '>' => state = .angle_bracket_angle_bracket_right,1689 .angle_bracket_right => {
1690 self.index += 1;
1691 switch (self.buf[self.index]) {
1692 '>' => continue :loop .angle_bracket_angle_bracket_right,
1632 '=' => {1693 '=' => {
1633 id = .angle_bracket_right_equal;1694 id = .angle_bracket_right_equal;
1634 self.index += 1;1695 self.index += 1;
1635 break;
1636 },1696 },
1637 else => {1697 else => {
1638 id = .angle_bracket_right;1698 id = .angle_bracket_right;
1639 break;
1640 },1699 },
1641 },1700 }
1642 .angle_bracket_angle_bracket_right => switch (c) {1701 },
1702 .angle_bracket_angle_bracket_right => {
1703 self.index += 1;
1704 switch (self.buf[self.index]) {
1643 '=' => {1705 '=' => {
1644 id = .angle_bracket_angle_bracket_right_equal;1706 id = .angle_bracket_angle_bracket_right_equal;
1645 self.index += 1;1707 self.index += 1;
1646 break;
1647 },1708 },
1648 else => {1709 else => {
1649 id = .angle_bracket_angle_bracket_right;1710 id = .angle_bracket_angle_bracket_right;
1650 break;
1651 },1711 },
1652 },1712 }
1653 .caret => switch (c) {1713 },
1714 .caret => {
1715 self.index += 1;
1716 switch (self.buf[self.index]) {
1654 '=' => {1717 '=' => {
1655 id = .caret_equal;1718 id = .caret_equal;
1656 self.index += 1;1719 self.index += 1;
1657 break;
1658 },1720 },
1659 else => {1721 else => {
1660 id = .caret;1722 id = .caret;
1661 break;
1662 },1723 },
1663 },1724 }
1664 .period => switch (c) {1725 },
1665 '.' => state = .period2,1726 .period => {
1666 '0'...'9' => state = .pp_num,1727 self.index += 1;
1728 switch (self.buf[self.index]) {
1729 '.' => continue :loop .period2,
1730 '0'...'9' => continue :loop .pp_num,
1667 else => {1731 else => {
1668 id = .period;1732 id = .period;
1669 break;
1670 },1733 },
1671 },1734 }
1672 .period2 => switch (c) {1735 },
1736 .period2 => {
1737 self.index += 1;
1738 switch (self.buf[self.index]) {
1673 '.' => {1739 '.' => {
1674 id = .ellipsis;1740 id = .ellipsis;
1675 self.index += 1;1741 self.index += 1;
1676 break;
1677 },1742 },
1678 else => {1743 else => {
1679 id = .period;1744 id = .period;
1680 self.index -= 1;1745 self.index -= 1;
1681 break;
1682 },1746 },
1683 },1747 }
1684 .minus => switch (c) {1748 },
1749 .minus => {
1750 self.index += 1;
1751 switch (self.buf[self.index]) {
1685 '>' => {1752 '>' => {
1686 id = .arrow;1753 id = .arrow;
1687 self.index += 1;1754 self.index += 1;
1688 break;
1689 },1755 },
1690 '=' => {1756 '=' => {
1691 id = .minus_equal;1757 id = .minus_equal;
1692 self.index += 1;1758 self.index += 1;
1693 break;
1694 },1759 },
1695 '-' => {1760 '-' => {
1696 id = .minus_minus;1761 id = .minus_minus;
1697 self.index += 1;1762 self.index += 1;
1698 break;
1699 },1763 },
1700 else => {1764 else => {
1701 id = .minus;1765 id = .minus;
1702 break;
1703 },1766 },
1704 },1767 }
1705 .ampersand => switch (c) {1768 },
1769 .ampersand => {
1770 self.index += 1;
1771 switch (self.buf[self.index]) {
1706 '&' => {1772 '&' => {
1707 id = .ampersand_ampersand;1773 id = .ampersand_ampersand;
1708 self.index += 1;1774 self.index += 1;
1709 break;
1710 },1775 },
1711 '=' => {1776 '=' => {
1712 id = .ampersand_equal;1777 id = .ampersand_equal;
1713 self.index += 1;1778 self.index += 1;
1714 break;
1715 },1779 },
1716 else => {1780 else => {
1717 id = .ampersand;1781 id = .ampersand;
1718 break;
1719 },1782 },
1720 },1783 }
1721 .hash => switch (c) {1784 },
1785 .hash => {
1786 self.index += 1;
1787 switch (self.buf[self.index]) {
1722 '#' => {1788 '#' => {
1723 id = .hash_hash;1789 id = .hash_hash;
1724 self.index += 1;1790 self.index += 1;
1725 break;
1726 },1791 },
1727 else => {1792 else => {
1728 id = .hash;1793 id = .hash;
1729 break;
1730 },1794 },
1731 },1795 }
1732 .hash_digraph => switch (c) {1796 },
1733 '%' => state = .hash_hash_digraph_partial,1797 .hash_digraph => {
1798 self.index += 1;
1799 switch (self.buf[self.index]) {
1800 '%' => continue :loop .hash_hash_digraph_partial,
1734 else => {1801 else => {
1735 id = .hash;1802 id = .hash;
1736 break;
1737 },1803 },
1738 },1804 }
1739 .hash_hash_digraph_partial => switch (c) {1805 },
1806 .hash_hash_digraph_partial => {
1807 self.index += 1;
1808 switch (self.buf[self.index]) {
1740 ':' => {1809 ':' => {
1741 id = .hash_hash;1810 id = .hash_hash;
1742 self.index += 1;1811 self.index += 1;
1743 break;
1744 },1812 },
1745 else => {1813 else => {
1746 id = .hash;1814 id = .hash;
1747 self.index -= 1; // re-tokenize the percent1815 self.index -= 1; // re-tokenize the percent
1748 break;
1749 },1816 },
1750 },1817 }
1751 .slash => switch (c) {1818 },
1752 '/' => state = .line_comment,1819 .slash => {
1753 '*' => state = .multi_line_comment,1820 self.index += 1;
1821 switch (self.buf[self.index]) {
1822 '/' => continue :loop .line_comment,
1823 '*' => continue :loop .multi_line_comment,
1754 '=' => {1824 '=' => {
1755 id = .slash_equal;1825 id = .slash_equal;
1756 self.index += 1;1826 self.index += 1;
1757 break;
1758 },1827 },
1759 else => {1828 else => {
1760 id = .slash;1829 id = .slash;
1761 break;
1762 },1830 },
1763 },1831 }
1764 .line_comment => switch (c) {1832 },
1833 .line_comment => {
1834 self.index += 1;
1835 switch (self.buf[self.index]) {
1836 0 => {
1837 if (self.index == self.buf.len) {
1838 if (self.langopts.preserve_comments) {
1839 id = .comment;
1840 } else {
1841 continue :loop .start;
1842 }
1843 } else {
1844 continue :loop .line_comment;
1845 }
1846 },
1765 '\n' => {1847 '\n' => {
1766 if (self.langopts.preserve_comments) {1848 if (self.langopts.preserve_comments) {
1767 id = .comment;1849 id = .comment;
1768 break;1850 } else {
1851 continue :loop .start;
1852 }
1853 },
1854 else => continue :loop .line_comment,
1855 }
1856 },
1857 .multi_line_comment => {
1858 self.index += 1;
1859 switch (self.buf[self.index]) {
1860 0 => {
1861 if (self.index == self.buf.len) {
1862 id = .unterminated_comment;
1863 } else {
1864 continue :loop .multi_line_comment;
1865 }
1866 },
1867 '*' => continue :loop .multi_line_comment_asterisk,
1868 '\n' => {
1869 self.line += 1;
1870 continue :loop .multi_line_comment;
1871 },
1872 else => continue :loop .multi_line_comment,
1873 }
1874 },
1875 .multi_line_comment_asterisk => {
1876 self.index += 1;
1877 switch (self.buf[self.index]) {
1878 0 => {
1879 if (self.index == self.buf.len) {
1880 id = .unterminated_comment;
1881 } else {
1882 continue :loop .multi_line_comment;
1769 }1883 }
1770 self.index -= 1;
1771 state = .start;
1772 },1884 },
1773 else => {},
1774 },
1775 .multi_line_comment => switch (c) {
1776 '*' => state = .multi_line_comment_asterisk,
1777 '\n' => self.line += 1,
1778 else => {},
1779 },
1780 .multi_line_comment_asterisk => switch (c) {
1781 '/' => {1885 '/' => {
1782 if (self.langopts.preserve_comments) {1886 if (self.langopts.preserve_comments) {
1783 self.index += 1;1887 self.index += 1;
1784 id = .comment;1888 id = .comment;
1785 break;1889 } else {
1890 continue :loop .multi_line_comment_done;
1786 }1891 }
1787 state = .multi_line_comment_done;
1788 },1892 },
1789 '\n' => {1893 '\n' => {
1790 self.line += 1;1894 self.line += 1;
1791 state = .multi_line_comment;1895 continue :loop .multi_line_comment;
1792 },1896 },
1793 '*' => {},1897 '*' => continue :loop .multi_line_comment_asterisk,
1794 else => state = .multi_line_comment,1898 else => continue :loop .multi_line_comment,
1795 },1899 }
1796 .multi_line_comment_done => switch (c) {1900 },
1901 .multi_line_comment_done => {
1902 self.index += 1;
1903 switch (self.buf[self.index]) {
1797 '\n' => {1904 '\n' => {
1798 start = self.index;1905 start = self.index;
1799 id = .nl;1906 id = .nl;
1800 self.index += 1;1907 self.index += 1;
1801 self.line += 1;1908 self.line += 1;
1802 break;
1803 },1909 },
1804 '\r' => unreachable,1910 '\r' => unreachable,
1805 '\t', '\x0B', '\x0C', ' ' => {1911 '\t', '\x0B', '\x0C', ' ' => {
1806 start = self.index;1912 start = self.index;
1807 state = .whitespace;1913 continue :loop .whitespace;
1808 },1914 },
1809 else => {1915 else => {
1810 id = .whitespace;1916 id = .whitespace;
1811 break;
1812 },1917 },
1813 },1918 }
1814 .pp_num => switch (c) {1919 },
1920 .pp_num => {
1921 self.index += 1;
1922 switch (self.buf[self.index]) {
1815 'a'...'d',1923 'a'...'d',
1816 'A'...'D',1924 'A'...'D',
1817 'f'...'o',1925 'f'...'o',
...@@ -1821,20 +1929,21 @@ pub fn next(self: *Tokenizer) Token {...@@ -1821,20 +1929,21 @@ pub fn next(self: *Tokenizer) Token {
1821 '0'...'9',1929 '0'...'9',
1822 '_',1930 '_',
1823 '.',1931 '.',
1824 => {},1932 => continue :loop .pp_num,
1825 'e', 'E', 'p', 'P' => state = .pp_num_exponent,1933 'e', 'E', 'p', 'P' => continue :loop .pp_num_exponent,
1826 '\'' => if (self.langopts.standard.atLeast(.c23)) {1934 '\'' => if (self.langopts.standard.atLeast(.c23)) {
1827 state = .pp_num_digit_separator;1935 continue :loop .pp_num_digit_separator;
1828 } else {1936 } else {
1829 id = .pp_num;1937 id = .pp_num;
1830 break;
1831 },1938 },
1832 else => {1939 else => {
1833 id = .pp_num;1940 id = .pp_num;
1834 break;
1835 },1941 },
1836 },1942 }
1837 .pp_num_digit_separator => switch (c) {1943 },
1944 .pp_num_digit_separator => {
1945 self.index += 1;
1946 switch (self.buf[self.index]) {
1838 'a'...'d',1947 'a'...'d',
1839 'A'...'D',1948 'A'...'D',
1840 'f'...'o',1949 'f'...'o',
...@@ -1843,14 +1952,16 @@ pub fn next(self: *Tokenizer) Token {...@@ -1843,14 +1952,16 @@ pub fn next(self: *Tokenizer) Token {
1843 'Q'...'Z',1952 'Q'...'Z',
1844 '0'...'9',1953 '0'...'9',
1845 '_',1954 '_',
1846 => state = .pp_num,1955 => continue :loop .pp_num,
1847 else => {1956 else => {
1848 self.index -= 1;1957 self.index -= 1;
1849 id = .pp_num;1958 id = .pp_num;
1850 break;
1851 },1959 },
1852 },1960 }
1853 .pp_num_exponent => switch (c) {1961 },
1962 .pp_num_exponent => {
1963 self.index += 1;
1964 switch (self.buf[self.index]) {
1854 'a'...'o',1965 'a'...'o',
1855 'q'...'z',1966 'q'...'z',
1856 'A'...'O',1967 'A'...'O',
...@@ -1860,62 +1971,13 @@ pub fn next(self: *Tokenizer) Token {...@@ -1860,62 +1971,13 @@ pub fn next(self: *Tokenizer) Token {
1860 '.',1971 '.',
1861 '+',1972 '+',
1862 '-',1973 '-',
1863 => state = .pp_num,1974 => continue :loop .pp_num,
1864 'p', 'P' => {},1975 'p', 'P' => continue :loop .pp_num_exponent,
1865 else => {1976 else => {
1866 id = .pp_num;1977 id = .pp_num;
1867 break;
1868 },1978 },
1869 },1979 }
1870 }1980 },
1871 } else if (self.index == self.buf.len) {
1872 switch (state) {
1873 .start => {},
1874 .line_comment => if (self.langopts.preserve_comments) {
1875 id = .comment;
1876 },
1877 .u, .u8, .U, .L, .identifier => id = Token.getTokenId(self.langopts, self.buf[start..self.index]),
1878 .extended_identifier => id = .extended_identifier,
1879
1880 .period2 => {
1881 self.index -= 1;
1882 id = .period;
1883 },
1884
1885 .multi_line_comment,
1886 .multi_line_comment_asterisk,
1887 => id = .unterminated_comment,
1888
1889 .char_escape_sequence, .char_literal, .char_literal_start => id = .unterminated_char_literal,
1890 .string_escape_sequence, .string_literal => id = .unterminated_string_literal,
1891
1892 .whitespace => id = .whitespace,
1893 .multi_line_comment_done => id = .whitespace,
1894
1895 .equal => id = .equal,
1896 .bang => id = .bang,
1897 .minus => id = .minus,
1898 .slash => id = .slash,
1899 .ampersand => id = .ampersand,
1900 .hash => id = .hash,
1901 .period => id = .period,
1902 .pipe => id = .pipe,
1903 .angle_bracket_angle_bracket_right => id = .angle_bracket_angle_bracket_right,
1904 .angle_bracket_right => id = .angle_bracket_right,
1905 .angle_bracket_angle_bracket_left => id = .angle_bracket_angle_bracket_left,
1906 .angle_bracket_left => id = .angle_bracket_left,
1907 .plus => id = .plus,
1908 .colon => id = .colon,
1909 .percent => id = .percent,
1910 .caret => id = .caret,
1911 .asterisk => id = .asterisk,
1912 .hash_digraph => id = .hash,
1913 .hash_hash_digraph_partial => {
1914 id = .hash;
1915 self.index -= 1; // re-tokenize the percent
1916 },
1917 .pp_num, .pp_num_exponent, .pp_num_digit_separator => id = .pp_num,
1918 }
1919 }1981 }
19201982
1921 for (self.splice_locs[self.splice_index..]) |splice_offset| {1983 for (self.splice_locs[self.splice_index..]) |splice_offset| {
...@@ -1945,14 +2007,11 @@ pub fn nextNoWSComments(self: *Tokenizer) Token {...@@ -1945,14 +2007,11 @@ pub fn nextNoWSComments(self: *Tokenizer) Token {
1945 return tok;2007 return tok;
1946}2008}
19472009
1948/// Try to tokenize a '::' even if not supported by the current language standard.2010test "escaped literals at eof or with embedded NUL byte" {
1949pub fn colonColon(self: *Tokenizer) Token {2011 try expectTokens("'\\", &.{.unterminated_char_literal});
1950 var tok = self.nextNoWS();2012 try expectTokens("\"\\", &.{.unterminated_string_literal});
1951 if (tok.id == .colon and self.index < self.buf.len and self.buf[self.index] == ':') {2013 try expectTokens("'\\\x00", &.{.unterminated_char_literal});
1952 self.index += 1;2014 try expectTokens("\"\\\x00", &.{.unterminated_string_literal});
1953 tok.id = .colon_colon;
1954 }
1955 return tok;
1956}2015}
19572016
1958test "operators" {2017test "operators" {
...@@ -2031,7 +2090,7 @@ test "keywords" {...@@ -2031,7 +2090,7 @@ test "keywords" {
2031 \\long register return short signed sizeof static2090 \\long register return short signed sizeof static
2032 \\struct switch typedef union unsigned void volatile2091 \\struct switch typedef union unsigned void volatile
2033 \\while _Bool _Complex _Imaginary inline restrict _Alignas2092 \\while _Bool _Complex _Imaginary inline restrict _Alignas
2034 \\_Alignof _Atomic _Generic _Noreturn _Static_assert _Thread_local2093 \\_Alignof _Atomic _Generic _Noreturn _Static_assert _Thread_local __thread
2035 \\__attribute __attribute__2094 \\__attribute __attribute__
2036 \\2095 \\
2037 , &.{2096 , &.{
...@@ -2085,6 +2144,7 @@ test "keywords" {...@@ -2085,6 +2144,7 @@ test "keywords" {
2085 .keyword_noreturn,2144 .keyword_noreturn,
2086 .keyword_static_assert,2145 .keyword_static_assert,
2087 .keyword_thread_local,2146 .keyword_thread_local,
2147 .keyword_thread,
2088 .nl,2148 .nl,
2089 .keyword_attribute1,2149 .keyword_attribute1,
2090 .keyword_attribute2,2150 .keyword_attribute2,
...@@ -2307,6 +2367,11 @@ test "C23 keywords" {...@@ -2307,6 +2367,11 @@ test "C23 keywords" {
2307 }, .{ .standard = .c23 });2367 }, .{ .standard = .c23 });
2308}2368}
23092369
2370test "GCC integer keywords" {
2371 try expectTokens("__int24", &.{.identifier});
2372 try expectTokensExtra("__int24", &.{.keyword_int24}, .{ .has_int24 = true });
2373}
2374
2310test "Universal character names" {2375test "Universal character names" {
2311 try expectTokens("\\", &.{.invalid});2376 try expectTokens("\\", &.{.invalid});
2312 try expectTokens("\\g", &.{ .invalid, .identifier });2377 try expectTokens("\\g", &.{ .invalid, .identifier });
...@@ -2344,7 +2409,7 @@ test "Universal character names" {...@@ -2344,7 +2409,7 @@ test "Universal character names" {
2344test "Tokenizer fuzz test" {2409test "Tokenizer fuzz test" {
2345 const Context = struct {2410 const Context = struct {
2346 fn testOne(_: @This(), smith: *std.testing.Smith) anyerror!void {2411 fn testOne(_: @This(), smith: *std.testing.Smith) anyerror!void {
2347 var comp = try Compilation.init(.testing);2412 var comp = try Compilation.init(.fuzzing);
2348 defer comp.deinit();2413 defer comp.deinit();
23492414
2350 var buf: [256]u8 = undefined;2415 var buf: [256]u8 = undefined;
...@@ -2388,7 +2453,7 @@ fn expectTokensExtra(contents: []const u8, expected_tokens: []const Token.Id, la...@@ -2388,7 +2453,7 @@ fn expectTokensExtra(contents: []const u8, expected_tokens: []const Token.Id, la
2388 const expected_token_id = expected_tokens[i];2453 const expected_token_id = expected_tokens[i];
2389 i += 1;2454 i += 1;
2390 if (!std.meta.eql(token.id, expected_token_id)) {2455 if (!std.meta.eql(token.id, expected_token_id)) {
2391 std.debug.print("expected {s}, found {s}\n", .{ @tagName(expected_token_id), @tagName(token.id) });2456 std.debug.print("expected {t}, found {t}\n", .{ expected_token_id, token.id });
2392 return error.TokensDoNotEqual;2457 return error.TokensDoNotEqual;
2393 }2458 }
2394 }2459 }
lib/compiler/aro/aro/Tokenizer/number_literal.zig created+546
...@@ -0,0 +1,546 @@
1const std = @import("std");
2const assert = std.debug.assert;
3const mem = std.mem;
4
5const Compilation = @import("../Compilation.zig");
6const Diagnostics = @import("../Diagnostics.zig");
7const text_literal = @import("text_literal.zig");
8const Source = @import("../Source.zig");
9
10pub const Prefix = enum(u8) {
11 binary = 2,
12 octal = 8,
13 decimal = 10,
14 hex = 16,
15
16 pub fn digitAllowed(prefix: Prefix, c: u8) bool {
17 return switch (c) {
18 '0', '1' => true,
19 '2'...'7' => prefix != .binary,
20 '8'...'9' => prefix == .decimal or prefix == .hex,
21 'a'...'f', 'A'...'F' => prefix == .hex,
22 else => false,
23 };
24 }
25
26 pub fn fromString(buf: []const u8, allow_msvc_extensions: bool) Prefix {
27 if (buf.len == 1) return .decimal;
28 // tokenizer enforces that first byte is a decimal digit or period
29 switch (buf[0]) {
30 '.', '1'...'9' => return .decimal,
31 '0' => {},
32 else => unreachable,
33 }
34 switch (buf[1]) {
35 'x', 'X' => return if (buf.len == 2) .decimal else .hex,
36 'b', 'B' => return if (buf.len == 2) .decimal else .binary,
37 else => {
38 if (mem.findAny(u8, buf, "eE.")) |_| {
39 // This is a decimal floating point number that happens to start with zero
40 return .decimal;
41 } else if (Suffix.fromString(buf[1..], .int, allow_msvc_extensions)) |_| {
42 // This is `0` with a valid suffix
43 return .decimal;
44 } else {
45 return .octal;
46 }
47 },
48 }
49 }
50
51 /// Length of this prefix as a string
52 pub fn stringLen(prefix: Prefix) usize {
53 return switch (prefix) {
54 .binary => 2,
55 .octal => 1,
56 .decimal => 0,
57 .hex => 2,
58 };
59 }
60};
61
62pub const Suffix = enum {
63 // zig fmt: off
64
65 // int and imaginary int
66 None, I,
67
68 // unsigned real integers
69 U, UL, ULL,
70
71 // unsigned imaginary integers
72 IU, IUL, IULL,
73
74 // long or long double, real and imaginary
75 L, IL,
76
77 // long long and imaginary long long
78 LL, ILL,
79
80 // float and imaginary float
81 F, IF,
82
83 // _Float16 and imaginary _Float16
84 F16, IF16,
85
86 // __float80
87 W,
88
89 // Imaginary __float80
90 IW,
91
92 // _Float128
93 Q, F128,
94
95 // Imaginary _Float128
96 IQ, IF128,
97
98 // Imaginary _Bitint
99 IWB, IUWB,
100
101 // _Bitint
102 WB, UWB,
103
104 // __bf16
105 BF16,
106
107 // _Float32 and imaginary _Float32
108 F32, IF32,
109
110 // _Float64 and imaginary _Float64
111 F64, IF64,
112
113 // _Float32x and imaginary _Float32x
114 F32x, IF32x,
115
116 // _Float64x and imaginary _Float64x
117 F64x, IF64x,
118
119 // _Decimal32
120 D32,
121
122 // _Decimal64
123 D64,
124
125 // _Decimal128
126 D128,
127
128 // _Decimal64x
129 D64x,
130
131 // MSVC extensions
132 I8,
133 UI8,
134 I16,
135 UI16,
136 I32,
137 UI32,
138 I64,
139 UI64,
140
141 // zig fmt: on
142
143 const Tuple = struct { Suffix, []const []const u8 };
144
145 const IntSuffixes = &[_]Tuple{
146 .{ .U, &.{"U"} },
147 .{ .L, &.{"L"} },
148 .{ .WB, &.{"WB"} },
149 .{ .UL, &.{ "U", "L" } },
150 .{ .UWB, &.{ "U", "WB" } },
151 .{ .LL, &.{"LL"} },
152 .{ .ULL, &.{ "U", "LL" } },
153
154 .{ .I8, &.{"I8"} },
155 .{ .UI8, &.{"UI8"} },
156 .{ .I16, &.{"I16"} },
157 .{ .UI16, &.{"UI16"} },
158 .{ .I32, &.{"I32"} },
159 .{ .UI32, &.{"UI32"} },
160 .{ .I64, &.{"I64"} },
161 .{ .UI64, &.{"UI64"} },
162
163 .{ .I, &.{"I"} },
164
165 .{ .IWB, &.{ "I", "WB" } },
166 .{ .IU, &.{ "I", "U" } },
167 .{ .IL, &.{ "I", "L" } },
168 .{ .IUL, &.{ "I", "U", "L" } },
169 .{ .IUWB, &.{ "I", "U", "WB" } },
170 .{ .ILL, &.{ "I", "LL" } },
171 .{ .IULL, &.{ "I", "U", "LL" } },
172 };
173
174 const FloatSuffixes = &[_]Tuple{
175 .{ .F16, &.{"F16"} },
176 .{ .F, &.{"F"} },
177 .{ .L, &.{"L"} },
178 .{ .W, &.{"W"} },
179 .{ .F128, &.{"F128"} },
180 .{ .Q, &.{"Q"} },
181 .{ .BF16, &.{"BF16"} },
182 .{ .F32, &.{"F32"} },
183 .{ .F64, &.{"F64"} },
184 .{ .F32x, &.{"F32x"} },
185 .{ .F64x, &.{"F64x"} },
186 .{ .D32, &.{"D32"} },
187 .{ .D64, &.{"D64"} },
188 .{ .D128, &.{"D128"} },
189 .{ .D64x, &.{"D64x"} },
190
191 .{ .I, &.{"I"} },
192 .{ .IL, &.{ "I", "L" } },
193 .{ .IF16, &.{ "I", "F16" } },
194 .{ .IF, &.{ "I", "F" } },
195 .{ .IW, &.{ "I", "W" } },
196 .{ .IF128, &.{ "I", "F128" } },
197 .{ .IQ, &.{ "I", "Q" } },
198 .{ .IF32, &.{ "I", "F32" } },
199 .{ .IF64, &.{ "I", "F64" } },
200 .{ .IF32x, &.{ "I", "F32x" } },
201 .{ .IF64x, &.{ "I", "F64x" } },
202 };
203
204 pub fn fromString(buf: []const u8, suffix_kind: enum { int, float }, allow_msvc_extensions: bool) ?Suffix {
205 if (buf.len == 0) return .None;
206
207 const suffixes = switch (suffix_kind) {
208 .float => FloatSuffixes,
209 .int => IntSuffixes,
210 };
211 var scratch: [4]u8 = undefined;
212 top: for (suffixes) |candidate| {
213 const tag = candidate[0];
214 const parts = candidate[1];
215 var len: usize = 0;
216 for (parts) |part| len += part.len;
217 if (len != buf.len) continue;
218
219 for (parts) |part| {
220 const lower = std.ascii.lowerString(&scratch, part);
221 if (mem.find(u8, buf, part) == null and mem.find(u8, buf, lower) == null) continue :top;
222 }
223 if (tag.isMSVCExtension() and !allow_msvc_extensions) continue;
224 return tag;
225 }
226 return null;
227 }
228
229 pub fn isImaginary(suffix: Suffix) bool {
230 return switch (suffix) {
231 .I, .IL, .IF, .IU, .IUL, .ILL, .IULL, .IWB, .IUWB, .IF128, .IQ, .IW, .IF16, .IF32, .IF64, .IF32x, .IF64x => true,
232 .None, .L, .F16, .F, .U, .UL, .LL, .ULL, .WB, .UWB, .F128, .Q, .W, .F32, .F64, .F32x, .F64x, .D32, .D64, .D128, .D64x, .BF16, .I8, .UI8, .I16, .UI16, .I32, .UI32, .I64, .UI64 => false,
233 };
234 }
235
236 pub fn isSignedInteger(suffix: Suffix) bool {
237 return switch (suffix) {
238 .None, .L, .LL, .I, .IL, .ILL, .WB, .IWB, .I8, .I16, .I32, .I64 => true,
239 .U, .UL, .ULL, .IU, .IUL, .IULL, .UWB, .IUWB, .UI8, .UI16, .UI32, .UI64 => false,
240 .F, .IF, .F16, .F128, .IF128, .Q, .IQ, .W, .IW, .IF16, .F32, .IF32, .F64, .IF64, .F32x, .IF32x, .F64x, .IF64x, .D32, .D64, .D128, .D64x, .BF16 => unreachable,
241 };
242 }
243
244 pub fn signedness(suffix: Suffix) std.builtin.Signedness {
245 return if (suffix.isSignedInteger()) .signed else .unsigned;
246 }
247
248 pub fn isBitInt(suffix: Suffix) bool {
249 return switch (suffix) {
250 .WB, .UWB, .IWB, .IUWB => true,
251 else => false,
252 };
253 }
254
255 pub fn isFloat80(suffix: Suffix) bool {
256 return suffix == .W or suffix == .IW;
257 }
258
259 pub fn isMSVCExtension(suffix: Suffix) bool {
260 return switch (suffix) {
261 .I8, .UI8, .I16, .UI16, .I32, .UI32, .I64, .UI64 => true,
262
263 .None,
264 .L,
265 .F16,
266 .F,
267 .U,
268 .UL,
269 .LL,
270 .ULL,
271 .WB,
272 .UWB,
273 .F128,
274 .Q,
275 .W,
276 .F32,
277 .F64,
278 .F32x,
279 .F64x,
280 .D32,
281 .D64,
282 .D128,
283 .D64x,
284 .BF16,
285 .I,
286 .IU,
287 .IUL,
288 .IULL,
289 .IL,
290 .ILL,
291 .IF,
292 .IF16,
293 .IW,
294 .IQ,
295 .IF128,
296 .IWB,
297 .IUWB,
298 .IF32,
299 .IF32x,
300 .IF64,
301 .IF64x,
302 => false,
303 };
304 }
305};
306
307pub const Parser = struct {
308 comp: *const Compilation,
309 literal: []const u8,
310 loc: Source.Location,
311 expansion_locs: []const Source.Location,
312
313 pub const Result = struct {
314 bytes: []const u8,
315 is_float: bool,
316 prefix: Prefix,
317 suffix: Suffix,
318 };
319
320 pub fn parse(p: *Parser) !Result {
321 const buf = p.literal;
322 const allow_fixed_size_int_suffixes = p.comp.langopts.allowFixedSizedIntSuffixes();
323 const prefix = Prefix.fromString(buf, allow_fixed_size_int_suffixes);
324 const after_prefix = buf[prefix.stringLen()..];
325
326 const int_part = try p.getIntegerPart(after_prefix, prefix);
327 const after_int = after_prefix[int_part.len..];
328
329 const frac = try p.getFracPart(after_int, prefix);
330 const after_frac = after_int[frac.len..];
331
332 const exponent = try p.getExponent(after_frac, prefix);
333 const suffix_str = after_frac[exponent.len..];
334
335 const is_float = (exponent.len > 0 or frac.len > 0);
336 const suffix = Suffix.fromString(suffix_str, if (is_float) .float else .int, allow_fixed_size_int_suffixes) orelse {
337 if (is_float) {
338 try p.err(.invalid_float_suffix, .{suffix_str});
339 } else {
340 try p.err(.invalid_int_suffix, .{suffix_str});
341 }
342 return error.ParsingFailed;
343 };
344 if (suffix.isFloat80() and p.comp.float80Type() == null) {
345 try p.err(.invalid_float_suffix, .{suffix_str});
346 return error.ParsingFailed;
347 }
348
349 if (is_float) {
350 assert(prefix == .hex or prefix == .decimal);
351 if (prefix == .hex and exponent.len == 0) {
352 try p.err(.hex_floating_constant_requires_exponent, .{});
353 return error.ParsingFailed;
354 }
355 return .{
356 .bytes = buf[0 .. buf.len - suffix_str.len],
357 .is_float = true,
358 .prefix = prefix,
359 .suffix = suffix,
360 };
361 } else {
362 if (prefix == .binary and !p.comp.langopts.standard.atLeast(.c23)) {
363 try p.err(.binary_integer_literal, .{});
364 }
365 if (suffix.isBitInt()) {
366 if (p.comp.langopts.standard.atLeast(.c23)) {
367 try p.err(.pre_c23_bitint, .{});
368 } else {
369 try p.err(.bitint_suffix, .{});
370 }
371 }
372 return .{
373 .bytes = int_part,
374 .is_float = false,
375 .prefix = prefix,
376 .suffix = suffix,
377 };
378 }
379 }
380
381 const Diagnostic = struct {
382 fmt: []const u8,
383 kind: Diagnostics.Message.Kind,
384 opt: ?Diagnostics.Option = null,
385 extension: bool = false,
386
387 const invalid_binary_digit: Diagnostic = .{
388 .fmt = "invalid digit '{c}' in binary constant",
389 .kind = .@"error",
390 };
391
392 const invalid_octal_digit: Diagnostic = .{
393 .fmt = "invalid digit '{c}' in octal constant",
394 .kind = .@"error",
395 };
396
397 const invalid_int_suffix: Diagnostic = .{
398 .fmt = "invalid suffix '{s}' on integer constant",
399 .kind = .@"error",
400 };
401
402 const invalid_float_suffix: Diagnostic = .{
403 .fmt = "invalid suffix '{s}' on floating constant",
404 .kind = .@"error",
405 };
406
407 const hex_floating_constant_requires_exponent: Diagnostic = .{
408 .fmt = "hexadecimal floating constant requires an exponent",
409 .kind = .@"error",
410 };
411
412 const exponent_has_no_digits: Diagnostic = .{
413 .fmt = "exponent has no digits",
414 .kind = .@"error",
415 };
416
417 pub const binary_integer_literal: Diagnostic = .{
418 .fmt = "binary integer literals are a C23 extension",
419 .opt = .@"c23-extensions",
420 .kind = .off,
421 .extension = true,
422 };
423
424 pub const bitint_suffix: Diagnostic = .{
425 .fmt = "'_BitInt' suffix for literals is a C23 extension",
426 .opt = .@"c23-extensions",
427 .kind = .warning,
428 .extension = true,
429 };
430
431 pub const pre_c23_bitint: Diagnostic = .{
432 .fmt = "'_BitInt' suffix for literals is incompatible with C standards before C23",
433 .kind = .off,
434 .opt = .@"pre-c23-compat",
435 };
436 };
437
438 fn err(p: *Parser, diagnostic: Diagnostic, args: anytype) !void {
439 if (p.comp.diagnostics.effectiveKind(diagnostic) == .off) return;
440
441 var bfa_buf: [1024]u8 = undefined;
442 var bfa: std.heap.BufferFirstAllocator = .init(&bfa_buf, p.comp.gpa);
443 var allocating: std.Io.Writer.Allocating = .init(bfa.allocator());
444 defer allocating.deinit();
445
446 Diagnostics.formatArgs(&allocating.writer, diagnostic.fmt, args) catch return error.OutOfMemory;
447
448 try p.comp.diagnostics.addWithLocation(p.comp, .{
449 .kind = diagnostic.kind,
450 .text = allocating.written(),
451 .opt = diagnostic.opt,
452 .extension = diagnostic.extension,
453 .location = p.loc.expand(p.comp),
454 }, p.expansion_locs, true);
455 }
456
457 fn getIntegerPart(p: *Parser, buf: []const u8, prefix: Prefix) ![]const u8 {
458 if (buf[0] == '.') return "";
459
460 if (!prefix.digitAllowed(buf[0])) {
461 switch (prefix) {
462 .binary => try p.err(.invalid_binary_digit, .{text_literal.Ascii.init(buf[0])}),
463 .octal => try p.err(.invalid_octal_digit, .{text_literal.Ascii.init(buf[0])}),
464 .hex => try p.err(.invalid_int_suffix, .{buf}),
465 .decimal => unreachable,
466 }
467 return error.ParsingFailed;
468 }
469
470 for (buf, 0..) |c, idx| {
471 if (idx == 0) continue;
472 switch (c) {
473 '.' => return buf[0..idx],
474 'p', 'P' => return if (prefix == .hex) buf[0..idx] else {
475 try p.err(.invalid_int_suffix, .{buf[idx..]});
476 return error.ParsingFailed;
477 },
478 'e', 'E' => {
479 switch (prefix) {
480 .hex => continue,
481 .decimal => return buf[0..idx],
482 .binary => try p.err(.invalid_binary_digit, .{text_literal.Ascii.init(c)}),
483 .octal => try p.err(.invalid_octal_digit, .{text_literal.Ascii.init(c)}),
484 }
485 return error.ParsingFailed;
486 },
487 '0'...'9', 'a'...'d', 'A'...'D', 'f', 'F' => {
488 if (!prefix.digitAllowed(c)) {
489 switch (prefix) {
490 .binary => try p.err(.invalid_binary_digit, .{text_literal.Ascii.init(c)}),
491 .octal => try p.err(.invalid_octal_digit, .{text_literal.Ascii.init(c)}),
492 .decimal, .hex => try p.err(.invalid_int_suffix, .{buf[idx..]}),
493 }
494 return error.ParsingFailed;
495 }
496 },
497 '\'' => {},
498 else => return buf[0..idx],
499 }
500 }
501 return buf;
502 }
503
504 fn getFracPart(p: *Parser, buf: []const u8, prefix: Prefix) ![]const u8 {
505 if (buf.len == 0 or buf[0] != '.') return "";
506 assert(prefix != .octal);
507 if (prefix == .binary) {
508 try p.err(.invalid_int_suffix, .{buf});
509 return error.ParsingFailed;
510 }
511 for (buf, 0..) |c, idx| {
512 if (idx == 0) continue;
513 if (c == '\'') continue;
514 if (!prefix.digitAllowed(c)) return buf[0..idx];
515 }
516 return buf;
517 }
518
519 fn getExponent(p: *Parser, buf: []const u8, prefix: Prefix) ![]const u8 {
520 if (buf.len == 0) return "";
521
522 switch (buf[0]) {
523 'e', 'E' => assert(prefix == .decimal),
524 'p', 'P' => if (prefix != .hex) {
525 try p.err(.invalid_float_suffix, .{buf});
526 return error.ParsingFailed;
527 },
528 else => return "",
529 }
530 const end = for (buf, 0..) |c, idx| {
531 if (idx == 0) continue;
532 if (idx == 1 and (c == '+' or c == '-')) continue;
533 switch (c) {
534 '0'...'9' => {},
535 '\'' => continue,
536 else => break idx,
537 }
538 } else buf.len;
539 const exponent = buf[0..end];
540 if (std.mem.findAny(u8, exponent, "0123456789") == null) {
541 try p.err(.exponent_has_no_digits, .{});
542 return error.ParsingFailed;
543 }
544 return exponent;
545 }
546};
lib/compiler/aro/aro/Tokenizer/text_literal.zig created+621
...@@ -0,0 +1,621 @@
1//! Parsing and classification of string and character literals
2
3const std = @import("std");
4const mem = std.mem;
5
6const Compilation = @import("../Compilation.zig");
7const Diagnostics = @import("../Diagnostics.zig");
8const Tokenizer = @import("../Tokenizer.zig");
9const QualType = @import("../TypeStore.zig").QualType;
10const Source = @import("../Source.zig");
11
12pub const Item = union(enum) {
13 /// decoded hex or character escape
14 value: u32,
15 /// validated unicode codepoint
16 codepoint: u21,
17 /// Char literal in the source text is not utf8 encoded
18 improperly_encoded: []const u8,
19 /// 1 or more unescaped bytes
20 utf8_text: std.unicode.Utf8View,
21};
22
23pub const Kind = enum {
24 char,
25 wide,
26 utf_8,
27 utf_16,
28 utf_32,
29 /// Error kind that halts parsing
30 unterminated,
31
32 pub fn classify(id: Tokenizer.Token.Id, context: enum { string_literal, char_literal }) ?Kind {
33 return switch (context) {
34 .string_literal => switch (id) {
35 .string_literal => .char,
36 .string_literal_utf_8 => .utf_8,
37 .string_literal_wide => .wide,
38 .string_literal_utf_16 => .utf_16,
39 .string_literal_utf_32 => .utf_32,
40 .unterminated_string_literal => .unterminated,
41 else => null,
42 },
43 .char_literal => switch (id) {
44 .char_literal => .char,
45 .char_literal_utf_8 => .utf_8,
46 .char_literal_wide => .wide,
47 .char_literal_utf_16 => .utf_16,
48 .char_literal_utf_32 => .utf_32,
49 else => null,
50 },
51 };
52 }
53
54 /// Should only be called for string literals. Determines the result kind of two adjacent string
55 /// literals
56 pub fn concat(self: Kind, other: Kind) !Kind {
57 if (self == .unterminated or other == .unterminated) return .unterminated;
58 if (self == other) return self; // can always concat with own kind
59 if (self == .char) return other; // char + X -> X
60 if (other == .char) return self; // X + char -> X
61 return error.CannotConcat;
62 }
63
64 /// Largest unicode codepoint that can be represented by this character kind
65 /// May be smaller than the largest value that can be represented.
66 /// For example u8 char literals may only specify 0-127 via literals or
67 /// character escapes, but may specify up to \xFF via hex escapes.
68 pub fn maxCodepoint(kind: Kind, comp: *const Compilation) u21 {
69 return @intCast(switch (kind) {
70 .char => std.math.maxInt(u7),
71 .wide => @min(0x10FFFF, comp.wcharMax()),
72 .utf_8 => std.math.maxInt(u7),
73 .utf_16 => std.math.maxInt(u16),
74 .utf_32 => 0x10FFFF,
75 .unterminated => unreachable,
76 });
77 }
78
79 /// Largest integer that can be represented by this character kind
80 pub fn maxInt(kind: Kind, comp: *const Compilation) u32 {
81 return @intCast(switch (kind) {
82 .char, .utf_8 => std.math.maxInt(u8),
83 .wide => comp.wcharMax(),
84 .utf_16 => std.math.maxInt(u16),
85 .utf_32 => std.math.maxInt(u32),
86 .unterminated => unreachable,
87 });
88 }
89
90 /// The C type of a character literal of this kind
91 pub fn charLiteralType(kind: Kind, comp: *const Compilation) QualType {
92 return switch (kind) {
93 .char => .int,
94 .wide => comp.type_store.wchar,
95 .utf_8 => .uchar,
96 .utf_16 => comp.type_store.uint_least16_t,
97 .utf_32 => comp.type_store.uint_least32_t,
98 .unterminated => unreachable,
99 };
100 }
101
102 /// Return the actual contents of the literal with leading / trailing quotes and
103 /// specifiers removed
104 pub fn contentSlice(kind: Kind, delimited: []const u8) []const u8 {
105 const end = delimited.len - 1; // remove trailing quote
106 return switch (kind) {
107 .char => delimited[1..end],
108 .wide => delimited[2..end],
109 .utf_8 => delimited[3..end],
110 .utf_16 => delimited[2..end],
111 .utf_32 => delimited[2..end],
112 .unterminated => unreachable,
113 };
114 }
115
116 /// The size of a character unit for a string literal of this kind
117 pub fn charUnitSize(kind: Kind, comp: *const Compilation) Compilation.CharUnitSize {
118 return switch (kind) {
119 .char => .@"1",
120 .wide => switch (comp.type_store.wchar.sizeof(comp)) {
121 2 => .@"2",
122 4 => .@"4",
123 else => unreachable,
124 },
125 .utf_8 => .@"1",
126 .utf_16 => .@"2",
127 .utf_32 => .@"4",
128 .unterminated => unreachable,
129 };
130 }
131
132 /// Required alignment within aro (on compiler host) for writing to Interner.strings.
133 pub fn internalStorageAlignment(kind: Kind, comp: *const Compilation) usize {
134 return switch (kind.charUnitSize(comp)) {
135 inline else => |size| @alignOf(size.Type()),
136 };
137 }
138
139 /// The C type of an element of a string literal of this kind
140 pub fn elementType(kind: Kind, comp: *const Compilation) QualType {
141 return switch (kind) {
142 .unterminated => unreachable,
143 .char => .char,
144 .utf_8 => if (comp.langopts.hasChar8_T()) .uchar else .char,
145 else => kind.charLiteralType(comp),
146 };
147 }
148};
149
150pub const Ascii = struct {
151 val: u7,
152
153 pub fn init(val: anytype) Ascii {
154 return .{ .val = @intCast(val) };
155 }
156
157 pub fn format(ctx: Ascii, w: *std.Io.Writer, fmt: []const u8) !usize {
158 const i = Diagnostics.templateIndex(w, fmt, "{c}");
159 if (std.ascii.isPrint(ctx.val)) {
160 try w.writeByte(ctx.val);
161 } else {
162 try w.print("x{x:0>2}", .{ctx.val});
163 }
164 return i;
165 }
166};
167
168pub const Parser = struct {
169 comp: *const Compilation,
170 literal: []const u8,
171 i: usize = 0,
172 kind: Kind,
173 max_codepoint: u21,
174 loc: Source.Location,
175 /// Offset added to `loc.byte_offset` when emitting an error.
176 offset: u32 = 0,
177 expansion_locs: []const Source.Location,
178 /// We only want to issue a max of 1 error per char literal
179 errored: bool = false,
180 /// Makes incorrect encoding always an error.
181 /// Used when concatenating string literals.
182 incorrect_encoding_is_error: bool = false,
183 /// If this is false, do not issue any diagnostics for incorrect character encoding
184 /// Incorrect encoding is allowed if we are unescaping an identifier in the preprocessor
185 diagnose_incorrect_encoding: bool = true,
186
187 pub const Result = union(enum) {
188 unsigned: u32,
189 signed: i32,
190 };
191
192 pub fn parse(p: *Parser) !Result {
193 if (p.kind == .utf_8 and !p.comp.langopts.standard.atLeast(.c23)) {
194 try p.warn(.u8_char_lit, .{});
195 }
196 var val: u32 = 0;
197
198 const gpa = p.comp.gpa;
199 var is_multichar = false;
200 if (p.literal.len == 1 and std.ascii.isAscii(p.literal[0])) {
201 // fast path: single unescaped ASCII char
202 val = p.literal[0];
203 } else {
204 const max_chars_expected = 4;
205 var bfa_buf: [max_chars_expected]u32 = undefined;
206 var bfa: std.heap.BufferFirstAllocator = .init(@ptrCast(&bfa_buf), gpa);
207 const allocator = bfa.allocator();
208 var chars: std.ArrayList(u32) = .empty;
209 defer chars.deinit(allocator);
210
211 chars.ensureUnusedCapacity(allocator, max_chars_expected) catch unreachable; // stack allocation already succeeded
212
213 while (try p.next()) |item| switch (item) {
214 .value => |v| try chars.append(allocator, v),
215 .codepoint => |c| try chars.append(allocator, c),
216 .improperly_encoded => |s| {
217 try chars.ensureUnusedCapacity(allocator, s.len);
218 for (s) |c| chars.appendAssumeCapacity(c);
219 },
220 .utf8_text => |view| {
221 var it = view.iterator();
222 var max_codepoint_seen: u21 = 0;
223 try chars.ensureUnusedCapacity(allocator, view.bytes.len);
224 while (it.nextCodepoint()) |c| {
225 max_codepoint_seen = @max(max_codepoint_seen, c);
226 chars.appendAssumeCapacity(c);
227 }
228 if (max_codepoint_seen > p.max_codepoint) {
229 try p.err(.char_too_large, .{});
230 }
231 },
232 };
233
234 is_multichar = chars.items.len > 1;
235 if (is_multichar) {
236 if (p.kind == .char and chars.items.len == 4) {
237 try p.warn(.four_char_char_literal, .{});
238 } else if (p.kind == .char) {
239 try p.warn(.multichar_literal_warning, .{});
240 } else {
241 const kind: []const u8 = switch (p.kind) {
242 .wide => "wide",
243 .utf_8, .utf_16, .utf_32 => "Unicode",
244 else => unreachable,
245 };
246 try p.err(.invalid_multichar_literal, .{kind});
247 }
248 }
249
250 var multichar_overflow = false;
251 if (p.kind == .char and is_multichar) {
252 for (chars.items) |item| {
253 val, const overflowed = @shlWithOverflow(val, 8);
254 multichar_overflow = multichar_overflow or overflowed != 0;
255 val += @as(u8, @truncate(item));
256 }
257 } else if (chars.items.len > 0) {
258 val = chars.items[chars.items.len - 1];
259 }
260
261 if (multichar_overflow) {
262 try p.err(.char_lit_too_wide, .{});
263 }
264 }
265
266 // C99 6.4.4.4.10
267 // > If an integer character constant contains a single character or escape sequence,
268 // > its value is the one that results when an object with type char whose value is
269 // > that of the single character or escape sequence is converted to type int.
270 // This conversion only matters if `char` is signed and has a high-order bit of `1`
271 if (p.kind == .char and !is_multichar and val > 0x7F and p.comp.getCharSignedness() == .signed) {
272 const signed: i8 = @bitCast(@as(u8, @intCast(val)));
273 return .{ .signed = signed };
274 }
275 return .{ .unsigned = val };
276 }
277
278 fn prefixLen(self: *const Parser) usize {
279 return switch (self.kind) {
280 .unterminated => unreachable,
281 .char => 0,
282 .utf_8 => 2,
283 .wide, .utf_16, .utf_32 => 1,
284 };
285 }
286
287 const Diagnostic = struct {
288 fmt: []const u8,
289 kind: Diagnostics.Message.Kind,
290 opt: ?Diagnostics.Option = null,
291 extension: bool = false,
292
293 pub const illegal_char_encoding_error: Diagnostic = .{
294 .fmt = "illegal character encoding in character literal",
295 .kind = .@"error",
296 };
297
298 pub const illegal_char_encoding_warning: Diagnostic = .{
299 .fmt = "illegal character encoding in character literal",
300 .kind = .warning,
301 .opt = .@"invalid-source-encoding",
302 };
303
304 pub const missing_hex_escape: Diagnostic = .{
305 .fmt = "\\{c} used with no following hex digits",
306 .kind = .@"error",
307 };
308
309 pub const escape_sequence_overflow: Diagnostic = .{
310 .fmt = "escape sequence out of range",
311 .kind = .@"error",
312 };
313
314 pub const incomplete_universal_character: Diagnostic = .{
315 .fmt = "incomplete universal character name",
316 .kind = .@"error",
317 };
318
319 pub const invalid_universal_character: Diagnostic = .{
320 .fmt = "invalid universal character",
321 .kind = .@"error",
322 };
323
324 pub const char_too_large: Diagnostic = .{
325 .fmt = "character too large for enclosing character literal type",
326 .kind = .@"error",
327 };
328
329 pub const ucn_basic_char_error: Diagnostic = .{
330 .fmt = "character '{c}' cannot be specified by a universal character name",
331 .kind = .@"error",
332 };
333
334 pub const ucn_basic_char_warning: Diagnostic = .{
335 .fmt = "specifying character '{c}' with a universal character name is incompatible with C standards before C23",
336 .kind = .off,
337 .opt = .@"pre-c23-compat",
338 };
339
340 pub const ucn_control_char_error: Diagnostic = .{
341 .fmt = "universal character name refers to a control character",
342 .kind = .@"error",
343 };
344
345 pub const ucn_control_char_warning: Diagnostic = .{
346 .fmt = "universal character name referring to a control character is incompatible with C standards before C23",
347 .kind = .off,
348 .opt = .@"pre-c23-compat",
349 };
350
351 pub const c89_ucn_in_literal: Diagnostic = .{
352 .fmt = "universal character names are only valid in C99 or later",
353 .kind = .warning,
354 .opt = .unicode,
355 };
356
357 const non_standard_escape_char: Diagnostic = .{
358 .fmt = "use of non-standard escape character '\\{c}'",
359 .kind = .off,
360 .extension = true,
361 };
362
363 pub const unknown_escape_sequence: Diagnostic = .{
364 .fmt = "unknown escape sequence '\\{c}'",
365 .kind = .warning,
366 .opt = .@"unknown-escape-sequence",
367 };
368
369 pub const four_char_char_literal: Diagnostic = .{
370 .fmt = "multi-character character constant",
371 .opt = .@"four-char-constants",
372 .kind = .off,
373 };
374
375 pub const multichar_literal_warning: Diagnostic = .{
376 .fmt = "multi-character character constant",
377 .kind = .warning,
378 .opt = .multichar,
379 };
380
381 pub const invalid_multichar_literal: Diagnostic = .{
382 .fmt = "{s} character literals may not contain multiple characters",
383 .kind = .@"error",
384 };
385
386 pub const char_lit_too_wide: Diagnostic = .{
387 .fmt = "character constant too long for its type",
388 .kind = .warning,
389 };
390
391 pub const u8_char_lit: Diagnostic = .{
392 .fmt = "UTF-8 character literal is a C23 extension",
393 .opt = .@"c23-extensions",
394 .kind = .warning,
395 .extension = true,
396 };
397
398 // pub const wide_multichar_literal: Diagnostic = .{
399 // .fmt = "extraneous characters in character constant ignored",
400 // .kind = .warning,
401 // };
402 };
403
404 pub fn err(p: *Parser, diagnostic: Diagnostic, args: anytype) !void {
405 defer p.offset = 0;
406 if (p.errored) return;
407 defer p.errored = true;
408 try p.warn(diagnostic, args);
409 }
410
411 pub fn warn(p: *Parser, diagnostic: Diagnostic, args: anytype) Compilation.Error!void {
412 defer p.offset = 0;
413 if (p.errored) return;
414 if (p.comp.diagnostics.effectiveKind(diagnostic) == .off) return;
415
416 var bfa_buf: [1024]u8 = undefined;
417 var bfa: std.heap.BufferFirstAllocator = .init(&bfa_buf, p.comp.gpa);
418 var allocating: std.Io.Writer.Allocating = .init(bfa.allocator());
419 defer allocating.deinit();
420
421 Diagnostics.formatArgs(&allocating.writer, diagnostic.fmt, args) catch return error.OutOfMemory;
422
423 var offset_location = p.loc;
424 offset_location.byte_offset += p.offset;
425 try p.comp.diagnostics.addWithLocation(p.comp, .{
426 .kind = diagnostic.kind,
427 .text = allocating.written(),
428 .opt = diagnostic.opt,
429 .extension = diagnostic.extension,
430 .location = offset_location.expand(p.comp),
431 }, p.expansion_locs, true);
432 }
433
434 pub fn next(p: *Parser) !?Item {
435 if (p.i >= p.literal.len) return null;
436
437 const start = p.i;
438 if (p.literal[start] != '\\') {
439 p.i = mem.findScalarPos(u8, p.literal, start + 1, '\\') orelse p.literal.len;
440 const unescaped_slice = p.literal[start..p.i];
441
442 const view = std.unicode.Utf8View.init(unescaped_slice) catch {
443 if (!p.diagnose_incorrect_encoding) {
444 return .{ .improperly_encoded = p.literal[start..p.i] };
445 }
446 if (p.incorrect_encoding_is_error) {
447 try p.warn(.illegal_char_encoding_error, .{});
448 return .{ .improperly_encoded = p.literal[start..p.i] };
449 }
450 if (p.kind != .char) {
451 try p.err(.illegal_char_encoding_error, .{});
452 return null;
453 }
454 try p.warn(.illegal_char_encoding_warning, .{});
455 return .{ .improperly_encoded = p.literal[start..p.i] };
456 };
457 return .{ .utf8_text = view };
458 }
459 switch (p.literal[start + 1]) {
460 'u', 'U' => return try p.parseUnicodeEscape(),
461 else => return try p.parseEscapedChar(),
462 }
463 }
464
465 fn parseUnicodeEscape(p: *Parser) !?Item {
466 const start = p.i;
467
468 std.debug.assert(p.literal[p.i] == '\\');
469
470 const kind = p.literal[p.i + 1];
471 std.debug.assert(kind == 'u' or kind == 'U');
472
473 p.i += 2;
474 if (p.i >= p.literal.len or !std.ascii.isHex(p.literal[p.i])) {
475 try p.err(.missing_hex_escape, .{Ascii.init(kind)});
476 return null;
477 }
478 const expected_len: usize = if (kind == 'u') 4 else 8;
479 var overflowed = false;
480 var count: usize = 0;
481 var val: u32 = 0;
482
483 for (p.literal[p.i..], 0..) |c, i| {
484 if (i == expected_len) break;
485
486 const char = std.fmt.charToDigit(c, 16) catch break;
487
488 val, const overflow = @shlWithOverflow(val, 4);
489 overflowed = overflowed or overflow != 0;
490 val |= char;
491 count += 1;
492 }
493 p.i += expected_len;
494
495 if (overflowed) {
496 p.offset += @intCast(start + p.prefixLen());
497 try p.err(.escape_sequence_overflow, .{});
498 return null;
499 }
500
501 if (count != expected_len) {
502 try p.err(.incomplete_universal_character, .{});
503 return null;
504 }
505
506 if (val > std.math.maxInt(u21) or !std.unicode.utf8ValidCodepoint(@intCast(val))) {
507 p.offset += @intCast(start + p.prefixLen());
508 try p.err(.invalid_universal_character, .{});
509 return null;
510 }
511
512 if (val > p.max_codepoint) {
513 try p.err(.char_too_large, .{});
514 return null;
515 }
516
517 if (val < 0xA0 and (val != '$' and val != '@' and val != '`')) {
518 const is_error = !p.comp.langopts.standard.atLeast(.c23);
519 if (val >= 0x20 and val <= 0x7F) {
520 if (is_error) {
521 try p.err(.ucn_basic_char_error, .{Ascii.init(val)});
522 } else if (!p.comp.langopts.standard.atLeast(.c23)) {
523 try p.warn(.ucn_basic_char_warning, .{Ascii.init(val)});
524 }
525 } else {
526 if (is_error) {
527 try p.err(.ucn_control_char_error, .{});
528 } else if (!p.comp.langopts.standard.atLeast(.c23)) {
529 try p.warn(.ucn_control_char_warning, .{});
530 }
531 }
532 }
533
534 if (!p.comp.langopts.standard.atLeast(.c99)) try p.warn(.c89_ucn_in_literal, .{});
535 return .{ .codepoint = @intCast(val) };
536 }
537
538 fn parseEscapedChar(p: *Parser) !Item {
539 p.i += 1;
540 const c = p.literal[p.i];
541 defer if (c != 'x' and (c < '0' or c > '7')) {
542 p.i += 1;
543 };
544
545 switch (c) {
546 '\n' => unreachable, // removed by line splicing
547 '\r' => unreachable, // removed by line splicing
548 '\'', '\"', '\\', '?' => return .{ .value = c },
549 'n' => return .{ .value = '\n' },
550 'r' => return .{ .value = '\r' },
551 't' => return .{ .value = '\t' },
552 'a' => return .{ .value = 0x07 },
553 'b' => return .{ .value = 0x08 },
554 'e', 'E' => {
555 p.offset += @intCast(p.i);
556 try p.warn(.non_standard_escape_char, .{Ascii.init(c)});
557 return .{ .value = 0x1B };
558 },
559 '(', '{', '[', '%' => {
560 p.offset += @intCast(p.i);
561 try p.warn(.non_standard_escape_char, .{Ascii.init(c)});
562 return .{ .value = c };
563 },
564 'f' => return .{ .value = 0x0C },
565 'v' => return .{ .value = 0x0B },
566 'x' => return .{ .value = try p.parseNumberEscape(.hex) },
567 '0'...'7' => return .{ .value = try p.parseNumberEscape(.octal) },
568 'u', 'U' => unreachable, // handled by parseUnicodeEscape
569 else => {
570 p.offset += @intCast(p.i);
571 try p.warn(.unknown_escape_sequence, .{Ascii.init(c)});
572 return .{ .value = c };
573 },
574 }
575 }
576
577 fn parseNumberEscape(p: *Parser, base: EscapeBase) !u32 {
578 var val: u32 = 0;
579 var count: usize = 0;
580 var overflowed = false;
581 const start = p.i;
582 defer p.i += count;
583
584 const slice = switch (base) {
585 .octal => p.literal[p.i..@min(p.literal.len, p.i + 3)], // max 3 chars
586 .hex => blk: {
587 p.i += 1;
588 break :blk p.literal[p.i..]; // skip over 'x'; could have an arbitrary number of chars
589 },
590 };
591 for (slice) |c| {
592 const char = std.fmt.charToDigit(c, @backingInt(base)) catch break;
593 val, const overflow = @shlWithOverflow(val, base.log2());
594 if (overflow != 0) overflowed = true;
595 val += char;
596 count += 1;
597 }
598 if (overflowed or val > p.kind.maxInt(p.comp)) {
599 p.offset += @intCast(start + p.prefixLen());
600 try p.err(.escape_sequence_overflow, .{});
601 return 0;
602 }
603 if (count == 0) {
604 std.debug.assert(base == .hex);
605 try p.err(.missing_hex_escape, .{Ascii.init('x')});
606 }
607 return val;
608 }
609};
610
611const EscapeBase = enum(u8) {
612 octal = 8,
613 hex = 16,
614
615 fn log2(base: EscapeBase) u4 {
616 return switch (base) {
617 .octal => 3,
618 .hex => 4,
619 };
620 }
621};
lib/compiler/aro/aro/Toolchain.zig+3-3
...@@ -127,7 +127,7 @@ pub fn getLinkerPath(tc: *const Toolchain, buf: []u8) ![]const u8 {...@@ -127,7 +127,7 @@ pub fn getLinkerPath(tc: *const Toolchain, buf: []u8) ![]const u8 {
127 // for the linker flavor is brittle. In addition, prepending "ld." or "ld64."127 // for the linker flavor is brittle. In addition, prepending "ld." or "ld64."
128 // to a relative path is surprising. This is more complex due to priorities128 // to a relative path is surprising. This is more complex due to priorities
129 // among -B, COMPILER_PATH and PATH. --ld-path= should be used instead.129 // among -B, COMPILER_PATH and PATH. --ld-path= should be used instead.
130 if (mem.indexOfScalar(u8, use_linker, '/') != null) {130 if (mem.findScalar(u8, use_linker, '/') != null) {
131 try tc.driver.comp.diagnostics.add(.{131 try tc.driver.comp.diagnostics.add(.{
132 .text = "'-fuse-ld=' taking a path is deprecated; use '--ld-path=' instead",132 .text = "'-fuse-ld=' taking a path is deprecated; use '--ld-path=' instead",
133 .kind = .off,133 .kind = .off,
...@@ -180,7 +180,7 @@ fn possibleProgramNames(...@@ -180,7 +180,7 @@ fn possibleProgramNames(
180) []const []const u8 {180) []const []const u8 {
181 var i: u32 = 0;181 var i: u32 = 0;
182 if (raw_triple) |triple| {182 if (raw_triple) |triple| {
183 if (std.fmt.bufPrint(buf, "{s}-{s}", .{ triple, name })) |res| {183 if (mem.print(buf, "{s}-{s}", .{ triple, name })) |res| {
184 possible_name_buf[i] = res;184 possible_name_buf[i] = res;
185 i += 1;185 i += 1;
186 } else |_| {}186 } else |_| {}
...@@ -564,7 +564,7 @@ pub fn findProgramByName(tc: *const Toolchain, name: []const u8, buf: []u8) ?[]c...@@ -564,7 +564,7 @@ pub fn findProgramByName(tc: *const Toolchain, name: []const u8, buf: []u8) ?[]c
564 const comp = tc.driver.comp;564 const comp = tc.driver.comp;
565565
566 // TODO: does WASI need special handling?566 // TODO: does WASI need special handling?
567 if (mem.indexOfScalar(u8, name, '/') != null) {567 if (mem.findScalar(u8, name, '/') != null) {
568 @memcpy(buf[0..name.len], name);568 @memcpy(buf[0..name.len], name);
569 return buf[0..name.len];569 return buf[0..name.len];
570 }570 }
lib/compiler/aro/aro/Tree.zig+746-272
...@@ -5,7 +5,7 @@ const Interner = @import("../backend.zig").Interner;...@@ -5,7 +5,7 @@ const Interner = @import("../backend.zig").Interner;
5const Attribute = @import("Attribute.zig");5const Attribute = @import("Attribute.zig");
6const CodeGen = @import("CodeGen.zig");6const CodeGen = @import("CodeGen.zig");
7const Compilation = @import("Compilation.zig");7const Compilation = @import("Compilation.zig");
8const number_affixes = @import("Tree/number_affixes.zig");8const Diagnostics = @import("Diagnostics.zig");
9const Source = @import("Source.zig");9const Source = @import("Source.zig");
10const Tokenizer = @import("Tokenizer.zig");10const Tokenizer = @import("Tokenizer.zig");
11const QualType = @import("TypeStore.zig").QualType;11const QualType = @import("TypeStore.zig").QualType;
...@@ -17,15 +17,83 @@ pub const Token = struct {...@@ -17,15 +17,83 @@ pub const Token = struct {
1717
18 pub const List = std.MultiArrayList(Token);18 pub const List = std.MultiArrayList(Token);
19 pub const Id = Tokenizer.Token.Id;19 pub const Id = Tokenizer.Token.Id;
20 pub const NumberPrefix = number_affixes.Prefix;20
21 pub const NumberSuffix = number_affixes.Suffix;21 pub const Precedence = enum(i8) {
22 comma = 1,
23 assign,
24 binary_conditional,
25 conditional,
26 bool_or,
27 bool_and,
28 bit_or,
29 bit_xor,
30 bit_and,
31 equality,
32 comparison,
33 shift,
34 additive,
35 multiplicative,
36 _,
37
38 pub const any: Precedence = @fromBackingInt(0);
39 pub const invalid: Precedence = @fromBackingInt(-1);
40
41 pub fn next(p: Precedence, min: Precedence) Precedence {
42 return switch (p) {
43 .assign => .assign, // Right associative.
44 .conditional => min, // Right associative.
45 else => @fromBackingInt(@backingInt(p) + 1),
46 };
47 }
48
49 pub fn lt(a: Precedence, b: Precedence) bool {
50 return std.math.compare(@backingInt(a), .lt, @backingInt(b));
51 }
52 };
53
54 pub const precedence = std.enums.directEnumArrayDefault(Tree.Token.Id, Precedence, .invalid, 0, .{
55 .comma = .comma,
56 .equal = .assign,
57 .asterisk_equal = .assign,
58 .slash_equal = .assign,
59 .percent_equal = .assign,
60 .plus_equal = .assign,
61 .minus_equal = .assign,
62 .angle_bracket_angle_bracket_left_equal = .assign,
63 .angle_bracket_angle_bracket_right_equal = .assign,
64 .ampersand_equal = .assign,
65 .caret_equal = .assign,
66 .pipe_equal = .assign,
67 .question_mark = .conditional,
68 .pipe_pipe = .bool_or,
69 .ampersand_ampersand = .bool_and,
70 .pipe = .bit_or,
71 .caret = .bit_xor,
72 .ampersand = .bit_and,
73 .equal_equal = .equality,
74 .bang_equal = .equality,
75 .angle_bracket_right = .comparison,
76 .angle_bracket_right_equal = .comparison,
77 .angle_bracket_left = .comparison,
78 .angle_bracket_left_equal = .comparison,
79 .angle_bracket_angle_bracket_right = .shift,
80 .angle_bracket_angle_bracket_left = .shift,
81 .plus = .additive,
82 .minus = .additive,
83 .asterisk = .multiplicative,
84 .slash = .multiplicative,
85 .percent = .multiplicative,
86 });
22};87};
2388
24pub const TokenWithExpansionLocs = struct {89pub const TokenWithExpansionLocs = struct {
90 const max_expansion_locs = 64;
91
25 id: Token.Id,92 id: Token.Id,
26 flags: packed struct {93 flags: packed struct {
27 expansion_disabled: bool = false,94 expansion_disabled: bool = false,
28 is_macro_arg: bool = false,95 is_macro_arg: bool = false,
96 pragma_directive: bool = false,
29 } = .{},97 } = .{},
30 /// This location contains the actual token slice which might be generated.98 /// This location contains the actual token slice which might be generated.
31 /// If it is generated then there is guaranteed to be at least one99 /// If it is generated then there is guaranteed to be at least one
...@@ -50,8 +118,10 @@ pub const TokenWithExpansionLocs = struct {...@@ -50,8 +118,10 @@ pub const TokenWithExpansionLocs = struct {
50 // what we ask for.118 // what we ask for.
51 if (list.capacity > 0) {119 if (list.capacity > 0) {
52 list.items.ptr[list.capacity - 1].byte_offset = 1;120 list.items.ptr[list.capacity - 1].byte_offset = 1;
121 tok.expansion_locs = list.items.ptr;
122 } else {
123 tok.expansion_locs = null;
53 }124 }
54 tok.expansion_locs = list.items.ptr;
55 }125 }
56126
57 if (tok.expansion_locs) |locs| {127 if (tok.expansion_locs) |locs| {
...@@ -62,13 +132,22 @@ pub const TokenWithExpansionLocs = struct {...@@ -62,13 +132,22 @@ pub const TokenWithExpansionLocs = struct {
62 list.capacity = i + 1;132 list.capacity = i + 1;
63 }133 }
64134
65 const min_len = @max(list.items.len + new.len + 1, 4);135 if (list.items.len >= max_expansion_locs) return;
136 var new_len: usize = 0;
137 for (new) |new_loc| {
138 if (new_loc.id.index != .generated) new_len += 1;
139 }
140 new_len = @min(new_len, max_expansion_locs - list.items.len);
141 if (new_len == 0) return;
142
143 const min_len = @max(list.items.len + new_len + 1, 4);
66 const wanted_len = std.math.ceilPowerOfTwo(usize, min_len) catch144 const wanted_len = std.math.ceilPowerOfTwo(usize, min_len) catch
67 return error.OutOfMemory;145 return error.OutOfMemory;
68 try list.ensureTotalCapacity(gpa, wanted_len);146 try list.ensureTotalCapacity(gpa, wanted_len);
69147
70 for (new) |new_loc| {148 for (new) |new_loc| {
71 if (new_loc.id.index == .generated) continue;149 if (new_loc.id.index == .generated) continue;
150 if (list.items.len >= max_expansion_locs) break;
72 list.appendAssumeCapacity(new_loc);151 list.appendAssumeCapacity(new_loc);
73 }152 }
74 }153 }
...@@ -123,13 +202,17 @@ extra: std.ArrayList(u32) = .empty,...@@ -123,13 +202,17 @@ extra: std.ArrayList(u32) = .empty,
123root_decls: std.ArrayList(Node.Index) = .empty,202root_decls: std.ArrayList(Node.Index) = .empty,
124value_map: ValueMap = .empty,203value_map: ValueMap = .empty,
125204
205attr_map: Attribute.Map = .{},
206
126pub const genIr = CodeGen.genIr;207pub const genIr = CodeGen.genIr;
127208
128pub fn deinit(tree: *Tree) void {209pub fn deinit(tree: *Tree) void {
129 tree.nodes.deinit(tree.comp.gpa);210 const gpa = tree.comp.gpa;
130 tree.extra.deinit(tree.comp.gpa);211 tree.nodes.deinit(gpa);
131 tree.root_decls.deinit(tree.comp.gpa);212 tree.extra.deinit(gpa);
132 tree.value_map.deinit(tree.comp.gpa);213 tree.root_decls.deinit(gpa);
214 tree.value_map.deinit(gpa);
215 tree.attr_map.deinit(gpa);
133 tree.* = undefined;216 tree.* = undefined;
134}217}
135218
...@@ -175,6 +258,7 @@ pub const Node = union(enum) {...@@ -175,6 +258,7 @@ pub const Node = union(enum) {
175 null_stmt: NullStmt,258 null_stmt: NullStmt,
176 return_stmt: ReturnStmt,259 return_stmt: ReturnStmt,
177 asm_stmt: AsmStmt,260 asm_stmt: AsmStmt,
261 decl_stmt: DeclStmt,
178262
179 assign_expr: Binary,263 assign_expr: Binary,
180 mul_assign_expr: Binary,264 mul_assign_expr: Binary,
...@@ -283,6 +367,13 @@ pub const Node = union(enum) {...@@ -283,6 +367,13 @@ pub const Node = union(enum) {
283 /// Inserted in record and scalar initializers for unspecified elements.367 /// Inserted in record and scalar initializers for unspecified elements.
284 default_init_expr: DefaultInit,368 default_init_expr: DefaultInit,
285369
370 codegen_diagnostic: CodegenDiagnostic,
371
372 /// _Alignas(<type>) used as argument of an alignas attribute.
373 alignas_type: AlignasType,
374 /// Plain identifier argument of an attribute.
375 identifier_arg: IdentifierArg,
376
286 pub const EmptyDecl = struct {377 pub const EmptyDecl = struct {
287 semicolon: TokenIndex,378 semicolon: TokenIndex,
288 };379 };
...@@ -369,7 +460,6 @@ pub const Node = union(enum) {...@@ -369,7 +460,6 @@ pub const Node = union(enum) {
369 pub const LabeledStmt = struct {460 pub const LabeledStmt = struct {
370 label_tok: TokenIndex,461 label_tok: TokenIndex,
371 body: Node.Index,462 body: Node.Index,
372 qt: QualType,
373 };463 };
374464
375 pub const CompoundStmt = struct {465 pub const CompoundStmt = struct {
...@@ -416,10 +506,7 @@ pub const Node = union(enum) {...@@ -416,10 +506,7 @@ pub const Node = union(enum) {
416506
417 pub const ForStmt = struct {507 pub const ForStmt = struct {
418 for_tok: TokenIndex,508 for_tok: TokenIndex,
419 init: union(enum) {509 init: ?Node.Index,
420 decls: []const Node.Index,
421 expr: ?Node.Index,
422 },
423 cond: ?Node.Index,510 cond: ?Node.Index,
424 incr: ?Node.Index,511 incr: ?Node.Index,
425 body: Node.Index,512 body: Node.Index,
...@@ -444,7 +531,6 @@ pub const Node = union(enum) {...@@ -444,7 +531,6 @@ pub const Node = union(enum) {
444531
445 pub const NullStmt = struct {532 pub const NullStmt = struct {
446 semicolon_or_r_brace_tok: TokenIndex,533 semicolon_or_r_brace_tok: TokenIndex,
447 qt: QualType,
448 };534 };
449535
450 pub const ReturnStmt = struct {536 pub const ReturnStmt = struct {
...@@ -474,6 +560,11 @@ pub const Node = union(enum) {...@@ -474,6 +560,11 @@ pub const Node = union(enum) {
474 };560 };
475 };561 };
476562
563 pub const DeclStmt = struct {
564 decls: []const Node.Index,
565 first_tok: TokenIndex,
566 };
567
477 pub const Binary = struct {568 pub const Binary = struct {
478 qt: QualType,569 qt: QualType,
479 lhs: Node.Index,570 lhs: Node.Index,
...@@ -728,6 +819,22 @@ pub const Node = union(enum) {...@@ -728,6 +819,22 @@ pub const Node = union(enum) {
728 qt: QualType,819 qt: QualType,
729 };820 };
730821
822 pub const CodegenDiagnostic = struct {
823 tok: TokenIndex,
824 kind: Diagnostics.Message.Kind,
825 opt: ?Diagnostics.Option,
826 text: []const u32,
827 };
828
829 pub const AlignasType = struct {
830 alignas_tok: TokenIndex,
831 qt: QualType,
832 };
833
834 pub const IdentifierArg = struct {
835 identifier_tok: TokenIndex,
836 };
837
731 pub const Index = enum(u32) {838 pub const Index = enum(u32) {
732 _,839 _,
733840
...@@ -743,7 +850,7 @@ pub const Node = union(enum) {...@@ -743,7 +850,7 @@ pub const Node = union(enum) {
743 .static_assert => .{850 .static_assert => .{
744 .static_assert = .{851 .static_assert = .{
745 .assert_tok = node_tok,852 .assert_tok = node_tok,
746 .cond = @fromBackingInt(@intCast(node_data[0])),853 .cond = @fromBackingInt(node_data[0]),
747 .message = unpackOptIndex(node_data[1]),854 .message = unpackOptIndex(node_data[1]),
748 },855 },
749 },856 },
...@@ -768,7 +875,7 @@ pub const Node = union(enum) {...@@ -768,7 +875,7 @@ pub const Node = union(enum) {
768 .qt = @bitCast(node_data[0]),875 .qt = @bitCast(node_data[0]),
769 .static = attr.static,876 .static = attr.static,
770 .@"inline" = attr.@"inline",877 .@"inline" = attr.@"inline",
771 .body = @fromBackingInt(@intCast(node_data[2])),878 .body = @fromBackingInt(node_data[2]),
772 .definition = null,879 .definition = null,
773 },880 },
774 };881 };
...@@ -838,7 +945,7 @@ pub const Node = union(enum) {...@@ -838,7 +945,7 @@ pub const Node = union(enum) {
838 .global_asm => .{945 .global_asm => .{
839 .global_asm = .{946 .global_asm = .{
840 .asm_tok = node_tok,947 .asm_tok = node_tok,
841 .asm_str = @fromBackingInt(@intCast(node_data[0])),948 .asm_str = @fromBackingInt(node_data[0]),
842 },949 },
843 },950 },
844 .struct_decl => .{951 .struct_decl => .{
...@@ -921,8 +1028,7 @@ pub const Node = union(enum) {...@@ -921,8 +1028,7 @@ pub const Node = union(enum) {
921 .labeled_stmt => .{1028 .labeled_stmt => .{
922 .labeled_stmt = .{1029 .labeled_stmt = .{
923 .label_tok = node_tok,1030 .label_tok = node_tok,
924 .qt = @bitCast(node_data[0]),1031 .body = @fromBackingInt(node_data[0]),
925 .body = @fromBackingInt(@intCast(node_data[1])),
926 },1032 },
927 },1033 },
928 .compound_stmt => .{1034 .compound_stmt => .{
...@@ -940,62 +1046,116 @@ pub const Node = union(enum) {...@@ -940,62 +1046,116 @@ pub const Node = union(enum) {
940 .if_stmt => .{1046 .if_stmt => .{
941 .if_stmt = .{1047 .if_stmt = .{
942 .if_tok = node_tok,1048 .if_tok = node_tok,
943 .cond = @fromBackingInt(@intCast(node_data[0])),1049 .cond = @fromBackingInt(node_data[0]),
944 .then_body = @fromBackingInt(@intCast(node_data[1])),1050 .then_body = @fromBackingInt(node_data[1]),
945 .else_body = unpackOptIndex(node_data[2]),1051 .else_body = unpackOptIndex(node_data[2]),
946 },1052 },
947 },1053 },
948 .switch_stmt => .{1054 .switch_stmt => .{
949 .switch_stmt = .{1055 .switch_stmt = .{
950 .switch_tok = node_tok,1056 .switch_tok = node_tok,
951 .cond = @fromBackingInt(@intCast(node_data[0])),1057 .cond = @fromBackingInt(node_data[0]),
952 .body = @fromBackingInt(@intCast(node_data[1])),1058 .body = @fromBackingInt(node_data[1]),
953 },1059 },
954 },1060 },
955 .case_stmt => .{1061 .case_stmt => .{
956 .case_stmt = .{1062 .case_stmt = .{
957 .case_tok = node_tok,1063 .case_tok = node_tok,
958 .start = @fromBackingInt(@intCast(node_data[0])),1064 .start = @fromBackingInt(node_data[0]),
959 .end = unpackOptIndex(node_data[1]),1065 .end = unpackOptIndex(node_data[1]),
960 .body = @fromBackingInt(@intCast(node_data[2])),1066 .body = @fromBackingInt(node_data[2]),
961 },1067 },
962 },1068 },
963 .default_stmt => .{1069 .default_stmt => .{
964 .default_stmt = .{1070 .default_stmt = .{
965 .default_tok = node_tok,1071 .default_tok = node_tok,
966 .body = @fromBackingInt(@intCast(node_data[0])),1072 .body = @fromBackingInt(node_data[0]),
967 },1073 },
968 },1074 },
969 .while_stmt => .{1075 .while_stmt => .{
970 .while_stmt = .{1076 .while_stmt = .{
971 .while_tok = node_tok,1077 .while_tok = node_tok,
972 .cond = @fromBackingInt(@intCast(node_data[0])),1078 .cond = @fromBackingInt(node_data[0]),
973 .body = @fromBackingInt(@intCast(node_data[1])),1079 .body = @fromBackingInt(node_data[1]),
974 },1080 },
975 },1081 },
976 .do_while_stmt => .{1082 .do_while_stmt => .{
977 .do_while_stmt = .{1083 .do_while_stmt = .{
978 .do_tok = node_tok,1084 .do_tok = node_tok,
979 .cond = @fromBackingInt(@intCast(node_data[0])),1085 .cond = @fromBackingInt(node_data[0]),
980 .body = @fromBackingInt(@intCast(node_data[1])),1086 .body = @fromBackingInt(node_data[1]),
981 },1087 },
982 },1088 },
983 .for_decl => .{1089 .for_full => .{
984 .for_stmt = .{1090 .for_stmt = .{
985 .for_tok = node_tok,1091 .for_tok = node_tok,
986 .init = .{ .decls = @ptrCast(tree.extra.items[node_data[0]..][0 .. node_data[1] - 2]) },1092 .init = unpackOptIndex(node_data[0]),
987 .cond = unpackOptIndex(tree.extra.items[node_data[0] + node_data[1] - 2]),1093 .cond = unpackOptIndex(tree.extra.items[node_data[1]]),
988 .incr = unpackOptIndex(tree.extra.items[node_data[0] + node_data[1] - 1]),1094 .incr = unpackOptIndex(tree.extra.items[node_data[1] + 1]),
989 .body = @fromBackingInt(@intCast(node_data[2])),1095 .body = @fromBackingInt(node_data[2]),
990 },1096 },
991 },1097 },
992 .for_expr => .{1098 .for_init_cond => .{
993 .for_stmt = .{1099 .for_stmt = .{
994 .for_tok = node_tok,1100 .for_tok = node_tok,
995 .init = .{ .expr = unpackOptIndex(node_data[0]) },1101 .init = unpackOptIndex(node_data[0]),
996 .cond = unpackOptIndex(tree.extra.items[node_data[1]]),1102 .cond = unpackOptIndex(node_data[1]),
997 .incr = unpackOptIndex(tree.extra.items[node_data[1] + 1]),1103 .incr = null,
998 .body = @fromBackingInt(@intCast(node_data[2])),1104 .body = @fromBackingInt(node_data[2]),
1105 },
1106 },
1107 .for_init_incr => .{
1108 .for_stmt = .{
1109 .for_tok = node_tok,
1110 .init = unpackOptIndex(node_data[0]),
1111 .cond = null,
1112 .incr = unpackOptIndex(node_data[1]),
1113 .body = @fromBackingInt(node_data[2]),
1114 },
1115 },
1116 .for_cond_incr => .{
1117 .for_stmt = .{
1118 .for_tok = node_tok,
1119 .init = null,
1120 .cond = unpackOptIndex(node_data[0]),
1121 .incr = unpackOptIndex(node_data[1]),
1122 .body = @fromBackingInt(node_data[2]),
1123 },
1124 },
1125 .for_init => .{
1126 .for_stmt = .{
1127 .for_tok = node_tok,
1128 .init = unpackOptIndex(node_data[0]),
1129 .cond = null,
1130 .incr = null,
1131 .body = @fromBackingInt(node_data[2]),
1132 },
1133 },
1134 .for_cond => .{
1135 .for_stmt = .{
1136 .for_tok = node_tok,
1137 .init = null,
1138 .cond = unpackOptIndex(node_data[0]),
1139 .incr = null,
1140 .body = @fromBackingInt(node_data[2]),
1141 },
1142 },
1143 .for_incr => .{
1144 .for_stmt = .{
1145 .for_tok = node_tok,
1146 .init = null,
1147 .cond = null,
1148 .incr = unpackOptIndex(node_data[0]),
1149 .body = @fromBackingInt(node_data[2]),
1150 },
1151 },
1152 .for_ever => .{
1153 .for_stmt = .{
1154 .for_tok = node_tok,
1155 .init = null,
1156 .cond = null,
1157 .incr = null,
1158 .body = @fromBackingInt(node_data[2]),
999 },1159 },
1000 },1160 },
1001 .goto_stmt => .{1161 .goto_stmt => .{
...@@ -1006,7 +1166,7 @@ pub const Node = union(enum) {...@@ -1006,7 +1166,7 @@ pub const Node = union(enum) {
1006 .computed_goto_stmt => .{1166 .computed_goto_stmt => .{
1007 .computed_goto_stmt = .{1167 .computed_goto_stmt = .{
1008 .goto_tok = node_tok,1168 .goto_tok = node_tok,
1009 .expr = @fromBackingInt(@intCast(node_data[0])),1169 .expr = @fromBackingInt(node_data[0]),
1010 },1170 },
1011 },1171 },
1012 .continue_stmt => .{1172 .continue_stmt => .{
...@@ -1022,7 +1182,6 @@ pub const Node = union(enum) {...@@ -1022,7 +1182,6 @@ pub const Node = union(enum) {
1022 .null_stmt => .{1182 .null_stmt => .{
1023 .null_stmt = .{1183 .null_stmt = .{
1024 .semicolon_or_r_brace_tok = node_tok,1184 .semicolon_or_r_brace_tok = node_tok,
1025 .qt = @bitCast(node_data[0]),
1026 },1185 },
1027 },1186 },
1028 .return_stmt => .{1187 .return_stmt => .{
...@@ -1030,7 +1189,7 @@ pub const Node = union(enum) {...@@ -1030,7 +1189,7 @@ pub const Node = union(enum) {
1030 .return_tok = node_tok,1189 .return_tok = node_tok,
1031 .return_qt = @bitCast(node_data[0]),1190 .return_qt = @bitCast(node_data[0]),
1032 .operand = .{1191 .operand = .{
1033 .expr = @fromBackingInt(@intCast(node_data[1])),1192 .expr = @fromBackingInt(node_data[1]),
1034 },1193 },
1035 },1194 },
1036 },1195 },
...@@ -1082,7 +1241,7 @@ pub const Node = union(enum) {...@@ -1082,7 +1241,7 @@ pub const Node = union(enum) {
1082 return .{1241 return .{
1083 .asm_stmt = .{1242 .asm_stmt = .{
1084 .asm_tok = node_tok,1243 .asm_tok = node_tok,
1085 .asm_str = @fromBackingInt(@intCast(node_data[0])),1244 .asm_str = @fromBackingInt(node_data[0]),
1086 .outputs = @ptrCast(outputs),1245 .outputs = @ptrCast(outputs),
1087 .inputs = @ptrCast(inputs),1246 .inputs = @ptrCast(inputs),
1088 .clobbers = @ptrCast(clobbers),1247 .clobbers = @ptrCast(clobbers),
...@@ -1094,7 +1253,7 @@ pub const Node = union(enum) {...@@ -1094,7 +1253,7 @@ pub const Node = union(enum) {
1094 .asm_stmt_simple => .{1253 .asm_stmt_simple => .{
1095 .asm_stmt = .{1254 .asm_stmt = .{
1096 .asm_tok = node_tok,1255 .asm_tok = node_tok,
1097 .asm_str = @fromBackingInt(@intCast(node_data[0])),1256 .asm_str = @fromBackingInt(node_data[0]),
1098 .outputs = &.{},1257 .outputs = &.{},
1099 .inputs = &.{},1258 .inputs = &.{},
1100 .clobbers = &.{},1259 .clobbers = &.{},
...@@ -1102,251 +1261,263 @@ pub const Node = union(enum) {...@@ -1102,251 +1261,263 @@ pub const Node = union(enum) {
1102 .quals = @bitCast(node_data[1]),1261 .quals = @bitCast(node_data[1]),
1103 },1262 },
1104 },1263 },
1264 .decl_stmt => .{
1265 .decl_stmt = .{
1266 .first_tok = node_tok,
1267 .decls = @ptrCast(tree.extra.items[node_data[0]..][0..node_data[1]]),
1268 },
1269 },
1270 .decl_stmt_three => .{
1271 .decl_stmt = .{
1272 .first_tok = node_tok,
1273 .decls = unPackElems(node_data),
1274 },
1275 },
1105 .assign_expr => .{1276 .assign_expr => .{
1106 .assign_expr = .{1277 .assign_expr = .{
1107 .op_tok = node_tok,1278 .op_tok = node_tok,
1108 .qt = @bitCast(node_data[0]),1279 .qt = @bitCast(node_data[0]),
1109 .lhs = @fromBackingInt(@intCast(node_data[1])),1280 .lhs = @fromBackingInt(node_data[1]),
1110 .rhs = @fromBackingInt(@intCast(node_data[2])),1281 .rhs = @fromBackingInt(node_data[2]),
1111 },1282 },
1112 },1283 },
1113 .mul_assign_expr => .{1284 .mul_assign_expr => .{
1114 .mul_assign_expr = .{1285 .mul_assign_expr = .{
1115 .op_tok = node_tok,1286 .op_tok = node_tok,
1116 .qt = @bitCast(node_data[0]),1287 .qt = @bitCast(node_data[0]),
1117 .lhs = @fromBackingInt(@intCast(node_data[1])),1288 .lhs = @fromBackingInt(node_data[1]),
1118 .rhs = @fromBackingInt(@intCast(node_data[2])),1289 .rhs = @fromBackingInt(node_data[2]),
1119 },1290 },
1120 },1291 },
1121 .div_assign_expr => .{1292 .div_assign_expr => .{
1122 .div_assign_expr = .{1293 .div_assign_expr = .{
1123 .op_tok = node_tok,1294 .op_tok = node_tok,
1124 .qt = @bitCast(node_data[0]),1295 .qt = @bitCast(node_data[0]),
1125 .lhs = @fromBackingInt(@intCast(node_data[1])),1296 .lhs = @fromBackingInt(node_data[1]),
1126 .rhs = @fromBackingInt(@intCast(node_data[2])),1297 .rhs = @fromBackingInt(node_data[2]),
1127 },1298 },
1128 },1299 },
1129 .mod_assign_expr => .{1300 .mod_assign_expr => .{
1130 .mod_assign_expr = .{1301 .mod_assign_expr = .{
1131 .op_tok = node_tok,1302 .op_tok = node_tok,
1132 .qt = @bitCast(node_data[0]),1303 .qt = @bitCast(node_data[0]),
1133 .lhs = @fromBackingInt(@intCast(node_data[1])),1304 .lhs = @fromBackingInt(node_data[1]),
1134 .rhs = @fromBackingInt(@intCast(node_data[2])),1305 .rhs = @fromBackingInt(node_data[2]),
1135 },1306 },
1136 },1307 },
1137 .add_assign_expr => .{1308 .add_assign_expr => .{
1138 .add_assign_expr = .{1309 .add_assign_expr = .{
1139 .op_tok = node_tok,1310 .op_tok = node_tok,
1140 .qt = @bitCast(node_data[0]),1311 .qt = @bitCast(node_data[0]),
1141 .lhs = @fromBackingInt(@intCast(node_data[1])),1312 .lhs = @fromBackingInt(node_data[1]),
1142 .rhs = @fromBackingInt(@intCast(node_data[2])),1313 .rhs = @fromBackingInt(node_data[2]),
1143 },1314 },
1144 },1315 },
1145 .sub_assign_expr => .{1316 .sub_assign_expr => .{
1146 .sub_assign_expr = .{1317 .sub_assign_expr = .{
1147 .op_tok = node_tok,1318 .op_tok = node_tok,
1148 .qt = @bitCast(node_data[0]),1319 .qt = @bitCast(node_data[0]),
1149 .lhs = @fromBackingInt(@intCast(node_data[1])),1320 .lhs = @fromBackingInt(node_data[1]),
1150 .rhs = @fromBackingInt(@intCast(node_data[2])),1321 .rhs = @fromBackingInt(node_data[2]),
1151 },1322 },
1152 },1323 },
1153 .shl_assign_expr => .{1324 .shl_assign_expr => .{
1154 .shl_assign_expr = .{1325 .shl_assign_expr = .{
1155 .op_tok = node_tok,1326 .op_tok = node_tok,
1156 .qt = @bitCast(node_data[0]),1327 .qt = @bitCast(node_data[0]),
1157 .lhs = @fromBackingInt(@intCast(node_data[1])),1328 .lhs = @fromBackingInt(node_data[1]),
1158 .rhs = @fromBackingInt(@intCast(node_data[2])),1329 .rhs = @fromBackingInt(node_data[2]),
1159 },1330 },
1160 },1331 },
1161 .shr_assign_expr => .{1332 .shr_assign_expr => .{
1162 .shr_assign_expr = .{1333 .shr_assign_expr = .{
1163 .op_tok = node_tok,1334 .op_tok = node_tok,
1164 .qt = @bitCast(node_data[0]),1335 .qt = @bitCast(node_data[0]),
1165 .lhs = @fromBackingInt(@intCast(node_data[1])),1336 .lhs = @fromBackingInt(node_data[1]),
1166 .rhs = @fromBackingInt(@intCast(node_data[2])),1337 .rhs = @fromBackingInt(node_data[2]),
1167 },1338 },
1168 },1339 },
1169 .bit_and_assign_expr => .{1340 .bit_and_assign_expr => .{
1170 .bit_and_assign_expr = .{1341 .bit_and_assign_expr = .{
1171 .op_tok = node_tok,1342 .op_tok = node_tok,
1172 .qt = @bitCast(node_data[0]),1343 .qt = @bitCast(node_data[0]),
1173 .lhs = @fromBackingInt(@intCast(node_data[1])),1344 .lhs = @fromBackingInt(node_data[1]),
1174 .rhs = @fromBackingInt(@intCast(node_data[2])),1345 .rhs = @fromBackingInt(node_data[2]),
1175 },1346 },
1176 },1347 },
1177 .bit_xor_assign_expr => .{1348 .bit_xor_assign_expr => .{
1178 .bit_xor_assign_expr = .{1349 .bit_xor_assign_expr = .{
1179 .op_tok = node_tok,1350 .op_tok = node_tok,
1180 .qt = @bitCast(node_data[0]),1351 .qt = @bitCast(node_data[0]),
1181 .lhs = @fromBackingInt(@intCast(node_data[1])),1352 .lhs = @fromBackingInt(node_data[1]),
1182 .rhs = @fromBackingInt(@intCast(node_data[2])),1353 .rhs = @fromBackingInt(node_data[2]),
1183 },1354 },
1184 },1355 },
1185 .bit_or_assign_expr => .{1356 .bit_or_assign_expr => .{
1186 .bit_or_assign_expr = .{1357 .bit_or_assign_expr = .{
1187 .op_tok = node_tok,1358 .op_tok = node_tok,
1188 .qt = @bitCast(node_data[0]),1359 .qt = @bitCast(node_data[0]),
1189 .lhs = @fromBackingInt(@intCast(node_data[1])),1360 .lhs = @fromBackingInt(node_data[1]),
1190 .rhs = @fromBackingInt(@intCast(node_data[2])),1361 .rhs = @fromBackingInt(node_data[2]),
1191 },1362 },
1192 },1363 },
1193 .compound_assign_dummy_expr => .{1364 .compound_assign_dummy_expr => .{
1194 .compound_assign_dummy_expr = .{1365 .compound_assign_dummy_expr = .{
1195 .op_tok = node_tok,1366 .op_tok = node_tok,
1196 .qt = @bitCast(node_data[0]),1367 .qt = @bitCast(node_data[0]),
1197 .operand = @fromBackingInt(@intCast(node_data[1])),1368 .operand = @fromBackingInt(node_data[1]),
1198 },1369 },
1199 },1370 },
1200 .comma_expr => .{1371 .comma_expr => .{
1201 .comma_expr = .{1372 .comma_expr = .{
1202 .op_tok = node_tok,1373 .op_tok = node_tok,
1203 .qt = @bitCast(node_data[0]),1374 .qt = @bitCast(node_data[0]),
1204 .lhs = @fromBackingInt(@intCast(node_data[1])),1375 .lhs = @fromBackingInt(node_data[1]),
1205 .rhs = @fromBackingInt(@intCast(node_data[2])),1376 .rhs = @fromBackingInt(node_data[2]),
1206 },1377 },
1207 },1378 },
1208 .bool_or_expr => .{1379 .bool_or_expr => .{
1209 .bool_or_expr = .{1380 .bool_or_expr = .{
1210 .op_tok = node_tok,1381 .op_tok = node_tok,
1211 .qt = @bitCast(node_data[0]),1382 .qt = @bitCast(node_data[0]),
1212 .lhs = @fromBackingInt(@intCast(node_data[1])),1383 .lhs = @fromBackingInt(node_data[1]),
1213 .rhs = @fromBackingInt(@intCast(node_data[2])),1384 .rhs = @fromBackingInt(node_data[2]),
1214 },1385 },
1215 },1386 },
1216 .bool_and_expr => .{1387 .bool_and_expr => .{
1217 .bool_and_expr = .{1388 .bool_and_expr = .{
1218 .op_tok = node_tok,1389 .op_tok = node_tok,
1219 .qt = @bitCast(node_data[0]),1390 .qt = @bitCast(node_data[0]),
1220 .lhs = @fromBackingInt(@intCast(node_data[1])),1391 .lhs = @fromBackingInt(node_data[1]),
1221 .rhs = @fromBackingInt(@intCast(node_data[2])),1392 .rhs = @fromBackingInt(node_data[2]),
1222 },1393 },
1223 },1394 },
1224 .bit_or_expr => .{1395 .bit_or_expr => .{
1225 .bit_or_expr = .{1396 .bit_or_expr = .{
1226 .op_tok = node_tok,1397 .op_tok = node_tok,
1227 .qt = @bitCast(node_data[0]),1398 .qt = @bitCast(node_data[0]),
1228 .lhs = @fromBackingInt(@intCast(node_data[1])),1399 .lhs = @fromBackingInt(node_data[1]),
1229 .rhs = @fromBackingInt(@intCast(node_data[2])),1400 .rhs = @fromBackingInt(node_data[2]),
1230 },1401 },
1231 },1402 },
1232 .bit_xor_expr => .{1403 .bit_xor_expr => .{
1233 .bit_xor_expr = .{1404 .bit_xor_expr = .{
1234 .op_tok = node_tok,1405 .op_tok = node_tok,
1235 .qt = @bitCast(node_data[0]),1406 .qt = @bitCast(node_data[0]),
1236 .lhs = @fromBackingInt(@intCast(node_data[1])),1407 .lhs = @fromBackingInt(node_data[1]),
1237 .rhs = @fromBackingInt(@intCast(node_data[2])),1408 .rhs = @fromBackingInt(node_data[2]),
1238 },1409 },
1239 },1410 },
1240 .bit_and_expr => .{1411 .bit_and_expr => .{
1241 .bit_and_expr = .{1412 .bit_and_expr = .{
1242 .op_tok = node_tok,1413 .op_tok = node_tok,
1243 .qt = @bitCast(node_data[0]),1414 .qt = @bitCast(node_data[0]),
1244 .lhs = @fromBackingInt(@intCast(node_data[1])),1415 .lhs = @fromBackingInt(node_data[1]),
1245 .rhs = @fromBackingInt(@intCast(node_data[2])),1416 .rhs = @fromBackingInt(node_data[2]),
1246 },1417 },
1247 },1418 },
1248 .equal_expr => .{1419 .equal_expr => .{
1249 .equal_expr = .{1420 .equal_expr = .{
1250 .op_tok = node_tok,1421 .op_tok = node_tok,
1251 .qt = @bitCast(node_data[0]),1422 .qt = @bitCast(node_data[0]),
1252 .lhs = @fromBackingInt(@intCast(node_data[1])),1423 .lhs = @fromBackingInt(node_data[1]),
1253 .rhs = @fromBackingInt(@intCast(node_data[2])),1424 .rhs = @fromBackingInt(node_data[2]),
1254 },1425 },
1255 },1426 },
1256 .not_equal_expr => .{1427 .not_equal_expr => .{
1257 .not_equal_expr = .{1428 .not_equal_expr = .{
1258 .op_tok = node_tok,1429 .op_tok = node_tok,
1259 .qt = @bitCast(node_data[0]),1430 .qt = @bitCast(node_data[0]),
1260 .lhs = @fromBackingInt(@intCast(node_data[1])),1431 .lhs = @fromBackingInt(node_data[1]),
1261 .rhs = @fromBackingInt(@intCast(node_data[2])),1432 .rhs = @fromBackingInt(node_data[2]),
1262 },1433 },
1263 },1434 },
1264 .less_than_expr => .{1435 .less_than_expr => .{
1265 .less_than_expr = .{1436 .less_than_expr = .{
1266 .op_tok = node_tok,1437 .op_tok = node_tok,
1267 .qt = @bitCast(node_data[0]),1438 .qt = @bitCast(node_data[0]),
1268 .lhs = @fromBackingInt(@intCast(node_data[1])),1439 .lhs = @fromBackingInt(node_data[1]),
1269 .rhs = @fromBackingInt(@intCast(node_data[2])),1440 .rhs = @fromBackingInt(node_data[2]),
1270 },1441 },
1271 },1442 },
1272 .less_than_equal_expr => .{1443 .less_than_equal_expr => .{
1273 .less_than_equal_expr = .{1444 .less_than_equal_expr = .{
1274 .op_tok = node_tok,1445 .op_tok = node_tok,
1275 .qt = @bitCast(node_data[0]),1446 .qt = @bitCast(node_data[0]),
1276 .lhs = @fromBackingInt(@intCast(node_data[1])),1447 .lhs = @fromBackingInt(node_data[1]),
1277 .rhs = @fromBackingInt(@intCast(node_data[2])),1448 .rhs = @fromBackingInt(node_data[2]),
1278 },1449 },
1279 },1450 },
1280 .greater_than_expr => .{1451 .greater_than_expr => .{
1281 .greater_than_expr = .{1452 .greater_than_expr = .{
1282 .op_tok = node_tok,1453 .op_tok = node_tok,
1283 .qt = @bitCast(node_data[0]),1454 .qt = @bitCast(node_data[0]),
1284 .lhs = @fromBackingInt(@intCast(node_data[1])),1455 .lhs = @fromBackingInt(node_data[1]),
1285 .rhs = @fromBackingInt(@intCast(node_data[2])),1456 .rhs = @fromBackingInt(node_data[2]),
1286 },1457 },
1287 },1458 },
1288 .greater_than_equal_expr => .{1459 .greater_than_equal_expr => .{
1289 .greater_than_equal_expr = .{1460 .greater_than_equal_expr = .{
1290 .op_tok = node_tok,1461 .op_tok = node_tok,
1291 .qt = @bitCast(node_data[0]),1462 .qt = @bitCast(node_data[0]),
1292 .lhs = @fromBackingInt(@intCast(node_data[1])),1463 .lhs = @fromBackingInt(node_data[1]),
1293 .rhs = @fromBackingInt(@intCast(node_data[2])),1464 .rhs = @fromBackingInt(node_data[2]),
1294 },1465 },
1295 },1466 },
1296 .shl_expr => .{1467 .shl_expr => .{
1297 .shl_expr = .{1468 .shl_expr = .{
1298 .op_tok = node_tok,1469 .op_tok = node_tok,
1299 .qt = @bitCast(node_data[0]),1470 .qt = @bitCast(node_data[0]),
1300 .lhs = @fromBackingInt(@intCast(node_data[1])),1471 .lhs = @fromBackingInt(node_data[1]),
1301 .rhs = @fromBackingInt(@intCast(node_data[2])),1472 .rhs = @fromBackingInt(node_data[2]),
1302 },1473 },
1303 },1474 },
1304 .shr_expr => .{1475 .shr_expr => .{
1305 .shr_expr = .{1476 .shr_expr = .{
1306 .op_tok = node_tok,1477 .op_tok = node_tok,
1307 .qt = @bitCast(node_data[0]),1478 .qt = @bitCast(node_data[0]),
1308 .lhs = @fromBackingInt(@intCast(node_data[1])),1479 .lhs = @fromBackingInt(node_data[1]),
1309 .rhs = @fromBackingInt(@intCast(node_data[2])),1480 .rhs = @fromBackingInt(node_data[2]),
1310 },1481 },
1311 },1482 },
1312 .add_expr => .{1483 .add_expr => .{
1313 .add_expr = .{1484 .add_expr = .{
1314 .op_tok = node_tok,1485 .op_tok = node_tok,
1315 .qt = @bitCast(node_data[0]),1486 .qt = @bitCast(node_data[0]),
1316 .lhs = @fromBackingInt(@intCast(node_data[1])),1487 .lhs = @fromBackingInt(node_data[1]),
1317 .rhs = @fromBackingInt(@intCast(node_data[2])),1488 .rhs = @fromBackingInt(node_data[2]),
1318 },1489 },
1319 },1490 },
1320 .sub_expr => .{1491 .sub_expr => .{
1321 .sub_expr = .{1492 .sub_expr = .{
1322 .op_tok = node_tok,1493 .op_tok = node_tok,
1323 .qt = @bitCast(node_data[0]),1494 .qt = @bitCast(node_data[0]),
1324 .lhs = @fromBackingInt(@intCast(node_data[1])),1495 .lhs = @fromBackingInt(node_data[1]),
1325 .rhs = @fromBackingInt(@intCast(node_data[2])),1496 .rhs = @fromBackingInt(node_data[2]),
1326 },1497 },
1327 },1498 },
1328 .mul_expr => .{1499 .mul_expr => .{
1329 .mul_expr = .{1500 .mul_expr = .{
1330 .op_tok = node_tok,1501 .op_tok = node_tok,
1331 .qt = @bitCast(node_data[0]),1502 .qt = @bitCast(node_data[0]),
1332 .lhs = @fromBackingInt(@intCast(node_data[1])),1503 .lhs = @fromBackingInt(node_data[1]),
1333 .rhs = @fromBackingInt(@intCast(node_data[2])),1504 .rhs = @fromBackingInt(node_data[2]),
1334 },1505 },
1335 },1506 },
1336 .div_expr => .{1507 .div_expr => .{
1337 .div_expr = .{1508 .div_expr = .{
1338 .op_tok = node_tok,1509 .op_tok = node_tok,
1339 .qt = @bitCast(node_data[0]),1510 .qt = @bitCast(node_data[0]),
1340 .lhs = @fromBackingInt(@intCast(node_data[1])),1511 .lhs = @fromBackingInt(node_data[1]),
1341 .rhs = @fromBackingInt(@intCast(node_data[2])),1512 .rhs = @fromBackingInt(node_data[2]),
1342 },1513 },
1343 },1514 },
1344 .mod_expr => .{1515 .mod_expr => .{
1345 .mod_expr = .{1516 .mod_expr = .{
1346 .op_tok = node_tok,1517 .op_tok = node_tok,
1347 .qt = @bitCast(node_data[0]),1518 .qt = @bitCast(node_data[0]),
1348 .lhs = @fromBackingInt(@intCast(node_data[1])),1519 .lhs = @fromBackingInt(node_data[1]),
1349 .rhs = @fromBackingInt(@intCast(node_data[2])),1520 .rhs = @fromBackingInt(node_data[2]),
1350 },1521 },
1351 },1522 },
1352 .explicit_cast => .{1523 .explicit_cast => .{
...@@ -1354,7 +1525,7 @@ pub const Node = union(enum) {...@@ -1354,7 +1525,7 @@ pub const Node = union(enum) {
1354 .l_paren = node_tok,1525 .l_paren = node_tok,
1355 .qt = @bitCast(node_data[0]),1526 .qt = @bitCast(node_data[0]),
1356 .kind = @fromBackingInt(@intCast(node_data[1])),1527 .kind = @fromBackingInt(@intCast(node_data[1])),
1357 .operand = @fromBackingInt(@intCast(node_data[2])),1528 .operand = @fromBackingInt(node_data[2]),
1358 .implicit = false,1529 .implicit = false,
1359 },1530 },
1360 },1531 },
...@@ -1363,7 +1534,7 @@ pub const Node = union(enum) {...@@ -1363,7 +1534,7 @@ pub const Node = union(enum) {
1363 .l_paren = node_tok,1534 .l_paren = node_tok,
1364 .qt = @bitCast(node_data[0]),1535 .qt = @bitCast(node_data[0]),
1365 .kind = @fromBackingInt(@intCast(node_data[1])),1536 .kind = @fromBackingInt(@intCast(node_data[1])),
1366 .operand = @fromBackingInt(@intCast(node_data[2])),1537 .operand = @fromBackingInt(node_data[2]),
1367 .implicit = true,1538 .implicit = true,
1368 },1539 },
1369 },1540 },
...@@ -1371,105 +1542,105 @@ pub const Node = union(enum) {...@@ -1371,105 +1542,105 @@ pub const Node = union(enum) {
1371 .addr_of_expr = .{1542 .addr_of_expr = .{
1372 .op_tok = node_tok,1543 .op_tok = node_tok,
1373 .qt = @bitCast(node_data[0]),1544 .qt = @bitCast(node_data[0]),
1374 .operand = @fromBackingInt(@intCast(node_data[1])),1545 .operand = @fromBackingInt(node_data[1]),
1375 },1546 },
1376 },1547 },
1377 .deref_expr => .{1548 .deref_expr => .{
1378 .deref_expr = .{1549 .deref_expr = .{
1379 .op_tok = node_tok,1550 .op_tok = node_tok,
1380 .qt = @bitCast(node_data[0]),1551 .qt = @bitCast(node_data[0]),
1381 .operand = @fromBackingInt(@intCast(node_data[1])),1552 .operand = @fromBackingInt(node_data[1]),
1382 },1553 },
1383 },1554 },
1384 .plus_expr => .{1555 .plus_expr => .{
1385 .plus_expr = .{1556 .plus_expr = .{
1386 .op_tok = node_tok,1557 .op_tok = node_tok,
1387 .qt = @bitCast(node_data[0]),1558 .qt = @bitCast(node_data[0]),
1388 .operand = @fromBackingInt(@intCast(node_data[1])),1559 .operand = @fromBackingInt(node_data[1]),
1389 },1560 },
1390 },1561 },
1391 .negate_expr => .{1562 .negate_expr => .{
1392 .negate_expr = .{1563 .negate_expr = .{
1393 .op_tok = node_tok,1564 .op_tok = node_tok,
1394 .qt = @bitCast(node_data[0]),1565 .qt = @bitCast(node_data[0]),
1395 .operand = @fromBackingInt(@intCast(node_data[1])),1566 .operand = @fromBackingInt(node_data[1]),
1396 },1567 },
1397 },1568 },
1398 .bit_not_expr => .{1569 .bit_not_expr => .{
1399 .bit_not_expr = .{1570 .bit_not_expr = .{
1400 .op_tok = node_tok,1571 .op_tok = node_tok,
1401 .qt = @bitCast(node_data[0]),1572 .qt = @bitCast(node_data[0]),
1402 .operand = @fromBackingInt(@intCast(node_data[1])),1573 .operand = @fromBackingInt(node_data[1]),
1403 },1574 },
1404 },1575 },
1405 .bool_not_expr => .{1576 .bool_not_expr => .{
1406 .bool_not_expr = .{1577 .bool_not_expr = .{
1407 .op_tok = node_tok,1578 .op_tok = node_tok,
1408 .qt = @bitCast(node_data[0]),1579 .qt = @bitCast(node_data[0]),
1409 .operand = @fromBackingInt(@intCast(node_data[1])),1580 .operand = @fromBackingInt(node_data[1]),
1410 },1581 },
1411 },1582 },
1412 .pre_inc_expr => .{1583 .pre_inc_expr => .{
1413 .pre_inc_expr = .{1584 .pre_inc_expr = .{
1414 .op_tok = node_tok,1585 .op_tok = node_tok,
1415 .qt = @bitCast(node_data[0]),1586 .qt = @bitCast(node_data[0]),
1416 .operand = @fromBackingInt(@intCast(node_data[1])),1587 .operand = @fromBackingInt(node_data[1]),
1417 },1588 },
1418 },1589 },
1419 .pre_dec_expr => .{1590 .pre_dec_expr => .{
1420 .pre_dec_expr = .{1591 .pre_dec_expr = .{
1421 .op_tok = node_tok,1592 .op_tok = node_tok,
1422 .qt = @bitCast(node_data[0]),1593 .qt = @bitCast(node_data[0]),
1423 .operand = @fromBackingInt(@intCast(node_data[1])),1594 .operand = @fromBackingInt(node_data[1]),
1424 },1595 },
1425 },1596 },
1426 .imag_expr => .{1597 .imag_expr => .{
1427 .imag_expr = .{1598 .imag_expr = .{
1428 .op_tok = node_tok,1599 .op_tok = node_tok,
1429 .qt = @bitCast(node_data[0]),1600 .qt = @bitCast(node_data[0]),
1430 .operand = @fromBackingInt(@intCast(node_data[1])),1601 .operand = @fromBackingInt(node_data[1]),
1431 },1602 },
1432 },1603 },
1433 .real_expr => .{1604 .real_expr => .{
1434 .real_expr = .{1605 .real_expr = .{
1435 .op_tok = node_tok,1606 .op_tok = node_tok,
1436 .qt = @bitCast(node_data[0]),1607 .qt = @bitCast(node_data[0]),
1437 .operand = @fromBackingInt(@intCast(node_data[1])),1608 .operand = @fromBackingInt(node_data[1]),
1438 },1609 },
1439 },1610 },
1440 .post_inc_expr => .{1611 .post_inc_expr => .{
1441 .post_inc_expr = .{1612 .post_inc_expr = .{
1442 .op_tok = node_tok,1613 .op_tok = node_tok,
1443 .qt = @bitCast(node_data[0]),1614 .qt = @bitCast(node_data[0]),
1444 .operand = @fromBackingInt(@intCast(node_data[1])),1615 .operand = @fromBackingInt(node_data[1]),
1445 },1616 },
1446 },1617 },
1447 .post_dec_expr => .{1618 .post_dec_expr => .{
1448 .post_dec_expr = .{1619 .post_dec_expr = .{
1449 .op_tok = node_tok,1620 .op_tok = node_tok,
1450 .qt = @bitCast(node_data[0]),1621 .qt = @bitCast(node_data[0]),
1451 .operand = @fromBackingInt(@intCast(node_data[1])),1622 .operand = @fromBackingInt(node_data[1]),
1452 },1623 },
1453 },1624 },
1454 .paren_expr => .{1625 .paren_expr => .{
1455 .paren_expr = .{1626 .paren_expr = .{
1456 .op_tok = node_tok,1627 .op_tok = node_tok,
1457 .qt = @bitCast(node_data[0]),1628 .qt = @bitCast(node_data[0]),
1458 .operand = @fromBackingInt(@intCast(node_data[1])),1629 .operand = @fromBackingInt(node_data[1]),
1459 },1630 },
1460 },1631 },
1461 .stmt_expr => .{1632 .stmt_expr => .{
1462 .stmt_expr = .{1633 .stmt_expr = .{
1463 .op_tok = node_tok,1634 .op_tok = node_tok,
1464 .qt = @bitCast(node_data[0]),1635 .qt = @bitCast(node_data[0]),
1465 .operand = @fromBackingInt(@intCast(node_data[1])),1636 .operand = @fromBackingInt(node_data[1]),
1466 },1637 },
1467 },1638 },
1468 .cond_dummy_expr => .{1639 .cond_dummy_expr => .{
1469 .cond_dummy_expr = .{1640 .cond_dummy_expr = .{
1470 .op_tok = node_tok,1641 .op_tok = node_tok,
1471 .qt = @bitCast(node_data[0]),1642 .qt = @bitCast(node_data[0]),
1472 .operand = @fromBackingInt(@intCast(node_data[1])),1643 .operand = @fromBackingInt(node_data[1]),
1473 },1644 },
1474 },1645 },
1475 .addr_of_label => .{1646 .addr_of_label => .{
...@@ -1482,15 +1653,15 @@ pub const Node = union(enum) {...@@ -1482,15 +1653,15 @@ pub const Node = union(enum) {
1482 .array_access_expr = .{1653 .array_access_expr = .{
1483 .l_bracket_tok = node_tok,1654 .l_bracket_tok = node_tok,
1484 .qt = @bitCast(node_data[0]),1655 .qt = @bitCast(node_data[0]),
1485 .base = @fromBackingInt(@intCast(node_data[1])),1656 .base = @fromBackingInt(node_data[1]),
1486 .index = @fromBackingInt(@intCast(node_data[2])),1657 .index = @fromBackingInt(node_data[2]),
1487 },1658 },
1488 },1659 },
1489 .call_expr => .{1660 .call_expr => .{
1490 .call_expr = .{1661 .call_expr = .{
1491 .l_paren_tok = node_tok,1662 .l_paren_tok = node_tok,
1492 .qt = @bitCast(node_data[0]),1663 .qt = @bitCast(node_data[0]),
1493 .callee = @fromBackingInt(@intCast(tree.extra.items[node_data[1]])),1664 .callee = @fromBackingInt(tree.extra.items[node_data[1]]),
1494 .args = @ptrCast(tree.extra.items[node_data[1] + 1 ..][0 .. node_data[2] - 1]),1665 .args = @ptrCast(tree.extra.items[node_data[1] + 1 ..][0 .. node_data[2] - 1]),
1495 },1666 },
1496 },1667 },
...@@ -1498,7 +1669,7 @@ pub const Node = union(enum) {...@@ -1498,7 +1669,7 @@ pub const Node = union(enum) {
1498 .call_expr = .{1669 .call_expr = .{
1499 .l_paren_tok = node_tok,1670 .l_paren_tok = node_tok,
1500 .qt = @bitCast(node_data[0]),1671 .qt = @bitCast(node_data[0]),
1501 .callee = @fromBackingInt(@intCast(node_data[1])),1672 .callee = @fromBackingInt(node_data[1]),
1502 .args = unPackElems(node_data[2..]),1673 .args = unPackElems(node_data[2..]),
1503 },1674 },
1504 },1675 },
...@@ -1520,7 +1691,7 @@ pub const Node = union(enum) {...@@ -1520,7 +1691,7 @@ pub const Node = union(enum) {
1520 .member_access_expr = .{1691 .member_access_expr = .{
1521 .access_tok = node_tok,1692 .access_tok = node_tok,
1522 .qt = @bitCast(node_data[0]),1693 .qt = @bitCast(node_data[0]),
1523 .base = @fromBackingInt(@intCast(node_data[1])),1694 .base = @fromBackingInt(node_data[1]),
1524 .member_index = node_data[2],1695 .member_index = node_data[2],
1525 },1696 },
1526 },1697 },
...@@ -1528,7 +1699,7 @@ pub const Node = union(enum) {...@@ -1528,7 +1699,7 @@ pub const Node = union(enum) {
1528 .member_access_ptr_expr = .{1699 .member_access_ptr_expr = .{
1529 .access_tok = node_tok,1700 .access_tok = node_tok,
1530 .qt = @bitCast(node_data[0]),1701 .qt = @bitCast(node_data[0]),
1531 .base = @fromBackingInt(@intCast(node_data[1])),1702 .base = @fromBackingInt(node_data[1]),
1532 .member_index = node_data[2],1703 .member_index = node_data[2],
1533 },1704 },
1534 },1705 },
...@@ -1536,14 +1707,14 @@ pub const Node = union(enum) {...@@ -1536,14 +1707,14 @@ pub const Node = union(enum) {
1536 .decl_ref_expr = .{1707 .decl_ref_expr = .{
1537 .name_tok = node_tok,1708 .name_tok = node_tok,
1538 .qt = @bitCast(node_data[0]),1709 .qt = @bitCast(node_data[0]),
1539 .decl = @fromBackingInt(@intCast(node_data[1])),1710 .decl = @fromBackingInt(node_data[1]),
1540 },1711 },
1541 },1712 },
1542 .enumeration_ref => .{1713 .enumeration_ref => .{
1543 .enumeration_ref = .{1714 .enumeration_ref = .{
1544 .name_tok = node_tok,1715 .name_tok = node_tok,
1545 .qt = @bitCast(node_data[0]),1716 .qt = @bitCast(node_data[0]),
1546 .decl = @fromBackingInt(@intCast(node_data[1])),1717 .decl = @fromBackingInt(node_data[1]),
1547 },1718 },
1548 },1719 },
1549 .builtin_ref => .{1720 .builtin_ref => .{
...@@ -1594,7 +1765,7 @@ pub const Node = union(enum) {...@@ -1594,7 +1765,7 @@ pub const Node = union(enum) {
1594 .imaginary_literal = .{1765 .imaginary_literal = .{
1595 .op_tok = node_tok,1766 .op_tok = node_tok,
1596 .qt = @bitCast(node_data[0]),1767 .qt = @bitCast(node_data[0]),
1597 .operand = @fromBackingInt(@intCast(node_data[1])),1768 .operand = @fromBackingInt(node_data[1]),
1598 },1769 },
1599 },1770 },
1600 .sizeof_expr => .{1771 .sizeof_expr => .{
...@@ -1618,8 +1789,8 @@ pub const Node = union(enum) {...@@ -1618,8 +1789,8 @@ pub const Node = union(enum) {
1618 .generic_expr = .{1789 .generic_expr = .{
1619 .generic_tok = node_tok,1790 .generic_tok = node_tok,
1620 .qt = @bitCast(node_data[0]),1791 .qt = @bitCast(node_data[0]),
1621 .controlling = @fromBackingInt(@intCast(node_data[1])),1792 .controlling = @fromBackingInt(node_data[1]),
1622 .chosen = @fromBackingInt(@intCast(node_data[2])),1793 .chosen = @fromBackingInt(node_data[2]),
1623 .rest = &.{},1794 .rest = &.{},
1624 },1795 },
1625 },1796 },
...@@ -1627,8 +1798,8 @@ pub const Node = union(enum) {...@@ -1627,8 +1798,8 @@ pub const Node = union(enum) {
1627 .generic_expr = .{1798 .generic_expr = .{
1628 .generic_tok = node_tok,1799 .generic_tok = node_tok,
1629 .qt = @bitCast(node_data[0]),1800 .qt = @bitCast(node_data[0]),
1630 .controlling = @fromBackingInt(@intCast(tree.extra.items[node_data[1]])),1801 .controlling = @fromBackingInt(tree.extra.items[node_data[1]]),
1631 .chosen = @fromBackingInt(@intCast(tree.extra.items[node_data[1] + 1])),1802 .chosen = @fromBackingInt(tree.extra.items[node_data[1] + 1]),
1632 .rest = @ptrCast(tree.extra.items[node_data[1] + 2 ..][0 .. node_data[2] - 2]),1803 .rest = @ptrCast(tree.extra.items[node_data[1] + 2 ..][0 .. node_data[2] - 2]),
1633 },1804 },
1634 },1805 },
...@@ -1636,40 +1807,40 @@ pub const Node = union(enum) {...@@ -1636,40 +1807,40 @@ pub const Node = union(enum) {
1636 .generic_association_expr = .{1807 .generic_association_expr = .{
1637 .colon_tok = node_tok,1808 .colon_tok = node_tok,
1638 .association_qt = @bitCast(node_data[0]),1809 .association_qt = @bitCast(node_data[0]),
1639 .expr = @fromBackingInt(@intCast(node_data[1])),1810 .expr = @fromBackingInt(node_data[1]),
1640 },1811 },
1641 },1812 },
1642 .generic_default_expr => .{1813 .generic_default_expr => .{
1643 .generic_default_expr = .{1814 .generic_default_expr = .{
1644 .default_tok = node_tok,1815 .default_tok = node_tok,
1645 .expr = @fromBackingInt(@intCast(node_data[0])),1816 .expr = @fromBackingInt(node_data[0]),
1646 },1817 },
1647 },1818 },
1648 .binary_cond_expr => .{1819 .binary_cond_expr => .{
1649 .binary_cond_expr = .{1820 .binary_cond_expr = .{
1650 .cond_tok = node_tok,1821 .cond_tok = node_tok,
1651 .qt = @bitCast(node_data[0]),1822 .qt = @bitCast(node_data[0]),
1652 .cond = @fromBackingInt(@intCast(node_data[1])),1823 .cond = @fromBackingInt(node_data[1]),
1653 .then_expr = @fromBackingInt(@intCast(tree.extra.items[node_data[2]])),1824 .then_expr = @fromBackingInt(tree.extra.items[node_data[2]]),
1654 .else_expr = @fromBackingInt(@intCast(tree.extra.items[node_data[2] + 1])),1825 .else_expr = @fromBackingInt(tree.extra.items[node_data[2] + 1]),
1655 },1826 },
1656 },1827 },
1657 .cond_expr => .{1828 .cond_expr => .{
1658 .cond_expr = .{1829 .cond_expr = .{
1659 .cond_tok = node_tok,1830 .cond_tok = node_tok,
1660 .qt = @bitCast(node_data[0]),1831 .qt = @bitCast(node_data[0]),
1661 .cond = @fromBackingInt(@intCast(node_data[1])),1832 .cond = @fromBackingInt(node_data[1]),
1662 .then_expr = @fromBackingInt(@intCast(tree.extra.items[node_data[2]])),1833 .then_expr = @fromBackingInt(tree.extra.items[node_data[2]]),
1663 .else_expr = @fromBackingInt(@intCast(tree.extra.items[node_data[2] + 1])),1834 .else_expr = @fromBackingInt(tree.extra.items[node_data[2] + 1]),
1664 },1835 },
1665 },1836 },
1666 .builtin_choose_expr => .{1837 .builtin_choose_expr => .{
1667 .builtin_choose_expr = .{1838 .builtin_choose_expr = .{
1668 .cond_tok = node_tok,1839 .cond_tok = node_tok,
1669 .qt = @bitCast(node_data[0]),1840 .qt = @bitCast(node_data[0]),
1670 .cond = @fromBackingInt(@intCast(node_data[1])),1841 .cond = @fromBackingInt(node_data[1]),
1671 .then_expr = @fromBackingInt(@intCast(tree.extra.items[node_data[2]])),1842 .then_expr = @fromBackingInt(tree.extra.items[node_data[2]]),
1672 .else_expr = @fromBackingInt(@intCast(tree.extra.items[node_data[2] + 1])),1843 .else_expr = @fromBackingInt(tree.extra.items[node_data[2] + 1]),
1673 },1844 },
1674 },1845 },
1675 .builtin_types_compatible_p => .{1846 .builtin_types_compatible_p => .{
...@@ -1683,15 +1854,15 @@ pub const Node = union(enum) {...@@ -1683,15 +1854,15 @@ pub const Node = union(enum) {
1683 .builtin_convertvector = .{1854 .builtin_convertvector = .{
1684 .builtin_tok = node_tok,1855 .builtin_tok = node_tok,
1685 .dest_qt = @bitCast(node_data[0]),1856 .dest_qt = @bitCast(node_data[0]),
1686 .operand = @fromBackingInt(@intCast(node_data[1])),1857 .operand = @fromBackingInt(node_data[1]),
1687 },1858 },
1688 },1859 },
1689 .builtin_shufflevector => .{1860 .builtin_shufflevector => .{
1690 .builtin_shufflevector = .{1861 .builtin_shufflevector = .{
1691 .builtin_tok = node_tok,1862 .builtin_tok = node_tok,
1692 .qt = @bitCast(node_data[0]),1863 .qt = @bitCast(node_data[0]),
1693 .lhs = @fromBackingInt(@intCast(tree.extra.items[node_data[1]])),1864 .lhs = @fromBackingInt(tree.extra.items[node_data[1]]),
1694 .rhs = @fromBackingInt(@intCast(tree.extra.items[node_data[1] + 1])),1865 .rhs = @fromBackingInt(tree.extra.items[node_data[1] + 1]),
1695 .indexes = @ptrCast(tree.extra.items[node_data[1] + 2 ..][0..node_data[2]]),1866 .indexes = @ptrCast(tree.extra.items[node_data[1] + 2 ..][0..node_data[2]]),
1696 },1867 },
1697 },1868 },
...@@ -1767,10 +1938,38 @@ pub const Node = union(enum) {...@@ -1767,10 +1938,38 @@ pub const Node = union(enum) {
1767 else1938 else
1768 .auto,1939 .auto,
1769 .thread_local = attr.thread_local,1940 .thread_local = attr.thread_local,
1770 .initializer = @fromBackingInt(@intCast(node_data[2])),1941 .initializer = @fromBackingInt(node_data[2]),
1771 },1942 },
1772 };1943 };
1773 },1944 },
1945 .codegen_diagnostic => {
1946 const attr: Node.Repr.DiagnosticPack = @bitCast(node_data[0]);
1947 return .{
1948 .codegen_diagnostic = .{
1949 .tok = node_tok,
1950 .kind = switch (attr.kind) {
1951 .@"error" => .@"error",
1952 .warning => .warning,
1953 },
1954 .opt = switch (attr.opt) {
1955 .none => null,
1956 .@"attribute-warning" => .@"attribute-warning",
1957 },
1958 .text = @ptrCast(tree.extra.items[node_data[1]..][0..node_data[2]]),
1959 },
1960 };
1961 },
1962 .alignas_type => .{
1963 .alignas_type = .{
1964 .alignas_tok = node_tok,
1965 .qt = @bitCast(node_data[0]),
1966 },
1967 },
1968 .identifier_arg => .{
1969 .identifier_arg = .{
1970 .identifier_tok = node_tok,
1971 },
1972 },
1774 };1973 };
1775 }1974 }
17761975
...@@ -1799,8 +1998,14 @@ pub const Node = union(enum) {...@@ -1799,8 +1998,14 @@ pub const Node = union(enum) {
1799 .default_stmt,1998 .default_stmt,
1800 .while_stmt,1999 .while_stmt,
1801 .do_while_stmt,2000 .do_while_stmt,
1802 .for_decl,2001 .for_full,
1803 .for_expr,2002 .for_init_cond,
2003 .for_init_incr,
2004 .for_cond_incr,
2005 .for_init,
2006 .for_cond,
2007 .for_incr,
2008 .for_ever,
1804 .goto_stmt,2009 .goto_stmt,
1805 .computed_goto_stmt,2010 .computed_goto_stmt,
1806 .continue_stmt,2011 .continue_stmt,
...@@ -1810,6 +2015,10 @@ pub const Node = union(enum) {...@@ -1810,6 +2015,10 @@ pub const Node = union(enum) {
1810 .asm_stmt_inline,2015 .asm_stmt_inline,
1811 .asm_stmt_inline_volatile,2016 .asm_stmt_inline_volatile,
1812 .asm_stmt_simple,2017 .asm_stmt_simple,
2018 .decl_stmt_three,
2019 .decl_stmt,
2020 .null_stmt,
2021 .labeled_stmt,
1813 .global_asm,2022 .global_asm,
1814 .generic_association_expr,2023 .generic_association_expr,
1815 .generic_default_expr,2024 .generic_default_expr,
...@@ -1823,6 +2032,12 @@ pub const Node = union(enum) {...@@ -1823,6 +2032,12 @@ pub const Node = union(enum) {
1823 },2032 },
1824 };2033 };
1825 }2034 }
2035
2036 /// No-op equivalent to OptIndex.unpack to make it easy for functions
2037 /// to accept both.
2038 pub inline fn unpack(node: Index) ?Index {
2039 return node;
2040 }
1826 };2041 };
18272042
1828 pub const OptIndex = enum(u32) {2043 pub const OptIndex = enum(u32) {
...@@ -1830,15 +2045,15 @@ pub const Node = union(enum) {...@@ -1830,15 +2045,15 @@ pub const Node = union(enum) {
1830 _,2045 _,
18312046
1832 pub fn unpack(opt: OptIndex) ?Index {2047 pub fn unpack(opt: OptIndex) ?Index {
1833 return if (opt == .null) null else @fromBackingInt(@intCast(@backingInt(opt)));2048 return if (opt == .null) null else @fromBackingInt(@backingInt(opt));
1834 }2049 }
18352050
1836 pub fn pack(index: Index) OptIndex {2051 pub fn pack(index: Index) OptIndex {
1837 return @fromBackingInt(@intCast(@backingInt(index)));2052 return @fromBackingInt(@backingInt(index));
1838 }2053 }
18392054
1840 pub fn packOpt(optional: ?Index) OptIndex {2055 pub fn packOpt(optional: ?Index) OptIndex {
1841 return if (optional) |some| @fromBackingInt(@intCast(@backingInt(some))) else .null;2056 return if (optional) |some| @fromBackingInt(@backingInt(some)) else .null;
1842 }2057 }
1843 };2058 };
18442059
...@@ -1858,6 +2073,18 @@ pub const Node = union(enum) {...@@ -1858,6 +2073,18 @@ pub const Node = union(enum) {
1858 _: u26 = 0,2073 _: u26 = 0,
1859 };2074 };
18602075
2076 const DiagnosticPack = packed struct(u32) {
2077 kind: enum(u1) {
2078 @"error",
2079 warning,
2080 },
2081 opt: enum(u1) {
2082 none,
2083 @"attribute-warning",
2084 },
2085 _: u30 = 0,
2086 };
2087
1861 pub const Tag = enum(u8) {2088 pub const Tag = enum(u8) {
1862 empty_decl,2089 empty_decl,
1863 static_assert,2090 static_assert,
...@@ -1888,8 +2115,14 @@ pub const Node = union(enum) {...@@ -1888,8 +2115,14 @@ pub const Node = union(enum) {
1888 default_stmt,2115 default_stmt,
1889 while_stmt,2116 while_stmt,
1890 do_while_stmt,2117 do_while_stmt,
1891 for_expr,2118 for_full,
1892 for_decl,2119 for_init_cond,
2120 for_init_incr,
2121 for_cond_incr,
2122 for_init,
2123 for_cond,
2124 for_incr,
2125 for_ever,
1893 goto_stmt,2126 goto_stmt,
1894 computed_goto_stmt,2127 computed_goto_stmt,
1895 continue_stmt,2128 continue_stmt,
...@@ -1903,6 +2136,8 @@ pub const Node = union(enum) {...@@ -1903,6 +2136,8 @@ pub const Node = union(enum) {
1903 asm_stmt_volatile,2136 asm_stmt_volatile,
1904 asm_stmt_inline_volatile,2137 asm_stmt_inline_volatile,
1905 asm_stmt_simple,2138 asm_stmt_simple,
2139 decl_stmt_three,
2140 decl_stmt,
1906 comma_expr,2141 comma_expr,
1907 assign_expr,2142 assign_expr,
1908 mul_assign_expr,2143 mul_assign_expr,
...@@ -1991,6 +2226,9 @@ pub const Node = union(enum) {...@@ -1991,6 +2226,9 @@ pub const Node = union(enum) {
1991 array_filler_expr,2226 array_filler_expr,
1992 default_init_expr,2227 default_init_expr,
1993 compound_literal_expr,2228 compound_literal_expr,
2229 codegen_diagnostic,
2230 alignas_type,
2231 identifier_arg,
1994 };2232 };
1995 };2233 };
19962234
...@@ -2150,8 +2388,7 @@ pub fn setNode(tree: *Tree, node: Node, index: usize) !void {...@@ -2150,8 +2388,7 @@ pub fn setNode(tree: *Tree, node: Node, index: usize) !void {
2150 },2388 },
2151 .labeled_stmt => |labeled| {2389 .labeled_stmt => |labeled| {
2152 repr.tag = .labeled_stmt;2390 repr.tag = .labeled_stmt;
2153 repr.data[0] = @bitCast(labeled.qt);2391 repr.data[0] = @backingInt(labeled.body);
2154 repr.data[1] = @backingInt(labeled.body);
2155 repr.tok = labeled.label_tok;2392 repr.tok = labeled.label_tok;
2156 },2393 },
2157 .compound_stmt => |compound| {2394 .compound_stmt => |compound| {
...@@ -2203,25 +2440,39 @@ pub fn setNode(tree: *Tree, node: Node, index: usize) !void {...@@ -2203,25 +2440,39 @@ pub fn setNode(tree: *Tree, node: Node, index: usize) !void {
2203 repr.tok = do_while.do_tok;2440 repr.tok = do_while.do_tok;
2204 },2441 },
2205 .for_stmt => |@"for"| {2442 .for_stmt => |@"for"| {
2206 switch (@"for".init) {2443 const init = @"for".init != null;
2207 .decls => |decls| {2444 const cond = @"for".cond != null;
2208 repr.tag = .for_decl;2445 const incr = @"for".incr != null;
2209 repr.data[0] = @intCast(tree.extra.items.len);2446 if (init and cond and incr) {
2210 const len: u32 = @intCast(decls.len + 2);2447 repr.tag = .for_full;
2211 try tree.extra.ensureUnusedCapacity(tree.comp.gpa, len);2448 repr.data[0] = packOptIndex(@"for".init);
2212 repr.data[1] = len;2449 repr.data[1] = @intCast(tree.extra.items.len);
2213 tree.extra.appendSliceAssumeCapacity(@ptrCast(decls));2450 try tree.extra.ensureUnusedCapacity(tree.comp.gpa, 2);
2214 tree.extra.appendAssumeCapacity(packOptIndex(@"for".cond));2451 tree.extra.appendAssumeCapacity(packOptIndex(@"for".cond));
2215 tree.extra.appendAssumeCapacity(packOptIndex(@"for".incr));2452 tree.extra.appendAssumeCapacity(packOptIndex(@"for".incr));
2216 },2453 } else if (init and cond) {
2217 .expr => |expr| {2454 repr.tag = .for_init_cond;
2218 repr.tag = .for_expr;2455 repr.data[0] = packOptIndex(@"for".init);
2219 repr.data[0] = packOptIndex(expr);2456 repr.data[1] = packOptIndex(@"for".cond);
2220 repr.data[1] = @intCast(tree.extra.items.len);2457 } else if (init and incr) {
2221 try tree.extra.ensureUnusedCapacity(tree.comp.gpa, 2);2458 repr.tag = .for_init_incr;
2222 tree.extra.appendAssumeCapacity(packOptIndex(@"for".cond));2459 repr.data[0] = packOptIndex(@"for".init);
2223 tree.extra.appendAssumeCapacity(packOptIndex(@"for".incr));2460 repr.data[1] = packOptIndex(@"for".incr);
2224 },2461 } else if (cond and incr) {
2462 repr.tag = .for_cond_incr;
2463 repr.data[0] = packOptIndex(@"for".cond);
2464 repr.data[1] = packOptIndex(@"for".incr);
2465 } else if (init) {
2466 repr.tag = .for_init;
2467 repr.data[0] = packOptIndex(@"for".cond);
2468 } else if (cond) {
2469 repr.tag = .for_cond;
2470 repr.data[0] = packOptIndex(@"for".cond);
2471 } else if (incr) {
2472 repr.tag = .for_incr;
2473 repr.data[0] = packOptIndex(@"for".cond);
2474 } else {
2475 repr.tag = .for_ever;
2225 }2476 }
2226 repr.data[2] = @backingInt(@"for".body);2477 repr.data[2] = @backingInt(@"for".body);
2227 repr.tok = @"for".for_tok;2478 repr.tok = @"for".for_tok;
...@@ -2245,7 +2496,6 @@ pub fn setNode(tree: *Tree, node: Node, index: usize) !void {...@@ -2245,7 +2496,6 @@ pub fn setNode(tree: *Tree, node: Node, index: usize) !void {
2245 },2496 },
2246 .null_stmt => |@"null"| {2497 .null_stmt => |@"null"| {
2247 repr.tag = .null_stmt;2498 repr.tag = .null_stmt;
2248 repr.data[0] = @bitCast(@"null".qt);
2249 repr.tok = @"null".semicolon_or_r_brace_tok;2499 repr.tok = @"null".semicolon_or_r_brace_tok;
2250 },2500 },
2251 .return_stmt => |@"return"| {2501 .return_stmt => |@"return"| {
...@@ -2299,6 +2549,17 @@ pub fn setNode(tree: *Tree, node: Node, index: usize) !void {...@@ -2299,6 +2549,17 @@ pub fn setNode(tree: *Tree, node: Node, index: usize) !void {
2299 tree.extra.appendSliceAssumeCapacity(@ptrCast(asm_stmt.labels));2549 tree.extra.appendSliceAssumeCapacity(@ptrCast(asm_stmt.labels));
2300 }2550 }
2301 },2551 },
2552 .decl_stmt => |decl_stmt| {
2553 repr.tok = decl_stmt.first_tok;
2554 if (decl_stmt.decls.len > 3) {
2555 repr.tag = .decl_stmt;
2556 repr.data[0], repr.data[1] = try tree.addExtra(decl_stmt.decls);
2557 } else {
2558 repr.tag = .decl_stmt_three;
2559 for (&repr.data, 0..) |*data, idx|
2560 data.* = packElem(decl_stmt.decls, idx);
2561 }
2562 },
2302 .assign_expr => |bin| {2563 .assign_expr => |bin| {
2303 repr.tag = .assign_expr;2564 repr.tag = .assign_expr;
2304 repr.data[0] = @bitCast(bin.qt);2565 repr.data[0] = @bitCast(bin.qt);
...@@ -2870,6 +3131,31 @@ pub fn setNode(tree: *Tree, node: Node, index: usize) !void {...@@ -2870,6 +3131,31 @@ pub fn setNode(tree: *Tree, node: Node, index: usize) !void {
2870 repr.data[2] = @backingInt(literal.initializer);3131 repr.data[2] = @backingInt(literal.initializer);
2871 repr.tok = literal.l_paren_tok;3132 repr.tok = literal.l_paren_tok;
2872 },3133 },
3134 .codegen_diagnostic => |diagnostic| {
3135 repr.tag = .codegen_diagnostic;
3136 repr.data[0] = @bitCast(Node.Repr.DiagnosticPack{
3137 .kind = switch (diagnostic.kind) {
3138 .@"error" => .@"error",
3139 .warning => .warning,
3140 else => unreachable,
3141 },
3142 .opt = if (diagnostic.opt) |opt| switch (opt) {
3143 .@"attribute-warning" => .@"attribute-warning",
3144 else => unreachable,
3145 } else .none,
3146 });
3147 repr.data[1], repr.data[2] = try tree.addExtra(@ptrCast(diagnostic.text));
3148 repr.tok = diagnostic.tok;
3149 },
3150 .alignas_type => |alignas| {
3151 repr.tag = .alignas_type;
3152 repr.data[0] = @bitCast(alignas.qt);
3153 repr.tok = alignas.alignas_tok;
3154 },
3155 .identifier_arg => |identifier_arg| {
3156 repr.tag = .identifier_arg;
3157 repr.tok = identifier_arg.identifier_tok;
3158 },
2873 }3159 }
2874 tree.nodes.set(index, repr);3160 tree.nodes.set(index, repr);
2875}3161}
...@@ -2922,21 +3208,25 @@ pub fn bitfieldWidth(tree: *const Tree, node: Node.Index, inspect_lval: bool) ?u...@@ -2922,21 +3208,25 @@ pub fn bitfieldWidth(tree: *const Tree, node: Node.Index, inspect_lval: bool) ?u
2922 }3208 }
2923}3209}
29243210
2925const CallableResultUsage = struct {3211const CalledFunctionAttr = struct {
2926 /// name token of the thing being called, for diagnostics3212 /// name token of the thing being called, for diagnostics
2927 tok: TokenIndex,3213 tok: TokenIndex,
2928 /// true if `nodiscard` attribute present3214 /// The requested attribute if present.
2929 nodiscard: bool,3215 attr: ?Attribute,
2930 /// true if `warn_unused_result` attribute present
2931 warn_unused_result: bool,
2932};3216};
29333217
2934pub fn callableResultUsage(tree: *const Tree, node: Node.Index) ?CallableResultUsage {3218/// Check for an attribute on function declaration or its return type.
3219pub fn calledFunctionAttr(tree: *const Tree, node: Node.Index, tag: Attribute.Tag) ?CalledFunctionAttr {
3220 const comp = tree.comp;
3221 const am = &tree.attr_map;
2935 loop: switch (node.get(tree)) {3222 loop: switch (node.get(tree)) {
2936 .decl_ref_expr => |decl_ref| return .{3223 .decl_ref_expr => |decl_ref| return .{
2937 .tok = decl_ref.name_tok,3224 .tok = decl_ref.name_tok,
2938 .nodiscard = decl_ref.qt.hasAttribute(tree.comp, .nodiscard),3225 .attr = am.getAttribute(decl_ref.decl, tag) orelse blk: {
2939 .warn_unused_result = decl_ref.qt.hasAttribute(tree.comp, .warn_unused_result),3226 const base_qt = if (decl_ref.qt.get(comp, .pointer)) |pointer| pointer.child else decl_ref.qt;
3227 const func = base_qt.get(comp, .func) orelse break :blk null;
3228 break :blk func.return_type.getAttribute(tree, tag);
3229 },
2940 },3230 },
29413231
2942 .paren_expr, .addr_of_expr, .deref_expr => |un| continue :loop un.operand.get(tree),3232 .paren_expr, .addr_of_expr, .deref_expr => |un| continue :loop un.operand.get(tree),
...@@ -2945,23 +3235,30 @@ pub fn callableResultUsage(tree: *const Tree, node: Node.Index) ?CallableResultU...@@ -2945,23 +3235,30 @@ pub fn callableResultUsage(tree: *const Tree, node: Node.Index) ?CallableResultU
2945 .call_expr => |call| continue :loop call.callee.get(tree),3235 .call_expr => |call| continue :loop call.callee.get(tree),
2946 .member_access_expr, .member_access_ptr_expr => |access| {3236 .member_access_expr, .member_access_ptr_expr => |access| {
2947 var qt = access.base.qt(tree);3237 var qt = access.base.qt(tree);
2948 if (qt.get(tree.comp, .pointer)) |pointer| qt = pointer.child;3238 if (qt.get(comp, .pointer)) |pointer| qt = pointer.child;
2949 const record_ty = switch (qt.base(tree.comp).type) {3239 const record_ty = qt.getRecord(comp) orelse return null;
2950 .@"struct", .@"union" => |record| record,
2951 else => return null,
2952 };
29533240
2954 const field = record_ty.fields[access.member_index];3241 const field = record_ty.fields[access.member_index];
2955 return .{3242 return .{
2956 .tok = field.name_tok,3243 .tok = field.name_tok,
2957 .nodiscard = field.qt.hasAttribute(tree.comp, .nodiscard),3244 .attr = am.getAttribute(field.field_decl, tag) orelse blk: {
2958 .warn_unused_result = field.qt.hasAttribute(tree.comp, .warn_unused_result),3245 const base_qt = if (field.qt.get(comp, .pointer)) |pointer| pointer.child else field.qt;
3246 const func = base_qt.get(comp, .func) orelse break :blk null;
3247 break :blk func.return_type.getAttribute(tree, tag);
3248 },
2959 };3249 };
2960 },3250 },
2961 else => return null,3251 else => return null,
2962 }3252 }
2963}3253}
29643254
3255pub fn linkage(tree: *const Tree, node: Node.Index) std.builtin.GlobalLinkage {
3256 const am = &tree.attr_map;
3257 if (am.hasAttribute(node, .weak)) return .weak;
3258 if (am.hasAttribute(node, .selectany)) return .weak;
3259 return .strong;
3260}
3261
2965pub fn isLval(tree: *const Tree, node: Node.Index) bool {3262pub fn isLval(tree: *const Tree, node: Node.Index) bool {
2966 var is_const: bool = undefined;3263 var is_const: bool = undefined;
2967 return tree.isLvalExtra(node, &is_const);3264 return tree.isLvalExtra(node, &is_const);
...@@ -3028,6 +3325,196 @@ pub fn tokSlice(tree: *const Tree, tok_i: TokenIndex) []const u8 {...@@ -3028,6 +3325,196 @@ pub fn tokSlice(tree: *const Tree, tok_i: TokenIndex) []const u8 {
3028 return tree.comp.locSlice(loc);3325 return tree.comp.locSlice(loc);
3029}3326}
30303327
3328pub fn write(tree: *const Tree, node: Node.Index, w: *std.Io.Writer) std.Io.Writer.Error!void {
3329 switch (node.get(tree)) {
3330 .cast => |cast| {
3331 if (!cast.implicit) {
3332 try w.writeByte('(');
3333 try cast.qt.printDesugared(tree.comp, w);
3334 try w.writeByte(')');
3335 }
3336 try tree.write(cast.operand, w);
3337 },
3338 .paren_expr => |un| {
3339 try w.writeByte('(');
3340 try tree.write(un.operand, w);
3341 try w.writeByte(')');
3342 },
3343 .comma_expr => |bin| {
3344 try tree.write(bin.lhs, w);
3345 try w.writeAll(", ");
3346 try tree.write(bin.rhs, w);
3347 },
3348 .bool_or_expr,
3349 .bool_and_expr,
3350 .bit_or_expr,
3351 .bit_xor_expr,
3352 .bit_and_expr,
3353 .equal_expr,
3354 .not_equal_expr,
3355 .less_than_expr,
3356 .less_than_equal_expr,
3357 .greater_than_expr,
3358 .greater_than_equal_expr,
3359 .shl_expr,
3360 .shr_expr,
3361 .add_expr,
3362 .sub_expr,
3363 .mul_expr,
3364 .div_expr,
3365 .mod_expr,
3366 => |bin| {
3367 try tree.write(bin.lhs, w);
3368 try w.print(" {s} ", .{tree.tokSlice(bin.op_tok)});
3369 try tree.write(bin.rhs, w);
3370 },
3371 .addr_of_expr,
3372 .deref_expr,
3373 .plus_expr,
3374 .negate_expr,
3375 .bit_not_expr,
3376 .bool_not_expr,
3377 .pre_inc_expr,
3378 .pre_dec_expr,
3379 => |un| {
3380 try w.writeAll(tree.tokSlice(un.op_tok));
3381 try tree.write(un.operand, w);
3382 },
3383 .imag_expr,
3384 .real_expr,
3385 => |un| {
3386 try w.writeAll(tree.tokSlice(un.op_tok));
3387 try w.writeByte(' ');
3388 try tree.write(un.operand, w);
3389 },
3390 .post_inc_expr,
3391 .post_dec_expr,
3392 => |un| {
3393 try tree.write(un.operand, w);
3394 try w.writeAll(tree.tokSlice(un.op_tok));
3395 },
3396 .bool_literal,
3397 .nullptr_literal,
3398 .int_literal,
3399 .float_literal,
3400 => |literal| {
3401 try w.writeAll(tree.tokSlice(literal.literal_tok));
3402 },
3403 .char_literal => |literal| {
3404 try w.writeAll(tree.tokSlice(literal.literal_tok));
3405 },
3406 .string_literal_expr => |literal| {
3407 const val = tree.value_map.get(node).?;
3408 _ = try val.print(literal.qt, tree.comp, w);
3409 },
3410 .imaginary_literal => |un| try tree.write(un.operand, w),
3411 .sizeof_expr,
3412 .alignof_expr,
3413 => |type_info| {
3414 try w.writeAll(tree.tokSlice(type_info.op_tok));
3415 if (type_info.expr) |expr| {
3416 try w.writeByte(' ');
3417 return tree.write(expr, w);
3418 }
3419 try w.writeByte('(');
3420 try type_info.operand_qt.printDesugared(tree.comp, w);
3421 try w.writeByte(')');
3422 },
3423 .decl_ref_expr,
3424 .enumeration_ref,
3425 => |decl_ref| {
3426 try w.writeAll(tree.tokSlice(decl_ref.name_tok));
3427 },
3428 .builtin_types_compatible_p => |bin| {
3429 try w.writeAll(tree.tokSlice(bin.builtin_tok));
3430 try w.writeByte('(');
3431 try bin.lhs.printDesugared(tree.comp, w);
3432 try w.writeAll(", ");
3433 try bin.rhs.printDesugared(tree.comp, w);
3434 try w.writeByte(')');
3435 },
3436 .generic_expr => |generic| {
3437 try w.writeAll(tree.tokSlice(generic.generic_tok));
3438 try w.writeByte('(');
3439 try tree.write(generic.controlling, w);
3440 for (generic.rest) |association| {
3441 try w.writeAll(", ");
3442 try tree.write(association, w);
3443 }
3444 try w.writeAll(", ");
3445 try tree.write(generic.chosen, w);
3446 try w.writeByte(')');
3447 },
3448 .generic_association_expr => |generic| {
3449 try generic.association_qt.printDesugared(tree.comp, w);
3450 try w.writeAll(": ");
3451 try tree.write(generic.expr, w);
3452 },
3453 .generic_default_expr => |generic| {
3454 try w.writeAll(tree.tokSlice(generic.default_tok));
3455 try w.writeAll(": ");
3456 try tree.write(generic.expr, w);
3457 },
3458 .builtin_call_expr => |call| {
3459 try w.writeAll(tree.tokSlice(call.builtin_tok));
3460 try w.writeByte('(');
3461 for (call.args, 0..) |arg, i| {
3462 if (i != 0) try w.writeAll(", ");
3463 try tree.write(arg, w);
3464 }
3465 try w.writeByte(')');
3466 },
3467 .binary_cond_expr => |cond| {
3468 try tree.write(cond.cond, w);
3469 try w.writeAll(" ?: ");
3470 try tree.write(cond.else_expr, w);
3471 },
3472 .cond_expr => |cond| {
3473 try tree.write(cond.cond, w);
3474 try w.writeAll(" ? ");
3475 try tree.write(cond.then_expr, w);
3476 try w.writeAll(" : ");
3477 try tree.write(cond.else_expr, w);
3478 },
3479 .builtin_choose_expr => |cond| {
3480 try w.writeAll("__builtin_choose_expr(");
3481 try tree.write(cond.cond, w);
3482 try w.writeAll(", ");
3483 try tree.write(cond.then_expr, w);
3484 try w.writeAll(", ");
3485 try tree.write(cond.else_expr, w);
3486 try w.writeByte(')');
3487 },
3488 .builtin_va_arg_pack,
3489 .builtin_va_arg_pack_len,
3490 => |va_arg| {
3491 try w.writeAll(tree.tokSlice(va_arg.builtin_tok));
3492 try w.writeAll("()");
3493 },
3494 .array_access_expr => |access| {
3495 try tree.write(access.base, w);
3496 try w.writeByte('[');
3497 try tree.write(access.index, w);
3498 try w.writeByte(']');
3499 },
3500 .member_access_expr,
3501 .member_access_ptr_expr,
3502 => |access| {
3503 try tree.write(access.base, w);
3504
3505 var base_qt = access.base.qt(tree);
3506 if (base_qt.get(tree.comp, .pointer)) |some| base_qt = some.child;
3507 const fields = (base_qt.getRecord(tree.comp) orelse return).fields;
3508 const name = fields[access.member_index].name.lookup(tree.comp);
3509 if (name[0] == '(') return;
3510
3511 try w.writeAll(tree.tokSlice(access.access_tok));
3512 try w.writeAll(name);
3513 },
3514 else => try w.writeAll("<node>"),
3515 }
3516}
3517
3031pub fn dump(tree: *const Tree, term: std.Io.Terminal) std.Io.Terminal.SetColorError!void {3518pub fn dump(tree: *const Tree, term: std.Io.Terminal) std.Io.Terminal.SetColorError!void {
3032 for (tree.root_decls.items) |i| {3519 for (tree.root_decls.items) |i| {
3033 try tree.dumpNode(i, 0, term);3520 try tree.dumpNode(i, 0, term);
...@@ -3036,44 +3523,48 @@ pub fn dump(tree: *const Tree, term: std.Io.Terminal) std.Io.Terminal.SetColorEr...@@ -3036,44 +3523,48 @@ pub fn dump(tree: *const Tree, term: std.Io.Terminal) std.Io.Terminal.SetColorEr
3036 try term.writer.flush();3523 try term.writer.flush();
3037}3524}
30383525
3039fn dumpFieldAttributes(tree: *const Tree, attributes: []const Attribute, level: u32, w: *std.Io.Writer) !void {3526fn dumpAttribute(tree: *const Tree, ref: Attribute.Map.Ref, w: *std.Io.Writer) !void {
3040 for (attributes) |attr| {3527 const attr = tree.attr_map.get(ref);
3041 try w.splatByteAll(' ', level);3528
3042 try w.print("field attr: {s}", .{@tagName(attr.tag)});3529 if (attr.syntax == .standard) {
3043 try tree.dumpAttribute(attr, w);3530 try w.writeAll(@tagName(attr.name));
3531 try w.writeAll("::");
3532 }
3533 switch (attr.name) {
3534 .aro => {},
3535 inline else => |tag| try w.writeAll(@tagName(tag)),
3044 }3536 }
3045}
30463537
3047fn dumpAttribute(tree: *const Tree, attr: Attribute, w: *std.Io.Writer) !void {3538 switch (attr.args) {
3048 switch (attr.tag) {3539 inline else => |args| switch (@TypeOf(args)) {
3049 inline else => |tag| {3540 void => {},
3050 const args = @field(attr.args, @tagName(tag));3541 []const u8 => try w.print(": {s}", .{args}),
3051 const args_info = @typeInfo(@TypeOf(args)).@"struct";3542 ?[]const u8 => try w.print(": {?s}", .{args}),
3052 if (args_info.field_names.len == 0) {3543 else => switch (@typeInfo(@TypeOf(args))) {
3053 try w.writeByte('\n');3544 .@"struct" => |info| {
3054 return;3545 try w.writeAll(": { ");
3055 }3546 inline for (info.field_names, info.field_types, 0..) |f_name, f_type, i| {
3056 try w.writeByte(' ');3547 if (i != 0) {
3057 inline for (args_info.field_names, args_info.field_types, 0..) |f_name, f_type, i| {3548 try w.writeAll(", ");
3058 if (comptime std.mem.eql(u8, f_name, "__name_tok")) continue;3549 }
3059 if (i != 0) {3550 try w.writeAll(f_name);
3060 try w.writeAll(", ");3551 try w.writeAll(": ");
3061 }3552 switch (f_type) {
3062 try w.writeAll(f_name);3553 []const u8 => try w.print("{s}", .{@field(args, f_name)}),
3063 try w.writeAll(": ");3554 ?[]const u8 => try w.print("{?s}", .{@field(args, f_name)}),
3064 switch (f_type) {3555 else => switch (@typeInfo(f_type)) {
3065 Interner.Ref => try w.print("\"{s}\"", .{tree.interner.get(@field(args, f_name)).bytes}),3556 else => try w.print("{any}", .{@field(args, f_name)}),
3066 ?Interner.Ref => try w.print("\"{?s}\"", .{if (@field(args, f_name)) |str| tree.interner.get(str).bytes else null}),3557 },
3067 else => switch (@typeInfo(f_type)) {3558 }
3068 .@"enum" => try w.writeAll(@tagName(@field(args, f_name))),3559 }
3069 else => try w.print("{any}", .{@field(args, f_name)}),3560 try w.writeAll(" }");
3070 },3561 },
3071 }3562 else => try w.print(": {any}", .{args}),
3072 }3563 },
3073 try w.writeByte('\n');
3074 return;
3075 },3564 },
3076 }3565 }
3566 try w.writeByte('\n');
3567 return;
3077}3568}
30783569
3079fn dumpNode(3570fn dumpNode(
...@@ -3101,14 +3592,14 @@ fn dumpNode(...@@ -3101,14 +3592,14 @@ fn dumpNode(
3101 } else {3592 } else {
3102 try term.setColor(if (node.isImplicit()) IMPLICIT else TAG);3593 try term.setColor(if (node.isImplicit()) IMPLICIT else TAG);
3103 }3594 }
3104 try w.print("{s}", .{@tagName(node)});3595 try w.print("{t}", .{node});
31053596
3106 if (node_index.qtOrNull(tree)) |qt| {3597 if (node_index.qtOrNull(tree)) |qt| {
3107 try w.writeAll(": ");3598 try w.writeAll(": ");
3108 switch (node) {3599 switch (node) {
3109 .cast => |cast| {3600 .cast => |cast| {
3110 try term.setColor(.white);3601 try term.setColor(.white);
3111 try w.print("({s}) ", .{@tagName(cast.kind)});3602 try w.print("({t}) ", .{cast.kind});
3112 },3603 },
3113 else => {},3604 else => {},
3114 }3605 }
...@@ -3146,7 +3637,7 @@ fn dumpNode(...@@ -3146,7 +3637,7 @@ fn dumpNode(
3146 _ = try ptr.offset.print(tree.comp.type_store.ptrdiff, tree.comp, w);3637 _ = try ptr.offset.print(tree.comp.type_store.ptrdiff, tree.comp, w);
3147 },3638 },
3148 else => {3639 else => {
3149 const ptr_node: Node.Index = @fromBackingInt(@intCast(ptr.node));3640 const ptr_node: Node.Index = @fromBackingInt(ptr.node);
3150 const decl_name = tree.tokSlice(ptr_node.tok(tree));3641 const decl_name = tree.tokSlice(ptr_node.tok(tree));
3151 try ptr.offset.printPointer(decl_name, tree.comp, w);3642 try ptr.offset.printPointer(decl_name, tree.comp, w);
3152 },3643 },
...@@ -3161,19 +3652,16 @@ fn dumpNode(...@@ -3161,19 +3652,16 @@ fn dumpNode(
3161 }3652 }
31623653
3163 try w.writeAll("\n");3654 try w.writeAll("\n");
3164 try term.setColor(.reset);
31653655
3166 if (node_index.qtOrNull(tree)) |qt| {3656 const node_attrs = tree.attr_map.attrs(node_index);
3657 if (node_attrs.len > 0) {
3167 try term.setColor(ATTRIBUTE);3658 try term.setColor(ATTRIBUTE);
3168 var it = Attribute.Iterator.initType(qt, tree.comp);3659 for (node_attrs) |attr| {
3169 while (it.next()) |item| {
3170 const attr, _ = item;
3171 try w.splatByteAll(' ', level + half);3660 try w.splatByteAll(' ', level + half);
3172 try w.print("attr: {s}", .{@tagName(attr.tag)});
3173 try tree.dumpAttribute(attr, w);3661 try tree.dumpAttribute(attr, w);
3174 }3662 }
3175 try term.setColor(.reset);
3176 }3663 }
3664 try term.setColor(.reset);
31773665
3178 switch (node) {3666 switch (node) {
3179 .empty_decl => {},3667 .empty_decl => {},
...@@ -3312,27 +3800,9 @@ fn dumpNode(...@@ -3312,27 +3800,9 @@ fn dumpNode(
3312 }3800 }
3313 },3801 },
3314 .struct_decl, .union_decl => |decl| {3802 .struct_decl, .union_decl => |decl| {
3315 const fields = switch (node_index.qt(tree).base(tree.comp).type) {
3316 .@"struct", .@"union" => |record| record.fields,
3317 else => unreachable,
3318 };
3319
3320 var field_i: u32 = 0;
3321 for (decl.fields, 0..) |field_node, i| {3803 for (decl.fields, 0..) |field_node, i| {
3322 if (i != 0) try w.writeByte('\n');3804 if (i != 0) try w.writeByte('\n');
3323 try tree.dumpNode(field_node, level + delta, term);3805 try tree.dumpNode(field_node, level + delta, term);
3324
3325 if (field_node.get(tree) != .record_field) continue;
3326 if (fields.len == 0) continue;
3327
3328 const field_attributes = fields[field_i].attributes(tree.comp);
3329 field_i += 1;
3330
3331 if (field_attributes.len == 0) continue;
3332
3333 try term.setColor(ATTRIBUTE);
3334 try tree.dumpFieldAttributes(field_attributes, level + delta + half, w);
3335 try term.setColor(.reset);
3336 }3806 }
3337 },3807 },
3338 .array_init_expr, .struct_init_expr => |init| {3808 .array_init_expr, .struct_init_expr => |init| {
...@@ -3497,20 +3967,10 @@ fn dumpNode(...@@ -3497,20 +3967,10 @@ fn dumpNode(
3497 try tree.dumpNode(do.body, level + delta, term);3967 try tree.dumpNode(do.body, level + delta, term);
3498 },3968 },
3499 .for_stmt => |@"for"| {3969 .for_stmt => |@"for"| {
3500 switch (@"for".init) {3970 if (@"for".init) |some| {
3501 .decls => |decls| {3971 try w.splatByteAll(' ', level + half);
3502 try w.splatByteAll(' ', level + half);3972 try w.writeAll("init:\n");
3503 try w.writeAll("decl:\n");3973 try tree.dumpNode(some, level + delta, term);
3504 for (decls) |decl| {
3505 try tree.dumpNode(decl, level + delta, term);
3506 try w.writeByte('\n');
3507 }
3508 },
3509 .expr => |expr| if (expr) |some| {
3510 try w.splatByteAll(' ', level + half);
3511 try w.writeAll("init:\n");
3512 try tree.dumpNode(some, level + delta, term);
3513 },
3514 }3974 }
3515 if (@"for".cond) |some| {3975 if (@"for".cond) |some| {
3516 try w.splatByteAll(' ', level + half);3976 try w.splatByteAll(' ', level + half);
...@@ -3624,6 +4084,11 @@ fn dumpNode(...@@ -3624,6 +4084,11 @@ fn dumpNode(
3624 }4084 }
3625 }4085 }
3626 },4086 },
4087 .decl_stmt => |decl_stmt| {
4088 for (decl_stmt.decls) |decl| {
4089 try tree.dumpNode(decl, level + delta, term);
4090 }
4091 },
3627 .call_expr => |call| {4092 .call_expr => |call| {
3628 try w.splatByteAll(' ', level + half);4093 try w.splatByteAll(' ', level + half);
3629 try w.writeAll("callee:\n");4094 try w.writeAll("callee:\n");
...@@ -3807,5 +4272,14 @@ fn dumpNode(...@@ -3807,5 +4272,14 @@ fn dumpNode(
3807 .cond_dummy_expr,4272 .cond_dummy_expr,
3808 .compound_assign_dummy_expr,4273 .compound_assign_dummy_expr,
3809 => {},4274 => {},
4275 .codegen_diagnostic => |diagnostic| {
4276 try w.splatByteAll(' ', level + 1);
4277 try w.print("{t}: {s}", .{ diagnostic.kind, @as([]const u8, @ptrCast(diagnostic.text)) });
4278 if (diagnostic.opt) |opt| {
4279 try w.print(" [-W{t}]", .{opt});
4280 }
4281 },
4282 .alignas_type => unreachable,
4283 .identifier_arg => unreachable,
3810 }4284 }
3811}4285}
lib/compiler/aro/aro/TypeStore.zig+591-265
...@@ -20,23 +20,30 @@ const Repr = struct {...@@ -20,23 +20,30 @@ const Repr = struct {
20 complex,20 complex,
21 bit_int,21 bit_int,
22 atomic,22 atomic,
23 block,
23 func,24 func,
24 func_variadic,25 func_variadic,
25 func_old_style,26 func_old_style,
27 func_attributed,
26 func_zero,28 func_zero,
27 func_variadic_zero,29 func_variadic_zero,
28 func_old_style_zero,30 func_old_style_zero,
31 func_attributed_zero,
29 func_one,32 func_one,
30 func_variadic_one,33 func_variadic_one,
31 func_old_style_one,34 func_old_style_one,
35 func_attributed_one,
32 pointer,36 pointer,
33 pointer_decayed,37 pointer_decayed,
38 pointer_decayed_attributed,
34 array_incomplete,39 array_incomplete,
35 array_fixed,40 array_fixed,
36 array_static,41 array_static,
37 array_variable,42 array_variable,
38 array_unspecified_variable,43 array_unspecified_variable,
39 vector,44 vector,
45 vector_neon,
46 vector_neon_poly,
40 @"struct",47 @"struct",
41 struct_incomplete,48 struct_incomplete,
42 @"union",49 @"union",
...@@ -48,8 +55,18 @@ const Repr = struct {...@@ -48,8 +55,18 @@ const Repr = struct {
48 typeof,55 typeof,
49 typeof_expr,56 typeof_expr,
50 typedef,57 typedef,
51 attributed,58 };
52 attributed_one,59
60 const FuncAttrs = packed struct(u32) {
61 kind: Type.Func.Kind,
62 cc: Type.Func.CallingConvention,
63 _: u26 = 0,
64 };
65
66 const PointerAttrs = packed struct(u32) {
67 bounds: Type.Pointer.Bounds,
68 nullability: Type.Pointer.Nullability,
69 _: u27 = 0,
53 };70 };
54};71};
5572
...@@ -101,6 +118,9 @@ const Index = enum(u29) {...@@ -101,6 +118,9 @@ const Index = enum(u29) {
101 float_dfloat64 = std.math.maxInt(u29) - 36,118 float_dfloat64 = std.math.maxInt(u29) - 36,
102 float_dfloat128 = std.math.maxInt(u29) - 37,119 float_dfloat128 = std.math.maxInt(u29) - 37,
103 float_dfloat64x = std.math.maxInt(u29) - 38,120 float_dfloat64x = std.math.maxInt(u29) - 38,
121 mfp8 = std.math.maxInt(u29) - 39,
122 int_int24 = std.math.maxInt(u29) - 40,
123 int_uint24 = std.math.maxInt(u29) - 41,
104 _,124 _,
105};125};
106126
...@@ -132,6 +152,8 @@ pub const QualType = packed struct(u32) {...@@ -132,6 +152,8 @@ pub const QualType = packed struct(u32) {
132 pub const ulong_long: QualType = .{ ._index = .int_ulong_long };152 pub const ulong_long: QualType = .{ ._index = .int_ulong_long };
133 pub const int128: QualType = .{ ._index = .int_int128 };153 pub const int128: QualType = .{ ._index = .int_int128 };
134 pub const uint128: QualType = .{ ._index = .int_uint128 };154 pub const uint128: QualType = .{ ._index = .int_uint128 };
155 pub const int24: QualType = .{ ._index = .int_int24 };
156 pub const uint24: QualType = .{ ._index = .int_uint24 };
135 pub const bf16: QualType = .{ ._index = .float_bf16 };157 pub const bf16: QualType = .{ ._index = .float_bf16 };
136 pub const fp16: QualType = .{ ._index = .float_fp16 };158 pub const fp16: QualType = .{ ._index = .float_fp16 };
137 pub const float16: QualType = .{ ._index = .float_float16 };159 pub const float16: QualType = .{ ._index = .float_float16 };
...@@ -148,6 +170,7 @@ pub const QualType = packed struct(u32) {...@@ -148,6 +170,7 @@ pub const QualType = packed struct(u32) {
148 pub const dfloat64: QualType = .{ ._index = .float_dfloat64 };170 pub const dfloat64: QualType = .{ ._index = .float_dfloat64 };
149 pub const dfloat128: QualType = .{ ._index = .float_dfloat128 };171 pub const dfloat128: QualType = .{ ._index = .float_dfloat128 };
150 pub const dfloat64x: QualType = .{ ._index = .float_dfloat64x };172 pub const dfloat64x: QualType = .{ ._index = .float_dfloat64x };
173 pub const mfp8: QualType = .{ ._index = .mfp8 };
151 pub const void_pointer: QualType = .{ ._index = .void_pointer };174 pub const void_pointer: QualType = .{ ._index = .void_pointer };
152 pub const char_pointer: QualType = .{ ._index = .char_pointer };175 pub const char_pointer: QualType = .{ ._index = .char_pointer };
153 pub const int_pointer: QualType = .{ ._index = .int_pointer };176 pub const int_pointer: QualType = .{ ._index = .int_pointer };
...@@ -164,6 +187,10 @@ pub const QualType = packed struct(u32) {...@@ -164,6 +187,10 @@ pub const QualType = packed struct(u32) {
164 return qt._index == .c23_auto;187 return qt._index == .c23_auto;
165 }188 }
166189
190 pub fn isAuto(qt: QualType) bool {
191 return qt._index == .auto_type or qt._index == .c23_auto;
192 }
193
167 pub fn isQualified(qt: QualType) bool {194 pub fn isQualified(qt: QualType) bool {
168 return qt.@"const" or qt.@"volatile" or qt.restrict;195 return qt.@"const" or qt.@"volatile" or qt.restrict;
169 }196 }
...@@ -203,6 +230,8 @@ pub const QualType = packed struct(u32) {...@@ -203,6 +230,8 @@ pub const QualType = packed struct(u32) {
203 .int_ulong_long => return .{ .int = .ulong_long },230 .int_ulong_long => return .{ .int = .ulong_long },
204 .int_int128 => return .{ .int = .int128 },231 .int_int128 => return .{ .int = .int128 },
205 .int_uint128 => return .{ .int = .uint128 },232 .int_uint128 => return .{ .int = .uint128 },
233 .int_int24 => return .{ .int = .int24 },
234 .int_uint24 => return .{ .int = .uint24 },
206 .float_bf16 => return .{ .float = .bf16 },235 .float_bf16 => return .{ .float = .bf16 },
207 .float_fp16 => return .{ .float = .fp16 },236 .float_fp16 => return .{ .float = .fp16 },
208 .float_float16 => return .{ .float = .float16 },237 .float_float16 => return .{ .float = .float16 },
...@@ -219,6 +248,7 @@ pub const QualType = packed struct(u32) {...@@ -219,6 +248,7 @@ pub const QualType = packed struct(u32) {
219 .float_dfloat64 => return .{ .float = .dfloat64 },248 .float_dfloat64 => return .{ .float = .dfloat64 },
220 .float_dfloat128 => return .{ .float = .dfloat128 },249 .float_dfloat128 => return .{ .float = .dfloat128 },
221 .float_dfloat64x => return .{ .float = .dfloat64x },250 .float_dfloat64x => return .{ .float = .dfloat64x },
251 .mfp8 => return .{ .storage_float = .mfp8 },
222 .void_pointer => return .{ .pointer = .{ .child = .void } },252 .void_pointer => return .{ .pointer = .{ .child = .void } },
223 .char_pointer => return .{ .pointer = .{ .child = .char } },253 .char_pointer => return .{ .pointer = .{ .child = .char } },
224 .int_pointer => return .{ .pointer = .{ .child = .int } },254 .int_pointer => return .{ .pointer = .{ .child = .int } },
...@@ -234,6 +264,7 @@ pub const QualType = packed struct(u32) {...@@ -234,6 +264,7 @@ pub const QualType = packed struct(u32) {
234 .bits = @intCast(repr.data[0]),264 .bits = @intCast(repr.data[0]),
235 .signedness = @fromBackingInt(@intCast(repr.data[1])),265 .signedness = @fromBackingInt(@intCast(repr.data[1])),
236 } },266 } },
267 .block => .{ .block = .{ .func = @bitCast(repr.data[0]) } },
237 .func_zero => .{ .func = .{268 .func_zero => .{ .func = .{
238 .return_type = @bitCast(repr.data[0]),269 .return_type = @bitCast(repr.data[0]),
239 .kind = .normal,270 .kind = .normal,
...@@ -249,23 +280,47 @@ pub const QualType = packed struct(u32) {...@@ -249,23 +280,47 @@ pub const QualType = packed struct(u32) {
249 .kind = .old_style,280 .kind = .old_style,
250 .params = &.{},281 .params = &.{},
251 } },282 } },
283 .func_attributed_zero => {
284 const attr: Repr.FuncAttrs = @bitCast(repr.data[1]);
285 return .{ .func = .{
286 .return_type = @bitCast(repr.data[0]),
287 .kind = attr.kind,
288 .params = &.{},
289 .cc = attr.cc,
290 } };
291 },
252 .func_one,292 .func_one,
253 .func_variadic_one,293 .func_variadic_one,
254 .func_old_style_one,294 .func_old_style_one,
255 .func,295 .func,
256 .func_variadic,296 .func_variadic,
257 .func_old_style,297 .func_old_style,
298 .func_attributed,
299 .func_attributed_one,
258 => {300 => {
259 const param_size = 4;301 const param_size = 4;
260 comptime std.debug.assert(@sizeOf(Type.Func.Param) == @sizeOf(u32) * param_size);302 comptime std.debug.assert(@sizeOf(Type.Func.Param) == @sizeOf(u32) * param_size);
261303
262 const extra = comp.type_store.extra.items;304 const extra = comp.type_store.extra.items;
263 const params_len = switch (repr.tag) {305 const params_len = switch (repr.tag) {
264 .func_one, .func_variadic_one, .func_old_style_one => 1,306 .func_one, .func_variadic_one, .func_old_style_one, .func_attributed_one => 1,
265 .func, .func_variadic, .func_old_style => extra[repr.data[1]],307 .func, .func_variadic, .func_old_style, .func_attributed => extra[repr.data[1]],
266 else => unreachable,308 else => unreachable,
267 };309 };
268 const extra_params = extra[repr.data[1] + @intFromBool(params_len > 1) ..][0 .. params_len * param_size];310 const param_index = repr.data[1] + @intFromBool(params_len > 1);
311 const param_u32_len = params_len * param_size;
312 const extra_params = extra[param_index..][0..param_u32_len];
313
314 if (repr.tag == .func_attributed or repr.tag == .func_attributed_one or repr.tag == .func_attributed_zero) {
315 const attr_index = param_index + param_u32_len;
316 const attr: Repr.FuncAttrs = @bitCast(extra[attr_index]);
317 return .{ .func = .{
318 .return_type = @bitCast(repr.data[0]),
319 .kind = attr.kind,
320 .params = std.mem.bytesAsSlice(Type.Func.Param, std.mem.sliceAsBytes(extra_params)),
321 .cc = attr.cc,
322 } };
323 }
269324
270 return .{ .func = .{325 return .{ .func = .{
271 .return_type = @bitCast(repr.data[0]),326 .return_type = @bitCast(repr.data[0]),
...@@ -278,14 +333,28 @@ pub const QualType = packed struct(u32) {...@@ -278,14 +333,28 @@ pub const QualType = packed struct(u32) {
278 .params = std.mem.bytesAsSlice(Type.Func.Param, std.mem.sliceAsBytes(extra_params)),333 .params = std.mem.bytesAsSlice(Type.Func.Param, std.mem.sliceAsBytes(extra_params)),
279 } };334 } };
280 },335 },
281 .pointer => .{ .pointer = .{336 .pointer => {
282 .child = @bitCast(repr.data[0]),337 const attr: Repr.PointerAttrs = @bitCast(repr.data[1]);
283 .bounds = @fromBackingInt(@intCast(repr.data[1])),338 return .{ .pointer = .{
284 } },339 .child = @bitCast(repr.data[0]),
340 .bounds = attr.bounds,
341 .nullability = attr.nullability,
342 } };
343 },
285 .pointer_decayed => .{ .pointer = .{344 .pointer_decayed => .{ .pointer = .{
286 .child = @bitCast(repr.data[0]),345 .child = @bitCast(repr.data[0]),
287 .decayed = @bitCast(repr.data[1]),346 .decayed = @bitCast(repr.data[1]),
288 } },347 } },
348 .pointer_decayed_attributed => {
349 const extra = comp.type_store.extra.items;
350 const attr: Repr.PointerAttrs = @bitCast(extra[repr.data[1] + 1]);
351 return .{ .pointer = .{
352 .child = @bitCast(repr.data[0]),
353 .decayed = @bitCast(extra[repr.data[1]]),
354 .bounds = attr.bounds,
355 .nullability = attr.nullability,
356 } };
357 },
289 .array_incomplete => .{ .array = .{358 .array_incomplete => .{ .array = .{
290 .elem = @bitCast(repr.data[0]),359 .elem = @bitCast(repr.data[0]),
291 .len = .incomplete,360 .len = .incomplete,
...@@ -300,7 +369,7 @@ pub const QualType = packed struct(u32) {...@@ -300,7 +369,7 @@ pub const QualType = packed struct(u32) {
300 } },369 } },
301 .array_variable => .{ .array = .{370 .array_variable => .{ .array = .{
302 .elem = @bitCast(repr.data[0]),371 .elem = @bitCast(repr.data[0]),
303 .len = .{ .variable = @fromBackingInt(@intCast(repr.data[1])) },372 .len = .{ .variable = @fromBackingInt(repr.data[1]) },
304 } },373 } },
305 .array_unspecified_variable => .{ .array = .{374 .array_unspecified_variable => .{ .array = .{
306 .elem = @bitCast(repr.data[0]),375 .elem = @bitCast(repr.data[0]),
...@@ -309,11 +378,22 @@ pub const QualType = packed struct(u32) {...@@ -309,11 +378,22 @@ pub const QualType = packed struct(u32) {
309 .vector => .{ .vector = .{378 .vector => .{ .vector = .{
310 .elem = @bitCast(repr.data[0]),379 .elem = @bitCast(repr.data[0]),
311 .len = repr.data[1],380 .len = repr.data[1],
381 .kind = .generic,
382 } },
383 .vector_neon => .{ .vector = .{
384 .elem = @bitCast(repr.data[0]),
385 .len = repr.data[1],
386 .kind = .neon,
387 } },
388 .vector_neon_poly => .{ .vector = .{
389 .elem = @bitCast(repr.data[0]),
390 .len = repr.data[1],
391 .kind = .neon_poly,
312 } },392 } },
313 .@"struct", .@"union" => {393 .@"struct", .@"union" => {
314 const layout_size = 5;394 const layout_size = 5;
315 comptime std.debug.assert(@sizeOf(Type.Record.Layout) == @sizeOf(u32) * layout_size);395 comptime std.debug.assert(@sizeOf(Type.Record.Layout) == @sizeOf(u32) * layout_size);
316 const field_size = 10;396 const field_size = 9;
317 comptime std.debug.assert(@sizeOf(Type.Record.Field) == @sizeOf(u32) * field_size);397 comptime std.debug.assert(@sizeOf(Type.Record.Field) == @sizeOf(u32) * field_size);
318398
319 const extra = comp.type_store.extra.items;399 const extra = comp.type_store.extra.items;
...@@ -322,8 +402,8 @@ pub const QualType = packed struct(u32) {...@@ -322,8 +402,8 @@ pub const QualType = packed struct(u32) {
322 const extra_fields = extra[repr.data[1] + layout_size + 2 ..][0 .. fields_len * field_size];402 const extra_fields = extra[repr.data[1] + layout_size + 2 ..][0 .. fields_len * field_size];
323403
324 const record: Type.Record = .{404 const record: Type.Record = .{
325 .name = @fromBackingInt(@intCast(repr.data[0])),405 .name = @fromBackingInt(repr.data[0]),
326 .decl_node = @fromBackingInt(@intCast(extra[repr.data[1]])),406 .decl_node = @fromBackingInt(extra[repr.data[1]]),
327 .layout = layout,407 .layout = layout,
328 .fields = std.mem.bytesAsSlice(Type.Record.Field, std.mem.sliceAsBytes(extra_fields)),408 .fields = std.mem.bytesAsSlice(Type.Record.Field, std.mem.sliceAsBytes(extra_fields)),
329 };409 };
...@@ -334,14 +414,14 @@ pub const QualType = packed struct(u32) {...@@ -334,14 +414,14 @@ pub const QualType = packed struct(u32) {
334 };414 };
335 },415 },
336 .struct_incomplete => .{ .@"struct" = .{416 .struct_incomplete => .{ .@"struct" = .{
337 .name = @fromBackingInt(@intCast(repr.data[0])),417 .name = @fromBackingInt(repr.data[0]),
338 .decl_node = @fromBackingInt(@intCast(repr.data[1])),418 .decl_node = @fromBackingInt(repr.data[1]),
339 .layout = null,419 .layout = null,
340 .fields = &.{},420 .fields = &.{},
341 } },421 } },
342 .union_incomplete => .{ .@"union" = .{422 .union_incomplete => .{ .@"union" = .{
343 .name = @fromBackingInt(@intCast(repr.data[0])),423 .name = @fromBackingInt(repr.data[0]),
344 .decl_node = @fromBackingInt(@intCast(repr.data[1])),424 .decl_node = @fromBackingInt(repr.data[1]),
345 .layout = null,425 .layout = null,
346 .fields = &.{},426 .fields = &.{},
347 } },427 } },
...@@ -354,8 +434,8 @@ pub const QualType = packed struct(u32) {...@@ -354,8 +434,8 @@ pub const QualType = packed struct(u32) {
354 const extra_fields = extra[repr.data[1] + 3 ..][0 .. fields_len * field_size];434 const extra_fields = extra[repr.data[1] + 3 ..][0 .. fields_len * field_size];
355435
356 return .{ .@"enum" = .{436 return .{ .@"enum" = .{
357 .name = @fromBackingInt(@intCast(extra[repr.data[1]])),437 .name = @fromBackingInt(extra[repr.data[1]]),
358 .decl_node = @fromBackingInt(@intCast(extra[repr.data[1] + 1])),438 .decl_node = @fromBackingInt(extra[repr.data[1] + 1]),
359 .tag = @bitCast(repr.data[0]),439 .tag = @bitCast(repr.data[0]),
360 .incomplete = false,440 .incomplete = false,
361 .fixed = repr.tag == .enum_fixed,441 .fixed = repr.tag == .enum_fixed,
...@@ -365,8 +445,8 @@ pub const QualType = packed struct(u32) {...@@ -365,8 +445,8 @@ pub const QualType = packed struct(u32) {
365 .enum_incomplete => .{445 .enum_incomplete => .{
366 .@"enum" = .{446 .@"enum" = .{
367 .tag = null,447 .tag = null,
368 .name = @fromBackingInt(@intCast(repr.data[0])),448 .name = @fromBackingInt(repr.data[0]),
369 .decl_node = @fromBackingInt(@intCast(repr.data[1])),449 .decl_node = @fromBackingInt(repr.data[1]),
370 .incomplete = true,450 .incomplete = true,
371 .fixed = false,451 .fixed = false,
372 .fields = &.{},452 .fields = &.{},
...@@ -375,8 +455,8 @@ pub const QualType = packed struct(u32) {...@@ -375,8 +455,8 @@ pub const QualType = packed struct(u32) {
375 .enum_incomplete_fixed => .{455 .enum_incomplete_fixed => .{
376 .@"enum" = .{456 .@"enum" = .{
377 .tag = @bitCast(repr.data[0]),457 .tag = @bitCast(repr.data[0]),
378 .name = @fromBackingInt(@intCast(comp.type_store.extra.items[repr.data[1]])),458 .name = @fromBackingInt(comp.type_store.extra.items[repr.data[1]]),
379 .decl_node = @fromBackingInt(@intCast(comp.type_store.extra.items[repr.data[1] + 1])),459 .decl_node = @fromBackingInt(comp.type_store.extra.items[repr.data[1] + 1]),
380 .incomplete = true,460 .incomplete = true,
381 .fixed = true,461 .fixed = true,
382 .fields = &.{},462 .fields = &.{},
...@@ -388,23 +468,12 @@ pub const QualType = packed struct(u32) {...@@ -388,23 +468,12 @@ pub const QualType = packed struct(u32) {
388 } },468 } },
389 .typeof_expr => .{ .typeof = .{469 .typeof_expr => .{ .typeof = .{
390 .base = @bitCast(repr.data[0]),470 .base = @bitCast(repr.data[0]),
391 .expr = @fromBackingInt(@intCast(repr.data[1])),471 .expr = @fromBackingInt(repr.data[1]),
392 } },472 } },
393 .typedef => .{ .typedef = .{473 .typedef => .{ .typedef = .{
394 .base = @bitCast(repr.data[0]),474 .base = @bitCast(repr.data[0]),
395 .name = @fromBackingInt(@intCast(comp.type_store.extra.items[repr.data[1]])),475 .name = @fromBackingInt(comp.type_store.extra.items[repr.data[1]]),
396 .decl_node = @fromBackingInt(@intCast(comp.type_store.extra.items[repr.data[1] + 1])),476 .decl_node = @fromBackingInt(comp.type_store.extra.items[repr.data[1] + 1]),
397 } },
398 .attributed => {
399 const extra = comp.type_store.extra.items;
400 return .{ .attributed = .{
401 .base = @bitCast(repr.data[0]),
402 .attributes = comp.type_store.attributes.items[extra[repr.data[1]]..][0..extra[repr.data[1] + 1]],
403 } };
404 },
405 .attributed_one => .{ .attributed = .{
406 .base = @bitCast(repr.data[0]),
407 .attributes = comp.type_store.attributes.items[repr.data[1]..][0..1],
408 } },477 } },
409 };478 };
410 }479 }
...@@ -414,12 +483,21 @@ pub const QualType = packed struct(u32) {...@@ -414,12 +483,21 @@ pub const QualType = packed struct(u32) {
414 while (true) switch (cur.type(comp)) {483 while (true) switch (cur.type(comp)) {
415 .typeof => |typeof| cur = typeof.base,484 .typeof => |typeof| cur = typeof.base,
416 .typedef => |typedef| cur = typedef.base,485 .typedef => |typedef| cur = typedef.base,
417 .attributed => |attributed| cur = attributed.base,
418 else => |ty| return .{ .type = ty, .qt = cur },486 else => |ty| return .{ .type = ty, .qt = cur },
419 };487 };
420 }488 }
421489
490 /// Function or function pointer
491 pub fn getFunc(qt: QualType, comp: *const Compilation) ?Type.Func {
492 const base_qt = if (qt.get(comp, .pointer)) |pointer| pointer.child else qt;
493 return base_qt.get(comp, .func);
494 }
495
422 pub fn getRecord(qt: QualType, comp: *const Compilation) ?Type.Record {496 pub fn getRecord(qt: QualType, comp: *const Compilation) ?Type.Record {
497 switch (qt._index) {
498 .invalid, .auto_type, .c23_auto => return null,
499 else => {},
500 }
423 return switch (qt.base(comp).type) {501 return switch (qt.base(comp).type) {
424 .@"struct", .@"union" => |record| record,502 .@"struct", .@"union" => |record| record,
425 else => null,503 else => null,
...@@ -427,7 +505,7 @@ pub const QualType = packed struct(u32) {...@@ -427,7 +505,7 @@ pub const QualType = packed struct(u32) {
427 }505 }
428506
429 pub fn get(qt: QualType, comp: *const Compilation, comptime tag: std.meta.Tag(Type)) ?@FieldType(Type, @tagName(tag)) {507 pub fn get(qt: QualType, comp: *const Compilation, comptime tag: std.meta.Tag(Type)) ?@FieldType(Type, @tagName(tag)) {
430 comptime std.debug.assert(tag != .typeof and tag != .attributed and tag != .typedef);508 comptime std.debug.assert(tag != .typeof and tag != .typedef);
431 switch (qt._index) {509 switch (qt._index) {
432 .invalid, .auto_type, .c23_auto => return null,510 .invalid, .auto_type, .c23_auto => return null,
433 else => {},511 else => {},
...@@ -449,6 +527,7 @@ pub const QualType = packed struct(u32) {...@@ -449,6 +527,7 @@ pub const QualType = packed struct(u32) {
449 .pointer => |pointer| pointer.child,527 .pointer => |pointer| pointer.child,
450 .array => |array| array.elem,528 .array => |array| array.elem,
451 .vector => |vector| vector.elem,529 .vector => |vector| vector.elem,
530 .block => qt.base(comp).qt, // special case: block's childType is always itself
452 else => unreachable,531 else => unreachable,
453 };532 };
454 }533 }
...@@ -493,12 +572,25 @@ pub const QualType = packed struct(u32) {...@@ -493,12 +572,25 @@ pub const QualType = packed struct(u32) {
493 .void => 1,572 .void => 1,
494 .bool => 1,573 .bool => 1,
495 .func => 1,574 .func => 1,
496 .nullptr_t, .pointer => comp.target.ptrBitWidth() / 8,575 .nullptr_t, .block => comp.target.ptrBitWidth() / 8,
576 .pointer => |pointer| {
577 _ = pointer;
578 // switch (pointer.size) {
579 // .ptr32 => return 32,
580 // .ptr64 => return 64,
581 // .default => {},
582 // }
583 // switch (pointer.address_space) {
584 // }
585 return comp.target.ptrBitWidth() / 8;
586 },
587 .storage_float => |storage_float| storage_float.bits() / 8,
497 .int => |int_ty| int_ty.bits(comp) / 8,588 .int => |int_ty| int_ty.bits(comp) / 8,
498 .float => |float_ty| float_ty.bits(comp) / 8,589 .float => |float_ty| float_ty.bits(comp) / 8,
499 .complex => |complex| complex.sizeofOrNull(comp),590 .complex => |complex| (complex.sizeofOrNull(comp) orelse return null) * 2,
500 .bit_int => |bit_int| {591 .bit_int => |bit_int| {
501 return std.mem.alignForward(u64, (@as(u32, bit_int.bits) + 7) / 8, qt.alignof(comp));592 const base_qt = qt.base(comp).qt;
593 return std.mem.alignForward(u64, (@as(u32, bit_int.bits) + 7) / 8, base_qt.alignof(comp));
502 },594 },
503 .atomic => |atomic| atomic.sizeofOrNull(comp),595 .atomic => |atomic| atomic.sizeofOrNull(comp),
504 .vector => |vector| {596 .vector => |vector| {
...@@ -522,12 +614,34 @@ pub const QualType = packed struct(u32) {...@@ -522,12 +614,34 @@ pub const QualType = packed struct(u32) {
522 // for the field alignment. A flexible array has size 0. See test case 0018.614 // for the field alignment. A flexible array has size 0. See test case 0018.
523 return arr_size;615 return arr_size;
524 } else {616 } else {
525 return std.mem.alignForward(u64, arr_size, qt.alignof(comp));617 const base_qt = qt.base(comp).qt;
618 return std.mem.alignForward(u64, arr_size, base_qt.alignof(comp));
526 }619 }
527 },620 },
528 .@"struct", .@"union" => |record| {621 .@"struct", .@"union" => |record| {
529 const layout = record.layout orelse return null;622 const layout = record.layout orelse return null;
530 return layout.size_bits / 8;623 const size = layout.size_bits / 8;
624 if (comp.langopts.emulate != .msvc) return size;
625 switch (qt.type(comp)) {
626 .typedef => |typedef| {
627 if (comp.type_store.requested_aligns.get(qt) == null) {
628 return typedef.base.sizeofOrNull(comp);
629 }
630 },
631 else => {},
632 }
633 const alignment = qt.requestedAlignment(comp) orelse return size;
634
635 const should_round_size = switch (qt.type(comp)) {
636 .typedef => |typedef| switch (typedef.base.type(comp)) {
637 .@"struct", .@"union" => true,
638 else => false,
639 },
640 else => true,
641 };
642 if (!should_round_size) return size;
643
644 return std.mem.alignForward(u64, size, alignment);
531 },645 },
532 .@"enum" => |enum_ty| {646 .@"enum" => |enum_ty| {
533 const tag = enum_ty.tag orelse return null;647 const tag = enum_ty.tag orelse return null;
...@@ -535,7 +649,6 @@ pub const QualType = packed struct(u32) {...@@ -535,7 +649,6 @@ pub const QualType = packed struct(u32) {
535 },649 },
536 .typeof => unreachable,650 .typeof => unreachable,
537 .typedef => unreachable,651 .typedef => unreachable,
538 .attributed => unreachable,
539 };652 };
540 }653 }
541654
...@@ -548,17 +661,12 @@ pub const QualType = packed struct(u32) {...@@ -548,17 +661,12 @@ pub const QualType = packed struct(u32) {
548 /// Returns null for incomplete types.661 /// Returns null for incomplete types.
549 pub fn bitSizeofOrNull(qt: QualType, comp: *const Compilation) ?u64 {662 pub fn bitSizeofOrNull(qt: QualType, comp: *const Compilation) ?u64 {
550 if (qt.isInvalid()) return null;663 if (qt.isInvalid()) return null;
551 return loop: switch (qt.base(comp).type) {664 return switch (qt.base(comp).type) {
552 .bool => if (comp.langopts.emulate == .msvc) 8 else 1,665 .bool => if (comp.langopts.emulate == .msvc) 8 else 1,
553 .bit_int => |bit_int| bit_int.bits,666 .bit_int => |bit_int| bit_int.bits,
667 .storage_float => |storage_float| storage_float.bits(),
554 .float => |float_ty| float_ty.bits(comp),668 .float => |float_ty| float_ty.bits(comp),
555 .int => |int_ty| int_ty.bits(comp),669 .int => |int_ty| int_ty.bits(comp),
556 .nullptr_t, .pointer => comp.target.ptrBitWidth(),
557 .atomic => |atomic| continue :loop atomic.base(comp).type,
558 .complex => |complex| {
559 const child_size = complex.bitSizeofOrNull(comp) orelse return null;
560 return child_size * 2;
561 },
562 else => 8 * (qt.sizeofOrNull(comp) orelse return null),670 else => 8 * (qt.sizeofOrNull(comp) orelse return null),
563 };671 };
564 }672 }
...@@ -582,11 +690,11 @@ pub const QualType = packed struct(u32) {...@@ -582,11 +690,11 @@ pub const QualType = packed struct(u32) {
582 .bit_int => |bit_int| bit_int.signedness,690 .bit_int => |bit_int| bit_int.signedness,
583 .int => |int_ty| switch (int_ty) {691 .int => |int_ty| switch (int_ty) {
584 .char => comp.getCharSignedness(),692 .char => comp.getCharSignedness(),
585 .schar, .short, .int, .long, .long_long, .int128 => .signed,693 .schar, .short, .int, .int24, .long, .long_long, .int128 => .signed,
586 .uchar, .ushort, .uint, .ulong, .ulong_long, .uint128 => .unsigned,694 .uchar, .ushort, .uint, .uint24, .ulong, .ulong_long, .uint128 => .unsigned,
587 },695 },
588 // Pointer values are signed.696 // Pointer values are signed.
589 .pointer, .nullptr_t => .signed,697 .pointer, .nullptr_t, .block => .signed,
590 .@"enum" => .signed,698 .@"enum" => .signed,
591 else => unreachable,699 else => unreachable,
592 };700 };
...@@ -596,27 +704,25 @@ pub const QualType = packed struct(u32) {...@@ -596,27 +704,25 @@ pub const QualType = packed struct(u32) {
596 pub fn alignof(qt: QualType, comp: *const Compilation) u32 {704 pub fn alignof(qt: QualType, comp: *const Compilation) u32 {
597 if (qt.requestedAlignment(comp)) |requested| request: {705 if (qt.requestedAlignment(comp)) |requested| request: {
598 if (qt.is(comp, .@"enum")) {706 if (qt.is(comp, .@"enum")) {
599 if (comp.langopts.emulate == .gcc) {707 switch (comp.langopts.emulate) {
600 // gcc does not respect alignment on enums708 .gcc => break :request, // gcc does not respect alignment on enums
601 break :request;709 .msvc => return @max(requested, qt.base(comp).qt.alignof(comp)),
710 .clang, .no => {},
602 }711 }
603 } else if (qt.getRecord(comp)) |record_ty| {
604 const layout = record_ty.layout orelse return 0;
605
606 // don't return the attribute for records
607 // layout has already accounted for requested alignment
608 const computed = @divExact(layout.field_alignment_bits, 8);
609 return @max(requested, computed);
610 } else if (comp.langopts.emulate == .msvc) {712 } else if (comp.langopts.emulate == .msvc) {
611 const type_align = qt.base(comp).qt.alignof(comp);713 const type_align = switch (qt.type(comp)) {
714 .typedef => |typedef| typedef.base.alignof(comp),
715 else => qt.base(comp).qt.alignof(comp),
716 };
612 return @max(requested, type_align);717 return @max(requested, type_align);
613 }718 }
614 return requested;719 return requested;
615 }720 }
616721
617 return loop: switch (qt.base(comp).type) {722 return loop: switch (qt.type(comp)) {
618 .void => 1,723 .void => 1,
619 .bool => 1,724 .bool => 1,
725 .storage_float => |storage_float| storage_float.alignment(),
620 .int => |int_ty| switch (int_ty) {726 .int => |int_ty| switch (int_ty) {
621 .char,727 .char,
622 .schar,728 .schar,
...@@ -631,6 +737,7 @@ pub const QualType = packed struct(u32) {...@@ -631,6 +737,7 @@ pub const QualType = packed struct(u32) {
631 .ulong => comp.target.cTypeAlignment(.ulong),737 .ulong => comp.target.cTypeAlignment(.ulong),
632 .long_long => comp.target.cTypeAlignment(.longlong),738 .long_long => comp.target.cTypeAlignment(.longlong),
633 .ulong_long => comp.target.cTypeAlignment(.ulonglong),739 .ulong_long => comp.target.cTypeAlignment(.ulonglong),
740 .int24, .uint24 => 1,
634 .int128, .uint128 => if (comp.target.cpu.arch == .s390x and comp.target.os.tag == .linux and comp.target.abi.isGnu()) 8 else 16,741 .int128, .uint128 => if (comp.target.cpu.arch == .s390x and comp.target.os.tag == .linux and comp.target.abi.isGnu()) 8 else 16,
635 },742 },
636 .float => |float_ty| switch (float_ty) {743 .float => |float_ty| switch (float_ty) {
...@@ -661,14 +768,14 @@ pub const QualType = packed struct(u32) {...@@ -661,14 +768,14 @@ pub const QualType = packed struct(u32) {
661 .atomic => |atomic| continue :loop atomic.base(comp).type,768 .atomic => |atomic| continue :loop atomic.base(comp).type,
662 .complex => |complex| continue :loop complex.base(comp).type,769 .complex => |complex| continue :loop complex.base(comp).type,
663770
664 .pointer, .nullptr_t => switch (comp.target.cpu.arch) {771 .pointer, .nullptr_t, .block => switch (comp.target.cpu.arch) {
665 .avr => 1,772 .avr => 1,
666 else => comp.target.ptrBitWidth() / 8,773 else => @intCast(qt.bitSizeof(comp) / 8),
667 },774 },
668775
669 .func => comp.target.defaultFunctionAlignment(),776 .func => comp.target.defaultFunctionAlignment(),
670777
671 .array => |array| continue :loop array.elem.base(comp).type,778 .array => |array| return array.elem.alignof(comp),
672 .vector => |vector| continue :loop vector.elem.base(comp).type,779 .vector => |vector| continue :loop vector.elem.base(comp).type,
673780
674 .@"struct", .@"union" => |record| {781 .@"struct", .@"union" => |record| {
...@@ -679,9 +786,8 @@ pub const QualType = packed struct(u32) {...@@ -679,9 +786,8 @@ pub const QualType = packed struct(u32) {
679 const tag = enum_ty.tag orelse return 0;786 const tag = enum_ty.tag orelse return 0;
680 continue :loop tag.base(comp).type;787 continue :loop tag.base(comp).type;
681 },788 },
682 .typeof => unreachable,789 .typeof => |typeof| return typeof.base.alignof(comp),
683 .typedef => unreachable,790 .typedef => |typedef| continue :loop typedef.base.base(comp).type,
684 .attributed => unreachable,
685 };791 };
686 }792 }
687793
...@@ -694,7 +800,7 @@ pub const QualType = packed struct(u32) {...@@ -694,7 +800,7 @@ pub const QualType = packed struct(u32) {
694 .schar, .uchar, .char => {800 .schar, .uchar, .char => {
695 // Only 8-bit char supported currently;801 // Only 8-bit char supported currently;
696 // TODO: handle platforms with 16-bit int + 16-bit char802 // TODO: handle platforms with 16-bit int + 16-bit char
697 std.debug.assert(qt.sizeof(comp) == 1);803 std.debug.assert(qt.bitSizeof(comp) == 8);
698 return "";804 return "";
699 },805 },
700 .ushort => {806 .ushort => {
...@@ -740,6 +846,8 @@ pub const QualType = packed struct(u32) {...@@ -740,6 +846,8 @@ pub const QualType = packed struct(u32) {
740 .ulong_long => return .ulong_long,846 .ulong_long => return .ulong_long,
741 .int128 => return .uint128,847 .int128 => return .uint128,
742 .uint128 => return .uint128,848 .uint128 => return .uint128,
849 .int24 => return .uint24,
850 .uint24 => return .uint24,
743 },851 },
744 .bit_int => |bit_int| {852 .bit_int => |bit_int| {
745 return try comp.type_store.put(comp.gpa, .{ .bit_int = .{853 return try comp.type_store.put(comp.gpa, .{ .bit_int = .{
...@@ -847,9 +955,10 @@ pub const QualType = packed struct(u32) {...@@ -847,9 +955,10 @@ pub const QualType = packed struct(u32) {
847 .char, .schar, .uchar => 2 + (int_ty.bits(comp) * 8),955 .char, .schar, .uchar => 2 + (int_ty.bits(comp) * 8),
848 .short, .ushort => 3 + (int_ty.bits(comp) * 8),956 .short, .ushort => 3 + (int_ty.bits(comp) * 8),
849 .int, .uint => 4 + (int_ty.bits(comp) * 8),957 .int, .uint => 4 + (int_ty.bits(comp) * 8),
850 .long, .ulong => 5 + (int_ty.bits(comp) * 8),958 .int24, .uint24 => 5 + (int_ty.bits(comp) * 8),
851 .long_long, .ulong_long => 6 + (int_ty.bits(comp) * 8),959 .long, .ulong => 6 + (int_ty.bits(comp) * 8),
852 .int128, .uint128 => 7 + (int_ty.bits(comp) * 8),960 .long_long, .ulong_long => 7 + (int_ty.bits(comp) * 8),
961 .int128, .uint128 => 8 + (int_ty.bits(comp) * 8),
853 },962 },
854 .complex => |complex| continue :loop complex.base(comp).type,963 .complex => |complex| continue :loop complex.base(comp).type,
855 .atomic => |atomic| continue :loop atomic.base(comp).type,964 .atomic => |atomic| continue :loop atomic.base(comp).type,
...@@ -932,6 +1041,7 @@ pub const QualType = packed struct(u32) {...@@ -932,6 +1041,7 @@ pub const QualType = packed struct(u32) {
932 void_pointer,1041 void_pointer,
933 complex_int,1042 complex_int,
934 complex_float,1043 complex_float,
1044 block_pointer,
935 none,1045 none,
9361046
937 pub fn isInt(sk: ScalarKind) bool {1047 pub fn isInt(sk: ScalarKind) bool {
...@@ -957,7 +1067,7 @@ pub const QualType = packed struct(u32) {...@@ -957,7 +1067,7 @@ pub const QualType = packed struct(u32) {
9571067
958 pub fn isPointer(sk: ScalarKind) bool {1068 pub fn isPointer(sk: ScalarKind) bool {
959 return switch (sk) {1069 return switch (sk) {
960 .pointer, .void_pointer => true,1070 .pointer, .void_pointer, .block_pointer => true,
961 else => false,1071 else => false,
962 };1072 };
963 }1073 }
...@@ -988,6 +1098,7 @@ pub const QualType = packed struct(u32) {...@@ -988,6 +1098,7 @@ pub const QualType = packed struct(u32) {
988 else => unreachable,1098 else => unreachable,
989 },1099 },
990 .atomic => |atomic| continue :loop atomic.base(comp).type,1100 .atomic => |atomic| continue :loop atomic.base(comp).type,
1101 .block => return .block_pointer,
991 else => return .none,1102 else => return .none,
992 }1103 }
993 }1104 }
...@@ -1012,15 +1123,6 @@ pub const QualType = packed struct(u32) {...@@ -1012,15 +1123,6 @@ pub const QualType = packed struct(u32) {
1012 return qt.scalarKind(comp).isPointer();1123 return qt.scalarKind(comp).isPointer();
1013 }1124 }
10141125
1015 /// Function or function pointer
1016 pub fn isCallable(qt: QualType, comp: *const Compilation) bool {
1017 return switch (qt.base(comp).type) {
1018 .func => true,
1019 .pointer => |ptr| ptr.child.is(comp, .func),
1020 else => false,
1021 };
1022 }
1023
1024 pub fn eqlQualified(a_qt: QualType, b_qt: QualType, comp: *const Compilation) bool {1126 pub fn eqlQualified(a_qt: QualType, b_qt: QualType, comp: *const Compilation) bool {
1025 if (a_qt.@"const" != b_qt.@"const") return false;1127 if (a_qt.@"const" != b_qt.@"const") return false;
1026 if (a_qt.@"volatile" != b_qt.@"volatile") return false;1128 if (a_qt.@"volatile" != b_qt.@"volatile") return false;
...@@ -1051,6 +1153,7 @@ pub const QualType = packed struct(u32) {...@@ -1051,6 +1153,7 @@ pub const QualType = packed struct(u32) {
1051 .void => return true,1153 .void => return true,
1052 .bool => return true,1154 .bool => return true,
1053 .nullptr_t => return true,1155 .nullptr_t => return true,
1156 .storage_float => |a_storage_float| return a_storage_float == b_type.storage_float,
1054 .int => |a_int| return a_int == b_type.int,1157 .int => |a_int| return a_int == b_type.int,
1055 .float => |a_float| return a_float == b_type.float,1158 .float => |a_float| return a_float == b_type.float,
1056 .complex => |a_complex| {1159 .complex => |a_complex| {
...@@ -1135,36 +1238,39 @@ pub const QualType = packed struct(u32) {...@@ -1135,36 +1238,39 @@ pub const QualType = packed struct(u32) {
1135 },1238 },
1136 .vector => |a_vector| {1239 .vector => |a_vector| {
1137 const b_vector = b_type.vector;1240 const b_vector = b_type.vector;
1138 if (a_vector.len != b_vector.len) return false;1241 return a_vector.eql(b_vector, comp, false);
1139
1140 // Vector elemnent qualifiers are checked.
1141 return a_vector.elem.eqlQualified(b_vector.elem, comp);
1142 },1242 },
1143 .@"struct", .@"union", .@"enum" => return a_type_qt.qt._index == b_type_qt.qt._index,1243 .@"struct", .@"union", .@"enum" => return a_type_qt.qt._index == b_type_qt.qt._index,
1244 .block => |a_block| return a_block.func.eql(b_type.block.func, comp),
11441245
1145 .typeof => unreachable, // Never returned from base()1246 .typeof => unreachable, // Never returned from base()
1146 .typedef => unreachable, // Never returned from base()1247 .typedef => unreachable, // Never returned from base()
1147 .attributed => unreachable, // Never returned from base()
1148 }1248 }
1149 }1249 }
11501250
1151 pub fn getAttribute(qt: QualType, comp: *const Compilation, comptime tag: Attribute.Tag) ?Attribute.ArgumentsForTag(tag) {1251 /// Checks for attributes on the declarations of struct, union, enum and typedef types.
1152 if (tag == .aligned) @compileError("use requestedAlignment");1252 pub fn getAttribute(qt: QualType, tree: *const Tree, tag: Attribute.Tag) ?Attribute {
1153 var it = Attribute.Iterator.initType(qt, comp);1253 if (qt.isInvalid()) return null;
1154 while (it.next()) |item| {1254 const comp = tree.comp;
1155 const attribute, _ = item;1255 const am = &tree.attr_map;
1156 if (attribute.tag == tag) return @field(attribute.args, @tagName(tag));1256 loop: switch (qt.type(comp)) {
1257 .@"struct", .@"union" => |record| {
1258 return am.getAttribute(record.decl_node, tag);
1259 },
1260 .@"enum" => |@"enum"| {
1261 return am.getAttribute(@"enum".decl_node, tag);
1262 },
1263 .typeof => |typeof| continue :loop typeof.base.type(comp),
1264 .typedef => |typedef| {
1265 if (am.getAttribute(typedef.decl_node, tag)) |attr| return attr;
1266 continue :loop typedef.base.type(comp);
1267 },
1268 else => return null,
1157 }1269 }
1158 return null;
1159 }1270 }
11601271
1161 pub fn hasAttribute(qt: QualType, comp: *const Compilation, tag: Attribute.Tag) bool {1272 pub fn hasAttribute(qt: QualType, tree: *const Tree, tag: Attribute.Tag) bool {
1162 var it = Attribute.Iterator.initType(qt, comp);1273 return qt.getAttribute(tree, tag) != null;
1163 while (it.next()) |item| {
1164 const attr, _ = item;
1165 if (attr.tag == tag) return true;
1166 }
1167 return false;
1168 }1274 }
11691275
1170 pub fn alignable(qt: QualType, comp: *const Compilation) bool {1276 pub fn alignable(qt: QualType, comp: *const Compilation) bool {
...@@ -1177,43 +1283,24 @@ pub const QualType = packed struct(u32) {...@@ -1177,43 +1283,24 @@ pub const QualType = packed struct(u32) {
1177 }1283 }
11781284
1179 pub fn requestedAlignment(qt: QualType, comp: *const Compilation) ?u32 {1285 pub fn requestedAlignment(qt: QualType, comp: *const Compilation) ?u32 {
1180 return annotationAlignment(comp, Attribute.Iterator.initType(qt, comp));1286 if (qt.isInvalid()) return null;
1181 }1287 const own_alignment = comp.type_store.requested_aligns.get(qt);
11821288 const base_alignment = switch (qt.type(comp)) {
1183 pub fn annotationAlignment(comp: *const Compilation, attrs: Attribute.Iterator) ?u32 {1289 .typeof => |typeof| typeof.base.requestedAlignment(comp),
1184 var it = attrs;1290 .typedef => |typedef| typedef.base.requestedAlignment(comp),
1185 var max_requested: ?u32 = null;1291 else => null,
1186 var last_aligned_index: ?usize = null;1292 };
1187 while (it.next()) |item| {1293 return if (own_alignment) |own|
1188 const attribute, const index = item;1294 if (comp.langopts.emulate == .msvc and base_alignment != null)
1189 if (attribute.tag != .aligned) continue;1295 @max(own, base_alignment.?)
1190 if (last_aligned_index) |aligned_index| {1296 else
1191 // once we recurse into a new type, after an `aligned` attribute was found, we're done1297 own
1192 if (index <= aligned_index) break;1298 else
1193 }1299 base_alignment;
1194 last_aligned_index = index;
1195 const requested = if (attribute.args.aligned.alignment) |alignment| alignment.requested else comp.target.defaultAlignment();
1196 if (max_requested == null or max_requested.? < requested) {
1197 max_requested = requested;
1198 }
1199 }
1200 return max_requested;
1201 }
1202
1203 pub fn linkage(qt: QualType, comp: *const Compilation) std.builtin.GlobalLinkage {
1204 if (qt.hasAttribute(comp, .weak)) return .weak;
1205 if (qt.hasAttribute(comp, .selectany)) return .weak;
1206 return .strong;
1207 }
1208
1209 pub fn enumIsPacked(qt: QualType, comp: *const Compilation) bool {
1210 std.debug.assert(qt.is(comp, .@"enum"));
1211 return comp.langopts.short_enums or comp.target.packAllEnums() or qt.hasAttribute(comp, .@"packed");
1212 }1300 }
12131301
1214 pub fn shouldDesugar(qt: QualType, comp: *const Compilation) bool {1302 pub fn shouldDesugar(qt: QualType, comp: *const Compilation) bool {
1215 loop: switch (qt.type(comp)) {1303 loop: switch (qt.type(comp)) {
1216 .attributed => |attributed| continue :loop attributed.base.type(comp),
1217 .pointer => |pointer| continue :loop pointer.child.type(comp),1304 .pointer => |pointer| continue :loop pointer.child.type(comp),
1218 .func => |func| {1305 .func => |func| {
1219 for (func.params) |param| {1306 for (func.params) |param| {
...@@ -1222,7 +1309,12 @@ pub const QualType = packed struct(u32) {...@@ -1222,7 +1309,12 @@ pub const QualType = packed struct(u32) {
1222 continue :loop func.return_type.type(comp);1309 continue :loop func.return_type.type(comp);
1223 },1310 },
1224 .typeof => return true,1311 .typeof => return true,
1225 .typedef => |typedef| return !typedef.base.is(comp, .nullptr_t),1312 .typedef => |typedef| {
1313 if (Builder.fromType(comp, typedef.base).str(comp.langopts)) |some| {
1314 return !std.mem.eql(u8, some, typedef.name.lookup(comp));
1315 }
1316 return true;
1317 },
1226 else => return false,1318 else => return false,
1227 }1319 }
1228 }1320 }
...@@ -1232,6 +1324,10 @@ pub const QualType = packed struct(u32) {...@@ -1232,6 +1324,10 @@ pub const QualType = packed struct(u32) {
1232 try w.writeAll("auto");1324 try w.writeAll("auto");
1233 return;1325 return;
1234 }1326 }
1327 if (qt.isAutoType()) {
1328 try w.writeAll("__auto_type");
1329 return;
1330 }
1235 _ = try qt.printPrologue(comp, false, w);1331 _ = try qt.printPrologue(comp, false, w);
1236 try qt.printEpilogue(comp, false, w);1332 try qt.printEpilogue(comp, false, w);
1237 }1333 }
...@@ -1241,6 +1337,10 @@ pub const QualType = packed struct(u32) {...@@ -1241,6 +1337,10 @@ pub const QualType = packed struct(u32) {
1241 try w.print("auto {s}", .{name});1337 try w.print("auto {s}", .{name});
1242 return;1338 return;
1243 }1339 }
1340 if (qt.isAutoType()) {
1341 try w.print("__auto_type {s}", .{name});
1342 return;
1343 }
1244 const simple = try qt.printPrologue(comp, false, w);1344 const simple = try qt.printPrologue(comp, false, w);
1245 if (simple) try w.writeByte(' ');1345 if (simple) try w.writeByte(' ');
1246 try w.writeAll(name);1346 try w.writeAll(name);
...@@ -1271,6 +1371,10 @@ pub const QualType = packed struct(u32) {...@@ -1271,6 +1371,10 @@ pub const QualType = packed struct(u32) {
1271 if (qt.@"const" or qt.@"volatile") try w.writeByte(' ');1371 if (qt.@"const" or qt.@"volatile") try w.writeByte(' ');
1272 try w.writeAll("restrict");1372 try w.writeAll("restrict");
1273 }1373 }
1374 if (pointer.nullability != .default) {
1375 try w.writeByte(' ');
1376 try w.writeAll(pointer.nullability.str());
1377 }
1274 return false;1378 return false;
1275 },1379 },
1276 .func => |func| {1380 .func => |func| {
...@@ -1278,6 +1382,23 @@ pub const QualType = packed struct(u32) {...@@ -1278,6 +1382,23 @@ pub const QualType = packed struct(u32) {
1278 if (simple) try w.writeByte(' ');1382 if (simple) try w.writeByte(' ');
1279 return false;1383 return false;
1280 },1384 },
1385 .block => |block| {
1386 if (!block.func.is(comp, .func)) unreachable;
1387
1388 const simple = try block.func.printPrologue(comp, desugar, w);
1389 try w.writeAll(if (simple) " ^" else "(^");
1390 if (qt.@"const") try w.writeAll("const");
1391 if (qt.@"volatile") {
1392 if (qt.@"const") try w.writeByte(' ');
1393 try w.writeAll("volatile");
1394 }
1395 if (qt.restrict) {
1396 if (qt.@"const" or qt.@"volatile") try w.writeByte(' ');
1397 try w.writeAll("restrict");
1398 }
1399 if (!simple) try w.writeByte(')');
1400 return false;
1401 },
1281 .array => |array| {1402 .array => |array| {
1282 if (qt.@"const") {1403 if (qt.@"const") {
1283 try w.writeAll("const ");1404 try w.writeAll("const ");
...@@ -1293,6 +1414,13 @@ pub const QualType = packed struct(u32) {...@@ -1293,6 +1414,13 @@ pub const QualType = packed struct(u32) {
1293 .typeof => |typeof| if (desugar) {1414 .typeof => |typeof| if (desugar) {
1294 continue :loop typeof.base.type(comp);1415 continue :loop typeof.base.type(comp);
1295 } else {1416 } else {
1417 if (qt.@"const" and !typeof.base.@"const") {
1418 try w.writeAll("const ");
1419 }
1420 if (qt.@"volatile" and !typeof.base.@"volatile") {
1421 try w.writeAll("volatile ");
1422 }
1423
1296 try w.writeAll("typeof(");1424 try w.writeAll("typeof(");
1297 try typeof.base.print(comp, w);1425 try typeof.base.print(comp, w);
1298 try w.writeAll(")");1426 try w.writeAll(")");
...@@ -1301,10 +1429,12 @@ pub const QualType = packed struct(u32) {...@@ -1301,10 +1429,12 @@ pub const QualType = packed struct(u32) {
1301 .typedef => |typedef| if (desugar) {1429 .typedef => |typedef| if (desugar) {
1302 continue :loop typedef.base.type(comp);1430 continue :loop typedef.base.type(comp);
1303 } else {1431 } else {
1432 if (qt.@"const") try w.writeAll("const ");
1433 if (qt.@"volatile") try w.writeAll("volatile ");
1434
1304 try w.writeAll(typedef.name.lookup(comp));1435 try w.writeAll(typedef.name.lookup(comp));
1305 return true;1436 return true;
1306 },1437 },
1307 .attributed => |attributed| continue :loop attributed.base.type(comp),
1308 else => {},1438 else => {},
1309 }1439 }
1310 if (qt.@"const") try w.writeAll("const ");1440 if (qt.@"const") try w.writeAll("const ");
...@@ -1316,11 +1446,12 @@ pub const QualType = packed struct(u32) {...@@ -1316,11 +1446,12 @@ pub const QualType = packed struct(u32) {
1316 .array => unreachable,1446 .array => unreachable,
1317 .typeof => unreachable,1447 .typeof => unreachable,
1318 .typedef => unreachable,1448 .typedef => unreachable,
1319 .attributed => unreachable,1449 .block => unreachable,
13201450
1321 .void => try w.writeAll("void"),1451 .void => try w.writeAll("void"),
1322 .bool => try w.writeAll(if (comp.langopts.standard.atLeast(.c23)) "bool" else "_Bool"),1452 .bool => try w.writeAll(if (comp.langopts.standard.atLeast(.c23)) "bool" else "_Bool"),
1323 .nullptr_t => try w.writeAll("nullptr_t"),1453 .nullptr_t => try w.writeAll("nullptr_t"),
1454 .storage_float => |storage_float| try w.writeAll(storage_float.name()),
1324 .int => |int_ty| switch (int_ty) {1455 .int => |int_ty| switch (int_ty) {
1325 .char => try w.writeAll("char"),1456 .char => try w.writeAll("char"),
1326 .schar => try w.writeAll("signed char"),1457 .schar => try w.writeAll("signed char"),
...@@ -1335,8 +1466,10 @@ pub const QualType = packed struct(u32) {...@@ -1335,8 +1466,10 @@ pub const QualType = packed struct(u32) {
1335 .ulong_long => try w.writeAll("unsigned long long"),1466 .ulong_long => try w.writeAll("unsigned long long"),
1336 .int128 => try w.writeAll("__int128"),1467 .int128 => try w.writeAll("__int128"),
1337 .uint128 => try w.writeAll("unsigned __int128"),1468 .uint128 => try w.writeAll("unsigned __int128"),
1469 .int24 => try w.writeAll("__int24"),
1470 .uint24 => try w.writeAll("unsigned __int24"),
1338 },1471 },
1339 .bit_int => |bit_int| try w.print("{s} _BitInt({d})", .{ @tagName(bit_int.signedness), bit_int.bits }),1472 .bit_int => |bit_int| try w.print("{t} _BitInt({d})", .{ bit_int.signedness, bit_int.bits }),
1340 .float => |float_ty| switch (float_ty) {1473 .float => |float_ty| switch (float_ty) {
1341 .bf16 => try w.writeAll("__bf16"),1474 .bf16 => try w.writeAll("__bf16"),
1342 .fp16 => try w.writeAll("__fp16"),1475 .fp16 => try w.writeAll("__fp16"),
...@@ -1367,9 +1500,15 @@ pub const QualType = packed struct(u32) {...@@ -1367,9 +1500,15 @@ pub const QualType = packed struct(u32) {
1367 },1500 },
13681501
1369 .vector => |vector| {1502 .vector => |vector| {
1370 try w.print("__attribute__((__vector_size__({d} * sizeof(", .{vector.len});1503 switch (vector.kind) {
1371 _ = try vector.elem.printPrologue(comp, desugar, w);1504 .generic => {
1372 try w.writeAll(")))) ");1505 try w.print("__attribute__((__vector_size__({d} * sizeof(", .{vector.len});
1506 _ = try vector.elem.printPrologue(comp, desugar, w);
1507 try w.writeAll(")))) ");
1508 },
1509 .neon => try w.print("__attribute__((neon_vector_type({d}))) ", .{vector.len}),
1510 .neon_poly => try w.print("__attribute__((neon_polyvector_type({d}))) ", .{vector.len}),
1511 }
1373 _ = try vector.elem.printPrologue(comp, desugar, w);1512 _ = try vector.elem.printPrologue(comp, desugar, w);
1374 },1513 },
13751514
...@@ -1394,6 +1533,7 @@ pub const QualType = packed struct(u32) {...@@ -1394,6 +1533,7 @@ pub const QualType = packed struct(u32) {
1394 }1533 }
1395 continue :loop pointer.child.type(comp);1534 continue :loop pointer.child.type(comp);
1396 },1535 },
1536 .block => |block| continue :loop block.func.type(comp),
1397 .func => |func| {1537 .func => |func| {
1398 try w.writeByte('(');1538 try w.writeByte('(');
1399 for (func.params, 0..) |param, i| {1539 for (func.params, 0..) |param, i| {
...@@ -1408,6 +1548,9 @@ pub const QualType = packed struct(u32) {...@@ -1408,6 +1548,9 @@ pub const QualType = packed struct(u32) {
1408 try w.writeAll("void");1548 try w.writeAll("void");
1409 }1549 }
1410 try w.writeByte(')');1550 try w.writeByte(')');
1551 if (func.cc != .default) {
1552 try w.print(" __attribute__(({t}))", .{func.cc});
1553 }
1411 continue :loop func.return_type.type(comp);1554 continue :loop func.return_type.type(comp);
1412 },1555 },
1413 .array => |array| {1556 .array => |array| {
...@@ -1429,7 +1572,8 @@ pub const QualType = packed struct(u32) {...@@ -1429,7 +1572,8 @@ pub const QualType = packed struct(u32) {
14291572
1430 continue :loop array.elem.type(comp);1573 continue :loop array.elem.type(comp);
1431 },1574 },
1432 .attributed => |attributed| continue :loop attributed.base.type(comp),1575 .typeof => |typeof| if (desugar) continue :loop typeof.base.type(comp),
1576 .typedef => |typedef| if (desugar) continue :loop typedef.base.type(comp),
1433 else => {},1577 else => {},
1434 }1578 }
1435 }1579 }
...@@ -1441,11 +1585,20 @@ pub const QualType = packed struct(u32) {...@@ -1441,11 +1585,20 @@ pub const QualType = packed struct(u32) {
1441 if (qt.isInvalid()) return w.writeAll("invalid");1585 if (qt.isInvalid()) return w.writeAll("invalid");
1442 switch (qt.type(comp)) {1586 switch (qt.type(comp)) {
1443 .pointer => |pointer| {1587 .pointer => |pointer| {
1588 if (pointer.nullability != .default) {
1589 try w.writeAll(pointer.nullability.str());
1590 try w.writeByte(' ');
1591 }
1444 if (pointer.decayed) |decayed| {1592 if (pointer.decayed) |decayed| {
1445 try w.writeAll("decayed *");1593 try w.writeAll("decayed *");
1446 try decayed.dump(comp, w);1594 try decayed.dump(comp, w);
1447 } else {1595 } else {
1448 try w.writeAll("*");1596 try w.writeAll("*");
1597 switch (pointer.bounds) {
1598 .single => try w.writeAll("single "),
1599 .unsafe_indexable => try w.writeAll("unsafe_indexable "),
1600 .c => {},
1601 }
1449 try pointer.child.dump(comp, w);1602 try pointer.child.dump(comp, w);
1450 }1603 }
1451 },1604 },
...@@ -1465,6 +1618,27 @@ pub const QualType = packed struct(u32) {...@@ -1465,6 +1618,27 @@ pub const QualType = packed struct(u32) {
1465 try w.writeAll("...");1618 try w.writeAll("...");
1466 }1619 }
1467 try w.writeAll(") ");1620 try w.writeAll(") ");
1621 if (func.cc != .default) {
1622 try w.print("cc({t}) ", .{func.cc});
1623 }
1624 try func.return_type.dump(comp, w);
1625 },
1626 .block => |block| {
1627 const func = block.func.get(comp, .func).?; // `validateExtra` ensures this invariant
1628 try w.writeAll("block (");
1629 for (func.params, 0..) |param, i| {
1630 if (i != 0) try w.writeAll(", ");
1631 if (param.name != .empty) try w.print("{s}: ", .{param.name.lookup(comp)});
1632 try param.qt.dump(comp, w);
1633 }
1634 if (func.kind != .normal) {
1635 if (func.params.len != 0) try w.writeAll(", ");
1636 try w.writeAll("...");
1637 }
1638 try w.writeAll(") ");
1639 if (func.cc != .default) {
1640 try w.print("cc({t}) ", .{func.cc});
1641 }
1468 try func.return_type.dump(comp, w);1642 try func.return_type.dump(comp, w);
1469 },1643 },
1470 .array => |array| {1644 .array => |array| {
...@@ -1478,7 +1652,12 @@ pub const QualType = packed struct(u32) {...@@ -1478,7 +1652,12 @@ pub const QualType = packed struct(u32) {
1478 try array.elem.dump(comp, w);1652 try array.elem.dump(comp, w);
1479 },1653 },
1480 .vector => |vector| {1654 .vector => |vector| {
1481 try w.print("vector({d}, ", .{vector.len});1655 const kind = switch (vector.kind) {
1656 .generic => "vector",
1657 .neon => "neon_vector",
1658 .neon_poly => "neon_polyvector",
1659 };
1660 try w.print("{s}({d}, ", .{ kind, vector.len });
1482 try vector.elem.dump(comp, w);1661 try vector.elem.dump(comp, w);
1483 try w.writeAll(")");1662 try w.writeAll(")");
1484 },1663 },
...@@ -1488,11 +1667,6 @@ pub const QualType = packed struct(u32) {...@@ -1488,11 +1667,6 @@ pub const QualType = packed struct(u32) {
1488 try typeof.base.dump(comp, w);1667 try typeof.base.dump(comp, w);
1489 try w.writeAll(")");1668 try w.writeAll(")");
1490 },1669 },
1491 .attributed => |attributed| {
1492 try w.writeAll("attributed(");
1493 try attributed.base.dump(comp, w);
1494 try w.writeAll(")");
1495 },
1496 .typedef => |typedef| {1670 .typedef => |typedef| {
1497 try w.writeAll(typedef.name.lookup(comp));1671 try w.writeAll(typedef.name.lookup(comp));
1498 try w.writeAll(": ");1672 try w.writeAll(": ");
...@@ -1519,10 +1693,12 @@ pub const Type = union(enum) {...@@ -1519,10 +1693,12 @@ pub const Type = union(enum) {
15191693
1520 int: Int,1694 int: Int,
1521 float: Float,1695 float: Float,
1696 storage_float: StorageFloat,
1522 complex: QualType,1697 complex: QualType,
1523 bit_int: BitInt,1698 bit_int: BitInt,
1524 atomic: QualType,1699 atomic: QualType,
15251700
1701 block: Block,
1526 func: Func,1702 func: Func,
1527 pointer: Pointer,1703 pointer: Pointer,
1528 array: Array,1704 array: Array,
...@@ -1534,7 +1710,6 @@ pub const Type = union(enum) {...@@ -1534,7 +1710,6 @@ pub const Type = union(enum) {
15341710
1535 typeof: TypeOf,1711 typeof: TypeOf,
1536 typedef: TypeDef,1712 typedef: TypeDef,
1537 attributed: Attributed,
15381713
1539 pub const Int = enum {1714 pub const Int = enum {
1540 char,1715 char,
...@@ -1550,6 +1725,8 @@ pub const Type = union(enum) {...@@ -1550,6 +1725,8 @@ pub const Type = union(enum) {
1550 ulong_long,1725 ulong_long,
1551 int128,1726 int128,
1552 uint128,1727 uint128,
1728 int24,
1729 uint24,
15531730
1554 pub fn bits(int: Int, comp: *const Compilation) u16 {1731 pub fn bits(int: Int, comp: *const Compilation) u16 {
1555 return switch (int) {1732 return switch (int) {
...@@ -1566,6 +1743,7 @@ pub const Type = union(enum) {...@@ -1566,6 +1743,7 @@ pub const Type = union(enum) {
1566 .ulong_long => comp.target.cTypeBitSize(.ulonglong),1743 .ulong_long => comp.target.cTypeBitSize(.ulonglong),
1567 .int128 => 128,1744 .int128 => 128,
1568 .uint128 => 128,1745 .uint128 => 128,
1746 .int24, .uint24 => 24,
1569 };1747 };
1570 }1748 }
1571 };1749 };
...@@ -1610,15 +1788,47 @@ pub const Type = union(enum) {...@@ -1610,15 +1788,47 @@ pub const Type = union(enum) {
1610 }1788 }
1611 };1789 };
16121790
1791 /// non-arithmetic floats
1792 pub const StorageFloat = enum {
1793 mfp8,
1794
1795 pub fn bits(storage_float: StorageFloat) u16 {
1796 return switch (storage_float) {
1797 .mfp8 => 8,
1798 };
1799 }
1800
1801 pub fn alignment(storage_float: StorageFloat) u32 {
1802 return switch (storage_float) {
1803 .mfp8 => 1,
1804 };
1805 }
1806
1807 pub fn name(storage_float: StorageFloat) []const u8 {
1808 return switch (storage_float) {
1809 .mfp8 => "__mfp8",
1810 };
1811 }
1812 };
1813
1613 pub const BitInt = struct {1814 pub const BitInt = struct {
1614 /// Must be >= 1 if unsigned and >= 2 if signed1815 /// Must be >= 1 if unsigned and >= 2 if signed
1615 bits: u16,1816 bits: u16,
1616 signedness: std.builtin.Signedness,1817 signedness: std.builtin.Signedness,
1617 };1818 };
16181819
1820 pub const Block = struct {
1821 func: QualType,
1822 nullability: Pointer.Nullability = .default,
1823 };
1824
1619 pub const Func = struct {1825 pub const Func = struct {
1620 return_type: QualType,1826 return_type: QualType,
1621 kind: enum {1827 kind: Kind,
1828 params: []const Param,
1829 cc: CallingConvention = .default,
1830
1831 pub const Kind = enum(u2) {
1622 /// int foo(int bar, char baz) and int (void)1832 /// int foo(int bar, char baz) and int (void)
1623 normal,1833 normal,
1624 /// int foo(int bar, char baz, ...)1834 /// int foo(int bar, char baz, ...)
...@@ -1626,8 +1836,7 @@ pub const Type = union(enum) {...@@ -1626,8 +1836,7 @@ pub const Type = union(enum) {
1626 /// int foo(bar, baz) and int foo()1836 /// int foo(bar, baz) and int foo()
1627 /// is also var args, but we can give warnings about incorrect amounts of parameters1837 /// is also var args, but we can give warnings about incorrect amounts of parameters
1628 old_style,1838 old_style,
1629 },1839 };
1630 params: []const Param,
16311840
1632 pub const Param = extern struct {1841 pub const Param = extern struct {
1633 qt: QualType,1842 qt: QualType,
...@@ -1635,29 +1844,81 @@ pub const Type = union(enum) {...@@ -1635,29 +1844,81 @@ pub const Type = union(enum) {
1635 name_tok: TokenIndex,1844 name_tok: TokenIndex,
1636 node: Node.OptIndex,1845 node: Node.OptIndex,
1637 };1846 };
1847
1848 pub const CallingConvention = enum(u4) {
1849 default,
1850 cdecl,
1851 aarch64_sve_pcs,
1852 aarch64_vector_pcs,
1853 arm_aapcs_vfp,
1854 arm_aapcs,
1855 fastcall,
1856 ms_abi,
1857 regcall,
1858 riscv_vector_cc,
1859 riscv_vls_cc,
1860 stdcall,
1861 sysv_abi,
1862 thiscall,
1863 vectorcall,
1864 };
1638 };1865 };
16391866
1640 pub const Pointer = struct {1867 pub const Pointer = struct {
1641 child: QualType,1868 child: QualType,
1642 decayed: ?QualType = null,1869 decayed: ?QualType = null,
1643 bounds: Bounds = .c,1870 bounds: Bounds = .c,
1871 nullability: Nullability = .default,
1872 // size: Size = .default,
1873 // extend: Extend = .default,
1874 // address_space: AddressSpace = .default,
16441875
1645 pub const Bounds = enum {1876 pub const Bounds = enum(u2) {
1646 /// C pointer with no bounds attribute1877 /// C pointer with no bounds attribute
1647 c,1878 c,
1648 /// No pointer arithmetic or non-zero indexing1879 /// No pointer arithmetic or non-zero indexing
1649 single,1880 single,
1650 /// Explicitly specified as a traditional C pointer1881 /// Explicitly specified as a traditional C pointer
1651 unsafe_indexable,1882 unsafe_indexable,
1883 };
16521884
1653 pub fn fromTag(tag: Attribute.Tag) Bounds {1885 pub const Nullability = enum(u3) {
1654 return switch (tag) {1886 default,
1655 .single => .single,1887 nonnull,
1656 .unsafe_indexable => .unsafe_indexable,1888 nullable,
1657 else => unreachable,1889 nullable_result,
1890 unspecified,
1891
1892 pub fn str(n: Nullability) []const u8 {
1893 return switch (n) {
1894 .default => unreachable,
1895 .nonnull => "_Nonnull",
1896 .nullable => "_Nullable",
1897 .nullable_result => "_Nullable_result",
1898 .unspecified => "_Null_unspecified",
1658 };1899 };
1659 }1900 }
1660 };1901 };
1902
1903 pub const Size = enum {
1904 default,
1905 ptr64,
1906 ptr32,
1907 };
1908
1909 pub const Extend = enum {
1910 default,
1911 sign,
1912 zero,
1913 };
1914
1915 pub const AddressSpace = enum {
1916 default,
1917 };
1918
1919 pub fn anyAttrs(p: Pointer) bool {
1920 return p.bounds != .c or p.nullability != .default;
1921 }
1661 };1922 };
16621923
1663 pub const Array = struct {1924 pub const Array = struct {
...@@ -1674,11 +1935,25 @@ pub const Type = union(enum) {...@@ -1674,11 +1935,25 @@ pub const Type = union(enum) {
1674 pub const Vector = struct {1935 pub const Vector = struct {
1675 elem: QualType,1936 elem: QualType,
1676 len: u32,1937 len: u32,
1938 kind: Kind = .generic,
1939
1940 pub const Kind = enum {
1941 generic,
1942 neon,
1943 neon_poly,
1944 };
1945
1946 pub fn eql(a: Vector, b: Vector, comp: *const Compilation, check_kind: bool) bool {
1947 if (a.len != b.len) return false;
1948 if (!a.elem.eqlQualified(b.elem, comp)) return false;
1949 if (check_kind and a.kind != b.kind) return false;
1950 return true;
1951 }
1677 };1952 };
16781953
1679 pub const Record = struct {1954 pub const Record = struct {
1680 name: StringId,1955 name: StringId,
1681 decl_node: Node.Index,1956 decl_node: Node.OptIndex = .null,
1682 layout: ?Layout = null,1957 layout: ?Layout = null,
1683 fields: []const Field,1958 fields: []const Field,
16841959
...@@ -1700,12 +1975,7 @@ pub const Type = union(enum) {...@@ -1700,12 +1975,7 @@ pub const Type = union(enum) {
1700 .offset_bits = 0,1975 .offset_bits = 0,
1701 .size_bits = 0,1976 .size_bits = 0,
1702 },1977 },
1703 _attr_index: u32 = 0,1978 field_decl: Node.OptIndex = .null,
1704 _attr_len: u32 = 0,
1705
1706 pub fn attributes(field: Field, comp: *const Compilation) []const Attribute {
1707 return comp.type_store.attributes.items[field._attr_index..][0..field._attr_len];
1708 }
17091979
1710 pub const Layout = extern struct {1980 pub const Layout = extern struct {
1711 /// `offset_bits` and `size_bits` should both be INVALID if and only if the field1981 /// `offset_bits` and `size_bits` should both be INVALID if and only if the field
...@@ -1796,17 +2066,14 @@ pub const Type = union(enum) {...@@ -1796,17 +2066,14 @@ pub const Type = union(enum) {
1796 name: StringId,2066 name: StringId,
1797 decl_node: Node.Index,2067 decl_node: Node.Index,
1798 };2068 };
1799
1800 pub const Attributed = struct {
1801 base: QualType,
1802 attributes: []const Attribute,
1803 };
1804};2069};
18052070
1806types: std.MultiArrayList(Repr) = .empty,2071types: std.MultiArrayList(Repr) = .empty,
1807extra: std.ArrayList(u32) = .empty,2072extra: std.ArrayList(u32) = .empty,
1808attributes: std.ArrayList(Attribute) = .empty,
1809anon_name_arena: std.heap.ArenaAllocator.State = .{},2073anon_name_arena: std.heap.ArenaAllocator.State = .{},
2074/// Alignment is a decl attribute in C but since it matters for sizeof calculations
2075/// it is additionally stored here.
2076requested_aligns: std.AutoHashMapUnmanaged(QualType, u32) = .empty,
18102077
1811wchar: QualType = .invalid,2078wchar: QualType = .invalid,
1812wint: QualType = .invalid,2079wint: QualType = .invalid,
...@@ -1829,8 +2096,8 @@ int64: QualType = .invalid,...@@ -1829,8 +2096,8 @@ int64: QualType = .invalid,
1829pub fn deinit(ts: *TypeStore, gpa: std.mem.Allocator) void {2096pub fn deinit(ts: *TypeStore, gpa: std.mem.Allocator) void {
1830 ts.types.deinit(gpa);2097 ts.types.deinit(gpa);
1831 ts.extra.deinit(gpa);2098 ts.extra.deinit(gpa);
1832 ts.attributes.deinit(gpa);
1833 ts.anon_name_arena.promote(gpa).deinit();2099 ts.anon_name_arena.promote(gpa).deinit();
2100 ts.requested_aligns.deinit(gpa);
1834 ts.* = undefined;2101 ts.* = undefined;
1835}2102}
18362103
...@@ -1857,6 +2124,8 @@ pub fn putExtra(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type) !Index {...@@ -1857,6 +2124,8 @@ pub fn putExtra(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type) !Index {
1857 .ulong_long => return .int_ulong_long,2124 .ulong_long => return .int_ulong_long,
1858 .int128 => return .int_int128,2125 .int128 => return .int_int128,
1859 .uint128 => return .int_uint128,2126 .uint128 => return .int_uint128,
2127 .int24 => return .int_int24,
2128 .uint24 => return .int_uint24,
1860 },2129 },
1861 .float => |float| switch (float) {2130 .float => |float| switch (float) {
1862 .bf16 => return .float_bf16,2131 .bf16 => return .float_bf16,
...@@ -1876,6 +2145,9 @@ pub fn putExtra(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type) !Index {...@@ -1876,6 +2145,9 @@ pub fn putExtra(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type) !Index {
1876 .dfloat128 => return .float_dfloat128,2145 .dfloat128 => return .float_dfloat128,
1877 .dfloat64x => return .float_dfloat64x,2146 .dfloat64x => return .float_dfloat64x,
1878 },2147 },
2148 .storage_float => |storage_float| switch (storage_float) {
2149 .mfp8 => return .mfp8,
2150 },
1879 else => {},2151 else => {},
1880 }2152 }
1881 const index = try ts.types.addOne(gpa);2153 const index = try ts.types.addOne(gpa);
...@@ -1891,6 +2163,7 @@ pub fn set(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type, index: usize) !void...@@ -1891,6 +2163,7 @@ pub fn set(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type, index: usize) !void
1891 .nullptr_t => unreachable,2163 .nullptr_t => unreachable,
1892 .int => unreachable,2164 .int => unreachable,
1893 .float => unreachable,2165 .float => unreachable,
2166 .storage_float => unreachable,
1894 .complex => |complex| {2167 .complex => |complex| {
1895 repr.tag = .complex;2168 repr.tag = .complex;
1896 repr.data[0] = @bitCast(complex);2169 repr.data[0] = @bitCast(complex);
...@@ -1905,6 +2178,10 @@ pub fn set(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type, index: usize) !void...@@ -1905,6 +2178,10 @@ pub fn set(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type, index: usize) !void
1905 std.debug.assert(!atomic.@"const" and !atomic.@"volatile");2178 std.debug.assert(!atomic.@"const" and !atomic.@"volatile");
1906 repr.data[0] = @bitCast(atomic);2179 repr.data[0] = @bitCast(atomic);
1907 },2180 },
2181 .block => |block| {
2182 repr.tag = .block;
2183 repr.data[0] = @bitCast(block.func);
2184 },
1908 .func => |func| {2185 .func => |func| {
1909 repr.data[0] = @bitCast(func.return_type);2186 repr.data[0] = @bitCast(func.return_type);
19102187
...@@ -1940,16 +2217,43 @@ pub fn set(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type, index: usize) !void...@@ -1940,16 +2217,43 @@ pub fn set(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type, index: usize) !void
1940 else => .func_old_style,2217 else => .func_old_style,
1941 },2218 },
1942 };2219 };
2220
2221 if (func.cc != .default) {
2222 const attr: Repr.FuncAttrs = .{
2223 .kind = func.kind,
2224 .cc = func.cc,
2225 };
2226 if (func.params.len == 0) {
2227 repr.data[1] = @bitCast(attr);
2228 } else {
2229 try ts.extra.append(gpa, @bitCast(attr));
2230 }
2231 repr.tag = switch (func.params.len) {
2232 0 => .func_attributed_zero,
2233 1 => .func_attributed_one,
2234 else => .func_attributed,
2235 };
2236 }
1943 },2237 },
1944 .pointer => |pointer| {2238 .pointer => |pointer| {
1945 repr.data[0] = @bitCast(pointer.child);2239 repr.data[0] = @bitCast(pointer.child);
2240 const attr: Repr.PointerAttrs = .{
2241 .bounds = pointer.bounds,
2242 .nullability = pointer.nullability,
2243 };
1946 if (pointer.decayed) |array| {2244 if (pointer.decayed) |array| {
1947 std.debug.assert(pointer.bounds == .c);2245 if (pointer.anyAttrs()) {
1948 repr.tag = .pointer_decayed;2246 repr.tag = .pointer_decayed_attributed;
1949 repr.data[1] = @bitCast(array);2247 repr.data[1] = @intCast(ts.extra.items.len);
2248 try ts.extra.append(gpa, @bitCast(array));
2249 try ts.extra.append(gpa, @bitCast(attr));
2250 } else {
2251 repr.tag = .pointer_decayed;
2252 repr.data[1] = @bitCast(array);
2253 }
1950 } else {2254 } else {
1951 repr.tag = .pointer;2255 repr.tag = .pointer;
1952 repr.data[1] = @backingInt(pointer.bounds);2256 repr.data[1] = @bitCast(attr);
1953 }2257 }
1954 },2258 },
1955 .array => |array| {2259 .array => |array| {
...@@ -1980,7 +2284,11 @@ pub fn set(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type, index: usize) !void...@@ -1980,7 +2284,11 @@ pub fn set(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type, index: usize) !void
1980 }2284 }
1981 },2285 },
1982 .vector => |vector| {2286 .vector => |vector| {
1983 repr.tag = .vector;2287 repr.tag = switch (vector.kind) {
2288 .generic => .vector,
2289 .neon => .vector_neon,
2290 .neon_poly => .vector_neon_poly,
2291 };
1984 repr.data[0] = @bitCast(vector.elem);2292 repr.data[0] = @bitCast(vector.elem);
1985 repr.data[1] = vector.len;2293 repr.data[1] = vector.len;
1986 },2294 },
...@@ -2007,7 +2315,7 @@ pub fn set(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type, index: usize) !void...@@ -2007,7 +2315,7 @@ pub fn set(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type, index: usize) !void
20072315
2008 const layout_size = 5;2316 const layout_size = 5;
2009 comptime std.debug.assert(@sizeOf(Type.Record.Layout) == @sizeOf(u32) * layout_size);2317 comptime std.debug.assert(@sizeOf(Type.Record.Layout) == @sizeOf(u32) * layout_size);
2010 const field_size = 10;2318 const field_size = 9;
2011 comptime std.debug.assert(@sizeOf(Type.Record.Field) == @sizeOf(u32) * field_size);2319 comptime std.debug.assert(@sizeOf(Type.Record.Field) == @sizeOf(u32) * field_size);
2012 try ts.extra.ensureUnusedCapacity(gpa, record.fields.len * field_size + layout_size + 2);2320 try ts.extra.ensureUnusedCapacity(gpa, record.fields.len * field_size + layout_size + 2);
20132321
...@@ -2076,22 +2384,6 @@ pub fn set(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type, index: usize) !void...@@ -2076,22 +2384,6 @@ pub fn set(ts: *TypeStore, gpa: std.mem.Allocator, ty: Type, index: usize) !void
2076 @backingInt(typedef.decl_node),2384 @backingInt(typedef.decl_node),
2077 });2385 });
2078 },2386 },
2079 .attributed => |attributed| {
2080 repr.data[0] = @bitCast(attributed.base);
2081
2082 const attr_index: u32 = @intCast(ts.attributes.items.len);
2083 const attr_count: u32 = @intCast(attributed.attributes.len);
2084 try ts.attributes.appendSlice(gpa, attributed.attributes);
2085 if (attr_count > 1) {
2086 repr.tag = .attributed;
2087 const extra_index: u32 = @intCast(ts.extra.items.len);
2088 repr.data[1] = extra_index;
2089 try ts.extra.appendSlice(gpa, &.{ attr_index, attr_count });
2090 } else {
2091 repr.tag = .attributed_one;
2092 repr.data[1] = attr_index;
2093 }
2094 },
2095 }2387 }
2096 ts.types.set(index, repr);2388 ts.types.set(index, repr);
2097}2389}
...@@ -2180,10 +2472,8 @@ fn generateNsConstantStringType(ts: *TypeStore, comp: *Compilation) !QualType {...@@ -2180,10 +2472,8 @@ fn generateNsConstantStringType(ts: *TypeStore, comp: *Compilation) !QualType {
2180 var record: Type.Record = .{2472 var record: Type.Record = .{
2181 .name = try comp.internString("__NSConstantString_tag"),2473 .name = try comp.internString("__NSConstantString_tag"),
2182 .layout = null,2474 .layout = null,
2183 .decl_node = undefined, // TODO
2184 .fields = &.{},2475 .fields = &.{},
2185 };2476 };
2186 const qt = try ts.put(comp.gpa, .{ .@"struct" = record });
21872477
2188 var fields: [4]Type.Record.Field = .{2478 var fields: [4]Type.Record.Field = .{
2189 .{ .name = try comp.internString("isa"), .qt = const_int_ptr },2479 .{ .name = try comp.internString("isa"), .qt = const_int_ptr },
...@@ -2192,10 +2482,9 @@ fn generateNsConstantStringType(ts: *TypeStore, comp: *Compilation) !QualType {...@@ -2192,10 +2482,9 @@ fn generateNsConstantStringType(ts: *TypeStore, comp: *Compilation) !QualType {
2192 .{ .name = try comp.internString("length"), .qt = .long },2482 .{ .name = try comp.internString("length"), .qt = .long },
2193 };2483 };
2194 record.fields = &fields;2484 record.fields = &fields;
2195 record.layout = record_layout.compute(&fields, qt, comp, null) catch unreachable;2485 record.layout = record_layout.compute(&fields, .null, false, comp, &.{}, null) catch unreachable;
2196 try ts.set(comp.gpa, .{ .@"struct" = record }, @backingInt(qt._index));
21972486
2198 return qt;2487 return try ts.put(comp.gpa, .{ .@"struct" = record });
2199}2488}
22002489
2201fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {2490fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {
...@@ -2266,11 +2555,9 @@ fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {...@@ -2266,11 +2555,9 @@ fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {
2266 .aarch64_va_list => {2555 .aarch64_va_list => {
2267 var record: Type.Record = .{2556 var record: Type.Record = .{
2268 .name = try comp.internString("__va_list"),2557 .name = try comp.internString("__va_list"),
2269 .decl_node = undefined, // TODO
2270 .layout = null,2558 .layout = null,
2271 .fields = &.{},2559 .fields = &.{},
2272 };2560 };
2273 const qt = try ts.put(comp.gpa, .{ .@"struct" = record });
22742561
2275 var fields: [5]Type.Record.Field = .{2562 var fields: [5]Type.Record.Field = .{
2276 .{ .name = try comp.internString("__stack"), .qt = .void_pointer },2563 .{ .name = try comp.internString("__stack"), .qt = .void_pointer },
...@@ -2280,37 +2567,31 @@ fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {...@@ -2280,37 +2567,31 @@ fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {
2280 .{ .name = try comp.internString("__vr_offs"), .qt = .int },2567 .{ .name = try comp.internString("__vr_offs"), .qt = .int },
2281 };2568 };
2282 record.fields = &fields;2569 record.fields = &fields;
2283 record.layout = record_layout.compute(&fields, qt, comp, null) catch unreachable;2570 record.layout = record_layout.compute(&fields, .null, false, comp, &.{}, null) catch unreachable;
2284 try ts.set(comp.gpa, .{ .@"struct" = record }, @backingInt(qt._index));
22852571
2286 return qt;2572 return ts.put(comp.gpa, .{ .@"struct" = record });
2287 },2573 },
2288 .arm_va_list => {2574 .arm_va_list => {
2289 var record: Type.Record = .{2575 var record: Type.Record = .{
2290 .name = try comp.internString("__va_list"),2576 .name = try comp.internString("__va_list"),
2291 .decl_node = undefined, // TODO
2292 .layout = null,2577 .layout = null,
2293 .fields = &.{},2578 .fields = &.{},
2294 };2579 };
2295 const qt = try ts.put(comp.gpa, .{ .@"struct" = record });
22962580
2297 var fields: [1]Type.Record.Field = .{2581 var fields: [1]Type.Record.Field = .{
2298 .{ .name = try comp.internString("__ap"), .qt = .void_pointer },2582 .{ .name = try comp.internString("__ap"), .qt = .void_pointer },
2299 };2583 };
2300 record.fields = &fields;2584 record.fields = &fields;
2301 record.layout = record_layout.compute(&fields, qt, comp, null) catch unreachable;2585 record.layout = record_layout.compute(&fields, .null, false, comp, &.{}, null) catch unreachable;
2302 try ts.set(comp.gpa, .{ .@"struct" = record }, @backingInt(qt._index));
23032586
2304 return qt;2587 return ts.put(comp.gpa, .{ .@"struct" = record });
2305 },2588 },
2306 .hexagon_va_list => blk: {2589 .s390x_va_list => blk: {
2307 var record: Type.Record = .{2590 var record: Type.Record = .{
2308 .name = try comp.internString("__va_list_tag"),2591 .name = try comp.internString("__va_list_tag"),
2309 .decl_node = undefined, // TODO
2310 .layout = null,2592 .layout = null,
2311 .fields = &.{},2593 .fields = &.{},
2312 };2594 };
2313 const qt = try ts.put(comp.gpa, .{ .@"struct" = record });
23142595
2315 var fields: [4]Type.Record.Field = .{2596 var fields: [4]Type.Record.Field = .{
2316 .{ .name = try comp.internString("__gpr"), .qt = .long },2597 .{ .name = try comp.internString("__gpr"), .qt = .long },
...@@ -2319,19 +2600,16 @@ fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {...@@ -2319,19 +2600,16 @@ fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {
2319 .{ .name = try comp.internString("__reg_save_area"), .qt = .void_pointer },2600 .{ .name = try comp.internString("__reg_save_area"), .qt = .void_pointer },
2320 };2601 };
2321 record.fields = &fields;2602 record.fields = &fields;
2322 record.layout = record_layout.compute(&fields, qt, comp, null) catch unreachable;2603 record.layout = record_layout.compute(&fields, .null, false, comp, &.{}, null) catch unreachable;
2323 try ts.set(comp.gpa, .{ .@"struct" = record }, @backingInt(qt._index));
23242604
2325 break :blk qt;2605 break :blk try ts.put(comp.gpa, .{ .@"struct" = record });
2326 },2606 },
2327 .powerpc_va_list => blk: {2607 .powerpc_va_list => blk: {
2328 var record: Type.Record = .{2608 var record: Type.Record = .{
2329 .name = try comp.internString("__va_list_tag"),2609 .name = try comp.internString("__va_list_tag"),
2330 .decl_node = undefined, // TODO
2331 .layout = null,2610 .layout = null,
2332 .fields = &.{},2611 .fields = &.{},
2333 };2612 };
2334 const qt = try ts.put(comp.gpa, .{ .@"struct" = record });
23352613
2336 var fields: [5]Type.Record.Field = .{2614 var fields: [5]Type.Record.Field = .{
2337 .{ .name = try comp.internString("gpr"), .qt = .uchar },2615 .{ .name = try comp.internString("gpr"), .qt = .uchar },
...@@ -2341,19 +2619,16 @@ fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {...@@ -2341,19 +2619,16 @@ fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {
2341 .{ .name = try comp.internString("reg_save_area"), .qt = .void_pointer },2619 .{ .name = try comp.internString("reg_save_area"), .qt = .void_pointer },
2342 };2620 };
2343 record.fields = &fields;2621 record.fields = &fields;
2344 record.layout = record_layout.compute(&fields, qt, comp, null) catch unreachable;2622 record.layout = record_layout.compute(&fields, .null, false, comp, &.{}, null) catch unreachable;
2345 try ts.set(comp.gpa, .{ .@"struct" = record }, @backingInt(qt._index));
23462623
2347 break :blk qt;2624 break :blk try ts.put(comp.gpa, .{ .@"struct" = record });
2348 },2625 },
2349 .s390x_va_list => blk: {2626 .hexagon_va_list => blk: {
2350 var record: Type.Record = .{2627 var record: Type.Record = .{
2351 .name = try comp.internString("__va_list_tag"),2628 .name = try comp.internString("__va_list_tag"),
2352 .decl_node = undefined, // TODO
2353 .layout = null,2629 .layout = null,
2354 .fields = &.{},2630 .fields = &.{},
2355 };2631 };
2356 const qt = try ts.put(comp.gpa, .{ .@"struct" = record });
23572632
2358 var fields: [3]Type.Record.Field = .{2633 var fields: [3]Type.Record.Field = .{
2359 .{ .name = try comp.internString("__current_saved_reg_area_pointer"), .qt = .void_pointer },2634 .{ .name = try comp.internString("__current_saved_reg_area_pointer"), .qt = .void_pointer },
...@@ -2361,19 +2636,16 @@ fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {...@@ -2361,19 +2636,16 @@ fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {
2361 .{ .name = try comp.internString("__overflow_area_pointer"), .qt = .void_pointer },2636 .{ .name = try comp.internString("__overflow_area_pointer"), .qt = .void_pointer },
2362 };2637 };
2363 record.fields = &fields;2638 record.fields = &fields;
2364 record.layout = record_layout.compute(&fields, qt, comp, null) catch unreachable;2639 record.layout = record_layout.compute(&fields, .null, false, comp, &.{}, null) catch unreachable;
2365 try ts.set(comp.gpa, .{ .@"struct" = record }, @backingInt(qt._index));
23662640
2367 break :blk qt;2641 break :blk try ts.put(comp.gpa, .{ .@"struct" = record });
2368 },2642 },
2369 .x86_64_va_list => blk: {2643 .x86_64_va_list => blk: {
2370 var record: Type.Record = .{2644 var record: Type.Record = .{
2371 .name = try comp.internString("__va_list_tag"),2645 .name = try comp.internString("__va_list_tag"),
2372 .decl_node = undefined, // TODO
2373 .layout = null,2646 .layout = null,
2374 .fields = &.{},2647 .fields = &.{},
2375 };2648 };
2376 const qt = try ts.put(comp.gpa, .{ .@"struct" = record });
23772649
2378 var fields: [4]Type.Record.Field = .{2650 var fields: [4]Type.Record.Field = .{
2379 .{ .name = try comp.internString("gp_offset"), .qt = .uint },2651 .{ .name = try comp.internString("gp_offset"), .qt = .uint },
...@@ -2382,19 +2654,16 @@ fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {...@@ -2382,19 +2654,16 @@ fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {
2382 .{ .name = try comp.internString("reg_save_area"), .qt = .void_pointer },2654 .{ .name = try comp.internString("reg_save_area"), .qt = .void_pointer },
2383 };2655 };
2384 record.fields = &fields;2656 record.fields = &fields;
2385 record.layout = record_layout.compute(&fields, qt, comp, null) catch unreachable;2657 record.layout = record_layout.compute(&fields, .null, false, comp, &.{}, null) catch unreachable;
2386 try ts.set(comp.gpa, .{ .@"struct" = record }, @backingInt(qt._index));
23872658
2388 break :blk qt;2659 break :blk try ts.put(comp.gpa, .{ .@"struct" = record });
2389 },2660 },
2390 .xtensa_va_list => {2661 .xtensa_va_list => {
2391 var record: Type.Record = .{2662 var record: Type.Record = .{
2392 .name = try comp.internString("__va_list_tag"),2663 .name = try comp.internString("__va_list_tag"),
2393 .decl_node = undefined, // TODO
2394 .layout = null,2664 .layout = null,
2395 .fields = &.{},2665 .fields = &.{},
2396 };2666 };
2397 const qt = try ts.put(comp.gpa, .{ .@"struct" = record });
23982667
2399 var fields: [3]Type.Record.Field = .{2668 var fields: [3]Type.Record.Field = .{
2400 .{ .name = try comp.internString("__va_stk"), .qt = .int_pointer },2669 .{ .name = try comp.internString("__va_stk"), .qt = .int_pointer },
...@@ -2402,10 +2671,9 @@ fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {...@@ -2402,10 +2671,9 @@ fn generateVaListType(ts: *TypeStore, comp: *Compilation) !QualType {
2402 .{ .name = try comp.internString("__va_ndx"), .qt = .int },2671 .{ .name = try comp.internString("__va_ndx"), .qt = .int },
2403 };2672 };
2404 record.fields = &fields;2673 record.fields = &fields;
2405 record.layout = record_layout.compute(&fields, qt, comp, null) catch unreachable;2674 record.layout = record_layout.compute(&fields, .null, false, comp, &.{}, null) catch unreachable;
2406 try ts.set(comp.gpa, .{ .@"struct" = record }, @backingInt(qt._index));
24072675
2408 return qt;2676 return try ts.put(comp.gpa, .{ .@"struct" = record });
2409 },2677 },
2410 };2678 };
24112679
...@@ -2487,6 +2755,9 @@ pub const Builder = struct {...@@ -2487,6 +2755,9 @@ pub const Builder = struct {
2487 int128,2755 int128,
2488 sint128,2756 sint128,
2489 uint128,2757 uint128,
2758 int24,
2759 sint24,
2760 uint24,
2490 complex_unsigned,2761 complex_unsigned,
2491 complex_signed,2762 complex_signed,
2492 complex_short,2763 complex_short,
...@@ -2513,6 +2784,9 @@ pub const Builder = struct {...@@ -2513,6 +2784,9 @@ pub const Builder = struct {
2513 complex_int128,2784 complex_int128,
2514 complex_sint128,2785 complex_sint128,
2515 complex_uint128,2786 complex_uint128,
2787 complex_int24,
2788 complex_sint24,
2789 complex_uint24,
2516 bit_int: u64,2790 bit_int: u64,
2517 sbit_int: u64,2791 sbit_int: u64,
2518 ubit_int: u64,2792 ubit_int: u64,
...@@ -2522,6 +2796,7 @@ pub const Builder = struct {...@@ -2522,6 +2796,7 @@ pub const Builder = struct {
25222796
2523 bf16,2797 bf16,
2524 fp16,2798 fp16,
2799 mfp8,
2525 float16,2800 float16,
2526 float,2801 float,
2527 double,2802 double,
...@@ -2588,6 +2863,9 @@ pub const Builder = struct {...@@ -2588,6 +2863,9 @@ pub const Builder = struct {
2588 .int128 => "__int128",2863 .int128 => "__int128",
2589 .sint128 => "signed __int128",2864 .sint128 => "signed __int128",
2590 .uint128 => "unsigned __int128",2865 .uint128 => "unsigned __int128",
2866 .int24 => "__int24",
2867 .sint24 => "signed __int24",
2868 .uint24 => "unsigned __int24",
2591 .complex_char => "_Complex char",2869 .complex_char => "_Complex char",
2592 .complex_schar => "_Complex signed char",2870 .complex_schar => "_Complex signed char",
2593 .complex_uchar => "_Complex unsigned char",2871 .complex_uchar => "_Complex unsigned char",
...@@ -2617,9 +2895,13 @@ pub const Builder = struct {...@@ -2617,9 +2895,13 @@ pub const Builder = struct {
2617 .complex_int128 => "_Complex __int128",2895 .complex_int128 => "_Complex __int128",
2618 .complex_sint128 => "_Complex signed __int128",2896 .complex_sint128 => "_Complex signed __int128",
2619 .complex_uint128 => "_Complex unsigned __int128",2897 .complex_uint128 => "_Complex unsigned __int128",
2898 .complex_int24 => "_Complex __int24",
2899 .complex_sint24 => "_Complex signed __int24",
2900 .complex_uint24 => "_Complex unsigned __int24",
26202901
2621 .bf16 => "__bf16",2902 .bf16 => "__bf16",
2622 .fp16 => "__fp16",2903 .fp16 => "__fp16",
2904 .mfp8 => "__mfp8",
2623 .float16 => "_Float16",2905 .float16 => "_Float16",
2624 .float => "float",2906 .float => "float",
2625 .double => "double",2907 .double => "double",
...@@ -2668,6 +2950,8 @@ pub const Builder = struct {...@@ -2668,6 +2950,8 @@ pub const Builder = struct {
2668 .ulong_long, .ulong_long_int => .ulong_long,2950 .ulong_long, .ulong_long_int => .ulong_long,
2669 .int128, .sint128 => .int128,2951 .int128, .sint128 => .int128,
2670 .uint128 => .uint128,2952 .uint128 => .uint128,
2953 .int24, .sint24 => .int24,
2954 .uint24 => .uint24,
26712955
2672 .complex_char,2956 .complex_char,
2673 .complex_schar,2957 .complex_schar,
...@@ -2698,6 +2982,9 @@ pub const Builder = struct {...@@ -2698,6 +2982,9 @@ pub const Builder = struct {
2698 .complex_int128,2982 .complex_int128,
2699 .complex_sint128,2983 .complex_sint128,
2700 .complex_uint128,2984 .complex_uint128,
2985 .complex_int24,
2986 .complex_sint24,
2987 .complex_uint24,
2701 => blk: {2988 => blk: {
2702 const base_qt: QualType = switch (b.type) {2989 const base_qt: QualType = switch (b.type) {
2703 .complex_char => .char,2990 .complex_char => .char,
...@@ -2715,30 +3002,30 @@ pub const Builder = struct {...@@ -2715,30 +3002,30 @@ pub const Builder = struct {
2715 .complex_ulong_long, .complex_ulong_long_int => .ulong_long,3002 .complex_ulong_long, .complex_ulong_long_int => .ulong_long,
2716 .complex_int128, .complex_sint128 => .int128,3003 .complex_int128, .complex_sint128 => .int128,
2717 .complex_uint128 => .uint128,3004 .complex_uint128 => .uint128,
3005 .complex_int24, .complex_sint24 => .int24,
3006 .complex_uint24 => .uint24,
2718 else => unreachable,3007 else => unreachable,
2719 };3008 };
2720 if (b.complex_tok) |tok| try b.parser.err(tok, .complex_int, .{});3009 if (b.complex_tok) |tok| try b.parser.err(tok, .complex_int, .{});
2721 break :blk try base_qt.toComplex(b.parser.comp);3010 break :blk try base_qt.toComplex(b.parser.comp);
2722 },3011 },
27233012
2724 .bit_int, .sbit_int, .ubit_int, .complex_bit_int, .complex_ubit_int, .complex_sbit_int => |bits| blk: {3013 .bit_int, .sbit_int, .ubit_int => |bits| blk: {
2725 const unsigned = b.type == .ubit_int or b.type == .complex_ubit_int;3014 const unsigned = b.type == .ubit_int;
2726 const complex = b.type == .complex_bit_int or b.type == .complex_ubit_int or b.type == .complex_sbit_int;
2727 const complex_str = if (complex) "_Complex " else "";
27283015
2729 if (unsigned) {3016 if (unsigned) {
2730 if (bits < 1) {3017 if (bits < 1) {
2731 try b.parser.err(b.bit_int_tok.?, .unsigned_bit_int_too_small, .{complex_str});3018 try b.parser.err(b.bit_int_tok.?, .unsigned_bit_int_too_small, .{});
2732 return .invalid;3019 return .invalid;
2733 }3020 }
2734 } else {3021 } else {
2735 if (bits < 2) {3022 if (bits < 2) {
2736 try b.parser.err(b.bit_int_tok.?, .signed_bit_int_too_small, .{complex_str});3023 try b.parser.err(b.bit_int_tok.?, .signed_bit_int_too_small, .{});
2737 return .invalid;3024 return .invalid;
2738 }3025 }
2739 }3026 }
2740 if (bits > Compilation.bit_int_max_bits) {3027 if (bits > Compilation.bit_int_max_bits) {
2741 try b.parser.err(b.bit_int_tok.?, if (unsigned) .unsigned_bit_int_too_big else .signed_bit_int_too_big, .{complex_str});3028 try b.parser.err(b.bit_int_tok.?, if (unsigned) .unsigned_bit_int_too_big else .signed_bit_int_too_big, .{});
2742 return .invalid;3029 return .invalid;
2743 }3030 }
2744 if (b.complex_tok) |tok| try b.parser.err(tok, .complex_int, .{});3031 if (b.complex_tok) |tok| try b.parser.err(tok, .complex_int, .{});
...@@ -2747,11 +3034,16 @@ pub const Builder = struct {...@@ -2747,11 +3034,16 @@ pub const Builder = struct {
2747 .signedness = if (unsigned) .unsigned else .signed,3034 .signedness = if (unsigned) .unsigned else .signed,
2748 .bits = @intCast(bits),3035 .bits = @intCast(bits),
2749 } });3036 } });
2750 break :blk if (complex) try qt.toComplex(b.parser.comp) else qt;3037 break :blk qt;
3038 },
3039 .complex_bit_int, .complex_ubit_int, .complex_sbit_int => {
3040 try b.parser.err(b.complex_tok.?, .complex_bit_int, .{});
3041 return .invalid;
2751 },3042 },
27523043
2753 .bf16 => .bf16,3044 .bf16 => .bf16,
2754 .fp16 => .fp16,3045 .fp16 => .fp16,
3046 .mfp8 => .mfp8,
2755 .float16 => .float16,3047 .float16 => .float16,
2756 .float => .float,3048 .float => .float,
2757 .double => .double,3049 .double => .double,
...@@ -2833,6 +3125,10 @@ pub const Builder = struct {...@@ -2833,6 +3125,10 @@ pub const Builder = struct {
2833 try b.parser.err(atomic_tok, .atomic_complex, .{qt});3125 try b.parser.err(atomic_tok, .atomic_complex, .{qt});
2834 return .invalid;3126 return .invalid;
2835 },3127 },
3128 .bit_int => {
3129 try b.parser.err(atomic_tok, .atomic_bit_int, .{qt});
3130 return .invalid;
3131 },
2836 else => {3132 else => {
2837 result_qt = try b.parser.comp.type_store.put(gpa, .{ .atomic = result_qt });3133 result_qt = try b.parser.comp.type_store.put(gpa, .{ .atomic = result_qt });
2838 },3134 },
...@@ -2840,24 +3136,17 @@ pub const Builder = struct {...@@ -2840,24 +3136,17 @@ pub const Builder = struct {
2840 }3136 }
28413137
2842 // We can't use `qt.isPointer()` because `qt` might contain a `.declarator_combine`.3138 // We can't use `qt.isPointer()` because `qt` might contain a `.declarator_combine`.
2843 const is_pointer = qt.isAutoType() or qt.isC23Auto() or qt.base(b.parser.comp).type == .pointer;3139 const is_pointer = qt.isAuto() or switch (qt.base(b.parser.comp).type) {
3140 .array, .pointer => true,
3141 else => false,
3142 };
28443143
2845 if (b.unaligned != null and !is_pointer) {3144 if (b.unaligned != null and !is_pointer) {
2846 result_qt = (try b.parser.comp.type_store.put(gpa, .{ .attributed = .{3145 // TODO should be a qualifier?
2847 .base = result_qt,3146 // result_qt = (try b.parser.comp.type_store.put(gpa, .{ .attributed = .{
2848 .attributes = &.{.{ .tag = .unaligned, .args = .{ .unaligned = .{} }, .syntax = .keyword }},3147 // .base = result_qt,
2849 } })).withQualifiers(result_qt);3148 // .attributes = undefined,
2850 }3149 // } })).withQualifiers(result_qt);
2851 switch (b.nullability) {
2852 .none => {},
2853 .nonnull,
2854 .nullable,
2855 .nullable_result,
2856 .null_unspecified,
2857 => |tok| if (!is_pointer) {
2858 // TODO this should be checked later so that auto types can be properly validated.
2859 try b.parser.err(tok, .invalid_nullability, .{qt});
2860 },
2861 }3150 }
28623151
2863 if (b.@"const" != null) result_qt.@"const" = true;3152 if (b.@"const" != null) result_qt.@"const" = true;
...@@ -2958,6 +3247,7 @@ pub const Builder = struct {...@@ -2958,6 +3247,7 @@ pub const Builder = struct {
2958 .long_long => .slong_long,3247 .long_long => .slong_long,
2959 .long_long_int => .slong_long_int,3248 .long_long_int => .slong_long_int,
2960 .int128 => .sint128,3249 .int128 => .sint128,
3250 .int24 => .sint24,
2961 .bit_int => |bits| .{ .sbit_int = bits },3251 .bit_int => |bits| .{ .sbit_int = bits },
2962 .complex => .complex_signed,3252 .complex => .complex_signed,
2963 .complex_char => .complex_schar,3253 .complex_char => .complex_schar,
...@@ -2969,6 +3259,7 @@ pub const Builder = struct {...@@ -2969,6 +3259,7 @@ pub const Builder = struct {
2969 .complex_long_long => .complex_slong_long,3259 .complex_long_long => .complex_slong_long,
2970 .complex_long_long_int => .complex_slong_long_int,3260 .complex_long_long_int => .complex_slong_long_int,
2971 .complex_int128 => .sint128,3261 .complex_int128 => .sint128,
3262 .complex_int24 => .complex_sint24,
2972 .complex_bit_int => |bits| .{ .complex_sbit_int = bits },3263 .complex_bit_int => |bits| .{ .complex_sbit_int = bits },
2973 .signed,3264 .signed,
2974 .sshort,3265 .sshort,
...@@ -2979,6 +3270,7 @@ pub const Builder = struct {...@@ -2979,6 +3270,7 @@ pub const Builder = struct {
2979 .slong_long,3270 .slong_long,
2980 .slong_long_int,3271 .slong_long_int,
2981 .sint128,3272 .sint128,
3273 .sint24,
2982 .sbit_int,3274 .sbit_int,
2983 .complex_schar,3275 .complex_schar,
2984 .complex_signed,3276 .complex_signed,
...@@ -2990,6 +3282,7 @@ pub const Builder = struct {...@@ -2990,6 +3282,7 @@ pub const Builder = struct {
2990 .complex_slong_long,3282 .complex_slong_long,
2991 .complex_slong_long_int,3283 .complex_slong_long_int,
2992 .complex_sint128,3284 .complex_sint128,
3285 .complex_sint24,
2993 .complex_sbit_int,3286 .complex_sbit_int,
2994 => return b.duplicateSpec(source_tok, "signed"),3287 => return b.duplicateSpec(source_tok, "signed"),
2995 else => return b.cannotCombine(source_tok),3288 else => return b.cannotCombine(source_tok),
...@@ -3005,6 +3298,7 @@ pub const Builder = struct {...@@ -3005,6 +3298,7 @@ pub const Builder = struct {
3005 .long_long => .ulong_long,3298 .long_long => .ulong_long,
3006 .long_long_int => .ulong_long_int,3299 .long_long_int => .ulong_long_int,
3007 .int128 => .uint128,3300 .int128 => .uint128,
3301 .int24 => .uint24,
3008 .bit_int => |bits| .{ .ubit_int = bits },3302 .bit_int => |bits| .{ .ubit_int = bits },
3009 .complex => .complex_unsigned,3303 .complex => .complex_unsigned,
3010 .complex_char => .complex_uchar,3304 .complex_char => .complex_uchar,
...@@ -3016,6 +3310,7 @@ pub const Builder = struct {...@@ -3016,6 +3310,7 @@ pub const Builder = struct {
3016 .complex_long_long => .complex_ulong_long,3310 .complex_long_long => .complex_ulong_long,
3017 .complex_long_long_int => .complex_ulong_long_int,3311 .complex_long_long_int => .complex_ulong_long_int,
3018 .complex_int128 => .complex_uint128,3312 .complex_int128 => .complex_uint128,
3313 .complex_int24 => .complex_uint24,
3019 .complex_bit_int => |bits| .{ .complex_ubit_int = bits },3314 .complex_bit_int => |bits| .{ .complex_ubit_int = bits },
3020 .unsigned,3315 .unsigned,
3021 .ushort,3316 .ushort,
...@@ -3026,6 +3321,7 @@ pub const Builder = struct {...@@ -3026,6 +3321,7 @@ pub const Builder = struct {
3026 .ulong_long,3321 .ulong_long,
3027 .ulong_long_int,3322 .ulong_long_int,
3028 .uint128,3323 .uint128,
3324 .uint24,
3029 .ubit_int,3325 .ubit_int,
3030 .complex_uchar,3326 .complex_uchar,
3031 .complex_unsigned,3327 .complex_unsigned,
...@@ -3037,6 +3333,7 @@ pub const Builder = struct {...@@ -3037,6 +3333,7 @@ pub const Builder = struct {
3037 .complex_ulong_long,3333 .complex_ulong_long,
3038 .complex_ulong_long_int,3334 .complex_ulong_long_int,
3039 .complex_uint128,3335 .complex_uint128,
3336 .complex_uint24,
3040 .complex_ubit_int,3337 .complex_ubit_int,
3041 => return b.duplicateSpec(source_tok, "unsigned"),3338 => return b.duplicateSpec(source_tok, "unsigned"),
3042 else => return b.cannotCombine(source_tok),3339 else => return b.cannotCombine(source_tok),
...@@ -3100,6 +3397,9 @@ pub const Builder = struct {...@@ -3100,6 +3397,9 @@ pub const Builder = struct {
3100 .long => .long_long,3397 .long => .long_long,
3101 .slong => .slong_long,3398 .slong => .slong_long,
3102 .ulong => .ulong_long,3399 .ulong => .ulong_long,
3400 .long_int => .long_long_int,
3401 .ulong_int => .ulong_long_int,
3402 .slong_int => .slong_long_int,
3103 .complex => .complex_long,3403 .complex => .complex_long,
3104 .complex_signed => .complex_slong,3404 .complex_signed => .complex_slong,
3105 .complex_unsigned => .complex_ulong,3405 .complex_unsigned => .complex_ulong,
...@@ -3142,6 +3442,15 @@ pub const Builder = struct {...@@ -3142,6 +3442,15 @@ pub const Builder = struct {
3142 .complex_unsigned => .complex_uint128,3442 .complex_unsigned => .complex_uint128,
3143 else => return b.cannotCombine(source_tok),3443 else => return b.cannotCombine(source_tok),
3144 },3444 },
3445 .int24 => switch (b.type) {
3446 .none => .int24,
3447 .unsigned => .uint24,
3448 .signed => .sint24,
3449 .complex => .complex_int24,
3450 .complex_signed => .complex_sint24,
3451 .complex_unsigned => .complex_uint24,
3452 else => return b.cannotCombine(source_tok),
3453 },
3145 .bit_int => switch (b.type) {3454 .bit_int => switch (b.type) {
3146 .none => .{ .bit_int = new.bit_int },3455 .none => .{ .bit_int = new.bit_int },
3147 .unsigned => .{ .ubit_int = new.bit_int },3456 .unsigned => .{ .ubit_int = new.bit_int },
...@@ -3163,6 +3472,10 @@ pub const Builder = struct {...@@ -3163,6 +3472,10 @@ pub const Builder = struct {
3163 .none => .fp16,3472 .none => .fp16,
3164 else => return b.cannotCombine(source_tok),3473 else => return b.cannotCombine(source_tok),
3165 },3474 },
3475 .mfp8 => switch (b.type) {
3476 .none => .mfp8,
3477 else => return b.cannotCombine(source_tok),
3478 },
3166 .float16 => switch (b.type) {3479 .float16 => switch (b.type) {
3167 .none => .float16,3480 .none => .float16,
3168 .complex => .complex_float16,3481 .complex => .complex_float16,
...@@ -3267,6 +3580,9 @@ pub const Builder = struct {...@@ -3267,6 +3580,9 @@ pub const Builder = struct {
3267 .int128 => .complex_int128,3580 .int128 => .complex_int128,
3268 .sint128 => .complex_sint128,3581 .sint128 => .complex_sint128,
3269 .uint128 => .complex_uint128,3582 .uint128 => .complex_uint128,
3583 .int24 => .complex_int24,
3584 .sint24 => .complex_sint24,
3585 .uint24 => .complex_uint24,
3270 .bit_int => |bits| .{ .complex_bit_int = bits },3586 .bit_int => |bits| .{ .complex_bit_int = bits },
3271 .sbit_int => |bits| .{ .complex_sbit_int = bits },3587 .sbit_int => |bits| .{ .complex_sbit_int = bits },
3272 .ubit_int => |bits| .{ .complex_ubit_int = bits },3588 .ubit_int => |bits| .{ .complex_ubit_int = bits },
...@@ -3304,6 +3620,9 @@ pub const Builder = struct {...@@ -3304,6 +3620,9 @@ pub const Builder = struct {
3304 .complex_int128,3620 .complex_int128,
3305 .complex_sint128,3621 .complex_sint128,
3306 .complex_uint128,3622 .complex_uint128,
3623 .complex_int24,
3624 .complex_sint24,
3625 .complex_uint24,
3307 .complex_bit_int,3626 .complex_bit_int,
3308 .complex_sbit_int,3627 .complex_sbit_int,
3309 .complex_ubit_int,3628 .complex_ubit_int,
...@@ -3337,6 +3656,8 @@ pub const Builder = struct {...@@ -3337,6 +3656,8 @@ pub const Builder = struct {
3337 .ulong_long => .ulong_long,3656 .ulong_long => .ulong_long,
3338 .int128 => .int128,3657 .int128 => .int128,
3339 .uint128 => .uint128,3658 .uint128 => .uint128,
3659 .int24 => .int24,
3660 .uint24 => .uint24,
3340 },3661 },
3341 .bit_int => |bit_int| if (bit_int.signedness == .unsigned) {3662 .bit_int => |bit_int| if (bit_int.signedness == .unsigned) {
3342 return .{ .ubit_int = bit_int.bits };3663 return .{ .ubit_int = bit_int.bits };
...@@ -3361,6 +3682,9 @@ pub const Builder = struct {...@@ -3361,6 +3682,9 @@ pub const Builder = struct {
3361 .dfloat128 => .dfloat128,3682 .dfloat128 => .dfloat128,
3362 .dfloat64x => .dfloat64x,3683 .dfloat64x => .dfloat64x,
3363 },3684 },
3685 .storage_float => |storage_float| switch (storage_float) {
3686 .mfp8 => .mfp8,
3687 },
3364 .complex => |complex| switch (complex.base(comp).type) {3688 .complex => |complex| switch (complex.base(comp).type) {
3365 .int => |int| switch (int) {3689 .int => |int| switch (int) {
3366 .char => .complex_char,3690 .char => .complex_char,
...@@ -3376,6 +3700,8 @@ pub const Builder = struct {...@@ -3376,6 +3700,8 @@ pub const Builder = struct {
3376 .ulong_long => .complex_ulong_long,3700 .ulong_long => .complex_ulong_long,
3377 .int128 => .complex_int128,3701 .int128 => .complex_int128,
3378 .uint128 => .complex_uint128,3702 .uint128 => .complex_uint128,
3703 .int24 => .complex_int24,
3704 .uint24 => .complex_uint24,
3379 },3705 },
3380 .bit_int => |bit_int| if (bit_int.signedness == .unsigned) {3706 .bit_int => |bit_int| if (bit_int.signedness == .unsigned) {
3381 return .{ .complex_ubit_int = bit_int.bits };3707 return .{ .complex_ubit_int = bit_int.bits };
lib/compiler/aro/aro/Value.zig+77-62
...@@ -21,7 +21,7 @@ pub const @"null" = Value{ .opt_ref = .null };...@@ -21,7 +21,7 @@ pub const @"null" = Value{ .opt_ref = .null };
2121
22pub fn intern(comp: *Compilation, k: Interner.Key) !Value {22pub fn intern(comp: *Compilation, k: Interner.Key) !Value {
23 const r = try comp.interner.put(comp.gpa, k);23 const r = try comp.interner.put(comp.gpa, k);
24 return .{ .opt_ref = @fromBackingInt(@intCast(@backingInt(r))) };24 return .{ .opt_ref = @fromBackingInt(@backingInt(r)) };
25}25}
2626
27pub fn int(i: anytype, comp: *Compilation) !Value {27pub fn int(i: anytype, comp: *Compilation) !Value {
...@@ -39,11 +39,11 @@ pub fn pointer(r: Interner.Key.Pointer, comp: *Compilation) !Value {...@@ -39,11 +39,11 @@ pub fn pointer(r: Interner.Key.Pointer, comp: *Compilation) !Value {
3939
40pub fn ref(v: Value) Interner.Ref {40pub fn ref(v: Value) Interner.Ref {
41 std.debug.assert(v.opt_ref != .none);41 std.debug.assert(v.opt_ref != .none);
42 return @fromBackingInt(@intCast(@backingInt(v.opt_ref)));42 return @fromBackingInt(@backingInt(v.opt_ref));
43}43}
4444
45pub fn fromRef(r: Interner.Ref) Value {45pub fn fromRef(r: Interner.Ref) Value {
46 return .{ .opt_ref = @fromBackingInt(@intCast(@backingInt(r))) };46 return .{ .opt_ref = @fromBackingInt(@backingInt(r)) };
47}47}
4848
49pub fn is(v: Value, tag: std.meta.Tag(Interner.Key), comp: *const Compilation) bool {49pub fn is(v: Value, tag: std.meta.Tag(Interner.Key), comp: *const Compilation) bool {
...@@ -193,13 +193,12 @@ pub fn intToFloat(v: *Value, dest_ty: QualType, comp: *Compilation) !void {...@@ -193,13 +193,12 @@ pub fn intToFloat(v: *Value, dest_ty: QualType, comp: *Compilation) !void {
193 if (v.opt_ref == .none) return;193 if (v.opt_ref == .none) return;
194194
195 if (dest_ty.is(comp, .complex)) {195 if (dest_ty.is(comp, .complex)) {
196 const bits = dest_ty.bitSizeof(comp);196 const cf: Interner.Key.Complex = switch (dest_ty.childType(comp).bitSizeof(comp)) {
197 const cf: Interner.Key.Complex = switch (bits) {197 16 => .{ .cf16 = .{ v.toFloat(f16, comp), 0 } },
198 32 => .{ .cf16 = .{ v.toFloat(f16, comp), 0 } },198 32 => .{ .cf32 = .{ v.toFloat(f32, comp), 0 } },
199 64 => .{ .cf32 = .{ v.toFloat(f32, comp), 0 } },199 64 => .{ .cf64 = .{ v.toFloat(f64, comp), 0 } },
200 128 => .{ .cf64 = .{ v.toFloat(f64, comp), 0 } },200 80 => .{ .cf80 = .{ v.toFloat(f80, comp), 0 } },
201 160 => .{ .cf80 = .{ v.toFloat(f80, comp), 0 } },201 128 => .{ .cf128 = .{ v.toFloat(f128, comp), 0 } },
202 256 => .{ .cf128 = .{ v.toFloat(f128, comp), 0 } },
203 else => unreachable,202 else => unreachable,
204 };203 };
205 v.* = try intern(comp, .{ .complex = cf });204 v.* = try intern(comp, .{ .complex = cf });
...@@ -285,19 +284,18 @@ pub fn intCast(v: *Value, dest_ty: QualType, comp: *Compilation) !IntCastChangeK...@@ -285,19 +284,18 @@ pub fn intCast(v: *Value, dest_ty: QualType, comp: *Compilation) !IntCastChangeK
285/// `.none` value remains unchanged.284/// `.none` value remains unchanged.
286pub fn floatCast(v: *Value, dest_ty: QualType, comp: *Compilation) !void {285pub fn floatCast(v: *Value, dest_ty: QualType, comp: *Compilation) !void {
287 if (v.opt_ref == .none) return;286 if (v.opt_ref == .none) return;
288 const bits = dest_ty.bitSizeof(comp);287 if (dest_ty.get(comp, .complex)) |scalar_qt| {
289 if (dest_ty.is(comp, .complex)) {288 const cf: Interner.Key.Complex = switch (scalar_qt.bitSizeof(comp)) {
290 const cf: Interner.Key.Complex = switch (bits) {289 16 => .{ .cf16 = .{ v.toFloat(f16, comp), v.imag(f16, comp) } },
291 32 => .{ .cf16 = .{ v.toFloat(f16, comp), v.imag(f16, comp) } },290 32 => .{ .cf32 = .{ v.toFloat(f32, comp), v.imag(f32, comp) } },
292 64 => .{ .cf32 = .{ v.toFloat(f32, comp), v.imag(f32, comp) } },291 64 => .{ .cf64 = .{ v.toFloat(f64, comp), v.imag(f64, comp) } },
293 128 => .{ .cf64 = .{ v.toFloat(f64, comp), v.imag(f64, comp) } },292 80 => .{ .cf80 = .{ v.toFloat(f80, comp), v.imag(f80, comp) } },
294 160 => .{ .cf80 = .{ v.toFloat(f80, comp), v.imag(f80, comp) } },293 128 => .{ .cf128 = .{ v.toFloat(f128, comp), v.imag(f128, comp) } },
295 256 => .{ .cf128 = .{ v.toFloat(f128, comp), v.imag(f128, comp) } },
296 else => unreachable,294 else => unreachable,
297 };295 };
298 v.* = try intern(comp, .{ .complex = cf });296 v.* = try intern(comp, .{ .complex = cf });
299 } else {297 } else {
300 const f: Interner.Key.Float = switch (bits) {298 const f: Interner.Key.Float = switch (dest_ty.bitSizeof(comp)) {
301 16 => .{ .f16 = v.toFloat(f16, comp) },299 16 => .{ .f16 = v.toFloat(f16, comp) },
302 32 => .{ .f32 = v.toFloat(f32, comp) },300 32 => .{ .f32 = v.toFloat(f32, comp) },
303 64 => .{ .f64 = v.toFloat(f64, comp) },301 64 => .{ .f64 = v.toFloat(f64, comp) },
...@@ -517,21 +515,20 @@ fn complexAddSub(lhs: Value, rhs: Value, comptime T: type, op: ComplexOp, comp:...@@ -517,21 +515,20 @@ fn complexAddSub(lhs: Value, rhs: Value, comptime T: type, op: ComplexOp, comp:
517}515}
518516
519pub fn add(res: *Value, lhs: Value, rhs: Value, qt: QualType, comp: *Compilation) !bool {517pub fn add(res: *Value, lhs: Value, rhs: Value, qt: QualType, comp: *Compilation) !bool {
520 const bits: usize = @intCast(qt.bitSizeof(comp));
521 const scalar_kind = qt.scalarKind(comp);518 const scalar_kind = qt.scalarKind(comp);
522 if (scalar_kind.isFloat()) {519 if (scalar_kind.isFloat()) {
523 if (scalar_kind == .complex_float) {520 if (scalar_kind == .complex_float) {
524 res.* = switch (bits) {521 res.* = switch (qt.childType(comp).bitSizeof(comp)) {
525 32 => try complexAddSub(lhs, rhs, f16, .add, comp),522 16 => try complexAddSub(lhs, rhs, f16, .add, comp),
526 64 => try complexAddSub(lhs, rhs, f32, .add, comp),523 32 => try complexAddSub(lhs, rhs, f32, .add, comp),
527 128 => try complexAddSub(lhs, rhs, f64, .add, comp),524 64 => try complexAddSub(lhs, rhs, f64, .add, comp),
528 160 => try complexAddSub(lhs, rhs, f80, .add, comp),525 80 => try complexAddSub(lhs, rhs, f80, .add, comp),
529 256 => try complexAddSub(lhs, rhs, f128, .add, comp),526 128 => try complexAddSub(lhs, rhs, f128, .add, comp),
530 else => unreachable,527 else => unreachable,
531 };528 };
532 return false;529 return false;
533 }530 }
534 const f: Interner.Key.Float = switch (bits) {531 const f: Interner.Key.Float = switch (qt.bitSizeof(comp)) {
535 16 => .{ .f16 = lhs.toFloat(f16, comp) + rhs.toFloat(f16, comp) },532 16 => .{ .f16 = lhs.toFloat(f16, comp) + rhs.toFloat(f16, comp) },
536 32 => .{ .f32 = lhs.toFloat(f32, comp) + rhs.toFloat(f32, comp) },533 32 => .{ .f32 = lhs.toFloat(f32, comp) + rhs.toFloat(f32, comp) },
537 64 => .{ .f64 = lhs.toFloat(f64, comp) + rhs.toFloat(f64, comp) },534 64 => .{ .f64 = lhs.toFloat(f64, comp) + rhs.toFloat(f64, comp) },
...@@ -569,6 +566,7 @@ pub fn add(res: *Value, lhs: Value, rhs: Value, qt: QualType, comp: *Compilation...@@ -569,6 +566,7 @@ pub fn add(res: *Value, lhs: Value, rhs: Value, qt: QualType, comp: *Compilation
569 const lhs_bigint = lhs_key.toBigInt(&lhs_space);566 const lhs_bigint = lhs_key.toBigInt(&lhs_space);
570 const rhs_bigint = rhs_key.toBigInt(&rhs_space);567 const rhs_bigint = rhs_key.toBigInt(&rhs_space);
571568
569 const bits: usize = @intCast(qt.bitSizeof(comp));
572 const limbs = try comp.gpa.alloc(570 const limbs = try comp.gpa.alloc(
573 std.math.big.Limb,571 std.math.big.Limb,
574 std.math.big.int.calcTwosCompLimbCount(bits),572 std.math.big.int.calcTwosCompLimbCount(bits),
...@@ -591,21 +589,20 @@ pub fn decrement(res: *Value, val: Value, qt: QualType, comp: *Compilation) !boo...@@ -591,21 +589,20 @@ pub fn decrement(res: *Value, val: Value, qt: QualType, comp: *Compilation) !boo
591589
592/// elem_size is only used when subtracting two pointers, so we can scale the result by the size of the element type590/// elem_size is only used when subtracting two pointers, so we can scale the result by the size of the element type
593pub fn sub(res: *Value, lhs: Value, rhs: Value, qt: QualType, elem_size: u64, comp: *Compilation) !bool {591pub fn sub(res: *Value, lhs: Value, rhs: Value, qt: QualType, elem_size: u64, comp: *Compilation) !bool {
594 const bits: usize = @intCast(qt.bitSizeof(comp));
595 const scalar_kind = qt.scalarKind(comp);592 const scalar_kind = qt.scalarKind(comp);
596 if (scalar_kind.isFloat()) {593 if (scalar_kind.isFloat()) {
597 if (scalar_kind == .complex_float) {594 if (scalar_kind == .complex_float) {
598 res.* = switch (bits) {595 res.* = switch (qt.childType(comp).bitSizeof(comp)) {
599 32 => try complexAddSub(lhs, rhs, f16, .sub, comp),596 16 => try complexAddSub(lhs, rhs, f16, .sub, comp),
600 64 => try complexAddSub(lhs, rhs, f32, .sub, comp),597 32 => try complexAddSub(lhs, rhs, f32, .sub, comp),
601 128 => try complexAddSub(lhs, rhs, f64, .sub, comp),598 64 => try complexAddSub(lhs, rhs, f64, .sub, comp),
602 160 => try complexAddSub(lhs, rhs, f80, .sub, comp),599 80 => try complexAddSub(lhs, rhs, f80, .sub, comp),
603 256 => try complexAddSub(lhs, rhs, f128, .sub, comp),600 128 => try complexAddSub(lhs, rhs, f128, .sub, comp),
604 else => unreachable,601 else => unreachable,
605 };602 };
606 return false;603 return false;
607 }604 }
608 const f: Interner.Key.Float = switch (bits) {605 const f: Interner.Key.Float = switch (qt.bitSizeof(comp)) {
609 16 => .{ .f16 = lhs.toFloat(f16, comp) - rhs.toFloat(f16, comp) },606 16 => .{ .f16 = lhs.toFloat(f16, comp) - rhs.toFloat(f16, comp) },
610 32 => .{ .f32 = lhs.toFloat(f32, comp) - rhs.toFloat(f32, comp) },607 32 => .{ .f32 = lhs.toFloat(f32, comp) - rhs.toFloat(f32, comp) },
611 64 => .{ .f64 = lhs.toFloat(f64, comp) - rhs.toFloat(f64, comp) },608 64 => .{ .f64 = lhs.toFloat(f64, comp) - rhs.toFloat(f64, comp) },
...@@ -653,6 +650,7 @@ pub fn sub(res: *Value, lhs: Value, rhs: Value, qt: QualType, elem_size: u64, co...@@ -653,6 +650,7 @@ pub fn sub(res: *Value, lhs: Value, rhs: Value, qt: QualType, elem_size: u64, co
653 const lhs_bigint = lhs_key.toBigInt(&lhs_space);650 const lhs_bigint = lhs_key.toBigInt(&lhs_space);
654 const rhs_bigint = rhs_key.toBigInt(&rhs_space);651 const rhs_bigint = rhs_key.toBigInt(&rhs_space);
655652
653 const bits: usize = @intCast(qt.bitSizeof(comp));
656 const limbs = try comp.gpa.alloc(654 const limbs = try comp.gpa.alloc(
657 std.math.big.Limb,655 std.math.big.Limb,
658 std.math.big.int.calcTwosCompLimbCount(bits),656 std.math.big.int.calcTwosCompLimbCount(bits),
...@@ -666,22 +664,21 @@ pub fn sub(res: *Value, lhs: Value, rhs: Value, qt: QualType, elem_size: u64, co...@@ -666,22 +664,21 @@ pub fn sub(res: *Value, lhs: Value, rhs: Value, qt: QualType, elem_size: u64, co
666}664}
667665
668pub fn mul(res: *Value, lhs: Value, rhs: Value, qt: QualType, comp: *Compilation) !bool {666pub fn mul(res: *Value, lhs: Value, rhs: Value, qt: QualType, comp: *Compilation) !bool {
669 const bits: usize = @intCast(qt.bitSizeof(comp));
670 const scalar_kind = qt.scalarKind(comp);667 const scalar_kind = qt.scalarKind(comp);
671 if (scalar_kind.isFloat()) {668 if (scalar_kind.isFloat()) {
672 if (scalar_kind == .complex_float) {669 if (scalar_kind == .complex_float) {
673 const cf: Interner.Key.Complex = switch (bits) {670 const cf: Interner.Key.Complex = switch (qt.childType(comp).bitSizeof(comp)) {
674 32 => .{ .cf16 = annex_g.complexFloatMul(f16, lhs.toFloat(f16, comp), lhs.imag(f16, comp), rhs.toFloat(f16, comp), rhs.imag(f16, comp)) },671 16 => .{ .cf16 = annex_g.complexFloatMul(f16, lhs.toFloat(f16, comp), lhs.imag(f16, comp), rhs.toFloat(f16, comp), rhs.imag(f16, comp)) },
675 64 => .{ .cf32 = annex_g.complexFloatMul(f32, lhs.toFloat(f32, comp), lhs.imag(f32, comp), rhs.toFloat(f32, comp), rhs.imag(f32, comp)) },672 32 => .{ .cf32 = annex_g.complexFloatMul(f32, lhs.toFloat(f32, comp), lhs.imag(f32, comp), rhs.toFloat(f32, comp), rhs.imag(f32, comp)) },
676 128 => .{ .cf64 = annex_g.complexFloatMul(f64, lhs.toFloat(f64, comp), lhs.imag(f64, comp), rhs.toFloat(f64, comp), rhs.imag(f64, comp)) },673 64 => .{ .cf64 = annex_g.complexFloatMul(f64, lhs.toFloat(f64, comp), lhs.imag(f64, comp), rhs.toFloat(f64, comp), rhs.imag(f64, comp)) },
677 160 => .{ .cf80 = annex_g.complexFloatMul(f80, lhs.toFloat(f80, comp), lhs.imag(f80, comp), rhs.toFloat(f80, comp), rhs.imag(f80, comp)) },674 80 => .{ .cf80 = annex_g.complexFloatMul(f80, lhs.toFloat(f80, comp), lhs.imag(f80, comp), rhs.toFloat(f80, comp), rhs.imag(f80, comp)) },
678 256 => .{ .cf128 = annex_g.complexFloatMul(f128, lhs.toFloat(f128, comp), lhs.imag(f128, comp), rhs.toFloat(f128, comp), rhs.imag(f128, comp)) },675 128 => .{ .cf128 = annex_g.complexFloatMul(f128, lhs.toFloat(f128, comp), lhs.imag(f128, comp), rhs.toFloat(f128, comp), rhs.imag(f128, comp)) },
679 else => unreachable,676 else => unreachable,
680 };677 };
681 res.* = try intern(comp, .{ .complex = cf });678 res.* = try intern(comp, .{ .complex = cf });
682 return false;679 return false;
683 }680 }
684 const f: Interner.Key.Float = switch (bits) {681 const f: Interner.Key.Float = switch (qt.bitSizeof(comp)) {
685 16 => .{ .f16 = lhs.toFloat(f16, comp) * rhs.toFloat(f16, comp) },682 16 => .{ .f16 = lhs.toFloat(f16, comp) * rhs.toFloat(f16, comp) },
686 32 => .{ .f32 = lhs.toFloat(f32, comp) * rhs.toFloat(f32, comp) },683 32 => .{ .f32 = lhs.toFloat(f32, comp) * rhs.toFloat(f32, comp) },
687 64 => .{ .f64 = lhs.toFloat(f64, comp) * rhs.toFloat(f64, comp) },684 64 => .{ .f64 = lhs.toFloat(f64, comp) * rhs.toFloat(f64, comp) },
...@@ -712,6 +709,7 @@ pub fn mul(res: *Value, lhs: Value, rhs: Value, qt: QualType, comp: *Compilation...@@ -712,6 +709,7 @@ pub fn mul(res: *Value, lhs: Value, rhs: Value, qt: QualType, comp: *Compilation
712709
713 result_bigint.mul(lhs_bigint, rhs_bigint, limbs_buffer, comp.gpa);710 result_bigint.mul(lhs_bigint, rhs_bigint, limbs_buffer, comp.gpa);
714711
712 const bits: usize = @intCast(qt.bitSizeof(comp));
715 const signedness = qt.signedness(comp);713 const signedness = qt.signedness(comp);
716 const overflowed = !result_bigint.toConst().fitsInTwosComp(signedness, bits);714 const overflowed = !result_bigint.toConst().fitsInTwosComp(signedness, bits);
717 if (overflowed) {715 if (overflowed) {
...@@ -724,22 +722,21 @@ pub fn mul(res: *Value, lhs: Value, rhs: Value, qt: QualType, comp: *Compilation...@@ -724,22 +722,21 @@ pub fn mul(res: *Value, lhs: Value, rhs: Value, qt: QualType, comp: *Compilation
724722
725/// caller guarantees rhs != 0723/// caller guarantees rhs != 0
726pub fn div(res: *Value, lhs: Value, rhs: Value, qt: QualType, comp: *Compilation) !bool {724pub fn div(res: *Value, lhs: Value, rhs: Value, qt: QualType, comp: *Compilation) !bool {
727 const bits: usize = @intCast(qt.bitSizeof(comp));
728 const scalar_kind = qt.scalarKind(comp);725 const scalar_kind = qt.scalarKind(comp);
729 if (scalar_kind.isFloat()) {726 if (scalar_kind.isFloat()) {
730 if (scalar_kind == .complex_float) {727 if (scalar_kind == .complex_float) {
731 const cf: Interner.Key.Complex = switch (bits) {728 const cf: Interner.Key.Complex = switch (qt.childType(comp).bitSizeof(comp)) {
732 32 => .{ .cf16 = annex_g.complexFloatDiv(f16, lhs.toFloat(f16, comp), lhs.imag(f16, comp), rhs.toFloat(f16, comp), rhs.imag(f16, comp)) },729 16 => .{ .cf16 = annex_g.complexFloatDiv(f16, lhs.toFloat(f16, comp), lhs.imag(f16, comp), rhs.toFloat(f16, comp), rhs.imag(f16, comp)) },
733 64 => .{ .cf32 = annex_g.complexFloatDiv(f32, lhs.toFloat(f32, comp), lhs.imag(f32, comp), rhs.toFloat(f32, comp), rhs.imag(f32, comp)) },730 32 => .{ .cf32 = annex_g.complexFloatDiv(f32, lhs.toFloat(f32, comp), lhs.imag(f32, comp), rhs.toFloat(f32, comp), rhs.imag(f32, comp)) },
734 128 => .{ .cf64 = annex_g.complexFloatDiv(f64, lhs.toFloat(f64, comp), lhs.imag(f64, comp), rhs.toFloat(f64, comp), rhs.imag(f64, comp)) },731 64 => .{ .cf64 = annex_g.complexFloatDiv(f64, lhs.toFloat(f64, comp), lhs.imag(f64, comp), rhs.toFloat(f64, comp), rhs.imag(f64, comp)) },
735 160 => .{ .cf80 = annex_g.complexFloatDiv(f80, lhs.toFloat(f80, comp), lhs.imag(f80, comp), rhs.toFloat(f80, comp), rhs.imag(f80, comp)) },732 80 => .{ .cf80 = annex_g.complexFloatDiv(f80, lhs.toFloat(f80, comp), lhs.imag(f80, comp), rhs.toFloat(f80, comp), rhs.imag(f80, comp)) },
736 256 => .{ .cf128 = annex_g.complexFloatDiv(f128, lhs.toFloat(f128, comp), lhs.imag(f128, comp), rhs.toFloat(f128, comp), rhs.imag(f128, comp)) },733 128 => .{ .cf128 = annex_g.complexFloatDiv(f128, lhs.toFloat(f128, comp), lhs.imag(f128, comp), rhs.toFloat(f128, comp), rhs.imag(f128, comp)) },
737 else => unreachable,734 else => unreachable,
738 };735 };
739 res.* = try intern(comp, .{ .complex = cf });736 res.* = try intern(comp, .{ .complex = cf });
740 return false;737 return false;
741 }738 }
742 const f: Interner.Key.Float = switch (bits) {739 const f: Interner.Key.Float = switch (qt.bitSizeof(comp)) {
743 16 => .{ .f16 = lhs.toFloat(f16, comp) / rhs.toFloat(f16, comp) },740 16 => .{ .f16 = lhs.toFloat(f16, comp) / rhs.toFloat(f16, comp) },
744 32 => .{ .f32 = lhs.toFloat(f32, comp) / rhs.toFloat(f32, comp) },741 32 => .{ .f32 = lhs.toFloat(f32, comp) / rhs.toFloat(f32, comp) },
745 64 => .{ .f64 = lhs.toFloat(f64, comp) / rhs.toFloat(f64, comp) },742 64 => .{ .f64 = lhs.toFloat(f64, comp) / rhs.toFloat(f64, comp) },
...@@ -777,6 +774,7 @@ pub fn div(res: *Value, lhs: Value, rhs: Value, qt: QualType, comp: *Compilation...@@ -777,6 +774,7 @@ pub fn div(res: *Value, lhs: Value, rhs: Value, qt: QualType, comp: *Compilation
777774
778 result_q.divTrunc(&result_r, lhs_bigint, rhs_bigint, limbs_buffer);775 result_q.divTrunc(&result_r, lhs_bigint, rhs_bigint, limbs_buffer);
779776
777 const bits: usize = @intCast(qt.bitSizeof(comp));
780 res.* = try intern(comp, .{ .int = .{ .big_int = result_q.toConst() } });778 res.* = try intern(comp, .{ .int = .{ .big_int = result_q.toConst() } });
781 return !result_q.toConst().fitsInTwosComp(qt.signedness(comp), bits);779 return !result_q.toConst().fitsInTwosComp(qt.signedness(comp), bits);
782 }780 }
...@@ -966,13 +964,12 @@ pub fn shr(lhs: Value, rhs: Value, qt: QualType, comp: *Compilation) !Value {...@@ -966,13 +964,12 @@ pub fn shr(lhs: Value, rhs: Value, qt: QualType, comp: *Compilation) !Value {
966}964}
967965
968pub fn complexConj(val: Value, qt: QualType, comp: *Compilation) !Value {966pub fn complexConj(val: Value, qt: QualType, comp: *Compilation) !Value {
969 const bits = qt.bitSizeof(comp);967 const cf: Interner.Key.Complex = switch (qt.childType(comp).bitSizeof(comp)) {
970 const cf: Interner.Key.Complex = switch (bits) {968 16 => .{ .cf16 = .{ val.toFloat(f16, comp), -val.imag(f16, comp) } },
971 32 => .{ .cf16 = .{ val.toFloat(f16, comp), -val.imag(f16, comp) } },969 32 => .{ .cf32 = .{ val.toFloat(f32, comp), -val.imag(f32, comp) } },
972 64 => .{ .cf32 = .{ val.toFloat(f32, comp), -val.imag(f32, comp) } },970 64 => .{ .cf64 = .{ val.toFloat(f64, comp), -val.imag(f64, comp) } },
973 128 => .{ .cf64 = .{ val.toFloat(f64, comp), -val.imag(f64, comp) } },971 80 => .{ .cf80 = .{ val.toFloat(f80, comp), -val.imag(f80, comp) } },
974 160 => .{ .cf80 = .{ val.toFloat(f80, comp), -val.imag(f80, comp) } },972 128 => .{ .cf128 = .{ val.toFloat(f128, comp), -val.imag(f128, comp) } },
975 256 => .{ .cf128 = .{ val.toFloat(f128, comp), -val.imag(f128, comp) } },
976 else => unreachable,973 else => unreachable,
977 };974 };
978 return intern(comp, .{ .complex = cf });975 return intern(comp, .{ .complex = cf });
...@@ -1070,6 +1067,18 @@ pub fn maxInt(qt: QualType, comp: *Compilation) !Value {...@@ -1070,6 +1067,18 @@ pub fn maxInt(qt: QualType, comp: *Compilation) !Value {
1070 return twosCompIntLimit(.max, qt, comp);1067 return twosCompIntLimit(.max, qt, comp);
1071}1068}
10721069
1070pub fn elem(arr: Value, index: Value, comp: *Compilation) !Value {
1071 const index_int = index.toInt(u32, comp) orelse return .{};
1072 if (arr.opt_ref == .none) return .{};
1073 switch (comp.interner.get(arr.ref())) {
1074 .bytes => |b| {
1075 if (index_int > b.len) return .{};
1076 return Value.int(b[index_int], comp);
1077 },
1078 else => return .{},
1079 }
1080}
1081
1073const NestedPrint = union(enum) {1082const NestedPrint = union(enum) {
1074 pointer: struct {1083 pointer: struct {
1075 node: u32,1084 node: u32,
...@@ -1102,7 +1111,7 @@ pub fn print(v: Value, qt: QualType, comp: *const Compilation, w: *std.Io.Writer...@@ -1102,7 +1111,7 @@ pub fn print(v: Value, qt: QualType, comp: *const Compilation, w: *std.Io.Writer
1102 .f32 => |x| try w.print("{d}", .{@round(@as(f64, @floatCast(x)) * 1000000) / 1000000}),1111 .f32 => |x| try w.print("{d}", .{@round(@as(f64, @floatCast(x)) * 1000000) / 1000000}),
1103 inline else => |x| try w.print("{d}", .{@as(f64, @floatCast(x))}),1112 inline else => |x| try w.print("{d}", .{@as(f64, @floatCast(x))}),
1104 },1113 },
1105 .bytes => |b| try printString(b, qt, comp, w),1114 .bytes => |b| try printString(b, qt, comp, w, .quoted),
1106 .complex => |repr| switch (repr) {1115 .complex => |repr| switch (repr) {
1107 .cf32 => |components| try w.print("{d} + {d}i", .{ @round(@as(f64, @floatCast(components[0])) * 1000000) / 1000000, @round(@as(f64, @floatCast(components[1])) * 1000000) / 1000000 }),1116 .cf32 => |components| try w.print("{d} + {d}i", .{ @round(@as(f64, @floatCast(components[0])) * 1000000) / 1000000, @round(@as(f64, @floatCast(components[1])) * 1000000) / 1000000 }),
1108 inline else => |components| try w.print("{d} + {d}i", .{ @as(f64, @floatCast(components[0])), @as(f64, @floatCast(components[1])) }),1117 inline else => |components| try w.print("{d} + {d}i", .{ @as(f64, @floatCast(components[0])), @as(f64, @floatCast(components[1])) }),
...@@ -1113,10 +1122,13 @@ pub fn print(v: Value, qt: QualType, comp: *const Compilation, w: *std.Io.Writer...@@ -1113,10 +1122,13 @@ pub fn print(v: Value, qt: QualType, comp: *const Compilation, w: *std.Io.Writer
1113 return null;1122 return null;
1114}1123}
11151124
1116pub fn printString(bytes: []const u8, qt: QualType, comp: *const Compilation, w: *std.Io.Writer) std.Io.Writer.Error!void {1125pub fn printString(bytes: []const u8, qt: QualType, comp: *const Compilation, w: *std.Io.Writer, style: enum { quoted, bare }) std.Io.Writer.Error!void {
1126 if (style == .quoted) {
1127 try w.writeByte('"');
1128 }
1129
1117 const size: Compilation.CharUnitSize = @fromBackingInt(@intCast(qt.childType(comp).sizeof(comp)));1130 const size: Compilation.CharUnitSize = @fromBackingInt(@intCast(qt.childType(comp).sizeof(comp)));
1118 const without_null = bytes[0 .. bytes.len - @backingInt(size)];1131 const without_null = bytes[0 .. bytes.len - @backingInt(size)];
1119 try w.writeByte('"');
1120 switch (size) {1132 switch (size) {
1121 .@"1" => try std.zig.stringEscape(without_null, w),1133 .@"1" => try std.zig.stringEscape(without_null, w),
1122 .@"2" => {1134 .@"2" => {
...@@ -1155,5 +1167,8 @@ pub fn printString(bytes: []const u8, qt: QualType, comp: *const Compilation, w:...@@ -1155,5 +1167,8 @@ pub fn printString(bytes: []const u8, qt: QualType, comp: *const Compilation, w:
1155 }1167 }
1156 },1168 },
1157 }1169 }
1158 try w.writeByte('"');1170
1171 if (style == .quoted) {
1172 try w.writeByte('"');
1173 }
1159}1174}
lib/compiler/aro/aro/features.zig+29-5
...@@ -1,9 +1,12 @@...@@ -1,9 +1,12 @@
1const std = @import("std");1const std = @import("std");
2
3const Attribute = @import("Attribute.zig");
2const Compilation = @import("Compilation.zig");4const Compilation = @import("Compilation.zig");
3const Target = @import("Target.zig");
45
5/// Used to implement the __has_feature macro.6/// Used to implement the __has_feature macro.
6pub fn hasFeature(comp: *Compilation, ext: []const u8) bool {7pub fn hasFeature(comp: *Compilation, ext_raw: []const u8) bool {
8 const ext = Attribute.normalize(ext_raw);
9
7 const list = .{10 const list = .{
8 .assume_nonnull = true,11 .assume_nonnull = true,
9 .attribute_analyzer_noreturn = true,12 .attribute_analyzer_noreturn = true,
...@@ -44,6 +47,8 @@ pub fn hasFeature(comp: *Compilation, ext: []const u8) bool {...@@ -44,6 +47,8 @@ pub fn hasFeature(comp: *Compilation, ext: []const u8) bool {
44 .c_generic_selections = comp.langopts.standard.atLeast(.c11),47 .c_generic_selections = comp.langopts.standard.atLeast(.c11),
45 .c_static_assert = comp.langopts.standard.atLeast(.c11),48 .c_static_assert = comp.langopts.standard.atLeast(.c11),
46 .c_thread_local = comp.langopts.standard.atLeast(.c11) and comp.target.isTlsSupported(),49 .c_thread_local = comp.langopts.standard.atLeast(.c11) and comp.target.isTlsSupported(),
50 .c_attributes = comp.langopts.standard.atLeast(.c23),
51 .c_fixed_enum = comp.langopts.standard.atLeast(.c23),
47 .bounds_attributes = comp.langopts.bounds_safety == .clang,52 .bounds_attributes = comp.langopts.bounds_safety == .clang,
48 };53 };
49 inline for (@typeInfo(@TypeOf(list)).@"struct".field_names) |f_name| {54 inline for (@typeInfo(@TypeOf(list)).@"struct".field_names) |f_name| {
...@@ -53,7 +58,22 @@ pub fn hasFeature(comp: *Compilation, ext: []const u8) bool {...@@ -53,7 +58,22 @@ pub fn hasFeature(comp: *Compilation, ext: []const u8) bool {
53}58}
5459
55/// Used to implement the __has_extension macro.60/// Used to implement the __has_extension macro.
56pub fn hasExtension(comp: *Compilation, ext: []const u8) bool {61pub fn hasExtension(comp: *Compilation, ext_raw: []const u8) bool {
62 const ext = Attribute.normalize(ext_raw);
63
64 // Extensions are a superset of features, so check all features first.
65 if (hasFeature(comp, ext)) {
66 return true;
67 }
68
69 // "-pedantic-errors" effectively disables extensions by erroring out on
70 // them, so we just return early. This makes "__has_extension" the same as
71 // "__has_feature" when this is set.
72 switch (comp.diagnostics.state.extensions) {
73 .@"error", .@"fatal error" => return false,
74 else => {},
75 }
76
57 const list = .{77 const list = .{
58 // C11 features78 // C11 features
59 .c_alignas = true,79 .c_alignas = true,
...@@ -62,13 +82,17 @@ pub fn hasExtension(comp: *Compilation, ext: []const u8) bool {...@@ -62,13 +82,17 @@ pub fn hasExtension(comp: *Compilation, ext: []const u8) bool {
62 .c_generic_selections = true,82 .c_generic_selections = true,
63 .c_static_assert = true,83 .c_static_assert = true,
64 .c_thread_local = comp.target.isTlsSupported(),84 .c_thread_local = comp.target.isTlsSupported(),
85 // C23 features
86 .c_attributes = true,
87 .c_fixed_enum = true,
65 // misc88 // misc
66 .overloadable_unmarked = false, // TODO89 .overloadable_unmarked = false, // TODO
67 .statement_attributes_with_gnu_syntax = true,90 .statement_attributes_with_gnu_syntax = true,
68 .gnu_asm = true,91 .gnu_asm = comp.langopts.gnu_asm,
69 .gnu_asm_goto_with_outputs = true,92 .gnu_asm_goto_with_outputs = comp.langopts.gnu_asm,
70 .matrix_types = false, // TODO93 .matrix_types = false, // TODO
71 .matrix_types_scalar_division = false, // TODO94 .matrix_types_scalar_division = false, // TODO
95 .define_target_os_macros = comp.langopts.hasTargetOsMacros(),
72 };96 };
73 inline for (@typeInfo(@TypeOf(list)).@"struct".field_names) |f_name| {97 inline for (@typeInfo(@TypeOf(list)).@"struct".field_names) |f_name| {
74 if (std.mem.eql(u8, f_name, ext)) return @field(list, f_name);98 if (std.mem.eql(u8, f_name, ext)) return @field(list, f_name);
lib/compiler/aro/aro/pragmas/once.zig+6
...@@ -14,6 +14,7 @@ const Once = @This();...@@ -14,6 +14,7 @@ const Once = @This();
14pragma: Pragma = .{14pragma: Pragma = .{
15 .afterParse = afterParse,15 .afterParse = afterParse,
16 .deinit = deinit,16 .deinit = deinit,
17 .beforeInclude = beforeInclude,
17 .preprocessorHandler = preprocessorHandler,18 .preprocessorHandler = preprocessorHandler,
18 .preserveTokens = preserveTokens,19 .preserveTokens = preserveTokens,
19},20},
...@@ -37,6 +38,11 @@ fn deinit(pragma: *Pragma, comp: *Compilation) void {...@@ -37,6 +38,11 @@ fn deinit(pragma: *Pragma, comp: *Compilation) void {
37 comp.gpa.destroy(self);38 comp.gpa.destroy(self);
38}39}
3940
41fn beforeInclude(pragma: *Pragma, _: *Preprocessor, source: Source) Pragma.BeforeIncludeError!void {
42 var self: *Once = @fieldParentPtr("pragma", pragma);
43 if (self.pragma_once.contains(source.id)) return error.SkipInclude;
44}
45
40fn preprocessorHandler(pragma: *Pragma, pp: *Preprocessor, start_idx: TokenIndex) Pragma.Error!void {46fn preprocessorHandler(pragma: *Pragma, pp: *Preprocessor, start_idx: TokenIndex) Pragma.Error!void {
41 var self: *Once = @fieldParentPtr("pragma", pragma);47 var self: *Once = @fieldParentPtr("pragma", pragma);
42 const name_tok = pp.tokens.get(start_idx);48 const name_tok = pp.tokens.get(start_idx);
lib/compiler/aro/aro/pragmas/pack.zig+5-2
...@@ -15,7 +15,10 @@ pragma: Pragma = .{...@@ -15,7 +15,10 @@ pragma: Pragma = .{
15 .deinit = deinit,15 .deinit = deinit,
16 .parserHandler = parserHandler,16 .parserHandler = parserHandler,
17},17},
18stack: std.ArrayList(struct { label: []const u8, val: u8 }) = .empty,18
19// Pack states are saved in this stack so `pop` can restore them exactly.
20// A `null` value means no packing, or natural alignment.
21stack: std.ArrayList(struct { label: []const u8, val: ?u8 }) = .empty,
1922
20pub fn init(allocator: mem.Allocator) !*Pragma {23pub fn init(allocator: mem.Allocator) !*Pragma {
21 var pack = try allocator.create(Pack);24 var pack = try allocator.create(Pack);
...@@ -82,7 +85,7 @@ fn parserHandler(pragma: *Pragma, p: *Parser, start_idx: TokenIndex) Compilation...@@ -82,7 +85,7 @@ fn parserHandler(pragma: *Pragma, p: *Parser, start_idx: TokenIndex) Compilation
82 }85 }
83 }86 }
84 if (action == .push) {87 if (action == .push) {
85 try pack.stack.append(p.comp.gpa, .{ .label = label orelse "", .val = p.pragma_pack orelse 8 });88 try pack.stack.append(p.comp.gpa, .{ .label = label orelse "", .val = p.pragma_pack });
86 } else {89 } else {
87 const pop_success = pack.pop(p, label);90 const pop_success = pack.pop(p, label);
88 if (new_val != null) {91 if (new_val != null) {
lib/compiler/aro/aro/record_layout.zig+119-92
...@@ -5,6 +5,7 @@ const std = @import("std");...@@ -5,6 +5,7 @@ const std = @import("std");
55
6const Attribute = @import("Attribute.zig");6const Attribute = @import("Attribute.zig");
7const Compilation = @import("Compilation.zig");7const Compilation = @import("Compilation.zig");
8const Node = @import("Tree.zig").Node;
8const Parser = @import("Parser.zig");9const Parser = @import("Parser.zig");
9const Target = @import("Target.zig");10const Target = @import("Target.zig");
10const TypeStore = @import("TypeStore.zig");11const TypeStore = @import("TypeStore.zig");
...@@ -44,34 +45,20 @@ const SysVContext = struct {...@@ -44,34 +45,20 @@ const SysVContext = struct {
44 ongoing_bitfield: ?OngoingBitfield,45 ongoing_bitfield: ?OngoingBitfield,
4546
46 comp: *const Compilation,47 comp: *const Compilation,
4748 am: *const Attribute.Map,
48 fn init(qt: QualType, comp: *const Compilation, pragma_pack: ?u8) SysVContext {
49 const pack_value: ?u64 = if (pragma_pack) |pak| @as(u64, pak) * BITS_PER_BYTE else null;
50 const req_align = @as(u32, (qt.requestedAlignment(comp) orelse 1)) * BITS_PER_BYTE;
51 return SysVContext{
52 .attr_packed = qt.hasAttribute(comp, .@"packed"),
53 .max_field_align_bits = pack_value,
54 .aligned_bits = req_align,
55 .is_union = qt.is(comp, .@"union"),
56 .size_bits = 0,
57 .comp = comp,
58 .ongoing_bitfield = null,
59 };
60 }
6149
62 fn layoutFields(self: *SysVContext, fields: []Type.Record.Field) !void {50 fn layoutFields(self: *SysVContext, fields: []Type.Record.Field) !void {
63 for (fields) |*field| {51 for (fields) |*field| {
64 if (field.qt.isInvalid()) continue;52 if (field.qt.isInvalid()) continue;
65 const type_layout = computeLayout(field.qt, self.comp);53 const type_layout = computeLayout(field.qt, self.comp);
6654
67 const attributes = field.attributes(self.comp);
68 if (self.comp.target.isMinGW()) {55 if (self.comp.target.isMinGW()) {
69 field.layout = try self.layoutMinGWField(field, attributes, type_layout);56 field.layout = try self.layoutMinGWField(field, type_layout);
70 } else {57 } else {
71 if (field.bit_width.unpack()) |bit_width| {58 if (field.bit_width.unpack()) |bit_width| {
72 field.layout = try self.layoutBitField(attributes, type_layout, field.name_tok != 0, bit_width);59 field.layout = try self.layoutBitField(type_layout, field, bit_width);
73 } else {60 } else {
74 field.layout = try self.layoutRegularField(attributes, type_layout);61 field.layout = try self.layoutRegularField(type_layout, field);
75 }62 }
76 }63 }
77 }64 }
...@@ -98,11 +85,10 @@ const SysVContext = struct {...@@ -98,11 +85,10 @@ const SysVContext = struct {
98 fn layoutMinGWField(85 fn layoutMinGWField(
99 self: *SysVContext,86 self: *SysVContext,
100 field: *const Field,87 field: *const Field,
101 field_attrs: []const Attribute,
102 field_layout: RecordLayout,88 field_layout: RecordLayout,
103 ) !FieldLayout {89 ) !FieldLayout {
104 const annotation_alignment_bits = BITS_PER_BYTE * (QualType.annotationAlignment(self.comp, Attribute.Iterator.initSlice(field_attrs)) orelse 1);90 const annotation_alignment_bits = BITS_PER_BYTE * (self.am.requestedAlignment(field.field_decl, self.comp) orelse 1);
105 const is_attr_packed = self.attr_packed or isPacked(field_attrs);91 const is_attr_packed = self.attr_packed or self.am.hasAttribute(field.field_decl, .@"packed");
106 const ignore_type_alignment = ignoreTypeAlignment(is_attr_packed, field.bit_width.unpack(), self.ongoing_bitfield, field_layout);92 const ignore_type_alignment = ignoreTypeAlignment(is_attr_packed, field.bit_width.unpack(), self.ongoing_bitfield, field_layout);
10793
108 var field_alignment_bits: u64 = field_layout.field_alignment_bits;94 var field_alignment_bits: u64 = field_layout.field_alignment_bits;
...@@ -227,20 +213,20 @@ const SysVContext = struct {...@@ -227,20 +213,20 @@ const SysVContext = struct {
227213
228 fn layoutRegularField(214 fn layoutRegularField(
229 self: *SysVContext,215 self: *SysVContext,
230 fld_attrs: []const Attribute,
231 fld_layout: RecordLayout,216 fld_layout: RecordLayout,
217 field: *const Record.Field,
232 ) !FieldLayout {218 ) !FieldLayout {
233 var fld_align_bits = fld_layout.field_alignment_bits;219 var fld_align_bits = fld_layout.field_alignment_bits;
234220
235 // If the struct or the field is packed, then the alignment of the underlying type is221 // If the struct or the field is packed, then the alignment of the underlying type is
236 // ignored. See test case 0084.222 // ignored. See test case 0084.
237 if (self.attr_packed or isPacked(fld_attrs)) {223 if (self.attr_packed or self.am.hasAttribute(field.field_decl, .@"packed")) {
238 fld_align_bits = BITS_PER_BYTE;224 fld_align_bits = BITS_PER_BYTE;
239 }225 }
240226
241 // The field alignment can be increased by __attribute__((aligned)) annotations on the227 // The field alignment can be increased by __attribute__((aligned)) annotations on the
242 // field. See test case 0085.228 // field. See test case 0085.
243 if (QualType.annotationAlignment(self.comp, Attribute.Iterator.initSlice(fld_attrs))) |anno| {229 if (self.am.requestedAlignment(field.field_decl, self.comp)) |anno| {
244 fld_align_bits = @max(fld_align_bits, @as(u32, anno) * BITS_PER_BYTE);230 fld_align_bits = @max(fld_align_bits, @as(u32, anno) * BITS_PER_BYTE);
245 }231 }
246232
...@@ -268,48 +254,50 @@ const SysVContext = struct {...@@ -268,48 +254,50 @@ const SysVContext = struct {
268254
269 fn layoutBitField(255 fn layoutBitField(
270 self: *SysVContext,256 self: *SysVContext,
271 fld_attrs: []const Attribute,
272 fld_layout: RecordLayout,257 fld_layout: RecordLayout,
273 is_named: bool,258 field: *const Record.Field,
274 bit_width: u64,259 bit_width: u64,
275 ) !FieldLayout {260 ) !FieldLayout {
261 const is_named = field.name_tok != 0;
276 const ty_size_bits = fld_layout.size_bits;262 const ty_size_bits = fld_layout.size_bits;
277 var ty_fld_algn_bits: u32 = fld_layout.field_alignment_bits;263 var ty_fld_algn_bits: u32 = fld_layout.field_alignment_bits;
264 const target = &self.comp.target;
278265
279 if (bit_width > 0) {266 if (bit_width > 0) {
280 std.debug.assert(bit_width <= ty_size_bits); // Checked in parser267 std.debug.assert(bit_width <= ty_size_bits); // Checked in parser
281 // Some targets ignore the alignment of the underlying type when laying out268 // Some targets ignore the alignment of the underlying type when laying out
282 // non-zero-sized bit-fields. See test case 0072. On such targets, bit-fields never269 // non-zero-sized bit-fields. See test case 0072. On such targets, bit-fields never
283 // cross a storage boundary. See test case 0081.270 // cross a storage boundary. See test case 0081.
284 if (self.comp.target.ignoreNonZeroSizedBitfieldTypeAlignment()) {271 if (target.ignoreNonZeroSizedBitfieldTypeAlignment()) {
285 ty_fld_algn_bits = 1;272 ty_fld_algn_bits = 1;
286 }273 }
287 } else {274 } else {
288 // Some targets ignore the alignment of the underlying type when laying out275 // Some targets ignore the alignment of the underlying type when laying out
289 // zero-sized bit-fields. See test case 0073.276 // zero-sized bit-fields. See test case 0073.
290 if (self.comp.target.ignoreZeroSizedBitfieldTypeAlignment()) {277 if (target.ignoreZeroSizedBitfieldTypeAlignment()) {
291 ty_fld_algn_bits = 1;278 ty_fld_algn_bits = 1;
292 }279 }
293 // Some targets have a minimum alignment of zero-sized bit-fields. See test case280 // Some targets have a minimum alignment of zero-sized bit-fields. See test case
294 // 0074.281 // 0074.
295 if (self.comp.target.minZeroWidthBitfieldAlignment()) |target_align| {282 if (target.minZeroWidthBitfieldAlignment()) |target_align| {
296 ty_fld_algn_bits = @max(ty_fld_algn_bits, target_align);283 ty_fld_algn_bits = @max(ty_fld_algn_bits, target_align);
297 }284 }
298 }285 }
299286
300 // __attribute__((packed)) on the record is identical to __attribute__((packed)) on each287 // __attribute__((packed)) on the record is identical to __attribute__((packed)) on each
301 // field. See test case 0067.288 // field. See test case 0067.
302 const attr_packed = self.attr_packed or isPacked(fld_attrs);289 const attr_packed = self.attr_packed or self.am.hasAttribute(field.field_decl, .@"packed");
303 const has_packing_annotation = attr_packed or self.max_field_align_bits != null;290 const has_packing_annotation = attr_packed or self.max_field_align_bits != null;
304291
305 const annotation_alignment = if (QualType.annotationAlignment(self.comp, Attribute.Iterator.initSlice(fld_attrs))) |anno| @as(u32, anno) * BITS_PER_BYTE else 1;292 const annotation_alignment = if (self.am.requestedAlignment(field.field_decl, self.comp)) |anno| @as(u32, anno) * BITS_PER_BYTE else 1;
306293
307 const first_unused_bit: u64 = if (self.is_union) 0 else self.size_bits;294 const first_unused_bit: u64 = if (self.is_union) 0 else self.size_bits;
308 var field_align_bits: u64 = 1;295 var field_align_bits: u64 = 1;
296 const emulate = self.comp.langopts.emulate;
309297
310 if (bit_width == 0) {298 if (bit_width == 0) {
311 field_align_bits = @max(ty_fld_algn_bits, annotation_alignment);299 field_align_bits = @max(ty_fld_algn_bits, annotation_alignment);
312 } else if (self.comp.langopts.emulate == .gcc) {300 } else if (emulate == .gcc) {
313 // On GCC, the field alignment is at least the alignment requested by annotations301 // On GCC, the field alignment is at least the alignment requested by annotations
314 // except as restricted by #pragma pack. See test case 0083.302 // except as restricted by #pragma pack. See test case 0083.
315 field_align_bits = annotation_alignment;303 field_align_bits = annotation_alignment;
...@@ -332,7 +320,7 @@ const SysVContext = struct {...@@ -332,7 +320,7 @@ const SysVContext = struct {
332 }320 }
333 }321 }
334 } else {322 } else {
335 std.debug.assert(self.comp.langopts.emulate == .no or self.comp.langopts.emulate == .clang);323 std.debug.assert(emulate == .no or emulate == .clang);
336324
337 // On Clang, the alignment requested by annotations is not respected if it is325 // On Clang, the alignment requested by annotations is not respected if it is
338 // larger than the value of #pragma pack. See test case 0083.326 // larger than the value of #pragma pack. See test case 0083.
...@@ -355,7 +343,7 @@ const SysVContext = struct {...@@ -355,7 +343,7 @@ const SysVContext = struct {
355343
356 // Unnamed fields do not contribute to the record alignment except on a few targets.344 // Unnamed fields do not contribute to the record alignment except on a few targets.
357 // See test case 0079.345 // See test case 0079.
358 if (is_named or self.comp.target.unnamedFieldAffectsAlignment()) {346 if (is_named or target.unnamedFieldAffectsAlignment()) {
359 var inherited_align_bits: u32 = undefined;347 var inherited_align_bits: u32 = undefined;
360348
361 if (bit_width == 0) {349 if (bit_width == 0) {
...@@ -401,11 +389,20 @@ const MsvcContext = struct {...@@ -401,11 +389,20 @@ const MsvcContext = struct {
401 ongoing_bitfield: ?OngoingBitfield,389 ongoing_bitfield: ?OngoingBitfield,
402 contains_non_bitfield: bool,390 contains_non_bitfield: bool,
403 is_union: bool,391 is_union: bool,
404 comp: *const Compilation,
405392
406 fn init(qt: QualType, comp: *const Compilation, pragma_pack: ?u8) MsvcContext {393 comp: *const Compilation,
394 am: *const Attribute.Map,
395
396 fn init(
397 packed_attr: bool,
398 requested_align: ?u32,
399 is_union: bool,
400 comp: *const Compilation,
401 am: *const Attribute.Map,
402 pragma_pack: ?u8,
403 ) MsvcContext {
407 var pack_value: ?u32 = null;404 var pack_value: ?u32 = null;
408 if (qt.hasAttribute(comp, .@"packed")) {405 if (packed_attr) {
409 // __attribute__((packed)) behaves like #pragma pack(1) in clang. See test case 0056.406 // __attribute__((packed)) behaves like #pragma pack(1) in clang. See test case 0056.
410 pack_value = BITS_PER_BYTE;407 pack_value = BITS_PER_BYTE;
411 }408 }
...@@ -414,13 +411,10 @@ const MsvcContext = struct {...@@ -414,13 +411,10 @@ const MsvcContext = struct {
414 pack_value = pack * BITS_PER_BYTE;411 pack_value = pack * BITS_PER_BYTE;
415 }412 }
416 }413 }
417 if (pack_value) |pack| {414 pack_value = msvcPragmaPack(comp, pack_value);
418 pack_value = msvcPragmaPack(comp, pack);
419 }
420
421 // The required alignment can be increased by adding a __declspec(align)415 // The required alignment can be increased by adding a __declspec(align)
422 // annotation. See test case 0023.416 // annotation. See test case 0023.
423 const must_align = @as(u32, (qt.requestedAlignment(comp) orelse 1)) * BITS_PER_BYTE;417 const must_align = @as(u32, (requested_align orelse 1)) * BITS_PER_BYTE;
424 return .{418 return .{
425 .req_align_bits = must_align,419 .req_align_bits = must_align,
426 .pointer_align_bits = must_align,420 .pointer_align_bits = must_align,
...@@ -429,19 +423,20 @@ const MsvcContext = struct {...@@ -429,19 +423,20 @@ const MsvcContext = struct {
429 .max_field_align_bits = pack_value,423 .max_field_align_bits = pack_value,
430 .ongoing_bitfield = null,424 .ongoing_bitfield = null,
431 .contains_non_bitfield = false,425 .contains_non_bitfield = false,
432 .is_union = qt.is(comp, .@"union"),426 .is_union = is_union,
433 .comp = comp,427 .comp = comp,
428 .am = am,
434 };429 };
435 }430 }
436431
437 fn layoutField(self: *MsvcContext, fld: *const Field, fld_attrs: []const Attribute) !FieldLayout {432 fn layoutField(self: *MsvcContext, fld: *const Field) !FieldLayout {
438 const type_layout = computeLayout(fld.qt, self.comp);433 const type_layout = computeLayout(fld.qt, self.comp);
439434
440 // The required alignment of the field is the maximum of the required alignment of the435 // The required alignment of the field is the maximum of the required alignment of the
441 // underlying type and the __declspec(align) annotation on the field itself.436 // underlying type and the __declspec(align) annotation on the field itself.
442 // See test case 0028.437 // See test case 0028.
443 var req_align = type_layout.required_alignment_bits;438 var req_align = type_layout.required_alignment_bits;
444 if (QualType.annotationAlignment(self.comp, Attribute.Iterator.initSlice(fld_attrs))) |anno| {439 if (self.am.requestedAlignment(fld.field_decl, self.comp)) |anno| {
445 req_align = @max(@as(u32, anno) * BITS_PER_BYTE, req_align);440 req_align = @max(@as(u32, anno) * BITS_PER_BYTE, req_align);
446 }441 }
447442
...@@ -463,7 +458,7 @@ const MsvcContext = struct {...@@ -463,7 +458,7 @@ const MsvcContext = struct {
463 fld_align_bits = @max(fld_align_bits, type_req_align * 8);458 fld_align_bits = @max(fld_align_bits, type_req_align * 8);
464 }459 }
465460
466 if (isPacked(fld_attrs)) {461 if (self.am.hasAttribute(fld.field_decl, .@"packed")) {
467 // __attribute__((packed)) on a field is a clang extension. It behaves as if #pragma462 // __attribute__((packed)) on a field is a clang extension. It behaves as if #pragma
468 // pack(1) had been applied only to this field. See test case 0057.463 // pack(1) had been applied only to this field. See test case 0057.
469 fld_align_bits = BITS_PER_BYTE;464 fld_align_bits = BITS_PER_BYTE;
...@@ -567,54 +562,79 @@ const MsvcContext = struct {...@@ -567,54 +562,79 @@ const MsvcContext = struct {
567 }562 }
568};563};
569564
570pub fn compute(fields: []Type.Record.Field, qt: QualType, comp: *const Compilation, pragma_pack: ?u8) Error!Type.Record.Layout {565pub fn compute(
571 switch (comp.langopts.emulate) {566 fields: []Type.Record.Field,
572 .no, .gcc, .clang => {567 opt_decl: Node.OptIndex,
573 var context = SysVContext.init(qt, comp, pragma_pack);568 is_union: bool,
569 comp: *const Compilation,
570 am: *const Attribute.Map,
571 pragma_pack: ?u8,
572) Error!Type.Record.Layout {
573 const packed_attr = am.hasAttribute(opt_decl, .@"packed");
574 const requested_align = am.requestedAlignment(opt_decl, comp);
575
576 const use_sysv_layout = switch (comp.langopts.emulate) {
577 .msvc => false,
578 .clang, .no => comp.target.abi != .msvc,
579 .gcc => true,
580 };
574581
575 try context.layoutFields(fields);582 if (use_sysv_layout) {
583 var context: SysVContext = .{
584 .attr_packed = packed_attr,
585 .max_field_align_bits = if (pragma_pack) |pak| @as(u64, pak) * BITS_PER_BYTE else null,
586 .aligned_bits = (requested_align orelse 1) * BITS_PER_BYTE,
587 .is_union = is_union,
588 .size_bits = 0,
589 .comp = comp,
590 .am = am,
591 .ongoing_bitfield = null,
592 };
576593
577 context.size_bits = try alignForward(context.size_bits, context.aligned_bits);594 try context.layoutFields(fields);
578595
579 return .{596 context.size_bits = try alignForward(context.size_bits, context.aligned_bits);
580 .size_bits = context.size_bits,597
581 .field_alignment_bits = context.aligned_bits,598 return .{
582 .pointer_alignment_bits = context.aligned_bits,599 .size_bits = context.size_bits,
583 .required_alignment_bits = BITS_PER_BYTE,600 .field_alignment_bits = context.aligned_bits,
584 };601 .pointer_alignment_bits = context.aligned_bits,
585 },602 .required_alignment_bits = BITS_PER_BYTE,
586 .msvc => {603 };
587 var context = MsvcContext.init(qt, comp, pragma_pack);604 } else {
588 for (fields) |*field| {605 var context = MsvcContext.init(packed_attr, requested_align, is_union, comp, am, pragma_pack);
589 if (field.qt.isInvalid()) continue;606 for (fields) |*field| {
590 field.layout = try context.layoutField(field, field.attributes(comp));607 if (field.qt.isInvalid()) continue;
591 }608 field.layout = try context.layoutField(field);
592 if (context.size_bits == 0) {609 }
593 // As an extension, MSVC allows records that only contain zero-sized bitfields and empty610 if (context.size_bits == 0) {
594 // arrays. Such records would be zero-sized but this case is handled here separately to611 // As an extension, MSVC allows records that only contain zero-sized bitfields and empty
595 // ensure that there are no zero-sized records.612 // arrays. Such records would be zero-sized but this case is handled here separately to
596 context.handleZeroSizedRecord();613 // ensure that there are no zero-sized records.
597 }614 context.handleZeroSizedRecord();
598 context.size_bits = try alignForward(context.size_bits, context.pointer_align_bits);615 }
599 return .{616 context.size_bits = try alignForward(context.size_bits, context.pointer_align_bits);
600 .size_bits = context.size_bits,617 return .{
601 .field_alignment_bits = context.field_align_bits,618 .size_bits = context.size_bits,
602 .pointer_alignment_bits = context.pointer_align_bits,619 .field_alignment_bits = context.field_align_bits,
603 .required_alignment_bits = context.req_align_bits,620 .pointer_alignment_bits = context.pointer_align_bits,
604 };621 .required_alignment_bits = context.req_align_bits,
605 },622 };
606 }623 }
607}624}
608625
609fn computeLayout(qt: QualType, comp: *const Compilation) RecordLayout {626fn computeLayout(qt: QualType, comp: *const Compilation) RecordLayout {
627 const requested = BITS_PER_BYTE * (if (comp.langopts.emulate == .msvc)
628 msvcRequiredAlignment(qt, comp) orelse 0
629 else
630 qt.requestedAlignment(comp) orelse 0);
610 switch (qt.base(comp).type) {631 switch (qt.base(comp).type) {
611 .@"struct", .@"union" => |record| {632 .@"struct", .@"union" => |record| {
612 const requested = BITS_PER_BYTE * (qt.requestedAlignment(comp) orelse 0);
613 return .{633 return .{
614 .size_bits = record.layout.?.size_bits,634 .size_bits = record.layout.?.size_bits,
615 .pointer_alignment_bits = @max(requested, record.layout.?.pointer_alignment_bits),635 .pointer_alignment_bits = @max(requested, record.layout.?.pointer_alignment_bits),
616 .field_alignment_bits = @max(requested, record.layout.?.field_alignment_bits),636 .field_alignment_bits = @max(requested, record.layout.?.field_alignment_bits),
617 .required_alignment_bits = record.layout.?.required_alignment_bits,637 .required_alignment_bits = @max(requested, record.layout.?.required_alignment_bits),
618 };638 };
619 },639 },
620 else => {640 else => {
...@@ -623,20 +643,27 @@ fn computeLayout(qt: QualType, comp: *const Compilation) RecordLayout {...@@ -623,20 +643,27 @@ fn computeLayout(qt: QualType, comp: *const Compilation) RecordLayout {
623 .size_bits = BITS_PER_BYTE * (qt.sizeofOrNull(comp) orelse 0),643 .size_bits = BITS_PER_BYTE * (qt.sizeofOrNull(comp) orelse 0),
624 .pointer_alignment_bits = type_align,644 .pointer_alignment_bits = type_align,
625 .field_alignment_bits = type_align,645 .field_alignment_bits = type_align,
626 .required_alignment_bits = BITS_PER_BYTE,646 .required_alignment_bits = @max(requested, BITS_PER_BYTE),
627 };647 };
628 },648 },
629 }649 }
630}650}
631651
632fn isPacked(attrs: ?[]const Attribute) bool {652fn msvcRequiredAlignment(qt: QualType, comp: *const Compilation) ?u32 {
633 const a = attrs orelse return false;653 const child = switch (qt.type(comp)) {
634654 .array => |array| msvcRequiredAlignment(array.elem, comp),
635 for (a) |attribute| {655 .typedef => |typedef| msvcRequiredAlignment(typedef.base, comp),
636 if (attribute.tag != .@"packed") continue;656 .typeof => |typeof| msvcRequiredAlignment(typeof.base, comp),
637 return true;657 .@"struct", .@"union" => |record| if (record.layout) |layout|
638 }658 layout.required_alignment_bits / BITS_PER_BYTE
639 return false;659 else
660 null,
661 else => null,
662 };
663 return if (qt.requestedAlignment(comp)) |own|
664 if (child) |child_alignment| @max(own, child_alignment) else own
665 else
666 child;
640}667}
641668
642// The effect of #pragma pack(N) depends on the target.669// The effect of #pragma pack(N) depends on the target.
...@@ -652,8 +679,8 @@ fn isPacked(attrs: ?[]const Attribute) bool {...@@ -652,8 +679,8 @@ fn isPacked(attrs: ?[]const Attribute) bool {
652// activate the default.679// activate the default.
653//680//
654// See test case 0020.681// See test case 0020.
655pub fn msvcPragmaPack(comp: *const Compilation, pack: u32) ?u32 {682pub fn msvcPragmaPack(comp: *const Compilation, pack: ?u32) ?u32 {
656 return switch (pack) {683 return switch (pack orelse 0) {
657 8, 16, 32 => pack,684 8, 16, 32 => pack,
658 64 => if (comp.target.cpu.arch == .x86) null else pack,685 64 => if (comp.target.cpu.arch == .x86) null else pack,
659 128 => if (comp.target.cpu.arch == .thumb) pack else null,686 128 => if (comp.target.cpu.arch == .thumb) pack else null,
lib/compiler/aro/assembly_backend/x86_64.zig+4-3
...@@ -68,7 +68,7 @@ fn serializeFloat(comptime T: type, value: T, w: *std.Io.Writer) !void {...@@ -68,7 +68,7 @@ fn serializeFloat(comptime T: type, value: T, w: *std.Io.Writer) !void {
68pub fn todo(c: *AsmCodeGen, msg: []const u8, tok: Tree.TokenIndex) Error {68pub fn todo(c: *AsmCodeGen, msg: []const u8, tok: Tree.TokenIndex) Error {
69 const loc: Source.Location = c.tree.tokens.items(.loc)[tok];69 const loc: Source.Location = c.tree.tokens.items(.loc)[tok];
7070
71 var bfa_buf: [u8]1024 = undefined;71 var bfa_buf: [1024]u8 = undefined;
72 var bfa: std.heap.BufferFirstAllocator = .init(&bfa_buf, c.comp.gpa);72 var bfa: std.heap.BufferFirstAllocator = .init(&bfa_buf, c.comp.gpa);
73 const allocator = bfa.allocator();73 const allocator = bfa.allocator();
74 var buf: std.ArrayList(u8) = .empty;74 var buf: std.ArrayList(u8) = .empty;
...@@ -118,7 +118,7 @@ fn emitSingleValue(c: *AsmCodeGen, qt: QualType, node: Node.Index) !void {...@@ -118,7 +118,7 @@ fn emitSingleValue(c: *AsmCodeGen, qt: QualType, node: Node.Index) !void {
118 const bytes = value.toBytes(c.comp);118 const bytes = value.toBytes(c.comp);
119 const directive = if (bytes.len > bit_size / 8) "ascii" else "string";119 const directive = if (bytes.len > bit_size / 8) "ascii" else "string";
120 try c.data.print(" .{s} ", .{directive});120 try c.data.print(" .{s} ", .{directive});
121 try Value.printString(bytes, qt, c.comp, c.data);121 try Value.printString(bytes, qt, c.comp, c.data, .quoted);
122122
123 try c.data.writeByte('\n');123 try c.data.writeByte('\n');
124 } else unreachable;124 } else unreachable;
...@@ -150,7 +150,8 @@ pub fn genAsm(tree: *const Tree) Error!Assembly {...@@ -150,7 +150,8 @@ pub fn genAsm(tree: *const Tree) Error!Assembly {
150150
151 codegen.genDecls() catch |err| switch (err) {151 codegen.genDecls() catch |err| switch (err) {
152 error.WriteFailed => return error.OutOfMemory,152 error.WriteFailed => return error.OutOfMemory,
153 error.OutOfMemory, error.FatalError => |e| return e,153 error.OutOfMemory => return error.OutOfMemory,
154 error.FatalError => return error.FatalError,
154 };155 };
155156
156 const text_slice = try text.toOwnedSlice();157 const text_slice = try text.toOwnedSlice();
lib/compiler/aro/backend/CodeGenOptions.zig+6
...@@ -10,6 +10,10 @@ pic_level: PicLevel,...@@ -10,6 +10,10 @@ pic_level: PicLevel,
10/// Generate position-independent code that can only be linked into executables10/// Generate position-independent code that can only be linked into executables
11is_pie: bool,11is_pie: bool,
12optimization_level: OptimizationLevel,12optimization_level: OptimizationLevel,
13/// Generate Read-Only and Read-Write Position Independent (ROPI/RWPI) code an ARM targets.
14/// This currently only emits macros for better clang compat.
15is_ropi: bool,
16is_rwpi: bool,
13/// Generate debug information17/// Generate debug information
14debug: DebugFormat,18debug: DebugFormat,
15dwarf_version: DwarfVersion,19dwarf_version: DwarfVersion,
...@@ -88,6 +92,8 @@ pub const default: @This() = .{...@@ -88,6 +92,8 @@ pub const default: @This() = .{
88 .data_sections = false,92 .data_sections = false,
89 .pic_level = .none,93 .pic_level = .none,
90 .is_pie = false,94 .is_pie = false,
95 .is_ropi = false,
96 .is_rwpi = false,
91 .optimization_level = .@"0",97 .optimization_level = .@"0",
92 .debug = .strip,98 .debug = .strip,
93 .dwarf_version = .@"0",99 .dwarf_version = .@"0",
lib/compiler/aro/backend/Interner.zig+2-2
...@@ -8,7 +8,7 @@ const Limb = std.math.big.Limb;...@@ -8,7 +8,7 @@ const Limb = std.math.big.Limb;
88
9const Interner = @This();9const Interner = @This();
1010
11map: std.array_hash_map.Auto(void, void) = .empty,11map: std.AutoArrayHashMapUnmanaged(void, void) = .empty,
12items: std.MultiArrayList(struct {12items: std.MultiArrayList(struct {
13 tag: Tag,13 tag: Tag,
14 data: u32,14 data: u32,
...@@ -896,7 +896,7 @@ fn extraDataTrail(i: *const Interner, comptime T: type, index: usize) struct { d...@@ -896,7 +896,7 @@ fn extraDataTrail(i: *const Interner, comptime T: type, index: usize) struct { d
896 inline for (info.field_names, info.field_types, 0..) |field_name, field_type, field_i| {896 inline for (info.field_names, info.field_types, 0..) |field_name, field_type, field_i| {
897 const int32 = i.extra.items[field_i + index];897 const int32 = i.extra.items[field_i + index];
898 @field(result, field_name) = switch (field_type) {898 @field(result, field_name) = switch (field_type) {
899 Ref => @fromBackingInt(@intCast(int32)),899 Ref => @fromBackingInt(int32),
900 u32 => int32,900 u32 => int32,
901 else => @compileError("bad field type: " ++ @typeName(field_type)),901 else => @compileError("bad field type: " ++ @typeName(field_type)),
902 };902 };
lib/compiler/aro/backend/Ir.zig+5-5
...@@ -7,7 +7,7 @@ const Object = @import("Object.zig");...@@ -7,7 +7,7 @@ const Object = @import("Object.zig");
7const Ir = @This();7const Ir = @This();
88
9interner: *Interner,9interner: *Interner,
10decls: std.array_hash_map.String(Decl),10decls: std.StringArrayHashMapUnmanaged(Decl),
1111
12pub const Decl = struct {12pub const Decl = struct {
13 instructions: std.MultiArrayList(Inst),13 instructions: std.MultiArrayList(Inst),
...@@ -26,7 +26,7 @@ pub const Builder = struct {...@@ -26,7 +26,7 @@ pub const Builder = struct {
26 arena: std.heap.ArenaAllocator,26 arena: std.heap.ArenaAllocator,
27 interner: *Interner,27 interner: *Interner,
2828
29 decls: std.array_hash_map.String(Decl) = .empty,29 decls: std.StringArrayHashMapUnmanaged(Decl) = .empty,
30 instructions: std.MultiArrayList(Ir.Inst) = .empty,30 instructions: std.MultiArrayList(Ir.Inst) = .empty,
31 body: std.ArrayList(Ref) = .empty,31 body: std.ArrayList(Ref) = .empty,
32 alloc_count: u32 = 0,32 alloc_count: u32 = 0,
...@@ -181,7 +181,7 @@ pub const Renderer = struct {...@@ -181,7 +181,7 @@ pub const Renderer = struct {
181 ir: *const Ir,181 ir: *const Ir,
182 errors: ErrorList = .{},182 errors: ErrorList = .{},
183183
184 pub const ErrorList = std.array_hash_map.String([]const u8);184 pub const ErrorList = std.StringArrayHashMapUnmanaged([]const u8);
185185
186 pub const Error = Allocator.Error || error{LowerFail};186 pub const Error = Allocator.Error || error{LowerFail};
187187
...@@ -204,7 +204,7 @@ pub const Renderer = struct {...@@ -204,7 +204,7 @@ pub const Renderer = struct {
204 args: anytype,204 args: anytype,
205 ) Error {205 ) Error {
206 try r.errors.ensureUnusedCapacity(r.gpa, 1);206 try r.errors.ensureUnusedCapacity(r.gpa, 1);
207 r.errors.putAssumeCapacity(name, try std.fmt.allocPrint(r.gpa, format, args));207 r.errors.putAssumeCapacity(name, try r.gpa.print(format, args));
208 return error.LowerFail;208 return error.LowerFail;
209 }209 }
210};210};
...@@ -380,7 +380,7 @@ const REF = std.Io.Terminal.Color.bright_blue;...@@ -380,7 +380,7 @@ const REF = std.Io.Terminal.Color.bright_blue;
380const LITERAL = std.Io.Terminal.Color.bright_green;380const LITERAL = std.Io.Terminal.Color.bright_green;
381const ATTRIBUTE = std.Io.Terminal.Color.bright_yellow;381const ATTRIBUTE = std.Io.Terminal.Color.bright_yellow;
382382
383const RefMap = std.array_hash_map.Auto(Ref, void);383const RefMap = std.AutoArrayHashMapUnmanaged(Ref, void);
384384
385pub const DumpError = std.Io.Terminal.SetColorError || std.mem.Allocator.Error;385pub const DumpError = std.Io.Terminal.SetColorError || std.mem.Allocator.Error;
386386
lib/compiler/aro/backend/Ir/x86/Renderer.zig-34
...@@ -4,46 +4,12 @@ const assert = std.debug.assert;...@@ -4,46 +4,12 @@ const assert = std.debug.assert;
4const Interner = @import("../../Interner.zig");4const Interner = @import("../../Interner.zig");
5const Ir = @import("../../Ir.zig");5const Ir = @import("../../Ir.zig");
6const BaseRenderer = Ir.Renderer;6const BaseRenderer = Ir.Renderer;
7const zig = @import("zig");
8const abi = zig.arch.x86_64.abi;
9const bits = zig.arch.x86_64.bits;
10
11const Condition = bits.Condition;
12const Immediate = bits.Immediate;
13const Memory = bits.Memory;
14const Register = bits.Register;
15const RegisterLock = RegisterManager.RegisterLock;
16const FrameIndex = bits.FrameIndex;
17
18const RegisterManager = zig.RegisterManager(Renderer, Register, Ir.Ref, abi.allocatable_regs);
19
20// Register classes
21const RegisterBitSet = RegisterManager.RegisterBitSet;
22const RegisterClass = struct {
23 const gp: RegisterBitSet = blk: {
24 var set: RegisterBitSet = .empty;
25 for (abi.allocatable_regs, 0..) |reg, index| if (reg.class() == .general_purpose) set.set(index);
26 break :blk set;
27 };
28 const x87: RegisterBitSet = blk: {
29 var set: RegisterBitSet = .empty;
30 for (abi.allocatable_regs, 0..) |reg, index| if (reg.class() == .x87) set.set(index);
31 break :blk set;
32 };
33 const sse: RegisterBitSet = blk: {
34 var set: RegisterBitSet = .empty;
35 for (abi.allocatable_regs, 0..) |reg, index| if (reg.class() == .sse) set.set(index);
36 break :blk set;
37 };
38};
397
40const Renderer = @This();8const Renderer = @This();
419
42base: *BaseRenderer,10base: *BaseRenderer,
43interner: *Interner,11interner: *Interner,
4412
45register_manager: RegisterManager = .{},
46
47pub fn render(base: *BaseRenderer) !void {13pub fn render(base: *BaseRenderer) !void {
48 var renderer: Renderer = .{14 var renderer: Renderer = .{
49 .base = base,15 .base = base,
lib/compiler/aro/backend/Object/Elf.zig+97-87
...@@ -129,7 +129,7 @@ pub fn declareSymbol(...@@ -129,7 +129,7 @@ pub fn declareSymbol(
129 };129 };
130 const name = if (maybe_name) |some| some else blk: {130 const name = if (maybe_name) |some| some else blk: {
131 defer elf.unnamed_symbol_mangle += 1;131 defer elf.unnamed_symbol_mangle += 1;
132 break :blk try std.fmt.allocPrint(elf.arena.allocator(), ".L.{d}", .{elf.unnamed_symbol_mangle});132 break :blk try elf.arena.allocator().print(".L.{d}", .{elf.unnamed_symbol_mangle});
133 };133 };
134134
135 const gop = if (linkage == .Internal)135 const gop = if (linkage == .Internal)
...@@ -172,21 +172,21 @@ pub fn addRelocation(elf: *Elf, name: []const u8, section_kind: Object.Section,...@@ -172,21 +172,21 @@ pub fn addRelocation(elf: *Elf, name: []const u8, section_kind: Object.Section,
172/// section headers172/// section headers
173pub fn finish(elf: *Elf, w: *std.Io.Writer) !void {173pub fn finish(elf: *Elf, w: *std.Io.Writer) !void {
174 var num_sections: std.elf.Half = additional_sections;174 var num_sections: std.elf.Half = additional_sections;
175 var relocations_len: std.elf.Elf64_Off = 0;175 var relocations_len: std.elf.Elf64.Off = 0;
176 var sections_len: std.elf.Elf64_Off = 0;176 var sections_len: std.elf.Elf64.Off = 0;
177 {177 {
178 var it = elf.sections.valueIterator();178 var it = elf.sections.valueIterator();
179 while (it.next()) |sect| {179 while (it.next()) |sect| {
180 sections_len += sect.*.data.items.len;180 sections_len += sect.*.data.items.len;
181 relocations_len += sect.*.relocations.items.len * @sizeOf(std.elf.Elf64_Rela);181 relocations_len += sect.*.relocations.items.len * @sizeOf(std.elf.Elf64.Rela);
182 sect.*.index = num_sections;182 sect.*.index = num_sections;
183 num_sections += 1;183 num_sections += 1;
184 num_sections += @intFromBool(sect.*.relocations.items.len != 0);184 num_sections += @intFromBool(sect.*.relocations.items.len != 0);
185 }185 }
186 }186 }
187 const symtab_len = (elf.local_symbols.count() + elf.global_symbols.count() + 1) * @sizeOf(std.elf.Elf64_Sym);187 const symtab_len = (elf.local_symbols.count() + elf.global_symbols.count() + 1) * @sizeOf(std.elf.Elf64.Sym);
188188
189 const symtab_offset = @sizeOf(std.elf.Elf64_Ehdr) + sections_len;189 const symtab_offset = @sizeOf(std.elf.Elf64.Ehdr) + sections_len;
190 const symtab_offset_aligned = std.mem.alignForward(u64, symtab_offset, 8);190 const symtab_offset_aligned = std.mem.alignForward(u64, symtab_offset, 8);
191 const rela_offset = symtab_offset_aligned + symtab_len;191 const rela_offset = symtab_offset_aligned + symtab_len;
192 const strtab_offset = rela_offset + relocations_len;192 const strtab_offset = rela_offset + relocations_len;
...@@ -194,21 +194,28 @@ pub fn finish(elf: *Elf, w: *std.Io.Writer) !void {...@@ -194,21 +194,28 @@ pub fn finish(elf: *Elf, w: *std.Io.Writer) !void {
194 const sh_offset_aligned = std.mem.alignForward(u64, sh_offset, 16);194 const sh_offset_aligned = std.mem.alignForward(u64, sh_offset, 16);
195 const endian = elf.obj.target.cpu.arch.endian();195 const endian = elf.obj.target.cpu.arch.endian();
196196
197 const elf_header: std.elf.Elf64_Ehdr = .{197 const elf_header: std.elf.Elf64.Ehdr = .{
198 .e_ident = .{ 0x7F, 'E', 'L', 'F', 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },198 .ident = .{
199 .e_type = std.elf.ET.REL, // we only produce relocatables199 .magic = .{ 0x7F, 'E', 'L', 'F' },
200 .e_machine = elf.obj.target.toElfMachine(),200 .class = .@"64",
201 .e_version = 1,201 .data = .@"2LSB",
202 .e_entry = 0, // linker will handle this202 .version = 1,
203 .e_phoff = 0, // no program header203 .osabi = .NONE,
204 .e_shoff = sh_offset_aligned, // section headers offset204 .abiversion = 0,
205 .e_flags = 0, // no flags205 },
206 .e_ehsize = @sizeOf(std.elf.Elf64_Ehdr),206 .type = .REL, // we only produce relocatables
207 .e_phentsize = 0, // no program header207 .machine = elf.obj.target.toElfMachine(),
208 .e_phnum = 0, // no program header208 .version = 1,
209 .e_shentsize = @sizeOf(std.elf.Elf64_Shdr),209 .entry = 0, // linker will handle this
210 .e_shnum = num_sections,210 .phoff = 0, // no program header
211 .e_shstrndx = strtab_index,211 .shoff = sh_offset_aligned, // section headers offset
212 .flags = .{ .int = 0 }, // no flags
213 .ehsize = @sizeOf(std.elf.Elf64.Ehdr),
214 .phentsize = 0, // no program header
215 .phnum = 0, // no program header
216 .shentsize = @sizeOf(std.elf.Elf64.Shdr),
217 .shnum = num_sections,
218 .shstrndx = strtab_index,
212 };219 };
213 try w.writeStruct(elf_header, endian);220 try w.writeStruct(elf_header, endian);
214221
...@@ -225,19 +232,19 @@ pub fn finish(elf: *Elf, w: *std.Io.Writer) !void {...@@ -225,19 +232,19 @@ pub fn finish(elf: *Elf, w: *std.Io.Writer) !void {
225 // write symbols232 // write symbols
226 {233 {
227 // first symbol must be null234 // first symbol must be null
228 try w.writeStruct(std.mem.zeroes(std.elf.Elf64_Sym), endian);235 try w.writeStruct(std.mem.zeroes(std.elf.Elf64.Sym), endian);
229236
230 var sym_index: u16 = 1;237 var sym_index: u16 = 1;
231 var it = elf.local_symbols.iterator();238 var it = elf.local_symbols.iterator();
232 while (it.next()) |entry| {239 while (it.next()) |entry| {
233 const sym = entry.value_ptr.*;240 const sym = entry.value_ptr.*;
234 try w.writeStruct(std.elf.Elf64_Sym{241 try w.writeStruct(std.elf.Elf64.Sym{
235 .st_name = name_offset,242 .name = name_offset,
236 .st_info = sym.info,243 .info = @bitCast(sym.info),
237 .st_other = 0,244 .other = .{ .visibility = .DEFAULT },
238 .st_shndx = if (sym.section) |some| some.index else 0,245 .shndx = if (sym.section) |some| some.index else 0,
239 .st_value = sym.offset,246 .value = sym.offset,
240 .st_size = sym.size,247 .size = sym.size,
241 }, endian);248 }, endian);
242 sym.index = sym_index;249 sym.index = sym_index;
243 sym_index += 1;250 sym_index += 1;
...@@ -246,13 +253,13 @@ pub fn finish(elf: *Elf, w: *std.Io.Writer) !void {...@@ -246,13 +253,13 @@ pub fn finish(elf: *Elf, w: *std.Io.Writer) !void {
246 it = elf.global_symbols.iterator();253 it = elf.global_symbols.iterator();
247 while (it.next()) |entry| {254 while (it.next()) |entry| {
248 const sym = entry.value_ptr.*;255 const sym = entry.value_ptr.*;
249 try w.writeStruct(std.elf.Elf64_Sym{256 try w.writeStruct(std.elf.Elf64.Sym{
250 .st_name = name_offset,257 .name = name_offset,
251 .st_info = sym.info,258 .info = @bitCast(sym.info),
252 .st_other = 0,259 .other = .{ .visibility = .DEFAULT },
253 .st_shndx = if (sym.section) |some| some.index else 0,260 .shndx = if (sym.section) |some| some.index else 0,
254 .st_value = sym.offset,261 .value = sym.offset,
255 .st_size = sym.size,262 .size = sym.size,
256 }, endian);263 }, endian);
257 sym.index = sym_index;264 sym.index = sym_index;
258 sym_index += 1;265 sym_index += 1;
...@@ -265,10 +272,13 @@ pub fn finish(elf: *Elf, w: *std.Io.Writer) !void {...@@ -265,10 +272,13 @@ pub fn finish(elf: *Elf, w: *std.Io.Writer) !void {
265 var it = elf.sections.valueIterator();272 var it = elf.sections.valueIterator();
266 while (it.next()) |sect| {273 while (it.next()) |sect| {
267 for (sect.*.relocations.items) |rela| {274 for (sect.*.relocations.items) |rela| {
268 try w.writeStruct(std.elf.Elf64_Rela{275 try w.writeStruct(std.elf.Elf64.Rela{
269 .r_offset = rela.offset,276 .offset = rela.offset,
270 .r_addend = rela.addend,277 .addend = rela.addend,
271 .r_info = (@as(u64, rela.symbol.index) << 32) | rela.type,278 .info = .{
279 .type = rela.type,
280 .sym = rela.symbol.index,
281 },
272 }, endian);282 }, endian);
273 }283 }
274 }284 }
...@@ -293,77 +303,77 @@ pub fn finish(elf: *Elf, w: *std.Io.Writer) !void {...@@ -293,77 +303,77 @@ pub fn finish(elf: *Elf, w: *std.Io.Writer) !void {
293 // pad to 16 bytes303 // pad to 16 bytes
294 try w.splatByteAll(0, @intCast(sh_offset_aligned - sh_offset));304 try w.splatByteAll(0, @intCast(sh_offset_aligned - sh_offset));
295 // mandatory null header305 // mandatory null header
296 try w.writeStruct(std.mem.zeroes(std.elf.Elf64_Shdr), endian);306 try w.writeStruct(std.mem.zeroes(std.elf.Elf64.Shdr), endian);
297307
298 // write strtab section header308 // write strtab section header
299 {309 {
300 const sect_header: std.elf.Elf64_Shdr = .{310 const sect_header: std.elf.Elf64.Shdr = .{
301 .sh_name = strtab_name,311 .name = strtab_name,
302 .sh_type = std.elf.SHT_STRTAB,312 .type = .STRTAB,
303 .sh_flags = 0,313 .flags = .{ .shf = .{} },
304 .sh_addr = 0,314 .addr = 0,
305 .sh_offset = strtab_offset,315 .offset = strtab_offset,
306 .sh_size = elf.strtab_len,316 .size = elf.strtab_len,
307 .sh_link = 0,317 .link = 0,
308 .sh_info = 0,318 .info = 0,
309 .sh_addralign = 1,319 .addralign = 1,
310 .sh_entsize = 0,320 .entsize = 0,
311 };321 };
312 try w.writeStruct(sect_header, endian);322 try w.writeStruct(sect_header, endian);
313 }323 }
314324
315 // write symtab section header325 // write symtab section header
316 {326 {
317 const sect_header: std.elf.Elf64_Shdr = .{327 const sect_header: std.elf.Elf64.Shdr = .{
318 .sh_name = symtab_name,328 .name = symtab_name,
319 .sh_type = std.elf.SHT_SYMTAB,329 .type = .SYMTAB,
320 .sh_flags = 0,330 .flags = .{ .shf = .{} },
321 .sh_addr = 0,331 .addr = 0,
322 .sh_offset = symtab_offset_aligned,332 .offset = symtab_offset_aligned,
323 .sh_size = symtab_len,333 .size = symtab_len,
324 .sh_link = strtab_index,334 .link = strtab_index,
325 .sh_info = elf.local_symbols.size + 1,335 .info = elf.local_symbols.size + 1,
326 .sh_addralign = 8,336 .addralign = 8,
327 .sh_entsize = @sizeOf(std.elf.Elf64_Sym),337 .entsize = @sizeOf(std.elf.Elf64.Sym),
328 };338 };
329 try w.writeStruct(sect_header, endian);339 try w.writeStruct(sect_header, endian);
330 }340 }
331341
332 // remaining section headers342 // remaining section headers
333 {343 {
334 var sect_offset: u64 = @sizeOf(std.elf.Elf64_Ehdr);344 var sect_offset: u64 = @sizeOf(std.elf.Elf64.Ehdr);
335 var rela_sect_offset: u64 = rela_offset;345 var rela_sect_offset: u64 = rela_offset;
336 var it = elf.sections.iterator();346 var it = elf.sections.iterator();
337 while (it.next()) |entry| {347 while (it.next()) |entry| {
338 const sect = entry.value_ptr.*;348 const sect = entry.value_ptr.*;
339 const rela_count = sect.relocations.items.len;349 const rela_count = sect.relocations.items.len;
340 const rela_name_offset: u32 = if (rela_count != 0) @truncate(".rela".len) else 0;350 const rela_name_offset: u32 = if (rela_count != 0) @truncate(".rela".len) else 0;
341 try w.writeStruct(std.elf.Elf64_Shdr{351 try w.writeStruct(std.elf.Elf64.Shdr{
342 .sh_name = rela_name_offset + name_offset,352 .name = rela_name_offset + name_offset,
343 .sh_type = sect.type,353 .type = @fromBackingInt(sect.type),
344 .sh_flags = sect.flags,354 .flags = @bitCast(sect.flags),
345 .sh_addr = 0,355 .addr = 0,
346 .sh_offset = sect_offset,356 .offset = sect_offset,
347 .sh_size = sect.data.items.len,357 .size = sect.data.items.len,
348 .sh_link = 0,358 .link = 0,
349 .sh_info = 0,359 .info = 0,
350 .sh_addralign = if (sect.flags & std.elf.SHF_EXECINSTR != 0) 16 else 1,360 .addralign = if (sect.flags & std.elf.SHF_EXECINSTR != 0) 16 else 1,
351 .sh_entsize = 0,361 .entsize = 0,
352 }, endian);362 }, endian);
353363
354 if (rela_count != 0) {364 if (rela_count != 0) {
355 const size = rela_count * @sizeOf(std.elf.Elf64_Rela);365 const size = rela_count * @sizeOf(std.elf.Elf64.Rela);
356 try w.writeStruct(std.elf.Elf64_Shdr{366 try w.writeStruct(std.elf.Elf64.Shdr{
357 .sh_name = name_offset,367 .name = name_offset,
358 .sh_type = std.elf.SHT_RELA,368 .type = .RELA,
359 .sh_flags = 0,369 .flags = .{ .shf = .{} },
360 .sh_addr = 0,370 .addr = 0,
361 .sh_offset = rela_sect_offset,371 .offset = rela_sect_offset,
362 .sh_size = rela_count * @sizeOf(std.elf.Elf64_Rela),372 .size = rela_count * @sizeOf(std.elf.Elf64.Rela),
363 .sh_link = symtab_index,373 .link = symtab_index,
364 .sh_info = sect.index,374 .info = sect.index,
365 .sh_addralign = 8,375 .addralign = 8,
366 .sh_entsize = @sizeOf(std.elf.Elf64_Rela),376 .entsize = @sizeOf(std.elf.Elf64.Rela),
367 }, endian);377 }, endian);
368 rela_sect_offset += size;378 rela_sect_offset += size;
369 }379 }
lib/compiler/aro/include/stdint.h+23
...@@ -7,6 +7,29 @@...@@ -7,6 +7,29 @@
77
8# include_next <stdint.h>8# include_next <stdint.h>
99
10# if defined(__APPLE__)
11
12# if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
13# define INTMAX_WIDTH __INTMAX_WIDTH__
14# define UINTMAX_WIDTH __UINTMAX_WIDTH__
15# define INTPTR_WIDTH __INTPTR_WIDTH__
16# define UINTPTR_WIDTH __UINTPTR_WIDTH__
17# define PTRDIFF_WIDTH __PTRDIFF_WIDTH__
18# define SIZE_WIDTH __SIZE_WIDTH__
19# define WCHAR_WIDTH __WCHAR_WIDTH__
20
21# define UINT8_WIDTH 8
22# define UINT16_WIDTH 16
23# define UINT32_WIDTH 32
24# define UINT64_WIDTH 64
25# define INT8_WIDTH UINT8_WIDTH
26# define INT16_WIDTH UINT16_WIDTH
27# define INT32_WIDTH UINT32_WIDTH
28# define INT64_WIDTH UINT64_WIDTH
29# endif
30
31# endif
32
10#else33#else
1134
12#define __stdint_int_c_cat(X, Y) X ## Y35#define __stdint_int_c_cat(X, Y) X ## Y
lib/compiler/translate-c/MacroTranslator.zig+49-6
...@@ -269,7 +269,8 @@ fn parseCNumLit(mt: *MacroTranslator) ParseError!ZigNode {...@@ -269,7 +269,8 @@ fn parseCNumLit(mt: *MacroTranslator) ParseError!ZigNode {
269 // +3 for prefix and +2 for suffix269 // +3 for prefix and +2 for suffix
270 var bytes = try std.ArrayList(u8).initCapacity(arena, lit_bytes.len + 3 + 2);270 var bytes = try std.ArrayList(u8).initCapacity(arena, lit_bytes.len + 3 + 2);
271271
272 const prefix = aro.Tree.Token.NumberPrefix.fromString(lit_bytes);272 const allow_msvc_suffixes = mt.t.comp.langopts.allowFixedSizedIntSuffixes();
273 const prefix = aro.Tokenizer.number_literal.Prefix.fromString(lit_bytes, allow_msvc_suffixes);
273 switch (prefix) {274 switch (prefix) {
274 .binary => bytes.appendSliceAssumeCapacity("0b"),275 .binary => bytes.appendSliceAssumeCapacity("0b"),
275 .octal => bytes.appendSliceAssumeCapacity("0o"),276 .octal => bytes.appendSliceAssumeCapacity("0o"),
...@@ -335,7 +336,7 @@ fn parseCNumLit(mt: *MacroTranslator) ParseError!ZigNode {...@@ -335,7 +336,7 @@ fn parseCNumLit(mt: *MacroTranslator) ParseError!ZigNode {
335 };336 };
336337
337 const is_float = after_int.len != suffix_str.len;338 const is_float = after_int.len != suffix_str.len;
338 const suffix = aro.Tree.Token.NumberSuffix.fromString(suffix_str, if (is_float) .float else .int) orelse {339 const suffix = aro.Tokenizer.number_literal.Suffix.fromString(suffix_str, if (is_float) .float else .int, allow_msvc_suffixes) orelse {
339 try mt.fail("invalid number suffix: '{s}'", .{suffix_str});340 try mt.fail("invalid number suffix: '{s}'", .{suffix_str});
340 return error.ParseError;341 return error.ParseError;
341 };342 };
...@@ -361,7 +362,7 @@ fn parseCNumLit(mt: *MacroTranslator) ParseError!ZigNode {...@@ -361,7 +362,7 @@ fn parseCNumLit(mt: *MacroTranslator) ParseError!ZigNode {
361 return error.ParseError;362 return error.ParseError;
362 },363 },
363 });364 });
364 if (bytes.last().? == '.') {365 if (bytes.last() == '.') {
365 bytes.appendAssumeCapacity('0');366 bytes.appendAssumeCapacity('0');
366 } else if (mem.findAny(u8, bytes.items, ".eEpP") == null) {367 } else if (mem.findAny(u8, bytes.items, ".eEpP") == null) {
367 bytes.appendSliceAssumeCapacity(".0");368 bytes.appendSliceAssumeCapacity(".0");
...@@ -376,6 +377,14 @@ fn parseCNumLit(mt: *MacroTranslator) ParseError!ZigNode {...@@ -376,6 +377,14 @@ fn parseCNumLit(mt: *MacroTranslator) ParseError!ZigNode {
376 .UL => "c_ulong",377 .UL => "c_ulong",
377 .LL => "c_longlong",378 .LL => "c_longlong",
378 .ULL => "c_ulonglong",379 .ULL => "c_ulonglong",
380 .I8 => "i8",
381 .UI8 => "u8",
382 .I16 => "i16",
383 .UI16 => "u16",
384 .I32 => "i32",
385 .UI32 => "u32",
386 .I64 => "i64",
387 .UI64 => "u64",
379 else => unreachable,388 else => unreachable,
380 });389 });
381 const value = std.fmt.parseInt(i128, bytes.items, 0) catch math.maxInt(i128);390 const value = std.fmt.parseInt(i128, bytes.items, 0) catch math.maxInt(i128);
...@@ -389,6 +398,14 @@ fn parseCNumLit(mt: *MacroTranslator) ParseError!ZigNode {...@@ -389,6 +398,14 @@ fn parseCNumLit(mt: *MacroTranslator) ParseError!ZigNode {
389 .UL => math.cast(u32, value) != null,398 .UL => math.cast(u32, value) != null,
390 .LL => math.cast(i64, value) != null,399 .LL => math.cast(i64, value) != null,
391 .ULL => math.cast(u64, value) != null,400 .ULL => math.cast(u64, value) != null,
401 .I8 => math.cast(i8, value) != null,
402 .UI8 => math.cast(u8, value) != null,
403 .I16 => math.cast(i16, value) != null,
404 .UI16 => math.cast(u16, value) != null,
405 .I32 => math.cast(i32, value) != null,
406 .UI32 => math.cast(u32, value) != null,
407 .I64 => math.cast(i64, value) != null,
408 .UI64 => math.cast(u64, value) != null,
392 else => unreachable,409 else => unreachable,
393 };410 };
394411
...@@ -583,7 +600,7 @@ fn escapeUnprintables(mt: *MacroTranslator) ![]const u8 {...@@ -583,7 +600,7 @@ fn escapeUnprintables(mt: *MacroTranslator) ![]const u8 {
583 const formatter = std.ascii.hexEscape(zigified, .lower);600 const formatter = std.ascii.hexEscape(zigified, .lower);
584 const encoded_size = @as(usize, @intCast(std.fmt.count("{f}", .{formatter})));601 const encoded_size = @as(usize, @intCast(std.fmt.count("{f}", .{formatter})));
585 const output = try mt.t.arena.alloc(u8, encoded_size);602 const output = try mt.t.arena.alloc(u8, encoded_size);
586 return std.mem.print(output, "{f}", .{formatter}) catch |err| switch (err) {603 return std.fmt.bufPrint(output, "{f}", .{formatter}) catch |err| switch (err) {
587 error.NoSpaceLeft => unreachable,604 error.NoSpaceLeft => unreachable,
588 else => |e| return e,605 else => |e| return e,
589 };606 };
...@@ -1270,8 +1287,24 @@ fn parseCPostfixExprInner(mt: *MacroTranslator, scope: *Scope, type_name: ?ZigNo...@@ -1270,8 +1287,24 @@ fn parseCPostfixExprInner(mt: *MacroTranslator, scope: *Scope, type_name: ?ZigNo
1270 var args: std.ArrayList(ZigNode) = .empty;1287 var args: std.ArrayList(ZigNode) = .empty;
1271 defer args.deinit(gpa);1288 defer args.deinit(gpa);
12721289
1273 while (true) {1290 const func_params = if (mt.t.getFnProto(node)) |func| func.data.params else &.{};
1274 const arg = try mt.parseCCondExpr(scope);1291 var arg_idx: usize = 0;
1292 while (true) : (arg_idx += 1) {
1293 var arg = try mt.parseCCondExpr(scope);
1294 if (arg_idx < func_params.len) {
1295 if (func_params[arg_idx].type.castTag(.type)) |t| {
1296 if (std.mem.eql(u8, t.data, "bool")) {
1297 // If a C bool function parameter has been
1298 // actually lowered to the Zig bool type,
1299 // we need to cast; likely the parameter in
1300 // the call is still int and will not
1301 // coerce.
1302 const bool_ty = try ZigTag.type.create(mt.t.arena, "bool");
1303 arg = try mt.t.createHelperCallNode(.cast, &.{ bool_ty, arg });
1304 }
1305 }
1306 }
1307
1275 try args.append(gpa, arg);1308 try args.append(gpa, arg);
12761309
1277 const next_id = mt.peek();1310 const next_id = mt.peek();
...@@ -1313,6 +1346,11 @@ fn parseCPostfixExprInner(mt: *MacroTranslator, scope: *Scope, type_name: ?ZigNo...@@ -1313,6 +1346,11 @@ fn parseCPostfixExprInner(mt: *MacroTranslator, scope: *Scope, type_name: ?ZigNo
1313 switch (next_id) {1346 switch (next_id) {
1314 .comma => {1347 .comma => {
1315 mt.i += 1;1348 mt.i += 1;
1349 // Check for trailing comma
1350 if (mt.peek() == .r_brace) {
1351 mt.i += 1;
1352 break;
1353 }
1316 },1354 },
1317 .r_brace => {1355 .r_brace => {
1318 mt.i += 1;1356 mt.i += 1;
...@@ -1340,6 +1378,11 @@ fn parseCPostfixExprInner(mt: *MacroTranslator, scope: *Scope, type_name: ?ZigNo...@@ -1340,6 +1378,11 @@ fn parseCPostfixExprInner(mt: *MacroTranslator, scope: *Scope, type_name: ?ZigNo
1340 switch (next_id) {1378 switch (next_id) {
1341 .comma => {1379 .comma => {
1342 mt.i += 1;1380 mt.i += 1;
1381 // Check for trailing comma
1382 if (mt.peek() == .r_brace) {
1383 mt.i += 1;
1384 break;
1385 }
1343 },1386 },
1344 .r_brace => {1387 .r_brace => {
1345 mt.i += 1;1388 mt.i += 1;
lib/compiler/translate-c/PatternList.zig+3-3
...@@ -11,7 +11,7 @@ const Error = Translator.Error;...@@ -11,7 +11,7 @@ const Error = Translator.Error;
11pub const MacroProcessingError = Error || error{UnexpectedMacroToken};11pub const MacroProcessingError = Error || error{UnexpectedMacroToken};
1212
13const Impl = std.meta.DeclEnum(std.zig.c_translation.helpers);13const Impl = std.meta.DeclEnum(std.zig.c_translation.helpers);
14const Template = struct { []const u8, Impl };14const Template = struct { [:0]const u8, Impl };
1515
16/// Templates must be function-like macros16/// Templates must be function-like macros
17/// first element is macro source, second element is the name of the function17/// first element is macro source, second element is the name of the function
...@@ -167,7 +167,7 @@ pub fn match(pl: PatternList, ms: MacroSlicer) Error!?Impl {...@@ -167,7 +167,7 @@ pub fn match(pl: PatternList, ms: MacroSlicer) Error!?Impl {
167 return null;167 return null;
168}168}
169169
170fn tokenizeMacro(allocator: mem.Allocator, source: []const u8, tok_list: *std.ArrayList(CToken)) Error!MacroSlicer {170fn tokenizeMacro(allocator: mem.Allocator, source: [:0]const u8, tok_list: *std.ArrayList(CToken)) Error!MacroSlicer {
171 var param_count: u32 = 0;171 var param_count: u32 = 0;
172 var param_buf: [8][]const u8 = undefined;172 var param_buf: [8][]const u8 = undefined;
173173
...@@ -238,7 +238,7 @@ test "Macro matching" {...@@ -238,7 +238,7 @@ test "Macro matching" {
238 fn checkMacro(238 fn checkMacro(
239 allocator: mem.Allocator,239 allocator: mem.Allocator,
240 pattern_list: PatternList,240 pattern_list: PatternList,
241 source: []const u8,241 source: [:0]const u8,
242 comptime expected_match: ?Impl,242 comptime expected_match: ?Impl,
243 ) !void {243 ) !void {
244 var tok_list: std.ArrayList(CToken) = .empty;244 var tok_list: std.ArrayList(CToken) = .empty;
lib/compiler/translate-c/Scope.zig+17-7
...@@ -7,7 +7,7 @@ const Translator = @import("Translator.zig");...@@ -7,7 +7,7 @@ const Translator = @import("Translator.zig");
77
8const Scope = @This();8const Scope = @This();
99
10pub const SymbolTable = std.array_hash_map.String(ast.Node);10pub const SymbolTable = std.StringArrayHashMapUnmanaged(ast.Node);
11pub const AliasList = std.ArrayList(struct {11pub const AliasList = std.ArrayList(struct {
12 alias: []const u8,12 alias: []const u8,
13 name: []const u8,13 name: []const u8,
...@@ -18,7 +18,7 @@ pub const ContainerMemberFns = struct {...@@ -18,7 +18,7 @@ pub const ContainerMemberFns = struct {
18 container_decl_ptr: *ast.Node,18 container_decl_ptr: *ast.Node,
19 member_fns: std.ArrayList(*ast.Payload.Func) = .empty,19 member_fns: std.ArrayList(*ast.Payload.Func) = .empty,
20};20};
21pub const ContainerMemberFnsHashMap = std.array_hash_map.Custom(21pub const ContainerMemberFnsHashMap = std.ArrayHashMapUnmanaged(
22 aro.QualType,22 aro.QualType,
23 ContainerMemberFns,23 ContainerMemberFns,
24 struct {24 struct {
...@@ -44,6 +44,7 @@ pub const Id = enum {...@@ -44,6 +44,7 @@ pub const Id = enum {
44 condition,44 condition,
45 loop,45 loop,
46 do_loop,46 do_loop,
47 @"switch",
47};48};
4849
49/// Used for the scope of condition expressions, for example `if (cond)`.50/// Used for the scope of condition expressions, for example `if (cond)`.
...@@ -79,7 +80,7 @@ pub const Block = struct {...@@ -79,7 +80,7 @@ pub const Block = struct {
79 /// will be used. This maps the variable's name to the Discard payload, so that if80 /// will be used. This maps the variable's name to the Discard payload, so that if
80 /// the variable is subsequently referenced we can indicate that the discard should81 /// the variable is subsequently referenced we can indicate that the discard should
81 /// be skipped during the intermediate AST -> Zig AST render step.82 /// be skipped during the intermediate AST -> Zig AST render step.
82 variable_discards: std.array_hash_map.String(*ast.Payload.Discard),83 variable_discards: std.StringArrayHashMapUnmanaged(*ast.Payload.Discard),
8384
84 /// When the block corresponds to a function, keep track of the return type85 /// When the block corresponds to a function, keep track of the return type
85 /// so that the return expression can be cast, if necessary86 /// so that the return expression can be cast, if necessary
...@@ -209,7 +210,7 @@ pub const Root = struct {...@@ -209,7 +210,7 @@ pub const Root = struct {
209 base: Scope,210 base: Scope,
210 translator: *Translator,211 translator: *Translator,
211 sym_table: SymbolTable,212 sym_table: SymbolTable,
212 blank_macros: std.array_hash_map.String(void),213 blank_macros: std.StringArrayHashMapUnmanaged(void),
213 nodes: std.ArrayList(ast.Node),214 nodes: std.ArrayList(ast.Node),
214 container_member_fns_map: ContainerMemberFnsHashMap,215 container_member_fns_map: ContainerMemberFnsHashMap,
215216
...@@ -267,7 +268,7 @@ pub const Root = struct {...@@ -267,7 +268,7 @@ pub const Root = struct {
267 const gpa = root.translator.gpa;268 const gpa = root.translator.gpa;
268 const arena = root.translator.arena;269 const arena = root.translator.arena;
269270
270 var member_names: std.array_hash_map.String(void) = .empty;271 var member_names: std.StringArrayHashMapUnmanaged(void) = .empty;
271 defer member_names.deinit(gpa);272 defer member_names.deinit(gpa);
272 for (root.container_member_fns_map.keys(), root.container_member_fns_map.values()) |container_qt, members| {273 for (root.container_member_fns_map.keys(), root.container_member_fns_map.values()) |container_qt, members| {
273 // Get the container name274 // Get the container name
...@@ -353,6 +354,15 @@ pub const Root = struct {...@@ -353,6 +354,15 @@ pub const Root = struct {
353 }354 }
354};355};
355356
357/// Used for switch scoping because the `break`s should not escape this scope while
358/// still allowing `continue`s to pass. `label_used` is necessary because we only
359/// insert the label when we `break` to it.
360pub const Switch = struct {
361 base: Scope,
362 label: []const u8,
363 label_used: bool = false,
364};
365
356pub fn findBlockScope(inner: *Scope, t: *Translator) !*Block {366pub fn findBlockScope(inner: *Scope, t: *Translator) !*Block {
357 var scope = inner;367 var scope = inner;
358 while (true) {368 while (true) {
...@@ -384,7 +394,7 @@ pub fn getAlias(scope: *Scope, name: []const u8) ?[]const u8 {...@@ -384,7 +394,7 @@ pub fn getAlias(scope: *Scope, name: []const u8) ?[]const u8 {
384 return switch (scope.id) {394 return switch (scope.id) {
385 .root => null,395 .root => null,
386 .block => @as(*Block, @fieldParentPtr("base", scope)).getAlias(name),396 .block => @as(*Block, @fieldParentPtr("base", scope)).getAlias(name),
387 .loop, .do_loop, .condition => scope.parent.?.getAlias(name),397 .loop, .do_loop, .condition, .@"switch" => scope.parent.?.getAlias(name),
388 };398 };
389}399}
390400
...@@ -392,7 +402,7 @@ fn contains(scope: *Scope, name: []const u8) bool {...@@ -392,7 +402,7 @@ fn contains(scope: *Scope, name: []const u8) bool {
392 return switch (scope.id) {402 return switch (scope.id) {
393 .root => @as(*Root, @fieldParentPtr("base", scope)).contains(name),403 .root => @as(*Root, @fieldParentPtr("base", scope)).contains(name),
394 .block => @as(*Block, @fieldParentPtr("base", scope)).contains(name),404 .block => @as(*Block, @fieldParentPtr("base", scope)).contains(name),
395 .loop, .do_loop, .condition => scope.parent.?.contains(name),405 .loop, .do_loop, .condition, .@"switch" => scope.parent.?.contains(name),
396 };406 };
397}407}
398408
lib/compiler/translate-c/Translator.zig+273-194
...@@ -9,6 +9,7 @@ const Tree = aro.Tree;...@@ -9,6 +9,7 @@ const Tree = aro.Tree;
9const Node = Tree.Node;9const Node = Tree.Node;
10const TokenIndex = Tree.TokenIndex;10const TokenIndex = Tree.TokenIndex;
11const QualType = aro.QualType;11const QualType = aro.QualType;
12const Type = aro.TypeStore.Type;
1213
13const ast = @import("ast.zig");14const ast = @import("ast.zig");
14const ZigNode = ast.Node;15const ZigNode = ast.Node;
...@@ -105,8 +106,10 @@ global_scope: *Scope.Root,...@@ -105,8 +106,10 @@ global_scope: *Scope.Root,
105/// Running number used for creating new unique identifiers.106/// Running number used for creating new unique identifiers.
106mangle_count: u32 = 0,107mangle_count: u32 = 0,
107108
108/// Table of declarations for enum, struct, union and typedef types.109/// Typedef decl to translated decl identifier.
109type_decls: std.array_hash_map.Auto(Node.Index, []const u8) = .empty,110typedef_decls: std.AutoArrayHashMapUnmanaged(Node.Index, []const u8) = .empty,
111/// Enum, struct and union type to translated decl identifier.
112container_types: std.AutoArrayHashMapUnmanaged(QualType, []const u8) = .empty,
110/// Table of record decls that have been demoted to opaques.113/// Table of record decls that have been demoted to opaques.
111opaque_demotes: std.HashMapUnmanaged(QualType, void, QualTypeHashContext, std.hash_map.default_max_load_percentage) = .empty,114opaque_demotes: std.HashMapUnmanaged(QualType, void, QualTypeHashContext, std.hash_map.default_max_load_percentage) = .empty,
112/// Table of unnamed enums and records that are child types of typedefs.115/// Table of unnamed enums and records that are child types of typedefs.
...@@ -123,7 +126,7 @@ anonymous_record_field_names: std.HashMapUnmanaged(...@@ -123,7 +126,7 @@ anonymous_record_field_names: std.HashMapUnmanaged(
123/// a list of names that we found by visiting all the top level decls without126/// a list of names that we found by visiting all the top level decls without
124/// translating them. The other maps are updated as we translate; this one is updated127/// translating them. The other maps are updated as we translate; this one is updated
125/// up front in a pre-processing step.128/// up front in a pre-processing step.
126global_names: std.array_hash_map.String(void) = .empty,129global_names: std.StringArrayHashMapUnmanaged(void) = .empty,
127130
128/// This is similar to `global_names`, but contains names which we would131/// This is similar to `global_names`, but contains names which we would
129/// *like* to use, but do not strictly *have* to if they are unavailable.132/// *like* to use, but do not strictly *have* to if they are unavailable.
...@@ -132,11 +135,11 @@ global_names: std.array_hash_map.String(void) = .empty,...@@ -132,11 +135,11 @@ global_names: std.array_hash_map.String(void) = .empty,
132/// may be mangled.135/// may be mangled.
133/// This is distinct from `global_names` so we can detect at a type136/// This is distinct from `global_names` so we can detect at a type
134/// declaration whether or not the name is available.137/// declaration whether or not the name is available.
135weak_global_names: std.array_hash_map.String(void) = .empty,138weak_global_names: std.StringArrayHashMapUnmanaged(void) = .empty,
136139
137/// Set of identifiers known to refer to typedef declarations.140/// Set of identifiers known to refer to typedef declarations.
138/// Used when parsing macros.141/// Used when parsing macros.
139typedefs: std.array_hash_map.String(void) = .empty,142typedefs: std.StringArrayHashMapUnmanaged(void) = .empty,
140143
141/// The lhs lval of a compound assignment expression.144/// The lhs lval of a compound assignment expression.
142compound_assign_dummy: ?ZigNode = null,145compound_assign_dummy: ?ZigNode = null,
...@@ -271,7 +274,8 @@ pub fn translate(options: Options) mem.Allocator.Error![]u8 {...@@ -271,7 +274,8 @@ pub fn translate(options: Options) mem.Allocator.Error![]u8 {
271 };274 };
272 translator.global_scope.* = Scope.Root.init(&translator);275 translator.global_scope.* = Scope.Root.init(&translator);
273 defer {276 defer {
274 translator.type_decls.deinit(gpa);277 translator.typedef_decls.deinit(gpa);
278 translator.container_types.deinit(gpa);
275 translator.alias_list.deinit(gpa);279 translator.alias_list.deinit(gpa);
276 translator.global_names.deinit(gpa);280 translator.global_names.deinit(gpa);
277 translator.weak_global_names.deinit(gpa);281 translator.weak_global_names.deinit(gpa);
...@@ -345,7 +349,7 @@ fn prepopulateGlobalNameTable(t: *Translator) !void {...@@ -345,7 +349,7 @@ fn prepopulateGlobalNameTable(t: *Translator) !void {
345 continue;349 continue;
346 }350 }
347 gop.value_ptr.* = decl_name;351 gop.value_ptr.* = decl_name;
348 try t.type_decls.put(t.gpa, decl, decl_name);352 try t.typedef_decls.put(t.gpa, decl, decl_name);
349 try t.typedefs.put(t.gpa, decl_name, {});353 try t.typedefs.put(t.gpa, decl_name, {});
350 },354 },
351355
...@@ -449,10 +453,14 @@ fn transDecl(t: *Translator, scope: *Scope, decl: Node.Index) !void {...@@ -449,10 +453,14 @@ fn transDecl(t: *Translator, scope: *Scope, decl: Node.Index) !void {
449 => return,453 => return,
450454
451 .function => |function| {455 .function => |function| {
452 if (function.definition) |definition| {456 // If there is going to be a definition later, wait until we reach it before
453 return t.transFnDecl(scope, definition.get(t.tree).function);457 // generating it. This works because Zig has order independent analysis and
458 // is fine with the definition appearing later. However, since C has order
459 // dependent analysis, we cannot safely emit the definition yet, since we
460 // first need to translate any declarations that appear before the definition.
461 if (function.definition == null) {
462 try t.transFnDecl(scope, function, decl);
454 }463 }
455 try t.transFnDecl(scope, function);
456 },464 },
457465
458 .variable => |variable| {466 .variable => |variable| {
...@@ -491,7 +499,7 @@ pub const builtin_typedef_map = std.StaticStringMap([]const u8).initComptime(.{...@@ -491,7 +499,7 @@ pub const builtin_typedef_map = std.StaticStringMap([]const u8).initComptime(.{
491499
492fn transTypeDef(t: *Translator, scope: *Scope, typedef_node: Node.Index) Error!void {500fn transTypeDef(t: *Translator, scope: *Scope, typedef_node: Node.Index) Error!void {
493 const typedef_decl = typedef_node.get(t.tree).typedef;501 const typedef_decl = typedef_node.get(t.tree).typedef;
494 if (t.type_decls.get(typedef_node)) |_|502 if (t.typedef_decls.get(typedef_node)) |_|
495 return; // Avoid processing this decl twice503 return; // Avoid processing this decl twice
496504
497 const toplevel = scope.id == .root;505 const toplevel = scope.id == .root;
...@@ -501,10 +509,10 @@ fn transTypeDef(t: *Translator, scope: *Scope, typedef_node: Node.Index) Error!v...@@ -501,10 +509,10 @@ fn transTypeDef(t: *Translator, scope: *Scope, typedef_node: Node.Index) Error!v
501 try t.typedefs.put(t.gpa, name, {});509 try t.typedefs.put(t.gpa, name, {});
502510
503 if (builtin_typedef_map.get(name)) |builtin| {511 if (builtin_typedef_map.get(name)) |builtin| {
504 return t.type_decls.putNoClobber(t.gpa, typedef_node, builtin);512 return t.typedef_decls.putNoClobber(t.gpa, typedef_node, builtin);
505 }513 }
506 if (!toplevel) name = try bs.makeMangledName(name);514 if (!toplevel) name = try bs.makeMangledName(name);
507 try t.type_decls.putNoClobber(t.gpa, typedef_node, name);515 try t.typedef_decls.putNoClobber(t.gpa, typedef_node, name);
508516
509 const typedef_loc = typedef_decl.name_tok;517 const typedef_loc = typedef_decl.name_tok;
510 const init_node = t.transType(scope, typedef_decl.qt, typedef_loc) catch |err| switch (err) {518 const init_node = t.transType(scope, typedef_decl.qt, typedef_loc) catch |err| switch (err) {
...@@ -549,12 +557,12 @@ fn mangleWeakGlobalName(t: *Translator, want_name: []const u8) Error![]const u8...@@ -549,12 +557,12 @@ fn mangleWeakGlobalName(t: *Translator, want_name: []const u8) Error![]const u8
549557
550fn transRecordDecl(t: *Translator, scope: *Scope, record_qt: QualType) Error!void {558fn transRecordDecl(t: *Translator, scope: *Scope, record_qt: QualType) Error!void {
551 const base = record_qt.base(t.comp);559 const base = record_qt.base(t.comp);
552 const record_ty = switch (base.type) {560 const record_ty: Type.Record = switch (base.type) {
553 .@"struct", .@"union" => |record_ty| record_ty,561 .@"struct", .@"union" => |record_ty| record_ty,
554 else => unreachable,562 else => unreachable,
555 };563 };
556564
557 if (t.type_decls.get(record_ty.decl_node)) |_|565 if (t.container_types.get(base.qt.unqualified())) |_|
558 return; // Avoid processing this decl twice566 return; // Avoid processing this decl twice
559567
560 const toplevel = scope.id == .root;568 const toplevel = scope.id == .root;
...@@ -581,7 +589,7 @@ fn transRecordDecl(t: *Translator, scope: *Scope, record_qt: QualType) Error!voi...@@ -581,7 +589,7 @@ fn transRecordDecl(t: *Translator, scope: *Scope, record_qt: QualType) Error!voi
581 }589 }
582 }590 }
583 if (!toplevel) name = try bs.makeMangledName(name);591 if (!toplevel) name = try bs.makeMangledName(name);
584 try t.type_decls.putNoClobber(t.gpa, record_ty.decl_node, name);592 try t.container_types.putNoClobber(t.gpa, base.qt.unqualified(), name);
585593
586 const is_pub = toplevel and !is_unnamed;594 const is_pub = toplevel and !is_unnamed;
587 const init_node = init: {595 const init_node = init: {
...@@ -597,27 +605,8 @@ fn transRecordDecl(t: *Translator, scope: *Scope, record_qt: QualType) Error!voi...@@ -597,27 +605,8 @@ fn transRecordDecl(t: *Translator, scope: *Scope, record_qt: QualType) Error!voi
597 var functions: std.ArrayList(ZigNode) = .empty;605 var functions: std.ArrayList(ZigNode) = .empty;
598 defer functions.deinit(t.gpa);606 defer functions.deinit(t.gpa);
599607
608 const head_field_alignment = t.headFieldAlignment(record_ty);
600 var unnamed_field_count: u32 = 0;609 var unnamed_field_count: u32 = 0;
601
602 // If a record doesn't have any attributes that would affect the alignment and
603 // layout, then we can just use a simple `extern` type. If it does have attributes,
604 // then we need to inspect the layout and assign an `align` value for each field.
605 const has_alignment_attributes = aligned: {
606 if (record_qt.hasAttribute(t.comp, .@"packed")) break :aligned true;
607 if (record_qt.hasAttribute(t.comp, .aligned)) break :aligned true;
608 for (record_ty.fields) |field| {
609 const field_attrs = field.attributes(t.comp);
610 for (field_attrs) |field_attr| {
611 switch (field_attr.tag) {
612 .@"packed", .aligned => break :aligned true,
613 else => {},
614 }
615 }
616 }
617 break :aligned false;
618 };
619 const head_field_alignment: ?c_uint = if (has_alignment_attributes) t.headFieldAlignment(record_ty) else null;
620
621 for (record_ty.fields, 0..) |field, field_index| {610 for (record_ty.fields, 0..) |field, field_index| {
622 const field_loc = field.name_tok;611 const field_loc = field.name_tok;
623612
...@@ -684,11 +673,6 @@ fn transRecordDecl(t: *Translator, scope: *Scope, record_qt: QualType) Error!voi...@@ -684,11 +673,6 @@ fn transRecordDecl(t: *Translator, scope: *Scope, record_qt: QualType) Error!voi
684 break :init ZigTag.opaque_literal.init();673 break :init ZigTag.opaque_literal.init();
685 }674 }
686675
687 const field_alignment = if (has_alignment_attributes)
688 t.alignmentForField(record_ty, head_field_alignment, field_index)
689 else
690 null;
691
692 // C99 introduced designated initializers for structs. Omitted fields are implicitly676 // C99 introduced designated initializers for structs. Omitted fields are implicitly
693 // initialized to zero. Some C APIs are designed with this in mind. Defaulting to zero677 // initialized to zero. Some C APIs are designed with this in mind. Defaulting to zero
694 // values for translated struct fields permits Zig code to comfortably use such an API.678 // values for translated struct fields permits Zig code to comfortably use such an API.
...@@ -700,7 +684,7 @@ fn transRecordDecl(t: *Translator, scope: *Scope, record_qt: QualType) Error!voi...@@ -700,7 +684,7 @@ fn transRecordDecl(t: *Translator, scope: *Scope, record_qt: QualType) Error!voi
700 fields.appendAssumeCapacity(.{684 fields.appendAssumeCapacity(.{
701 .name = field_name,685 .name = field_name,
702 .type = field_type,686 .type = field_type,
703 .alignment = field_alignment,687 .alignment = t.alignmentForField(record_ty, head_field_alignment, field_index),
704 .default_value = default_value,688 .default_value = default_value,
705 });689 });
706 }690 }
...@@ -761,7 +745,7 @@ fn transRecordDecl(t: *Translator, scope: *Scope, record_qt: QualType) Error!voi...@@ -761,7 +745,7 @@ fn transRecordDecl(t: *Translator, scope: *Scope, record_qt: QualType) Error!voi
761 }745 }
762}746}
763747
764fn transFnDecl(t: *Translator, scope: *Scope, function: Node.Function) Error!void {748fn transFnDecl(t: *Translator, scope: *Scope, function: Node.Function, decl_node: Node.Index) Error!void {
765 const func_ty = function.qt.get(t.comp, .func).?;749 const func_ty = function.qt.get(t.comp, .func).?;
766750
767 const fn_name = t.tree.tokSlice(function.name_tok);751 const fn_name = t.tree.tokSlice(function.name_tok);
...@@ -774,42 +758,38 @@ fn transFnDecl(t: *Translator, scope: *Scope, function: Node.Function) Error!voi...@@ -774,42 +758,38 @@ fn transFnDecl(t: *Translator, scope: *Scope, function: Node.Function) Error!voi
774 try t.warn(scope, function.name_tok, "TODO unable to translate variadic function, demoted to extern", .{});758 try t.warn(scope, function.name_tok, "TODO unable to translate variadic function, demoted to extern", .{});
775 }759 }
776760
777 const is_always_inline = has_body and function.qt.getAttribute(t.comp, .always_inline) != null;761 // TODO actually set with @export/@extern
762 const linkage = t.tree.linkage(decl_node);
763 if (linkage != .strong) {
764 try t.warn(scope, fn_decl_loc, "TODO {s} linkage ignored", .{@tagName(linkage)});
765 }
766
767 const is_always_inline = has_body and t.tree.attr_map.getAttribute(decl_node, .always_inline) != null;
778 const proto_ctx: FnProtoContext = .{768 const proto_ctx: FnProtoContext = .{
779 .fn_name = fn_name,769 .fn_name = fn_name,
780 .is_always_inline = is_always_inline,770 .is_always_inline = is_always_inline,
781 .is_extern = !has_body,771 .is_extern = !has_body,
782 .is_export = !function.static and has_body and !is_always_inline and !function.@"inline",772 .is_export = !function.static and has_body and !is_always_inline and !function.@"inline" and linkage == .strong,
783 .is_pub = scope.id == .root and (!function.static or t.pub_static),773 .is_pub = scope.id == .root and (!function.static or t.pub_static),
784 .has_body = has_body,774 .has_body = has_body,
785 .cc = if (function.qt.getAttribute(t.comp, .calling_convention)) |some| switch (some.cc) {775 .cc = if (is_always_inline) .c else t.transCallingConvention(func_ty.cc) catch
786 .c => .c,776 return t.failDecl(scope, fn_decl_loc, fn_name, "TODO {s}", .{@tagName(func_ty.cc)}),
787 .stdcall => .x86_stdcall,777 .linksection_string = if (t.tree.attr_map.getAttribute(decl_node, .section)) |attr| attr.args.section else null,
788 .thiscall => .x86_thiscall,778 .alignment = t.tree.attr_map.requestedAlignment(decl_node, t.comp) orelse null,
789 .fastcall => .x86_fastcall,779 .noreturn = t.tree.attr_map.hasAttribute(decl_node, .noreturn),
790 .regcall => .x86_regcall,
791 .riscv_vector => .riscv_vector,
792 .aarch64_sve_pcs => .aarch64_sve_pcs,
793 .aarch64_vector_pcs => .aarch64_vfabi,
794 .arm_aapcs => .arm_aapcs,
795 .arm_aapcs_vfp => .arm_aapcs_vfp,
796 .vectorcall => switch (t.comp.target.cpu.arch) {
797 .x86 => .x86_vectorcall,
798 .aarch64, .aarch64_be => .aarch64_vfabi,
799 else => .c,
800 },
801 .x86_64_sysv => .x86_64_sysv,
802 .x86_64_win => .x86_64_win,
803 } else .c,
804 };780 };
805781
806 const proto_node = t.transFnType(&t.global_scope.base, function.qt, func_ty, fn_decl_loc, proto_ctx) catch |err| switch (err) {782 const proto_node = t.transFnType(&t.global_scope.base, func_ty, fn_decl_loc, proto_ctx) catch |err| switch (err) {
807 error.UnsupportedType => {783 error.UnsupportedType => {
808 return t.failDecl(scope, fn_decl_loc, fn_name, "unable to resolve prototype of function", .{});784 return t.failDecl(scope, fn_decl_loc, fn_name, "unable to resolve prototype of function", .{});
809 },785 },
810 error.OutOfMemory => |e| return e,786 error.OutOfMemory => |e| return e,
811 };787 };
812788
789 if (is_always_inline and func_ty.cc != .default) {
790 try t.warn(&t.global_scope.base, fn_decl_loc, "{s} calling convention ignored on inline function", .{@tagName(func_ty.cc)});
791 }
792
813 const proto_payload = proto_node.castTag(.func).?;793 const proto_payload = proto_node.castTag(.func).?;
814 if (!has_body) {794 if (!has_body) {
815 if (scope.id != .root) {795 if (scope.id != .root) {
...@@ -830,7 +810,7 @@ fn transFnDecl(t: *Translator, scope: *Scope, function: Node.Function) Error!voi...@@ -830,7 +810,7 @@ fn transFnDecl(t: *Translator, scope: *Scope, function: Node.Function) Error!voi
830 block_scope.return_type = func_ty.return_type;810 block_scope.return_type = func_ty.return_type;
831 defer block_scope.deinit();811 defer block_scope.deinit();
832812
833 var param_id: c_uint = 0;813 var param_id: u32 = 0;
834 for (proto_payload.data.params, func_ty.params) |*param, param_info| {814 for (proto_payload.data.params, func_ty.params) |*param, param_info| {
835 const param_name = param.name orelse {815 const param_name = param.name orelse {
836 proto_payload.data.is_extern = true;816 proto_payload.data.is_extern = true;
...@@ -894,10 +874,10 @@ fn transVarDecl(t: *Translator, scope: *Scope, variable: Node.Variable, decl_nod...@@ -894,10 +874,10 @@ fn transVarDecl(t: *Translator, scope: *Scope, variable: Node.Variable, decl_nod
894 };874 };
895875
896 if (t.typeWasDemotedToOpaque(variable.qt)) {876 if (t.typeWasDemotedToOpaque(variable.qt)) {
897 if (variable.storage_class != .@"extern" and scope.id == .root) {877 switch (scope.id) {
898 return t.failDecl(scope, variable.name_tok, name, "non-extern variable has opaque type", .{});878 .root => if (variable.storage_class != .@"extern")
899 } else {879 return t.failDecl(scope, variable.name_tok, name, "non-extern variable has opaque type", .{}),
900 return t.failDecl(scope, variable.name_tok, name, "local variable has opaque type", .{});880 else => return t.failDecl(scope, variable.name_tok, name, "local variable has opaque type", .{}),
901 }881 }
902 }882 }
903883
...@@ -964,20 +944,14 @@ fn transVarDecl(t: *Translator, scope: *Scope, variable: Node.Variable, decl_nod...@@ -964,20 +944,14 @@ fn transVarDecl(t: *Translator, scope: *Scope, variable: Node.Variable, decl_nod
964 break :init ZigTag.undefined_literal.init();944 break :init ZigTag.undefined_literal.init();
965 };945 };
966946
967 const linksection_string = blk: {947 const linksection_string = if (t.tree.attr_map.getAttribute(decl_node, .section)) |attr| attr.args.section else null;
968 if (variable.qt.getAttribute(t.comp, .section)) |section| {
969 break :blk t.comp.interner.get(section.name.ref()).bytes;
970 }
971 break :blk null;
972 };
973948
974 // TODO actually set with @export/@extern949 // TODO actually set with @export/@extern
975 const linkage = variable.qt.linkage(t.comp);950 const linkage = t.tree.linkage(decl_node);
976 if (linkage != .strong) {951 if (linkage != .strong) {
977 try t.warn(scope, variable.name_tok, "TODO {s} linkage ignored", .{@tagName(linkage)});952 try t.warn(scope, variable.name_tok, "TODO {s} linkage ignored", .{@tagName(linkage)});
978 }953 }
979954
980 const alignment: ?c_uint = variable.qt.requestedAlignment(t.comp) orelse null;
981 var node = try ZigTag.var_decl.create(t.arena, .{955 var node = try ZigTag.var_decl.create(t.arena, .{
982 .is_pub = toplevel,956 .is_pub = toplevel,
983 .is_const = is_const and !self_referential,957 .is_const = is_const and !self_referential,
...@@ -985,7 +959,7 @@ fn transVarDecl(t: *Translator, scope: *Scope, variable: Node.Variable, decl_nod...@@ -985,7 +959,7 @@ fn transVarDecl(t: *Translator, scope: *Scope, variable: Node.Variable, decl_nod
985 .is_export = toplevel and variable.storage_class == .auto and linkage == .strong,959 .is_export = toplevel and variable.storage_class == .auto and linkage == .strong,
986 .is_threadlocal = variable.thread_local,960 .is_threadlocal = variable.thread_local,
987 .linksection_string = linksection_string,961 .linksection_string = linksection_string,
988 .alignment = alignment,962 .alignment = t.tree.attr_map.requestedAlignment(decl_node, t.comp) orelse null,
989 .name = if (use_base_name) base_name else name,963 .name = if (use_base_name) base_name else name,
990 .type = type_node,964 .type = type_node,
991 .init = init_node,965 .init = init_node,
...@@ -1015,8 +989,9 @@ fn transVarDecl(t: *Translator, scope: *Scope, variable: Node.Variable, decl_nod...@@ -1015,8 +989,9 @@ fn transVarDecl(t: *Translator, scope: *Scope, variable: Node.Variable, decl_nod
1015 }989 }
1016 try bs.discardVariable(name);990 try bs.discardVariable(name);
1017991
1018 if (variable.qt.getAttribute(t.comp, .cleanup)) |cleanup_attr| {992 if (t.tree.attr_map.getAttribute(decl_node, .cleanup)) |attr| {
1019 const cleanup_fn_name = t.tree.tokSlice(cleanup_attr.function.tok);993 const cleanup_func = attr.args.cleanup.function;
994 const cleanup_fn_name = t.tree.tokSlice(cleanup_func.tok(t.tree));
1020 const mangled_fn_name = scope.getAlias(cleanup_fn_name) orelse cleanup_fn_name;995 const mangled_fn_name = scope.getAlias(cleanup_fn_name) orelse cleanup_fn_name;
1021 const fn_id = try ZigTag.identifier.create(t.arena, mangled_fn_name);996 const fn_id = try ZigTag.identifier.create(t.arena, mangled_fn_name);
1022997
...@@ -1037,7 +1012,7 @@ fn transEnumDecl(t: *Translator, scope: *Scope, enum_qt: QualType) Error!void {...@@ -1037,7 +1012,7 @@ fn transEnumDecl(t: *Translator, scope: *Scope, enum_qt: QualType) Error!void {
1037 const base = enum_qt.base(t.comp);1012 const base = enum_qt.base(t.comp);
1038 const enum_ty = base.type.@"enum";1013 const enum_ty = base.type.@"enum";
10391014
1040 if (t.type_decls.get(enum_ty.decl_node)) |_|1015 if (t.container_types.get(base.qt.unqualified())) |_|
1041 return; // Avoid processing this decl twice1016 return; // Avoid processing this decl twice
10421017
1043 const toplevel = scope.id == .root;1018 const toplevel = scope.id == .root;
...@@ -1057,7 +1032,7 @@ fn transEnumDecl(t: *Translator, scope: *Scope, enum_qt: QualType) Error!void {...@@ -1057,7 +1032,7 @@ fn transEnumDecl(t: *Translator, scope: *Scope, enum_qt: QualType) Error!void {
1057 name = try std.fmt.allocPrint(t.arena, "enum_{s}", .{bare_name});1032 name = try std.fmt.allocPrint(t.arena, "enum_{s}", .{bare_name});
1058 }1033 }
1059 if (!toplevel) name = try bs.makeMangledName(name);1034 if (!toplevel) name = try bs.makeMangledName(name);
1060 try t.type_decls.putNoClobber(t.gpa, enum_ty.decl_node, name);1035 try t.container_types.putNoClobber(t.gpa, base.qt.unqualified(), name);
10611036
1062 const enum_type_node = if (!base.qt.hasIncompleteSize(t.comp)) blk: {1037 const enum_type_node = if (!base.qt.hasIncompleteSize(t.comp)) blk: {
1063 const enum_decl = enum_ty.decl_node.get(t.tree).enum_decl;1038 const enum_decl = enum_ty.decl_node.get(t.tree).enum_decl;
...@@ -1137,10 +1112,9 @@ fn transStaticAssert(t: *Translator, scope: *Scope, static_assert: Node.StaticAs...@@ -1137,10 +1112,9 @@ fn transStaticAssert(t: *Translator, scope: *Scope, static_assert: Node.StaticAs
1137 var allocating: std.Io.Writer.Allocating = .init(t.gpa);1112 var allocating: std.Io.Writer.Allocating = .init(t.gpa);
1138 defer allocating.deinit();1113 defer allocating.deinit();
11391114
1140 allocating.writer.writeAll("\"static assertion failed \\") catch return error.OutOfMemory;1115 allocating.writer.writeAll("\"static assertion failed \\\"") catch return error.OutOfMemory;
11411116
1142 aro.Value.printString(bytes, str_qt, t.comp, &allocating.writer) catch return error.OutOfMemory;1117 aro.Value.printString(bytes, str_qt, t.comp, &allocating.writer, .bare) catch return error.OutOfMemory;
1143 allocating.writer.end -= 1; // printString adds a terminating " so we need to remove it
1144 allocating.writer.writeAll("\\\"\"") catch return error.OutOfMemory;1118 allocating.writer.writeAll("\\\"\"") catch return error.OutOfMemory;
11451119
1146 break :str try ZigTag.string_literal.create(t.arena, try t.arena.dupe(u8, allocating.written()));1120 break :str try ZigTag.string_literal.create(t.arena, try t.arena.dupe(u8, allocating.written()));
...@@ -1156,7 +1130,7 @@ fn transGlobalAsm(t: *Translator, scope: *Scope, global_asm: Node.GlobalAsm) Err...@@ -1156,7 +1130,7 @@ fn transGlobalAsm(t: *Translator, scope: *Scope, global_asm: Node.GlobalAsm) Err
11561130
1157 var allocating: std.Io.Writer.Allocating = try .initCapacity(t.gpa, bytes.len);1131 var allocating: std.Io.Writer.Allocating = try .initCapacity(t.gpa, bytes.len);
1158 defer allocating.deinit();1132 defer allocating.deinit();
1159 aro.Value.printString(bytes, global_asm.asm_str.qt(t.tree), t.comp, &allocating.writer) catch return error.OutOfMemory;1133 aro.Value.printString(bytes, global_asm.asm_str.qt(t.tree), t.comp, &allocating.writer, .quoted) catch return error.OutOfMemory;
11601134
1161 const str_node = try ZigTag.string_literal.create(t.arena, try t.arena.dupe(u8, allocating.written()));1135 const str_node = try ZigTag.string_literal.create(t.arena, try t.arena.dupe(u8, allocating.written()));
11621136
...@@ -1179,7 +1153,7 @@ fn getTypeStr(t: *Translator, qt: QualType) ![]const u8 {...@@ -1179,7 +1153,7 @@ fn getTypeStr(t: *Translator, qt: QualType) ![]const u8 {
1179}1153}
11801154
1181fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex) TypeError!ZigNode {1155fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex) TypeError!ZigNode {
1182 loop: switch (qt.type(t.comp)) {1156 switch (qt.type(t.comp)) {
1183 .atomic => {1157 .atomic => {
1184 const type_name = try t.getTypeStr(qt);1158 const type_name = try t.getTypeStr(qt);
1185 return t.fail(error.UnsupportedType, source_loc, "TODO support atomic type: '{s}'", .{type_name});1159 return t.fail(error.UnsupportedType, source_loc, "TODO support atomic type: '{s}'", .{type_name});
...@@ -1201,6 +1175,8 @@ fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex...@@ -1201,6 +1175,8 @@ fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex
1201 .ulong_long => return ZigTag.type.create(t.arena, "c_ulonglong"),1175 .ulong_long => return ZigTag.type.create(t.arena, "c_ulonglong"),
1202 .int128 => return ZigTag.type.create(t.arena, "i128"),1176 .int128 => return ZigTag.type.create(t.arena, "i128"),
1203 .uint128 => return ZigTag.type.create(t.arena, "u128"),1177 .uint128 => return ZigTag.type.create(t.arena, "u128"),
1178 .int24 => return ZigTag.type.create(t.arena, "i24"),
1179 .uint24 => return ZigTag.type.create(t.arena, "u24"),
1204 },1180 },
1205 .float => |float_ty| switch (float_ty) {1181 .float => |float_ty| switch (float_ty) {
1206 .fp16, .float16 => return ZigTag.type.create(t.arena, "f16"),1182 .fp16, .float16 => return ZigTag.type.create(t.arena, "f16"),
...@@ -1258,14 +1234,18 @@ fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex...@@ -1258,14 +1234,18 @@ fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex
1258 .variable => return t.fail(error.UnsupportedType, source_loc, "VLA unsupported '{s}'", .{try t.getTypeStr(qt)}),1234 .variable => return t.fail(error.UnsupportedType, source_loc, "VLA unsupported '{s}'", .{try t.getTypeStr(qt)}),
1259 }1235 }
1260 },1236 },
1261 .func => |func_ty| return t.transFnType(scope, qt, func_ty, source_loc, .{}),1237 .func => |func_ty| {
1238 return t.transFnType(scope, func_ty, source_loc, .{
1239 .cc = t.transCallingConvention(func_ty.cc) catch return t.fail(error.UnsupportedType, source_loc, "TODO {s}", .{@tagName(func_ty.cc)}),
1240 });
1241 },
1262 .@"struct", .@"union" => |record_ty| {1242 .@"struct", .@"union" => |record_ty| {
1263 var trans_scope = scope;1243 var trans_scope = scope;
1264 if (!record_ty.isAnonymous(t.comp)) {1244 if (!record_ty.isAnonymous(t.comp)) {
1265 if (t.weak_global_names.contains(record_ty.name.lookup(t.comp))) trans_scope = &t.global_scope.base;1245 if (t.weak_global_names.contains(record_ty.name.lookup(t.comp))) trans_scope = &t.global_scope.base;
1266 }1246 }
1267 try t.transRecordDecl(trans_scope, qt);1247 try t.transRecordDecl(trans_scope, qt);
1268 const name = t.type_decls.get(record_ty.decl_node).?;1248 const name = t.container_types.get(qt.unqualified()).?;
1269 return ZigTag.identifier.create(t.arena, name);1249 return ZigTag.identifier.create(t.arena, name);
1270 },1250 },
1271 .@"enum" => |enum_ty| {1251 .@"enum" => |enum_ty| {
...@@ -1275,7 +1255,7 @@ fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex...@@ -1275,7 +1255,7 @@ fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex
1275 if (t.weak_global_names.contains(enum_ty.name.lookup(t.comp))) trans_scope = &t.global_scope.base;1255 if (t.weak_global_names.contains(enum_ty.name.lookup(t.comp))) trans_scope = &t.global_scope.base;
1276 }1256 }
1277 try t.transEnumDecl(trans_scope, qt);1257 try t.transEnumDecl(trans_scope, qt);
1278 const name = t.type_decls.get(enum_ty.decl_node).?;1258 const name = t.container_types.get(qt.unqualified()).?;
1279 return ZigTag.identifier.create(t.arena, name);1259 return ZigTag.identifier.create(t.arena, name);
1280 },1260 },
1281 .typedef => |typedef_ty| {1261 .typedef => |typedef_ty| {
...@@ -1285,10 +1265,9 @@ fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex...@@ -1285,10 +1265,9 @@ fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex
1285 if (t.global_names.contains(typedef_name)) trans_scope = &t.global_scope.base;1265 if (t.global_names.contains(typedef_name)) trans_scope = &t.global_scope.base;
12861266
1287 try t.transTypeDef(trans_scope, typedef_ty.decl_node);1267 try t.transTypeDef(trans_scope, typedef_ty.decl_node);
1288 const name = t.type_decls.get(typedef_ty.decl_node).?;1268 const name = t.typedef_decls.get(typedef_ty.decl_node).?;
1289 return ZigTag.identifier.create(t.arena, name);1269 return ZigTag.identifier.create(t.arena, name);
1290 },1270 },
1291 .attributed => |attributed_ty| continue :loop attributed_ty.base.type(t.comp),
1292 .typeof => |typeof_ty| {1271 .typeof => |typeof_ty| {
1293 if (typeof_ty.expr) |expr| {1272 if (typeof_ty.expr) |expr| {
1294 if (t.transExpr(scope, expr, .used)) |node| {1273 if (t.transExpr(scope, expr, .used)) |node| {
...@@ -1297,10 +1276,10 @@ fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex...@@ -1297,10 +1276,10 @@ fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex
1297 error.SelfReferential => {},1276 error.SelfReferential => {},
1298 error.UnsupportedTranslation => {},1277 error.UnsupportedTranslation => {},
1299 error.UnsupportedType => {},1278 error.UnsupportedType => {},
1300 error.OutOfMemory => |e| return e,1279 error.OutOfMemory => return error.OutOfMemory,
1301 }1280 }
1302 }1281 }
1303 continue :loop typeof_ty.base.type(t.comp);1282 return t.transType(scope, typeof_ty.base, source_loc);
1304 },1283 },
1305 .vector => |vector_ty| {1284 .vector => |vector_ty| {
1306 const len = try t.createNumberNode(vector_ty.len);1285 const len = try t.createNumberNode(vector_ty.len);
...@@ -1316,7 +1295,7 @@ fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex...@@ -1316,7 +1295,7 @@ fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex
1316/// the fields with 0 offset need an `align` qualifier. Strictly speaking, we could just1295/// the fields with 0 offset need an `align` qualifier. Strictly speaking, we could just
1317/// pedantically assign those fields the same alignment as the parent's pointer alignment,1296/// pedantically assign those fields the same alignment as the parent's pointer alignment,
1318/// but this helps the generated code to be a little less verbose.1297/// but this helps the generated code to be a little less verbose.
1319fn headFieldAlignment(t: *Translator, record_decl: aro.Type.Record) ?c_uint {1298fn headFieldAlignment(t: *Translator, record_decl: aro.Type.Record) ?u32 {
1320 const bits_per_byte = 8;1299 const bits_per_byte = 8;
1321 const parent_ptr_alignment_bits = record_decl.layout.?.pointer_alignment_bits;1300 const parent_ptr_alignment_bits = record_decl.layout.?.pointer_alignment_bits;
1322 const parent_ptr_alignment = parent_ptr_alignment_bits / bits_per_byte;1301 const parent_ptr_alignment = parent_ptr_alignment_bits / bits_per_byte;
...@@ -1335,19 +1314,11 @@ fn headFieldAlignment(t: *Translator, record_decl: aro.Type.Record) ?c_uint {...@@ -1335,19 +1314,11 @@ fn headFieldAlignment(t: *Translator, record_decl: aro.Type.Record) ?c_uint {
1335/// required to fulfill the requested alignment, which means we'd risk generating different code1314/// required to fulfill the requested alignment, which means we'd risk generating different code
1336/// if we only look at the user-requested alignment.1315/// if we only look at the user-requested alignment.
1337///1316///
1338/// Returns a ?c_uint to match Clang's behavior of using c_uint. The return type can be changed1317/// A null value indicates that a field is 'naturally aligned'.
1339/// after the Clang frontend for translate-c is removed. A null value indicates that a field is1318fn alignmentForField(t: *Translator, record_decl: aro.Type.Record, head_field_alignment: ?u32, field_index: usize) ?u32 {
1340/// 'naturally aligned'.
1341fn alignmentForField(
1342 t: *Translator,
1343 record_decl: aro.Type.Record,
1344 head_field_alignment: ?c_uint,
1345 field_index: usize,
1346) ?c_uint {
1347 const fields = record_decl.fields;1319 const fields = record_decl.fields;
1348 assert(fields.len != 0);1320 assert(fields.len != 0);
1349 const field = fields[field_index];1321 const field = fields[field_index];
1350
1351 const bits_per_byte = 8;1322 const bits_per_byte = 8;
1352 const parent_ptr_alignment_bits = record_decl.layout.?.pointer_alignment_bits;1323 const parent_ptr_alignment_bits = record_decl.layout.?.pointer_alignment_bits;
1353 const parent_ptr_alignment = parent_ptr_alignment_bits / bits_per_byte;1324 const parent_ptr_alignment = parent_ptr_alignment_bits / bits_per_byte;
...@@ -1359,10 +1330,9 @@ fn alignmentForField(...@@ -1359,10 +1330,9 @@ fn alignmentForField(
1359 }1330 }
13601331
1361 const field_offset_bits: u64 = field.layout.offset_bits;1332 const field_offset_bits: u64 = field.layout.offset_bits;
1362 const field_size_bits: u64 = field.layout.size_bits;
13631333
1364 // Fields with zero width always have an alignment of 11334 // Union and struct fields with zero width always have an alignment of 1
1365 if (field_size_bits == 0) {1335 if (field.layout.size_bits == 0 and field.qt.getRecord(t.comp) != null) {
1366 return 1;1336 return 1;
1367 }1337 }
13681338
...@@ -1383,7 +1353,7 @@ fn alignmentForField(...@@ -1383,7 +1353,7 @@ fn alignmentForField(
1383 const rem_alignment = rem_bits / bits_per_byte;1353 const rem_alignment = rem_bits / bits_per_byte;
1384 if (rem_alignment > 0 and std.math.isPowerOfTwo(rem_alignment)) {1354 if (rem_alignment > 0 and std.math.isPowerOfTwo(rem_alignment)) {
1385 const actual_alignment = @min(rem_alignment, parent_ptr_alignment);1355 const actual_alignment = @min(rem_alignment, parent_ptr_alignment);
1386 return @as(c_uint, @truncate(actual_alignment));1356 return @truncate(actual_alignment);
1387 } else {1357 } else {
1388 return 1;1358 return 1;
1389 }1359 }
...@@ -1426,6 +1396,38 @@ fn alignmentForField(...@@ -1426,6 +1396,38 @@ fn alignmentForField(
1426 }1396 }
1427}1397}
14281398
1399fn transCallingConvention(t: *Translator, cc: aro.Type.Func.CallingConvention) !ast.Payload.Func.CallingConvention {
1400 return switch (cc) {
1401 .default, .cdecl => .c,
1402 .stdcall => .x86_stdcall,
1403 .thiscall => .x86_thiscall,
1404 .fastcall => .x86_fastcall,
1405 .regcall => .x86_regcall,
1406 .riscv_vector_cc => switch (t.comp.target.cpu.arch) {
1407 .riscv32, .riscv32be => .riscv32_ilp32_v,
1408 .riscv64, .riscv64be => .riscv64_lp64_v,
1409 else => unreachable,
1410 },
1411 .riscv_vls_cc => return error.UnsupportedCallingConvention,
1412 .aarch64_sve_pcs => .aarch64_sve_pcs,
1413 .aarch64_vector_pcs => .aarch64_vfabi,
1414 .arm_aapcs => .arm_aapcs,
1415 .arm_aapcs_vfp => .arm_aapcs_vfp,
1416 .vectorcall => switch (t.comp.target.cpu.arch) {
1417 .x86 => .x86_vectorcall,
1418 .x86_64 => .x86_64_vectorcall,
1419 .aarch64, .aarch64_be => .aarch64_vfabi,
1420 else => .c,
1421 },
1422 .ms_abi => switch (t.comp.target.cpu.arch) {
1423 .x86_64 => .x86_64_win,
1424 .aarch64, .aarch64_be => .aarch64_aapcs_win,
1425 else => .c,
1426 },
1427 .sysv_abi => .x86_64_sysv,
1428 };
1429}
1430
1429const FnProtoContext = struct {1431const FnProtoContext = struct {
1430 is_pub: bool = false,1432 is_pub: bool = false,
1431 is_export: bool = false,1433 is_export: bool = false,
...@@ -1434,12 +1436,14 @@ const FnProtoContext = struct {...@@ -1434,12 +1436,14 @@ const FnProtoContext = struct {
1434 fn_name: ?[]const u8 = null,1436 fn_name: ?[]const u8 = null,
1435 has_body: bool = false,1437 has_body: bool = false,
1436 cc: ast.Payload.Func.CallingConvention = .c,1438 cc: ast.Payload.Func.CallingConvention = .c,
1439 alignment: ?u32 = null,
1440 noreturn: bool = false,
1441 linksection_string: ?[]const u8 = null,
1437};1442};
14381443
1439fn transFnType(1444fn transFnType(
1440 t: *Translator,1445 t: *Translator,
1441 scope: *Scope,1446 scope: *Scope,
1442 func_qt: QualType,
1443 func_ty: aro.Type.Func,1447 func_ty: aro.Type.Func,
1444 source_loc: TokenIndex,1448 source_loc: TokenIndex,
1445 ctx: FnProtoContext,1449 ctx: FnProtoContext,
...@@ -1464,19 +1468,10 @@ fn transFnType(...@@ -1464,19 +1468,10 @@ fn transFnType(
1464 };1468 };
1465 }1469 }
14661470
1467 const linksection_string = blk: {
1468 if (func_qt.getAttribute(t.comp, .section)) |section| {
1469 break :blk t.comp.interner.get(section.name.ref()).bytes;
1470 }
1471 break :blk null;
1472 };
1473
1474 const alignment: ?c_uint = func_qt.requestedAlignment(t.comp) orelse null;
1475
1476 const explicit_callconv = if ((ctx.is_always_inline or ctx.is_export or ctx.is_extern) and ctx.cc == .c) null else ctx.cc;1471 const explicit_callconv = if ((ctx.is_always_inline or ctx.is_export or ctx.is_extern) and ctx.cc == .c) null else ctx.cc;
14771472
1478 const return_type_node = blk: {1473 const return_type_node = blk: {
1479 if (func_qt.getAttribute(t.comp, .noreturn) != null) {1474 if (ctx.noreturn) {
1480 break :blk ZigTag.noreturn_type.init();1475 break :blk ZigTag.noreturn_type.init();
1481 } else {1476 } else {
1482 const return_qt = func_ty.return_type;1477 const return_qt = func_ty.return_type;
...@@ -1495,19 +1490,13 @@ fn transFnType(...@@ -1495,19 +1490,13 @@ fn transFnType(
1495 }1490 }
1496 };1491 };
14971492
1498 // TODO actually set with @export/@extern
1499 const linkage = func_qt.linkage(t.comp);
1500 if (linkage != .strong) {
1501 try t.warn(scope, source_loc, "TODO {s} linkage ignored", .{@tagName(linkage)});
1502 }
1503
1504 const payload = try t.arena.create(ast.Payload.Func);1493 const payload = try t.arena.create(ast.Payload.Func);
1505 payload.* = .{1494 payload.* = .{
1506 .base = .{ .tag = .func },1495 .base = .{ .tag = .func },
1507 .data = .{1496 .data = .{
1508 .is_pub = ctx.is_pub,1497 .is_pub = ctx.is_pub,
1509 .is_extern = ctx.is_extern,1498 .is_extern = ctx.is_extern,
1510 .is_export = ctx.is_export and linkage == .strong,1499 .is_export = ctx.is_export,
1511 .is_inline = ctx.is_always_inline,1500 .is_inline = ctx.is_always_inline,
1512 .is_var_args = switch (func_ty.kind) {1501 .is_var_args = switch (func_ty.kind) {
1513 .normal => false,1502 .normal => false,
...@@ -1518,12 +1507,12 @@ fn transFnType(...@@ -1518,12 +1507,12 @@ fn transFnType(
1518 !ctx.is_export and !ctx.is_always_inline and !ctx.has_body,1507 !ctx.is_export and !ctx.is_always_inline and !ctx.has_body,
1519 },1508 },
1520 .name = ctx.fn_name,1509 .name = ctx.fn_name,
1521 .linksection_string = linksection_string,1510 .linksection_string = ctx.linksection_string,
1522 .explicit_callconv = explicit_callconv,1511 .explicit_callconv = explicit_callconv,
1523 .params = fn_params,1512 .params = fn_params,
1524 .return_type = return_type_node,1513 .return_type = return_type_node,
1525 .body = null,1514 .body = null,
1526 .alignment = alignment,1515 .alignment = ctx.alignment,
1527 },1516 },
1528 };1517 };
1529 return ZigNode.initPayload(&payload.base);1518 return ZigNode.initPayload(&payload.base);
...@@ -1540,6 +1529,7 @@ fn transTypeIntWidthOf(t: *Translator, qt: QualType, is_signed: bool) TypeError!...@@ -1540,6 +1529,7 @@ fn transTypeIntWidthOf(t: *Translator, qt: QualType, is_signed: bool) TypeError!
1540 .long, .ulong => if (is_signed) "c_long" else "c_ulong",1529 .long, .ulong => if (is_signed) "c_long" else "c_ulong",
1541 .long_long, .ulong_long => if (is_signed) "c_longlong" else "c_ulonglong",1530 .long_long, .ulong_long => if (is_signed) "c_longlong" else "c_ulonglong",
1542 .int128, .uint128 => if (is_signed) "i128" else "u128",1531 .int128, .uint128 => if (is_signed) "i128" else "u128",
1532 .int24, .uint24 => if (is_signed) "i24" else "u24",
1543 },1533 },
1544 .bit_int => |bit_int_ty| try std.fmt.allocPrint(t.arena, "{s}{d}", .{1534 .bit_int => |bit_int_ty| try std.fmt.allocPrint(t.arena, "{s}{d}", .{
1545 if (is_signed) "i" else "u",1535 if (is_signed) "i" else "u",
...@@ -1621,8 +1611,8 @@ fn signedness(t: *Translator, qt: QualType) ?std.builtin.Signedness {...@@ -1621,8 +1611,8 @@ fn signedness(t: *Translator, qt: QualType) ?std.builtin.Signedness {
1621 .bit_int => |bit_int| bit_int.signedness,1611 .bit_int => |bit_int| bit_int.signedness,
1622 .int => |int_ty| switch (int_ty) {1612 .int => |int_ty| switch (int_ty) {
1623 .char => .unsigned, // Always translated as u81613 .char => .unsigned, // Always translated as u8
1624 .schar, .short, .int, .long, .long_long, .int128 => .signed,1614 .schar, .short, .int, .long, .long_long, .int128, .int24 => .signed,
1625 .uchar, .ushort, .uint, .ulong, .ulong_long, .uint128 => .unsigned,1615 .uchar, .ushort, .uint, .ulong, .ulong_long, .uint128, .uint24 => .unsigned,
1626 },1616 },
1627 .@"enum" => |enum_ty| {1617 .@"enum" => |enum_ty| {
1628 const tag_qt = enum_ty.tag orelse return .signed;1618 const tag_qt = enum_ty.tag orelse return .signed;
...@@ -1652,7 +1642,7 @@ fn transStmt(t: *Translator, scope: *Scope, stmt: Node.Index) TransError!ZigNode...@@ -1652,7 +1642,7 @@ fn transStmt(t: *Translator, scope: *Scope, stmt: Node.Index) TransError!ZigNode
1652 .do_while_stmt => |do_while_stmt| return t.transDoWhileStmt(scope, do_while_stmt),1642 .do_while_stmt => |do_while_stmt| return t.transDoWhileStmt(scope, do_while_stmt),
1653 .for_stmt => |for_stmt| return t.transForStmt(scope, for_stmt),1643 .for_stmt => |for_stmt| return t.transForStmt(scope, for_stmt),
1654 .continue_stmt => return ZigTag.@"continue".init(),1644 .continue_stmt => return ZigTag.@"continue".init(),
1655 .break_stmt => return ZigTag.@"break".init(),1645 .break_stmt => return t.transBreakStmt(scope),
1656 .typedef => |typedef_decl| {1646 .typedef => |typedef_decl| {
1657 assert(!typedef_decl.implicit);1647 assert(!typedef_decl.implicit);
1658 try t.transTypeDef(scope, stmt);1648 try t.transTypeDef(scope, stmt);
...@@ -1681,7 +1671,7 @@ fn transStmt(t: *Translator, scope: *Scope, stmt: Node.Index) TransError!ZigNode...@@ -1681,7 +1671,7 @@ fn transStmt(t: *Translator, scope: *Scope, stmt: Node.Index) TransError!ZigNode
1681 return ZigTag.declaration.init();1671 return ZigTag.declaration.init();
1682 },1672 },
1683 .function => |function| {1673 .function => |function| {
1684 try t.transFnDecl(scope, function);1674 try t.transFnDecl(scope, function, stmt);
1685 return ZigTag.declaration.init();1675 return ZigTag.declaration.init();
1686 },1676 },
1687 .variable => |variable| {1677 .variable => |variable| {
...@@ -1698,6 +1688,16 @@ fn transStmt(t: *Translator, scope: *Scope, stmt: Node.Index) TransError!ZigNode...@@ -1698,6 +1688,16 @@ fn transStmt(t: *Translator, scope: *Scope, stmt: Node.Index) TransError!ZigNode
1698 .asm_stmt => {1688 .asm_stmt => {
1699 return t.fail(error.UnsupportedTranslation, stmt.tok(t.tree), "TODO asm stmt", .{});1689 return t.fail(error.UnsupportedTranslation, stmt.tok(t.tree), "TODO asm stmt", .{});
1700 },1690 },
1691 .codegen_diagnostic => {
1692 // Could be translated as `if (true) @compileError(...)`, ignore for now.
1693 return t.fail(error.UnsupportedTranslation, stmt.tok(t.tree), "TODO codegen diagnostic", .{});
1694 },
1695 .decl_stmt => |decl_stmt| {
1696 for (decl_stmt.decls) |decl| {
1697 _ = try t.transStmt(scope, decl);
1698 }
1699 return ZigTag.declaration.init();
1700 },
1701 else => return t.transExprCoercing(scope, stmt, .unused),1701 else => return t.transExprCoercing(scope, stmt, .unused),
1702 }1702 }
1703}1703}
...@@ -1836,7 +1836,7 @@ fn transDoWhileStmt(t: *Translator, scope: *Scope, do_stmt: Node.DoWhileStmt) Tr...@@ -1836,7 +1836,7 @@ fn transDoWhileStmt(t: *Translator, scope: *Scope, do_stmt: Node.DoWhileStmt) Tr
1836 const cond = try t.transBoolExpr(&cond_scope.base, do_stmt.cond);1836 const cond = try t.transBoolExpr(&cond_scope.base, do_stmt.cond);
1837 const if_not_break = switch (cond.tag()) {1837 const if_not_break = switch (cond.tag()) {
1838 .true_literal => {1838 .true_literal => {
1839 const body_node = try t.maybeBlockify(scope, do_stmt.body);1839 const body_node = try t.maybeBlockify(&loop_scope, do_stmt.body);
1840 return ZigTag.while_true.create(t.arena, body_node);1840 return ZigTag.while_true.create(t.arena, body_node);
1841 },1841 },
1842 else => try ZigTag.if_not_break.create(t.arena, cond),1842 else => try ZigTag.if_not_break.create(t.arena, cond),
...@@ -1886,21 +1886,13 @@ fn transForStmt(t: *Translator, scope: *Scope, for_stmt: Node.ForStmt) TransErro...@@ -1886,21 +1886,13 @@ fn transForStmt(t: *Translator, scope: *Scope, for_stmt: Node.ForStmt) TransErro
1886 var block_scope: ?Scope.Block = null;1886 var block_scope: ?Scope.Block = null;
1887 defer if (block_scope) |*bs| bs.deinit();1887 defer if (block_scope) |*bs| bs.deinit();
18881888
1889 switch (for_stmt.init) {1889 if (for_stmt.init) |init| {
1890 .decls => |decls| {1890 block_scope = try Scope.Block.init(t, scope, false);
1891 block_scope = try Scope.Block.init(t, scope, false);1891 loop_scope.parent = &block_scope.?.base;
1892 loop_scope.parent = &block_scope.?.base;1892 const init_node = try t.transStmt(&block_scope.?.base, init);
1893 for (decls) |decl| {1893 if (init_node.tag() != .declaration) try loop_scope.appendNode(init_node);
1894 try t.transDecl(&block_scope.?.base, decl);
1895 }
1896 },
1897 .expr => |maybe_init| if (maybe_init) |init| {
1898 block_scope = try Scope.Block.init(t, scope, false);
1899 loop_scope.parent = &block_scope.?.base;
1900 const init_node = try t.transStmt(&block_scope.?.base, init);
1901 try loop_scope.appendNode(init_node);
1902 },
1903 }1894 }
1895
1904 var cond_scope: Scope.Condition = .{1896 var cond_scope: Scope.Condition = .{
1905 .base = .{1897 .base = .{
1906 .parent = &loop_scope,1898 .parent = &loop_scope,
...@@ -1914,10 +1906,14 @@ fn transForStmt(t: *Translator, scope: *Scope, for_stmt: Node.ForStmt) TransErro...@@ -1914,10 +1906,14 @@ fn transForStmt(t: *Translator, scope: *Scope, for_stmt: Node.ForStmt) TransErro
1914 else1906 else
1915 ZigTag.true_literal.init();1907 ZigTag.true_literal.init();
19161908
1917 const cont_expr = if (for_stmt.incr) |incr|1909 var incr_scope = try Scope.Block.init(t, &cond_scope.base, false);
1918 try t.transExpr(&cond_scope.base, incr, .unused)1910 defer incr_scope.deinit();
1919 else1911 const cont_expr = if (for_stmt.incr) |incr| blk: {
1920 null;1912 const last = try t.transExpr(&incr_scope.base, incr, .unused);
1913 if (incr_scope.statements.items.len == 0) break :blk last;
1914 try incr_scope.statements.append(t.gpa, last);
1915 break :blk try incr_scope.complete();
1916 } else null;
19211917
1922 const body = try t.maybeBlockify(&loop_scope, for_stmt.body);1918 const body = try t.maybeBlockify(&loop_scope, for_stmt.body);
1923 const while_node = try ZigTag.@"while".create(t.arena, .{ .cond = cond, .body = body, .cont_expr = cont_expr });1919 const while_node = try ZigTag.@"while".create(t.arena, .{ .cond = cond, .body = body, .cont_expr = cont_expr });
...@@ -1930,19 +1926,24 @@ fn transForStmt(t: *Translator, scope: *Scope, for_stmt: Node.ForStmt) TransErro...@@ -1930,19 +1926,24 @@ fn transForStmt(t: *Translator, scope: *Scope, for_stmt: Node.ForStmt) TransErro
1930}1926}
19311927
1932fn transSwitch(t: *Translator, scope: *Scope, switch_stmt: Node.SwitchStmt) TransError!ZigNode {1928fn transSwitch(t: *Translator, scope: *Scope, switch_stmt: Node.SwitchStmt) TransError!ZigNode {
1933 var loop_scope: Scope = .{1929 var block_scope = try Scope.Block.init(t, scope, true);
1934 .parent = scope,
1935 .id = .loop,
1936 };
1937
1938 var block_scope = try Scope.Block.init(t, &loop_scope, false);
1939 defer block_scope.deinit();1930 defer block_scope.deinit();
19401931
1941 const base_scope = &block_scope.base;1932 var switch_scope: Scope.Switch = .{
1933 .base = .{
1934 .parent = &block_scope.base,
1935 .id = .@"switch",
1936 },
1937 .label = block_scope.label.?,
1938 };
1939
1940 const base_scope = &switch_scope.base;
19421941
1943 var cond_scope: Scope.Condition = .{1942 var cond_scope: Scope.Condition = .{
1944 .base = .{1943 .base = .{
1945 .parent = base_scope,1944 // The switch condition is not in the switch scope yet, so any `break`s
1945 // should apply to the outer scope e.g. `switch ({ if (x == 1) break; 0; })`.
1946 .parent = &block_scope.base,
1946 .id = .condition,1947 .id = .condition,
1947 },1948 },
1948 };1949 };
...@@ -2008,11 +2009,11 @@ fn transSwitch(t: *Translator, scope: *Scope, switch_stmt: Node.SwitchStmt) Tran...@@ -2008,11 +2009,11 @@ fn transSwitch(t: *Translator, scope: *Scope, switch_stmt: Node.SwitchStmt) Tran
2008 .cond = switch_expr,2009 .cond = switch_expr,
2009 .cases = try t.arena.dupe(ZigNode, cases.items),2010 .cases = try t.arena.dupe(ZigNode, cases.items),
2010 });2011 });
2012 if (!switch_scope.label_used) {
2013 block_scope.label = null;
2014 }
2011 try block_scope.statements.append(t.gpa, switch_node);2015 try block_scope.statements.append(t.gpa, switch_node);
2012 try block_scope.statements.append(t.gpa, ZigTag.@"break".init());2016 return try block_scope.complete();
2013 const while_body = try block_scope.complete();
2014
2015 return ZigTag.while_true.create(t.arena, while_body);
2016}2017}
20172018
2018/// Collects all items for this case, returns the first statement after the labels.2019/// Collects all items for this case, returns the first statement after the labels.
...@@ -2121,6 +2122,30 @@ fn transSwitchProngStmtInline(...@@ -2121,6 +2122,30 @@ fn transSwitchProngStmtInline(
2121 }2122 }
2122}2123}
21232124
2125fn transBreakStmt(t: *Translator, inner: *Scope) TransError!ZigNode {
2126 var scope = inner;
2127
2128 while (true) {
2129 switch (scope.id) {
2130 .root, .loop, .do_loop => {
2131 return ZigTag.@"break".init();
2132 },
2133 .@"switch" => {
2134 const switch_scope: *Scope.Switch =
2135 @fieldParentPtr("base", scope);
2136
2137 switch_scope.label_used = true;
2138 return ZigTag.break_label.create(t.arena, .{
2139 .label = switch_scope.label,
2140 });
2141 },
2142 .block, .condition => {
2143 scope = scope.parent.?;
2144 },
2145 }
2146 }
2147}
2148
2124// ======================2149// ======================
2125// Expression translation2150// Expression translation
2126// ======================2151// ======================
...@@ -2133,7 +2158,7 @@ fn transExpr(t: *Translator, scope: *Scope, expr: Node.Index, used: ResultUsed)...@@ -2133,7 +2158,7 @@ fn transExpr(t: *Translator, scope: *Scope, expr: Node.Index, used: ResultUsed)
2133 .paren_expr => |paren_expr| {2158 .paren_expr => |paren_expr| {
2134 return t.transExpr(scope, paren_expr.operand, used);2159 return t.transExpr(scope, paren_expr.operand, used);
2135 },2160 },
2136 .cast => |cast| return t.transCastExpr(scope, cast, cast.qt, used, .with_as),2161 .cast => |cast| return t.maybeTransCastExpr(scope, cast, cast.qt, used, .with_as),
2137 .decl_ref_expr => |decl_ref| try t.transDeclRefExpr(scope, decl_ref),2162 .decl_ref_expr => |decl_ref| try t.transDeclRefExpr(scope, decl_ref),
2138 .enumeration_ref => |enum_ref| try t.transDeclRefExpr(scope, enum_ref),2163 .enumeration_ref => |enum_ref| try t.transDeclRefExpr(scope, enum_ref),
2139 .addr_of_expr => |addr_of_expr| try ZigTag.address_of.create(t.arena, try t.transExpr(scope, addr_of_expr.operand, .used)),2164 .addr_of_expr => |addr_of_expr| try ZigTag.address_of.create(t.arena, try t.transExpr(scope, addr_of_expr.operand, .used)),
...@@ -2355,6 +2380,7 @@ fn transExpr(t: *Translator, scope: *Scope, expr: Node.Index, used: ResultUsed)...@@ -2355,6 +2380,7 @@ fn transExpr(t: *Translator, scope: *Scope, expr: Node.Index, used: ResultUsed)
2355 .goto_stmt,2380 .goto_stmt,
2356 .computed_goto_stmt,2381 .computed_goto_stmt,
2357 .asm_stmt,2382 .asm_stmt,
2383 .decl_stmt,
2358 .global_asm,2384 .global_asm,
2359 .typedef,2385 .typedef,
2360 .struct_decl,2386 .struct_decl,
...@@ -2369,6 +2395,9 @@ fn transExpr(t: *Translator, scope: *Scope, expr: Node.Index, used: ResultUsed)...@@ -2369,6 +2395,9 @@ fn transExpr(t: *Translator, scope: *Scope, expr: Node.Index, used: ResultUsed)
2369 .union_forward_decl,2395 .union_forward_decl,
2370 .enum_forward_decl,2396 .enum_forward_decl,
2371 .empty_decl,2397 .empty_decl,
2398 .codegen_diagnostic,
2399 .alignas_type,
2400 .identifier_arg,
2372 => unreachable, // not an expression2401 => unreachable, // not an expression
2373 });2402 });
2374}2403}
...@@ -2389,7 +2418,7 @@ fn transExprCoercing(t: *Translator, scope: *Scope, expr: Node.Index, used: Resu...@@ -2389,7 +2418,7 @@ fn transExprCoercing(t: *Translator, scope: *Scope, expr: Node.Index, used: Resu
2389 return t.transExprCoercing(scope, cast.operand, used);2418 return t.transExprCoercing(scope, cast.operand, used);
2390 },2419 },
2391 .lval_to_rval => return t.transExprCoercing(scope, cast.operand, used),2420 .lval_to_rval => return t.transExprCoercing(scope, cast.operand, used),
2392 else => return t.transCastExpr(scope, cast, cast.qt, used, .no_as),2421 else => return t.maybeTransCastExpr(scope, cast, cast.qt, used, .no_as),
2393 },2422 },
2394 .default_init_expr => |default_init| return try t.transDefaultInit(scope, default_init, used, .no_as),2423 .default_init_expr => |default_init| return try t.transDefaultInit(scope, default_init, used, .no_as),
2395 .compound_literal_expr => |literal| {2424 .compound_literal_expr => |literal| {
...@@ -2460,6 +2489,20 @@ fn finishBoolExpr(t: *Translator, qt: QualType, node: ZigNode) TransError!ZigNod...@@ -2460,6 +2489,20 @@ fn finishBoolExpr(t: *Translator, qt: QualType, node: ZigNode) TransError!ZigNod
2460 unreachable; // Unexpected bool expression type2489 unreachable; // Unexpected bool expression type
2461}2490}
24622491
2492fn maybeTransCastExpr(
2493 t: *Translator,
2494 scope: *Scope,
2495 cast: Node.Cast,
2496 dest_qt: QualType,
2497 used: ResultUsed,
2498 suppress_as: SuppressCast,
2499) TransError!ZigNode {
2500 return if (used == .used)
2501 t.transCastExpr(scope, cast, dest_qt, used, suppress_as)
2502 else
2503 t.transExpr(scope, cast.operand, used);
2504}
2505
2463fn transCastExpr(2506fn transCastExpr(
2464 t: *Translator,2507 t: *Translator,
2465 scope: *Scope,2508 scope: *Scope,
...@@ -2496,8 +2539,7 @@ fn transCastExpr(...@@ -2496,8 +2539,7 @@ fn transCastExpr(
2496 break :int_cast try t.transIntCast(operand, src_qt, dest_qt);2539 break :int_cast try t.transIntCast(operand, src_qt, dest_qt);
2497 },2540 },
2498 .to_void => {2541 .to_void => {
2499 assert(used == .unused);2542 return try t.transExpr(scope, cast.operand, used);
2500 return try t.transExpr(scope, cast.operand, .unused);
2501 },2543 },
2502 .null_to_pointer => ZigTag.null_literal.init(),2544 .null_to_pointer => ZigTag.null_literal.init(),
2503 .array_to_pointer => array_to_pointer: {2545 .array_to_pointer => array_to_pointer: {
...@@ -2734,7 +2776,7 @@ fn transDeclRefExpr(t: *Translator, scope: *Scope, decl_ref: Node.DeclRef) Trans...@@ -2734,7 +2776,7 @@ fn transDeclRefExpr(t: *Translator, scope: *Scope, decl_ref: Node.DeclRef) Trans
2734 switch (decl_ref.decl.get(t.tree)) {2776 switch (decl_ref.decl.get(t.tree)) {
2735 .function => |function| if (function.definition == null and function.body == null) {2777 .function => |function| if (function.definition == null and function.body == null) {
2736 // Try translating the decl again in case of out of scope declaration.2778 // Try translating the decl again in case of out of scope declaration.
2737 try t.transFnDecl(scope, function);2779 try t.transFnDecl(scope, function, decl_ref.decl);
2738 },2780 },
2739 else => {},2781 else => {},
2740 }2782 }
...@@ -2822,7 +2864,9 @@ fn transCondExpr(...@@ -2822,7 +2864,9 @@ fn transCondExpr(
2822 const cond = try t.transBoolExpr(&cond_scope.base, conditional.cond);2864 const cond = try t.transBoolExpr(&cond_scope.base, conditional.cond);
28232865
2824 var then_body = try t.transExpr(scope, conditional.then_expr, used);2866 var then_body = try t.transExpr(scope, conditional.then_expr, used);
2825 if (!res_is_bool and then_body.isBoolRes()) {2867 if (used == .unused) {
2868 then_body = try ZigTag.block_single.create(t.arena, then_body);
2869 } else if (!res_is_bool and then_body.isBoolRes()) {
2826 then_body = try ZigTag.int_from_bool.create(t.arena, then_body);2870 then_body = try ZigTag.int_from_bool.create(t.arena, then_body);
2827 }2871 }
28282872
...@@ -2842,11 +2886,14 @@ fn transBinaryCondExpr(...@@ -2842,11 +2886,14 @@ fn transBinaryCondExpr(
2842 used: ResultUsed,2886 used: ResultUsed,
2843) TransError!ZigNode {2887) TransError!ZigNode {
2844 // GNU extension of the ternary operator where the middle expression is2888 // GNU extension of the ternary operator where the middle expression is
2845 // omitted, the condition itself is returned if it evaluates to true.2889 // omitted (<foo> ?: <bar>), <foo> is returned if it evaluates to true, otherwise <bar> is returned.
2890 // see https://gcc.gnu.org/onlinedocs/gcc/Conditionals.html
28462891
2847 if (used == .unused) {2892 if (used == .unused) {
2848 // Result unused so this can be translated as2893 // Result unused so this can be translated as
2849 // if (condition) else_expr;2894 // if (!condition) else_expr;
2895 // This is because if the first operand is nonzero, the expression short-circuits.
2896 // That means the else-case is evaluated if the first operand _is_ zero.
2850 var cond_scope: Scope.Condition = .{2897 var cond_scope: Scope.Condition = .{
2851 .base = .{2898 .base = .{
2852 .parent = scope,2899 .parent = scope,
...@@ -2854,9 +2901,11 @@ fn transBinaryCondExpr(...@@ -2854,9 +2901,11 @@ fn transBinaryCondExpr(
2854 },2901 },
2855 };2902 };
2856 defer cond_scope.deinit();2903 defer cond_scope.deinit();
2904 const cond = try t.transBoolExpr(&cond_scope.base, conditional.cond);
2905 const negated_cond = try ZigTag.not.create(t.arena, cond);
28572906
2858 return ZigTag.@"if".create(t.arena, .{2907 return ZigTag.@"if".create(t.arena, .{
2859 .cond = try t.transBoolExpr(&cond_scope.base, conditional.cond),2908 .cond = negated_cond,
2860 .then = try t.transExpr(scope, conditional.else_expr, .unused),2909 .then = try t.transExpr(scope, conditional.else_expr, .unused),
2861 .@"else" = null,2910 .@"else" = null,
2862 });2911 });
...@@ -2997,7 +3046,7 @@ fn transCompoundAssign(...@@ -2997,7 +3046,7 @@ fn transCompoundAssign(
2997 const ref_node = try ZigTag.deref.create(t.arena, lhs_node);3046 const ref_node = try ZigTag.deref.create(t.arena, lhs_node);
29983047
2999 // Use the equivalent Zig operator if possible.3048 // Use the equivalent Zig operator if possible.
3000 if (try t.transCompoundAssignSimple(scope, ref_node, assign)) |some| {3049 if (try t.transCompoundAssignSimple(&block_scope.base, ref_node, assign)) |some| {
3001 try block_scope.statements.append(t.gpa, some);3050 try block_scope.statements.append(t.gpa, some);
3002 } else {3051 } else {
3003 const old_dummy = t.compound_assign_dummy;3052 const old_dummy = t.compound_assign_dummy;
...@@ -3066,11 +3115,10 @@ fn transCompoundAssignSimple(t: *Translator, scope: *Scope, lhs_dummy_opt: ?ZigN...@@ -3066,11 +3115,10 @@ fn transCompoundAssignSimple(t: *Translator, scope: *Scope, lhs_dummy_opt: ?ZigN
3066 break :blk try t.transExpr(scope, bin.lhs, .used);3115 break :blk try t.transExpr(scope, bin.lhs, .used);
3067 };3116 };
30683117
3069 const rhs_node = try t.transExprCoercing(scope, bin.rhs, .used);
3070 const casted_rhs = switch (cast) {3118 const casted_rhs = switch (cast) {
3071 .none => rhs_node,3119 .none => try t.transExprCoercing(scope, bin.rhs, .used),
3072 .shift => try ZigTag.int_cast.create(t.arena, rhs_node),3120 .shift => try ZigTag.int_cast.create(t.arena, try t.transExpr(scope, bin.rhs, .used)),
3073 .usize => try t.usizeCastForWrappingPtrArithmetic(rhs_node),3121 .usize => try t.usizeCastForWrappingPtrArithmetic(try t.transExpr(scope, bin.rhs, .used)),
3074 };3122 };
3075 return try t.createBinOpNode(op, lhs_node, casted_rhs);3123 return try t.createBinOpNode(op, lhs_node, casted_rhs);
3076}3124}
...@@ -3367,13 +3415,22 @@ fn transBuiltinCall(...@@ -3367,13 +3415,22 @@ fn transBuiltinCall(
3367 ptr.* = .{ .base = .{ .tag = tag }, .data = coerced };3415 ptr.* = .{ .base = .{ .tag = tag }, .data = coerced };
3368 return t.maybeSuppressResult(used, ZigNode.initPayload(&ptr.base));3416 return t.maybeSuppressResult(used, ZigNode.initPayload(&ptr.base));
3369 },3417 },
3418 .clz, .ctz => if (call.args.len == 1) { // elementwise ctz/clz with second argument requires special handling
3419 const arg = try t.transExprCoercing(scope, call.args[0], .used);
3420 const arg_ty = try t.transType(scope, call.args[0].qt(t.tree), call.args[0].tok(t.tree));
3421 const coerced = try ZigTag.as.create(t.arena, .{ .lhs = arg_ty, .rhs = arg });
3422
3423 const ptr = try t.arena.create(ast.Payload.UnOp);
3424 ptr.* = .{ .base = .{ .tag = tag }, .data = coerced };
3425 return t.maybeSuppressResult(used, ZigNode.initPayload(&ptr.base));
3426 },
3370 .@"unreachable" => return ZigTag.@"unreachable".init(),3427 .@"unreachable" => return ZigTag.@"unreachable".init(),
3371 else => unreachable,3428 else => unreachable,
3372 };3429 };
33733430
3374 const arg_nodes = try t.arena.alloc(ZigNode, call.args.len);3431 const arg_nodes = try t.arena.alloc(ZigNode, call.args.len);
3375 for (call.args, arg_nodes) |c_arg, *zig_arg| {3432 for (call.args, arg_nodes) |c_arg, *zig_arg| {
3376 zig_arg.* = try t.transExprCoercing(scope, c_arg, .used);3433 zig_arg.* = try t.transExpr(scope, c_arg, .used);
3377 }3434 }
33783435
3379 const builtin_identifier = try ZigTag.identifier.create(t.arena, "__builtin");3436 const builtin_identifier = try ZigTag.identifier.create(t.arena, "__builtin");
...@@ -3631,7 +3688,7 @@ fn transNarrowStringLiteral(...@@ -3631,7 +3688,7 @@ fn transNarrowStringLiteral(
3631 var allocating: std.Io.Writer.Allocating = try .initCapacity(t.gpa, bytes.len);3688 var allocating: std.Io.Writer.Allocating = try .initCapacity(t.gpa, bytes.len);
3632 defer allocating.deinit();3689 defer allocating.deinit();
36333690
3634 aro.Value.printString(bytes, literal.qt, t.comp, &allocating.writer) catch return error.OutOfMemory;3691 aro.Value.printString(bytes, literal.qt, t.comp, &allocating.writer, .quoted) catch return error.OutOfMemory;
36353692
3636 return ZigTag.string_literal.create(t.arena, try t.arena.dupe(u8, allocating.written()));3693 return ZigTag.string_literal.create(t.arena, try t.arena.dupe(u8, allocating.written()));
3637}3694}
...@@ -3811,8 +3868,8 @@ fn transArrayInit(...@@ -3811,8 +3868,8 @@ fn transArrayInit(
3811 defer val_list.clearRetainingCapacity();3868 defer val_list.clearRetainingCapacity();
3812 while (i < array_init.items.len) : (i += 1) {3869 while (i < array_init.items.len) : (i += 1) {
3813 if (array_init.items[i].get(t.tree) == .array_filler_expr) break;3870 if (array_init.items[i].get(t.tree) == .array_filler_expr) break;
3814 const expr = try t.transExprCoercing(scope, array_init.items[i], .used);3871 const init_node = try t.transInitializerExpr(scope, array_init.items[i], array_item_qt);
3815 try val_list.append(t.gpa, try t.toNonBool(expr, array_item_qt));3872 try val_list.append(t.gpa, init_node);
3816 }3873 }
3817 const array_type = try ZigTag.array_type.create(t.arena, .{3874 const array_type = try ZigTag.array_type.create(t.arena, .{
3818 .elem_type = array_item_type,3875 .elem_type = array_item_type,
...@@ -3860,10 +3917,7 @@ fn transUnionInit(...@@ -3860,10 +3917,7 @@ fn transUnionInit(
3860 }).? else field.name.lookup(t.comp);3917 }).? else field.name.lookup(t.comp);
38613918
3862 const field_init = try t.arena.create(ast.Payload.ContainerInit.Initializer);3919 const field_init = try t.arena.create(ast.Payload.ContainerInit.Initializer);
3863 field_init.* = .{3920 field_init.* = .{ .name = field_name, .value = try t.transInitializerExpr(scope, init_expr, field.qt) };
3864 .name = field_name,
3865 .value = try t.toNonBool(try t.transExprCoercing(scope, init_expr, .used), field.qt),
3866 };
3867 const container_init = try ZigTag.container_init.create(t.arena, .{3921 const container_init = try ZigTag.container_init.create(t.arena, .{
3868 .lhs = union_type,3922 .lhs = union_type,
3869 .inits = field_init[0..1],3923 .inits = field_init[0..1],
...@@ -3891,10 +3945,7 @@ fn transStructInit(...@@ -3891,10 +3945,7 @@ fn transStructInit(
3891 .parent = struct_base.qt,3945 .parent = struct_base.qt,
3892 .field = field.qt,3946 .field = field.qt,
3893 }).? else field.name.lookup(t.comp);3947 }).? else field.name.lookup(t.comp);
3894 init.* = .{3948 init.* = .{ .name = field_name, .value = try t.transInitializerExpr(scope, field_expr, field.qt) };
3895 .name = field_name,
3896 .value = try t.toNonBool(try t.transExprCoercing(scope, field_expr, .used), field.qt),
3897 };
3898 }3949 }
38993950
3900 const container_init = try ZigTag.container_init.create(t.arena, .{3951 const container_init = try ZigTag.container_init.create(t.arena, .{
...@@ -3904,6 +3955,21 @@ fn transStructInit(...@@ -3904,6 +3955,21 @@ fn transStructInit(
3904 return container_init;3955 return container_init;
3905}3956}
39063957
3958fn transInitializerExpr(
3959 t: *Translator,
3960 scope: *Scope,
3961 item: Node.Index,
3962 init_qt: QualType,
3963) TransError!ZigNode {
3964 switch (item.get(t.tree)) {
3965 .string_literal_expr => |literal| {
3966 const array_type = try t.transTypeInit(scope, init_qt, item, literal.literal_tok);
3967 return t.transStringLiteralInitializer(item, literal, array_type);
3968 },
3969 else => return t.toNonBool(try t.transExprCoercing(scope, item, .used), init_qt),
3970 }
3971}
3972
3907fn transTypeInfo(3973fn transTypeInfo(
3908 t: *Translator,3974 t: *Translator,
3909 scope: *Scope,3975 scope: *Scope,
...@@ -3919,6 +3985,11 @@ fn transTypeInfo(...@@ -3919,6 +3985,11 @@ fn transTypeInfo(
3919 }3985 }
3920 break :operand try ZigTag.typeof.create(t.arena, operand);3986 break :operand try ZigTag.typeof.create(t.arena, operand);
3921 }3987 }
3988
3989 if (op == .sizeof and t.typeWasDemotedToOpaque(typeinfo.operand_qt)) {
3990 return error.UnsupportedType; // Can't get sizeof on opaque type
3991 }
3992
3922 break :operand try t.transType(scope, typeinfo.operand_qt, typeinfo.op_tok);3993 break :operand try t.transType(scope, typeinfo.operand_qt, typeinfo.op_tok);
3923 };3994 };
39243995
...@@ -4099,7 +4170,7 @@ fn createIntNode(t: *Translator, int: aro.Value) !ZigNode {...@@ -4099,7 +4170,7 @@ fn createIntNode(t: *Translator, int: aro.Value) !ZigNode {
4099 big.positive = true;4170 big.positive = true;
41004171
4101 const str = big.toStringAlloc(t.arena, 10, .lower) catch |err| switch (err) {4172 const str = big.toStringAlloc(t.arena, 10, .lower) catch |err| switch (err) {
4102 error.OutOfMemory => |e| return e,4173 error.OutOfMemory => return error.OutOfMemory,
4103 };4174 };
4104 const res = try ZigTag.integer_literal.create(t.arena, str);4175 const res = try ZigTag.integer_literal.create(t.arena, str);
4105 if (is_negative) return ZigTag.negate.create(t.arena, res);4176 if (is_negative) return ZigTag.negate.create(t.arena, res);
...@@ -4424,8 +4495,16 @@ pub fn getFnProto(t: *Translator, ref: ZigNode) ?*ast.Payload.Func {...@@ -4424,8 +4495,16 @@ pub fn getFnProto(t: *Translator, ref: ZigNode) ?*ast.Payload.Func {
4424 v.data.init orelse return null4495 v.data.init orelse return null
4425 else if (ref.castTag(.var_simple) orelse ref.castTag(.pub_var_simple)) |v|4496 else if (ref.castTag(.var_simple) orelse ref.castTag(.pub_var_simple)) |v|
4426 v.data.init4497 v.data.init
4427 else4498 else if (ref.castTag(.identifier)) |v| ident: {
4428 return null;4499 // Idents may reference functions directly, if this is the case just
4500 // return that here (no need to check containers).
4501 if (t.global_scope.sym_table.get(v.data)) |w| {
4502 if (w.castTag(.func)) |fn_proto| {
4503 return fn_proto;
4504 }
4505 }
4506 break :ident ref;
4507 } else return null;
4429 if (t.getContainerTypeOf(init)) |ty_node| {4508 if (t.getContainerTypeOf(init)) |ty_node| {
4430 if (ty_node.castTag(.optional_type)) |prefix| {4509 if (ty_node.castTag(.optional_type)) |prefix| {
4431 if (prefix.data.castTag(.single_pointer)) |sp| {4510 if (prefix.data.castTag(.single_pointer)) |sp| {
lib/compiler/translate-c/ast.zig+70-67
...@@ -48,6 +48,7 @@ pub const Node = extern union {...@@ -48,6 +48,7 @@ pub const Node = extern union {
48 /// items => body,48 /// items => body,
49 switch_prong,49 switch_prong,
50 break_val,50 break_val,
51 break_label,
51 @"return",52 @"return",
52 field_access,53 field_access,
53 field_builtin,54 field_builtin,
...@@ -56,8 +57,6 @@ pub const Node = extern union {...@@ -56,8 +57,6 @@ pub const Node = extern union {
56 var_decl,57 var_decl,
57 /// const name = struct { init }58 /// const name = struct { init }
58 wrapped_local,59 wrapped_local,
59 /// var name = init.*
60 mut_str,
61 func,60 func,
62 warning,61 warning,
63 @"struct",62 @"struct",
...@@ -145,10 +144,6 @@ pub const Node = extern union {...@@ -145,10 +144,6 @@ pub const Node = extern union {
145 ptr_cast,144 ptr_cast,
146 /// @divExact(lhs, rhs)145 /// @divExact(lhs, rhs)
147 div_exact,146 div_exact,
148 /// @offsetOf(lhs, rhs)
149 offset_of,
150 /// @splat(operand)
151 vector_zero_init,
152 /// @shuffle(type, a, b, mask)147 /// @shuffle(type, a, b, mask)
153 shuffle,148 shuffle,
154 /// @extern(ty, .{ .name = n })149 /// @extern(ty, .{ .name = n })
...@@ -156,6 +151,10 @@ pub const Node = extern union {...@@ -156,6 +151,10 @@ pub const Node = extern union {
156151
157 /// @byteSwap(operand)152 /// @byteSwap(operand)
158 byte_swap,153 byte_swap,
154 /// @clz(operand)
155 clz,
156 /// @ctz(operand)
157 ctz,
159 /// @ceil(operand)158 /// @ceil(operand)
160 ceil,159 ceil,
161 /// @cos(operand)160 /// @cos(operand)
...@@ -242,7 +241,7 @@ pub const Node = extern union {...@@ -242,7 +241,7 @@ pub const Node = extern union {
242241
243 /// array_type{}242 /// array_type{}
244 empty_array,243 empty_array,
245 /// @as([count]type, @splat(val))244 /// [1]type{val} ** count
246 array_filler,245 array_filler,
247246
248 /// comptime { if (!(lhs)) @compileError(rhs); }247 /// comptime { if (!(lhs)) @compileError(rhs); }
...@@ -309,8 +308,9 @@ pub const Node = extern union {...@@ -309,8 +308,9 @@ pub const Node = extern union {
309 .int_cast,308 .int_cast,
310 .const_cast,309 .const_cast,
311 .volatile_cast,310 .volatile_cast,
312 .vector_zero_init,
313 .byte_swap,311 .byte_swap,
312 .clz,
313 .ctz,
314 .ceil,314 .ceil,
315 .cos,315 .cos,
316 .sin,316 .sin,
...@@ -370,7 +370,6 @@ pub const Node = extern union {...@@ -370,7 +370,6 @@ pub const Node = extern union {
370 .std_mem_zeroinit,370 .std_mem_zeroinit,
371 .vector,371 .vector,
372 .div_exact,372 .div_exact,
373 .offset_of,
374 .static_assert,373 .static_assert,
375 .field_builtin,374 .field_builtin,
376 => Payload.BinOp,375 => Payload.BinOp,
...@@ -389,6 +388,7 @@ pub const Node = extern union {...@@ -389,6 +388,7 @@ pub const Node = extern union {
389 .@"while" => Payload.While,388 .@"while" => Payload.While,
390 .@"switch", .array_init, .switch_prong => Payload.Switch,389 .@"switch", .array_init, .switch_prong => Payload.Switch,
391 .break_val => Payload.BreakVal,390 .break_val => Payload.BreakVal,
391 .break_label => Payload.BreakLabel,
392 .call => Payload.Call,392 .call => Payload.Call,
393 .var_decl => Payload.VarDecl,393 .var_decl => Payload.VarDecl,
394 .func => Payload.Func,394 .func => Payload.Func,
...@@ -401,7 +401,7 @@ pub const Node = extern union {...@@ -401,7 +401,7 @@ pub const Node = extern union {
401 .array_type, .null_sentinel_array_type => Payload.Array,401 .array_type, .null_sentinel_array_type => Payload.Array,
402 .arg_redecl, .alias => Payload.ArgRedecl,402 .arg_redecl, .alias => Payload.ArgRedecl,
403 .fail_decl => Payload.FailDecl,403 .fail_decl => Payload.FailDecl,
404 .var_simple, .pub_var_simple, .wrapped_local, .mut_str => Payload.SimpleVarDecl,404 .var_simple, .pub_var_simple, .wrapped_local => Payload.SimpleVarDecl,
405 .enum_constant => Payload.EnumConstant,405 .enum_constant => Payload.EnumConstant,
406 .array_filler => Payload.ArrayFiller,406 .array_filler => Payload.ArrayFiller,
407 .pub_inline_fn => Payload.PubInlineFn,407 .pub_inline_fn => Payload.PubInlineFn,
...@@ -436,7 +436,7 @@ pub const Node = extern union {...@@ -436,7 +436,7 @@ pub const Node = extern union {
436436
437 pub fn tag(self: Node) Tag {437 pub fn tag(self: Node) Tag {
438 if (self.tag_if_small_enough < Tag.no_payload_count) {438 if (self.tag_if_small_enough < Tag.no_payload_count) {
439 return @fromBackingInt(@intCast(@as(std.meta.Tag(Tag), @intCast(self.tag_if_small_enough))));439 return @fromBackingInt(@as(std.meta.Tag(Tag), @intCast(self.tag_if_small_enough)));
440 } else {440 } else {
441 return self.ptr_otherwise.tag;441 return self.ptr_otherwise.tag;
442 }442 }
...@@ -461,6 +461,9 @@ pub const Node = extern union {...@@ -461,6 +461,9 @@ pub const Node = extern union {
461 return switch (node.tag()) {461 return switch (node.tag()) {
462 .block => {462 .block => {
463 const block_node = node.castTag(.block).?;463 const block_node = node.castTag(.block).?;
464 // A labeled block can always be exited early via `break :label`,
465 // so control may resume after it regardless of the final statement.
466 if (block_node.data.label != null) return false;
464 if (block_node.data.stmts.len == 0) return false;467 if (block_node.data.stmts.len == 0) return false;
465468
466 const last = block_node.data.stmts[block_node.data.stmts.len - 1];469 const last = block_node.data.stmts[block_node.data.stmts.len - 1];
...@@ -482,7 +485,7 @@ pub const Node = extern union {...@@ -482,7 +485,7 @@ pub const Node = extern union {
482 return true;485 return true;
483 },486 },
484 .@"return", .return_void => true,487 .@"return", .return_void => true,
485 .@"break" => true,488 .@"break", .break_label => true,
486 .@"continue" => true,489 .@"continue" => true,
487 .@"unreachable" => true,490 .@"unreachable" => true,
488 else => false,491 else => false,
...@@ -571,6 +574,13 @@ pub const Payload = struct {...@@ -571,6 +574,13 @@ pub const Payload = struct {
571 },574 },
572 };575 };
573576
577 pub const BreakLabel = struct {
578 base: Payload,
579 data: struct {
580 label: []const u8,
581 },
582 };
583
574 pub const Call = struct {584 pub const Call = struct {
575 base: Payload,585 base: Payload,
576 data: struct {586 data: struct {
...@@ -587,7 +597,7 @@ pub const Payload = struct {...@@ -587,7 +597,7 @@ pub const Payload = struct {
587 is_extern: bool,597 is_extern: bool,
588 is_export: bool,598 is_export: bool,
589 is_threadlocal: bool,599 is_threadlocal: bool,
590 alignment: ?c_uint,600 alignment: ?u32,
591 linksection_string: ?[]const u8,601 linksection_string: ?[]const u8,
592 name: []const u8,602 name: []const u8,
593 type: Node,603 type: Node,
...@@ -609,13 +619,14 @@ pub const Payload = struct {...@@ -609,13 +619,14 @@ pub const Payload = struct {
609 params: []Param,619 params: []Param,
610 return_type: Node,620 return_type: Node,
611 body: ?Node,621 body: ?Node,
612 alignment: ?c_uint,622 alignment: ?u32,
613 },623 },
614624
615 pub const CallingConvention = enum {625 pub const CallingConvention = enum {
616 c,626 c,
617 x86_64_sysv,627 x86_64_sysv,
618 x86_64_win,628 x86_64_win,
629 x86_64_vectorcall,
619 x86_stdcall,630 x86_stdcall,
620 x86_fastcall,631 x86_fastcall,
621 x86_thiscall,632 x86_thiscall,
...@@ -623,10 +634,12 @@ pub const Payload = struct {...@@ -623,10 +634,12 @@ pub const Payload = struct {
623 x86_regcall,634 x86_regcall,
624 aarch64_vfabi,635 aarch64_vfabi,
625 aarch64_sve_pcs,636 aarch64_sve_pcs,
637 aarch64_aapcs_win,
626 arm_aapcs,638 arm_aapcs,
627 arm_aapcs_vfp,639 arm_aapcs_vfp,
628 m68k_rtd,640 m68k_rtd,
629 riscv_vector,641 riscv32_ilp32_v,
642 riscv64_lp64_v,
630 };643 };
631 };644 };
632645
...@@ -647,7 +660,7 @@ pub const Payload = struct {...@@ -647,7 +660,7 @@ pub const Payload = struct {
647 pub const Field = struct {660 pub const Field = struct {
648 name: []const u8,661 name: []const u8,
649 type: Node,662 type: Node,
650 alignment: ?c_uint,663 alignment: ?u32,
651 default_value: ?Node,664 default_value: ?Node,
652 };665 };
653 };666 };
...@@ -863,14 +876,11 @@ pub fn render(gpa: Allocator, nodes: []const Node) !std.zig.Ast {...@@ -863,14 +876,11 @@ pub fn render(gpa: Allocator, nodes: []const Node) !std.zig.Ast {
863 .start = @as(u32, @intCast(ctx.buf.items.len)),876 .start = @as(u32, @intCast(ctx.buf.items.len)),
864 });877 });
865878
866 try ctx.buf.shrinkToLenSentinel(gpa);
867 try ctx.extra_data.shrinkToLen(gpa);
868
869 return .{879 return .{
870 .source = ctx.buf.toOwnedSliceSentinelAssert(0),880 .source = try ctx.buf.toOwnedSliceSentinel(gpa, 0),
871 .tokens = ctx.tokens.toOwnedSlice(),881 .tokens = ctx.tokens.toOwnedSlice(),
872 .nodes = ctx.nodes.toOwnedSlice(),882 .nodes = ctx.nodes.toOwnedSlice(),
873 .extra_data = ctx.extra_data.toOwnedSliceAssert(),883 .extra_data = try ctx.extra_data.toOwnedSlice(gpa),
874 .errors = &.{},884 .errors = &.{},
875 .mode = .zig,885 .mode = .zig,
876 };886 };
...@@ -925,10 +935,11 @@ const Context = struct {...@@ -925,10 +935,11 @@ const Context = struct {
925 }935 }
926936
927 fn addExtra(c: *Context, extra: anytype) Allocator.Error!std.zig.Ast.ExtraIndex {937 fn addExtra(c: *Context, extra: anytype) Allocator.Error!std.zig.Ast.ExtraIndex {
928 const info = @typeInfo(@TypeOf(extra)).@"struct";938 const field_names = comptime std.meta.fieldNames(@TypeOf(extra));
929 try c.extra_data.ensureUnusedCapacity(c.gpa, info.field_names.len);939 const field_types = comptime std.meta.fieldTypes(@TypeOf(extra));
940 try c.extra_data.ensureUnusedCapacity(c.gpa, field_names.len);
930 const result: std.zig.Ast.ExtraIndex = @fromBackingInt(@intCast(c.extra_data.items.len));941 const result: std.zig.Ast.ExtraIndex = @fromBackingInt(@intCast(c.extra_data.items.len));
931 inline for (info.field_names, info.field_types) |field_name, field_type| {942 inline for (field_names, field_types) |field_name, field_type| {
932 const data: u32 = switch (field_type) {943 const data: u32 = switch (field_type) {
933 NodeIndex,944 NodeIndex,
934 std.zig.Ast.Node.OptionalIndex,945 std.zig.Ast.Node.OptionalIndex,
...@@ -949,6 +960,7 @@ fn renderNodeOpt(c: *Context, node: Node) Allocator.Error!?NodeIndex {...@@ -949,6 +960,7 @@ fn renderNodeOpt(c: *Context, node: Node) Allocator.Error!?NodeIndex {
949 switch (node.tag()) {960 switch (node.tag()) {
950 .warning => {961 .warning => {
951 const payload = node.castTag(.warning).?.data;962 const payload = node.castTag(.warning).?.data;
963 try c.buf.append(c.gpa, '\n');
952 try c.buf.appendSlice(c.gpa, payload);964 try c.buf.appendSlice(c.gpa, payload);
953 try c.buf.append(c.gpa, '\n');965 try c.buf.append(c.gpa, '\n');
954 return null;966 return null;
...@@ -1099,6 +1111,20 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {...@@ -1099,6 +1111,20 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {
1099 } },1111 } },
1100 });1112 });
1101 },1113 },
1114 .break_label => {
1115 const payload = node.castTag(.break_label).?.data;
1116 const tok = try c.addToken(.keyword_break, "break");
1117 _ = try c.addToken(.colon, ":");
1118 const label = try c.addIdentifier(payload.label);
1119 return c.addNode(.{
1120 .tag = .@"break",
1121 .main_token = tok,
1122 .data = .{ .opt_token_and_opt_node = .{
1123 .fromToken(label),
1124 .none,
1125 } },
1126 });
1127 },
1102 .@"return" => {1128 .@"return" => {
1103 const payload = node.castTag(.@"return").?.data;1129 const payload = node.castTag(.@"return").?.data;
1104 return c.addNode(.{1130 return c.addNode(.{
...@@ -1338,33 +1364,6 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {...@@ -1338,33 +1364,6 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {
1338 },1364 },
1339 });1365 });
1340 },1366 },
1341 .mut_str => {
1342 const payload = node.castTag(.mut_str).?.data;
1343
1344 const var_tok = try c.addToken(.keyword_var, "var");
1345 _ = try c.addIdentifier(payload.name);
1346 _ = try c.addToken(.equal, "=");
1347
1348 const deref = try c.addNode(.{
1349 .tag = .deref,
1350 .data = .{
1351 .node = try renderNodeGrouped(c, payload.init),
1352 },
1353 .main_token = try c.addToken(.period_asterisk, ".*"),
1354 });
1355 _ = try c.addToken(.semicolon, ";");
1356
1357 return c.addNode(.{
1358 .tag = .simple_var_decl,
1359 .main_token = var_tok,
1360 .data = .{
1361 .opt_node_and_opt_node = .{
1362 .none, // Type expression
1363 deref.toOptional(), // Init expression
1364 },
1365 },
1366 });
1367 },
1368 .var_decl => return renderVar(c, node),1367 .var_decl => return renderVar(c, node),
1369 .arg_redecl, .alias => {1368 .arg_redecl, .alias => {
1370 const payload = @as(*Payload.ArgRedecl, @alignCast(@fieldParentPtr("base", node.ptr_otherwise))).data;1369 const payload = @as(*Payload.ArgRedecl, @alignCast(@fieldParentPtr("base", node.ptr_otherwise))).data;
...@@ -1458,10 +1457,6 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {...@@ -1458,10 +1457,6 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {
1458 const payload = node.castTag(.div_exact).?.data;1457 const payload = node.castTag(.div_exact).?.data;
1459 return renderBuiltinCall(c, "@divExact", &.{ payload.lhs, payload.rhs });1458 return renderBuiltinCall(c, "@divExact", &.{ payload.lhs, payload.rhs });
1460 },1459 },
1461 .offset_of => {
1462 const payload = node.castTag(.offset_of).?.data;
1463 return renderBuiltinCall(c, "@offsetOf", &.{ payload.lhs, payload.rhs });
1464 },
1465 .sizeof => {1460 .sizeof => {
1466 const payload = node.castTag(.sizeof).?.data;1461 const payload = node.castTag(.sizeof).?.data;
1467 return renderBuiltinCall(c, "@sizeOf", &.{payload});1462 return renderBuiltinCall(c, "@sizeOf", &.{payload});
...@@ -1526,6 +1521,14 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {...@@ -1526,6 +1521,14 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {
1526 const payload = node.castTag(.byte_swap).?.data;1521 const payload = node.castTag(.byte_swap).?.data;
1527 return renderBuiltinCall(c, "@byteSwap", &.{payload});1522 return renderBuiltinCall(c, "@byteSwap", &.{payload});
1528 },1523 },
1524 .clz => {
1525 const payload = node.castTag(.clz).?.data;
1526 return renderBuiltinCall(c, "@clz", &.{payload});
1527 },
1528 .ctz => {
1529 const payload = node.castTag(.ctz).?.data;
1530 return renderBuiltinCall(c, "@ctz", &.{payload});
1531 },
1529 .ceil => {1532 .ceil => {
1530 const payload = node.castTag(.ceil).?.data;1533 const payload = node.castTag(.ceil).?.data;
1531 return renderBuiltinCall(c, "@ceil", &.{payload});1534 return renderBuiltinCall(c, "@ceil", &.{payload});
...@@ -1978,16 +1981,17 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {...@@ -1978,16 +1981,17 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {
19781981
1979 const as_tok = try c.addToken(.builtin, "@as");1982 const as_tok = try c.addToken(.builtin, "@as");
1980 _ = try c.addToken(.l_paren, "(");1983 _ = try c.addToken(.l_paren, "(");
1981 const type_node = try renderArrayType(c, payload.count, payload.type);1984 const type_expr = try renderArrayType(c, payload.count, payload.type);
1982 _ = try c.addToken(.comma, ",");1985 _ = try c.addToken(.comma, ",");
1983 const splat_node = try renderBuiltinCall(c, "@splat", &.{payload.filler});1986
1987 const splat = try renderBuiltinCall(c, "@splat", &.{payload.filler});
1984 _ = try c.addToken(.r_paren, ")");1988 _ = try c.addToken(.r_paren, ")");
19851989
1986 return c.addNode(.{1990 return c.addNode(.{
1987 .tag = .builtin_call_two,1991 .tag = .builtin_call_two,
1988 .main_token = as_tok,1992 .main_token = as_tok,
1989 .data = .{ .opt_node_and_opt_node = .{1993 .data = .{ .opt_node_and_opt_node = .{
1990 .fromOptional(type_node), .fromOptional(splat_node),1994 .fromOptional(type_expr), .fromOptional(splat),
1991 } },1995 } },
1992 });1996 });
1993 },1997 },
...@@ -2002,10 +2006,6 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {...@@ -2002,10 +2006,6 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {
2002 const type_expr = try renderNode(c, payload.cond);2006 const type_expr = try renderNode(c, payload.cond);
2003 return renderArrayInit(c, type_expr, payload.cases);2007 return renderArrayInit(c, type_expr, payload.cases);
2004 },2008 },
2005 .vector_zero_init => {
2006 const payload = node.castTag(.vector_zero_init).?.data;
2007 return renderBuiltinCall(c, "@splat", &.{payload});
2008 },
2009 .field_access => {2009 .field_access => {
2010 const payload = node.castTag(.field_access).?.data;2010 const payload = node.castTag(.field_access).?.data;
2011 const lhs = try renderNodeGrouped(c, payload.lhs);2011 const lhs = try renderNodeGrouped(c, payload.lhs);
...@@ -2424,7 +2424,7 @@ fn renderNullSentinelArrayType(c: *Context, len: u64, elem_type: Node) !NodeInde...@@ -2424,7 +2424,7 @@ fn renderNullSentinelArrayType(c: *Context, len: u64, elem_type: Node) !NodeInde
2424fn addSemicolonIfNeeded(c: *Context, node: Node) !void {2424fn addSemicolonIfNeeded(c: *Context, node: Node) !void {
2425 switch (node.tag()) {2425 switch (node.tag()) {
2426 .warning => unreachable,2426 .warning => unreachable,
2427 .static_assert, .var_decl, .var_simple, .arg_redecl, .alias, .block, .empty_block, .block_single, .@"switch", .wrapped_local, .mut_str => {},2427 .static_assert, .var_decl, .var_simple, .arg_redecl, .alias, .block, .empty_block, .block_single, .@"switch", .wrapped_local => {},
2428 .while_true => {2428 .while_true => {
2429 const payload = node.castTag(.while_true).?.data;2429 const payload = node.castTag(.while_true).?.data;
2430 return addSemicolonIfNotBlock(c, payload);2430 return addSemicolonIfNotBlock(c, payload);
...@@ -2509,14 +2509,14 @@ fn renderNodeGrouped(c: *Context, node: Node) !NodeIndex {...@@ -2509,14 +2509,14 @@ fn renderNodeGrouped(c: *Context, node: Node) !NodeIndex {
2509 .null_sentinel_array_type,2509 .null_sentinel_array_type,
2510 .int_from_bool,2510 .int_from_bool,
2511 .div_exact,2511 .div_exact,
2512 .offset_of,
2513 .shuffle,2512 .shuffle,
2514 .builtin_extern,2513 .builtin_extern,
2515 .wrapped_local,2514 .wrapped_local,
2516 .mut_str,
2517 .helper_call,2515 .helper_call,
2518 .helper_ref,2516 .helper_ref,
2519 .byte_swap,2517 .byte_swap,
2518 .clz,
2519 .ctz,
2520 .ceil,2520 .ceil,
2521 .cos,2521 .cos,
2522 .sin,2522 .sin,
...@@ -2571,7 +2571,6 @@ fn renderNodeGrouped(c: *Context, node: Node) !NodeIndex {...@@ -2571,7 +2571,6 @@ fn renderNodeGrouped(c: *Context, node: Node) !NodeIndex {
2571 .@"struct",2571 .@"struct",
2572 .@"union",2572 .@"union",
2573 .array_init,2573 .array_init,
2574 .vector_zero_init,
2575 .tuple,2574 .tuple,
2576 .container_init,2575 .container_init,
2577 .container_init_dot,2576 .container_init_dot,
...@@ -2598,6 +2597,7 @@ fn renderNodeGrouped(c: *Context, node: Node) !NodeIndex {...@@ -2598,6 +2597,7 @@ fn renderNodeGrouped(c: *Context, node: Node) !NodeIndex {
2598 .@"while",2597 .@"while",
2599 .@"break",2598 .@"break",
2600 .break_val,2599 .break_val,
2600 .break_label,
2601 .pub_inline_fn,2601 .pub_inline_fn,
2602 .discard,2602 .discard,
2603 .@"continue",2603 .@"continue",
...@@ -2926,6 +2926,7 @@ fn renderFunc(c: *Context, node: Node) !NodeIndex {...@@ -2926,6 +2926,7 @@ fn renderFunc(c: *Context, node: Node) !NodeIndex {
2926 },2926 },
2927 .x86_64_sysv,2927 .x86_64_sysv,
2928 .x86_64_win,2928 .x86_64_win,
2929 .x86_64_vectorcall,
2929 .x86_stdcall,2930 .x86_stdcall,
2930 .x86_fastcall,2931 .x86_fastcall,
2931 .x86_thiscall,2932 .x86_thiscall,
...@@ -2933,10 +2934,12 @@ fn renderFunc(c: *Context, node: Node) !NodeIndex {...@@ -2933,10 +2934,12 @@ fn renderFunc(c: *Context, node: Node) !NodeIndex {
2933 .x86_regcall,2934 .x86_regcall,
2934 .aarch64_vfabi,2935 .aarch64_vfabi,
2935 .aarch64_sve_pcs,2936 .aarch64_sve_pcs,
2937 .aarch64_aapcs_win,
2936 .arm_aapcs,2938 .arm_aapcs,
2937 .arm_aapcs_vfp,2939 .arm_aapcs_vfp,
2938 .m68k_rtd,2940 .m68k_rtd,
2939 .riscv_vector,2941 .riscv32_ilp32_v,
2942 .riscv64_lp64_v,
2940 => cc_node: {2943 => cc_node: {
2941 // .{ .foo = .{} }2944 // .{ .foo = .{} }
2942 _ = try c.addToken(.period, ".");2945 _ = try c.addToken(.period, ".");
lib/compiler/translate-c/builtins.zig+6
...@@ -13,6 +13,7 @@ pub const Builtin = struct {...@@ -13,6 +13,7 @@ pub const Builtin = struct {
1313
14pub const map = std.StaticStringMap(Builtin).initComptime([_]struct { []const u8, Builtin }{14pub const map = std.StaticStringMap(Builtin).initComptime([_]struct { []const u8, Builtin }{
15 .{ "__builtin_abs", .{ .name = "abs" } },15 .{ "__builtin_abs", .{ .name = "abs" } },
16 .{ "__builtin_add_overflow", .{ .name = "add_overflow" } },
16 .{ "__builtin_assume", .{ .name = "assume" } },17 .{ "__builtin_assume", .{ .name = "assume" } },
17 .{ "__builtin_bswap16", .{ .name = "bswap16", .tag = .byte_swap } },18 .{ "__builtin_bswap16", .{ .name = "bswap16", .tag = .byte_swap } },
18 .{ "__builtin_bswap32", .{ .name = "bswap32", .tag = .byte_swap } },19 .{ "__builtin_bswap32", .{ .name = "bswap32", .tag = .byte_swap } },
...@@ -33,6 +34,10 @@ pub const map = std.StaticStringMap(Builtin).initComptime([_]struct { []const u8...@@ -33,6 +34,10 @@ pub const map = std.StaticStringMap(Builtin).initComptime([_]struct { []const u8
33 .{ "__builtin_fabs", .{ .name = "fabs", .tag = .abs } },34 .{ "__builtin_fabs", .{ .name = "fabs", .tag = .abs } },
34 .{ "__builtin_floorf", .{ .name = "floorf", .tag = .floor } },35 .{ "__builtin_floorf", .{ .name = "floorf", .tag = .floor } },
35 .{ "__builtin_floor", .{ .name = "floor", .tag = .floor } },36 .{ "__builtin_floor", .{ .name = "floor", .tag = .floor } },
37 .{ "__builtin_elementwise_clzg", .{ .name = "elementwise_clzg", .tag = .clz } },
38 .{ "__builtin_elementwise_ctzg", .{ .name = "elementwise_ctzg", .tag = .ctz } },
39 .{ "__builtin_elementwise_fshl", .{ .name = "elementwise_fshl" } },
40 .{ "__builtin_elementwise_fshr", .{ .name = "elementwise_fshr" } },
36 .{ "__builtin_huge_valf", .{ .name = "huge_valf" } },41 .{ "__builtin_huge_valf", .{ .name = "huge_valf" } },
37 .{ "__builtin_inff", .{ .name = "inff" } },42 .{ "__builtin_inff", .{ .name = "inff" } },
38 .{ "__builtin_isinf_sign", .{ .name = "isinf_sign" } },43 .{ "__builtin_isinf_sign", .{ .name = "isinf_sign" } },
...@@ -64,6 +69,7 @@ pub const map = std.StaticStringMap(Builtin).initComptime([_]struct { []const u8...@@ -64,6 +69,7 @@ pub const map = std.StaticStringMap(Builtin).initComptime([_]struct { []const u8
64 .{ "__builtin_sqrt", .{ .name = "sqrt", .tag = .sqrt } },69 .{ "__builtin_sqrt", .{ .name = "sqrt", .tag = .sqrt } },
65 .{ "__builtin_strcmp", .{ .name = "strcmp" } },70 .{ "__builtin_strcmp", .{ .name = "strcmp" } },
66 .{ "__builtin_strlen", .{ .name = "strlen" } },71 .{ "__builtin_strlen", .{ .name = "strlen" } },
72 .{ "__builtin_sub_overflow", .{ .name = "sub_overflow" } },
67 .{ "__builtin_truncf", .{ .name = "truncf", .tag = .trunc } },73 .{ "__builtin_truncf", .{ .name = "truncf", .tag = .trunc } },
68 .{ "__builtin_trunc", .{ .name = "trunc", .tag = .trunc } },74 .{ "__builtin_trunc", .{ .name = "trunc", .tag = .trunc } },
69 .{ "__builtin_unreachable", .{ .name = "unreachable", .tag = .@"unreachable" } },75 .{ "__builtin_unreachable", .{ .name = "unreachable", .tag = .@"unreachable" } },
lib/compiler/translate-c/main.zig+394-77
...@@ -1,27 +1,24 @@...@@ -1,27 +1,24 @@
1const std = @import("std");1const std = @import("std");
2const assert = std.debug.assert;2const assert = std.debug.assert;
3const mem = std.mem;3const mem = std.mem;
4const Allocator = std.mem.Allocator;
4const process = std.process;5const process = std.process;
6const fatal = std.process.fatal;
5const Io = std.Io;7const Io = std.Io;
8const PkgConfig = std.zig.PkgConfig;
69
7const aro = @import("aro");10const aro = @import("aro");
8const compiler_util = @import("../util.zig");11const compiler_util = @import("../util.zig");
12const build_options = @import("build_options");
913
10const Translator = @import("Translator.zig");14const Translator = @import("Translator.zig");
1115
12const fast_exit = @import("builtin").mode != .debug;16pub fn main(init: process.Init) !void {
13
14pub fn main(init: process.Init) u8 {
15 const gpa = init.gpa;17 const gpa = init.gpa;
16 const arena = init.arena.allocator();18 const arena = init.arena.allocator();
17 const io = init.io;19 const io = init.io;
18 const environ_map = init.environ_map;20 const environ_map = init.environ_map;
1921 const args = try init.minimal.args.toSlice(arena);
20 const args = init.minimal.args.toSlice(arena) catch {
21 std.debug.print("ran out of memory allocating arguments\n", .{});
22 if (fast_exit) process.exit(1);
23 return 1;
24 };
2522
26 var zig_integration = false;23 var zig_integration = false;
27 if (args.len > 1 and std.mem.eql(u8, args[1], "--zig-integration")) {24 if (args.len > 1 and std.mem.eql(u8, args[1], "--zig-integration")) {
...@@ -42,55 +39,39 @@ pub fn main(init: process.Init) u8 {...@@ -42,55 +39,39 @@ pub fn main(init: process.Init) u8 {
42 };39 };
43 defer diagnostics.deinit();40 defer diagnostics.deinit();
4441
45 var comp = aro.Compilation.init(.{42 var comp = try aro.Compilation.init(.{
46 .gpa = gpa,43 .gpa = gpa,
47 .arena = arena,44 .arena = arena,
48 .io = io,45 .io = io,
49 .diagnostics = &diagnostics,46 .diagnostics = &diagnostics,
50 .environ_map = environ_map,47 .environ_map = environ_map,
51 }) catch |err| switch (err) {48 });
52 error.OutOfMemory => {
53 std.debug.print("ran out of memory initializing C compilation\n", .{});
54 if (fast_exit) process.exit(1);
55 return 1;
56 },
57 };
58 defer comp.deinit();49 defer comp.deinit();
5950
60 var driver: aro.Driver = .{ .comp = &comp, .diagnostics = &diagnostics, .aro_name = "aro" };51 var driver: aro.Driver = .{ .comp = &comp, .diagnostics = &diagnostics, .aro_name = args[0] };
61 defer driver.deinit();52 defer driver.deinit();
6253
63 var toolchain: aro.Toolchain = .{ .driver = &driver };54 var toolchain: aro.Toolchain = .{ .driver = &driver };
64 defer toolchain.deinit();55 defer toolchain.deinit();
6556
66 translate(&driver, &toolchain, args, zig_integration) catch |err| switch (err) {57 var stdout_buf: [512]u8 = undefined;
67 error.OutOfMemory => {58 var stdout = Io.File.stdout().writer(io, &stdout_buf);
68 std.debug.print("ran out of memory translating\n", .{});59 translate(&driver, &toolchain, init.environ_map, &stdout.interface, args, zig_integration) catch |err| switch (err) {
69 if (fast_exit) process.exit(1);
70 return 1;
71 },
72 error.FatalError => if (zig_integration) {60 error.FatalError => if (zig_integration) {
73 serveErrorBundle(arena, io, &diagnostics) catch |bundle_err| {61 serveErrorBundle(arena, io, &diagnostics) catch |bundle_err| {
74 std.debug.print("unable to serve error bundle: {}\n", .{bundle_err});62 std.debug.print("unable to serve error bundle: {}\n", .{bundle_err});
75 if (fast_exit) process.exit(1);63 process.exit(1);
76 return 1;
77 };64 };
7865
79 if (fast_exit) process.exit(0);66 process.exit(0);
80 return 0;
81 } else {67 } else {
82 if (fast_exit) process.exit(1);68 process.exit(1);
83 return 1;
84 },
85 error.WriteFailed => {
86 std.debug.print("unable to write to stdout\n", .{});
87 if (fast_exit) process.exit(1);
88 return 1;
89 },69 },
70 error.WriteFailed => return stdout.err.?,
71 else => |e| return e,
90 };72 };
91 assert(comp.diagnostics.errors == 0 or !zig_integration);73 if (comp.diagnostics.errors != 0) process.exit(1);
92 if (fast_exit) process.exit(@intFromBool(comp.diagnostics.errors != 0));74 return process.cleanExit(io);
93 return @intFromBool(comp.diagnostics.errors != 0);
94}75}
9576
96fn serveErrorBundle(arena: std.mem.Allocator, io: Io, diagnostics: *const aro.Diagnostics) !void {77fn serveErrorBundle(arena: std.mem.Allocator, io: Io, diagnostics: *const aro.Diagnostics) !void {
...@@ -114,6 +95,7 @@ pub const usage =...@@ -114,6 +95,7 @@ pub const usage =
114 \\Options:95 \\Options:
115 \\ --help Print this message96 \\ --help Print this message
116 \\ --version Print translate-c version97 \\ --version Print translate-c version
98 \\ --libc=<file> Provide a file which specifies libc paths
117 \\ -fmodule-libs Import libraries as modules99 \\ -fmodule-libs Import libraries as modules
118 \\ -fno-module-libs (default) Install libraries next to output file100 \\ -fno-module-libs (default) Install libraries next to output file
119 \\ -fpub-static (default) Translate static functions as pub101 \\ -fpub-static (default) Translate static functions as pub
...@@ -133,7 +115,15 @@ pub const usage =...@@ -133,7 +115,15 @@ pub const usage =
133 \\115 \\
134;116;
135117
136fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig_integration: bool) !void {118fn translate(
119 d: *aro.Driver,
120 tc: *aro.Toolchain,
121 environ_map: *const process.Environ.Map,
122 stdout: *Io.Writer,
123 args: []const [:0]const u8,
124 zig_integration: bool,
125) !void {
126 const arena = d.comp.arena;
137 const gpa = d.comp.gpa;127 const gpa = d.comp.gpa;
138 const io = d.comp.io;128 const io = d.comp.io;
139129
...@@ -143,27 +133,37 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig...@@ -143,27 +133,37 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig
143 var keep_macro_literals = true;133 var keep_macro_literals = true;
144 var default_init = true;134 var default_init = true;
145 var strict_flex_arrays: Translator.StrictFlexArraysLevel = .@"2";135 var strict_flex_arrays: Translator.StrictFlexArraysLevel = .@"2";
136 var target_query: std.Target.Query = .{};
137 var link_libc = false;
138 var link_libcpp = false;
139 var link_libunwind = false;
140 var libc_paths_file: ?[]const u8 = null;
141
142 var system_libs: std.ArrayList(SystemLib) = .empty;
143 var any_want_pkg_conf = false;
144 var any_force_pkg_conf = false;
145 var optimize_mode: std.lang.OptimizeMode = .Debug;
146 var opt_zig_lib_path: ?[]const u8 = null;
147
148 var aro_args: std.ArrayList([]const u8) = try .initCapacity(arena, args.len);
146149
147 var aro_args: std.ArrayList([:0]const u8) = try .initCapacity(gpa, args.len);150 aro_args.appendAssumeCapacity(args[0]);
148 defer aro_args.deinit(gpa);
149151
150 for (args, 0..) |arg, i| {152 for (args[1..], 1..) |arg, i| {
151 if (mem.eql(u8, arg, "--help")) {153 if (mem.eql(u8, arg, "--help")) {
152 var stdout_buf: [512]u8 = undefined;154 try stdout.print(usage, .{args[0]});
153 var stdout = Io.File.stdout().writer(io, &stdout_buf);155 try stdout.flush();
154 try stdout.interface.print(usage, .{args[0]});
155 try stdout.interface.flush();
156 return;156 return;
157 } else if (mem.eql(u8, arg, "--version")) {157 } else if (mem.eql(u8, arg, "--version")) {
158 var stdout_buf: [512]u8 = undefined;
159 var stdout = Io.File.stdout().writer(io, &stdout_buf);
160 // TODO add version158 // TODO add version
161 try stdout.interface.writeAll("0.0.0-dev\n");159 try stdout.writeAll("0.0.0-dev\n");
162 try stdout.interface.flush();160 try stdout.flush();
163 return;161 return;
164 } else if (mem.eql(u8, arg, "--zig-integration")) {162 } else if (mem.eql(u8, arg, "--zig-integration")) {
165 if (i != 1 or !zig_integration)163 if (i != 1 or !zig_integration)
166 return d.fatal("--zig-integration must be the first argument", .{});164 return d.fatal("--zig-integration must be the first argument", .{});
165 } else if (mem.cutPrefix(u8, arg, "--libc=")) |rest| {
166 libc_paths_file = rest;
167 } else if (mem.eql(u8, arg, "-fmodule-libs")) {167 } else if (mem.eql(u8, arg, "-fmodule-libs")) {
168 module_libs = true;168 module_libs = true;
169 } else if (mem.eql(u8, arg, "-fno-module-libs")) {169 } else if (mem.eql(u8, arg, "-fno-module-libs")) {
...@@ -184,16 +184,249 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig...@@ -184,16 +184,249 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig
184 default_init = true;184 default_init = true;
185 } else if (mem.eql(u8, arg, "-fno-default-init")) {185 } else if (mem.eql(u8, arg, "-fno-default-init")) {
186 default_init = false;186 default_init = false;
187 } else if (mem.startsWith(u8, arg, "-fstrict-flex-arrays=")) {187 } else if (mem.cutPrefix(u8, arg, "-fstrict-flex-arrays=")) |rest| {
188 const val_str = arg["-fstrict-flex-arrays=".len..];188 if (rest.len != 1 or rest[0] < '0' or rest[0] > '3') {
189 if (val_str.len != 1 or val_str[0] < '0' or val_str[0] > '3') {
190 return d.fatal("-fstrict-flex-arrays= requires a value of '0', '1', '2', or '3'", .{});189 return d.fatal("-fstrict-flex-arrays= requires a value of '0', '1', '2', or '3'", .{});
191 }190 }
192 strict_flex_arrays = @fromBackingInt(@intCast(val_str[0] - '0'));191 strict_flex_arrays = @fromBackingInt(@intCast(rest[0] - '0'));
192 } else if (mem.cutPrefix(u8, arg, "--target=")) |rest| {
193 target_query = std.zig.parseTargetQueryOrReportFatalError(arena, .{
194 .arch_os_abi = rest,
195 });
196 try aro_args.append(arena, arg);
197 } else if (mem.cutPrefix(u8, arg, "-mcpu=")) |rest| {
198 try aro_args.ensureUnusedCapacity(arena, 2);
199 aro_args.appendAssumeCapacity("-mcpu");
200 aro_args.appendAssumeCapacity(rest);
201 } else if (mem.cutPrefix(u8, arg, "-o=")) |rest| {
202 try aro_args.ensureUnusedCapacity(arena, 2);
203 aro_args.appendAssumeCapacity("-o");
204 aro_args.appendAssumeCapacity(rest);
205 } else if (mem.cutPrefix(u8, arg, "-O=")) |rest| {
206 optimize_mode = std.meta.stringToEnum(std.lang.OptimizeMode, rest) orelse
207 fatal("bad optimize mode: {s}", .{rest});
208 } else if (mem.eql(u8, arg, "-lc")) {
209 link_libc = true;
210 } else if (mem.eql(u8, arg, "-lc++")) {
211 link_libcpp = true;
212 } else if (mem.eql(u8, arg, "-lunwind")) {
213 link_libunwind = true;
214 } else if (mem.cutPrefix(u8, arg, "-l=")) |rest| {
215 try system_libs.append(arena, .{
216 .options = .{
217 .needed = (rest[0] - '0') != 0,
218 .weak = (rest[1] - '0') != 0,
219 .use_pkg_config = @fromBackingInt(@intCast(rest[2] - '0')),
220 .preferred_link_mode = @fromBackingInt(@intCast(rest[3] - '0')),
221 .search_strategy = @fromBackingInt(@intCast(rest[4] - '0')),
222 },
223 .name = rest[6..],
224 });
225 switch (system_libs.last().?.options.use_pkg_config) {
226 .no => {},
227 .yes => any_want_pkg_conf = true,
228 .force => any_force_pkg_conf = true,
229 }
230 } else if (mem.cutPrefix(u8, arg, "--zig-lib=")) |rest| {
231 opt_zig_lib_path = rest;
232 } else if (mem.eql(u8, arg, "--")) {
233 try aro_args.appendSlice(arena, args[i + 1 ..]);
234 break;
193 } else {235 } else {
194 aro_args.appendAssumeCapacity(arg);236 fatal("unrecognized translate-c argument: {s}", .{arg});
237 }
238 }
239
240 const zig_lib_path = opt_zig_lib_path orelse fatal("missing --zig-lib=[path] argument", .{});
241
242 try aro_args.append(arena, "-nostdlibinc");
243
244 switch (optimize_mode) {
245 .Debug => {
246 try aro_args.append(arena, "-O0");
247 },
248 .ReleaseSafe => {
249 try aro_args.append(arena, "-O2");
250 try aro_args.append(arena, "-D_FORTIFY_SOURCE=2");
251 },
252 .ReleaseFast => {
253 try aro_args.append(arena, "-O2");
254 try aro_args.append(arena, "-DNDEBUG");
255 },
256 .ReleaseSmall => {
257 try aro_args.append(arena, "-Os");
258 try aro_args.append(arena, "-DNDEBUG");
259 },
260 }
261
262 const target = std.zig.resolveTargetQueryOrFatal(io, target_query);
263
264 if (link_libc) {
265 if (target.isGnuLibC()) {
266 const target_version = target.os.versionRange().gnuLibCVersion().?;
267 const glibc_minor_define = try std.fmt.allocPrint(arena, "-D__GLIBC_MINOR__={d}", .{
268 target_version.minor,
269 });
270 try aro_args.append(arena, glibc_minor_define);
271 } else if (target.isMinGW()) {
272 try aro_args.append(arena, "-D__MSVCRT_VERSION__=0xE00"); // use ucrt
273
274 const minver: u16 = @truncate(@backingInt(target.os.versionRange().windows.min) >> 16);
275 try aro_args.append(
276 arena,
277 try std.fmt.allocPrint(arena, "-D_WIN32_WINNT=0x{x:0>4}", .{minver}),
278 );
279
280 // MinGW-w64's inline functions in headers (e.g. `fabs`), which are emitted with `linkonce_odr`
281 // linkage, sometimes cause duplicate symbol errors due to us providing the same symbols with
282 // `weak` linkage in compiler-rt or libzigc. So just disable them. Besides, they undermine the
283 // goal of moving more libc code to Zig, and they're also just kind of unnecessary since LLVM is
284 // perfectly capable of recognizing and optimizing libcalls.
285 try aro_args.append(arena, "-D__CRT__NO_INLINE");
286 } else if (target.isFreeBSDLibC()) {
287 // https://docs.freebsd.org/en/books/porters-handbook/versions
288 const min_ver = target.os.version_range.semver.min;
289 try aro_args.append(arena, try std.fmt.allocPrint(arena, "-D__FreeBSD_version={d}", .{
290 // We don't currently respect the minor and patch components. This wouldn't be particularly
291 // helpful because our abilists file only tracks major FreeBSD releases, so the link-time stub
292 // symbols would be inconsistent with header declarations.
293 min_ver.major * 100_000 + 500,
294 }));
295 } else if (target.isNetBSDLibC()) {
296 const min_ver = target.os.version_range.semver.min;
297 try aro_args.append(arena, try std.fmt.allocPrint(arena, "-D__NetBSD_Version__={d}", .{
298 // We don't currently respect the patch component. This wouldn't be particularly helpful because
299 // our abilists file only tracks major and minor NetBSD releases, so the link-time stub symbols
300 // would be inconsistent with header declarations.
301 (min_ver.major * 100_000_000) + (min_ver.minor * 1_000_000),
302 }));
303 } else if (target.isOpenBSDLibC()) {
304 const min_ver = target.os.version_range.semver.min;
305 // The macro in sys/param.h doesn't have the leading underscores, but we don't want to pollute the
306 // global namespace in all compilation units. So we use leading underscores and modify sys/param.h
307 // to just alias this one.
308 try aro_args.append(arena, try std.fmt.allocPrint(arena, "-D___OpenBSD={d}", .{
309 // Brilliantly, OpenBSD defines this macro to the year and month of the release, so we need to
310 // maintain a manual mapping here whenever we update the headers.
311 202510,
312 }));
313 // We can't avoid pollution for this one...
314 try aro_args.append(arena, try std.fmt.allocPrint(arena, "-DOpenBSD{d}_{d}", .{
315 min_ver.major,
316 min_ver.minor,
317 }));
318 }
319 }
320
321 if (link_libcpp) {
322 try aro_args.ensureUnusedCapacity(arena, 4);
323 aro_args.appendAssumeCapacity("-isystem");
324 aro_args.appendAssumeCapacity(try Io.Dir.path.join(arena, &.{ zig_lib_path, "libcxx", "include" }));
325
326 aro_args.appendAssumeCapacity("-isystem");
327 aro_args.appendAssumeCapacity(try Io.Dir.path.join(arena, &.{ zig_lib_path, "libcxxabi", "include" }));
328
329 //try libcxx.addCxxArgs(comp, arena, aro_args);
330 }
331
332 const is_native_os = target_query.isNativeOs();
333 const is_native_abi = target_query.isNativeAbi();
334 const libc_installation = if (libc_paths_file) |libc_file|
335 std.zig.LibCInstallation.parse(arena, io, libc_file, &target) catch |err| fatal("failed to parse '{s}': {t}", .{ libc_file, err })
336 else
337 null;
338
339 const libc_dirs = std.zig.LibCDirs.detect(
340 arena,
341 io,
342 .initCwd(zig_lib_path),
343 &target,
344 is_native_abi,
345 link_libc,
346 if (libc_installation) |l| &l else null,
347 environ_map,
348 ) catch |err| fatal("failed detecting libc: {t}", .{err});
349
350 // Supplement Aro builtin headers with Clang builtin headers
351 try aro_args.appendSlice(arena, &.{ "-idirafter", try Io.Dir.path.join(arena, &.{ zig_lib_path, "include" }) });
352
353 try aro_args.ensureUnusedCapacity(arena, libc_dirs.libc_include_dir_list.len * 2);
354 for (libc_dirs.libc_include_dir_list) |include_dir| {
355 aro_args.appendAssumeCapacity("-isystem");
356 aro_args.appendAssumeCapacity(include_dir);
357 }
358
359 const native_paths: ?std.zig.system.NativePaths = if (is_native_os and is_native_abi) p: {
360 const native_paths = std.zig.system.NativePaths.detect(arena, io, &target, environ_map) catch |err|
361 fatal("unable to detect native system paths: {t}", .{err});
362 for (native_paths.warnings.items) |warning| {
363 std.log.warn("{s}", .{warning});
364 }
365 break :p native_paths;
366 } else null;
367
368 if (native_paths) |np| {
369 try aro_args.ensureUnusedCapacity(arena, np.include_dirs.items.len * 2);
370 for (np.include_dirs.items) |include_path| {
371 aro_args.appendAssumeCapacity("-isystem");
372 aro_args.appendAssumeCapacity(include_path);
195 }373 }
196 }374 }
375
376 if (link_libunwind) {
377 try aro_args.ensureUnusedCapacity(arena, 2);
378 aro_args.appendAssumeCapacity("-isystem");
379 aro_args.appendAssumeCapacity(try Io.Dir.path.join(arena, &.{ zig_lib_path, "libunwind", "include" }));
380 }
381
382 try aro_args.ensureUnusedCapacity(arena, libc_dirs.libc_framework_dir_list.len * 2);
383 for (libc_dirs.libc_framework_dir_list) |framework_dir| {
384 try aro_args.appendSlice(arena, &.{ "-iframework", framework_dir });
385 }
386
387 if (native_paths) |np| {
388 try aro_args.ensureUnusedCapacity(arena, np.framework_dirs.items.len * 2);
389 for (np.framework_dirs.items) |framework_dir| {
390 try aro_args.appendSlice(arena, &.{ "-F", framework_dir });
391 }
392 }
393
394 var opt_pc: ?PkgConfig = null;
395 if (any_want_pkg_conf or any_force_pkg_conf) {
396 const pkg_config_exe = PkgConfig.exe(environ_map);
397 if (process.run(arena, io, .{
398 .argv = &.{ pkg_config_exe, "--list-all" },
399 .environ_map = environ_map,
400 })) |result| {
401 if (result.term.success()) {
402 opt_pc = try PkgConfig.init(arena, result.stdout, null);
403 } else if (any_force_pkg_conf) {
404 fatal("{s} {f}", .{ pkg_config_exe, result.term });
405 }
406 } else |err| {
407 if (any_force_pkg_conf) fatal("{s}: failed running --list-all: {t}", .{ pkg_config_exe, err });
408 }
409 }
410
411 if (opt_pc) |pc| {
412 var group: Io.Group = .init;
413 defer group.cancel(io);
414
415 for (system_libs.items) |*system_lib| switch (system_lib.options.use_pkg_config) {
416 .no => continue,
417 .yes, .force => group.async(io, runPkgConfig, .{ arena, io, environ_map, &pc, system_lib }),
418 };
419
420 try group.await(io);
421 }
422
423 for (system_libs.items) |*system_lib| {
424 if (system_lib.flags) |flags| {
425 try aro_args.ensureUnusedCapacity(arena, flags.len + 1);
426 aro_args.appendSliceAssumeCapacity(flags);
427 }
428 }
429
197 const user_macros = macros: {430 const user_macros = macros: {
198 var macro_buf: std.ArrayList(u8) = .empty;431 var macro_buf: std.ArrayList(u8) = .empty;
199 defer macro_buf.deinit(gpa);432 defer macro_buf.deinit(gpa);
...@@ -205,15 +438,7 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig...@@ -205,15 +438,7 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig
205 return d.fatal("user provided macro source exceeded max size", .{});438 return d.fatal("user provided macro source exceeded max size", .{});
206 }439 }
207440
208 const has_output_file = if (d.output_name) |path|441 const content = try macro_buf.toOwnedSliceSentinel(gpa, 0);
209 !std.mem.eql(u8, path, "-")
210 else
211 false;
212 if (zig_integration and !has_output_file) {
213 return d.fatal("--zig-integration requires specifying an output file", .{});
214 }
215
216 const content = try macro_buf.toOwnedSlice(gpa);
217 errdefer gpa.free(content);442 errdefer gpa.free(content);
218443
219 break :macros try d.comp.addSourceFromOwnedBuffer("<command line>", content, .user);444 break :macros try d.comp.addSourceFromOwnedBuffer("<command line>", content, .user);
...@@ -225,7 +450,7 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig...@@ -225,7 +450,7 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig
225 const source = d.inputs.items[0];450 const source = d.inputs.items[0];
226451
227 tc.discover() catch |er| switch (er) {452 tc.discover() catch |er| switch (er) {
228 error.OutOfMemory => |e| return e,453 error.OutOfMemory => return error.OutOfMemory,
229 error.TooManyMultilibs => return d.fatal("found more than one multilib with the same priority", .{}),454 error.TooManyMultilibs => return d.fatal("found more than one multilib with the same priority", .{}),
230 };455 };
231 try tc.defineSystemIncludes();456 try tc.defineSystemIncludes();
...@@ -242,12 +467,8 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig...@@ -242,12 +467,8 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig
242 defer pp.deinit();467 defer pp.deinit();
243468
244 var name_buf: [std.fs.max_name_bytes]u8 = undefined;469 var name_buf: [std.fs.max_name_bytes]u8 = undefined;
245 // Omit the source file from the dep file so that it can be tracked separately.470 var opt_dep_file = try d.initDepFile(source, &name_buf);
246 // In the Zig compiler we want to omit it from the cache hash since it will471 defer if (opt_dep_file) |*dep_file| dep_file.deinit(d.comp.gpa);
247 // be written to a tmp file then renamed into place, meaning the path will be
248 // wrong as soon as the work is done.
249 var opt_dep_file = try d.initDepFile(source, &name_buf, true);
250 defer if (opt_dep_file) |*dep_file| dep_file.deinit(gpa);
251472
252 if (opt_dep_file) |*dep_file| pp.dep_file = dep_file;473 if (opt_dep_file) |*dep_file| pp.dep_file = dep_file;
253474
...@@ -263,7 +484,7 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig...@@ -263,7 +484,7 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig
263 defer c_tree.deinit();484 defer c_tree.deinit();
264485
265 if (d.diagnostics.errors != 0) {486 if (d.diagnostics.errors != 0) {
266 if (fast_exit and !zig_integration) process.exit(1);487 if (!zig_integration) process.exit(1);
267 return error.FatalError;488 return error.FatalError;
268 }489 }
269490
...@@ -321,11 +542,107 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig...@@ -321,11 +542,107 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig
321 if (out_writer.err) |write_err|542 if (out_writer.err) |write_err|
322 return d.fatal("failed to write result to '{s}': {s}", .{ out_file_path, aro.Driver.errorDescription(write_err) });543 return d.fatal("failed to write result to '{s}': {s}", .{ out_file_path, aro.Driver.errorDescription(write_err) });
323544
324 if (fast_exit and !zig_integration) process.exit(0);545 if (!module_libs) {
546 const dest_path = if (d.output_name) |path| std.fs.path.dirname(path) else null;
547 installLibs(d, dest_path) catch |err|
548 return d.fatal("failed to install library files: {s}", .{aro.Driver.errorDescription(err)});
549 }
550
551 return process.cleanExit(io);
325}552}
326553
327test {554fn installLibs(d: *aro.Driver, dest_path: ?[]const u8) !void {
328 _ = Translator;555 const gpa = d.comp.gpa;
329 _ = @import("helpers.zig");556 const io = d.comp.io;
330 _ = @import("PatternList.zig");557 const cwd = Io.Dir.cwd();
558
559 const self_exe_path = try process.executableDirPathAlloc(io, gpa);
560 defer gpa.free(self_exe_path);
561
562 var cur_dir: []const u8 = self_exe_path;
563 while (std.fs.path.dirname(cur_dir)) |dirname| : (cur_dir = dirname) {
564 var base_dir = cwd.openDir(io, dirname, .{}) catch continue;
565 defer base_dir.close(io);
566
567 var lib_dir = base_dir.openDir(io, "lib", .{}) catch continue;
568 defer lib_dir.close(io);
569
570 lib_dir.access(io, "c_builtins.zig", .{}) catch continue;
571
572 {
573 const install_path = try std.fs.path.join(gpa, &.{ dest_path orelse "", "c_builtins.zig" });
574 defer gpa.free(install_path);
575 try lib_dir.copyFile("c_builtins.zig", cwd, install_path, io, .{});
576 }
577 {
578 const install_path = try std.fs.path.join(gpa, &.{ dest_path orelse "", "helpers.zig" });
579 defer gpa.free(install_path);
580 try lib_dir.copyFile("helpers.zig", cwd, install_path, io, .{});
581 }
582 return;
583 }
584 return error.FileNotFound;
585}
586
587comptime {
588 if (@import("builtin").is_test) {
589 _ = Translator;
590 _ = @import("helpers.zig");
591 _ = @import("PatternList.zig");
592 }
593}
594
595const SystemLib = struct {
596 name: []const u8,
597 options: std.Build.Module.LinkSystemLibraryOptions,
598 flags: ?[]const []const u8 = null,
599};
600
601fn runPkgConfig(
602 arena: Allocator,
603 io: Io,
604 environ_map: *const process.Environ.Map,
605 pc: *const PkgConfig,
606 system_lib: *SystemLib,
607) void {
608 const force = switch (system_lib.options.use_pkg_config) {
609 .no => unreachable,
610 .yes => false,
611 .force => true,
612 };
613
614 const lib_name = system_lib.name;
615 const pkg_config_exe = std.zig.PkgConfig.exe(environ_map);
616 const found_index = pc.find(lib_name) orelse {
617 if (force) fatal("{s}: package not found: {s}", .{ pkg_config_exe, lib_name });
618 return;
619 };
620 const pkg = pc.all[found_index];
621
622 const result = process.run(arena, io, .{
623 .argv = &.{ pkg_config_exe, pkg.name, "--cflags", "--libs" },
624 .environ_map = environ_map,
625 }) catch |err| {
626 if (force) fatal("failed running {s}: {t}", .{ pkg_config_exe, err });
627 return;
628 };
629 if (!result.term.success()) {
630 if (result.stderr.len != 0) std.log.err("{s}: {s}", .{ pkg_config_exe, result.stderr });
631 if (force) fatal("{s} {f}", .{ pkg_config_exe, result.term });
632 return;
633 }
634
635 system_lib.flags = ret: {
636 var parsed: std.ArrayList([]const u8) = .empty;
637 var arg_it = mem.tokenizeAny(u8, result.stdout, " \r\n\t");
638
639 while (arg_it.next()) |arg| {
640 parsed.append(arena, arg) catch |err| break :ret err;
641 }
642
643 parsed.shrinkToLen(arena) catch |err| break :ret err;
644 break :ret parsed.toOwnedSliceAssert();
645 } catch |err| switch (err) {
646 error.OutOfMemory => fatal("out of memory parsing pkg-config output", .{}),
647 };
331}648}
lib/std/zig/c_translation/builtins.zig+128-2
...@@ -5,6 +5,12 @@ pub inline fn abs(val: c_int) c_int {...@@ -5,6 +5,12 @@ pub inline fn abs(val: c_int) c_int {
5 return if (val == std.math.minInt(c_int)) val else @intCast(@abs(val));5 return if (val == std.math.minInt(c_int)) val else @intCast(@abs(val));
6}6}
77
8pub fn add_overflow(a: anytype, b: anytype, result: *@TypeOf(a, b)) bool {
9 const res = @addWithOverflow(a, b);
10 result.* = res[0];
11 return res[1] == 1;
12}
13
8pub inline fn assume(cond: bool) void {14pub inline fn assume(cond: bool) void {
9 if (!cond) unreachable;15 if (!cond) unreachable;
10}16}
...@@ -95,6 +101,120 @@ pub inline fn floor(val: f64) f64 {...@@ -95,6 +101,120 @@ pub inline fn floor(val: f64) f64 {
95 return @floor(val);101 return @floor(val);
96}102}
97103
104// Single argument variant is mapped to @clz
105pub inline fn elementwise_clzg(x: anytype, y: anytype) @TypeOf(x, y) {
106 switch (@typeInfo(@TypeOf(x, y))) {
107 .int => |int| {
108 const U = @Int(.unsigned, int.bits);
109 const value: U = @bitCast(x);
110 if (value == 0) return y;
111
112 const result: U = @clz(value);
113 return @bitCast(result);
114 },
115 .vector => |vector| {
116 const Elem = @Int(.unsigned, @bitSizeOf(vector.child));
117 const U = @Vector(vector.len, Elem);
118 const value: U = @bitCast(x);
119 const fallback: U = @bitCast(y);
120 const zero: U = @splat(0);
121 const count: U = @clz(value);
122 const result: U = @select(Elem, value == zero, fallback, count);
123 return @bitCast(result);
124 },
125 else => unreachable,
126 }
127}
128
129// Single argument variant is mapped to @ctz
130pub inline fn elementwise_ctzg(x: anytype, y: anytype) @TypeOf(x, y) {
131 switch (@typeInfo(@TypeOf(x, y))) {
132 .int => |int| {
133 const U = @Int(.unsigned, int.bits);
134 const value: U = @bitCast(x);
135 if (value == 0) return y;
136
137 const result: U = @ctz(value);
138 return @bitCast(result);
139 },
140 .vector => |vector| {
141 const Elem = @Int(.unsigned, @bitSizeOf(vector.child));
142 const U = @Vector(vector.len, Elem);
143 const value: U = @bitCast(x);
144 const fallback: U = @bitCast(y);
145 const zero: U = @splat(0);
146 const count: U = @ctz(value);
147 const result: U = @select(Elem, value == zero, fallback, count);
148 return @bitCast(result);
149 },
150 else => unreachable,
151 }
152}
153
154pub inline fn elementwise_fshl(a: anytype, b: anytype, c: anytype) @TypeOf(a, b, c) {
155 switch (@typeInfo(@TypeOf(a, b, c))) {
156 .int => |int| {
157 const U = @Int(.unsigned, int.bits);
158 const lhs: U = @bitCast(a);
159 const rhs: U = @bitCast(b);
160 const bits = @bitSizeOf(U);
161 const shift = @as(U, @bitCast(c)) % bits;
162 if (shift == 0) return a;
163
164 const inverse_shift: U = @as(U, bits) - shift;
165 const result: U = (lhs << @intCast(shift)) | (rhs >> @intCast(inverse_shift));
166 return @bitCast(result);
167 },
168 .vector => |vector| {
169 const Elem = @Int(.unsigned, @bitSizeOf(vector.child));
170 const U = @Vector(vector.len, Elem);
171 const lhs: U = @bitCast(a);
172 const rhs: U = @bitCast(b);
173 const bits: U = @splat(@bitSizeOf(vector.child));
174 const zero: U = @splat(0);
175 const shift = @as(U, @bitCast(c)) % bits;
176 const inverse_shift = @select(Elem, shift == zero, zero, bits - shift);
177
178 const rhs_term = @select(Elem, shift == zero, zero, rhs >> @intCast(inverse_shift));
179 const result: U = (lhs << @intCast(shift)) | rhs_term;
180 return @bitCast(result);
181 },
182 else => unreachable,
183 }
184}
185
186pub inline fn elementwise_fshr(a: anytype, b: anytype, c: anytype) @TypeOf(a, b, c) {
187 switch (@typeInfo(@TypeOf(a, b, c))) {
188 .int => |int| {
189 const U = @Int(.unsigned, int.bits);
190 const lhs: U = @bitCast(a);
191 const rhs: U = @bitCast(b);
192 const bits = @bitSizeOf(U);
193 const shift = @as(U, @bitCast(c)) % bits;
194 if (shift == 0) return b;
195
196 const inverse_shift: U = @as(U, bits) - shift;
197 const result: U = (lhs << @intCast(inverse_shift)) | (rhs >> @intCast(shift));
198 return @bitCast(result);
199 },
200 .vector => |vector| {
201 const Elem = @Int(.unsigned, @bitSizeOf(vector.child));
202 const U = @Vector(vector.len, Elem);
203 const lhs: U = @bitCast(a);
204 const rhs: U = @bitCast(b);
205 const bits: U = @splat(@bitSizeOf(vector.child));
206 const zero: U = @splat(0);
207 const shift = @as(U, @bitCast(c)) % bits;
208 const inverse_shift = @select(Elem, shift == zero, zero, bits - shift);
209
210 const lhs_term = @select(Elem, shift == zero, zero, lhs << @intCast(inverse_shift));
211 const result: U = lhs_term | (rhs >> @intCast(shift));
212 return @bitCast(result);
213 },
214 else => unreachable,
215 }
216}
217
98pub inline fn has_builtin(func: anytype) c_int {218pub inline fn has_builtin(func: anytype) c_int {
99 _ = func;219 _ = func;
100 return @intFromBool(true);220 return @intFromBool(true);
...@@ -200,10 +320,10 @@ pub inline fn memset(dst: ?*anyopaque, val: c_int, len: usize) ?*anyopaque {...@@ -200,10 +320,10 @@ pub inline fn memset(dst: ?*anyopaque, val: c_int, len: usize) ?*anyopaque {
200 return dst;320 return dst;
201}321}
202322
203pub fn mul_overflow(a: anytype, b: anytype, result: *@TypeOf(a, b)) c_int {323pub fn mul_overflow(a: anytype, b: anytype, result: *@TypeOf(a, b)) bool {
204 const res = @mulWithOverflow(a, b);324 const res = @mulWithOverflow(a, b);
205 result.* = res[0];325 result.* = res[0];
206 return res[1];326 return res[1] == 1;
207}327}
208328
209/// returns a quiet NaN. Quiet NaNs have many representations; tagp is used to select one in an329/// returns a quiet NaN. Quiet NaNs have many representations; tagp is used to select one in an
...@@ -288,6 +408,12 @@ pub inline fn strlen(s: [*c]const u8) usize {...@@ -288,6 +408,12 @@ pub inline fn strlen(s: [*c]const u8) usize {
288 return std.mem.sliceTo(s, 0).len;408 return std.mem.sliceTo(s, 0).len;
289}409}
290410
411pub fn sub_overflow(a: anytype, b: anytype, result: *@TypeOf(a, b)) bool {
412 const res = @subWithOverflow(a, b);
413 result.* = res[0];
414 return res[1] == 1;
415}
416
291pub inline fn truncf(val: f32) f32 {417pub inline fn truncf(val: f32) f32 {
292 return @trunc(val);418 return @trunc(val);
293}419}
lib/std/zig/c_translation/helpers.zig+9-9
...@@ -86,8 +86,8 @@ pub fn FlexibleArrayType(comptime SelfType: type, comptime ElementType: type) ty...@@ -86,8 +86,8 @@ pub fn FlexibleArrayType(comptime SelfType: type, comptime ElementType: type) ty
86 switch (@typeInfo(SelfType)) {86 switch (@typeInfo(SelfType)) {
87 .pointer => |ptr| {87 .pointer => |ptr| {
88 return @Pointer(.c, .{88 return @Pointer(.c, .{
89 .@"const" = ptr.is_const,89 .@"const" = ptr.attrs.@"const",
90 .@"volatile" = ptr.is_volatile,90 .@"volatile" = ptr.attrs.@"volatile",
91 .@"allowzero" = true,91 .@"allowzero" = true,
92 .@"addrspace" = .generic,92 .@"addrspace" = .generic,
93 .@"align" = null,93 .@"align" = null,
...@@ -98,7 +98,7 @@ pub fn FlexibleArrayType(comptime SelfType: type, comptime ElementType: type) ty...@@ -98,7 +98,7 @@ pub fn FlexibleArrayType(comptime SelfType: type, comptime ElementType: type) ty
98}98}
9999
100/// Promote the type of an integer literal until it fits as C would.100/// Promote the type of an integer literal until it fits as C would.
101pub fn promoteIntLiteral(101pub inline fn promoteIntLiteral(
102 comptime SuffixType: type,102 comptime SuffixType: type,
103 comptime number: comptime_int,103 comptime number: comptime_int,
104 comptime base: CIntLiteralBase,104 comptime base: CIntLiteralBase,
...@@ -295,7 +295,7 @@ pub fn sizeof(target: anytype) usize {...@@ -295,7 +295,7 @@ pub fn sizeof(target: anytype) usize {
295 // in the .array case above, but strings remain literals295 // in the .array case above, but strings remain literals
296 // and are therefore always pointers, so they need to be296 // and are therefore always pointers, so they need to be
297 // specially handled here.297 // specially handled here.
298 if (ptr.size == .one and ptr.is_const and @typeInfo(ptr.child) == .array) {298 if (ptr.size == .one and ptr.attrs.@"const" and @typeInfo(ptr.child) == .array) {
299 const array_info = @typeInfo(ptr.child).array;299 const array_info = @typeInfo(ptr.child).array;
300 if ((array_info.child == u8 or array_info.child == u16) and array_info.sentinel() == 0) {300 if ((array_info.child == u8 or array_info.child == u16) and array_info.sentinel() == 0) {
301 // length of the string plus one for the null terminator.301 // length of the string plus one for the null terminator.
...@@ -381,7 +381,7 @@ fn L_SUFFIX_ReturnType(comptime number: anytype) type {...@@ -381,7 +381,7 @@ fn L_SUFFIX_ReturnType(comptime number: anytype) type {
381 }381 }
382}382}
383383
384pub fn L_SUFFIX(comptime number: anytype) L_SUFFIX_ReturnType(number) {384pub inline fn L_SUFFIX(comptime number: anytype) L_SUFFIX_ReturnType(number) {
385 switch (@typeInfo(@TypeOf(number))) {385 switch (@typeInfo(@TypeOf(number))) {
386 .int, .comptime_int => return promoteIntLiteral(c_long, number, .decimal),386 .int, .comptime_int => return promoteIntLiteral(c_long, number, .decimal),
387 .float, .comptime_float => @compileError("TODO: c_longdouble initialization from comptime_float not supported"),387 .float, .comptime_float => @compileError("TODO: c_longdouble initialization from comptime_float not supported"),
...@@ -389,19 +389,19 @@ pub fn L_SUFFIX(comptime number: anytype) L_SUFFIX_ReturnType(number) {...@@ -389,19 +389,19 @@ pub fn L_SUFFIX(comptime number: anytype) L_SUFFIX_ReturnType(number) {
389 }389 }
390}390}
391391
392pub fn LL_SUFFIX(comptime n: comptime_int) @TypeOf(promoteIntLiteral(c_longlong, n, .decimal)) {392pub inline fn LL_SUFFIX(comptime n: comptime_int) @TypeOf(promoteIntLiteral(c_longlong, n, .decimal)) {
393 return promoteIntLiteral(c_longlong, n, .decimal);393 return promoteIntLiteral(c_longlong, n, .decimal);
394}394}
395395
396pub fn U_SUFFIX(comptime n: comptime_int) @TypeOf(promoteIntLiteral(c_uint, n, .decimal)) {396pub inline fn U_SUFFIX(comptime n: comptime_int) @TypeOf(promoteIntLiteral(c_uint, n, .decimal)) {
397 return promoteIntLiteral(c_uint, n, .decimal);397 return promoteIntLiteral(c_uint, n, .decimal);
398}398}
399399
400pub fn UL_SUFFIX(comptime n: comptime_int) @TypeOf(promoteIntLiteral(c_ulong, n, .decimal)) {400pub inline fn UL_SUFFIX(comptime n: comptime_int) @TypeOf(promoteIntLiteral(c_ulong, n, .decimal)) {
401 return promoteIntLiteral(c_ulong, n, .decimal);401 return promoteIntLiteral(c_ulong, n, .decimal);
402}402}
403403
404pub fn ULL_SUFFIX(comptime n: comptime_int) @TypeOf(promoteIntLiteral(c_ulonglong, n, .decimal)) {404pub inline fn ULL_SUFFIX(comptime n: comptime_int) @TypeOf(promoteIntLiteral(c_ulonglong, n, .decimal)) {
405 return promoteIntLiteral(c_ulonglong, n, .decimal);405 return promoteIntLiteral(c_ulonglong, n, .decimal);
406}406}
407407
src/Compilation.zig+2-1
...@@ -5050,7 +5050,8 @@ pub fn translateC(...@@ -5050,7 +5050,8 @@ pub fn translateC(
5050 var argv = std.array_list.Managed([]const u8).init(arena);5050 var argv = std.array_list.Managed([]const u8).init(arena);
5051 {5051 {
5052 const target = &owner_mod.resolved_target.result;5052 const target = &owner_mod.resolved_target.result;
5053 try argv.appendSlice(&.{ "--zig-integration", "-x", "c" });5053 const zig_lib = try arena.print("--zig-lib={f}", .{comp.dirs.zig_lib});
5054 try argv.appendSlice(&.{ "--zig-integration", zig_lib, "--", "-x", "c" });
50545055
5055 const resource_path = try comp.dirs.zig_lib.join(arena, &.{ "compiler", "aro", "include" });5056 const resource_path = try comp.dirs.zig_lib.join(arena, &.{ "compiler", "aro", "include" });
5056 try argv.appendSlice(&.{ "-isystem", resource_path });5057 try argv.appendSlice(&.{ "-isystem", resource_path });